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

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

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

特表2024-502546単語共起及び感情分析を用いた視覚分析における曖昧な意図修飾語の解釈
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-01-22
(54)【発明の名称】単語共起及び感情分析を用いた視覚分析における曖昧な意図修飾語の解釈
(51)【国際特許分類】
   G06F 16/24 20190101AFI20240115BHJP
   G06F 16/248 20190101ALI20240115BHJP
   G06F 40/279 20200101ALI20240115BHJP
【FI】
G06F16/24
G06F16/248
G06F40/279
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023535640
(86)(22)【出願日】2021-12-30
(85)【翻訳文提出日】2023-07-26
(86)【国際出願番号】 US2021065732
(87)【国際公開番号】W WO2022147286
(87)【国際公開日】2022-07-07
(31)【優先権主張番号】17/138,719
(32)【優先日】2020-12-30
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521550194
【氏名又は名称】タブロー ソフトウェア,エルエルシー
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】セトラー,ヴィディヤ,ラガヴァン
(72)【発明者】
【氏名】クマール,アラティ
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175EA03
5B175GC03
5B175JA02
(57)【要約】
方法は、データ視覚化を生成する。デバイスは、データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信する。自然言語コマンドは、自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを含む。デバイスは、共起メトリックを使用して共起を定量化することに基づいて、データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の第1のキーワードと共起する数値データフィールドを識別する。デバイスは、第1のキーワードの感情極性と数値データフィールドのフィールド名との相関に基づいて、数値データフィールドの値の数値範囲を計算する。次いで、デバイスは、数値データフィールドの数値範囲に従ってデータソースからのデータの行をフィルタリングすることに基づいて、データソースのデータ視覚化を生成する。
【特許請求の範囲】
【請求項1】
自然言語表現からデータ視覚化を生成するための方法であって、
ディスプレイと、1つ以上のプロセッサと、前記1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを記憶するメモリと、を有するコンピューティングデバイスにおいて、
データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信することであって、前記自然言語コマンドが、前記データソースに関する情報の要求を含む、受信することと、
前記自然言語コマンドにおいて、前記自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを識別することと、
共起メトリックを使用して共起を定量化することに基づいて、前記データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の前記第1のキーワードと共起する数値データフィールドを識別することと、
前記第1のキーワードの感情極性と前記数値データフィールドの前記フィールド名との相関に基づいて、前記数値データフィールドの値の数値範囲を計算することであって、(i)[med+MAD,max]範囲内の前記数値データフィールドの上位N個の値、又は(ii)[min,abs(med-MAD)]範囲内の前記数値データフィールドの下位N個の値を計算することを含み、ここで、med、MAD、min、及びmaxは、それぞれ前記数値データフィールドの中央値、中央値絶対偏差、最小値、及び最大値である、計算することと、
前記数値データフィールドの前記数値範囲に従って前記データソースからのデータの行をフィルタリングすることに基づいて、前記データソースから取り出されたデータを表す複数の視覚マークを含むデータ視覚化を生成及び表示することと、を含む、方法。
【請求項2】
前記数値データフィールドの値の前記数値範囲を計算することが、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と正に相関するという判定に従って、前記数値データフィールドの上位N個の値を計算することと、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と負に相関するという判定に従って、前記数値データフィールドの値の下位N個を計算することと、を含む、請求項1に記載の方法。
【請求項3】
ドメイン固有情報に基づいて、前記数値データフィールドの値のデフォルト範囲を決定することを更に含む、請求項1に記載の方法。
【請求項4】
対話型テキストを表示して、前記第1のキーワードの解釈の出所を示すことを更に含む、請求項1に記載の方法。
【請求項5】
1つ以上のユーザインターフェースウィジェットを表示して、前記数値範囲を示し、修復し、かつ/又は絞り込むことを更に含む、請求項1に記載の方法。
【請求項6】
1つ以上の色符号化を使用して、前記第1のキーワードの前記感情極性と前記数値データフィールドの前記フィールド名と、を表示することを更に含む、請求項1に記載の方法。
【請求項7】
前記共起メトリックが、前記第1のキーワードと前記データソースからの前記複数の数値データフィールドのフィールド名との全てのnグラム組み合わせの間の共起を測定する、請求項1に記載の方法。
【請求項8】
前記共起メトリックが、前記データソースからのそれぞれの数値データフィールドの各データフィールド名について自己相互情報量尺度(PMI)スコアを計算し、前記それぞれのデータフィールド名の前記第1のキーワードへの結合を測定する、請求項1に記載の方法。
【請求項9】
前記データ視覚化を生成することが、
前記データソースから、前記データソースと、複数の視覚変数と、複数のデータフィールドと、を指定する視覚仕様を生成することであって、
前記視覚変数の各々が、前記複数のデータフィールドのうちのそれぞれの1つ以上のデータフィールドに関連付けられ、前記データフィールドの各々が、次元又は尺度のいずれかとして識別され、かつ
前記第1のキーワードが、前記複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応する、生成することと、
前記視覚仕様に従って、前記データ視覚化を生成及び表示することと、を含む、請求項1に記載の方法。
【請求項10】
コンピューティングデバイスであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサに結合されたメモリと、
ディスプレイと、
前記メモリに記憶され、前記1つ以上のプロセッサによって実行されるように構成された1つ以上のプログラムと、を備え、前記1つ以上のプログラムが、
データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信するための命令であって、前記自然言語コマンドが、前記データソースに関する情報の要求を含む、命令と、
前記自然言語コマンドにおいて、前記自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを識別するための命令と、
共起メトリックを使用して共起を定量化することに基づいて、前記データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の前記第1のキーワードと共起する数値データフィールドを識別するための命令と、
前記第1のキーワードの感情極性と前記数値データフィールドの前記フィールド名との相関に基づいて、前記数値データフィールドの値の数値範囲を計算するための命令であって、(i)[med+MAD,max]範囲内の前記数値データフィールドの上位N個の値、又は(ii)[min,abs(med-MAD)]範囲内の前記数値データフィールドの下位N個の値を計算することを含み、ここで、med、MAD、min、及びmaxは、それぞれ前記数値データフィールドの中央値、中央値絶対偏差、最小値、及び最大値である、命令と、
前記数値データフィールドの前記数値範囲に従って前記データソースからのデータの行をフィルタリングすることに基づいて、前記データソースから取り出されたデータを表す複数の視覚マークを含むデータ視覚化を生成及び表示するための命令と、を含む、コンピューティングデバイス。
【請求項11】
前記数値データフィールドの値の前記数値範囲を計算することが、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と正に相関するという判定に従って、前記数値データフィールドの上位N個の値を計算することと、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と負に相関するという判定に従って、前記数値データフィールドの値の下位N個を計算することと、を含む、請求項10に記載のコンピューティングデバイス。
【請求項12】
対話型テキストを表示して、前記第1のキーワードの解釈の出所を示すことを更に含む、請求項10に記載のコンピューティングデバイス。
【請求項13】
1つ以上のユーザインターフェースウィジェットを表示して、前記数値範囲を示し、修復し、かつ/又は絞り込むことを更に含む、請求項10に記載のコンピューティングデバイス。
【請求項14】
1つ以上の色符号化を使用して、前記第1のキーワードの前記感情極性と前記数値データフィールドの前記フィールド名と、を表示することを更に含む、請求項10に記載のコンピューティングデバイス。
【請求項15】
前記共起メトリックが、前記第1のキーワードと前記データソースからの前記複数の数値データフィールドのフィールド名との全てのnグラム組み合わせの間の共起を測定する、請求項10に記載のコンピューティングデバイス。
【請求項16】
前記共起メトリックが、前記データソースからのそれぞれの数値データフィールドの各データフィールド名について自己相互情報量尺度(PMI)スコアを計算し、前記それぞれのデータフィールド名の前記第1のキーワードへの結合を測定する、請求項10に記載のコンピューティングデバイス。
【請求項17】
前記データ視覚化を生成することが、
前記データソースから、前記データソースと、複数の視覚変数と、複数のデータフィールドと、を指定する視覚仕様を生成することであって、
前記視覚変数の各々が、前記複数のデータフィールドのうちのそれぞれの1つ以上のデータフィールドに関連付けられ、前記データフィールドの各々が、次元又は尺度のいずれかとして識別され、かつ
前記第1のキーワードが、前記複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応する、生成することと、
前記視覚仕様に従って、前記データ視覚化を生成及び表示することと、を含む、請求項10に記載のコンピューティングデバイス。
【請求項18】
1つ以上のプログラムを記憶する非一時的コンピュータ可読記憶媒体であって、前記1つ以上のプログラムが、1つ以上のプロセッサと、メモリと、ディスプレイと、を有するコンピューティングデバイスによって実行されるように構成され、前記1つ以上のプログラムが、
データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信するための命令であって、前記自然言語コマンドが、前記データソースに関する情報の要求を含む、命令と、
前記自然言語コマンドにおいて、前記自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを識別するための命令と、
共起メトリックを使用して共起を定量化することに基づいて、前記データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の前記第1のキーワードと共起する数値データフィールドを識別するための命令と、
前記第1のキーワードの感情極性と前記数値データフィールドの前記フィールド名との相関に基づいて、前記数値データフィールドの値の数値範囲を計算するための命令であって、(i)[med+MAD,max]範囲内の前記数値データフィールドの上位N個の値、又は(ii)[min,abs(med-MAD)]範囲内の前記数値データフィールドの下位N個の値を計算することを含み、ここで、med、MAD、min、及びmaxは、それぞれ前記数値データフィールドの中央値、中央値絶対偏差、最小値、及び最大値である、命令と、
前記数値データフィールドの前記数値範囲に従って前記データソースからのデータの行をフィルタリングすることに基づいて、前記データソースから取り出されたデータを表す複数の視覚マークを含むデータ視覚化を生成及び表示するための命令と、を含む、コンピュータ可読記憶媒体。
【請求項19】
前記数値データフィールドの値の前記数値範囲を計算することが、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と正に相関するという判定に従って、前記数値データフィールドの上位N個の値を計算することと、
前記第1のキーワードの意味極性が前記数値データフィールドの前記フィールド名の意味極性と負に相関するという判定に従って、前記数値データフィールドの値の下位N個を計算することと、を含む、請求項18に記載のコンピュータ可読記憶媒体。
【請求項20】
前記データ視覚化を生成することが、
前記データソースから、前記データソースと、複数の視覚変数と、複数のデータフィールドと、を指定する視覚仕様を生成することであって、
前記視覚変数の各々が、前記複数のデータフィールドのうちのそれぞれの1つ以上のデータフィールドに関連付けられ、前記データフィールドの各々が、次元又は尺度のいずれかとして識別され、かつ
前記第1のキーワードが、前記複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応する、生成することと、
前記視覚仕様に従って、前記データ視覚化を生成及び表示することと、を含む、請求項18に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本出願は、2020年12月30日に出願された「Interpreting Vague Intent Modifiers in Visual Analysis Using Word Co-occurrence and Sentiment Analysis」と題された米国特許出願第17/138,719号の継続出願であり、その全体が参照により組み込まれる。
【0002】
本出願は、2019年10月14日に出願された「Determining Ranges for Vague Modifiers in Natural Language Commands」と題された米国特許出願第16/601,413号に関連し、その全体が参照により本明細書に組み込まれる。
【0003】
(発明の分野)
開示される実装形態は、概してデータ視覚化に関し、より詳細には、ユーザが自然言語表現を使用してデータ視覚化と対話しデータを分析することを可能にする、システム、方法、及びユーザインターフェースに関する。
【背景技術】
【0004】
データ視覚化アプリケーションは、ユーザが、分布、傾向、外れ値、及びビジネス決定を行うのに重要となる他の要因を含むデータセットを視覚的に理解することを可能にする。一部のデータセットは非常に大きいか又は複雑であり、多くのデータフィールドを含む。データの理解及び分析を助けるために、複数のデータ視覚化を有するダッシュボードを含む様々なツールを使用することができる。しかしながら、一部の機能性は、使用するのが難しいか又は複雑なユーザインターフェース内で見つけるのが困難な場合がある。ほとんどのシステムは、クエリに応答して非常に基本的な対話型の視覚化のみを返し、他のシステムは、効果的なクエリを作成するためにエキスパートモデリングを必要とする。他のシステムは、単純なクローズドエンドの質問を必要とし、次いで、単一のテキスト回答又は静的視覚化のみを返すことができる。
【0005】
自然言語は、視覚化を作成しそれと対話するための有用なモダリティとして関心を集めている。自然言語対話技術は、ユーザが自身の分析目標を自然言語発話として表現することを可能にすることによって、非エキスパートであってもデータとの容易で直感的な関与を約束する。自然言語対話は、ユーザの情報ニーズに付随する質問をサポートするときに有効である。しかしながら、視覚分析システムとの自然言語対話をサポートすることは、多くの場合困難である。例えば、ユーザは、言語的に口語的な、指定不足の、又は曖昧な発話を提供する傾向があり、一方、視覚分析システムは、基礎となるデータ及び分析機能に対してこれらの発話を実現するより複雑なニュアンスを有する。ユーザはまた、そのような自然言語インターフェースからの高い精度及び想起を期待する。この点で、多くの自然言語インターフェースは、ユーザの情報ニーズを正確に決定することができない。
【0006】
更に、データ視覚化ツールとの自然言語対話は、「業績の良い部門を見せてほしい」及び「家を買うのに良い地区はどこか?」といった、発話における曖昧かつかなり主観的な修飾語の使用を伴うことが多い。これらの修飾語を解釈することは、従来のデータ視覚化ツールでは多くの場合困難である。なぜなら、修飾語は、明確な意味を欠き、部分的に文脈及び個人的なユーザ選好によって定義されるからである。
【発明の概要】
【0007】
視覚分析システムとの自然言語対話をサポートする、改善されたシステム及び方法が必要とされている。本開示は、有用なデータ視覚化を生成するために自然言語コマンド内の曖昧な修飾語を扱うための技術のセットを採用する、データ視覚化アプリケーションについて記載する。データ視覚化アプリケーションは、インターフェースデフォルトを使用して、有用なデータ視覚化を生成する。いくつかの実装形態は、どのデータフィールド及びフィルタ範囲を、曖昧かつ/又は主観的な述語に関連付けるかを決定するために、単語共起分析及び感情分析を採用する。いくつかの実装形態は、ユーザによって修復及び/又は絞り込まれ得る対話型テキストとして、出所の結果を示す。
【0008】
いくつかの実装形態によれば、方法は、ディスプレイと、1つ以上のプロセッサと、1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを記憶するメモリと、を有するコンピューティングデバイスにおいて実行される。コンピューティングデバイスは、データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信する。自然言語コマンドは、データソースに関する情報の要求を含む。コンピューティングデバイスは、自然言語コマンドにおいて、自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを識別する。コンピューティングデバイスはまた、共起メトリックを使用して共起を定量化することに基づいて、データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の第1のキーワードと共起する数値データフィールドを識別する。コンピューティングデバイスは、第1のキーワードの感情極性と数値データフィールドのフィールド名との相関に基づいて、数値データフィールドの値の数値範囲を計算する。コンピューティングデバイスはまた、数値データフィールドの数値範囲に従ってデータソースからのデータの行をフィルタリングすることに基づいて、データソースから取り出されたデータを表す複数の視覚マークを含むデータ視覚化を生成及び表示する。
【0009】
いくつかの実装形態では、数値データフィールドの値の数値範囲を計算することは、(i)med+MAD~maxの範囲内の数値データフィールドの上位N個の値、又は(ii)min~abs(med-MAD)の範囲内の数値データフィールドの下位N個の値を計算することを含む。要素「med」、「MAD」、「min」、及び「max」は、数値データフィールドの中央値、中央値絶対偏差、最小値、及び最大値である。
【0010】
いくつかの実装形態では、数値データフィールドの値の数値範囲を計算することは、(i)第1のキーワードの意味極性が数値データフィールドのフィールド名の意味極性と正に相関するときに、第1の数値データフィールドの上位N個の値を計算すること、及び(ii)第1のキーワードの意味極性が数値データフィールドのフィールド名の意味極性と負に相関するときに、数値データフィールドの下位N個の値を計算すること、を含む。
【0011】
いくつかの実装形態では、コンピューティングデバイスは、ドメイン固有情報に基づいて、数値データフィールドの値のデフォルト範囲を決定する。
【0012】
いくつかの実装形態では、コンピューティングデバイスは、対話型テキストを表示して、第1のキーワードの解釈の出所を示す。
【0013】
いくつかの実装形態では、コンピューティングデバイスは、1つ以上のユーザインターフェースウィジェットを表示して、数値範囲を示し、修復し、かつ/又は絞り込む。
【0014】
いくつかの実装形態では、コンピューティングデバイスは、1つ以上の色符号化を使用して、第1のキーワードの感情極性と数値データフィールドのフィールド名とを表示する。
【0015】
いくつかの実装形態では、共起メトリックは、第1のキーワードとデータソースからの複数の数値データフィールドのフィールド名との全てのnグラム組み合わせの間の共起を測定する。
【0016】
いくつかの実装形態では、共起メトリックは、データソースからのそれぞれの数値データフィールドの各データフィールド名について自己相互情報量尺度(Pointwise Mutual Information Measure、PMI)スコアを計算し、それぞれのデータフィールド名の第1のキーワードへの結合を測定する。
【0017】
いくつかの実装形態では、データ視覚化を生成することは、データソースから、データソースと、複数の視覚変数と、複数のデータフィールドと、を指定する視覚仕様を生成することを含む。視覚変数の各々は、複数のデータフィールドのうちのそれぞれの1つ以上のデータフィールドに関連付けられ、データフィールドの各々は、次元又は尺度のいずれかとして識別される。第1のキーワードは、複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応する。いくつかの事例では、1つ以上の視覚変数は、数値データフィールドの値の数値範囲に従って1つ以上の第1のデータフィールドに関連付けられる。
【0018】
典型的に、電子デバイスは、1つ以上のプロセッサと、メモリと、ディスプレイと、メモリに記憶された1つ以上のプログラムと、を含む。プログラムは、1つ以上のプロセッサによる実行のために構成され、本明細書に記載される方法のいずれかを実施するように構成されている。
【0019】
いくつかの実装形態では、非一時的コンピュータ可読記憶媒体は、1つ以上のプロセッサと、メモリと、ディスプレイとを有するコンピューティングデバイスによって実行されるように構成された、1つ以上のプログラムを記憶する。1つ以上のプログラムは、本明細書に記載される方法のいずれかを実施するように構成されている。
【0020】
したがって、自然言語コマンドを使用することによって、ユーザがデータ視覚化アプリケーション内に表示されるデータを効率的に生成及び修正することを可能にする方法、システム、及びグラフィカルユーザインターフェースが開示される。
【0021】
前述の一般的な記載及び以下の詳細な記載の両方は、例示的かつ説明的なものであり、特許請求される本発明の更なる説明を提供することを意図している。
【図面の簡単な説明】
【0022】
前述のシステム、方法、及びグラフィカルユーザインターフェース、並びにデータ視覚化分析を提供する追加のシステム、方法、及びグラフィカルユーザインターフェースをよりよく理解するために、以下の図面と併せて、下記の発明を実施するための形態を参照されたい。図面において、同様の参照番号は図全体を通して対応する部分を指している。
図1】いくつかの実装形態で使用されるグラフィカルユーザインターフェースを図示する。
図2A】いくつかの実装形態によるコンピューティングデバイスを図示するブロック図である。
図2B】いくつかの実装形態によるデータ視覚化サーバを図示するブロック図である。
図3A】いくつかの実装形態によるデータ視覚化の例を提供する。
図3B】いくつかの実装形態によるデータ視覚化の例を提供する。
図3C】いくつかの実装形態によるデータ視覚化の例を提供する。
図4A】いくつかの実装形態による、単語共起及び感情分析を使用して視覚分析において曖昧な意図修飾語を解釈するシステムの概略図である。
図4B】いくつかの実装形態による例示的なグラフを示す。
図4C】いくつかの実装形態による、感情極性論理を、修飾語及び数値データフィールドの名前についての感情及びそれらの正規化スコアとともに図示する。
図5A】いくつかの実装形態によるデータ視覚化の例を提供する。
図5B】いくつかの実装形態によるデータ視覚化の例を提供する。
図5C】いくつかの実装形態によるデータ視覚化の例を提供する。
図5D】いくつかの実装形態によるデータ視覚化の例を提供する。
図5E】いくつかの実装形態によるデータ視覚化の例を提供する。
図5F】いくつかの実装形態によるデータ視覚化の例を提供する。
図5G】いくつかの実装形態によるデータ視覚化の例を提供する。
図5H】いくつかの実装形態によるデータ視覚化の例を提供する。
図5I】いくつかの実装形態によるデータ視覚化の例を提供する。
図5J】いくつかの実装形態によるデータ視覚化の例を提供する。
図5K】いくつかの実装形態によるデータ視覚化の例を提供する。
図5L】いくつかの実装形態によるデータ視覚化の例を提供する。
図5M】いくつかの実装形態によるデータ視覚化の例を提供する。
図6A】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6B】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6C】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6D】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6E】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6F】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6G】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6H】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6I】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図6J】いくつかの実装形態によるデータ視覚化の更なる例を提供する。
図7】いくつかの実装形態による例示的なテキスト応答を示す。
図8A】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8B】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8C】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8D】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8E】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8F】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8G】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8H】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8I】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8J】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
図8K】いくつかの実装形態による、データ視覚化を生成するための方法のフロー図を提供する。
【0023】
ここで実装形態を参照し、その例を添付の図面に図示する。以下の説明では、本発明の完全な理解を提供するために、多数の特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細なしに実施され得ることは当業者には明らかであろう。
【発明を実施するための形態】
【0024】
本明細書で開示される様々な方法及びデバイスは、データソースに向けられた自然言語コマンドにおける曖昧な(例えば、不明瞭な)修飾語を扱うときに、インターフェースデフォルトを使用することによって、データ視覚化プラットフォーム上の自然言語インターフェースの有効性を改善する。データ視覚化プラットフォームは、自然言語入力に応答して、取り出されたデータセットのデータ視覚化(又は更新されたデータ視覚化)を自動的に生成して表示する。データ視覚化は、視覚情報をユーザに表示する際にデータ視覚化デフォルト(例えば、所定のデフォルト)を使用する。
【0025】
図1は、データ視覚化アプリケーションにおける対話型データ分析のためのグラフィカルユーザインターフェース100を図示する。いくつかの実装形態によれば、ユーザインターフェース100は、データタブ114及び分析タブ116を含む。データタブ114が選択されると、ユーザインターフェース100は、データペインとも呼ばれるスキーマ情報領域110を表示する。スキーマ情報領域110は、データ視覚化を構築するために選択及び使用され得る名前付きデータ要素(例えば、フィールド名)を提供する。いくつかの実装形態では、フィールド名のリストは、次元のグループ(例えば、カテゴリデータ)及び尺度のグループ(例えば、数量)に分離される。いくつかの実装形態は、パラメータのリストも含む。分析タブ116が選択されると、ユーザインターフェースは、データ要素の代わりに分析機能のリストを表示する(図示せず)。
【0026】
グラフィカルユーザインターフェース100はまた、データ視覚化領域112を含む。データ視覚化領域112は、列シェルフ領域120及び行シェルフ領域122などの複数のシェルフ領域を含む。これらは、列シェルフ120及び行シェルフ122とも呼ばれる。ここに図示されるように、データ視覚化領域112はまた、視覚グラフィック(本明細書ではデータ視覚化又は「データビズ」とも呼ばれる)を表示するための大きい空間を有する。データ要素がまだ選択されていないため、この空間は最初は視覚グラフィックを有していない。いくつかの実装形態では、データ視覚化領域112は、シートと呼ばれる複数の層を有する。いくつかの実装形態では、データ視覚化領域112は、データ視覚化フィルタのための領域126を含む。いくつかの実装形態では、フィルタ領域126は、フィルタを指定するためのユーザ入力を受信することと、どのデータフィールドがフィルタで使用するために選択されたかを表示することとの両方のために使用される。
【0027】
いくつかの実装形態では、グラフィカルユーザインターフェース100はまた、自然言語コマンドを受信するための、自然言語入力ボックス124(コマンドボックスとも呼ばれる)も含む。ユーザは、コマンドを提供するためにコマンドボックスと対話することができる。例えば、ユーザは、自然言語入力ボックス124にコマンドをタイプすることによって、自然言語コマンドを提供することができる。加えて、ユーザは、コマンドを提供するためにマイクロフォン220に向かって話すことによって、コマンドボックスと間接的に対話することができる。
【0028】
いくつかの事例では、ユーザは最初に、データ要素を列シェルフ120及び行シェルフ122に(例えばスキーマ情報領域110から、列シェルフ120及び/又は行シェルフ122へのドラッグアンドドロップ操作を使用して)関連付ける。最初の関連付けの後、ユーザは、(例えば、自然言語入力ボックス124内の)自然言語コマンドを使用して、表示されたデータ視覚化を更に調査することができる。いくつかの事例では、ユーザは、自然言語入力ボックス124を使用して初期の関連付けを作成し、結果として、1つ以上のデータ要素が列シェルフ120及び/又は行シェルフ122に配置される。例えば、ユーザは、データ要素Xとデータ要素Yとの間の関係を作成するためのコマンドを提供することができる。コマンドを受信することに応答して、列シェルフ120及び行シェルフ122にはデータ要素が投入され得る(例えば、列シェルフ120には、データ要素Xが投入され得、行シェルフ122には、データ要素Yが投入され得、又はその逆であり得る)。
【0029】
例えば、ユーザは、データソース及び/又は現在表示されているデータ視覚化に関連する情報を要求する自然言語コマンドを入力することができる。多くの事例で、自然言語コマンドは、「手頃な」又は「背が高い」などの形容詞を含む。そのような形容詞(又は「修飾語」)は、自然言語コマンドを処理するときに扱うのが困難である可能性がある。自然言語コマンドを処理する際に困難をもたらす形容詞のいくつかの特性としては、(i)段階性、(ii)反意語対形容詞「ではない」、(iii)構成要素、及び(iv)主観性が含まれる。
【0030】
段階付けられた形容詞(例えば、段階的形容詞)に関しては、多くの形容詞は、段階付けられているか又は段階付けられることができ、これは、それらが一定のスケールで(例えば、より高価なものからより安価なものまで)解釈され得ることを意味する。この解釈は、文脈固有であり、データ値の分布に敏感であり、相対値及び/又は絶対値に依存する場合もある。例えば、Kyleは、BMWという高価な自動車を所有している。しかし、Kyleの自動車は、入手可能なBMWモデルの中で最も安価であるため、BMWとしては高価ではない。
【0031】
反意語対形容詞「ではない」に関しては、反意語は、形容詞ではない、とは異なって解釈され得る。例えば、「安い(cheap)」とラベル付けされた商品は、「高価ではない(not expensive)」とラベル付けされた商品とは異なり得る。例えば、15ドルのボトルワインは、「高価でない」又は「安価である(inexpensive)」としてラベル付けされ得るが、ワイン店の「安い」セクションには含まれない場合がある。ワイン店の「安い」セクションには、8ドル未満のワインボトルのみが含まれる場合がある。
【0032】
異なる構成要素を有する形容詞に関しては、一部の形容詞は、複数の別個の属性に関連付けられ、関連する属性は、文脈に依存するか、又は不明瞭である場合がある。例えば、形容詞「安い」は、価格又は品質のいずれか(又は両方)に関連付けられ得るが、「背が高い(tall)」のような形容詞は、高さのみに関連付けられる。
【0033】
主観性に関しては、一部の形容詞は、他の形容詞よりも主観的である。例えば、プロのアスリートに関する情報を含むデータソースが選択された場合、ユーザは、「背が高い男性のアスリートを見せてほしい」と要求する場合がある。この場合、「背が高い」は主観的形容詞である。身長が5フィート5インチの人は、6フィート以上の人を「背が高い」と見なし得るが、身長が6フィートの人は、6フィート6インチ以上を「背が高い」と見なし得る。加えて、主観的形容詞は、文脈に基づいて異なって解釈される場合がある。例えば、ほとんどのプロのバスケットボール選手は、身長6フィートを優に超えるため、身長が6フィート4インチであるアスリートは、一般的には「背が高い」と考えられ得るが、「背が高い」バスケットボール選手とは考えられ得ない。逆に、平均的な騎手の身長は約5フィート6インチである。したがって、(2019年において)平均的な男性が身長5フィート9インチであっても、身長5フィート9インチの騎手は背が高いと考えられ得、身長5フィート9インチのプロのバスケットボール選手はおそらく背が低いと考えられるであろう。
【0034】
形容詞が文脈及び/又はユーザ意図に基づいて解釈され得る多くの方法に起因して、データ視覚化アプリケーションは、データソース及び/又は現在表示されているデータ視覚化の態様を利用して、そのような形容詞(例えば、修飾語)を含む自然言語コマンドを扱うときの文脈及び/又はユーザ意図を決定することができる。いくつかの実装形態では、データ視覚化アプリケーションは、生成されたデータ視覚化が、ほとんどのユーザの期待に沿った(例えば、ユーザ意図又は分析されている情報の文脈から逸脱しない)様式で情報を表示するように、曖昧又は主観的修飾語を含む、自然言語コマンドを扱うためのインターフェースデフォルトを含む。
【0035】
図2Aは、いくつかの実装形態による、グラフィカルユーザインターフェース100を表示するためにデータ視覚化アプリケーション230又はデータ視覚化ウェブアプリケーションを実行することができるコンピューティングデバイス200のブロック図である。コンピューティングデバイス200の様々な例は、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、並びにデータ視覚化アプリケーション230を実行することができるディスプレイ及びプロセッサを有する他のコンピューティングデバイスを含む。コンピューティングデバイス200は、典型的には、1つ以上の処理ユニット(プロセッサ又はコア)202と、1つ以上のネットワーク又は他の通信インターフェース204と、メモリ206と、これらの構成要素を相互接続するための1つ以上の通信バス208とを含む。いくつかの実装形態では、通信バス208は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。コンピューティングデバイス200は、通信インターフェース210を含む。ユーザインターフェース210は、典型的に、ディスプレイデバイス212を含む。いくつかの実装形態では、コンピューティングデバイス200は、キーボード、マウス、及び/又は他の入力ボタン216などの入力デバイスを含む。代替的に又は追加的に、いくつかの実装形態では、ディスプレイデバイス212はタッチ感知面214を含み、その場合、ディスプレイデバイス212は、タッチ感知ディスプレイである。いくつかの実装形態では、タッチ感知面214は、様々なスワイプジェスチャ(例えば、垂直方向及び/又は水平方向の連続ジェスチャ)及び/又は他のジェスチャ(例えば、シングル/ダブルタップ)を検出するように構成されている。タッチ感知ディスプレイ214を有するコンピューティングデバイスでは、物理キーボードは任意選択である(例えば、キーボード入力が必要なときにソフトキーボードが表示されてもよい)。ユーザインターフェース210はまた、スピーカ、又はスピーカ、イヤホン、若しくはヘッドホンに接続されるオーディオ出力接続などのオーディオ出力デバイス218を含む。更に、いくつかのコンピューティングデバイス200は、キーボードを補足するか又はキーボードに置き換わるための、マイクロフォン220及び音声認識ソフトウェアを使用する。オーディオ入力デバイス220(例えば、マイクロフォン)は、オーディオ(例えば、ユーザからの音声)を取り込む。
【0036】
メモリ206は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含み得る。いくつかの実装形態では、メモリ206は、プロセッサ202から遠隔に位置する1つ以上の記憶デバイスを含む。メモリ206、又は代替的にメモリ206内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ206又はメモリ206のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセット若しくはスーパーセットを記憶する。
●様々な基本システムサービスを扱い、ハードウェア依存タスクを実施するための手順を含む、オペレーティングシステム222。
●インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ以上の通信ネットワークインターフェース204(有線又は無線)を介してコンピューティングデバイス200を他のコンピュータ及びデバイスに接続するために使用される、通信モジュール224。
●ユーザがネットワークを介してリモートコンピュータ又はデバイスと通信することを可能にする、ウェブブラウザ226(又はウェブページを表示することができる他のアプリケーション)。
●オーディオ入力デバイス220によって取り込まれたオーディオを処理するための、オーディオ入力モジュール228(例えば、マイクロフォンモジュール)。取り込まれたオーディオは、リモートサーバに送信されてもよく、かつ/又はコンピューティングデバイス200上で実行されるアプリケーション(例えば、データ視覚化アプリケーション230)によって処理されてもよい。
●データ視覚化及び関連する特徴を生成するための、データ視覚化アプリケーション230。データ視覚化アプリケーション230は、ユーザが視覚グラフィックスを構築するためのグラフィカルユーザインターフェース100(例えば、図1に図示される)を含む。例えば、ユーザは、1つ以上のデータソース102(コンピューティングデバイス200に記憶され得るか、又は遠隔に記憶され得る)を選択し、データソースからデータフィールドを選択し、選択されたフィールドを使用して、視覚的グラフィックを定義する。
●データ視覚化アプリケーション230によって使用される、ゼロ個以上のデータベース又はデータソース102(例えば、第1のデータソース102-1及び第2のデータソース102-2)。いくつかの実装形態では、データソースは、スプレッドシートファイル、CSVファイル、テキストファイル、JSONファイル、XMLファイル、若しくはフラットファイルとして記憶されるか、又はリレーショナルデータベースに記憶される。
【0037】
いくつかの実装形態では、データ視覚化アプリケーション230は、ユーザ入力(例えば、視覚仕様236)を受信し、対応する視覚グラフィックを生成する、データ視覚化生成モジュール234を含む。データ視覚化アプリケーション230は次いで、生成された視覚グラフィックをグラフィカルユーザインターフェース100に表示する。いくつかの実装形態では、データ視覚化アプリケーション230は、スタンドアロンアプリケーション(例えば、デスクトップアプリケーション)として実行される。いくつかの実装形態では、データ視覚化アプリケーション230は、ウェブサーバによって提供されるウェブページ(例えば、サーバベースのアプリケーション)を使用して、ウェブブラウザ226又は別のアプリケーション内で実行される。
【0038】
いくつかの実装形態では、ユーザが提供する情報(例えば、ユーザ入力)は、視覚仕様236として記憶される。いくつかの実装形態では、視覚仕様236は、ユーザから受信された以前の自然言語コマンド、又は自然言語コマンドを通じてユーザによって指定された特性を含む。いくつかの実装形態では、視覚仕様236は、データ視覚化において情報を表示するためのインターフェースデフォルトを含む。
【0039】
いくつかの実装形態では、データ視覚化アプリケーション230は、コンピューティングデバイスのユーザによって提供されるコマンドを処理する(例えば、解釈する)ための、言語処理モジュール238を含む。いくつかの実装形態では、コマンドは、(例えば、オーディオ入力デバイス220によって取り込まれる、又はタッチ表面214若しくはキーボード/マウス216上のボタンなどの1つ以上の入力ボタンを介して入力される)自然言語コマンドである。いくつかの実装形態では、言語処理モジュール238は、推論モジュール239などのサブモジュールを含む。推論モジュール239は、データベース又はデータソース102に向けられた指定不足の(例えば、省略された情報)又は不明瞭な(例えば、曖昧な)自然言語コマンド(例えば、表現又は発話)を解決するために使用される。更に詳細に説明されるように、推論モジュール239は、「高い」、「高価でない」、及び「人気がある」などの曖昧な(例えば、不明瞭な)概念、並びに/又は「より安全な」、「危険な」、「好景気の」、及び「貧困な」などの曖昧な修飾語を含む自然言語コマンドのための妥当なデフォルトを推論するためのアルゴリズムを含む。
【0040】
いくつかの実装形態では、メモリ206は、言語処理モジュール238によって決定されたメトリック及び/又はスコアを記憶する。加えて、メモリ206は、言語処理モジュール238によって決定されたメトリック及び/又はスコアと比較される閾値及び他の基準を記憶してもよい。例えば、言語処理モジュール238は、受信されたコマンドの分析単語/句に対する関連性メトリック(以下で詳細に論じられる)を決定してもよい。次いで、言語処理モジュール238は、関連性メトリックを、メモリ206に記憶された閾値と比較し得る。
【0041】
上記で識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、前述のメモリデバイスのうちの1つ以上に記憶され得、上述された機能を実施するための命令のセットに対応する。上記で識別されたモジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わせられるか、又は別様に再構成され得る。いくつかの実装形態では、メモリ206は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ206は、上述されていない追加のモジュール又はデータ構造を記憶してもよい。
【0042】
図2Aはコンピューティングデバイス200を示しているが、図2Aは、本明細書に記載される実装形態の構造的概略図としてではなく、存在し得る様々な特徴の機能的説明として意図されている。実際には、当業者によって認識されるように、別々に示された項目を組み合わせることが可能であり、いくつかの項目は分離することができる。
【0043】
図2Bは、いくつかの実装形態によるデータ視覚化サーバ250を図示するブロック図である。データ視覚化サーバ250は、データソース102を含む1つ以上のデータベースをホストすることができ、又は様々な実行可能アプリケーション若しくはモジュールを提供することができる。サーバ250は、典型的には、1つ以上の処理ユニット/コア(CPU)252と、1つ以上の通信ネットワークインターフェース262と、メモリ264と、これらの構成要素を相互接続するための1つ以上の通信バス254とを含む。いくつかの実装形態では、サーバ250は、ディスプレイ258とキーボード及びマウスなどの1つ以上の入力デバイス260とを含む、ユーザインターフェース256を含む。いくつかの実装形態では、通信バス254は、システム構成要素間の通信を相互接続及び制御する回路(チップセットと呼ばれることもある)を含む。
【0044】
いくつかの実装形態では、メモリ264は、DRAM、SRAM、DDR RAM、又は他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含み、1つ以上の磁気ディスク記憶デバイス、光ディスク記憶デバイス、フラッシュメモリデバイス、又は他の不揮発性ソリッドステート記憶デバイスなどの不揮発性メモリを含み得る。いくつかの実装形態では、メモリ264は、CPU250から遠隔に位置する1つ以上の記憶デバイスを含む。メモリ264、又は代替的にメモリ264内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を備える。
【0045】
いくつかの実装形態では、メモリ264、又はメモリ264のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを記憶する。
●様々な基本システムサービスを扱い、ハードウェア依存タスクを実施するための手順を含む、オペレーティングシステム270。
●1つ以上の通信ネットワークインターフェース262(有線又は無線)及びインターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの1つ以上の通信ネットワークを介して、サーバ250を他のコンピュータに接続するために使用される、ネットワーク通信モジュール272。
●ユーザからウェブ要求を受信し、応答ウェブページ又は他のリソースを提供することによって応答する、ウェブサーバ274(HTTPサーバなど)。
●ユーザのコンピューティングデバイス200のウェブブラウザによってダウンロードされ実行される(例えば必要に応じて個々のウェブページをダウンロードする)ウェブアプリケーションであり得る、データ視覚化ウェブアプリケーション280。概して、データ視覚化アプリケーションウェブは、デスクトップデータ視覚化アプリケーションと同じ機能性を有するが、ネットワーク接続性を有する任意の場所にある任意のデバイスからのアクセスの柔軟性を提供し、インストール及び保守点検を必要としない。いくつかの実装形態では、データ視覚化ウェブアプリケーション280は、特定のタスクを実施するための様々なソフトウェアモジュールを含む。いくつかの実装形態では、データ視覚化ウェブアプリケーションは、データ視覚化ウェブアプリケーション280の全ての態様のためのユーザインターフェースを提供するグラフィカルユーザインターフェース282を含む。
●クライアントデバイス200について上述したように、ゼロ個以上のデータソース102を記憶するデータベース。
【0046】
いくつかの実装形態では、データ視覚化ウェブアプリケーション280は、クライアントデバイス200について上述したように、データ視覚化生成モジュール234及び/又は言語処理モジュール238(推論モジュール239を含む)を含む。いくつかの実装形態では、データ視覚化ウェブアプリケーション280は、データ視覚化を構築するために使用される視覚仕様236を記憶する。
【0047】
図2Bはデータ視覚化サーバ250を示しているが、図2Bは、本明細書に記載される実装形態の構造的概略図としてではなく、存在し得る様々な特徴の機能的説明として意図されている。実際には、当業者によって認識されるように、別々に示された項目を組み合わせることが可能であり、いくつかの項目は分離することができる。
【0048】
クエリ内のユーザの意図を理解することは、任意の自然言語(natural language、NL)対話システムの重要な態様として認識されている。検索クエリは、典型的に、キーワードと、検索意図の多様なセットを暗示する修飾語と呼ばれる用語とからなる。ユーザの検索クエリからの基本的なキーワードマッチは、結果の妥当なセットを導き出す可能性があるが、修飾語を解釈することにより、クエリにおける意味をより良く理解することをもたらす。例えば、クエリ「palo altoの近くの最高のコーヒーショップを見つけてください」について、修飾語「palo altoの近くの」は、カリフォルニア州Palo Alto(すなわち、場所)の近くのコーヒーショップを見つける意図を指定する一方、修飾語「最高の」は品質を暗示する。
【0049】
視覚分析ツールのための自然言語インターフェースは、ユーザが自身のデータと相互作用し、視覚化として表現された結果を見るための表現方法をサポートすることに関心を集めている。ユーザは、多くの場合、曖昧な言語を用いる一方で、「どの国が多数の金メダルを有するか?」や「1日のうちの何時により多くのバードストライクが発生するか?」といったデータを調査するときに自然言語クエリを形成する。多くの場合、曖昧さは、そのようなシステムと対話するときに誤りを回避するためにあまり正確でない手段として使用されるか、又は単に、概念を表現するためのよく理解された具体的な方法がないために使用される。
【0050】
修飾語は、曖昧又は不正確である場合がある。更に、ユーザが異なれば、曖昧な修飾語が暗示するものの概念も異なり得、それらの意味は文脈に依存することが多い。曖昧な修飾語は、数値的な量(例えば、「最も高い」、「最も安い」、「最も高価である」)に関する最上級の修飾語を含むより具体的な修飾語から、数値的な量(例えば、「安い」、「低い」、「高い」、「高価である」)に関する段階付けられた修飾語、更には文脈に基づくことが多い主観的でよりファジーな修飾語(例えば、「安全な」、「最高の」、「健全な」)までに及び、解釈は文脈に依存することが多い。
【0051】
75人の参加者からの応答及び578個の異なる自然言語クエリに基づくクエリ導出タスクにより、視覚分析のための自然言語における曖昧な修飾語が普及していることが見出された。例えば、ユーザは、最も、最も高い、より、一番の、最後の、最も大きい(biggest)、最高の、最も低い、より大きい、最も小さい、最も大きい(largest)、新しい、最悪な、長い、遠い、高価な、高い、より大きい、良好な、及びより高いなどの修飾語を使用することを好む。
【0052】
いくつかの実装形態は、(例えば、データ分布の形状に基づいて)単数/複数の最上級及び数値的に段階付けられた形容詞を含む、単純な曖昧修飾語を解釈する。しかしながら、ユーザは、発話において「最高の」、「安全な」、及び「より悪い」といった、より具体的ではないしばしば主観的な修飾語も用いる。そのような修飾語は、典型的には境界が不鮮明であり、それらの拡張内に入るエンティティとそうでないエンティティとの間の明確な区別をすることができない。本明細書に記載されるように、いくつかの実装形態は、自然言語インターフェースのためのそのようなファジーなかつ/又は主観的な修飾語を解釈して、そのような概念の拡張を正確に決定し、視覚分析システムで提供される分析機能及びデータに、意図をマッピングする。
【0053】
いくつかの実装形態は、視覚分析のための自然言語インターフェースにおけるそのような主観的な曖昧修飾語のための妥当な相互表現及びデフォルトを探索するためのシステムを採用する。いくつかの実装形態では、システムは、単語共起を使用して所与の修飾語に関連付けることができる数的属性を識別するアルゴリズムを使用する。感情分析は、修飾語を解釈するために属性に適用されるフィルタ範囲を決定する。いくつかの実装形態では、類似極性の結果として、属性に対する上位N個のデータ値が修飾語と関連付けられ、一方、分岐極性は、下位N個のデータ値にマッピングされる。
【0054】
図3Aは、いくつかの実装形態によるデータ視覚化の例を提供する。図3Aは、データ視覚化アプリケーション230のための例示的なグラフィカルユーザインターフェース100を示す。図1に関して上述したように、グラフィカルユーザインターフェース100は、データ視覚化領域112及び自然言語入力ボックス124(例えば、コマンドボックス)を含む。データ視覚化領域112は、データ視覚化300を表示し、現在表示されているデータ視覚化のタイプ(「棒グラフ」)を表示する対話型ユーザアフォーダンス302を含む。いくつかの実装形態では、示されるように、対話型ユーザアフォーダンス302は、ユーザがデータ視覚化領域112に表示されるデータ視覚化タイプを指定することを可能にするドロップダウンボックスである。示されるように、データ視覚化300は、ワイン種別の価格に関する情報を含むデータソースからの情報を表示する。データ視覚化300は、価格の合計によってソートされたワイン種別を示す棒グラフであり、高価なワインが上部にある。スクロールバー304により、ユーザが追加のワイン種別を見ることができる。データ視覚化300は、(自然言語入力ボックス124を介して、かつ/又は音声コマンドを介して入力された)自然言語コマンドであるユーザ入力、及び/又は表示されるべきデータフィールドを選択するためのユーザのアクションに応答して生成されていてもよい。例えば、ユーザは、データ視覚化300を生成するために、「高価な価格」310の棒グラフで「種別毎」308にプロットされる「価格の合計」306を選択していてもよい。あるいは、ユーザは、自然言語コマンド「高価な種別」を提供してもよい。ユーザ入力に応答して、データ視覚化300が生成され、データ視覚化領域112に表示される。いくつかの実装形態では、データ視覚化300は、データソースが選択されたときに自動的に生成される。データソースが選択されると、データ視覚化アプリケーション230は、選択されたデータソース、複数の視覚変数、及びデータソースからの複数のデータフィールドを指定する視覚仕様を生成する。視覚変数の各々は、データフィールドのうちのそれぞれの1つ以上に関連付けられ、データフィールドの各々は、次元又は尺度のいずれかとして識別される。視覚変数は、データ視覚化がどのように見えるかを符号化する情報(例えば、データ視覚化タイプ、どのデータポイントが視覚マークとして表示若しくは表現されるか、視覚マークの配色、又は特定の視覚マークの強調)を含む。データ視覚化は、視覚仕様に基づいて生成され表示される。
【0055】
いくつかの事例では、ユーザは、データソースからより多くの情報を知りたいと望む。例えば、ユーザが、「高価な種別」と尋ねる場合がある。この例では、「高価な」は、ユーザが最もコストが高いワイン種別(この実行例の場合)を見たい可能性があることを示す最上級の形容詞である。いくつかの実装形態では、自然言語コマンドに応答して、データ視覚化アプリケーション230は、自然言語コマンド内の第1のキーワード(例えば、「種別」)と、第1のキーワードを修正する形容詞である自然言語コマンド内の1つ以上の第2のキーワード(例えば、「高価な」)とを識別する。データ視覚化は次いで、第2のキーワードが複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応するように(例えば、「価格」データフィールドを選択するように)、視覚仕様を生成するか、又は既存の視覚仕様を修正する。1つ以上の視覚変数は、1つ以上の第2のキーワードに従って1つ以上の第1のデータフィールドに関連付けられる(例えば、フィルタリング又は強調/強調解除に関連付けられた視覚変数は、最大数のレコードを有する年齢ビンが強調され/強調表示され又は表示されるように、年齢によって、患者の数に対応するデータフィールドに関連付けられる)。データ視覚化アプリケーション230は次いで、視覚仕様に従って(例えば、基づいて)データ視覚化を生成し、データ視覚化領域112にそのデータ視覚化を表示する。
【0056】
いくつかの事例では、データ視覚化アプリケーション230は、追加のキーワードに少なくとも部分的に基づいて、ユーザの意図を決定する。例えば、ユーザが「最も高価な」と入力したとする。「最も」は、定義によれば単一のワインを指す最上級の副詞であるが、データ視覚化アプリケーション230は、ユーザの意図がフィルタを適用することではない可能性があると決定し得る。代わりに、データ視覚化アプリケーション230は、ユーザの意図が、最もコストが高い複数のワイン種別を識別することであると決定することができる。データ視覚化は、最もコストが高いワイン種別を強調表示することができる。加えて、データ視覚化アプリケーション230は、決定されたユーザ意図に少なくとも部分的に基づいて、データ視覚化のためのデータ視覚化タイプを決定してもよい。例えば、データ視覚化アプリケーション230は、ユーザが、記録の数に関する種別毎の情報を要求したので、棒グラフが適切なデータ視覚化タイプであると決定することができる。データ視覚化タイプは、棒グラフ、線グラフ、散布プロット、円グラフ、マップ、又はテキスト表のうちの1つであってもよい。
【0057】
いくつかの実装形態では、初期データ視覚化(例えば、データ視覚化300)は、データ視覚化アプリケーション230が自然言語コマンドを解釈し、かつ/又はユーザ意図を決定するための文脈を提供する。例えば、初期データ視覚化が表示されている間にユーザが自然言語コマンド「高価な種別」を提供すると、データ視覚化アプリケーション230は、初期データ視覚化の文脈を維持し、初期データ視覚化300に表示された情報を強調表示若しくはフィルタリングすることを選択し、同じデータ視覚化タイプ及び配色を維持して、完全に異なるデータ視覚化タイプであるか、又は完全に異なる色を有する視覚マーク(例えば、バー)を有する新たなデータ視覚化を示すことができる。
【0058】
図3Bは、いくつかの実装形態による、感情分析及び単語共起を使用した曖昧な意図修飾語の解釈を図示する例を示す。図3Bは、米国における地震のデータセットに対応するデータ視覚化318を示すグラフィカルユーザインターフェース312を示す。ユーザが自然言語コマンド「安全でないのはどこか?」324を入力する(例えば、ユーザがタイプする又は言う)と仮定する。いくつかの実装形態は、対話型テキスト314を表示する。いくつかの実装形態はまた、いくつかの実装形態による、ユーザが数値データフィールドの範囲を調整するための1つ以上のウィジェット(例えば、スライダウィジェット316)を示す。この例では、システムは、「マグニチュード」322と名付けられたデータフィールドと共起する曖昧な修飾語「安全でない」320を識別する。システムはまた、修飾語「安全でない」320及び「マグニチュード」322と名付けられたデータフィールドが、類似する負の感情極性を有することを識別する。示される例では、システム色は、負の感情を(例えば、赤色を使用して)コード化する。この例では、修飾語320及び「マグニチュード」と名付けられたデータフィールドの両方の負の感情極性が、赤色で示されている。いくつかの実装形態では、感情極性が類似している(例えば、両方が負の感情極性を有する)ので、システムは、データフィールドのデータ値に従ってデータソースの行を制限する上位N個のフィルタリングを計算する。この例では、システムは、「マグニチュード」と名付けられたフィールドに当てはまる6以上のマグニチュード値を計算する。換言すれば、システムは、「安全でない」及び「マグニチュード」と名付けられたデータフィールドが、類似する負の感情極性を有すると判定し、より高い地震マグニチュード範囲を選択する。いくつかの実装形態は、フィルタに基づいてデータ視覚化を更新する。この例では、データ視覚化318は、マグニチュード6以上の地震を示すように更新される。いくつかの実装形態では、システムは、WolframAlphaによって提供されるデータなどのドメイン固有情報を利用する。
【0059】
図3Cは、いくつかの実装形態による、感情分析及び単語共起を使用した曖昧な意図修飾語の解釈を図示する別の例を提供する。図3Cは、国家の健全性及び富のデータセットに対応するデータ視覚化338を示すグラフィカルユーザインターフェース326を示す。ユーザが自然言語コマンド「貧困なのはどの国か?」328を入力する(例えば、ユーザがタイプする又は言う)と仮定する。いくつかの実装形態による。システムは、いくつかの実装形態により、修飾語「貧困な」330、及び修飾語が負の感情を有するという事実(赤色で示される)を識別する。システムはまた、修飾語「貧困な」330と共起する、「1人当たりの所得」332及び「平均余命」340と名付けられたデータフィールドを識別する。システムはまた、2つのデータフィールド名が正の感情(青色で示される)を有することを判定する。したがって、システムは、修飾語330並びにデータフィールド名332及び340が分岐する感情極性を有すると判定し、それぞれのデータフィールドに対する下位N個のフィルタを計算し、適用する。示される例では、システムは、データ視覚化338(この例では散布プロット)を生成及び/又は更新するために、データの統計的特性に基づいて、より低い数値フィルタリング範囲を計算及び適用している。図3Bにあるように、いくつかの実装形態は、ユーザによって絞り込まれ得るウィジェット(例えば、ウィジェット334及び336)として呈されたクリック可能な部分を有するシステムの解釈の出所を示すための、対話型テキスト340を示す。このようにして、いくつかの実装形態によれば、システムは、視覚分析における曖昧な概念の識別をサポートする。
【0060】
いくつかの実装形態は、不正確な修飾語を解釈し、妥当なデフォルトを決定する。いくつかの実装形態は、データの基礎となる統計的特性に基づいて数値範囲を推論することによって、「安い」及び「高い」といった数値的に曖昧な概念を扱う。いくつかの実装形態は、データ分布の形状に基づいて、「安いアパート」及び「最も安いアパート」といった単数及び複数の最上級及び数値的に段階付けられた形容詞に対する視覚化応答を生成する。いくつかの実装形態は、単語共起分析及び感情分析を用いて、関連するデータ属性との修飾語の関連付けを決定して、視覚分析の文脈においてよりファジーで主観的な修飾語を扱う。
【0061】
図4Aは、いくつかの実装形態による、単語共起及び感情分析を使用して視覚分析において曖昧な意図修飾語を解釈する、システム400の概略図を提供する。いくつかの実装形態は、視覚分析のための自然言語(NL)インターフェースにおいて、「安全な」及び「貧困な」などの曖昧な修飾語を解釈するシステム400を使用する。いくつかの実装形態では、システム400は、ウェブベースのアーキテクチャを採用する。いくつかの実装形態では、入力クエリ434(例えば、「住むのに安全な場所」)は、文法404(例えば、文脈自由文法)を使用して、構文解析402(例えば、ANTLR構文解析)によって処理され、解析されたトークン406(例えば、トークン「安全な」、「場所」、及び「住む」)を出力する。
【0062】
いくつかの実装形態では、品詞タグ付け408は、構文解析されたトークン406に基づいて、修飾形容詞(例えば、修飾語「安全な」)及びそれらの参照数値データフィールド412を識別する。品詞タグ付け408の結果410が示されている。いくつかの実装形態では、結果410は、タグのツリー構文を有する。この例では、ツリーのルートは「ROOT」として示されている。タグは、名詞句(例えば、「安全な場所」)を示すタグNP、形容詞(例えば、「安全な」412)を示すタグJJ、及び複数名詞(例えば、「場所」)を示すタグNNSを含む。また、タグは、次いで補助語「ために」を示すタグTOを示す動詞句を示すタグVPと、動詞ベースタグVB(例えば、「住む」)を伴う動詞句を示す別のタグVPとを含む。
【0063】
いくつかの実装形態では、モジュール414は、共起尺度を使用して、修飾語412と数値データフィールドの名前との間の意味的関連性(共起と呼ばれることもある)を計算し(440)、それによって、修飾語412について1つ以上の共起する数値データフィールドを識別する。いくつかの実装形態は、自然言語発話の記憶されたコーパスを使用して、修飾語と共起する名前を識別する。例えば、いくつかの実装形態によれば、データフィールド名は、格納されたコーパスにおいて所定の回数を超えて(例えば、5回を超えて)修飾語と共起する場合に選択される。いくつかの実装形態は、共起尺度を使用し、その一例は以下で記載される。いくつかの実装形態では、データマネージャ418は、数値データフィールド412に関する情報438(例えば、データフィールドの名前「地震マグニチュード」)を提供し、かつ/又はデータベース422からデータ442を取り出すために(例えば、データアクセス機能420を使用して)クエリを実行する。
【0064】
いくつかの実装形態では、モジュール424は、共起修飾語及び数値データフィールド440に関する感情極性444(例えば、個々の感情スコア)を識別する。
【0065】
いくつかの実装形態では、分析モジュール426は、感情極性に基づいて、数値データフィールドの数値範囲を決定する。図4Aでは、異なる感情極性に対するデータフィールド「地震マグニチュード」の値に関するデータ分布が棒グラフ430に示されている。また、図4Aは、異なる感情極性についての修飾語(この例ではキーワード「安全」)の分布に対応する別の棒グラフ432も示す。図4Cの棒グラフ466及び468も参照されたい。
【0066】
いくつかの実装形態では、次いで、動作中のウィジェット及びフィルタを示すために、いくつかの実装形態によって、視覚化結果436(データ視覚化と呼ばれることもある)が生成され、表示される(428)。
【0067】
いくつかの実装形態では、構文解析402、品詞タグ付け408、共起を計算するモジュール414、及び分析モジュール426は、上述の言語処理モジュール238及び/又は推論モジュール239において実装される。いくつかの実装形態では、データマネージャ418は、データベース若しくはデータソース102の一部として、かつ/又は言語処理モジュール238の一部として実装される。
【0068】
曖昧な修飾語を解釈するための例示的なアルゴリズム
いくつかの実装形態による、共起するデータフィールド及びそれらの値を識別することに基づいて修飾語を解釈するための、例示的なアルゴリズムが以下に示される。各構成要素は以下のサブセクションで詳細に記載される。
アルゴリズム:曖昧修飾語の解釈
入力:自然言語発話α
出力:視覚化応答を生成する
αは、自然言語入力発話である。
mは、発話αにおける曖昧な修飾語である。
品詞タグ付けPOS408は、α内のmを識別する。
attrsnumは、データセットD内の数値データフィールドのセットである。
attrscnumは、D内の共起する数値データフィールドのセットであり、ここで、
attrscnum⊆attrsnumである。
PMIは、attrsnum内のm及び各数値フィールドについて共起スコアwを計算する。
polarityは、attrscnum内のm及び各数値フィールドについて感情極性pを計算する。
1.POS(α)を呼び出し、mを返す。
2.各attr∈attrscnumについて、PMI(m,attrsnum)→wを計算する。
3.polarity(m,attrscnum)→pを計算する。
4.w及びpに基づいて、視覚化を生成し、かつ/又はインターフェースを更新する。
【0069】
曖昧な修飾語を解析するための例示的な方法
曖昧な修飾語は、名詞を修飾し、それらの意味的強度によって順序付けられた抽象的スケールに関連付けられた、段階的形容詞である。例えば、句「速い車」における段階的形容詞「速い」は、「車」属性に対する速度尺度の強度を記述する。段階的形容詞は、尺度関数としての解釈に基づいて、2つのカテゴリに広く分類することができる。「大きい」及び「安い」といった数値的に段階付けられた形容詞は、それぞれサイズ及びコストの数量に関連付けられた測定値と見なされる。対照的に、「良い」及び「健康な」のような複雑に段階付けられた形容詞は、測定される正確な特徴に対して指定不足となる傾向がある。
【0070】
数値的な段階的形容詞の解釈は、視覚分析のための自然言語インターフェースにおいて調査されてきたが、従来の方法では、複雑な段階的形容詞を扱うことができない。いくつかの実装形態は、自然言語発話におけるこれらの複雑な段階的形容詞及びそれらの参照属性を識別するために、構文解析プロセス中に一般的に使用される実行可能な品詞(part-of-speech、POS)タグ付け408を適用する。
【0071】
修飾語及び属性共起スコアを計算するための例示的な方法
いくつかの実装形態は、続いて、曖昧な修飾語をその意味的強度に基づいてスケールにマッピングし、それにより修飾語が、視覚化応答を生成するための数値フィルタのセットとして解釈され得るようにする。いくつかの実装形態は、多次元空間内で修飾語を数値属性にマッピングする一般化された尺度関数として複雑な修飾語の主観性を表す言語モデルを使用する。例えば、修飾語「健康な」の主観性は、複数の次元「体重」、「運動量」、及び「通院回数」に沿って解釈することができる。これらの属性は、独立して使用されてもよいし、重み付けされた線形結合などの集合体で使用されてもよい。
【0072】
いくつかの実装形態は、共起尺度を使用して、修飾語と数値データフィールドとの間の意味的関連性を計算する。いくつかの実装形態は、(例えば、共起のための広いカバレッジを有するために)広範なGoogle nグラムコーパスを使用する。共起の機会を最大化するために、いくつかの実装形態は、修飾語とデータフィールド名との全てのnグラム組み合わせの間の共起を考慮する。例えば、データフィールド名「1人当たりの所得」に対するnグラムのいくつかには、「1人当たりの所得」、「当たりの所得」、「1人当たりの」、及び「所得」がある。
【0073】
いくつかの実装形態は、自己相互情報量尺度(PMI)、すなわち、修飾語m及び数値データフィールドattrnumが、項を独立して観察する確率に対してどれだけ密に発生するかの確率を定量化する情報理論的尺度を使用する。いくつかの実装形態は、mとの共起の存在を示す、非ゼロのPMIスコアを有する任意の数値データフィールドattrcnumを考慮する。いくつかの実装形態では、データフィールド名nグラムtattrのうちの1つを有する修飾語nグラムtのPMIは、以下に示される式(1)を使用して計算される。
【0074】
【数1】
【0075】
図4Bは、いくつかの実装形態による、データフィールド名nグラムを有する修飾語についてのPMI値をプロットする例示的なグラフ446を示す。この例では、いくつかの実装形態によれば、Google nグラムコーパスにおいて、y軸450は、年(x軸448)1900と年2006との間の、データフィールド名nグラム、「所得」(ライン452)、「平均余命」(ライン454)、及び「人口」(ライン456)の各々との修飾語「貧困な」についてPMI値に対応している。より高いPMIスコアは、修飾語及びデータフィールド名の項のより高い共起性を示す。この例では、グラフは、1995年以降、「所得」と名付けられたデータフィールドが修飾語「貧困な」と最も高い共起を有し、「人口」と名付けられたデータフィールド名が次に高い共起を有し、「平均余命」と名付けられたデータフィールドがそれに続くことを示す。
【0076】
感情極性を判定するための例示的な方法
修飾語が、共起する数値属性に意味的に関連付けられると、いくつかの実装形態は、修飾語に関連付けるための妥当な数値範囲を決定する。感情極性分析は、句の極性を判定するために肯定及び否定語彙を使用する言語学的技法である。そのような技法を採用する利点の1つは、多くの場合スケーラブルではない絶対的な極性で句に事前にタグ付けするのではなく、句の項が共起する文脈に基づいて句の感情を動的に計算する能力である。
【0077】
図4Cは、いくつかの実装形態による、感情極性論理を、修飾語及び数値データフィールドの名前についての感情及びそれらの正規化スコアとともに図示する。第1の例466及び第2の例468では、修飾語「安全」及びデータフィールド「地震マグニチュード」は、それぞれ正の感情及び負の感情を有する。これは、負の感情極性(極めて負である場合は「--」で示され、負である場合は「-」で示される)、中立の感情極性(「0」で示される)、及び正の感情極性(正の場合は「+」で示され、極めて正の場合は「++」で示される)に関連付けられたインスタンスの数から推定される。この推定、並びに修飾語及びデータフィールド名が類似しない感情極性を有するという事実に基づいて、いくつかの実装形態は、データフィールド(この例では「地震マグニチュード」)に対して下位N個の範囲458を使用する。この例では、システムは、データフィールド「地震マグニチュード」の値の数値範囲をマグニチュード3以下として計算している。いくつかの実装形態はまた、数値データフィールドの数値範囲を決定するために、周知のスケールも使用する。例えば、システムは、リヒタースケールに基づいて地震規模値を決定する。対照的に、グラフプロット460及び462に示されるように、いくつかの実装形態によれば、修飾語「好景気」及びデータフィールド「1人当たりの所得」は両方とも正の感情を有し、したがってシステムは、「1人当たりの所得」データフィールドについては上位N個の値464を計算する。いくつかの実装形態は、データの統計的特性に更に基づいて、数値データフィールドの数値範囲を計算する。
【0078】
いくつかの実装形態は、テンソルを扱う、より簡潔な句の感情を予測する再帰的ニューラルテンソルネットワークに基づく感情分類技法を用いて、個々の感情スコアを決定する。いくつかの実装形態では、感情は、5クラスの感情分類、すなわち、極めて負、負、中立、正、又は極めて正として返される。値は、全体的な感情を提供するために、負から正への範囲の区間[-1,+1]に正規化することができる。いくつかの実装形態は、続いて、以下の組み合わせ論理を使用して、修飾語mの感情極性(sentiment)及び共起数値データフィールドattrcnumの感情極性(sentimentattr_cnum)の対に基づいて、数値データフィールドattrcnumの数値範囲を決定する。
if (sentimentが正、又はsentimentが中立)、かつ
(sentimentattr_cnumが正、又はsentimentattr_cnumが中立)then
上位N個の(attrcnum)を計算する。
else if (sentimentが正、又はsentimentが中立)、かつ
(sentimentattr_cnumが負)then
下位N個の(attrcnum)を計算する。
else if sentimentが負、かつ
(sentimentattr_cnumが正、又はsentimentattr_cnumが中立)then
下位N個の(attrcnum)を計算する。
else if sentimentが負、かつsentimentattr_cnumが負 then
上位N個の(attrcnum)を計算する。
end if
【0079】
いくつかの実装形態は、感情極性を使用して、数値データフィールドの上位N個及び下位N個の数値範囲を計算する。種々の実装形態では、これらの範囲は、2つの方法で計算される。属性が付加的ドメイン固有エンリッチメントに関連付けられる場合、システムは、デフォルトを決定するために情報を使用する。例えば、図4Cの上部に示される事例では、システムは、リヒタースケールを使用して、より深刻度が低いマグニチュード範囲を求める。図4Cの下部に示される例の場合のように、追加の知識が存在しない場合、システムは、範囲[med+MAD,max]内の上位N個、又は範囲[min,abs(med-MAD)]内の下位N個を計算し、ここで、med、MAD、min、及びmaxは、attrcnumの中央値、中央値絶対偏差、最小値、及び最大値である。いくつかの実装形態は、MADがデータ拡散の堅牢な尺度であり、非正規性による影響をあまり受けない傾向があるため、MADを選択する。いくつかの実装形態は、動作中の範囲フィルタを使用して視覚化応答を生成する。
【0080】
例示的なユーザインターフェース
図5A図5Mは、いくつかの実装形態によるデータ視覚化の例を提供する。図5Aは、いくつかの実装形態による、米国における地震のデータセット(例えば、Wolfram Alpha地震データからの)のデータ視覚化502を伴うグラフィカルユーザインターフェース500を示す。図5Bは、ユーザが「より安全なのはどこか」という入力を提供することを示す。図5Cに示されるように、システムは、キーワード「より安全な」を修飾語(例えば、キーワード「どこ」(又はある場所)の修飾語)として認識し、自然言語発話の事前定義されたコーパスにおいてキーワード「より安全な」と共起する数値データフィールド(属性と呼ばれることもある)「マグニチュード」を識別する。換言すれば、システムは、キーワード「より安全な」を、数値範囲とともに数値データフィールド「マグニチュード」として解釈する。いくつかの実装形態は、解釈又はテキスト応答506の詳細を提供して、ユーザに通知及び/又はガイドする。次に図5D及び図5Eを参照すると、システムはまた、キーワード「より安全な」が正の感情508を有し、一方、用語「マグニチュード」が負の感情510を示すことを識別する。したがって、いくつかの実装形態によれば、システムは下位範囲を選択する。次に図5Fに示すように、いくつかの実装形態によれば、システムは、テキスト応答506内に数値範囲を示す。この例では、テキスト応答506は、「3以下」(例えば、0~10の数値範囲から選択される)の下位範囲512を示す。次に図5Gに示すように、いくつかの実装形態は、スライダアフォーダンス514及び/又は同様の絞り込みウィジェットを示す。ユーザは、アフォーダンス514をスライドさせ、対応するデータフィールドの特定の値(この例では「マグニチュード」)を選択することができる。これに応答して、システムは、データフィールド「マグニチュード」の値について視覚化502を更新する。
【0081】
次に図5Hを参照して、ユーザが続いて「危険な場所についてはどうか」516を入力すると仮定する。システムは、キーワード「危険な」を修飾語として識別する。システムはまた、キーワード「危険な」と共起する数値データフィールド「マグニチュード」を識別する。次に、図5Iに示されるように、いくつかの実装形態によれば、システムは、システムがキーワード「危険な」をマグニチュード6以上であると解釈することを示すテキスト応答518を示す。次に図5Jに示されるように、キーワード「危険な」及び数値データフィールド「マグニチュード」522は、両方とも負の極性を有する。したがって、システムは、(数値データフィールドの数値について)上位範囲を選択する。この例では、システムは、マグニチュードデータフィールドに対して6以上という数値範囲524を選択する。図5Kに示されるように、いくつかの実装形態では、システムは、ユーザが数値データフィールド「マグニチュード」の値を絞り込むことを可能にするウィジェット526(例えば、スライダアフォーダンスを伴うウィジェット)を生成する。次に図5Lに示されるように、いくつかの実装形態では、システムは、意味エンリッチメントのために公的に利用可能な知識ベース(知識エンジン又は回答エンジンと呼ばれることもある)を使用する。この例では、システムは、数値データフィールド「マグニチュード」のデフォルト範囲を決定するためにWolfram Alphaを使用する。この例では、システムは、「マグニチュード」を地震マグニチュードを指すものと解釈し、数値データフィールドについて(リヒタースケール上で)0~10のデフォルト値を決定する。最後に、図5Mに示されるように、ユーザが数値範囲528を選択すると、システムは、データフィールド「マグニチュード」のそれらの値についてデータ視覚化502を更新する。
【0082】
図6A図6Jは、いくつかの実装形態によるデータ視覚化の例を提供する。図6Aは、いくつかの実装形態による、国の健全性及び富のデータセットのデータ視覚化602を表示するグラフィカルユーザインターフェース600を示す。ユーザは、「好景気なのはどの国か?」を指定する入力604を提供することによって、データ視覚化602との対話を開始する。図6Bのテキスト応答606に示されるように、システムは、キーワード「好景気な」608を修飾語として識別し、その最も近い共起する数値データフィールド「1人当たりの所得」610及び「平均余命」612を識別する。システムはまた、キーワード「好景気な」と、正の感情(類似した色符号によって示される)を有する数値データフィールドとを識別する。感情極性間の正の相関に基づいて、システムは、数値データフィールドの上位N個の値(数値範囲)(データフィールド「1人当たりの所得」及び「平均余命」の、「以上」範囲614及び616によって示される)を選択する。図6C及び図6Dに示されるように、いくつかの実装形態は、ユーザがデータフィールドの数値範囲を更に絞り込むために、図6Cのスライダアフォーダンス618及び図6Dのスライダアフォーダンス620などの1つ以上の絞り込みウィジェットを示す。ユーザが数値データフィールドのいずれかの値を選択する(範囲を絞り込む)と、システムはデータ視覚化602を更新する。いくつかの実装形態では、図6Eの例に示されるように、システムは、ユーザが属性又は尺度(データフィールドと呼ばれることもある)を追加することを可能にするためのアフォーダンス「+」622も示す。ユーザがデータフィールド名を追加することを選択すると、システムは、図6Fに示されるように、数値データ範囲626とともに「人口」624と名付けられた次に高い共起データフィールドで応答する。
【0083】
例を続けるために、図6Gに示される例では、ユーザが「貧困な国についてはどうか」628とタイプ入力すると仮定する。システムは、負の感情極性(赤色によって示される)を有する修飾語「貧困な」630、正の感情極性(青色によって示される)を有する共起データフィールド「1人当たりの所得」610、及び同じく正の感情極性(同じく青色によって示される)を有する共起データフィールド「平均余命」612を識別する。修飾語及びデータフィールド名の類似しない感情極性により、システムは、それぞれのデータフィールドに対して下位N個の範囲632及び634(「以下」によって示される)を選択する。システムはまた、図6Hに示されるように、ユーザがデータフィールド名を追加するための「+」アフォーダンス636も示す。ユーザが「+」アフォーダンス636を選択すると、システムは、次に図6Iに示されるように、次に高い共起データフィールド名(キーワード「貧困な」を有する)であるデータフィールド名「人口」638を、数値範囲640とともに追加することによって応答する。いくつかの実装形態では、システムは、ユーザが属性又は尺度(データフィールドと呼ばれることもある)を除去することを可能にするためのアフォーダンス「x」642も示す。ユーザが属性を選択解除又は除去すると、システムは、適切なフィルタを除去することによってデータ視覚化602を自動的に更新する。図6Jに示す例では、「平均余命」と名付けられたデータフィールドのフィルタが除去されている。
【0084】
このようにして、いくつかの実装形態は、キーボード入力又は音声インターフェースを介してクエリを受け入れる入力データフィールドを処理するためのグラフィカルユーザインターフェースを示す。いくつかの実装形態によれば、クエリの実行時に、共起する数値属性の範囲フィルタが適用され、視覚化応答を示す。いくつかの実装形態では、システム解釈は、修飾語がどのように解釈されたかの出所をユーザが理解するのを助けるために、視覚化の上に対話型テキストの形態で表現される。いくつかの実装形態では、正の感情、負の感情、及び中立の感情は、異なる色(例えば、それぞれ、青色、赤色、及び黄色)で示される。いくつかの実装形態では、テキストはウィジェットを含み、ウィジェットは、データフィールドのデータ範囲を、最も高く共起するものから開始して示す。いくつかの実装形態は、ユーザがこれらのデフォルトを絞り込むことができるウィジェットとしてシステム推定を示す。いくつかの実装形態では、これらの絞り込みは、ユーザセッションの持続時間にわたって存続する。いくつかの実装形態では、ドメイン固有の意味が使用される場合、ソースへのリンクが提供される。いくつかの実装形態では、実質的なスペースが制限されていることを考慮し、より読み易くするために、システムは、デフォルトで表示を2つのウィジェットに制限する。ただし、ユーザは、追加のウィジェットを削除又は追加する能力を有し、インターフェースは、変更を反映するために更新する。
【0085】
図7は、いくつかの実装形態による例示的なテキスト応答を示す。702の例は、いくつかの実装形態による、対話型テキスト応答を示す。704の例は、いくつかの実装形態による、ユーザが、修飾語に関連付けられた感情を視認するために、修飾語の上にホバーする(例えば、カーソルを移動させる)ことを可能にする機能を示す。706の例は、いくつかの実装形態による、ユーザが対話するための範囲スライダを示す。708の例は、いくつかの実装形態による、ユーザが数値データフィールドを追加するためのアフォーダンス「+」を示す。710の例は、ユーザがより多くのデータフィールドを追加することを選択した後に、3番目に多く発生するデータフィールドである追加データフィールドを示すためのテキスト応答に対する更新を示す。712の例は、いくつかの実装形態による、解釈の一部としてデータフィールドを除去するためのアフォーダンス「x」を示す。
【0086】
図8A図8Jは、いくつかの実装形態による、データ視覚化を生成する(802)ための方法800のフロー図を提供する。方法は、ディスプレイ(例えば、ディスプレイ212)と、1つ以上のプロセッサ(例えば、プロセッサ202)と、1つ以上のプロセッサによる実行のために構成された1つ以上のプログラムを記憶する(806)メモリ(例えば、メモリ206)と、を有するコンピューティングデバイス(例えば、コンピューティングデバイス200)において実行する(804)。コンピューティングデバイスは、データソースに向けられた自然言語コマンドを指定するための第1のユーザ入力を受信する(808)。自然言語コマンドは、データソースに関する情報の要求を含む。コンピューティングデバイスは、(例えば、上述した品詞(POS)タグ付けを使用して)自然言語コマンドにおいて、自然言語コマンド内の第2のキーワードを修飾する段階的形容詞である第1のキーワードを識別する(810)。
【0087】
コンピューティングデバイスはまた、共起メトリックを使用して共起を定量化することに基づいて、データソースから、フィールド名が自然言語発話の所定の記憶されたコーパス内の自然言語発話内の第1のキーワードと共起する数値データフィールドを識別する(812)。次に図8Iを参照すると、いくつかの実装形態では、数値データフィールドを識別することは、自然言語発話における、第1のキーワードと複数の数値データフィールドのフィールド名との全てのnグラム組み合わせの間の共起を分析することに基づいて、データソースのための複数の数値データフィールドから数値データフィールドを選択すること(832)を含む。次に図8Jを参照すると、いくつかの実装形態では、数値データフィールドを識別することは、第1の数値データフィールドが、第1のキーワードとの共起の存在を示す非ゼロの自己相互情報量尺度(PMI)スコアを伴うフィールド名を有するときに、データソースのための複数の数値データフィールドから第1の数値データフィールドを選択すること(834)を含む。
【0088】
次に図8Bを参照すると、コンピューティングデバイスは、第1のキーワードの感情極性と数値データフィールドのフィールド名との相関に基づいて、数値データフィールドの値の数値範囲を計算する(814)。次に図8Cを参照すると、いくつかの実装形態では、数値データフィールドの値の数値範囲を計算することは、(i)範囲[med+MAD,max]内の数値データフィールドの上位N個の値、又は(ii)範囲[min,abs(med-MAD)]内の数値データフィールドの下位N個の値を計算すること(818)を含み、ここで、med、MAD、min、及びmaxは、それぞれ数値データフィールドの中央値、中央値絶対偏差、最小値、及び最大値である。次に図8Dを参照すると、いくつかの実装形態では、数値データフィールドの値の数値範囲を計算することは、(i)第1のキーワードの意味極性が第1の数値データフィールドのフィールド名の意味極性と正に相関する(すなわち、第1のキーワード及び第1の数値データフィールドが類似の感情極性を有する)ときに、第1の数値データフィールドの上位N個の値を計算すること(820)、及び(ii)第1のキーワードの意味極性が第1の数値データフィールドのフィールド名の意味極性と負に相関する(すなわち、第1のキーワード及び第1の数値データフィールドが相違する感情極性を有する)ときに、第1の数値データフィールドの下位N個の値を計算すること(822)を含む。
【0089】
図8Bに戻って参照すると、コンピューティングデバイスはまた、数値データフィールドの数値範囲に従ってデータソースからのデータの行をフィルタリングすることに基づいて、データソースから取り出されたデータを表す複数の視覚マークを含むデータ視覚化を生成及び表示する(816)。次に図8Kを参照すると、いくつかの実装形態では、データ視覚化を生成することは、データソースから、データソースと、複数の視覚変数と、複数のデータフィールドと、を指定する視覚仕様を生成すること(836)を含む。視覚変数の各々は、複数のデータフィールドのうちのそれぞれの1つ以上のデータフィールドに関連付けられ(838)、データフィールドの各々は、次元又は尺度のいずれかとして識別される。第1のキーワードは、複数のデータフィールドのうちの1つ以上の第1のデータフィールドに対応する(840)。1つ以上の視覚変数は、数値データフィールドの値の数値範囲に従って1つ以上の第1のデータフィールドに関連付けられる(842)。
【0090】
図8Eに戻って参照すると、いくつかの実装形態では、コンピューティングデバイスはまた、ドメイン固有情報に基づいて、数値データフィールドの値のデフォルト範囲を決定する(824)。いくつかの実装形態では、ドメイン固有の意味が使用される場合、ソースへのリンクが提供される。次に図8Fを参照すると、いくつかの実装形態では、コンピューティングデバイスはまた、対話型テキストを表示して、第1のキーワードの解釈の出所を(数値範囲を使用する数値フィルタとして)示す(826)。
【0091】
次に図8Gを参照すると、いくつかの実装形態では、コンピューティングデバイスはまた、1つ以上のユーザインターフェースウィジェットを表示して、数値範囲を示し、修復し、かつ/又は絞り込む(828)。いくつかの実装形態では、ウィジェットは、ユーザが数値データフィールドのデフォルト値を修正することを可能にする。いくつかの実装形態では、ウィジェットは、数値データフィールドの値の数値範囲を示す。いくつかの実装形態は、属性に関するデータ範囲を、最も高く共起するものから開始して示す。いくつかの実装形態では、ユーザの絞り込みは、ユーザセッションの持続時間にわたって存続する。いくつかの実装形態では、実質的なスペースが制限されていることを考慮し、より読み易くするために、ディスプレイはデフォルトで2つのウィジェットに制限される。ただし、ユーザは、追加のウィジェットを削除又は追加する能力を有し、インターフェースは、変更を反映するために更新する
【0092】
次に図8Hを参照すると、いくつかの実施形態では、コンピューティングデバイスはまた、1つ以上の色符号化を使用して、第1のキーワードの感情極性と数値データフィールドのフィールド名とを表示する(例えば、正の感情、負の感情、及び中立の感情が、それぞれ青色、赤色、及び黄色で示される)(830)。
【0093】
例示的な使用結果
様々な実験において、参加者はシステムについて肯定的であり、多くの利益が認識された。何人かの参加者は、クエリを理解するシステムの能力に感銘を受けた(「システムが何を行う知るために恐ろしいと入力したが、システムは理解した。」)。システムのテキストフィードバックが役立つことが見出された(「システムがこれをどのように処理するかは確かではなかったが、応答を見たら非常に明確であった」)。参加者は、システムの応答を無効にするか、又は訂正することができる機能性を評価した(「範囲を少し微調整したかったが、スライダを変更し、それと同時に結果更新を見ることができたのが有用であった」)。
【0094】
参加者当たりの固有の曖昧な修飾語の数は、3~12個(μ=6.7)の範囲であり、全体では合計24個の固有の複雑な修飾語があった。3つの最も一般的な修飾語は、地震データセットについては「良い」、「悪い」、及び「深刻な」であり、国の健全性及び富データセットについては「景気が良い」、「好調である」、及び「貧しい」であった。全ての参加者は、システムの挙動を理解するためにテキスト応答と対話した。最も一般的な相互作用は、属性のデータ範囲を更新すること(相互作用の69%)、それに続いて新たな属性を追加すること(23%)、そして解釈された結果から属性を削除すること(8%)であった。この挙動に関連するコメントとして、「私には範囲が高いように思えたので変更した。システムがそれを覚えてくれたのは良かった。」、「人口をミックスに追加したかったが、クリックするだけで簡単にできた。」、「平均余命には興味がなかったので、ただそれを取り除いた。」が挙げられた。
【0095】
追加の例示的な実装形態
いくつかの実装形態は、同じクエリ内の曖昧な修飾語の組み合わせなどの複雑な解釈をサポートする。例えば、いくつかの実装形態は、「非常にうまくいっている国とうまくいっていない国とを見せてほしい」を解釈する。いくつかの実装形態は、「安全でない」を、マグニチュード5がより大きい最近発生した地震の頻度に関連付けるなど、分析関数を定義する際に柔軟性を提供する。また、いくつかの実装形態は、「どの国が合理的にうまくいっているか」などのクエリを解釈する。いくつかの実装形態は、属性の上位範囲とは対照的に中間範囲を提供し、かつ/又は範囲を調整するためのウィジェットを提供する。
【0096】
いくつかの実装形態は、カスタマイゼーション及びその場の(in-situ)キュレーションを扱う。いくつかの実装形態では、データフィールド名は、人間が読める単語及び句で前もってキュレートされない。データがドメイン固有の用語及び略語を伴う乱雑なものである場合、システムは、ユーザが、分析の流れにおいて属性及び解釈の意味をカスタマイズすることを可能にする。
【0097】
いくつかの実装形態は、システム期待値、バイアス、及び障害を扱う。自然言語アルゴリズムは、多くの場合トレーニングデータの性質に起因する性別及び人種の仮定を含む社会経済的バイアスを呈することが示されている。それらを使用することは、自然言語システムにおける文化的ステレオタイプを永続させ、増幅さえする場合がある。いくつかの実装形態は、システム挙動において透明性を提供し、かつ/又は適切なバイアス除去方法を使用する。
【0098】
このようにして、上述した技術を使用して、視覚分析タスク中に自然言語クエリにおいて普及しているファジーで主観的なことが多い修飾語を解釈することができる。単語共起及び感情極性を使用して、いくつかの実装形態は、これらの修飾語をより具体的な分析関数にマッピングする。いくつかの実装形態は、システムの挙動の出所を、視覚化を伴う対話型テキスト応答として表す。システムの評価は、参加者が、システムが直観的であることを見出し、システム選択を絞り込む能力を評価したことを示す。いくつかの実装形態は、データ探索をサポートするために自然言語ツールにおける言語の曖昧さ及び複雑さを扱う。
【0099】
上記で識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、識別されたメモリデバイスのうちの1つ以上に記憶され得、上述された機能を実施するための命令のセットに対応する。モジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わせられるか、又は別様に再構成され得る。いくつかの実装形態では、メモリ206及び/又はメモリ264は、上記で識別されたモジュール及びデータ構造のサブセットを記憶する。更に、メモリ206及び/又はメモリ264は、上述されていない追加のモジュール又はデータ構造を記憶してもよい。
【0100】
本明細書において本発明の説明で使用される用語は、特定の実装形態を説明することのみを目的としたものであり、本発明を限定することを意図するものではない。本発明の説明及び添付の特許請求の範囲において使用される場合、単数形「a」、「an」及び「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図される。本明細書で使用される場合、「及び/又は」という用語は、関連する列挙された項目のうちの1つ以上のありとあらゆる可能な組み合わせを指し、それらを包含することも理解されよう。用語「含む(comprises)」及び/又は「含んでいる(comprising)」は、本明細書で使用されたとき、述べられた特徴、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を排除しないことが更に理解されよう。
【0101】
前述の説明は、説明の目的で、特定の実装形態を参照して記載されている。しかしながら、上記の例示的な考察は、網羅的であること、又は本発明を開示された厳密な形態に限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。実装形態は、本発明の原理及びその実用的な用途を最良に説明するために選択及び記載され、これにより他の当業者は、本発明と、企図される特定の使用に適した様々な修正を伴う様々な実装形態とを最大限に活用することが可能となる。
図1
図3A
図3B
図3C
図4A
図4C
図5A
図5B
図5C
図5D
図5E
図5F
図5G
図5H
図5I
図5J
図5K
図5L
図5M
図6A
図6B
図6C
図6D
図6E
図6F
図6G
図6H
図6I
図6J
図7
図8A
図8B
図8C
図8D
図8E
図8F
図8G
図8H
図8I
図8J
図8K
【国際調査報告】