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

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

▶ タブロー ソフトウェア,エルエルシーの特許一覧

特表2024-513747データ視覚化を生成するための視覚分析意図言語の適用
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-27
(54)【発明の名称】データ視覚化を生成するための視覚分析意図言語の適用
(51)【国際特許分類】
   G06F 16/907 20190101AFI20240319BHJP
   G06F 16/9038 20190101ALI20240319BHJP
【FI】
G06F16/907
G06F16/9038
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023558295
(86)(22)【出願日】2022-03-30
(85)【翻訳文提出日】2023-11-09
(86)【国際出願番号】 US2022022625
(87)【国際公開番号】W WO2022212563
(87)【国際公開日】2022-10-06
(31)【優先権主張番号】17/219,784
(32)【優先日】2021-03-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】63/168,212
(32)【優先日】2021-03-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.JAVASCRIPT
(71)【出願人】
【識別番号】521550194
【氏名又は名称】タブロー ソフトウェア,エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】セトラー,ヴィディヤ ラガヴァン
(72)【発明者】
【氏名】ブレーマー,マシュー マイケル
(72)【発明者】
【氏名】シャーマン,スコット
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175FB04
5B175GA01
5B175JA02
(57)【要約】
電子デバイスは、1つ以上のプロセッサ、及びメモリを有する。メモリは、1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶する。電子デバイスは、データソースに向けられた要求を受信する。要求は、1つ以上の意図タイプ、及び意図タイプに関連付けられた1つ以上の事前定義された属性を含む。事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する。要求に応答して、意図タイプの各々について、電子デバイスは、それぞれの意図仕様のそれぞれのプロパティを判定することを含む、要求に従って、それぞれの意図仕様を定式化する。電子デバイスはまた、それぞれの出力仕様を生成する。それぞれの出力仕様は、それぞれの推奨されるデータ視覚化タイプを含む。それぞれの出力仕様はまた、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定するそれぞれのデータ視覚化パラメータを含む。
【特許請求の範囲】
【請求項1】
方法であって、
第1のアプリケーションを動実行している電子デバイスであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶するメモリと、を含む、電子デバイスにおいて、
データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記1つ以上の意図タイプの各々について、
それぞれの前記1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記要求に従って前記それぞれの意図仕様を定式化することと、
それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むことと、を含む、方法。
【請求項2】
前記1つ以上の意図タイプが、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む、請求項1に記載の方法。
【請求項3】
前記要求が、前記傾向意図を含み、
前記それぞれの意図仕様を定式化することは、前記データソースから、(i)測定データフィールド、及び(ii)時間を表す第1のデータフィールドを識別すること、
を含む、請求項2に記載の方法。
【請求項4】
前記要求が、前記傾向意図を含み、
前記それぞれの意図仕様を定式化することは、前記データソースから、(i)全ての測定データフィールド、及び(ii)時間を表す全てのデータフィールドを識別すること、
を含む、請求項2に記載の方法。
【請求項5】
前記要求が、前記フォーカス意図を含み、
前記それぞれの意図仕様を定式化することが、
前記データソースからのデータ行をある順序で並べるソート動作と、
前記データソースからの前記データ行を、特定のデータフィールドが特定のデータ値を有するデータ行のサブセットにフィルタリングするフィルタ動作と、
前記データソースからのデータ行のサブセットを強調表示する強調表示動作と、のうちの1つ以上を実行すること、
を含む、請求項2に記載の方法。
【請求項6】
前記要求が、前記符号化意図を含み、第1のデータフィールドを指定し、前記それぞれの出力仕様を生成することが、
前記第1のデータフィールドに従って、前記データ視覚化をレンダリングすることを指定する符号化パラメータを追加すること、又は
前記第1のデータフィールドに従って、前記データ視覚化のための既存の符号化パラメータをオーバーライドすること、
を含む、請求項2に記載の方法。
【請求項7】
前記要求が、前記フィールド意図を含み、第1のデータフィールドを指定し、
それぞれの出力仕様を生成することが、前記第1のデータフィールドによって課されるセマンティック制約に基づいて1つ以上の推論ルールを適用すること、
を含む、請求項2に記載の方法。
【請求項8】
前記1つ以上の意図タイプの各々について、
前記それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することと、
前記それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、(i)前記1つ以上のそれぞれのルール、(ii)前記データソースのメタデータ、及び(iii)前記要求において指定されたデータフィールドのメタデータに従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することと、
推論された前記情報に従って、前記1つ以上のそれぞれのデータ視覚化パラメータを更新することと、
を更に含む、請求項1に記載の方法。
【請求項9】
前記1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することが、
前記要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、
前記それぞれの意図タイプが曖昧であると確立することと、
前記数量の数値を推論することと、を更に含む、請求項8に記載の方法。
【請求項10】
前記データソースの前記メタデータが、データフィールドの意味、前記データフィールドに対応するデータフィールドタイプ、前記データフィールドの統計、前記データフィールドの導出、及び/又は前記データフィールドに対応するデフォルトビンサイズのメタデータを含む、請求項8に記載の方法。
【請求項11】
前記データフィールドタイプが、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む、請求項10に記載の方法。
【請求項12】
以前の要求からのコンテキスト、前記以前の要求において識別されたデータフィールド、前記以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論することを更に含む、請求項8に記載の方法。
【請求項13】
前記1つ以上のそれぞれのデータ視覚化パラメータは、データ整形情報、符号化情報、及び/又は前記意図仕様に対応する識別子を含む、請求項1に記載の方法。
【請求項14】
前記1つ以上の意図タイプの各々について前記それぞれの出力仕様を生成した後、(i)前記1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)前記第1のアプリケーション及び/又は前記電子デバイスの設定パラメータに従って、前記要求に応答してデータ分析を視覚的にレンダリングすること、
を更に含む、請求項1に記載の方法。
【請求項15】
方法であって、
第1のアプリケーションを実行している電子デバイスであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶するメモリと、を含む、電子デバイスにおいて、
データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記要求に応答して、前記1つ以上の意図タイプの各々について、
それぞれの前記1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記要求に従って前記それぞれの意図仕様を定式化することと、
前記それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することと、
前記それぞれの意図タイプが曖昧及び/又は情報不足であるという判定に従って、
(i)前記1つ以上のそれぞれのルール、(ii)前記データソースのメタデータ、及び(iii)前記要求において指定されたデータフィールドのメタデータに従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することと、
推論された前記情報に従って、前記それぞれの意図タイプを更新することと、を含む、方法。
【請求項16】
それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)(1)推論された前記情報を含み、かつ(2)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むこと、
を更に含む、請求項15に記載の方法。
【請求項17】
前記1つ以上の意図タイプが、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む、請求項15に記載の方法。
【請求項18】
前記1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することが、
前記それぞれの意図タイプについての前記それぞれの意図仕様に対応するデータプロパティのセットを識別することと、
前記要求が前記データプロパティのセットの各データプロパティの属性を指定しているかどうかを判定することと、
前記要求が前記データプロパティのセットにおけるデータプロパティの2つ以上の属性を指定しているときに、前記それぞれの意図タイプが曖昧であると判定することと、
前記要求が前記データプロパティのセットにおける少なくとも1つのデータプロパティの属性を指定していないときに、前記それぞれの意図タイプが情報不足であると判定することと、更に含む、請求項15に記載の方法。
【請求項19】
前記要求が前記データプロパティのセットの各データプロパティについて厳密に1つの属性を指定しているという判定に従って、前記それぞれの意図タイプが完全に指定されていると確立すること、
を更に含む、請求項18に記載の方法。
【請求項20】
1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが前記曖昧及び/又は情報不足であるかどうかを判定することが、
前記要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、
前記それぞれの意図タイプが曖昧であると確立することと、
前記数量の数値を推論することと、を更に含む、請求項15に記載の方法。
【請求項21】
前記それぞれの意図タイプが、フォーカス戦略プロパティを有するフォーカス意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記要求が「フィルタ」、「強調表示」、及び「ズーム」からなる群から選択される用語を含まないという判定に従って、強調表示戦略をデフォルトフォーカス戦略として選択すること、
を更に含む、請求項15に記載の方法。
【請求項22】
前記デフォルト戦略として前記強調表示戦略を選択することが、
前記データソースのデータテーブルからのデータ行を、前記データテーブル内のデータフィールドのデータ値に従って昇順又は降順に並べるソート動作を実行することと、
前記データ値のランキングに基づいて、指定された数の前記データ値を強調表示する強調表示動作を実行することと、
を更に含む、請求項21に記載の方法。
【請求項23】
前記それぞれの意図タイプが、フィールドプロパティを有するフォーカス意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記要求がデータフィールドを指定していないという判定に従って、テキストデータタイプを有し、かつ前記要求において指定された数量以上のドメインを有するデータフィールドを前記データソースから選択すること、
を更に含む、請求項15に記載の方法。
【請求項24】
前記それぞれの意図タイプが、フィールドプロパティを有するフォーカス意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記データソースがテキストデータタイプ、及び指定された数量以上のドメインを有するデータフィールドを含まないという判定に従って、ドメインが前記要求において指定されたデータ値を含むデータフィールドを前記データソースから選択すること、
を更に含む、請求項15に記載の方法。
【請求項25】
前記それぞれの意図タイプが、フォーカス意図であり、前記方法が、
前記要求が価格の形容詞を含むという判定に従って、前記データソースが通貨フィールドタイプを有するデータフィールドを含むかどうかを判定することと、
前記データソースが通貨フィールドタイプを有するデータフィールドを含むという判定に従って、前記データフィールドに対してソート動作を実行することと、
前記データソースが通貨フィールドタイプを有するデータフィールドを含まないという判定に従って、
前記データソース内の全ての数値データフィールドを識別することと、
前記数値データフィールドの各々に対してそれぞれのソート動作を実行することと、を更に含む、請求項15に記載の方法。
【請求項26】
前記データソースの前記メタデータが、データフィールドの意味、前記データフィールドに対応するデータフィールドタイプ、前記データフィールドの統計、前記データフィールドの導出、及び/又は前記データフィールドに対応するデフォルトビンサイズのメタデータを含む、請求項15に記載の方法。
【請求項27】
前記データフィールドタイプが、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む、請求項26に記載の方法。
【請求項28】
前記それぞれの意図タイプが、グループ化フィールド及びビンサイズを含むグループ化プロパティを有する分布意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記要求がグループ化フィールドを指定していないという判定に従って、
数量依存フィールドタイプ、数量非依存フィールドタイプ、又は通貨フィールドタイプを有する前記データソース内の全てのデータフィールドを識別することと、
識別された前記データフィールドの各々を前記グループ化フィールドの推論された前記情報として指定することと、
を更に含む、請求項15に記載の方法。
【請求項29】
前記要求がビンサイズを指定しているという判定に従って、前記メタデータ内のビンサイズ情報を前記指定されたビンサイズで置き換えること、
を更に含む、請求項28に記載の方法。
【請求項30】
前記意図タイプが、測定データフィールド及び日付データフィールドを含む傾向プロパティを有する傾向意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記要求が測定データフィールドを含まないという判定に従って、
前記データソース内の全ての数量依存フィールドを識別すること、及び
前記数量依存フィールドの各々を前記測定データフィールドの推論された前記情報として指定すること、並びに/又は
前記要求が時間フィールドタイプを有するデータフィールドを含まないという判定に従って、
前記データソース内の全ての時間データフィールドを識別すること、及び
前記時間データフィールドの各々を前記日付データフィールドの推論された前記情報として指定すること、
を更に含む、請求項15に記載の方法。
【請求項31】
前記意図タイプが、2つの数値データフィールドを相関させるための相関意図であり、
前記情報不足の意図を解決するために情報を推論することが、
前記要求が1つの数値データフィールドのみを指定しているときに、前記データソースからの全ての数値データフィールドから第2のデータフィールドの使用を推論することと、
前記要求が数値データフィールドを指定していないときに、前記データソースからの全ての数値データフィールドから、第1のデータフィールド及び第2のデータフィールドの使用を推論することと、を更に含む、請求項15に記載の方法。
【請求項32】
以前の要求からのコンテキスト、前記以前の要求において識別されたデータフィールド、前記以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することを更に含む、請求項15に記載の方法。
【請求項33】
方法であって、
第1のアプリケーションを実行している電子デバイスであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶するメモリと、を含む、電子デバイスにおいて、
前記電子デバイスと通信可能に接続されたサーバシステムから、前記第1のアプリケーションを含む複数のアプリケーションにわたって実行するように構成されている視覚分析意図ライブラリをダウンロードすることと、
前記電子デバイスが前記第1のアプリケーションを実行していることに基づいて、前記電子デバイス上で実行するように前記視覚分析意図ライブラリを設定することと、
前記設定の後、データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記要求に従って、前記1つ以上の意図タイプの各々について、前記それぞれの1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、前記それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記視覚分析意図ライブラリに従ってそれぞれの意図仕様を定式化することと、を含む、方法。
【請求項34】
前記意図タイプの各々について、前記それぞれの意図仕様を定式化した後、
前記視覚分析意図ライブラリに従って、それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むこと
を更に含む、請求項33に記載の方法。
【請求項35】
前記1つ以上のそれぞれのデータ視覚化パラメータが、データ整形情報、符号化情報、及び/又は前記意図仕様に対応する識別子を含む、請求項34に記載の方法。
【請求項36】
前記1つ以上の意図タイプの各々について前記それぞれの出力仕様を生成した後、(i)前記1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)前記第1のアプリケーション及び/又は前記電子デバイスの設定パラメータに従って、前記要求に応答してデータ分析を視覚的にレンダリングすること、
を更に含む、請求項34に記載の方法。
【請求項37】
前記要求に応答してデータ分析を視覚的にレンダリングすることが、第1のデバイスタイプを有する前記電子デバイスに更に従う、請求項36に記載の方法。
【請求項38】
前記1つ以上の意図タイプのうちの1つの前記少なくとも1つの出力仕様が、第1の意図タイプに対応し、かつ推論された情報を有する第1の出力仕様を含み、
データ分析を視覚的にレンダリングすることが、前記第1のアプリケーションにおいて推論された前記情報を表示すること、
を更に含む、請求項36に記載の方法。
【請求項39】
推論された前記情報が修正されることを可能にするデータウィジェットを表示することと、
前記データウィジェットとのユーザ対話を受信することと、
前記ユーザ対話に応答して、
前記第1の意図仕様を編集することと、
編集された前記第1の意図仕様に従って、前記第1の出力仕様を更新することと、
更新された前記第1の出力仕様、及び前記第1のアプリケーション及び/又は前記電子デバイスの前記設定パラメータに従って、更新されたデータ分析を生成し、視覚的にレンダリングすることと、
を更に含む、請求項38に記載の方法。
【請求項40】
前記電子デバイスが、音声アシスタントデバイスであり、前記方法が、
前記それぞれの出力仕様を生成した後、
前記それぞれの出力仕様をそれぞれの口語的応答に変換することと、
前記それぞれの口語的応答を出力することと、を更に含む、請求項34に記載の方法。
【請求項41】
前記それぞれの出力仕様が、推論された情報を含み、
前記それぞれの口語的応答を出力することが、推論された前記情報の口語的説明を出力すること、
を含む、請求項40に記載の方法。
【請求項42】
前記第1のアプリケーションが、グラフィカルユーザインターフェースを含み、前記方法が、
前記グラフィカルユーザインターフェースを介して、前記1つ以上の意図タイプの識別を含む、前記要求を受信することを更に含む、請求項34に記載の方法。
【請求項43】
前記それぞれの出力仕様に従って、それぞれのデータ視覚化を生成することと、
前記グラフィカルユーザインターフェース上に前記データ視覚化を表示することと、
を更に含む、請求項40に記載の方法。
【請求項44】
前記第1のアプリケーションが、メッセージングアプリケーションであり、前記方法は、前記それぞれの出力仕様を生成した後、
前記視覚的仕様をテキスト出力に変換することと、
前記メッセージングアプリケーションにおいて前記テキスト出力を表示することと、を更に含む、請求項34に記載の方法。
【請求項45】
前記1つ以上の意図タイプが、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む、請求項33に記載の方法。
【請求項46】
前記要求を受信する前に、自然言語コマンドを受信することと、
前記要求を形成するために、視覚意図仕様言語に従って、前記自然言語コマンドを解析することと、を更に含む、請求項33に記載の方法。
【請求項47】
前記解析に従って、前記1つ以上の意図タイプが「時間」という用語又は「傾向」という用語を有する前記自然言語コマンドに従って、傾向意図タイプを含むと判定すること、
を更に含む、請求項46に記載の方法。
【請求項48】
前記解析に従って、前記1つ以上の意図タイプが、測定可能な形容詞を有する前記自然言語コマンドに従って、フォーカス意図タイプを含むと判定すること、
を更に含む、請求項46に記載の方法。
【請求項49】
前記第1の意図仕様を前記要求において定式化された意図仕様と相関させることによって、以前の要求から定式化された第1の意図仕様を更新することを更に含む、請求項33に記載の方法。
【請求項50】
前記以前の要求が、前記データソースからの第1のデータフィールドを含み、
前記要求が、前記第1のデータフィールドを前記データソースからの第2のデータフィールドで置き換えることを指定し、
前記第1の意図仕様を更新することは、前記第1のデータフィールドを前記第2のデータフィールドで置き換えること、
を含む、請求項49に記載の方法。
【請求項51】
電子デバイスであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリと、を備え、前記メモリが、前記1つ以上のプロセッサによって実行されるように構成されている1つ以上のプログラムを記憶し、前記1つ以上のプログラムが、前記1つ以上のプロセッサによって実行されるときに、前記プロセッサに、請求項1~50のいずれか一項に記載の方法を行わせる命令を含む、電子デバイス。
【請求項52】
1つ以上のプログラムを記憶する非一時的なコンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、電子デバイスによって実行されるときに、前記電子デバイスに、請求項1~50のいずれか一項に記載の方法を含む動作を行わせる命令を含む、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2021年3月30日に出願された「Applying a Visual Analytics Intent Language to Generate Data Visualizations」と題する米国仮特許出願第63/168,212号の優先権を主張する、2021年3月31日に出願された「Applying a Visual Analytics Intent Language to Generate Data Visualizations」と題する米国特許出願第17/219,784号の継続出願であり、これらの出願の各々は、参照によりその全体が本明細書に組み込まれる。
【0002】
本出願は、以下の出願に関連し、これらの出願の各々は、参照によりその全体が本明細書に組み込まれる。
●(i)2018年10月16日に出願された「Methods and Systems for Building a View of a Dataset Incrementally According to Characteristics of User-Selected Data Fields」と題する米国特許出願第16/162,332号、及び
●(ii)2018年2月28日に出願された「Constructing Data Visualization Options for a Data Set According to User-Selected Data Fields」と題する米国特許出願第15/908,709号。
【0003】
開示される実装形態は、概して、データ視覚化に関連し、より具体的には、データ視覚化を生成し、かつデータを分析するために視覚分析意図言語を適用するシステム、方法、及びユーザインターフェースに関連する。
【背景技術】
【0004】
視覚分析ツールは、ユーザが、データセットを視覚的に理解し、情報に基づいた決定を行うことを可能にする。ますます、視覚分析ツールは、自然言語対話並びに機械学習ベースの分析及び提案などの特徴を組み込んでおり、これらは、視覚化を生成するためのデータ属性及び値の単純な選択を超える、より洗練され表現型分析タスクを提供する。しかしながら、ユーザの分析意図を解釈することは、意図が、適切な応答を生成するより低レベルのシステムアクションに翻訳される必要があるため、課題のままである。このプロセスは、通常、アプリケーションごとにハードコードされ、微調整が困難である複雑な実装を伴う。
【0005】
したがって、分析ワークフロー中にユーザの意図を補足することができるシステム及び方法が必要とされている。そのようなシステム及び方法はまた、情報不足又は曖昧な意図を推論し、効果的な出力を示唆することが可能であるべきである。
【発明の概要】
【0006】
視覚分析ツールは、データ分析及び意思決定を容易にする。これらのツールは、情報を視覚的に符号化するための感知可能なデフォルトを有する選択されたデータ属性に基づいて視覚化タイプを提案することができる。多くの視覚分析ツールは、現在、ユーザに視覚化を提示するためのヒューリスティックベースの手法を採用するグラフィカルユーザインターフェース慣習を組み込んでいる。
【0007】
視覚分析ツールにおける最近の進歩にもかかわらず、ユーザが、ツールのより低レベルの動作に関して、それらのより高レベルの分析意図を表現しようとするときに、課題のままである。意図を表現するとなるといくつかの困難がある。第一に、意図が漠然としており、質問のエントリポイントがツールによって与えられるものと一致しない場合がある。例えば、ユーザはデータ属性について考えている可能性があるが、ツールはユーザが最初にチャートタイプを選択することを必要とする。第二に、ツールの分析関数の命名とユーザによって使用される用語との間に不一致があることがある。第三に、ユーザは、質問に回答するためにどのようなアクションが必要とされるかを単に知らない場合がある。
【0008】
更に、分析意図を表現できるスペクトルがある。一方で、分析意図は、視覚化を生成するために、事前定義されたリストからのデータ属性のユーザ選択を通すなどして、明示的に表現され得る。一方、分析意図は、漠然と定義され得るか、又はユーザが住宅データを見ているときにどの家を購入するかについて「安全な」近隣の識別を求めるユーザ要求などの主観的判断を伴う可能性がある。
【0009】
これらのアクションに対応するために、視覚分析アプリケーション開発者は、これらの意図の表現に対する適切な応答を判定するための特注のビジネスロジックを実装してきた。しかしながら、これらは厳密に実装される傾向があり、様々な視覚分析プラットフォーム及びモダリティにわたって一般化することができない。
【0010】
分析ワークフロー中にユーザの意図を補足するための分析意図システム及び方法を開発する必要がある。分析意図システム及び方法はまた、情報不足又は曖昧な意図を推論し、効果的な出力を示唆することが可能であるべきである。それらはまた、異なる視覚分析ツールによって、及び異なるデバイスにわたって使用するために、十分に高い抽象化レベルで実装されるべきである。
【0011】
本開示では、視覚分析意図言語(Visual Analytics Intent Language、VAIL)が提示される。VAILは、表現型高レベルの意図を、視覚分析アプリケーションのための抽象化の一般的な層として機能することができる低レベルの表現に翻訳する言語仕様である。VAILは、意図、データセマンティクス、及び出力を記載する仕様を含み、これらは、意図を編集し、曖昧な又は失われた意図を推論し、所与の意図仕様に対して有効な出力を提案するためのルールと組み合わされる。VAILは、開発者が自身の視覚分析アプリケーションにおいて意図を管理及び表現するのを助ける。
【0012】
したがって、このような方法及びインターフェースは、ユーザの認知的負担を軽減し、より効率的なマンマシンインターフェースを作り出す。電池駆動のデバイスの場合、このような方法及びインターフェースは電力を節約し、かつ電池の充電間隔を長くする。このような方法及びインターフェースは、データを可視化するために、従来の方法を補完又は置き換え得る。他の実装形態及び有益点は、本明細書の説明及び図面に照らして当業者には明らかになり得る。
【0013】
いくつかの実装形態によれば、方法は、第1のアプリケーションを実行している電子デバイスにおいて行われる。電子デバイスは、1つ以上のプロセッサ、及びメモリを含む。メモリは、1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶する。電子デバイスは、データソースに向けられた要求を受信する。要求は、1つ以上の意図タイプを含む。各意図タイプは、データソースに向けられたデータ分析動作の事前定義されたセットから選択される。要求は、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する。1つ以上の意図タイプの各々について、電子デバイスは、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、要求に従って、それぞれの意図仕様を定式化する。1つ以上の意図タイプの各々について、電子デバイスは、それぞれの出力仕様を生成する。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプを含む。それぞれの出力仕様は、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む。
【0014】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む。
【0015】
いくつかの事例では、要求は、傾向意図を含む。それぞれの意図仕様を定式化することは、データソースから、(i)測定データフィールド、及び(ii)時間を表す第1のデータフィールドを識別することを含む。
【0016】
いくつかのインスタンスでは、要求はトレンド意図を含む。それぞれの意図仕様を定式化することは、データソースから、(i)全ての測定データフィールド、及び(ii)時間を表す全てのデータフィールドを識別することを含む。
【0017】
いくつかの事例では、要求は、フォーカス意図を含む。それぞれの意図仕様を定式化することは、(1)データソースからのデータ行をある順序で並べるソート動作、(2)データソースからのデータ行を、特定のデータフィールドが指定のデータ値を有するデータ行のサブセットにフィルタリングするフィルタ動作、及び(3)データソースからのデータ行のサブセットを強調表示する強調表示動作のうちの1つ以上を実行することを含む。
【0018】
いくつかの事例では、要求は、符号化意図を含み、第1のデータフィールドを指定する。それぞれの出力仕様を生成することは、(1)第1のデータフィールドに従って、データ視覚化をレンダリングすることを指定する符号化パラメータを追加すること、又は(2)第1のデータフィールドに従って、データ視覚化のための既存の符号化パラメータをオーバーライドすることを含む。
【0019】
いくつかの事例では、要求は、フィールド意図を含み、第1のデータフィールドを指定する。それぞれの出力仕様を生成することは、第1のデータフィールドによって課される意味制約に基づいて1つ以上の推論ルールを適用することを含む。
【0020】
いくつかの実装形態では、方法は、1つ以上の意図タイプの各々について、それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することを更に含む。それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、電子デバイスは、(i)1つ以上のそれぞれのルール、(ii)データソースのメタデータ、及び(iii)要求において指定されたデータフィールドのメタデータに従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する。電子デバイスは、推論された情報に従って、1つ以上のそれぞれのデータ視覚化パラメータを更新する。
【0021】
いくつかの事例では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、(1)それぞれの意図タイプが曖昧であることを確立することと、(2)数量の数値を推論することと、を更に含む。
【0022】
いくつかの事例では、データソースのメタデータは、データフィールドのセマンティクス、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む。
【0023】
いくつかの事例では、データフィールドタイプは、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む。
【0024】
いくつかの事例では、電子デバイスは、以前の要求からのコンテキスト、以前の要求において識別されたデータフィールド、以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する。
【0025】
いくつかの実装形態では、1つ以上のそれぞれのデータ視覚化パラメータは、データ整形情報、符号化情報、及び/又は意図仕様に対応する識別子を含む。
【0026】
いくつかの実装形態では、1つ以上の意図タイプの各々についてそれぞれの出力仕様を生成した後、電子デバイスは、(i)1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、要求に応答してデータ分析を視覚的にレンダリングする。
【0027】
本開示のいくつかの実装形態によれば、方法は、第1のアプリケーションを実行している電子デバイスにおいて行われる。電子デバイスは、1つ以上のプロセッサ、及びメモリを含む。メモリは、1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶する。電子デバイスは、データソースに向けられた要求を受信する。要求は、1つ以上の意図タイプを含む。各意図タイプは、データソースに向けられたデータ分析動作の事前定義されたセットから選択される。要求は、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する。要求に応答して、1つ以上の意図タイプの各々について、電子デバイスは、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、要求に従って、それぞれの意図仕様を定式化する。電子デバイスは、それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定する。それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、電子デバイスは、(i)1つ以上のそれぞれのルール、(ii)データソースのメタデータ、及び(iii)要求において指定されたデータフィールドのメタデータに従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する。電子デバイスは、推論された情報に従って、それぞれの意図タイプを更新する。
【0028】
いくつかの実装形態では、電子デバイスは、それぞれの出力仕様を生成する。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択されたそれぞれの推奨されるデータ視覚化タイプを含む。それぞれの出力仕様はまた、(1)推論された情報を含み、かつ(2)それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む。
【0029】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む。
【0030】
いくつかの実装形態では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、(1)それぞれの意図タイプについてのそれぞれの意図仕様に対応するデータプロパティのセットを識別することと、(2)要求がデータプロパティのセットの各データプロパティの属性を指定するかどうかを判定することと、を更に含む。いくつかの実装形態では、要求がデータプロパティのセット内のデータプロパティの2つ以上の属性を指定しているときに、電子デバイスは、それぞれの意図タイプが曖昧であると判定する。いくつかの実装形態では、要求がデータプロパティのセット内の少なくとも1つのデータプロパティの属性を指定していないときに、電子デバイス102は、それぞれの意図タイプが情報不足であると判定する。
【0031】
いくつかの事例では、要求がデータプロパティのセットの各データプロパティについて厳密に1つの属性を指定しているという判定に従って、電子デバイスは、それぞれの意図タイプが完全に指定されていると確立する。
【0032】
いくつかの実装形態では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、それぞれの意図タイプが曖昧であることを確立することと、数量の数値を推論することと、を更に含む。
【0033】
いくつかの実装形態では、それぞれの意図タイプは、フォーカス戦略プロパティを有するフォーカス意図である。情報不足の意図を解決するために情報を推論することは、要求が「フィルタ」、「強調表示」、及び「ズーム」からなる群から選択される第1の用語を含まないという判定に従って、デフォルトフォーカス戦略として強調表示戦略を選択することを更に含む。
【0034】
いくつかの事例では、デフォルト戦略として強調表示戦略を選択することは、(1)データソースのデータテーブルからのデータ行を、データテーブル内のデータフィールドのデータ値に従って、昇順又は降順に並べるソート動作を実行することと、(2)データ値のランキングに基づいて指定された数のデータ値を強調表示する強調表示動作を実行することと、を更に含む。
【0035】
いくつかの実装形態では、それぞれの意図タイプは、フィールドプロパティを有するフォーカス意図である。情報不足の意図を解決するために情報を推論することは、要求がデータフィールドを指定していないという判定に従って、テキストデータタイプを有し、かつ要求において指定された数量以上のドメインを有するデータフィールドをデータソースから選択することを更に含む。
【0036】
いくつかの実装形態では、それぞれの意図タイプは、フィールドプロパティを有するフォーカス意図である。情報不足の意図を解決するために情報を推論することは、データソースがテキストデータタイプ、及び指定された数量以上のドメインを有するデータフィールドを含まないという判定に従って、ドメインが要求において指定されたデータ値を含むデータフィールドをデータソースから選択することを更に含む。
【0037】
いくつかの実装形態では、それぞれの意図タイプは、フォーカス意図である。方法は、要求が価格の形容詞を含むという判定に従って、データソースが通貨フィールドタイプを有するデータフィールドを含むかどうかを判定することを更に含む。データソースが通貨フィールドタイプを有するデータフィールドを含むという判定に従って、電子デバイスは、データフィールドに対してソート動作を実行する。データソースが通貨フィールドタイプを有するデータフィールドを含まないという判定に従って、電子デバイスは、データソース内の全ての数値データフィールドを識別し、数値データフィールドの各々に対してそれぞれのソート動作を実行する。
【0038】
いくつかの実装形態では、データソースのメタデータは、データフィールドのセマンティクス、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む。
【0039】
いくつかの事例では、データフィールドタイプは、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む。
【0040】
いくつかの実装形態では、それぞれの意図タイプは、グループ化フィールド及びビンサイズを含むグループ化プロパティを有する分布意図である。情報不足の意図を解決するために情報を推論することは、要求がグループ化フィールドを指定していないという判定に従って、(1)数量依存フィールドタイプ、数量非依存フィールドタイプ、又は通貨フィールドタイプを有するデータソース内の全てのデータフィールドを識別することと、(2)識別されたデータフィールドの各々をグループ化フィールドの推論された情報として指定することと、を更に含む。
【0041】
いくつかの事例では、要求がビンサイズを指定しているという判定に従って、電子デバイスは、メタデータ内のビンサイズ情報を、指定されたビンサイズに置き換える。
【0042】
いくつかの実装形態では、意図タイプは、測定データフィールド及び日付データフィールドを含む傾向プロパティを有する傾向意図である。情報不足の意図を解決するために情報を推論することは、要求が測定データフィールドを含まないという判定に従って、(1)データソース内の全ての数量依存フィールドを識別することと、(2)数量依存フィールドの各々を測定データフィールドの推論された情報として指定することと、を更に含む。情報不足の意図を解決するために情報を推論することは、要求が時間フィールドタイプを有するデータフィールドを含まないという判定に従って、(1)データソース内の全ての時間データフィールドを識別することと、(2)時間データフィールドの各々を日付データフィールドの推論された情報として指定することと、を更に含む。
【0043】
いくつかの実装形態では、意図タイプは、2つの数値データフィールドを相関させるための相関意図である。情報不足の意図を解決するために情報を推論することは、(1)要求が1つの数値データフィールドのみを指定しているときに、データソースからの全ての数値データフィールドから第2のデータフィールドの使用を推論することと、(2)要求が数値データフィールドを指定していないときに、データソースからの全ての数値データフィールドから第1のデータフィールド及び第2のデータフィールドの使用を推論することと、を更に含む。
【0044】
いくつかの実装形態では、方法は、以前の要求からのコンテキスト、以前の要求において識別されたデータフィールド、以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論することを更に含む。
【0045】
いくつかの実装形態によれば、方法は、第1のアプリケーションを実行している電子デバイスにおいて行われる。電子デバイスは、1つ以上のプロセッサ、及びメモリを含む。メモリは、1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶する。電子デバイスは、電子デバイスと通信可能に接続されたサーバシステムから、第1のアプリケーションを含む複数のアプリケーションにわたって実行するように構成されている視覚分析意図ライブラリをダウンロードする。電子デバイスは、電子デバイスが第1のアプリケーションを実行していることに基づいて、電子デバイス上で実行するように視覚分析意図ライブラリを設定する。設定後、電子デバイスは、データソースに向けられた要求を受信する。要求は、1つ以上の意図タイプを含む。意図タイプの各々は、データソースに向けられたデータ分析動作の事前定義されたセットから選択される。要求は、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する。要求に従って、1つ以上の意図タイプの各々について、電子デバイスは、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、視覚分析意図ライブラリに従って、それぞれの意図仕様を定式化する。
【0046】
いくつかの実装形態では、電子デバイスは、第1のデバイスタイプを有する。いくつかの実装形態では、視覚分析意図ライブラリは、第1のデバイスタイプを含む複数のデバイスタイプにわたって実行するように構成されている。
【0047】
いくつかの実装形態では、意図タイプの各々について、それぞれの意図仕様を定式化した後、電子デバイスは、視覚分析意図ライブラリに従って、それぞれの出力仕様を生成する。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択されたそれぞれの推奨されるデータ視覚化タイプを含む。それぞれの出力仕様はまた、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む。
【0048】
いくつかの実装形態では、1つ以上のそれぞれのデータ視覚化パラメータは、データ整形情報、符号化情報、及び/又は意図仕様に対応する識別子を含む。
【0049】
いくつかの実装形態では、1つ以上の意図タイプの各々についてそれぞれの出力仕様を生成した後、電子デバイスは、(i)1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、要求に応答してデータ分析を視覚的にレンダリングする。
【0050】
いくつかの実装形態では、要求に応答してデータ分析を視覚的にレンダリングすることは、第1のデバイスタイプを有する電子デバイスに更に従う。
【0051】
いくつかの事例では、1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様は、第1の意図タイプに対応し、かつ推論された情報を有する第1の出力仕様を含む。データ分析を視覚的にレンダリングすることは、第1のアプリケーションにおいて推論された情報を表示することを更に含む。
【0052】
いくつかの事例では、電子デバイスは、推論された情報が修正されることを可能にするデータウィジェットを表示する。電子デバイスは、データウィジェットとのユーザ対話を受信する。ユーザ対話に応答して、電子デバイスは、第1の意図仕様を編集する。電子デバイスは、編集された第1の意図仕様に従って、第1の出力仕様を更新する。電子デバイスは、更新された第1の出力仕様及び第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、更新されたデータ分析を生成し、視覚的にレンダリングする。
【0053】
いくつかの実装形態では、電子デバイスは、音声アシスタントデバイスである。方法は、それぞれの出力仕様を生成した後、(1)それぞれの出力仕様をそれぞれの口語的応答に変換することと、(2)それぞれの口語的応答を出力することと、を更に含む。
【0054】
いくつかの事例では、それぞれの出力仕様は、推論された情報を含む。それぞれの口語的応答を出力することは、推論された情報の口語的説明を出力することを含む。
【0055】
いくつかの実装形態では、第1のアプリケーションは、グラフィカルユーザインターフェースを含む。方法は、グラフィカルユーザインターフェースを介して、1つ以上の意図タイプの識別を含め、要求を受信することを更に含む。
【0056】
いくつかの事例では、電子デバイスは、それぞれの出力仕様に従って、それぞれのデータ視覚化を生成する。電子デバイスは、グラフィカルユーザインターフェース上にデータ視覚化を表示する。
【0057】
いくつかの実装形態では、第1のアプリケーションは、メッセージングアプリケーションである。方法は、それぞれの出力仕様を生成した後、(1)視覚的仕様をテキスト出力に変換することと、(2)メッセージングアプリケーションにおいてテキスト出力を表示することと、を更に含む。
【0058】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む。
【0059】
いくつかの実装形態では、要求を受信する前に、電子デバイスは自然言語コマンドを受信する。電子デバイスは、要求を形成するために、視覚的意図仕様言語に従って、自然言語コマンドを解析する。
【0060】
いくつかの事例では、電子デバイスは、解析に従って、1つ以上の意図タイプが「時間」という用語又は「傾向」という用語を有する自然言語コマンドに従って、傾向意図タイプを含むと判定する。
【0061】
いくつかの事例では、電子デバイスは、解析に従って、1つ以上の意図タイプが、測定可能な形容詞を有する自然言語コマンドに従って、フォーカス意図タイプを含むと判定する。
【0062】
いくつかの実装形態では、方法は、第1の意図仕様を要求において定式化された意図仕様と相関させることによって、以前の要求から定式化された第1の意図仕様を更新することを更に含む。
【0063】
いくつかの事例では、以前の要求は、データソースからの第1のデータフィールドを含む。要求は、第1のデータフィールドをデータソースからの第2のデータフィールドで置換することを指定する。第1の意図仕様を更新することは、第1のデータフィールドを第2のデータフィールドで置き換えることを含む。
【0064】
いくつかの実装形態では、電子デバイスは、1つ以上のプロセッサ、メモリ、及びメモリに記憶された1つ以上のプログラムを含む。プログラムが、1つ以上のプロセッサによって実行されるように構成されている。1つ以上のプログラムは、本明細書に記載の方法のいずれかを行うための命令を含む。
【0065】
いくつかの実装形態では、非一時的なコンピュータ可読記憶媒体は、1つ以上のプロセッサ及びメモリを有する電子デバイスによって実行されるように構成されている1つ以上のプログラムを記憶する。1つ以上のプログラムは、本明細書に記載の方法のいずれかを行うための命令を含む。
【0066】
したがって、ユーザ意図をキャプチャし、情報不足又は曖昧な意図を推論し、効果的な出力を提案する方法、システム、及びユーザインターフェースが開示される。
【図面の簡単な説明】
【0067】
前述のシステム、方法、及びグラフィカルユーザインターフェース、並びにデータ視覚化分析を提供する追加のシステム、方法、及びグラフィカルユーザインターフェースをよりよく理解するために、以下の図面と併せて、下記の発明を実施するための形態を参照されたい。図面において、同様の参照番号は図全体を通して対応する部分を指している。
図1】いくつかの実装形態による、視覚分析意図言語を適用することによってデータ視覚化を生成するプロセスを概念的に例示する。
図2】いくつかの実装形態による、電子デバイスのブロック図である。
図3】いくつかの実装形態による、サーバシステムのブロック図である。
図4】いくつかの実装形態による、視覚分析意図システムを例示する。
図5】いくつかの実装形態による、いくつかのVAILタームを定義するためのBNF(Backus-Naur Form)生成を提供する。
図6】いくつかの実装形態による、意図仕様を定義するためのBNF生成を提供する。
図7】いくつかの実装形態による、データセマンティクスを定義するためのBNF生成を提供する。
図8】いくつかの実装形態による、出力仕様を定義するためのBNF生成を提供する。
図9】いくつかの実装形態による、意図仕様を編集するためのBNF生成を提供する。
図10】いくつかの実装形態による、情報不足のフォーカス意図を解決するために情報を推論するためのBNF生成を提供する。
図11】いくつかの実装形態による、情報不足の相関意図を解決するために情報を推論するためのBNF生成を提供する。
図12】いくつかの実装形態による、情報不足の分布意図を解決するために情報を推論するためのBNF生成を提供する。
図13】いくつかの実装形態による、情報不足の傾向意図を解決するために情報を推論するためのBNF生成を提供する。
図14A】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14B】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14C】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14D】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14E】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14F】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14G】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14H】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14I】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図14J】いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
図15】いくつかの実装形態による、VAILを使用するSlackbotアプリケーションのシステム概要1500を提供する。
図16A】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16B】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16C】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16D】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16E】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16F】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図16G】いくつかの実装形態による、Slackチャットボットための一連のスクリーンショットを提供する。
図17A】いくつかの実装形態による、ディスプレイスクリーン1700を含む音声アシスタントデバイスとの対話のための一連のスクリーンショットを提供する。
図17B】いくつかの実装形態による、ディスプレイスクリーン1700を含む音声アシスタントデバイスとの対話のための一連のスクリーンショットを提供する。
図17C】いくつかの実装形態による、ディスプレイスクリーン1700を含む音声アシスタントデバイスとの対話のための一連のスクリーンショットを提供する。
図18A】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図18B】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図18C】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図18D】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図18E】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19A】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19B】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19C】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19D】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19E】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19F】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図19G】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20A】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20B】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20C】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20D】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20E】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
図20F】いくつかの実装形態による、電子デバイスにおいて行われる方法のフローチャートを提供する。
【0068】
ここで実装形態を参照し、その例を添付の図面に例示する。以下の説明では、本発明の完全な理解を提供するために、多数の特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細なしに実施され得ることは当業者には明らかであろう。
【発明を実施するための形態】
【0069】
視覚分析ツールは、データ探索をよりアクセス可能かつ知的にすることをますます試みている。これらのツールにおける意図の表現は、より微妙になっており、より抽象的で高レベルの分析問い合わせを可能にしている。本開示は、表現型視覚分析ツールの開発をサポートするための視覚分析意図言語(VAIL)を記載する。
【0070】
VAILは、開発者が視覚分析アプリケーションに組み込んで、表現型高レベルの意図を低レベルの表現に翻訳することができる分析意図のためのセマンティクスをカプセル化する言語である。VAILは、視覚分析アプリケーションのための抽象化の一般的な層として機能することができる。
【0071】
VAILは、意図、データセマンティクス、及び出力を記載する仕様を含み、これらは、意図を編集し、情報不足(例えば、省略された情報)又は曖昧な(例えば、漠然とした)意図を推論し、所与の意図仕様に対して有効な出力を提案するためのルールと組み合わされる。VAILは、開発者が自身の視覚分析アプリケーションにおいて意図を管理し表現するのを助ける。
【0072】
本開示では、「VAIL」、「VAILエンジン」、及び「視覚分析意図システム」という用語は、互換的に使用される。
【0073】
I.環境
本開示のいくつかの実装形態は、図1に示すように、VAILを適用することによってデータ視覚化を生成する。本開示のいくつかの実装形態によれば、VAILは、サーバ(例えば、サーバシステム300)からダウンロードされ、電子デバイス102上で(例えば、VAILエンジンとも呼ばれる視覚分析意図システム230として)実行されるように構成され得る。視覚分析意図システム230は、電子デバイス102上で実行している他の視覚分析アプリケーションと併せて使用される。
【0074】
図1は、VAILが、電子デバイス102-1、ディスプレイスクリーンを有するモバイル電子デバイス102-2(例えば、モバイルフォン、スマートウォッチ、又はタブレット)などの複数の電子デバイス102上で、及び(例えば、ディスプレイスクリーンを有する又は有さない)音声アシスタントデバイス102-3上で実行され得ることを例示する。この例では、電子デバイス102の各々は、別個のデバイスタイプを有し、それぞれの視覚分析アプリケーションを含む。例えば、コンピューティングデバイス102-1は、データ視覚化ユーザインターフェース104(例えば、グラフィカルユーザインターフェース)を有するデータ視覚化アプリケーションを含む。電子デバイス102-2は、チャットアプリケーション106を含む。音声アシスタントデバイス102-3は、ユーザから音声入力108を受信する音声アシスタントアプリケーションを含む。いくつかの実装形態では、VAILはまた、視覚分析のために推奨システム又は他のスマートツール上で使用され得る。
【0075】
例示的な使用シナリオでは、VAILを実行する電子デバイス102は、電子デバイス102上のアプリケーション(例えば、データ視覚化アプリケーション、チャットアプリケーション、又は音声アシスタントアプリケーションなどのクライアントアプリケーション224)から、データソース110に向けられた要求を受信する(112)。要求に従って、電子デバイス102は、意図タイプの各々について、それぞれの意図仕様を(例えば、VAILを使用して)定式化する(114)。本明細書で開示されるように、VAILは、それぞれの意図タイプを有するそれぞれの意図仕様のためのデータプロパティのセットを定義する。VAILはまた、意図を編集するための、及び曖昧又は情報不足の意図を推論するためのルールを定義する。VAILによって確立されたルールを適用することによって、電子デバイス102は、意図タイプが曖昧及び/又は情報不足であるかどうかを判定することができる(116)。例えば、電子デバイス102は、要求がデータプロパティのセットにおけるデータプロパティに対して複数の属性を指定しているとき、又は要求が「上位」又は「最良」などの漠然とした修飾子を含むときに、それぞれの意図タイプが曖昧であると判定することができる。別の例として、電子デバイス102は、要求がデータプロパティのセットにおける少なくとも1つのデータプロパティに対して属性を指定していないときに、それぞれの意図タイプが情報不足であると判定することができる。いくつかの実装形態では、意図タイプが曖昧又は情報不足であるという判定に従って、VAILは、1つ以上のルール、要求において指定されたデータソース及び/又はデータフィールドのメタデータに従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する。
【0076】
図1は、いくつかの実装形態では、電子デバイス102が、意図タイプに対応する1つ以上のそれぞれの出力仕様を生成する(118)ことを描写する。VAILは、複数の可能な出力を記載するための汎用仕様を有する。例えば、出力仕様は、それぞれの推奨されるデータ視覚化タイプと、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する符号化及びデータ整形パラメータなどの1つ以上のそれぞれのデータ視覚化パラメータとを含むことができる。それぞれの意図タイプが情報不足又は曖昧であり、情報が推論されている場合、出力仕様は推論された情報を含む。いくつかの実装形態では、それぞれの出力仕様が生成された後、電子デバイス102は、それぞれの出力仕様を、VizQL若しくはVega-Liteなどの視覚的文法に、又はテキスト若しくはオーディオなどの非視覚的形態に変換することができる(120)。
【0077】
図1はまた、要求に応答してデータ分析をレンダリングする電子デバイスを例示する。例えば、コンピューティングデバイス102-1は、要求に応答して、データ視覚化ユーザインターフェース104内にデータ視覚化122(例えば、棒グラフ)を表示する。電子デバイス102-2は、クエリ「昨年の売上はどうでしたか?」に応答して、2つの線グラフを含む視覚化124を表示する。いくつかの実装形態では、視覚化124は、チャットアプリケーション上での表示に適合するようにするためにデータ視覚化モジュールによって生成される画像ファイル(例えば、.jpg又は.tifなどの画像ファイルフォーマットを有する)である。図1はまた、音声入力108に応答して口語的(例えば、オーディオ)応答126を出力する音声アシスタントデバイス102-3を示す。いくつかの実装形態では、口語的応答126は、情報不足及び/又は曖昧な用語がどのように解釈されたかの説明を含むことができる(例えば、「最良」は最高RPポイントを有するものとして解釈される)。いくつかの実装形態では、電子デバイス102はまた、ユーザの意図を更に明確にするために、追加の質問又はプロンプトに従う。
【0078】
II.ブロック図
図2は、いくつかの実装形態に従って、電子デバイス102を例示するブロック図である。いくつかの実装形態では、電子デバイス102は、コンピューティングデバイスとしても知られている。電子デバイス102の様々な例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、ディスプレイアシスタントデバイス、モバイルフォン、及び音声アシスタントデバイスを含む。
【0079】
電子デバイス102は、典型的には、1つ以上の処理ユニット(プロセッサ又はコア)202、1つ以上のネットワーク又は他の通信インターフェース204、メモリ216、及びこれらの構成要素を相互接続するための1つ以上の通信バス205を含む。いくつかの実装形態では、通信バス205は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。
【0080】
電子デバイス102は、通信インターフェース206を含む。ユーザインターフェース206は、オプションで、ディスプレイ208を含む。いくつかの実装形態では、電子デバイス102は、キーボード、マウス、及び/又は他の入力ボタン210などの入力デバイスを含む。代替的又は追加的に、いくつかの実装形態では、ディスプレイ208はタッチ感知面を含み、その場合、ディスプレイ208は、タッチ感知ディスプレイである。いくつかの実装形態では、タッチ感知面は、様々なスワイプジェスチャ(例えば、垂直方向及び/又は水平方向の連続ジェスチャ)及び/又は他のジェスチャ(例えば、シングル/ダブルタップ)を検出するように構成されている。タッチ感知ディスプレイ208を有する電子デバイスでは、物理キーボードはオプションである(例えば、キーボード入力が必要なときにソフトキーボードが表示され得る)。ユーザインターフェース206はまた、スピーカ、又はスピーカ、イヤホン、若しくはヘッドホンに接続されるオーディオ出力接続などのオーディオ出力デバイス214を含む。更に、いくつかの電子デバイスは、キーボードを補足又は交換するためにマイクロホン及び音声認識を使用する。いくつかの実装形態では、電子デバイス102は、オーディオ(例えば、ユーザからの音声)をキャプチャするためのオーディオ入力デバイス214(例えば、マイクロホン)を含む。
【0081】
いくつかの実装形態では、メモリ216は、DRAM、SRAM、DDR RAM、又は他のランダムアクセス固体メモリデバイスなどの高速ランダムアクセスメモリを含む。いくつかの実装形態では、メモリ216は、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性固体記憶デバイスなどの不揮発性メモリを含む。いくつかの実装形態では、メモリ216は、プロセッサ202からリモートに位置する1つ以上の記憶デバイスを含む。メモリ216、又は代替的にメモリ216内の不揮発性メモリデバイスは、非一時的なコンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ216、又はメモリ206のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセット若しくはスーパーセットを記憶する。
●様々な基本システムサービスを扱い、ハードウェア依存タスクを行うための手順を含む、オペレーティングシステム218。
●通信モジュール220。電子デバイス102を他のコンピュータ及びデバイスに接続するために使用され、これは1つ以上の通信ネットワークインターフェース204(有線又は無線)及び1つ以上の通信ネットワーク、例えばインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどのような通信ネットワークを介して行われる。
●ユーザがネットワークを用いて遠隔のコンピュータ又はデバイスと通信することを可能にするウェブブラウザ222(又は他のクライアントアプリケーション)。
●チャットアプリケーション、メッセージングアプリケーション、データ視覚化アプリケーション、音声アシスタントアプリケーション、及び/又は視覚分析のための他のアプリケーションなどの1つ以上のクライアントアプリケーション224。いくつかの実装形態では、クライアントアプリケーション224は、ユーザが視覚グラフィックス(例えば、個々のデータ視覚化又は複数の関連するデータ視覚化を備えたダッシュボード)を構築するか、又は意図タイプを入力するためのグラフィカルユーザインターフェース(graphical user interface、GUI)を提供する。いくつかの実装形態では、クライアントアプリケーション224は、ユーザが自然言語コマンド又はクエリを入力するための自然言語ユーザインターフェースを含む。いくつかの実装形態では、クライアントアプリケーション224は、ユーザが口語的コマンドを入力するための音声アシスタントインターフェースを含む。いくつかの実装形態では、クライアントアプリケーション224は、スタンドアロンアプリケーションとして実行する。いくつかの実装形態では、クライアントアプリケーション224は、ウェブブラウザ222内で(例えば、ウェブアプリケーション322として)実行する。いくつかの実装形態では、クライアントアプリケーション224は、ユーザ入力(例えば、自然言語入力)を使用して、又は視覚分析意図システム230によって提供される出力仕様236に従って、対応する視覚グラフィック(「データ視覚化」又は「データビズ」とも呼ばれる)を自動的に生成及び表示する、データ視覚化生成器を含む。いくつかの実装形態では、クライアントアプリケーションは、ユーザ選択可能なオプションを含むウィジェットを生成するウィジェットジェネレータを含む。例えば、「sort(並べ替え)」ウィジェットは、ユーザが並べ替えフィールド(例えば、並べ替えフィールドとして識別される自然言語用語)上で選択(例えば、ホバリング)することに応答して生成される。並べ替えウィジェットは、「ascending(昇順)」、「descending(降順)」、及び/又は「alphabetical(アルファベット順)」などのユーザが選択可能なオプションを含み、ユーザは、ウィジェットから選択したフィールドをどのように並べ替えるのかを容易に選択することができる。
●自然言語コマンドを(例えば、トークンに)解析するためのパーサ226。いくつかの実装形態では、パーサ226は、ストップワード及び見出語化を除去してトークンを返す。いくつかの実装形態では、パーサ226は、視覚分析意図言語(VAIL)に従って自然言語コマンドを解析して、視覚分析意図システム230への要求を形成する。いくつかの実装形態では、電子デバイス102は、解析に従って、意図タイプ229を判定する。
●出力仕様236を視覚形態(例えば、VizQL又はVega-lite)又は非視覚形態(例えば、テキスト又はオーディオ)に変換するためのコンバータ228。
●ユーザ意図のタイプを識別する意図タイプ229。いくつかの実装形態では、意図タイプ229は、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む。
●以下を含む視覚分析意図システム230(例えば、VAILエンジン)。
○視覚分析意図システム230によって定式化される1つ以上の意図仕様234。意図仕様234は、ユーザによって表現された1つ以上の異なるタイプの意図に関する情報をキャプチャする。いくつかの実装形態では、意図仕様234は、意図仕様に対応する意図タイプ、一意の識別子、及び(例えば、意図タイプに対応する)プロパティのセットを含む。いくつかの実装形態では、視覚分析意図システム230は、(例えば、クライアントアプリケーション224からの)要求に従って、それぞれの意図仕様を定式化する。いくつかの実装形態では、それぞれの意図仕様を定式化することは、事前定義された属性及び/又は要求において指定されたデータソース110からのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む。いくつかの実装形態では、それぞれの意図仕様を定式化することは、(例えば、VAILエンジンによって定義された1つ以上のルールを適用することによって)1つ以上のプロパティを推論することを含む。
○視覚分析意図システム230によって生成される1つ以上の出力仕様236。いくつかの実装形態では、視覚分析意図システム230は、要求に含まれる各意図タイプに対して1つ以上の出力仕様236を生成する。
○意図仕様を追加、修正、又は削除するための意図編集サブシステム238。
○それぞれの意図タイプに対応する1つ以上のルールに従って、情報不足又は曖昧な意図を推論するための推論意図サブシステム240。いくつかの実装形態では、意図推論サブシステム240は、データソースに関するメタデータ(例えば、データセマンティクス)246(例えば、データソースに対応するデータテーブルのメタデータ)及び/又は要求において指定されたデータフィールドのメタデータを活用して、情報不足及び/又は曖昧な意図を推論する。
○指定された意図に対して有効な出力を提案するための出力提案サブシステム242。いくつかの実装形態では、VAILは、意図タイプを出力仕様における情報に変換するためのルールを定義する。
○出力仕様236をモダリティに変換するための出力変換サブシステム244。視覚分析意図システム230及びその使用の更なる詳細は、図4図17に記載される。
●アプリケーション224及び/又はデータ視覚化アプリケーション230によって使用される、0個以上のデータベース又はデータソース110(例えば、第1のデータソース110-1)。いくつかの実装形態では、データソースは、スプレッドシートファイル、CSVファイル、XMLファイル、フラットファイル、JSONファイル、リレーショナルデータベースのテーブル、クラウドデータベース、又は統計データベースとして記憶され得る。
●情報不足及び/又は曖昧な意図を推論するために視覚分析意図システム230によって使用される、データソースのメタデータ/データセマンティクス246(例えば、第1のデータソースに対応するメタデータ/データセマンティクス246-1)。いくつかの実装形態では、データソースのメタデータ246は、データフィールドのセマンティクス、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む。データソースのデータフィールドのセマンティクス、又はデータセマンティクスは、ユーザが対話しているデータの特定のセットを記載する。これは、フィールド、それらの役割、及び要約統計のリストを含む。いくつかの実装形態では、データセマンティクスは、視覚分析意図システム230が意図をより良く推論することを可能にするために、データベースから取り出されるか、又はユーザによってキュレートされ得る。いくつかの実装形態では、メタデータ246は、曖昧な及び/又は情報不足の意図を推論し、出力を提案するために、意図推論サブシステム240及び出力提案サブシステム242によって活用される。
●1つ以上のアプリケーション(例えば、ウェブブラウザ222、クライアントアプリケーション224、及び視覚分析意図システム230)からAPIコールを受信し、APIコールを適切なアクションに翻訳し、1つ以上のアクションを行うためのAPI248。
【0082】
上述の識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、1つ以上の上述のメモリデバイスに記憶され得、上述の機能を行うための命令のセットに対応する。上記の識別されたモジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、又は別様に再配置され得る。いくつかの実装形態では、メモリ216は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。いくつかの実装形態では、メモリ216は、上述されていない追加のモジュール又はデータ構造を記憶する。
【0083】
図2は、電子デバイス102を示しているが、図2は、本明細書に記載される実装形態の構造的概略としてではなく、むしろ存在し得る様々な特徴の機能的説明としてより意図されている。実際には、当業者によって認識されるように、別々に示された項目を組み合わせることが可能であり、いくつかの項目は分離することができる。
【0084】
図3は、いくつかの実装形態に従う、例示的なサーバシステム300を例示するブロック図である。いくつかの実装形態では、サーバシステム300は、データ視覚化サーバである。いくつかの実装形態では、サーバシステム300は、1つ以上のライブラリ322、1つ以上のデータベース/データソース110、及び/又はデータソースに対応するメタデータ246をホストし得る。いくつかの実装形態では、サーバシステム300は、様々な実行可能アプリケーション又はモジュールを提供し得る。サーバシステム300は、典型的には、1つ以上の処理ユニット/コア(CPU)302と、1つ以上の通信ネットワークインターフェース304と、メモリ314と、これらの構成要素を相互接続するための1つ以上の通信バス312と、を含む。いくつかの実装形態では、サーバシステム300は、ディスプレイデバイス308とキーボード及びマウスなどの1つ以上の入力デバイス310と、を含む、ユーザインターフェース306を含む。いくつかの実装形態では、通信バス312は、システムコンポーネント間の通信を相互接続及び制御する回路(チップセットと称されることがある)を含んでもよい。
【0085】
いくつかの実装形態では、メモリ314は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含んでもよい。いくつかの実装形態では、メモリ314は、CPU302から遠隔に位置する1つ以上の記憶デバイスを含む。メモリ314、又は代替的にメモリ314内の不揮発性メモリデバイスは、非一時的なコンピュータ可読記憶媒体を含む。
【0086】
いくつかの実装形態では、メモリ314、又はメモリ314のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。
●様々な基本システムサービスを扱い、ハードウェア依存タスクを行うための手順を含む、オペレーティングシステム316。
●1つ以上の通信ネットワークインターフェース304(有線又は無線)及びインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどのような1つ以上の通信ネットワークを介して、サーバシステム他のコンピュータ又は電子デバイス(例えば、電子デバイス102)に接続するために使用されるネットワーク通信モジュール318。
●ユーザからウェブ要求を受信し、応答ウェブページ又は他のリソースを提供することによって応答する、ウェブサーバ320(HTTPサーバなど)。
●ライブラリ322。いくつかの実装形態では、ライブラリ322は、電子デバイス102上にダウンロードされ、(例えば、視覚分析意図システム230又はVAILとして)使用するために構成され得る、視覚分析意図ライブラリ323を含む。
●意図タイプ229。
●ユーザの電子デバイス102上のウェブブラウザ428によってダウンロード及び実行され得るデータ視覚化ウェブアプリケーション324。一般に、データ視覚化ウェブアプリケーション324は、デスクトップデータ視覚化アプリケーション(例えば、データ視覚化ユーザインターフェース104を含むデータ視覚化アプリケーション)と同じ機能を有し、本出願が参照により組み込まれる特許出願に記載されているが、ネットワーク接続性を有する任意の場所にある任意のデバイスからのアクセスの柔軟性を提供し、インストール及び保守を必要としない。いくつかの実装形態では、データ視覚化ウェブアプリケーション324は、特定のタスクを行うための様々なソフトウェアモジュールを含む。いくつかの実装形態では、ウェブアプリケーション324は、ウェブアプリケーション324の全ての態様に対してユーザインターフェースを提供するユーザインターフェースモジュール326を含む。いくつかの実装形態では、ウェブアプリケーション324はデータ取り出しモジュール328を含み、それは、クエリをビルド及び実行して、1つ以上のデータソース110からデータを取り出す。データソース110は、サーバシステム300上にローカルに記憶されるか、又は外部データベースに記憶され得る。いくつかの実装形態では、2つ以上のデータソースからのデータが混合され得る。いくつかの実装形態では、データ取り出しモジュール328は、視覚的仕様344を使用してクエリをビルドする。いくつかの実装形態では、データ視覚化ウェブアプリケーション324はまた、データ視覚化コンパイラ及びデータ視覚化仮想マシン(図示せず)を含む。
●自然言語入力機能を含むコンピュータシステム又は電子デバイス102によって提供されるクエリを受信及び解析する自然言語処理インターフェース330。いくつかの実装形態では、クエリは、電子デバイス102のユーザによって(例えば、チャットアプリケーション106を介して)提供される自然言語入力を含む。いくつかの実装形態では、自然言語処理インターフェース330は、集計表現、グループ表現、フィルタ表現、制限表現、及び/又はソート表現などの分析表現332を識別し得る。
●自然言語処理モジュール162はまた、依存性判定モジュール334を含んでもよく、これは、データベース/データソース110における依存関係を検索して、特定の用語及び/又はフレーズがどのように関連しているか(例えば、依存)を判定する。
●いくつかの実装形態では、自然言語処理インターフェース162は、1つ以上のフィルタがユーザによって修正されたフィールドに関連しているかどうかを判定するフィルタ生成モジュール532を含む。フィルタ生成モジュール532は、ユーザ選択に基づいて1つ以上のフィルタを生成する。
●以下を含むデータ視覚化プラットフォーム338。
○ユーザ入力(例えば、自然言語入力)を使用して、対応する視覚的グラフィック(「データ視覚化」又は「データビズ」とも称される)を自動的に生成及び表示するデータ視覚化生成モジュール340。
○データ視覚化の表現を生成し、生成された表現を電子デバイス102に送信する視覚表現生成モジュール342(オプション)。いくつかの実装形態では、データ視覚化の表現は、データ視覚化の画像ファイルである(例えば、画像ファイルは、.png、.tiff、又は.jpgファイルである)。いくつかの実装形態では、データ視覚化の表現は、画像へのリンクを含む。いくつかの実装形態では、データ視覚化の表現は、データ視覚化へのリンク(例えば、URLリンク)である。
○所望のデータ視覚化の特性を定義するために使用される視覚的仕様346。いくつかの実装形態では、電子デバイス102が提供する情報(例えば、ユーザ入力)は、視覚的仕様として記憶される。いくつかの実装形態では、視覚的仕様346は、ユーザから受信した以前の自然言語コマンド、又は自然言語コマンドを介してユーザによって指定されたプロパティを含む。いくつかの実装形態では、視覚的仕様346は、異なる詳細レベルに基づく2つ以上の集計を含む。
●0個以上のデータベース又はデータソース110。いくつかの実装形態では、データソースは、スプレッドシートファイル、CSVファイル、XMLファイル、フラットファイル、若しくはJSONファイルとして格納されるか、又はリレーショナルデータベースに記憶される。例えば、ユーザは、1つ以上のデータベース又はデータソース110(サーバシステム300に記憶されるか、又はリモートに記憶され得る)を選択し、データソースからデータフィールドを選択し、選択されたフィールドを使用して視覚的グラフィックを定義する。
●情報不足及び/又は曖昧な意図を推論するためにサーバシステム300によって使用される、データソースのメタデータ/データセマンティクス246(例えば、第1のデータソースに対応するメタデータ/データセマンティクス246-1)。いくつかの実装形態では、データソースのメタデータ246は、データフィールドのセマンティクス、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む。
●APIコールを受信し、APIコールを適切なアクションに翻訳し、1つ以上のアクションを行うためのAPI348。
【0087】
いくつかの実装形態では、サーバシステム300は、1つ以上の推論ルールを使用して、データベース又はデータソース110に向けられた情報不足(例えば、省略された情報)又は曖昧な(例えば、漠然とした)自然言語コマンド(例えば、表現又は発話)を解決するために使用される推論モジュール(図示せず)を更に含む。いくつかの実装形態では、1つ以上の推論ルールは、視覚的分析意図言語(VAIL)に従って定義される。
【0088】
いくつかの実装形態では、正準表現が分析表現332に割り当てられ(例えば、自然言語処理モジュール330によって)、自然言語クエリに固有の曖昧な構文解析の急増の問題に対処する。正準構造は、パーサの観点から明確であり、自然言語処理モジュール330は、複数の構文解析間で迅速に選択して中間表現を形成することができる。
【0089】
上述の識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、1つ以上のメモリデバイスに記憶され得、上述の機能を行うための命令のセットに対応する。上記の識別されたモジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、又は別様に再配置され得る。いくつかの実装形態では、メモリ314は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。いくつかの実装形態では、メモリ314は、上述されていない追加のモジュール又はデータ構造を記憶する。
【0090】
図3は、サーバシステム300を示しているが、図3は、本明細書に記載される実装形態の構造的概略としてではなく、存在し得る様々な特徴の機能的説明としてより意図されている。実際には、当業者によって認識されるように、別々に示された項目を組み合わせることが可能であり、いくつかの項目は分離することができる。加えて、サーバ300に関して上に示したプログラム、機能、手順、又はデータのいくつかは、コンピューティングデバイス102上に記憶又は実行され得る。いくつかの実装形態では、機能及び/又はデータは、コンピューティングデバイス200と1つ以上のサーバ300との間で割り当てられ得る。更に、当業者は、図3が単一の物理デバイスを表す必要がないことを認識している。いくつかの実装形態では、サーバ機能は、サーバシステムを含む複数の物理デバイスにわたって割り当てられる。本明細書で使用される場合、「サーバ」又は「データ視覚化サーバ」への言及は、説明された機能を提供するサーバの様々なグループ、集まり、又は配列を含み、物理サーバは物理的に併置される必要はない(例えば、個々の物理デバイスは米国全体又は世界中に広がり得る)。
【0091】
III.視覚分析意図システム
図4は、いくつかの実装形態による、視覚分析意図システム230(例えば、VAILエンジン)及びクライアントアプリケーションへの接続を示す。
【0092】
図4では、視覚分析意図システム230に入る矢印(例えば、矢印402、404、及び406)は、クライアントアプリケーション224からのコマンド(例えば、要求又は命令)を表現し、視覚分析意図システム230から出る矢印(例えば、矢印408、410、及び412)は、仕様(例えば、クライアントアプリケーションがユーザに応答を提示するために使用する視覚意図分析システム230によって生成される)を表す。
【0093】
いくつかの実装形態では、クライアントアプリケーション224は、ユーザインターフェース(例えば、ユーザインターフェース206)を含む。対話の典型的なサイクルにおいて、ユーザインターフェース206は、ユーザからの入力を受け入れる。ユーザ入力に従って、クライアントアプリケーション224は、ユーザ意図を記載する要求(例えば、コマンド)を視覚分析意図システム230に発行する。要求は、1つ以上の意図タイプの識別を含む。要求に従って、視覚分析意図システム230は、1つ以上の意図仕様234を定式化する(例えば、作成、更新、又は削除する)。いくつかの実装形態では、ユーザ意図は、情報不足及び/又は曖昧とすることができる。視覚分析意図システム230は、情報不足の意図の詳細(例えば、プロパティに対応する属性)を欠いており、意図が曖昧又は漠然とした任意の曖昧さを解決する。
【0094】
いくつかの実装形態では、意図が推論された後、ユーザインターフェースは、出力を提案するように視覚分析意図システム230に要求する。視覚分析意図システム230は、次いで、1つ以上の出力仕様236を生成し、これは、(例えば、出力変換サブシステム244を介して)クライアントアプリケーション224(及び電子デバイス102)のディスプレイモダリティに適合可能な様々なタイプの出力に変換され得る。図4は、出力仕様236が、クライアントアプリケーション224がユーザに表示することができる視覚化411、テキスト413、音声又は画像などの様々なタイプの出力に変換され得ることを示す。いくつかの状況では、推論された意図及び出力応答に基づいて、ユーザは、意図を修正することを決定することができ、データの分析において繰り返す際にサイクルを繰り返す。
【0095】
いくつかの実装形態では、クライアントアプリケーション224及び視覚分析意図システム230は、いくつかのサブシステムを含む1つの単一アプリケーションの一部であり、対話は、サブシステム内の対話を表現する。
【0096】
図4に示すように、視覚分析意図システム230は、意図仕様234と、出力仕様236と、1つ以上のデータソース110に対応するデータセマンティクス/メタデータ246と、意図を編集するためのサブシステム(例えば、編集意図サブシステム238)と、出力を提案するためのサブシステム(例えば、出力提案サブシステム242)と、出力を変換するためのサブシステム(例えば、出力変換サブシステム244)と、を含む。これらの構成要素の各々について以下に議論される。
【0097】
A.フィールド
視覚分析意図システム230の多くの部分は、データソース110(又はデータソース100に対応するデータテーブル)からのデータフィールドを参照する。
【0098】
図5は、いくつかの実装形態に従って、データフィールド(例えば、field)を定義するためのBNF(Backus-Naur Form)生成を例示する。field参照は、明示的なfield-instanceか、又は複数の可能なフィールドインスタンスを参照する変数への参照を記載する(例えば、var-name、[index])。
【0099】
いくつかの実装形態では、field-instanceは、値をビニングするときに使用されるべき、name(例えば、フィールド名)と、オプションのderivation(例えば、合計若しくは分などの集計タイプ、又は年若しくは時間などの時間導出)と、オプションとしてのbin-countと、を含む。
【0100】
変数フィールド(例えば、field-var)は、変数フィールド名(例えば、var-name)をフィールドインスタンのリスト(例えば、{field})に関連付け、そのリストが様々な仕様から参照されることを可能にする。field-varは、名前によって参照される。オプションのindex値は、2つ以上の意図又は出力プロパティがフィールド変数を参照するときに使用されるが、各参照は、変数のリスト内の異なるフィールドインスタンスに対するものであるべきである。
【0101】
B.意図仕様234
図6は、いくつかの実装形態による、意図仕様を定義するためのBNF生成を例示する。
【0102】
ユーザの意図は、vail-intentによって記載され、これは、ユーザによって表現される1つ以上の異なるタイプの意図に関する情報をキャプチャする。いくつかの実装形態では、意図タイプは、クライアントアプリケーション224によって(例えば、編集ルールを使用して)提供される。図6に例示されるように、vail-intentは、以下のタプルとして定義される。
●vail-intent:=(intents,field-vars)
【0103】
vail-intentは、意図仕様のリスト、及び視覚分析意図システム230のルールを推論することによって作成されたものがある場合、field-varsを含む。図6は、単一の意図が、以下のタプルによって定義されることを示す。
●intent:=(id,inferred,specific-intent)
【0104】
単一のintent(例えば、それぞれの意図仕様234)は、一意のid、推論されたプロパティのリスト、及びspecific-intentを含む。図6は、specific-intentが、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、又はフィールド意図を含むことができることを示す。いくつかの実装形態では、specific-intentは、意図タイプとも呼ばれる(例えば、意図タイプ229)。
【0105】
いくつかの実装形態では、それぞれの意図仕様234は、それぞれの意図仕様が対応する意図タイプに基づくプロパティの対応するセットを有する。これは、図6に例示されている。例えば、correlation意図は、第1のフィールドプロパティ(例えば、[field1])及び第2のフィールドプロパティ(例えば、[field2])を含む。distribution意図は、グループ化フィールドプロパティ(例えば、[bin-field])と、ビンサイズプロパティ(例えば、[bin-count])と、を含む。fields意図は、フィールドプロパティ(例えば、(field))を含む。
【0106】
いくつかの実装形態では、意図タイプは、focus意図を含む。focus意図は、フィールドプロパティ(例えば、[field])、データ値プロパティ(例えば、[values])、ごとにソートバイフィールドプロパティ(例えば、ソート動作を実行するためのデータフィールド)(例えば、[sortby-field])、形容詞(例えば、[adjective])、数量(例えば、[quantity])、及びフォーカス戦略プロパティ(例えば、[strategy])を含むことができる。
【0107】
いくつかの実装形態では、意図タイプはtrend意図を含む。傾向意図は、測定データフィールドプロパティ(例えば、[measure-field])及び時間フィールドプロパティ(又は日付/時間フィールドプロパティ)(例えば、[time-field])を含むことができる。
【0108】
いくつかの実装形態では、視覚分析意図システム230は、全てのプロパティが要求において指定されているわけではない意図タイプを含む要求を受信する。視覚分析意図システム230は、以下で説明される、情報不足又は欠落しているプロパティを埋めるためのルールを有する。
【0109】
C.メタデータ/データセマンティクス246
いくつかの実装形態では、視覚分析意図システム230は、データソース(例えば、データソース110などのデータソースに対応するデータテーブル)に関するメタデータ(例えば、データセマンティクス)246を活用するルールを適用して、曖昧又は情報不足の意図についての情報を推論する。データソースのメタデータ246は、データフィールドのセマンティクス、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含むことができる。いくつかの実装形態では、メタデータ246は、クライアントアプリケーション224によって提供される。
【0110】
いくつかの実装形態では、データソースのメタデータは、data-semanticsを使用して記載される。図7は、いくつかの実装形態による、data-semanticsを定義するためのBNF生成を図示する。
【0111】
図7は、data-semanticsが、フィールドについての関連付けられた情報を有するフィールド名のリストを含むことを示す(例えば{(name,field-info)})。field-infoは、field-typeを含み、これは、フィールドに関する重要なセマンティクス、デフォルトderivation、デフォルトビニングサイズ(例えば、[bin-count])、及びフィールドの統計値(例えば、[stats])をカプセル化する。field-typeは、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び/又は経度フィールドタイプを含む。いくつかの実装形態では、視覚分析意図システム230は、これらが要求において指定されていない場合、デフォルト導出プロパティ及び/又はビンサイズプロパティを使用する。フィールドの統計値(例えば、[stats])は、データフィールドのデータタイプ及び対応するドメインを含む(例えば、(data-type,domain))。いくつかの実装形態では、data-typeはテキスト又は数字を含む。
【0112】
いくつかの実装形態では、メタデータ238は電子デバイス102上に記憶され、全てのVAILエンジンプロセスは電子デバイス102上でローカルに実行され、それによって、サーバシステムに情報を送信する、及び/又はサーバシステム上でクエリを実行する必要性を回避し、それによって、大きなデータセットに対するデータ分析を実行可能にする。いくつかの実装形態では、メタデータ246は、サーバシステム300上に記憶され、要求に従ってオンザフライで視覚分析意図システム230によって取り出される。
【0113】
D.出力仕様236
VAILは、複数の可能な出力を記載するための汎用仕様を有する。出力仕様236は、データがどのようにユーザに提示されるべきかを記載し、特定の出力モダリティに拘束されない。いくつかの実装形態では、視覚分析意図システム230は、各意図タイプに対応する1つ以上のそれぞれの出力仕様236を生成する。出力仕様236は、以下に記載されるように、vail-intentからsuggest-outputルールを介して生成される。出力仕様236は、VizQL若しくはVega-liteなどの視覚的文法に、又はテキスト、口語、又はオーディオなどの非視覚的形態に変換され得る。
【0114】
いくつかの実装形態に従って、出力仕様236(例えば、vail-output)は、以下のタプルとして定義される。
●vail-output:=(output-sorted,output-by-id,field-vars)
【0115】
output-sortedは、最も高く推奨される出力が最初に列挙される出力仕様のリストを含み、output-by-idは、意図idから、対応する意図から生成された異なる出力仕様へのルックアップを提供する。field-varsは、出力仕様によって参照される任意のフィールド変数を含む。
【0116】
図8は、いくつかの実装形態による、単一の出力仕様(例えば、output)を定義するためのBNF生成を示す。
【0117】
いくつかの実装形態では、図8に例示されるように、単一のoutput仕様は、weight、intent-ids、encoding、及びdata-shapeを含む。
【0118】
いくつかの実装形態では、出力仕様(例えば、output)は、0~100のweightを含み、より高い数がより高く推奨される。intent-idsは、出力を生成するために使用される全ての意図のidsを含む。encodingは、viz-type、及び異なる符号化プロパティの集まりを含む。符号化は、0以上のフィールドを列挙することができ、マークcolor、size、又はshapeについての明示的な詳細を含まないが、それは、これらの決定を出力実装に委ねるからである。いくつかの実装形態では、符号化タイプは単に提案であり、関連しないことがある。例えば、テキストを生成する出力実装は、データをどのように符号化するかではなく、単にデータをどのように整形するかを通知するためにencodingsを使用することを選択してもよい。
【0119】
いくつかの実装形態では、encodingフィールドのリスト全体が、出力のために使用されるべきデータの集計及び詳細レベルを判定するために使用される。例えば、ポイント、価格、名前、及び品種を有し、各行が異なるワインを記載するデータテーブルを考える。encodingsが平均価格及び品種のみを含む場合、品種当たり1つの行が集計平均価格を含む状態で、価格及び品種フィールドのみを含めるべきである。
【0120】
data-shapeは、使用される前にソースデータを更にどのように修正するかを記載する。図8に更に例示されるように、data-shapeは、focus及びsortを含む。focusは、データのどの部分にフォーカスするかを記載する。
【0121】
いくつかの実装形態では、focusは、filter又はhighlightなど、どのようにフォーカスするかについての推奨される戦略を含む。output-adjectiveは、視覚分析意図システム230が、データを問い合わせる必要なく漠然とした範囲を指定することを可能にする特別なセマンティクスを有するいくつかの値を有する。「top」及び「bottom」は、出力実装が単一の値のみにフォーカスされるべきであることを示し、「high」及び「low」は、視覚分析意図システム230が最高値又は最低値の範囲にフォーカスすべきことを示す。sort整形プロパティは、データをソートするためにどのフィールドを使用するかを記載する。
【0122】
E.出力変換244
いくつかの実装形態では、視覚分析意図システム230は、出力仕様236を、VizQL若しくはベガライトなどの視覚文法に、又はテキスト、オーディオ、若しくは口語的出力などの非視覚形態に変換するためのアウトプット変換サブシステム244を備える。
【0123】
F.意図編集サブシステム238
VAILは、曖昧又は欠落した意図を推論するvail-intentを編集し、意図に基づくvail-outputを提案するためのルールを定義する。これらのルールは、データソース110内のデータフィールドの(又はデータソースのデータテーブルの)セマンティクスを記載する、data-semantics内に含まれる情報(例えば、メタデータ246)を活用する。
【0124】
いくつかの実装形態では、視覚分析意図システム230は、意図仕様を編集するためにVAILによって定義された1つ以上のルールを適用する意図編集サブシステム238を備える。
【0125】
図9は、いくつかの実装形態による、意図仕様(例えば、set-intent)を編集するためのBNF生成ルールを例示する。
【0126】
上記に議論されたように、vail-intentは、複数の意図仕様を含むことができる。特定の意図は、set-intentルールで追加若しくは変更され得、又はremove-intentルールで除去され得る。いくつかの実装形態では、これらのルールは、特定の意図を識別するためにidを使用する。vail-intentにおけるフィールドインスタンスの全ての発生は、replace-fieldを使用して別のフィールドインスタンスとスワップアウトされ得、それによって、ユーザがそれらの意図で反復することを可能にする。
【0127】
G.意図推論サブシステム240
いくつかの実装形態では、視覚分析意図システム230は、曖昧又は情報不足の(例えば、欠落した)意図を推論するためにVAILによって定義される1つ以上のルールを適用する意図推論サブシステム240を備える。
【0128】
いくつかの実装形態では、それぞれの意図タイプのそれぞれの意図仕様に対応するデータプロパティのセットがある。視覚分析意図システム230は、要求がデータプロパティのセットにおけるデータプロパティに対して複数の属性を指定しているときに、それぞれの意図タイプが曖昧であると判定することができる。それぞれの意図タイプはまた、要求が測定可能な形容詞(例えば、「上位」)を指定するが、数量を指定していないとき、曖昧とすることができる。いくつかの実装形態では、視覚分析意図システム230は、要求がデータプロパティのセットにおける少なくとも1つのデータプロパティに対して属性を指定していないときに、それぞれの意図タイプが情報不足であると判定することができる。いくつかの実装形態では、要求がデータプロパティのセットにおける各データプロパティについて厳密に1つの属性を指定しているときに、視覚分析意図システム230は、意図タイプが完全に指定されていると確立する。
【0129】
多くの意図タイプは、欠落又は曖昧な意図プロパティをどのように推論するかについてのルールを有する。ルールは、情報に基づいた決定を行うためにdata-semanticsを調べる。いくつかの実装形態では、視覚分析意図システム230が、未指定のプロパティについて厳密に1つの可能なフィールドを見つけた場合、視覚分析意図システム230は、それを直接埋める。いくつかの実装形態では、視覚分析意図システム230が、未指定のプロパティに対して複数の可能なフィールドを見つけた場合、意図プロパティからのリスト及びその参照を含むfield-varを作成する。
【0130】
図10は、いくつかの実装形態による、情報不足のfocus意図を解決するために情報を推論するためのBNF生成ルールを例示する。
【0131】
focut意図は、分析をデータ値のサブセットに向けることに関連する。図6において先に説明されたように、フォーカス意図タイプの入力仕様は、フィールドプロパティ(例えば、[field])、データ値プロパティ(例えば、[values])、ソート動作を実行するためのデータフィールド(例えば、[sortby-field])、形容詞(例えば、[adjective])、数量プロパティ(例えば、[quantity])、及びフォーカス戦略プロパティ(例えば、[strategy])を含むことができる。
【0132】
strategyプロパティは、ユーザの注意をデータ値のサブセットに向けるためのアプローチと関係がある。図10は、いくつかの実装形態では、要求がstrategyプロパティを指定していない(例えば、要求が「フィルタ」、「強調表示」、又は「ズーム」という用語を含まない)という判定に従って、視覚分析意図システム230がデフォルト戦略プロパティを強調表示することを選択すること(例えば、推論する)ができることを示している。なぜなら、研究は、コンテキスト内のデータを示すことがしばしば重要であることを示しているためである。いくつかの実装形態では、「強調表示」戦略に従って、視覚分析意図システム230は、出力仕様におけるdataShape.focusによって記載された値を強調表示するための1つ以上の推奨動作を含む出力仕様を生成する。例えば、推奨される動作は、データテーブル内のデータフィールドのデータ値に従って昇順又は降順でデータソースのデータテーブルからのデータ行を並べるソート動作と、データ値のランキングに基づいて指定された数のデータ値を強調表示する強調表示動作と、を含むことができる。
【0133】
いくつかの実装形態では、フォーカス意図が戦略プロパティを指定していないという判定に従って、視覚分析意図システム230は、戦略プロパティとして「ズーム」を選択することができる。いくつかの実装形態では、「ズーム」戦略に従って、視覚分析意図システム230は、出力仕様におけるdataShape.focusによって記載された値にズームするための推奨動作を含む出力仕様を生成する。
【0134】
いくつかの実装形態では、フォーカス意図が戦略プロパティを指定していないという判定に従って、視覚分析意図システム230は、戦略プロパティとして「フィルタ」を選択することができる。いくつかの実装形態では、「フィルタ」戦略に従って、視覚分析意図システム230は、データソースのデータ行を、特定のデータフィールドが特定のデータ値を有するデータ行のサブセットにフィルタリングするために、推奨されるフィルタ動作を含む出力仕様を生成する。
【0135】
再び図10を参照すると、いくつかの実装形態では、フィールドプロパティ(例えば、field)が要求において指定されていないという判定に従って、視覚分析意図システム230は、テキストデータタイプを有し、かつ要求において指定された数量以上のドメインを有するデータフィールドを、データソースから選択することができる。いくつかの実装形態では、フィールドプロパティ(例えば、field)が指定されていないという判定に従って、視覚分析意図システム230は、ドメインが要求において指定されたデータ値を含むデータフィールドを選択することができる。いくつかの実装形態では、sort-byが指定されないときに、視覚分析意図システム230は、要求が価格を指す形容詞(例えば、「安い」又は「高価な」)を含む場合、通貨データタイプ(例えば、CCurrency)を有するデータソース内の全てのデータフィールドを使用することができる。いくつかの実装形態では、データソースが通貨フィールドタイプを有するデータフィールドを含まないという判定に従って、視覚分析意図システム230は、全ての数値データフィールドを選択することによってsort-byフィールドを推論する。
【0136】
図11は、いくつかの実装形態による、情報不足のcorrelation意図を解決するために情報を推論するためのBNF生成ルールを示す。
【0137】
correlation意図は、データフィールド間の相関を理解したいというユーザの希望を記載する。相関意図に対応する例示的な要求は、2つのデータフィールドが「馬力」及び「MPG」である「馬力とMPGとの間の相関を見せてください」とすることができる。図6に示されるように、correlation意図は、第1のフィールドプロパティ(例えば、[field1])及び第2のフィールドプロパティ(例えば、[field2])を含む。いくつかの実装形態では、correlation意図が、2つのフィールドプロパティのうちの少なくとも1つが要求において指定されないことで情報不足である。
【0138】
いくつかの実装形態では、相関意図が情報不足であるという判定に従って、視覚分析意図システム230は、データソース110内の全ての数値フィールドのリストを識別する。ここで、図11の変数「list」は配列である。すなわち、視覚分析意図システム230は、全ての数値データフィールドのリストである配列を作成する。次いで、意図仕様内で、第1のデータフィールドが指定されていない場合(すなわち、「!i.field1」)、視覚分析意図システム230は、このフィールドをリストからの要素0(すなわち、フィールドリスト内の第1のフィールド)で埋める。第2のフィールドが指定されていない場合、視覚分析意図システム230は、フィールドをリストからの要素1(第2の数値データフィールド)で埋める。両方のフィールドプロパティが指定されていない場合、視覚分析意図システム230は、field1及びfield2プロパティ内のインデックスをセットして、それらが、リスト内の同じフィールド変数であるが異なるフィールドを参照すべきであることを示す。
【0139】
図12は、いくつかの実装形態による、情報不足のdistribution意図を解決するために情報を推論するためのBNF生成ルールを例示する。distribution意図は、データフィールドの値の広がりを見たいというユーザの希望を記載する。distribution意図に対応する例示的な要求は、「ワイン価格の分布を見せてください。」である。図6に記載されるように、いくつかの実装形態では、distribution意図は、グループ化フィールドプロパティ(例えば、[bin-field])及びビンサイズプロパティ(例えば、[bin-count])を含む。
【0140】
いくつかの実装形態では、要求がグループ化フィールドプロパティを指定していないという判定に従って、視覚分析意図システム230は、全ての数量フィールド(例えば、Qi、Qd、又はCCurrency)を検索する。いくつかの実装形態では、要求がビンサイズを指定しているという判定に従って、視覚分析意図システム230は、data-semanticsにおいて指定されたビンサイズ情報(例えば、[bin-count])を、要求において指定されたビンサイズでオーバーライドする(例えば、置き換える)。
【0141】
図13は、いくつかの実装形態による、情報不足のtrend意図を解決するために情報を推論するためのBNF生成ルールを例示する。
【0142】
傾向意図は、経時的にフィールドの値を見たいというユーザの希望を記載するために使用される。trend意図を含む例示的な要求は、「COVID症例の傾向を見せてください。」などのステートメント、又は「過去5年にわたるサンフランシスコの1寝室のアパートの価格は?」などの質問を含む。
【0143】
図6に記述のように、いくつかの実装形態に従って、trend意図は、測定データフィールドプロパティ(例えば、[measure-field])及び時間フィールドプロパティ(又は日付/時間フィールドプロパティ)(例えば、[time-field])を含む。いくつかの実装形態では、要求が測定フィールドを含まないという判定に従って、視覚分析意図システム230は、データソース内の全ての数量依存フィールド(例えば、Qd)を見つけ、全ての数量依存フィールドを含むようにfield-varを作成し、measure-fieldプロパティからそれを参照する。いくつかの実装形態では、要求が時間フィールドプロパティを指定していないという判定に従って、視覚分析意図システム230は、データソース内の全ての時間フィールドを識別し、全ての時間フィールドを含むようにfield-varを作成し、time-fieldプロパティからそれを参照する。
【0144】
いくつかの実装形態では、意図タイプは、geographic意図を含む。地理的意図を含む例示的な要求は、「私の売り上げはどこですか?」である。いくつかの実装形態では、情報不足のgeographic意図に対する推論ルールは、geographic意図に対する推論ルールがタイプCGeo、QLat、及びQLonのフィールドを見つけること、を含むことを除いて、上述されたような情報不足の傾向意図に対する推論ルールと同様である。
【0145】
いくつかの実装形態では、意図タイプは、encoding意図を含む。encoding意図は、出力又は前の意図を修正したいという希望を表現する。encoding意図を含む例示的な要求は、「Xごとに色付けしてください。」(Xはフィールドである)である。いくつかの実装形態では、VAILは、encoding意図に対する推論ルールを定義しない。
【0146】
いくつかの実装形態では、要求は、符号化意図を含み、第1のデータフィールドを指定する。要求に従って、視覚分析意図システム230は、第1のデータフィールドに従ってデータ視覚化を、レンダリングすることを指定する符号化パラメータを追加することによって、それぞれの出力仕様を生成する。いくつかの実装形態では、視覚分析意図システム230は、第1のデータフィールドに従って、データ視覚化のための既存の符号化パラメータをオーバーライドするそれぞれの出力仕様を生成する。
【0147】
いくつかの実装形態では、意図タイプはfields意図を含む。fields意図は、明示的に定義された分析意図のないフィールドへの関心を表現する。fields意図を含む例示的な要求は、「売り上げと利益を見せてください。」である。いくつかの実装形態では、VAILは、fields意図に対する推論ルールを定義しない。
【0148】
いくつかの実装形態では、要求は、フィールド意図を含み、第1のデータフィールドを指定する。要求に従って、視覚分析意図システム230は、第1のデータフィールドによって課されたセマンティック制約に基づいて1つ以上の推論ルールを適用することによって、それぞれの出力仕様を生成する。
【0149】
H.出力提案サブシステム242
いくつかの実装形態では、視覚分析意図システム230は、意図に基づいてvail-outputを提案するための1つ以上のルールを適用する出力提案サブシステム242を含む。
【0150】
ユーザが指定した意図に対して効果的な出力を提案するために、VAILは、各意図タイプを出力仕様内の情報に変換するためのルールを定義する。いくつかの実装形態では、視覚分析意図システム230は、correlation、distribution、trend、geographic、及びfield意図から新しい出力仕様を作成する。
【0151】
いくつかの実装形態では、correlation意図は、散布図を生成するために使用される。
●vizType:「scatterPlot」,x:i.field1,y:i.field2
【0152】
いくつかの実装形態では、distribution意図は、ヒストグラムを生成するために使用される。
【0153】
いくつかの実装形態では、trend意図は、折れ線グラフを作成する。
【0154】
いくつかの実装形態では、encoding及びfocus意図は、前の意図によって生成された出力仕様を修正する。これらの意図タイプに対応する出力仕様がない場合、これらの意図からのフィールドを抽出し、fields意図のためのsuggest-outputルールに供給され得、ユーザからの更なる精緻化をもたらす。
【0155】
encoding意図タイプは、他の出力仕様のエンコーディングを修正し、既存の符号化を追加又はオーバーライドするために使用される。focus意図タイプは、他の出力仕様のdata-shapeを修正するために使用される。これは、output.data-shape.focus仕様を作成するために、field、adjective、values、及びquantityを使用する(例えば、「上位10個のCOVID症例[カウント]を見せてください。」)。これは、field、sort-by、及びadjectiveを使用して、output.data-shape.sort仕様を作成する。
【0156】
ユーザの目的についてあまり知られていないので、fields意図に対する出力ルールは、意図のフィールドのdata-semanticsに依存する。これは、フィールドセマンティクスを使用して効果的な視覚化を生成するように設計されたShow Me又はVoyagerのようなシステムを活用することができる。
【0157】
I.拡張性及びカスタマイゼーション
いくつかの実装形態では、視覚分析意図システム230はまた、ユーザの必要性に従ってカスタマイズされ得る。例えば、開発者は、自身のカスタム意図を追加して、「最良の近傍」などのドメイン固有の概念、又はビジネスコンテキストにおいて固有である技術専門用語に合わせることができる。これは、対応する出力仕様を生成するためのルールとともに、欠落した又は曖昧なプロパティを推論するためのルールを提供することを伴う。意図プロパティは、使用されるべきフィールドのタイプを知ること、及び適切な一致を見つけるためにデータソースに関する情報を識別すること(例えば、時間を表現する全てのフィールドを見つけること)など、意図タイプ(例えば、特定の意図)の理解を介して推論され得る。
【0158】
いくつかの実装形態では、特定の意図タイプに対応する意図仕様を拡張して、新しいプロパティを追加することができる。例えば、focus意図では、高い数値又は低い数値を記載するための多くの選択肢があるため、形容詞プロパティ内の属性は、新しい形容詞を含むように拡張され得る。追加的又は代替的に、focus意図に対応するinfer-intentルールは、新しいオプションを含むように調整され得る。一例として、いくつかの実装形態では、フォーカス意図がデータへのズームを示すことを可能にするために、開発者は、ズームと呼ばれる新しい戦略を追加し、次いで、出力仕様236におけるdataShape.focusによって記載される値にズームインするために、カスタムロジックを出力仕様ハンドラに追加することができる。
【0159】
いくつかの実装形態では、視覚分析意図システム230は、suggest-outputルールから活用するためにvail-outputに新しい可能性を追加することによって拡張され得る。例えば、開発者がツリーマップ視覚化を作成したinfer-intentルールを作成したい場合、開発者は、output仕様に新しいviz-typeを追加し、視覚化がどのように構築されるべきかを記載するために既存の符号化プロパティを活用することができる。
【0160】
これらの原理に照らして、我々は、特定の実装形態に目を向けることを知っている。
【0161】
IV.実装形態
いくつかの実装形態では、視覚分析意図システム230(例えば、VAILエンジン)は、TypeScriptで書かれ、JavaScriptにコンパイルする。
【0162】
いくつかの実装形態では、視覚分析意図システム230は、その組み込み意図仕様を入力及び修正するために使用され得る、React構成要素を使用してビルドされるグラフィカルユーザインターフェース(GUI)を含む。
【0163】
いくつかの実装形態では、クライアントアプリケーション224は、入力コマンド及び出力仕様を通して視覚分析意図システム230と対話することができ、同様に自身のデータソースを提供することができる。入力は、VAILコマンドを介して、エンジンに意図をセットし、欠落した曖昧な意図を推論し、出力を提案するように伝える。クライアントアプリケーション224は、視覚分析意図システム230が返信する推論された意図をユーザに示すことを選択することができ、オプションで、分析者が意図を精緻化する方法を提供する。
【0164】
いくつかの実装形態では、出力仕様は、クライアント固有の方法で解釈され得る。視覚分析意図システム230はまた、クライアント固有の解釈の代わりに(又はそれに加えて)使用され得るビルトインVega-liteコンバータを含む。データソースは、意図を適切に推論し、効果的な出力を提案する視覚分析意図システム230の能力を向上させるように手動でキュレートされ得る。各フィールドは、通貨又は時間などのタイプ、平均又は合計などの任意の好ましい派生、及びオプションのビンサイズを指定することができる。
【0165】
いくつかの実装形態では、性能考慮事項として、視覚分析意図システム230は、ライブクエリを実行するのではなく、フィールドに関するメタデータ246のみを見る。
【0166】
A.GUIベースのアプリケーション
図14A図14Jは、いくつかの実装形態による、VAILを使用するグラフィカルユーザインターフェースベースのアプリケーション224との対話のための一連のスクリーンショットを提供する。
【0167】
図14Aは、電子デバイス102上に表示される、アプリケーション224のグラフィカルユーザインターフェース1400を例示する。グラフィカルユーザインターフェース1400は、ユーザによって選択されるときに、データセット1404(例えば、それぞれのデータソース110に対応するデータセット)のリストをドロップダウンメニュー1406として表示させるグラフィカル制御要素1402(例えば、「データをピック」アフォーダンス)を含む。グラフィカルユーザインターフェース1400はまた、ユーザによって選択されるときに、1つ以上のそれぞれの意図タイプ(例えば、図2の意図タイプ229及び図6のspecific-intents)を識別するグラフィカル制御要素1408(例えば、「意図を追加」アフォーダンス)を含む。図6の例では、アフォーダンス1408は、フォーカス意図アフォーダンス1408-1、相関意図アフォーダンス1408-2、傾向意図アフォーダンス1408-3、及び分布意図アフォーダンス1408-4を含む。
【0168】
いくつかの実装形態では、図14Aに例示されるように、グラフィカルユーザインターフェース1400は、ユーザ対話に従ってVAILによって定式化された1つ以上の意図仕様を表示するための意図仕様領域1412を含む。グラフィカルユーザインターフェース1400は、VAILによって生成された1つ以上の出力仕様を表示するための出力仕様領域1414を含む。グラフィカルユーザインターフェース1400はまた、(例えば、クライアントアプリケーション224からの)1つ以上のコマンドを表示するためのコマンド領域1416を含む。グラフィカルユーザインターフェース1400はまた、ユーザによって指定されるデータ(例えば、プロパティ)を表示するためのデータ領域1418を含む。
【0169】
図14Aは、グラフィカルユーザインターフェース1400とのユーザ対話を例示する。この例では、ユーザは、「ワイン」に対応するデータセット1404-3を選択する(1410)。ユーザはまた、フォーカス意図アフォーダンス1408-1を選択する。
【0170】
図14Bは、「ワイン」データセットのユーザ選択に応答して、グラフィカルユーザインターフェース1400がグラフィカル制御要素1420(例えば、「フィールドをピック」アフォーダンス)を表示することを例示する。要素1420の各々は、「ワイン」データソース内のそれぞれのデータフィールドに対応する。
【0171】
図14Bはまた、「フォーカス」意図のユーザ選択に応答して、グラフィカルユーザインターフェース1400が、フォーカス意図に対応するプロパティのセット1422を表示することを例示する。この例では、プロパティ1422は、「フィールド」プロパティ、「値」プロパティ、「ごとにソート」プロパティ、「形容詞」プロパティ、「数量」プロパティ、及びフォーカス戦略プロパティを含む。意図仕様領域1412は、選択された意図タイプを表示する(1424)。
【0172】
図14Cは、図14Bの「形容詞」プロパティ1422-1の隣のドロップダウンボタン1426のユーザ選択に応答して、グラフィカルユーザインターフェース1400が、形容詞(例えば、測定可能な形容詞)のリストを含むドロップダウンメニュー1428を表示することを例示する。ユーザは、リストから第1の形容詞(例えば、「高価な」)を選択する(1430)。
【0173】
図14Dは、グラフィカルユーザインターフェース1400が、形容詞「高価な」のユーザ選択(例えば、ユーザ仕様)に応答して、データ視覚化1432(例えば、棒グラフ)を表示することを例示する。棒グラフにおける棒の各々はワイン品種に対応する。データバーは、降順にソートされ(例えば、並べられ)、上位3行は、棒グラフ内の他の行と視覚的に区別されるように表示される。この例では、視覚分析意図システム230は、形容詞「高価な」のユーザ選択に従って通貨属性「価格」を推論する。次いで、それは、価格値の上位範囲を強調表示する棒グラフを生成するための出力仕様を生成する。図14はまた、データフィールド「品種」が「フィールド」プロパティ1422-2の推論されたフィールドであり、戦略「強調表示」が戦略プロパティとして推論されていることを示す。
【0174】
図14E及び図14Fは、グラフィカルユーザインターフェース1400とのユーザ対話を例示する。図14Eでは、ユーザは、「値」プロパティ1422-5に対して第1の値1434(例えば、「55」)を入力する(例えば、指定する)。ユーザ入力に応答して、グラフィカルユーザインターフェース1400は、少なくとも55ドルの価格を有するワイン品種に対応するデータバーを有する更新されたデータ視覚化1436(例えば、棒グラフ)を表示する。図14Fは、ユーザが第2の値1438(例えば、「55、65、75」)を指定していることを例示する。この例では、VAILは、入力「55、65、75」を、特定の値「55」、「65」、及び「75」に基づいてビューをフィルタリングするユーザの意図として解釈する。視覚分析意図システム230は、この新しい意図を既存のコンテキストに適用して、特定の値「55」、「65」、及び「75」にフィルタリングすることができる。次いで、データ行を、価格の値が「55」、「65」、及び「75」であるデータ行のサブセットにフィルタリングするフィルタ動作を含む出力仕様を生成する。グラフィカルユーザインターフェース1400は、出力仕様を反映する更新されたデータ視覚化1440を表示する。
【0175】
図14Gは、「タイタニック」データソース1404-5のユーザ選択及び「分布」意図タイプ1408-4のユーザ選択を例示する。図14Hは、ユーザ選択に応答して、視覚分析意図システム230が、データソース1404-5内のデータフィールド「年齢」をビニングされたフィールド1444として自動的に推論して(例えば、グループ化フィールドプロパティ、又は[bin-field])、ヒストグラム1442を表示することを示す。いくつかの実装形態では、視覚分析意図システム230はまた、データセットに対してカスタム定義されるビンサイズ1446(例えば、ビン間隔又は[bin-count])をピックする。
【0176】
図14Iは、カルフォルニアのCovid-19症例に対応する「Covid」データソース1404-4のユーザ選択を例示する。図14Iはまた、「傾向」意図タイプ1408-3のユーザ選択を例示する。
【0177】
図14Jは、ユーザ選択に応答して、グラフィカルユーザインターフェース1400が、経時的な(例えば、日付ごとの)新しいCovid死亡カウントを示す時系列1446を表示することを例示する。図6に記載されるように、傾向意図は、測定データフィールドプロパティ及び時間フィールドプロパティを含む。ここで、視覚分析意図システム230は、測定データフィールドプロパティとして測定フィールド「新しい死亡カウント」を推論し、時間フィールドプロパティとしてフィールド「日付」を推論する。
【0178】
B.Slackbotアプリケーション
本開示のいくつかの実装形態によれば、VAILは、Slackアプリケーション(例えば、クライアントアプリケーション224又はチャットアプリケーション)において自然言語意図をサポートすることができる。
【0179】
図15は、いくつかの実装形態による、VAILを使用するSlackbotアプリケーションのシステム概要1500を例示する。
【0180】
Slackアプリケーションは、node.jsクライアント-サーバアーキテクチャを採用するSlackチャットボットを含む。いくつかの実装形態では、図15に例示されるように、Slackチャットボットは、以下の構成要素を含む。
●Slackクライアント1502。いくつかの実装形態では、Slackクライアント1502は、Slackインターフェース内のユーザ対話イベント及びSlackサーバからのメッセージイベントをリッスンする。いくつかの実装形態では、Slackクライアント1502は、図16に例示されるように、曖昧さを表面化するためのネイティブ対話型ウィジェットも表示するユーザインターフェースを含む。
●Slackサーバ1504。いくつかの実装形態では、Slackサーバ1504は、Slackクライアント1502とSlackアプリケーションの他の構成要素との間をブリッジするメインアプリケーション固有サーバである。Slackサーバ1504は、入力クライアントイベント(例えば、Slackメッセージ)を適切なAPI要求に変換し、同様に、API応答を、クライアントに送信するための応答の正しいフォーマットに変換する。
●パーサ1506(例えば、図2、パーサ226)。いくつかの実装形態では、パーサ1506は、(例えば、Evizaで実装されるような)文脈自由文法に基づいて、自然言語入力クエリをトークンに解析する。これらのトークンは、データ属性及び値(データソースからの情報を伴う)、又は「傾向」若しくは「最良」などの意図語彙として解決される。
●VAILエンジン1508(例えば、視覚分析意図システム230)。VAIL1508は、意図処理を処理し、情報不足又は曖昧な情報を推論する。サーバは、解析されたトークンをVAILに渡し、このVAILは、図1図2、及び図4図13に関して議論したように、1つ以上の意図仕様及び1つ以上の出力仕様を生成する。
●VizQLモジュール1510。VizQLモジュール1510は、TableauのVizQLコマンドを使用して、チャートタイプ、意図戦略、データ属性、及び値などの情報に基づいて、データ視覚化結果の画像を生成する。いくつかの実装形態では、VizQLモジュール1510は、データ視覚化を、Slackクライアント1502上での表示に適合可能なフォーマット(例えば、jpg、tif、png、gif、bmp、pdfフォーマットなど)に変換する。
●自然言語生成(Natural language generation、NLG)モジュール1512。NLGモジュール1512は、出力仕様からの情報を挿入するために、事前定義されたテキスト及びプレースホルダを有するNLGのための単純な言語テンプレートを使用する。パーサ1506からの文法ルールは、言語的実現を支援するために更に使用される。
【0181】
図16A図16Gは、いくつかの実装形態による、Slackチャットボット(例えば、Slackbot)との対話のための一連のスクリーンショットを提供する。この例では、Slackチャットボットは、「ワイン」データセット(例えば、データソース110)に関する質問に回答するためにVAILを使用する。
【0182】
図16Aは、電子デバイス102上に表示されるSlackアプリケーションの例示的なグラフィカルユーザインターフェース1600を例示する。
【0183】
いくつかの実装形態では、「ワイン」データソースのユーザ識別(例えば、ユーザ指定又はユーザ選択)に従って、Slackアプリケーションは、メッセージ1602を生成し、グラフィカルユーザインターフェース1600上に表示して、ユーザにデータソースに関する質問をするように促す。いくつかの実装形態では、Slackアプリケーションはまた、データソース内のデータフィールドの属性を示す表現1604(例えば、.png、.tiff、.bmp、又は.jpgファイルなどの画像ファイル)を表示する。図16Aの例では、ユーザは、初めてSlackアプリケーションと対話しており、したがって、「ワイン」データソースのユーザ選択は、新しい会話スレッド1606を開始する。
【0184】
図16Bは、いくつかの実装形態による、グラフィカルユーザインターフェース1600とのユーザ対話を例示する。この例では、ユーザは、入力ボックス1607にメッセージを構成する(例えば、タイプする)ことによって、ユーザインターフェース1600と対話する。いくつかの実装形態では、ユーザは、自然言語コマンドを提供するために、電子デバイス102(例えば、オーディオ入力デバイス212)のマイクロホンに向かって話しかけることによって、入力ボックス1607と間接的に対話し得る。図16Bの例では、ユーザは、自然言語コマンド(例えば、自然言語表現)「高価な品種を私に見せてください。(show me the expensive varieties)」を入力する。ここで、「高価な品種」は、ユーザが「高価」と言及しているが、ユーザが関心のある高価な品種の数を定義していないので、曖昧な意図を含む。
【0185】
いくつかの実装形態では、ユーザ入力に従って、コマンド(例えば、クエリ)を伴うSlackイベントがSlackサーバ1504に渡される。Slackサーバ1504は、イベントがクエリタイプのイベントであることを認識し、トークン化のためにクエリをパーサ1506に渡す。いくつかの実装形態では、クエリの受信に応答して、パーサ1506は、ストップワード及び見出語化(例えば、「見せて(show)」及び「私に(me)」)を除去して、トークン[「expensive」,「variety」])をSlackサーバ1504に返す。次いで、Slackサーバ1504は、トークン化されたパーサ出力をVAILエンジン1508(例えば、視覚分析意図システム230)に渡す。この例では、VAILエンジン1508は、「expensive」が通貨属性priceによってソートされたvarietyを解決することを推論し、戦略は上位3個のアイテムを強調表示することを示す。次に、VAILエンジン1508は、図16Cに例示される意図仕様1608を生成する。VAILエンジン1508はまた、図16Dに例示される出力仕様1610を生成する。いくつかの実装形態では、出力仕様を生成した後、VAILエンジン1508は、出力された指定をVizQLモジュール1510及びNLGモジュール1512に渡し、これらは、視覚化及びテキスト応答を生成する。
【0186】
図16Eは、ユーザ入力に応答して更新されたユーザインターフェース1600のビューを例示する。この例では、会話スレッド1606は、視覚化の表現1610(例えば、降順に並べられたデータバーを有する棒グラフ)及びテキスト応答1612(例えば、「上位3個の品種は、カベルネ・フラン・メルロー、ペチ・ヴェルド、及びボルドースタイルレッドブレンドです。「高価な」は、109ドル以上の平均価格として解釈されます。)を含むように更新されている。
【0187】
いくつかの実装形態では、Slackアプリケーションは、出力仕様に基づいて関連テンプレートを適用する。図16の例では、関連テンプレートは、「[N]の[modifier][dimension]は、[data-values]です。[modifier]は、[filter-value]として解釈されます。」であり、テキスト応答「3個([N])の高価な([modifier])品種(dimension])は、カベルネ・フラン・メルロー([data-value1])、ペチ・ヴェルド([data-value2])、及びボルドースタイルレッドブレンド([data-value3])です。「高価な」([modifier])は、109ドル以上の平均価格([filter-value])として解釈されます。」に対応している。
【0188】
図16Bに記載されているように、語句「高価な品種」は、ユーザが「高価な」に言及しているが、ユーザが関心のある高価な品種の数を定義していないので、曖昧な意図を含む。この例では、VAILエンジン1508は、データ値のランキング(例えば、降順)に基づいて、数量「3個」を強調表示すべきデータ値の数として推論する。図16Eの表現1610は、棒グラフの上位3個のデータ行1614が、棒グラフの他のデータ行1616とは視覚的に区別されるように表示されることを示す(例えば、上位3個のデータ行1614が強調表示され、他のデータ行は強調表示されない)。いくつかの実装形態では、推論された情報(例えば、「上位N個」)は、ユーザが対話して応答を精緻化し、更新することができるデータウィジェット1618として表示される。
【0189】
一例として、ユーザが図16Eのデータウィジェット1618を選択して、フィルタを「上位3個」から「上位5個」に変更すると仮定する。いくつかの実装形態では、ユーザ選択に応答して(2042)、VAILは、[quantity]プロパティを推論値「3個」からユーザ指定値「5個」に変更することによって、それぞれの意図仕様を編集する。VAILは、それぞれの編集された意図仕様に従ってそれぞれの出力仕様を更新する。クライアントアプリケーション224は、それぞれの出力仕様に従って、更新されたデータ分析を生成し(2048)、視覚的にレンダリングする。例えば、ユーザインターフェース1600は、上位5個のデータバーが強調表示される棒グラフの更新された画像を表示することができる。
【0190】
図16Fは、いくつかの実装形態によるユーザインターフェース1600との別のユーザ対話を例示する。この例では、ユーザは、メッセージ(例えば、「最良のワインについてはどう思いますか。」)を入力ボックス1607にタイプすることによって、ユーザインターフェース1600と対話する。この例では、「最良」という用語は曖昧である。なぜなら、「最良」は、例えば、販売されたワインの数、最高平均顧客レビュースコア、又は発生した収益の量に関して定義され得るためである。「ワイン」という用語はまた、シャルドネ若しくはカベルネットなどのワインのタイプ、又はワイナリーを意味し得るので、曖昧である。
【0191】
図16Gは、ユーザ入力に応答して更新されたユーザインターフェース1600のビューを例示する。この例では、ユーザインターフェース1600は、視覚化の表現1620(例えば、降順に並べられたデータバーを有する棒グラフ)及びテキスト応答1622(例えば、「ここでは、平均ポイントで降順にソートされたワイナリーです。「最良」は上位1個として解釈されます。」)を表示する。この例では、応答1622は、表現1620の説明と、曖昧な用語(例えば、「最良」)がどのように解釈されたかの説明と、を含む。いくつかの実装形態では、ユーザインターフェース1600は、ユーザ選択可能なフィードバックボタン1626(例えば、インターフェース要素1626)を含むフォローアップ質問1624(例えば、「これは予想されたものですか?」)を表示することができる。いくつかの実装形態では、ボタン1626のうちの1つのユーザ選択は、Slackアプリケーションに関連するフォローアップ質問を提案させ、それによって、潜在的に発見されていない分析能力の可能性を提供することができる。
【0192】
C.音声対応スマートアシスタントチャットボット
本開示のいくつかの実装形態によれば、VAILは、音声アシスタントアプリケーション(例えば、音声チャットボットアプリケーション)を実行している音声アシスタントデバイスとともに使用され得る。いくつかの実装形態では、音声アシスタントデバイスは、ディスプレイ画面を含む。いくつかの実装形態では、音声アシスタントデバイスは、ディスプレイ画面を含まない。
【0193】
図17A図17Cは、いくつかの実装形態による、ディスプレイスクリーン1700を含む音声アシスタントデバイスとの対話のための一連のスクリーンショットを提供する。この例では、「ワイン」データセットのユーザ選択(例えば、口語的に、又はタッチスクリーンを介して)に応答して、音声アシスタントデバイスは、データセット内のデータフィールドの属性1702を表示する。図17Aはまた、音声アシスタントデバイスが口語的応答1704(例えば、オーディオ出力デバイス214を介して)(例えば、「こんにちは、ワインのデータについて質問してください、お助けします。」)を出力することを例示する。
【0194】
図17Bは、音声アシスタントデバイスとのユーザ対話を例示する。この例では、ユーザは、音声コマンド「場所ごとにワインを見せてください。」を提供する。
【0195】
いくつかの実装形態では、音声アシスタントアプリケーションは、その実装アーキテクチャに関して、図16A図16Gに記載されているSlackbotアプリケーションと同様である。しかしながら、いくつかの実装形態では、音声アシスタントアプリケーションは、特注のパーサ及びNLGモジュールを使用するのではなく、会話型対話を実装するためにAlexa APIを使用する。音声アシスタントアプリケーションは、出力仕様を使用して、一次応答及び任意のフォローアップ応答を判定し、出力仕様に含まれる特定の視覚符号化を無視する。
【0196】
図17Bの例に戻って参照すると、いくつかの実装形態では、音声コマンドに応答して、音声アシスタントデバイスは、VAILによって生成される出力仕様に従って口語的応答1706(例えば、「最も高価なワイナリーは米国に位置しています。」)を出力する。図17Bは、最も高価なワイナリーが位置する国に対応する網掛け領域を含む視覚化1708(例えば、地図)を表示するディスプレイ画面1700を示す。
【0197】
図17Cは、音声アシスタントデバイスとのユーザ対話を例示する。この例では、ユーザは、「最も高価な品種を私に見せてください。」という音声コマンドを提供する。いくつかの実装形態では、音声コマンドに応答して、VAILは、意図仕様を更新し、更新された意図仕様に従って更新された出力仕様を生成する。音声アシスタントデバイスは、口語的応答1710(例えば、「最も高価な品種は、カベルネ・ソーヴィニョンです。」)を出力する。図17Cはまた、更新された視覚化1712(例えば、棒グラフ)を表示するディスプレイ画面1700を示す。
【0198】
V.フローチャート
図18A図18Eは、方法1800のフローチャートを提供する。方法1800は、プロセスとも称される。
【0199】
方法1800は、第1のアプリケーション(例えば、クライアントアプリケーション224)を実行している電子デバイス102において行われる(1802)。
【0200】
電子デバイス102は、1つ以上のプロセッサ202及びメモリ216を含む(1804)。メモリは、1つ以上のプロセッサによる実行のために1つ以上のプログラムを記憶する(1806)。いくつかの実装形態では、図4図17に示される動作は、メモリ216又は他の非一時的なコンピュータ可読記憶媒体に記憶された命令に対応する。コンピュータ可読記憶媒体は、磁気若しくは光ディスク記憶デバイス、フラッシュメモリなどのソリッドステート記憶デバイス、又は他の1つ以上の不揮発性メモリデバイスを含み得る。コンピュータ可読記憶媒体に格納された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は1つ以上のプロセッサによって解釈される他の命令フォーマットのうちの1つ以上を含み得る。方法1800におけるいくつかの動作は、組み合わされ得、及び/又はいくつかの動作の順序は、変更され得る。
【0201】
電子デバイス102は、データソース(例えば、データソース110)に向けられた要求を受信する(1808)。要求は、1つ以上の意図タイプ(例えば、意図タイプ229)を含む(1810)。各意図タイプは、データソースに向けられたデータ分析動作の時点定義されたセットから選択される(1811)。
【0202】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図(例えば、データ点のサブセットにフォーカスする)、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む(1812)。これは、図6に例示されている。
【0203】
要求はまた、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む(1814)。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する(1815)。
【0204】
1つ以上の意図タイプの各々について、電子デバイス102は、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、要求に従って、それぞれの意図仕様(例えば、意図仕様234)を定式化する(1818)。
【0205】
1つ以上の意図タイプの各々について、電子デバイス102はまた、それぞれの出力仕様(例えば、出力仕様236)を生成する(1820)。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプを含む(1822)。それぞれの出力仕様はまた、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む(1824)。これは、図8に例示されている。
【0206】
いくつかの実装形態では、1つ以上のそれぞれのデータ視覚化パラメータは、データ整形情報、符号化情報、及び/又は意図仕様に対応する識別子を含む(1826)。例えば、データ整形は、データソースが使用される前にデータソースを修正する(例えば、ソート又はフィルタ)情報を含む。符号化情報は、推奨される視覚化のタイプ(例えば、棒グラフ又は散布図)と、表示されるフィールドの各々について推奨される視覚符号化(例えば、x、y、色、及びサイズ)とを列挙する。これは、図8に例示されている。
【0207】
いくつかの実装形態では、1つ以上の意図タイプの各々についてそれぞれの出力仕様を生成した後、電子デバイス102は、(i)1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、要求に応答してデータ分析を視覚的にレンダリングする(1828)。
【0208】
いくつかの事例では、要求は、傾向意図を含む(1830)。それぞれの意図仕様を定式化することは、データソースから、(i)測定データフィールド、及び(ii)時間を表すデータフィールドを識別する第1のデータを識別すること(1832)を含む。これは、図6に例示されているいくつかの実装形態では、第1のデータフィールドは、時間フィールド、日付フィールド、又は日付/時間フィールドとすることができる。
【0209】
いくつかの事例では、要求は、傾向意図を含む(1834)。それぞれの意図仕様を定式化することは、データソースから、(i)全ての測定データフィールド、及び(ii)時間を表す全てのデータフィールドを識別することを含む(1836)。
【0210】
いくつかの事例では、要求は、フォーカス意図を含む(1838)。それぞれの意図仕様を定式化することは、(1)データソースからのデータ行をある順序で並べるソート動作、(2)データソースからのデータ行を、特定のデータフィールドが指定のデータ値を有するデータ行のサブセットにフィルタリングするフィルタ動作、及び(3)データソースからのデータ行のサブセット(例えば、最上行、最上3行など)を強調表示する強調表示動作のうちの1つ以上を実行することを含む(1840)。
【0211】
いくつかの事例では、要求は、フォーカス意図を含む。それぞれの意図仕様を定式化することは、データ行のサブセットをズームインする(例えば、強調する、拡大する、ユーザの注意を向ける)「ズーム」動作を実行することを含む。
【0212】
いくつかの事例では、要求は、符号化意図を含み(1842)、第1のデータフィールドを指定する。それぞれの出力仕様を生成することは、第1のデータフィールドに従って、データ視覚化をレンダリングすることを指定する符号化パラメータを追加すること(1844)、又は第1のデータフィールドに従って、データ視覚化のための既存の符号化パラメータをオーバーライドすること(1846)を含む。
【0213】
いくつかの事例では、フィールド意図を含み(1848)、第1のデータフィールドを指定する。それぞれの出力仕様を生成することは、第1のデータフィールドによって課される意味制約に基づいて1つ以上の推論ルールを適用することを含む(1850)。
【0214】
いくつかの実装形態では、方法1800は、1つ以上の意図タイプの各々について、それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定すること(1854)を更に含む。それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、電子デバイス102は、(i)1つ以上のそれぞれのルール(例えば、テントシステム230内の視覚分析によって定義され、かつ図4図13に記載されるルール)、(ii)データソースのメタデータ(例えば、メタデータ246)、及び(iii)要求において指定されたデータフィールドのメタデータに従って、曖昧な及び又は情報不足の意図を解決するために情報を推論する(1856)。電子デバイス102は、推論された情報に従って、1つ以上のそれぞれのデータ視覚化パラメータを更新する(1858)。
【0215】
いくつかの事例では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、要求が測定可能な形容詞を指定し、数量を指定していないという判定(例えば、要求が「上位」を指定するが、数を指定していない)(1860)に従って、それぞれの意図タイプが曖昧であることを確立することと(1862)、数量の数値を推論することと(1864)、を更に含む。
【0216】
いくつかの事例では、データソースのメタデータは、データフィールドの意味、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む(1866)。
【0217】
いくつかの実装形態では、データソースのデータフィールドのセマンティクス、又はデータセマンティクスは、ユーザが対話しているデータの特定のセットを記載する。これは、フィールド、それらの役割、及び要約統計のリストを含む。いくつかの実装形態では、データセマンティクスは、視覚分析意図システム230が意図をより良く推論することを可能にするために、データベースから取り出されるか、又はユーザによってキュレートされ得る。
【0218】
いくつかの事例では、データフィールドタイプは、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む(1868)。
【0219】
いくつかの実装形態では、電子デバイス102は、以前の要求からのコンテキスト、以前の要求において識別されたデータフィールド、以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する(1870)。
【0220】
図19A図19Gは、方法1900のフローチャートを提供する。方法1900は、プロセスとも称される。
【0221】
方法1900は、第1のアプリケーション(例えば、クライアントアプリケーション224)を実行している電子デバイス102において行われる(1902)。
【0222】
電子デバイス102は、1つ以上のプロセッサ202及びメモリ216を含む(1904)。メモリは、1つ以上のプロセッサ202によって実行されるように構成された1つ以上のプログラムを記憶する(1906)。いくつかの実装形態では、図4図17に示される動作は、メモリ216又は他の非一時的なコンピュータ可読記憶媒体に記憶された命令に対応する。コンピュータ可読記憶媒体は、磁気若しくは光ディスク記憶デバイス、フラッシュメモリなどのソリッドステート記憶デバイス、又は他の1つ以上の不揮発性メモリデバイスを含み得る。コンピュータ可読記憶媒体に格納された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は1つ以上のプロセッサによって解釈される他の命令フォーマットのうちの1つ以上を含み得る。方法1800におけるいくつかの動作は、組み合わされ得、及び/又はいくつかの動作の順序は、変更され得る。
【0223】
電子デバイス102は、データソース(例えば、データソース110)に向けられた要求を受信する(1908)。要求は、1つ以上の意図タイプ(例えば、意図タイプ229)を含む(1910)。各意図タイプは、データソースに向けられたデータ分析動作の時点定義されたセットから選択される(1911)。
【0224】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む(1912)。これは、図6に例示されている。
【0225】
いくつかの実装形態では、要求は、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む(1914)。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する(1915)。
【0226】
要求に応答して(1916)、1つ以上の意図タイプの各々について、電子デバイス102は、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、要求に従って、それぞれの意図仕様を定式化する(1918)。
【0227】
電子デバイス102は、それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定する(1920)。
【0228】
それぞれの意図タイプが曖昧又は情報不足であるという判定(1922)に従って、電子デバイス102は、(i)1つ以上のそれぞれのルール、(ii)データソースのメタデータ、及び(iii)要求において指定されたデータフィールドのメタデータに従って、曖昧な及び/又は情報不足の意図を解決するために情報を推論する(1924)。
【0229】
いくつかの実装形態では、データソースのメタデータは、データフィールドの意味、データフィールドに対応するデータフィールドタイプ、データフィールドの統計、データフィールドの導出、及び/又はデータフィールドに対応するデフォルトビンサイズのメタデータを含む(1926)。
【0230】
いくつかの事例では、データフィールドタイプは、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む(1928)。
【0231】
電子デバイス102は、推論された情報に従って、それぞれの意図タイプを更新する(1930)。
【0232】
いくつかの実装形態では、方法1900は、以前の要求からのコンテキスト、以前の要求において識別されたデータフィールド、以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、曖昧な及び/又は情報不足の意図を解決するたに情報を推論すること(1932)を更に含む。例えば、ユーザは、データソースのデータテーブルに付加されるコンテンツをキュレートすることができる。いくつかの実装形態では、ユーザはまた、メタデータとして、「このデータフィールドXXは、通貨フィールドとして解釈され得る」などの定義を含むことができる。
【0233】
いくつかの実装形態では、電子デバイス102は、それぞれの出力仕様を生成する(1934)。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択されるそれぞれの推奨されるデータ視覚化タイプを含む(1936)。それぞれの出力仕様は、(1)推論された情報を含み、かつ(2)それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む(1938)。
【0234】
いくつかの実装形態では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、それぞれの意図タイプのそれぞれの意図仕様に対応するデータプロパティのセットを識別することと(1940)、要求がデータプロパティのセットの各データプロパティの属性を指定しているかどうかを判定することと(1942)、を更に含む。いくつかの実装形態では、要求がデータプロパティのセット内のデータプロパティの2つ以上の属性を指定しているときに、電子デバイス102は、それぞれの意図タイプが曖昧であると判定する(1944)。いくつかの実装形態では、要求がデータプロパティのセット内の少なくとも1つのデータプロパティの属性を指定していないときに、電子デバイス102は、それぞれの意図タイプが情報不足であると判定する(1946)。
【0235】
いくつかの実装では、要求がデータプロパティのセットの各データプロパティについて厳密に1つの属性を指定しているという判定に従って、電子デバイス102は、それぞれの意図タイプが完全に指定されていると確立する(1948)。
【0236】
いくつかの実装形態では、1つ以上のそれぞれのルールを適用して、それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することは、要求が測定可能な形容詞を指定し(1950)、数量を指定していないという判定に従って、電子デバイス102は、それぞれの意図タイプが曖昧であると確定する(1952)ことを更に含む。電子デバイス102は、数量の数値を推論する(1954)。
【0237】
いくつかの実装形態では、それぞれの意図タイプは、フォーカス戦略プロパティを有するフォーカス意図である(1956)。情報不足の意図を解決するために情報を推論することは、要求が「フィルタ」、「強調表示」、及び「ズーム」からなる群から選択される第1の用語を含まないという判定に従って、デフォルトフォーカス戦略として強調表示戦略を選択すること(1958)を更に含む。
【0238】
いくつかの事例では、デフォルト戦略として強調表示戦略を選択することは、データソースのデータテーブルからのデータ行を、データテーブル内のデータフィールドのデータ値に従って、昇順又は降順に並べるソート動作を実行することと(1962)、データ値のランキングに基づいて指定された数のデータ値を強調表示する強調表示動作を実行することと(1964)、を更に含む。
【0239】
いくつかの実装形態では、それぞれの意図タイプは、フィールドプロパティを有するフォーカス意図である(1966)。情報不足の意図を解決するために情報を推論することは、要求がデータフィールドを指定していないという判定に従って、テキストデータタイプを有し、かつ要求において指定された数量以上のドメインを有するデータフィールドを(例えば、メタデータに基づいて)データソースから選択すること(1968)を更に含む。いくつかの実装形態では、ドメインは、要求において指定された数量と同じとすることができる。いくつかの実装形態では、要求において指定された数量がドメインよりも大きい場合、電子デバイス102は、要求における数量をドメインのサイズになるように修正することができる。
【0240】
いくつかの実装形態では、それぞれの意図タイプは、フィールドプロパティを有するフォーカス意図である(1970)。情報不足の意図を解決するために情報を推論することは、データソースがテキストデータタイプ、及び指定された数量以上のドメインを有するデータフィールドを含まないという判定に従って、ドメインが要求において指定されたデータ値を含むデータフィールドをデータソースから選択すること(1972)を更に含む。
【0241】
いくつかの実装形態では、それぞれの意図タイプは、フォーカス意図である(1974)。方法1900は、要求が価格の形容詞を含む(例えば、形容詞が「安い」、「高価」、「最も高価」、「最も安価」、「高価(extravagant)」などを含む)という判定に従って、データソースが通貨フィールドタイプを有するデータフィールドを含むかどうかを(例えば、メタデータに少なくとも部分的に基づいて)判定すること(1976)を更に含む。いくつかの実装形態では、データソースが通貨フィールドタイプを有するデータフィールドを含むという判定に従って、電子デバイス102は、データフィールドに対してソート動作を実行する(1978)。いくつかの実装形態では、データソースが通貨フィールドタイプを有するデータフィールドを含まないという判定(1980)に従って、電子デバイス102は、データソース内の全ての数値データフィールド(例えば、測定フィールド)を識別する(1982)。電子デバイス102は、数値データフィールドの各々に対してそれぞれのソート動作を実行する(1984)。
【0242】
いくつかの実装形態では、それぞれの意図タイプは、グループ化フィールド及びビンサイズを含むグループ化プロパティを有する配信意図である(1986)。情報不足の意図を解決するために情報を推論することは、要求がグループ化フィールドを指定していないという判定(1988)に従って、(1)数量依存フィールドタイプ、数量非依存フィールドタイプ、又は通貨フィールドタイプを有するデータソース内の全てのデータフィールドを識別することと(1990)、(2)識別されたデータフィールドの各々をグループ化フィールドの推論された情報として指定することと(1992)、を更に含む。
【0243】
いくつかの事例では、要求がビンサイズを指定しているという判定に従って、電子デバイス102は、メタデータ内のビンサイズ情報を、指定されたビンサイズに置き換える(1994)。
【0244】
いくつかの実装形態では、意図タイプは、測定データフィールド及び日付データフィールドを含む傾向プロパティを有する傾向意図である(1996)。情報不足の意図を解決するために情報を推論することは、要求が測定データフィールドを含まないという判定(1998)に従って、(1)データソース内の全ての数量依存フィールドを識別することと(19100)、(2)数量依存フィールドの各々を測定データフィールドの推論された情報として指定することと(19102)、を更に含む。いくつかの実装形態では、情報不足の意図を解決するために情報を推論することは、要求が時間フィールドタイプを有するデータフィールドを含まないという判定(19104)に従って、(1)データソース内の全ての時間データフィールドを識別することと(19106)、(2)時間データフィールドの各々を日付データフィールドの推論された情報として指定することと(19108)、を更に含む。
【0245】
いくつかの実装形態では、意図タイプは、2つの数値データフィールドを相関させるための相関意図である(19110)。情報不足の意図を解決するために情報を推論することは、(1)要求が1つの数値データフィールドのみを指定しているときに、データソースからの全ての数値データフィールドから第2のデータフィールドの使用を推論することと(19112)、(2)要求が数値データフィールドを指定していないときに、データソースからの全ての数値データフィールドから第1のデータフィールド及び第2のデータフィールドの使用を推論することと(19114)、を更に含む。
【0246】
図20A図20Fは、方法2000のフローチャートを提供する。方法2000は、プロセスとも称される。
【0247】
方法2000は、第1のアプリケーション(例えば、クライアントアプリケーション224)を実行している電子デバイス102において行われる(2002)。
【0248】
電子デバイス102は、1つ以上のプロセッサ202及びメモリ216を含む(2004)。メモリは、1つ以上のプロセッサ202によって実行されるように構成された1つ以上のプログラムを記憶する(2006)。いくつかの実装形態では、図4図17に示される動作は、メモリ216又は他の非一時的なコンピュータ可読記憶媒体に記憶された命令に対応する。コンピュータ可読記憶媒体は、磁気若しくは光ディスク記憶デバイス、フラッシュメモリなどのソリッドステート記憶デバイス、又は他の1つ以上の不揮発性メモリデバイスを含み得る。コンピュータ可読記憶媒体に格納された命令は、ソースコード、アセンブリ言語コード、オブジェクトコード、又は1つ以上のプロセッサによって解釈される他の命令フォーマットのうちの1つ以上を含み得る。方法1800におけるいくつかの動作は、組み合わされ得、及び/又はいくつかの動作の順序は、変更され得る。
【0249】
電子デバイスは、電子デバイスと通信可能に接続されたサーバシステム(例えば、サーバシステム300)から、第1のアプリケーションを含む複数のアプリケーションにわたって実行するように構成されている視覚分析意図ライブラリ(例えば、視覚分析意図ライブラリ323)をダウンロードする(2008)。
【0250】
電子デバイス102は、電子デバイスが第1のアプリケーションが実行していることに基づいて、電子デバイス上で実行するように視覚分析意図ライブラリを設定する(2010)。
【0251】
設定後、電子デバイス102は、データソースに向けられた要求を受信する(2012)。要求は、1つ以上の意図タイプを含む(2014)。意図タイプの各々は、データソースに向けられたデータ分析動作の事前定義されたセットから選択される(2015)。
【0252】
いくつかの実装形態では、1つ以上の意図タイプは、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む(2016)。
【0253】
要求はまた、1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性を含む(2018)。1つ以上の事前定義された属性の各々は、それぞれの意図タイプのそれぞれのデータ分析動作を制限する(2019)。
【0254】
要求に従って、1つ以上の意図タイプの各々について、電子デバイス102は、それぞれの1つ以上の事前定義された属性に従って、かつ要求において指定されたデータソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、視覚分析意図ライブラリに従って、それぞれの意図仕様を定式化する(2020)。
【0255】
いくつかの実装形態では、電子デバイスは、第1のデバイスタイプを有する。いくつかの実装形態では、視覚分析意図ライブラリは、第1のデバイスタイプを含む複数のデバイスタイプにわたって実行するように構成されている。
【0256】
いくつかの実装形態では、意図タイプの各々について、それぞれの意図仕様を定式化した後、電子デバイス102は、視覚分析意図ライブラリに従って、それぞれの出力仕様を生成する(2022)。それぞれの出力仕様は、データソースの、データ視覚化タイプの事前定義されたセットから選択されたそれぞれの推奨されるデータ視覚化タイプを含む(2024)。それぞれの出力仕様はまた、それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータを含む(2026)。
【0257】
いくつかの実装形態では、1つ以上のそれぞれのデータ視覚化パラメータは、データ整形情報、符号化情報、及び/又は意図仕様に対応する識別子を含む(2028)。
【0258】
いくつかの実装形態では、1つ以上の意図タイプの各々についてそれぞれの出力仕様を生成した後、電子デバイス102は、(i)1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、要求に応答してデータ分析を視覚的にレンダリングする(2030)。
【0259】
いくつかの実装形態では、要求に応答してデータ分析を視覚的にレンダリングすることは、第1のデバイスタイプを有する電子デバイス102に更に従う(2032)。例えば、いくつかの実装形態では、要求に応答してデータ分析を視覚的にレンダリングすることは、ディスプレイ画面を有する電子デバイス、若しくはディスプレイ画面のサイズ)、又はオーディオ入力及び出力デバイスなどの周辺機器に更に従う。
【0260】
いくつかの事例では、1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様は、第1の意図タイプに対応し、かつ推論された情報を有する第1の出力仕様を含む(2034)。データ分析を視覚的にレンダリングすることは、第1のアプリケーションにおいて推論された情報を表示すること(2036)を更に含む。
【0261】
いくつかの実装形態では、電子デバイス102は、推論された情報を、要求に含まれる情報と視覚的に区別される方式で表示する。いくつかの実装形態では、推論された情報を表示することは、推論されたデータフィールドの識別を表示することを含む。いくつかの実装形態では、推論された情報を表示することは、要求内の用語内の用語がどのように解釈されたかの説明を提供することを含むことができる。
【0262】
いくつかの事例では、電子デバイス102は、推論された情報が修正されることを可能にするデータウィジェット(例えば、図16Eのデータウィジェット1618)を表示する(2038)。電子デバイス102は、データウィジェットとのユーザ対話を受信する(2040)。ユーザ対話に応答して(2042)、電子デバイス102は、第1の意図仕様を編集する(2044)。電子デバイス102は、編集された第1の意図仕様に従って、第1の出力仕様を更新する(2046)。電子デバイス102は、更新された第1の出力仕様及び第1のアプリケーション及び/又は電子デバイスの設定パラメータに従って、更新されたデータ分析を生成し(2048)、視覚的にレンダリングする。
【0263】
いくつかの実装形態では、電子デバイス102は、音声アシスタントデバイス(例えば、ディスプレイ画面を含まない図1の音声アシスタントデバイス102-3、又はディスプレイ画面1700を含む図17の音声アシスタントデバイス)である(2050)。方法2000は、それぞれの出力仕様を生成した後、それぞれの出力仕様をそれぞれの口語的応答に変換することと(2054)、それぞれの口語的応答を出力することと(2056)、を更に含む。
【0264】
例えば、図17Cは、「最も高価な品種を私に見せてください。」というユーザ要求に応答して、電子デバイスが、出力仕様をそれぞれの口語的応答に変換し、「最も高価な品種は、カベルネ・ソーヴィニョンです。」という口語的応答1710を出力することを示す。
【0265】
いくつかの実装形態では、口語的応答は、視覚化を言語で記載する応答を含むことができる。いくつかの実装形態では、口頭的応答は、要求内の曖昧な用語がどのように推論されたかを口語的に記載する応答を含むことができる。
【0266】
いくつかの事例では、それぞれの出力仕様は、推論された情報を含む(2058)。それぞれの口語的応答を出力することは、推論された情報の口語的説明(例えば、説明、明確化など)を出力すること(2060)を含む
【0267】
いくつかの実装形態では、応答を出力した後、音声アシスタントデバイスは、推論された情報がユーザ要求と一致することを明確にするか又は確認するために、フォローアップ質問をユーザに明示することができる。
【0268】
いくつかの実装形態では、第1のアプリケーションは、グラフィカルユーザインターフェースを含む(2062)。方法2000は、グラフィカルユーザインターフェースを介して、1つ以上の意図タイプの識別を含め、要求を受信すること(2064)を更に含む。
【0269】
例えば、図14A図14Jに示すように、第1のアプリケーション224は、グラフィカルユーザインターフェース1400を含む。方法は、グラフィカルユーザインターフェース1400を介して、1つ以上の意図タイプ1408の識別を含め、要求を受信することを更に含む。
【0270】
いくつかの事例では、電子デバイス102は、それぞれの出力仕様に従って、それぞれのデータ視覚化を生成する(2066)。電子デバイス102は、グラフィカルユーザインターフェース上にデータ視覚化を表示する(2068)。これは、図14D図14E図14F、及び図14Hに例示されている。
【0271】
いくつかの実装形態では、第1のアプリケーションは、メッセージングアプリケーションである(2070)。方法2000は、それぞれの出力仕様を生成した後(2072)、(1)視覚的仕様をテキスト出力に変換することと(2074)、(2)メッセージングアプリケーションにおいてテキスト出力を表示することと(2076)、を更に含む。
【0272】
例えば、いくつかの実装形態では、第1のアプリケーションは、図1のチャットアプリケーション106又は図15及び図16のSlackbotアプリケーションなどのメッセージングアプリケーションである。方法は、それぞれの出力仕様を生成した後、視覚的仕様を、図16Eのテキスト出力1612又は図16Gのテキスト出力1622などのテキスト出力に変換することを更に含む。方法はまた、メッセージングアプリケーションのユーザインターフェース1600にテキスト出力を表示すること、を含む。
【0273】
いくつかの実装形態では、要求を受信する前に、電子デバイス102は自然言語コマンドを受信する(2078)。電子デバイス102は、要求を形成するための視覚的意図仕様言語に従って、自然言語コマンドを(例えば、パーサ226又はパーサ1506を使用して)解析する(2080)。
【0274】
いくつかの事例では、電子デバイス102は、解析に従って、1つ以上の意図タイプが「時間」という用語又は「傾向」という用語を有する自然言語コマンドに従って、傾向意図タイプを含むと判定する(2082)。
【0275】
いくつかの事例では、電子デバイス102は、解析に従って、1つ以上の意図タイプが、測定可能な形容詞(例えば、「最高」、「最低」、「高い」、「低い」、又は「最も高価な」などの形容詞)を有する自然言語コマンドに従って、フォーカス意図タイプを含むと判定する(2084)。いくつかの実装形態では、測定可能な形容詞は、数値的に数量化され、ランク付けされ、又は特定の順序で並べられ得る属性を有する形容詞を指す。
【0276】
いくつかの実装形態では、方法2000は、第1の意図仕様を要求において定式化された意図仕様と相関させることによって、以前の要求から定式化された第1の意図仕様を更新すること(2086)を更に含む。
【0277】
いくつかの事例では、以前の要求は、データソースからの第1のデータフィールドを含む(2088)。要求は、第1のデータフィールドをデータソースからの第2のデータフィールドで置換すること(2090)を指定する。第1の意図仕様を更新することは、第1のデータフィールドを第2のデータフィールドで置き換えること(2092)を含む。
【0278】
上記で識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、前述のメモリデバイスのうちの1つ以上に記憶され得、上述された機能を行うための命令のセットに対応する。上記の識別されたモジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、又は別様に再配置され得る。いくつかの実装形態では、メモリ216は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ216は、上述されていない追加のモジュール又はデータ構造を記憶し得る。
【0279】
本明細書において本発明の説明で使用される用語は、特定の実装形態を説明することのみを目的としたものであり、本発明を限定することを意図するものではない。本発明の説明及び添付の特許請求の範囲において使用される場合、単数形「a」、「an」及び「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図される。本明細書で使用される場合、「及び/又は」という用語は、関連する列挙された項目のうちの1つ以上のありとあらゆる可能な組み合わせを指し、それらを包含することも理解されよう。「含む(comprises)」及び/又は「含んでいる(comprising)」という用語は、本明細書で使用されたとき、述べられた特徴、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を排除しないことが更に理解されよう。
【0280】
前述の説明は、説明の目的で、特定の実装形態を参照して記載されている。しかしながら、上記の例示的な考察は、網羅的であること、又は本発明を開示された厳密な形態に限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。実装形態は、本発明の原理及びその実用的な用途を最良に説明するために選択及び記載され、これにより他の当業者は、本発明と、企図される特定の使用に適した様々な修正を伴う様々な実装形態とを最大限に活用することが可能となる。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14A
図14B
図14C
図14D
図14E
図14F
図14G
図14H
図14I
図14J
図15
図16A
図16B
図16C
図16D
図16E
図16F
図16G
図17A
図17B
図17C
図18A
図18B
図18C
図18D
図18E
図19A
図19B
図19C
図19D
図19E
図19F
図19G
図20A
図20B
図20C
図20D
図20E
図20F
【手続補正書】
【提出日】2023-11-09
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
方法であって、
第1のアプリケーションを実行している電子デバイスであって、1つ以上のプロセッサと、前記1つ以上のプロセッサによる実行のための1つ以上のプログラムを記憶するメモリと、を含む、電子デバイスにおいて、
データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記1つ以上の意図タイプの各々について、
それぞれの前記1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記要求に従って前記それぞれの意図仕様を定式化することと、
それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むことと、を含む、方法。
【請求項2】
前記1つ以上の意図タイプが、フォーカス意図、傾向意図、相関意図、分布意図、地理的意図、符号化意図、及びフィールド意図のうちの1つ以上を含む、請求項1に記載の方法。
【請求項3】
前記要求が、前記傾向意図を含み、
前記それぞれの意図仕様を定式化することが、前記データソースから、(i)測定データフィールド、及び(ii)時間を表す第1のデータフィールドを識別すること、
を含む、請求項2に記載の方法。
【請求項4】
前記要求が、前記傾向意図を含み、
前記それぞれの意図仕様を定式化することが、前記データソースから、(i)全ての測定データフィールド、及び(ii)時間を表す全てのデータフィールドを識別すること、
を含む、請求項2に記載の方法。
【請求項5】
前記要求が、前記フォーカス意図を含み、
前記それぞれの意図仕様を定式化することが、
前記データソースからのデータ行をある順序で並べるソート動作と、
前記データソースからの前記データ行を、特定のデータフィールドが特定のデータ値を有するデータ行のサブセットにフィルタリングするフィルタ動作と、
前記データソースからのデータ行のサブセットを強調表示する強調表示動作と、のうちの1つ以上を実行すること、
を含む、請求項2に記載の方法。
【請求項6】
前記要求が、前記符号化意図を含み、第1のデータフィールドを指定し、
前記それぞれの出力仕様を生成することが、
前記第1のデータフィールドに従って、前記データ視覚化をレンダリングすることを指定する符号化パラメータを追加すること、又は
前記第1のデータフィールドに従って、前記データ視覚化の既存の符号化パラメータをオーバーライドすること、
を含む、請求項2に記載の方法。
【請求項7】
前記要求が、前記フィールド意図を含み、第1のデータフィールドを指定し、
それぞれの出力仕様を生成することは、前記第1のデータフィールドによって課されるセマンティック制約に基づいて1つ以上の推論ルールを適用すること、
を含む、請求項2に記載の方法。
【請求項8】
前記1つ以上の意図タイプの各々について、
前記それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することと、
前記それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、(i)前記1つ以上のそれぞれのルール、(ii)前記データソースのメタデータ、及び(iii)前記要求において指定されたデータフィールドのメタデータに従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することと、
推論された前記情報に従って、前記1つ以上のそれぞれのデータ視覚化パラメータを更新することと、
を更に含む、請求項1に記載の方法。
【請求項9】
前記1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することが、
前記要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、
前記それぞれの意図タイプが曖昧であると確立することと、
前記数量の数値を推論することと、を更に含む、請求項8に記載の方法。
【請求項10】
前記データソースの前記メタデータが、データフィールドの意味、前記データフィールドに対応するデータフィールドタイプ、前記データフィールドの統計、前記データフィールドの導出、及び/又は前記データフィールドに対応するデフォルトビンサイズのメタデータを含む、請求項8に記載の方法。
【請求項11】
前記データフィールドタイプが、カテゴリフィールドタイプ、時間フィールドタイプ、地理的フィールドタイプ、通貨フィールドタイプ、数量依存フィールドタイプ、数量非依存フィールドタイプ、緯度フィールドタイプ、及び経度フィールドタイプのうちの1つ以上を含む、請求項10に記載の方法。
【請求項12】
以前の要求からのコンテキスト、前記以前の要求において識別されたデータフィールド、前記以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することを更に含む、請求項8に記載の方法。
【請求項13】
前記1つ以上のそれぞれのデータ視覚化パラメータが、データ整形情報、符号化情報、及び/又は前記意図仕様に対応する識別子を含む、請求項1に記載の方法。
【請求項14】
前記1つ以上の意図タイプの各々について前記それぞれの出力仕様を生成した後、(i)前記1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、及び(ii)前記第1のアプリケーション及び/又は前記電子デバイスの設定パラメータに従って、前記要求に応答してデータ分析を視覚的にレンダリングすること、
を更に含む、請求項1に記載の方法。
【請求項15】
電子デバイスであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリと、を備え、前記メモリが、前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムを記憶しており、前記1つ以上のプログラムが、
データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記1つ以上の意図タイプの各々について、
それぞれの前記1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記要求に従って前記それぞれの意図仕様を定式化することと、
それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むことと、を行うための命令を含む、電子デバイス。
【請求項16】
前記1つ以上のプログラムが、
前記1つ以上の意図タイプの各々について、
前記それぞれの意図タイプに対応する1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定することと、
前記それぞれの意図タイプが曖昧又は情報不足であるという判定に従って、(i)前記1つ以上のそれぞれのルール、(ii)前記データソースのメタデータ、及び(iii)前記要求において指定されたデータフィールドのメタデータに従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論することと、
推論された前記情報に従って、前記1つ以上のそれぞれのデータ視覚化パラメータを更新することと、を行うための命令を更に含む、請求項15に記載の電子デバイス。
【請求項17】
前記1つ以上のそれぞれのルールを適用して、前記それぞれの意図タイプが曖昧及び/又は情報不足であるかどうかを判定するための前記命令が、
前記要求が測定可能な形容詞を指定し、数量を指定していないという判定に従って、
前記それぞれの意図タイプが曖昧であると確立することと、
前記数量の数値を推論することと、を行うための命令を更に含む、請求項16に記載の電子デバイス。
【請求項18】
前記1つ以上のプログラムが、以前の要求からのコンテキスト、前記以前の要求において識別されたデータフィールド、前記以前の要求において識別された属性、ユーザ提供解釈、及び/又はユーザ提供定義に従って、前記曖昧な及び/又は情報不足の意図を解決するために情報を推論するための命令を更に含む、請求項16に記載の電子デバイス。
【請求項19】
前記1つ以上のプログラムが、
前記1つ以上の意図タイプの各々について前記それぞれの出力仕様を生成した後、(i)前記1つ以上の意図タイプのうちの1つの少なくとも1つの出力仕様、並びに(ii)第1のアプリケーション及び/又は前記電子デバイスの設定パラメータに従って、前記要求に応答してデータ分析を視覚的にレンダリングするための命令を更に含む、請求項15に記載の電子デバイス。
【請求項20】
1つ以上のプログラムを記憶する非一時的なコンピュータ可読記憶媒体であって、前記1つ以上のプログラムは、電子デバイスによって実行されるときに、前記電子デバイスに、
データソースに向けられた要求を受信することであって、前記要求が、(i)各意図タイプが前記データソースに向けられたデータ分析動作の事前定義されたセットから選択される1つ以上の意図タイプと、(ii)前記1つ以上の意図タイプに関連付けられた1つ以上の事前定義された属性であって、前記1つ以上の事前定義された属性の各々がそれぞれの意図タイプのそれぞれのデータ分析動作を制限する、1つ以上の事前定義された属性と、を含むことと、
前記1つ以上の意図タイプの各々について、
それぞれの前記1つ以上の事前定義された属性に従って、かつ前記要求において指定された前記データソースからのデータフィールドに従って、それぞれの意図仕様の1つ以上のそれぞれのプロパティを判定することを含む、前記要求に従って前記それぞれの意図仕様を定式化することと、
それぞれの出力仕様を生成することであって、前記それぞれの出力仕様が、(i)前記データソースの、データ視覚化タイプの事前定義されたセットから選択される、それぞれの推奨されるデータ視覚化タイプと、(ii)前記それぞれの推奨されるデータ視覚化タイプのデータ視覚化をどのようにレンダリングするかを指定する1つ以上のそれぞれのデータ視覚化パラメータと、を含むことと、を含む動作を行わせる命令を含む、非一時的なコンピュータ可読記憶媒体。
【国際調査報告】