IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アルテリックス インコーポレイテッドの特許一覧

特表2024-530604データ分析のための対話型ワークフロー
<>
  • 特表-データ分析のための対話型ワークフロー 図1
  • 特表-データ分析のための対話型ワークフロー 図2
  • 特表-データ分析のための対話型ワークフロー 図3
  • 特表-データ分析のための対話型ワークフロー 図4A
  • 特表-データ分析のための対話型ワークフロー 図4B
  • 特表-データ分析のための対話型ワークフロー 図5
  • 特表-データ分析のための対話型ワークフロー 図6
  • 特表-データ分析のための対話型ワークフロー 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-08-23
(54)【発明の名称】データ分析のための対話型ワークフロー
(51)【国際特許分類】
   G06Q 10/063 20230101AFI20240816BHJP
   G06F 16/26 20190101ALI20240816BHJP
   G06F 8/30 20180101ALI20240816BHJP
【FI】
G06Q10/063
G06F16/26
G06F8/30
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024504919
(86)(22)【出願日】2022-07-21
(85)【翻訳文提出日】2024-03-26
(86)【国際出願番号】 US2022037869
(87)【国際公開番号】W WO2023009381
(87)【国際公開日】2023-02-02
(31)【優先権主張番号】17/387,343
(32)【優先日】2021-07-28
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519405569
【氏名又は名称】アルテリックス インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ジェフ アーノルド
(72)【発明者】
【氏名】ジェシ デイビッド クラーク
(72)【発明者】
【氏名】ステフェン エドウィン リンク
【テーマコード(参考)】
5B175
5B376
5L010
【Fターム(参考)】
5B175GA01
5B175JA02
5B376BC12
5B376BC13
5B376BC14
5B376BC15
5L010AA07
(57)【要約】
データ分析アプリケーションは、ツールのシーケンスを含むワークフローを受信する。シーケンス内の各ツールは、データ分析機能を実行する。データ分析アプリケーションは、ワークフロー内のツールのデータ分析機能に基づいて、シーケンス内のツールの対話型要素を生成する。対話型要素は、ツールに適用され、ワークフローを更新する。対話型要素は、ツールに関連付けられてもよく、または新しいツールとして分析ワークフローに追加されてもよい。更新されたワークフローは、データファイルを処理するために提供される。更新された分析ワークフローは、データファイルの処理の結果を表す結果アイテムを生成する。ツールに適用される対話型要素は、ユーザー入力を受信し、ユーザー入力に基づいてツールの動作をトリガするように適合され、異なる結果アイテムを生成する。
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ツールのシーケンスを含む分析ワークフローを受信するステップであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信するステップと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成するステップと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用するステップであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用するステップと、
データファイルを処理するための前記更新された分析ワークフローを提供するステップであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供するステップと、
を含む、コンピュータ実装方法。
【請求項2】
前記対話型要素と通信するインターフェースアイコンを生成するステップであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成するステップと、をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記インターフェースアイコンは、前記データファイルの前記処理の前記結果の一部を表す前記結果アイテム内のアイコンである、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成するステップは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成するステップは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択するステップと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供するステップと、
前記対話型要素の前記ユーザーの選択を受信するステップと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記対話型要素を前記ツールに適用するステップは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記データ分析ワークフローに追加するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、前記異なる結果アイテムを生成する、請求項1に記載のコンピュータ実装方法。
【請求項8】
実行可能なコンピュータプログラム命令を格納する非一時的なコンピュータ可読メモリであって、前記命令は、
ツールのシーケンスを含む分析ワークフローを受信することであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信することと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成することと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用することであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用することと、
データファイルを処理するための前記更新された分析ワークフローを提供することであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供することと、
を含む、動作を実行することを可能とする、非一時的なコンピュータ可読メモリ。
【請求項9】
前記動作は、
前記対話型要素と通信するインターフェースアイコンを生成することであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成することと、さらに含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項10】
前記インターフェースアイコンは、前記データファイルの前記処理の前記結果の一部を表す前記結果アイテム内のアイコンである、請求項9に記載の非一時的なコンピュータ可読メモリ。
【請求項11】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項12】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択することと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供することと、
前記対話型要素の前記ユーザーの選択を受信することと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項13】
前記対話型要素を前記ツールに適用することは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記データ分析ワークフローに追加することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項14】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、前記異なる結果アイテムを生成する、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項15】
コンピュータシステムであって、
コンピュータプログラム命令を実行するためのコンピュータプロセッサと、
動作を実行するためにコンピュータプロセッサによって、実行可能なコンピュータプログラム命令を格納する非一時的なコンピュータ可読メモリと、
を備え、前記動作は、
ツールのシーケンスを含む分析ワークフローを受信することであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信することと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成することと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用することであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用することと、
データファイルを処理するための前記更新された分析ワークフローを提供することであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供することと、
を含む、コンピュータシステム。
【請求項16】
前記動作は、
前記対話型要素と通信するインターフェースアイコンを生成することであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成することと、さらに含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択することと、を含む、請求項15に記載のコンピュータシステム。
【請求項18】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択することと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供することと、
前記対話型要素の前記ユーザーの選択を受信することと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成することと、を含む、請求項15に記載のコンピュータシステム。
【請求項19】
前記対話型要素を前記ツールに適用することは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記データ分析ワークフローに追加することと、を含む、請求項15に記載のコンピュータシステム。
【請求項20】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、前記異なる結果アイテムを生成する、請求項15に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【0001】
説明される実施形態は、一般にデータ分析に関し、特に、対話型分析ワークフローに関する。
【背景技術】
【0002】
ビッグデータ分析などのデータ分析プラットフォームの成長により、データ処理は大量のデータを処理してビジネス価値のある情報を抽出するツールへと拡大した。例えば、小規模企業は、専用のコンピューティングおよび人的リソースを使用するサードパーティのデータ分析環境を利用して、外部データプロバイダー、内部データソース(ローカルコンピューターのファイルなど)、ビッグデータストア、クラウドベースのデータ(ソーシャルメディア情報など)のような、様々なデータソースからの膨大な量のデータを、収集、処理、および分析し得る。データ分析で使用されるこのような大規模なデータセットを、有用な定量的および定性的情報を抽出する方法で処理することは、典型的に、強力なコンピュータデバイスに実装された複雑なソフトウェアツールが必要である。
【0003】
現在、分析ワークフローは、広く使用され、データ処理を実行する。ただし、現在利用可能なワークフローツールは、ランアンドクイットアプリケーションのために制限されている。つまり、これらのツールは、ワークフローを実行してデータ処理タスクを実行し、タスクが完了すると終了する。新しいワークフローを作成して実行しないと、別のデータ処理タスクを実行することは困難である。現在のデータ分析技術の限界を考えると、大規模なデータセットのより効率的な処理のために改善された分析技術が必要である。
【発明の概要】
【0004】
上記及び他の問題は、コンピュータ内のメモリを管理するためのコンピュータ実装方法、コンピュータシステム、及びコンピュータ可読記憶媒体によって対処される。コンピュータ実装方法の実施形態は、ツールのシーケンスを含む分析ワークフローを受信することを含む。シーケンス内の各ツールは、データ分析機能を実行する。方法は、分析ワークフロー内のツールのデータ分析機能に基づいて、シーケンス内のツールの対話型要素を生成することをさらに含む。対話型要素は、ユーザー入力を受信し、ユーザー入力に基づいてツールの動作をトリガするように適合される。方法は、分析ワークフローを更新するために対話型要素をツールに適用することをさらに含む。方法はまた、データファイルを処理するための更新された分析ワークフローを提供することを含む。更新された分析ワークフローは、データファイルの処理の結果を表す結果アイテムを生成するように適合される。
【0005】
コンピュータシステムの一実施形態は、コンピュータプログラム命令を実行するためのコンピュータプロセッサを含む。システムはまた、実行されるとコンピュータプロセッサに動作を実行させるコンピュータプログラム命令を格納する非一時的なコンピュータ可読記憶媒体も含む。動作は、ツールのシーケンスを含む分析ワークフローを受信することを含む。シーケンス内の各ツールは、データ分析機能を実行する。動作は、分析ワークフロー内のツールのデータ分析機能に基づいて、シーケンス内のツールの対話型要素を生成することをさらに含む。対話型要素は、ユーザー入力を受信し、ユーザー入力に基づいてツールの動作をトリガするように適合される。動作は、分析ワークフローを更新するために対話型要素をツールに適用することをさらに含む。動作はまた、データファイルを処理するための更新された分析ワークフローを提供することを含む。更新された分析ワークフローは、データファイルの処理の結果を表す結果アイテムを生成するように適合される。
【0006】
非一時的なコンピュータ可読メモリの実施形態は、実行可能なコンピュータプログラム命令を格納する。この命令は、動作を実行するために実行可能である。動作は、ツールのシーケンスを含む分析ワークフローを受信することを含む。シーケンス内の各ツールは、データ分析機能を実行する。動作は、分析ワークフロー内のツールのデータ分析機能に基づいて、シーケンス内のツールの対話型要素を生成することをさらに含む。対話型要素は、ユーザー入力を受信し、ユーザー入力に基づいてツールの動作をトリガするように適合される。動作は、分析ワークフローを更新するために対話型要素をツールに適用することをさらに含む。動作はまた、データファイルを処理するための更新された分析ワークフローを提供することを含む。更新された分析ワークフローは、データファイルの処理の結果を表す結果アイテムを生成するように適合される。
【図面の簡単な説明】
【0007】
図1】一実施形態による、データ分析システムを含むデータ分析環境を示すブロック図である。
図2】一実施形態による、データを処理するデータ分析システムを使用して作成されたワークフローを示すブロック図である。
図3】一実施形態による、データ分析アプリケーションを示すブロック図である。
図4A】一実施形態による、データ分析アプリケーションを使用して作成された対話型ワークフローを示す概略図である。
図4B】一実施形態による、対話型ワークフローによって生成された結果アイテムを示す概略図である。
図5】一実施形態による、データ分析アプリケーションを使用して作成された別の対話型ワークフローを示す概略図である。
図6】一実施形態による、対話型ワークフローを生成するプロセスを示すフローチャートである。
図7】一実施形態による、図1のデータ分析システムとして使用するための典型的なコンピュータシステムの機能図を示すハイレベルブロック図である。
【0008】
図面は、例示のみを目的として、多様な実施形態を示している。当業者は、本明細書に例示された構造および方法の代替的実施形態が、本明細書に記載の本発明の原理から逸脱することなく利用することができることを以下の説明から容易に認識する。様々な図面における同様の参照記号および表示は、同様の要素を指す。
【発明を実施するための形態】
【0009】
図1は、一実施形態によるデータ分析システム110を含むデータ分析環境100を示すブロック図である。環境100は、ネットワーク130を介してデータ分析システム110に接続された複数のデータソース120をさらに含む。例示された環境100は、複数のデータソース120に結合された1つのデータ分析システム110のみを含むが、実施形態は、複数のデータ分析システムおよび単一のデータソースを有することができる。
【0010】
データ分析システム110は、大量のデータを処理するために利用されるコンピュータベースのシステムである。データは、ネットワーク130を介して複数のデータソース120から収集(collect)、収集(gather)、またはアクセスされる。データ分析システム110は、多種多様なデータソースからのデータ処理タスクに用いられるスケーラブルなソフトウェアツール及びハードウェアリソースを実装することができる。データ処理タスク(タスクまたはデータ分析タスクとも呼ばれる)は、データを処理するためのコンピューティング動作である。データ処理タスクは、例えば、データにアクセスすること、データを準備すること、データをブレンドすること、データをパッケージすること、データを分析すること、データに対する他のタイプの動作、またはそれらのいくつかの組み合わせを含む。データ分析システム110は、複数のタスクを並行して実行することができる。利用可能なコンピュータリソース(例えば、メモリ)を有するとき、データ分析システム110は、タスクを選択して実行する準備ができている複数のタスクから実行することができる。
【0011】
図1の実施形態では、データ分析システム110は、メモリ140及びデータ分析アプリケーション150を含む。メモリ140は、データ分析動作で使用されるデータを格納し、データ格納領域へのアクセスを提供する。いくつかの実施形態では、メモリ140は、ランダムアクセスメモリ(RAM)、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)、他の形態のコンピュータメモリ、またはそれらのいくつかの組み合わせを含む。いくつかの実施形態では、メモリ140は、比較的小さなデータ格納領域への比較的高速なアクセスを提供するプライマリメモリ140と、比較的大きなデータ格納領域への比較的遅いアクセスを提供するセカンダリメモリ150とを含む。
【0012】
データ分析アプリケーション150は、図2に例示されるワークフローなどのワークフローを使用することによってデータ分析タスクの実行をサポートするソフトウェアアプリケーションである。ワークフロー(「分析ワークフロー」とも呼ばれる)は、データ分析タスクが開始(例えば、データファイルの入力)から完了(例えば、タスクの結果の出力)に渡るデータ処理ツール(ツールとも呼ばれる)のシーケンスである。シーケンス内の各ツールは、入力、出力、準備、結合、予測、空間、調査、解析、変換などの特定の処理動作またはデータ分析機能を実行する。ワークフローの実行は、ワークフロー内のツールの動作を含み、タスクの結果を表す結果アイテムを生成する。一例では、結果アイテムは、タスクの結果の視覚的表現を提供するチャートである。
【0013】
データ分析アプリケーション150は、ワークフローの作成を容易にする環境を提供する。例えば、データ分析アプリケーション150は、データ分析アプリケーション150のGUIによってサポートされるビジュアルワークフロー環境を提供する。ビジュアルワークフロー環境は、ワークフローを設計するためのソフトウェアコードを提供する必要性を排除し、およびワークフローによって実装される複雑な数式を識別する必要性を排除する一連のドラッグアンドドロップツールを可能にする。別の実施形態では、ワークフロー200は、拡張マークアップ言語(XML)ドキュメントなどのドキュメント内に作成され、記述される。
【0014】
環境はまた、図4A及び図5に示されるワークフローなどの対話型ワークフローの作成を容易にする。対話型ワークフローは、ワークフロー内の特定のツールと結合された対話型要素を含むワークフローである。データ分析アプリケーション150は、特定のツールのデータ分析機能に基づいて対話型要素を生成する。データ分析アプリケーション150は、対話型要素を特定のツールと関連付けることによって、または特定のツールに先行する新しいツールとして対話型要素をワークフローに追加することによって、対話型要素を特定のツールに適用する。
【0015】
対話型ワークフローは、ユーザー入力の有無にかかわらず、または異なるユーザー入力を用いて実行することができる。対話型ワークフローを実行すると、インターフェースアイコンおよび結果アイテムが生成される。インターフェースアイコンは、対話型要素によって定義され、対話型要素と通信する。インターフェースアイコンは、ユーザー入力を受信し、ユーザー入力を対話型要素に送信するように適合される。ユーザー入力を受信した後、対話型要素は、ユーザー入力に基づいて特定のツールの動作をトリガする。また、存在する場合、ワークフロー内で特定のツールに続く他のツールの動作をトリガさせる場合もある。ワークフローの少なくとも一部は、ユーザー入力に応答して実行される。ワークフローの実行は、ユーザー入力を組み込んだ新しい結果アイテムを生成する。
【0016】
説明のために、ワークフロー内のフィルタツールと結合された対話型要素を例に挙げると、対話型要素は、そのインターフェースアイコンを、ユーザーがクリックして日付を選択することを可能にするクリック可能なボタンとして定義する。対話型要素は、ユーザーによって選択された日付をフィルタリングパラメータとして使用することによってフィルタツールの動作を操作するように適合される。この例では、ワークフローの結果アイテムは、異なる日付のデータを示すチャートである。チャートには、日付に対応するクリック可能なアイコンが含まれる。特定の日付のデータに興味のあるユーザーは、チャート内の対応するクリック可能なアイコンをクリックできる。ユーザーのクリックが対話型要素に送信される。対話型要素は、特定の日付をフィルタツールに送信し、フィルタツールをトリガして、特定の日付、例えば、特定の日付に関連付けられた選択データに基づいてデータをフィルタリングする。また、後続のツールは、トリガされ、選択されたデータを処理して、これは、特定の日付のデータを表す新しいチャートを生成する。新しいチャートは、以前のチャートを置き換えてもよく、または以前のチャートに加えてユーザーに提示されてもよい。
【0017】
データ分析アプリケーション150によって生成された対話型ワークフローは、ユーザーが、新しいワークフローを作成したり、ワークフローへのデータ入力を変更したりすることなく、インターフェースアイコンと単に対話することによってデータ処理結果を操作することを可能にするため、有利である。このような対話型ワークフローは、単に実行して終了するだけではない。代わりに、ユーザーがインターフェースアイコンを操作するときに再実行し、ユーザーの操作に基づいて新しい結果を生成する。したがって、データ分析アプリケーション150は、従来のデータ分析技術と比較して、より便利で効率的なデータ分析ツールを提供する。
【0018】
場合によっては、データ分析アプリケーション150は、複数のエンドユーザーに対するデータ分析ツール及びマクロへのネットワーク化された、またはクラウドベースのアクセスをサポートするソフトウェアを提供する。一例として、データ分析アプリケーション150は、ダッシュボード、ウェブアプリケーション、モバイルアプリケーションなどの方法でのワークフローの作成をサポートする。他の例として、データ分析アプリケーション150は、モバイルアプリケーションストアまたは他のクラウドベースのサービスと同様の方法で、ユーザーが分析を共有、閲覧、および消費することを可能にする。分析データ、マクロ、およびワークフローは、例えば、データ分析システム110の他のユーザーによってアクセスすることができる、より小規模でカスタマイズ可能な分析アプリケーション(すなわち、アプリ)としてパッケージ化および実行することができる。場合によっては、公開された分析アプリへのアクセスは、データ分析システム110によって管理され得、すなわち、アクセスを許可または取り消し、それによってアクセス制御及びセキュリティ機能を提供する。データ分析アプリケーション150は、作成、展開、公開、反復、更新などの分析アプリに関連付けられた機能を実行することができる。
【0019】
さらに、データ分析アプリケーション150は、分析結果にアクセス、準備、ブレンド、分析、出力の機能など、データ分析に関与する様々な段階で実行される機能をサポートすることができる。いくつかの場合では、データ分析アプリケーション150は、様々なデータソースにアクセスし、例えば、データのストリーム内の生データを取得することができる。データ分析アプリケーション150によって収集されたデータストリームは、生データの複数のレコードを含むことができ、生データは異なるフォーマット及び構造である。少なくとも1つのデータストリームを受信した後、データ分析アプリケーション150は、データストリームのレコードをデータ分析動作の入力として使用されることを可能にする動作を実行することができる。さらに、予測分析(例えば、予測モデリング、クラスタリング、データ調査)などのレコードの統計的、定性的、または定量的処理に関与する分析機能は、データ分析アプリケーション150によって実装することができる。
【0020】
上述のように、データソース120は、電子データをデータ分析システム110に提供する。データソース120は、コンピュータ、データベース、ネットワークAPI(アプリケーションプログラミングインターフェース)、またはクラウドストレージシステムであり得る。データソース120はまた、別のソースからデータを取り出すことができるコンピュータシステムであってもよい。データソース120は、データ分析システム110から離れていてもよく、ネットワーク130を介してデータを提供してもよい。さらに、データソース120の一部またはすべては、データ分析システムに直接に結合され、ネットワーク130を介してデータを渡すことなく、データを提供してもよい。データソース120から提供されるデータは典型的に、データレコードに編成され、各データレコードは1つまたは複数の値を含む。たとえば、データソースによって提供されるデータレコードは、一連のコンマ区切りされた値を含む場合がある。データは、データ分析システムを使用する企業に関連する情報を記述する。例えば、データソース120からのデータは、ウェブサイト上でアクセス可能なコンテンツおよび/またはソーシャルメディアアプリケーションとのコンピュータベースの相互作用(例えば、クリック追跡データ)を記述することができる。
【0021】
ネットワーク130は、データ分析システム110とデータソース120との間の通信経路を表す。一実施形態では、ネットワーク130は、インターネットであり、標準の通信技術および/またはプロトコルを使用する。ネットワーク130を介して交換されるデータは、ハイパーテキストマークアップ言語(HTML)、拡張マークアップ言語(XML)などを含む技術および/またはフォーマットを使用して表されることができる。別の実施形態では、エンティティは、上記の技術の代わりに、またはそれに加えて、カスタムおよび/または専用のデータ通信技術を使用することができる。
【0022】
図2は、一実施形態による、データを処理するデータ分析システム110を使用して作成されたワークフロー200を示すブロック図である。ワークフロー200は、データ分析システム110のコンピュータデバイスによって実行される。しかしながら、他の実施形態では、ワークフロー200は、ネットワーク(例えば、ネットワーク130)を介してデータ分析システム110に通信可能に接続され得る別のコンピュータデバイスに配備される。
【0023】
ワークフローは、特定の処理動作またはデータ分析機能を実行する一連のツールを含むことができる。ツールは順序に従って配置されている。一般的な例として、ワークフローのツールは、入力/出力、準備、参加、予測、空間、調査、ならびに解析及び変換動作の1つまたは複数のデータ分析機能を実行することができる。ワークフローを実装することは、データ分析プロセスを定義、実行、自動化することが含まれ、データはワークフロー内の各ツールに渡され、各ツールは受信したデータに対してそれぞれの処理動作を実行する。個々のレコードの集約グループを含むレコードは、ワークフローのツールを通過させることができ、このことは、個々の処理動作がデータに対してより効率的に動作することを可能にする。このようなデータ集約技術は、大量のデータを処理する場合でも、ワークフローの開発及び実行の速度を上げることができる。ワークフローは、繰り返し可能な一連の動作を定義、またはその他の方法で構造化し、指定されたツールの動作順序を指定することができる。場合によっては、ワークフローに含まれるツールは、直線的な順序で実行される。別の場合、複数のツールは並行して実行される。
【0024】
図示のように、図2のワークフロー200は、入力ツール205および206、ならびにブラウズツール230として示される入力/出力ツールを含む。入力ツール205及び206は、特定のデータソース120からレコードにアクセスするように機能する。入力ツール205および206は、アクセスされたレコードをワークフローに取り込み、ワークフロー200の後続のツールにレコードを提供する。この例では、入力ツール205は、アクセスされたレコードをフィルタツール210に提供し、入力ツール206は、アクセスされたレコードを選択ツール211に提供する。ブラウズツール230は、ワークフロー200の最後に位置し、ワークフロー200の上流ツールのそれぞれの実行から生じる出力を受信する。ブラウズツール230は、この例ではワークフロー200の終わりに位置するが、ブラウズツール230は、ワークフロー内の任意の時点で追加され、ワークフローの上流ツールの実行からの結果をレビュー及び検証することができる。
【0025】
図2の例を続けると、ワークフロー200は、フィルタツール210、選択ツール211、フォーミュラツール215、およびサンプルツール212として示される準備ツールを含む。フィルタツール210は、式に基づいてレコードを照会し、式を満たすレコードを含む真のストリームおよび式を満たさないレコードを含む偽のストリームの2つのストリームにデータを分ける。選択ツール211を使用して、フィールドを選択、選択解除、並べ替え及び名前変更、フィールドタイプまたはサイズの変更、ならびに説明を割り当てることができる。フォーミュラツール215は、1つまたは複数の式を使用してフィールドを作成または更新し、多種多様な計算および/または演算を実行する。サンプルツール212は、受信したレコードのストリームを、レコードの数、割合、またはランダムなセットに限定する。
【0026】
ワークフロー200は、複数のデータソースをブレンドする結合ツール220も含む。具体的には、結合ツール220は、共通のフィールド(またはレコード位置)に基づいて2つの入力データストリームを組み合わせる。図2のワークフロー200は、さらなる分析に使用されるフォーマットにデータを再構築および再形成することができる解析および変換ツールであるサマライズツール225を含むように示されている。サマライズツール225は、グループ化、合計、カウント、空間処理、および文字列連結によってデータの要約化を実行することができる。一実施形態では、サマライズツール225によって生成された出力は、計算の結果を含む。
【0027】
いくつかの実施形態では、ワークフロー200の実行は、入力ツール205が、フィルタツール210およびフォーミュラツール215を通じて、すべてのレコードが処理されて結合ツール220に到達するまで、レコードを一度に1つずつ渡すことになる。その後、入力ツール206は、選択ツール211およびサンプルツール212を通じて、レコードが同じ結合ツール220に渡されるまで、レコードを一度に1つずつ渡し始める。ワークフロー200のいくつかの個々のツールは、データの最後のブロックを処理しながらデータのブロックの読み取りを開始したり、ソートツールなどのコンピュータ集約的な動作を複数の部分に分けたりするなど、独自の並列動作を実装し得る。
【0028】
図3は、一実施形態によるデータ分析アプリケーション300を示すブロック図である。データ分析アプリケーション300は、対話型ワークフローの作成及び実行を容易にする。データ分析アプリケーション300は、図1のデータ分析アプリケーション150の実施形態である。図3の実施形態では、データ分析アプリケーション300は、データ受信モジュール310、ツールモジュール320、対話型要素モジュール330、及びワークフロー実行モジュール340を含む。当業者は、他の実施形態がここで記述したものとは異なるおよび/または他のコンポーネントを有することができ、機能が異なる方法でコンポーネントの間に分散できることを認識するであろう。
【0029】
データ受信モジュール310は、データソース、例えば、データソース120からデータファイルを受信し、データファイルをデータ分析アプリケーション300内の他のモジュールに提供する。一実施形態では、データ受信モジュール310は、図2に示される入力ツール206などのデータ分析アプリケーション内のツール間のインターフェースとして機能する。別の実施形態では、データ受信モジュール310は存在せず、データ受信モジュール310の機能は、ツールによって実行される。
【0030】
ツールモジュール320は、ワークフローを作成するためのツールのセットを提供する。各ツールは、特定のデータ分析機能を実行する。いくつかの実施形態では、ツールモジュール320は、図2と併せて説明されるワークフロー200に含まれるツールを提供する。ツールモジュール320の1つまたは複数のツールは、ワークフローのデータレコードを処理しながら並列に実行し得る。ツールは、複数の別個のスレッドとして動作し得、各スレッドは、データ分析システム110のプロセッサの別個のコア上で動作する。例えば、結合ツールの実施形態は、結合動作に関連付けられたタスクを複数のスレッドに分配して、プロセッサの並列処理能力を活用する。ツールは、その動作を実行するためのタスクを作成する。ツールの動作は、1つ又は複数のタスクを含む。各タスクは、スレッドによって実行されるためにツールのスレッドに割り当てられる。
【0031】
いくつかの実施形態では、ツールのセットは、ユーザーインターフェースモジュール350によってサポートされるユーザーインターフェース(例えば、GUI)に提供される。各ツールは、ツールのデータ分析機能を示すアイコンを有するユーザーインターフェースは、ユーザー、例えば、ワークフロー設計者が、ツールを選択し、選択されたツール間の関係(例えば、論理的関係または順次的関係)を定義してワークフローを作成することを可能にする。ユーザーインターフェースは、例えば、設計者がツールの機能を理解するのに役立つ、ツールのデータ分析機能を説明する情報を含む、各ツールの説明を提供し得る。
【0032】
対話型要素モジュール330は、対話型ワークフローを作成するための対話型要素を提供する。対話型要素は、1つまたは複数のツールに適用可能であり、ツールに適用されると、対話型要素は、ユーザー入力を受信し、ユーザー入力を使用してツールの動作を修正するように適合される。対話型要素は、対話型ワークフローの実行を通じて生成され、インターフェースアイコンを介してユーザー入力を受信するインターフェースアイコンを定義する。対話型要素は、ワークフロー内のツール及び/または他のツールの動作を操作する。対話型要素は、様々なタイプのインターフェースアイコンを使用してユーザー入力を受信する様々な手段をサポートする。インターフェースアイコンの例には、チェックボックス、クリック可能なボタン、テキストフィールド、リストボックス、ドロップリスト、日付フィールドなどがある。いくつかの実施形態では、1つの対話型要素が複数のインターフェースアイコンに対応する。
【0033】
いくつかの実施形態では、対話型要素モジュール330は、ワークフロー内の特定のツールのデータ分析機能に基づいて、ワークフロー内の特定のツールの対話型要素を生成する。対話型要素モジュール330は、ワークフロー内の特定のツールのデータ分析機能を分析し、分析に基づいて複数の候補対話型要素から対話型要素を選択する。例えば、対話型要素モジュール330は、そのデータ分析機能を実行するための特定のツールの動作で使用されるパラメータを決定し、パラメータに基づいて対話型要素を選択する。フィルタツールを例に挙げると、対話型要素モジュール330は、ツールのデータ分析機能がデータをフィルタリングしていること、およびツールがその機能を実行するためにフィルタリングパラメータを必要とすることを決定する。決定に基づいて、対話型要素モジュール330は、ユーザーがフィルタリングパラメータを入力することを可能にする入力ボックスを定義する対話型要素をツール用に生成する。いくつかの実施形態では、対話型要素モジュール330は、ツールによって処理されるデータファイルにさらに基づいて、対話型要素を生成する。フィルタツールの例では、対話型要素モジュール330は、データファイルが複数の変数を含むことを決定する。対話型要素モジュール330は、データファイル内の変数を識別し、変数を含むドロップダウンリストを定義する対話型要素を生成する。ユーザーは、ドロップダウンリストから変数を選択することができ、この変数は、フィルタツールによってフィルタリングパラメータとして使用される。
【0034】
いくつかの他の実施形態では、対話型要素モジュール330は、例えばGUIにおいて、複数の候補対話型要素をワークフロー設計者に提供し、ワークフロー設計者から候補対話型要素からの対話型要素の選択を受信する。各候補対話型要素は、対話型要素によってサポートされるインタラクションのタイプを示す記号または説明を有し得る。ワークフロー設計者は、対話型要素の記号または説明に基づいて、候補対話型要素から対話型要素をドラッグすることができる。ユーザーインターフェースはまた、例えば、対話型要素をツールに接続して、対話型要素をツールと関連付けることによって、または対話型要素をワークフロー内のツールに先行する新しいツールとしてワークフローに挿入することによって、ワークフロー設計者が対話型要素とツールとの関係を定義することを可能にする。
【0035】
いくつかの実施形態では、対話型要素モジュール330によってサポートされるユーザーインターフェースと、ツールモジュール320によってサポートされるユーザーインターフェースとが統合される。例えば、ツール及び対話型要素は、同じユーザーインターフェースで提供される。ワークフロー設計者は、ツールと対話型要素のいずれかを選択し、それらの間の関係を定義し得る。そのようなユーザーインターフェースを使用すると、ワークフロー設計者は、新しい対話型ワークフローを作成したり(例えば、ツールをワークフローに追加し、ワークフローに別のツールを追加する前に対話型要素をツールに関連付けたり)、または既存のワークフローに対話型要素を適用して、既存のワークフローを対話型(例えば、対話型要素をワークフロー内のツールの1つに関連付ける前にワークフローを作成/取得する)にすることができる。
【0036】
ワークフロー実行モジュール340は、(対話型ワークフローを含む)ワークフローの実行を容易にする。ワークフロー実行モジュール350は、データ受信モジュール310からデータファイルを受信し、データファイルをワークフローに送信する。ワークフローを実行すると、結果アイテムが生成される。対話型ワークフローの場合、実行するとインターフェースアイコンも生成される。インターフェースアイコンは、ユーザー入力を受信するように適合される。インターフェースアイコンは、チェックボックス、クリック可能なボタン、テキストフィールド、リストボックス、ドロップダウンリスト、日付フィールドなどである。対話型要素は、対話型ワークフロー内の特定のツールへのインターフェースアイコンからのユーザー入力の送信を容易にする。また、対話型要素は、特定のツールの動作をトリガする。特定のツールは、ユーザー入力に基づいてデータを処理する。ワークフロー内の特定のツールに続くツールがある場合、データはこれらの後続のツールによってさらに処理される。このようにして、ワークフローの少なくとも一部は、ユーザー入力に基づいて実行される。
【0037】
一例では、ワークフロー実行モジュール350は、最初に、ユーザー入力なしで対話型ワークフローを実行する。対話型フローの第1の実行は、対話型ワークフロー内の対話型要素によって定義される第1の結果アイテム及びインターフェースアイコンを生成する。インターフェースアイコンは、ユーザー入力を受信し、対話型要素にユーザー入力を送信する。ユーザー入力を受信することに応答して、対話型要素は、ユーザー入力に基づいて、対話型ワークフローの少なくとも一部の再実行(第2の実行)をトリガする。再実行は、存在する場合、例えば、特定のツールに続く特定のツール及びツールの動作を含む。ワークフローの再実行は、ユーザー入力を組み込み、第1の結果アイテムとは異なる第2の結果アイテムを生成する。ワークフロー実行モジュール340は、第1の結果アイテムの置き換えとして、または第1の結果アイテムとは別に、第2の結果アイテムをユーザーに表示するために提供する。
【0038】
いくつかの実施形態では、ワークフロー実行モジュール340はまた、エラーメッセージ、データ処理のステータスなどのワークフローの実行中に生成された情報を記録する。いくつかの実施形態では、ワークフロー実行モジュール340は、ワークフロー設計者がワークフローをテストできるプレビューモードを容易にする。プレビューモードでは、実際の実行中にワークフローがどのように機能するかを説明する。
【0039】
図4Aは、一実施形態による、データ分析アプリケーション150を使用して作成された対話型ワークフロー400を示す概略図である。図4Bは、一実施形態による、対話型ワークフロー400によって生成された結果アイテムを示す概略図である。対話型ワークフロー400は、ワークフロー内のツールのうちの1つに関連付けられた対話型要素450を含むワークフローである。対話型ワークフロー400は、データファイルを処理し、処理の結果を表す結果アイテム405(図4Bに示される)を生成する。
【0040】
対話型ワークフロー400は、入力ツール410、フィルタツール420、対話型要素450に関連付けられたフォーミュラツール430、及びブラウズツール440を含むツールのシーケンスを有する。対話型要素450は、シーケンスの一部ではない。むしろ、対話型要素450及びフィルタツール420は、対話型ワークフロー400の分岐を形成する。他の実施形態では、対話型ワークフロー400は、異なるツール及び/または多くの対話型要素を含み得る。また、対話型要素は、異なるツールに関連付けられ得る。
【0041】
入力ツール410は、例えば、図1に示されるデータソース120からデータファイルを受信する。入力ツール410は、データファイルをフィルタツール420に送信する。フィルタツール420は、1つまたは複数のフィルタリングパラメータに基づいてデータファイル内のデータをフィルタリングし、新しいデータファイルを生成する。フィルタツール420は、新しいデータファイルをフォーミュラツール430に送信する。いくつかの実施形態では、フィルタツール420は、対話型要素450を介してフィルタリングパラメータを受信する。
【0042】
対話型要素450は、インターフェースモジュール460及びアクションモジュール470を含む。インターフェースモジュール460は、ユーザーがフィルタリングパラメータを提供するために対話することができるインターフェースアイコンを定義する。例えば、インターフェースモジュール460は、インターフェースアイコンが入力ボックス、クリック可能なボタン、ドロップダウンリスト、またはユーザーがフィルタリングパラメータを提供するために対話することができる他のタイプのアイコンであることを指定する。インターフェースモジュール460は、インターフェースアイコンと通信し、インターフェースアイコンからユーザーによって提供されるフィルタリングパラメータを受信する。インターフェースモジュール460がフィルタリングパラメータを受信することに応答して、アクションモジュール470は、フィルタリングパラメータをフィルタツール420に供給し、フィルタリングパラメータに基づいてフィルタツール420の動作をトリガする。シーケンス内のフィルタツールに続くフォーミュラツール430及びブラウズツール440は、アクションモジュール470またはフィルタツール420によってトリガされることができる。
【0043】
フォーミュラツール430は、新しいデータファイル内のデータを、数式に基づいて結果データに変換する。ブラウズツール440は、フォーミュラツール430から結果データを受信し、新しいデータを表す結果アイテム405を生成する。結果アイテムは、チャートや図などの新しいデータのグラフィック表現である。図4Bでは、結果アイテムは、複数のバーを含むチャートである。各バーは、対応する日にアプリケーションがダウンロードされた回数を示す。ブラウズツール440はまた、例えば、インターフェースアイコンを定義するインターフェースモジュール460からの命令に基づいて、インターフェースアイコン415を生成する。図4Bの実施形態では、インターフェースモジュール460は、インターフェースアイコン415が、ユーザーがテキスト文字列を入力することができる入力ボックスであることを定義し、これに応じて、ブラウズツール440が、入力ボックスを生成する。インターフェースアイコン415は、結果アイテム405とは別個である。しかしながら、他の実施形態では、ブラウズツール440は、インターフェースアイコン415を結果アイテムと統合し得る。例えば、結果アイテムは、インターフェースアイコンとして機能するシンボル(例えば、結果アイテム内のバー、曲線、ボックス、またはテキスト文字列)を含む。
【0044】
ブラウズツール440は、ユーザーに表示するために、結果アイテム405及びインターフェースアイコン415を提供する。ユーザーは、インターフェースアイコンと対話することによって、例えば、入力ボックスで特定の日または特定の複数の日を指定することによって、新しいフィルタリングパラメータを定義することができる。図4Bに示されるように、新しいフィルタリングパラメータは、「平日」である。新しいフィルタリングパラメータは、対話型要素450のインターフェースモジュール460に送信され、さらにフィルタツール420に送信される。フィルタツール420は、アクションモジュール470によってトリガされ、新しいフィルタリングパラメータに基づいてデータをフィルタリングし、それによって平日に関連付けられたデータを出力する。平日に関連付けられたデータは、さらなる処理のためにフォーミュラツール430に送信される。フォーミュラツール430は、ブラウズツール440に送信される新しい結果データを生成する。ブラウズツール440は、平日のアプリケーションのダウンロードの数を示す新しい結果アイテム425を生成する。
【0045】
図4A及び図4Bの実施形態では、対話型要素450は、フィルタツール420に関連付けられている。図5の実施形態などの他の実施形態では、対話型要素は、ワークフロー内の新しいツールとしてワークフローに適用される。
【0046】
図5は、一実施形態による、データ分析システム110を使用して作成された別の対話型ワークフロー500を示す概略図である。対話型ワークフロー500は、入力ツール510、対話型ツール520、フィルタツール530、フォーミュラツール550、及びブラウズツール570を含むツールのシーケンスを有する。他の実施形態では、対話型ワークフロー400は、異なるツール及び/または多くの対話型要素を含み得る。
【0047】
入力ツール410と同様に、入力ツール510は、例えば、図1に示されるデータソース120からデータファイルを受信する。入力ツール510は、データファイルを対話型ツール520に送信する。
【0048】
対話型ツール520は、ユーザー入力を受信し、対話型ワークフロー500の実行を操作する。図4Aの対話型要素450とは異なり、対話型ツール520は、対話型ワークフロー500のツールのシーケンスの一部である。対話型ツール520は、データファイルに基づいて対話型アイテム(例えば、インタラクティブテーブル、チャートなど)を生成し、対話型テーブルをユーザーに表示するために提供する。対話型アイテムは、データファイル内のデータをユーザーに示し、ユーザーが対話型テーブル内のコンポーネントと対話することを可能にする。例えば、ユーザーは、対話型テーブル内の変数を選択することができる。対話型ツール520は、ユーザーの対話を受信し、それをフィルタツール530に送信し、フィルタツール530は、ユーザーの対話、例えば、変数のユーザーの選択に基づいてフィルタツール530の動作をトリガする。フィルタツール520は、ユーザーによって選択された変数を使用して、データファイル内のデータをフィルタリングし、新しいデータファイルを生成する。フィルタツール520は、次いで、新しいデータファイルをフォーミュラツール550に送信し、フォーミュラツール550は、新しいデータファイルに数式を適用し、結果データファイルを生成する。ブラウズツール560は、フォーミュラツール550から結果データファイルを受信し、結果アイテムを生成する。
【0049】
対話型ワークフロー400及び500は両方とも、ユーザー入力に基づいてフィルタツール420及び530の動作を操作するように適合されるが、2つの対話型ワークフロー400及び500は、異なる方法で作成され、異なる方法で動作する。対話型ワークフロー400は、フィルタツール420に適用され、フィルタツール420と提携する対話型要素(すなわち、対話型要素450)を含むのに対し、対話型ワークフロー500は、対話型ワークフロー500においてフィルタツール530に先行する対話型ツール(すなわち、対話型ツール520)を含む。
【0050】
2つの対話型ワークフロー400と500の違いは、設計者とユーザーにとって異なる体験をもたらす。対話型ツールがシーケンス内のツールの1つであるため、設計者は対話型ワークフロー500をより線形的に作成できる。例えば、設計者は、線形プログラミングを通じて対話型ワークフロー500を作成することができる。また、対話型ワークフロー500のユーザーは、フィルタツール530、フォーミュラツール540、及びブラウズツール550の動作の前、及び結果アイテムが生成される前に入力を提供することができるが、対話型ワークフロー400のユーザーは、結果アイテム405及びインターフェースアイコン415が生成されるまで待機して、入力を提供する。一実施形態では、設計者は、対話型ワークフロー400においてユーザー入力がどのように受信されるかを変更する。設計者は、対話型要素450を変更することによって変更を行うことができ、ツールのシーケンスを修正する必要はない。また、対話型ワークフロー400は、インターフェースアイコン415を結果アイテム405と統合することを可能にし、ユーザーが異なるアイテムに切り替えることなく結果アイテム405と対話することによって入力を提供する方がより便利である。データ分析アプリケーション150は、2つの対話型ワークフロー400及び500の両方の作成及び実行を容易に、設計者及びユーザーの異なるニーズを満たす。
【0051】
図6は、一実施形態による対話型ワークフロー600を生成するプロセスを示すフローチャートである。いくつかの実施形態では、プロセス600は、データ分析アプリケーション150によって実行されるが、プロセス600における動作の一部またはすべては、他の実施形態では他のエンティティによって実行され得る。いくつかの実施形態では、プロセス600の動作は、異なる順序で実行され、異なるステップおよび/または追加のステップを含むことができる。
【0052】
データ分析アプリケーション150は、分析ワークフローを受信する。分析ワークフローは、ツールのシーケンスを備える。シーケンス内の各ツールは、入力、出力、準備、結合、予測、空間、調査、解析、変換などのデータ分析機能を実行する。
【0053】
データ分析アプリケーション150は、分析ワークフロー内のツールのデータ分析機能に基づいて、シーケンス内のツールの対話型要素を生成する。対話型要素は、ユーザー入力を受信し、ユーザー入力に基づいてツールの動作をトリガするように適合される。対話型要素は、ユーザーが分析ワークフローを操作するための入力を提供できるインターフェースアイコンを定義する。データ分析アプリケーション150はまた、分析ワークフローが対話型要素を生成するために処理するデータファイルを使用し得る。
【0054】
いくつかの実施形態では、データ分析アプリケーション150は、分析ワークフロー内のツールのデータ分析機能に基づいて、複数の対話型要素から対話型要素を選択する。いくつかの他の実施形態では、データ分析アプリケーション150は、分析ワークフロー内のツールのデータ分析機能に基づいて複数の対話型要素を選択し、複数の対話型要素から1つまたは複数の対話型要素をユーザーが選択するために、複数の対話型要素をユーザーに提供する。データ分析アプリケーション150は、対話型要素のユーザーの選択を受信する。
【0055】
データ分析アプリケーション150は、対話型要素をツールに適用して、分析ワークフローを更新する。ツールに適用される対話型要素は、ユーザー対話を受信するように適合され、分析ワークフロー内のツールの動作を修正する。例えば、対話型要素は、インターフェースアイコンからユーザー対話を受信し、ユーザー対話をツールに送信し、ユーザー対話に基づいてデータ分析機能を実行するためにツールをトリガする。いくつかの実施形態では、データ分析アプリケーション150は、対話型要素を分析ワークフロー内のツールと関連付ける。いくつかの他の実施形態では、データ分析アプリケーション150は、対話型要素を新しいツールとしてデータ分析ワークフローに追加する。新しいツールは、シーケンス内のツールの前にある。
【0056】
データ分析アプリケーション150は、データファイルを処理するための更新された分析ワークフローを提供する。更新された分析ワークフローは、データファイルの処理の結果を表す結果アイテムを生成するように適合される。いくつかの実施形態では、データ分析アプリケーション150は、クライアントデバイス上のデータファイルを処理するための更新された分析ワークフローを提供する。いくつかの他の実施形態では、データ分析アプリケーション150は、クライアントデバイスと通信するサードパーティサーバ(例えば、クラウド内で動作するサーバ)に更新された分析ワークフローを提供し、データファイルは、更新された分析ワークフローを使用してサードパーティサーバ上で処理される。対話型要素が、例えば、対話型要素と通信するインターフェースアイコンを介してユーザー入力を受信する実施形態では、更新された分析ワークフローは、ユーザー入力に基づいて結果アイテムを生成する。インターフェースアイコンを使用すると、更新された分析ワークフローによって生成された結果アイテムも変更できるように、ユーザーは入力を変更できる。
【0057】
更新された分析ワークフローの再実行は、シーケンス内のツールに続くツールの動作も含む。更新された分析ワークフローを再実行すると、結果アイテムとは異なる新しい結果アイテムが生成され、ユーザー入力が反映される。新しい結果アイテムは、結果アイテムの代わりに、または結果アイテムに加えて表示に提供することができる。ユーザーは、インターフェースアイコンを介して入力を変更して、変更された入力を反映する別の異なる結果アイテムを取得することができる。
【0058】
図7は、一実施形態による、図1の機械学習サーバ110として使用するための典型的なコンピュータシステム700の機能図を示すハイレベルのブロック図である。
【0059】
図示のコンピュータシステムは、チップセット704に結合された少なくとも1つのプロセッサ702を含む。プロセッサ702は、同じダイ上に多様なプロセッサコアを含むことができる。チップセット704は、メモリコントローラハブ720及び入力/出力(I/O)コントローラハブ722を含む。メモリ706及びグラフィックスアダプタ712は、メモリコントローラハブ720に結合され、ディスプレイ718は、グラフィックスアダプタ712に結合される。ストレージデバイス708、キーボード710、ポインティングデバイス714、及びネットワークアダプタ716は、I/Oコントローラハブ722に結合される。いくつかの別の実施形態では、コンピュータシステム700は、追加のコンポーネント、より少ないコンポーネント、または異なるコンポーネントを有してもよく、コンポーネントは、違うように結合されていてもよい。例えば、コンピュータシステム700の実施形態は、ディスプレイ及び/またはキーボードを欠いていてもよい。加えて、コンピュータシステム700は、いくつかの実施形態では、ラック搭載ブレードサーバーとして、またはクラウドサーバーインスタンスとしてインスタンス化されてもよい。
【0060】
メモリ706は、プロセッサ702によって使用される命令及びデータを保持する。いくつかの実施形態では、メモリ706は、ランダムアクセスメモリである。ストレージデバイス708は、非一時的なコンピュータ可読記憶媒体である。ストレージデバイス708は、HDD、SSD、または他のタイプの非一時的なコンピュータ可読記憶媒体であり得る。機械学習サーバ110によって処理及び分析されたデータは、メモリ706及び/またはストレージデバイス708に記憶され得る。
【0061】
ポインティングデバイス714は、マウス、トラックボール、または他のタイプのポインティングデバイスであり得、キーボード710と組み合わせて使用され、コンピュータシステム700にデータを入力し得る。グラフィックスアダプタ712は、ディスプレイ718上に画像および他の情報を表示する。いくつかの実施形態では、ディスプレイ718は、ユーザー入力および選択を受信するためのタッチスクリーン機能を含む。ネットワークアダプタ716は、コンピュータシステム700をネットワーク170に結合する。
【0062】
コンピュータシステム700は、本明細書で説明される機能を提供するためのコンピュータモジュールを実行するように適合されている。本明細書で使用される「モジュール」という用語は、特定の機能を提供するためのコンピュータプログラム命令およびその他のロジックを指す。モジュールは、ハードウェア、ファームウェア、および/またはソフトウェアで実装されることができる。モジュールは、1つまたは複数のプロセスを含むことができ、および/またはプロセスの一部のみによって提供されることができる。モジュールは、典型的には、ストレージデバイス708に記憶され、メモリ706にロードされ、プロセッサ702によって実行される。
【0063】
コンポーネントの特定の命名、用語の大文字化、属性、データ構造、またはその他のプログラミングまたは構造上の側面は、必須または重要ではなく、説明されている実施形態を実装するメカニズムは、異なる名前、フォーマット、またはプロトコルを有してもよい。さらに、システムは、説明したようにハードウェアとソフトウェアの組み合わせを介して、または完全にハードウェア要素で実装され得る。また、本明細書で記述される様々なシステムコンポーネント間の機能の特定の分割は、単なる例示であり、必須ではない。単一のシステムコンポーネントによって実行される機能は、代わりに多様なコンポーネントによって実行される場合があり、多様なコンポーネントによって実行される機能は、代わりに単一のコンポーネントによって実行される場合がある。
【0064】
上記の説明のいくつかの部分は、情報の操作のアルゴリズムおよび記号表現に関する特徴を示している。これらのアルゴリズムの記述および表現は、データ処理技術の当業者が自分の作業の内容を他の当業者に最も効果的に伝えるために使用する手段である。これらの操作は、機能的または論理的に説明されているが、コンピュータプログラムによって実装されると理解される。さらに、一般性を失うことなく、これらの操作の配置をモジュールまたは機能名で参照すると便利な場合もある。
【0065】
上記の説明から明らかなように特に明記しない限り、説明全体を通して、「処理する」または「コンピューティングする」または「計算する」または「決定する」または「表示する」などの用語を利用する説明は、コンピュータシステムのメモリまたはレジスタ、またはその他の情報ストレージ、伝送または表示デバイス内の物理(電子)量として表されるデータを操作および変換する、コンピュータシステムまたは同様の電子コンピューティングデバイスのアクションとプロセスと関連する。
【0066】
本明細書で説明される特定の実施形態は、アルゴリズムの形式で説明されるプロセスステップおよび命令を含む。実施形態のプロセスステップおよび命令は、ソフトウェア、ファームウェア、またはハードウェアで実施でき、ソフトウェアで実施した場合、ダウンロードしてリアルタイムネットワークオペレーティングシステムで使用される異なるプラットフォームに常駐し、そこから操作できることに留意されたい。
【0067】
最後に、明細書で使用される文言は、主に読みやすさと説明目的のために選択されたものであり、本発明の主題を描写または制限するために選択されたものではないことに留意されたい。したがって、実施形態の開示は、例示的であることを意図しているが、限定を意図するものでない。
図1
図2
図3
図4A
図4B
図5
図6
図7
【手続補正書】
【提出日】2024-05-14
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ実装方法であって、
ツールのシーケンスを含む分析ワークフローを受信するステップであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信するステップと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成するステップと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用するステップであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用するステップと、
データファイルを処理するための前記更新された分析ワークフローを提供するステップであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供するステップと、
を含む、コンピュータ実装方法。
【請求項2】
前記対話型要素と通信するインターフェースアイコンを生成するステップであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成するステップと、をさらに含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記インターフェースアイコンは、前記データファイルの前記処理の前記結果の一部を表す前記結果アイテム内のアイコンである、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成するステップは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項5】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成するステップは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択するステップと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供するステップと、
前記対話型要素の前記ユーザーの選択を受信するステップと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項6】
前記対話型要素を前記ツールに適用するステップは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記分析ワークフローに追加するステップと、を含む、請求項1に記載のコンピュータ実装方法。
【請求項7】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、異なる結果アイテムを生成する、請求項1に記載のコンピュータ実装方法。
【請求項8】
実行可能なコンピュータプログラム命令を格納する非一時的なコンピュータ可読メモリであって、前記コンピュータプログラム命令は、プロセッサに、
ツールのシーケンスを含む分析ワークフローを受信することであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信することと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成することと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用することであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用することと、
データファイルを処理するための前記更新された分析ワークフローを提供することであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供することと、
を含む、動作を実行することを可能とする、非一時的なコンピュータ可読メモリ。
【請求項9】
前記動作は、
前記対話型要素と通信するインターフェースアイコンを生成することであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成することと、さらに含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項10】
前記インターフェースアイコンは、前記データファイルの前記処理の前記結果の一部を表す前記結果アイテム内のアイコンである、請求項9に記載の非一時的なコンピュータ可読メモリ。
【請求項11】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項12】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択することと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供することと、
前記対話型要素の前記ユーザーの選択を受信することと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項13】
前記対話型要素を前記ツールに適用することは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記分析ワークフローに追加することと、を含む、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項14】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、異なる結果アイテムを生成する、請求項8に記載の非一時的なコンピュータ可読メモリ。
【請求項15】
コンピュータシステムであって、
コンピュータプログラム命令を実行するためのコンピュータプロセッサと、
動作を実行するためにコンピュータプロセッサによって、実行可能なコンピュータプログラム命令を格納する非一時的なコンピュータ可読メモリと、
を備え、前記動作は、
ツールのシーケンスを含む分析ワークフローを受信することであって、前記シーケンス内の各ツールがデータ分析機能を実行する、前記分析ワークフローを受信することと、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内のツールの対話型要素を生成することと、
前記分析ワークフローを更新するために前記対話型要素を前記ツールに適用することであって、前記対話型要素は、ユーザーの入力を受信し、前記ユーザーの入力に基づいて前記ツールの動作をトリガするように適合される、前記ツールに適用することと、
データファイルを処理するための前記更新された分析ワークフローを提供することであって、前記更新された分析ワークフローは、前記データファイルの前記処理の結果を表す結果アイテムを生成するように適合される、前記提供することと、
を含む、コンピュータシステム。
【請求項16】
前記動作は、
前記対話型要素と通信するインターフェースアイコンを生成することであって、前記ユーザーの入力は、前記インターフェースアイコンを介して受信され、前記インターフェースアイコンから前記対話型要素に送信される、前記インターフェースアイコンを生成することと、さらに含む、請求項15に記載のコンピュータシステム。
【請求項17】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、複数の対話型要素から前記対話型要素を選択することと、を含む、請求項15に記載のコンピュータシステム。
【請求項18】
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて、前記シーケンス内の前記ツールの前記対話型要素を生成することは、
前記分析ワークフロー内の前記ツールの前記データ分析機能に基づいて複数の対話型要素を選択することと、
前記ユーザーが前記複数の対話型要素から1つまたは複数の対話型要素を選択するために、前記複数の対話型要素を前記ユーザーに提供することと、
前記対話型要素の前記ユーザーの選択を受信することと、
前記受信したユーザーの選択に応答して、前記ツールの前記対話型要素を生成することと、を含む、請求項15に記載のコンピュータシステム。
【請求項19】
前記対話型要素を前記ツールに適用することは、
前記シーケンス内の前記ツールに先行する新しいツールとして、前記対話型要素を前記分析ワークフローに追加することと、を含む、請求項15に記載のコンピュータシステム。
【請求項20】
前記対話型要素は、前記シーケンス内の前記ツールに続く別のツールの動作をトリガするように適合され、異なる結果アイテムを生成する、請求項15に記載のコンピュータシステム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0036
【補正方法】変更
【補正の内容】
【0036】
ワークフロー実行モジュール340は、(対話型ワークフローを含む)ワークフローの実行を容易にする。ワークフロー実行モジュール340は、データ受信モジュール310からデータファイルを受信し、データファイルをワークフローに送信する。ワークフローを実行すると、結果アイテムが生成される。対話型ワークフローの場合、実行するとインターフェースアイコンも生成される。インターフェースアイコンは、ユーザー入力を受信するように適合される。インターフェースアイコンは、チェックボックス、クリック可能なボタン、テキストフィールド、リストボックス、ドロップダウンリスト、日付フィールドなどである。対話型要素は、対話型ワークフロー内の特定のツールへのインターフェースアイコンからのユーザー入力の送信を容易にする。また、対話型要素は、特定のツールの動作をトリガする。特定のツールは、ユーザー入力に基づいてデータを処理する。ワークフロー内の特定のツールに続くツールがある場合、データはこれらの後続のツールによってさらに処理される。このようにして、ワークフローの少なくとも一部は、ユーザー入力に基づいて実行される。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0037
【補正方法】変更
【補正の内容】
【0037】
一例では、ワークフロー実行モジュール340は、最初に、ユーザー入力なしで対話型ワークフローを実行する。対話型フローの第1の実行は、対話型ワークフロー内の対話型要素によって定義される第1の結果アイテム及びインターフェースアイコンを生成する。インターフェースアイコンは、ユーザー入力を受信し、対話型要素にユーザー入力を送信する。ユーザー入力を受信することに応答して、対話型要素は、ユーザー入力に基づいて、対話型ワークフローの少なくとも一部の再実行(第2の実行)をトリガする。再実行は、存在する場合、例えば、特定のツールに続く特定のツール及びツールの動作を含む。ワークフローの再実行は、ユーザー入力を組み込み、第1の結果アイテムとは異なる第2の結果アイテムを生成する。ワークフロー実行モジュール340は、第1の結果アイテムの置き換えとして、または第1の結果アイテムとは別に、第2の結果アイテムをユーザーに表示するために提供する。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0046
【補正方法】変更
【補正の内容】
【0046】
図5は、一実施形態による、データ分析システム110を使用して作成された別の対話型ワークフロー500を示す概略図である。対話型ワークフロー500は、入力ツール510、対話型ツール520、フィルタツール530、フォーミュラツール540、及びブラウズツール550を含むツールのシーケンスを有する。他の実施形態では、対話型ワークフロー400は、異なるツール及び/または多くの対話型要素を含み得る。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0048
【補正方法】変更
【補正の内容】
【0048】
対話型ツール520は、ユーザー入力を受信し、対話型ワークフロー500の実行を操作する。図4Aの対話型要素450とは異なり、対話型ツール520は、対話型ワークフロー500のツールのシーケンスの一部である。対話型ツール520は、データファイルに基づいて対話型アイテム(例えば、インタラクティブテーブル、チャートなど)を生成し、対話型テーブルをユーザーに表示するために提供する。対話型アイテムは、データファイル内のデータをユーザーに示し、ユーザーが対話型テーブル内のコンポーネントと対話することを可能にする。例えば、ユーザーは、対話型テーブル内の変数を選択することができる。対話型ツール520は、ユーザーの対話を受信し、それをフィルタツール530に送信し、フィルタツール530は、ユーザーの対話、例えば、変数のユーザーの選択に基づいてフィルタツール530の動作をトリガする。フィルタツール530は、ユーザーによって選択された変数を使用して、データファイル内のデータをフィルタリングし、新しいデータファイルを生成する。フィルタツール530は、次いで、新しいデータファイルをフォーミュラツール540に送信し、フォーミュラツール540は、新しいデータファイルに数式を適用し、結果データファイルを生成する。ブラウズツール550は、フォーミュラツール540から結果データファイルを受信し、結果アイテムを生成する。

【国際調査報告】