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

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

▶ オラクル・インターナショナル・コーポレイションの特許一覧

特表2024-512597マルチモーダル談話ツリーを生成するための技術
<>
  • 特表-マルチモーダル談話ツリーを生成するための技術 図1
  • 特表-マルチモーダル談話ツリーを生成するための技術 図2
  • 特表-マルチモーダル談話ツリーを生成するための技術 図3
  • 特表-マルチモーダル談話ツリーを生成するための技術 図4
  • 特表-マルチモーダル談話ツリーを生成するための技術 図5
  • 特表-マルチモーダル談話ツリーを生成するための技術 図6
  • 特表-マルチモーダル談話ツリーを生成するための技術 図7
  • 特表-マルチモーダル談話ツリーを生成するための技術 図8
  • 特表-マルチモーダル談話ツリーを生成するための技術 図9
  • 特表-マルチモーダル談話ツリーを生成するための技術 図10
  • 特表-マルチモーダル談話ツリーを生成するための技術 図11
  • 特表-マルチモーダル談話ツリーを生成するための技術 図12
  • 特表-マルチモーダル談話ツリーを生成するための技術 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-19
(54)【発明の名称】マルチモーダル談話ツリーを生成するための技術
(51)【国際特許分類】
   G06F 40/35 20200101AFI20240312BHJP
   G06N 5/022 20230101ALI20240312BHJP
   G06F 16/28 20190101ALI20240312BHJP
【FI】
G06F40/35
G06N5/022
G06F16/28
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023558799
(86)(22)【出願日】2022-03-15
(85)【翻訳文提出日】2023-10-25
(86)【国際出願番号】 US2022020420
(87)【国際公開番号】W WO2022203906
(87)【国際公開日】2022-09-29
(31)【優先権主張番号】63/166,568
(32)【優先日】2021-03-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガリツキー,ボリス
【テーマコード(参考)】
5B175
【Fターム(参考)】
5B175DA01
5B175FA01
5B175KA12
(57)【要約】
マルチモーダル談話ツリー(MMDT)を生成して利用するための方法が本明細書において提供される。テキストのコーパスから(例えば、談話ツリー(DT)またはコミュニケーションDT(CDT)から)拡張談話ツリー(EDT)が生成され得る。データレコード(例えば、数値データを含むレコード)が拡張談話ツリーにリンクされて、マルチモーダル談話ツリーが生成され得る。マルチモーダル談話ツリーは、異種のソースからの任意の好適なテキスト/レコードをリンクさせ得る。例えば、EDTの基本談話単位から識別されたエンティティがデータレコードのエンティティとマッチングされ得る。EDT間および/またはデータレコード間の因果関係リンクが識別され得る。各エンティティ一致/因果関係リンク一致について修辞関係性を識別して、データレコードをEDTと合体させて、MMDTを生成し得る。MMDTは、後続の入力の分類、後続の質問に対する回答の生成、テキストのコーパスおよび/またはデータレコードのナビゲートなどに使用され得る。
【特許請求の範囲】
【請求項1】
マルチモーダル談話ツリーを生成するためにコンピュータにより実現される方法であって、
テキストのコーパスと、前記テキストのコーパスとは別の1つまたは複数のデータレコードとを取得するステップと、
前記テキストのコーパスのための拡張談話ツリーを生成するステップとを含み、前記拡張談話ツリーは、複数の談話ツリーを含み、各談話ツリーは、複数のノードを含み、前記談話ツリーの各終端ノードは、テキストのフラグメントに対応し、前記談話ツリーの各非終端ノードは、前記談話ツリーのノード間の修辞関係性を示し、前記拡張談話ツリーは、それぞれの談話ツリーのノード間のさらに他の修辞関係性を示す前記複数の談話ツリー間のさらに他のリンクを含み、前記コンピュータにより実現される方法はさらに、
前記複数の談話ツリーの基本談話単位のセットと前記1つまたは複数のデータレコードとの間のエンティティ一致を識別するステップを含み、前記エンティティ一致は、基本談話単位から識別された第1のエンティティとデータレコードから識別された第2のエンティティとを比較することによって識別され、前記コンピュータにより実現される方法はさらに、
前記1つまたは複数のデータレコードのうちの2つのデータレコード間の1つまたは複数の因果関係リンクを識別するステップと、
識別された各エンティティ一致および識別された前記1つまたは複数の因果関係リンクの各々について、対応する修辞関係性を決定するステップと、
前記拡張談話ツリーのために、識別された各エンティティ一致および識別された各因果関係リンクについて、それぞれのノードを生成するステップと、
決定された前記対応する修辞関係性に少なくとも部分的に基づいて、各エンティティ一致および各因果関係リンクについて生成された前記それぞれのノードを前記拡張談話ツリーのそれぞれのノードにリンクさせることによって、前記マルチモーダル談話ツリーを作成するステップとを含む、コンピュータにより実現される方法。
【請求項2】
前記拡張談話ツリーを生成するステップは、
前記テキストのコーパスの第1のテキストから第1の談話ツリーを生成するステップを含み、前記第1の談話ツリーは、前記第1のテキストの第1の部分に対応し、前記拡張談話ツリーを生成するステップはさらに、
前記テキストのコーパスの第2のテキストから第2の談話ツリーを生成するステップを含み、前記第2の談話ツリーは、前記第2のテキストの第2の部分に対応し、前記拡張談話ツリーを生成するステップはさらに、
前記第1の談話ツリーおよび前記第2の談話ツリーのそれぞれの基本談話単位間の特定の修辞関係性の決定に応答して、前記特定の修辞関係性を使用して前記第1の談話ツリーおよび前記第2の談話ツリーをリンクさせるステップを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記第1の談話ツリーおよび前記第2の談話ツリーは、前記第1の談話ツリーおよび前記第2の談話ツリーの各基本談話単位について生成されたそれぞれの動詞シグネチャを含むコミュニケーション用談話ツリーである、請求項2に記載のコンピュータにより実現される方法。
【請求項4】
前記エンティティ一致を識別するステップは、前記データレコードから識別された前記第2のエンティティと第2のデータレコードから識別された第3のエンティティとを比較するステップをさらに含み、エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、(v)日付もしくは時刻、(vi)取引、または(vii)アクティビティのうちの1つを指す、請求項2に記載のコンピュータにより実現される方法。
【請求項5】
前記エンティティ一致は、予め規定されたオントロジから前記エンティティを識別するステップをさらに含む、請求項1に記載のコンピュータにより実現される方法。
【請求項6】
前記マルチモーダル談話ツリーに少なくとも部分的に基づいて後続の入力を分類するステップをさらに含み、前記後続の入力を分類するステップは、
複数のマルチモーダル談話ツリーを含むトレーニングデータセットを生成するステップを含み、各マルチモーダル談話ツリーは、それぞれのテキストコーパスおよびそれぞれのデータレコードのセットに対応し、各マルチモーダル談話ツリーは、分類に対応するラベルに関連付けられ、前記後続の入力を分類するステップはさらに、
前記トレーニングデータセットおよび教師あり学習アルゴリズムに少なくとも部分的に基づいて入力を分類するように機械学習モデルをトレーニングするステップと、
前記後続の入力から対応するマルチモーダル談話ツリーを生成するステップとを含み、前記後続の入力は、対応するテキストコーパスと、対応するデータレコードのセットとを含み、前記後続の入力を分類するステップはさらに、
前記後続の入力から生成された前記対応するマルチモーダル談話ツリーを前記機械学習モデルに入力として提供して、前記後続の入力の分類ラベルを示す出力を前記機械学習モデルから受信することに少なくとも部分的に基づいて、前記後続の入力を分類するステップを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項7】
前記マルチモーダル談話ツリーを使用して前記テキストのコーパスをナビゲートするステップをさらに含み、前記テキストのコーパスをナビゲートするステップは、
前記マルチモーダル談話ツリーにアクセスするステップと、
ユーザデバイスからのクエリに応答する第1の基本談話単位を前記マルチモーダル談話ツリーから決定するステップとを含み、前記第1の基本談話単位は、前記マルチモーダル談話ツリーの第1の談話ツリーの第1のノードに対応し、前記テキストのコーパスをナビゲートするステップはさらに、
ナビゲーションオプションのセットを前記マルチモーダル談話ツリーから決定するステップを含み、前記ナビゲーションオプションのセットは、(i)前記第1の談話ツリーの前記第1のノードと前記第1の談話ツリーの第2のノードとの間の第1の修辞関係性および(ii)前記第1のノードと前記マルチモーダル談話ツリーの第2の談話ツリーの第3のノードとの間の第2の修辞関係性、またはiii)前記第1の談話ツリーの前記第1のノードと対応するデータレコードに関連付けられた前記マルチモーダル談話ツリーの第4のノードとの間の第3の修辞関係性のうちの少なくとも2つを含み、前記テキストのコーパスをナビゲートするステップはさらに、
前記第1、第2または第3の修辞関係性のうちの少なくとも2つを前記ユーザデバイスに提示するステップと、
前記第1の修辞関係性、前記第2の修辞関係性または前記第3の修辞関係性の選択を含むさらに他のユーザ入力の受信に応答して、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第2のノードに対応する第2の基本談話単位を提示するステップ、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第3のノードに対応する第3の基本談話単位を提示するステップ、または
前記第3の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記対応するデータレコードの少なくとも一部を提示するステップとを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項8】
コンピューティングデバイスであって、
1つまたは複数のプロセッサと、
マルチモーダル談話ツリーを生成するためのコンピュータ実行可能な命令を格納する1つまたは複数のメモリとを備え、前記命令は、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
テキストのコーパスと、前記テキストのコーパスとは別の1つまたは複数のデータレコードとを取得することと、
前記テキストのコーパスのための拡張談話ツリーを生成することとを行わせ、前記拡張談話ツリーは、複数の談話ツリーを含み、各談話ツリーは、複数のノードを含み、前記談話ツリーの各終端ノードは、テキストのフラグメントに対応し、前記談話ツリーの各非終端ノードは、前記談話ツリーのノード間の修辞関係性を示し、前記拡張談話ツリーは、それぞれの談話ツリーのノード間のさらに他の修辞関係性を示す前記複数の談話ツリー間のさらに他のリンクを含み、前記命令はさらに、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記複数の談話ツリーの基本談話単位のセットと前記1つまたは複数のデータレコードとの間のエンティティ一致を識別することを行わせ、前記エンティティ一致は、基本談話単位から識別された第1のエンティティとデータレコードから識別された第2のエンティティとを比較することによって識別され、前記命令はさらに、前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記1つまたは複数のデータレコードのうちの2つのデータレコード間の1つまたは複数の因果関係リンクを識別することと、
識別された各エンティティ一致および識別された前記1つまたは複数の因果関係リンクの各々について、対応する修辞関係性を決定することと、
前記拡張談話ツリーのために、識別された各エンティティ一致および識別された各因果関係リンクについて、それぞれのノードを生成することと、
決定された前記対応する修辞関係性に少なくとも部分的に基づいて、各エンティティ一致および各因果関係リンクについて生成された前記それぞれのノードを前記拡張談話ツリーのそれぞれのノードにリンクさせることによって、前記マルチモーダル談話ツリーを作成することとを行わせる、コンピューティングデバイス。
【請求項9】
前記拡張談話ツリーを生成するための動作を実行することはさらに、前記コンピューティングデバイスに、
前記テキストのコーパスの第1のテキストから第1の談話ツリーを生成することを行わせ、前記第1の談話ツリーは、前記第1のテキストの第1の部分に対応し、前記拡張談話ツリーを生成するための動作を実行することはさらに、
前記テキストのコーパスの第2のテキストから第2の談話ツリーを生成することを行わせ、前記第2の談話ツリーは、前記第2のテキストの第2の部分に対応し、前記拡張談話ツリーを生成するための動作を実行することはさらに、
前記第1の談話ツリーおよび前記第2の談話ツリーのそれぞれの基本談話単位間の特定の修辞関係性の決定に応答して、前記修辞関係性を使用して前記第1の談話ツリーと前記第2の談話ツリーとの間のリンクを生成することを行わせる、請求項8に記載のコンピューティングデバイス。
【請求項10】
前記第1の談話ツリーおよび前記第2の談話ツリーは、前記第1の談話ツリーおよび前記第2の談話ツリーの各基本談話単位について生成されたそれぞれの動詞シグネチャを含むコミュニケーション用談話ツリーである、請求項9に記載のコンピューティングデバイス。
【請求項11】
前記エンティティ一致を識別することはさらに、前記コンピューティングデバイスに、前記データレコードから識別された前記第2のエンティティと第2のデータレコードから識別された第3のエンティティとを比較することを行わせ、エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、または(v)日付もしくは時刻のうちの1つを指す、請求項8に記載のコンピューティングデバイス。
【請求項12】
前記エンティティ一致は、予め規定されたオントロジから前記エンティティを識別することをさらに含む、請求項8に記載のコンピューティングデバイス。
【請求項13】
前記コンピューティングデバイスは、前記マルチモーダル談話ツリーに少なくとも部分的に基づいて後続の入力を分類し、前記後続の入力を分類することは、前記コンピューティングデバイスに、
複数のマルチモーダル談話ツリーを含むトレーニングデータセットを生成することを行わせ、各マルチモーダル談話ツリーは、それぞれのテキストコーパスおよびそれぞれのデータレコードのセットに対応し、各マルチモーダル談話ツリーは、分類に対応するラベルに関連付けられ、前記後続の入力を分類することはさらに、前記コンピューティングデバイスに、
前記トレーニングデータセットおよび教師あり学習アルゴリズムに少なくとも部分的に基づいて入力を分類するように機械学習モデルをトレーニングすることと、
前記後続の入力から対応するマルチモーダル談話ツリーを生成することとを行わせ、前記後続の入力は、対応するテキストコーパスと、対応するデータレコードのセットとを含み、前記後続の入力を分類することは、前記コンピューティングデバイスに、
前記後続の入力から生成された前記対応するマルチモーダル談話ツリーを前記機械学習モードに入力として提供して、前記後続の入力の分類ラベルを示す出力を前記機械学習モデルから受信することに少なくとも部分的に基づいて、前記後続の入力を分類することを行わせる、請求項8に記載のコンピューティングデバイス。
【請求項14】
前記コンピューティングデバイスは、前記マルチモーダル談話ツリーを使用して前記テキストのコーパスをナビゲートし、前記テキストのコーパスをナビゲートすることはさらに、
前記マルチモーダル談話ツリーにアクセスすることと、
ユーザデバイスからのクエリに応答する第1の基本談話単位を前記マルチモーダル談話ツリーから決定することとを含み、前記第1の基本談話単位は、前記マルチモーダル談話ツリーの第1の談話ツリーの第1のノードに対応し、前記テキストのコーパスをナビゲートすることはさらに、
ナビゲーションオプションのセットを前記マルチモーダル談話ツリーから決定することを含み、前記ナビゲーションオプションのセットは、(i)前記第1の談話ツリーの前記第1のノードと前記第1の談話ツリーの第2のノードとの間の第1の修辞関係性および(ii)前記第1のノードと前記マルチモーダル談話ツリーの第2の談話ツリーの第3のノードとの間の第2の修辞関係性、またはiii)前記第1の談話ツリーの前記第1のノードと対応するデータレコードに関連付けられた前記マルチモーダル談話ツリーの第4のノードとの間の第3の修辞関係性のうちの少なくとも2つを含み、前記テキストのコーパスをナビゲートすることはさらに、
前記第1、第2または第3の修辞関係性のうちの少なくとも2つを前記ユーザデバイスに提示することと、
前記第1の修辞関係性、前記第2の修辞関係性または前記第3の修辞関係性の選択を含むさらに他のユーザ入力の受信に応答して、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第2のノードに対応する第2の基本談話単位を提示すること、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第3のノードに対応する第3の基本談話単位を提示すること、または
前記第3の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記対応するデータレコードの少なくとも一部を提示することとを含む、請求項8に記載のコンピューティングデバイス。
【請求項15】
マルチモーダル談話ツリーを生成するための命令を格納する非一時的なコンピュータ可読記憶媒体であって、前記命令は、コンピューティングデバイスの1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
テキストのコーパスと、前記テキストのコーパスとは別の1つまたは複数のデータレコードとを取得することと、
前記テキストのコーパスのための拡張談話ツリーを生成することとを行わせ、前記拡張談話ツリーは、複数の談話ツリーを含み、各談話ツリーは、複数のノードを含み、前記談話ツリーの各終端ノードは、テキストのフラグメントに対応し、前記談話ツリーの各非終端ノードは、前記談話ツリーのノード間の修辞関係性を示し、前記拡張談話ツリーは、それぞれの談話ツリーのノード間のさらに他の修辞関係性を示す前記複数の談話ツリー間のさらに他のリンクを含み、前記命令はさらに、前記コンピューティングデバイスの前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記複数の談話ツリーの基本談話単位のセットと前記1つまたは複数のデータレコードとの間のエンティティ一致を識別することを行わせ、前記エンティティ一致は、基本談話単位から識別された第1のエンティティとデータレコードから識別された第2のエンティティとを比較することによって識別され、前記命令はさらに、前記コンピューティングデバイスの前記1つまたは複数のプロセッサによって実行されると、前記コンピューティングデバイスに、
前記1つまたは複数のデータレコードのうちの2つのデータレコード間の1つまたは複数の因果関係リンクを識別することと、
識別された各エンティティ一致および識別された前記1つまたは複数の因果関係リンクの各々について、対応する修辞関係性を決定することと、
前記拡張談話ツリーのために、識別された各エンティティ一致および識別された各因果関係リンクについて、それぞれのノードを生成することと、
決定された前記対応する修辞関係性に少なくとも部分的に基づいて、各エンティティ一致および各因果関係リンクについて生成された前記それぞれのノードを前記拡張談話ツリーのそれぞれのノードにリンクさせることによって、前記マルチモーダル談話ツリーを作成することとを行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項16】
前記拡張談話ツリーを生成するための動作を実行することはさらに、前記コンピューティングデバイスに、
前記テキストのコーパスの第1のテキストから第1の談話ツリーを生成することを行わせ、前記第1の談話ツリーは、前記第1のテキストの第1の部分に対応し、前記拡張談話ツリーを生成するための動作を実行することはさらに、
前記テキストのコーパスの第2のテキストから第2の談話ツリーを生成することを行わせ、前記第2の談話ツリーは、前記第2のテキストの第2の部分に対応し、前記拡張談話ツリーを生成するための動作を実行することはさらに、
前記第1の談話ツリーおよび前記第2の談話ツリーのそれぞれの基本談話単位間の特定の修辞関係性の決定に応答して、前記修辞関係性を使用して前記第1の談話ツリーと前記第2の談話ツリーとの間のリンクを生成することを行わせる、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項17】
前記第1の談話ツリーおよび前記第2の談話ツリーは、前記第1の談話ツリーおよび前記第2の談話ツリーの各基本談話単位について生成されたそれぞれの動詞シグネチャを含むコミュニケーション用談話ツリーである、請求項16に記載の非一時的なコンピュータ可読記憶媒体。
【請求項18】
前記エンティティ一致を識別することはさらに、前記コンピューティングデバイスに、前記データレコードから識別された前記第2のエンティティと第2のデータレコードから識別された第3のエンティティとを比較することを行わせ、エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、または(v)日付もしくは時刻のうちの1つを指す、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項19】
前記コンピューティングデバイスは、前記マルチモーダル談話ツリーに少なくとも部分的に基づいて後続の入力を分類し、前記後続の入力を分類することは、前記コンピューティングデバイスに、
複数のマルチモーダル談話ツリーを含むトレーニングデータセットを生成することを行わせ、各マルチモーダル談話ツリーは、それぞれのテキストコーパスおよびそれぞれのデータレコードのセットに対応し、各マルチモーダル談話ツリーは、分類に対応するラベルに関連付けられ、前記後続の入力を分類することはさらに、前記コンピューティングデバイスに、
前記トレーニングデータセットおよび教師あり学習アルゴリズムに少なくとも部分的に基づいて入力を分類するように機械学習モデルをトレーニングすることと、
前記後続の入力から対応するマルチモーダル談話ツリーを生成することとを行わせ、前記後続の入力は、対応するテキストコーパスと、対応するデータレコードのセットとを含み、前記後続の入力を分類することは、前記コンピューティングデバイスに、
前記後続の入力から生成された前記対応するマルチモーダル談話ツリーを前記機械学習モードに入力として提供して、前記後続の入力の分類ラベルを示す出力を前記機械学習モデルから受信することに少なくとも部分的に基づいて、前記後続の入力を分類することを行わせる、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【請求項20】
前記コンピューティングデバイスは、前記マルチモーダル談話ツリーを使用して前記テキストのコーパスをナビゲートし、前記テキストのコーパスをナビゲートすることはさらに、
前記マルチモーダル談話ツリーにアクセスすることと、
ユーザデバイスからのクエリに応答する第1の基本談話単位を前記マルチモーダル談話ツリーから決定することとを含み、前記第1の基本談話単位は、前記マルチモーダル談話ツリーの第1の談話ツリーの第1のノードに対応し、前記テキストのコーパスをナビゲートすることはさらに、
ナビゲーションオプションのセットを前記マルチモーダル談話ツリーから決定することを含み、前記ナビゲーションオプションのセットは、(i)前記第1の談話ツリーの前記第1のノードと前記第1の談話ツリーの第2のノードとの間の第1の修辞関係性および(ii)前記第1のノードと前記マルチモーダル談話ツリーの第2の談話ツリーの第3のノードとの間の第2の修辞関係性、またはiii)前記第1の談話ツリーの前記第1のノードと対応するデータレコードに関連付けられた前記マルチモーダル談話ツリーの第4のノードとの間の第3の修辞関係性のうちの少なくとも2つを含み、前記テキストのコーパスをナビゲートすることはさらに、
前記第1、第2または第3の修辞関係性のうちの少なくとも2つをユーザデバイスに提示することと、
前記第1の修辞関係性、前記第2の修辞関係性または前記第3の修辞関係性の選択を含むさらに他のユーザ入力の受信に応答して、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第2のノードに対応する第2の基本談話単位を提示すること、
前記第1の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記第3のノードに対応する第3の基本談話単位を提示すること、または
前記第3の修辞関係性に対応する前記選択の決定に少なくとも部分的に基づいて、前記対応するデータレコードの少なくとも一部を提示することとを含む、請求項15に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本願は、「健康管理および健康安全保障のためのマルチモーダル談話ツリー(Multimodal Discourse Tree for Health Management and Security)」と題される2021年3月26日に出願された米国仮出願番号第63/166,568号の利益を主張し、米国仮出願番号第63/166,568号の内容は、全ての目的で全文が本明細書に援用される。
【0002】
技術分野
本開示は、概して言語学に関する。より具体的には、本開示は、(例えば、入力テキストを分類する、質問に対する回答を生成する、テキストをナビゲートする、などのために)マルチモーダル談話ツリー(MMDT:Multi-Modal Discourse Tree)を生成して利用することに関する。
【背景技術】
【0003】
背景
プロセッサの速度およびメモリの容量の大幅な増加により、コンピュータにより実現される言語学アプリケーションが増えている。例えば、言語談話のコンピュータベースの分析は、ユーザデバイスから受信された質問に回答することができる自動エージェント、または、入力を分類することができる機械学習アプリケーションなどの多数のアプリケーションを容易にする。これらのおよび他の文脈において、現行のシステムは、テキストデータと、関連している可能性のある数値データ(例えば、ログ、地図、データレコードなど)とを別々に提供し得る。いくつかのケースでは、テキストおよび関連している可能性のあるさまざまな数値データを両方とも利用して類似データを分類するおよび/または後続の関連する質問に回答することが有益である場合がある。しかし、そのようなデータは、意味のある形で組み合わせることが困難である。
【発明の概要】
【課題を解決するための手段】
【0004】
簡単な概要
(例えば、入力テキストを分類する、質問に対する回答を生成する、テキストをナビゲートする、などのために)マルチモーダル談話ツリー(MMDT)を生成して利用するための技術が開示されている。
【0005】
いくつかの実施形態において、(例えば、入力を分類する、テキストをナビゲートする、後続の質問に対する回答を識別する、などのために)マルチモーダル談話ツリーを生成するためにコンピュータにより実現される方法が開示される。上記方法は、テキストのコーパスと、上記テキストのコーパスとは別の1つまたは複数のデータレコードとを取得するステップを含み得る。上記方法はさらに、上記テキストのコーパスのための拡張談話ツリーを生成するステップを含み得る。いくつかの実施形態において、上記拡張談話ツリーは、複数の談話ツリーを含む。各談話ツリーは、複数のノードを含み得て、上記談話ツリーの各終端ノードは、テキストのフラグメントに対応し、上記談話ツリーの各非終端ノードは、上記談話ツリーのノード間の修辞関係性を示す。いくつかの実施形態において、上記拡張談話ツリーは、それぞれの談話ツリーのノード間のさらに他の修辞関係性を示す上記複数の談話ツリー間のさらに他のリンクを含む。上記方法はさらに、上記複数の談話ツリーの基本談話単位のセットと上記1つまたは複数のデータレコードとの間のエンティティ一致を識別するステップを含み得る。いくつかの実施形態において、上記エンティティ一致は、基本談話単位から識別された第1のエンティティとデータレコードから識別された第2のエンティティとを比較することによって識別され得る。上記方法はさらに、上記1つまたは複数のデータレコードのうちの2つのデータレコード間の1つまたは複数の因果関係リンクを識別するための因果関係リンク識別アルゴリズムを実行するステップを含み得る。上記方法はさらに、識別された各エンティティ一致および識別された上記1つまたは複数の因果関係リンクの各々について、対応する修辞関係性を決定するステップを含み得る。上記方法はさらに、上記拡張談話ツリーのために、識別された各エンティティ一致および識別された各因果関係リンクについて、それぞれのノードを生成するステップを含み得る。上記方法はさらに、決定された上記対応する修辞関係性に少なくとも部分的に基づいて、各エンティティ一致および各因果関係リンクについて生成された上記それぞれのノードを上記拡張談話ツリーのそれぞれのノードにリンクさせることによって、マルチモーダル談話ツリーを作成するステップを含み得る。
【0006】
いくつかの実施形態において、上記拡張談話を生成するステップは、i)上記テキストのコーパスの第1のテキストから第1の談話ツリーを生成するステップを含み、上記第1の談話ツリーは、上記第1のテキストの第1の部分に対応し、上記拡張談話を生成するステップはさらに、ii)上記テキストのコーパスの第2のテキストから第2の談話ツリーを生成するステップを含み、上記第2の談話ツリーは、上記第2のテキストの第2の部分に対応し、上記拡張談話を生成するステップはさらに、iii)上記第1の談話ツリーおよび上記第2の談話ツリーのそれぞれの基本談話単位間の特定の修辞関係性の決定に応答して、上記特定の修辞関係性を使用して上記第1の談話ツリーおよび上記第2の談話ツリーをリンクさせるステップを含む。
【0007】
いくつかの実施形態において、上記第1の談話ツリーおよび上記第2の談話ツリーは、上記第1の談話ツリーおよび上記第2の談話ツリーの各基本談話単位について生成されたそれぞれの動詞シグネチャを含むコミュニケーション用談話ツリーである。
【0008】
いくつかの実施形態において、上記エンティティを識別するステップは、上記データレコードから識別された上記第2のエンティティと第2のデータレコードから識別された第3のエンティティとを比較するステップをさらに含み、エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、または(v)日付もしくは時刻のうちの1つを指す。
【0009】
いくつかの実施形態において、上記エンティティ一致を識別するステップは、予め規定されたオントロジから上記エンティティを識別するステップをさらに含む。
【0010】
いくつかの実施形態において、上記方法は、上記マルチモーダル談話ツリーに少なくとも部分的に基づいて後続の入力を分類するステップをさらに含み得て、上記後続の入力を分類するステップは、i)複数のマルチモーダル談話ツリーを含むトレーニングデータセットを生成するステップを含み、各マルチモーダル談話ツリーは、それぞれのテキストコーパスおよびそれぞれのデータレコードのセットに対応し、各マルチモーダル談話ツリーは、分類に対応するラベルに関連付けられ、上記後続の入力を分類するステップはさらに、ii)上記トレーニングデータセットおよび教師あり学習アルゴリズムに少なくとも部分的に基づいて入力を分類するように機械学習モデルをトレーニングするステップと、iii)上記後続の入力から対応するマルチモーダル談話ツリーを生成するステップとを含み、上記後続の入力は、それぞれのテキストのセットと、それぞれのデータレコードのセットとを含み、上記後続の入力を分類するステップはさらに、iv)上記後続の入力から生成された上記対応するマルチモーダル談話を上記機械学習モードに入力として提供して、上記後続の入力の分類を示す出力を上記機械学習モデルから受信することに少なくとも部分的に基づいて、上記後続の入力を分類するステップを含む。
【0011】
いくつかの実施形態において、上記方法は、上記マルチモーダル談話ツリーを使用して上記テキストのコーパスをナビゲートするステップをさらに含み、上記テキストのコーパスをナビゲートするステップは、上記マルチモーダル談話ツリーにアクセスするステップと、ユーザデバイスからのクエリに応答する第1の基本談話単位を上記マルチモーダル談話ツリーから決定するステップとを含み、上記第1の基本談話単位は、上記マルチモーダル談話ツリーの第1の談話ツリーの第1のノードに対応し、上記テキストのコーパスをナビゲートするステップはさらに、ナビゲーションオプションのセットを上記マルチモーダル談話ツリーから決定するステップを含み、上記ナビゲーションオプションのセットは、(i)上記第1の談話ツリーの上記第1のノードと上記第1の談話ツリーの第2のノードとの間の第1の修辞関係性および(ii)上記第1のノードと上記マルチモーダル談話ツリーの第2の談話ツリーの第3のノードとの間の第2の修辞関係性、またはiii)上記第1の談話ツリーの上記第1のノードと対応するデータレコードに関連付けられた上記マルチモーダル談話ツリーの第4のノードとの間の第3の修辞関係性のうちの少なくとも2つを含み、上記テキストのコーパスをナビゲートするステップはさらに、上記第1、第2または第3の修辞関係性のうちの少なくとも2つを上記ユーザデバイスに提示するステップと、上記第1の修辞関係性、上記第2の修辞関係性または上記第3の修辞関係性の選択を含むさらに他のユーザ入力の受信に応答して、i)上記第1の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記第2のノードに対応する第2の基本談話単位を提示するステップ、ii)上記第1の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記第3のノードに対応する第3の基本談話単位を提示するステップ、またはiii)上記第3の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記対応するデータレコードの少なくとも一部を提示するステップとを含む。
【0012】
本明細書で論じられる例示的な方法は、1つまたは複数のプロセッサを含むシステムおよび/またはデバイス上で実現することができ、および/または、非一時的なコンピュータ可読媒体上に命令として格納することができる。本開示のさまざまな態様は、プロセッサによって実行されると本明細書に開示されている方法のうちのいずれかをプロセッサに実行させるコンピュータプログラム/命令を含むコンピュータプログラム製品を使用して実現され得る。
【図面の簡単な説明】
【0013】
図1】本開示の少なくとも1つの実施形態に係る、マルチモーダル談話ツリー(MMDT)を使用して入力を分類するためのコンピューティング環境の一例を示す図である。
図2】少なくとも1つの実施形態に係る、図1のコンピューティングデバイスによって(例えば、図1のマルチモーダル談話ツリー(MMDT)生成モジュールによって)実行される方法の例示的なフローを示す図である。
図3】少なくとも1つの実施形態に係る、例示的な談話ツリーを示す図である。
図4】少なくとも1つの実施形態に係る、コミュニケーション用談話ツリーを生成するための方法のフローを示す図である。
図5】少なくとも1つの実施形態に係る、拡張談話ツリーの一例を示す図である。
図6】少なくとも1つの実施形態に係る、拡張談話ツリーを作成するためのプロセスの一例のフローチャートである。
図7】少なくとも1つの実施形態に係る、さまざまなレベルの粒度でのドキュメントのテキスト単位間の関係性を示す図である。
図8】少なくとも1つの実施形態に係る、マルチモーダル談話ツリーの一例を示す図である。
図9】少なくとも1つの実施形態に係る、さまざまなレベルの粒度でのドキュメントのテキスト単位間の関係性およびそれらのテキスト単位と関連するデータレコードとの間の関係性とともに、図8のマルチモーダル談話ツリーを示す別の図である。
図10】少なくとも1つの実施形態に係る、マルチモーダル談話ツリーを生成するための方法のフローを示す図である。
図11】少なくとも1つの実施形態に係る、態様のうちの1つを実現するための分散型システムの簡略図である。
図12】本開示の一態様に係る、少なくとも1つの実施形態に係る、一態様のシステムの1つまたは複数のコンポーネントによって提供されるサービスがクラウドサービスとして提供され得るシステム環境の1つまたは複数のコンポーネントの簡略ブロック図である。
図13】少なくとも1つの実施形態に係る、さまざまな態様が実現され得る例示的なコンピューティングサブシステムを示す図である。
【発明を実施するための形態】
【0014】
詳細な説明
本開示の態様は、入力を分類するためにマルチモーダル談話ツリー(MMDT)を生成して利用することに関する。マルチモーダル談話ツリー(MMDT)は、談話ツリーの部分(例えば、基本談話単位)に関連する付随データ(値、セットおよび/またはレコード)を含む談話ツリーを指す。MMDTは、データセットと談話ツリーとの間の関係および所与のデータセットの中のデータ間の関係を含む。データ値間、セット間およびレコード間に存在し得る修辞関係(本明細書では、「修辞関係性」とも称される)の例としては、理由、原因、可能化、対比、時間的シーケンスが挙げられる。
【0015】
談話分析は、テキストで表現された考えの論理構造を構築するのに重要な役割を果たす。談話ツリーは、フレーズおよびセンテンス(談話単位)間の修辞関係を指定するテキスト談話を階層的に形式化するための手段である。談話ツリー(DT:Discourse Tree)は、論理形式のような完全な論理表現と元のテキストによる形式ばらない表現との間の折衷物である。DTを学習することは、コンテンツ生成、要約、機械翻訳および質問回答の多数のアプリケーションを発見してきた。一般的なデータ分析タスクでのDTの使用の制約は、それらが抽象的なデータ項目の構成要素間の因果関係ではなくテキストの談話を表すように設計されていることである。
【0016】
本明細書に開示されている技術は、談話分析を利用して、テキストのコーパスからさまざまな談話ツリーを生成する。例えば、談話ツリーは、ドキュメントのコーパス(例えば、関係のある/関連したコンテンツのコーパス)の各テキストについて生成され得る。いくつかの実施形態では、談話ツリー(DT)はコミュニケーション行動(例えば、動詞シグネチャ)で拡張されて、コミュニケーション用談話ツリー(CDT:Communicative Discourse Tree)が生成され得る。CDTの単位(例えば、基本談話単位)間の修辞関係性が識別されて、拡張談話ツリー(EDT:Extended Discourse Tree)が生成され得る。EDTは、CDTのさまざまな単位間で、およびさまざまな粒度にわたって(例えば、ドキュメントのセンテンス間、ドキュメントのパラグラフ間、異なるドキュメントのセンテンス/パラグラフ間、および/または、ドキュメント全体間で)識別された関係性を有するCDTの組み合わせを含み得る。
【0017】
マルチモーダル談話ツリー(MMDT)は、談話抽象化を通じてEDTと付随数値データとを組み合わせて、コーパスのテキストおよびテキストドキュメントだけでなく、さまざまな種類の数値データにわたる談話を形式化することによって、EDTから生成することができる。MMDTは、テキストフラグメント間に当てはまる同一の修辞関係がデータ値間、セット間およびレコード間にも当てはまるように生成され得る。MMDTは、EDTの部分(例えば、基本談話単位)に関連する付随データ(値、セットおよび/または数値データレコード)を含む談話ツリーであり得る。MMDTは、付随データ間の関係および付随データの部分とコーパステキストの部分との間の関係を含むように生成され得る。次いで、結果として得られたMMDTを使用して、自律エージェントの分野における自動回答を駆動することができ、および/または、入力を分類することができる。一例において、法律事件において結論を出すのに必要な推論構造を表す談話ツリーが利用される場合がある。この談話ツリーから拡張談話ツリーを生成することができ、拡張談話ツリーは、電話通話、人の移動に関する情報、取引記録/金融記録、および情報間の内部関係などの関連情報(例えば、特定の事件のデータ)で拡張することができる。
【0018】
開示されている技術は、複数の関連する情報源全体をよりよく理解することによって既存の解決策を改善する。対話型チャットボット(例えば、自律エージェントアプリケーション)の能力を伸ばすためにMMDTを使用することができる。従来の談話ツリーは、パラグラフまたは複数のパラグラフのレベルで著者の考えの流れを表現する。従来の談話ツリーは、より大きなテキストフラグメントまたはドキュメントに適用されるとかなり不正確になる。これらの談話ツリーを使用して、拡張談話ツリーを生成し、次いで、あるトピックをカバーする相互接続されたドキュメントおよび対応するデータレコードのセットの表現として機能し得るマルチモーダル談話ツリーを生成することができる。
【0019】
特定の定義
「修辞構造理論(rhetorical structure theory)」は、この明細書中において用いられる場合、談話の一貫性の分析を可能にし得る理論上の基礎を提供した調査および研究の分野である。
【0020】
「談話ツリー」または「DT」は、この明細書中において用いられる場合、センテンスの一部をなすセンテンスについての修辞関係を表現する構造を指している。
【0021】
「修辞関係」、「修辞関係性」、「一貫性関係」または「談話関係」は、この明細書中において用いられる場合、談話のうち2つのセグメントが互いに如何に論理的に接続されているかを述べている。修辞関係の例は詳述、対比および属性を含む。
【0022】
「センテンスフラグメント」または「フラグメント」は、この明細書中において用いられる場合、センテンスの残りから分割することができるセンテンスの一部である。フラグメントは基本談話単位である。例えば、「Dutch accident investigators say that evidence points to pro-Russian rebels as being responsible for shooting down the plane(オランダの事故調査員は、証拠が、飛行機の撃墜をロシア支持派の反乱分子によるものであると示唆していると述べている)」というセンテンスの場合、2つのフラグメントは、「Dutch accident investigators say that evidence points to pro-Russian rebels」および「as being responsible for shooting down the plane」である。フラグメントは動詞を含み得るが、必ずしも動詞を含んでいる必要はない。
【0023】
「シグネチャ」または「フレーム」は、この明細書中において用いられる場合、フラグメントにおける動詞の特性を指している。各々のシグネチャは1つ以上の主題役割を含み得る。例えば、「Dutch accident investigators say that evidence points to pro-Russian rebels」というフラグメントの場合、動詞は「say」であり、動詞「say」をこのように特別に使用している場合のシグネチャは「エージェント動詞トピック」であり得る。この場合、「investigators」はエージェントであり、「evidence」はトピックである。
【0024】
「主題役割」は、この明細書中において用いられる場合、1つ以上の単語の役割を記述するのに用いられるシグネチャの構成要素を指している。上述の例に続いて、「エージェント」および「トピック」は主題役割である。
【0025】
「核性(nuclearity)」は、この明細書中において用いられる場合、どのテキストセグメント、フラグメントまたはスパンが書き手の目的の中心により近いかを指している。核はより中心的なスパンであり、衛星はそれほど中心的ではない。
【0026】
「一貫性(coherency)」は、この明細書中において用いられる場合、2つの修辞関係をともにリンクするものを指している。
【0027】
「コミュニケーション用談話ツリー」または「CDT」は、この明細書中において用いられる場合、コミュニケーション行動を補った談話ツリーである。コミュニケーション行動は、個人相互の熟慮および議論に基づいて個人によって行われる協調的行動である。したがって、コミュニケーション用談話ツリーは、修辞情報とコミュニケーション行動とを組み合わせる。
【0028】
「コミュニケーション動詞(communicative verb)」は、この明細書中において用いられる場合、コミュニケーションを示す動詞である。例えば、「否定する(deny)」という動詞はコミュニケーション動詞である。
【0029】
「コミュニケーション行動」は、この明細書中において用いられる場合、1以上のエージェントによって実行される行動、およびエージェントの主題を記述するものである。
【0030】
「エンティティ」は、この明細書中において用いられる場合、独立した個別の存在を有する。例としては、物体、場所および人が挙げられる。また、エンティティは、「電気自動車」、「ブレーキ」または「フランス」などの主題またはトピックであり得る。
【0031】
図面に移って、図1は、少なくとも1つの実施形態に係る、ディープラーニング技術を使用して生成された未処理のテキストを修正するためのコンピューティング環境の一例を示す図である。図1に示される例では、コンピューティング環境100は、コンピューティングデバイス102およびユーザデバイス104のうちの1つ以上を含む。コンピューティングデバイス102は、アプリケーション(例えば、アプリケーション106)を実装することができる。いくつかの実施形態では、アプリケーション106は、ユーザデバイス104との会話に従事するとともに、本明細書に開示されている技術のうちの1つ以上を使用して、ユーザデバイス104によって提供された入力に応答して対話する自律エージェント(例えば、チャットボット)であり得る。別の例として、アプリケーション106は、コンピューティングデバイス102の機械学習コンポーネントの一部であり得る。アプリケーション106は、テキストデータ(例えば、テキストデータ116から取得されるテキストデータのコーパス)およびデータレコード(例えば、レコードデータストア118から取得される数値データ)から任意の好適な数のマルチモーダル談話ツリー(MMDT)を生成するように構成され得る。コンピューティングデバイス102の例は、図10の分散型システム1000ならびにクライアントコンピューティングデバイス1002,1004,1006および1008の例である。
【0032】
ユーザデバイス104は、携帯電話、スマートフォン、タブレット、ラップトップ、スマートウォッチなどの任意のモバイルデバイスであり得る。示されているように、ユーザデバイス104は、ユーザインターフェイス108。ユーザインターフェイス108は、(例えば、キーボード、マイクロフォン入力、マウス入力、タッチスクリーンなどを介して)ユーザからの入力を受け付けて、当該入力に対応するデータをコンピューティングデバイス102に提供するように構成され得る。いくつかの実施形態では、ユーザインターフェイス108、またはユーザデバイス104の別の構成要素は、コンピューティングデバイス102に送信する前に、音声入力を取り込んで当該音声入力をテキストに変換するように構成され得る。ユーザデバイス104は、テキストをコンピューティングデバイス102に送信するように構成され得る。他の実施形態では、テキストは、コンピューティングデバイス102によって提供されるユーザインターフェイス(図示せず)を使用して、および/または、コンピューティングデバイス102がアクセス可能なデータストア(図示せず)から取得され得る。好適なテキストの例としては、テキストファイル、ポータブル・ドキュメント・フォーマット(PDF:Portable Document Format)(登録商標)ドキュメント、リッチテキストドキュメントなどの電子テキストソースが挙げられる。いくつかのケースでは、不要な文字またはフォーマットフィールドを除去するために入力テキストに対して事前処理が実行されてもよい。入力テキストは、セクション、パラグラフ、ページなどの1つまたは複数の構造的または組織的なアプローチを使用して編成することができる。
【0033】
いくつかの実施形態では、ユーザデバイス104およびコンピューティングデバイス102は、ネットワーク110を介して通信可能に接続され得る。ネットワーク110は、インターネット、ローカルエリアネットワーク、仮想プライベートネットワークなどを含む任意の好適なパブリックまたはプライベートネットワークであり得る。
【0034】
いくつかの実施形態では、コンピューティングデバイス102は、分類器112を含み得る。分類器112は、入力(例えば、ユーザインターフェイス108において投入された質問または他のデータ)に応答して出力(例えば、回答、生成されたテキストなど)を提供するようにトレーニングデータ114を使用してトレーニングされた任意の好適な機械学習モデルであり得る。トレーニングデータ114は、分類器112をトレーニングすることができる任意の好適なデータ(例えば、良い/悪い回答の質問/回答ペア、良いおよび/または悪いテキスト生成の例など)を含み得る。いくつかのケースでは、テキスト内のエンティティは、オントロジ117を使用してマッチングされ得る。オントロジ117は、ドメイン特有のオントロジ(例えば、金融、法律、ビジネス、医療、科学など)であり得る。オントロジ117は、いくつかある特徴の中で特に、さまざまなエンティティの正式な仕様およびそれらの関係を含み得る。オントロジ117は、同義の語および/またはフレーズを識別するのに利用することができる。いくつかの実施形態では、オントロジ117は予め規定することができ、および/または、アプリケーション106がオントロジ117の少なくとも一部を外部ソースから構築することができる。
【0035】
MMDT生成モジュール120は、テキストデータ116およびレコードデータストア118から任意の好適な数のMMDTを生成するように構成され得る。いくつかの実施形態では、これらのMMDTは、将来の入力を分類するためのトレーニングデータとして機能することができる。一例として、警察記録(例えば、テキストデータの一例)内のテキストは、数値ベースの証拠(例えば、通話記録、金融取引データ、携帯電話から取得される位置データなど)と併合されて、特定の犯罪事例に関連付けられたデータに関連するMMDTが生成され得る。このMMDTは、ラベル(例えば、恐喝)に関連付けられて、分類器112(例えば、機械学習モデルの一例)のためのラベル付きトレーニングデータとして使用され得る。分類器112は、後続の入力(例えば、ユーザデバイス104から受信されて本件に関連付けられたテキストおよびデータレコード)を恐喝犯罪を示しているとして分類するかまたは恐喝犯罪を示していないとして分類するように分類器112を構成するための任意の好適な教師あり学習アルゴリズムとともに、そのようなトレーニングデータのさまざまな事例(例えば、恐喝犯罪を示しているテキスト/データレコードを示すいくつかの例、恐喝犯罪を示していない他のテキスト/データレコードを示すいくつかの例、など)を使用してトレーニングされ得る。いくつかの実施形態では、生成されたMMDTは、MMDTが生成された事件に関する質問に回答するのに使用することができる。MMDTを生成して利用するための動作は、図2図9に関してさらに詳細に論じられる。
【0036】
図2は、少なくとも1つの実施形態に係る、図1のコンピューティングデバイス102によって(例えば、MMDT生成モジュール120によって)実行される方法200の例示的なフローを示す図である。
【0037】
方法200は、201から開始し得て、201において、ドキュメントのコーパスが取得され得る。いくつかの実施形態では、ドキュメントのコーパスは、特定のトピックに関連し得る。一例として、ドキュメントのコーパスは、特定の犯罪に関わる警察記録からの任意の好適なテキストを含み得る。ドキュメントは、任意の好適な長さおよび/またはフォーマットを有し得る。
【0038】
202において、修辞構造理論に少なくとも部分的に基づいて、コーパスの各テキストについて談話ツリーが生成され得る。これらの談話ツリーを生成するための技術は、図3と関連付けて以下で論じられる。
【0039】
図3は、少なくとも1つの実施形態に係る、テキストのインスタンスから生成された談話ツリー(「談話ツリー300」と称される)のテキスト符号化300を示す図である。ほんの一例として、談話ツリー300は、以下のテキストから生成され得る。「I avoid flu shots because I am allergic to eggs. Most flu shots produced today use an egg-based manufacturing process that leaves trace amounts of egg protein behind. I do not need a flu shot since I got it last year. I believe it is not necessary for me, because the vaccine is not 100% effective. Also, I never get the flu, so I do not need a vaccine.(私は、卵アレルギーなのでインフルエンザ予防接種をしない。現在生産されている大半のインフルエンザ予防接種は、卵ベースの製造プロセスを使用しており、微量の卵タンパク質が残ることになる。私は、昨年受けたので、インフルエンザ予防接種は必要ない。ワクチンは100%効果があるわけではないので、私には必要ないと思う。また、私はインフルエンザにかかったことがないので、ワクチンは必要ない。)」談話ツリー300は、修辞構造理論に少なくとも部分的に基づいて、上記の入力テキストから生成され得る。
【0040】
修辞構造理論および談話ツリー
言語学は言語についての科学的研究である。例えば、言語学は、センテンスの構造(構文)、例えば、主語-動詞-目的語、センテンスの意味(セマンティックス)、例えば、「dog bites man(犬が人を噛む)」に対して「man bites dog(人が犬を噛む)」、さらに、話し手が会話中に行うこと、すなわち、談話分析またはセンテンスの範囲を超えた言語の分析、を含み得る。
【0041】
談話の理論上の基礎(修辞構造理論(RST:Rhetoric Structure Theory))は、Mann、WilliamおよびThompson、Sandraによる「Rhetorical structure theory: A Theory of Text organization」(Text-Interdisciplinary Journal for the Study of Discourse)8(3):243-281: 1988)によるものであり得る。プログラミング言語理論の構文およびセマンティックスが現代のソフトウェアコンパイラの可能化に如何に役立ったのかと同様に、RSTは談話の分析の可能化に役立った。より具体的には、RSTは、構造ブロックを少なくとも2つのレベルで想定している。2つのレベルは、核性および修辞関係などの第1のレベルと、構造またはスキーマの第2のレベルとを含む。談話パーサーまたは他のコンピュータソフトウェアは、テキストを談話ツリーにパース(構文解析)することができる。これらのパーサー/ソフトウェアは、談話ツリーのEDU間のさまざまな修辞関係性を識別するように構成され得る。
【0042】
修辞構造理論は、テキストの部分間の関係に依存して、テキストの論理的構成(書き手によって用いられる構造)をモデル化する。RSTは、談話ツリーを介してテキストの階層型の接続された構造を形成することによって、テキスト一貫性をシミュレートする。修辞関係は、同等のクラスおよび下位のクラスに分割される。これらの関係は、2つ以上のテキストスパンにわたって維持されるので、一貫性を実現する。これらのテキストスパンを基本談話単位(EDU)と称する。センテンス中の節およびテキスト中のセンテンスは、著者によって論理的に接続される。所与のセンテンスの意味は前のセンテンスおよび次のセンテンスの意味と関係がある。節同士の間のこの論理関係はテキストの一貫性構造と称される。RSTは、ツリー状の談話構造、談話ツリー(DT)に基づいた、談話についてのいくつかの理論のうちの1つである。DTの葉部は、EDU(連続する原子的なテキストスパン)に対応する。隣接するEDUは、より高いレベルの談話単位を形成する一貫性関係(例えば、属性、シーケンス)によって接続されている。これらの単位は、さらに、この関係リンクにも従属する。関係によってリンクされたEDUは、さらに、それぞれの相対的重要性に基づいて区別される。核は関係の核心部分であり、衛星は周辺部分である。上述したように、正確な要求・応答ペアを判断するために、トピックおよび修辞学的合致がともに分析される。話し手がフレーズまたはセンテンスなどの質問に回答するとき、話し手の回答はこの質問のトピックに対処していなければならない。質問が暗示的に形成されている場合、メッセージのシードテキスト(seed text)を介することで、トピックを維持するだけでなくこのシードについての一般化された認識状態とも一致するような適切な回答が期待される。
【0043】
修辞関係
上述したように、本明細書に記載されている態様は、修辞関係を含む談話ツリー(および/または、コミュニケーション用談話ツリー)を使用する。修辞関係は、さまざまな形で説明することができる。いくつかの修辞関係を以下に記載する。しかし、このリストは、排他的であるよう意図されるものではない。
【0044】
【表1】
【0045】
いくつかの経験的研究は、大多数のテキストが核-衛星関係を用いて構築されていることを前提としているが、他の関係は、核の有限選択を伴わない。このような関係の例を以下に示す。
【0046】
【表2】
【0047】
図3に戻って、談話ツリー300は、入力テキストの(例えば、談話パーサーおよび/またはソフトウェアを使用した)構文解析に基づいて生成され得る。談話ツリー300は、上記の修辞関係(「修辞関係性」とも称される)の任意の好適な組み合わせを含み得る。例えば、談話ツリー300は、修辞関係性302~322を含み得る。談話ツリー300はさらに、いくつかのテキスト単位(例えば、基本談話単位(EDU)324~346)を含み得る。各修辞関係は、2つ以上のEDU間の修辞関係性を表す。一例として、修辞関係314は、EDU334とEDU336との間の修辞関係性(例えば、「説明」)を表し得る。
【0048】
談話ツリー300を構築するための任意の好適な方法を利用することができる。談話ツリー300を構築するための1つの例示的な方法は、以下の動作を含み得る。
【0049】
(1)以下の(a)および(b)によって談話テキストを複数単位に分割する。
(a)単位サイズが分析の目的に応じて変わる可能性がある。
【0050】
(b)典型的には単位は節である。
(2)各々の単位およびそれぞれの隣接単位を検査する。それらの間に関係が保たれているか(例えば、予め規定された規則のセットに少なくとも部分的に基づいて識別される)?
(3)関係が保たれている場合、その関係に印を付ける。
【0051】
(4)関係が保たれていない場合、その単位はより高いレベルの関係の境界にある可能性がある。より大きな単位(スパン)同士の間に保たれている関係に注目する。
【0052】
(5)テキスト中のすべての単位が把握されるまで続ける。
いくつかの実施形態では、MMDT生成モジュール120は、コーパスの各テキストについて談話ツリーを生成し得る。さまざまな程度の粒度で生成された談話ツリーが存在し得る。例えば、DTは、各センテンスについて、各パラグラフについて、各ドキュメントについて、など生成され得る。各談話ツリーは、ノードを含み得て、各非終端ノード(または、エッジ)は、フラグメント(例えば、センテンスフラグメント)のうちの2つのフラグメント間の修辞関係性を表し、談話ツリーのノードの各終端ノードは、フラグメントのうちの1つに関連付けられる。
【0053】
図2に戻って、(任意の好適な粒度に従って)コーパスのテキスト(例えば、犯罪事例に関連する警察報告書および/またはテキスト情報)についてDTが生成されると、方法200は203に進み得て、203において、コーパスの各テキストについてコミュニケーション用談話ツリー(CDT)が生成され得る。図4は、テキストからCDTを生成するための技術をより詳細に説明している。
【0054】
図4は、少なくとも1つの実施形態に係る、コミュニケーション用談話ツリーを生成するための方法400のフローを示す図である。いくつかの実施形態では、コミュニケーション用談話ツリーを利用してクエリを生成することは、検索エンジン結果の向上を可能にする。
【0055】
ブロック401において、プロセス400は、フラグメントを含むセンテンス(例えば、図2の201において取得されたコーパスのセンテンス)にアクセスすることを含む。少なくとも1つのフラグメントは、動詞と、1つまたは複数の単語とを含み、各単語は、フラグメント内の単語の役割を含み、各フラグメントは、基本談話単位である。
【0056】
いくつかの実施形態では、図1のMMDT生成モジュール120は、センテンスがいくつかのフラグメントを含むことを識別し得る。各フラグメントは動詞を含み得るが、フラグメントは動詞を含まなくてもよい。
【0057】
ブロック402において、プロセス400は、センテンスフラグメント間の修辞関係性を表す談話ツリーを生成することを含む。例えば、MMDT生成モジュール120は、図3と関連付けて論じられたように1つまたは複数の談話ツリーを生成し得る。各談話ツリーは、ノードを含み得て、各非終端ノードは、センテンスフラグメントのうちの2つのセンテンスフラグメント間の修辞関係性を表し、談話ツリーのノードの各終端ノードは、センテンスフラグメントのうちの1つに関連付けられる。
【0058】
ブロック403において、プロセス400は、複数の動詞シグネチャにアクセスすることを含む。例えば、MMDT生成モジュール120は、(例えば、VerbNet、予め規定された動詞のリストなどから)動詞のリストにアクセスし得る。各動詞は、フラグメントの動詞に一致し得るか、または関連し得る。例えば、フラグメントが動詞「否定する(deny)」を含んでいた場合、MMDT生成モジュール120は、動詞「deny」に関連する動詞シグネチャのリストにアクセスし得る。
【0059】
各々の動詞シグネチャは、フラグメントの動詞と、主題役割の1つ以上とを含み得る。例えば、シグネチャは、名詞句(NP)、名詞(N)、コミュニケーション行動(V)、動詞句(VP)または副詞(ADV)のうち1つ以上を含む。主題役割は、動詞と関連する単語との関係性を記述している。例えば、「the teacher amused the children」は、「small children amuse quickly」とは異なるシグネチャを有する。第1のフラグメントである動詞「deny」の場合、アプリケーション102は、フレームのリスト、または、「deny」に一致する動詞についての動詞シグネチャにアクセスする。リストは「NP V NP to be NP」、「NP V that S」、および「NP V NP」である。
【0060】
各々の動詞シグネチャは主題役割を含む。主題役割は、センテンスフラグメントにおける動詞の役割を指している。いくつかの実施形態では、MMDT生成モジュール120は、各々の動詞シグネチャにおける主題役割を判断する。例示的な主題役割は、「actor」(行動者)、「agent」(エージェント)、「asset」(アセット)、「attribute」(属性)、「beneficiary」(受益者)、「cause」(原因)、「location destination source」(位置宛先送信元)、「destination」(宛先)、「source」(源)、「location」(位置)、「experiencer」(経験者)、「extent」(程度)、「instrument」(器具)、「material and product」(材料および製品)、「material」(材料)、「product」(製品)、「patient」(患者)、「predicate」(述語)、「recipient」(受取側)、「stimulus」(刺激)、「theme」(テーマ)、「time」(時間)または「topic」(トピック)を含む。
【0061】
ブロック404において、プロセス400は、動詞シグネチャの各動詞シグネチャについて、フラグメントにおける単語の役割に一致するそれぞれのシグネチャのいくつかの主題役割を判断することを含む。例えば、未処理のテキストセンテンスのフラグメントが動詞「deny」を含む場合、MMDT生成モジュール120は、動詞「deny」が「agent」、「verb」および「theme」の3つの役割のみを有すると判断し得る。
【0062】
ブロック405において、プロセス400は、最も多い一致数を有する特定の動詞シグネチャに基づいて、動詞シグネチャからこの特定の動詞シグネチャを選択することを含む。例えば、フラグメント「the rebels deny... that they control the territory」は、動詞シグネチャ「deny」「NP V NP」とマッチングされ得て、「control」は、control (rebel, territory)とマッチングされる。動詞シグネチャはネストされ、その結果、「deny (rebel, control (rebel, territory))」というネストされたシグネチャが得られる。各々の選択された動詞シグネチャは、対応するフラグメントに関連付けられて、コミュニケーション用談話ツリーが完成する。
【0063】
図2の204に戻って、図3および図4と関連付けて上記した態様でテキストのコーパスについてコミュニケーション用談話ツリー(CDT)が生成されると、MMDT生成モジュール120は、テキストコーパスについて拡張談話ツリー(EDT)を構築することができる。図5および図6は、テキストコーパスについてEDTを生成するための技術をより詳細に説明している。
【0064】
図5は、少なくとも1つの実施形態に係る、拡張談話ツリーの一例を示す図である。図5は、拡張談話ツリー500を示している。示されているように、拡張談話ツリー500は、グループ500,520,530,540および550を含む。各グループは、(例えば、テキストコーパスからの)ドキュメントと、当該ドキュメントから生成された談話ツリーとを含む。例えば、グループ510は、談話ツリー511とドキュメント512とを含み、グループ520は、談話ツリー521とドキュメント522とを含む、などである。図5に示される談話ツリーは、図2の202において上記のように生成されたDTの一例であり得て、および/または、図5の談話ツリーは、図2の203において上記のように生成されたCDTの一例であり得る。
【0065】
例えば談話ツリー511,521,531,541および551などの特定の談話ツリー内のリンクに加えて、拡張談話ツリー500は、談話ツリー間リンク561~564と、関連付けられたドキュメント間リンク571~574とを含む。図6に関してさらに説明するように、MMDT生成モジュール120は、談話ツリー511~515を構築することができる。談話ツリー511はドキュメント512を表現し、談話ツリー521はドキュメント522を表現する、などである。拡張談話ツリー500は、(例えば、各ツリーについてプロセス400を使用して)各パラグラフまたはドキュメントについて談話ツリー(例えば、DTおよび/またはCDT)を構築することによって構築され得る。
【0066】
談話ツリー間リンク561は、談話ツリー511と521とを接続しており、談話ツリー間リンク562は、談話ツリー521と531とを接続しており、談話ツリー間リンク563は、談話ツリー511と541とを接続しており、談話ツリー間リンク564は、談話ツリー521と551とを接続している。談話ツリー間リンク561~564に基づいて、MMDT生成モジュール120は、談話ツリー間リンク561,562,563および564にそれぞれ対応するドキュメント間リンク571,572,573および574を作成する。ドキュメント間リンク571~574を使用して、ドキュメント512,522,532,542および552をナビゲートすることができる。
【0067】
MMDT生成モジュール120は、談話ツリー511~515のうちの第1の談話ツリー内の1つまたは複数のエンティティを決定する。エンティティの例としては、場所、もの、人または企業が挙げられる。次いで、MMDT生成モジュール120は、他の談話ツリーに存在する同一のエンティティを識別する。決定されたエンティティに基づいて、MMDT生成モジュール120は、各々の一致するエンティティ間の修辞関係性を決定する。これらの決定は、談話ツリーの生成に使用される談話規則と同一の談話規則を利用する。
【0068】
例えば、例えば「San Francisco is in California(サンフランシスコはカリフォルニアにある)」などのドキュメント512においてエンティティ「San Francisco」が出現し、「San Francisco has a moderate climate but can be quite windy(サンフランシスコの気候は穏やかであるが、かなり風が強いだろう)」とドキュメント522がさらに説明する場合、MMDT生成モジュール120は、エンティティ「San Francisco」間の修辞関係性が「詳述」のうちの1つであると判断して、リンク561および571に「詳述」として印を付けることができる。いくつかの実施形態では、MMDT生成モジュール120は、談話パーサーを利用して、EDU(例えば、ドキュメント512からの「San Francisco is in California」およびドキュメント522からの「San Francisco has a moderate climate but can be quite windy」)の組み合わせを構文解析して、一方が他方の詳述であることを識別し得る。いくつかの実施形態では、この関係性は一方向であってもよく、または、二方向の関係を表すために(例えば、2つのEDUの各々が他方の詳述であることを示すために)複数の修辞関係性が使用されてもよい。上述の例に続けて、MMDT生成モジュール120は、決定された修辞関係に基づいてリンク562~564および対応するリンク572~574を決定する。MMDT生成モジュール120は、ドキュメントのパラグラフの談話ツリーを組み合わせて、拡張談話ツリー500を形成する。
【0069】
拡張談話ツリー500におけるリンクを使用することによって、MMDT生成モジュール120は、同一のドキュメントのパラグラフ間または例えばドキュメント512および522などのドキュメント間をナビゲートすることができる。例えば、ユーザが特定のトピックに関するより多くの情報に関心がある場合、MMDT生成モジュール120は、パラグラフ内の核から衛星への詳述修辞関係または当該トピックに関するより具体的な情報を提供するドキュメントへの詳述修辞関係ハイパーリンクを介してナビゲートすることができる。
【0070】
逆に、ユーザは、提案されたトピックが必ずしも必要なものではないと判断する場合、ドキュメントのより高いレベルのビューに(例えば、衛星から核に、または狭いドキュメントから広いドキュメントに)戻ることができる。次に、MMDT生成モジュール120は、逆の順序で、すなわちパラグラフにおいてまたはドキュメント間で衛星から核に、詳述関係性をナビゲートすることができる。同様に、MMDT生成モジュール120は、物議を醸すトピックを探索するために対比または条件修辞関係性に依存するなどの、他のナビゲーションオプションを容易にすることができる。
【0071】
異なるパラグラフまたはドキュメントにおけるテキストフラグメント間の修辞リンクを構築するために、MMDT生成モジュール120は、架空のテキストフラグメントまたは一時的なパラグラフを使用することによって、元のパラグラフのそれぞれのテキストフラグメントからエンティティ間の関係性を識別して、パラグラフに対して共参照分析および談話構文解析を実行し得る。いくつかの実施形態では、MMDT生成モジュール120は、オントロジ(例えば、図1のオントロジ117)を利用して、当該オントロジにおいて提供された関係性に基づいてエンティティ間の関係性を識別し得る。
【0072】
図6は、少なくとも1つの実施形態に係る、拡張談話ツリー(例えば、図5の拡張談話ツリー500)を作成するためのプロセス600の一例のフローチャートである。プロセス600の入力は、ドキュメントのセットであり、出力は、各ノードについてのドキュメント識別情報のラベルを有する通常の談話ツリーとして符号化された拡張談話ツリーである。例示の目的で、プロセス600は、例えばドキュメント110a~110b(例えば、図2の201において取得されたコーパステキストの例)などの2つのドキュメントに関して説明されているが、プロセス600は、任意の数のドキュメントを使用することができる。
【0073】
ブロック601において、プロセス600は、第1のドキュメントおよび第2のドキュメントにアクセスすることを含む。ドキュメントの例としては、テキスト、本、ニュース記事および他の電子テキストドキュメントが挙げられる。法律執行の分野において提供される例では、ドキュメントは、申し立てられた犯罪事例に対応する任意の好適なテキストドキュメントであり得る。ドキュメントは、警察報告書、証人/被害者/加害者とされる者による陳述などを含み得る。
【0074】
一態様において、MMDT生成モジュール120は、ドキュメントのセンテンス構造およびフレーズ構造を表すドキュメントツリーの生成を含むドキュメント分析を実行する。ドキュメント間リンクに関連付けられた修辞関係は、さまざまなナビゲーションシナリオを決定することができる。デフォルトで、詳述を使用することができる。MMDT生成モジュール120は、ユーザが「なぜ」または「どのように」などの質問に関心がある場合、属性関係によって関連付けられた別のドキュメントへのリンクを提供することができる。ユーザが元々提示されたドキュメントに対して異議を表明する場合、またはユーザが現在のドキュメントに対する対照物を提供するドキュメントを要求する場合、MMDT生成モジュール120は、対比関係によって関連付けられるドキュメントへのリンクを提供することができる。
【0075】
さらに他の態様において、MMDT生成モジュール120は、第1および第2のドキュメントを取得する。ブロック602において、プロセス600は、第1のドキュメントの第1のパラグラフについて第1の談話ツリーを作成することを含む。MMDT生成モジュール120は、第1のドキュメントからパラグラフにアクセスする。このパラグラフの各センテンスは、フラグメントまたは基本談話単位を含む。少なくとも1つのフラグメントは、動詞を含む。フラグメントにおける各単語は、フラグメント内の単語の、例えば機能などの役割を含む。MMDT生成モジュール120は、図3と関連付けて上記した技術に従って、フラグメント間の修辞関係性を表す談話ツリーを生成する。この談話ツリーは、複数のノードを含み、各非終端ノードは、2つのフラグメント間の修辞関係性を表し、各終端ノードは、フラグメントのうちの1つに関連付けられる。MMDT生成モジュール120は、このように続いていって、第1のドキュメントにおける各パラグラフについて談話ツリーのセットを構築する。プロセス600は、テキストの単位としてのパラグラフに関して説明されているが、テキストの他のサイズ(例えば、センテンス、ページ、章など)も使用することができる。
【0076】
ブロック603において、プロセス600は、第2のドキュメントの第2のパラグラフについて第2の談話ツリーを作成することを含む。ブロック603において、プロセス600は、ブロック602において第1のドキュメントに対して実行されたステップと実質的に同様のステップを第2のドキュメントに対して実行する。プロセス600が3つ以上のドキュメントについて拡張談話ツリーを作成する場合、プロセス600は、ブロック602において説明した機能を複数のドキュメントに対して実行する。プロセス600は、各談話ツリーがドキュメントに対応する談話ツリーのセットの中の談話ツリーのペア全てに対して反復処理することができる。談話ツリーのペアは、以下によって表すことができる。
【0077】
DTおよびDT∈DTA
ブロック604において、プロセス600は、第1の談話ツリーからエンティティおよび対応する第1の基本談話単位を決定することを含む。キーワード処理(第1のドキュメントのセンテンスにおける予め規定されたキーワードのリストのうちの1つを検索すること)、トレーニングされた機械学習モデルの使用、またはインターネットリソースの検索などのさまざまな方法を使用することができる。MMDT生成モジュール120は、談話ツリーDTおよびDTにおける全ての名詞句および固有表現を識別する。
【0078】
一例では、MMDT生成モジュール120は、談話ツリーから名詞句を抽出する。次いで、MMDT生成モジュール120は、トレーニングされた機械学習モデルを使用して、当該名詞句を(i)エンティティとして、または(ii)エンティティでないとして分類する。
【0079】
ブロック605において、プロセス600は、第2の談話ツリーにおいて、第1の基本談話単位に一致する第2の基本談話単位を決定することを含む。より具体的には、MMDT生成モジュール120は、重複を算出して、DTとDTとの間の共通のエンティティEi,jを識別する。MMDT生成モジュール120は、等しい、サブエンティティである、または一部であるなどの、Ei,jにおけるエンティティの発生間の関係性を確立する。次いで、MMDT生成モジュール120は、Ei,jにおける各エンティティペア発生についてパラグラフ間修辞リンクR(Ei,j)を形成する。
【0080】
ブロック606において、プロセス600は、第1の基本談話単位と第2の基本談話単位との間の修辞関係性の決定に応答して、当該修辞関係性を介して第1の談話ツリーおよび第2の談話ツリーをリンクさせることによって、拡張談話ツリーを作成することを含む。より具体的には、MMDT生成モジュール120は、例えばEDU(E)およびEDU(E)などのテキストフラグメントの併合を形成して、そのDTを構築して、認識された関係ラベルを各修辞リンクで使用することによって、各修辞リンクについて修辞関係を分類する。
【0081】
一態様において、MMDT生成モジュール120は、第1の基本談話単位と第2の基本談話単位とを組み合わせて、一時的なパラグラフにする。次いで、談話ナビゲーションアプリケーション102は、一時的なパラグラフに談話構文解析を適用することによって、一時的なパラグラフ内の第1の基本談話単位と第2の基本談話単位との間の修辞関係性を決定する。
【0082】
さらに他の態様において、修辞関係性を決定しないことに応答して、MMDT生成モジュール120は、第1の基本談話単位と第2の基本談話単位との間のタイプ詳述のデフォルト修辞関係性を作成して、第1の談話ツリーと第2の談話ツリーとをリンクさせる。
【0083】
一態様において、MMDT生成モジュール120は、ドキュメントにわたるテキストスパン間のリンクの自動構築および類別を実行する。ここで、以下のアプローチ群、すなわち語彙距離、語彙連鎖、情報抽出および言語学テンプレートマッチングを使用することができる。語彙距離は、センテンスのペアにわたるコサイン類似度を使用することができ、語彙連鎖は、同義性および上位概念を活用してよりロバストであることができる。
【0084】
拡張談話ツリーは、さまざまなレベルの粒度で2つ以上のドキュメント間の関係性を形成することができる。例えば、プロセス600に関して説明したように基本談話単位間の関係性を決定することができる。さらに、拡張談話ツリーは、単語、センテンス、パラグラフ、ドキュメントのセクション、またはドキュメント全体間の関係性を表すことができる。示されているように、各々の個々のグラフは、各々の個々のドキュメントのより小さなサブグラフで構成される。単一のドキュメント内のトピック間の論理的接続を表すリンクが示される。
【0085】
図7は、一態様に係る、さまざまなレベルの粒度でのドキュメントのテキスト単位間の関係性を示す図である。図7は、各々が別々のドキュメントに対応する談話ツリー701,702および703を示している。また、図7は、ドキュメント702および703における単語をリンクさせる単語リンク710、ドキュメント701および702におけるパラグラフまたはセンテンスをリンクさせるパラグラフ/センテンスリンク711、ドキュメント701および703におけるフレーズをリンクさせるフレーズリンク712、ならびにドキュメント701および703をリンクさせるドキュメント間リンク713などのさまざまなドキュメント間リンクを示している。MMDT生成モジュール120は、リンク710~713を使用してドキュメント701~703間をナビゲートすることができる。
【0086】
プロセス700によって作成される拡張談話ツリーなどの拡張談話ツリーは、ドキュメントまたはテキストの他の本文をナビゲートするのに使用することができる。拡張談話ツリーは、自律エージェント、検索およびナビゲーションの向上、質問-回答調整などのさまざまなアプリケーションを可能にする。いくつかの実施形態では、プロセス700によって作成されるEDTなどのEDTは、少なくとも部分的に、入力(例えば、テキストおよび/または数値ベースのデータを含む任意の好適な入力)を分類するように分類器(例えば、図1の分類器112)をトレーニングするためのトレーニングデータとして利用することができる。
【0087】
図2に戻って、205において、付随データレコードが取得され得る。警察記録が利用される今回の例では、付随データレコードは、任意の好適なデータレコードを含み得る。ほんの一例として、この例のデータレコードは、通話ログ、位置データ、金融取引(例えば、銀行口座明細書)、ウェブページ訪問、画像などを含み得る。一般に、データレコードは、同一のソースから取得されてもよく、または異なるソースから取得されてもよい。これらのソースは、テキストデータのソースとは異なり得る。
【0088】
206において、各データレコードは、統一的な形式に変換されたレコードの少なくとも一部を有し得る。例えば、各データソースは、時間、日付、場所、人名、電話番号、口座番号(入手可能である場合)などの正規化された固有表現を有する統一的な正規形式に変換され得る。いくつかの実施形態では、変換された特定の形式および/またはコンテンツは、コンテキストおよび予め規定された規則のセットに依存し得る。いくつかの実施形態では、この情報は、最初は異なる形式でまたは異なる識別子によって提供され得るが、規則のセットおよび/またはオントロジ117を利用して統一的な識別子(例えば、名前)を識別し得て、各レコードのデータは、識別子(例えば、元々含まれていた識別子および/または統一的な識別子)に関連付けられ得る。
【0089】
207において、(例えば、テキストのコーパスから生成された)EDTの各基本談話単位(EDU)について、付随データレコードに関連付けられる可能性があるいくつかの候補フレーズが識別され得る。いくつかの実施形態では、特定の候補フレーズ(例えば、特定のEDU)を識別することは、ドメインおよびそのような候補フレーズを識別するための予め規定されたプロトコルに依存し得る。
【0090】
208において、各候補フレーズについて、MMDT生成モジュール120は、候補フレーズのエンティティを識別し得る。いくつかの実施形態では、識別された特定のエンティティは、コンテキスト/ドメインおよび予め規定された規則のセットに依存し得る。いくつかの実施形態では、この情報は、最初は異なる形式でまたは異なる識別子によって提供され得るが、規則のセットおよび/またはオントロジ117を利用して統一的な識別子(例えば、名前)を識別し得て、候補フレーズは、識別子(例えば、元々含まれていた識別子および/または統一的な識別子)に関連付けられ得る。
【0091】
209において、MMDT生成モジュール120は、データレコードと候補フレーズとの間および/またはデータレコード間で一致するエンティティを識別し得る。例えば、MMDT生成モジュール120は、各データレコードの各エンティティに対して反復処理して、それらのエンティティと他のデータレコードに関連付けられたエンティティとを比較し得る。一致するエンティティを有する2つのデータレコード間の関連付けは、見出された任意の好適な数の一致にわたって維持され得る。いくつかの実施形態では、一致するデータレコードのリストが維持され得る。別の例として、MMDT生成モジュール120は、各候補フレーズに対して反復処理して、候補フレーズのエンティティと各データレコードに関連付けられたエンティティとを比較し得る。候補フレーズとデータレコードとの間に一致が見出される場合、この一致を示す関連付けが維持され得る。いくつかの実施形態では、一致するEDU/データレコードペアのリストが維持され得る。
【0092】
210において、MMDT生成モジュール120は、データレコード間および/またはEDU(候補フレーズ)とデータレコードとの間の因果関係リンクを決定するための動作を実行し得る。通常、複数のデータレコードは、相互接続されており、相関性があるイベント(それらのイベントのうちのいくつかがその他のイベントを生じさせる)を表す。(例えば、あるデータレコードにおいて参照されたイベントが、別のデータレコードにおいておよび/またはEDUとデータレコードとの間で参照されたイベントを生じさせる場合に)因果関係リンクを識別するためのアルゴリズム。例えば、人Aが人Bに電話をかけて人Aが人Bに送金する場合、前者のイベントが後者のイベントを生じさせることを識別するために規則のセットを利用することができる。いくつかの実施形態では、これらの規則は、データレコードにおける値の間に合致がない、すなわちそれらが値を共有する場合には前のイベントが後のイベントを生じさせる、という前提に基づくことができる。そのため、データレコードは、別のデータレコードまたはテキストに記載されたイベントの原因として識別することができ、逆もまた同様である。
【0093】
因果関係リンクを識別するためのアルゴリズム(例えば、因果関係リンク識別アルゴリズム)が提供される。いくつかの実施形態では、2つの演算子R(.)(理由)およびC(.)(結論)ならびにさらに他の否定-を利用することができる。2つの否定演算子、すなわち命題式を否定するための¬(¬xはxが偽であることを示す)とR(.)およびC(.)を否定するための-とが必要である。論証は、形式R(y):(-)C(x)の式である。論証は、請求を結論付けるための理由である。それは、2つの主要な部分、すなわち前提(理由)および結論、を有する。機能RおよびCはそれぞれ、理由を提供する役割および結論付ける役割を果たす。論証は、以下のように解釈することができる。すなわち、その結論は、所与の概念に従って前提から当然の結果として生じるので、成立する。この概念は、それらの間のリンクの性質(例えば、前提は結論を暗に示す)を指しており、定義においてはコロンによって正式に識別される。しかし、結論は真であり得るが機能は成立せず、逆もまた同様である。
【0094】
例えば、R(y):C(x)は、「yはxを結論付けるための理由である」ことを示す出力に対応し、R(y):-C(x)は、「yはxを結論付けないための理由である」ことを示す出力に対応する。ネストされた論証の処理は、打破する回答を発見するために重要である。なぜなら、議論のオブジェクトレベルの層のみ、またはメタレベルの層のみを別途処理することは不十分であるからである。ネストされた論証は、テキストおよびダイアログの処理の中心であり、ネストされた論証および否定に対するサポートを提供しなければならない。表2は、予め規定された定義のセットによって可能になるさまざまな形式の論証および否定を示す(x,y,z,tは、事柄を簡単にするための命題式である)。表は排他的なものではない。
【0095】
【表3】
【0096】
表2の例示的な論証は、クレジットカードの機能と関係がある。デフォルトで、クレジットカードは、特に口座残高がプラスである場合に機能する(使える状態である)。しかし、例外がある。理由が何であれ、銀行が取引を断る場合がある。これらの例は、内的および外的理由Rならびに請求Cを論証マイニング技術を使用して識別することができる可能性があることを示している。さらに、再帰によって、内的理由および請求を論証マイニング技術により識別することができる。したがって、ネストされた構造は、論証が自然言語ダイアログおよびテキストにおいて発生する場合に論証のためのターゲット言語としてより適しているように思われる。
【0097】
表3は、EDU(例えば、候補フレーズ)から論理原子を抽出して、修辞関係をR-C演算子に変換して、論証の論理表現を形成するためにMMDT生成モジュール120が使用することができるテンプレートを含む。そうするために、銀行取引ch(g)に関連する対象の表現のための意味表現を構築することができる。これらの意味表現は、EDUに関連付けられることができる。談話ツリーの決定された構造を使用してLにおけるR-C表現を形成することができ、これらのR-C表現は、下流成分における議論分析を受ける。
【0098】
【表4】
【0099】
【表5】
【0100】
【表6】
【0101】
MMDT生成モジュール120は、上記および/または下記の規則に従って2つの因果連鎖を生成して(例えば、一方は、テキストのコーパスから生成された談話ツリーのEDU/フラグメントからのものであり、他方は、データレコードのテキスト、2つの談話ツリーのそれぞれのEDU、2つの異なるデータレコードのテキストから生成されたそれぞれのEDUなどからのものである)、最初の連鎖の結果が後者または形式的なものによって引き起こされるまたは暗に示されるかどうかを判断することができる。論証のセットおよびそれらの否定は、式のセットとして提供され得て、それらの式のうちのいくつかは、以下で識別される。結果演算子-は、1つのメタ規則で拡張された推論規則のセットの最小の閉止である。これらの予め規定された規則を利用して、因果関係リンク(例えば、修辞関係「原因」)がEDUとデータレコードとの間および/またはデータレコード間で識別されるかどうかを判断することができる。これらの規則のうちのいくつかを以下に記載する。
【0102】
メタ規則は、任意の推論規則
【0103】
【数1】
【0104】
に反転させることができることを表す。
推論規則反転プロセスは、最も左側の「R」の前で否定が発生するたびに行われ、そのため、一般的なケースでは、推論規則1であり、i,j∈{0,1}である。
【0105】
【数2】
【0106】
理由は交換可能である。以下のこの規則は、相互サポートを示し得る。
【0107】
【数3】
【0108】
別の規則は、単一の論証において同一の結論について異なる理由を収集する。
【0109】
【数4】
【0110】
慎重な単調性(cautious monotonicity)は、論証の理由を、それが正当化する任意の前提で拡張できることを意味する。カット(cut)は、論証の理由の最小性の一種を表す。
【0111】
【数5】
【0112】
次の2つの規則は、R(.)およびC(.)のネスティングを表す。エクスポーテーション(exportation)は、メタ論証をどのように単純化するかを示し、配列(permutation)は、メタ論証のいくつかの形式について理由の配列が可能であることを示す。
【0113】
【数6】
【0114】
最小の推論関係が上記の規則に従っている場合に、再帰性、単調性およびカットが成立し、これは、結果関係を用いると、推論規則による論証の操作が十分な根拠のあるものになることを意味する。Δが論証(の否定)のセットであるとする。αおよびβが論証であるとする。
【0115】
α∈ΔであればΔα(再帰性)
ΔβであればΔ∪{α}β(単調性)
Δ∪{α}βおよびΔαであればΔβ(カット)
212において、MMDT生成モジュール120は、209および/または210において識別された一致および/または因果関係リンクを確認するための任意の好適な動作を実行し得る。これは、データレコード同士をリンクさせるものおよびデータレコードをEDT(例えば、EDTのEDU/候補フレーズ)にリンクさせるものを含む各因果関係リンクに対して反復処理することを含み得る。MMDT生成モジュール120は、EDTから開始して、確認されたエンティティ一致および/または因果関係リンクに関わる各データレコードについてノードおよびエッジを生成して、MMDTを生成し得る。一例として、2つのデータレコード間またはデータレコードとテキストのコーパスから生成されたEDUとの間にエンティティ一致が識別されるとともに、一方の(または、両方の)データレコードについてノードがEDTにまだ存在していない場合には、新たなノードが(例えば、各データレコードについて)生成され得て、特定のユースケースに応じて、一方のデータレコードの新たなノードが、コーパスから生成されたEDUまたは他方のデータレコードについて生成された新たなノードにリンクされ得る。例えば、コーパスから生成されたEDUが、データレコードに見られるエンティティに一致するエンティティを含む(例えば、それらが両方とも図1のオントロジ117に見られる用語を含む、それらが両方とも「San Francisco」などの一致する名詞を含む、など)とともに、データレコードのノードがまだ存在していない場合には、MMDT生成モジュール120は、EDTについて新たなノードを生成し得て、EDUに対応するノードが、修辞関係(例えば、「詳述」)に関連付けられたエッジを使用してこの新たなノードにリンクされ得る。いくつかの実施形態では、MMDT生成モジュール120は、1つの修辞関係(例えば、「詳述」)を介してエンティティ一致同士をリンクさせ得る一方、因果関係リンク同士は、異なる修辞関係(例えば、「原因」)を介してMMDTにおいてリンクされ得る。
【0116】
図8は、少なくとも1つの実施形態に係る、マルチモーダル談話ツリー800の一例を示す図である。図8は、図5の拡張談話ツリー500を、データレコード802,804および806に対応するさらに他のエッジとともに示している。
【0117】
例えば談話ツリー511,521,531,541および551などの特定の談話ツリー間のリンクに加えて、拡張談話ツリー500は、談話ツリー間リンク561~564と、関連付けられたドキュメント間リンク571~574とを含む。図6に関してさらに説明するように、MMDT生成モジュール120は、談話ツリー511~515を構築することができる。談話ツリー511はドキュメント512を表現し、談話ツリー521はドキュメント522を表現する、などである。拡張談話ツリー500は、各パラグラフまたはドキュメントについて談話ツリー(例えば、DTおよび/またはCDT)を構築することによって構築され得る。談話ツリー511~515は、コーパスのテキストから構築され得る。
【0118】
談話ツリー間リンク561は、談話ツリー511と521とを接続しており、談話ツリー間リンク562は、談話ツリー521と531とを接続しており、談話ツリー間リンク563は、談話ツリー511と541とを接続しており、談話ツリー間リンク564は、談話ツリー521と551とを接続している。談話ツリー間リンク561~564に基づいて、MMDT生成モジュール120は、談話ツリー間リンク561,562,563および564にそれぞれ対応するドキュメント間リンク571,572,573および574を作成する。ドキュメント間リンク571~574を使用して、ドキュメント512,522,532,542および552をナビゲートすることができる。
【0119】
MMDT生成モジュール120は、談話ツリー511~515のうちの第1の談話ツリー内の1つまたは複数のエンティティを決定する。エンティティの例としては、場所、もの、人または企業が挙げられる。次いで、MMDT生成モジュール120は、他の談話ツリーに存在する同一のエンティティを識別する。決定されたエンティティに基づいて、MMDT生成モジュール120は、各々の一致するエンティティ間の修辞関係性を決定する。
【0120】
上記のように、MMDT生成モジュール120は、談話ツリー511~515のうちの第1の談話ツリーのEDUおよびデータレコード内の1つまたは複数のエンティティを識別するように構成され得る。例えば、MMDT生成モジュール120は、談話ツリー510およびデータレコード802内で参照されるエンティティを識別し得る。決定されたエンティティに基づいて、MMDT生成モジュール120は、リンク808(例えば、エッジ)を生成し得る。
【0121】
いくつかの実施形態では、MMDT生成モジュール120は、談話ツリー511~515のうちの第1の談話ツリーのEDUおよびデータレコード内、ならびに/または、データレコード間の1つまたは複数の因果関係リンクを識別するように構成され得る。例えば、図2と関連付けて上記したアルゴリズムを使用して、MMDT生成モジュール120は、データレコード802と804との間および談話ツリー541(または、談話ツリー541のEDU)とデータレコード806との間の因果関係リンクを識別し得る。MMDT生成モジュール120は、これらの識別情報に基づいて、因果関係リンク810および812をそれぞれ生成し得る。
【0122】
拡張談話ツリー500におけるリンクを使用することによって、MMDT生成モジュール120は、同一のドキュメントのパラグラフ間またはテキストコーパスのドキュメント間、およびデータレコードと談話ツリーとの間をナビゲートすることができる。MMDT800は、少なくとも最初は、リンク808~812に対応する修辞関係を含んでいなくてもよい。
【0123】
図2に戻って、214において、MMDT生成モジュール120は、212において識別確認されたフェーズ/データレコードの一致/リンクとデータレコード/データレコードの一致/リンクとの間の修辞関係を識別するための動作を実行し得る。テキストフラグメント間の修辞関係を識別するために、MMDT生成モジュール120は、元のパラグラフのそれぞれのテキストフラグメントから、架空のテキストフラグメントまたは一時的なパラグラフを使用して、エンティティ間の関係性を識別して、パラグラフに対して一貫性分析および談話構文解析を実行し得る。いくつかの実施形態では、MMDT生成モジュール120は、オントロジ(例えば、図1のオントロジ117)を利用して、当該オントロジにおいて提供された関係性に基づいてエンティティ間の関係性を識別し得る。識別された修辞関係性は、図8のリンク808~812に関連付けられ得る。
【0124】
216において、MMDT生成モジュール120は、データレコード(例えば、データレコード808~812)をEDTの核または衛星に対応するものとして識別するための動作を実行し得る。データレコードをEDTの(例えば、EDTが関連付けられる候補フレーズ/EDUの)核または衛星に対応するものとして識別するために、任意の好適な予め規定された規則セットが利用され得る。
【0125】
218において、生成されたMMDTは、正規化されたMMDTに変換され得る。この変換は、データレコードについてEDUを生成して、216においてなされた決定に従って、生成されたEDUをEDTに添付することを含み得る。以前にテキストEDUのペアにリンクされて詳述修辞関係と関係付けられたデータレコードがEDUとして追加され得る単純な例が以下に記載されている。予め規定された規則セットに従って核を強化するために修辞関係(原因)が挿入され得る。このプロセスは、各データレコードが今しがた完了したMMDTにEDUとして含まれるまで、各データレコードについて実行され得る。
【0126】
【表7】
【0127】
図9は、少なくとも1つの実施形態に係る、MMDTの、さまざまなレベルの粒度でのドキュメントのテキスト単位間の関係性およびそれらのテキスト単位と関連するデータレコードとの間の関係性を示す図である。図9は、各々が別々のドキュメントに対応する談話ツリー901,902および903(例えば、それぞれ図3および図4において上記した技術を使用して生成されたDTまたはCDTの例)を含むMMDT900を示している。また、図9は、ドキュメント902および903における単語をリンクさせる単語リンク910、ドキュメント901および902におけるパラグラフまたはセンテンスをリンクさせるパラグラフ/センテンスリンク911、ドキュメント901および903におけるフレーズをリンクさせるフレーズリンク912、ならびにドキュメント901および903をリンクさせるドキュメント間リンク913などのさまざまなドキュメント間リンクを示している。また、MMDT900は、データレコード905~909を含む。MMDT900は、図2と関連付けて上記した態様で識別された任意の好適な数の因果関係リンク(例えば、因果関係リンク910~912)および/またはエンティティリンク(例えば、エンティティリンク913~915)を含み得る。いくつかの実施形態では、データレコード905~909の各々は、データレコード905~909をリンクさせる談話ツリー901~903内のEDUとして含まれ得る。MMDT生成モジュール120は、任意の好適なリンクを使用して、ドキュメント901~903および/またはデータレコード905~909間をナビゲートすることができる。
【0128】
図10は、少なくとも1つの実施形態に係る、マルチモーダル談話ツリーを生成するための方法1000のフローを示す図である。いくつかの実施形態では、方法1000は、図1のコンピューティングデバイス102(例えば、図1のアプリケーション106、図1のMMDT生成モジュール120)によって実行され得る。方法1000の動作は、任意の好適な順序で実行され得る。いくつかの実施形態では、方法1000は、図10に示される動作よりも多くの動作を含んでいてもよく、または図10に示される動作よりも少ない動作を含んでいてもよい。
【0129】
方法1000は、1001から開始し得て、1001において、テキストのコーパスと、テキストのコーパスとは別の1つまたは複数のデータレコードとが(例えば、それぞれ図1のテキストデータ116およびレコードデータストア118から)取得され得る。1つまたは複数のデータレコードは、任意の好適なソースから取得され得る。いくつかの実施形態では、1つまたは複数のデータレコードのソースは、テキストのコーパスのソースとは異なり得る。
【0130】
1002において、テキストのコーパスについて拡張談話ツリー(例えば、図5および図8のEDT500)が生成され得る。いくつかの実施形態では、拡張談話ツリーは、複数の談話ツリー(例えば、各々が図3のDT300または図4のCDT400の一例)を含む。いくつかの実施形態では、各談話ツリーは、複数のノードを含み、談話ツリーの各終端ノードは、テキストのフラグメント(および/または、データレコード)に対応し、談話ツリーの各非終端ノードは、談話ツリーのノード間の修辞関係性を示す。いくつかの実施形態では、拡張談話ツリーは、それぞれの談話ツリーのノード間のさらに他の修辞関係性を示す複数の談話ツリー間のさらに他のリンクを含む。
【0131】
1003において、複数の談話ツリーの基本談話単位のセットと1つまたは複数のデータレコードとの間(および/または、基本談話単位間)のエンティティ一致が識別され得る。いくつかの実施形態では、エンティティ一致は、基本談話単位から識別された第1のエンティティとデータレコードから識別された第2のエンティティとを比較することによって識別される。
【0132】
1004において、1つまたは複数の因果関係リンクが識別され得る。例えば、1つまたは複数のデータレコードのうちの2つのデータレコード間の1つまたは複数の因果関係リンクを識別するために、(例えば、図2と関連付けて説明した)因果関係リンク識別アルゴリズムが実行され得る。
【0133】
1005において、識別された各エンティティ一致および識別された1つまたは複数の因果関係リンクの各々について、対応する修辞関係性。一例として、各エンティティ一致については「詳述」修辞関係性が識別され得て、各因果関係リンクについては「原因」修辞関係性が識別され得る。
【0134】
1006において、拡張談話ツリーのために、識別された各エンティティ一致および識別された各因果関係リンクについて、それぞれのノードが生成され得る。
【0135】
1007において、決定された対応する修辞関係性に少なくとも部分的に基づいて、各エンティティ一致および各因果関係リンクについて生成されたそれぞれのノードが、拡張談話ツリーのそれぞれのノードにリンクされることによって、マルチモーダル談話ツリー(例えば、図8および図9のMMDT800および900)が作成され得る。
【0136】
いくつかの実施形態において、上記拡張談話を生成するステップは、i)上記テキストのコーパスの第1のテキストから第1の談話ツリーを生成するステップを含み、上記第1の談話ツリーは、上記第1のテキストの第1の部分に対応し、上記拡張談話を生成するステップはさらに、ii)上記テキストのコーパスの第2のテキストから第2の談話ツリーを生成するステップを含み、上記第2の談話ツリーは、上記第2のテキストの第2の部分に対応し、上記拡張談話を生成するステップはさらに、iii)上記第1の談話ツリーおよび上記第2の談話ツリーのそれぞれの基本談話単位間の特定の修辞関係性の決定に応答して、上記特定の修辞関係性を使用して上記第1の談話ツリーおよび上記第2の談話ツリーをリンクさせるステップを含む。
【0137】
いくつかの実施形態において、上記第1の談話ツリーおよび上記第2の談話ツリーは、上記第1の談話ツリーおよび上記第2の談話ツリーの各基本談話単位について生成されたそれぞれの動詞シグネチャを含むコミュニケーション用談話ツリーである。
【0138】
いくつかの実施形態において、上記エンティティを識別するステップは、上記データレコードから識別された上記第2のエンティティと第2のデータレコードから識別された第3のエンティティとを比較するステップをさらに含み、エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、または(v)日付もしくは時刻のうちの1つを指す。
【0139】
いくつかの実施形態において、上記エンティティ一致を識別するステップは、予め規定されたオントロジから上記エンティティを識別するステップをさらに含む。
【0140】
いくつかの実施形態において、方法1000は、上記マルチモーダル談話ツリーに少なくとも部分的に基づいて後続の入力を分類するステップをさらに含み得て、上記後続の入力を分類するステップは、i)複数のマルチモーダル談話ツリーを含むトレーニングデータセットを生成するステップを含み、各マルチモーダル談話ツリーは、それぞれのテキストコーパスおよびそれぞれのデータレコードのセットに対応し、各マルチモーダル談話ツリーは、分類に対応するラベルに関連付けられ、上記後続の入力を分類するステップはさらに、ii)上記トレーニングデータセットおよび教師あり学習アルゴリズムに少なくとも部分的に基づいて入力を分類するように機械学習モデルをトレーニングするステップと、iii)上記後続の入力から対応するマルチモーダル談話ツリーを生成するステップとを含み、上記後続の入力は、それぞれのテキストのセットと、それぞれのデータレコードのセットとを含み、上記後続の入力を分類するステップはさらに、iv)上記後続の入力から生成された上記対応するマルチモーダル談話を上記機械学習モードに入力として提供して、上記後続の入力の分類を示す出力を上記機械学習モデルから受信することに少なくとも部分的に基づいて、上記後続の入力を分類するステップを含む。
【0141】
いくつかの実施形態において、方法1000は、上記マルチモーダル談話ツリーを使用して上記テキストのコーパスをナビゲートするステップをさらに含み、上記テキストのコーパスをナビゲートするステップは、上記マルチモーダル談話ツリーにアクセスするステップと、ユーザデバイスからのクエリに応答する第1の基本談話単位を上記マルチモーダル談話ツリーから決定するステップとを含み、上記第1の基本談話単位は、上記マルチモーダル談話ツリーの第1の談話ツリーの第1のノードに対応し、上記テキストのコーパスをナビゲートするステップはさらに、ナビゲーションオプションのセットを上記マルチモーダル談話ツリーから決定するステップを含み、上記ナビゲーションオプションのセットは、(i)上記第1の談話ツリーの上記第1のノードと上記第1の談話ツリーの第2のノードとの間の第1の修辞関係性および(ii)上記第1のノードと上記マルチモーダル談話ツリーの第2の談話ツリーの第3のノードとの間の第2の修辞関係性、またはiii)上記第1の談話ツリーの上記第1のノードと対応するデータレコードに関連付けられた上記マルチモーダル談話ツリーの第4のノードとの間の第3の修辞関係性のうちの少なくとも2つを含み、上記テキストのコーパスをナビゲートするステップはさらに、上記第1、第2または第3の修辞関係性のうちの少なくとも2つを上記ユーザデバイスに提示するステップと、上記第1の修辞関係性、上記第2の修辞関係性または上記第3の修辞関係性の選択を含むさらに他のユーザ入力の受信に応答して、i)上記第1の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記第2のノードに対応する第2の基本談話単位を提示するステップ、ii)上記第1の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記第3のノードに対応する第3の基本談話単位を提示するステップ、またはiii)上記第3の修辞関係性に対応する上記選択の決定に少なくとも部分的に基づいて、上記対応するデータレコードの少なくとも一部を提示するステップとを含む。
【0142】
例示的なコンピューティングシステム
図11は、上記態様のうちの1つを実現するための分散型システム1100の簡略図である。示されている態様においては、分散型システム1100は、1つまたは複数のネットワーク1110を介して、ウェブブラウザ、プロプライエタリクライアント(例えばOracle Forms)などのクライアントアプリケーションを実行して動作させるように構成される1つまたは複数のクライアントコンピューティングデバイス1102、1104、1106および1108を含む。サーバ1112は、ネットワーク1110を介してリモートクライアントコンピューティングデバイス1102、1104、1106および1108と通信可能に結合され得る。
【0143】
さまざまな態様においては、サーバ1112は、システムの構成要素のうちの1つ以上によって提供される1つまたは複数のサービスまたはソフトウェアアプリケーションを実行するように適合され得る。サービスまたはソフトウェアアプリケーションは非仮想環境および仮想環境を含み得る。仮想環境は、2次元または3次元(3D:three-dimensional)表現、ページベースの論理的環境などであろうとなかろうと、仮想イベント、トレードショー、シミュレータ、クラスルーム、購買商品取引および企業活動のために用いられるものを含み得る。これらのサービスは、ウェブベースのサービスもしくはクラウドサービスとして、またはソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)モデルのもとで、クライアントコンピューティングデバイス1102,1104,1106および/または1108のユーザに供給され得る。そして、クライアントコンピューティングデバイス1102,1104,1106および/または1108を動作させるユーザは、1つまたは複数のクライアントアプリケーションを利用して、サーバ1112と相互作用して、これらの構成要素によって提供されるサービスを利用し得る。
【0144】
図に示されている構成では、分散型システム1100のソフトウェアコンポーネント1118,1120および1122は、サーバ1112上に実装されるように示されている。また、他の態様においては、分散型システム1100の構成要素のうちの1つ以上および/またはこれらの構成要素によって提供されるサービスは、クライアントコンピューティングデバイス1102,1104,1106および/または1108のうちの1つ以上によって実現されてもよい。その場合、クライアントコンピューティングデバイスを動作させるユーザは、1つまたは複数のクライアントアプリケーションを利用して、これらの構成要素によって提供されるサービスを使用し得る。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実現されてもよい。分散型システム1100とは異なり得るさまざまな異なるシステム構成が可能であることが理解されるべきである。したがって、図に示されている態様は、一態様のシステムを実現するための分散型システムの一例であり、限定的であるよう意図されたものではない。
【0145】
クライアントコンピューティングデバイス1102,1104,1106および/または1108は、手持ち式携帯機器(例えばiPhone(登録商標)、携帯電話、iPad(登録商標)、計算タブレット、パーソナルデジタルアシスタント(PDA:Personal Digital Assistant))またはウェアラブル装置(例えばグーグルグラス(登録商標)ヘッドマウントディスプレイ)であってもよく、当該装置は、マイクロソフト・ウィンドウズ(登録商標)・モバイル(登録商標)などのソフトウェアを実行し、および/または、iOS、ウィンドウズ・フォン、アンドロイド(登録商標)、ブラックベリー10、パームOSなどのさまざまなモバイルオペレーティングシステムを実行し、インターネット、eメール、ショート・メッセージ・サービス(SMS:Short Message Service)、ブラックベリー(登録商標)、または使用可能な他の通信プロトコルである。クライアントコンピューティングデバイスは、汎用パーソナルコンピュータであってもよく、当該汎用パーソナルコンピュータは、一例として、マイクロソフトウィンドウズ(登録商標)、アップルマッキントッシュ(登録商標)および/またはリナックス(登録商標)オペレーティングシステムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、ワークステーションコンピュータであってもよく、当該ワークステーションコンピュータは、例えばGoogle Chrome OSなどのさまざまなGNU/リナックスオペレーティングシステムを含むがこれらに限定されるものではないさまざまな市販のUNIX(登録商標)またはUNIXライクオペレーティングシステムのうちのいずれかを実行する。代替的には、または付加的には、クライアントコンピューティングデバイス1102,1104,1106および1108は、シン・クライアントコンピュータ、インターネットにより可能なゲーミングシステム(例えばキネクト(登録商標)ジェスチャ入力装置を備えるかまたは備えないマイクロソフトXボックスゲーム機)、および/または、ネットワーク1110を介して通信が可能なパーソナルメッセージング装置などのその他の電子装置であってもよい。
【0146】
例示的な分散型システム1100は、4個のクライアントコンピューティングデバイスを有するように示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有する装置などの他の装置が、サーバ1112と相互作用してもよい。
【0147】
分散型システム1100におけるネットワーク1110は、さまざまな市販のプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者になじみのある任意のタイプのネットワークであってもよく、当該プロトコルは、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、アップルトークなどを含むが、これらに限定されるものではない。ほんの一例として、ネットワーク1110は、イーサネット(登録商標)、トークンリングなどに基づくものなどのローカルエリアネットワーク(LAN:Local Area Network)であってもよい。ネットワーク1110は、広域ネットワークおよびインターネットであってもよい。ネットワーク1110は、仮想ネットワークを含んでいてもよく、当該仮想ネットワークは、仮想プライベートネットワーク(VPN:Virtual Private Network)、イントラネット、エクストラネット、公衆交換電話網(PSTN:Public Switched Telephone Network)、赤外線ネットワーク、無線ネットワーク(例えば米国電気電子学会(Institute of Electrical and Electronics:IEEE)802.9の一連のプロトコル、ブルートゥース(登録商標)および/またはその他の無線プロトコルのうちのいずれかのもとで動作するネットワーク)、および/またはこれらの任意の組合せ、および/または他のネットワークを含むが、これらに限定されるものではない。
【0148】
サーバ1112は、1つまたは複数の汎用コンピュータ、専用サーバコンピュータ(一例として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式サーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な構成および/または組合せで構成され得る。サーバ1112は、仮想オペレーティングシステムを実行する1つまたは複数の仮想マシン、または仮想化を伴う他のコンピューティングアーキテクチャを含み得る。論理記憶装置の1つまたは複数のフレキシブルプールは、サーバのための仮想記憶装置を維持するように仮想化することができる。仮想ネットワークは、ソフトウェア定義型ネットワーキングを用いて、サーバ1112によって制御することができる。さまざまな態様においては、サーバ1112は、上記の開示に記載されている1つまたは複数のサービスまたはソフトウェアアプリケーションを実行するように適合され得る。例えば、サーバ1112は、本開示の態様に係る上記の処理を実行するためのサーバに対応し得る。
【0149】
サーバ1112は、上記のもののうちのいずれか、および、任意の市販のサーバオペレーティングシステムを含むオペレーティングシステムを実行し得る。また、サーバ1112は、ハイパーテキスト転送プロトコル(HTTP:Hypertext Transport Protocol)サーバ、ファイル転送プロトコル(FTP:File Transfer Protocol)サーバ、共通ゲートウェイインターフェース(CGI:Common Gateway Interface)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含むさまざまな付加的サーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかを実行し得る。例示的なデータベースサーバは、オラクル社(Oracle)、マイクロソフト社(Microsoft)、サイベース社(Sybase)、IBM社(International Business Machines)などから市販されているものを含むが、これらに限定されるものではない。
【0150】
いくつかの実現例では、サーバ1112は、クライアントコンピューティングデバイス1102,1104,1106および1108のユーザから受取ったデータフィードおよび/またはイベント更新を分析および統合するための1つまたは複数のアプリケーションを含み得る。一例として、データフィードおよび/またはイベント更新は、1つまたは複数の第三者情報源および連続的なデータストリームから受信されるTwitter(登録商標)フィード、Facebook(登録商標)更新またはリアルタイム更新を含み得るが、これらに限定されるものではなく、センサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(例えばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどに関連するリアルタイムイベントを含み得る。また、サーバ1112は、クライアントコンピューティングデバイス1102,1104,1106および1108の1つまたは複数の表示装置を介してデータフィードおよび/またはリアルタイムイベントを表示するための1つまたは複数のアプリケーションを含み得る。
【0151】
また、分散型システム1100は、1つまたは複数のデータベース1114および1116を含み得る。データベース1114および1116は、さまざまな場所に存在し得る。一例として、データベース1114および1116の1つ以上は、サーバ1112にローカルな(および/または存在する)非一時的な記憶媒体に存在していてもよい。代替的に、データベース1114および1116は、サーバ1112から遠く離れていて、ネットワークベースの接続または専用の接続を介してサーバ1112と通信してもよい。一組の態様においては、データベース1114および1116は、記憶領域ネットワーク(SAN:Storage-Area Network)に存在していてもよい。同様に、サーバ1112に起因する機能を実行するための任意の必要なファイルが、サーバ1112上にローカルに、および/または、リモートで適宜格納されていてもよい。一組の態様においては、データベース1114および1116は、SQLフォーマットコマンドに応答してデータを格納、更新および検索取得するように適合された、オラクル社によって提供されるデータベースなどのリレーショナルデータベースを含み得る。
【0152】
図12は、本開示の一態様に係る、一態様のシステムの1つまたは複数の構成要素によって提供されるサービスをクラウドサービスとして供給することができるシステム環境1200の1つまたは複数の構成要素の簡略ブロック図である。示されている態様においては、システム環境1200は、クラウドサービスを提供するクラウドインフラストラクチャシステム1202と相互作用するようにユーザによって使用され得る1つまたは複数のクライアントコンピューティングデバイス1204,1206および1208を含む。クライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム1202によって提供されるサービスを使用するためにクラウドインフラストラクチャシステム1202と相互作用するようにクライアントコンピューティングデバイスのユーザによって使用され得る、ウェブブラウザ、専有のクライアントアプリケーション(例えばOracle Forms)または他のアプリケーションなどのクライアントアプリケーションを動作させるように構成され得る。
【0153】
図に示されているクラウドインフラストラクチャシステム1202が図示されている構成要素とは他の構成要素を有し得ることが理解されるべきである。さらに、図に示されている態様は、本発明の態様を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの実施形態においては、クラウドインフラストラクチャシステム1202は、図に示されているものよりも多いまたは少ない数の構成要素を有していてもよく、2つ以上の構成要素を組合せてもよく、または構成要素の異なる構成または配置を有していてもよい。
【0154】
クライアントコンピューティングデバイス1204,1206および1208は、クライアントコンピューティングデバイス1102,1104,1106および1108について上記したものと類似のデバイスであってもよい。
【0155】
例示的なシステム環境1200は3個のクライアントコンピューティングデバイスを有するように示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有する装置などの他の装置が、クラウドインフラストラクチャシステム1202と相互作用してもよい。
【0156】
ネットワーク1210は、クライアントコンピューティングデバイス1204,1206および1208とクラウドインフラストラクチャシステム1202との間のデータの通信およびやりとりを容易にし得る。各々のネットワークは、ネットワーク1210について上記したものを含むさまざまな市販のプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者になじみのある任意のタイプのネットワークであってもよい。
【0157】
クラウドインフラストラクチャシステム1202は、サーバ1212について上記したものを含み得る1つまたは複数のコンピュータおよび/またはサーバを含み得る。
【0158】
特定の態様においては、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータ記憶およびバックアップソリューション、ウェブベースのeメールサービス、ホスト型オフィススイートおよびドキュメントコラボレーションサービス、データベース処理、管理型テクニカルサポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書では「サービスインスタンス」と称される。一般に、インターネットなどの通信ネットワークを介してクラウドサービスプロバイダのシステムからユーザが利用可能な任意のサービスは、「クラウドサービス」と称される。通常、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。例えば、クラウドサービスプロバイダのシステムがアプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションを注文および使用してもよい。
【0159】
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーションへの保護されたコンピュータネットワークアクセス、またはクラウドベンダによってユーザに提供されるかもしくはそうでなければ当該技術分野において公知の他のサービスを含み得る。例えば、サービスは、インターネットを介したクラウド上のリモートストレージへのパスワードによって保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジンを含み得る。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされるeメールソフトウェアアプリケーションへのアクセスを含み得る。
【0160】
特定の態様においては、クラウドインフラストラクチャシステム1202は、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に配信される一連のアプリケーション、ミドルウェアおよびデータベースサービス提供品を含み得る。このようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウドである。
【0161】
時としてビッグデータとも称される大量のデータは、インフラストラクチャシステムによって、多数のレベルにおいて、および異なるスケールでホストおよび/または操作され得る。このようなデータが含み得るデータセットは、非常に大型で複雑であるので、典型的なデータベース管理ツールまたは従来のデータ処理アプリケーションを用いて処理するのが困難になる可能性がある。例えば、テラバイトのデータはパーソナルコンピュータまたはそれらのラックベースの対応物を用いて格納、検索取得および処理することが難しいかもしれない。このようなサイズのデータは、最新のリレーショナルデータベース管理システムおよびデスクトップ統計ならびに視覚化パッケージを用いて機能させるのが困難である可能性がある。それらは、データを許容可能な経過時間内に捕捉しキュレーションし管理し処理するよう、一般的に用いられるソフトウェアツールの構造を超えて、何千ものサーバコンピュータを動作させる大規模並列処理ソフトウェアを必要とし得る。
【0162】
大量のデータを視覚化し、トレンドを検出し、および/または、データと相互作用させるために、分析者および研究者は極めて大きいデータセットを格納し処理することができる。並列にリンクされた何十、何百または何千ものプロセッサがこのようなデータに対して作用可能であり、これにより、このようなデータを表示し得るか、または、データに対する外力をシミュレートし得るかもしくはそれが表しているものをシミュレートし得る。これらのデータセットは、データベースにおいて編制されたデータ、もしくは構造化モデルに従ったデータなどの構造化されたデータ、および/または、構造化されていないデータ(例えば電子メール、画像、データブロブ(バイナリ大型オブジェクト)、ウェブページ、複雑なイベント処理)を必要とする可能性がある。目標物に対してより多くの(またはより少数の)コンピューティングリソースを比較的迅速に集中させるために態様の能力を強化することにより、ビジネス、政府関係機関、研究組織、私人、同じ目的をもった個々人もしくは組織のグループ、または他のエンティティからの要求に基づいて大量のデータセット上でタスクを実行するために、クラウドインフラストラクチャシステムがより良好に利用可能となる。
【0163】
さまざまな態様においては、クラウドインフラストラクチャシステム1202は、クラウドインフラストラクチャシステム1202によって供給されるサービスへの顧客のサブスクリプションを自動的にプロビジョニング、管理および追跡するように適合され得る。クラウドインフラストラクチャシステム1202は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。例えば、クラウドインフラストラクチャシステム1202が、(例えばオラクル社によって所有される)クラウドサービスを販売する組織によって所有され、一般大衆またはさまざまな産業企業がサービスを利用できるパブリッククラウドモデルのもとでサービスが提供されてもよい。別の例として、クラウドインフラストラクチャシステム1202が単一の組織のためだけに運営され、当該組織内の1つまたは複数のエンティティにサービスを提供し得るプライベートクラウドモデルのもとでサービスが提供されてもよい。また、クラウドインフラストラクチャシステム1202およびクラウドインフラストラクチャシステム1202によって提供されるサービスが、関連のコミュニティ内のいくつかの組織によって共有されるコミュニティクラウドモデルのもとでクラウドサービスが提供されてもよい。また、2つ以上の異なるモデルの組合せであるハイブリッドクラウドモデルのもとでクラウドサービスが提供されてもよい。
【0164】
いくつかの実施形態においては、クラウドインフラストラクチャシステム1202によって提供されるサービスは、ソフトウェア・アズ・ア・サービス(SaaS:Software as a Service)カテゴリ、プラットフォーム・アズ・ア・サービス(PaaS:Platform as a Service)カテゴリ、インフラストラクチャ・アズ・ア・サービス(IaaS:Infrastructure as a Service)カテゴリ、またはハイブリッドサービスを含むサービスの他のカテゴリのもとで提供される1つまたは複数のサービスを含み得る。顧客は、サブスクリプションオーダーによって、クラウドインフラストラクチャシステム1202によって提供される1つまたは複数のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム1202は、顧客のサブスクリプションオーダーでサービスを提供するために処理を実行する。
【0165】
いくつかの実施形態においては、クラウドインフラストラクチャシステム1202によって提供されるサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含み得るが、これらに限定されるものではない。いくつかの例では、アプリケーションサービスは、SaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに分類されるクラウドサービスを提供するように構成され得る。例えば、SaaSプラットフォームは、一体化された開発およびデプロイメントプラットフォーム上で一連のオンデマンドアプリケーションを構築および配信するための機能を提供し得る。SaaSプラットフォームは、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステム上で実行されるアプリケーションを利用することができる。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスが提供されてもよい。例としては、大規模組織のための販売実績管理、企業統合およびビジネスの柔軟性のためのソリューションを提供するサービスが挙げられるが、これらに限定されるものではない。
【0166】
いくつかの実施形態においては、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに分類されるクラウドサービスを提供するように構成され得る。プラットフォームサービスの例としては、組織(オラクル社など)が既存のアプリケーションを共有の共通アーキテクチャ上で統合することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能を挙げることができるが、これらに限定されるものではない。PaaSプラットフォームは、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを取得することができる。プラットフォームサービスの例としては、オラクルJavaクラウドサービス(JCS:Java Cloud Service)、オラクルデータベースクラウドサービス(DBCS:Database Cloud Service)などが挙げられるが、これらに限定されるものではない。
【0167】
PaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを利用することができ、デプロイされたサービスを制御することもできる。いくつかの実施形態においては、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサービル(例えばオラクルフージョンミドルウェアサービス)およびJavaクラウドサービスを含み得る。一態様においては、データベースクラウドサービスは、組織がデータベースリソースをプールしてデータベースクラウドの形態でデータベース・アズ・ア・サービスを顧客に供給することを可能にする共有のサービスデプロイメントモデルをサポートし得る。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステムにおいてさまざまなビジネスアプリケーションを開発およびデプロイするために顧客にプラットフォームを提供し得るともに、Javaクラウドサービスは、クラウドインフラストラクチャシステムにおいてJavaアプリケーションをデプロイするために顧客にプラットフォームを提供し得る。
【0168】
さまざまな異なるインフラストラクチャサービスは、クラウドインフラストラクチャシステムにおけるIaaSプラットフォームによって提供されてもよい。インフラストラクチャサービスは、ストレージ、ネットワークなどの基本的な計算リソース、ならびに、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のための他の基礎的な計算リソースの管理および制御を容易にする。
【0169】
また、特定の態様においては、クラウドインフラストラクチャシステム1202は、クラウドインフラストラクチャシステムの顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1230を含み得る。一態様においては、インフラストラクチャリソース1230は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するための、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め一体化された最適な組合せを含み得る。
【0170】
いくつかの実施形態においては、クラウドインフラストラクチャシステム1202におけるリソースは、複数のユーザによって共有され、デマンドごとに動的に再割り振りされてもよい。また、リソースは、異なる時間帯にユーザに割り振られてもよい。例えば、クラウドインフラストラクチャシステム1202は、第1の時間帯におけるユーザの第1の組が規定の時間にわたってクラウドインフラストラクチャシステムのリソースを利用することを可能にし得るとともに、異なる時間帯に位置するユーザの別の組への同一のリソースの再割り振りを可能にし得ることによって、リソースの利用を最大化することができる。
【0171】
特定の態様においては、クラウドインフラストラクチャシステム1202のさまざまな構成要素またはモジュール、および、クラウドインフラストラクチャシステム1202によって提供されるサービス、によって共有されるいくつかの内部共有サービス1232が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、インテグレーションサービス、企業リポジトリサービス、企業マネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性・バックアップおよび回復サービス、クラウドサポートを可能にするためのサービス、eメールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。
【0172】
特定の態様においては、クラウドインフラストラクチャシステム1202は、クラウドインフラストラクチャシステムにおけるクラウドサービス(例えばSaaSサービス、PaaSサービスおよびIaaSサービス)の包括的管理を提供し得る。一態様においては、クラウド管理機能は、クラウドインフラストラクチャシステム1202によって受信された顧客のサブスクリプションをプロビジョニング、管理および追跡などするための機能を含み得る。
【0173】
一態様においては、図に示されるように、クラウド管理機能は、オーダー管理モジュール1220、オーダーオーケストレーションモジュール1222、オーダープロビジョニングモジュール1211、オーダー管理および監視モジュール1210、ならびにアイデンティティ管理モジュール1228などの1つまたは複数のモジュールによって提供され得る。これらのモジュールは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせであり得る1つまたは複数のコンピュータおよび/またはサーバを含み得るか、またはそれらを用いて提供され得る。
【0174】
例示的な動作1234において、クライアントコンピューティングデバイス1204,1206または1208などのクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム1202によって提供される1つまたは複数のサービスを要求し、クラウドインフラストラクチャシステム1202によって供給される1つまたは複数のサービスのサブスクリプションについてオーダーを行うことによって、クラウドインフラストラクチャシステム1202と対話し得る。特定の態様においては、顧客は、クラウドユーザインターフェース(UI:User Interface)、すなわちクラウドUI1212、クラウドUI1214および/またはクラウドUI1216にアクセスして、これらのUIを介してサブスクリプションオーダーを行い得る。顧客がオーダーを行ったことに応答してクラウドインフラストラクチャシステム1202によって受信されたオーダー情報は、顧客と、顧客がサブスクライブする予定のクラウドインフラストラクチャシステム1202によって提供される1つまたは複数のサービスとを特定する情報を含み得る。
【0175】
オーダーが顧客によって行われた後、オーダー情報は、クラウドUI1210,1214および/または1216を介して受信される。
【0176】
動作1236において、オーダーは、オーダーデータベース1218に格納される。オーダーデータベース1218は、クラウドインフラストラクチャシステム1202によって動作させられるとともに他のシステム要素と連携して動作させられるいくつかのデータベースのうちの1つであってもよい。
【0177】
動作1238において、オーダー情報は、オーダー管理モジュール1220に転送される。いくつかの例では、オーダー管理モジュール1220は、オーダーの確認および確認時のオーダーの予約などのオーダーに関連する請求書発行機能および会計経理機能を実行するように構成され得る。
【0178】
動作1240において、オーダーに関する情報は、オーダーオーケストレーションモジュール1222に通信される。オーダーオーケストレーションモジュール1222は、顧客によって行われたオーダーについてのサービスおよびリソースのプロビジョニングをオーケストレートするためにオーダー情報を利用し得る。いくつかの例では、オーダーオーケストレーションモジュール1222は、オーダープロビジョニングモジュール1211のサービスを用いてサブスクライブされたサービスをサポートするためにリソースのプロビジョニングをオーケストレートし得る。
【0179】
特定の態様においては、オーダーオーケストレーションモジュール1222は、各々のオーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネス論理を適用してオーダーがプロビジョニングに進むべきか否かを判断する。動作1242において、新たなサブスクリプションについてのオーダーを受信すると、オーダーオーケストレーションモジュール1222は、リソースを割り振って当該サブスクリプションオーダーを満たすのに必要とされるそれらのリソースを構成するための要求をオーダープロビジョニングモジュール1211に送る。オーダープロビジョニングモジュール1211は、顧客によってオーダーされたサービスについてのリソースの割り振りを可能にする。オーダープロビジョニングモジュール1211は、クラウドインフラストラクチャシステム1202によって提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間にあるレベルの抽象化を提供する。したがって、オーダーオーケストレーションモジュール1222は、サービスおよびリソースが実際に実行中にプロビジョニングされるか、事前にプロビジョニングされて要求があったときに割振られる/割当てられるのみであるかなどの実装の詳細から切り離すことができる。
【0180】
動作1244において、サービスおよびリソースがプロビジョニングされると、提供されたサービスの通知が、クラウドインフラストラクチャシステム1202のオーダープロビジョニングモジュール1211によってクライアントコンピューティングデバイス1204,1206および/または1208上の顧客に送られ得る。
【0181】
動作1246において、顧客のサブスクリプションオーダーが、オーダー管理および監視モジュール1210によって管理および追跡され得る。いくつかの例では、オーダー管理および監視モジュール1210は、使用される記憶量、転送されるデータ量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などのサブスクリプションオーダーにおけるサービスについての使用統計を収集するように構成され得る。
【0182】
特定の態様においては、クラウドインフラストラクチャシステム1202は、アイデンティティ管理モジュール1228を含み得る。アイデンティティ管理モジュール1228は、クラウドインフラストラクチャシステム1202におけるアクセス管理および認可サービスなどのアイデンティティサービスを提供するように構成され得る。いくつかの実施形態においては、アイデンティティ管理モジュール1228は、クラウドインフラストラクチャシステム1202によって提供されるサービスを利用したい顧客についての情報を制御し得る。このような情報は、このような顧客のアイデンティティを認証する情報と、それらの顧客がさまざまなシステムリソース(例えばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してどのアクションを実行することを認可されるかを記載する情報とを含み得る。また、アイデンティティ管理モジュール1228は、各々の顧客についての説明的情報、ならびに、どのようにしておよび誰によってこの説明的情報がアクセスおよび変更され得るかについての説明的情報の管理を含み得る。
【0183】
図13は、さまざまな態様を実現することができる例示的なコンピューティングサブシステム1300を示す。コンピューティングサブシステム1300は、上記のコンピューティングサブシステムのうちのいずれかを実現するために使用され得る。図に示されているように、コンピューティングサブシステム1300は、バスサブシステム1302を介していくつかの周辺サブシステムと通信する処理ユニット1304を含む。これらの周辺サブシステムは、処理加速ユニット1306と、I/Oサブシステム1308と、記憶サブシステム1318と、通信サブシステム1311とを含み得る。記憶サブシステム1318は、有形のコンピュータ読取可能な記憶媒体1309と、システムメモリ1310とを含む。
【0184】
バスサブシステム1302は、コンピューティングサブシステム1300のさまざまな構成要素およびサブシステムに、意図されたように互いに通信させるための機構を提供する。バスサブシステム1302は、単一のバスとして概略的に示されているが、バスサブシステムの代替的な態様は、複数のバスを利用してもよい。バスサブシステム1302は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのうちのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造のうちのいずれかであってもよい。例えば、このようなアーキテクチャは、IEEE P1186.1標準に合わせて製造されたメザニンバスとして実現可能な、業界標準アーキテクチャ(ISA:Industry Standard Architecture)バス、マイクロチャネルアーキテクチャ(MCA:Micro Channel Architecture)バス、拡張ISA(EISA:Enhanced ISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(VESA:Video Electronics Standards Association)ローカルバスおよび周辺機器相互接続(PCI:Peripheral Component Interconnect)バスを含み得る。
【0185】
1つまたは複数の集積回路(例えば従来のマイクロプロセッサまたはマイクロコントローラ)として実現可能な処理ユニット1304は、コンピューティングサブシステム1300の動作を制御する。処理ユニット1304には、1つまたは複数のプロセッサが含まれ得る。これらのプロセッサは、単一コアまたはマルチコアのプロセッサを含み得る。特定の態様においては、処理ユニット1304は、各々の処理ユニットに含まれる単一コアまたはマルチコアのプロセッサを有する1つまたは複数の独立した処理ユニット1332および/または1334として実現されてもよい。また、他の態様においては、処理ユニット1304は、2つのデュアルコアプロセッサを単一のチップに組み入れることによって形成されるクアッドコア処理ユニットとして実現されてもよい。
【0186】
さまざまな態様においては、処理ユニット1304は、プログラムコードに応答してさまざまなプログラムを実行し得るとともに、同時に実行される複数のプログラムまたはプロセスを維持し得る。任意の所与の時点において、実行されるべきプログラムコードのうちのいくつかまたは全ては、処理ユニット1304および/または記憶サブシステム1318に存在し得る。好適なプログラミングを通じて、処理ユニット1304は、上記のさまざまな機能を提供し得る。また、コンピューティングサブシステム1300は、加えて、デジタル信号プロセッサ(DSP:Digital Signal Processor)、特殊用途プロセッサなどを含み得る処理加速ユニット1306を含み得る。
【0187】
I/Oサブシステム1308は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含み得る。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、タッチパッドまたはタッチスクリーンを含んでいてもよく、これらは、音声コマンド認識システム、マイクロフォンおよび他のタイプの入力装置とともに、ディスプレイ、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、オーディオ入力装置に組込まれている。ユーザインターフェイス入力装置は、例えば、ジェスチャおよび話されたコマンドを用いてナチュラルユーザインターフェースを介してユーザがマイクロソフトXbox(登録商標)360ゲームコントローラなどの入力装置を制御して入力装置と対話することを可能にするマイクロソフトキネクト(登録商標)モーションセンサなどのモーション検知および/またはジェスチャ認識装置を含み得る。また、ユーザインターフェイス入力装置は、ユーザから眼球運動(例えば撮影および/またはメニュー選択を行っている間の「まばたき」)を検出して、当該眼球ジェスチャを入力装置(例えばグーグルグラス(登録商標))への入力として変換するグーグルグラス(登録商標)まばたき検出器などの眼球ジェスチャ認識装置を含み得る。また、ユーザインターフェイス入力装置は、ユーザが音声コマンドを介して音声認識システム(例えばSiri(登録商標)ナビゲータ)と対話することを可能にする音声認識検知装置を含み得る。
【0188】
また、ユーザインターフェイス入力装置は、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、およびスピーカなどのオーディオ/ビジュアル装置、デジタルカメラ、デジタルカムコーダ、携帯型メディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線検出装置を含み得るが、これらに限定されるものではない。また、ユーザインターフェイス入力装置は、例えば、コンピュータ断層撮影、磁気共鳴画像化、位置発光断層撮影、医療用超音波検査装置などの医療用画像化入力装置を含み得る。また、ユーザインターフェイス入力装置は、例えばMIDIキーボード、デジタル楽器などのオーディオ入力装置を含み得る。
【0189】
ユーザインターフェイス出力装置は、ディスプレイサブシステム、表示灯、またはオーディオ出力装置などの非視覚的ディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(CRT:Cathode Ray Tube)、液晶ディスプレイ(LCD:Liquid Crystal Display)またはプラズマディスプレイを使用するものなどのフラットパネルデバイス、投影装置、タッチスクリーンなどであってもよい。一般に、「出力装置」という用語の使用は、コンピューティングサブシステム1300からの情報をユーザまたは他のコンピュータに出力するための全ての実現可能なタイプの装置および機構を含むよう意図されている。例えば、ユーザインターフェイス出力装置は、モニタ、プリンタ、スピーカ、ヘッドホン、自動車のナビゲーションシステム、プロッタ、音声出力装置およびモデムなどの、テキスト、グラフィックスおよびオーディオ/ビデオ情報を視覚的に伝えるさまざまな表示装置を含み得るが、これらに限定されるものではない。
【0190】
コンピューティングサブシステム1300は、現在のところシステムメモリ1310内に位置しているように示されているソフトウェア要素を備える記憶サブシステム1318を備え得る。システムメモリ1310は、処理ユニット1304上でロード可能および実行可能なプログラム命令と、これらのプログラムの実行中に生成されるデータとを格納し得る。
【0191】
コンピューティングサブシステム1300の構成およびタイプに応じて、システムメモリ1310は、揮発性(ランダムアクセスメモリ(RAM:Random Access Memory)など)であってもよく、および/または、不揮発性(リードオンリメモリ(ROM:Read-Only Memory)、フラッシュメモリなど)であってもよい。RAMは、典型的には、処理ユニット1304が直ちにアクセス可能なデータおよび/またはプログラムモジュール、および/または、処理ユニット1304によって現在動作および実行されているデータおよび/またはプログラムモジュールを収容する。いくつかの実現例では、システムメモリ1310は、スタティックランダムアクセスメモリ(SRAM:Static Random Access Memory)またはダイナミックランダムアクセスメモリ(DRAM:Dynamic Random Access Memory)などの複数の異なるタイプのメモリを含み得る。いくつかの実現例では、始動中などにコンピューティングサブシステム1300内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力/出力システム(BIOS:Basic Input/Output System)が、典型的にはROMに格納され得る。一例としておよび非限定的に、システムメモリ1310は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(RDBMS:Relational Database Management System)などを含み得るアプリケーションプログラム1312、プログラムデータ1314およびオペレーティングシステム1316も示す。一例として、オペレーティングシステム1316は、マイクロソフトウィンドウズ(登録商標)、アップルマッキントッシュ(登録商標)および/もしくはリナックスオペレーティングシステムのさまざまなバージョン、さまざまな市販のUNIX(登録商標)もしくはUNIXライクオペレーティングシステム(さまざまなGNU/リナックスオペレーティングシステム、Google Chrome(登録商標)OSなどを含むが、これらに限定されるものではない)、ならびに/または、iOS、ウィンドウズ(登録商標)フォン、アンドロイド(登録商標)OS、ブラックベリー(登録商標)10OSおよびパーム(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含み得る。
【0192】
また、記憶サブシステム1318は、いくつかの態様の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ読取可能な記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム1318に格納され得る。これらのソフトウェアモジュールまたは命令は、処理ユニット1304によって実行され得る。また、記憶サブシステム1318は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。
【0193】
また、記憶サブシステム1318は、コンピュータ読取可能な記憶媒体1309にさらに接続可能なコンピュータ読取可能な記憶媒体リーダ1320を含み得る。ともにおよび任意には、システムメモリ1310と組合せて、コンピュータ読取可能な記憶媒体1309は、コンピュータ読取可能な情報を一時的および/または永久に収容、格納、送信および検索取得するための記憶媒体に加えて、リモートの、ローカルの、固定されたおよび/または取外し可能な記憶装置を包括的に表わし得る。
【0194】
コードまたはコードの一部を含むコンピュータ読取可能な記憶媒体1309は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得る。当該媒体は、情報の格納および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的消去・プログラム可能ROM(EEPROM:Electronically Erasable Programmable ROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(DVD:Digital Versatile Disk)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ読取可能な媒体などの有形の非一時的なコンピュータ読取可能な記憶媒体を含み得る。また、指定される場合、これは、データ信号、データ送信などの無形の一時的なコンピュータ読取可能な媒体、または、所望の情報を送信するために使用可能であるとともにコンピューティングサブシステム1300によってアクセス可能である他の任意の媒体を含み得る。
【0195】
一例として、コンピュータ読取可能な記憶媒体1309は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、CD ROM、DVDおよびブルーレイ(登録商標)ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ読取可能な記憶媒体1309は、ジップ(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(USB:Universal Serial Bus)フラッシュドライブ、セキュアデジタル(SD:Secure Digital)カード、DVDディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ読取可能な記憶媒体1309は、フラッシュメモリベースのSSD、企業向けフラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(SSD:Solid-State Drive)、ソリッドステートRAM、ダイナミックRAM、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(MRAM:magnetoresistive RAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組合せを使用するハイブリッドSSDを含み得る。ディスクドライブおよびそれらの関連のコンピュータ読取可能な媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータをコンピューティングサブシステム1300に提供し得る。
【0196】
通信サブシステム1311は、他のコンピューティングサブシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム1311は、他のシステムからデータを受信したり、コンピューティングサブシステム1300から他のシステムにデータを送信するためのインターフェイスの役割を果たす。例えば、通信サブシステム1311は、コンピューティングサブシステム1300がインターネットを介して1つまたは複数の装置に接続することを可能にし得る。いくつかの実施形態においては、通信サブシステム1311は、(例えば3G、4GまたはEDGE(enhanced data rates for global evolution)などの携帯電話技術、高度データネットワーク技術を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(RF:Radio Frequency)トランシーバコンポーネント、WiFi(IEEE902.9ファミリ標準、または他のモバイル通信技術、またはそれらの任意の組合せ)、全地球測位システム(GPS:Global Positioning System)レシーバコンポーネント、および/または、他のコンポーネントを含み得る。いくつかの実施形態においては、通信サブシステム1311は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続(例えばイーサネット)を提供し得る。
【0197】
また、いくつかの実施形態においては、通信サブシステム1311は、コンピューティングサブシステム1300を使用し得る1人または複数人のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード1326、イベントストリーム1328、イベント更新1330などの形態で入力通信を受信し得る。
【0198】
一例として、通信サブシステム1311は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリ(RSS:Rich Site Summary)フィードなどのウェブフィードなどのデータフィード1326をリアルタイムでソーシャルメディアネットワークおよび/または他の通信サービスのユーザから受信し、および/または、1つまたは複数の第三者情報源からリアルタイム更新を受信するように構成され得る。
【0199】
加えて、通信サブシステム1311は、連続的なデータストリームの形態でデータを受信するように構成され得る。当該データは、連続的である場合もあれば本質的に明確な端部をもたない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム1328および/またはイベント更新1330を含み得る。連続的なデータを生成するアプリケーションの例としては、例えばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(例えばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
【0200】
また、通信サブシステム1311は、構造化されたおよび/または構造化されていないデータフィード1326、イベントストリーム1328、イベント更新1330などを、コンピューティングサブシステム1300に結合された1つまたは複数のストリーミングデータソースコンピュータと通信し得る1つまたは複数のデータベースに出力するように構成され得る。
【0201】
コンピューティングサブシステム1300は、手持ち式携帯機器(例えばiPhone(登録商標)携帯電話、iPad(登録商標)計算タブレット、PDA)、ウェアラブル装置(例えばグーグルグラス(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうちの1つであってもよい。
【0202】
コンピュータおよびネットワークの絶え間なく変化し続ける性質のために、図に示されているコンピューティングサブシステム1300の説明は、特定の例として意図されているに過ぎない。図に示されているシステムよりも多いまたは少ない数の構成要素を有する多くの他の構成が可能である。例えば、ハードウェア、ファームウェア、(アプレットを含む)ソフトウェア、または組合せにおいて、カスタマイズされたハードウェアが使用されてもよく、および/または、特定の要素が実装されてもよい。さらに、ネットワーク入力/出力装置などの他のコンピューティングデバイスへの接続が利用されてもよい。本明細書中に提供される開示および教示に基づいて、当業者は、さまざまな態様を実現するための他の手段および/または方法を理解するであろう。本開示のさまざまな態様は、プロセッサによって実行されるとプロセッサに本明細書に開示されている方法のいずれかを実行させるコンピュータプログラム/命令を含むコンピュータプログラム製品を使用して実現され得る。
【0203】
上述の明細書では、本発明の態様は、その具体的な態様を参照して記載されているが、本発明はこれに限定されるものではないことを当業者は認識するであろう。上述の発明のさまざまな特徴および態様は、個々にまたは一緒に使用されてもよい。さらに、態様は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを超えたいくつもの環境およびアプリケーションでも利用可能である。したがって、明細書および図面は、限定的ではなく例示的なものとみなされるべきである。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
【国際調査報告】