(57)【要約】  方法は、コンピュータによるデータセットの視覚的分析のために自然言語処理を使用する。コンピュータは、１つまたは複数のデータベースのクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する。コンピュータは、表示されたデータの視覚化に関連する自然言語コマンドを指定するためのユーザ入力（例えばキーボードまたは音声）を受信する。表示されたデータの視覚化に基づいて、コンピュータは、自然言語コマンドから１つまたは複数の独立した分析句を抽出する。コンピュータはさらに、１つまたは複数の分析句の集合に基づいて自然言語コマンドに関連付けられた１つまたは複数の会話センターの集合を計算する。次いで、コンピュータは、１つまたは複数の会話センターの集合に関連する分析関数の集合を計算し、それによって１つまたは複数の関数句の集合を作成する。次に装置は、１つまたは複数の関数句の集合に基づいてデータの視覚化を更新する。
2020520485.tif 000002
【特許請求の範囲】
【請求項１】
データセットの視覚的分析のために自然言語を使用する方法であって、
ディスプレイ、１つまたは複数のプロセッサ、および前記１つまたは複数のプロセッサによる実行のために構成された１つまたは複数のプログラムを記憶するメモリを有するコンピュータで、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、および
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること
を含む方法。
【請求項２】
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
をさらに含む、請求項１に記載の方法。
【請求項３】
前記１つまたは複数の会話センターの第１の集合、前記１つまたは複数の会話センターの一時的な集合、および前記１つまたは複数の会話センターの第２の集合の前記会話センターは各々、データフィールド属性またはデータの視覚化特性のいずれかを指定する変数の値を含み、前記１つまたは複数の移行規則を使用することが、
第１の変数が前記１つまたは複数の会話センターの第１の集合に含まれるかどうかを判定すること、
前記第１の変数が前記１つまたは複数の会話センターの一時的な集合に含まれているかどうかを判定すること、
前記第１の変数が前記１つまたは複数の会話センターの第１の集合および／または前記１つまたは複数の会話センターの一時的な集合に含まれるかどうかに基づいて、適用する１つまたは複数の移行規則のそれぞれの移行規則を判定すること、および
それぞれの前記移行規則を適用すること
を含む、請求項２に記載の方法。
【請求項４】
前記１つまたは複数の移行規則が、前記１つまたは複数の会話センターの第１の集合の各会話センターを前記１つまたは複数の会話センターの第２の集合に含め、前記１つまたは複数の会話センターの一時的な集合から前記１つまたは複数の会話センターの第２の集合へ１つまたは複数の会話センターを追加するためのＣＯＮＴＩＮＵＥ規則を含む、請求項３に記載の方法。
【請求項５】
前記それぞれの移行規則を適用することは、
（ｉ）前記第１の変数が前記１つまたは複数の会話センターの一時的な集合に含まれる、および（ｉｉ）前記１つまたは複数の会話センターの第１の集合に前記第１の変数が含まれないという判定に従って、前記１つまたは複数の会話センターの第２の集合に前記第１の変数を含めるように前記ＣＯＮＴＩＮＵＥ規則を適用すること
を含む、請求項４に記載の方法。
【請求項６】
前記１つまたは複数の移行規則が、前記１つまたは複数の会話センターの一時的な集合から前記１つまたは複数の会話センターの第２の集合へ会話センターを追加することなく、前記１つまたは複数の会話センターの第１の集合の各会話センターを前記１つまたは複数の会話センターの第２の集合に保持するためのＲＥＴＡＩＮ規則を含む、請求項３に記載の方法。
【請求項７】
前記それぞれの移行規則を適用することが、
（ｉ）前記第１の変数が前記１つまたは複数の会話センターの第１の集合に含まれる、および（ｉｉ）前記１つまたは複数の会話センターの一時的な集合に前記第１の変数が含まれないという判定に従って、前記１つまたは複数の会話センターの第２の集合に前記１つまたは複数の会話センターの第１の集合の各会話センターを含めるようにＲＥＴＡＩＮ規則を適用すること
を含む、請求項６に記載の方法。
【請求項８】
前記１つまたは複数の移行規則が、前記１つまたは複数の会話センターの第１の集合の各会話センターを前記１つまたは複数の会話センターの第２の集合に含め、前記１つまたは複数の会話センターの一時的な集合の会話センターと前記１つまたは複数の会話センターの第２の集合の１つまたは複数の会話センターを置き換えるためのＳＨＩＦＴ規則を含む、請求項３に記載の方法。
【請求項９】
前記それぞれの移行規則を適用することが、
（ｉ）前記第１の変数が１つまたは前記複数の会話センターの第１の集合に含まれ、および（ｉｉ）前記１つまたは複数の会話センターの一時的な集合に前記第１の変数が含まれないという判定に従って、
前記１つまたは複数の会話センターの第１の集合の前記第１の変数の第１の値が、前記１つまたは複数の会話センターの一時的な集合の前記第１の変数の第２の値と異なるかを判定すること、
前記第１の値が前記第２の値と異なるという判定に従って、前記１つまたは複数の会話センターの第１の集合の各会話センターを前記１つまたは複数の会話センターの第２の集合に含め、前記１つまたは複数の会話センターの第２の集合の前記第１の変数の前記値を前記第２の値と置き換えるためのＳＨＩＦＴ規則を適用すること
を含む、請求項８に記載の方法。
【請求項１０】
前記第１の変数に対応するウィジェットが前記ユーザによって削除されたかどうかを判定すること、および
前記ウィジェットが削除されたという前記判定に従って、前記１つまたは複数の会話センターの第１の集合の各会話センターを前記１つまたは複数の会話センターの第２の集合に含め、前記１つまたは複数の会話センターの第２の集合の前記第１の変数の前記値を前記第１の値を含む新しい値と置き換えるためのＳＨＩＦＴ規則を適用すること、
をさらに含む、請求項９に記載の方法。
【請求項１１】
前記ユーザが前記第１のデータセットとは異なるデータセットを選択したかどうかをさらに判定すること、
前記ユーザが前記データの視覚化をリセットしたかどうかを判定すること、および
（ｉ）前記ユーザが異なるデータセットを選択した、または（ｉｉ）前記ユーザが前記データの視覚化をリセットしたという判定に従って、前記１つまたは複数の会話センターの第１の集合、前記１つまたは複数の会話センターの一時的な集合、および前記１つまたは複数の会話センターの第２の集合のそれぞれを、会話センターを含まない空の集合へリセットすること
をさらに含む、請求項１に記載の方法。
【請求項１２】
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新することが、
前記１つまたは複数の関数句の第１の集合に基づいて前記１つまたは複数のクエリの第２の集合を使用してデータベースに再度クエリし、それによって第２のデータセットを読み出すこと、および
前記第２のデータセットに基づいて前記データの視覚化を更新すること
を含む、請求項１に記載の方法。
【請求項１３】
前記第２のデータセットを使用して新しいデータの視覚化を作成し表示することをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新することが、
前記１つまたは複数の関数句の第２の集合に基づいて前記１つまたは複数のクエリの第３の集合を使用してデータベースに再度クエリし、それによって第３のデータセットを読み出すこと、および
前記第３のデータセットに基づいて前記データの視覚化を更新すること
を含む、請求項２に記載の方法。
【請求項１５】
前記第３のデータセットを使用して新しいデータの視覚化を作成し表示することをさらに含む、請求項１４に記載の方法。
【請求項１６】
ディスプレイ、
１つまたは複数のプロセッサ、
メモリ、および
１つまたは複数のプログラムであって、前記メモリに格納され、前記１つまたは複数のプロセッサによって実行されるように構成され、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、および
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること
の命令を含む電子装置。
【請求項１７】
前記１つまたは複数のプログラムが、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
の命令をさらに含む、請求項１６に記載の電子装置。
【請求項１８】
ディスプレイを備えた電子装置によって実行されるように構成された１つまたは複数のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムが、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、および
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること
の命令をさらに含む非一時的コンピュータ可読記憶媒体。
【請求項１９】
前記１つまたは複数のプログラムが、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
の命令をさらに含む、請求項１８に記載の非一時的コンピュータ可読記憶媒体。
【請求項２０】
データセットの視覚的分析のために自然言語を使用する方法であって、
ディスプレイ、１つまたは複数のプロセッサ、および前記１つまたは複数のプロセッサによる実行のために構成された１つまたは複数のプログラムを記憶するメモリを有するコンピュータで、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
前記１つまたは複数の分析句の第１の集合と前記１つまたは複数の分析句の第２の集合との間の結束を計算し、前記結束に基づいて、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
を含む方法。
【請求項２１】
前記結束に基づいて前記結束を計算することおよび前記１つまたは複数の会話センターの第２の集合を導出することが、
前記１つまたは複数の分析句の第２の集合の句構造を識別すること、
および前記句構造に基づいて１つまたは複数の語用論の形式を識別すること、および
１つまたは複数の語用論の形式に基づいて、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から前記１つまたは複数の会話センターの第２の集合を導出すること、
を含む、請求項２０に記載の方法。
【請求項２２】
前記句構造を識別することが、
確率的文法を適用して前記第２の自然言語コマンドを解析し、それによって解析された出力を取得すること、および
前記解析された出力を対応するカテゴリカル属性とデータ属性に分解すること
を含む、請求項２１に記載の方法。
【請求項２３】
前記第２の自然言語コマンドを解析することは、自然言語ツールキットによって提供される品詞ＡＰＩを使用することによって構文構造を推定することをさらに含む、請求項２２に記載の方法。
【請求項２４】
前記１つまたは複数の形態の語用論を識別することは、１つまたは複数の言語要素が前記句構造に存在しないかどうかを判定することによって、第２の自然言語コマンドが不完全な発話であるかどうかを判定することを含み、
前記１つまたは複数の会話センターの第２の集合を導出することは、
前記第２の自然言語コマンドが不完全な発話であるという前記判定に従って、
前記１つまたは複数の会話センターの第１の集合の会話センターの第１のサブセットを判定すること、前記会話センターの第１のサブセットは、前記句構造に存在しない前記１つまたは複数の言語要素に対応する、および
前記１つまたは複数の会話センターの一時的な集合を前記会話センターの第１のサブセットと組み合わせることによって、前記１つまたは複数の会話センターの第２の集合を計算すること
を含む、請求項２１に記載の方法。
【請求項２５】
前記１つまたは複数の形態の語用論を識別することは、１つまたは複数の照応参照が前記句構造に存在するかどうかを判定することによって、前記第２の自然言語コマンドが参照表現であるかどうかを判定することを含み、
前記１つまたは複数の会話センターの第２の集合を導出することは、
前記第２の自然コマンドが参照表現であるという前記判定に従って、
前記１つまたは複数の会話センターの第１の集合を検索して、１つまたは複数の照応参照の第１の照応参照を含む第２の自然言語コマンドの句チャンクに対応する会話センターの第１のサブセットを見つけること、および
前記１つまたは複数の会話センターの一時的な集合と前記会話センターの第１のサブセットとに基づいて、前記１つまたは複数の会話センターの第２の集合を計算すること
を含む、請求項２１に記載の方法。
【請求項２６】
前記第１の照応参照が前記第２の自然言語コマンドの動詞を伴うかどうかを判定すること、
前記照応参照が動詞に伴われるという判定に従って、
動作動詞を参照する第１のアクション会話センターを見つける前記１つまたは複数の会話センターの第１の集合を検索すること、および
前記１つまたは複数の会話センターの一時的な集合および前記会話センターの第１のサブセット、および第１のアクション会話センターに基づいて、前記１つまたは複数の会話センターの第２の集合を計算すること
をさらに含む、請求項２５に記載の方法。
【請求項２７】
前記第１の照応参照が、前記環境のいくつかの対象を示す判定的参照であるかどうかを判定すること、
照応参照が厳密参照であるという判定に従って、１つまたは複数の会話センターの一時的な集合、および前記対象の特性に基づいて、前記１つまたは複数の会話センターの第２の集合を計算すること
をさらに含む、請求項２５に記載の方法。
【請求項２８】
前記第１の照応参照が、前記更新されたデータの視覚化における視覚化特性への参照であるかどうかを判定すること、
照応参照が厳密参照であるという判定に従って、１つまたは複数の会話センターの一時的な集合、および前記視覚化特性に関連するデータに基づいて、前記１つまたは複数の会話センターの第２の集合を計算すること
をさらに含む、請求項２５に記載の方法。
【請求項２９】
前記１つまたは複数の形態の語用論を識別することは、前記句構造が１つまたは複数の所定の修復発話に対応するかどうかを判定することによって、前記第２の自然言語コマンドが修復発話であるかどうかを判定することを含み、
前記１つまたは複数の会話センターの第２の集合を導出することが、
前記第２の自然言語コマンドが修復発話であるという前記判定に従って、
前記１つまたは複数の会話センターの一時的な集合に基づいて、前記１つまたは複数の会話センターの第２の集合を計算すること、および
前記１つまたは複数の所定の修復発話および前記句構造に基づいて、前記１つまたは複数の会話センターの第２の集合の１つまたは複数のデータ属性を更新すること
を含む、請求項２１に記載の方法。
【請求項３０】
前記句構造が修復発話に対応するかどうかを判定し、データの視覚化の表示に関するデフォルト動作を変更すること、および
前記句構造が修復発話に対応し、デフォルトの挙動を変更する判定に従って表示に関する前記デフォルトの挙動を変更すること
をさらに含む、請求項２９に記載の方法。
【請求項３１】
前記１つまたは複数の形態の語用論を識別することは、（ｉ）前記句構造の接続詞の明示的または暗黙的な存在を判定することと、（ｉｉ）前記１つまたは複数の会話センターの一時的な集合が、前記１つまたは複数の会話センターの第１の集合の各会話センターを含むかどうかを判定することによって、前記第２の自然言語コマンドが連言表現であるかどうかを判定することを含み、
前記１つまたは複数の会話センターの第２の集合を導出することが、
前記第２の自然言語コマンドが連言表現であるという前記判定に従って、前記１つまたは複数の会話センターの一時的な集合に基づいて前記１つまたは複数の会話センターの第２の集合を計算すること、
を含む、請求項２１に記載の方法。
【請求項３２】
前記第２の自然言語コマンドが複数の連言を有するかどうかを判定すること、および
前記第２の自然言語コマンドが１つより多い連言を有するという判定に従って、前記第２の自然言語コマンドを線形化することによって前記１つまたは複数の分析関数の第２の集合を計算すること
をさらに含む、請求項３１に記載の方法。
【請求項３３】
前記第２の自然言語コマンドを線形化することが、
前記第２の自然言語コマンドのための解析木を生成すること、
第１の分析句および第２の分析句を抽出するために前記解析木を後順にトラバースすること、この場合前記第１の分析句および前記第２の分析句は、前記解析木内の隣接するノードである、
前記第１の分析句および前記第２の分析句にそれぞれ対応する第１の分析関数および第２の分析関数を計算すること、および
前記第１の分析関数および前記第２の分析関数の１つまたは複数の特性に基づいて１つまたは複数の論理演算子を適用することによって前記第１の分析関数を前記第２の分析関数と組み合わせること、この場合前記１つまたは複数の特性には、属性タイプ、演算子タイプ、および値が含まれること
を含む、請求項１３に記載の方法。
【請求項３４】
前記第１の分析関数は、第１の属性、第１の演算子、および第１の値を含み、
前記第２の分析関数は、第２の属性、第２の演算子、および第２の値を含み、
前記第１の分析関数と前記第２の分析関数とを組み合わせることは、
前記第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および前記第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、
前記第１の属性および前記第２の属性が同一であることを判定すること、および
前記第１の属性および前記第２の属性が同一であり、かつ両方ともカテゴリ型属性であるとの判定に従って、前記第１の分析関数と前記第２の分析関数とを結合するために和演算子を適用すること
を含む、請求項３３に記載の方法。
【請求項３５】
前記第１の分析関数は、第１の属性、第１の演算子、および第１の値を含み、
前記第２の分析関数は、第２の属性、第２の演算子、および第２の値を含み、
前記第１の分析関数と前記第２の分析関数とを組み合わせることは、
前記第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および前記第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、
前記第１の属性および前記第２の属性が同一であることを判定すること、および
前記第１の属性および前記第２の属性が同一ではないとの判定に従って、前記第１の分析関数と前記第２の分析関数とを結合するために前記交差演算子を適用すること
を含む、請求項３３に記載の方法。
【請求項３６】
前記第１の分析関数は、第１の属性、第１の演算子、および第１の値を含み、
前記第２の分析関数は、第２の属性、第２の演算子、および第２の値を含み、
前記第１の分析関数と前記第２の分析関数とを組み合わせることは、
前記第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および前記第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、
前記第１の属性および前記第２の属性が同一であることを判定すること、および
前記第１の属性および前記第２の属性が同一であり、かつ両方とも順序型属性であるという判定に従って、
前記第１の演算子と前記第２の演算子の前記演算子タイプを判定すること、および
前記第１の演算子および前記第２の演算子が両方とも等価演算子であるという判定に従って、前記第１の分析関数と前記第２の分析関数とを結合するために前記和演算子を適用すること
を含む、請求項３３に記載の方法。
【請求項３７】
前記第１の分析関数は、第１の属性、第１の演算子、および第１の値を含み、
前記第２の分析関数は、第２の属性、第２の演算子、および第２の値を含み、
前記第１の分析関数と前記第２の分析関数とを組み合わせることは、
前記第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および前記第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、
前記第１の属性および前記第２の属性が同一であることを判定すること、および
前記第１の属性および前記第２の属性が同一であり、かつ両方とも順序型属性であるという判定に従って、
前記第１の演算子と前記第２の演算子の前記演算子タイプを判定すること、および
前記第１の演算子が「相対的に小さい」演算子であり、前記第２の演算子が「相対的に大きい」演算子であるという判定に従って、
前記第１の値が前記第２の値より小さいかどうかを判定すること、および
前記第１の値が前記第２の値より小さいという判定に従って、前記第１の分析関数と前記第２の分析関数とを結合するために前記和演算子を適用すること
を含む、請求項３３に記載の方法。
【請求項３８】
前記第１の分析関数は、第１の属性、第１の演算子、および第１の値を含み、
前記第２の分析関数は、第２の属性、第２の演算子、および第２の値を含み、
前記第１の分析関数と前記第２の分析関数とを組み合わせることは、
前記第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および前記第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、
前記第１の属性および前記第２の属性が同一であることを判定すること、および
前記第１の属性および前記第２の属性が同一であり、かつ両方とも順序型属性であるという判定に従って、
前記第１の演算子と前記第２の演算子の前記演算子タイプを判定すること、および
前記第１の演算子が「相対的に大きい」演算子であり、前記第２の演算子が「相対的に小さい」演算子であるという判定に従って、
前記第１の値が前記第２の値より小さいかどうかを判定すること、および
前記第１の値が前記第２の値より小さいという判定に従って、前記第１の分析関数と前記第２の分析関数とを結合するために前記交差演算子を適用すること
を含む、請求項３３に記載の方法。
【請求項３９】
前記１つまたは複数の抽出された分析句の第２の集合と前記更新されたデータの視覚化に含まれるデータの１つまたは複数の属性との間の意味論的関連性を計算し、前記１つまたは複数の分析句の第２の集合に関連する分析関数を計算し、それによって、前記意味論上関連する１つまたは複数のデータの属性に基づいて、前記１つまたは複数の関数句の第２の集合を作成すること
をさらに含む、請求項２０に記載の方法。
【請求項４０】
意味論的関連性を計算することが、
テキストの大きなコーパスで第１の中立ネットワークモデルを訓練し、それによって単語の埋め込みを学習すること、
第２のニューラルネットワークモデルを使用して、１つまたは複数の分析句の第２の集合の第１の句の第１の単語についての第１の単語ベクトルを計算すること、前記第１の単語ベクトルは前記単語埋め込みに対して前記第１の単語をマッピングする、
前記第２のニューラルネットワークモデルを使用して、前記１つまたは複数のデータ属性のうちの第１のデータ属性について第２のワードベクトルを計算すること、前記第２のワードベクトルは、前記第１のデータ属性を前記ワード埋め込みにマッピングする、および
類似性メトリックを使用して、前記第１の単語ベクトルと前記第２の単語ベクトルとの間の関連性を計算すること
を含む、請求項３９に記載の方法。
【請求項４１】
前記第１のニューラルネットワークモデルが、Ｗｏｒｄ２ｖｅｃ（商標）モデルを含む、請求項４０に記載の方法。
【請求項４２】
前記第２のニューラルネットワークモデルがリカレントニューラルネットワークモデルを含む、請求項４０に記載の方法。
【請求項４３】
前記類似性メトリックは、少なくとも（ｉ）前記第１の単語ベクトルと前記第２の単語ベクトルとに関連する単語の意味の間のウー・パーマー距離、（ｉｉ）重み係数、および（ｉｉｉ）前記第１の単語ベクトルと前記第２の単語ベクトル間のペアワイズ余弦距離に基づく、請求項４０に記載の方法。
【請求項４４】
分析関数を計算することが、
公に利用可能な辞書から前記１つまたは複数の分析句の第２の集合の単語の定義を取得し、
自然言語ツールキットによって提供される品詞ＡＰＩを使用しながら前記単語の定義が１つまたは複数の事前の定義を含むかどうか判定し、
前記単語の定義が１つまたは複数の事前定義の形容詞を含むという前記判定に従って、前記１つまたは複数の事前定義の形容詞を１つまたは複数の分析関数にマッピングすること
を含む、請求項３９に記載の方法。
【請求項４５】
ディスプレイ、
１つまたは複数のプロセッサ、
メモリ、および
１つまたは複数のプログラムであって、前記メモリに格納され、前記１つまたは複数のプロセッサによる実行のために構成され、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
前記１つまたは複数の分析句の第１の集合と前記１つまたは複数の分析句の第２の集合との間の結束を計算すること、
前記結束に基づいて、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
の命令を含む１つまたは複数のプログラム
を含む電子装置。
【請求項４６】
ディスプレイを備えた電子装置によって実行されるように構成された１つまたは複数のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムが、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
前記１つまたは複数の分析句の第１の集合と前記１つまたは複数の分析句の第２の集合との間の結束を計算すること、
前記結束に基づいて、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、
１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、および
前記１つまたは複数の関数句の第２の集合に基づいて前記データの視覚化を更新すること
の命令を含む非一時的コンピュータ可読記憶媒体。
【請求項４７】
データセットの視覚的分析のために自然言語を使用する方法であって、
ディスプレイ、１つまたは複数のプロセッサ、および前記１つまたは複数のプロセッサによる実行のために構成された１つまたは複数のプログラムを記憶するメモリを有するコンピュータで、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、および
前記１つまたは複数の会話センターの第２の集合に基づいて前記データの視覚化を更新すること
を含む方法。
【請求項４８】
前記１つまたは複数の会話センター第２の集合に基づいて前記データの視覚化を更新することは、
前記１つ以上の会話センターの第２の集合に対応する１つ以上のデータ属性を判定すること、
表示されたデータの視覚化を走査して、その特性が前記１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む前記表示されたデータの視覚化の１つまたは複数を識別すること、および
その特性が前記第１のデータ属性に対応する前記データのマークを強調表示すること
を含む、請求項４７に記載の方法。
【請求項４９】
その特性が前記１つまたは複数のデータ属性に対応しないデータのマークを含む前記表示されたデータの視覚化から生じるフィルタリングをさらに含む、請求項４８に記載の方法。
【請求項５０】
前記データのマークをフィルタリングするか強調表示するかどうかを判定するためのユーザ入力を受信し、前記判定に基づいて前記表示されたデータの視覚化の前記データのマークをフィルタリングまたは強調表示することをさらに含む請求項４９に記載の方法。
【請求項５１】
前記視覚化特性は、色、サイズ、および形状のうちの１つまたは複数を含む、請求項４８に記載の方法。
【請求項５２】
前記視覚化特性はデータのマークの視覚的符号化に対応する、請求項４８に記載の方法。
【請求項５３】
前記視覚的符号化が、色、サイズ、および形状のうちの１つまたは複数である、請求項５２に記載の方法。
【請求項５４】
前記表示されたデータの視覚化のいずれもがその特性が前記第１のデータ属性に対応するデータのマークを含まないと判定すること、
前記表示されたデータの視覚化のいずれもがその特性が前記第１のデータ属性に対応するデータのマークを含まないという判定に従って、
前記第１のデータ属性を用いて新しいデータの視覚化の詳細を生成すること、および
前記新しいデータの視覚化を表示すること
をさらに含む、請求項４８に記載の方法。
【請求項５５】
前記新しいデータの視覚化を表示することは、
前記詳細に基づいて図表のタイプを判定すること、および
前記図表を生成して表示すること
をさらに含む、請求項５４に記載の方法。
【請求項５６】
前記図表が、他のデータの視覚化と自動的に調整される、二次元グリッドベースのレイアウトアルゴリズムを使用して配置される、請求項５５に記載の方法。
【請求項５７】
前記１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、
前記１つまたは複数の関数句の第２の集合から第１の関数句を選択すること、前記第１の関数句は、パラメータ化されたデータ選択基準を含む、
前記パラメータ化されたデータ選択基準の前記パラメータの値に対する初期の範囲を選択すること、
前記パラメータ化されたデータ選択基準に対応する編集可能なユーザインターフェース制御を表示すること、前記ユーザインターフェース制御は前記パラメータの前記現在の値を表示すること、および
前記第２の自然言語コマンドの前記クエリの順序に基づいて１つまたは複数の編集可能なユーザインターフェース制御の表示されたセットを順序付けること、前記クエリの順序は前記第２の自然言語コマンドからの前記１つまたは複数の分析句の第２の集合を抽出している間に推論される、
をさらに含む、請求項４７に記載の方法。
【請求項５８】
前記ユーザインターフェース制御は、前記第１の関数句の調整を可能にする、請求項５７に記載の方法。
【請求項５９】
前記ユーザインターフェース制御は、ユーザが前記第１の関数句を調整することを可能にするスライダを表示する、請求項５８に記載の方法。
【請求項６０】
前記１つまたは複数の編集可能なユーザインターフェース制御の表示されたセットを順序付けることが、テキスト内の小さなワードスケールの視覚化の前記コンパクトな配置を容易にするライブラリを使用することをさらに含む、請求項５７に記載の方法。
【請求項６１】
前記ライブラリがＳｐａｒｋｌｉｆｉｃａｔｏｒ（商標）である、請求項６０記載の方法。
【請求項６２】
前記１つまたは複数の分析句の第２の集合の前記分析句のいずれにも対応しない前記第２の自然言語コマンドの第１のトークンを判定すること、
前記第１のトークンを前記第１のデータセットの１つまたは複数の特徴と比較することによって、検索ライブラリを使用して、前記第１のトークンに対応する正しく綴られた名辞を検索すること、
第３の自然言語コマンドを取得するために、前記第２の自然言語コマンドの前記第１のトークンを前記正しく綴られた名辞に置き換えること、および
前記第３の自然言語コマンドから前記１つまたは複数の分析句の第２の集合を抽出すること
をさらに含む、請求項４７に記載の方法。
【請求項６３】
前記１つまたは複数の特徴は、前記第１のデータセットのデータ属性、セル値、および関連キーワードを含む、請求項６２に記載の方法。
【請求項６４】
前記検索ライブラリがＦｕｓｅ．ｊｓ（商標）である、請求項６２に記載の方法。
【請求項６５】
前記第１のトークンに対応する正しく綴られた名辞がないかどうか判定すること、および
前記第１のトークンに対応する正しく綴られた名辞がないという判定に従って、
前記第２の自然言語コマンドを、解析木を取得するために解析すること、
前記第１のトークンに対応する前記木の部分を除去するための前記解析木をプルーニングすること、
前記プルーニングされた解析木に基づいて、前記第２の集合の１つまたは複数の分析句を抽出すること
をさらに含む、請求項６２に記載の方法。
【請求項６６】
前記第１のトークンが認識されなかったために前記第２の自然言語コマンドから削除されたことを示すテキストフィードバックを生成することをさらに含む、請求項６５に記載の方法。
【請求項６７】
前記第１のトークンを表示することをさらに含む、請求項６２に記載の方法。
【請求項６８】
前記第２の自然言語コマンドの前記第１のトークンを前記正しく綴られた名辞に置き換えたことを示すテキストフィードバックを生成することをさらに含む、請求項６２に記載の方法。
【請求項６９】
前記正しく綴られた名辞を表示および強調表示することをさらに含む請求項６８に記載の方法。
【請求項７０】
ディスプレイ、
１つまたは複数のプロセッサ、
メモリ、および
１つまたは複数のプログラムであって、前記メモリに格納され、前記１つまたは複数のプロセッサによる実行のために構成され、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、および
前記１つまたは複数の会話センターの第２の集合に基づいて前記データの視覚化を更新することの命令を含み、前記更新することは、
前記１つまたは複数の会話センターの第２の集合に対応する１つまたは複数のデータ属性を判定すること、
表示されたデータの視覚化を走査して、その特性が前記１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む前記表示されたデータの視覚化の１つまたは複数を識別すること、および
その特性が前記第１のデータ属性に対応する前記データのマークを強調表示すること
を含む
１つまたは複数のプログラム
を含む電子装置。
【請求項７１】
ディスプレイを備えた電子装置によって実行されるように構成された１つまたは複数のプログラムを格納する非一時的コンピュータ可読記憶媒体であって、１つまたは複数のプログラムが、
１つまたは複数のクエリの第１の集合を用いてデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示すること、
前記データの視覚化に関連する第１の自然言語コマンドを指定するため第１のユーザ入力を受信すること、
前記第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出すること、
前記１つまたは複数の分析句の第１の集合に基づいて、前記第１の自然言語コマンドに関連する１つまたは複数の会話センターの第１の集合を計算すること、
前記１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それにより１つまたは複数の関数句の第１の集合を作成すること、
前記１つまたは複数の関数句の第１の集合に基づいて前記データの視覚化を更新すること、
前記更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信すること、
前記第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出すること、
前記１つまたは複数の分析句の第２の集合に基づいて、前記第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算すること、
１つまたは複数の移行規則を使用して、前記１つまたは複数の会話センターの第１の集合および前記１つまたは複数の会話センターの一時的な集合から、１つまたは複数の会話センターの第２の集合を導出すること、および
前記１つまたは複数の会話センターの第２の集合に基づいて前記データの視覚化を更新することの命令を含み、前記更新することは、
前記１つまたは複数の会話センターの第２の集合に対応する１つまたは複数のデータ属性を判定すること、
表示されたデータの視覚化を走査して、その特性が前記１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む前記表示されたデータの視覚化の１つまたは複数を識別すること、および
その特性が前記第１のデータ属性に対応する前記データのマークを強調表示すること
を含む
非一時的コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
［0001］  開示された実装形態は、概してデータの視覚化に関し、より具体的には、ユーザが自然言語インターフェースを使用してデータセットと対話し、データセットを探索することを可能にするシステム、方法、およびユーザインターフェースに関する。
【背景技術】
【０００２】
［0002］  データ視覚化アプリケーションを使用すると、ユーザは分布、傾向、外れ値、およびビジネス上の決定を下すのに重要なその他の要因を含む、データセットを視覚的に理解できる。一部のデータセットは非常に大きいか複雑で、多くのデータフィールドを含む。複数のデータの視覚化をしたダッシュボードなど、様々なツールを使用してデータの理解および分析を促すことができる。ただし、複雑なユーザインターフェース内では、一部の機能は、使用が困難な場合や見つけにくい場合がある。ほとんどのシステムはクエリに応答して非常に基本的なインタラクティブな視覚化のみをリターンし、他のシステムは効果的なクエリを作成するために専門家のモデリングを必要とする。他のシステムでは単純なクローズドエンドの質問を必要とし、それから単一のテキストの回答または静的な視覚化をリターンすることしかできない。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
［0003］  したがって、ユーザがデータ視覚化アプリケーションによって提供される機能を効果的に利用することを可能にするツールが必要とされている。この問題に対する１つの解決策は、自然言語クエリに対するグラフィカルな回答を提供する対話型クエリダイアログのためのデータ視覚化アプリケーションの一部として（例えば、データ視覚化アプリケーションのためのユーザインターフェース内に）自然言語インターフェースを提供することである。自然言語インターフェースにより、ユーザは通常の質問やコマンドを使用して複雑な機能にアクセスできる。質問や洞察は、以前の質問や人間が見るデータのパターンから生じることがよくある。対話動作を会話としてモデル化することによって、自然言語インターフェースは語用論の原則を適用して視覚分析との対話を向上させることができる。発話の文法的および字句的構造およびそれらのコンテキストを推定するための様々な技法を介して、自然言語インターフェースは、視覚分析との自然言語での対話の様々な語用論の形式をサポートする。これらの実際的な形式には、不完全な発話の理解、発話および視覚化特性内のエンティティの参照、長く複雑な発話のサポート、同義語と関連概念の識別、および以前の発話に対する応答の「修復」が含まれる。さらに、自然言語インターフェースは、既存の視覚化内で、または必要に応じて新しい視覚化を作成することによって、適切な視覚化応答を提供し、ターゲットを絞ったテキストフィードバックおよび曖昧性ウィジェットを通じて曖昧性を分解する。このようにして、自然言語インターフェースは、ユーザがデータ視覚化アプリケーション内に（例えば、データの視覚化において）表示されたデータを効率的に探索することを可能にする。
【課題を解決するための手段】
【０００４】
［0004］  いくつかの実装形態によれば、方法はディスプレイを有する電子装置で実行される。例えば、電子装置は、スマートフォン、タブレット、ノートブックコンピュータ、またはデスクトップコンピュータとすることができる。装置は、１つまたは複数のデータベースのクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する。ユーザは表示されたデータの視覚化に関連する第１の自然言語コマンドを指定する。表示されたデータの視覚化に基づいて、装置は第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する。次に、装置は、１つまたは複数の分析句の第１の集合に基づいて第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する。装置は次に、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成する。次に装置は、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する。
【０００５】
［0005］  いくつかの実装形態では、装置は、更新されたデータの視覚化に関連した第２の自然言語コマンドを受信する。いくつかの実装形態によれば、第２の自然言語コマンドを受信した後、装置は第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出し、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算する。次に、装置は、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する。装置は、１つまたは複数の会話センターの第２の集合に関連付けられた１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成する。次に装置は、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新する。
【０００６】
［0006］  いくつかの実装形態では、１つまたは複数の会話センターの第１の集合、１つまたは複数の会話センターの一時的な集合、および１つまたは複数の会話センターの第２の集合の各会話センターは、変数（データ属性や視覚化特性など）の値を含む。そのような実装形態では、装置は、一連の動作を実行することによって移行規則を使用し、これは第１の変数が１つまたは複数の会話センターの第１の集合に含まれるかどうかを判定すること、第１の変数が１つまたは複数の会話センターの一時的な集合に含まれているかどうかを判定すること、第１の変数が１つまたは複数の会話センターの第１の集合および／または１つまたは複数の会話センターの一時的な集合に含まれるかどうかに基づいて、適用する１つまたは複数の移行規則のそれぞれの移行規則を判定すること、およびそれぞれの移行規則を適用することを含む。
【０００７】
［0007］  いくつかの実装形態では、装置によって使用される１つまたは複数の移行規則が、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合へ１つまたは複数の会話センターを追加するためのＣＯＮＴＩＮＵＥ規則を含む。
【０００８】
［0008］  いくつかのそのような実装形態では、装置は、（ｉ）第１の変数が１つまたは複数の会話センターの一時的な集合に含まれる、および（ｉｉ）１つまたは複数の会話センターの第１の集合に第１の変数が含まれないという判定に従って、装置が１つまたは複数の会話センターの第２の集合に第１の変数を含めるようにＣＯＮＴＩＮＵＥ規則を適用することを含む一連の動作を実行することによって、それぞれの移行規則を適用する。
【０００９】
［0009］  いくつかの実装形態では、装置によって使用される１つまたは複数の移行規則が、１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合へ会話センターを追加することなく、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に保持するためのＲＥＴＡＩＮ規則を含む。
【００１０】
［0010］  いくつかのそのような実装形態では、装置は、（ｉ）第１の変数が１つまたは複数の会話センターの第１の集合に含まれる、および（ｉｉ）１つまたは複数の会話センターの一時的な集合に第１の変数が含まれないという判定に従って、１つまたは複数の会話センターの第２の集合に１つまたは複数の会話センターの第１の集合の各会話センターを含めるようにＲＥＴＡＩＮ規則を適用することを含む一連の動作を実行することによってそれぞれの移行規則を適用する。
【００１１】
［0011］  いくつかの実装形態では、装置によって使用される１つまたは複数の移行規則が、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの一時的な集合の会話センターと１つまたは複数の会話センターの第２の集合の１つまたは複数の会話センターを置き換えるためのＳＨＩＦＴ規則を含む。
【００１２】
［0012］  いくつかのそのような実装形態では、装置は、（ｉ）第１の変数が１つまたは複数の会話センターの第１の集合に含まれ、および（ｉｉ）１つまたは複数の会話センターの一時的な集合に第１の変数が含まれるという判定に従って、１つまたは複数の会話センターの第１の集合の第１の変数の第１の値が、１つまたは複数の会話センターの一時的な集合の第１の変数の第２の値と異なるかを判定すること、第１の値が第２の値と異なるという判定に従って、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの第２の集合の第１の変数の値を第２の値と置き換えるためのＳＨＩＦＴ規則を適用することを含む一連の動作を実行することによってそれぞれの移行規則を適用する。
【００１３】
［0013］  いくつかのそのような実装形態では、装置はさらに、第１の変数に対応するウィジェットがユーザによって削除されたかどうかを判定し、ウィジェットが削除されたという判定に従って、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの第２の集合の第１の変数の値を第１の値を含む新しい値（例えば、最大値、またはスーパーセット値）と置き換えるためのＳＨＩＦＴ規則を適用する。
【００１４】
［0014］  いくつかの実装形態では、装置は、１つまたは複数の関数句の第１の集合に基づいて１つまたは複数のクエリの第１の集合を作成し、１つまたは複数のクエリの第１の集合を使用してデータベースに再クエリし、それにより、第２のデータセットを読み出して、次いで第２のデータセットを使用して、更新されたデータの視覚化を表示する。いくつかの実装形態では、装置は、１つまたは複数の関数句の第２の集合に基づいて１つまたは複数のクエリの第２の集合を作成し、１つまたは複数のクエリの第２の集合を使用してデータベースに再クエリし、それにより、第３のデータセットを読み出して、次いで第３のデータセットを使用して、更新されたデータの視覚化を表示する。いくつかの事例では、データベースへの再クエリは、コンピューティングデバイスでキャッシュされたまたは格納されたデータを使用してコンピューティングデバイスでローカルに実行される。例えば、自然言語コマンドで１つまたは複数のフィルタが指定されている場合、再クエリは通常ローカルで実行される。いくつかの実装形態では、装置はさらに、第２のデータセットまたは第３のデータセットを使用して、新しいデータの視覚化を作成して表示する。
【００１５】
［0015］  いくつかの実装形態では、装置は、ユーザが第１のデータセットとは異なるデータセットを選択したかどうか、またはユーザがデータの視覚化をリセットしたかどうかをさらに判定し、そうしていた場合、１つまたは複数の会話センターの第１の集合、１つまたは複数の会話センターの一時的な集合、および１つまたは複数の会話センターの第２の集合のそれぞれを、会話センターを含まない空の集合へリセットする。
【００１６】
［0016］  典型的には、電子装置は、１つまたは複数のプロセッサ、メモリ、ディスプレイ、およびメモリに格納されている１つまたは複数のプログラムを含む。プログラムは、１つまたは複数のプロセッサによる実行用に構成されており、本明細書で説明されている方法のいずれかを実行するように構成されている。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成し、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。
【００１７】
［0017］  いくつかの実装形態では、１つまたは複数のプログラムは、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成し、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新するための命令を含む。
【００１８】
［0018］  いくつかの実装形態では、非一時的コンピュータ可読記憶媒体は、１つまたは複数のプロセッサ、メモリ、およびディスプレイを有するコンピューティングデバイスによる実行のために構成された１つまたは複数のプログラムを記憶する。１つまたは複数のプログラムは、本明細書に記載の方法のうちのいずれかを実行するように構成される。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成し、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。
【００１９】
［0019］  いくつかの実装形態では、１つまたは複数のプログラムは、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成し、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新するための命令を含む。
【００２０】
［0020］  別の態様では、いくつかの実装形態によれば、装置は、１つまたは複数のデータベースのクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する。ユーザは表示されたデータの視覚化に関連する第１の自然言語コマンドを指定する。表示されたデータの視覚化に基づいて、装置は第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する。次に、装置は、１つまたは複数の分析句の第１の集合に基づいて第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する。装置は次に、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成する。次に装置は、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する。ユーザは更新されたデータの視覚化に関連する第２の自然言語コマンドを指定する。第２の自然言語コマンドを受信した後、装置は第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出し、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算する。装置は次に、１つまたは複数の分析句の第１の集合と１つまたは複数の分析句の第２の集合との間の結束を計算する。次に、装置は、結束に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する。装置は、１つまたは複数の会話センターの第２の集合に関連付けられた１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成する。次に装置は、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新する。
【００２１】
［0021］  いくつかの実装形態では、装置は、１つまたは複数の分析句の第２の集合の句構造を識別すること、句構造に基づいて１つまたは複数の語用論の形式を識別すること、および１つまたは複数の語用論の形式に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出することを含む一連の動作を実行することによって、結束を計算し、１つまたは複数の会話センターの第２の集合を導出する。
【００２２】
［0022］  いくつかのそのような実装形態では、装置は、確率的文法を適用して第２の自然言語コマンドを解析し、それによって解析された出力を取得すること、および解析された出力を対応するカテゴリカル属性とデータ属性に分解することを含む一連の動作を実行することによって句構造を識別する。いくつかのそのような実装形態では、第２の自然言語コマンドを解析することは、自然言語ツールキットによって提供される品詞ＡＰＩ（例えば、品詞（ＰＳ）タガー）を使用することによって構文構造を推定することをさらに含む。
【００２３】
［0023］  いくつかの実装形態では、装置は、１つまたは複数の言語要素が句構造に存在しないかどうかを判定することによって第２の自然言語コマンドが不完全な発話（省略符号と呼ばれることがある）であるかどうかを判定することを含む一連の動作を実行することによって、１つまたは複数の語用論を識別する。いくつかのそのような実装形態では、装置は、第２の自然言語コマンドが不完全な発話であるという判定に従って、１つまたは複数の会話センターの第１の集合の会話センターの第１のサブセットを判定することであって、１つまたは複数の言語要素に対応する会話センターの第１のサブセットが句構造に存在していない判定すること、および１つまたは複数の会話センターの一時的な集合を会話センターの第１のサブセットと組み合わせることによって１つまたは複数の会話センターの第２の集合を計算することを含む一連の動作を実行することによって、１つまたは複数の会話センターの第２の集合を導出する。
【００２４】
［0024］  いくつかの実装形態では、装置は、１つまたは複数の照応参照が句構造に存在するかどうかを判定することによって、第２の自然言語コマンドが参照表現であるかどうかを判定することを含む一連の動作を実行することによって１つまたは複数の形態の語用論を識別し、また装置は、第２の自然コマンドが参照表現であるという判定に従って、１つまたは複数の会話センターの第１の集合を検索して、１つまたは複数の照応参照の第１の照応参照を含む第２の自然言語コマンドの句チャンクに対応する会話センターの第１のサブセットを見つけること、および１つまたは複数の会話センターの一時的な集合と会話センターの第１のサブセットとに基づいて、１つまたは複数の会話センターの第２の集合を計算することを含む別の一連の動作を実行することによって、１つまたは複数の会話センターの第２の集合を導出する。
【００２５】
［0025］  いくつかのそのような実装形態では、装置はさらに、第１の照応参照が第２の自然言語コマンドの動詞を伴うかどうかを判定し、そうである場合、動作動詞（例えば、「フィルタする」）を参照する第１のアクション会話センターを見つける１つまたは複数の会話センターの第１の集合を検索し、１つまたは複数の会話センターの一時的な集合、会話センターの第１のサブセット、および第１のアクション会話センターに基づいて、１つまたは複数の会話センターの第２の集合を計算する。
【００２６】
［0026］  いくつかのそのような実装形態では、装置は、通常は指摘することで、第１の照応参照が環境のいくつかの対象を示す厳密参照であるかどうかを判定し、そうである場合、１つまたは複数の会話センターの一時的な集合、および対象の特性に基づいて、１つまたは複数の会話センターの第２の集合を計算する。厳密参照は、通常、マルチモーダルな対話を通じて（例えば、音声またはテキストに加えてマウスの使用によって）可能にされる。
【００２７】
［0027］  いくつかのそのような実装形態では、装置は、第１の照応参照が更新されたデータの視覚化の視覚化特性を示すかどうかを判定し、そうである場合、１つまたは複数の会話センターの一時的な集合、および視覚化特性に関連するデータに基づいて、１つまたは複数の会話センターの第２の集合を計算する。
【００２８】
［0028］  いくつかの実装形態では、装置は、句構造が１つまたは複数の所定の修復発話に対応するかどうかを判定することによって（例えば第１の自然言語コマンドの潜在的な曖昧性、または結果がユーザにどのように提示されるかを修復するため）、第２の自然言語コマンドが修復発話であるかどうかを判定することを含む一連の動作を実行することによって、１つまたは複数の語形を識別する。例えば、ユーザは、「コンドミニアムを除く」または「コンドミニアムをタウンホームに変える」と発話する。そのような実装形態では、装置が第２の自然言語コマンドが修復発話であると判定した場合、装置は、１つまたは複数の会話センターの一時的な集合に基づいて１つまたは複数の会話センターの第２の集合を計算し、１つまたは複数の所定の修復発話および句構造に基づいて、１つまたは複数の会話センターの第２の集合における１つまたは複数のデータ属性を更新する。
【００２９】
［0029］  いくつかのそのような実装形態では、装置は、句構造がデータの視覚化の表示に関連するデフォルトの挙動を変更するための修復発話に対応するかどうかを判定（例えば、「フィルタなし、代わりに」への応答など選択するための強調表示）し、その場合、装置は表示に関するデフォルトの挙動を変更する。
【００３０】
［0030］  いくつかの実装形態では、装置は、（ｉ）句構造の接続詞の明示的または暗黙的な存在を判定することによって、（ｉｉ）１つまたは複数の会話センターの一時的な集合が、１つまたは複数の会話センターの第１の集合の各会話センターを含むかどうかを判定することによって、第２の自然言語コマンドが連言表現であるかどうかを判定することを含む一連の動作を実行することによって、１つまたは複数の形式の語用論を識別する。このような実装形態では、装置は、第２の自然言語コマンドは連言表現であるという判定に従って、１つまたは複数の会話センターの一時的な集合に基づいて１つまたは複数の会話センターの第２の集合を計算することを含む一連の動作を実行することによって、１つまたは複数の会話センターの第２の集合を導出する。
【００３１】
［0031］  いくつかのそのような実装形態では、装置は、第２の自然言語コマンドが１つより多い連言を有するかどうかを判定し、第２の自然言語コマンドが１つより多い連言を有するという判定に従って、第２の自然言語コマンドを線形化することによって１つまたは複数の分析関数の第２の集合を計算する。いくつかのそのような実装形態では、装置は、第２の自然言語コマンドのための解析木を生成すること、第１の分析句および第２の分析句を抽出するために解析木を後順にトラバースすること、この場合第１の分析句および第２の分析句は、解析木内の隣接するノードである、第１の分析句および第２の分析句にそれぞれ対応する第１の分析関数および第２の分析関数を計算すること、および第１の分析関数および第２の分析関数の１つまたは複数の特性に基づいて１つまたは複数の論理演算子を適用することによって第１の分析関数を第２の分析関数と組み合わせること、この場合１つまたは複数の特性には、属性タイプ、演算子タイプ、および値が含まれる、を含む一連の動作を実行することによって、第２の自然言語コマンドを線形化する。
【００３２】
［0032］  いくつかのそのような実装形態では、第１の分析関数は、第１の属性（本明細書では時に変数と呼ばれ、視覚化特性を含む）、第１の演算子、および第１の値を含み、第２の分析関数は、第２の属性（本明細書では時々変数と呼ばれ、視覚化特性を含む）、第２の演算子、および第２の値を含む。
【００３３】
［0033］  いくつかのそのような実装形態では、第１の分析関数と第２の分析関数とを組み合わせることは、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であり、第１の属性および第２の属性が同一であるかどうかを判定すること、両方ともカテゴリ型属性であるという判定に従って、第１の分析関数と第２の分析関数とを結合するために和集合演算子を適用することを含む。
【００３４】
［0034］  いくつかのそのような実装形態では、第１の分析関数と第２の分析関数とを組み合わせることは、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であるかどうか判定すること、ならびに第１の属性および第２の属性が同一ではないという判定に従って、第１の分析関数と第２の分析関数とを結合するために交差演算子を適用することを含む。
【００３５】
［0035］  いくつかのそのような実装形態では、第１の分析関数と第２の分析関数とを組み合わせることは、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であることを判定すること、第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定に従って、第１の演算子と第２の演算子の演算子タイプを判定すること、および第１の演算子および第２の演算子が両方とも等価演算子であるという判定に従って、第１の分析関数と第２の分析関数とを結合するために和演算子を適用することを含む。
【００３６】
［0036］  いくつかのそのような実装形態では、第１の分析関数と第２の分析関数とを組み合わせることは、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であることを判定すること、第１の属性および第２の属性が同一であることを判定すること、第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定に従って、第１の演算子と第２の演算子の演算子タイプを判定すること、第１の演算子が「相対的に小さい」演算子であり、第２の演算子が「相対的に大きい」演算子であるという判定に従って、第１の値が第２の値より小さいかどうかを判定すること、および第１の値が第２の値より小さいという判定に従って、第１の分析関数と第２の分析関数とを結合するために和演算子を適用することを含む。
【００３７】
［0037］  いくつかのそのような実装形態では、第１の分析関数と第２の分析関数とを組み合わせることは、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であることを判定すること、第１の属性および第２の属性が同一であることを判定すること、第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定に従って、第１の演算子と第２の演算子の演算子タイプを判定すること、第１の演算子が「相対的に大きい」演算子であり、第２の演算子が「相対的に小さい」演算子であるという判定に従って、第１の値が第２の値より小さいかどうかを判定すること、および第１の値が第２の値より小さいという判定に従って、第１の分析関数と第２の分析関数とを結合するために交差演算子を適用することを含む。
【００３８】
［0038］  いくつかの実装形態では、装置はさらに、１つまたは複数の抽出された分析句の第２の集合と更新されたデータの視覚化に含まれるデータの１つまたは複数の属性との間の意味論的関連性を計算し、１つまたは複数の分析句の第２の集合に関連する分析関数を計算し、それによって、意味論上関連する１つまたは複数のデータの属性に基づいて、１つまたは複数の関数句の第２の集合を作成する。文法的結束またはコンテキスト間の結束とは対照的に、字句的結束はコンテキスト内の結束を探す。
【００３９】
［0039］  いくつかのそのような実装形態では、装置は、テキストの大きなコーパスで第１の中立ネットワークモデルを訓練し、それによって単語の埋め込みを学習すること、第２のニューラルネットワークモデルを使用して、１つまたは複数の分析句の第２の集合の第１の句の第１の単語についての第１の単語ベクトルを計算すること、第１の単語ベクトルは単語埋め込みに対して第１の単語をマッピングする、第２のニューラルネットワークモデルを使用して、１つまたは複数のデータ属性のうちの第１のデータ属性について第２のワードベクトルを計算すること、第２のワードベクトルは、第１のデータ属性をワード埋め込みにマッピングする、および類似性メトリックを使用して、第１の単語ベクトルと第２の単語ベクトルとの間の関連性を計算することを含む一連の動作を実行することによって、意味論的関連性を計算する。
【００４０】
［0040］  いくつかのそのような実装形態では、第１のニューラルネットワークモデルはＷｏｒｄ２ｖｅｃ（商標）モデルを含む。いくつかのそのような実装形態では、第２のニューラルネットワークモデルは、リカレントニューラルネットワークモデルを含む。
【００４１】
［0041］  いくつかのそのような実装形態では、類似性メトリックは、少なくとも（ｉ）第１の単語ベクトルと第２の単語ベクトルとに関連する単語の意味の間のウー・パーマー距離、（ｉｉ）重み係数、および（ｉｉｉ）第１の単語ベクトルと第２の単語ベクトル間のペアワイズ余弦距離に基づく。
【００４２】
［0042］  いくつかのそのような実装形態では、装置は、公に利用可能な辞書から１つまたは複数の分析句の第２の集合の単語の定義を取得し、自然言語ツールキットによって提供される品詞ＡＰＩを使用しながら単語の定義が１つまたは複数の事前の定義を含むかどうか判定し、単語の定義が１つまたは複数の事前定義の形容詞を含むという判定に従って、１つまたは複数の事前定義の形容詞を１つまたは複数の分析関数にマッピングすることを含む一連の動作を実行することによって、分析関数を計算する。
【００４３】
［0043］  典型的には、電子装置は、１つまたは複数のプロセッサ、メモリ、ディスプレイ、およびメモリに格納されている１つまたは複数のプログラムを含む。プログラムは、１つまたは複数のプロセッサによる実行用に構成されており、本明細書で説明されている方法のいずれかを実行するように構成されている。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。１つまたは複数のプログラムはまた、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合と１つまたは複数の分析句の第２の集合との間の結束を計算するための命令を含む。１つまたは複数のプログラムはまた、結束に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成し、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新するための命令を含む。
【００４４】
［0044］  いくつかの実装形態では、非一時的コンピュータ可読記憶媒体は、１つまたは複数のプロセッサ、メモリ、およびディスプレイを有するコンピューティングデバイスによる実行のために構成された１つまたは複数のプログラムを記憶する。１つまたは複数のプログラムは、本明細書に記載の方法のうちのいずれかを実行するように構成される。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。１つまたは複数のプログラムはまた、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合と１つまたは複数の分析句の第２の集合との間の結束を計算するための命令を含む。１つまたは複数のプログラムはまた、結束に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それによって１つまたは複数の関数句の第２の集合を作成し、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新するための命令を含む。
【００４５】
［0045］  別の態様では、いくつかの実装形態によれば、方法はディスプレイを有する電子装置で実行される。例えば、電子装置は、スマートフォン、タブレット、ノートブックコンピュータ、またはデスクトップコンピュータとすることができる。装置は、１つまたは複数のデータベースのクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する。ユーザは表示されたデータの視覚化に関連する第１の自然言語コマンドを指定する。表示されたデータの視覚化に基づいて、装置は第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する。次に、装置は、１つまたは複数の分析句の第１の集合に基づいて第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する。装置は次に、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成する。次に装置は、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する。ユーザは更新されたデータの視覚化に関連する第２の自然言語コマンドを指定する。第２の自然言語コマンドを受信した後、装置は第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出し、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連する１つまたは複数の会話センターの一時的な集合を計算する。次に、装置は、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する。次に装置は、１つまたは複数の会話センターの第２の集合に基づいてデータの視覚化を更新する。
【００４６】
［0046］  いくつかの実装形態では、装置は、１つ以上の会話センターの第２の集合に対応する１つ以上のデータ属性を判定し、表示されたデータの視覚化を走査して、その特性が１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む表示されたデータの視覚化の１つまたは複数を識別し、その特性が第１のデータ属性に対応するデータのマークを強調表示する。いくつかのそのような実装形態では、装置はさらに、その特性が１つまたは複数のデータ属性に対応しないデータのマークを含むという結果を、表示されたデータの視覚化からフィルタする。さらに、いくつかのそのような実装形態では、装置は、（例えば、「除外」、「削除」、および「フィルタのみ」などの自然言語コマンドを介して）データのマークをフィルタするか強調表示するかを判定するユーザ入力を受信する。
【００４７】
［0047］  いくつかの実装形態では、視覚化特性は、色、サイズ、および形状のうちの１つまたは複数を含む。いくつかの実装形態では、視覚化特性はデータのマークの視覚的符号化に対応する。いくつかの実装形態では、視覚的符号化は、色、サイズ、および形状のうちの１つまたは複数である。
【００４８】
［0048］  いくつかの実装形態では、装置は、表示されたデータの視覚化のいずれもがその特性が第１のデータ属性に対応するデータのマークを含まないか判定し、そうである場合、第１のデータ属性（例えば集約タイプ）を用いて新しいデータの視覚化の詳細を生成し、新しいデータの視覚化を表示する。いくつかのそのような実装形態では、新しいデータの視覚化を表示することは、詳細に基づいて図表のタイプを判定すること、および図表を生成して表示することをさらに含む。さらに、いくつかのそのような実装形態では、図表は、他のデータの視覚化（本明細書では時々ビューと呼ばれる）と自動的に調整される、二次元グリッドベースのレイアウトアルゴリズムを使用して配置される。
【００４９】
［0049］  いくつかの実装形態では、装置は、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し、それにより１つまたは複数の関数句の第２の集合を作成すること、１つまたは複数の関数句の第２の集合から第１の関数句を選択すること、第１の関数句は、パラメータ化されたデータ選択基準を含む、パラメータ化されたデータ選択基準のパラメータの値に対する初期の範囲を選択すること、パラメータ化されたデータ選択基準に対応する編集可能なユーザインターフェース制御（例えば、ウィジェット）を表示すること、ユーザインターフェース制御はパラメータの現在の値を表示すること、および第２の自然言語コマンドのクエリの順序に基づいて１つまたは複数の編集可能なユーザインターフェース制御の表示されたセットを順序付けること、クエリの順序は第２の自然言語コマンドからの１つまたは複数の分析句の第２の集合を抽出している間に推論される、を含む一連の動作をさらに実行する。いくつかのそのような実装形態では、ユーザインターフェース制御は、第１の関数句の調整を可能にする。さらに、いくつかのそのような実装形態では、ユーザインターフェース制御は、ユーザが第１の関数句を調整することを可能にするスライダを表示する。いくつかのそのような実装形態では、１つまたは複数の編集可能なユーザインターフェース制御の表示されたセットを順序付けることが、テキスト内の小さなワードスケールの視覚化のコンパクトな配置を容易にするライブラリを使用することをさらに含む。いくつかのそのような実装形態では、ライブラリはＳｐａｒｋｌｉｆｉｃａｔｏｒ（商標）である。
【００５０】
［0050］  いくつかの実装形態では、装置は、いくつかのユーザエラーを自動的に訂正することを目的とした一連の動作を実行する。一連の動作は、（例えば、構文解析の失敗のために）１つまたは複数の分析句の第２の集合の分析句のいずれにも対応しない第２の自然言語コマンドの第１のトークンを判定すること、第１のトークンを第１のデータセットの１つまたは複数の特徴と比較することによって、検索ライブラリを使用して、第１のトークンに対応する正しく綴られた名辞を検索すること、および第３の自然言語コマンドを取得するために、第２の自然言語コマンドの第１のトークンを正しく綴られた名辞に置き換えること、および第３の自然言語コマンドから１つまたは複数の分析句の第２の集合を抽出することをさらに含む。いくつかのそのような実装形態では、１つまたは複数の特徴は、第１のデータセットのデータ属性、セル値、および関連キーワードを含む。いくつかのそのような実装形態では、検索ライブラリはＦｕｓｅ．ｊｓ（商標）などのファジー文字列ライブラリである。
【００５１】
［0051］  いくつかのそのような実装形態では、装置は、第１のトークンに対応する正しく綴られた名辞がないかどうか判定すること、および第１のトークンに対応する正しく綴られた名辞がないという判定に従って、第２の自然言語コマンドを、解析木を取得するために解析すること、第１のトークンに対応する木の部分を除去するための解析木をプルーニングすること、プルーニングされた解析木に基づいて、第２の集合の１つまたは複数の分析句を抽出することを含む一連の動作をさらに実行する。
【００５２】
［0052］  いくつかの実装形態では、装置は、第１のトークンが認識されず、したがって第２の自然言語コマンドから削除されたこと−発話が部分的にしか理解されていなかった場合に通常発生する状況−を示すテキストフィードバックをさらに生成する。いくつかのそのような実装形態では、装置は第１のトークンを表示する。
【００５３】
［0053］  いくつかの実装形態では、装置は、正しく綴られた名辞が第２の自然言語コマンドの第１のトークンに置き換えられることを示すテキストフィードバックをさらに生成する。これは典型的には発話がうまく理解されなかったが装置が代わりのクエリを提示したときの状況である。さらに、いくつかのそのような実装形態では、装置は、正しく綴られた名辞を表示して強調表示する。
【００５４】
［0054］  典型的には、電子装置は、１つまたは複数のプロセッサ、メモリ、ディスプレイ、およびメモリに格納されている１つまたは複数のプログラムを含む。プログラムは、１つまたは複数のプロセッサによる実行用に構成されており、本明細書で説明されている方法のいずれかを実行するように構成されている。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。１つまたは複数のプログラムはまた、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センター第２の集合に基づいてデータの視覚化を更新するための命令を含み、この場合更新することは、１つ以上の会話センターの第２の集合に対応する１つ以上のデータ属性を判定すること、表示されたデータの視覚化を走査して、その特性が１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む表示されたデータの視覚化の１つまたは複数を識別すること、およびその特性が第１のデータ属性に対応するデータのマークを強調表示することを含む。
【００５５】
［0055］  いくつかの実装形態では、非一時的コンピュータ可読記憶媒体は、１つまたは複数のプロセッサ、メモリ、およびディスプレイを有するコンピューティングデバイスによる実行のために構成された１つまたは複数のプログラムを記憶する。１つまたは複数のプログラムは、本明細書に記載の方法のうちのいずれかを実行するように構成される。１つまたは複数のプログラムは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出された第１のデータセットに基づいてデータの視覚化を表示するための命令を含む。１つまたは複数のプログラムはまた、データの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センターの第１の集合に関連する分析関数の第１の集合を計算し、それによって１つまたは複数の関数句の第１の集合を作成するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新するための命令を含む。１つまたは複数のプログラムはまた、更新されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信するための命令を含む。１つまたは複数のプログラムはまた、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出するための命令を含む。１つまたは複数のプログラムはまた、１つまたは複数の会話センター第２の集合に基づいてデータの視覚化を更新するための命令を含み、この場合更新することは、１つ以上の会話センターの第２の集合に対応する１つ以上のデータ属性を判定すること、表示されたデータの視覚化を走査して、その特性が１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む表示されたデータの視覚化の１つまたは複数を識別すること、およびその特性が第１のデータ属性に対応するデータのマークを強調表示することを含む。
【００５６】
［0056］  したがって、ユーザがデータ視覚化アプリケーション内に表示されたデータを効率的に探索することを可能にする方法、システム、およびグラフィカルユーザインターフェースが開示される。
【００５７】
［0057］  前述の一般的な説明および以下の詳細な説明は両方とも例示的かつ説明的なものであり、特許請求の範囲に記載の本発明のさらなる説明を提供することを意図している。
【００５８】
［0058］  前述のシステム、方法、およびグラフィカルユーザインターフェース、ならびにデータの視覚化分析を提供する追加のシステム、方法、およびグラフィカルユーザインターフェースをよりよく理解するために、後続の図面と共に以下の実装形態について言及がなされるはずである。図面全体を通して、同様の参照番号は対応する部分を示す。
【図面の簡単な説明】
【００５９】
【図１】［0059］いくつかの実装形態で使用されるグラフィカルユーザインターフェースを示す。
【図２】［0060］いくつかの実装形態によるコンピューティングデバイスのブロック図である。
【図３Ａ】［0061］いくつかの実装形態による、データセットの視覚的分析のために語用論の原理を適用する自然言語を使用するためのプロセスを示すプロセスの流れ図である。
【図３Ｂ】いくつかの実装形態による、会話センターの状態、および特定の移行規則がトリガされたときの状態間の移行を示す状態機械図である。
【図４Ａ】［0062］いくつかの実装形態による、分析する会話を処理する際の異なる移行規則の使用を示す図である。
【図４Ｂ】いくつかの実装形態による、分析する会話を処理する際の異なる移行規則の使用を示す図である。
【図４Ｃ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図４Ａ〜図４Ｂに関連する）を示す図である。
【図４Ｄ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図４Ａ〜図４Ｂに関連する）を示す図である。
【図４Ｅ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図４Ａ〜図４Ｂに関連する）を示す図である。
【図４Ｆ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図４Ａ〜図４Ｂに関連する）を示す図である。
【図４Ｇ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図４Ａ〜図４Ｂに関連する）を示す図である。
【図５】［0063］いくつかの実装形態による視覚的分析のための語用論の原理の適用のための一般的なフレームワークを示す図である。
【図６Ａ】［0064］いくつかの実装形態による、不完全な発話（本明細書では省略符号と呼ばれることがある）に対する語用論原理の適用を示す図である。
【図６Ｂ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図６Ａに関連する）を示す図である。
【図６Ｃ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図６Ａに関連する）を示す図である。
【図６Ｄ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図６Ａに関連する）を示す図である。
【図７Ａ】［0065］いくつかの実装形態による、参照表現（本明細書では照応参照と呼ばれることがある）を伴う発話に対する語用論の原理の適用を示す図である。
【図７Ｂ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す図である。
【図７Ｃ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す図である。
【図７Ｄ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す図である。
【図７Ｅ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す図である。
【図７Ｆ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す図である。
【図８Ａ】［0066］いくつかの実装形態による接続詞を有する発話に対する語用論の原理の適用を示す図である。
【図８Ｂ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用した対話型データ分析のためのグラフィカルユーザインターフェース（図８Ａに関する）を示す。
【図８Ｃ】いくつかの実装形態による、システムが、解析木の隣接するノードの分析関数を線形化によってどのように反復的に接続するかを示す。
【図９Ａ】［0067］いくつかの実装形態による、語彙の結束を処理するための語用論の原則の適用を示す図である。
【図９Ｂ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図９Ａに関連する）を示す図である。
【図９Ｃ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図９Ａに関連する）を示す図である。
【図９Ｄ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図９Ａに関連する）を示す図である。
【図１０Ａ】［0068］いくつかの実装形態による、修復発話のための語用論の原則の適用を示す図である。
【図１０Ｂ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図１０Ａに関連する）を示す図である。
【図１０Ｃ】いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図１０Ａに関連する）を示す図である。
【図１１Ａ】［0069］いくつかの実装形態による応答およびフィードバックを処理するための語用論の原理の適用を示す図である。
【図１１Ｂ】図１１Ａに示す方法論をさらに説明するデータの視覚化図である。
【図１１Ｃ】いくつかの実装形態による、入力された発話に基づいてダッシュボードがどのようにして漸進的に構築されるかを示す図である。
【図１２Ａ】［0070］いくつかの実装形態による、ユーザクエリ内の曖昧性を処理するために生成されたウィジェットの集合を示す。
【図１２Ｂ】いくつかの実施態様による様々な状況に対するフィードバックの例を示す。
【図１３Ａ】［0071］いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｂ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｃ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｄ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｅ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｆ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｇ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｈ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｉ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１３Ｊ】いくつかの実装形態による、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ａ】［0072］いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｂ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｃ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｄ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｅ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｆ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｇ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｈ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｉ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｊ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｋ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｌ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｍ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｎ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｏ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｐ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｑ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１４Ｒ】いくつかの実装形態による、様々な語用論の形式の処理を含む、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ａ】［0073］いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｂ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｃ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｄ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｅ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｆ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｇ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【図１５Ｈ】いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用するプロセスのフローチャートを提供する。
【発明を実施するための形態】
【００６０】
［0074］  ここで実装形態を参照するが、それらの例は添付の図面に示されている。以下の説明では、本発明を完全に理解できるようにするために多数の具体的な詳細が述べられている。しかし、本発明がこれらの具体的な詳細を必要とせずに実施され得ることは当業者に明らかであろう。
【００６１】
［0075］  図１は、対話型データ分析用のグラフィカルユーザインターフェース１００を示す。ユーザインターフェース１００は、いくつかの実装形態によれば、データタブ１１４および分析タブ１１６を含む。データタブ１１４が選択されると、ユーザインターフェース１００はスキーマ情報領域１１０を表示し、これはデータペインとも呼ばれる。スキーマ情報領域１１０は、データの視覚化を構築するために選択され使用され得る名前付きデータ要素（例えば、フィールド名）を提供する。いくつかの実装形態では、フィールド名のリストは、次元のグループ（例えば、カテゴリカルデータ）と測定のグループ（例えば、数量）に分けられる。いくつかの実装形態はパラメータのリストも含む。分析タブ１１６が選択されると、ユーザインターフェースはデータ要素（図示せず）の代わりに分析関数のリストを表示する。
【００６２】
［0076］  グラフィカルユーザインターフェース１００はまた、データ視覚化領域１１２を含む。データ視覚化領域１１２は、列シェルフ領域１２０および行シェルフ領域１２２などの複数のシェルフ領域を含む。これらは列シェルフ１２０および行シェルフ１２２とも呼ばれる。ここに示されるように、データ視覚化領域１１２はまた、視覚的グラフィックを表示するための大きなスペース（本明細書ではデータの視覚化とも呼ばれる）を有する。データ要素がまだ選択されていないため、スペースには最初は視覚的なグラフィックはない。いくつかの実装形態では、データ視覚化領域１１２は、シートと呼ばれる複数の層を有する。
【００６３】
［0077］  いくつかの実装形態では、グラフィカルユーザインターフェース１００は自然言語処理領域１２４も含む。自然言語処理領域１２４は、自然言語コマンドを受信するための入力バー（本明細書ではコマンドバーとも呼ばれる）を含む。ユーザは入力バーと対話してコマンドを提供することができる。例えば、ユーザは、コマンドを提供するために入力バーにコマンドを入力することができる。さらに、ユーザは、コマンドを提供するためにマイクロフォン（例えば、音声入力装置２２０）に向かって話すことによって、入力バーと間接的に対話してもよい。いくつかの実装形態では、データ要素は、最初に、列シェルフ１２０および行シェルフ１２２と関連付けられる（例えば、スキーマ情報領域１１０から列シェルフ１２０および／または行シェルフ１２２へのドラッグアンドドロップ操作を使用して）。最初の関連付けの後、ユーザは表示されたデータの視覚化をさらに探索するために自然言語コマンド（例えば、自然言語処理領域１２４内）を使用することができる。いくつかの事例では、ユーザは自然言語処理領域１２４を使用して初期関連付けを作成し、それによって１つまたは複数のデータ要素が列シェルフ１２０および行シェルフ１２２に配置されることになる。例えば、ユーザは、データ要素Ｘとデータ要素Ｙとの間の関係を作成するためのコマンドを提供することができる。コマンドの受信に応答して、列シェルフ１２０および行シェルフ１２２にデータ要素について事前設定することができる（例えば、列シェルフ１２０にデータ要素Ｘを事前設定することができ、行シェルフ１２２にデータ要素Ｙを事前設定することができ、またはその逆も可能である）。
【００６４】
［0078］  図２は、いくつかの実装形態によるグラフィカルユーザインターフェース１００を表示することができるコンピューティングデバイス２００を示すブロック図である。コンピューティングデバイス２００の様々な例には、デスクトップコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、およびデータ視覚化アプリケーション２３０を実行することができるディスプレイおよびプロセッサを有する他のコンピューティングデバイスが含まれる。コンピューティングデバイス２００は、通常、１つまたは複数の処理ユニット（プロセッサまたはコア）２０２、１つまたは複数のネットワークまたは他の通信インターフェース２０４、メモリ２０６、およびこれらの構成要素を相互接続するための１つまたは複数の通信バス２０８を含む。通信バス２０８は任意選択で、システム構成要素間の通信を相互接続し制御する回路（チップセットとも呼ばれる）を含む。コンピューティングデバイス２００は、ユーザインターフェース２１０を含む。ユーザインターフェース２１０は通常、表示装置２１２を含む。いくつかの実装形態では、コンピューティングデバイス２００は、キーボード、マウス、および／または他の入力ボタン２１６などの入力デバイスを含む。あるいは、またはさらに、いくつかの実装形態では、表示装置２１２はタッチセンシティブ面２１４を含み、その場合、表示装置２１２はタッチセンシティブディスプレイである。いくつかの実装形態では、タッチセンシティブ面２１４は、様々なスワイプジェスチャ（例えば、垂直方向および／または水平方向の連続的なジェスチャ）および／または他のジェスチャ（例えば、シングル／ダブルタップ）を検出するように構成される。タッチセンシティブディスプレイ２１４を有するコンピューティングデバイスでは、物理的なキーボードは任意である（例えば、キーボードでの入力が必要なときにソフトキーボードが表示されてもよい）。ユーザインターフェース２１０はまた、スピーカのような音声出力装置２１８、またはスピーカ、イヤホン、もしくはヘッドホンに接続された音声出力接続を含む。さらに、いくつかのコンピューティングデバイス２００は、キーボードを補完または置換するためにマイクロフォンおよび音声認識を使用する。任意選択で、コンピューティングデバイス２００は、音声（例えば、ユーザからの音声）を取り込むための音声入力装置２２０（例えば、マイクロフォン）を含む。
【００６５】
［0079］  メモリ２０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセスソリッドステートメモリデバイスなどの高速ランダムアクセスメモリを含む。また、１つまたは複数の磁気ディスク記憶装置、光ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性ソリッドステート記憶装置のような不揮発性メモリを含み得る。いくつかの実装形態では、メモリ２０６は、プロセッサ２０２から遠隔に配置された１つまたは複数の記憶装置を含む。メモリ２０６、あるいはメモリ２０６内の不揮発性メモリデバイスは、非一時的コンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ２０６またはメモリ２０６のコンピュータ可読記憶媒体は、以下のプログラム、モジュール、およびデータ構造、あるいはそれらのサブセットまたはスーパーセットを格納する。
・オペレーティングシステム２２２。これは、様々な基本システムサービスを処理し、ハードウェア依存タスクを実行するための手順を含む。
・通信モジュール２２４。これは、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、メトロポリタンエリアネットワークなどの１つまたは複数の通信ネットワークインターフェース２０４（有線または無線）を介してコンピューティングデバイス２００を他のコンピュータおよびデバイスに接続するために使用される。
・ウェブブラウザ２２６（またはウェブページを表示することができる他のアプリケーション）。これは、ユーザがネットワークを介して遠隔のコンピュータまたは装置と通信することを可能にする。
・音声入力装置２２０によってキャプチャされた音声を処理するための（例えば、マイクロフォンモジュール）音声入力モジュール２２８。キャプチャされた音声は、リモートサーバに送信されてもよく、および／またはコンピューティングデバイス２００で実行されているアプリケーション（例えば、データ視覚化アプリケーション２３０）によって処理されてもよい。
・データの視覚化および関連する特徴を生成するためのデータ視覚化アプリケーション２３０。アプリケーション２３０は、ユーザが視覚的グラフィックを構築するためのグラフィカルユーザインターフェース２３２（例えば、図１に示すグラフィカルユーザインターフェース１００）を含む。例えば、ユーザは、１つまたは複数のデータソース２４０（コンピューティングデバイス２００に格納されているか遠隔に格納されていてもよい）を選択し、データソースからデータフィールドを選択し、選択されたフィールドを使用して視覚グラフィックを定義する。および
・データ視覚化アプリケーション２３０によって使用される、０個以上のデータベースまたはデータソース２４０（例えば、第１のデータソース２４０−１および第２のデータソース２４０−２）。いくつかの実装形態では、データソースは、スプレッドシートファイル、ＣＳＶファイル、テキストファイル、ＪＳＯＮファイル、ＸＭＬファイル、またはフラットファイルとして格納されるか、リレーショナルデータベースに格納される。
【００６６】
［0080］  いくつかの実装形態では、データ視覚化アプリケーション２３０は、ユーザ入力（例えば視覚的詳細２３６）を受信し、対応する視覚グラフィックを生成するデータ視覚化生成モジュール２３４を含む。次いで、データ視覚化アプリケーション２３０は、生成された視覚的グラフィックをユーザインターフェース２３２に表示する。いくつかの実装形態では、データ視覚化アプリケーション２３０は、スタンドアロンのアプリケーション（例えばデスクトップのアプリケーション）として実行される。いくつかの実装形態では、データ視覚化アプリケーション２３０は、ウェブブラウザ２２６またはウェブサーバによって提供されるウェブページを使用して別のアプリケーション（例えば、サーバベースのアプリケーション）内で実行される。
【００６７】
［0081］  いくつかの実装形態では、ユーザが提供する情報（例えば、ユーザ入力）は視覚的詳細２３６として格納される。いくつかの実装形態では、視覚的詳細２３６は、ユーザから受信した以前の自然言語コマンド、または自然言語コマンドを通じてユーザによって指定された特性を含む。
【００６８】
［0082］  いくつかの実装形態では、データ視覚化アプリケーション２３０は、コンピューティングデバイスのユーザによって提供されたコマンドを処理（例えば、解釈）するための言語処理モジュール２３８を含む。いくつかの実装形態では、コマンドは自然言語コマンド（例えば、音声入力装置２２０によってキャプチャされたもの）である。いくつかの実装形態では、言語処理モジュール２３８は、オートコンプリートモジュール、語用論モジュール、および曖昧性モジュールなどのサブモジュールを含み、それらのそれぞれは、以下でさらに詳細に説明される。
【００６９】
［0083］  いくつかの実装形態では、メモリ２０６は、言語処理モジュール２３８によって判定された測定基準および／またはスコアを記憶する。さらに、メモリ２０６は、言語処理モジュール２３８によって判定されたメトリックおよび／またはスコアと比較される閾値および他の基準を格納することができる。例えば、言語処理モジュール２３８は、受信したコマンドの分析語句に対する関連性メトリック（以下で詳細に説明する）を判定することができる。次いで、言語処理モジュール２３８は、関連性メトリックをメモリ２０６に格納されている閾値と比較することができる。
【００７０】
［0084］  上記で識別された実行可能モジュール、アプリケーション、または一連の手順は、前述のメモリデバイスのうちの１つまたは複数に記憶され得、上記の関数を実行するための一連の命令に対応する。上記の識別されたモジュールまたはプログラム（すなわち、命令の集合）は、別々のソフトウェアプログラム、手順、またはモジュールとして実装される必要はなく、したがってこれらのモジュールの様々なサブセットは、様々な実装形態において結合または別の方法で再構成され得る。いくつかの実装形態では、メモリ２０６は、上で識別されたモジュールおよびデータ構造のサブセットを記憶する。さらに、メモリ２０６は、上で説明されていない追加のモジュールまたはデータ構造を記憶することができる。
【００７１】
［0085］  図２はコンピューティングデバイス２００を示しているが、図２は、本明細書で説明される実装形態の構造概略図としてよりも、むしろ存在し得る様々な特徴の関数の説明として、意図されている。実際には、また当業者によって認識されるように、別々に示された項目は組み合わされてもよく、いくつかのアイテムは分離されてもよい。
【００７２】
［0086］  図３Ａは、いくつかの実装形態による、データセットの視覚的分析のために語用論の原則を適用する自然言語を使用するためのプロセスまたはフレームワークを示すプロセスの流れ図である。会話型対話モデルに基づくフレームワークは、語用論的な理論で採用されているセンタリングアプローチを拡張して、再生中のデータ属性のコンテキストを継続、保持、およびシフトするという文の間の移行状態をサポートする。このフレームワークは、「視覚的な分析のサイクル」、すなわち視覚的な分析における流動的で反復的な探索および改良をサポートするインターフェースをサポートしている。視覚的な分析との対話は、ユーザが分析ツールへのインターフェースの操作方法に焦点を合わせるのではなく、データについての質問に答えることに集中できる場合に最も効果的である。語用論は、質問や洞察が以前の質問や人が見るデータのパターンから生じることが多い視覚分析フローにとって特に重要である。
【００７３】
［0087］  コヒーレンスを示す一連の発話が会話を形成する。コヒーレンスは、他の発話の解釈に対する各個々の発話の解釈に基づく、会話の意味論的特性である。前述のように、一組の発話を正しく解釈するために、プロセスフレームワークは、いくつかの実装形態に従って、会話型センタリングと呼ばれる談話構造に一般的に使用されるモデルを利用および拡張する。このモデルでは、発話は構成的談話セグメントに分割され、２つのセグメント間に成立する可能性のある関係が埋め込まれる。センターとは、その発話を談話での他の発話にリンクさせるのに役立つエンティティを示す。発話Ｕ１、…、Ｕｍの談話セグメントＤＳを考察する。ＤＳの各発話Ｕｎ（１≦ｎ＜ｍ）には、会話の現在の焦点を示す一連の前向きセンターＣｆ（Ｕｎ、ＤＳ）が割り当てられる。セグメントの最初の発話以外の各発話には、後ろ向きセンターの集合Ｃｂ（Ｕｎ、ＤＳ）が割り当てられる。新しい発話Ｕｎ＋１の後ろ向きセンターの集合はＣｂ（Ｕｎ＋１、ＤＳ）であり、これはＵｎの前向きセンター（すなわちＣｆ（Ｕｎ、ＤＳ））に等しい。視覚的な分析する会話のコンテキストでは、前向きおよび後ろ向きのセンターは、データの属性および値、視覚的特性、ならびに分析アクション（例えば、フィルタ、ハイライト）を含む。
【００７４】
［0088］  各談話セグメントは、大域的コヒーレンス、すなわち会話のトピックまたは主題を通常示す会話全体の大域的コンテキスト、および局所的コヒーレンス、すなわちその会話内の発話間のコヒーレンスの両方を示す。局所的コヒーレンスとは、Ｃｆ（Ｕｎ、ＤＳ）とＣｂ（Ｕｎ、ＤＳ）との間の継続、保持、および置換の移行状態を通して、局所的コンテキスト内の一連の発話を推論することを示す。フレームワークは、いくつかの実装形態に従って、これらの局所的コヒーレンス構成要素のそれぞれについて一組の規則を導入することによって、視覚的に分析する会話のためのこの会話型センタリング理論を拡張する。
【００７５】
［0089］  発話Ｕｎが与えられると、このフレームワークを実装するシステムは、前向きセンターＣｆ（Ｕｎ、ＤＳ）から導出された一連の分析関数を実行することによって応答する。いくつかの実装形態によれば、分析関数Ｆ（Ｘ、ｏｐ、ｖ）は、変数Ｘ（属性または視覚化特性とすることができる）、演算子ｏｐ、および値ｖ（通常は定数）からなる。例えば、ユーザが「英国のはしか」と言うと、システムは２つの関数、すなわちＦ＿ＣＡＴ（疾患、＝＝、はしか）とＦ＿ＣＡＴ（国、＝＝、英国）を作成する。ユーザが新しい発話Ｕｎ＋１を提供すると、システムは、いかなる前のコンテキストをも考慮せずに、最初に、Ｕｎ＋１から一時センターの集合Ｃｔｅｍｐ（Ｕｎ＋１、ＤＳ）を作成する。次に、システムは一連の規則を適用して、Ｃｂ（Ｕｎ＋１、ＤＳ）とＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）の間のいくつかの集合演算に基づいて、Ｃｆ（Ｕｎ＋１、ＤＳ）の前向きセンターを作成する。次に、いくつかの実装形態によれば、前向きセンターを使用してユーザの発話に応答する。
【００７６】
［0090］  図３Ａは、いくつかの実装形態による２つの発話Ｕｎ（３０２）およびＵｎ＋１（３１２）についてのこのプロセスを示す。システムは、いかなる前のコンテキストをも考慮せずに、Ｕｎから一時センターの集合Ｃｔｅｍｐ（Ｕｎ）（３０６）を作成する（３０４）。発話Ｕｎを受信した時点で、システムは、前の発話Ｕｎ−１に基づいて後ろ向き会話センターの集合Ｃｂ（Ｕｎ）（３０１）を事前計算するか、Ｕｎが第１の発話である場合、Ｃｂ（Ｕｎ）を空集合に初期化している。次に、システムは、１つまたは複数の移行規則（図３Ｂを参照して以下に説明する）を適用し（３０８）、後ろ向きセンターＣｂ（Ｕｎ）（３０１）および一時会話センターＣｔｅｍｐ（Ｕｎ）（３０６）から前向きセンターの集合Ｃｆ（Ｕｎ）（３１０）を導出する。前向き会話センターＣｆ（Ｕｎ）（３１０）はまた、次の発話Ｕｎ＋１（３１２）に対する後ろ向き会話センターＣｂ（Ｕｎ＋１）である。これまでに説明したプロセスは、次の発話Ｕｎ＋１について繰り返される（３１２）。システムは、いかなる前のコンテキストを考慮せずに、Ｕｎから一時センターの集合Ｃｔｅｍｐ（Ｕｎ）（３１６）を計算する（３１４）。次に、システムは、後ろ向きセンターＣｂ（Ｕｎ＋１）（３１０）および一時会話センターＣｔｅｍｐ（Ｕｎ＋１）（３１６）から前向きセンターの集合Ｃｆ（Ｕｎ＋１）（３１９）を導出するために、１つまたは複数の移行規則を適用する（３１８）。システムは、いくつかの実装形態に従って１つまたは複数のデータの視覚化を更新するために、前向き会話センターＣｆ（Ｕｎ＋１）（３１９）を使用する。システムはまた、次の発話Ｕｎ＋２に対する後ろ向き会話センターＣｂ（Ｕｎ＋２）として、前向きセンターの集合Ｃｆ（Ｕｎ＋１）（３１９）を使用するなどである。いくつかの実装形態によれば、ユーザが別のデータセットに移動するか視覚化をリセットすると、システムは分析する会話の大域的コヒーレンスを更新し、以前の状態（前向き会話センター、後ろ向き会話センター、一時会話センターなど）をすべて消去する。
【００７７】
［0091］  図３Ｂは、いくつかの実装形態による、会話センターの状態および状態間の移行を示すステートマシン図である。状態３２２は、後ろ向き会話センターＣｂと一時会話センターＣｔｅｍｐをカプセル化し、状態３２４、３２６、および３２８のそれぞれは、前向き会話センターＣｆの異なる状態を表す。会話センターは、発話Ｕｎ＋１（図示せず）に対応する。以下は、各移行規則、すなわち各移行がいつ起こるか、および終了状態がどのように計算されるかの説明である。
【００７８】
［0092］  いくつかの実装形態によれば、移行継続３２３は、コンテキストを後ろ向きセンターＣｂから前向きセンターＣｆへと継続する。すなわち、後ろ向き会話センターＣｂの各会話センターは、前向き会話センターＣｆ（３２４）に含まれる。談話セグメントＤＳの所与の発話Ｕｎ＋１に対して集合表記法を使用すると、この移行の結果として、他のエンティティと共に
Ｃｂ（Ｕｎ＋１、ＤＳ）∈Ｃｆ（Ｕｎ＋１、ＤＳ）
【００７９】
［0093］  いくつかの実装形態によれば、この移行は、変数ＸがＣｔｅｍｐ（Ｕｎ＋１）にあるがＣｂ（Ｕｎ＋１、ＤＳ）にない場合に発生する。この場合、システムは次の和演算を実行する。
Ｃｆ（Ｕｎ＋１、ＤＳ）＝Ｃｂ（Ｕｎ＋１、ＤＳ）∪Ｃｔｅｍｐ（Ｕｎ＋１、ＤＳ）
【００８０】
［0094］  いくつかの実装形態によれば、移行保持３２５は、追加のエンティティを前向きセンターに追加することなく、前向きセンターＣｆ（３２６）の後ろ向きセンターＣｂ（３２２）からのコンテキストを保持する。すなわち
Ｃｆ（Ｕｎ＋１、ＤＳ）＝Ｃｂ（Ｕｎ＋１、ＤＳ）
【００８１】
［0095］  いくつかの実装形態によれば、この移行保持３２５は、変数ＸがＣｂ（Ｕｎ＋１、ＤＳ）にあるがＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）にない場合にトリガする。
【００８２】
［0096］  いくつかの実装形態では、シフト移行３２７を用いて、コンテキストは、後ろ向き会話センター３２２から前向き会話センター３２８にシフトする。すなわち
Ｃｆ（Ｕｎ＋１、ＤＳ）≠Ｃｂ（Ｕｎ＋１、ＤＳ）
【００８３】
［0097］  いくつかの実装形態では、シフト移行３２７は、変数ＸがＣｂ（Ｕｎ＋１、ＤＳ）とＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）の両方にあるが、対応する値が異なる場合に発生する。この場合、システムはＸを含むすべての後方中心Ｃｂ（Ｕｎ＋１、ＤＳ）をＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）に置き換える。図３Ｂが示すように、この置き換えは式を用いて表すことができる。
Ｃｆ（Ｕｎ＋１、ＤＳ）＝Ｃｂ（Ｕｎ＋１、ＤＳ）−ＸＣｂ＋ＸＣｔｅｍｐ
【００８４】
［0098］  いくつかの実装形態では、シフト移行３２７はまた、フィルタの制約が除かれたときにも発生する。例えば、はしかのウィジェットを除くと、疾患の変数が、はしかからすべての疾患に変わる。
【００８５】
［0099］  図４Ａはいくつかの実装形態による分析する会話を処理する際の異なる移行規則の使用を示す図である。システムが、図３Ａおよび図３Ｂを参照して上述したフレームワークを実装すると仮定する。システムが発話４００（例えば、「英国のはしか」）を受信すると、システムは、いくつかの実装形態に従って、その発話に対応する前向き会話センター（４０４）を計算し（４０２）、後ろ向きセンターを初期化する。例の発話の会話センターは「はしか」と「英国」である。計算された会話センターに基づいて、システムは視覚化を更新するためにフィルタを適用する（４０６）、例えば視覚化４０８において英国内のはしかを示すカテゴリカルおよび空間フィルタを適用する。図４Ｄは、視覚化４０８の拡大版を示す。図４Ｄに示されるように、「英国のはしか」という発話は、システムが（ＤＩＳＥＡＳＥ＝＝はしか（４４２）およびＣＯＵＮＴＲＹ＝＝英国（４４４））に焦点を当てた状態で「世界中の疾患の大発生」の視覚化を示すに至る。図４Ａに参照を戻すと、ユーザが新しい発話４１０で視覚化４０８に応答すると仮定すると（例えば、「オレンジ色の急増を私に見せてほしい」）、システムは、継続規則（３２３、図３Ｂを参照して上述）を適用することによって前向き会話センターを計算する（４１２）。これは、例示的な発話のための一時会話センター（図示せず）が視覚化特性（変数のタイプ）、すなわち形状の変数（「急増」という値を有する）および色の変数（「オレンジ」という値を有する）に対応する「オレンジ色の急増」を含み、これらの変数は、後ろ向き会話センター（４０４）には存在しないためである。さらに、発話４１０は、後ろ向き会話センター（４０４）の他の変数（ＤＩＳＥＡＳＥまたはＣＯＵＮＴＲＹ）を参照しないので、システムは保持規則またはシフト規則を適用しない。発話４１０のための前向き会話センター（４１４）は、このようにして｛はしか、英国、オレンジ色の急増｝となるよう計算される。これらの前向きセンターに基づいて、システムは、例えば視覚化４１８の図表のはしかについて行内のオレンジ色の急増を強調表示することによって、データの視覚化内の対応する図表を更新する。図４Ｅは、視覚化４１８の拡大版を示す。この例が示すように、システムは、いくつかの実装形態に従って、「オレンジ色の急増を私に見せてほしい」という発話に応答して、急増を強調表示し、「２０１３年のはしかの４．４ケース」という言葉で急増に注釈を付ける（４４６）。
【００８６】
［0100］  図４Ｂは、例えば発話などの異なる移行規則の適用をさらに例示する別の図である。この例は、図４Ａの視覚化４３８に対するユーザの応答に従う。図４Ｂを参照すると、システムが発話４２０を受信したとき（例えば、「彼方のおたふく風邪」）、いくつかの実装形態に従って、システムは、発話に対応する前向き会話センターを計算する（４２２）。後ろ向き会話センター（４２４）（例えば、｛はしか、英国、オレンジ色の急増｝）は、図４Ａに示される（発話４１０に応答して）前のステップで計算された前向き会話センター（４１４）に対応する。発話４２０の一時会話センター（図示せず）（例えば、「彼方のおたふく風邪」）は、前の発話用に導出された会話センター（例えば、「オレンジ急増」）を含まない。これにより、システムは保持規則を適用するようにトリガされる（図３Ｂの３２５を参照して上述）。例えば、一時会話センターにはＤＩＳＥＡＳＥという変数が含まれているが、その変数の値は、はしかからおたふく風邪に変更されている。これにより、システムはシフト規則を適用する（図３Ｂの３２７を参照して上述）。その結果、システムは（例えば、｛おたふく風邪、英国｝のように）前向き会話センター（４２４）を計算する。これらの前向き会話センターに基づいて、視覚化４２８に示すように、システムは必要なフィルタを適用すること（例えば、英国用の空間フィルタの保持、おたふく風邪へのカテゴリカルフィルタの更新）、および視覚化の更新（例えば、はしかの行のハイライトされた急増の除去）によって応答する（４２６）。図４Ｆは、視覚化４２８の拡大版を示す。図４Ｆに示されるように、「彼方のおたふく風邪」という発話は、（ＤＩＳＥＡＳＥ＝＝おたふく風邪（４４８）、およびＣＯＵＮＴＲＹ＝＝英国（４５０））に焦点を置いた状態で「世界中の疾患の発生」の視覚化を示すシステムをもたらす。
【００８７】
［0101］  再び図４Ｂを参照して、例を続けるために、ユーザが別の発話（４３０）（例えば、「マラウイ、コンゴ、アンゴラではしかの流行」）で質問すると仮定すると、システムは、上記のシフト規則を適用することによって、この発話に対応する前向きセンターを計算する（４３２）。この示された例では、シフト規則を適用する理由は、ＤＩＳＥＡＳＥという変数の値が今や異なる、すなわちはしかと流行で異なるためである。同様に、地理的地域は英国からマラウイ、コンゴおよびアンゴラに変わった。シフト規則を適用することに基づいて、システムは前向き会話センターを計算する（４３４）（この例では、センターは｛はしか、流行、マラウイ、コンゴ、アンゴラ｝である）。前向き会話センター（４３４）に基づいて、システムは適切なフィルタ（例えば、はしかの流行のためのカテゴリカルフィルタ、および英国に代わるマラウイ、コンゴ、およびアンゴラの新しい空間フィルタ）を適用することによって発話にさらに応答する（４３６）。それにより、視覚化４３８を生成する（例えば、マラウイ、コンゴおよびアンゴラでのはしかの流行を示す）。図４Ｇは、視覚化４３８の拡大版を示す。図４Ｇに示されるように、「マラウイ、コンゴ、アンゴラにおけるはしかの流行」という発話は、焦点（ＤＩＳＥＡＳＥ＝＝はしか（４５２）、ＩＭＰＡＣＴ＝＝流行（４５４）、ＣＯＵＮＴＲＹ＝＝マラウイ（４５６）、ＣＯＵＮＴＲＹ＝＝コンゴ（４５８）、ＣＯＵＮＴＲＹ＝＝アンゴラ（４６０））を当てた状態で、「世界各地での疾患の発生」の視覚化を示すシステムをもたらす。
【００８８】
［0102］  図４Ｃは、いくつかの実装形態による、図４Ａおよび図４Ｂを参照して上で説明されたユーザの発話に応答したデータの視覚化に対する更新を示す。視覚化４０８、４１８、４２８、および４３８は、それぞれ拡大図４Ｄ、４Ｅ、４Ｆ、および４Ｇを参照して上述した。
【００８９】
［0103］  図５は、いくつかの実装形態による視覚的分析のための語用論の原理の適用のための一般的なフレームワークを示す図である。このフレームワークは、いくつかの実装形態に従って、会話型センタリングと呼ばれる談話構造に一般に使用されるモデルを利用し拡張する。このモデルでは、発話は構成的談話セグメントに分割され、２つのセグメント間に成立する可能性のある関係が埋め込まれる。センターとは、その発話を談話での他の発話にリンクさせるのに役立つエンティティを示す。発話Ｕ１、…、Ｕｍの談話セグメントＤＳを考察する。ＤＳの各発話Ｕｎ（１≦ｎ＜ｍ）には、会話の現在の焦点を示す一連の前向きセンターＣｆ（Ｕｎ、ＤＳ）が割り当てられる。セグメントの最初の発話以外の各発話には、後ろ向きセンターの集合Ｃｂ（Ｕｎ、ＤＳ）が割り当てられる。新しい発話Ｕｎ＋１の後ろ向きセンターの集合はＣｂ（Ｕｎ＋１、ＤＳ）であり、これはＵｎの前向きセンター（すなわちＣｆ（Ｕｎ、ＤＳ））に等しい。視覚的な分析する会話のコンテキストでは、前向きおよび後ろ向きのセンターは、データの属性および値、視覚的特性、ならびに分析アクション（例えば、フィルタ、ハイライト）を含む。
【００９０】
［0104］  発話Ｕｎが与えられると、このフレームワークを実装するシステムは、前向きセンターＣｆ（Ｕｎ、ＤＳ）から導出された一連の分析関数を実行することによって応答する。分析関数Ｆ（Ｘ、ｏｐ、ｖ）は、変数Ｘ（属性または視覚化特性であってよい）、演算子ｏｐ、および値ｖ（通常は定数）からなる。例えば、ユーザが「英国のはしか」と言うと、システムは２つの関数、すなわちＦ＿ＣＡＴ（疾患、＝＝、はしか）とＦ−＿ＣＡＴ（国、＝＝、英国）を作成する。ユーザが新しい発話Ｕｎ＋１を提供すると、システムは、いかなる前のコンテキストをも考慮せずに、最初に、Ｕｎ＋１から一時センターの集合Ｃｔｅｍｐ（Ｕｎ＋１、ＤＳ）を作成する。次に、システムは一連の規則を適用して、Ｃｂ（Ｕｎ＋１、ＤＳ）とＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）の間のいくつかの集合演算に基づいて、Ｃｆ（Ｕｎ＋１、ＤＳ）の前向きセンターを作成する。次に、いくつかの実装形態によれば、前向きセンターを使用してユーザの発話に応答する。
【００９１】
［0105］  図５は、いくつかの実装形態による２つの発話Ｕｎ（５００）およびＵｎ＋１（５２０）についてのこのプロセスを示す。システムは、いかなる前のコンテキストを考慮せずに、Ｕｎ＋１から一時センターの集合Ｃｔｅｍｐ（Ｕｎ＋１）（５２８）を計算する（５２６）。発話Ｕｎ＋１を受信した時点で、システムは、前の発話Ｕｎに基づいて後ろ向き会話センターの集合Ｃｂ（Ｕｎ＋１）（５０４）を事前計算するか、Ｕｎが第１の発話である場合、Ｃｂ（Ｕｎ＋１）（５０４）を空集合に初期化した。
【００９２】
［0106］  会話センタリングは、発言がそれらの間のつながりを示すことを前提としている。これらの発話が互いにリンクして会話を形成する方法は、結束である。結束は、構成句における字句構造と文法構造の両方の組み合わせの結果として生じる。したがって、句構造を識別することは、その発話を視覚化に適用される１つまたは複数の分析関数に分解するための論理的な出発点である。句の構造には、字句構造と文法構造の両方が含まれる。図５において、このフレームワークを実施するシステムは、ステップ５２２において、発話Ｕｎ＋１（５２０）の句構造を計算する。通常、パーサは句構造を計算するために使用される。パーサは入力文（クエリまたは自然言語コマンドと呼ばれることもある）を受け入れ、英語などの特定の自然言語に固有の一連の文法規則を適用して、入力文を一連のトークン（言語要素）に分割する。いくつかの実装形態では、文法規則は環境に合うように修正することができる。いくつかの実装形態では、入力したクエリの構造的記述を提供するために確率的文法が適用される。確率的文法は、文の解析における曖昧性を解決するのに役立つ。（文法生成規則に対する）確率分布は、例えば、手での解析の文章のコーパスから推定することができる。いくつかの実装形態は、名詞、動詞、形容詞などの品詞を各単語（トークンと呼ばれることもある）に割り当てる品詞（ＰＯＳ）タガーを使用することによって、追加の構文構造を推論する。いくつかの実装形態は、解析された出力を対応するカテゴリカルおよび順序付きデータ属性に分解する。ブロック５００とブロック５１０とを結ぶ破線が示すように、いくつかの実装形態では、システムは、発話Ｕｎ（５００）の句構造も計算する（５１０）。
【００９３】
［0107］  句構造を用いて、システムは、語用論の形式のタイプ（その例は、図６Ａから図１０Ｃを参照して以下に説明される）およびいずれかの他の句構造に関連する情報（例えば、１つの発話には存在しているが、もう１つの発話はない言語要素）を判定する（５３０）ために進める。次に、いくつかの実装形態によれば、語用論の形式および句構造情報（５３２）に基づいて、システムは、一時会話センター（５２８）および後ろ向き会話センターＣｂ（５０４）を使用して、発話Ｕｎ＋１（５２０）の前向き会話センターＣｆ（５３６）を導出する（５３４）。図５に示されるように、発話Ｕｎ＋１（５２０）を受信する前であっても、システムは、最初の一連の動作（フィルタの適用など）を既存の視覚化に適用すること（５０６）によって、後ろ向き会話センターＣｂ（５０４）に基づいて１つまたは複数の初期視覚化（５０８）を導出および／または表示する。いくつかの実装形態では、前向き会話センターＣｆ（５３６）に基づいて、システムは、既存の視覚化を更新するかまたは新しい視覚化を生成する（５４０）ために第２の集合の操作（例えばフィルタの適用）を適用する（５３８）。
【００９４】
［0108］  図６Ａは、いくつかの実装形態による、不完全な発話（省略形と呼ばれることもある）に対する語用論の原理の適用を示す図である。省略記号は、１つまたは複数の言語要素を除外する構文的に不完全な文の断片である。これらの発話は以前に確立されたコンテキストでよりよく理解することができる。図６Ａは、不完全な発話「タウンホーム」が、前の発話「バラードで１Ｍ未満の住宅」というコンテキストの中でどのように理解されるかを示している。システムが、この例では「バラードで１Ｍ未満の住宅」という発話である発話Ｕｎ（６００）を受信すると、システムは、いくつかの実装形態による、図５を参照して上記で説明された方法論を使用して（ステップ５０２）、ステップ６０２において、前向きセンターを計算し、（発話Ｕｎ＋１に対して）後ろ向きセンターを初期化する。例の発話の場合、システムは会話センターの集合を｛住宅、バラード、および１Ｍ｝になるように計算する。いくつかの実装形態では、システムは、会話センターの集合（６０４）に基づいてデータセットにフィルタを適用し（６０６）、データの視覚化（６０８）を表示する。この例では、システムはバラードの１Ｍドル未満の住宅を示す数値および空間フィルタを適用する。図６Ｄは、視覚化６０８の拡大版を示す。図６Ｃに示されるように、「バラードで１Ｍドル未満の住宅」という発話は、（バラード（６４４）でＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥが１．０Ｍ未満（６４２）未満）を中心に「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらす。図６Ａに参照を戻すと、いくつかの実装形態では、システムはまた、図５のステップ５１０を参照して上で説明された１つまたは複数の技法を使用してステップ６１０で発話Ｕｎの句構造（６１０）を計算する。
【００９５】
［0109］  いくつかの実装形態では、システムが、この例では発話「タウンホーム」である発話Ｕｎ＋１（６２０）を受信すると、システムは、Ｕｎ＋１（６２０）についての一時会話センターを計算する（６２６）。この例では、システムは会話センター（６２８）を集合｛タウンホーム｝になるように計算する。さらに、システムは、いくつかの実装形態に従って、ステップ５２２（図５）を参照して上で説明された技法を使用して、発話Ｕｎ＋１（６２０）の句構造を計算する（６２２）。
【００９６】
［0110］  前述のように、省略記号は１つまたは複数の言語要素を除外する。いくつかの実装形態によれば、句構造（６１２および６２４）を用いて、システムは、発話Ｕｎ＋１（６２０）において欠けている言語要素に対応する発話Ｕｎ（６００）の会話センターのサブセットを判定する。この例では、言語要素、つまり前置詞句（「バラード」に対応する）に続く場所を示す名詞句と、別の前置詞句（「１Ｍ」、より正確には「１Ｍの下」に対応する）に続く価格の値を示す名詞句が、発話Ｕｎ＋１（６２０）に欠けているが、発話Ｕｎ（６００）に存在していたので、システムはサブセットを集合｛バラード、１Ｍ｝となるように計算する。一方、発話Ｕｎ（６００）の句「住宅」および発話Ｕｎ＋１（６２０）の句「タウンホーム」は、類似の言語要素に対応する（例えば、両方の句は名詞句であり、住宅のタイプを示す）。
【００９７】
［0111］  ステップ６３４において、いくつかの実装形態によれば、システムは、この例では集合｛タウンホーム｝である会話センターの一時的な集合を会話センターのサブセット（６３２）と組み合わせて、会話センターのサブセット（６３２）は発話Ｕｎ＋１のための前向き会話センターの集合（６３８）に到達する。いくつかの実装形態によれば、システムは、計算された前向き会話センターの集合（６３６）に基づいて、データセットに適用するフィルタの種類を判定し、ステップ６３８で適切なフィルタを適用して、適切なデータの視覚化（６４０）を表示する。この例では、会話センター「バラード」および「１Ｍ」は、後ろ向き会話センター（６０４）から保持されているので、システムは数値フィルタ（１Ｍに対応する）および空間フィルタ（バラードに対応する）を保持する。また、会話センターの値（ｈｏｍｅ＿ｔｙｐｅ変数に対応）がタウンホームから住宅に変更されたため、システムは（住宅ではなく）タウンホームを表示するためにカテゴリカルフィルタをｈｏｍｅ＿ｔｙｐｅに適用する。図６Ｄは、視覚化６４０の拡大版を示す。図６Ｄに示されるように、発話「タウンホーム」は、「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらし、前の視覚化６０８からのＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥウィジェットまたはフィルタ（６４２）および空間フィルタ６４４を保持し、ＨＯＭＥ＿ＴＹＰＥをタウンハウス（６４６）付きに置き換える。
【００９８】
［0112］  図６Ｂは、いくつかの実装形態による、図６Ａを参照して上記で説明されたユーザの発話に応答したデータの視覚化に対する更新を示す。視覚化６０８および６４０は、それぞれ拡大図６Ｃおよび６Ｄを参照して上述した。
【００９９】
［0113］  図７Ａは、いくつかの実装形態による参照表現（本明細書では照応参照と呼ばれることがある）を用いた発話のための語用論の原理の適用を示す図である。参照表現は、テキストを統一し、節約を生み出すのに役立ち、不必要な繰り返しを防ぐ。参照は会話形式であり、それはそれ自体で意味論的に解釈されるのではなく、その解釈のために何か他のものへの参照を行う。解釈がテキスト内にある場合、これは照応参照と知られている。視覚的分析インタラクションでは、参照はデータ属性と分析関数に関係する。図７Ａは、前の発話「２０１５年の価格」のコンテキストにおいて、「前の年」の発話がどのように理解されるかを示す。システムが、この例では「２０１５年の価格」という発話である発話Ｕｎ（７００）を受信すると、システムは、いくつかの実装形態による、図５を参照して上記で説明された方法論を使用して（ステップ５０２）、ステップ７０２において、前向きセンターを計算し、（発話Ｕｎ＋１に対して）後ろ向きセンターを初期化する。例の発話の場合、システムは会話センターの集合を｛価格、２０１５｝と計算する。いくつかの実装形態では、システムは、会話センターの集合（７０４）に基づいてデータセットにフィルタを適用し（７０６）、データの視覚化（７０８）を表示する。この例では、システムは２０１５年の住宅価格を示す時間フィルタを適用する。図７Ｃは、視覚化７０８の拡大版を示す。図７Ｃに示すように、「２０１５年の価格」という発話は、２０１５年「の過去の住宅販売−シアトル」の視覚化を示すシステムをもたらす。示されていないが、例えば、以前の発話に応答した以前の視覚化により、システムはシアトルでの価格をチェックした。図７Ａに参照を戻すと、いくつかの実装形態に従って、システムがこの例では「前年」である発話Ｕｎ＋１（７２０）を受信すると、システムはステップ５２２（図５）を参照して上述した技法を使用して発話Ｕｎ＋１（７２０）の句構造を計算する（７２２）。
【０１００】
［0114］  先に述べたように、照応参照を使って式を参照すると、テキスト内の他の何かが参照される。句構造（７２４）に基づいて、システムは、いくつかの実装形態に従って、発話Ｕｎ＋１（７２０）の照応を識別する（７２６）。この例では、システムは「前」という照応語（７２８）を識別する。いくつかの実装形態によれば、識別された照応語を使用して、次にシステムは、参照が参照しているエンティティを識別するために、参照を含む句チャンク（７３２）を識別する（７３４）。図示の例では、システムは照応語「前」に対応する句チャンク「年」を識別する。いくつかの実装形態によれば、識別された照応語および句チャンクに基づいて、ステップ７３０において、システムは、後ろ向きセンターを検索してそのようなエンティティを見つけ、照応参照をこれらのエンティティと置き換える。さらに、いくつかの実装形態では、この例の場合のように、システムはエンティティの値に適切な関数を検出して適用する。図示の例では、システムはまた、ユーザが「前の」年を参照していることを検出し、したがって、年変数の正しい値に到達する前に、２０１５の値が１つ減少される。システムは、いくつかの実装形態に従って、時間関数（例えば、ＤＡＴＥＣＡＬＣ）を使用して「前の」日付を計算する。システムは、この例では集合｛価格、２０１４｝である前向き会話センターの集合（７３６）に到着する。この集合に基づいて、システムは、いくつかの実装形態に従って、ステップ７３８で視覚化を更新するために必要なステップをとる。この例では、システムは年の参照を保持し、時間フィルタを２０１４に更新して７４０で視覚化を表示する。図７Ｄは、視覚化７４０の拡大版を示す。図７Ｄに示されるように、「前年」という発話は、（前の視覚化からの）２０１５年の前年の２０１４年における「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらす。
【０１０１】
［0115］  図７Ｂ〜図７Ｄは、いくつかの実装形態によるデータ視覚化アプリケーションにおいて自然言語処理を使用する対話型データ分析のためのグラフィカルユーザインターフェース（図７Ａに関連する）を示す。図７Ｂは、いくつかの実装形態による、図７Ａを参照して上で説明されたユーザの発話に応答したデータの視覚化に対する更新を示す。視覚化７０８および７４０は、それぞれ拡大図７Ｃおよび７Ｄを参照して上述した。
【０１０２】
［0116］  図７Ａには示されていないが、いくつかの実装形態では、システムは、単一の表現で複数の照応参照を認識するステップを繰り返す。さらに、いくつかの実装形態では、システムは、「それ」、「それら」、「それらを」、「それら（ｏｎｅｓ）」、「前の」、「次の」など、所与の発話での多くのタイプの照応参照を識別する。もう１つの説明的な例として、「フレモント、クイーン・アン、バラードについて見せてほしい」という発話が、「それらの地区のコンドミニアム」に続く場合を考える。この例では、それらは、地区という単語によって示されるように、属性近傍の属性のいくつかの値（すなわち、フリーモント、クイーン・アン、およびバラード）を参照している。
【０１０３】
［0117］  いくつかの実装形態では、参照はデータの属性の値を示す。いくつかの実装形態では、参照は、システムによって実行される必要がある動作を示す。例えば、「バラードを排除する」という発話と、それに続く「フリーモントに対すること」を考察する。ここでは、いかなる名詞もすぐに続いていない言葉だが、直前に動詞語「ｄｏ」が先行している。そのような場合、システムは前の発話で述べられた１つまたは複数の行動を判定する。それはこの例では「除外する」行動である。
【０１０４】
［0118］  いくつかの実装形態では、システムは、テキストの外側にあり、視覚化のコンテキスト内にある参照をサポートする。いくつかのそのような実装形態では、前向きセンターＣｆは、後ろ向きセンターＣｂのテキストとは対照的に、視覚化内のコンテキストを参照する。いくつかの実装形態では、この形式の間接参照は、通常は示すことによって、環境内のいくつかのオブジェクトを示す厳密参照を含む。いくつかのそのような実装形態では、システムは、マルチモーダル対話（マウス＋音声／テキスト）を可能にすることによって、厳密参照をサポートする。図７Ｅは、厳密参照に応答した例示的な視覚化を示す。いくつかの実装形態では、この形式の間接参照は、マーク特性、ラベル内のテキスト、軸およびタイトルなどの視覚化における特性を使用する視覚化特性参照を含む。図７Ｆは、視覚化特性への参照に応答した例示的な視覚化を示す。
【０１０５】
［0119］  図８Ａは、いくつかの実装形態による、接続詞を伴う発話に対する語用論の原理の適用を示す図である。発話中の接続詞は、接続詞と呼ばれる句断片間の一連の関係を伝達する。会話では、ユーザは複数の接続詞を追加することによって複合クエリを繰り返し作成する傾向がある。句間の「および」「または」「も」などの接続詞や連結語の明示的な使用は避けられることが多い。図８Ａは、前の発話「バラードにある住宅」のコンテキストにおいて、「昨年夏に６００ｋ未満だったバラードにある住宅」という発話がどのように理解されるかを示す。システムが、この例では「バラードにある住宅」という発話である発話Ｕｎ（８００）を受信すると、システムは、いくつかの実装形態による、図５を参照して上記で説明された方法論を使用して（ステップ５０２）、ステップ８０２において、前向きセンターを計算し、（発話Ｕｎ＋１に対して）後ろ向きセンターを初期化する。例の発話の場合、システムは会話センターの集合を｛家、バラード｝になるように計算する。いくつかの実装形態では、システムは、会話センターの集合（８０４）に基づいてデータセットにフィルタを適用し（８０６）、データの視覚化（８０８）を表示する。この例では、システムはバラードにある住宅を示すカテゴリカルおよび空間フィルタを適用する。
【０１０６】
［0120］  いくつかの実装形態に従って、この例では「昨年夏に６００ｋ未満だったバラードにある住宅」である発話Ｕｎ＋１（８１０）をシステムが受信すると、システムは、ステップ５２２（図５）を参照して上述した技法を使用して発話Ｕｎ＋１（８１０）の句構造を計算する（８１２）。前述のように、複合クエリは、構成句間の複数の（場合によっては暗黙的な）連言からなる。句構造（８１４）に基づいて、システムは、いくつかの実装形態に従って、発話Ｕｎ＋１（８１０）の連言を識別する（８１６）。この例では、システムは、複数のクエリ（８１８）、すなわち、「住宅」、「バラードにある」、「６００ｋ未満」、および「昨年の夏」を識別する。これらのクエリ（８１８）および後ろ向き会話センターの集合（８０４）に基づいて、システムは、いくつかの実装形態に従って、前向き会話センターの集合（８２２）を計算する（８２０）。例えば、システムは、発話Ｕｎ（８００）から一致するコンテキストを選択し、発話Ｕｎ＋１（８１０）からの連言から導出された新しい会話センターを追加する。この例の前向き会話センターの集合（８２２）は、集合｛住宅、バラード、＜６００ｋ、昨年の夏｝である。この集合に基づいて、システムは、いくつかの実装形態に従って、ステップ８２４において現在の視覚化を洗練するために必要なステップをとる。この例では、システムは、８２６で視覚化を示すために、住宅価格に数値フィルタを適用し、過去の夏を示す時間フィルタを適用する。図８Ｂは、視覚化８２６の拡大版を示す。図８Ｂに示されるように、「昨年夏に６００ｋ未満だったバラードにある住宅」という発話は、去年の夏、ＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥ（８３０）、６００ｋ未満（８３２）による「過去の住宅販売−バラード（８２８）におけるシアトル」の視覚化を示すシステムをもたらす。この例では、システムは、いくつかの実装形態に従って、期間２０１５−６から２０１５−８−３１までの期間（８３４）として、前回の視覚化に基づいて期間（「昨年の夏」の期間）をさらに分解する。
【０１０７】
［0121］  図８Ｃは、いくつかの実装形態による、システムが線形化によって解析木内の隣接するノードの分析関数をどのように反復的に接続するかを示す。連言間の暗黙のデータのコヒーレンスを見つけることは時々挑戦的な作業である。図８Ｂに示す例では、すべての連言は同じエンティティ「バラードにある住宅」を参照している。ただし、連言が異なるエンティティにマップされる場合がある。発話の例は、「サウス・レイク・ユニオンで６００ｋ未満のコンドミニアムのバラードにある住宅」である。システムは、いくつかの実装形態に従って、個々の連言が同じエンティティまたは異なるエンティティに分解されるかどうかを判定する。いくつかのそのような実装形態では、システムは、潜在的に暗黙の連言で潜在的に長い発話を取得し、その発話を論理演算子によって互いに連鎖された分析関数の集合に変換する規則ベースの技法を使用する。次いで、システムは、いくつかの実装形態に従って、ユーザの発話に応答してこれらの分析関数を実行する。
【０１０８】
［0122］  いくつかの実装形態では、システムは、線形化のプロセスを通じて１つまたは複数の対応する分析関数を呼び出すために複合発話内の複数の連言を分解する。いくつかのそのような実装形態では、分析関数Ｆ（Ｘ、ｏｐ、ｖ）は、変数Ｘ（例えば、属性）、演算子ｏｐ、および値ｖからなる。各属性はカテゴリカルまたは順序付けられている。順序付けされたデータ型はさらに序数と量に分類される。線形化プロセスは、以下に説明するように、属性および演算子の種類を考慮して、論理演算子（すなわち、∧、∨）を使用して分析関数を組み合わせる。
【０１０９】
［0123］  ∨演算子を適用する：隣接する２つ以上の連言が１つの属性を共有し、その属性のデータ型がカテゴリカルの場合、いくつかの実装形態によれば、システムはこれらの連言を∨で接続する。同様に、その共有属性が順序付けられていて、関数の演算子が＝＝の場合、システムはいくつかの実装形態に従って∨を適用する。このような場合、∧を適用するとデータテーブル内のどの項目とも一致しないため、∨は選択として論理的により適している。例えば、発話が「コンドミニアムとタウンホームを表示してほしい」という場合、いくつかの実装形態に従って、システムは次の組み合わせの分析関数を生成する。（Ｆ＿ＣＡＴ（家の種類、＝＝、コンドミニアム）∨Ｆ＿ＣＡＴ（家の種類、＝＝、タウンホーム））。この例では、「コンドミニアム」と「タウンホーム」の両方が同じカテゴリ属性、つまり家の種類に属している。同時に「コンドミニアム」と「タウンホーム」の両方を特定の住宅（項目）にすることはできないため、∨演算子を適用する方が∧演算子を適用するよりも論理的に適している。同様に、ユーザが「２、３の寝室の住宅」と発話した場合、システムは、いくつかの実装形態に従って、（Ｆ＿ＯＲＤＩＮＡＬ（ベッド、＝＝２）∨Ｆ  ＯＲＤＩＮＡＬ（ベッド、＝＝３））を生成する。属性タイプが順序付けられており、条件Ｘ＜ｖ１およびＸ＞ｖ２を含む場合は、∨演算子も適している。式中、ｖ１＜ｖ２である。例えば、発話が「２０１３年より前および２０１４年より後」である場合、いくつかの実装形態によれば、∨演算子は２つの接続詞の間で使用されることになる。この場合もやはり、∧演算子を適用すると、データテーブルのどの項目にも一致しなくなる。
【０１１０】
［0124］  ∧演算子の適用：属性タイプが順序付けられていて、条件Ｘ＞ｖ１およびＸ＜ｖ２を含む場合は、∧演算子が適している。式中、ｖ１＜ｖ２である。例えば、「４００ｋ超７００ｋ未満の住宅」は、（Ｆ  ＮＵＭＥＲＩＣ（価格、＞、４００００００）∧Ｆ  ＮＵＭＥＲＩＣ（価格、＜、７０００００））となる。「２〜４のベッド」は、（Ｆ  ＯＲＤＩＮＡＬ（ベッド、＞＝、２）∧Ｆ  ＮＵＭＥＲＩＣ（ベッド、＜＝、４））となる。∨演算子を適用すると、データテーブル内のすべての項目に一致することになる点に留意されたい。いくつかの実装形態では、∧演算子は、２つの連言の間に共通の属性がない場合にも適用される。例えば、「２つのベッド付きで６００ｋ未満の価格」という発話は、（Ｆ  ＯＲＤＩＮＡＬ（ベッド、＝＝、２）∧Ｆ  ＮＵＭＥＲＩＣ（価格、＜＝、６０００００））となる。
【０１１１】
［0125］  発話全体の分析関数の表現を生成するために、システムは、パーサ（例えば、図５を参照して上述したパーサ）によって生成された発話について対応する解析木を後順に走査し、上記の２つの規則を図８Ｃに示すように句で反復的に適用する。図８Ｃに示される例では、システムは、「１Ｍ未満のタウンホーム、６００Ｋ未満のコンドミニアム」という発話を入力として取得し、一連の分析関数を生成するために上記の規則を繰り返し適用する。
【０１１２】
［0126］  図９Ａは、いくつかの実装形態による字句の結束を処理するための語用論の原則の適用を示す図である。これまでの３種類の語用論−省略記号、参照、および連言は、会話に文法的な結束を提供する。これらの文法的な構成要素に加えて、ユーザは、関連する単語の意味、すなわち会話における意味、字句の結束と呼ばれる名辞を通して概念を表現する方法を見出すことが多い。これらの単語の意味は、綴り、語幹、複数形のバリエーション（例：「単数形の利益」と「複数形の利益」）、同義語（例：「国」と「国家」）、関連名辞または共起名辞（例：「暴力」と「犯罪」）のように単純なものであってよい。多くの場合、単語の意味は意味論的なコンテキストの中で互いに関連している。
【０１１３】
［0127］  図９Ａは、前の発話「クイーン・アンの最も高価な住宅」のコンテキストにおいて、「最も安いもの」の発話がどのように理解されるかを示している。システムが、この例では「クイーン・アンの最も高価な住宅」という発話である発話Ｕｎ（９００）を受信すると、システムは、いくつかの実装形態による、図５を参照して上記で説明された方法論を使用して（ステップ５０２）、ステップ９０２において、前向きセンターを計算し、（発話Ｕｎ＋１に対して）後ろ向きセンターを初期化する。例の発話の場合、システムは会話センターの集合を｛最も高価な住宅、クイーン・アン｝と計算する。いくつかの実装形態では、システムは、いくつかの実装形態に従って、データの視覚化（９０８）を生成するための１つまたは複数の会話センターを対応する分析関数にマッピングする（９０６）。示されている例では、システムは住宅の分析関数ＴＯＰ＿Ｎ（販売＿価格）に「最も高価」をマッピングする。明確にするために価格範囲に注釈を付ける実装形態もある。この例では、システムはバラードにある住宅を示すカテゴリカルおよび空間フィルタを適用する。図９Ｂは視覚化９０８の拡大版を示す。図９Ｂに示されるように、「クイーン・アンの最も高価な住宅」という発話は、いくつかの実装形態に従ってクイーン・アン（９３０）のＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥ（９２８）の上位１０％を含む「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらす。
【０１１４】
［0128］  いくつかの実装形態に従って、この例では「最も安いもの」である発話Ｕｎ＋１（９１０）をシステムが受信すると、システムは、ステップ５２２（図５）を参照して上述した技法を使用して発話Ｕｎ＋１（９１４）の句構造を計算する（９１２）。上述のように、ユーザの発話は時々前の発話のコンテキストにおいてよりよく理解されている単語の意味を有する。句構造（９１４）に基づいて、システムは、いくつかの実装形態に従って、発話Ｕｎ＋１（９１０）の字句の結束の候補を識別する（９１６）。この例では、システムは、結束分析のための「最も安いもの」（９１８）という候補を識別する。識別された１つまたは複数の結束候補（９１８）および一組の後ろ向き会話センター（９０４）に基づいて、システムは、いくつかの実装形態に従って、前向き会話センターの集合（９２２）を計算する（９２０）。示された例では、システムは、いくつかの実装形態によれば、発話Ｕｎ（９０４）からのコンテキストの残りを続けながら、関連する数値属性を置き換えて、字句結束の候補（例えば、「最も高価」または「最も安いもの」）に対応する意味論的に関連するデータ属性（例えば、販売＿価格）を計算する。
【０１１５】
［0129］  いくつかの実装形態では、システムは、大規模テキストコーパスの学習済みベクトル表現を含むＷｏｒｄ２ｖｅｃ（商標）モデルを使用し、リカレントニューラルネットワークを使用して語のベクトルを計算することによって属性の語の意味を識別する。いくつかの実装形態では、所与の発話中の単語ｗｉとデータ属性ｄｊとの間の意味論的関連性Ｓｒｅｌは、以下のように計算されたスコアの最大値である。
【数１】
2020520485.tif 000003
式（１）において、ｄｉｓｔ（Ｓｉ，ｍ、Ｓｊ，ｎ）は、２つの意味Ｓｉ，ｍ、Ｓｊ，ｎの間のウー・パーマー距離であり、ｖｗｉ、ｖｄｊは、それぞれｗｉとそのｄｊのベクトル表現である。λは、ベクトル間のペアワイズ余弦距離に適用される重み係数である。
【０１１６】
［0130］  Ｗｏｒｄ２ｖｅｃ（商標）モデルはここでは例としてのみ使用されている。スタンフォード大学のＧｌｏＶｅ（商標）など、他の多くのニューラルネットワークモデルを使用して単語の意味を識別することができる。ＧｅｎＳｉｍ（商標）やＤｅｅｐｌｅａｒｎｉｎｇ４ｊ（商標）などの一部のライブラリでは、単一のパッケージに様々な単語埋め込みモデルの選択をもたらす。
【０１１７】
［0131］  いくつかの実装形態では、システムは、名辞とデータ属性との間の意味論的関連性を計算するだけでなく、各名辞に関連付けられた分析関数のタイプも計算する。例えば、システムは、「バラードの近くの最も安い住宅を見せてほしい」または「サウス・レイク・ユニオンの大邸宅はどこにあるか」というクエリに対して追加のステップを実行する。システムは、対応する辞書での定義をこれらの単語ベクトルに対する追加の特徴と見なし、いくつかの実装形態に従って、ＰＯＳタガーを使用して、定義が「未満」、「超」、「低い」、「高い」などの定量的形容詞を含むかどうかをチェックする。次いで、システムは、いくつかの実装形態に従って、適切な分析関数をこれらの形容詞にマッピングする。図９Ｂは、語句「最も高価」が上位Ｎ（販売価格）にマッピングされる例を示す。図９Ｃは、名辞「最も安いもの」が下位Ｎ（販売価格）にマッピングされる別の例を示す。図９Ｄは、同様に、名辞「最も致命的」が属性「死者数」（９４２）の上位Ｎ値にマッピングされる視覚化（９４０）を示す。
【０１１８】
［0132］  図９Ａに参照を戻すと、実行中の例に関して、システムは、いくつかの実装形態に従って、｛最も安い、住宅、クイーン・アン｝であるように、前向き会話センターの集合（９２２）を計算する。この集合に基づいて、システムは、いくつかの実装形態に従って、ステップ９２４において現在の視覚化を改良して更新視覚化（９２６）を生成するために必要なステップを実行する。この例では、システムは「最も安いもの」を下位−Ｎ（販売＿価格）にマッピングし、住宅価格に数値フィルタを適用することによって現在の視覚化を改良する。図９Ｃは、視覚化９２６の拡大版を示す。図９Ｃに示されるように、「最も安いもの」という発話は、いくつかの実装形態に従ってクイーン・アン（９３０）のＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥ（９３２）の下位１０％について「過去の住宅販売−シアトル」（９２６）の視覚化を示すシステムをもたらす。
【０１１９】
［0133］  図１０Ａは、いくつかの実装形態による、修復発話に対する語用論の原理の適用を示す図である。会話の過程で、ユーザが以前の発話を修正または明確にすることは一般的である。いくつかの実装形態では、システムは、潜在的に曖昧な発話を修正または「修復」するため、または結果がユーザに提示される方法のデフォルト動作を変更するためのフォローアップ修復発話の使用をサポートする。例えば、選択のための強調表示など、システムのデフォルトの動作を更新するために、ユーザは「いいえ、代わりにフィルタをかける」などの発話を使用できる。別の例として、データの属性を更新するために、ユーザは、図７に示すように、「コンドミニアムを除く」や「コンドミニアムからタウンホームへの変更」などの発話を使用できる。
【０１２０】
［0134］  図１０Ａは、前の発話「グリーンレイクの住宅」のコンテキストにおいて、「コンドミニアムを除く」という発言がどのように理解されるかを示している。システムが、この例では「グリーンレイクの住宅」という発話である発話Ｕｎ（１０００）を受信すると、システムは、いくつかの実装形態による、図５を参照して上記で説明された方法論を使用して（ステップ５０２）、ステップ１００２において、前向きセンターを計算し、（発話Ｕｎ＋１に対して）後ろ向きセンターを初期化する。例の発話の場合、システムは会話センターの集合を｛住宅、グリーンレイク｝になるように計算する。システムは、いくつかの実装形態に従って、計算された会話センターの集合（１００４）に基づいてデータの視覚化（１００８）を生成または更新する（１００６）。いくつかの実装形態では、システムは、会話センターの集合に基づいてデータセットにフィルタを適用し（１００４）、データの視覚化を表示する（１００８）。この例では、システムはグリーンレイクの住宅を示すカテゴリカルフィルタと空間フィルタを適用する。図１０Ｂは、視覚化１００８の拡大版を示す。図１０Ｂに示されるように、「グリーンレイクの住宅」という発話は、グリーンレイク（１０２８）における「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらす。
【０１２１】
［0135］  いくつかの実装形態に従って、この例では「コンドミニアムを除く」である発話Ｕｎ＋１（１０１０）をシステムが受信すると、システムは、ステップ５２２（図５）を参照して上述した技法を使用して発話Ｕｎ＋１（１０１０）の句構造を計算する（１０１２）。上述のように、修復発話は前の発話を修正または明確にする。句構造（１０１４）に基づいて、システムは、いくつかの実装形態に従って、発話Ｕｎ＋１（１０１０）を修復発話であると識別し（１０１６）、次に発話内の関連する修復名辞（１０１８）を識別する。この例では、システムは、「コンドミニアムを除く」という発話内で「除く」という修復名辞を識別する。１つまたは複数の修復発話および修復名辞の集合（１０１８）に基づいて、システムは、いくつかの実装形態に従って、前向き会話センターの集合（１０２２）を計算する（１０２０）。例えば、システムは、いくつかの実装形態に従って、識別された１つまたは複数の修復名辞に関連する、前の発話の会話センターおよび／またはデータ属性を識別する。いくつかの実装形態では、図１０Ａに示されるように、システムは、修復条件に基づいて会話センターを修復または曖昧さをなくす（１０１８）。この例の前向き会話センターの集合（１０２２）は、集合｛コンドミニアムを含まない住宅、グリーンレイク｝である。この集合に基づいて、システムは、いくつかの実装形態に従って、以前の視覚化からの結果を更新するために必要なステップ（１０２４）をとる。この例では、システムは１０２６での視覚化を示すためにコンドミニアムを除外する。図１０Ｃは、視覚化１０２６の拡大版を示す。図１０Ｃに示されるように、「コンドミニアムを除く」という発話は、グリーンレイク（１０２８）における「過去の住宅販売−シアトル」の視覚化を示すシステムをもたらし、ＨＯＭＥ＿ＴＹＰＥ＝＝コンドミニアム／コープ（１０３０）を除外する。
【０１２２】
［0136］  図１１Ａは、いくつかの実装形態による応答およびフィードバックを処理するための語用論の原則の適用を示す図である。コンテキストを提供するために、視覚分析のための語用論の原理を適用するための一般的な枠組みを本明細書でまず説明する。このフレームワークは、いくつかの実装形態に従って、会話型センタリングと呼ばれる談話構造に一般に使用されるモデルを利用し拡張する。このモデルでは、発話は構成的談話セグメントに分割され、２つのセグメント間に成立する可能性のある関係が埋め込まれる。センターとは、その発話を談話での他の発話にリンクさせるのに役立つエンティティを示す。発話Ｕ１、…、Ｕｍの談話セグメントＤＳを考察する。ＤＳの各発話Ｕｎ（１≦ｎ＜ｍ）には、会話の現在の焦点を示す一連の前向きセンターＣｆ（Ｕｎ、ＤＳ）が割り当てられる。セグメントの最初の発話以外の各発話には、後ろ向きセンターの集合Ｃｂ（Ｕｎ、ＤＳ）が割り当てられる。新しい発話Ｕｎ＋１の後ろ向きセンターの集合はＣｂ（Ｕｎ＋１、ＤＳ）であり、これはＵｎの前向きセンター（すなわちＣｆ（Ｕｎ、ＤＳ））に等しい。視覚的な分析する会話のコンテキストでは、前向きおよび後ろ向きのセンターは、データの属性および値、視覚的特性、ならびに分析アクション（例えば、フィルタ、ハイライト）を含む。
【０１２３】
［0137］  発話Ｕｎが与えられると、このフレームワークを実装するシステムは、前向きセンターＣｆ（Ｕｎ、ＤＳ）から導出された一連の分析関数を実行することによって応答する。分析関数Ｆ（Ｘ、ｏｐ、ｖ）は、変数Ｘ（属性または視覚化特性であってよい）、演算子ｏｐ、および値ｖ（通常は定数）からなる。例えば、ユーザが「英国のはしか」と言うと、システムは２つの関数、すなわちＦ＿ＣＡＴ（疾患、＝＝、はしか）とＦ＿ＣＡＴ（国、＝＝、英国）を作成する。ユーザが新しい発話Ｕｎ＋１を提供すると、システムは、いかなる前のコンテキストをも考慮せずに、最初に、Ｕｎ＋１から一時センターの集合Ｃｔｅｍｐ（Ｕｎ＋１、ＤＳ）を作成する。次に、システムは一連の規則を適用して、Ｃｂ（Ｕｎ＋１、ＤＳ）とＣｔｅｍｐ（Ｕｎ＋１、ＤＳ）の間のいくつかの集合演算に基づいて、Ｃｆ（Ｕｎ＋１、ＤＳ）の前向きセンターを作成する。次に、いくつかの実装形態によれば、前向きセンターを使用してユーザの発話に応答する。
【０１２４】
［0138］  会話をサポートするために、システムによって表示される視覚化は、様々な発話に対して結束のある適切な応答を提供する。システムが既存の視覚化の視覚的エンコーディングを変更することで対応する場合もあるが、視覚分析会話をより効果的にサポートするためにシステムが新しい図表を作成する場合もある。適切な視覚化応答に加えて、システムは、適切なフィードバックを生成することによってシステムがどのように発話を解釈したかをユーザが理解するのを助け、必要に応じていくつかのインターフェース制御を通してユーザが解釈を修正できるようにする。従来のダッシュボードでは、視覚的なフィードバックを即座に提供するよう強調表示された、視覚化された項目や属性を選択することで、ユーザが対話する。同時に、他の図表は項目を強調表示または除外することによって更新される。しかし、自然言語のインターフェースでは、マウス／キーボードによる明示的な選択を行う代わりに、ユーザは様々な属性や値に言及しているため、ダッシュボードの中にある各ビューがどのように発話に応答するべきかを決定する課題が些細なものでなくなる。システムが複数の視覚化をサポートしなければならないとき、別の複雑さが生じる。
【０１２５】
［0139］  図１１Ａは、いくつかの実装形態に従って応答を生成するための方法論を示す。ダッシュボード内のビュー（Ｖ）がどのように発話に応答すべきかを決定するために、いくつかの実装形態によるシステムは以下のように進行する。システムは、前の発話Ｕｎ＋１の会話センターと、現在のコンテキスト／発話だけを使用して計算された一時会話センターの集合とに基づいて、発話Ｕｎ＋１に対応する前向き会話センターの集合（１１００）Ｃｆ（Ｕｎ＋１）を計算する。システムはすべてのデータ属性のリスト（１１０４）を作成する（１１０２）。次に、システムは、既存の視覚化のいずれかがデータ属性のリスト（１１０４）内のそれぞれの属性を符号化しているかどうかを、例えば視覚化マネージャを呼び出すことによって判定する（１１０６）。次に、システムは、視覚化（本明細書ではビューと呼ばれることもある）が（例えば、カウントまたは平均などのいずれかの集約的関数を使用せずに）それぞれの属性をその次元として（例えば、視覚化の特徴として）直接符号化する場合、判定する（１１１８）。属性が既存の視覚化Ｖによって符号化されていることが判明した場合（すなわち１１１８でチェックされた条件が真／はいである）、システムは、更新されたダッシュボードのそれぞれの属性に対応する基準（１１２４）に関連するマークを強調表示する（１１２２）。一方、システムが、選択された視覚化（視覚化Ｖとして示される）がそれぞれの属性を直接符号化しないと判定した場合、システムはいくつかの実装形態に従って、更新されたダッシュボードの基準（１１２４）と一致しない結果をフィルタリングする（１１２０）。これは典型的には、二次的な図表が結果セットに対してさらなるデータ変換を適用する場合（例えば、折れ線グラフまたは棒グラフを使用する場合）である。いくつかのそのような実装形態では、システムはさらに、更新されたダッシュボードのそれぞれの属性に対応する基準（１１２４）に一致する１つまたは複数の結果を強調表示する。
【０１２６】
［0140］  図１１Ｂは、いくつかの実装形態による、図１１Ａに示されている方法論をさらに示す例示的な視覚化（１１７０）である。システムは、地図グラフ（１１７２）の基準「英国のはしか」に一致する項目を強調表示する。システムはまた、折れ線グラフ（１１７４）で系列（１１７６）を強調表示し、「はしか」を表す棒グラフ（１１７８）で棒（１１８０）を強調表示する。しかし、影響に関する棒グラフ（１１８２）は、属性のリスト（例えば、リスト｛Ｘ１、Ｘ２、…Ｘｍ｝（１１０４））内のいかなる属性も符号化しないので、いかなるマークも強調表示することができない。したがって、システムは基準「英国のはしか」に一致しない結果を除外し、それに応じて図表を更新する。除外表示するか強調表示するか（例えば、「除外」、「削除」、「フィルタのみ」）の選択を明示的に表現することで、ユーザがデフォルトの動作を変更することができることに留意されたい。
【０１２７】
［0141］  視覚的分析のフローの間に、既存の視覚化がユーザの進化する情報のニーズを満たすことができない状況がある場合がある。このシナリオは、例えば、特定のデータ属性を既存の視覚化（例えば、マップの時間値）で効果的に符号化できない場合に発生し、応答として新しい視覚化を作成する必要性が正当化される。いくつかの実装形態によれば、視覚化を言語的詳細と結び付ける作業からインスピレーションを得て、システムは、異なる種類の視覚化（例えば、棒グラフ、折れ線グラフ、地図グラフ、および散布図）の作成をサポートする。
【０１２８】
［0142］  図１１Ｃは、入力された発話に基づいてダッシュボードがどのようにして漸進的に構築されるかを示す。システムは、「近隣毎の平均価格」という発話に応答して視覚化１１４０を生成する。ユーザが次の発話「経時的な平均価格」を提供すると、システムは、平均価格の時間経過を示す線図（１１５２）を視覚化（１１５０）において生成することによって応答する。ここで、ユーザが次に「住宅タイプ別」の発話を提供する場合、システムは、視覚化（１１６０）の異なる住宅タイプに対応する線（１１６２）を用いて折れ線グラフ（１１５２）を改善する。
【０１２９】
［0143］  図１１Ａに参照を戻すと、既存の視覚化を作成または変更するための基礎となるアルゴリズムは以下のように機能する。最初に、システムは、新しい視覚化の作成または既存の視覚化の変更が必要であるかどうかを判定する（１１０６）。システムは、前向きセンターＣｆ（Ｕｎ＋１）（１１００）で指定された属性を分析し、これらのデータ特性を符号化するいずれかの現在の視覚化を検索する。判断ブロック１１０６の隣に矢印「いいえ」として示されているように、既存の視覚化の詳細と一致するものがない場合、システムは、属性および集約タイプからなる対応する新しい詳細を生成する。図１１Ａでは、これは、いくつかの実装形態に従って、アルゴリズムを使用して図表のタイプ（例えば、棒グラフ、地図グラフ、または散布図）を決定するステップ１１０８によって示されている。いくつかのそのような実装形態では、システムは、この詳細に基づいて生成された図表のタイプを決定するために自動提示アルゴリズムを採用する。いくつかのそのような実装形態では、システムは、参照により本明細書に組み込まれる、Ｓｈｏｗ  ｍｅ：Ａｕｔｏｍａｔｉｃ  ｐｒｅｓｅｎｔａｔｉｏｎ  ｆｏｒ  ｖｉｓｕａｌ  ａｎａｌｙｓｉｓ，ｂｙ  Ｊ．Ｍａｃｋｉｎｌａｙ，Ｐ．Ｈａｎｒａｈａｎ，ａｎｄ  Ｃ．Ｓｔｏｌｅに記載されている自動表示アルゴリズムの簡易版を使用する。図表の種類（１１１０）が決定されると、システムは図表の種類を生成し（１１１２）、生成された図表（１１１４）を取得する。次に、システムは、いくつかの実装形態に従って、新しい図表（１１１４）を配置する。いくつかのそのような実装形態では、システムは、新しい図表（１１１４）の表示を他の視覚化ビューと自動的に調整する、二次元グリッドベースのレイアウトアルゴリズムを使用する。更新されたダッシュボード（１１２４）は、強調表示またはフィルタリングのような動作を通じて後続の発話に応答する。
【０１３０】
［0144］  さらに、図１１Ａには示されていないが、システムは、いくつかの実装形態に従って、データ属性のリスト（１１０４）の各データ属性について、少なくともステップ１１０６、１１１８、１１２０、１１２２、１１０８、１１１２、および１１１６を繰り返していることに留意されたい。
【０１３１】
［0145］  図１２Ａは、いくつかの実装形態による、ユーザのクエリの曖昧性を処理するために生成されたウィジェットの集合を示す。対話型のダイアログをサポートする自然言語理解システムに対する課題は、発話の意図を判定することである。いくつかの実装形態では、システムは、構文、字句、および意味の曖昧性の様々な形式を自動的に分解する。これらの分解は、ユーザがシステムの意図と発話がどのように解釈されたかの起源を理解するのに役立つように、ウィジェットとフィードバックの形で表現される。これらのウィジェットを操作し、どの結果が視覚化に表示されるかのフィードバックを表示することによって、ユーザは、例えばフォローアップの修復発話をインスタンス化して、行われたシステムの決定を無効にしたり明確にしたりすることができる。
【０１３２】
［0146］  いくつかの実装形態では、システムは、発話から導出された分析関数から１つまたは複数のウィジェットを識別する。いくつかのそのような実装形態では、システムが直感的な方法でウィジェットを体系化して提示するので、ユーザはシステムが自分の発話を解釈する方法を理解し、その後これらのウィジェットを使用して解釈を修正することができる。この目的のために、システムは元の発話を取得し、対応するクエリの名辞と同じ順序でウィジェットを並べる。いくつかのそのような実装形態では、システムは、コンパクトな方法でテキスト内の小さな単語規模の視覚化の配置を容易にするＳｐａｒｋｌｉｆｉｃａｔｏｒ（商標）などのライブラリを使用することによってこれを達成する。さらに、いくつかの実装形態は、ウィジェットを操作および／または削除できること、クエリを修正できること、および曖昧なクエリを分解できることを含む、インターフェースの集合をユーザに提供する。
【０１３３】
［0147］  図１２Ａは、いくつかの実装形態による、システムが「１．２Ｍ未満のバラード付近のコンドミニアム」という発話のためのウィジェットをどのように提示するかを示す。この例では、最初の名辞「コンドミニアム」は、「ＨＯＭＥ＿ＴＹＰＥがコンドミニアム／コープに等しい」という基準を表すウィジェットに分解された（１２０２）。次に、第２のウィジェットは、「バラード付近」（１２０４）によって表される不明瞭な距離を伝える。「１．２Ｍ未満」はいずれの属性も明示的に言及していないので、システムは値１２０００００がデータの任意の数値属性の最小値と最大値の範囲内にあるかどうかを判定する。そのような属性が存在する場合（この場合はＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥ）、システムはそれを（ウィジェット１２０６を介して）ユーザに伝え、次にユーザがドロップダウンメニューを使用して属性を変更することを可能にする（１２０８）。
【０１３４】
［0148］  曖昧性の扱いに加えて、いくつかの実装形態では、システムがクエリを完全に理解することに失敗したときに、システムはテキストを修正するためのフィードバックおよび意味のあるヒントも提供する。例えば、システムが指定された発話を正常に解析できない場合、システムは最初に、ファジー文字列照合を使用してトークンを現在のデータセットの属性、セル値、および関連キーワードと比較することによって、スペルミスの単語を自動的に修正しようとする。ユーザが部分的に認識されるクエリを作成すると、システムは対応する解析木から認識されない名辞を整理してから、理解されたトークンに基づいて結果を表示する。図１２Ｂは、いくつかの実装形態による、異なる例示的な状況およびシステムによって生成された対応するフィードバックを示す。
【０１３５】
［0149］  図１３Ａ〜図１３Ｊは、語用論の原理を適用するデータセットの視覚的分析のために自然言語を使用する（１３０２）方法１３００を示す流れ図を提供する。方法１３００のステップは、コンピュータ（例えば、コンピューティングデバイス２００）によって実行されてもよい。いくつかの実装形態では、コンピュータは、ディスプレイと、１つまたは複数のプロセッサと、メモリとを含む（１３０４）。図１３Ａ〜図１３Ｊは、コンピュータメモリまたはコンピュータ可読記憶媒体（例えば、コンピューティングデバイス２００のメモリ２０６）に格納されている命令に対応する。メモリは、１つまたは複数のプロセッサ（例えばプロセッサ２０２）による実行のために構成された１つまたは複数のプログラムを格納する（１３０６）。例えば、方法１３００の動作は、少なくとも部分的には、データ視覚化生成モジュール２３４および／または言語処理モジュール２３８によって実行される。
【０１３６】
［0150］  いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する（１３０８）。例えば、図１を参照すると、ユーザは、スキーマ情報領域１１０からの１つまたは複数のデータフィールドをデータ視覚化領域１１２の１つまたは複数のシェルフ（例えば、図１の列シェルフ１２０および行シェルフ１２２）に関連付けることができる。ユーザ関連の受信に応答して、いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの集合を使用してデータセットからデータフィールドのデータを読み出し、次に受信したユーザ入力に対応するデータ視覚化領域１１２においてデータの視覚化（例えばデータの視覚化４０８）を表示する。データの視覚化を表示することは、図１を参照して上でさらに詳細に論じられている。
【０１３７】
［0151］  コンピュータは、表示されたデータの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信する（１３１０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図４Ａを参照すると、表示されたデータの視覚化４０８は英国のはしかに関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１３８】
［0152］  表示されたデータの視覚化に基づいて、コンピュータは、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する（１３１２）。例えば、図４Ａを参照すると、コンピュータによって受信された第１の自然言語コマンドは、「英国のはしか」と読める。第１の自然言語コマンドを受信する前に表示されたデータの視覚化は、世界中での疾患の発生に関するものである。いくつかの実装形態では、これらの分析句は表示されたデータの視覚化に関連するため、コンピュータは第１の自然言語コマンドから「はしか」および「英国の」を抽出する。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１３１２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第１の自然言語コマンドから抽出する（１３１２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１３９】
［0153］  いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する（１３１４）。会話型対話モデルに基づくフレームワークは、図３Ａ、図５、および図１１を参照して上で説明されている。センターとは、その発話（本明細書では自然言語コマンドと呼ばれることがある）を談話（一連の発話）内の他の発話にリンクさせるのに役立つエンティティを示す。会話センターには、データの属性と値、視覚的特性、および分析アクションが含まれる。分析句に基づいて会話センターを計算することは、必要な変換および分析の後に分析句を１つまたは複数の会話センターにマッピングすることを含む。例示的な発話「英国のはしか」の場合、言語処理モジュール２３８は句「はしか」を処理し、句を分析して、それが上述の図４Ｄに示されるようにデータ属性ＤＩＳＥＡＳＥを参照していると推測する。
【０１４０】
［0154］  続いて、いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の会話センターの第１の集合に関連付けられた分析関数の第１の集合を計算し（１３１６）、それによって、１つまたは複数の関数句の第１の集合を作成する。図３Ａ、図５、および図１１を参照して上述したように、いくつかの実装形態によれば、分析関数はそれぞれ、変数、演算子、および値からなる。いくつかの実装形態では、例示の発話「英国のはしか」の場合、言語処理モジュール２３８は、２つの関数、すなわちＦ＿ＣＡＴ（疾患、＝＝、はしか）およびＦ＿ＣＡＴ（国、＝＝、英国）を作成する。いくつかの実装形態では、別の例として、発話「６００Ｋ未満のコンドミニアム」について、言語処理モジュール２３８は、２つの関数Ｆ＿ＣＡＴ（家の種類、＝＝コンドミニアム）およびＦ＿ＮＵＭＥＲＩＣ（価格、＜、６０００００）を作成する。これらの例の両方において、言語処理モジュール２３８は、いくつかの実装形態によれば、データの属性の第１の集合を識別すべく１つまたは複数の会話センターの第１の集合に対応する表示されたデータの視覚化に関連する１つまたは複数のデータ属性を検索する。言語処理モジュール２３８はまた、いくつかの実装形態に従って、１つまたは複数の会話センターの第１の集合を調べることによって、演算子の第１の集合（例えば、演算子＝＝、演算子＜）およびデータ属性の第１の集合に対応する第１の集合の値を識別する。変数（属性）の第１の集合、対応する演算子の第１の集合および値の第１の集合を用いて、言語処理モジュール２３８は１つまたは複数の分析関数の第１の集合を構築し、それによって１つまたは複数の関数句の第１の集合を作成する。
【０１４１】
［0155］  いくつかの実装形態では、コンピュータは、ステップ１３１６で計算された１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する（１３１８）。図１３Ｉに示すように、いくつかの実装形態では、コンピュータは、１つまたは複数の関数句の第１の集合に基づいて１つまたは複数のクエリの第２の集合を使用してデータベースを再クエリし（１３７２）、それによって第２のデータセットを読み出す。いくつかの事例では、データベースへの再クエリは、コンピューティングデバイスでキャッシュされたまたは格納されたデータを使用してコンピューティングデバイスでローカルに実行される。例えば、自然言語コマンドで１つまたは複数のフィルタが指定されている場合、再クエリは通常ローカルで実行される。いくつかのそのような実装形態では、コンピュータは、第２のデータセットに基づいてデータの視覚化を更新する（１３７４）。いくつかの実装形態では、コンピュータは、第２のデータセットを使用して（例えば、既存の１つまたは複数のデータの視覚化を更新することなく）新しいデータの視覚化をさらに作成および表示する（１３７６）。
【０１４２】
［0156］  ここで図１３Ｂに参照を戻すと、コンピュータは、表示されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信する（１３２０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図４Ａを参照すると、コンピュータが「オレンジ色の急増を私に見せてほしい」という第２のユーザ入力を受信したとき、表示されたデータの視覚化４０８は英国のはしかに関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１４３】
［0157］  表示されたデータの視覚化に基づいて、コンピュータは、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出する（１３２２）。例えば、図４Ａを参照すると、コンピュータによって受信された第２の自然言語コマンド（４１０）は、「オレンジ色の急増を私に見せてほしい」と読める。いくつかの実装形態では、この例では、コンピュータは、第２の自然言語コマンドから英国のはしか「オレンジ急増」を抽出する。なぜなら、これらの分析句は、表示されたデータの視覚化（英国のはしかに関係しており、オレンジ色の急増、視覚化特性がある）に関係するからである。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１３２２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第２の自然言語コマンドから抽出する（１３２２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１４４】
［0158］  いくつかの実装形態に従って、言語処理モジュールは、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算する（１３２４）。
【０１４５】
［0159］  言語処理モジュールは、いくつかの実装形態に従って、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する（１３２６）。いくつかのそのような実装形態（１３３２）では、１つまたは複数の会話センターの第１の集合、１つまたは複数の会話センターの一時的な集合、および１つまたは複数の会話センターの第２の集合の各会話センターは、変数（データ属性や視覚化特性など）の値を含む。いくつかのそのような実装形態では、言語処理モジュールは、（図１３Ｃに示すように）一連の動作を実行することによって移行規則を使用し、これは第１の変数が１つまたは複数の会話センターの第１の集合に含まれるかどうかを判定すること（１３３４）、第１の変数が１つまたは複数の会話センターの一時的な集合に含まれているかどうかを判定すること（１３３６）、第１の変数が１つまたは複数の会話センターの第１の集合および／または１つまたは複数の会話センターの一時的な集合に含まれるかどうかに基づいて、適用する１つまたは複数の移行規則のそれぞれの移行規則を判定すること（１３３８）、およびそれぞれの移行規則を適用すること（１３３９）を含む。
【０１４６】
［0160］  いくつかの実装形態では、図１３Ｄに示されるように、言語処理モジュール２３８によって使用される１つまたは複数の移行規則は、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合へ１つまたは複数の会話センターを追加するためのＣＯＮＴＩＮＵＥ規則を含む（１３４０）。いくつかのそのような実装形態では、それぞれの移行規則を適用すること（１３４２）は、（ｉ）第１の変数が１つまたは複数の会話センターの一時的な集合に含まれる、および（ｉｉ）１つまたは複数の会話センターの第１の集合に第１の変数が含まれないという判定に従って、１つまたは複数の会話センターの第２の集合に第１の変数を含めるようにＣＯＮＴＩＮＵＥ規則を適用する（１３４４）ことを含む。
【０１４７】
［0161］  いくつかの実装形態では、図１３Ｅに示されるように、言語処理モジュール２３８によって使用される１つまたは複数の移行規則は、１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合へ会話センターを追加することなく、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に保持するためのＲＥＴＡＩＮ規則を含む（１３４６）。いくつかのそのような実装形態では、それぞれの移行規則を適用すること（１３４８）は、（ｉ）第１の変数が１つまたは複数の会話センターの第１の集合に含まれる、および（ｉｉ）１つまたは複数の会話センターの一時的な集合に第１の変数が含まれないという判定に従って、１つまたは複数の会話センターの第２の集合に１つまたは複数の会話センターの第１の集合の各会話センターを含めるようにＲＥＴＡＩＮ規則を適用する（１３５０）ことを含む。
【０１４８】
［0162］  いくつかの実装形態では、図１３Ｆに示されるように、言語処理モジュール２３８によって使用される１つまたは複数の移行規則は、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの１つまたは複数の会話センター第２の集合を、１つまたは複数の会話センターの一時的な集合の会話センターと交換するためのＳＨＩＦＴ規則を含む（１３５２）。いくつかのそのような実装形態では、それぞれの移行規則を適用すること（１３５４）は、（ｉ）第１の変数が１つまたは複数の会話センターの一時的な集合に含まれ、および（ｉｉ）１つまたは複数の会話センターの第１の集合に第１の変数が含まれないという判定（１３５６）に従って、言語処理モジュール２２８が、１つまたは複数の会話センターの第１の集合の第１の変数の値が、１つまたは複数の会話センターの一時的な集合の第１の変数の値と異なるかを判定する（１３５８）こと、および第１の変数の値が異なるという判定に従って、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの第２の集合の第１の変数を、１つまたは複数の会話センターの一時的な集合の第１の変数の値と交換するためのＳＨＩＦＴ規則を適用すること（１３６０）のために一連の動作を実行することを含む。いくつかのそのような実装形態では、それぞれの移行規則を適用すること（１３５４）は、図１３Ｇに示されるように、第１の変数に対応するウィジェットがユーザによって削除されたか判定する（１３６２）こと、およびウィジェットが削除されたという判定に従って、１つまたは複数の会話センターの第１の集合の各会話センターを１つまたは複数の会話センターの第２の集合に含め、１つまたは複数の会話センターの第２の集合の第１の変数の値を１つまたは複数の会話センターの第１の集合内の第１の変数の値を含む新しい値（例えば、最大値、またはスーパーセット値）と置き換えるためのＳＨＩＦＴ規則を適用する（１３６４）。
【０１４９】
［0163］  図１３Ｂに参照を戻すと、言語処理モジュール２３８は、１つまたは複数の会話センターの第２の集合に関連する１つまたは複数の分析関数の第２の集合を計算し（１３２８）、それによって１つまたは複数の関数句の第２の集合を作成する。言語処理モジュール２３８は、上述のステップ１３１６と同様の方法で、ステップ１３２６で計算された１つまたは複数の会話センターの第２の集合を使用してこのステップを実行する。
【０１５０】
［0164］  コンピュータは、いくつかの実装形態に従って、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新する（１３３０）。いくつかのそのような実装形態では、図１３Ｊに示されるように、コンピュータは、１つまたは複数の関数句の第１の集合に基づいて１つまたは複数のクエリの第２の集合を使用してデータベースを再クエリし（１３７８）、それにより、第３のデータセットに基づいてデータの視覚化を更新する、第３のデータセットを読み出す（１３８０）。さらに、いくつかのそのような実装形態では、コンピュータは、第３のデータセットを使用して（例えば、既存の１つまたは複数のデータの視覚化を更新することなく）新しいデータの視覚化を作成および表示する（１３８２）。
【０１５１】
［0165］  いくつかの実装形態では、図１３Ｈに示すように、コンピュータは、ユーザが第１のデータセットとは異なるデータセットを選択したかどうかをさらに判定し（１３６６）、ユーザがデータの視覚化をリセットしたかどうかを判定し（１３６８）、（ｉ）ユーザが異なるデータセットを選択した、または（ｉｉ）ユーザがデータの視覚化をリセットしたという判定に従って、１つまたは複数の会話センターの第１の集合、１つまたは複数の会話センターの一時的な集合、および１つまたは複数の会話センターの第２の集合のそれぞれを、会話センターを含まない空の集合へリセットする（１３７０）。
【０１５２】
［0166］  図１４Ａ〜図１４Ｒは、いくつかの実装形態による、様々な形態の語用論の処理を含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用（１４０２）する方法１４００を示す流れ図を提供する。方法１４００のステップは、コンピュータ（例えば、コンピューティングデバイス２００）によって実行されてもよい。いくつかの実装形態では、コンピュータは、ディスプレイと、１つまたは複数のプロセッサと、メモリとを含む（１４０４）。図１４Ａ〜図１４Ｒは、コンピュータメモリまたはコンピュータ可読記憶媒体（例えば、コンピューティングデバイス２００のメモリ２０６）に格納されている命令に対応する。メモリは、１つまたは複数のプロセッサ（例えばプロセッサ２０２）による実行のために構成された１つまたは複数のプログラムを格納する（１４０６）。例えば、方法１４００の動作は、少なくとも部分的には、データ視覚化生成モジュール２３４および／または言語処理モジュール２３８によって実行される。
【０１５３】
［0167］  いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する（１４０８）。例えば、図１を参照すると、ユーザは、スキーマ情報領域１１０からの１つまたは複数のデータフィールドをデータ視覚化領域１１２の１つまたは複数のシェルフ（例えば、図１の列シェルフ１２０および行シェルフ１２２）に関連付けることができる。ユーザ関連の受信に応答して、いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの集合を使用してデータセットからデータフィールドのデータを読み出し、次に受信したユーザ入力に対応するデータ視覚化領域１１２においてデータの視覚化（例えばデータの視覚化４０８）を表示する。データの視覚化を表示することは、図１を参照して上でさらに詳細に論じられている。
【０１５４】
［0168］  コンピュータは、表示されたデータの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信する（１４１０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図６Ａを参照すると、表示されたデータの視覚化６０８は、バラードの１Ｍ未満の住宅に関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１５５】
［0169］  表示されたデータの視覚化に基づいて、コンピュータは、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する（１４１２）。例えば、図６Ａを参照すると、コンピュータによって受信された第１の自然言語コマンドは、「バラードの１Ｍ未満の住宅」と読める。第１の自然言語コマンドを受信する前に表示されたデータの視覚化は、シアトルでの過去の住宅販売に関するものである。いくつかの実装形態では、これらの分析句は表示されたデータの視覚化に関連するため、コンピュータは第１の自然言語コマンドから「住宅」および「１Ｍ未満」および「バラードの」を抽出する。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１４１２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第１の自然言語コマンドから抽出する（１４１２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１５６】
［0170］  いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する（１４１４）。会話型対話モデルに基づくフレームワークは、図３Ａ、図５、および図１１を参照して上で説明されている。センターとは、その発話（本明細書では自然言語コマンドと呼ばれることがある）を談話（一連の発話）内の他の発話にリンクさせるのに役立つエンティティを示す。会話センターには、データの属性と値、視覚的特性、および分析アクションが含まれる。分析句に基づいて会話センターを計算することは、必要な変換および分析の後に分析句を１つまたは複数の会話センターにマッピングすることを含む。例示的な発話「バラードの１Ｍ未満の住宅」の場合、言語処理モジュール２３８は句「１Ｍ未満」を処理し、句を分析して、それが上述の図６Ｃに示すようにデータ属性ＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥを参照すると推測する。
【０１５７】
［0171］  続いて、いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の会話センターの第１の集合に関連付けられた分析関数の第１の集合を計算し（１４１６）、それによって、１つまたは複数の関数句の第１の集合を作成する。図３Ａ、図５、および図１１を参照して上述したように、いくつかの実装形態によれば、分析関数はそれぞれ、変数、演算子、および値からなる。いくつかの実装形態では、発話例「バラードで１Ｍ未満の住宅」について、言語処理モジュール２３８は、２つの関数を作成し、４つの関数Ｆ＿ＣＡＴ（住宅の種類、＝＝コンドミニアム）、Ｆ＿ＣＡＴ（住宅の種類、＝＝タウンハウス）、Ｆ＿ＣＡＴ（住宅の種類＝＝単一）、およびＦ＿ＮＵＭＥＲＩＣ（価格、＜、５０００００）を作成する。この例において、言語処理モジュール２３８は、いくつかの実装形態によれば、データの属性の第１の集合を識別すべく１つまたは複数の会話センターの第１の集合に対応する表示されたデータの視覚化に関連する１つまたは複数のデータ属性を検索する。言語処理モジュール２３８はまた、いくつかの実装形態に従って、１つまたは複数の会話センターの第１の集合を調べることによって、演算子の第１の集合（例えば、演算子＝＝、演算子＜）およびデータ属性の第１の集合に対応する第１の集合の値を識別する。変数（属性）の第１の集合、対応する演算子の第１の集合および値の第１の集合を用いて、言語処理モジュール２３８は１つまたは複数の分析関数の第１の集合を構築し、それによって１つまたは複数の関数句の第１の集合を作成する。
【０１５８】
［0172］  いくつかの実装形態では、コンピュータは、ステップ１４１６で計算された１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する（１４１８）。
【０１５９】
［0173］  ここで図１４Ｂを参照すると、コンピュータは、表示されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信する（１４２０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図６Ａを参照すると、表示されたデータの視覚化６０８は、コンピュータが第２のユーザ入力「タウンホーム」を受信したときに、バラードの１Ｍ未満の住宅に関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１６０】
［0174］  表示されたデータの視覚化に基づいて、コンピュータは、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出する（１４２２）。例えば、図６Ａを参照すると、コンピュータによって受信された第２の自然言語コマンド（６２０）は、「タウンホーム」と読める。いくつかの実装形態では、この例では、コンピュータは、第２の自然言語コマンドから「タウンホーム」を抽出する。なぜなら、この分析句は、表示されたデータの視覚化（バラードのタウンホームに関係する）に関連しているからである。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１４２２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第２の自然言語コマンドから抽出する（１４２２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１６１】
［0175］  いくつかの実装形態に従って、言語処理モジュールは、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算する（１４２４）。
【０１６２】
［0176］  言語処理モジュールは、いくつかの実装形態に従って、１つまたは複数の分析句の第１の集合と１つまたは複数の分析句の第２の集合との間の結束を計算し（１４２６）、結束に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する。図１４Ｃに示すように、いくつかの実装形態では、結束を計算することは、１つまたは複数の分析句の第２の集合の句構造を識別すること（１４３４）を含む。いくつかの実装形態に従って、計算句構造は、図５を参照しながら（ステップ５２２または５１０）、図６Ａの例を介して（ステップ６１０および６２２）上で説明されている。いくつかの実装形態では、句構造を識別することは、（図５の５２２または５１０を参照して上で説明されたように）確率的文法を適用する第２の自然言語コマンドを解析すること（１４３６）を含み、それによって解析済み出力を取得する。いくつかの実装形態では、このステップは、やはり図５を参照しながら上で説明したように、自然言語ツールキットによって提供される品詞ＡＰＩを使用することによって構文構造を推定すること（１４３８）をさらに含む。いくつかの実装形態では、解析された出力は、言語処理モジュールによって対応するカテゴリカル属性およびデータ属性に分解される（１４４０）。例えば、図６Ａの発話「タウンホーム」（６２０）の場合、言語処理モジュールは、カテゴリ属性を住宅／（または住宅）タイプに分解する。いくつかの実装形態では、図示されていないが、言語処理モジュールは、ステップ１４４２の後に、解析された出力を対応するカテゴリ属性およびデータ属性に分解する。
【０１６３】
［0177］  句構造がステップ１４３４で識別されると、言語処理モジュールは、いくつかの実装形態によれば、句構造に基づいて１つまたは複数の語用論の形式の形を識別する。続いて、言語処理モジュールは、識別された１つまたは複数の語用論の形式に基づいて、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の第２の集合の会話センターを導出する（１４４６）。以下で説明される図１４Ｄ、１４Ｅ、１４Ｈ、および１４Ｉは、異なるタイプの語用論の形式がどのように識別されるか、および識別された語用論の形式に基づいて１つまたは複数の会話センターの第２の集合がどのように識別されるかを示す。
【０１６４】
［0178］  いくつかの実装形態では、言語処理モジュール２３８は、１つまたは複数の会話センターの第２の集合に関連付けられた１つまたは複数の分析関数の第２の集合を計算し（１４３０）、それによって１つまたは複数の関数句の第２の集合を作成する。言語処理モジュール２３８は、上述のステップ１４１６と同様の方法で、ステップ１４２６で計算された１つまたは複数の会話センターの第２の集合を使用してこのステップを実行する。
【０１６５】
［0179］  いくつかの実装形態では、図１４Ｐに示されるように、言語処理モジュール２３８は、１つまたは複数の抽出された分析句の第２の集合と更新されたデータの視覚化に含まれるデータの１つまたは複数の属性との間の意味論的関連性を計算し（１４．１８６）、１つまたは複数の分析句の第２の集合に関連する分析関数を計算し、（１４．１８８）、それによって、意味論上関連する１つまたは複数のデータの属性に基づいて、１つまたは複数の関数句の第２の集合を作成する。いくつかの実装形態では、言語処理モジュール２３８は、字句的に結束のある表現について意味論的に関連する名辞を計算する。意味論的関連性を計算し、意味論的関連性に基づいて分析関数を計算するプロセスは、図９Ａ〜図９Ｄを参照して上述した。いくつかの実装形態では、図１４Ｂには示されていないが、データ属性の意味論的関連性に基づいて１つまたは複数の分析関数の第２の集合および１つまたは複数の関数句の第２の集合を計算することが、上記のステップ１４３０に加えて（代わりというよりも）実行される。
【０１６６】
［0180］  いくつかの実装形態では、図１４Ｑに示すように、言語処理モジュール２３８は、テキストの大きなコーパスで第１のニューラルネットワークモデルをトレーニングする（１４．１９０）ことによって意味論的関連性を計算し、それによって単語の埋め込みを学習する。いくつかのそのような実装形態（１４．１９２）では、第１のニューラルネットワークモデルは、Ｗｏｒｄ２ｖｅｃ（商標）モデルを含む。いくつかの実装形態では、言語処理モジュール２３８は、第２のニューラルネットワークモデルを使用して、１つまたは複数の分析句の第２の集合の第１の句の第１の単語に対する第１の単語ベクトルを計算する（１４９４）が、第１の単語ベクトルはステップ１４．１９０での単語埋め込み学習に対して第１の単語をマッピングする。いくつかのそのような実装形態（１４．１９６）では、第２のニューラルネットワークモデルは、リカレントニューラルネットワークモデルを含む。いくつかの実装形態では、言語処理モジュールは、第２のニューラルネットワークモデルを使用して、１つまたは複数のデータ属性の第１のデータ属性についての第２の単語ベクトルを計算する（１４．１９８）が、第２の単語ベクトルはステップ１４．１９０での埋め込み学習という単語に対して第１のデータ属性をマッピングする。図１４Ｑには示されていないが、第１の単語ベクトルと第２の単語ベクトルを計算することは、言語処理モジュール２３８と並行して実行することができる。続いて、言語処理モジュールは、いくつかの実装形態に従って、類似性メトリックを使用して、第１の単語ベクトルと第２の単語ベクトルとの間の関連性を計算する（１４．２００）。いくつかのそのような実装形態（１４．２０２）では、類似性メトリックは、少なくとも（ｉ）第１の単語ベクトルと第２の単語ベクトルとに関連する単語の意味の間のウー・パーマー距離、（ｉｉ）重み係数、および（ｉｉｉ）第１の単語ベクトルと第２の単語ベクトル間のペアワイズ余弦距離に基づく。
【０１６７】
［0181］  いくつかの実装形態では、図１４Ｒに示されるように、言語処理モジュール２３８は、公に利用可能な辞書から１つまたは複数の分析句の第２の集合の単語の定義を取得し（１４．２０４）、自然言語ツールキットによって提供される品詞ＡＰＩを使用しながら単語の定義が１つまたは複数の事前の定義を含むかどうか判定し（１４．２０６）、単語の定義が１つまたは複数の事前定義の形容詞を含むという判定に従って、１つまたは複数の事前定義の形容詞を１つまたは複数の分析関数にマッピングする。これらの動作は、いくつかの実装形態に従って、図９Ｂを参照しながら上記で説明された。言語処理モジュール２３８は、１つまたは複数の分析句の第２の集合の１つまたは複数の名辞についての分析関数のタイプを計算する。例えば、「最も安いもの」という名辞はＢｏｔｔｏｍ＿Ｎ（販売価格）にマッピングされる。
【０１６８】
［0182］  ここで図１４Ｂに参照を戻すと、コンピュータは、いくつかの実装形態に従って、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新する（１４３２）。
【０１６９】
［0183］  図１４Ｄ、図１４Ｅ、図１４Ｈ、および図１４Ｉはそれぞれ、句構造に基づいて識別された異なるタイプの語用論形式を処理するために言語処理モジュール２３８によって実行されるステップ、およびいくつかの実装形態に従って、識別された形式の語用論基づいて、いかに１つまたは複数の会話センターの第２の集合が導出されるかを示す。
【０１７０】
［0184］  図１４Ｄは、いくつかの実装形態による、不完全な発話について１つまたは複数の会話センターの第２の集合を導出するために言語処理モジュール２３８によって実行されるステップを示す。いくつかの実装形態によれば、言語処理モジュール２３８は、１つまたは複数の言語要素が句構造に存在しないかどうかを判定することによって、語用論の形式が不完全な発話であると識別する（１４４８）。いくつかの実装形態では、続いて、言語処理モジュール２３８は、１つまたは複数の会話センターの第１の集合の会話センターの第１のサブセットを判定する（１４５４）ことであって、１つまたは複数の言語要素に対応する会話センターの第１のサブセットが句構造に存在していない判定すること、および１つまたは複数の会話センターの一時的な集合を会話センターの第１のサブセットと組み合わせることによって１つまたは複数の会話センターの第２の集合を計算する（１４５６）ことを含む一連の動作を実行する（１４５２）ことによって、１つまたは複数の会話センターの第２の集合を導出する（１４５０）。上記の図６Ａは、不完全な発話について１つまたは複数の会話センターの第２の集合を導出する実装形態を示す。
【０１７１】
［0185］  図１４Ｅは、いくつかの実装形態による、参照表現について１つまたは複数の会話センターの第２の集合を導出するために言語処理モジュール２３８によって実行されるステップを示す。いくつかの実装形態によれば、言語処理モジュール２３８は、１つまたは複数の照応参照が句構造に存在するかどうかを判定することによって、参照表現であることが語用論の形式であることを識別する（１４５８）。いくつかの実装形態では、続いて、言語処理モジュール２３８は、１つまたは複数の照応参照の第１の照応参照を含む第２の自然言語コマンドにおける句チャンクに対応する会話センターの第１のサブセットを見出す１つまたは複数の会話センターの第１の集合を検索する（１４６４）こと、および１つまたは複数の会話センターの一時的な集合と会話センターの第１のサブセットとを基にして１つまたは複数の会話センターの第２の集合を計算する（１４６６）ことを含む一連の動作（１４６２）を実行することによって、１つまたは複数の会話センターの第２の集合を導出する（１４６０）。上記の図７Ａは、参照表現のための１つまたは複数の会話センターの第２の集合を導出する実装形態を示す。
【０１７２】
［0186］  いくつかの実装形態では、言語処理モジュール２３８は、第１の照応参照が、更新されたデータの視覚化の視覚化特性への参照（本明細書では、厳密参照と呼ばれることがある）であるかどうかを判定（１４６８）し、照応参照が、厳密参照と判定されるのに従って、１つまたは複数の会話センターの一時的な集合、および視覚化特性に関連するデータに基づいて、１つまたは複数の会話センターの第２の集合を計算する（１４７０）。
【０１７３】
［0187］  いくつかの実装形態では、図１４Ｆに示されるように、言語処理モジュール２３８は、第１の照応参照が第２の自然言語コマンドの動詞を伴うかどうかを判定し（１４７２）、照応参照が動詞に伴われるという判定（１４７４）に従って、動作動詞を参照する第１のアクション会話センターを見つける１つまたは複数の会話センターの第１の集合を検索し（１４７６）、１つまたは複数の会話センターの一時的な集合および会話センターの第１のサブセットに基づいて１つまたは複数の会話センターの第２の集合を計算する（１４７８）。
【０１７４】
［0188］  いくつかの実装形態では、図１４Ｇに示されるように、言語処理モジュール２３８は、第１の照応参照が、環境のいくつかの対象を示す判定的参照であるかどうかを判定し（１４８０）、照応参照が厳密参照であるという判定に従って、１つまたは複数の会話センターの一時的な集合、および対象の特性に基づいて、１つまたは複数の会話センターの第２の集合を計算する（１４８２）。
【０１７５】
［0189］  図１４Ｈは、いくつかの実装形態による、修復発話について１つまたは複数の会話センターの第２の集合を導出するために言語処理モジュール２３８によって実行されるステップを示す。いくつかの実装形態によれば、言語処理モジュール２３８は、句構造が１つまたは複数の事前定義された修復発話に対応するかどうかを判定することによって、語用論の形式が修復発話であると識別する（１４８４）。いくつかの実装形態では、続いて、言語処理モジュール２３８は、１つまたは複数の会話センターの一時的な集合に基づいて１つまたは複数の会話センターの第２の集合を計算すること（１４９０）、および１つまたは複数の所定の修復発話および句構造に基づいて、１つまたは複数の会話センターの第２の集合における１つまたは複数のデータ属性を更新する（１４９２）ことを含む一連の動作（１４８８）を実行することによって１つまたは複数の会話センターの第２の集合を導出する（１４８６）。上述の図１０Ａは、修復発話について１つまたは複数の会話センターの第２の集合を導出する実装形態を示す。
【０１７６】
［0190］  いくつかの実装形態では、言語処理モジュール２３８は、句構造が修復発話に対応するかどうかを判定し（１４９４）、データの視覚化の表示に関するデフォルト動作を変更し、句構造が修復発話に対応し、デフォルトの挙動を変更する判定に従って表示に関するデフォルトの挙動を変更する（１４９６）。
【０１７７】
［0191］  図１４Ｉは、いくつかの実装形態による、連言表現について１つまたは複数の会話センターの第２の集合を導出するために言語処理モジュール２３８によって実行されるステップを示す。言語処理モジュール２３８は、いくつかの実装形態によれば、（ｉ）句構造の接続詞の明示的または暗黙的な存在を判定することによって、（ｉｉ）１つまたは複数の会話センターの一時的な集合が、１つまたは複数の会話センターの第１の集合の各会話センターを含むかどうかを判定することによって、第２の自然言語コマンドが連言表現であるかどうかを判定することによって、語用論の形式を連言表現であると識別する（１４９８）。いくつかの実装形態では、続いて、第２の自然言語コマンドは連言表現であるという判定（１４．１０２）に従って、言語処理モジュール２３８は、１つまたは複数の会話センターの一時的な集合に基づいて１つまたは複数の会話センターの第２の集合を計算する（１４．１０４）ことによって、１つまたは複数の会話センターの第２の集合を導出する（１４．１００）。上述の図８Ａは、接続詞を有する発話についての１つまたは複数の会話センターの第２の集合を導出する実装形態を示す。
【０１７８】
［0192］  いくつかの実装形態では、言語処理モジュール２３８は、第２の自然言語コマンドが複数の連言を有するかどうかを判定し（１４．１０６）、第２の自然言語コマンドが１つより多い連言を有するという判定に従って、第２の自然言語コマンドを線形化することによって１つまたは複数の分析関数の第２の集合を計算する（１４．１０８）。
【０１７９】
［0193］  いくつかの実装形態では、言語処理モジュール２３８は、図１４Ｊに示す一連の動作を実行することによって第２の自然言語コマンドを線形化する。一連の動作は、第２の自然言語コマンドのための解析木を生成すること（１４．１１０）、解析木を後順にトラバースすること（１４．１１２）、および第１の分析句および第２の分析句とを抽出することを含み、この場合第１の分析句および第２の分析句は、解析木内の隣接するノードであり、第１の分析関数および第２の分析関数の１つまたは複数の特性に基づいて１つまたは複数の論理演算子を適用することによって第１の分析関数を第２の分析関数と組み合わせること（１４．１１４）を含み、１つまたは複数の特性には、属性タイプ、演算子タイプ、および値が含まれる。
【０１８０】
［0194］  図１４Ｋ〜図１４Ｏはそれぞれ、いくつかの実装形態による、第１の分析関数と第２の分析関数とを組み合わせる最後のステップ（１４．１１４）の異なる例を示す。それぞれの場合において（それぞれの図においてラベル１４．１１６、１４．１２６、１４．３６、１４．１５０、および１４．１６８によって示されるように）、第１の分析関数は、第１の属性、第１の演算子、および第１の値を含む。第２の分析関数は、第２の属性、第２の演算子、および第２の値を含む。
【０１８１】
［0195］  図１４Ｋでは、言語処理モジュール２３８は、いくつかの実装形態によると、一連の動作を実行することによって第１の分析関数を第２の分析関数と組み合わせる（１４．１１８）。一連の動作は、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定する（１４．１２０）こと、第１の属性および第２の属性が同一であり、第１の属性および第２の属性が同一であるかどうかを判定する（１４．１２２）こと、両方ともカテゴリ型属性であるという判定に従って、第１の分析関数と第２の分析関数とを結合するために和集合演算子を適用する（１４．１２４）ことを含む。
【０１８２】
［0196］  図１４Ｌにおいて、言語処理モジュール２３８は、いくつかの実装形態によると、一連の動作を実行することによって第１の分析関数を第２の分析関数と組み合わせる（１４．１２８）。一連の動作は、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定する（１４．１３０）こと、第１の属性および第２の属性が同一であることを判定する（１４．１３２）こと、第１の属性および第２の属性が同一ではないという判定に従って、第１の分析関数と第２の分析関数とを結合するために交差演算子を適用する（１４．１３４）ことを含む。
【０１８３】
［0197］  図１４Ｍでは、言語処理モジュール２３８は、いくつかの実装形態によると、一連の動作を実行することによって第１の分析関数を第２の分析関数と組み合わせる（１４．１３８）。一連の動作は、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定する（１４．１４０）こと、第１の属性および第２の属性が同一であることを判定する（１４．１４２）こと、第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定（１４．１４４）に従って、第１の演算子と第２の演算子の演算子タイプを判定する（１４．１４６）こと、および第１の演算子および第２の演算子が両方とも等価演算子であるという判定に従って、第１の分析関数と第２の分析関数とを結合するために和演算子を適用する（１４．１４８）ことを含む。
【０１８４】
［0198］  図１４Ｎにおいて、言語処理モジュール２３８は、いくつかの実装形態によると、一連の動作を実行することによって第１の分析関数を第２の分析関数と組み合わせる（１４．１５２）。一連の動作は、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定する（１４．１５４）こと、第１の属性および第２の属性が同一であることを判定する（１４．１５６）こと、および第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定に従って、第１の演算子と第２の演算子の演算子タイプを判定する（１４．１６０）こと、第１の演算子が「相対的に小さい」演算子であり、第２の演算子が「相対的に大きい」演算子であるという判定（１４．１６２）に従って、第１の値が第２の値より小さいかどうかを判定する（１４．１６４）こと、および第１の値が第２の値より小さいという判定に従って、第１の分析関数と第２の分析関数とを結合するために和演算子を適用する（１４．１６６）ことを含む。
【０１８５】
［0199］  図１４Ｏにおいて、言語処理モジュール２３８は、いくつかの実装形態によると、一連の動作を実行することによって第１の分析関数を第２の分析関数と組み合わせる（１４．１７０）。一連の動作は、第１の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、および第２の属性がカテゴリ型属性または順序型属性であるかどうかを判定すること、第１の属性および第２の属性が同一であることを判定する（１４．１７２）こと、第１の属性および第２の属性が同一であることを判定する（１４．１７４）こと、第１の属性および第２の属性が同一であり、かつ両方とも順序型属性であるとの判定（１４．１７６）に従って、第１の演算子と第２の演算子の演算子タイプを判定する（１４．１７８）こと、第１の演算子が「相対的に大きい」演算子であり、第２の演算子が「相対的に小さい」演算子であるという判定（１４．１８０）に従って、第１の値が第２の値より小さいかどうかを判定する（１４．１８２）こと、および第１の値が第２の値より小さいという判定に従って、第１の分析関数と第２の分析関数とを結合するために交差演算子を適用する（１４．１８４）ことを含む。
【０１８６】
［0200］  図１５Ａ〜図１５Ｈは、いくつかの実装形態による、応答およびフィードバックを処理するため、およびユーザのクエリの曖昧性を処理するためを含む、語用論の原理を適用するデータセットの視覚分析のための自然言語を使用する（１５０２）プロセス（方法１５００）のフローチャートを提供する。方法１５００のステップは、コンピュータ（例えば、コンピューティングデバイス２００）によって実行され得る。いくつかの実装形態では、コンピュータは、ディスプレイと、１つまたは複数のプロセッサと、メモリとを含む（１５０４）。図１５Ａ〜図１５Ｈは、コンピュータメモリまたはコンピュータ可読記憶媒体（例えば、コンピューティングデバイス２００のメモリ２０６）に格納されている命令に対応する。メモリは、１つまたは複数のプロセッサ（例えばプロセッサ２０２）による実行のために構成された１つまたは複数のプログラムを格納する（１５０６）。例えば、方法１５００の動作は、少なくとも部分的には、データ視覚化生成モジュール２３４および／または言語処理モジュール２３８によって実行される。
【０１８７】
［0201］  いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの第１の集合を使用してデータベースから読み出されたデータセットに基づいてデータの視覚化を表示する（１５０８）。例えば、図１を参照すると、ユーザは、スキーマ情報領域１１０からの１つまたは複数のデータフィールドをデータ視覚化領域１１２の１つまたは複数のシェルフ（例えば、図１の列シェルフ１２０および行シェルフ１２２）に関連付けることができる。ユーザ関連の受信に応答して、いくつかの実装形態では、コンピュータは、１つまたは複数のクエリの集合を使用してデータセットからデータフィールドのデータを読み出し、次に受信したユーザ入力に対応するデータ視覚化領域１１２においてデータの視覚化（例えばデータの視覚化４０８）を表示する。データの視覚化を表示することは、図１を参照して上でさらに詳細に論じられている。
【０１８８】
［0202］  コンピュータは、表示されたデータの視覚化に関連する第１の自然言語コマンドを指定するための第１のユーザ入力を受信する（１５１０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図６Ａを参照すると、表示されたデータの視覚化６０８は、バラードの１Ｍ未満の住宅に関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１８９】
［0203］  表示されたデータの視覚化に基づいて、コンピュータは、第１の自然言語コマンドから１つまたは複数の独立した分析句の第１の集合を抽出する（１５１２）。例えば、図６Ａを参照すると、コンピュータによって受信された第１の自然言語コマンドは、「バラードの１Ｍ未満の住宅」と読める。第１の自然言語コマンドを受信する前に表示されたデータの視覚化は、シアトルでの過去の住宅販売に関するものである。いくつかの実装形態では、これらの分析句は表示されたデータの視覚化に関連するため、コンピュータは第１の自然言語コマンドから「住宅」および「１Ｍ未満」および「バラードの」を抽出する。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１５１２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第１の自然言語コマンドから抽出する（１４１２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１９０】
［0204］  いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の分析句の第１の集合に基づいて、第１の自然言語コマンドに関連付けられた１つまたは複数の会話センターの第１の集合を計算する（１５１４）。会話型対話モデルに基づくフレームワークは、図３Ａ、図５、および図１１を参照して上で説明されている。センターとは、その発話（本明細書では自然言語コマンドと呼ばれることがある）を談話（一連の発話）内の他の発話にリンクさせるのに役立つエンティティを示す。会話センターには、データの属性と値、視覚的特性、および分析アクションが含まれる。分析句に基づいて会話センターを計算することは、必要な変換および分析の後に分析句を１つまたは複数の会話センターにマッピングすることを含む。例示的な発話「バラードの１Ｍ未満の住宅」の場合、言語処理モジュール２３８は句「１Ｍ未満」を処理し、句を分析して、それが上述の図６Ｃに示すようにデータ属性ＬＡＳＴ＿ＳＡＬＥ＿ＰＲＩＣＥを参照すると推測する。
【０１９１】
［0205］  続いて、いくつかの実装形態に従って、言語処理モジュール２３８は、１つまたは複数の会話センターの第１の組に関連付けられた分析関数の第１の集合を計算し（１５１６）、それによって、第１の組の１つまたは複数の関数句を作成する。図３Ａ、図５、および図１１を参照して上述したように、いくつかの実装形態によれば、分析関数はそれぞれ、変数、演算子、および値からなる。いくつかの実装形態では、発話例「バラードで１Ｍ未満の住宅」について、言語処理モジュール２３８は、２つの関数を作成し、４つの関数Ｆ＿ＣＡＴ（住宅の種類、＝＝コンドミニアム）、Ｆ＿ＣＡＴ（住宅の種類、＝＝タウンハウス）、Ｆ＿ＣＡＴ（住宅の種類＝＝単一）、およびＦ＿ＮＵＭＥＲＩＣ（価格、＜、５０００００）を作成する。この例において、言語処理モジュール２３８は、いくつかの実装形態によれば、データの属性の第１の集合を識別すべく１つまたは複数の会話センターの第１の集合に対応する表示されたデータの視覚化に関連する１つまたは複数のデータ属性を検索する。言語処理モジュール２３８はまた、いくつかの実装形態に従って、１つまたは複数の会話センターの第１の集合を調べることによって、演算子の第１の集合（例えば、演算子＝＝、演算子＜）およびデータ属性の第１の集合に対応する第１の集合の値を識別する。変数（属性）の第１の集合、対応する演算子の第１の集合および値の第１の集合を用いて、言語処理モジュール２３８は１つまたは複数の分析関数の第１の集合を構築し、それによって１つまたは複数の関数句の第１の集合を作成する。
【０１９２】
［0206］  いくつかの実装形態では、コンピュータは、ステップ１５１６で計算された１つまたは複数の関数句の第１の集合に基づいてデータの視覚化を更新する（１５１８）。
【０１９３】
［0207］  ここで図１５Ｂを参照すると、コンピュータは、表示されたデータの視覚化に関連する第２の自然言語コマンドを指定するための第２のユーザ入力を受信する（１５２０）。いくつかの実装形態では、ユーザ入力は、表示されたデータの視覚化に近接したディスプレイのデータ入力領域においてユーザからテキスト入力として（例えば、キーボード２１６を介してまたはタッチセンシティブディスプレイ２１４を介して）受信される。いくつかの実装形態では、ユーザ入力は、コンピュータに連結されたマイクロフォン（例えば、音声入力装置２２０）を使用して音声コマンドとして受信される。例えば、図６Ａを参照すると、表示されたデータの視覚化６０８は、コンピュータが第２のユーザ入力「タウンホーム」を受信したときに、バラードの１Ｍ未満の住宅に関する。ユーザから入力（例えば、コマンド／クエリ）を受信することは、図１を参照して上でさらに詳細に論じられている。
【０１９４】
［0208］  表示されたデータの視覚化に基づいて、コンピュータは、第２の自然言語コマンドから１つまたは複数の独立した分析句の第２の集合を抽出する（１５２２）。例えば、図６Ａを参照すると、コンピュータによって受信された第２の自然言語コマンド（６２０）は、「タウンホーム」と読める。いくつかの実装形態では、この例では、コンピュータは、第２の自然言語コマンドから「タウンホーム」を抽出する。なぜなら、この分析句は、表示されたデータの視覚化（バラードのタウンホームに関係する）に関連しているからである。表示されたデータの視覚化において句がデータフィールドを直接参照する場合、抽出（１５２２）は簡単である。データフィールドを直接参照するすべての句を集める。いくつかの実装形態では、コンピュータは、入力クエリからストップワード、フィラーワード、または任意の事前定義された単語の集合を抽出または除去し、表示されたデータの視覚化に関連し得るため、他のすべての句を第２の自然言語コマンドから抽出する（１５２２）。自然言語コマンドの句が表示された視覚化のデータフィールドを幾分間接的に参照するときに、このアプローチを使用する実装形態もある。
【０１９５】
［0209］  いくつかの実装形態に従って、言語処理モジュールは、１つまたは複数の分析句の第２の集合に基づいて、第２の自然言語コマンドに関連付けられた１つまたは複数の会話センターの一時的な集合を計算する（１５２４）。
【０１９６】
［0210］  言語処理モジュールは、いくつかの実装形態に従って、１つまたは複数の移行規則を使用して、１つまたは複数の会話センターの第１の集合および１つまたは複数の会話センターの一時的な集合から１つまたは複数の会話センターの第２の集合を導出する（１５２６）。
【０１９７】
［0211］  コンピュータは、いくつかの実装形態に従って、１つまたは複数の関数句の第２の集合に基づいてデータの視覚化を更新する（１５２８）。
【０１９８】
［0212］  図１５Ｃを参照すると、いくつかの実装形態では、言語処理モジュール２３８は、１つまたは複数の会話センター第２の集合に対応する１つまたは複数のデータ属性を判定する（１５３０）。次に、言語処理モジュール２３８は、いくつかの実装形態に従って、表示されたデータの視覚化を走査し（１５３２）、その特性が１つまたは複数のデータ属性の第１のデータ属性に対応するデータのマークを含む表示されたデータの視覚化のうちの１つまたは複数を識別する。いくつかのそのような実装形態（１５３４）では、視覚化特性は、色、サイズ、および形状のうちの１つまたは複数を含む。いくつかのそのような実装形態（１５３６）では、視覚化特性はデータのマークの視覚的符号化に対応する。
【０１９９】
［0213］  続いて、コンピュータは、いくつかの実装形態に従って、その特性が第１のデータ属性に対応するデータのマークを強調表示する（１５３８）。いくつかのそのような実装形態では、コンピュータフィルタ（１５４０）は、その特性が１つまたは複数のデータ属性に対応しないデータのマークを含む表示されたデータの視覚化から生じる。さらに、いくつかのそのような実装形態では、コンピュータは、データのマークをフィルタリングするか強調表示するかどうかを判定するためのユーザ入力を受信し（１５４２）、判定に基づいて表示されたデータの視覚化のデータのマークをフィルタリングまたは強調表示する。上記の図１１Ａは、いくつかの実装形態による応答およびフィードバックを処理するための語用論の原則の適用を示す図である。図１１Ａの説明は、図１５Ｃに示すステップに適用される。例えば、すべてのデータ属性のリストを作成するための図１１Ａのステップ１１０２は、１つまたは複数のデータ属性を判定するためのステップ１５３０に対応する。同様に、既存の視覚化のどれがそれぞれの属性を符号化するかを決定するステップ１１０６は、表示されたデータの視覚化を走査するためのステップ１５３２に対応する。
【０２００】
［0214］  ここで図１５Ｄを参照すると、いくつかの実装形態では、コンピュータは、表示されたデータの視覚化のいずれも、その特性が第１のデータ属性に対応するデータのマークを含まないかどうかを判定する（１５４４）。いくつかの実装形態では、表示されたデータの視覚化のいずれもがその特性が第１のデータ属性に対応するデータのマークを含まないという判定（１５４６）に従って、コンピュータは第１のデータ属性を用いて新しいデータの視覚化の詳細を生成し（１５４８）、新しいデータの視覚化を表示する（１５５０）。いくつかの実装形態では、新しいデータの視覚化を表示すること（１５５０）は、詳細に基づいて図表のタイプを判定すること（１５５２）と、図表を生成して表示すること（１５５４）とを含む。いくつかのそのような実装形態（１５５６）では、図表は、他のデータの視覚化と自動的に調整される、二次元グリッドベースのレイアウトアルゴリズムを使用して配置される。
【０２０１】
［0215］  図１５Ｅを参照すると、いくつかの実装形態では、言語処理モジュール２３８は、１つまたは複数の会話センターの第２の集合に関連付けられた１つまたは複数の分析関数の第２の集合を計算し（１５５８）、それによって１つまたは複数の関数句の第２の集合を作成する。いくつかの実装形態では、コンピュータは、１つまたは複数の関数句の第２の集合から第１の関数句を選択し（１５６０）、この場合、第１の関数句は、パラメータ化データ選択基準を含む。いくつかの実装形態では、コンピュータは、パラメータ化データ選択基準のパラメータの値について初期範囲を選択する（１５６２）。いくつかの実装形態では、コンピュータは、パラメータ化データ選択基準に対応する編集可能なユーザインターフェース制御を表示し（１５６４）、この場合ユーザインターフェース制御はパラメータの現在の値を表示する。いくつかのそのような実装形態（１５６６）では、ユーザインターフェース制御は、第１の関数句の調整を可能にする。さらに、いくつかのそのような実装形態（１５６８）では、ユーザインターフェース制御は、ユーザが第１の関数句を調整することを可能にするスライダを表示する。いくつかの実装形態では、コンピュータは、第２の自然言語コマンドのクエリの順序に基づいて１つまたは複数の編集可能なユーザインターフェース制御の表示されたセットを順序付け（１５７０）、クエリの順序は第２の自然言語コマンドからの１つまたは複数の分析句の第２の集合を抽出している間に推論される。いくつかのそのような実装形態では、コンピュータは、テキスト内の小さなワードスケールの視覚化のコンパクトな配置を容易にするライブラリを使用する（１５７２）。いくつかのそのような実装形態（１５７４）では、ライブラリはＳｐａｒｋｌｉｆｉｃａｔｏｒ（商標）である。上記の図１２Ａは、いくつかの実装形態による、ユーザに提示される選択可能なウィジェットの集合を含むインターフェースの例示的な図を示す。
【０２０２】
［0216］  図１５Ｆを参照すると、いくつかの実装形態では、コンピュータは、１つまたは複数の分析句の第２の集合の分析句のいずれにも対応しない第２の自然言語コマンドの第１のトークンを判定する（１５７６）。いくつかの実装形態では、コンピュータは、第１のトークンを第１のデータセットの１つまたは複数の特徴と比較することによって、検索ライブラリを使用して、第１のトークンに対応する正しく綴られた名辞を検索する（１５７８）。いくつかのそのような実装形態（１５８０）では、１つまたは複数の特徴は、第１のデータセットのデータ属性、セル値、および関連キーワードを含む。いくつかのそのような実装形態（１５８２）では、検索ライブラリはＦｕｓｅ．ｊｓ（商標）である。
【０２０３】
［0217］  いくつかの実装形態では、言語処理モジュール２３８は、第３の自然言語コマンドを取得するために第２の自然言語コマンドの第１のトークンを正しく綴られた名辞に置き換え（１５８４）、第３の自然言語コマンドから１つまたは複数の分析句の第２の集合を抽出する（１５８６）。
【０２０４】
［0218］  いくつかの実装形態では、図１５Ｇに示されるように、言語処理モジュール２３８は、第１のトークンに対応する正しく綴られた名辞がないかどうかを判定する（１５８８）。第１のトークンに対応する正しく綴られた名辞がないという判定に従って（１５９０）、言語処理モジュールは第２の自然言語コマンドを、解析木を取得するために解析し（１５９２）、第１のトークンに対応する木の部分を除去するための解析木をプルーニングし（１５９４）、第１のトークンに対応する木の部分を除去するため解析木を抽出する（１５９６）。いくつかのこのような実装形態では、言語処理モジュール２３８は、第３の自然言語コマンドを取得するために第２の自然言語コマンドの第１のトークンを正しく綴られた名辞に置き換え（１５９８）、コンピュータは第１のトークンを表示する（１５．１００）。
【０２０５】
［0219］  いくつかの実装形態では、図１５Ｈに示されるように、コンピュータは、正しく綴られた名辞が第２の自然言語コマンドの第１のトークンに置き換えられることを示すテキストフィードバックを生成する（１５．１０２）。さらに、いくつかのそのような実装形態では、コンピュータは、正しく綴られた名辞を表示して（１５．１０４）強調表示する。上記の図１２Ｂは、いくつかの実装形態による、数個の例示的な状況およびコンピュータによって生成される対応するフィードバックシステムを示す。
【０２０６】
［0220］  本明細書の本発明の説明において使用される名辞は、特定の実装形態を説明することのみを目的としており、本発明を限定することを意図するものではない。本発明の説明および添付の特許請求の範囲で使用されるように、単数形「ａ」、「ａｎ」、および「ｔｈｅ」は、文脈が明らかにそうでないことを示さない限り、複数形も含むことを意図する。本明細書で使用される「および／または」という名辞は、関連して列挙された項目の１つまたは複数のありとあらゆる可能な組み合わせを示し、それらを包含することも理解されよう。本明細書で使用されるとき、「ｃｏｍｐｒｉｓｅｓ（備える）」および／または「ｃｏｍｐｒｉｓｉｎｇ（備える）」という名辞は、述べられた特徴、ステップ、動作、要素、および／または構成要素の存在を特定するが、１つまたは複数の他の特徴、ステップ、動作、要素、構成要素、および／またはそれらの群の存在または追加を排除するものではない。
【０２０７】
［0221］  説明の目的のために、前述の説明は、特定の実装形態を参照して説明された。しかし、上記の例示的な考察は、網羅的であること、または本発明を開示された正確な形態に限定することを意図していない。上記の教示に鑑みて、多くの修正形態および変形形態が可能である。本発明の原理およびその実際的な用途を最もよく説明し、それによって当業者が本発明および企図される特定の用途に適した様々な修正を加えた様々な実装形態を最もよく利用できるように、実装形態を選択し説明した。
【図１】
2020520485.tif 000004
【図２】
2020520485.tif 000005
【図３Ａ】
2020520485.tif 000006
【図３Ｂ】
2020520485.tif 000007
【図４Ａ】
2020520485.tif 000008
【図４Ｂ】
2020520485.tif 000009
【図４Ｃ】
2020520485.tif 000010
【図４Ｄ】
2020520485.tif 000011
【図４Ｅ】
2020520485.tif 000012
【図４Ｆ】
2020520485.tif 000013
【図４Ｇ】
2020520485.tif 000014
【図５】
2020520485.tif 000015
【図６Ａ】
2020520485.tif 000016
【図６Ｂ】
2020520485.tif 000017
【図６Ｃ】
2020520485.tif 000018
【図６Ｄ】
2020520485.tif 000019
【図７Ａ】
2020520485.tif 000020
【図７Ｂ】
2020520485.tif 000021
【図７Ｃ】
2020520485.tif 000022
【図７Ｄ】
2020520485.tif 000023
【図７Ｅ】
2020520485.tif 000024
【図７Ｆ】
2020520485.tif 000025
【図８Ａ】
2020520485.tif 000026
【図８Ｂ】
2020520485.tif 000027
【図８Ｃ】
2020520485.tif 000028
【図９Ａ】
2020520485.tif 000029
【図９Ｂ】
2020520485.tif 000030
【図９Ｃ】
2020520485.tif 000031
【図９Ｄ】
2020520485.tif 000032
【図１０Ａ】
2020520485.tif 000033
【図１０Ｂ】
2020520485.tif 000034
【図１０Ｃ】
2020520485.tif 000035
【図１１Ａ】
2020520485.tif 000036
【図１１Ｂ】
2020520485.tif 000037
【図１１Ｃ】
2020520485.tif 000038
【図１２Ａ】
2020520485.tif 000039
【図１２Ｂ】
2020520485.tif 000040
【図１３Ａ】
2020520485.tif 000041
【図１３Ｂ】
2020520485.tif 000042
【図１３Ｃ】
2020520485.tif 000043
【図１３Ｄ】
2020520485.tif 000044
【図１３Ｅ】
2020520485.tif 000045
【図１３Ｆ】
2020520485.tif 000046
【図１３Ｇ】
2020520485.tif 000047
【図１３Ｈ】
2020520485.tif 000048
【図１３Ｉ】
2020520485.tif 000049
【図１３Ｊ】
2020520485.tif 000050
【図１４Ａ】
2020520485.tif 000051
【図１４Ｂ】
2020520485.tif 000052
【図１４Ｃ】
2020520485.tif 000053
【図１４Ｄ】
2020520485.tif 000054
【図１４Ｅ】
2020520485.tif 000055
【図１４Ｆ】
2020520485.tif 000056
【図１４Ｇ】
2020520485.tif 000057
【図１４Ｈ】
2020520485.tif 000058
【図１４Ｉ】
2020520485.tif 000059
【図１４Ｊ】
2020520485.tif 000060
【図１４Ｋ】
2020520485.tif 000061
【図１４Ｌ】
2020520485.tif 000062
【図１４Ｍ】
2020520485.tif 000063
【図１４Ｎ】
2020520485.tif 000064
【図１４Ｏ】
2020520485.tif 000065
【図１４Ｐ】
2020520485.tif 000066
【図１４Ｑ】
2020520485.tif 000067
【図１４Ｒ】
2020520485.tif 000068
【図１５Ａ】
2020520485.tif 000069
【図１５Ｂ】
2020520485.tif 000070
【図１５Ｃ】
2020520485.tif 000071
【図１５Ｄ】
2020520485.tif 000072
【図１５Ｅ】
2020520485.tif 000073
【図１５Ｆ】
2020520485.tif 000074
【図１５Ｇ】
2020520485.tif 000075
【図１５Ｈ】
2020520485.tif 000076
【国際調査報告】
2020520485.tif 000077
2020520485.tif 000078