(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023029931
(43)【公開日】2023-03-07
(54)【発明の名称】名前付きエンティティの構文解析および識別に基づくクロスドキュメントの修辞的つながりの判断
(51)【国際特許分類】
G06F 40/35 20200101AFI20230228BHJP
G06F 40/279 20200101ALI20230228BHJP
G06F 40/211 20200101ALI20230228BHJP
G06F 16/28 20190101ALI20230228BHJP
【FI】
G06F40/35
G06F40/279
G06F40/211
G06F16/28
【審査請求】有
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2022191911
(22)【出願日】2022-11-30
(62)【分割の表示】P 2020517950の分割
【原出願日】2018-09-28
(31)【優先権主張番号】62/564,961
(32)【優先日】2017-09-28
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/729,335
(32)【優先日】2018-09-10
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】502303739
【氏名又は名称】オラクル・インターナショナル・コーポレイション
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ガリツキー,ボリス
(57)【要約】 (修正有)
【課題】拡張談話ツリーおよび拡張談話ツリーを用いてテキストをナビゲートする方法を提供する。
【解決手段】第1のドキュメントの第1のパラグラフのための第1の談話ツリーと、第2のドキュメントの第2のパラグラフのための第2の談話ツリーとを作成する談話ナビゲーションアプリケーションであって、第1の談話ツリーからエンティティおよび対応する第1の基本談話単位を判断し、第2の談話ツリーにおいて、第1の基本談話単位に一致する第2の基本談話単位を判断し、それら2つの基本談話単位間の修辞的つながりを判断し、それら2つの談話ツリー間にナビゲート可能なリンクを作成する。
【選択図】
図12
【特許請求の範囲】
【請求項1】
1つ以上のドキュメント間の修辞的つながりを判断するための、コンピュータにより実現される方法であって、
第1のドキュメントおよび第2のドキュメントにアクセスすることと、
前記第1のドキュメントの第1のパラグラフについて第1の談話ツリーを作成することと、
前記第2のドキュメントの第2のパラグラフについて第2の談話ツリーを作成することと、
前記第1の談話ツリーの第1の基本談話単位がエンティティを含む、と判断することとを備え、前記判断することは、
前記第1の基本談話単位から名詞句を抽出することと、
前記名詞句をエンティティを含むものとして分類することとによって行われ、前記方法はさらに、
前記第2の談話ツリーにおいて、前記第1の基本談話単位と一致する第2の基本談話単位を判断することと、
前記第1の基本談話単位と前記第2の基本談話単位との間の修辞的つながりを判断することに応答して、前記修辞的つながりを介して前記第1の談話ツリーおよび前記第2の談話ツリーをリンクし、それによって拡張談話ツリーを作成することとを備える、コンピュータにより実現される方法。
【請求項2】
前記第1の談話ツリーを作成することおよび前記第2の談話ツリーを作成することは、さらに、
複数のフラグメントを含むセンテンスにアクセスすることを含み、少なくとも1つのフラグメントは、動詞および複数の単語を含み、各単語は、前記フラグメント内おいて前記単語の役割を含み、各フラグメントは基本談話単位であり、前記第1の談話ツリーを作成することおよび前記第2の談話ツリーを作成することは、さらに、
前記複数のフラグメント間の修辞的つながりを表す談話ツリーを生成することを含み、前記談話ツリーは複数のノードを含み、各非終端ノードは前記複数のフラグメントのうちの2つのフラグメント間の修辞的つながりを表し、前記談話ツリーの前記ノードの各終端ノードは前記複数のフラグメントの1つに関連付けられる、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記分類することは、(i)トレーニングされた機械学習モデルを用いること、(ii)キーワードのリスト、または(iii)インターネットリソースを検索すること、のうちの1つ以上を含む、請求項1に記載のコンピュータにより実現される方法。
【請求項4】
エンティティは、(i)人、(ii)企業、(iii)場所、(iv)ドキュメントの名前、または(v)日付もしくは時間の1つを指す、請求項1に記載のコンピュータにより実現される方法。
【請求項5】
修辞的つながりを判断しないことに応答して、前記第1の基本談話単位と前記第2の基本談話単位との間のタイプ詳述のデフォルトの修辞的つながりを作成し、前記第1の談話ツリーおよび前記第2の談話ツリーをリンクすることにより、拡張談話ツリーを作成することをさらに備える、請求項1に記載のコンピュータにより実現される方法。
【請求項6】
前記修辞的つながりを判断することは、さらに、
前記第1の基本談話単位および前記第2の基本談話単位を一時パラグラフに結合することと、
談話構文解析を前記一時パラグラフに適用することにより、前記一時パラグラフ内にお
いて前記修辞的つながりを判断することとを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項7】
前記エンティティは、(i)1つ以上のフレーズ、または(ii)1つ以上の基本談話単位のいずれかによって表される、請求項1に記載のコンピュータにより実現される方法。
【請求項8】
前記第1のドキュメントおよび前記第2のドキュメントにアクセスすることは、(i)前記第1のドキュメントの第1のコンテンツスコアと(ii)前記第2のドキュメントの第2のコンテンツスコアとの差がしきい値内である、と判断することを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項9】
前記第1のドキュメントおよび前記第2のドキュメントは、1つ以上のドキュメントのユーザクエリを実行することにより取得される、請求項1に記載のコンピュータにより実現される方法。
【請求項10】
前記第1のドキュメントおよび前記第2のドキュメントは、特定のトピックに基づくテキストを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項11】
前記第1のドキュメントおよび前記第2のドキュメントにアクセスすることは、前記第1のドキュメントと前記第2のドキュメントとの間にリンクが存在する、と判断することを含む、請求項1に記載のコンピュータにより実現される方法。
【請求項12】
拡張談話ツリーを用いてテキストをナビゲートする、コンピュータにより実現される方法であって、
複数のドキュメントを表す拡張談話ツリーにアクセスすることを備え、前記拡張談話ツリーは、第1ドキュメントについての第1談話ツリーと第2ドキュメントについての第2談話ツリーとを含み、前記方法はさらに、
前記拡張談話ツリーから、(i)ユーザデバイスからのクエリに応答する第1の基本談話単位、および(ii)前記第1の基本談話単位に対応する第1の位置を判断することと、
前記拡張談話ツリーから、(i)前記第1の基本談話単位と前記第1談話ツリーの第2の基本談話単位と間の第1の修辞的つながり、および(ii)前記第1の基本談話単位と前記第2の談話ツリーの第3の基本談話単位との間の第2の修辞的つながりを含むナビゲーションオプションのセットを判断することと、
前記第1の修辞的つながりおよび前記第2の修辞的つながりをユーザデバイスに提示することと、
(i)ユーザデバイスから前記第1の修辞的つながりの選択を受け取ることに応答して、前記第2の基本談話単位を前記ユーザデバイスに提示すること、または(ii)前記ユーザデバイスから前記第2の修辞的つながりの選択を受け取ることに応答して、前記第3の基本談話単位を前記ユーザデバイスに提示することとを備える、コンピュータにより実現される方法。
【請求項13】
前記ユーザデバイスから追加のクエリを受け取ることに応答して、前記追加のクエリに応答する追加の基本談話単位を判断し、前記追加の基本談話単位を前記ユーザデバイスに提示することをさらに備える、請求項12に記載のコンピュータにより実現される方法。
【請求項14】
前記第1の基本談話単位を判断することは、前記第1の基本談話単位において前記クエリからの1つ以上のキーワードを照合することをさらに含む、請求項12に記載のコンピュータにより実現される方法。
【請求項15】
前記第1の基本談話単位を判断することは、さらに、
前記クエリについて第1のパースツリーを生成することと、
1つ以上の基本談話単位の各々について追加のパースツリーを生成することと、
前記追加のパースツリーのうちの1つが前記第1のパースツリーを含む、と判断することに応答して、前記1つの追加のパースツリーに対応する基本談話単位を前記第1の基本談話単位として選択することとをさらに含む、請求項12に記載のコンピュータにより実現される方法。
【請求項16】
前記第1および第2の修辞的つながりは、(i)詳述、(ii)可能化、(iii)条件、(iv)対比、または(v)帰属のうちの1つを含む、請求項12に記載のコンピュータにより実現される方法。
【請求項17】
1つ以上のドキュメント間において修辞的つながりを判断するための、コンピュータにより実現される方法であって、
ドキュメントのセットからの第1のドキュメントを表す第1の談話ツリーおよび前記ドキュメントのセットからの第2のドキュメントを表す第2の談話ツリーにアクセスすることと、
前記第1の談話ツリーおよび前記第2の談話ツリーをトレーニング済み分類モデルに適用することにより、拡張談話ツリーのセットから参照拡張談話ツリーを取得することとを備え、前記トレーニング済み分類モデルは、前記拡張談話ツリーのセットを通って反復することにより、(i)第1の候補談話ツリーおよび(ii)第2の候補談話ツリーを識別し、前記第1の候補談話ツリーおよび前記第2の候補談話ツリーは、前記第1の談話ツリーおよび前記第2の談話ツリーに対する最良の一致であり、前記方法はさらに、
前記参照拡張談話ツリーから、前記第1の参照談話ツリーと前記第2の参照談話ツリーとの間の1つ以上のリンクを判断することと、
前記1つ以上のリンクを前記第1の談話ツリーおよび前記第2の談話ツリーに伝播し、それによって拡張談話ツリーを作成することとを備える、コンピュータにより実現される方法。
【請求項18】
前記1つ以上のリンクに基づいて、前記第1の談話ツリーと前記拡張ツリーとの間の1つ以上の修辞的つながりを判断することと、
前記修辞的つながりをユーザデバイスに提示することとをさらに備える、請求項17に記載のコンピュータにより実現される方法。
【請求項19】
前記修辞的つながりは、(i)詳述、(ii)可能化、(iii)条件、(iv)対比、または(v)帰属のうちの1つを含む、請求項17に記載のコンピュータにより実現される方法。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願への相互参照
この出願は、2017年9月28日に提出された米国仮出願第62/564,961号、および2018年9月10日に提出された米国仮出願第62/729,335号の利益を主張し、それらの全体をここに引用により援用する。
【0002】
技術分野
本開示は、一般的に言語学に関するものである。より具体的には、本開示は、拡張談話ツリーを用いて、テキストの1つ以上の本文をナビゲートすることに関する。
【0003】
連邦政府による資金提供を受けた研究開発の下でなされた発明に対する権利に関する声明
適用不可。
【背景技術】
【0004】
背景
自律型エージェント(チャットボット)は、カスタマーサービスの提供など、さまざまなアプリケーションでユーザの質問に答えるようにトレーニングできる。カスタマーサービスの履歴やその他のデータベースなど、自律型エージェントのトレーニングには、さまざまなコンテンツを利用できる。しかしながら、そのようなコンテンツには誤った情報が含まれている可能性があり、その情報を用いてトレーニングされた自律型エージェントは、ユーザから受け取った質問に対して誤った回答をすることがある。
【0005】
代わりに、正式なドキュメントはより高いレベルの正確さを提供できる。正式なドキュメントの例には、銀行の処理および手順マニュアルが含まれる。しかしながら、キーワードベースの検索ソリューションなどの現在の分析手法では、これらの正式なドキュメントのさまざまな部分の関連性を捉えることができず、それは、誤った結果に繋がる。より具体的には、キーワードが存在するかどうかを判断するキーワードベースのソリューションは、テキストにおけるダイアログ(一連の関連した対話)を解釈できない。そのため、そのようなソリューションに依存する自律型エージェントは、ユーザからの質問に適切に対応せず、そのようなエージェントの有効性を低下させ、ユーザの不満を引き起こす。
【0006】
したがって、テキストの本文内およびテキストの本文間を検索およびナビゲートするための改善されたソリューションが必要とされる。
【発明の概要】
【課題を解決するための手段】
【0007】
簡単な要約
一般に、本発明のシステム、デバイス、および方法は、拡張談話ツリーに関する。一例では、ある方法は第1のドキュメントおよび第2のドキュメントにアクセスする。この方法は、第1のドキュメントの第1のパラグラフについて第1の談話ツリーを作成する。この方法は、第2のドキュメントの第2のパラグラフについて第2の談話ツリーを作成する。この方法は、第1の談話ツリーからエンティティおよび対応する第1の基本談話単位を判断し、前記判断は、談話ツリーから名詞句を抽出し、名詞句をエンティティまたはエンティティではないものとして分類し、第2の談話ツリーにおいて、第1の基本談話単位と一致する第2の基本談話単位を判断することによって、行われる。この方法は、第1の談
話単位と第2の談話単位との間の修辞的つながりを判断することに応答して、修辞的つながりを介して第1の談話ツリーと第2の談話ツリーとをリンクし、それによって拡張談話ツリーを作成する。
【0008】
一局面では、第1の談話ツリーを作成することおよび第2の談話ツリーを作成することは、フラグメントを含むセンテンスにアクセスすることをさらに含む。少なくとも1つのフラグメントには動詞および単語が含まれ、各単語にはフラグメント内の単語の役割が含まれる。各フラグメントは基本談話単位である。作成することは、複数のフラグメント間の修辞的つながりを表す談話ツリーを生成することをさらに含む。談話ツリーはノードを含み、各非終端ノードは2つのフラグメント間の修辞的つながりを表し、談話ツリーのノードの各終端ノードは複数のフラグメントの1つに関連付けられる。
【0009】
一局面では、分類することは、トレーニングされた機械学習モデルの使用、キーワードのリスト、またはインターネットリソースの検索、のうちの1つ以上を含む。
【0010】
一局面では、エンティティは、人、企業、場所、ドキュメントの名前、または日付もしくは時間のいずれかを指す。
【0011】
一局面では、この方法は、修辞的つながりを判断しないことに応答して、第1の基本談話単位と第2の基本談話単位との間のタイプ詳述のデフォルトの修辞的つながりを作成し、第1の談話ツリーと第2の談話ツリーとをリンクすることにより、拡張談話ツリーを作成する。
【0012】
一局面では、修辞的つながりを判断することは、第1の基本談話単位と第2の基本談話単位とを一時パラグラフに結合することと、談話構文解析を一時パラグラフに適用することによって一時パラグラフ内で修辞的つながりが見つかる、と判断することとをさらに含む。
【0013】
一局面では、エンティティは、1つ以上のフレーズまたは1つ以上の基本談話単位のいずれかによって表される。
【0014】
一局面では、第1のドキュメントおよび第2のドキュメントにアクセスすることは、第1のドキュメントの第1のコンテンツスコアと第2のドキュメントの第2のコンテンツスコアとの差がしきい値内である、と判断することを含む。
【0015】
一局面では、第1のドキュメントおよび第2のドキュメントは、1つ以上のドキュメントのユーザクエリを実行することによって取得される。
【0016】
一局面では、第1のドキュメントおよび第2のドキュメントは、特定のトピックに基づくテキストを含む。
【0017】
一局面では、第1のドキュメントおよび第2のドキュメントにアクセスすることは、第1のドキュメントと第2のドキュメントとの間に既存のリンクが存在する、と判断することを含む。
【0018】
さらなる局面では、拡張談話ツリーを用いてテキストの本文をナビゲートする方法は、ドキュメントを表す拡張談話ツリーにアクセスすることを含む。拡張談話ツリーは、第1のドキュメントのための第1の談話ツリーと、第2のドキュメントのための第2の談話ツリーとを含む。この方法はさらに、拡張談話ツリーから、ユーザデバイスからのクエリに応答する第1の基本談話単位と、第1の基本談話単位に対応する第1の位置とを判断する
ことを含む。この方法はさらに、拡張談話ツリーから、第1の基本談話単位と第1の談話ツリーの第2の基本談話単位との間の第1の修辞的つながりと、第1の基本談話単位と第2の談話ツリーの第3の基本談話単位との間の第2の修辞的つながりとを含む、ナビゲーションオプションのセットを判断することを含む。この方法はさらに、第1の修辞的つながりおよび第2の修辞的つながりをユーザデバイスに提示することを含む。この方法はさらに、ユーザデバイスから第1の修辞的つながりの選択を受け取ることに応答して、第2の基本談話単位をユーザデバイスに提示すること、またはユーザデバイスから第2の修辞的つながりの選択を受け取ることに応答して、第3の基本談話単位をユーザデバイスに提示することを含む。
【0019】
一局面では、この方法は、ユーザデバイスから追加のクエリを受け取ることに応答して、追加のクエリに応答する追加の基本談話単位を判断し、追加の基本談話単位をユーザデバイスに提示することをさらに含む。
【0020】
一局面では、第1の基本談話単位を判断することは、第1の基本談話単位においてクエリからの1つ以上のキーワードを照合することをさらに含む。
【0021】
一局面では、第1の基本談話単位を判断することは、クエリについて第1のパースツリーを生成することと、1つ以上の基本談話単位の各々について追加のパースツリーを生成することと、追加のパースツリーのうちの1つが第1のパースツリーを含む、と判断することに応答して、その1つの追加のパースツリーに対応する基本談話単位を第1の基本談話単位として選択することとをさらに含む。
【0022】
一局面では、第1の修辞的つながりおよび第2の修辞的つながりは、詳述、可能化、条件、対比、または帰属のうちの1つを含む。
【0023】
一局面では、上記の方法は、有形のコンピュータ読取可能媒体上に実現され、ならびに/またはコンピュータプロセッサおよび取り付けられたメモリ内で動作することができる。
【0024】
一局面では、ある方法は、1つ以上のドキュメント間の修辞的つながりを判断する。この方法は、ドキュメントのセットの第1のドキュメントを表す第1の談話ツリーと、ドキュメントのセットからの第2のドキュメントを表す第2の談話ツリーとにアクセスする。この方法は、第1の談話ツリーおよび第2の談話ツリーをトレーニングされた分類モデルに適用することによって、拡張談話ツリーのセットから参照拡張談話ツリーを取得する。トレーニングされた分類モデルは、拡張談話ツリーのセットを通って反復して、第1の候補談話ツリーおよび第2の候補談話ツリーを識別する。第1の候補談話ツリーおよび第2の候補談話ツリーは、第1の談話ツリーおよび第2の談話ツリーについての最良の一致である。この方法は、参照拡張談話ツリーから、第1の参照談話ツリーと第2の参照談話ツリーとの間において1つ以上のリンクを判断する。この方法は、その1つ以上のリンクを第1の談話ツリーと第2の談話ツリーとに伝播し、それによって拡張談話ツリーを作成する。
【0025】
一局面では、この方法は、さらに、1つ以上のリンクに基づいて、第1の談話ツリーと拡張ツリーとの間において1つ以上の修辞的つながりを判断し、その修辞的つながりをユーザデバイスに提示する。
【図面の簡単な説明】
【0026】
【
図3】一局面による談話ツリーのさらなる例を示す。
【
図5】一局面による、階層型バイナリツリーのノードリンク表現を示す。
【
図6】一局面による、
図5の表現の例示的なインデントされたテキストエンコーディングを示す。
【
図7】一局面による財産税に関する例示的な要求についての例示的なDTを示す。
【
図8】
図7に表される質問に対する例示的な応答を示す。
【
図9】一局面による公式の回答の談話ツリーを示す。
【
図10】一局面による未処理の回答の談話ツリーを示す。
【
図11】一局面による、拡張談話ツリーの例を示す。
【
図12】一局面による、拡張談話ツリーを作成するためのプロセスの例のフローチャートを示す。
【
図13】これも、一局面による、異なる粒度レベルでのドキュメントのテキスト単位間の関係を示す。
【
図14】一局面による、拡張談話ツリーを用いてドキュメント間をナビゲートするためのプロセスの例のフローチャートを示す。
【
図15】一局面による、拡張談話ツリーを用いてユーザの質問に答える自律型エージェントの例を示す。
【
図16】一局面による、拡張談話ツリーの例を示す。
【
図17】一局面による、検索エンジンを用いるナビゲーションと拡張談話ツリーで有効になっている自律型エージェントを用いるナビゲーションとの間の比較を示す。
【
図18】局面の1つを実現するための分散型システムの簡略図を示す。
【
図19】ある局面のシステムのコンポーネントによって提供されるサービスがある局面に従ってクラウドサービスとして提供され得るシステム環境のコンポーネントの簡略化されたブロック図である。
【
図20】本発明のさまざまな局面を実現することができる例示的なコンピュータシステムを示す。
【発明を実施するための形態】
【0027】
詳細な説明
上記のように、現在のキーワードベースのソリューションは、テキストの本文内のテキストのさまざまな部分についての関連性を捉えることができず、その結果、意思疎通談話を充分に理解せずに人間の対話を模倣しようとする自律型エージェントとなる。このようなソリューションでは、自律型エージェントがランダムな一連の発話を発し、タスクの達成や推奨の提供を困難にする。
【0028】
対照的に、本明細書で開示される局面は、コンピュータにより実現される言語学およびテキストナビゲーションの領域に技術的改善を提供する。より具体的には、特定の局面は、特定のドキュメントの談話単位間の修辞的つながりだけでなく、複数のドキュメントにわたって識別されたエンティティ間の修辞的つながりも表す拡張談話ツリーを作成する。そうする際、特定の局面は、自律型エージェントとの対話、または異なるドキュメントに編成もしくは分割されるテキストの本文を検索およびナビゲートするために、結束性のある談話フローを提供する。
【0029】
たとえば、談話ナビゲーションアプリケーションは、さまざまなテキスト単位(パラグラフなど)について個々の談話ツリーを構築し、談話分析を実行して談話ツリー間の修辞関係を判断し、そこから単一の拡張談話ツリーを作成する。拡張談話ツリーには、個々の談話ツリー内のドキュメント内修辞関係に加えて、ドキュメント間修辞関係が含まれる。次いで、談話ナビゲーションアプリケーションは、拡張談話ツリーを用いて、自律型エージェントまたは検索を促進できる。
【0030】
談話ツリーは修辞構造理論(RST)に由来する。RSTは、テキストの部分間の関係に依存して、書き手によって用いられるテキストの論理的な編成をモデル化する。RSTは、談話ツリーを介してテキストの階層的な接続された構造を形成することにより、テキストの一貫性をシミュレートする。修辞関係は、同等のクラスおよび下位のクラスに分割され;これらの関係は2つ以上のテキストスパンにわたって保持されるため、一貫性を実現する。これらのテキストスパンを基本談話単位(EDU)と称する。センテンス中の節およびテキスト中のセンテンスは、作成者によって論理的に接続される。所与のセンテンスの意味は前のセンテンスおよび次のセンテンスの意味と関係付けられる。
【0031】
談話ツリーの葉は、EDU、連続したアトミックテキストスパンに対応する。隣接するEDUは一貫性関係(帰属、シーケンスなど)によって接続され、より高いレベルの談話単位を形成する。特定のEDUの葉は論理的に関係付けられる。この関係は、テキストの一貫性構造と呼ばれる。関係の例には、詳述および可能化が含まれる。本明細書で用いられる場合、「核性」は、どのテキストセグメント、フラグメント、またはスパンが書き手の目的にとってより中心的であるかを指す。「核」とは、書き手の目的のより中心ではない「衛星」よりも書き手の目的の中心となるテキストのスパンを指す。
【0032】
以下の非限定的な例は、特定の局面を紹介するために与えられる。コンピューティングデバイス上で実行される談話ナビゲーションアプリケーションは、入力ドキュメントのセットにアクセスする。談話ナビゲーションアプリケーションは、各ドキュメントの各パラグラフに対して個々の談話ツリーを作成する。各談話ツリーは、エンティティ間の修辞関係を識別し、それによってエンティティ(たとえば、場所、物、人などのトピック)間のナビゲーションを容易にする。たとえば、談話ツリーを用いると、ユーザは、カリフォルニアを説明するテキストから、共通のエンティティ(カリフォルニア)の識別に基づいて、サンフランシスコなどのカリフォルニアの都市に関する情報を含むテキストと、そのエンティティ(サンフランシスコ)についてさらに詳しく説明するテキストにナビゲートできる。
【0033】
特定の談話ツリー内の判断された修辞関係に加えて、談話ナビゲーションアプリケーションは、談話ツリー間の追加の談話分析を実行し、分析に基づいてドキュメント間のリンクを作成する。より具体的には、談話ナビゲーションアプリケーションは、(たとえば、第1のドキュメントを表す)第1の談話ツリーにおいてエンティティを識別し、(たとえば、第2のドキュメントを表す)第2の談話ツリーにおいて任意のそのようなエンティティを識別し、次いで、対応するエンティティ間において修辞的つながりを判断する。このようにして、談話ナビゲーションアプリケーションは、複数のドキュメントにおいて表されるエンティティ間のナビゲーションを可能にする。
【0034】
たとえば、談話ナビゲーションアプリケーションは、野球について論ずる第1のドキュメントの、あるパラグラフを、追加情報を提供して野球について詳しく説明する第2のドキュメントの第2のパラグラフ、アトランタブレーブスなどの野球チームの例を示す第3のドキュメントの第3のパラグラフなどと関係付ける。
【0035】
別の例では、談話ナビゲーションアプリケーションは、対比の修辞関係を識別することができ、ユーザに対照的要素を提供するために用いることができる。たとえば、第1のドキュメントにおけるエンティティはあるトピックにおいてある位置をとり、たとえば、「一部の専門家は、気候変動は人間の活動によって引き起こされると信じている」は、第2のドキュメンにおけるエンティティに関係付けられるテキスト「しかし、少数の専門家は、気候変動は循環的であると信じている。」と対比される。拡張談話ツリーは、背景、正当化、動機などを含む、ドキュメント間の複数の修辞関係を表すことができる。
【0036】
特定の局面では、トレーニングされた機械学習モデルを用いて、追加の拡張談話ツリーを構築する。トレーニングされた分類モデルは、第2のドメインにあるテキストについての拡張談話ツリーのセットを用いて、第1のドメインにあるテキストについての談話ツリーから拡張談話ツリーを作成できる。たとえば、拡張談話ツリーは、時事問題からの拡張談話ツリーでトレーニングされた分類モデルを用いて、法的ドキュメントからの複数の談話ツリーから作成できる。
【0037】
特定の定義
本明細書で用いられる場合、「テキスト単位」は、テキストの単位を指す。例には、基本談話単位、フレーズ、フラグメント、センテンス、パラグラフ、ページ、ドキュメントが含まれる。
【0038】
本明細書で用いられる場合、「エンティティ」は、他と明確に区別できる独立した存在を伴うものを指す。エンティティはテキスト単位において用いることができる。エンティティの例には、人、企業、場所、ドキュメントの名前、または日付もしくは時間が含まれる。
【0039】
本明細書で用いられる場合、「修辞構造理論」は、談話の一貫性を分析することができる理論的基礎を提供した調査および研究の分野である。
【0040】
本明細書で用いられる場合、「談話ツリー」または「DT」は、センテンスまたはセンテンスの一部についての修辞関係を表現する構造を指す。
【0041】
本明細書で用いられる場合、「修辞関係(rhetorical relation)」、「修辞的つなが
り(retorical relationship)」、「一貫性関係」または「談話関係」は、2つの談話のセグメントが互いに如何に論理的に接続されているかを述べている。修辞関係の例は詳述、対比および帰属を含む。
【0042】
本明細書で用いられる場合、「センテンスフラグメント」または「フラグメント」は、センテンスの残りから分割することができるセンテンスの一部である。フラグメントは基本談話単位である。たとえば、「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」である。フラグメントは動詞を含み得るが、必ずしも動詞を含んでいる必要はない。
【0043】
本明細書で用いられる場合、「インデックス」は、テーブル、データ構造、ポインタ、または2つのキーワード、データ、もしくはテキストの部分同士をリンクする他のメカニズムである。インデックスには、検索可能なコンテンツを含めることができる。インデックスの例には、逆インデックス、検索可能なインデックス、文字列の一致などがある。逆インデックスも検索可能である。
【0044】
次に図を参照して、
図1は、一局面による例示的なドキュメントナビゲーション環境を示す。
図1は、入力ドキュメント110a~n、コンピューティングデバイス101、ユーザデバイス170、およびデータネットワーク104を示す。
【0045】
コンピューティングデバイス101は、談話ナビゲーションアプリケーション102、
拡張談話ツリー130、機械学習モデル120、およびトレーニングデータ125を含む。一例では、談話ナビゲーションアプリケーション102は、入力ドキュメント110a~nを受け取り、各入力ドキュメント110a~nについて談話ツリーを作成し、生成された談話ツリー内においてエンティティを判断し、エンティティ間の修辞関係を判断し、拡張談話ツリー130を作成する。コンピューティングデバイスはまた、ユーザデバイス170からクエリを受信し、拡張談話ツリー130をナビゲートすることによってそれらのクエリを処理することができる。
【0046】
ユーザデバイス170は、携帯電話、スマートフォン、タブレット、ラップトップ、スマートウォッチなどの任意のモバイルデバイスであり得る。ユーザデバイス170は、コンピューティングデバイス101とデータネットワーク104を介してコンピューティングデバイス101またはリモートサーバに通信する。データネットワーク104は、任意のパブリックもしくはプライベートネットワーク、有線もしくは無線ネットワーク、広域ネットワーク、ローカルエリアネットワーク、またはインターネットであり得る。ユーザデバイス170の機能は、例えば、アプリケーションまたはウェブアプリケーションを介して、ソフトウェアで実現することができる。ユーザデバイス170は、ディスプレイ171を含む。ディスプレイ171の例には、コンピュータ画面、モバイルデバイス画面、LCD、またはLEDバックライトディスプレイなどが含まれる。
【0047】
ディスプレイ171は、3つのメッセージ181~183を示す。例を続けると、談話ナビゲーションアプリケーション102は、ユーザデバイス170からメッセージ181を受け取る。メッセージ181は、「あるクレジットカードを用いて別のクレジットカードの代わりに支払うことはできるか?」というユーザクエリである。「談話ナビゲーションアプリケーション102は、拡張談話ツリー130にアクセスし、エンティティ「クレジットカード」が第1のドキュメントの談話ツリーに存在する、と判断する。その後、談話ナビゲーションアプリケーション102は、エンティティ「クレジットカード」についてさらに詳しく説明するいくつかの異なる可能性が存在する、と判断する。具体的には、談話ナビゲーションアプリケーション102は、名詞句「残高送金」、「当座預金口座での資金の利用」、および「あなたのクレジットカードを解約すること」が、各々、エンティティ「クレジットカード」からリンクされており、拡張談話ツリー130内の1つ以上の他の談話ツリーにおいて見いだされる、と判断する。したがって、談話ナビゲーションアプリケーション102は、ユーザデバイス上にメッセージ182を提示する。それに応じて、メッセージ183によって示されるように、ユーザが「解約」を選択すると、次いで、談話ナビゲーションアプリケーションはエンティティ「クレジットカード」と「あなたのクレジットカードを解約すること」との間の修辞関係に従う。
【0048】
談話ナビゲーションアプリケーション102はこのプロセスを継続することができ、それは、この回答ナビゲーションセッションにおける収束を容易にし、なぜならば、メッセージ182がユーザによって読まれた後に出される追加の説明に基づいて追加の回答を提案することができるからである。追加の回答またはテキストは、特定の修辞関係に基づいて提案することができる。たとえば、詳述関係によって関係付けられるテキストを提示することは、ユーザにとってトピックについて詳しく説明するのに役立ち、対比関係によって関係付けられるテキストを提示することは、ユーザに対照的要素を提供する。このようにして、提示されたトピックは、要求がどのように理解されたかを評価し、質問に関連付けられるなんらかの基本的な知識を学習する機会をユーザに提供し、従来の検索エンジンベースのソリューションよりも収束を改善する結果となる。例えば、ドキュメントナビゲーションオプション102は、「悪い判断」、「絶縁」、または「経済的範囲外」などのオプションを提示することができる。
【0049】
修辞学構造理論および談話ツリー
言語学は言語についての科学的研究である。たとえば、言語学は、センテンス(構文)の構造、たとえば、主語-動詞-目的語、センテンス(セマンティックス)の意味、たとえば、「dog bites man(犬が人を噛む)」に対して「man bites dog(人が犬を噛む)」、さらに、話し手が会話中に行うこと、すなわち、談話分析またはセンテンスの範囲を超えた言語の分析、を含み得る。
【0050】
談話の理論上の基礎(修辞構造理論(Rhetoric Structure Theory:RST))は、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のレベルとを含む。談話パーサーまたは他のコンピュータソフトウェアは、テキストを談話ツリーにパース(構文解析)することができる。
【0051】
修辞関係
上述したように、この明細書中に記載されるいくつかの局面は修辞関係および談話ツリーを用いている。修辞関係はさまざまな方法で説明することができる。たとえば、MannおよびThompsonは23の実現可能な関係について記載している。C. Mann, William & Thompson, Sandra(1987)(「Mann and Thompson」)による「Rhetorical Structure Theory: A Theory of Text Organization)がある。他のいくつかの関係も実現可能である。以下の表2は、異なる修辞関係を挙げる。
【0052】
【0053】
いくつかの経験的研究は、大多数のテキストが核-衛星関係を用いて構築されていることを前提としている。MannおよびThompsonを参照されたい。しかしながら、他の関係は、核の有限選択を伴わない。このような関係の例を以下の表3に示す。
【0054】
【0055】
図2は、一局面に従った談話ツリーの例を示す。
図2は談話ツリー200を含む。談話ツリーは、テキストスパン201、テキストスパン202、テキストスパン203、関係210、および関係211を含む。
図2における数は3つのテキストスパンに対応する。
図2は、1、2、3と番号付けられた3つのテキストスパン付きの以下のテキスト例に相当する。
【0056】
1.ホノルル(ハワイ)はハワイの歴史に関する2017年の会議の開催地になるだろう(Honolulu, Hawaii will be site of the 2017 Conference on Hawaiian History)。
【0057】
2.米国およびアジアから200人の歴史家が参加することが期待される(It is expected that 200 historians from the U.S. and Asia will attend)。
【0058】
3.会議はポリネシア人がハワイまでどのように航海したかに関する(The conference
will be concerned with how the Polynesians sailed to Hawaii)。
【0059】
たとえば、関係210または詳述は、テキストスパン201とテキストスパン202との間の関係を記載する。関係210は、テキストスパン203とテキストスパン204との間の関係(詳述)を示す。示されるように、テキストスパン202および203はテキストスパン201をさらに詳述している。上述の例においては、読み手に会議を通知することが目的であると想定すると、テキストスパン1が核である。テキストスパン2および3は、会議に関するより多くの詳細を提供する。
図2において、水平方向に並んだ数(たとえば1-3、1、2、3)は、(場合によってはさらに別のスパンで構成された)テキストのスパンをカバーしており、垂直な線は核または複数の核を示している。曲線は修辞関係(詳述)を表わしており、矢印の方向は衛星から核を指している。テキストスパンのみが、核としてではなく衛星として機能する場合、衛星を削除しても依然としてテキストには一貫性が残るだろう。
図2から核を削除する場合、テキストスパン2および3を理解することが困難になる。
【0060】
図3は、一局面に従った談話ツリーのさらなる例を示す。
図3は、構成要素301および302、テキストスパン305~307、関係310、および関係311を含む。関係310可能化は、構成要素306と構成要素305との間、および構成要素307と構成要素305との間の関係を記述する。
図3は以下のテキストスパンを指している、
1.新しい技術報告の要約は、現在、簡略版辞典付近の蔵書の雑誌領域にあります(The new Tech Report abstracts are now in the journal area of the library near the abridged dictionary)。
【0061】
2.閲覧に興味のある方はご署名ださい(Please sign your name by any means that you would be interested in seeing)。
【0062】
3.登録の最終日は5月31日です(Last day for sign-ups is 31 May)。
図から分かるように、関係310は、エンティティ307とエンティティ306との関係、すなわち可能化、を示している。
図3は、複数の核を入れ子状にすることができるが、最も核性のある1つのテキストスパンだけが存在することを例示している。
【0063】
談話ツリーの構築
談話ツリーはさまざまな方法を用いて生成することができる。DTボトムアップ(DT bottom up)を構築するための方法の単純な例は以下のとおりである:
(1)以下の(a)および(b)によって談話テキストを複数単位に分割する。
【0064】
(a)単位サイズが分析の目的に応じて変わる可能性がある。
(b)典型的には単位は節である。
【0065】
(2)各々の単位およびそれぞれの隣接単位を検査する。それらの間に関係が保たれているか?
(3)関係が保たれている場合、その関係に印を付ける。
【0066】
(4)関係が保たれていない場合、その単位はより高いレベルの関係の境界にある可能性がある。より大きな単位(スパン)同士の間に保たれている関係に注目する。
【0067】
(5)テキスト中のすべての単位が把握されるまで続ける。
MannおよびThompsonはまた、スキーマ・アプリケーションと呼ばれるブロック構造の構築の第2のレベルを記載している。RSTにおいては、修辞関係が、テキスト上に直接マッピングされず、それらはスキーマ・アプリケーションと呼ばれる構造上に適合され、これらはさらにテキストに適合される。スキーマ・アプリケーションは、(
図4によって示されるような)スキーマと呼ばれる、より単純な構造に由来している。各々のスキーマは、テキストの特定の単位が如何にしてより小さなテキスト単位に分解されるかを示している。修辞構造ツリーまたはDTは、スキーマ・アプリケーションの階層システムである。スキーマ・アプリケーションは、いくつかの連続するテキストスパンをリンクさせ、複雑なテキストスパンを作成する。複雑なテキストスパンはさらに、より高レベルのスキーマ・アプリケーションによってリンクされ得る。RSTの主張によれば、すべての一貫した談話の構造を単一の修辞構造ツリーによって記述することができ、その最上位のスキーマによって談話全体を包含するスパンが作成される。
【0068】
図4は、一局面に従った例示的なスキーマを示す。
図4は、ジョイントスキーマが、核から成るが衛星を含まないアイテムのリストであることを示す。
図4はスキーマ401~406を示す。スキーマ401は、テキストスパン410とテキストスパン411との状況関係を示す。スキーム402は、テキストスパン420とテキストスパン421とのシーケンス関係、およびテキストスパン421とテキストスパン422とのシーケンス関係を示す。スキーマ403は、テキストスパン430とテキストスパン431との対比関係を示す。スキーマ404は、テキストスパン440とテキストスパン441とのジョイント関係を示す。スキーマ405は、450と451との動機づけ関係、および452と451との可能化関係を示す。スキーマ406は、テキストスパン460とテキストスパン462とのジョイント関係を示す。ジョイント方式の一例が、以下の3つのテキストスパンに関して
図4に示される。
【0069】
1.本日、ニューヨーク首都圏における天候は部分的に晴天となるでしょう(Skies will be partly sunny in the New York metropolitan area today)。
【0070】
2.温度は華氏80度半ばで湿度はより高くなるでしょう(It will be more humid, with temperatures in the middle 80's)。
【0071】
3.今晩、おおむね曇りとなり、華氏65度から70度と低温になるでしょう(Tonight will be mostly cloudy, with the low temperature between 65 and 70)。
【0072】
図2~
図4は、談話ツリーをいくつかのグラフで表示しているが、他の表現も可能である。
【0073】
図5は、一局面に従った階層型バイナリツリーのノードリンク表現を示す。
図5から分かるように、DTの葉部は基本談話単位(EDU)と呼ばれる、連続するが重複しないテキストスパンに相当する。隣接するEDU同士は、関係(たとえば詳述、帰属…)によって接続されており、関係によって接続されるより大きな談話単位を形成している。「RSTにおける談話分析は2つのサブタスクを含む。談話セグメンテーションはEDUを識別するタスクであり、談話構文解析は、談話単位をラベル付けされたツリーにリンクするタスクである。」Joty, Shafiq RおよびGiuseppe Carenini, Raymond T Ng,およびYashar Mehdad(2013年)による、「Combining intra-and multi-sentential rhetorical parsing for document-level discourse analysis」(ACL (1), pages 486-496)を参照さ
れたい。
【0074】
図5は、ツリー上の葉部または終端ノードであるテキストスパンを示しており、
図6に示されるテキスト全体に現われる順序で番号付けされている。
図5はツリー500を含む。ツリー500は、たとえばノード501~507を含む。ノードは関係性を示す。ノードは、ノード501などの非終端ノードまたはノード502~507などの終端ノードである。図から分かるように、ノード503および504はジョイントの関係性によって関連づけられている。ノード502、505、506および508は核である。点線は、ブランチまたはテキストスパンが衛星であることを示している。これらの関係は灰色のボックスにおけるノードである。
【0075】
図6は、一局面に従った、
図5における表現についての例示的なインデントされたテキストエンコーディングを示す。
図6はテキスト600をおよびテキストシーケンス602~604を含む。テキスト600は、コンピュータプログラミングにより適用し易い態様で表わされている。テキストシーケンス602はノード502に対応する。シーケンス603はノード503に対応する。シーケンス604はノード504に対応する。
図6においては、「N」は核を示し、「S」は衛星を示す。
【0076】
談話パーサの例
自動的な談話セグメンテーションはさまざまな方法で実行することができる。たとえば、或るセンテンスを想定すると、セグメンテーションモデルは、センテンスにおける各々の特定のトークンの前に境界が挿入されるべきであるかどうかを予測することによって、複合的な基本談話単位の境界を識別する。たとえば、1つのフレームワークは、センテンス内の各トークンを連続的に独立して考慮に入れる。このフレームワークにおいては、セグメンテーションモデルは、トークンによってセンテンストークンをスキャンし、サポートベクトルマシンまたはロジスティック回帰などの二進法分類を用いて、検査されているトークンの前に境界を挿入することが適切であるかどうかを予測する。別の例においては、タスクは連続的にラベル付けする際の問題である。テキストが基本談話単位にセグメント化されると、センテンスレベルの談話構文解析を実行して談話ツリーを構築することができる。機械学習技術を用いることができる。
【0077】
本発明の一局面においては、構成要素の構文に依拠するCoreNLPProcessorおよび依存性構文を用いるFastNLPProcessorという2つの修辞構造理論(RST)談話パーサが用いられる。Surdeanu, Mihai & Hicks, Thomas & Antonio Valenzuela-Escarcega, Marcoによ
る「Two Practical Rhetorical Structure Theory Parsers」(2015)を参照された
い。
【0078】
加えて、上述の2つの談話パーサ、すなわち、CoreNLPProcessorおよびFastNLPProcessorは、自然言語処理(Natural Language Processing:NLP)を構文解析に用いる。た
とえば、Stanford CoreNLPは、会社、人々などの名前であろうとなかろうとスピーチの部分である複数単語の基本形状を提示し、日付、時間および数値量を標準化し、フレーズおよび構文依存の点からセンテンスの構造に印を付け、どの名詞句が同じエンティティを指しているかを示す。実際には、RSTは依然として、談話の多くの場合に機能し得る理論であるが、場合によっては機能しない可能性もある。どんなEDUが一貫したテキスト中にあるか、すなわち、どんな談話セグメンタが用いられているか、どんな関係のインベントリが用いられているか、EDUのためにどんな関係が選択されているか、トレーニングおよびテストのために用いられるドキュメントのコーパス、さらには、どんなパーサが用いられているか、を含むがこれらに限定されない多くの変数が存在している。このため、たとえば、Surdeanu他による上述の論文「Two Practical Rhetorical Structure Theory Parsers」においては、どのパーサがよりよい性能を与えるかを判断するために、特化さ
れたメトリクスを用いて特定のコーパス上でテストを実行しなければならない。このため、予測可能な結果をもたらすコンピュータ言語パーサとは異なり、談話パーサ(およびセグメンタ)は、トレーニングおよび/またはテストのテキストコーパスに応じて、予測不可能な結果をもたらす可能性がある。したがって、談話ツリーは、予測可能な技術(たとえば、コンパイラ)と(たとえば、どの組合わせが所望の結果をもたらし得るかを判断するのに実験が必要となる化学のような)予測不可能な技術とを混合したものとなる。
【0079】
談話分析が如何に優れているかを客観的に判断するために、たとえば、Daniel Marcuの「The Theory and Practice of Discourse Parsing and Summarization」(MIT Press)
(2000)によるPrecision/Recall/F1(精度/再現度/F1)測定基準などの一連の
メトリクスが用いられている。精度または肯定的な予測値は検索されたインスタンス中の情報提供インスタンスのごく一部であるとともに、(感度としても公知である)再現度は、情報提供インスタンスの総量にわたって検索された情報提供インスタンスのごく一部である。したがって、精度および再現度はともに、関連性についての理解および基準に基づいている。写真中の犬を認識するためのコンピュータプログラムが12匹の犬および何匹かの猫を含む写真中に8匹の犬を識別すると想定する。識別された8匹の犬のうち、5匹は実際に犬(真陽性)であるが残りは猫(擬陽性)である。プログラムの精度は5/8であり、その再現度は5/12である。検索エンジンが30ページを戻すがそのうち20ページしか情報を提供せず、40ページの追加の情報提供ページを戻してこなかった場合、その精度は20/30=2/3であり、その再現度は20/60=1/3である。したがって、この場合、精度は「検索結果がどれくらい有用であるか」であり、再現度は、「結果はどれくらい完全であるか」である。F1スコア(F-スコアまたはF-基準)はテストの精度の基準である。それは、スコアを計算するためにテストの精度および再現度の両方を考慮に入れる。F1=2x(精度x再現度)/(精度+再現度))であり、精度と再現度との調和平均である。F1スコアは、1(完全な精度および再現度)でその最適値に達し、0で最悪値に達する。
【0080】
要求および応答のペアの分析
図7は、一局面に従った、財産税に関する要求例についての例示的な談話ツリーを示す。ノードラベルは関係であり、矢印付きの線は衛星を指している。核は実線である。
図7は以下のテキストを表す談話ツリー700を示す。
【0081】
要求:「My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was
not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck. By the time it came to sending off the title and getting the tag, I didn't have the money to do so. Now, due to
circumstances, I am not going to be able to afford the truck. I went to the insurance place and was refused a refund. I am just wondering that since I am not going to have a tag on this truck, is it possible to get the property tax refunded?(私の夫の祖母が彼に彼の祖父のトラックを与えました。彼女は所有権を譲渡しまし
たが、私の夫には自身の免許に対する未払いの罰金があったため、彼はトラックを自身の名義に入れることができませんでした。私は自分の名義に入れたかったので、財産税を納付し、トラック用の保険に入りました。所有権を取り寄せて識別票を得るときには、私はそうするだけのお金を持っていませんでした。現在、状況によっては、私はトラックを所有するだけの余裕がなくなるでしょう。私は保険代理店を訪れましたが、払い戻しは拒否されました。私は、このトラックに識別票を付けることができないのであれば、財産税を払い戻してもらうことができるのではないかと考えています)」。
【0082】
応答:「The property tax is assessed on property that you own. Just because you chose to not register it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all states give you a limited amount of time to transfer title and pay the use tax. If you apply late, there will be penalties on top of the normal taxes and fees. You don't need to register it at the same time, but you absolutely need to title it within the period of time stipulated in state law(財産税は、あなたが所有する財
産に課されるものです。あなたがそれを登録しないことを選択しただけですので、これは、あなたがそれを所有していないことを意味するものではありません。したがいまして、税を払い戻すことはできません。あなたがまだ乗物の権利を得ていないとしても、あなたは依然として課税区画の境界内に当該乗物を所有していますので、税金を払わなくてはなりません。なお、いずれの州においても、所有権の譲渡および利用税の納付のためにあなたに与えられている時間には制限があることに留意してください。あなたの申請が遅れた場合には、普通税および通常料金に加えて罰金が課されることになるでしょう。あなたは、乗物を同時に登録する必要はありませんが、州の法律で規定された期間内に確実にその権利を得る必要があります)」
図7から分かるように、上述のテキストを分析することにより、以下の結果が得られる。「My husbands' grandmother gave him his grandfather's truck」は、「I wanted to
put in my name」、「and paid the property tax」、および「and got insurance for the truck」という表現によって詳述される「having unpaid fines on his license, he was not able to get the truck put in his name」によって詳述される「She signed the title over but due to my husband」という表現によって詳述される。
【0083】
「My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck.」は、「it came to sending off the title」によって詳述される「By the time」と対比される「to do so」によって詳述される
「I didn't have the money」によって詳述される。
【0084】
「My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck. By the time it came to sending off th
e title and getting the tag, I didn't have the money to do so」は、「I went to the insurance place」および「and was refused a refund」によって詳述される「I am not going to be able to afford the truck」によって詳述される「Now, due to circumstances,」と対比される。
【0085】
「My husbands' grandmother gave him his grandfather's truck. She signed the title over but due to my husband having unpaid fines on his license, he was not able to get the truck put in his name. I wanted to put in my name and paid the property tax and got insurance for the truck. By the time it came to sending off the title and getting the tag, I didn't have the money to do so. Now, due to circumstances, I am not going to be able to afford the truck. I went to the insurance
place and was refused a refund.」は、「I am just wondering that since I am not going to have a tag on this truck, is it possible to get the property tax refunded?」で詳述されている。
【0086】
「I am just wondering」は、「since I am not going to have a tag on this truck 」という条件を有する「is it possible to get the property tax refunded?」と同じ
単位である「that」に属している。
【0087】
以上のように、トピックの主な主題は「自動車に対する財産税」である。質問は、一方では、すべての所有物は課税可能であるというのに対して、他方では、所有権がいくらか不完全であるという矛盾を含んでいる。好適な応答により、質問のトピックに対処するとともに矛盾を明確にしなければならない。このために、応答者は、登録状態に関係なく所有されるものすべてに関して税金を納付する必要性についてさらに強い請求を行なっている。この例は、Yahoo(登録商標)!Answersの評価ドメインから得られる肯定的なトレーニングセットの一要素である。トピックの主な主題は「自動車に対する財産税」である。質問は、一方では、所有物はすべて課税可能であるのに対して、他方では、所有権はいくらか不完全であるという矛盾を含んでいる。好適な回答/応答により、質問のトピックに対処するとともに矛盾を明確にしなければならない。読み手は、質問が対比の修辞関係を含んでいるので、納得させるために同様の関係で回答をこの質問と一致させなければならないことに気付き得る。他の場合には、この回答はその分野のエキスパートでない人々にとっても不完全に見えるだろう。
【0088】
図8は、本発明の特定の局面に従った、
図7に表わされた質問についての例示的な応答を示す。
図8は談話ツリー800を示す。中心核は、「that you own」によって詳述される「The property tax is assessed on property」である。「The property tax is assessed on property that you own 」はまた、「Just because you chose to not register
it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all states give you a limited amount of time to transfer title and pay the use tax」によって詳述される核である
。
【0089】
核である「The property tax is assessed on property that you own. Just because you chose to not register it does not mean that you don't own it, so the tax is not refundable. Even if you have not titled the vehicle yet, you still own it within the boundaries of the tax district, so the tax is payable. Note that all states give you a limited amount of time to transfer title and pay the use tax.」
は、「If you apply late,」という条件付きの「there will be penalties on top of the normal taxes and fees」によって詳述される。これは、さらに、「but you absolutel
y need to title it within the period of time stipulated in state law」および「You don't need to register it at the same time」という対比によって詳述される。
【0090】
図7のDTと
図8のDTとを比較することで、応答(
図8)を要求(
図7)と如何に適切に一致させるかを判断することが可能となる。本発明のいくつかの局面においては、上述のフレームワークは、DT間の要求/応答および修辞学的合致についてDTを判断するために、少なくとも部分的に用いられる。
【0091】
別の例において、「What does The Investigative Committee of the Russian Federation do(ロシア連邦の調査委員会が何を行なったのか」という質問は、たとえば、公式の回答または実際の回答という少なくとも2つの回答を有する。
【0092】
図9は、一局面に従った公式の回答についての談話ツリーを示す。
図9は、「The Investigative Committee of the Russian Federation is the main federal investigating authority which operates as Russia's Anti-corruption agency and has statutory responsibility for inspecting the police forces, combating police corruption and police misconduct, is responsible for conducting investigations into local authorities and federal governmental bodies.(ロシア連邦の調査委員会は主たる連邦捜査機関であって、ロシアの汚職防止機関として機能するとともに、警察を監査して警察の汚職および警察の違法行動を根絶するための法定上の責任を有しており、地方自治体および連邦行政体の調査を行なう責任を負っている)」と述べる公式回答または声明はについての談話ツリー900である。
【0093】
図10は、一局面に従った未処理の回答についての談話ツリー1000を示す。
図10に示されるように、別の、場合によってはより正直な回答は以下のとおりである。「Investigative Committee of the Russian Federation is supposed to fight corruption. However, top-rank officers of the Investigative Committee of the Russian Federation are charged with creation of a criminal community. Not only that, but their involvement in large bribes, money laundering, obstruction of justice, abuse of power, extortion, and racketeering has been reported. Due to the activities of these officers, dozens of high-profile cases including the ones against criminal lords had been ultimately ruined.(ロシア連邦の調査委員会は汚職と戦うよう想定されている。しかしながら、ロシア連邦の調査委員会のトップランクの高官は、犯罪集団の設立の役割を担っている。それだけでなく、これらの高官らが大規模な賄賂、マネーロンダリング、司法妨害、職権乱用、恐喝およびゆすりに関与していることが報告されてきた。これらの職員の活動により、犯罪の大物に関する事例を含むとともに注目を集めた数十の事例は最終的に台無しにされた。」
回答の選択は文脈に依存する。修辞構造は、「公式の(official)」、「政治的に正しい(politically correct)」テンプレートベースの回答と、「実際の(actual)」、「
未処理の(raw)」、「現場からの報告(reports from the field)」または「論争の的
となる(controversial)」回答とを区別することを可能にする(
図9および
図10を参
照されたい)。時として、質問自体は、どのカテゴリの回答が期待されているかについてのヒントを与えることができる。質問が、第2の意味を持たない類事実または定義的性質をもつ質問として策定されている場合、第1のカテゴリーの回答が適している。他の場合には、質問が、「それが実際に何であるかを私に伝える」という意味を有する場合、第2のカテゴリが適している。一般に、質問から修辞構造を抽出した後、同様の修辞構造、一致した修辞構造、または補足的な修辞構造を有するであろう適切な回答を選択することはより容易である。
【0094】
公式の回答は、テキストが含む可能性のある議論の点から見て中立的である詳述および
ジョイントに基づいている(
図9を参照)。同時に、未処理の回答は対比関係を含んでいる。エージェントが行うと予想されるものについてのフレーズと、このエージェントが行ったと判明したことについてのフレーズとのこの関係が抽出される。
【0095】
拡張談話ツリー
本開示の局面は、複数のドキュメントなどの関連コンテンツのコーパスから構築された拡張談話ツリーをナビゲートすることを容易にする。拡張談話ツリーは、複数のドキュメントからの個々のテキスト単位(たとえば、パラグラフ)からなる談話ツリーの組み合わせである。さまざまな局面では、拡張談話ツリーを用いて、キーワードに基づくズームインだけでなく、ドキュメントがどのように相互接続されるかに基づいてナビゲーションに入るか出るかまたは戻ることも可能にし、それにより自律型エージェントがガイド付き検索などのコンテンツナビゲーションを提供できるようにする。
【0096】
図11は、一局面による、拡張談話ツリーの例を示す。
図11は、拡張談話ツリー1
100を示す。拡張談話ツリー1100は、グループ1100、1120、1130、1140、および1150を含む。各グループは、ドキュメントと、ドキュメントから生成される談話ツリーとを含む。例えば、グループ1110は談話ツリー1111およびドキュメント1112を含み、グループ1120は談話ツリー1121およびドキュメント1122を含み、以下同様である。
【0097】
特定の談話ツリー内、たとえば談話ツリー1111、1121、1131、1141、および1151の間のリンクに加えて、拡張談話ツリー1100は、談話ツリー間リンク1161~1164および関連付けられるドキュメント間リンク1171~1174を含む。
図12に関してさらに説明されるように、談話ナビゲーションアプリケーション102は、談話ツリー1111~1115を構築する。談話ツリー1111はドキュメント1112を表し、談話ツリー1121はドキュメント1122を表し、以下同様である。拡張談話ツリー1100は、各パラグラフまたはドキュメントについて談話ツリーを構築することによって構築される。
【0098】
談話ツリー間リンク1161は談話ツリー1111および1121を接続し、談話ツリー間リンク1162は談話ツリー1121および1131を接続し、談話ツリー間リンク1163は談話ツリー1111および1141を接続し、談話ツリー間リンク1164は談話ツリー1121および1151を接続する。談話ツリー間リンク1161~1164に基づいて、談話ナビゲーションアプリケーション102は、談話ツリー間リンク1161、1162、1163、および1164にそれぞれ対応するドキュメント間リンク1171、1172、1173、および1174を作成する。ドキュメント間リンク1171~1174は、ドキュメント1112、1122、1132、1142、および1152をナビゲートするために用いることができる。
【0099】
談話ナビゲーションアプリケーション102は、談話ツリー1111~1115の第1の談話ツリー内において1つ以上のエンティティを判断する。エンティティの例には、場所、物、人、または企業が含まれる。次に、談話ナビゲーションアプリケーション102は、他の談話ツリーに存在する同じエンティティを識別する。判断されたエンティティに基づいて、談話ナビゲーションアプリケーション102は、各一致するエンティティ間の修辞的つながりを判断する。
【0100】
たとえば「San Francisco is in California(サンフランシスコはカリフォルニアにある)」など、エンティティ「San Francisco」がドキュメント1112に出現し、ドキュ
メント1122は、さらに、「San Francisco has a moderate climate but can be quite windy(サンフランシスコは穏やかな気候であるが、非常に風が強い)」と説明する場
合、談話ナビゲーションアプリケーション102は、エンティティ「San Francisco」間
の修辞的つながりは「詳述」の1つであると判断し、リンク1161および1171を「詳述」としてマークするであろう。例を続けると、談話ナビゲーションアプリケーション102は、判断された修辞関係に基づいて、リンク1162~1164および対応するリンク1172~1174を判断する。談話ナビゲーションアプリケーション102は、ドキュメントのパラグラフの談話ツリーを結合して、拡張談話ツリー1100を形成する。
【0101】
拡張談話ツリー1100内のリンクを用いることにより、談話ナビゲーションアプリケーションは、同じドキュメントのパラグラフ間、またはドキュメント間、たとえばドキュメント1112と1122との間をナビゲートできる。例えば、ユーザが特定のトピックに関するより多くの情報に関心がある場合、談話ナビゲーションアプリケーション102は、パラグラフ内の核から衛星への詳述修辞関係、またはトピックに関してより具体的な情報を提供するドキュメントへの詳述修辞関係ハイパーリンクを通してナビゲートする。
【0102】
逆に、提案されたトピックが正に必要なものではないとユーザが判断した場合には、ユーザは、ドキュメントの、より上位レベルのビューに戻ることができる(たとえば、衛星から核に、または狭いドキュメントから広いドキュメントに戻ることができる)。次に、談話ナビゲーションアプリケーション102は、反対の順序で、すなわち、パラグラフまたはドキュメント間のいずれかにおいて衛星から核まで、詳述関係をナビゲートする。同様に、談話ナビゲーションアプリケーション102は、論争のあるトピックを探索するために対比または条件修辞的つながりに依存するなど、他のナビゲーションオプションを容易にする。
【0103】
談話ナビゲーションアプリケーション102は、異なるパラグラフまたはドキュメントのテキストフラグメント間の修辞リンクを構築するために、元のパラグラフのそれぞれのテキストフラグメントから架空のテキストフラグメントまたは一時パラグラフを用いてエンティティ間の関係性を識別し、そのパラグラフにおいて同一指示分析および談話構文解析を実行する。
【0104】
図12は、一局面による、拡張談話ツリーを作成するためのプロセス1200の例のフローチャートを示す。プロセス1200の入力はドキュメントのセットであり、出力は拡張談話ツリーであり、それは各ノードに対するドキュメント識別のラベルを伴う通常の談話ツリーとしてエンコードされる。例示の目的で、プロセス1200は、2つのドキュメント、例えば、ドキュメント110a~bに関して説明されるが、プロセス1200は、任意の数のドキュメントを用いることができる。
【0105】
ブロック1201で、プロセス1200は、第1のドキュメントおよび第2のドキュメントにアクセスすることを含む。ドキュメントの例には、テキスト、本、ニュース記事、およびその他の電子ドキュメントが含まれる。
【0106】
一局面では、談話ナビゲーションアプリケーション102は、トピックが類似または同一であるドキュメントを選択する。例えば、談話ナビゲーションアプリケーション102は、例えば、ドキュメント間のキーワードの類似性を判断することにより、各ドキュメントのコンテンツスコアを判断することができる。例えば、談話ナビゲーションアプリケーション102は、第1のドキュメントの第1のコンテンツスコアおよび第2のドキュメントの第2のコンテンツスコアがしきい値内である、と判断し、類似性に基づいて、第1および第2のドキュメントを用いて拡張談話ツリーを作成する。
【0107】
一局面では、談話ナビゲーションアプリケーション102は、ドキュメントのセンテンスおよびフレーズ構造を表すドキュメントツリーの生成を含むドキュメント分析を実行す
る。ドキュメント間リンクに関連付けられる修辞関係は、さまざまなナビゲーションシナリオを決定できる。デフォルトでは、詳述を用いることができる。談話ナビゲーションアプリケーション102は、ユーザが「なぜ」または「どのようにして」などの質問に興味がある場合に、帰属関係によって関係付けられる別のドキュメントへのリンクを提供する。談話ナビゲーションアプリケーション102は、ユーザが最初に提示されたドキュメントとの意見の相違を表明した場合、または現在のドキュメントに対する対照的要素を提供するドキュメントを要求した場合に、対比関係によって関係付けられるドキュメントへのリンクを提供することができる。
【0108】
さらなる局面では、談話ナビゲーションアプリケーション102は、ユーザクエリを実行することによって第1および第2のドキュメントを取得する。ユーザクエリの例には、「気候変動」や「言語学に関するドキュメント」などが含まれる。
【0109】
ブロック1202で、プロセス1200は、第1のドキュメントの第1のパラグラフについて第1の談話ツリーを作成することを含む。談話ナビゲーションアプリケーション102は、第1のドキュメントからのパラグラフにアクセスする。パラグラフの各センテンスには、フラグメント、または基本談話単位が含まれる。少なくとも1つのフラグメントには動詞が含まれる。フラグメント内の各単語には、フラグメント内のその単語の役割(例:機能など)が含まれる。談話ナビゲーションアプリケーション102は、フラグメント間の修辞的つながりを表す談話ツリーを生成する。談話ツリーは複数のノードを含み、各非終端ノードは2つのフラグメント間の修辞的つながりを表し、各終端ノードは複数のフラグメントの1つに関連付けられる。談話ナビゲーションアプリケーション102は、このように継続し、第1のドキュメントの各パラグラフについて談話ツリーのセットを構築する。プロセス1200は、テキストの単位としてパラグラフに関して説明されているが、他のサイズのテキストを用いることもできる。
【0110】
ブロック1203で、プロセス1200は、第2のドキュメントの第2のパラグラフについて第2の談話ツリーを作成することを含む。ブロック1203で、プロセス1200は、ブロック1202で第1のドキュメントに対して実行されたものと実質的に同様のステップを第2のドキュメントに対して実行する。プロセス1200が3つ以上のドキュメントについて拡張談話ツリーを作成する場合、プロセス1200は、ブロック1202で説明された機能を複数のドキュメントに対して実行する。プロセス1200は、各談話ツリーがドキュメントに対応する談話ツリーのセット内の談話ツリーのすべてのペアを通って反復することができる。談話ツリーのペアは、以下のように表すことができる。
【0111】
DTiおよびDTj∈DTA
ブロック1204で、プロセス1200は、第1の談話ツリーからエンティティおよび対応する第1の基本談話単位を判断することを含む。キーワード処理(第1のドキュメントのセンテンスにおいて事前定義されたキーワードのリストの1つを検索する)、トレーニングされた機械学習モデルを用いる、インターネットリソースを検索するなど、さまざまな方法を用いることができる。談話ナビゲーションアプリケーション102は、談話ツリーDTiおよびDTjにおいてすべての名詞句および名前付きエンティティを識別する。
【0112】
一例では、談話ナビゲーションアプリケーション102は、談話ツリーから名詞句を抽出する。次に、談話ナビゲーションアプリケーション102は、トレーニングされた機械学習モデルを用いることによって、その名詞句を、(i)エンティティ、または、(ii)エンティティではない、として分類する。
【0113】
ブロック1205で、プロセス1200は、第2の談話ツリーにおいて、第1の基本談
話単位に一致する第2の基本談話単位を判断することを含む。より具体的には、談話ナビゲーションアプリケーション102は、オーバーラップを計算し、DTiとDTjとの間の共通エンティティEi,jを識別する。談話ナビゲーションアプリケーション102は、等しい、サブエンティティ、または一部などの、Ei,jにおけるエンティティの発生間の関係性を確立する。次に、談話ナビゲーションアプリケーション102は、Ei,jにおける各エンティティペアの発生に対してパラグラフ間修辞リンクR(Ei,j)を形成する。
【0114】
ブロック1206で、プロセス1200は、第1の基本談話単位と第2の基本談話単位と間の修辞的つながりを判断することに応答して、その修辞的つながりを介して第1の談話ツリーと第2の談話ツリーとをリンクし、それによって拡張談話ツリーを作成する。より具体的には、談話ナビゲーションアプリケーション102は、例えばEDU(Ei)およびEDU(Ej)などのテキストフラグメントのマージを形成し、そのDTを構築し、各修辞リンクに対して認識された関係ラベルを用いることにより、各修辞リンクの修辞関係を分類する。
【0115】
一局面では、談話ナビゲーションアプリケーション102は、第1の基本談話単位および第2の基本談話単位を一時パラグラフに結合する。次に、談話ナビゲーションアプリケーション102は、談話構文解析を一時パラグラフに適用することによって、一時パラグラフ内の第1の基本談話単位と第2の基本談話単位との間の修辞的つながりを判断する。
【0116】
さらなる局面では、修辞的つながりを判断しないことに応答して、談話ナビゲーションアプリケーション102は、第1の基本談話単位と第2の基本談話単位との間のタイプ詳述のデフォルトの修辞的つながりを作成し、第1の談話ツリーと第2の談話ツリーとをリンクする。
【0117】
一局面では、談話ナビゲーションアプリケーション102は、ドキュメント間にわたるテキストスパン間のリンクの自動構築および分類を実行する。ここでは、以下のアプローチのファミリー:語彙的距離、語彙的連鎖、情報抽出、および言語テンプレートマッチングを用いることができる。語彙的距離は、センテンスのペアに亘ってコサイン類似度を用いることができ、語彙的連鎖は、同義語および超義語を活用して、より堅牢であることができる。
【0118】
拡張談話ツリーは、2つ以上のドキュメント間の関係を、異なる粒度レベルで形成できる。例えば、プロセス1200に関して説明したように、関係は、基本談話単位間で判断することができる。さらに、拡張談話ツリーは、単語間、センテンス間、パラグラフ間、ドキュメントのセクション間、または全ドキュメント間の関係を表すことができる。示されているように、各個々のグラフは、各個々のドキュメントについてのより小さなサブグラフで構成されている。1つのドキュメント内のトピック間において論理的な接続を表すリンクが示される。
【0119】
図13も、一局面による、異なる粒度レベルでのドキュメントのテキスト単位間の関係を示す。
図13は、別個のドキュメントに各々が対応する談話ツリー1301、1302、および1303を示す。
図13は、ドキュメント1302および1303において単語をリンクする単語リンク1310、ドキュメント1301および1302においてパラグラフまたはセンテンスをリンクするパラグラフ/センテンスリンク1311、ドキュメント1301および1303においてフレーズをリンクするフレーズリンク1312、ならびにドキュメント1301および1303をリンクするクロスドキュメントリンク1313など、さまざまなドキュメント間リンクも示す。談話ナビゲーションアプリケーション102は、リンク1310~1313を用いて、ドキュメント1301~1303間をナ
ビゲートすることができる。
【0120】
ナビゲーションのための拡張談話ツリーの使用
プロセス1200によって作成されるような拡張談話ツリーを用いて、ドキュメントまたは他のテキスト本文をナビゲートできる。拡張談話ツリーは、自律型エージェント、改善された検索およびナビゲーション、ならびに質問と回答との調整など、さまざまなアプリケーションを可能にする。
【0121】
図14は、一局面による、拡張談話ツリーを用いてドキュメント間をナビゲートするためのプロセス1400の例のフローチャートを示す。
【0122】
ブロック1401で、方法1400は、複数のドキュメントを表す拡張談話ツリーにアクセスすることを含む。プロセス1200に関して説明したように、拡張談話ツリーは、第1のドキュメントの第1の談話ツリーおよび第2のドキュメントの第2の談話ツリー、ならびに修辞関係を表すドキュメント間のリンクのセットを含むことができる。
【0123】
一局面では、ドキュメントは、特定のユーザの質問またはクエリに応答することができる。談話ナビゲーションアプリケーション102は、ドキュメントのセット、データベース、またはインターネットリソースの検索を実行して、関連するドキュメントを判断することができる。さらに、談話ナビゲーションアプリケーション102は、質問またはクエリを第1のドキュメントとして用い、質問またはクエリへの回答を含むドキュメントを第2のドキュメントとして用いることができる。
【0124】
ブロック1402で、方法1400は、拡張談話ツリーから、ユーザデバイスからのクエリに応答する第1の基本談話単位、および第1の基本談話単位に対応する第1の位置を判断することを含む。第1の基本談話単位を判断することは、第1の基本談話単位においてクエリからの1つ以上のキーワードを照合することをさらに含むことができる。たとえば、クエリにおけるしきい値数のキーワードが、ある基本談話単位と一致する場合、その基本談話単位が選択される。
【0125】
たとえば、談話ナビゲーションアプリケーション102は、ユーザクエリ、たとえば「アトランタ」を受け取る。談話ナビゲーションアプリケーション102は、エンティティ「アトランタ」を含む第1の基本談話単位を判断する。次に、談話ナビゲーションアプリケーション102は、第1の談話ツリー内において、関連付けられる位置を判断する。位置は、ノード番号や、ドキュメント識別子とパラグラフ識別子とを含む順序付けられたペアなど、さまざまな手段で示すことができる。
【0126】
ブロック1403で、方法1400は、拡張談話ツリーから、ナビゲーションオプションのセットを判断することを含む。オプションには、第1の基本談話単位と第1の談話ツリーの第2の基本談話単位との間の第1の修辞的つながりなど、ドキュメント内の基本談話単位間の修辞関係を含めることができる。オプションには、第1の談話ツリーの第1の基本談話単位と第2の談話ツリーの第3の基本談話単位との間の第2の修辞的つながりなど、ドキュメント間の修辞関係を含めることもできる。
【0127】
上記の例を続けると、談話ナビゲーションアプリケーション102は、2つのオプションが利用可能であると判断する:1つは「アトランタ」について詳述する第1の談話ツリー内、たとえば「アトランタブレーブス」と、もう1つは「ジョージア工科大学」に関するさらなる情報を含む第2の談話ツリー内である。
【0128】
ブロック1404で、方法1400は、第1の修辞的つながりおよび第2の修辞的つな
がりをユーザデバイスに提示することを含む。上記の例を続けると、ユーザデバイス170は、「アトランタブレーブス」および「ジョージア工科大学」をユーザに提示する。
【0129】
ブロック1405で、方法1400は、(i)ユーザデバイスから第1の修辞的つながりの選択を受け取ることに応答して第2の基本談話単位をユーザデバイスに提示すること、または(ii)ユーザデバイスから第2の修辞的つながりの選択を受け取ることに応答して第3の基本談話単位をユーザデバイスに提示することを含む。
【0130】
上記の例を続けると、ユーザデバイス170は、「ジョージア工科大学」の選択を受け取り、それに応答して、談話ナビゲーションアプリケーション102は、「ジョージア工科大学」に対応する基本談話単位、例えば、「ジョージア工科大学はアトランタの研究大学である」をユーザデバイス170に与える。
【0131】
一局面では、談話ナビゲーションアプリケーション102は、選択された結果を用いて、さらなる分析を実行する。たとえば、「ジョージア工科大学」の選択に基づいて、談話ナビゲーションアプリケーションは1つ以上のドキュメントにおいて「ジョージア工科大学」に関係付けられるエンティティを検索するか、または追加のドキュメントを検索して、拡張談話ツリーを分析し、オプションでそれに統合できる。
【0132】
自律型エージェントへの拡張談話ツリーの適用
自律型エージェントは、ダイアログを維持する人間の知的活動を模倣するように設計されている。エージェントは、ユーザにとって効率的で効果的な情報を提供するために、反復態様で動作することができる。ダイアログ内の単語シーケンスのディープラーニングを用いるものを含む、自律型エージェントを実現するための既存のソリューションは、ユーザのクエリに応答するために、もっともらしい単語のシーケンスの構築を試みる。対照的に、本明細書に記載される特定の局面は、拡張談話ツリーを用いて、エージェントがユーザを適切な回答にできるだけ速くナビゲートすることを可能にする。
【0133】
たとえば、ユーザが以下のクエリ「あるクレジットカードで別のクレジットカードの代わりに支払うことができるか」を作成した場合、エージェントはユーザの意図およびこのユーザに関する背景知識を認識して適切なコンテキストを確立しようとする。たとえば、ある個人は、現金が利用できない場合、遅延支払い料金を回避するために、1つのクレジットカードで別のクレジットカードに代わって支払いたいかもしれない。主要な検索エンジンのように、この質問に対して関連のウェブページへのリンクを伴うスニペットの形式で回答を提供する代わりに、特定の局面では、ユーザが選択できる回答のトピックを提供する。このようなトピックにより、ユーザは、一方で、自分の要求がどのように理解されたか、および他方で、自分の質問に関連付けられる知識分野が何であるか、を評価する機会が与えられる。我々の例では、トピックには、「残高送金」、「当座預金口座での資金の利用」、または「あなたのクレジットカードを解約すること」が含まれる。ユーザは、説明オプションを選択するか、これらのオプションのいずれかに掘り下げるか、またはすべてのオプションを拒否して、エージェントが識別できる新しいトピックのセットを要求するよう、促される。
【0134】
拡張談話ツリーを用いて、談話ナビゲーションアプリケーション102は、ユーザクエリに最も近く一致するテキストのセクションを表す談話ツリーのルートノードから始めることができる。次に、談話ナビゲーションアプリケーション102は、談話ツリーのルートノードの衛星である基本談話単位からフレーズを抽出することにより、可能なトピックのセットを構築する。ユーザが特定のトピックを受け入れる場合、ナビゲーションは、グラフの、選択されたエッジに沿って、続行される。そうではなく、トピックがユーザの興味をカバーしない場合、談話ナビゲーションアプリケーション102は、拡張談話ツリー
内を後ろ向きにナビゲートし、元のユーザクエリに一致した別の他のセクションまたは別のドキュメントに進む。
【0135】
図15は、一局面による、拡張談話ツリーを用いてユーザの質問に答える自律型エージェントの例を示す。
図15は、メッセージ1501~1506を含むチャットウィンドウ1500を示す。メッセージ1501、1503、および1505は、ユーザデバイス170によって送信され、メッセージ1502、1504、および1506は、談話ナビゲーションアプリケーション102によって実現される自律型エージェントによって送信される。
【0136】
見て取れるように、ユーザデバイス170は、「私は破産して、お金が足りない。」と述べるメッセージ1501を送ることによってエージェントとの会話を開始する。エージェントは、拡張談話ツリーをナビゲートし、拡張談話ツリー内の第1の談話ツリーにおいてトピックを見つけ、メッセージ1501に応答するいくつかのトピックを判断する。
【0137】
メッセージ1502に示されるように、トピックには「あなたの経済的範囲外である」、「悪い判断は結果をもたらす」、「破産したことから私が学んだこと」、「破産後の人生」、「さまざまな人との絶縁問題に苦しんでいる」、「あなたの現在の支払いを抑える」が含まれる。各トピックは、拡張談話ツリーのリンクをナビゲートすることによって判断される。各トピックは第1の談話ツリーまたは別の談話ツリーにあり得、というのも、拡張談話ツリーはドキュメント間およびドキュメント内にリンクを含むからである。
【0138】
メッセージ1503で、ユーザデバイス170は、エージェントによって提供されたオプションから「支払いを抑える」オプションを選択する。次に、エージェントは、関連付けられるテキストのパラグラフをユーザデバイス170に与える。このプロセスは、メッセージ1504~1506で示されるように続行される。
【0139】
検索およびコンテンツ探索への拡張談話ツリーの適用
ウェブ上では、情報は、通常、ウェブページおよびドキュメントにおいて、特定のセクション構造で表される。質問への回答、候補回答のトピックの形成、およびユーザが選択したトピックに基づく回答の提供の試行は、関係するテキストの談話ツリーを含む構造の助けを借りて表すことができる操作である。テキストの特定の部分が回答としてユーザに提案された場合、このユーザは、より具体的なものに掘り下げたり、より一般的なレベルの知識にまで上げたり、または同じレベルのトピックへと横に移動したいかもしれない。テキストのある部分から別の部分にナビゲートするこれらのユーザの意図は、これらの部分間の同等または下位の談話関係として表すことができる。
【0140】
本開示の局面は、ウェブベースの検索のためのアクセス時間を改善する。たとえば、さまざまな局面は、さまざまなウェブページおよびドキュメントからのテキストの塊を動的にツリー形式に編成でき、ユーザの選択に応じて、システムはこのツリーの意図される末端葉にできるだけ早くナビゲートできる。さらに、ユーザが自分の問題を複数のセンテンスで説明している場合、自律型エージェントは、修辞構造が質問の構造と調和している回答を見つけることによって、この問題に対処しようとする。そうすることで、エージェントは、質問からのエンティティに関するだけでなく、それらの間の論理的な相互関係性と一致しもする回答を与える。
【0141】
コンテンツ探索
一局面では、拡張談話ツリーは、コンテンツ探索を容易にするために使用される。一例では、ユーザデバイス170は、ユーザから「ファセット検索とは何であるか?」という質問を受け取る。ユーザは、ファセット検索がどのように動作するかを理解することを望
んでいるため、他の関連する概念に精通したいであろう。
【0142】
それに応答して、談話ナビゲーションアプリケーション102は、さらなるコンテンツ探索または検索オプションを提供する。談話ナビゲーションアプリケーション102は、拡張談話ツリーを形成することにより、関連するドキュメントのセットを判断する。
【0143】
図16は、一局面による、拡張談話ツリーの例を示す。
図16は、談話ツリー1602、1603、および1604を含む拡張談話ツリー1600を示す。各談話ツリー1602~1604は、特定のテキストのパラグラフから作成される。この例では、談話ナビゲーションアプリケーション102は、異なるテキストのパラグラフから個々の談話ツリー1602~1604を作成する。ただし、センテンスまたは複数のパラグラフなど、さまざまなサイズのテキストの単位が可能である。
【0144】
より具体的には、談話ナビゲーションアプリケーション102は、ファセット検索のトピックに関係する以下のテキスト: "Facets correspond to properties of the information elements. They are often derived by analysis of the text of an item using entity extraction techniques or from pre-existing fields in a database such as author, descriptor, language, and format. Thus, existing web-pages, product descriptions or online collections of articles can be augmented with navigational facets.(ファセットは情報要素のプロパティに対応する。それらは、多くの場合、エンティ
ティ抽出手法を用いてのアイテムのテキストの分析によって、または、作成者、記述子、言語、およびフォーマットなどのデータベース内の既存のフィールドから派生する。したがって、存在するウェブページ、製品の説明、または記事のオンラインコレクションをナビゲーションファセットで拡張できる。)"から談話ツリー1603を作成する。
【0145】
さらに、談話ナビゲーションアプリケーション102は、同じくファセット検索のトピックに関係する以下のテキスト:"Within the academic community, faceted search has
attracted interest primarily among library and information science researchers,
but there is a limited interest of computer science researchers specializing in
information retrieval.(学術界内では、ファセット検索は主に蔵書および情報科学の
研究者の間で関心を集めているが、情報検索を専門とするコンピュータサイエンスの研究者の関心は限られている。)"から談話ツリー1602を作成する。
【0146】
談話ナビゲーションアプリケーション102は、エンティティ抽出のトピックに関係する以下のテキスト:"Entity extraction, also known as entity name extraction or named entity recognition, is an information retrieval technique that refers to the
process of identifying and classifying key elements from text into pre-defined categories.(エンティティ抽出は、エンティティ名抽出または名前付きエンティティ認
識としても知られ、テキストから主要な要素を識別して、事前定義されたカテゴリに分類するプロセスを参照する情報検索技術である。)"から談話ツリー1604を作成する。
【0147】
作成された談話ツリーから、談話ナビゲーションアプリケーション102は、コンテンツ探索のために以下の追加エンティティ:(1)エンティティ抽出、(2)情報検索、(3)データベース内の既存のフィールド、および(4)ナビゲーションファセットで拡張、を識別する。より具体的には、談話ナビゲーションアプリケーション102は、これらのエンティティが詳述関係によって関係付けられていると判断し、リンク1620~1623を作成する。ノード1611によって表される情報検索は、ノード1610によって表されるファセット検索について詳述し、したがってリンク1620はノード1610および1611を接続する。ノード1613で表されるエンティティ抽出は、ノード1612で表されるファセット検索について詳述し、したがってリンク1621はノード161
2および1613を接続する。ノード1615によって表される情報検索は、エンティティ抽出、ノード1614について詳述し、したがってリンク1623はノード1614および1615を接続する。最後に、談話ナビゲーションアプリケーション102は、談話ツリー1615はエンティティ抽出について詳述し、したがって、談話ナビゲーションアプリケーション102は、ノード1613および1615を接続する談話ツリー間リンク1622を作成する。
【0148】
談話ナビゲーションアプリケーション102は、エンティティをユーザデバイス170に与える。ユーザデバイス170は、エンティティをユーザに提供し、ユーザは、リンクをたどって単一の情報に到達するか、または新しい検索を実行して、複数の検索結果から選択することができる。例えば、「ファセット検索」から始めて、ユーザデバイス170は、情報検索(例えば、リンク1620を介してノード1611に)、エンティティ抽出(例えば、リンク1621を介してノード1612からノード1613に)、情報検索(リンク1622を介して)、または情報検索に関するさらなる情報(リンク1623を介してノード1615に)にナビゲートすることができる。
【0149】
追加の拡張談話ツリーの作成
談話ナビゲーションアプリケーション102は、存在する拡張談話ツリーから追加の拡張談話ツリーを構築することができる。より具体的には、機械学習モデル120を用いることにより、談話ナビゲーションアプリケーション102は、第2のドメイン(たとえば、法律)にあるテキストについての拡張談話ツリーのセットを用いることにより、第1のドメイン(例えば、エンジニアリング)にあるテキストについての談話ツリーに基づいて、拡張談話ツリーを作成することができる。
【0150】
例示的プロセスでは、談話ナビゲーションアプリケーション102は、ドキュメントのセットの第1のドキュメントを表す第1の談話ツリー、およびドキュメントのセットからの第2のドキュメントを表す第2の談話ツリーにアクセスする。
【0151】
例を続けると、談話ナビゲーションアプリケーション102は、第1の談話ツリーおよび第2の談話ツリーを、トレーニングされた分類モード、例えば機械学習モデル120に適用することによって、拡張談話ツリーのセットから参照拡張談話ツリーを取得する。拡張談話ツリーのセットには、プロセス1200などのプロセスによって作成される複数の拡張談話ツリーが含まれる。より具体的には、分類モデルは、拡張談話ツリーのセットを通って反復して、第1の候補談話ツリーおよび第2の候補談話ツリーを識別する。分類モデルは、第1の候補談話ツリーおよび第2の候補談話ツリーを、第1の談話ツリーおよび第2の談話ツリーの最適な一致として識別する。分類モデルは、分類子や最近傍などの異なるモデルを用いることができる。
【0152】
例を続けると、談話ナビゲーションアプリケーション102は、参照拡張談話ツリーから、第1の参照談話ツリーと第2の参照談話ツリーとの間の1つ以上のリンクを判断する。リンクは、プロセス1200(例えば、ブロック1206)を用いることによって判断することができる。次に、談話ナビゲーションアプリケーション102は、リンクを第1の談話ツリーおよび第2の談話ツリーに伝播し、それによって拡張談話ツリーを作成する。このようにして、談話ナビゲーションアプリケーション102は、第1および第2の談話ツリーと同様の談話ツリーを含む拡張談話ツリーを識別し、次いで適切な談話ツリー間リンクを生成することによって、拡張談話ツリーを作成した。
【0153】
評価用データセット
我々は、100個のクエリおよびClueweb09 cat. B dataset2(2009年1月から2
月の間にクロールされた英語の50,220,423のウェブページ)に関するそれらの
関連性評価をまとめて含む、Web 2009(クエリ1~50)およびWeb 2010(クエリ51~100)トラックのTRECデータセットで実験する。我々がこれらのデータセットを選択した理由は、それらが社会で広く使用されており、現在最新のものと比較できるためである。我々は、spam3を示すパーセンタイルスコアの推奨設定<70でCormack et al.の
スパムランキングを用いてスパムを削除した。Indri IRシステムを用いて、調整された設定(セクション4.1.2で説明)でベースライン検索取得モデルによって各クエリに応答して取得された上位1000件のドキュメントで構成される、このコレクションのサブセットを検討する。
【0154】
我々は、車の修理の推奨事項に関係付けられるQ/Aペアのデータセットを作成した。これらのペアは第1および第2の発話としてダイアログから抽出されたため、質問は7~15個のキーワードであり、回答は3~6センテンスである。このリソースは、ダイアログサポートシステムをトレーニングするために取得されたが、検索の評価にも役立つことが判明している。このデータセットは(CarPros 2017)からかき集められ、(Github Car Repair Dataset 2017)で入手できる。
【0155】
Answer (Webscope 2017)は、幅広いトピックを伴う質問と回答とのペアのセットである。我々は、14万件のユーザ質問のセットから、3~5センテンスを含む3300件を選択した。ほとんどの質問に対する回答はかなり詳細なので、センテンス長によるフィルタリングは回答に適用されなかった。
【0156】
我々のソーシャルメディアデータセットには、主にFacebook上での投稿からの要求応答ペアが含まれる。我々は、雇用に関するLinkedIn.comおよびvk.comの会話の一部も使用した。ソーシャルドメインでは、ライティングの基準はかなり低い。テキストの結束性は非常に限られており、論理的な構造および関連性はしばしば欠けている。作成者らは、自身のアカウント、およびAPIを介して数年にわたって利用可能な公開Facebookアカウントからも、トレーニングセットを形成した(書いた時点では、メッセージを取得するためのFacebook APIは利用可能ではない)。加えて、Enron dataset から860のeメールメールスレッドを用いた(Cohen 2016)。さらに、我々は、人のユーザ-ホストに代わって自動的に投稿を生成するエージェントの投稿に対する手動応答のデータを収集した(Galitsky et al 2014)。我々は、さまざまなソーシャルネットワークソースから4000のペアを
形成した。
【0157】
我々は、Fidelity.comからかき集めた経済上の質問のデータセットを形成した。このデータセットは、検索の関連性の改善が垂直ドメインにおいて妥当なカバレッジでどのように生ずるかを示す。提案されたチャットボットを使用した情報アクセスの効率を、Google(登録商標)などの主要なウェブ検索エンジンとの対比において、双方のシステムが関連する回答を有するクエリについて、比較した。検索エンジンの場合、ミスは、特定のユーザに関連する検索結果に先行する検索結果である。チャットボットの場合、ミスは、ユーザに、チャットボットによって提案された他のオプションを選択させるか、または他のトピックを要求させる回答である。
【0158】
質問のトピックは個人の経済状態を含んでいた。12人のユーザ(作成者の同僚)は、チャットボットにユーザの経済状況を反映する15~20の質問をし、ユーザが回答に満足するかまたは不満であきらめたときに停止した。同じ質問がGoogleに送信され、評価者は各検索結果スニペットをクリックしてドキュメントまたはウェブページを取得し、それに満足できるかどうかを判断する必要があった。
【0159】
チャットボット対検索エンジンの検索効率の比較の構造を
図4に示す。矢印の上部は、すべての検索結果(左側)を用いて、説明のためにトピックのリストを形成していること
を示す。下部の矢印は、下の回答が、2回のユーザフィードバックおよび説明に基づいて、チャットボットによって選択されることになったことを示す。
【0160】
図17は、一局面による、検索エンジンを用いるナビゲーションと拡張談話ツリーで有効にされる自律型エージェントを用いるナビゲーションとの間の比較を示す。
図17は、検索エンジンに提示された質問1701、検索に応答して収集された結果1702~1705、およびユーザと自律型エージェントと間の対話1701~1706を含む比較1700を示す。矢印は、個別のトピックに関する複数の検索結果が、自動的に抽出されたトピックを列挙する単一の説明要求にどのように収束するかを示す。
【0161】
ユーザは、(左側の検索エンジンを用いて)すべての検索結果を調べることにより関連する結果を見つけるのではなく、チャットボットによって作成された説明要求に答え、ユーザの関心のあるトピックに掘り下げる(右側)。矢印は、個別のトピックに対する複数の検索結果が、自動的に抽出されたトピックを列挙する単一の説明要求にどのように収束するかを示す。選択されたトピックは、次いで、ユーザを新たなドキュメントまたは同じドキュメントの新たなセクションにナビゲートする。
【0162】
【0163】
表4を見ると、チャットボットの知識探索セッションの時間は検索エンジンのそれよりも長いことがわかる。これは、ユーザにとってはメリットが少ないように見えるかもしれないが、事業体側はユーザが事業体のウェブサイトにより長く留まることを好み、なぜならば、ユーザ獲得の可能性が高まるからである。チャットボットの回答を読むのに7%多くの時間を費やすと、特にこれらの回答がこのユーザの選択に従うとき場合には、ユーザはよりドメインに慣れることができると予想される。チャットボットの探索セッションのステップ数は、検索エンジンに必要なものの4分の1である。MAPやNDCGなどの検索エンジンのパフォーマンスを測定する従来の方法は、情報アクセスの効率に関する従来の検索エンジンとチャットボットとの比較にも適用できる(Sakai 2007)。我々は、チャットボットを拡張談話ツリー駆動型ナビゲーションとともに用いることは、人間の知的活動の模倣に焦点を当てた従来の検索エンジンおよびチャットボットと比較して、効率的で有益な情報アクセス方法である、と結論付ける。
【0164】
図18は、上記局面のうちの1つを実現するための分散型システム1800を示す簡略図である。例示された局面においては、分散型システム1800は、1つ以上のネットワーク1810を介して、ウェブブラウザ、プロプライエタリクライアント(たとえばオラクルフォーム)などのクライアントアプリケーションを実行して動作させるように構成される1つ以上のクライアントコンピューティングデバイス1802、1804、1806および1808を含む。サーバ1812は、ネットワーク1810を介してリモートクライアントコンピューティングデバイス1802、1804、1806および1808と通信可能に結合されてもよい。
【0165】
さまざまな局面においては、サーバ1812は、システムの構成要素のうち1つ以上によって提供される1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合されてもよい。サービスまたはソフトウェアアプリケーションは非仮想環境および仮想環境を含み得る。仮想環境は、2次元または3次元(three-dimensional:3D)
表現、ページベースの論理的環境などであろうとなかろうと、仮想イベント、トレードショー、シミュレータ、クラスルーム、購買商品取引および企業活動のために用いられるものを含み得る。いくつかの局面においては、これらのサービスは、ウェブベースのサービスもしくはクラウドサービスとして、またはソフトウェア・アズ・ア・サービス(Software as a Service:SaaS)モデルのもとで、クライアントコンピューティングデバイ
ス1802,1804,1806および/または1808のユーザに供給されてもよい。そして、クライアントコンピューティングデバイス1802,1804,1806および/または1808を動作させるユーザは、1つ以上のクライアントアプリケーションを利用して、サーバ1812と相互作用して、これらの構成要素によって提供されるサービスを利用し得る。
【0166】
図に示されている構成では、分散型システム1800のソフトウェアコンポーネント1818,1820および1822は、サーバ1812上に実装されるように示されている。また、他の局面においては、分散型システム1800の構成要素のうちの1つ以上および/またはこれらの構成要素によって提供されるサービスは、クライアントコンピューティングデバイス1802,1804,1806および/または1808のうちの1つ以上によって実現されてもよい。その場合、クライアントコンピューティングデバイスを動作させるユーザは、1つ以上のクライアントアプリケーションを利用して、これらの構成要素によって提供されるサービスを使用し得る。これらの構成要素は、ハードウェア、ファームウェア、ソフトウェア、またはそれらの組合せで実現されてもよい。分散型システム1800とは異なり得るさまざまな異なるシステム構成が可能であることが理解されるべきである。したがって、図に示されている局面は、局面のシステムを実現するための分散型システムの一例であり、限定的であるよう意図されたものではない。
【0167】
クライアントコンピューティングデバイス1802,1804,1806および/または1808は、手持ち式携帯機器(たとえばiPhone(登録商標)、携帯電話、iPad(登録商標)、計算タブレット、パーソナルデジタルアシスタント(personal digital assistant:PDA))またはウェアラブル装置(たとえばグーグルグラス(登録商標)ヘッドマウントディスプレイ)であってもよく、当該装置は、マイクロソフト・ウィンドウズ(登録商標)・モバイル(登録商標)などのソフトウェアを実行し、および/または、iOS、ウィンドウズ・フォン、アンドロイド、ブラックベリー10、パームOSなどのさまざまなモバイルオペレーティングシステムを実行し、インターネット、eメール、ショート・メッセージ・サービス(short message service:SMS)、ブラックベリ
ー(登録商標)、または使用可能な他の通信プロトコルである。クライアントコンピューティングデバイスは、汎用パーソナルコンピュータであってもよく、当該汎用パーソナルコンピュータは、一例として、マイクロソフトウィンドウズ(登録商標)、アップルマッキントッシュ(登録商標)および/またはリナックス(登録商標)オペレーティングシス
テムのさまざまなバージョンを実行するパーソナルコンピュータおよび/またはラップトップコンピュータを含む。クライアントコンピューティングデバイスは、ワークステーションコンピュータであってもよく、当該ワークステーションコンピュータは、たとえばGoogle Chrome OSなどのさまざまなGNU/リナックスオペレーティングシステムを含むがこれらに限定されるものではないさまざまな市販のUNIX(登録商標)またはUNIXライクオペレーティングシステムのうちのいずれかを実行する。代替的には、または付加的には、クライアントコンピューティングデバイス1802,1804,1806および1808は、シン・クライアントコンピュータ、インターネットにより可能なゲーミングシステム(たとえばキネクト(登録商標)ジェスチャ入力装置を備えるかまたは備えないマイクロソフトXボックスゲーム機)、および/または、ネットワーク1810を介して通信が可能なパーソナルメッセージング装置などのその他の電子装置であってもよい。
【0168】
例示的な分散型システム1800は、4個のクライアントコンピューティングデバイスを有するように示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサを有する装置などの他の装置が、サーバ1812と相互作用してもよい。
【0169】
分散型システム1800におけるネットワーク1810は、さまざまな市販のプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者になじみのある任意のタイプのネットワークであってもよく、当該プロトコルは、TCP/IP(伝送制御プロトコル/インターネットプロトコル)、SNA(システムネットワークアーキテクチャ)、IPX(インターネットパケット交換)、アップルトークなどを含むが、これらに限定されるものではない。単に一例として、ネットワーク1810は、イーサネット(登録商標)、トークンリングなどに基づくものなどのローカルエリアネットワーク(LAN)であってもよい。ネットワーク1810は、広域ネットワークおよびインターネットであってもよい。ネットワーク1810は、仮想ネットワークを含んでいてもよく、当該仮想ネットワークは、仮想プライベートネットワーク(virtual private network:
VPN)、イントラネット、エクストラネット、公衆交換電話網(public switched telephone network:PSTN)、赤外線ネットワーク、無線ネットワーク(たとえば米国電
気電子学会(Institute of Electrical and Electronics:IEEE)802.18の一
連のプロトコル、ブルートゥース(登録商標)および/またはその他の無線プロトコルのうちのいずれかのもとで動作するネットワーク)、および/またはこれらの任意の組合せ、および/または他のネットワークを含むが、これらに限定されるものではない。
【0170】
サーバ1812は、1つ以上の汎用コンピュータ、専用サーバコンピュータ(一例として、PC(パーソナルコンピュータ)サーバ、UNIX(登録商標)サーバ、ミッドレンジサーバ、メインフレームコンピュータ、ラックマウント式サーバなどを含む)、サーバファーム、サーバクラスタ、またはその他の適切な構成および/または組合せで構成され得る。サーバ1812は、仮想オペレーティングシステムを実行する1つ以上の仮想マシン、または仮想化を含む他のコンピューティングアーキテクチャを含み得る。論理記憶装置の1つ以上のフレキシブルプールは、サーバのための仮想記憶デバイスを維持するように仮想化することができる。仮想ネットワークは、ソフトウェア定義型ネットワーキングを用いて、サーバ1812によって制御することができる。さまざまな局面においては、サーバ1812は、上記の開示に記載されている1つ以上のサービスまたはソフトウェアアプリケーションを実行するように適合され得る。たとえば、サーバ1812は、本開示の局面に係る上記の処理を実行するためのサーバに対応してもよい。
【0171】
サーバ1812は、上記のもののうちのいずれか、および、任意の市販のサーバオペレーティングシステムを含むオペレーティングシステムを実行し得る。また、サーバ181
2は、ハイパーテキスト転送プロトコル(hypertext transport protocol:HTTP)サーバ、ファイル転送プロトコル(file transfer protocol:FTP)サーバ、共通ゲートウェイインターフェース(common gateway interface:CGI)サーバ、JAVA(登録商標)サーバ、データベースサーバなどを含むさまざまな付加的サーバアプリケーションおよび/または中間層アプリケーションのうちのいずれかを実行し得る。例示的なデータベースサーバは、オラクル社(Oracle)、マイクロソフト社(Microsoft)、サイベース
社(Sybase)、IBM社(International Business Machines)などから市販されている
ものを含むが、これらに限定されるものではない。
【0172】
いくつかの実現例では、サーバ1812は、クライアントコンピューティングデバイス1802,1804,1806および1808のユーザから受取ったデータフィードおよび/またはイベント更新を分析および統合するための1つ以上のアプリケーションを含み得る。一例として、データフィードおよび/またはイベント更新は、1つ以上の第三者情報源および連続的なデータストリームから受信されるTwitter(登録商標)フィード、Facebook(登録商標)更新またはリアルタイム更新を含み得るが、これらに限定されるもの
ではなく、センサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどに関連するリアルタイムイベントを含み得る。また、サーバ1812は、クライアントコンピューティングデバイス1802,1804,1806および1808の1つ以上の表示装置を介してデータフィードおよび/またはリアルタイムイベントを表示するための1つ以上のアプリケーションを含み得る。
【0173】
また、分散型システム1800は、1つ以上のデータベース1814および1816を含み得る。データベース1814および1816は、さまざまな場所に存在し得る。一例として、データベース1814および1816の1つ以上は、サーバ1812にローカルな(および/または存在する)非一時的な記憶媒体に存在していてもよい。代替的に、データベース1814および1816は、サーバ1812から遠く離れていて、ネットワークベースまたは専用の接続を介してサーバ1812と通信してもよい。一組の局面においては、データベース1814および1816は、記憶領域ネットワーク(storage-area network:SAN)に存在していてもよい。同様に、サーバ1812に起因する機能を実行するための任意の必要なファイルが、サーバ1812上にローカルに、および/または、リモートで適宜格納されていてもよい。一組の局面においては、データベース1814および1816は、SQLフォーマットコマンドに応答してデータを格納、更新および検索するように適合された、オラクル社によって提供されるデータベースなどのリレーショナルデータベースを含み得る。
【0174】
図19は、本開示の一局面に係る、一局面のシステムの1つ以上の構成要素によって提供されるサービスをクラウドサービスとして供給することができるシステム環境1900の1つ以上の構成要素の簡略化されたブロック図である。示されている局面においては、システム環境1900は、クラウドサービスを提供するクラウドインフラストラクチャシステム1902と相互作用するようにユーザによって使用され得る1つ以上のクライアントコンピューティングデバイス1904,1906および1908を含む。クライアントコンピューティングデバイスは、クラウドインフラストラクチャシステム1902によって提供されるサービスを使用するためにクラウドインフラストラクチャシステム1902と相互作用するようにクライアントコンピューティングデバイスのユーザによって使用され得る、ウェブブラウザ、専有のクライアントアプリケーション(たとえばオラクルフォームズ)または他のアプリケーションなどのクライアントアプリケーションを動作させるように構成され得る。
【0175】
図に示されているクラウドインフラストラクチャシステム1902が図示されている構成要素とは他の構成要素を有し得ることが理解されるべきである。さらに、図に示されている局面は、本発明の局面を組込むことができるクラウドインフラストラクチャシステムの一例に過ぎない。いくつかの他の局面においては、クラウドインフラストラクチャシステム1902は、図に示されているものよりも多いまたは少ない数の構成要素を有していてもよく、2つ以上の構成要素を組合せてもよく、または構成要素の異なる構成または配置を有していてもよい。
【0176】
クライアントコンピューティングデバイス1904,1906および1908は、2802,2804,2806および2808について上記したものと類似のデバイスであってもよい。
【0177】
例示的なシステム環境1900は3個のクライアントコンピューティングデバイスを有するように示されているが、任意の数のクライアントコンピューティングデバイスがサポートされてもよい。センサなどを有する装置などの他の装置が、クラウドインフラストラクチャシステム1902と相互作用してもよい。
【0178】
ネットワーク1910は、クライアント1904,1906および1908とクラウドインフラストラクチャシステム1902との間のデータの通信およびやりとりを容易にし得る。各々のネットワークは、ネットワーク1910について上記したものを含むさまざまな市販のプロトコルのうちのいずれかを用いてデータ通信をサポートすることができる、当業者になじみのある任意のタイプのネットワークであってもよい。
【0179】
クラウドインフラストラクチャシステム1902は、サーバ1712について上記したものを含み得る1つ以上のコンピュータおよび/またはサーバを備え得る。
【0180】
特定の局面においては、クラウドインフラストラクチャシステムによって提供されるサービスは、オンラインデータ記憶およびバックアップソリューション、ウェブベースのeメールサービス、ホスト型オフィススイートおよびドキュメントコラボレーションサービス、データベース処理、管理技術サポートサービスなどの、クラウドインフラストラクチャシステムのユーザがオンデマンドで利用可能な多数のサービスを含み得る。クラウドインフラストラクチャシステムによって提供されるサービスは、そのユーザのニーズを満たすように動的にスケーリング可能である。クラウドインフラストラクチャシステムによって提供されるサービスの具体的なインスタンス化は、本明細書では「サービスインスタンス」と称される。一般に、インターネットなどの通信ネットワークを介してクラウドサービスプロバイダのシステムからユーザが利用可能な任意のサービスは、「クラウドサービス」と称される。通常、パブリッククラウド環境では、クラウドサービスプロバイダのシステムを構成するサーバおよびシステムは、顧客自身のオンプレミスサーバおよびシステムとは異なっている。たとえば、クラウドサービスプロバイダのシステムがアプリケーションをホストしてもよく、ユーザは、インターネットなどの通信ネットワークを介してオンデマンドで当該アプリケーションを注文および使用してもよい。
【0181】
いくつかの例では、コンピュータネットワーククラウドインフラストラクチャにおけるサービスは、ストレージ、ホスト型データベース、ホスト型ウェブサーバ、ソフトウェアアプリケーションへの保護されたコンピュータネットワークアクセス、またはクラウドベンダによってユーザに提供されるかもしくはそうでなければ当該技術分野において公知の他のサービスを含み得る。たとえば、サービスは、インターネットを介したクラウド上のリモートストレージへのパスワードによって保護されたアクセスを含み得る。別の例として、サービスは、ネットワーク化された開発者による私的使用のためのウェブサービスベースのホスト型リレーショナルデータベースおよびスクリプト言語ミドルウェアエンジン
を含み得る。別の例として、サービスは、クラウドベンダのウェブサイト上でホストされるeメールソフトウェアアプリケーションへのアクセスを含み得る。
【0182】
特定の局面においては、クラウドインフラストラクチャシステム1902は、セルフサービスの、サブスクリプションベースの、弾性的にスケーラブルな、信頼性のある、高可用性の、安全な態様で顧客に配信される一連のアプリケーション、ミドルウェアおよびデータベースサービス提供品を含み得る。このようなクラウドインフラストラクチャシステムの一例は、本譲受人によって提供されるオラクルパブリッククラウドである。
【0183】
時としてビッグデータとも称される大量のデータは、インフラストラクチャシステムによって、多数のレベルにおいて、および異なるスケールでホストおよび/または操作され得る。このようなデータが含み得るデータセットは、非常に大型で複雑であるので、典型的なデータベース管理ツールまたは従来のデータ処理アプリケーションを用いて処理するのが困難になる可能性がある。たとえば、テラバイトのデータはパーソナルコンピュータまたはそれらのラックベースの対応物を用いて格納、検索取得および処理することが難しいかもしれない。このようなサイズのデータは、最新のリレーショナルデータベース管理システムおよびデスクトップ統計ならびに視覚化パッケージを用いて機能させるのが困難である可能性がある。それらは、データを許容可能な経過時間内に捕捉しキュレーションし管理し処理するよう、一般的に用いられるソフトウェアツールの構造を超えて、何千ものサーバコンピュータを動作させる大規模並列処理ソフトウェアを必要とし得る。
【0184】
大量のデータを視覚化し、トレンドを検出し、および/または、データと相互作用させるために、分析者および研究者は極めて大きいデータセットを格納し処理することができる。平行にリンクされた何十、何百または何千ものプロセッサがこのようなデータに対して作用可能であり、これにより、このようなデータを表示し得るか、または、データに対する外力をシミュレートし得るかもしくはそれが表しているものをシミュレートし得る。これらのデータセットは、データベースにおいて編制されたデータ、もしくは構造化モデルに従ったデータ、および/または、非体系的なデータ(たとえば電子メール、画像、データブロブ(バイナリ大型オブジェクト)、ウェブページ、複雑なイベント処理)などの構造化されたデータを必要とする可能性がある。目標物に対してより多くの(またはより少数の)コンピューティングリソースを比較的迅速に集中させるために局面の能力を強化することにより、ビジネス、政府関係機関、研究組織、私人、同じ目的をもった個々人もしくは組織のグループ、または他のエンティティからの要求に基づいて大量のデータセット上でタスクを実行するために、クラウドインフラストラクチャシステムがより良好に利用可能となる。
【0185】
さまざまな局面においては、クラウドインフラストラクチャシステム1902は、クラウドインフラストラクチャシステム1902によって供給されるサービスへの顧客のサブスクリプションを自動的にプロビジョニング、管理および追跡するように適合され得る。クラウドインフラストラクチャシステム1902は、さまざまなデプロイメントモデルを介してクラウドサービスを提供し得る。たとえば、クラウドインフラストラクチャシステム1902が、(たとえばオラクル社によって所有される)クラウドサービスを販売する組織によって所有され、一般大衆またはさまざまな産業企業がサービスを利用できるパブリッククラウドモデルのもとでサービスが提供されてもよい。別の例として、クラウドインフラストラクチャシステム1902が単一の組織のためだけに運営され、当該組織内の1つ以上のエンティティにサービスを提供し得るプライベートクラウドモデルのもとでサービスが提供されてもよい。また、クラウドインフラストラクチャシステム1902およびクラウドインフラストラクチャシステム1902によって提供されるサービスが、関連のコミュニティ内のいくつかの組織によって共有されるコミュニティクラウドモデルのもとでクラウドサービスが提供されてもよい。また、2つ以上の異なるモデルの組合せであ
るハイブリッドクラウドモデルのもとでクラウドサービスが提供されてもよい。
【0186】
いくつかの局面においては、クラウドインフラストラクチャシステム1902によって提供されるサービスは、ソフトウェア・アズ・ア・サービス(Software as a Service:
SaaS)カテゴリ、プラットフォーム・アズ・ア・サービス(Platform as a Service
:PaaS)カテゴリ、インフラストラクチャ・アズ・ア・サービス(Infrastructure as a Service:IaaS)カテゴリ、またはハイブリッドサービスを含むサービスの他の
カテゴリのもとで提供される1つ以上のサービスを含み得る。顧客は、サブスクリプションオーダーによって、クラウドインフラストラクチャシステム1902によって提供される1つ以上のサービスをオーダーし得る。次いで、クラウドインフラストラクチャシステム1902は、顧客のサブスクリプションオーダーでサービスを提供するために処理を実行する。
【0187】
いくつかの局面においては、クラウドインフラストラクチャシステム1902によって提供されるサービスは、アプリケーションサービス、プラットフォームサービスおよびインフラストラクチャサービスを含み得るが、これらに限定されるものではない。いくつかの例では、アプリケーションサービスは、SaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。SaaSプラットフォームは、SaaSカテゴリに分類されるクラウドサービスを提供するように構成され得る。たとえば、SaaSプラットフォームは、一体化された開発およびデプロイメントプラットフォーム上で一連のオンデマンドアプリケーションを構築および配信するための機能を提供し得る。SaaSプラットフォームは、SaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。SaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムで実行されるアプリケーションを利用することができる。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、アプリケーションサービスを取得することができる。さまざまな異なるSaaSサービスが提供されてもよい。例としては、大規模組織のための販売実績管理、企業統合およびビジネスの柔軟性のためのソリューションを提供するサービスが挙げられるが、これらに限定されるものではない。
【0188】
いくつかの局面においては、プラットフォームサービスは、PaaSプラットフォームを介してクラウドインフラストラクチャシステムによって提供されてもよい。PaaSプラットフォームは、PaaSカテゴリに分類されるクラウドサービスを提供するように構成され得る。プラットフォームサービスの例としては、組織(オラクル社など)が既存のアプリケーションを共有の共通アーキテクチャ上で統合することを可能にするサービス、および、プラットフォームによって提供される共有のサービスを活用する新たなアプリケーションを構築する機能を挙げることができるが、これらに限定されるものではない。PaaSプラットフォームは、PaaSサービスを提供するための基本的なソフトウェアおよびインフラストラクチャを管理および制御し得る。顧客は、顧客が別々のライセンスおよびサポートを購入する必要なく、クラウドインフラストラクチャシステムによって提供されるPaaSサービスを取得することができる。プラットフォームサービスの例としては、オラクルJavaクラウドサービス(Java Cloud Service:JCS)、オラクルデータベースクラウドサービス(Database Cloud Service:DBCS)などが挙げられるが、これらに限定されるものではない。
【0189】
PaaSプラットフォームによって提供されるサービスを利用することによって、顧客は、クラウドインフラストラクチャシステムによってサポートされるプログラミング言語およびツールを利用することができ、デプロイされたサービスを制御することもできる。いくつかの局面においては、クラウドインフラストラクチャシステムによって提供されるプラットフォームサービスは、データベースクラウドサービス、ミドルウェアクラウドサ
ービル(たとえばオラクルフージョンミドルウェアサービス)およびJavaクラウドサービスを含み得る。一局面においては、データベースクラウドサービスは、組織がデータベースリソースをプールしてデータベースクラウドの形態でデータベース・アズ・ア・サービスを顧客に供給することを可能にする共有のサービスデプロイメントモデルをサポートし得る。ミドルウェアクラウドサービスは、クラウドインフラストラクチャシステムにおいてさまざまなビジネスアプリケーションを開発およびデプロイするために顧客にプラットフォームを提供し得るともに、Javaクラウドサービスは、クラウドインフラストラクチャシステムにおいてJavaアプリケーションをデプロイするために顧客にプラットフォームを提供し得る。
【0190】
さまざまな異なるインフラストラクチャサービスは、クラウドインフラストラクチャシステムにおけるIaaSプラットフォームによって提供されてもよい。インフラストラクチャサービスは、ストレージ、ネットワークなどの基本的な計算リソース、ならびに、SaaSプラットフォームおよびPaaSプラットフォームによって提供されるサービスを利用する顧客のための他の基礎的な計算リソースの管理および制御を容易にする。
【0191】
また、特定の局面においては、クラウドインフラストラクチャシステム1902は、クラウドインフラストラクチャシステムの顧客にさまざまなサービスを提供するために使用されるリソースを提供するためのインフラストラクチャリソース1930を含み得る。一局面においては、インフラストラクチャリソース1930は、PaaSプラットフォームおよびSaaSプラットフォームによって提供されるサービスを実行するための、サーバ、ストレージおよびネットワーキングリソースなどのハードウェアの予め一体化された最適な組合せを含み得る。
【0192】
いくつかの局面においては、クラウドインフラストラクチャシステム1902におけるリソースは、複数のユーザによって共有され、デマンドごとに動的に再割り振りされてもよい。また、リソースは、異なる時間帯にユーザに割り振られてもよい。たとえば、クラウドインフラストラクチャシステム1930は、第1の時間帯におけるユーザの第1の組が規定の時間にわたってクラウドインフラストラクチャシステムのリソースを利用することを可能にし得るとともに、異なる時間帯に位置するユーザの別の組への同一のリソースの再割り振りを可能にし得ることによって、リソースの利用を最大化することができる。
【0193】
特定の局面においては、クラウドインフラストラクチャシステム1902のさまざまな構成要素またはモジュール、および、クラウドインフラストラクチャシステム1902によって提供されるサービス、によって共有されるいくつかの内部共有サービス1932が提供され得る。これらの内部共有サービスは、セキュリティおよびアイデンティティサービス、インテグレーションサービス、企業リポジトリサービス、企業マネージャサービス、ウイルススキャンおよびホワイトリストサービス、高可用性・バックアップおよび回復サービス、クラウドサポートを可能にするためのサービス、eメールサービス、通知サービス、ファイル転送サービスなどを含み得るが、これらに限定されるものではない。
【0194】
特定の局面においては、クラウドインフラストラクチャシステム1902は、クラウドインフラストラクチャシステムにおけるクラウドサービス(たとえばSaaSサービス、PaaSサービスおよびIaaSサービス)の包括的管理を提供し得る。一局面においては、クラウド管理機能は、クラウドインフラストラクチャシステム1902によって受信された顧客のサブスクリプションをプロビジョニング、管理および追跡などするための機能を含み得る。
【0195】
一局面においては、図に示されるように、クラウド管理機能は、オーダー管理モジュール1919、オーダーオーケストレーションモジュール1922、オーダープロビジョニ
ングモジュール1924、オーダー管理および監視モジュール1926、ならびにアイデンティティ管理モジュール1928などの1つ以上のモジュールによって提供され得る。これらのモジュールは、汎用コンピュータ、専用サーバコンピュータ、サーバファーム、サーバクラスタ、またはその他の適切な構成および/もしくは組み合わせであり得る1つ以上のコンピュータおよび/またはサーバを含み得るか、またはそれらを用いて提供され得る。
【0196】
例示的な動作1934において、クライアントデバイス1904,1906または1908などのクライアントデバイスを用いる顧客は、クラウドインフラストラクチャシステム1902によって提供される1つ以上のサービスを要求し、クラウドインフラストラクチャシステム1902によって供給される1つ以上のサービスのサブスクリプションについてオーダーを行うことによって、クラウドインフラストラクチャシステム1902と対話し得る。特定の局面においては、顧客は、クラウドユーザインターフェース(User Interface:UI)、すなわちクラウドUI1919、クラウドUI1914および/またはクラウドUI1916にアクセスして、これらのUIを介してサブスクリプションオーダーを行い得る。顧客がオーダーを行ったことに応答してクラウドインフラストラクチャシステム1902によって受信されたオーダー情報は、顧客と、顧客がサブスクライブする予定のクラウドインフラストラクチャシステム1902によって提供される1つ以上のサービスとを特定する情報を含み得る。
【0197】
オーダーが顧客によって行われた後、オーダー情報は、クラウドUI1919,1914および/または1916を介して受信される。
【0198】
動作1936において、オーダーは、オーダーデータベース1919に格納される。オーダーデータベース1919は、クラウドインフラストラクチャシステム1919によって動作させられるとともに他のシステム要素と連携して動作させられるいくつかのデータベースのうちの1つであってもよい。
【0199】
動作1938において、オーダー情報は、オーダー管理モジュール1919に転送される。いくつかの例では、オーダー管理モジュール1919は、オーダーの確認および確認時のオーダーの予約などのオーダーに関連する請求書発行機能および会計経理機能を実行するように構成され得る。
【0200】
動作1940において、オーダーに関する情報は、オーダーオーケストレーションモジュール1922に通信される。オーダーオーケストレーションモジュール1922は、顧客によって行われたオーダーについてのサービスおよびリソースのプロビジョニングをオーケストレートするためにオーダー情報を利用し得る。いくつかの例では、オーダーオーケストレーションモジュール1922は、オーダープロビジョニングモジュール1924のサービスを用いてサブスクライブされたサービスをサポートするためにリソースのプロビジョニングをオーケストレートし得る。
【0201】
特定の局面においては、オーダーオーケストレーションモジュール1922は、各々のオーダーに関連付けられるビジネスプロセスの管理を可能にし、ビジネス論理を適用してオーダーがプロビジョニングに進むべきか否かを判断する。動作1942において、新たなサブスクリプションについてのオーダーを受信すると、オーダーオーケストレーションモジュール1922は、リソースを割り振って当該サブスクリプションオーダーを満たすのに必要とされるそれらのリソースを構成するための要求をオーダープロビジョニングモジュール1924に送る。オーダープロビジョニングモジュール1924は、顧客によってオーダーされたサービスについてのリソースの割り振りを可能にする。オーダープロビジョニングモジュール1924は、クラウドインフラストラクチャシステム1900によ
って提供されるクラウドサービスと、要求されたサービスを提供するためのリソースをプロビジョニングするために使用される物理的実装層との間にあるレベルの抽象化を提供する。したがって、オーダーオーケストレーションモジュール1922は、サービスおよびリソースが実際に実行中にプロビジョニングされるか、事前にプロビジョニングされて要求があったときに割振られる/割当てられるのみであるかなどの実装の詳細から切り離すことができる。
【0202】
動作1944において、サービスおよびリソースがプロビジョニングされると、提供されたサービスの通知が、クラウドインフラストラクチャシステム1902のオーダープロビジョニングモジュール1924によってクライアントデバイス1904,1906および/または1908上の顧客に送られ得る。
【0203】
動作1946において、顧客のサブスクリプションオーダーが、オーダー管理および監視モジュール1926によって管理および追跡され得る。いくつかの例では、オーダー管理および監視モジュール1926は、使用される記憶量、転送されるデータ量、ユーザの数、ならびにシステムアップ時間およびシステムダウン時間の量などのサブスクリプションオーダーにおけるサービスについての使用統計を収集するように構成され得る。
【0204】
特定の局面においては、クラウドインフラストラクチャシステム1900は、アイデンティティ管理モジュール1928を含み得る。アイデンティティ管理モジュール1928は、クラウドインフラストラクチャシステム1900におけるアクセス管理および認可サービスなどのアイデンティティサービスを提供するように構成され得る。いくつかの局面においては、アイデンティティ管理モジュール1928は、クラウドインフラストラクチャシステム1902によって提供されるサービスを利用したい顧客についての情報を制御し得る。このような情報は、このような顧客のアイデンティティを認証する情報と、それらの顧客がさまざまなシステムリソース(たとえばファイル、ディレクトリ、アプリケーション、通信ポート、メモリセグメントなど)に対してどのアクションを実行することを認可されるかを記載する情報とを含み得る。また、アイデンティティ管理モジュール1928は、各々の顧客についての説明的情報、ならびに、どのようにしておよび誰によってこの説明的情報がアクセスおよび変更され得るかについての説明的情報の管理を含み得る。
【0205】
図20は、本発明のさまざまな局面を実現することができる例示的なコンピュータシステム2000を示す。システム2000は、上記のコンピュータシステムのうちのいずれかを実現するために使用され得る。図に示されているように、コンピュータシステム2000は、バスサブシステム2002を介していくつかの周辺サブシステムと通信する処理ユニット2004を含む。これらの周辺サブシステムは、処理加速ユニット2006と、I/Oサブシステム2008と、記憶サブシステム2018と、通信サブシステム2024とを含み得る。記憶サブシステム2018は、有形のコンピュータ読取可能な記憶媒体2022と、システムメモリ2010とを含む。
【0206】
バスサブシステム2002は、コンピュータシステム2000のさまざまな構成要素およびサブシステムに、意図されたように互いに通信させるための機構を提供する。バスサブシステム2002は、単一のバスとして概略的に示されているが、バスサブシステムの代替的な局面は、複数のバスを利用してもよい。バスサブシステム2002は、メモリバスまたはメモリコントローラ、周辺バス、およびさまざまなバスアーキテクチャのうちのいずれかを使用するローカルバスを含むいくつかのタイプのバス構造のうちのいずれかであってもよい。たとえば、このようなアーキテクチャは、IEEE P2086.1標準に合わせて製造されたメザニンバスとして実現可能な、業界標準アーキテクチャ(Industry Standard Architecture:ISA)バス、マイクロチャネルアーキテクチャ(Micro Ch
annel Architecture:MCA)バス、拡張ISA(Enhanced ISA:EISA)バス、ビデオ・エレクトロニクス・スタンダーズ・アソシエーション(Video Electronics Standards Association:VESA)ローカルバスおよび周辺機器相互接続(Peripheral Component Interconnect:PCI)バスを含み得る。
【0207】
1つ以上の集積回路(たとえば従来のマイクロプロセッサまたはマイクロコントローラ)として実現可能な処理ユニット2004は、コンピュータシステム2000の動作を制御する。処理ユニット2004には、1つ以上のプロセッサが含まれ得る。これらのプロセッサは、単一コアまたはマルチコアのプロセッサを含み得る。特定の局面においては、処理ユニット2004は、各々の処理ユニットに含まれる単一コアまたはマルチコアのプロセッサを有する1つ以上の独立した処理ユニット2032および/または2034として実現されてもよい。また、他の局面においては、処理ユニット2004は、2つのデュアルコアプロセッサを単一のチップに組み入れることによって形成されるクアッドコア処理ユニットとして実現されてもよい。
【0208】
さまざまな局面においては、処理ユニット2004は、プログラムコードに応答してさまざまなプログラムを実行し得るとともに、同時に実行される複数のプログラムまたはプロセスを維持し得る。任意の所与の時点において、実行されるべきプログラムコードのうちのいくつかまたは全ては、プロセッサ2004および/または記憶サブシステム2018に存在し得る。好適なプログラミングを通じて、プロセッサ2004は、上記のさまざまな機能を提供し得る。また、コンピュータシステム2000は、加えて、デジタル信号プロセッサ(digital signal processor:DSP)、特殊用途プロセッサなどを含み得る処理加速ユニット2006を含み得る。
【0209】
I/Oサブシステム2008は、ユーザインターフェイス入力装置と、ユーザインターフェイス出力装置とを含み得る。ユーザインターフェイス入力装置は、キーボード、マウスまたはトラックボールなどのポインティング装置、タッチパッドまたはタッチスクリーンを含んでいてもよく、これらは、音声コマンド認識システム、マイクロホンおよび他のタイプの入力装置とともに、ディスプレイ、スクロールホイール、クリックホイール、ダイアル、ボタン、スイッチ、キーパッド、オーディオ入力装置に組込まれている。ユーザインターフェイス入力装置は、たとえば、ジェスチャおよび話されたコマンドを用いてナチュラルユーザインターフェースを介してユーザがマイクロソフトXbox(登録商標)360ゲームコントローラなどの入力装置を制御して入力装置と対話することを可能にするマイクロソフトキネクト(登録商標)モーションセンサなどのモーション検知および/またはジェスチャ認識装置を含み得る。また、ユーザインターフェイス入力装置は、ユーザから眼球運動(たとえば撮影および/またはメニュー選択を行っている間の「まばたき」)を検出して、当該眼球ジェスチャを入力装置への入力として変換するグーグルグラス(登録商標)まばたき検出器などの眼球ジェスチャ認識装置を含み得る。また、ユーザインターフェイス入力装置は、ユーザが音声コマンドを介して音声認識システム(たとえばSiri(登録商標)ナビゲータ)と対話することを可能にする音声認識検知装置を含み得る。
【0210】
また、ユーザインターフェイス入力装置は、三次元(3D)マウス、ジョイスティックまたはポインティングスティック、ゲームパッドおよびグラフィックタブレット、およびスピーカなどのオーディオ/ビジュアル装置、デジタルカメラ、デジタルカムコーダ、携帯型メディアプレーヤ、ウェブカム、画像スキャナ、指紋スキャナ、バーコードリーダ3Dスキャナ、3Dプリンタ、レーザレンジファインダ、および視線検出装置を含み得るが、これらに限定されるものではない。また、ユーザインターフェイス入力装置は、たとえば、コンピュータ断層撮影、磁気共鳴画像化、位置発光断層撮影、医療用超音波検査装置などの医療用画像化入力装置を含み得る。また、ユーザインターフェイス入力装置は、た
とえばMIDIキーボード、デジタル楽器などのオーディオ入力装置を含み得る。
【0211】
ユーザインターフェイス出力装置は、ディスプレイサブシステム、表示灯、またはオーディオ出力装置などの非視覚的ディスプレイなどを含み得る。ディスプレイサブシステムは、陰極線管(cathode ray tube:CRT)、液晶ディスプレイ(liquid crystal display:LCD)またはプラズマディスプレイを使用するものなどのフラットパネルディスプレイ、投影装置、タッチスクリーンなどであってもよい。一般に、「出力装置」という用語の使用は、コンピュータシステム2000からの情報をユーザまたは他のコンピュータに出力するための全ての実現可能なタイプの装置および機構を含むよう意図されている。たとえば、ユーザインターフェイス出力装置は、モニタ、プリンタ、スピーカ、ヘッドホン、自動車のナビゲーションシステム、プロッタ、音声出力装置およびモデムなどの、テキスト、グラフィックスおよびオーディオ/ビデオ情報を視覚的に伝えるさまざまな表示装置を含み得るが、これらに限定されるものではない。
【0212】
コンピュータシステム2000は、現在のところシステムメモリ2010内に位置しているように示されているソフトウェア要素を備える記憶サブシステム2018を備え得る。システムメモリ2010は、処理ユニット2004上でロード可能および実行可能なプログラム命令と、これらのプログラムの実行中に生成されるデータとを格納し得る。
【0213】
コンピュータシステム2000の構成およびタイプに応じて、システムメモリ2010は、揮発性(ランダムアクセスメモリ(random access memory:RAM)など)であってもよく、および/または、不揮発性(リードオンリメモリ(read-only memory:ROM)、フラッシュメモリなど)であってもよい。RAMは、典型的には、処理ユニット2004が直ちにアクセス可能なデータおよび/またはプログラムモジュール、および/または、処理ユニット2004によって現在動作および実行されているデータおよび/またはプログラムモジュールを収容する。いくつかの実現例では、システムメモリ2010は、スタティックランダムアクセスメモリ(static random access memory:SRAM)または
ダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)などの複数の異なるタイプのメモリを含み得る。いくつかの実現例では、始動中などにコンピュータシステム2000内の要素間で情報を転送することを助ける基本ルーチンを含む基本入力/出力システム(basic input/output system:BIOS)が、典型的にはROM
に格納され得る。一例としておよび非限定的に、システムメモリ2010は、クライアントアプリケーション、ウェブブラウザ、中間層アプリケーション、リレーショナルデータベース管理システム(relational database management system:RDBMS)などを含
み得るアプリケーションプログラム2012、プログラムデータ2014およびオペレーティングシステム2016も示す。一例として、オペレーティングシステム2016は、マイクロソフトウィンドウズ(登録商標)、アップルマッキントッシュ(登録商標)および/もしくはリナックスオペレーティングシステムのさまざまなバージョン、さまざまな市販のUNIX(登録商標)もしくはUNIXライクオペレーティングシステム(さまざまなGNU/リナックスオペレーティングシステム、Google Chrome(登録商標)OSなどを含むが、これらに限定されるものではない)、ならびに/または、iOS、ウィンドウズ(登録商標)フォン、アンドロイド(登録商標)OS、ブラックベリー(登録商標)10OSおよびパーム(登録商標)OSオペレーティングシステムなどのモバイルオペレーティングシステムを含み得る。
【0214】
また、記憶サブシステム2018は、いくつかの局面の機能を提供する基本的なプログラミングおよびデータ構造を格納するための有形のコンピュータ読取可能な記憶媒体を提供し得る。プロセッサによって実行されたときに上記の機能を提供するソフトウェア(プログラム、コードモジュール、命令)が記憶サブシステム2018に格納され得る。これらのソフトウェアモジュールまたは命令は、処理ユニット2004によって実行され得る
。また、記憶サブシステム2018は、本発明に従って使用されるデータを格納するためのリポジトリを提供し得る。
【0215】
また、記憶サブシステム2000は、コンピュータ読取可能な記憶媒体2022にさらに接続可能なコンピュータ読取可能な記憶媒体リーダ2020を含み得る。ともにおよび任意には、システムメモリ2010と組合せて、コンピュータ読取可能な記憶媒体2022は、コンピュータ読取可能な情報を一時的および/または永久に収容、格納、送信および検索するための記憶媒体に加えて、リモートの、ローカルの、固定されたおよび/または取外し可能な記憶装置を包括的に表わし得る。
【0216】
コードまたはコードの一部を含むコンピュータ読取可能な記憶媒体2022は、当該技術分野において公知のまたは使用される任意の適切な媒体を含み得る。当該媒体は、情報の格納および/または送信のための任意の方法または技術において実現される揮発性および不揮発性の、取外し可能および取外し不可能な媒体などであるが、これらに限定されるものではない記憶媒体および通信媒体を含む。これは、RAM、ROM、電子的消去・プログラム可能ROM(electronically erasable programmable ROM:EEPROM)、フラッシュメモリもしくは他のメモリ技術、CD-ROM、デジタル多用途ディスク(digital versatile disk:DVD)、または他の光学式記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または他の有形のコンピュータ読取可能な媒体などの有形の一時的なコンピュータ読取可能な記憶媒体を含み得る。また、これは、データ信号、データ送信などの無形の一時的なコンピュータ読取可能な媒体、または、所望の情報を送信するために使用可能であるとともに計算システム2000によってアクセス可能である他の任意の媒体を含み得る。
【0217】
一例として、コンピュータ読取可能な記憶媒体2022は、取外し不可能な不揮発性磁気媒体から読取るまたは当該媒体に書込むハードディスクドライブ、取外し可能な不揮発性磁気ディスクから読取るまたは当該ディスクに書込む磁気ディスクドライブ、ならびに、CD ROM、DVDおよびブルーレイ(登録商標)ディスクまたは他の光学式媒体などの取外し可能な不揮発性光学ディスクから読取るまたは当該ディスクに書込む光学式ディスクドライブを含み得る。コンピュータ読取可能な記憶媒体2022は、ジップ(登録商標)ドライブ、フラッシュメモリカード、ユニバーサルシリアルバス(universal serial bus:USB)フラッシュドライブ、セキュアデジタル(secure digital:SD)カード、DVDディスク、デジタルビデオテープなどを含み得るが、これらに限定されるものではない。また、コンピュータ読取可能な記憶媒体2022は、フラッシュメモリベースのSSD、企業向けフラッシュドライブ、ソリッドステートROMなどの不揮発性メモリに基づくソリッドステートドライブ(solid-state drive:SSD)、ソリッドステート
RAM、ダイナミックRAM、スタティックRAMなどの揮発性メモリに基づくSSD、DRAMベースのSSD、磁気抵抗RAM(magnetoresistive RAM:MRAM)SSD、およびDRAMとフラッシュメモリベースのSSDとの組合せを使用するハイブリッドSSDを含み得る。ディスクドライブおよびそれらの関連のコンピュータ読取可能な媒体は、コンピュータ読取可能な命令、データ構造、プログラムモジュールおよび他のデータをコンピュータシステム2000に提供し得る。
【0218】
通信サブシステム2024は、他のコンピュータシステムおよびネットワークとのインターフェイスを提供する。通信サブシステム2024は、他のシステムからデータを受信したり、コンピュータシステム2000から他のシステムにデータを送信するためのインターフェイスの役割を果たす。たとえば、通信サブシステム2024は、コンピュータシステム2000がインターネットを介して1つ以上の装置に接続することを可能にし得る。いくつかの局面においては、通信サブシステム2024は、(たとえば3G、4GまたはEDGE(enhanced data rates for global evolution)などの携帯電話技術、高度デ
ータネットワーク技術を用いて)無線音声および/またはデータネットワークにアクセスするための無線周波数(radio frequency:RF)トランシーバコンポーネント、WiF
i(IEEE802.28ファミリ標準または他のモバイル通信技術またはそれらの任意の組合せ)、全地球測位システム(global positioning system:GPS)レシーバコン
ポーネント、および/または、他のコンポーネントを含み得る。いくつかの局面においては、通信サブシステム2024は、無線インターフェイスに加えて、または無線インターフェイスの代わりに、有線ネットワーク接続(たとえばイーサネット)を提供し得る。
【0219】
また、いくつかの局面においては、通信サブシステム2024は、コンピュータシステム2000を使用し得る1人以上のユーザを代表して、構造化されたおよび/または構造化されていないデータフィード2026、イベントストリーム2028、イベント更新2020などの形態で入力通信を受信し得る。
【0220】
一例として、通信サブシステム2024は、ツイッター(登録商標)フィード、フェースブック(登録商標)更新、リッチ・サイト・サマリ(Rich Site Summary:RSS)フ
ィードなどのウェブフィードなどのデータフィード2026をリアルタイムでソーシャルメディアネットワークおよび/または他の通信サービスのユーザから受信し、および/または、1つ以上の第三者情報源からリアルタイム更新を受信するように構成され得る。
【0221】
加えて、通信サブシステム2024は、連続的なデータストリームの形態でデータを受信するように構成され得る。当該データは、連続的である場合もあれば本質的に明確な端部をもたない状態で境界がない場合もあるリアルタイムイベントのイベントストリーム2028および/またはイベント更新2020を含み得る。連続的なデータを生成するアプリケーションの例としては、たとえばセンサデータアプリケーション、金融ティッカ、ネットワーク性能測定ツール(たとえばネットワークモニタリングおよびトラフィック管理アプリケーション)、クリックストリーム分析ツール、自動車交通モニタリングなどを含み得る。
【0222】
また、通信サブシステム2024は、構造化されたおよび/または構造化されていないデータフィード2026、イベントストリーム2028、イベント更新2020などを、コンピュータシステム2000に結合された1つ以上のストリーミングデータソースコンピュータと通信し得る1つ以上のデータベースに出力するように構成され得る。
【0223】
コンピュータシステム2000は、手持ち式携帯機器(たとえばiPhone(登録商標)携帯電話、iPad(登録商標)計算タブレット、PDA)、ウェアラブル装置(たとえばグーグルグラス(登録商標)ヘッドマウントディスプレイ)、PC、ワークステーション、メインフレーム、キオスク、サーバラックまたはその他のデータ処理システムを含むさまざまなタイプのうちの1つであってもよい。
【0224】
コンピュータおよびネットワークの絶え間なく変化し続ける性質のために、図に示されているコンピュータシステム2000の説明は、特定の例として意図されているに過ぎない。
図20に示されているシステムよりも多くのまたは少ない数の構成要素を有する多くの他の構成が可能である。たとえば、ハードウェア、ファームウェア、(アプレットを含む)ソフトウェア、または組合せにおいて、カスタマイズされたハードウェアが使用されてもよく、および/または、特定の要素が実装されてもよい。さらに、ネットワーク入力/出力装置などの他のコンピューティングデバイスへの接続が利用されてもよい。本明細書中に提供される開示および教示に基づいて、当業者は、さまざまな局面を実現するための他の手段および/または方法を理解するであろう。
【0225】
上述の明細書では、本発明の局面は、その具体的な局面を参照して記載されているが、
本発明はこれに限定されるものではないことを当業者は認識するであろう。上述の発明のさまざまな特徴および局面は、個々にまたは一緒に使用されてもよい。さらに、局面は、明細書のより広い精神および範囲から逸脱することなく、本明細書に記載されているものを越えたいくつもの環境およびアプリケーションでも利用可能である。したがって、明細書および図面は、限定的ではなく例示的なものとみなされるべきである。
【手続補正書】
【提出日】2022-12-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
拡張談話ツリーを用いてテキストをナビゲートするための、コンピュータにより実現される方法であって、
複数のドキュメントを表す拡張談話ツリーにアクセスすることを備え、前記拡張談話ツリーは、第1のドキュメントについての第1の談話ツリーと第2のドキュメントについての第2の談話ツリーとを含み、前記方法はさらに、
前記拡張談話ツリーから、(i)ユーザデバイスからのクエリに応答する第1の基本談話単位、および(ii)前記第1の基本談話単位に対応する第1の位置を判断することと、
前記拡張談話ツリーから、(i)前記第1の基本談話単位と前記第1の談話ツリーの第2の基本談話単位と間の第1の修辞的つながり、および(ii)前記第1の基本談話単位と前記第2の談話ツリーの第3の基本談話単位との間の第2の修辞的つながりを含むナビゲーションオプションのセットを判断することと、
前記第1の修辞的つながりおよび前記第2の修辞的つながりをユーザデバイスに提示することと、
(i)ユーザデバイスから前記第1の修辞的つながりの選択を受け取ることに応答して、前記第2の基本談話単位を前記ユーザデバイスに提示すること、または(ii)前記ユーザデバイスから前記第2の修辞的つながりの選択を受け取ることに応答して、前記第3の基本談話単位を前記ユーザデバイスに提示することとを備える、コンピュータにより実現される方法。
【請求項2】
前記第1の談話ツリーおよび前記第2の談話ツリーの各々は複数のノードを含み、前記複数のノードの各非終端ノードは修辞的つながりを表し、それぞれの談話ツリーの前記ノードの各終端ノードは基本談話単位に関連付けられる、請求項1に記載のコンピュータにより実現される方法。
【請求項3】
前記ユーザデバイスから追加のクエリを受け取ることに応答して、前記追加のクエリに応答する追加の基本談話単位を判断し、前記追加の基本談話単位を前記ユーザデバイスに提示することをさらに備える、請求項1または2に記載のコンピュータにより実現される方法。
【請求項4】
前記第1の基本談話単位を判断することは、前記拡張談話ツリーにおいて前記第1の基本談話単位を識別することと、前記第1の基本談話単位において前記クエリからの1つ以上のキーワードを照合することとをさらに含む、請求項1~3のいずれかに記載のコンピュータにより実現される方法。
【請求項5】
前記第1の基本談話単位を判断することは、さらに、
前記クエリについて第1のパースツリーを生成することと、
1つ以上の基本談話単位の各々について追加のパースツリーを生成することと、
前記追加のパースツリーのうちの1つが前記第1のパースツリーを含む、と判断することに応答して、前記追加のパースツリーに対応する基本談話単位を前記第1の基本談話単位として選択することとをさらに含む、請求項1~4のいずれかに記載のコンピュータにより実現される方法。
【請求項6】
前記第1および第2の修辞的つながりの各々は、(i)詳述、(ii)可能化、(iii)条件、(iv)対比、または(v)帰属である、請求項1~5のいずれかに記載のコンピュータにより実現される方法。
【請求項7】
前記第1のドキュメントは第1の複数の基本談話単位を含み、前記第1の談話ツリーは前記第1の複数の基本談話単位のうちの少なくとも2つの間の第1の修辞的つながりを表し、前記第2のドキュメントは第2の複数の基本談話単位を含み、前記第2の談話ツリーは前記第2の複数の基本談話単位のうちの少なくとも2つの間の第2の修辞的つながりを表す、請求項1~6のいずれかに記載のコンピュータにより実現される方法。
【請求項8】
前記拡張談話ツリーは、前記第1の談話ツリーおよび前記第2の談話ツリーにおいて共通エンティティ間に修辞的つながりを表すリンクを含む、請求項7に記載のコンピュータにより実現される方法。
【請求項9】
システムであって、
コンピュータ実行可能プログラム命令を記憶する非一時的コンピュータ可読媒体と、
前記非一時的コンピュータ可読媒体に通信可能に結合され、前記コンピュータ実行可能プログラム命令を実行するための処理装置とを備え、前記コンピュータ実行可能プログラム命令を実行することは、動作を実行するように前記処理装置を構成し、前記動作は、
複数のドキュメントを表す拡張談話ツリーにアクセスすることを含み、前記拡張談話ツリーは、第1のドキュメントについての第1の談話ツリーと第2のドキュメントについての第2の談話ツリーとを含み、前記動作はさらに、
前記拡張談話ツリーから、(i)ユーザデバイスからのクエリに応答する第1の基本談話単位、および(ii)前記第1の基本談話単位に対応する第1の位置を判断することと、
前記拡張談話ツリーから、(i)前記第1の基本談話単位と前記第1の談話ツリーの第2の基本談話単位と間の第1の修辞的つながり、および(ii)前記第1の基本談話単位と前記第2の談話ツリーの第3の基本談話単位との間の第2の修辞的つながりを含むナビゲーションオプションのセットを判断することと、
前記第1の修辞的つながりおよび前記第2の修辞的つながりをユーザデバイスに提示することと、
(i)ユーザデバイスから前記第1の修辞的つながりの選択を受け取ることに応答して、前記第2の基本談話単位を前記ユーザデバイスに提示すること、または(ii)前記ユーザデバイスから前記第2の修辞的つながりの選択を受け取ることに応答して、前記第3の基本談話単位を前記ユーザデバイスに提示することとを含む、システム。
【請求項10】
前記動作は、前記ユーザデバイスから追加のクエリを受け取ることに応答して、前記追加のクエリに応答する追加の基本談話単位を判断し、前記追加の基本談話単位を前記ユーザデバイスに提示することをさらに含む、請求項9に記載のシステム。
【請求項11】
前記第1の基本談話単位を判断することは、前記第1の基本談話単位において前記クエリからの1つ以上のキーワードを照合することをさらに含む、請求項9または10に記載のシステム。
【請求項12】
前記第1の基本談話単位を判断することは、さらに、
前記クエリについて第1のパースツリーを生成することと、
1つ以上の基本談話単位の各々について追加のパースツリーを生成することと、
前記追加のパースツリーのうちの1つが前記第1のパースツリーを含む、と判断することに応答して、前記追加のパースツリーに対応する基本談話単位を前記第1の基本談話単位として選択することとをさらに含む、請求項9~11のいずれかに記載のシステム。
【請求項13】
前記第1および第2の修辞的つながりの各々は、(i)詳述、(ii)可能化、(iii)条件、(iv)対比、または(v)帰属である、請求項9~12のいずれかに記載のシステム。
【請求項14】
前記第1のドキュメントは第1の複数の基本談話単位を含み、前記第1の談話ツリーは前記第1の複数の基本談話単位のうちの少なくとも2つの間の第1の修辞的つながりを表し、前記第2のドキュメントは第2の複数の基本談話単位を含み、前記第2の談話ツリーは前記第2の複数の基本談話単位のうちの少なくとも2つの間の第2の修辞的つながりを表す、請求項9~13のいずれかに記載のシステム。
【請求項15】
請求項1~8のいずれかに記載の方法をコンピュータに実行させるための、プログラム。
【外国語明細書】