(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-07-30
(54)【発明の名称】地理空間クエリの視覚的自動補完
(51)【国際特許分類】
G06F 16/903 20190101AFI20240723BHJP
G06F 16/909 20190101ALI20240723BHJP
G06F 40/205 20200101ALI20240723BHJP
G06F 3/04842 20220101ALI20240723BHJP
G09B 29/00 20060101ALI20240723BHJP
【FI】
G06F16/903
G06F16/909
G06F40/205
G06F3/04842
G09B29/00 A
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023578091
(86)(22)【出願日】2022-06-07
(85)【翻訳文提出日】2024-02-14
(86)【国際出願番号】 US2022032448
(87)【国際公開番号】W WO2022271440
(87)【国際公開日】2022-12-29
(32)【優先日】2022-01-31
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-06-20
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521550194
【氏名又は名称】タブロー ソフトウェア,エルエルシー
(74)【代理人】
【識別番号】100079108
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】セトラー,ヴィディヤ,ラガヴァン
(72)【発明者】
【氏名】バタースビー,サラ,イー.
(72)【発明者】
【氏名】ウォン,トレイシー
【テーマコード(参考)】
2C032
5B175
5E555
【Fターム(参考)】
2C032HC21
2C032HD00
5B175DA03
5B175GC03
5E555AA10
5E555AA13
5E555AA46
5E555BA02
5E555BA05
5E555BA85
5E555BB02
5E555BB05
5E555BC17
5E555CB64
5E555CC05
5E555DB55
5E555EA21
5E555EA23
5E555FA00
(57)【要約】
方法はデータセットの視覚的解析を提供する。ユーザはデータソースを選択する。これに応答して、システムは、データソースのデータを分析するための自然言語インターフェースを提示し、更に、データソースから地理空間データ点を選択するためのマップウィジェットを提示する。ユーザはデータソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を提供し、マップウィジェット上で領域を選択する第2ユーザ入力を提供する。第1ユーザ入力及び第2ユーザ入力に応答して、システムは、この第1ユーザ入力及びこの第2ユーザ入力に従って、選択された領域内のデータ点の言語的説明を含む、地図データ視覚化を生成、表示する。システムはマップウィジェットに選択された領域を引き続き表示する。マップウィジェットは、ユーザによる選択された領域の変更に従って、データ視覚化を更新するように構成される。
【特許請求の範囲】
【請求項1】
データセットの視覚的解析の方法であって、
1つ以上のプロセッサ、及び前記1つ以上のプロセッサによって実行されるよう構成された1つ以上のプログラムを格納するメモリを備えるコンピューティングシステムにおいて、
データソースのユーザ選択を受信することと、
選択された前記データソースのデータを解析するための自然言語インターフェースを提示することと、
前記データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信したことに応答して、
前記データソースから地理空間データ点を選択するためのマップウィジェットを提示することと、
前記マップウィジェットで領域を選択する第2ユーザ入力を受信したことに応答して、
前記第1ユーザ入力及び前記第2ユーザ入力に従って、地図データ視覚化を生成、表示することとを含む、方法。
【請求項2】
構文解析木に誤りがあるかどうかをチェックするために、前記第1ユーザ入力を解析することによって、前記第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定することを更に含む、請求項1に記載の方法。
【請求項3】
場所関連のトークンを特定するために前記第1ユーザ入力を解析することによって、前記第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定することを更に含む、請求項1に記載の方法。
【請求項4】
前記第2ユーザ入力は、矩形又は自由描画のいずれかによる選択である、請求項1に記載の方法。
【請求項5】
前記マップウィジェットは、前記データソースからのデータの集計プレビューを含む、請求項1に記載の方法。
【請求項6】
前記集計プレビューは、マップの領域を六角形として表示する、請求項5に記載の方法。
【請求項7】
前記マップウィジェットは、追加の空間的コンテキストに関する詳細なベースマップも更に含む、請求項5に記載の方法。
【請求項8】
選択された前記領域内のデータ点の言語的説明を生成、表示すること、
を更に含む、請求項1に記載の方法。
【請求項9】
前記マップウィジェット内の選択された前記領域を引き続き表示することを更に含み、前記マップウィジェットは、ユーザによる選択された前記領域の変更に従って、前記データ視覚化を更新するように構成される、
請求項1に記載の方法。
【請求項10】
今後のクエリで使用できるよう、選択された前記領域の空間的定義を受信、格納すること、
を更に含む、請求項1に記載の方法。
【請求項11】
前記データソースを対象とする空間クエリを受信することと、
前記空間クエリに対する応答を生成、表示するために前記空間的定義を取得することと、
を更に含む、請求項10に記載の方法。
【請求項12】
ユーザが、一般的な名前が付けられた行政区域、並びにデータ特性を使用して、空間クエリを評価、改善するのに役立つ、選択された前記領域のカバレッジメトリックを生成、表示すること、
を更に含む、請求項1に記載の方法。
【請求項13】
前記カバレッジメトリックは、選択されたデータ点の割合、及び重複する地理的エリアに基づいて計算される、特定の区域を選択する信頼水準に相当する、請求項12に記載の方法。
【請求項14】
前記地理的エリアは郡、州、及び国からなる群から選択される1つ以上の領域を含む、請求項13に記載の方法。
【請求項15】
前記カバレッジメトリックに基づいて様々な地理的エリアをソート、表示すること、
を更に含む、請求項13に記載の方法。
【請求項16】
前記地理的エリアは、前記カバレッジメトリックに準じたグラデーションのカラーパレットを使用して表示される、請求項15に記載の方法。
【請求項17】
ユーザが識別した2つの認知領域同士の比較を生成、表示すること、
を更に含む、請求項1に記載の方法。
【請求項18】
前記比較には、各前記領域の最小値、最大値及び平均値の統計が含まれる、請求項17に記載の方法。
【請求項19】
データセットの視覚的解析用のコンピュータシステムであって、
1つ以上のプロセッサと、
メモリとを含み、
前記メモリは、前記1つ以上のプロセッサによる実行用に構成された1つ以上のプログラムを格納し、前記1つ以上のプログラムは、
データソースのユーザ選択を受信することと、
選択された前記データソースのデータを解析するための自然言語インターフェースを提示することと、
前記データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信したことに応答して、
前記データソースから地理空間データ点を選択するためのマップウィジェットを提示することと、
前記マップウィジェットで領域を選択する第2ユーザ入力を受信したことに応答して、
前記第1ユーザ入力及び前記第2ユーザ入力に従って、地図データ視覚化を生成、表示することとを実行する命令を含む、コンピュータシステム。
【請求項20】
非一時的コンピュータ可読記憶媒体であって、ディスプレイ、1つ以上のプロセッサ、及びメモリを有するコンピュータシステムによる実行用に構成された1つ以上のプログラムを格納し、前記1つ以上のプログラムは、
データソースのユーザ選択を受信することと、
選択された前記データソースのデータを解析するための自然言語インターフェースを提示することと、
前記データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信したことに応答して、
前記データソースから地理空間データ点を選択するためのマップウィジェットを提示することと、
前記マップウィジェットで領域を選択する第2ユーザ入力を受信したことに応答して、
前記第1ユーザ入力及び前記第2ユーザ入力に従って、地図データ視覚化を生成、表示することとを実行する命令を含む、非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、2022年1月31日付けで出願された、「Visual Autocompletion for Geospatial Queries」と題する、米国特許出願第17/588、997号の継続出願であり、2021年6月20日付けで出願された、「Visual Autocompletion for Geospatial Queries」と題する、米国仮出願第63/212、710号の優先権を主張し、各出願の全体を参照により本明細書で援用する。
【0002】
本願は、2017年11月6日付けで出願され、「Systems and Methods of Using Natural Language Processing for Visual Analysis of a Data Set」と題する、米国特許出願第15/804、991号に関連し、その全体が参照により本明細書で援用される。
【0003】
本願は、2018年12月27日付けで出願され、「Analyzing Underspecified Natural Language Utterances in a Data Visualization User Interface」と題する、米国特許出願第16/234、470号に関連し、その全体が参照により本明細書で援用される。
【0004】
本願は、2018年12月14日付けで出願され、「Data Preparation User Interface with Coordinated Pivots」と題する、米国特許出願第16/221、413号に関連し、その全体が参照により本明細書で援用される。
【0005】
本願は、2018年12月30日付けで出願され、「Generating Data Visualizations According to an Object Model of Selected Data Sources」と題する、米国特許出願第16/236、611号に関連し、その全体が参照により本明細書で援用される。
【0006】
本願は、2018年12月30日付けで出願され、「Generating Data Visualizations According to an Object Model of Selected Data Sources」と題する、米国特許出願第16/236、612号に関連し、その全体が参照により本明細書で援用される。
【0007】
本願は、2019年11月10日付けで出願され、「Data Preparation Using Semantic Roles」と題する、米国特許出願第16/679、234号に関連し、その全体が参照により本明細書で援用される。
【0008】
本願は、2020年3月18日付けで出願され、「Incorporating Data Visualizations into Database Conversational Interfaces」と題する、米国仮特許出願62/991、342号に関連し、その全体が参照により本明細書で援用される。
【0009】
開示の実装形態は、全般に、自然言語処理に関し、より具体的には、地理空間解析用の視覚的自動補完を提供するシステム、方法、及びユーザインターフェースに関する。
【背景技術】
【0010】
都心部での犯罪件数はどれくらいなのか?そして、正確には街のどのあたりが「都市の中心」なのか?位置はデータに関する多くの質問の中心であるが、地理的位置を自然言語(NL)クエリで指定するのは困難となり得る。これは、絶対的な行政的位置(州、国など)ではなく、データ分布に基づいて画定され得る、曖昧な1つ以上の認知領域を扱う場合、特に当てはまる。場所の概念を参照する情報探索は、人間の探求のありふれた形態である。情報探索における場所の普遍性にもかかわらず、場所の意味論は主観的であることが多い、というのも、その解釈は人それぞれであり、場所とどのように関係するかによっても、異なるからである。ユーザが情報に関する目標を立てるとき、漠然とした概念的知識をより具体的な記述に置き換えることが多い。しかし、ユーザからの「具体的な」記述は、基礎となるデータの構造又は内容と一致しないことがあるので、この変換が困難な場合がある。ユーザ入力がNLクエリとして一致しないか、あるいは簡単に言葉にできない場合、検索プロセスは大抵不十分なものとなる。
【0011】
検索インターフェースは、自動補完などのユーザインターフェースの足場を通して、こうした課題の一部を解決することができる。自動補完では、ユーザが検索タスクの流れの中でクエリを入力すると、その場で候補を表示する。これらの候補は、基礎となる文書コーパスに基づく視覚的手がかりを使用して、有効なクエリを生成する際の支援となるフィードバックをユーザに提供する。
【0012】
視覚的解析において、場所は、データ探索中に空間的位置の意味ある部分を特定するために頻繁に使用される基本的な範疇である。視覚的解析用のNLツールが普及したことにより、ユーザは、基礎となるデータソースの属性と値を含む平易な言語として、解析に関する質問を表現することができる。ウェブ検索ツールと同様、視覚的解析NLインターフェースも、ユーザによるクエリ作成を支援する自動補完を提供する。こうしたシステムは、特定の名前付きの位置(州、県、国など)に関するNL空間クエリを生成するユーザの能力を向上させることができる。しかし、これらのシステムでは、人々がとかく空間を概念化することの多い漠然とした方法により適した、自然で柔軟な空間探索モードを実現できない。
【0013】
空間言語は複雑であり、NLの使用の際に、空間前置詞及び関係詞に関する目的とする意味を特定するには多くの問題がある。場所に関する用語の表現が曖昧で不明確なのは、一般に以下の2つの検討事項によるものである。第1に、「エリア」及び「領域」など、場所に関する汎用的な用語は、その意味が、いくつかの異なる、密接に関連した意味から複合的に構成されているという点で、不明確であることが多い。第2に、場所の概念は、地理的特徴の種類など、それ自体が曖昧な他の概念に従属していることが多い。
【発明の概要】
【0014】
本開示では、自然言語(NL)で表現しにくい地理的領域、認知領域、又はデータ駆動型領域の任意の組み合わせだけでなく、名前付き領域のクエリをサポートするシステムについて述べる。例えば、場所の曖昧な定義は、認知領域の指定を通じて、視覚的自動補完ウィジェットで表現できる。このシステムでは、データ分布に基づく、あるいは詳細なベースマップからのコンテキスト空間情報を使用したクエリを容易にするマップウィジェットを使用して、データの集計ビューを提供することができる。いくつかの実装形態において、このシステムは、色とサイズを使ってカウントを反映するように二重符号化された16進数ビンを含む、データのビューを提供する。一部の実装形態では、データの特性だけでなく、一般的な名前が付けられた行政区域を使用して、ユーザが空間クエリを評価し、改良するのに効果的なカバレッジメトリックを提供する。いくつかの実装形態において、システムは、今後のクエリで使用できるよう、名前付き領域の空間的定義を保持する。これにより、解析の一貫性が確保され、領域同士の比較が容易になる。
【0015】
いくつかの実装形態によると、方法は、データセットの視覚的解析を支援する。上記方法は、1つ以上のプロセッサ、及びこの1つ以上のプロセッサで実行されるよう構成された1つ以上のプログラムを格納するメモリを備えるコンピューティングシステムで実行される。この方法は、データソースのユーザ選択を受信することを含む。更に、この方法は、選択されたデータソースのデータを解析するための自然言語インターフェースを提示することも、含む。更に、この方法は、データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信したことに応答して、データソースから地理空間データ点を選択するためのマップウィジェットを提示することと、マップウィジェットで領域を選択する第2ユーザ入力を受信したことに応答して、第1ユーザ入力及び第2ユーザ入力に従って、地図データ視覚化を生成、表示することとを含む。
【0016】
いくつかの実装形態において、この方法は、構文解析木に誤りがあるかどうかをチェックするために、第1ユーザ入力を解析することによって、第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定することも、更に含む。
【0017】
いくつかの実装形態において、この方法は、場所関連のトークンを特定するために第1ユーザ入力を解析することによって、第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定することも、更に含む。
【0018】
いくつかの実装形態において、第2ユーザ入力は、矩形又は自由描画のいずれかによる選択である。
【0019】
いくつかの実装形態において、マップウィジェットは、データソースからのデータの集計プレビューを含む。いくつかの実装形態において、集計プレビューは、地図の領域を六角形として表示するHexbinベースのプレビューを含む。いくつかの実装形態において、マップウィジェットは、追加の空間的コンテキストに関する詳細なベースマップも更に含む。
【0020】
いくつかの実装形態において、この方法は、選択された領域内のデータ点の言語的説明を生成、表示することも、更に含む。
【0021】
いくつかの実装形態において、この方法は、マップウィジェット内の選択された領域を引き続き表示することも更に含み、マップウィジェットは、ユーザによる選択された領域の変更に従って、データ視覚化を更新するように構成される。
【0022】
いくつかの実装形態において、この方法は、今後のクエリで使用できるよう、選択された領域の空間的定義を受信、格納することも、更に含む。いくつかの実装形態において、この方法は、データソースを対象とする空間クエリを受信することと、空間クエリに対する応答を生成、表示するために空間的定義を取得することも、更に含む。
【0023】
いくつかの実装形態において、この方法は、ユーザが、一般的な名前が付けられた行政区域、並びにデータ特性を使用して、空間クエリを評価、改善するのに役立つ、選択された領域のカバレッジメトリックを生成、表示することも、更に含む。いくつかの実装形態において、カバレッジメトリックは、選択されたデータ点の割合、及び重複する地理的エリアに基づいて計算される、特定の区域を選択する際の信頼水準を表す。いくつかの実装形態において、地理的エリアは郡、州、及び国からなる群から選択される1つ以上の領域を含む。いくつかの実装形態において、この方法は、カバレッジメトリックに基づいて様々な地理的エリアをソート、表示することも、更に含む。いくつかの実装形態において、地理的エリアは、カバレッジメトリックに準じたグラデーションのカラーパレットを使用して表示される。
【0024】
いくつかの実装形態において、この方法は、ユーザが識別した2つの認知領域同士の比較を生成、表示することも、更に含む。いくつかの実装形態において、この比較には、各領域の最小値、最大値及び平均値の統計が含まれる。
【0025】
したがって、ユーザがデータを解析することを可能にする方法、システム、及びグラフィカル・ユーザ・インターフェースが開示されている。
【図面の簡単な説明】
【0026】
上記システム、方法、及びグラフィカル・ユーザ・インターフェース、並びにデータ視覚化解析及びデータ準備を提供するその他のシステム、方法、及びグラフィカル・ユーザ・インターフェースについて更に深く理解できるよう、以下の図面と併せて、以下の実施態様の説明を参照されたい。なお、図面において、同様の参照番号は対応する要素を参照している。
【
図1】いくつかの実装形態で使用される一例示のグラフィカル・ユーザ・インターフェースを例解する図である。
【
図2】いくつかの実装形態に係る、コンピューティングデバイスのブロック図である。
【
図3】いくつかの実装形態に係る、例示のデータ視覚化インターフェースを示す図である。
【
図4】いくつかの実装形態に係る、解析ワークフロー中にユーザデータプレビューを提供するための視覚的自動補完をサポートする例示のユーザインターフェースを示す図である。
【
図5】いくつかの実装形態に係る、一例示のシステムの概略図である。
【
図6A】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6B】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6C】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6D】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6E】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6F】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図6G】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図7A】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図7B】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図7C】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図8A】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図8B】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図9A】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図9B】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図9C】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図10】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図11】いくつかの実装形態に係る、一例示のインターフェースを示す図である。
【
図12A】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12B】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12C】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12D】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12E】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12F】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12G】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12H】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12I】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【
図12J】いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する方法のフローチャートである。
【0027】
ここで実装形態を参照し、その例を添付の図面に例示する。以下の説明では、本発明の完全な理解を提供するために、多数の特定の詳細が記載される。しかしながら、本発明がこれらの特定の詳細なしに実施され得ることは当業者には明らかであろう。
【発明を実施するための形態】
【0028】
図1では、対話型データ解析用のグラフィカル・ユーザ・インターフェース100を示す。いくつかの実装形態によれば、ユーザインターフェース100は、データタブ114及び分析タブ116を含む。データタブ114が選択されると、ユーザインターフェース100は、データペインとも呼ばれるスキーマ情報区域110を表示する。スキーマ情報区域110は、データビジュアライゼーションを構築するために選択及び使用され得る、名前付きデータ要素(例えば、フィールド名)を提供する。いくつかの実装形態では、フィールド名のリストは、次元のグループ(例えば、カテゴリデータ)及び尺度のグループ(例えば、数量)に分離される。いくつかの実装形態は、パラメータのリストも含む。分析タブ116が選択されると、ユーザインターフェースは、データ要素ではなく分析関数のリストを表示する(図示せず)。
【0029】
更に、グラフィカル・ユーザ・インターフェース100は、データ視覚化領域112も含む。データ視覚化領域112は、列シェルフ領域120及び行シェルフ領域122などの複数のシェルフ領域を含む。これらは、列シェルフ120及び行シェルフ122とも呼ばれる。ここで示すように、データ視覚化領域112は、視覚的グラフィック(本明細書では、データ視覚化とも称する)を表示するための大きなスペースも有する。データ要素がまだ選択されていないため、この空間には当初、視覚的グラフィックがない。いくつかの実装形態では、データ視覚化領域112は、シートと呼ばれる複数の層を有する。いくつかの実装形態では、データ視覚化領域112は、データ視覚化フィルタのための領域126を含む。
【0030】
いくつかの実装形態では、グラフィカルユーザインターフェース100はまた、自然言語コマンドを受信するための、自然言語入力ボックス124(コマンドボックスとも呼ばれる)も含む。ユーザは、コマンドを提供するためにコマンドボックスと対話することができる。例えば、ユーザは、ボックス124にコマンドをタイピングすることによって、自然言語コマンドを提供することができる。加えて、ユーザは、コマンドを提供するためにマイクロホン220に話しかけることによって、コマンドボックスと間接的に対話することができる。いくつかの実装形態において、データ要素は、最初に列シェルフ120及び行シェルフ122に関連付けられる(例えば、スキーマ情報領域110から列シェルフ120及び/又は行シェルフ122へのドラッグアンドドロップ操作を使用して)。最初の関連付けの後、ユーザは、(例えば、自然言語入力ボックス124内の)自然言語コマンドを使用して、表示されたデータ視覚化を更に調査することができる。場合によっては、ユーザは、自然言語入力ボックス124を使用して最初の関連付けを作成し、その結果、1つ以上のデータ要素が列シェルフ120及び行シェルフ122に配置される。例えば、ユーザは、データ要素Xとデータ要素Yとの間の関係を作成するためのコマンドを提供することができる。コマンドを受信することに応答して、列シェルフ120及び行シェルフ122は、データ要素でポピュレートされ得る(例えば、列シェルフ120はデータ要素Xでポピュレートされ得、行シェルフ122はデータ要素Yでポピュレートされ得るか、又はその逆である)。
【0031】
図2は、いくつかの実装形態に係る、グラフィカル・ユーザ・インターフェース100を表示可能とするコンピューティングデバイス200を例解するブロック図である。コンピューティングデバイス200の様々な例には、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、並びに、ディスプレイと、データ視覚化アプリケーション222及び/又はデータプレップアプリケーション230を動作させることができるプロセッサを有する他のコンピューティングデバイスが含まれる。通常、コンピューティングデバイス200は、メモリ214に格納されたモジュール、プログラム、及び/又は命令を実行し、それによって、処理動作を実行するための1つ以上の処理ユニット/コア(CPU)202と、1つ以上のネットワーク、又は他の通信インターフェース204と、メモリ214と、これらの構成要素を相互接続するための1つ以上の通信バス212とを、含む。通信バス212は、システム構成要素間を相互接続し、それらの間の通信を制御する回路を含んでもよい。
【0032】
コンピューティングデバイス200は、ディスプレイデバイス208と、1つ以上の入力デバイス又は機構210とを備える、ユーザインタフェース206を含む。いくつかの実装形態において、入力デバイス/機構はキーボードを含む。いくつかの実装形態において、入力デバイス/機構は、「ソフト」キーボードを含み、これは、必要に応じて、ディスプレイデバイス208に表示され、ユーザはディスプレイ208に表示される「キーを押す」ことができる。いくつかの実装形態において、ディスプレイ208及び入力デバイス/機構210は、タッチスクリーンディスプレイ(接触検知式ディスプレイとも称する)を含む。
【0033】
いくつかの実装形態において、メモリ214は、DRAM、SRAM、DDR RAM、又は他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含む。いくつかの実装形態において、メモリ214は、1つ以上の磁気ディスク・ストレージ・デバイス、光ディスク・ストレージ・デバイス、フラッシュ・メモリ・デバイス、又は他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含む。いくつかの実装形態において、メモリ214は、CPU(複数可)202から離れた位置にある1つ以上のストレージデバイスを含む。メモリ214、又は代替的にメモリ214内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態において、メモリ214、又はメモリ214のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、及びデータ構造、又はそれらのサブセットを格納する:
・様々な基本システムサービスを処理し、ハードウェアに依存するタスクを実行するプロシージャを含む、オペレーティングシステム216、
・通信モジュール218。1つ以上の通信ネットワークインターフェース204(有線又は無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどのような1つ以上の通信ネットワークとを介して、コンピューティングデバイス200を他のコンピュータ及びデバイスに接続するために使用される。
・ウェブブラウザ220(又はウェブページを表示することができる他のアプリケーション)。ユーザがネットワークを介して遠隔のコンピュータ又はデバイスと通信することが可能になる。
・ユーザが視覚的グラフィックを構築し、且つ/又は自然言語クエリを問い合わせるためのデータ視覚化ユーザインターフェース224(例えば、グラフィカル・ユーザ・インターフェース100)を提供する、データ視覚化アプリケーション222。例えば、ユーザは、1つ以上のデータソース236(コンピューティングデバイス200に格納されても、あるいは、リモートで格納されていてもよい)を選択し、データソースからデータフィールドを選択し、且つ/又は自然言語クエリと一致するデータフィールドをデータソースから検索し、更に、選択されたフィールドを使用して、視覚的グラフィックを定義する。いくつかの実装形態において、ユーザが提供した情報は、視覚的明細228として格納される。データ視覚化アプリケーション222は、データビジュアライゼーション生成モジュール226を含み、これは、ユーザ入力(例えば、視覚的明細228)を受信し、対応する視覚的グラフィック(「データビジュアライゼーション」又は「データビズ(data viz)」とも呼ばれる)を生成する。次に、データ視覚化アプリケーション222は、生成された視覚的グラフィックをユーザインターフェース100に表示する。いくつかの実装形態において、データ視覚化アプリケーション222は、スタンドアロンアプリケーション(例えば、デスクトップアプリケーション)として実行する。いくつかの実装形態において、データ視覚化アプリケーション222は、ウェブブラウザ220内で実行するか、又はウェブサーバから提供されるウェブページを使用して他のアプリケーションを実行する。いくつかの実装形態において、データ視覚化アプリケーション230は、コンピューティングデバイスのユーザによって提供されたコマンドを処理(例えば、解釈)するための言語処理モジュール232を含む。いくつかの実装形態において、コマンドは自然言語コマンド(例えば、音声入力デバイスによって取り込まれた)である。いくつかの実装形態において、言語処理モジュール232は、自動補完モジュール、語用論モジュール、及び/又は曖昧性モジュールなどのサブモジュールを含む。いくつかの実装形態において、メモリ214は、言語処理モジュール238によって決定されたメトリクス及び/又はスコアを格納する。更に、メモリ214は、言語処理モジュール232によって決定されたメトリクス及び/又はスコアと比較される、閾値及び他の基準を格納することができる。例えば、言語処理モジュール232は、受信したコマンドの解析語/フレーズの関連性メトリック(詳細は後述)を決定することができる。次に、言語処理モジュール232は、メモリ214に格納されている閾値と突き合わせて、関連性メトリックを比較することができる。
・データ視覚化アプリケーション222によって使用される、ゼロ個以上のデータベース又はデータソース236(例えば、第1データソース236-1及び第2データソース236-2)。いくつかの実装形態において、データソースは、スプレッドシートファイル、CSVファイル、XMLファイル、又はフラットファイル、あるいはリレーショナルデータベースに格納されている。
・会話インターフェース(例えば、
図3、
図4、及び
図6A~
図11を参照して、後述するインターフェース)を介して、ユーザ入力を処理し、質問の種類、及び/又はユーザの嗜好に基づいて、テキスト及び/又は可視化応答を生成する、会話モジュール242。
【0034】
上記で識別された実行可能モジュール、アプリケーション、又は手順のセットの各々は、前述のメモリデバイスのうちの1つ以上に記憶され得、上述された機能を行うための命令のセットに対応する。上記の識別されたモジュール又はプログラム(すなわち、命令のセット)は、別個のソフトウェアプログラム、手順、又はモジュールとして実装される必要はなく、したがって、これらのモジュールの様々なサブセットは、様々な実装形態において組み合わされるか、又は別様に再配置され得る。いくつかの実装形態において、メモリ214は、上記で特定したモジュールとデータ構造のサブセットを格納する。更に、メモリ214は、上記以外の追加のモジュール又はデータ構造を格納することができる。
【0035】
図2は、コンピューティングデバイス200を示しているが、
図2は、本明細書で説明されている実装形態の構造的概略としてではなく、存在し得る様々な特徴の機能的説明としてより意図されている。実際には、当業者によって認識されるように、別々に示された項目を組み合わせることが可能であり、いくつかの項目は分離することができる。
【0036】
本明細書で説明する技術は、認知領域を伴う、地理空間的問い合わせを支援するNL入力システムを設計するために使用することができる。この技術は、曖昧な地理空間クエリを処理するために使用できる。例えば、マップウィジェットは、ユーザ定義の領域でクエリを自動補完するために使用できる。また、このシステムは解析中の認知領域の指定と保存を支援することもできる。例えば、UIは、カバレッジの表示、微調整、及び今後の参照のための認知領域の保存に使用できる。更に、このシステムは、認知領域を伴う、より詳細なクエリを支援する可能性も提供する。例えば、このようなシステムは、空間分解能、比較、及び推奨をより自在に制御できる。
【0037】
いくつかの実装形態によると、場所の曖昧な定義は、認知領域の指定を通じて、視覚的自動補完ウィジェットで表現できる。認知領域とは、人々が地表(付近)を理解する他、それについて推論し、通信するために使用する(ほぼ)二次元の特徴である。こうした領域は、大抵の場合、実在の実体、性質、プロセスに非恣意的に対応し、知的、又は認知的な行為として生成される空間的範疇である。これらは、地理空間特徴表面の異種セットに関する現実により対応し易くするか、あるいは、特定の地理空間の問い合わせ(例えば、「中西部」、「西海岸」、「ダウンタウン」)のニーズに対応する、有用な形態の領域化である。これらは不規則な境界線を持つこともあれば、共通の行政境界線と上手い具合で一致することもある(例えば、ある定義では「西海岸」はワシントン州、オレゴン州、カリフォルニア州の全てを含むが、同じ名前の領域の別の定義では、単に海岸線に沿った土地だけである場合もある)。また、これらは、データ分布の認識(例えば、任意形状の関心エリアにグループ化されたデータ点の関心クラスタ)に基づいて、その場で特定されることもある。認知領域は、人間の思考及びコミュニケーションを特徴づけるカテゴリ思考の種類を反映するため、地理空間データのNL相互作用について、特に適している。また、データ分布の評価を通じて、その場で形成したり、あるいは、再成形することも可能であり、関心領域の境界は、ユーザによる最初の概念的境界を中心にデータがどのように分布しているかに基づいて、拡大、あるいは縮小する。
【0038】
位置の概念は地理学の基本であり、位置と属性のカテゴリ化を容易にするが、位置に関する人間の理解と位置のコンピュータマッピングとを明確に一致させることは、困難となる場合がある。認知領域又は定義が曖昧、あるいは不規則な他の位置を組み込むことは、NLインターフェースにおける困難、且つ重要な課題である。研究により、行政型、テーマ別、機能的、認知的という4つの異なる種類の領域があることが示唆されている。このような地理的領域には、はっきりと定義された公的な境界線(例えば、州と国)がある場合もあれば、曖昧でより個人的な関連性の高い概念的な定義(例えば、「ダウンタウン」又は「西海岸」)がある場合もあり、あるいは、その両方が組み合わさっている場合もある(例えば、市又は郡によって公式な境界線が画定されている地域もあるが、個人的な位置の分類に基づくことにより、個人にとっては、境界線が曖昧な地域もある、近隣)。この領域は曖昧で漠然としていることが多く、同じ領域名でも個人によってかなりのばらつきがある(例えば、北カリフォルニアと南カリフォルニアの境界)。その上、認知領域を扱う際のもう1つの課題は、名前の付いた領域の正確な定義が、その領域の使われ方、又は相互作用の方法によって変わる可能性がある、ということである。「西海岸」の境界線は、その領域について尋ねられる質問の性質に応じて、意味が異なる場合がある、例えば、最良のサーフブレイクについて質問する際に画定される領域と、西海岸全域の農業生産の傾向について質問する際に使用される領域は、領域名(「西海岸」)が同じであっても、異なる可能性が高い。
【0039】
例示の地理空間クエリ及び空間概念の表現
通常、地図読みタスクは以下の3範疇に分類される。位置に関する特定の情報を特定すること、領域全体のパターンに関する一般的な情報を評価すること、あるいは、複数の位置、又は属性同士の比較を支援すること。しかし、位置に関する質問をする場合、システムが対象となる位置を明確に定義する必要がある。例えば、画定された区域、又は既知の位置に付けることが可能な地理的な名前である(例えば、「California」という語句は、「California」というname属性を持つポリゴンと一致させることができる)。空間的なNLクエリを記述する際、ある位置について、ユーザの名前を絶対的な地理的定義に合わせることは困難な場合がある。これは、地名の曖昧性解消に関する研究、並びに認知的領域化の理解においてより広く見られるように、NLクエリについて古くから存在する問題である。NLクエリでユーザ位置を指定する際の更なる課題として、関心位置には一般的な名前すらなく、例えば、「そこにあるデータ点のクラスタの周辺エリア」、あるいは「湖の近くに突き出ている陸地」のような、データ駆動型の場合もある。スケッチは、空間情報を表現する自然な方法として古くから考えられており、位置の定義(例えば、Googleマップにおけるグラフィカルな選択)、空間的関係のサポートとして、あるいは特定の地理的パターン/構成のクエリとして、様々なシステムに取り入れられてきた。
【0040】
例示の自動補完及びNL相互作用
検索及びNLインターフェースは、ユーザによる入力クエリの作成を支援するために、テキスト又は視覚的自動補完を使用することが多い。自動補完候補は、ユーザが入力する際に文脈に沿って表示されるか、インターフェースがクエリをシステムの言語を表す対応する正規表現に再定義する際に表示される。こうした足場は、データ探索中、構文上不備がなく、解析的に妥当なクエリを入力するよう、ユーザを誘導する上で有用である。しかし、これらのシステムは、基礎となるデータのプレビューを提供しないので、ユーザは、解析の対象となる質問をNL形式で定式化しながら、決定する必要がある。いくつかのグラフィカル・ユーザ・インターフェース・コントロールにおけるScentedウィジェットは、データ解析タスクを支援できる。このようなシステムでは、スライダ、コンボボックス、及びラジオボタンなどの従来型ウィジェットを強化し、可視化を埋め込むことで、情報空間でのセンスメイキング(意味付け)を支援している。
【0041】
いくつかの実装形態において、データプレビューを伴う自動補完のテキストと視覚的双方の変形形態は、視覚的解析タスク用のNL相互作用の状況内でガイドをユーザに提供する。データの数値的、時間的、及び空間的なプレビューだけでなく、ユーザの空間的なNLクエリのニーズを完全にサポートするためには、更なる技術的、且つ言語的な課題がある。例えば、従来の地理情報検索の問題では、ユーザのクエリに含まれる関心位置(複数可)を特定して、データベース内の定義された位置にマッピングできるようにする必要がある。従来のシステムには、特定の名前付き位置に関するNL空間クエリをより容易、且つ確実に生成するユーザの能力を高められるものもあるが、人間が位置を概念化しがちな曖昧な方法をより上手い具合でサポートできる可能性も残っている。いくつかの実装形態では、データ駆動型の足場の概念を拡張し、認知領域の指定を通じて、視覚的自動補完ウィジェットで表現できる場所の曖昧な定義をサポートしている。
【0042】
いくつかの実装形態では、文脈自由構文を持つANTLRパーサで処理された入力NLクエリによる、ウェブベースのアーキテクチャを使用している。このパーサは、データクエリ要求を処理するために、データマネージャを通してデータセットにアクセスする。いくつかの実装形態では、実行時、クエリはD3、Leaflet mapを更新する。Leafletは地図をウェブサイトに埋め込むためのライブラリである。D3及びLeafletでは、図形のレンダリングと点の投影について、異なるAPIを使用している。D3マップは、arrayのような関数を使用してアクセスできるハッシュ配列を作成することで、アイテムをまとめてグループ化するために使用することができる。このシステムは、ユーザが入力中のクエリをポーリングし、クエリを一部入力した時点で、構文解析木の誤りをトリガする。基礎となる構文規則に基づいて、テキストとウィジェットベースの自動補完候補をユーザに表示して、部分的なクエリの解決を支援する。NL相互作用の状況で曖昧な認知領域を処理するために、いくつかの実装は、「near(~に近い)」、「in(~内)」、「around(~の周囲)」など、場所に関連するトークンを含む地理空間クエリで、ユーザが関心領域を特定するのを支援するために、マップウィジェットを拡張する。また、このシステムは、クエリにおいて、「large(大きい)」、「small(小さい)」、及び「recent(最近)」などの、数値的、時間的記述子もサポートしている。マップウィジェットはデータプレビューを提供し、ユーザが矩形選択(一例を後述の
図6Cで示す)、あるいは自由描画選択(一例を
図8を参照して後述する)のいずれかを使用して、領域を選択することを可能とする。
【0043】
以下に示す一例示のアルゴリズムは、マップウィジェットでユーザが選択した認知領域のカバレッジを決定する。
アルゴリズム1選択のカバレッジを決定する
入力:ユーザ選択を含むポリゴンオブジェクト
出力:区域とそれらの正規化スコアのリスト
qtは、データセットからデータ点を格納するための四分木データ構造である。
1:qtにアクセスし、ユーザが選択した領域内の選択されたジオデータ点、及び対応する行政区域を取得する。
2:ユーザが選択した領域内の、選択されたジオエリア、及び対応する行政区域単位(例えば、州)を取得する。
3:選択されたジオデータ点、及び選択されたジオエリアから、行政区域の集計を取る。
4:集計されたリストの各行政区域について、以下を実行する
5:選択されたジオデータ点の割合、及び重複するジオエリアについて、正規化スコアを計算する(式1)
6:スコア<選択された閾値の場合、以下で
7:集計リストから行政区域を削除する
8:end if
9:end for
10:行政区域の集計リストの得点を降順に並べ替える。
【0044】
例示の正規化スコアの計算法
マップウィジェット上で選択が行われると、いくつかの実装形態では、選択されたデータ点の割合、及び重複する地理的エリアを使用して、特定の区域を選択する際の信頼水準を決定する。区域が郡レベルでは細かすぎるし、国レベルでは粗すぎることにより、州を使う実装形態もある。空間クエリに合わせて最適化するために、いくつかの実装形態では、検索操作を支援するコンパクトなデータ構造である、四分木を使用している。いくつかの実装形態では、四分木を検索して、選択された点を特定する。状態ごとに、データ点の総数に対する選択された点の割合を計算する。更に、いくつかの実装形態では、ユーザ定義領域と交差する州について、地理的エリアの割合も計算する。
【0045】
システムのいくつかの実装形態は、以下のように割合値を計算する。いくつかの実装形態は、選択された点の割合、及び重複する地理的エリアの割合の双方の値を使用して、信頼スコアを決定する。いくつかの実装形態は、発見的アプローチを使用して、ユーザ選択のカバレッジを計算するために様々な個々の重みを使用することができる。実際、重複する地理的エリアとデータ点にそれぞれ0.65と0.35の重みを割り当てることで、特定区域を意図的に含む可能性を反映した合理的な結果が得られる。0.2以上の閾値は、ユーザが選択の際に含めることを目的とする地理的エリアを選択するために使用できる。信頼スコアは、以下に示す式(1)の例を使用して、算出することができる。式(1)において、Pareaは選択された点のエリアの割合であり、Ppointsは重複する地理的エリアの割合値である。
信頼スコア=Parea*0.65+Ppoints*0.35 (1)
【0046】
例示のユーザインターフェース
図3は、いくつかの実装形態に係る、一例示のデータ視覚化インターフェース300を示す図である。上記のとおり、自然言語では表現できない曖昧な認知領域へのクエリについて、この技術、及び例示のインターフェースを使用することができる。インターフェース300は、クエリを入力するための入力フィールド(a)、ユーザ選択用のマップウィジェット(b)、メインマップビュー(c)、並びに対象となる認知領域の結果を表示するパネル(d)を含む。例示の寸法302及び測定値304が左側に示されている。ユーザがマップウィジェット(b)で領域を選択し、テキストクエリ(例えば、「...で発生した大地震(large earthquakes in...)」)を入力すると、パネル(d)は、グラデーションのカラーパレットを使用して、信頼度の高いスコアからソートされた様々な状態を表示する。ユーザは、選択に関連付けたくない場所を削除するだけでなく、提供されたテキストフィールドに領域の名前を付けることもできる。名前を付けた領域はシステムによって保存され、今後のクエリで参照することができる(例えば、「中西部で最近発生したことは何ですか?(what are the recent ones in the Midwest?)」)。メインマップ(c)はクエリの結果を表示するように更新される。いくつかの実装形態では、ユーザが特定した2つの認知領域同士の比較もサポートする(例えば、「西と東を比較する(compare the west and the east)」)。システムは、これらの各領域における統計の最小値、最大値、及び平均値を表示する。いくつかの実装形態に従って、
図3~
図11を参照しながら、様々なシステム動作の例、及びクエリ例を以下で示し、説明する。
【0047】
自動補完は、ユーザが入力するその場で候補を表示する、有用なUI機構である。従来の自然言語インターフェースは、自動補完を提供するが、基本データに何があるかに関するガイドを提供せずに、構文的なクエリの結論に焦点を当てている。
【0048】
図4は、いくつかの実装形態に係る、解析ワークフロー中にデータプレビューを提供するための視覚的自動補完をサポートする一例示のユーザインターフェース400を示す図である。
【0049】
図5は、いくつかの実装形態に係る、一例示のシステム500の概略図である。このシステムは、クエリを解析する先読みパーサを実装している。自動補完検出モジュールは、ユーザが入力中のクエリを保持し、クエリに不備がある場合、自動補完イベントをトリガする。データマネージャを援用することで、データ頻度情報を使用して、集計されたデータプレビューが生成される。自動補完マップウィジェットがインターフェースに表示される。ユーザはウィジェットと相互作用して、曖昧な関心領域を指定することができる。次に、インターフェースが更新され、結果、及びユーザ選択領域内にある状態が表示される。
【0050】
いくつかの実装形態において、システム500は、
図2を参照して上述したデバイス200のメモリ206内の1つ以上のモジュールとして実装される。いくつかの実装形態によると、システム500は、ウェブベースのクライアントサーバアーキテクチャを使用している。いくつかの実装形態において、ユーザ502から入力された入力クエリ504(不完全な自然言語コマンド、不完全なクエリ506、又はクエリとも称する)は、パーサ508(例えば、ANTLRパーサ)によって、所定規則、及び基礎となるデータセットからのデータフィールドのデータ値に基づいて動的に追加された規則を含む構文510(例えば、文脈自由構文)を使用して、処理される。いくつかの実装形態において、パーサ508は、データ要求を処理するアクセス機能526を有する、データマネージャ524を通じて、基礎となるデータセット(例えば、データベース528からのデータ)にアクセスする。いくつかの実装形態において、自動補完検出モジュール512は、ユーザが入力中のクエリ506をポーリングし、部分的な入力514(例えば、クエリを一部入力している際の構文解析木の誤り)をトリガする(514)。いくつかの実装形態において、部分的な入力514は、自動補完ジェネレータ516に渡され、この自動補完ジェネレータは、クエリに不備がなければ満たされる、関連する構文規則とともに、部分的なクエリの構文構造をイントロスペクションする。ジェネレータ516は、データマネージャ524を援用することで、部分的なクエリを不備のないクエリに再解決するウィジェット(例えば、集計データビューを含むマップウィジェット522)を表示する(520)ために、データプレビューを計算する(518)。いくつかの実装形態において、データマネージャ524を援用することで、ジェネレータ516は、自動補完候補に表示されるはずの(520)、必要なデータプレビュー情報を計算する(518)。いくつかの実装形態において、次に、自動補完候補は、クライアントのユーザインターフェース内でレンダリングされて、表示される(例えば、可視化536)。こうした自動補完候補についてユーザが実行する何らかの相互作用は、データマネージャ524を援用することで、認知領域のカバレッジを決定する(530)ためにキャプチャされ(532)、処理される。いくつかの実装形態において、システムは、認知領域について決定されたカバレッジに基づいて、可視化結果536を更新する(534)。
【0051】
いくつかの実装形態において、システム500は、左から右へのLL(*)パーサを使用して、入力検索クエリの左端導出を実行する。適切な構文解析パスを構築できない場合、LL(*)パーサは、従来の固定k≧1トークン先読みから任意の先読みへとスムーズにスロットルアップして、バックトラックすることができるので、この種のパーサは自動補完候補を生成するために使用される。いくつかの実装形態において、パーサ508への入力は、候補モジュールに送信されるイベントをトリガする対応する先読み動作を有する述語で補強された構文である。いくつかの実装形態において、他の自然言語視覚的解析構文システムと同様、各構文規則は解析意図をカプセル化している。規則は、静的(すなわち、構文であらかじめ定義されている)あるいは動的(すなわち、リアルタイムでデータベースのデータフィールドのデータ値から計算される)な語彙から構成される。言語学では、語彙とは、既知の意味論的意味を有する単語と語句からなる用語集のことである。いくつかの実装形態において、パーサ508は、入力構文を、等価増補遷移ネットワーク(ATN)という、比較的複雑な自然言語クエリの構文解析で使用される構文用の効率的なグラフ表現へと変換する。いくつかの実装形態において、状態モデルは、最上位ノードから到達可能な全てのノードを通じて、ATNグラフ表現をトレースするフロー解析を使用して計算される。文法G=(N、T、P、S、Π、μ)が与えられると、ATN状態機械AG=(Q、Σ、Λ、E、F)は以下の5つの要素を持つ:(i)Qは状態の集合、(ii)ΣはトークンN U T U Π U μの集合、(iii)Λは写像Q x(Σ U ε)→Qの遷移関係、(iv)E=pA、式中、A ∈ Nは入力状態の集合、(v)F = p’
A、式中、A ∈ Nは最終状態の集合である。
【0052】
いくつかの実装形態に従って、文法の各非終端語彙要素について、AGを計算し、各Σの状態モデルが作成される。非終端記号は解析の構文構造を形成し、終端記号、すなわち、解析木のリーフノードに置き換えられる。非終端エッジp-+p’は、戻り状態p’を構文解析状態スタックにプッシュして、状態フローの停止状態に達した後、p’から続行できるようにする、Λに基づく関数呼び出しである。いくつかの実装形態において、パーサはATNの動作をシミュレートして、Qの次のトークンを予測し、先読み解析木を計算する。シーケンスが現行の非終端に関する対応する構文生成規則に解決されない場合、ATNで予測誤りが発生する。LL(*)予測状態モデルは、特定のトークンにおける誤りを報告し、この誤りを解決できる非終端があるかどうかを判断するために、前方(次のトークン)をスキャンする。いくつかの実装形態によると、自動補完がトリガされるために、有効な解析木を生成する最短の先読みシーケンスを特定する。いくつかの実装形態において、自動補完検出アルゴリズムは、静的語彙と動的語彙の双方について、一般化されている。
【0053】
図6Aは、いくつかの実装形態に係る、米国における地震の地
図602を示す例示的なユーザインターフェース600を示す。
図6Bでは、ユーザは「地震を表示してください(show me earthquakes in)」602と入力することから開始する。これに応答して、マップウィジェット604が表示され、部分的なクエリを自動補完する。マップウィジェット604内の六角形の空間ビン606は、集計されたデータ分布を示す。
図6Cでは、次に、ユーザは、矩形選択608を通して関心エリアを選択する。
図6Dでは、ユーザが選択を完了した後、システムは右側に含まれる領域の要約610を提示する。
図6Eにおいて、要約は、矩形の選択範囲にどれだけの領域が含まれていたかという情報612を示す。
図6Fでは、ユーザは(
図6Eに対して)選択された領域からいくつかの州を削除し、その選択範囲に「アメリカ中部(mid america)」614という、名前を付けている。
図6Gでは、この命名された認知領域は、ユーザのセッションで将来参照されるために格納される(616)。
【0054】
図7Aでは、ユーザは「~に大地震発生(large earthquakes in)」700と入力し、自由描画選択を使って、西海岸の点の領域702を選択し、Enterを押す。
図7Bでは、システムはその領域の地震を表示し(テキスト704と地
図706で示される)、大きな地震に合わせてスライダ708を表示する(マグニチュード5の初期選択も示される)。
図7Cでは、ユーザはスライダを調整してマグニチュード4以上710を選択し、地
図706上のポイントはそれに応じて調整される。
【0055】
図8Aでは、引き続き、ユーザは、(自由描画選択800によって)「北西上部で選択された領域で発生した小規模地震(small earthquakes in a region selected in the upper northwest)」を探索する。システムは、いくつかの実装に従って、
図8Bで見られるように、地
図802を適宜更新する(地
図802と更新された地
図804を比較する)。
【0056】
図9Aでは、次にユーザは(ユーザ入力900で示された)米国東部における「最大の地震(largest earthquakes)」の探索に進む。
図9Bでは、ユーザは領域を「東(the east)」902と命名して、「直近のe(most recent e)」904の入力を開始し、システムは地図の状態、及びユーザの選択に基づいて、「地震(earthquakes)」906を選択するオプションを表示する。
図9Cでは、ユーザは領域に「西海岸(west coast)」908という名前を付け、(例えば、アフォーダンス(affordance)910をクリックすることによって)、名前付き領域を後で再度使用できるよう、その領域を格納することを選択する。
【0057】
図10において、いくつかの実装形態によると、ユーザは特定領域のデータ(例えば、「モンタナ州の小規模地震(small earthquakes in montana)」1000)を表示することを選択し、システムは地
図912を更新する。
【0058】
図11で見られるように、いくつかの実装形態によると、ユーザは、ユーザが以前に記憶した2つの認知領域(例えば、「中部アメリカと東部とを比較する(compare mid america and the east)」、領域1100と1102)を比較することもできる。
【0059】
例示の実験結果
上記の技術に従って、システムを評価するためのユーザ調査を実施した。この調査の目的は以下のとおりである:(1)視覚的解析における人間の認知領域の表現とクエリの方法に関する定性的フィードバックを収集すること、(2)システムの限界と、データ探索を進める上で場所の意味論をどのように利用できるかに関する機会を特定すること。この調査では、人間がデータをどのように探索し、システムの動作にどういった形で反応するかを調べた。この調査の目的は、システムの動作に関する定性的な洞察を得ることであったため、参加者は実験者とともに声に出して考えるよう促された。
【0060】
この調査では、地元の町のメーリングリストから12人のボランティア(男性5名、女性7名、年齢36~65歳)を募集した。参加者は、ユーザリサーチャ、セールスコンサルタント、エンジニアリングリーダ、プロダクトマネージャ、投資家、商業不動産ブローカ、プログラムマネージャ、マーケティングマネージャなど、経歴は様々であった。参加者の自己申告によれば、全員が英語に堪能で、Googleなど、何らかのNL検索インターフェースを常用していた。7名の参加者が定期的に可視化ツールを使用していたが、残りの参加者はあまり習熟していなかった。
【0061】
評価では、標準化された構造と属性を持つ、米国内の約10,000の地震のデータセットを使用した。評価では地震が使われたが、このシステムは、点データセットに関わらず動作する。調査では、システムの使い方を簡単に紹介することから始めた。参加者は、最も自然に感じられる方法でクエリを作成し、システムが予期せぬ動作をする度に、その旨を伝えるように指示された。例示のシステムでは他の解析クエリを処理できるが、参加者は、場所に基づいてデータを探索する方法について、もっと深く理解できるよう、とりわけ地理空間クエリに焦点を当てるように求められた。システム挙動に対する反応は、セッションを通して参加者と議論され、最後に聞き取り調査が行われた。各セッションの所要時間は約30分であった。解析では、定性的解析及び定量的解析を含む、混合方法論的アプローチが使用された。定性的な発見を補完するものとして、定量解析を使用した。
【0062】
総じて、参加者はこのシステムに肯定的で、多くの利点を挙げていた。この調査では米国の地震データセットが使用されたため、ほとんどの質問は様々な地理的エリアで発生した地震の強度及び発生頻度を中心としたものであった。何名かの参加者は、曖昧な地理空間クエリを理解するシステムの性能に感銘を受けていた。参加者は、解析の際に認知領域を指定、保存する機能を高く評価した。参加者が入力したクエリの総数は8~20(μ=10.4)であった。地理的領域を選択するためにマップウィジェットを使用した回数は、5~11回であった(μ=7.4)。参加者がマップウィジェットを操作した大抵の場合、認知領域に名前を付けて、保存した、ここで操作した回数は6~8(μ=6.8)であった。参加者は、保存したこれらの認知領域を、その後のユーザセッションの解析問題で4~8回(μ=5.9)再利用した。参加者が最も多く名前を挙げた認知領域は、「西部(the west)」が47%、「北西部(northwest)」が38%、「南部(south)」が12%、「中西部(midwest)」が3%であった。最も多かった解析クエリは、「大地震(large)」(相互作用の42%)、「小地震(small)」(31%)、「地震の比較(compare)」(25%)に関するもので、残りは「最近の地震(recent)」であった。システムの動作を理解するために、参加者全員がテキスト応答としてスライダ及びドロップダウンメニューで操作した。
【0063】
いくつかの実装形態では、空間解像度の制御を提供する。例えば、マップウィジェットのhexbins(六角形で表現された地図の領域)は、空間解像度をユーザがある程度制御できるように、地図のズームに基づいて調整される。いくつかの実装形態では、データを離散化するために使用されるマップウィジェットの六角形の空間解像度にわたる制御を提供する。いくつかの実装形態では、よりデータ駆動型の制御を提供し、ユーザの解析のスケールをデータのスケールに一致させたり、場合によっては、ヒートマップなどの他の空間集計オプションを含んだりする。
【0064】
いくつかの実装形態では、認知領域の特徴同士の比較を提供する。例えば、システムによっては、中間値、平均値、最小値、及び最大値などの統計値を提供することにより、認知領域同士の定量的比較を支援するものもある。しかし、参加者は、特徴同士の多様な比較と、どの特徴に興味があるかを特定する性能を求めていた。認知領域が関与する解析課題の多くは、複雑な特性の比較を伴う傾向がある。いくつかの実装形態は、相互作用技術でユーザが関心特性を指定するためのサポートと、かかる比較に関する多様な要約を提供するための視覚的解析ツールを提供する。
【0065】
いくつかの実装形態では、認知領域の特性に基づいた推奨事項を提供する。可視化推奨システムは、極めてデータ駆動型であり、ユーザの過去の行動と嗜好に依存している。認知領域による解析的問い合わせを支援するインターフェースは、データ特性が類似し得る他の認知領域を推奨するきっかけとなるシナリオを提供する。例えば、かかる推奨は、発展途上国における医薬品の流通と治療ロジスティクスの開発に有効であり、ユーザは症例、人口、及び治療施設の数の傾向を見ることができる。いくつかの実装形態では、ユーザが既に焦点を当てているものに基づいて、調査すべき新たな認知領域を推奨する。
【0066】
データセットの例示の視覚的解析方法
図12A~
図12Jは、いくつかの実装形態に係る、データセットの視覚的解析で自然言語を使用する(1202)方法1200のフローチャートを提供している。この方法は、1つ以上のプロセッサ(例えば、プロセッサ202)と、1つ以上のプロセッサによる実行用に構成された1つ以上のプログラムを記憶する(1206)メモリ(例えば、メモリ206)とを、有するコンピューティングシステム(例えば、コンピューティングデバイス200)において実行される(1204)。この方法は、データソース(例えば、データソース240-1)のユーザ選択を受信すること(1208)を、含む。更に、この方法は、選択されたデータソースのデータを解析するための自然言語インターフェースを提示すること(1210)も、含む。
【0067】
更に、この方法は、データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信したこと(1212)に応答して、データソースから地理空間データ点を選択するためのマップウィジェットを提示すること(1214)も、含む。次に
図12Bを参照すると、いくつかの実装形態において、この方法は、構文解析木に誤りがあるかどうかをチェックするために、第1ユーザ入力を解析することによって、第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定すること(1218)も、更に含む。次に
図12Cを参照すると、いくつかの実装形態において、この方法は、場所関連のトークンを特定するために第1ユーザ入力を解析することによって、第1ユーザ入力が不完全な自然言語コマンドを指定しているかどうかを判定すること(1220)も、更に含む。次に
図12Eを参照すると、いくつかの実装形態において、マップウィジェットは、データソースからのデータの集計プレビューを含む(1224)。いくつかの実装形態において、集計プレビューは、マップの領域を六角形として表示するHexbinベースのプレビューを含む(1226)。いくつかの実装形態において、マップウィジェットは、追加の空間的コンテキストに関する詳細なベースマップも更に含む(1228)。
【0068】
図12Aに戻ると、この方法は、データソースを対象とする不完全な自然言語コマンドを指定する第1ユーザ入力を受信すること(1212)を受けて、マップウィジェットで領域を選択する第2ユーザ入力を受信したことに応答して、第1ユーザ入力及び第2ユーザ入力に従って、地図データ視覚化を生成、表示すること(1216)も、更に含む。次に
図12Cを参照すると、いくつかの実装形態において、第2ユーザ入力は、矩形又は自由描画のいずれかによる選択である(1222)。
【0069】
次に
図12Fを参照すると、いくつかの実装形態において、この方法は、選択された領域内のデータ点の言語的説明を生成、表示すること(1230)も、更に含む。
【0070】
次に
図12Gを参照すると、いくつかの実装形態において、この方法は、マップウィジェット内の選択された領域を引き続き表示すること(1232)も更に含み、マップウィジェットは、ユーザによる選択された領域の変更に従って、データ視覚化を更新するように構成される。
【0071】
次に
図12Hを参照すると、いくつかの実装形態において、この方法は、今後のクエリで使用できるよう、選択された領域の空間的定義を受信、格納すること(1234)も、更に含む。いくつかの実装形態において、この方法は、データソースを対象とする空間クエリを受信すること(1236)と、空間クエリに対する応答を生成、表示する空間的定義を取得すること(1238)も、更に含む。
【0072】
次に
図12Iを参照すると、いくつかの実装形態において、この方法は、ユーザが、一般的な名前が付けられた行政区域、並びにデータ特性を使用して、空間クエリを評価、改善するのに役立つ、選択された領域のカバレッジメトリックを生成、表示すること(1240)も、更に含む。いくつかの実装形態において、カバレッジメトリックは、選択されたデータ点の割合、及び重複する地理的エリアに基づいて計算される、特定の区域を選択する際の信頼水準に相当する(1242)。いくつかの実装形態において、地理的エリアは郡、州、及び国からなる群から選択される1つ以上の領域を含む(1244)。いくつかの実装形態において、この方法は、カバレッジメトリックに基づいて様々な地理的エリアをソート、表示すること(1246)も、更に含む。いくつかの実装形態において、地理的エリアは、カバレッジメトリックに準じたグラデーションのカラーパレットを使用して表示される(1248)。
【0073】
次に
図12Jを参照すると、いくつかの実装形態において、この方法は、ユーザが識別した2つの認知領域同士の比較を生成、表示すること(1250)も、更に含む。いくつかの実装形態において、この比較には、各領域の最小値、最大値及び平均値の統計が含まれる(1252)。
【0074】
このようにして、本明細書記載の技術を使用して、NLで簡単に表現できない認知的関心領域のクエリを支援するグラフィカルな自動補完を提供することができる。いくつかの実装によると、カバレッジメトリックを使用して、直接操作を通じてユーザの関心領域を決定する。このシステムにより、これらの認知領域の定義を永続化することができ、ユーザは、これらの認知領域にラベルを付け、改善させ、将来のクエリとしてインターフェースに組み込むことができる。システムの評価から、参加者はシステムを直感的に操作でき、NL問い合わせで曖昧な地理的領域を指定できることを高く評価していることが、示された。実験結果から、より高度な地理空間データ探索に認知領域を使用できる可能性が明らかとなった。
【0075】
本明細書において本発明の説明で使用される用語は、特定の実装形態を説明することのみを目的としたものであり、本発明を限定することを意図するものではない。本発明の説明及び添付の特許請求の範囲において使用される場合、単数形「a」、「an」及び「the」は、文脈がそうでないことを明確に示さない限り、複数形も含むことが意図される。本明細書で使用される場合、「及び/又は」という用語は、関連する列挙された項目のうちの1つ以上のありとあらゆる可能な組み合わせを指し、それらを包含することも理解されよう。「含む(comprises)」及び/又は「含んでいる(comprising)」という用語は、本明細書で使用されたとき、述べられた特徴、ステップ、動作、要素、及び/又は構成要素の存在を指定するが、1つ以上の他の特徴、ステップ、動作、要素、構成要素、及び/又はそれらのグループの存在又は追加を排除しないことが更に理解されよう。
【0076】
前述の説明は、説明の目的で、特定の実装形態を参照して記載されている。しかしながら、上記の例示的な考察は、網羅的であること、又は本発明を開示された厳密な形態に限定することを意図するものではない。上記の教示を考慮して、多くの修正及び変形が可能である。実装形態は、本発明の原理及びその実用的な用途を最良に説明するために選択及び記載され、これにより他の当業者は、本発明と、企図される特定の使用に適した様々な修正を伴う様々な実装形態とを最大限に活用することが可能となる。
【国際調査報告】