(57)【要約】アーキテクチャおよびプロセスは、コンピュータが、共同問題解決の状況において、人間との協力を通じて任意の自然言語テキストを学習することと、理解を深めることとを可能にする。本アーキテクチャは、テキストの初期理解を推論するために、テキストを取り込み、次いで構文的および意味的にテキストを処理する。初期理解は、意味およびフレーム構造のストーリーモデルにキャプチャされる。次いで、ストーリーモデルは、インタラクティブな対話セッションを通じて人間に提起されるコンピュータ生成質問を通じてテストされる。人間から集められた知識は、ストーリーモデル、ならびにコンピューティングシステムの理解の現在の世界モデルを更新するために使用される。本プロセスは、時間の経過とともに複数のストーリーにわたって繰り返されるため、コンピューティングシステムが知識を成長させることが可能になり、それによって、次第に高まる読解力レベルのストーリーを理解することが可能になる。
2019526139.tif 000002
【特許請求の範囲】
【請求項１】
自然言語入力のために、コンピューティングシステムによって、
前記自然言語入力を受信することと、
前記自然言語入力の構文解析を実行して、１つまたは複数の言語解析結果を生成することと、
前記１つまたは複数の言語解析結果、および大規模言語コーパスから誘導された知識を一部使用することによって、複数の意味構造を作成して、前記自然言語入力を表現することと、
人間のユーザとの対話セッションに関与して、前記コンピューティングシステムによって使用するための入力を前記人間のユーザから受信して、前記自然言語入力の理解として前記意味構造を評価することと、
前記人間のユーザからの応答に基づいて前記意味構造を改訂して、前記自然言語入力の前記理解を改善することと、
を備えるプロセスを実行することと、
前記コンピューティングシステムによって、後続の自然言語入力のための追加の意味構造を形成するためのプロセスを繰り返すことと
を備える、コンピュータ実装方法。
【請求項２】
前記後続の自然言語入力は、次第に高まる読解力レベルを有する、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記１つまたは複数の言語解析結果は、構文解析、述語項構造、エンティティタイプ、または前記自然言語入力の共参照のうちの少なくとも１つを備える、請求項１に記載のコンピュータ実装方法。
【請求項４】
前記複数の意味構造を作成することは、前記１つまたは複数の言語解析結果と、生成的意味素（ＧＳＰ）構造がどれほど正確に前記自然言語入力を表現するかの信頼性を表す現在の世界モデルにおいて維持されているデータと、前記大規模言語コーパスから誘導された前記知識とを使用して、複数の前記ＧＳＰ構造を形成することを備える、請求項１に記載のコンピュータ実装方法。
【請求項５】
前記人間のユーザからの前記応答に基づいて前記ＧＳＰ構造を改訂し、前記人間のユーザから学習した情報、または前記ＧＳＰ構造を改訂する際に使用される情報を用いて前記現在の世界モデルを更新することをさらに備える、請求項４に記載のコンピュータ実装方法。
【請求項６】
前記複数の意味構造を作成することは、
複数の生成的意味素（ＧＳＰ）構造を形成することと、
１つまたは複数のＧＳＰ構造からなる複数のフレーム構造を形成することと
を備える、請求項１に記載のコンピュータ実装方法。
【請求項７】
対話セッションに関与することは、
人間のユーザが前記意味構造を評価するために回答するための１つまたは複数の質問を生成することと、
コンピュータユーザインタフェースを介して提示するための前記１つまたは複数の質問を前記人間のユーザに提出することと、
前記人間のユーザから１つまたは複数の応答を受信することと
を備える、請求項１に記載のコンピュータ実装方法。
【請求項８】
対話セッションに関与することは、複数の人間のユーザとの複数の対話セッションに関与することを備える、請求項１に記載のコンピュータ実装方法。
【請求項９】
コンピューティングシステムによって、第１の期間にわたって第１の読解力レベルの複数の第１の自然言語ストーリーを受信することと、
前記複数の第１の自然言語ストーリーのストーリーごとに、理解プロセスを実行することによって前記ストーリーのストーリーモデル表現を開発することであって、
前記コンピューティングシステムによって、前記ストーリーを構文解析して、前記ストーリーの構文表現を生成することと、
前記コンピューティングシステムによって、前記ストーリーの前記構文表現を少なくとも一部使用して、前記ストーリーの意味表現として１つまたは複数の意味構造を推論することと、
前記コンピューティングシステムによって、ユーザコンピューティングデバイスに、前記ストーリーを表現する前記１つまたは複数の意味構造を評価するために人間のユーザが回答するための１つまたは複数の質問を提出することと、
前記人間のユーザからの１つまたは複数の応答に応答して、前記１つまたは複数の意味構造を改訂することと、
１つまたは複数の最終的な意味構造が定義されるまで前記理解プロセスを反復することであって、前記ストーリーモデルの最終バージョンが前記１つまたは複数の最終的な意味構造を含むことと
を備えることと、
前記コンピューティングシステムによって、前記第１の読解力レベルの前記複数の第１の自然言語ストーリーに対する複数のストーリーモデルを記憶することと、
コンピューティングシステムによって、第２の期間にわたって第２の読解力レベルの複数の第２の自然言語ストーリーを受信することと、
前記複数の第２の自然言語ストーリーのストーリーごとに、前記理解プロセスを実施し、前記複数の第１の自然言語ストーリーの前記ストーリーモデルのうちの１つまたは複数の前記理解プロセスを実施することから学習した情報を一部使用することによって、前記ストーリーの関連付けられるストーリーモデル表現を開発することと
を備える、コンピュータ実装方法。
【請求項１０】
前記第１の自然言語ストーリーおよび第２の自然言語ストーリーとともに読解力の質問を受信することをさらに備える、請求項９に記載のコンピュータ実装方法。
【請求項１１】
前記ストーリーを構文解析することは、前記ストーリーを構文的に解析して、構文解析、述語項構造、エンティティタイプ、または前記ストーリーの共参照のうちの少なくとも１つを備える１つまたは複数の言語解析結果を生成することを備える、請求項９に記載のコンピュータ実装方法。
【請求項１２】
前記ストーリーの意味表現として１つまたは複数の意味構造を推論することは、前記言語解析結果と、生成的意味素（ＧＳＰ）構造がどれほど正確に前記ストーリーにおける前記自然言語を表現するかの信頼性を表す現在の世界モデルにおいて維持されているデータと、大規模言語コーパスから誘導された知識とを使用して、複数の前記ＧＳＰ構造を作成することを備える、請求項９に記載のコンピュータ実装方法。
【請求項１３】
前記ストーリーの意味表現として１つまたは複数の意味構造を推論することは、前記ＧＳＰ構造のサブセットからなる複数のフレーム構造を形成することをさらに備える、請求項１２に記載のコンピュータ実装方法。
【請求項１４】
１つまたは複数の最終的な意味構造が定義されるまで、前記１つまたは複数の意味構造を改訂することは、前記ユーザに反復的に質問を提出し、終了条件に達するまで前記意味構造を改訂するためのユーザ応答を受信することであって、前記終了条件は、前記意味構造が前記ストーリーにどれだけ良好に適合しているかを表すために計算された信頼値の関数であることを備える、請求項９に記載のコンピュータ実装方法。
【請求項１５】
前記第２の自然言語ストーリーは、前記第１の自然言語ストーリーより高い読解力レベルを有する、請求項９に記載のコンピュータ実装方法。
【請求項１６】
前記第２の自然言語ストーリーより高い読解力レベルの自然言語ストーリーを引き続き受信し、前記より高い読解力レベルの前記自然言語ストーリーについての前記理解プロセスを実施することをさらに備える、請求項９に記載のコンピュータ実装方法。
【請求項１７】
データベースで維持されている現在の世界モデルと、
前記データベースで維持されている前記現在の世界モデルにアクセスするための１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合されたメモリと
を備え、前記メモリが、前記１つまたは複数のプロセッサによって実行されると、
時間の経過とともに変化する読解力レベルの複数の自然言語ストーリーを処理することであって、前記処理することは、一部には、前記現在の世界モデルにおいて維持されている情報を使用すること、および１人または複数の人間ユーザとの対話セッションを行って、意味構造を前記ストーリーの理解として評価することによって、前記ストーリーの表現としての前記意味構造を推論することを含む、ことと、
前記自然言語ストーリーから推論され、前記１人または複数の人間のユーザによって評価された前記意味構造を含むように、時間の経過とともに前記データベース内の前記現在の世界モデルを展開することと
を備える動作を実行するコンピュータ実行可能命令を記憶する、コンピューティングシステム。
【請求項１８】
時間の経過とともに処理される自然言語ストーリーは、次第に高まる読解力レベルのものである、請求項１７に記載のコンピューティングシステム。
【請求項１９】
前記メモリは、
前記自然言語ストーリーの構文解析を実行して、言語解析結果を生成することと、
前記言語解析結果、前記現在の世界モデルにおいて維持されている前記情報、および大規模な言語コーパスから誘導された知識を一部使用することによって、前記自然言語ストーリーを表現するための複数の生成的意味素（ＧＳＰ）構造を生成することと、
複数のＧＳＰ構造からなるフレーム構造を形成することと
を備えるさらなる動作を実行する命令を記憶する、請求項１７に記載のコンピューティングシステム。
【請求項２０】
対話セッションを行うことは、
前記意味構造を評価するために、人間のユーザが回答するための１つまたは複数の質問を生成することと、
コンピュータユーザインタフェースを介して提示するための前記１つまたは複数の質問を前記人間のユーザに提出することと、
前記人間のユーザから１つまたは複数の応答を受信することと
を備える、請求項１７に記載のコンピューティングシステム。
【請求項２１】
対話セッションを行うことは、読解力の質問を前記人間のユーザに提出することをさらに備える、請求項２０に記載のコンピューティングシステム。
【請求項２２】
前記メモリは、
前記人間のユーザからの前記応答に基づいて前記意味構造を改訂することと、
前記人間のユーザから学習した情報、または前記意味構造を改訂する際に使用された情報を用いて前記現在の世界モデルを更新することと
を備えるさらなる動作を実行する命令を記憶する、請求項２０に記載のコンピューティングシステム。
【請求項２３】
自然言語がどのように理解されているかについての信念を表す現在の世界モデルを含むデータストアと、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサに結合されたメモリと
を備え、前記メモリの記憶コンピュータ実行可能モジュールが、
自然言語ストーリーを構文的に解析して、言語解析結果を生成するストーリー解析エンジンと、
大規模な言語コーパスから情報を誘導するための知識誘導エンジンと、
前記ストーリーの意味表現を提供する意味構造を形成するための知識統合エンジンであって、前記言語解析結果と、前記現在の世界モデルからの情報と、前記誘導された情報とを使用して、前記意味構造を形成する前記知識統合エンジンと、
人間のユーザによって使用されるコンピューティングデバイスに１つまたは複数の質問を生成して提出し、前記人間のユーザからの入力を示す１つまたは複数の応答を前記コンピューティングデバイスから収集することによって、前記人間のユーザとの対話セッションを容易にするための対話エンジンと、
を備え、
前記知識統合エンジンが、前記人間のユーザからの前記１つまたは複数の応答に基づいて前記意味構造を改訂し、前記データストア内の前記現在の世界モデルを更新し、
前記ストーリー解析エンジン、前記知識統合エンジン、および前記対話エンジンが、複数のストーリーを時間の経過とともに処理して、前記現在の世界モデル内に前記情報を構築する、コンピューティングシステム。
【請求項２４】
前記意味構造は、生成的意味素（ＧＳＰ）構造および複数のＧＳＰ構造からなるフレーム構造を備える、請求項２３に記載のコンピューティングシステム。
【請求項２５】
前記知識統合エンジンは、終了条件に達するまで前記意味構造を改訂し続け、前記終了条件は、前記意味構造が前記ストーリーにどれだけ良好に適合しているかを表すために計算された信頼値の関数である、請求項２３に記載のコンピューティングシステム。
【請求項２６】
前記知識誘導エンジンは、語義を明確にするために語義曖昧性解消器（word sense disambiguator）を備える、請求項２３に記載のコンピューティングシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ学習および理解のためのアーキテクチャおよびプロセスに関する。
【背景技術】
【０００２】
関連特許出願の相互参照
本出願は、参照によりその全体が本明細書に組み込まれる、２０１６年６月２４日に出願された「Ａｒｃｈｉｔｅｃｔｕｒｅ  ａｎｄ  Ｐｒｏｃｅｓｓｅｓ  ｆｏｒ  Ｃｏｍｐｕｔｅｒ  Ｌｅａｒｎｉｎｇ  ａｎｄ  Ｕｎｄｅｒｓｔａｎｄｉｎｇ」と題する米国特許出願第１５／１９２，７９６号の優先権を主張する。
【０００３】
世界は、人工知能のロボット、機械、およびコンピュータを長い間夢見てきた。Ａｒｔｈｕｒ  Ｃ．  ＣｌａｒｋｅのＳｐａｃｅ  ＯｄｙｓｓｅｙシリーズにおけるＨａｌ、およびＪｅｔｓｏｎｓの漫画シリーズにおけるＲｏｓｉｅ  ｔｈｅ  ｍａｉｄから、Ｓｔａｒ  Ｔｒｅｋシリーズにおける船上コンピュータ、ならびにＳｔａｒ  Ｗａｒｓ  ｓａｇａにおけるＲ２Ｄ２およびＣ３ＰＯまで、私たちは本質的に学習し、理解し、考えることができる機械に魅了されてきた。
【０００４】
これは非常に優れたエンターテインメントのためのものであり、将来の世代の機械に向けた野心的な目標があるかもしれないが、人工知能およびインテリジェント機械の構築に関連付けられる問題は非常に複雑である。たとえば、今日、任意のテキストを介して人間と自由な対話を満足に行うことができるシステムは存在せず、そのような対話から独立して「学習」し、複雑な質問に対する正当な回答を説明するシステムははるかに少ない。
【０００５】
この分野では進歩があった。ＩＢＭ社のＷａｔｓｏｎのようなよく知られているシステムが、テレビのゲームショーＪｅｏｐａｒｄｙで成功を収め、またＡｐｐｌｅ社のＳｉｒｉは確かにＡｐｐｌｅ製品で音楽や場所を見つけることをより容易にしている。しかし、これらのシステムは、大量のデータ、大規模なトレーニングセット、浅い言語技法、および機械学習技法を自動質問回答のタスクに単に適用するだけである。これらのシステムには深い理解が欠けている。読解力の課題に関する最近の研究は、論理的な理解と流暢な説明のための要件ではなく、狭い回答ベースの指標を用いた浅い統計的手法にまだ焦点を当てている。しかしながら、今日でもなお、どのコンピュータシステムも、任意の２級のテキストの論理的な理解と説明でさえ自律的に読み取り、構築し、伝達することはできない。
【発明の概要】
【０００６】
したがって、学習し、理解することができる、よりスマートな機械が引き続き必要である。
【図面の簡単な説明】
【０００７】
詳細な説明は、添付図面を参照して説明される。図面において、参照番号の最も左の桁は、参照番号が最初に現れる図面を識別する。異なる図面における同じ参照番号の使用は、類似または同一の項目または特徴を示す。
【図１】コンピューティング機械が、ストーリーに見られるような任意のテキストを学習し理解するために対話を通じて人間と関わるアーキテクチャおよび環境を示す図である。
【図２Ａ】図１のアーキテクチャによって実装されることができる人間との対話を通じた理解を学習および開発するためのプロセスの流れ図である。
【図２Ｂ】図１のアーキテクチャによって実装されることができる人間との対話を通じた理解を学習および開発するためのプロセスの流れ図である。
【図３】テキストにおいて議論されているトピックを中心にコンピューティングシステムと対話を行うことを可能にすることによって人々を教えるためのプロセスの流れ図である。
【図４】図１の学習および理解アーキテクチャにおける選択構成要素の例示的な実装形態を示し、特定のプロセスおよびデータが構成要素間でどのように流れるかを示す図である。
【図５】コンピューティングシステムのブロック図であり、コンピューティングシステムが任意のテキストの論理的な理解を読み取り、構築し、伝達することを可能にするために、図１のアーキテクチャによって実行される選択モジュールを示す図である。
【図６】図４のアーキテクチャ構成要素によって実装されることができるテキストを学習および理解するためのプロセスの流れ図である。
【図７】図１のアーキテクチャによって採用されるストーリー解析エンジンの１つの例示的な実装形態のブロック図である。図７は、言語解析結果を生成するために、ストーリーなどのテキスト文字列を構文的に処理するために使用されることができる選択構成要素の一実装形態を示す。
【図８】ストーリー内の文などのテキスト文字列を構文的に処理するためのプロセスの流れ図である。
【図９】図１のアーキテクチャによって採用される知識統合エンジンの１つの例示的な実装形態のブロック図である。図９は、ストーリーの言語解析結果を意味的に処理するために使用されることができる選択構成要素を示す。
【図１０】対応するテキスト文字列（たとえば、文）に対する意味の範囲を表すように構成されることができる生成的意味素構造の例示的なセットを示す図である。
【図１１】図９の知識統合エンジンのアラインメント（ａｌｉｇｎｍｅｎｔ）モジュールが、ストーリーに対する理解を改善するために、どのようにしてフレーム意味論を進化するストーリーモデルとアラインメントするかを示すための、例示的なストーリー、例示的なエピソード、および例示的な意味構造を示す図である。
【図１２】ストーリーに対するより深い理解を提供するために意味情報を推論するためのプロセスの流れ図である。
【図１３】図１のアーキテクチャに見られる知識誘導エンジンの１つの例示的な実装形態のブロック図である。図１３は、ストーリーの意味情報の推論を援助するためのリソースを生成するために実装されることができる選択構成要素を示す。
【図１４】ストーリーに関する意味情報を推論する際に支援するストーリー内の単語／語句の意味および関係のための有力な候補を提供するためのプロセスの流れ図である。
【図１５】図１のアーキテクチャに見られる信念表現および推論フレームワークの１つの例示的な実装形態のブロック図である。図１５は、知識表現言語ならびに文脈差別化および意味素の推論および学習メカニズムを含む、アーキテクチャの動作をサポートするために使用されることができるフレームワーク内の選択構成要素を示す。
【図１６】図１のアーキテクチャにおいて採用される対話エンジンの１つの例示的な実装形態のブロック図である。図１６は、ストーリーに対するシステムの現在の理解に挑戦するか、または検証するためにユーザ質問を生成し、システムの理解を更新するためのユーザ応答を受信する、対話エンジンにおける選択構成要素を示す。
【図１７】１人または複数の人間のユーザに提起するための適切な質問を生成するための、対話エンジンによって使用される依存構造の一例を示す図である。
【図１８】意味構造およびフレームにおいて現時点で反映されているストーリーに対するシステムの現在の理解を検証および通知するために人間のユーザに提出するための質問を生成するためのプロセスの流れ図である。
【図１９】コンピューティングシステムと人間のユーザとの間の対話セッション中にユーザのデバイスに提示され、ユーザによって見られる対話ユーザインタフェースのスクリーンレンダリングを示す図である。
【図２０】対話セッションにおける次の質問を示すために、図１９のスクリーンレンダリングに続いてユーザのデバイス上に提示される対話ユーザインタフェースの第２のスクリーンレンダリングを示す図である。
【図２１】対話セッションにおける別の次の質問を示すために、図２０の第２のスクリーンレンダリングに続いてユーザのデバイス上に提示される対話ユーザインタフェースの第３のスクリーンレンダリングを示す図である。
【図２２】複数の人間のユーザに同じ質問または異なる質問を並行して分散するための分散された対話メカニズムの実装形態を示すための概略図を有するブロック図である。
【図２３】複数のユーザを含む第１の例示的な分散された対話セッションの概略図である。
【図２４】複数のユーザを含む第２の例示的な分散された対話セッションの概略図である。
【図２５】複数のユーザ間の対話セッション中に質問を分散するためのプロセスを示す流れ図である。
【図２６】ストーリーモデルと、ストーリーモデルに含まれるデータ構造が、構文処理、意味処理、および人間との対話の結果として時間の経過とともにどのように進展するかを示すブロック図である。
【図２７】次第に難しくなる自然言語ストーリーおよび人間との対話を処理し、推論することを通じて、時間の経過とともにコンピュータの理解を成長させるためのプロセスを示す流れ図である。
【図２８】現在の世界モデルにおける意味構造として具体化された知識が、より多くのますます難しいストーリーが対話処理、意味処理、および対話を通じた人間評価を経るにつれて時間の経過とともにどのように成長するかを示す概略図である。
【図２９】確率論的信念のネットワークを徐々に定式化し、その全体的論理的一貫性を反復的に精緻化する動的なプロセスを示す視覚化の例示的なセットを示す図である。
【発明を実施するための形態】
【０００８】
本開示は、コンピュータ学習および理解のためのアーキテクチャおよびプロセスを説明する。本アーキテクチャは、人間との協力を通じて任意のテキストを学習することと、理解を深めることとを可能にする。共同問題解決の状況において、あるいはシステムを教えるため、または読んでいるテキストをシステムが理解するのを助けるために人間が使用される場合に、この協力が存在することができる。知識を独立して取得して、それをシステムが推論し、進展させ、意味のある対話を可能にするために、テキストから形式に変換するアーキテクチャは、タスク関連の知識へのアクセスを大幅に加速し、人間の研究、学習、発見、および問題解決を援助することによって、世界を変える。
【０００９】
コンピューティングアーキテクチャは、コンピュータシステムが広範囲の自然言語テキストの論理的な理解と説明を自律的に読み取り、構築し、伝達することができる、深い自然言語理解の問題に対処する。深い理解のために必要なことの多くは、本テキスト（または、任意のテキスト）には明示的に提示されていないが、代わりに、世界との対話、または、人間とのインタラクティブな対話を通じて暗黙的に学習される。本明細書に記載のプロセスは、コンピューティングシステムが、（対話によって検証された）意図された意味をますます複雑化する言語に一貫して、正確に、および独立して割り当てるために反復して学習するように、読解力などのインタラクティブな問題解決タスクにおいて人間と対話することを含む。
【００１０】
言語自体が難しいため、深い自然言語の理解は難しい。同じことを言う方法がたくさんあり、意味の微妙な違いが存在するので、言語は無限に構成可能である。たとえば、「タッチダウン（ｔｏｕｃｈｄｏｗｎ）」という単語は、飛行機の着陸、またはアメリカンフットボールにおける得点を指すことができる。誰かが「あなたに夢中である（ｍａｄ  ａｂｏｕｔ  ｙｏｕ）」こともあり、「あなたに怒っている（ｍａｄ  ａｔ  ｙｏｕ）」こともあり、それらは２つのまったく異なる意味を有する。次のスクリプトに沿ってコンピュータと会話することができると想定する。 
人間：こんにちは、私は質問があります。 
コンピュータ：こんにちは。どんな御用でしょうか？ 
人間：私は臓器再生における幹細胞の役割に関する記事を、技術的観点と倫理的観点から議論したいと思います。 
コンピュータ：ＯＫ。この記事は、幹細胞が非常に有効であることを示唆しています。幹細胞は以下に関する未解決の問題を含んでいるため、この技術は機能します．．． 
人間：幹細胞はなぜ怪我の領域に引っ張られるのですか？ 
コンピュータ：「なぜ」によって、あなたはおそらく「どのように」を意味します。それは合っていますか？そうであれば、幹細胞はケミカルメッセージングシステムを使用して怪我の領域に移動して集まります．．． 
おそらく、そのような対話は２人の人間の間では合理的であるが、この種の会話は、不正確な言語によって導入される多くのレベルの複雑性のため、コンピュータにとっては難しい。語義、文法、および意図に広範な曖昧さがある。さらに、意味がしばしば暗示的であり、重要な情報が記載されておらず、背景情報が仮定されている。
【００１１】
この点をさらに説明するために、次の短いストーリーを考察する。 
コウモリは彼に向かって飛んでいました。 
ビリーはできるだけ速く走りました。 
彼は無事に帰宅しました！ 
設定や背景によっては、このストーリーを理解する方法が複数ある。このストーリーを、「バット」という単語が飛ぶ哺乳動物を意味するものとして一度読んでほしい。次いで、「バット」が野球のバットを意味するものとしてもう一度読んでほしい。
【００１２】
人間として、私たちの知識と経験は、テキスト自体にはないかもしれないストーリーから意味を認識するのにも役立つ。別の例として、以下のように「エンツォとゾーイ」という題名の単純な１年生のストーリーを参照して、以下のアーキテクチャおよびプロセスの側面が説明される：
エンツォとゾーイは競走していました。エンツォが転びました。彼は膝に怪我をしました。ゾーイは振り返りました。ゾーイは勝つことを望んでいました。彼女が走っていたら勝っていたでしょう。ゾーイは止まりました。彼女は走って戻りました。彼女はエンツォが起き上がるのを助けました。 
次のような単純な質問を考察する。ゾーイは何を見ましたか？なぜゾーイは止まりましたか？彼女はどこに走って戻りましたか？ゾーイは勝ちましたか？天気はどうでしたか？エンゾとゾーイは何歳ですか？コンピューティングマシンは、通常、ブランクを埋めるために必要な経験と知識で始まるわけではなく、したがって、本明細書説明されているプロセスによって、コンピューティングマシンが、ストーリーをより良く理解するためのこの学習を得るために人間の関与のための質問を定式化し、明確にすることが可能になる。
【００１３】
したがって、本明細書に記載されるアーキテクチャは、ストーリーなどの所与のテキストに関する質問に回答するために、人間との自然言語対話を使用して協力することによって、読むものを理解する方法を学習するコンピューティングシステムを有する。ストーリーはいくつかの読解力の質問が付随されていることがある。システムは、とりわけ読解力の質問に回答するために使用されることができる、ストーリーの意味表現を作成する。
【００１４】
コンピューティングシステムはまず、ストーリーの言語解析を実行し、文法解析、述語項構造、エンティティタイプ割当て、および共参照解析などの言語解析結果を生成する。この言語解析を使用して、コンピューティングシステムがストーリーの意味表現を作成し、そこにおいて、ストーリーの意味は生成的意味素（ＧＳＰ）の観点から表される。ＧＳＰは、時間、空間、論理、数、変化、原因、関連、信念、知覚、表現、および意図などの、世界についての基本的な事実を表す構造の小さいセットである。ＧＳＰは、自然言語の意味の非常に広い範囲を表現するように構成されることができる。
【００１５】
コンピューティングシステムは、世界について何が真実であるかに関する信念を含む現在の世界モデルを維持し、継続的に更新する。現在の世界モデルはフレームの集合で作られることができ、各フレームは、いくつかの共通の文脈において真実である可能性が高いＧＳＰなどの命題の集合である。たとえば、エンツォとゾーイのストーリーでは、フレーム構造は、競走中に一般的に何が起こるかを提供することができる。コンピューティングシステムは、現在の世界モデルの知識と大規模言語コーパスから自動的に誘導される知識に基づいてストーリーモデルの描画を構築する。
【００１６】
初期のストーリーモデルが構築された後、コンピューティングシステムはストーリーモデルを、やはりストーリーを読んだ人間との対話を通じてテストする。このプロセスは、読解練習を一緒に行い、質問に回答し、有効な説明を提供することを含むことができる。人間の対話により、コンピュータシステムが、ストーリーにおけるさらなる暗黙的な意味および暗黙的な背景知識を発見することが可能になり、ストーリーおよび将来の新しいストーリーを理解するためにこの暗黙の知識を使用する。人間の応答は、ストーリーモデルを更新し、コンピューティングシステムの特定の理解の選択を調整するために使用されることができる。モデルの改訂後、人間とのさらなる対話を通じて、新しい理解はさらにテストされることができる。
【００１７】
このように、人間との対話を通じて、コンピューティングシステムは、時間の経過とともに、逐次的なより難しい読解のテキストについての質問に回答するために学習し、質問に回答することによって、およびそれらの回答がなぜ正しいかを説明することによって、読んだものを理解するための能力を実証する。たとえば、システムは幼稚園レベルから開始し、より高い学年のレベルまで進めることができる。一部のアプリケーションでは、本システムは、やはりテキストの適切な学年レベルにある学生と対話することができる。コンピュータシステムは、人間への質問を生成して質問し、続いてその回答が、その理解を表現する論理モデルに言語をマッピングする方法を学習するために、コンピュータシステムによって使用される。
【００１８】
さらに、コンピュータシステムは、インタラクティブプロセスを通じて人々を教えるように構成されることができる。本システムは、所与のストーリーの相互理解に最終的に到達するために、システムの理解を評価することによって、およびシステムの回答を論理的に検証することによって、人間の学生が、読んでいるものの論理モデルを構築し、批判的に考えることを学習するために役立つ。システムは、コンピュータシステムが背景コーパス上で検出する他の類似コンテンツにストーリー要素を結びつける類推を生成することによって、および、それらの類推を考察して検証するように学生に求めることによって、類推的推論を学習し、教える。そのような複数の対話を通して、学生は自分自身の知識に疑問を持ち、批評し、調査し、および拡張する方法を学習し、コンピュータシステムは、（対話によって検証された）意図された意味をますます複雑化する言語に一貫して、正確に、および独立して割り当てるために反復して学習する。
【００１９】
いくつかの状況では、コンピューティングシステムは、人間の対話に加えて、他のコンピューティングシステムとさらに対話することもできる。たとえば、第１のコンピューティングシステムは、第２のコンピューティングシステムがまだ遭遇していないストーリーの理解を得た可能性がある。第１のコンピューティングシステムおよび第２のコンピューティングシステムは、第１のコンピューティングシステムが本質的に第２のコンピューティングシステムを教えることができるように、ストーリーを介して対話することができる。このように、コンピュータシステムは、異なる領域内のテキストを学習し理解することによってそれらの領域の専門知識を発展させるために、時間の経過とともに別々に開発するので、コンピュータシステムは、他のシステムの知識を統合するために互いから学習することができる。コンピュータシステム間の対話は、それぞれの意味表現を伝達するなど、非常に異なるレベルにある場合がある。
【００２０】
このアーキテクチャは、知識表現および機械学習などの人工知能からの技法を採用する。さらに、このアーキテクチャは、構文解析、述語項構造、エンティティタイプ割当て、共参照解析、および分散意味（たとえば、潜在的意味解析、ランダム索引付け、およびトピックモデリング）などの統計技法などの自然言語処理からの技法を採用する。
【００２１】
説明のためのアーキテクチャ環境
図１は、コンピューティングシステムなどの機械が、ストーリーに見られるような任意の自然言語を学習し理解するために対話を通じて人間と関わることができる例示的なアーキテクチャ１００を示す。議論の目的のために、アーキテクチャは、学生が尋ねる質問に回答することよって、コンピューティングシステムが彼らから学習する、および／または彼らを教える目的で様々なレベルの学生と対話する、例示的な教育環境において一部説明される。しかしながら、このアーキテクチャは本質的にどのような環境においても実装されることができ、教育に限定されることが意図されるものではない。
【００２２】
アーキテクチャ１００は、任意の自然言語を取り込んで解析し、人間との協力的な対話を通じて単語および概念の意味および語義を学習および理解するように構成された学習および理解コンピューティングシステム１０２を含む。共同問題解決の状況において、あるいはシステムを教えるため、または読んでいるテキストをシステムが理解するのを助けるために人間が使用される場合に、人間の協力が行われることができる。学習および理解コンピューティングシステム１０２は、ストーリー１０６（１）、１０６（Ｔ）などの任意のテキスト文字列の形態であってもよい自然言語入力を取り込むための処理および記憶能力を有する１つまたは複数のサーバ１０４（１）、１０４（２）、１０４（Ｓ）上でホストされてもよい。サーバ１０４（１）〜（Ｓ）は、自然言語入力を処理し、人間とコンピューティングシステムの両方にとって自然言語入力の相互理解を改善するために、ユーザインタフェースを通じて人間と関わる。サーバ１０４（１）〜（Ｓ）は、単一のサーバ、サーバのクラスタ、サーバファームまたはデータセンタなどを含む任意の数の方法で実施されることができるが、他のサーバアーキテクチャ（たとえば、メインフレームアーキテクチャ）も使用されることができる。
【００２３】
図示される実装形態では、学習および理解コンピューティングシステム１０２に入力されているストーリー１０６（１）〜（Ｔ）が示されている。一般に、ストーリーは、任意の様式（発言、テキスト、ＯＣＲなど）から発信され、最終的に、コンピューティングシステム１０２によって処理するためにテキストのデジタルフォーマット表現（たとえば、ＡＳＣＩＩ）に変換される。ストーリーはいくつかの読解力の質問が付随されていることがある。ストーリーは、コンピューティングシステム１０２によって記憶され、言語のより深い理解を得るためにシステム１０２によって使用されることができる。この例では、「ベンとアバ」のストーリー１０６（１）と、「エンツォとゾーイ」のストーリー１０６（Ｔ）の２つのストーリーが示されている。エンツォとゾーイのストーリー１０６（Ｔ）は上記で提供されている。同様に、ベンとアバのストーリー１０６（１）も、次のように、より若い学生に適した短いストーリーである。 
アバが歩いて入ってきました。 
ベンがアバをテーブルに案内しました。 
アバが着席しました。 
ベンがアバにメニューを渡しました。 
アバがスパゲッティを注文しました。 
ベンが食べ物をアバに持ってきました。 
アバが食べて、退出しました。
【００２４】
アーキテクチャ１００によれば、コンピューティングシステム１０２は、ストーリー１０６（１）〜（Ｔ）を人間と共有し、ストーリーのシステムの理解をテストするために時々人々と対話する。学習およびコンピューティングシステム１０２は、ストーリーに対する初期理解を表現するために、ストーリーの意味表現を含む初期モデルを構築する。この第１のモデルは、本明細書では「ストーリーモデル」と呼ばれ、以下でより詳細に説明される。一般的に、初期のストーリーモデルは、構文要素および／または生成的意味素（ＧＳＰ）のセットを含むデータ構造に関する初期理解を表す。生成的意味素は、世界に関する基本的な事実を表し、自然言語の意味の全範囲を表現するように構成されることができる、構造の小さいセットである。たとえば、「ベンが食べ物をアバに持ってきました」という文では、構文要素は「持ってきた（ｂｒｏｕｇｈｔ）」を動詞として識別することができ、意味素は、アバの近くに食べ物が配置される結果をもたらす行動をベンが引き起こす、またはアバが食べ物を所有するベンの意図などの、文中のエンティティに関する事実を含むことができる。ＧＳＰは、とりわけ、読解力の質問に回答するために使用されることができる。
【００２５】
言葉を理解することは、書かれた単語に明示されていることよりも、言われていないことと、人間の経験の一部についてのことである。典型的には、自然言語ステートメントの最良の解釈は、世界に関する私たちの知識に関して「最も理にかなっている」ものである。コンピューティングシステム１０２は、世界について何が真実であるかに関する信念を含む別のモデルを維持し、継続的に更新する。この第２のモデルは、本明細書では「現在の世界モデル」と呼ばれ、以下により詳細に説明される。現在の世界モデルはフレームの集合で構成されており、各フレームは、いくつかの共通の文脈において真実である可能性が高いＧＳＰなどの命題の集合である。コンピューティングシステム１０２は、現在の世界モデルにおける知識と、大規模言語コーパスなどの他のソースから自動的に誘導された知識に基づいて、初期のストーリーモデルを構築する。
【００２６】
初期のストーリーモデルが構築された後、学習および理解コンピューティングシステム１０２は、やはりストーリーを読んだユーザと対話することができる。コンピューティングシステム１０２は、ストーリーに対するこの初期理解をテストするために、人間に提起するための１つまたは複数のユーザ質問を形成する。たとえば、コンピューティングシステム１０２は、ストーリーモデルが不完全であることが分かっている場合、システムがその意味表現に高い信頼性を有していない場合、または自信を持って回答されることができない読解力の質問がある場合、質問を生成することができる。システムは、その理解を検証するために、または欠落している知識を取得するために、質問をすることがある。たとえば、ユーザ質問は、初期のストーリーモデル内の生成的意味素がストーリーの正確な意味を伝えるかどうかに挑戦するために、生成的意味素の他の可能なセットを提供することができる。ユーザ質問は、生成的意味素から変換され、入力のために人間のユーザに送信される自然言語で提供される。質問に対するユーザの応答はシステム１０２に返され、現在の世界モデルを補強し、ストーリーに対する新しい、および強化された理解を表現するストーリーモデルの新しい反復を修正または生成するために使用される。新しいモデルは、より多くの意味を提供するフレーム構造にさらに組み立てられることができる生成的意味素の異なるセットを関連付けるデータ構造として、新しい理解を表す。このプロセスは、コンピューティングシステム１０２が様々なシナリオを通して作業し、ストーリーに対するその理解が、人間のユーザがストーリーを理解する方法とアラインメントするまで、複数回繰り返されることができる。更新された現在の世界モデルは、将来的に取り入れられる可能性のある他の自然言語のストーリーを処理する際に使用するために保持される。個々のストーリーモデルはまた、必要に応じて後で呼び出されるために保存されることもできる。コンピューティングシステムが複数のストーリーについて複数のユーザ対話を経験するにつれて、現在の世界モデルは各対話において段階的に強化され、システムは一貫して正確に学習し、自然言語テキストの意味表現を独立して決定する。システムは、時間の経過とともに徐々により難しいストーリー、文書、および他のテキストを読み、次第に難しくなる主題を学習し理解するために人間と関わることができる。結果として、システムは、新しいＧＳＰおよび新しいフレーム、ならびにシステムにおいて使用される他のリソースを用いて、現在の世界モデル１３８を構築および成長させ続ける。
【００２７】
再び図１を参照すると、コンピューティングシステム１０２は、対話プロセスの一部として多くの人間のユーザと対話することができ、これらのユーザは、システムに関与するための異なる目的を有することができる。議論の目的のために、人間の学生１１０（１）、１１０（２）、．．．、１１０（Ｌ）を含む人間のユーザの２つのグループが示されており、それらは、人間ベースの協力クラウドソーシングネットワーク１１６に属する、人間の学生集団１１２、および人間の協力者１１４（１）、１１４（Ｃ）に属するものとして示されている。学生１１０（１）〜（Ｌ）は、コンピューティングシステム１０２が学生から学習するのと同じくらい多くをコンピューティングシステム１０２から学習するために、コンピューティングシステム１０２と対話する。学生とコンピューティングシステム１０２は、ストーリー１０６を作業するときに共同問題解決タスクに関与し、それによって、プロセスを通してそれぞれから側面を学習する。学生１１０（１）〜（Ｌ）は、あらゆる年齢、読解レベル、または本質的にあらゆる人口統計であってよい。議論の目的のために、学生１１０のうちの２人は、１年生などの文法の学生１１０（１）と、大学生または専門家などの大人１１０（２）とを含む。一部のアプリケーションでは、コンピューティングシステム１０２は、テキストの適切な学年レベルにある学生と対話することができる。
【００２８】
人間の協力者１１４（１）〜（Ｃ）は、主に、ストーリー１０６（１）〜（Ｔ）において見られるようなテキスト文字列のシステムの理解をテストするために、コンピューティングシステム１０２によって関与される。人間の協力者１１４（１）〜（Ｃ）は、正式な協力者であってもよく、コンピューティングシステム１０２によって提起された質問に単純に回答する訓練されていない人々であってもよい。一実装形態では、協力者１１４は、ＡｍａｚｏｎからのＭｅｃｈａｎｉｃａｌ  Ｔｕｒｋ（商標）クラウドソーシングプラットフォームのなどの、組織化されたクラウドソーシングネットワーク１１６の一部であってもよい。クラウド対話を使用することにより、アーキテクチャ１００の協力的な側面を拡張することができ、コンピューティングシステムがより速いペースでより多くのことを学習することが可能になる。
【００２９】
学生１１０（１）〜（Ｌ）と人間の協力者１１４（１）〜（Ｃ）の両方は、分散されていてもよく、互いに正式な関係はなく、彼ら自身の電子デバイスを使用して学習および理解コンピューティングシステム１０２と単に対話するだけでよい。いくつかの実装形態では、システム１０２は、ストーリー（特に、より長いストーリー）を異なる部分に処理し、異なる部分についての異なるユーザ質問を異なる学生または協力者に分散し、それによって、システムが、単語や概念を並行して学習し、より迅速にストーリーを同化させることを可能にする。
【００３０】
学生１１０（１）〜（Ｌ）は、システム１０２と直接的に、またはネットワーク１２０を介してシステム１０２と通信するユーザベースの電子デバイス１１８（１）、１１８（２）、１１８（Ｄ）（集合的に、デバイス１１８）を通じてなどの多くの方法で、学習および理解コンピューティングシステム１０２と対話することができる。ネットワーク１２０は、インターネット、ケーブルネットワーク、ワイヤレスネットワーク、およびワイヤードネットワークなどの複数の異なるタイプのネットワークの任意の１つまたは組合せを表現する。学生デバイス１１８は、学生１１０（１）〜（Ｌ）がシステム１０２と対話することを可能にする処理、記憶、ネットワーク、および表示／オーディオ機能を有する。デバイス１１８は、本質的には、たとえばコンピュータ１１８（１）、多機能通信デバイス１１８（２）、およびポータブルコンピュータ１１８（Ｄ）を含む、任意のタイプのコンピューティングデバイスとすることができる。図示されたものとは別に、携帯情報端末（ＰＤＡ）、セルラー電話、ポータブルメディアプレイヤ、タブレットコンピュータ、ネットブック、ノートブック、デスクトップコンピュータ、セットトップボックス、エンターテイメントデバイス、ケーブルボックス、ゲームシステムなどの他のタイプの電子デバイスが使用されることができる。
【００３１】
学生１１０は、テキスト、オーディオ、および／またはビジュアルを含む、異なるまたは複数の様式を通じて、学習および理解コンピューティングシステム１０２と対話することができる。図１に示されるように、「エンツォとゾーイ」に関するストーリー１０６（Ｔ）は、成人学生１１０（２）などの学生のうちの１人が読むために、学生デバイス１１８（１）のディスプレイ上に示されることができる。
【００３２】
同様に、学生１１０（１）は「ベンとアバ」のストーリー１０６（１）を読んでおり、今は学生デバイス１１８（Ｄ）に提示された対話ユーザインタフェース１２２によって示されるように、学習および理解コンピューティングシステム１０２とストーリーについて議論している。学生１１０（１）は、以前に同じスクリーン上でストーリーを読んだり、スピーカを介してストーリーのオーディオ表現を出力するテキスト／音声変換器を介してストーリーを聞いたりしているかもしれない。ストーリーの間、またはその完了後に、学生１１０（１）は、質問／コメントをユーザインタフェース１２２にタイプ入力することによって、または口頭で質問したり、コメントをしたりするためにデバイス１１８（Ｄ）に話しかけることによって、ストーリーに関する質問を尋ねることができる。図１において、学生１１０（１）は、吹き出し１２４において示される「なぜベンはアバにメニューを渡したのですか？」という口頭の質問を尋ねる。コンピュータ１１８（Ｄ）は、そのオーディオ質問をテキスト形式に変換し、テキスト形式の質問をＵＩ１２２上に提示する。コンピュータ１１８（Ｄ）はまた、学生の質問をデジタル形式でネットワーク１２０を介してコンピューティングシステム１０２に送信し、そこで質問が処理される。コンピューティングシステム１０２は、ストーリーに対するその現在の理解およびストーリーのこの特定の要素を検査し、学生に返答を提供する。この例における学習対話のこの段階で、コンピュータシステム１０２が、ストーリーはベンがメニューおよび食べ物（スパゲッティ）をアバに持ってくるなどの行動を含むことを認識したと仮定する。コンピューティングシステム１０２は、これらの行動を、ベンがウェイターであり、アバが顧客であるレストランを含む可能性があるフレームにおそらく属するものとして識別する。したがって、学習および理解コンピューティングシステム１０２は、レストランの含意を仮定する応答を定式化する。図１において、例示的な応答がデバイス１１８（Ｄ）に送信され、「ストーリーは、ベンがメニューと食べ物をアバに持ってきたと言っています。ベンとアバはレストランにいると思います」としてＵＩ１２２に提示される。「あなたは同意しますか？」などの第２のステートメントを追加することによって、コンピューティングシステムは、学生１１０（１）を教えるためだけではなく、システム自体の理解を評価するために、この対話をさらに使用することができる。システムの応答説明が学生にとって正確である場合、ＵＩ１２２に示されるように「はい」と回答することなどによって、学生はその理解を確認することができる。
【００３３】
このように、学習および理解コンピューティングシステム１０２は、学生を教えること、およびコンピューティングマシンの理解を高めるために学生から学習することとの二重目的のために、人間との対話を使用することができる。学生の視点から見れば、人間とコンピュータは一緒に学習し、問題を解決する。この例では基本的なストーリーを仮定しているが、この同じ対話が、物理学、生命科学、医学、音楽理論などの複雑な主題に及ぶ可能性があると考察する。学生１１０は、彼または彼女が何も知らない新しいトピックを学習することに興味があるかもしれない。情報は、伝統的な探索を通じて見つけられることができるが、学生は依然としてそのような探索の無数の結果を読んで理解しようとする必要がある。このアーキテクチャ１００においては、人間の学生は、トピックに関する様々なテキスト（たとえば、白書、研究文書など）の深い理解プロセスを通じてトピックのエキスパートであるか、またはエキスパートになる、コンピューティングシステム１０２と対話することができる。人間の学生は自然な対話においてシステムに質問を尋ね、またテキストに関する議論を通じてトピックについて教えられることができる。
【００３４】
別の実装形態では、アーキテクチャ１００は、協力者１１４（１）〜（Ｃ）が、ストーリー１０６（１）〜（Ｔ）を理解するために学習するためのプロセスの一部として、コンピューティングシステム１０２によって提起された質問に回答することを可能にする。協力者１１４（１）〜（Ｃ）の各々は、デスクトップコンピュータ、ラップトップ、スマートフォン、ＰＤＡ、セットトップボックス、エンターテインメントデバイス、ゲームシステムなどの何らかの種類のコンピュータまたは電子デバイスを使用することができる。学習および理解コンピューティングシステム１０２は、協力者に指示するのではなく、理解を改善する主目的のために協力ネットワーク１１６の協力者１１４（１）〜（Ｃ）と対話する。したがって、コンピューティングシステム１０２は、システムの理解を確認または挑戦するために質問を提起する協力者１１４（１）〜（Ｃ）と関与する際に、異なるＵＩ１２６を提示することができる。この例では、ＵＩ１２６は、コンピューティングシステム１０２が、「ベンが食べ物をアバに持ってきました」という文に関するベンとアバのストーリー１０６（１）からの抜粋をより良く理解しようと試みている単純な対話を示している。ＵＩ１２６において、（バタフライアイコンによって表現されるような）コンピューティングシステム１０２に起因する１つの対話ボックス１２８（ａ）は、ユーザクエリを提供する。
ここに私が理解しようとしている文があります：
ベンが食べ物をアバに持ってきました。
以下の選択肢のどれが、上記の文に最も類似して「持ってくる」という単語を使用していますか？
コンピューティングシステム１０２はまた、複数の選択肢を提供し、（ユーザアイコンによって表現されるように）協力者の応答に起因する第２の対話ボックス１２８（ｂ）においてそれらの選択肢を提供する。システムは、選択肢の各々の内部信頼に基づいて、生成された質問における回答の選択肢をランク付けすることができる。この例では、協力者が選択できる３つの選択肢がある。
１．何か、または誰かをどこかに連れて行く。
２．特定の状態または状況に陥らせる。
３．合法的に提示または説明する。
【００３５】
協力者１１４（Ｃ）などの協力者の１人は、ボックス１２８（ａ）内のシステム生成ユーザクエリとボックス１２８（ｂ）内の選択肢を検討し、次いで、選択肢をクリックするか、回答を話すことによって選択を行う（たとえば、選択肢１）。応答は、コンピューティングシステム１０２に返され、ストーリーモデル、およびモデルをサポートする意味素のセットを潜在的に修正することによって、ストーリーに対する理解を改善するために使用される。この応答は、将来的に読まれる類似の文脈において、「持ってくる」という単語などの単語または語句の将来の解釈のためにさらに使用されることができる。
【００３６】
図１に示されるように、学習および理解コンピューティングシステム１０２は、サーバ１０４（１）〜（Ｓ）に記憶され実行される複数のモジュール１３０を有する。モジュール１３０は、プログラム、アプリケーション、データ構造、データストア、アルゴリズム、ならびに本明細書に記載のコンピュータ学習および理解プロセスを実装するための他の処理ロジックおよびメモリを備える。図１には高レベルの概観を提供するために選択モジュールが示されているが、追加のモジュールおよびより詳細な議論は、後の図面を参照して本明細書で以下に提供される。
【００３７】
学習および理解モジュール１３０は、ストーリー１０６（１）〜（Ｔ）などのストーリーを正確に描写するストーリーモデル１３２を生成するために、共同推論および人間との対話を通じてともに働く。ストーリーモデル１３２は、ストーリー内の文の初期の構文表現から、インスタンス化された生成的意味素と、ストーリーについてのより高いレベルの意味を正確に伝えるための意味構造からなるフレーム構造とを含むデータ構造まで、時間の経過とともに進展する。
【００３８】
モジュール１３０は、ストーリー（たとえばストーリー１０６（１）〜（Ｔ））を受信し、いくつかの言語解析結果を生成するためにストーリー内の文の構文解析を実行するストーリー解析エンジン１３４を含む。一実装形態では、言語解析結果は、（１）文構造を提供するための構文解析と、（２）述語項構造（ＰＡＳ）と、（３）文中の各エンティティにタイプを割り当てるエンティティタイプ割当てと（４）ストーリーの共参照解析によって生成された共参照連鎖とを含む。言語は一般的に曖昧であり、正しいと確信する単一の解析を決定することができない可能性があるため、潜在的に複数の言語解析結果のセットが生成される。言語解析結果およびそれらが生成される方法は、図４および図７を参照して以下により詳細に説明される。
【００３９】
知識統合エンジン１３６は、ストーリー解析エンジン１３４からストーリーおよび言語解析結果を入力として受信する。知識統合エンジン１３６は、現在の世界モデル１３８で維持されている世界に関するシステムの現在の知識に関して意味をなすストーリーの初期の確率論的な意味表現を構築する。最初の意味表現はストーリーモデル１３２の第１のバージョンを形成し、次いで、それは、人間との対話の使用、および以前に取得された知識リソースの使用を通じて、知識統合エンジン１３６によって時間の経過とともに進展される。ストーリーにおいて、情報はしばしば仮定されているので述べられないままであり、これも残念ながら曖昧な意味をもたらすことがある。以下でより詳細に説明されるように、知識統合エンジン１３６は、何が述べられていないと考えられるかを効果的に予測する関連する意味構造を推論するので、システムはより良い知識モデルを形成し、人間の学生または協力者のより賢明な質問をすることができる。ストーリーが「ベンが食べ物をアバに持ってきました」というとき、知識統合エンジン１３６は、「ベンはウェイターですか？」「アバはレストランにいるのですか？」など、何の情報が欠落しているかを評価する。
【００４０】
知識統合エンジン１３６は、関連する意味構造の推論を支援するために、メモリに記憶された現在の世界モデル１３８と知識誘導エンジン１４０とに依存する。現在の世界モデル１３８は、システムが時間の経過とともに学習し構築したすべての意味知識のリポジトリである。現在の世界モデル１３８は、最初は一般的であり、インスタンス化されていない生成的意味素の集合を含むか、または参照することができる。たとえば、これらの生成的意味素は、最初は任意の追加情報でインスタンス化されていない位置、時間、動作、および経験などの単純な概念のあらかじめ形成された構造を含むことができる。知識統合エンジン１３６は、現在の世界モデル１３８から関連するインスタンス化されていない意味素構造を識別し、動詞（たとえば、「行く」、「持ってくる」、「食べる」など）およびエンティティ（たとえば、「ベン」、「アバ」、「メニュー」、「スパゲッティ」）を構造にマッピングするなど、ストーリー内の文の構文解析に含まれる単語／語句でそれらをインスタンス化する。現在の世界モデル１３８は、フレームの集合をさらに含む。フレームとは、特定の文脈における命題（ＧＳＰを含むが、これに限定されない）に対する確率分布である。単純なケースは、特定の場所（たとえば、レストラン）において通常発生する動作などの、文脈内で真実であると考えられる命題のセットである。１つの可能な手法では、反復してアラインメントして、知られているフレームによく適合する意味構造を好むストーリーモデル１３２を進展させるために、知識統合エンジン１３６は、推論された意味構造および構文解析の出力を構築し、反復的にアラインメントする。知識統合エンジン１３６は、本質的に、現在の世界モデル１３８に組み込まれた知識でストーリーモデル１３２を反復的にアラインメントする。
【００４１】
知識統合エンジン１３６は、スマートな予測を行う際に支援するために、知識誘導エンジン１４０に問い合わせる。知識誘導エンジン１４０は、大規模コーパスおよび他のソースをオフラインで解析し、ストーリーのテキストによって暗示された、またはストーリーのテキストにおいて潜在的な情報をキャプチャする「誘導された知識リソース」と本明細書では呼ばれるリソースリポジトリを生成するように構成される。知識誘導エンジン１４０は、語義曖昧性解消、関係検出、言い換え生成、テキストの含意、シーン解析、および欠落しているテキスト生成を含むが、これらに限定されない複数のタスクを実装するために、誘導された知識リソースを使用する。
【００４２】
様々な適用された技法の中で、知識誘導エンジン１４０は、単語の語義を曖昧性解消する（たとえば、単語「ボール（ｂａｌｌ）」は、フォーマルなダンスまたはスポーツ用具の一部であることができる）。誘導エンジン１４０は、単語および語句が書き換えられることができるが、おおまかに同じ意味を有する言い換えを見つける／認識することができる（たとえば、「群衆が沸き立った」は、「スタンドにおける拍手」とほぼ同じであるか？）。知識誘導エンジン１４０は、単語または語句間の関係をさらに検出することができる（たとえば、「ＯＰＥＣが油の価格を上昇させる」という語句において、「上昇させる」という語句は、量の増加の関係を有する）。知識誘導エンジン１４０は、他の関連知識を検出して明らかにするために、他の形式の単語および語句解析を実行することができる。これらのケースの各々において、知識誘導エンジン１４０は、適切な語義を選択し、意味をストーリーモデル１３２に注入する正確な意味構造およびフレームを構築するために、知識統合エンジン１３６によって使用される関連推論確率を有する候補のランク付けされたリストを知識統合エンジン１３６に返す。知識統合エンジン１３６および知識誘導エンジン１４０のより詳細な説明は、少なくとも図４、図９、および図１３を参照して以下に提供される。
【００４３】
対話エンジン１４２は、ストーリーモデル１３２を取り、意味表現が不完全である領域、またはシステムがそれらの表現において低い信頼性を有する領域を識別する。信頼値は様々な方法で計算されることができ、タスクに関連し、一般的に文脈に依存する。対話エンジン１４２は、それらが所有する、これらのギャップを埋める情報を用いて質問に回答するために、学生１１０（１）〜（Ｌ）および／または協力者１１４（１）〜（Ｃ）の人口に関する対話質問を生成する。対話エンジン１４２は、ストーリーモデル１３２によって表現されるように、システムの現在の理解に挑戦または確認するために構造化された質問を生成し、これらの質問を、ネットワーク１２０を介して学生１１０（１）〜（Ｌ）のうちの１人または複数、および／または協力者１１４（１）〜（Ｃ）のうちの１人または複数に送信する。１つの例示的な質問がＵＩ１２６に示されており、対話エンジン１４２は、「ベンが食べ物をアバに持ってきました」という文をどのように解釈するかに対するユーザのフィードバックを求める質問を作成する。ストーリーモデル１３２および現在の世界モデル１３８が質問に対する回答を提供するためには不十分であるギャップを識別するために役立つように、読解力の質問も生成されることができる。人間の学生／協力者は、ネットワーク１２０を介してコンピューティングシステム１０２にフィードバックを返し、そこで結果は対話エンジン１４２によって収集され、解析のために知識統合エンジン１３６に渡される。
【００４４】
対話エンジン１４２からの人間との対話結果に基づいて、知識統合エンジン１３６は、現在の世界モデル１３８を、修正された、または新しい意味構造、およびストーリーの新しい／改訂された概念を表現するさらに定義されたフレーム構造を用いて更新する。このように、システム１０２はストーリー内の言語の学習を継続し、より深い理解を得る。さらに、知識統合エンジン１３６は、更新された現在の世界モデル１３８に対してストーリーモデル１３２を反復的に洗練し続ける。知識統合エンジン１３６は、システムがストーリーの意味表現に十分な信頼性を有するなど、終了条件に達するまで対話エンジン１４２の助けを借りて人間とのその理解を探求し続ける。１つの手法では、知識統合エンジン１３６および対話エンジン１４２は、現在の理解がストーリーを正確に描写する確率が高いことを示唆するしきい値信頼水準に達するまで反復し続ける。しきい値は、様々なアプリケーションおよび使用状況に応じて設定および調整されることができる。
【００４５】
信頼水準は、所与の状況の目標に応じて様々な方法で計算されることができる。コンピューティングシステム１０２は、たとえば、テキストの要約または質問の回答など、言語理解を含む多くの目標に適用されることができる。そのような目標を達成するための前提条件は、コンピューティングシステム１０２が、その信念のうちのどれが真であるかを決定することができることである。一実装形態では、この決定を行うためにシステムによって使用されるメカニズムは、各信念に信頼値を割り当てることであり、信頼値は、信念が真であるとコンピューティングシステム１０２がどれほど確信するかを表現する。システム１０２は、各反復が最後のものよりも良好であるように、システム１０２がその目標をどれだけ良好に達成するかに基づいて信頼値を反復的に調整する。結局、このプロセスは、現在の信念のセットの目標に対するシステムのパフォーマンスを最大限にする信念に対する信頼のセットを見つける。この手法は、コンピューティングシステム１０２がその目標上のパフォーマンスを改善し、いつ改善を停止するかを決定するために展開することができる２つの戦略につながる。
【００４６】
第１に、システムはその信念をその目標から独立して調べることができる。すなわち、システムは、信念が真実であるという確信を訂正するために、対話エンジン１４２または知識誘導エンジン１４０からの情報を求めて信念から信念へ行くことができる。コンピューティングシステム１０２は、その信念のセットを使い果たしたとき、または新しい情報から生じる信頼変更が統計的有意性のレベルを下回ったことが分かったときに、より多くの情報を求めるのを止めることができる。
【００４７】
第２に、コンピューティングシステム１０２は、目標を達成する能力が十分であるか不十分であるかを判断し、次いでその結果に基づいて行動することができる。たとえば、システムの質問回答の正確さの精度が６０％で、システムの目標が７０％の精度を達成することである場合、システム１０２は、その目標が達成されるまで、その信念における信頼を改善するために、対話エンジン１４２または知識誘導エンジン１４０から情報を探す。その目標が達成されると、コンピューティングシステム１０２は改善を止めることができる。あるいは、所望される場合、コンピューティングシステム１０２は、その精度の変化が統計的有意性のレベルを下回るまで、さらに反復し続けることができる。前者に対するこの後者の手法の利点は、現在の目標と比較して新しい信念をシステムに追加することの有用性の評価も可能にすることである。すなわち、新しい信念が目標に対するシステムのパフォーマンスを改善した場合、新しい信念の有用性は高い。信念が影響を及ぼさない、または悪影響を及ぼす場合、新しい信念の有用性は低い。
【００４８】
知識統合エンジン１３６が、ストーリーモデル１３２はストーリー１０６に対する可能性のある理解を表現すると確信すると、ストーリーモデル１３２は、将来の検索および使用のために記憶され、索引付けされることができる。ストーリーモデル１３２を生成するために得られた知識はまた、現在の世界モデル１３８にキャプチャされる。このように、各ストーリーのために開発された理解は、将来の考察のために維持され、より多くの情報が学習されるにつれておそらくさらに洗練される。さらに、システムが複数のストーリーの複数のユーザ対話を経験するにつれて、現在の世界モデル１３８は、各対話において段階的に強化される。より多くのストーリーが読まれるにつれて、現在の世界モデル１３８はより多くの推論されたフレームとともに成長し、次第により複雑になる主題の理解を支援することができる。対話エンジン１４２のより詳細な説明は、少なくとも図４、図１６、および図２２を参照して以下に提供される。
【００４９】
図示された実装形態では、学習および理解モジュール１３０は、ストーリーモデル１３２および現在の世界モデル１３８を実装する１つの方法として、知識モデルとともに働く機能を提供する信念表現および推論フレームワーク１４４をさらに含む。知識モデルは、正式で構造化された知識の表現であり、「エンティティ」と「命題」からなる知識表現言語（ＫＲＬ）で表されることができる。エンティティは、たとえば、「ペガサス」などの架空のものを含む世界におけるもの、または「哲学」などの抽象的なものを表現する。命題は、真または偽の可能性のあるステートメントである。命題は述語（エンティティの一種）と項のセットとを有し、各項はラベル（役割と呼ばれる）とエンティティまたは命題のいずれかである可能性がある値とを有する。同じ役割は複数の値を有することができる。信念は、動作主（必ずしもそうである必要はないが、しばしば、システム自体）がある確率で真であると考えるという命題である。
【００５０】
フレームワーク１４４は、システム内の様々なモジュールによって使用される機能構成要素を備える。フレームワークは、知識表現言語を使用し、自然言語テキストの意味を表現するように構成されることができる構造の小さいセットである「文脈的」差別化および生成的意味素のための推論および学習メカニズムを提供する。より具体的には、フレームワーク１４４の構成要素は、（１）エンティティおよび命題を表現するための形式的言語と、（２）頻繁に使用されることが予想される定義命題タイプのセットを提供するための共通意味構成要素と、（３）知識モデルの永続的ストレージを提供し、その知識を介してクエリをサポートするための知識ストアと、（４）知識モデルに対して異なる推論能力を提供する１つまたは複数の推論エンジンとを含むことができる。信念表現および推論フレームワークについてのより詳細な説明は、少なくとも図４および図１５を参照して以下に提供される。
【００５１】
図１は、学習および理解コンピューティングシステム１０２における選択モジュール１３０の概要を提供する。より詳細な説明および例は、図４を参照して以下で提供される。しかしながら、より詳細な説明を提供する前に、関与する学生１１０（１）〜（Ｌ）および協力者１１４（１）〜（Ｃ）のアーキテクチャ１００によって実装される高レベルのプロセスが、図２および図３を参照して説明される。
【００５２】
さらに、図１は、英語で実施される人間との例示的な対話を示している。しかしながら、本明細書で説明されるアーキテクチャ１００は、言語に依存しないものであり、任意の言語で人間と対話するように構成されることができる点に留意されたい。
【００５３】
説明のための一般的な動作
図２Ａおよび図２Ｂは、図１のアーキテクチャ１００によって実装される、人間との対話を通じてテキスト（たとえば、ストーリー）において使用される言語の理解を学習および開発するための一般的なプロセス２００を示す。プロセス２００（および、流れ図を参照して説明されるすべての後続のプロセス）は、論理フローグラフ内のブロックの集合として示されており、ハードウェア、ソフトウェア、またはそれらの組合せ（たとえば、サーバ１０４（１）〜（Ｓ）によって提供されるものなど）において実装されることができる一連の動作を表現する。ソフトウェアの文脈において、ブロックは、１つまたは複数のプロセッサによって実行されると、列挙され、参照される動作を実行するコンピュータ実行可能命令を表現する。一般に、コンピュータ実行可能命令は、特定の機能を実行するか、または特定の抽象データタイプを実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。プロセッサによって実行されると、コンピューティングシステムは、ストーリーに示されているようにテキスト言語を学習し理解を得るように特別に構成された機械に変換される。動作が記述される順序は、限定として解釈されることが意図されるものではなく、任意の数の記載されたブロックが、プロセスを実装するために任意の順序で、および／または並列に組み合わせられてもよく、またはより多くの増分ステップのより多くのブロックにさらに分離されてもよい。
【００５４】
議論の目的のために、プロセス２００は、図１のアーキテクチャ１００、コンピューティングシステム１０２、ならびにユーザデバイス１１４および１１８を参照して説明される。さらに、コンピューティングシステム１０２によって実行される動作を、ユーザデバイス１１４および１１８によって実行される動作とは別に一般的に示すために、プロセス２００は２つの列で示される。
【００５５】
図２Ａを参照すると、２０２において、学習および理解コンピューティングシステム１０２においてストーリーが受信される。ストーリーは、短い「ベンとアバ」のストーリー１０６（１）と、短い「エンツォとゾーイ」のストーリー１０６（Ｔ）によって例として示されるように、複数のテキスト文で構成されている。ストーリーは、システム１０２によってデジタルフォーマットに取り入れられ、またはデジタルフォーマットに変換される。同じストーリーが、２０４においてユーザデバイス１１４／１１８によって受信され、２０６において、彼または彼女がストーリーを読むためにユーザに提示される。ストーリーは、ユーザが消費するためのオーディオ出力に表示および／または変換されることができる。ストーリーは、いくつかの読解力の質問が付随されていることがある。
【００５６】
２０８において、コンピューティングシステム１０２は、ストーリーに対する第１の理解を表現するために、第１の、または初期のストーリーモデルを生成する。第１のストーリーモデルを生成することは、２１０において、文ごとに、構文解析（ストーリー解析とも呼ばれる）、言語解析結果（たとえば、構文解析、述語項構造、エンティティタイプ割当て、共参照）の生成を含む。図１を参照すると、ストーリー解析エンジン１３４は、この解析動作を実行するように構成される。解析動作は、文構造、述語項構造（ＰＡＳ）、エンティティタイプ割当て、および共参照連鎖を提供するための構文解析を含む、言語解析結果のセットを生成する。解析動作およびその例については、図４〜図８を参照して以下により詳細に説明される。
【００５７】
言語解析結果が生成されると、２１２において、コンピューティングシステム１０２は、構文解析された文の構文表現を意味的に処理することによって、各構文解析された文の表現として意味構造を推論する。知識統合エンジン１３６および知識誘導エンジン１４０は、意味構造を推論するこの動作２１２をサポートするタスクを実行する。結果として得られる第１のストーリーモデルは、インスタンス化された生成的意味素とフレーム構造との関連セットなどを通じて、エンティティおよび命題の知識データ構造として表される。
【００５８】
２１４において、システムは、現在の世界モデルに関してストーリーモデルを評価する。システムは、現在の世界モデルにおける知られているフレームとよく適合する信頼性の高い意味表現をストーリーモデルが含まない領域を識別することができる。システムはまた、自信を持って答えられることができない読解力の質問があるストーリーモデルにおける欠点を識別することができる。２１６において、コンピューティングシステム１０２は、ストーリーに対するユーザの理解を調査し、および／またはストーリーに対するシステムの理解を改善し、テストし、または挑戦するために、１つまたは複数のユーザ質問を生成する。ユーザ質問は、初期のインスタンス化された生成的意味素がストーリーの正確な意味を伝えるかどうかに挑戦するために、生成的意味素の異なるセットに基づく他の可能な理解を提供する問合せを含む。ユーザ質問を生成するために、対話エンジン１４２が使用されることができる。
【００５９】
２１８において、ユーザ質問は、人間のユーザに提示するために、コンピュータシステム１０２からユーザコンピューティングデバイス１１４／１１８に送信される。２２０において、質問は、たとえば、図１のＵＩ１２６などを介して受信され、ユーザに提示されるか、またはユーザが聞くことができるように音声出力される。２２２において、ユーザデバイスは、ＵＩを介して入力されたか、または話されたユーザ応答をキャプチャする。ユーザは２０６において提示されたストーリーを読んでいるので、ユーザは質問に回答するためのストーリーの文脈を有する。ユーザは、質問に回答するために自分の知識、背景、および経験に依存し、それによって現在の世界モデルに追加されることができる新しい情報を提供する可能性がある。コンピューティングシステムは、以前はこの情報を有していなかった可能性もあり、有していた情報をおそらく十分に理解していないかった可能性もある。２２４において、ユーザデバイスは、ユーザ応答をコンピューティングシステム１０２に返送する。
【００６０】
２２６において、質問に対するユーザ応答が、コンピューティングシステム１０２で受信される。コンピューティングデバイス１０２とユーザデバイス１１４／１１８との間の対話は、人間のユーザから知識を適切に抽出するために複数の質問を送信することと、複数の応答を受信することとを含むことができる。
【００６１】
図２Ｂを参照すると、２２８において、ストーリーに対する新しい理解を表現するために、新しいストーリーモデルが生成される。この動作の一部として、２３０において、現在の世界モデルを更新するためにユーザ応答が使用され、２３２において、元のストーリーモデル１３２は、更新された現在の世界モデル１３８とアラインメントするように改訂される。新しいストーリーモデルは、インスタンス化された生成的意味素とフレーム構造との新しいセットによって表されるように、エンティティおよび命題の知識データ構造として、その新しい理解を表す。インスタンス化された生成的意味素とフレーム構造との新しいセットは、インスタンス化された生成的意味素とフレーム構造との第１のセットとはわずかではあるが異なる。
【００６２】
２３４において、新しいストーリーモデル１３２の形成後、そのストーリーモデルは、更新された現在の世界モデルに対して評価される。ストーリーモデルが現在の世界モデルとどれだけ良好にアラインメントしているかを決定するために、信頼性スコアが計算される。少数のフレームがストーリーから抽出された多数の信念と一致する場合、より高いスコアが与えられる。さらに、新たに述語化された信念がストーリーに関するシステムの他の信念と矛盾している場合、フレームアラインメントのセットはスコアが低い。２３６において、信頼性スコアがしきい値と比較される。信頼性スコアがあらかじめ確立されたしきい値を満たす場合（すなわち、２３６からの「はい」の分岐）など、終了条件に達した場合、２３８において、ストーリーモデル１３２はストーリーに対する正確な理解として出力される。逆に、信頼性スコアがあらかじめ設定されたしきい値を満たさない場合（すなわち、２３６からの「いいえ」の分岐）など、終了条件に達していない場合、２１６において、プロセス２００は新しいストーリーモデルに対する理解をさらにテストするためにユーザ質問の新しいセットを生成するように戻る（図２Ａ）。
【００６３】
図２Ａおよび図２Ｂの例では、アーキテクチャ１００は、ストーリーにおいて表現されるような自然言語をシステムが学習し、より深い理解を得るのを助けるために、人間の集団を関与させるものとして説明されている。コンピューティングシステム１００は、臨時学習環境において、または協力者がシステムの知識を改善する目的で質問を提起されるより公式な協力環境において、ユーザを関与させる。しかしながら、アーキテクチャ１００は、教育環境において、テキストベースの作品に記載されている特定の話題について人間に教え、システム自体の知識ベースを洗練し続けるために使用されることができる。そのような１つの例が図３を参照して説明される。
【００６４】
図３は、トピックを中心にインタラクティブな対話を行うことによって、関心のあるトピックについて人々に教えるための例示的なプロセス３００を示す。３０２において、人は、コンピューティングシステム１０２との対話セッションを開始するために、自分のデバイス１１４／１１８を使用する。ユーザは、質問をすること、興味のあるトピックについてのステートメントを出すこと、あるいは議論するためにテキストまたは記事を参照することを含む、任意の数の方法で対話セッションを開始することができる。３０４において、コンピューティングシステムは、対話セッションに対する暗黙の要求を認識し、特定のトピックについてユーザを関与させ、おそらくはユーザからより多くの情報を抽出するように設計された遷移応答を生成する。遷移応答は、多くの可能性のある、あらかじめ確立され、またあらかじめ記憶された遷移ステートメントの１つである可能性がある（たとえば、「私はあなたに何を手助けできますか？」、「あなたが知りたいことについてもっと教えてくれますか？」、「あなたが「飛行機」というとき、どのタイプの飛行機に興味がありますか？」など）。いくつかの実装形態では、システムは、議論されるべきトピックを発見するためにユーザと対話するために、図２Ａおよび図２Ｂと同じプロセスを使用することができる。システムは、人がトピックの学習を開始するのを助けるように設計されたフレームを有することができ、システムはそのフレームに関する情報を推論しようとする。変項が推論されることができない場合、システムは人間にそのことを尋ねて、上記の一般的な遷移の質問につながる。
【００６５】
３０６および３０８において、コンピューティングシステムおよびユーザは、自分のユーザデバイスを介して、トピックを定義するために対話セッションに関与する。３１０において、コンピューティングシステムは、トピックに関連する１つまたは複数のテキストを識別する。テキストは、記事、白書、製品説明、教育入門書、書籍の抜粋など、任意の数の形式で具体化されることができる。識別された後で、３１２においてコンピューティングシステムは、テキストからトピックに関する知識モデルを構築する。上記のように、これは、３１４においてテキストを構文解析し、３１６においてテキストを表現する意味構造を推論することを含むことができる。
【００６６】
この時点で、コンピューティングシステム１０２は、トピックをユーザと議論する準備ができている。システムは、トピックに関して読んだすべての関連情報に関する要約を生成することができる。３２０において、ユーザは、デバイス１１４／１１８を介して、トピックに関して質問することができる。３２２において、コンピューティングシステム１０２は、質問を受信し、新しく作成されたトピックモデルおよび現在の世界モデルに基づいてコンピュータ生成応答を定式化する。この応答は、システムが現在の世界モデルは正確であるという高い信頼性を有する基本的な情報を提供することができる。あるいは、またはそれに加えて、応答は、議論されている主題の知識モデルと現在の世界モデルとの間の相違を調整することが意図される質問の形式であることができる。３２４において、応答はユーザデバイスに送信され、ユーザが応答から学習するためにユーザに提示される。このインタラクティブ交換を通じて、コンピューティングシステム１０２は、トピックについてユーザに教え、テキストに基づいて作成された知識モデルと現在の世界モデルとをアラインメントすることを通じて、トピックを記述するテキストについてさらに学習し、より深い理解を得る。
【００６７】
３２６において、プロセス３００は、ユーザが、彼または彼女がトピックを十分に学習したことを示すまで（すなわち、３２６からの「はい」の分岐）続く。彼または彼女が終了していない場合（すなわち、３２６からの「いいえ」の分岐）、ユーザは３２０においてトピックに関するさらなる質問をしたり、新しいトピックに移動して３０２においてプロセスを再開したりすることができる。ユーザが終了した場合（すなわち、３２６からの「はい」の分岐）、プロセス３００は完了されることができる。
【００６８】
説明のためのシステム設計
図４は、図１の学習および理解アーキテクチャを実装する選択されたモジュール１３０を示す。モジュール１３０は、学習および理解コンピューティングシステム１０２によってホストされるように示されている。モジュール１３０は、図１において導入されたものと、追加のデータストアとを含む。図４はまた、コンピュータ生成ストーリーモデルがストーリー内の言語を理解するために人間との共同推論および対話を通じて現れるように、アーキテクチャを通じたプロセスワークフローを示すための様々なモジュール間のデータフローを示す。
【００６９】
図４に示されるように、テキストなどの自然言語入力は、学習および理解コンピューティングシステム１０２によって取り入れられ、人間の学生／協力者に関連付けられるユーザデバイス１１４／１１８にも提供される。テキストは、基本的には、自然言語で書かれた、または話された単語、語句、または文の任意のデジタル形式であってもよく、ストーリー１０６として図４に示されている。テキストは、読むためにユーザの表示スクリーン上に提示されてもよく、ユーザが聞くために音声で再生されてもよい。
【００７０】
ストーリー解析エンジン１３４は、対象テキストを解析して、言語解析結果のセットを生成するために実行される。言語解析結果の中には、文構造に関する情報を提供する構文解析がある。構文解析は、学生が動詞、名詞などが構造的に関連する、文法学校で学習する文の図と同様である。また、ストーリー解析エンジン１３４は、他の解析構成要素が動作する原始的な信念として働く、述語のパーサニュートラル（ｐａｒｓｅｒ−ｎｅｕｔｒａｌ）表現およびそれらのインスタンス化された項を用いて述語項構造（ＰＡＳ）を決定する。たとえば、「ベンが食べ物をアバに持ってきました」という文の構文解析に続いて、ＰＡＳは「ベン」が主語の項であり、「食べ物」は目的語の項であり、「持ってきた」または原形の「持ってくる」が述語（または、この場合は動詞述語）であることを認識する。ストーリー解析エンジン１３４は、エンティティタイプを文中の様々な単語／語句にさらに割り当て、同一ではないが同じものを参照している単語／語句の共参照連鎖を導出する。
【００７１】
ストーリー解析エンジン１３４の動作を説明するために、以下のサンプルテキストを考察する。
熱い液体の岩が地面の下にある。火山は、その液体が出ることができる地面の開口部である。時々火山が噴火する。それは火山が爆発することを意味する。煙および熱い液体の岩が火山から出てくる。その液体は溶岩と呼ばれる。ベスビオ火山はイタリアの有名な火山である。
「煙および熱い液体の岩が火山から出てくる」という文について、ストーリー解析エンジン１３４は、「煙」および「熱い液体の岩」を主語の項として、「来る（ｃｏｍｅ）」の原形の述語を有するＰＡＳを形成することができる。エンジンは、「煙」、「岩」、および「火山」を名詞として、「熱い」および「液体」を名詞「岩」を修飾する形容詞としてさらに識別し、「および」を主格名詞「煙」と「岩」との間の接続詞としてさらに認識する。また、エンジン１３４は、「ベスビオ火山」を山のタイプとして、および「イタリア」を国のタイプとして注釈を付けるなど、単語にエンティティタイプで注釈を付ける。ストーリー解析エンジン１３４は、「熱い液体の岩」、「その液体」、「熱い液体の岩」、「液体」および「溶岩」という用語がすべて同じものを参照するものとして共参照されることができることをさらに認識することができる。
【００７２】
ストーリー解析エンジン１３４は、ストーリーとともに、言語解析結果を知識統合エンジン１３６に出力する。言語解析結果は、ともに言語構造を構成する構文解析および述語項構造、ならびにストーリー１０６のエンティティタイプおよび共参照を含むことができる。ストーリー解析エンジン１３４の一実装形態のより詳細な説明は、図７および図８を参照して以下に提供される。
【００７３】
知識統合エンジン１３６は、現在の世界モデル１３８に含まれる世界に関するシステムの現在の知識に関して「意味をなす」ストーリーモデル１３２の初期の確率論的意味表現を構築するために、ストーリーおよび言語解析結果を入力として取り込む。知識統合エンジン１３６は、ストーリーモデル１３２を現在の世界モデル１３８とアラインメントするために、共同推論および人間との対話を通じて時間の経過とともにストーリーモデル１３２を進展させる実行可能な構成要素のセットである。知識統合エンジン１３６は、信念生成構成要素４０２と、制約構成要素４０４と、共同推論エンジン４０６とで構成される、構成可能であり高度に柔軟なモジュールである。信念生成構成要素４０２は、信念のセットを入力し、入力信念が与えられた場合に真実である可能性のある新しい信念に対して確率分布を出力する。先に論じたように、信念は、システムまたは別の動作主がある確率で真であると考える命題である。制約構成要素４０４は、信念のセットを入力し、信念のセットが真である確率を示すスコアを出力する。共同推論エンジン４０６は、信念生成構成要素４０２および制約構成要素４０４からの出力を受け取り、信念上の共同分散を計算する。これは、各信念の限界確率を計算するために使用され、これはストーリーモデルを構築するために使用される。共同推論エンジン４０６は、その時点で知られているすべての信念に基づいて考えられる信念の条件付確率を生成するように構成されることができる。状況によっては、信念生成構成要素４０２、制約構成要素４０４、および共同推論エンジン４０６は、一般に共同推論システムと呼ばれることがある。
【００７４】
共同推論エンジン４０６は、様々な方法で動作することができる。一実装形態では、共同推論エンジンは、複数の可能な世界を提案し、各世界は真であると考えられる信念のセットを有する。信念生成構成要素４０２は世界で反復的に実行され、真実である信念を観察し、新しい信念に対する分散を提案する。新しい世界は、それらの確率分布から信念を引き出すことによって作成される。制約構成要素４０４は、世界の確率を評価するために実行される。プロセスが終了されると、信念の限界確率は、それが真である世界の確率の合計になる。限界確率は、信念の確率間の関係をキャプチャしない可能性があるので、世界はストーリーモデル１３２の一部として記憶されることができる。可能性のある信念生成構成要素のより詳細な実装形態が、図９を参照して提供される。
【００７５】
共同推論では、知識統合エンジン１３６は、解釈のレベルを組み合わせる。すなわち、エンジン１３６は、様々なレベルの概念的豊かさでテキストを解釈する。より高いレベルの解釈はより強力であるが、より暗黙的であり、したがって推論するのがより困難である。一実装形態では、解釈レベルは、本質的に自然言語テキストである第１のレベルまたは基準レベルを含み、おそらく一連の単語（または、総称して「トークン」と呼ばれることがある）において表される。第２の、または次の解釈レベルは、自然言語テキストの言語解析を含む。この言語解析は、文法的解析および統計的単語類似性（たとえば、埋め込み）を提供するために実行されることができる。この第２のレベルの解釈は、ストーリー解析エンジン１３４によって提供される。
【００７６】
第３のレベルは、テキスト言語に関する空間的、時間的、および認知的な事実の形式でより豊かな意味を提供するための生成的基本意味の解析を含む。生成的意味素（ＧＳＰ）は、意味の原子を構成するブロックと見なされることができ、ストーリー内の言語のより意味のある解釈を可能にする。ＧＳＰは、時間、空間、論理、数、変化、原因、関連、信念、知覚、表現、および意図などの、世界についての基本的な事実を表現する。ＧＳＰは、機械の知識と経験のすべてを表現するために、無数の方法でインスタンス化され、構成される。ＧＳＰは、述語と役割を持つＫＲＬ命題として表される。ストーリーエンティティおよび他のＧＳＰ命題がこれらのＫＲＬロールを満たすとき、ＧＳＰがインスタンス化される。ストーリー内のテキストからのエンティティ（談話の文脈に存在することが明示的または暗黙的に言及されている）は、ＧＳＰに対応するＫＲＬ命題における役割をインスタンス化することができる。さらに、ＧＳＰは、別のＧＳＰの役割において１つのＧＳＰをネストすることを介して構成されることができる。この構成性が、システムが自然言語ステートメントの意味に関する無限の数の事実を表すことを可能にする。このように、ＧＳＰ構造は、実際に文がどのように書かれているかにかかわらず、ベンとアバのストーリーにおいて、ベンがアバに何か食べ物を取ってくることの意味または語義を解釈する一般的な方法を提供する。たとえばその意味は、以下の、類似しているが同一ではない方法で表されることができる：「ベンがアバに食べ物を持ってきました」、「ベンがアバに食べ物を取ってきました」、「ベンがアバに食べ物を提供しました」、「ベンがアバに食べ物を渡しました」、「アバがベンから食べ物を受け取りました」、「アバがベンから食べ物を入手しました」、「ベンがアバに食べ物をあげました」、「アバがベンから食べ物を手に入れました」、および「ベンがアバに食べ物を持ってきました」。ＧＳＰの任意のインスタンス化が自然言語に変換されることができ、人間がＧＳＰの内部表現に晒されることなく、システムのテキスト表現と直接対話することを可能にする。
【００７７】
第４および最上位レベルは、論理的または常識的知識スクリプトを提供するフレーム意味論の解析に関係し、それによってストーリーに暗黙のうちにあるものの多くを埋める。フレームとは、特定の文脈における命題（ＧＳＰなど）に対する確率分布である。単純なケースは、特定の場所において通常発生する動作などの、文脈内で真であると考えられる命題のセットである。たとえば、ベンとアバのストーリーにおいて、「レストラン」フレームはベンとアバがレストラン内にいるという暗黙の情報を提供することができ、それによって、ストーリー内の明示的な言語をより良く理解するためのテーマまたは文脈を提供する。ストーリーに記載された経験がそのフレームに記憶された経験と一致するため、レストランフレームを適用する。たとえば、レストランフレームは、レストランの文脈において発生すると考えられる次の一連の動作（ここでは自然言語表現で示されるが、実際のフレームではＧＳＰとして表現される）のＧＳＰで構成される：
・顧客がレストランに入る
・顧客がテーブルに着く
・顧客はウェイターが来るのを待つ
・ウェイターは顧客にメニューを持ってくる
・顧客が欲しい食べ物を選ぶ
・ウェイターが顧客に食べ物を持ってくる
・顧客が食べ物を食べる
・ウェイターが請求書を持ってくる
・顧客が請求書を支払う
・顧客がレストランを出る
知識統合エンジン１３６は、ベンとアバのストーリーの理解にレストランフレームを適用するなど、ストーリーを処理する際にそのようなフレームを利用する。
【００７８】
知識統合エンジン１３６は、ストーリー解析エンジン１３４によって生成された基本的言語解析結果（すなわち、第２のレベルの解釈）を取得し、次いで、生成的意味素（すなわち、第３のレベルの解釈）およびフレーム意味論（すなわち、第４のレベルの解釈）の使用を通じて意味を推論することによってストーリーモデル１３２を進展させる。
【００７９】
その動作の一部として、知識統合エンジン１３６は、生成的意味要素とより高いレベルのフレームの両方を推論するためにフレーム推論プロセスを実行する。フレーム推論プロセスは、フレーム検索、フレームアラインメント、信念予測、および評価の４つの主な側面を含む。フレーム検索では、現在の世界モデル１３８からフレームのサブセットが識別され、これはストーリーに関するシステムの現在の信念に関連する可能性がある。フレームは、統計的またはルールベースの技法を使用して、現場で動的に生成されることもできる。フレームアラインメントは、ストーリー内のエンティティの、フレーム内の役割（変項）に対する割当てを決定することを含む。フレームアラインメントは、統計的および／または意味論的技法に基づく様々なマッチングアルゴリズムを使用して行われる。たとえば、一実装形態では、命題がテキスト命題である場合、コンピューティングシステム１０２は、命題をアラインメント／一致させるために、統計的テキスト類似アルゴリズム（たとえば、Ｗｏｒｄ２Ｖｅｃ）を使用することができる。命題がＧＳＰベースを含むタイプエンティティおよび関係である場合、システムは、命題をアラインメント／一致させるためにオントロジ（たとえば、ＷｏｒｄＮｅｔ）に基づく意味マッチャを使用することができる。たとえば、ベンはウェイターにアラインメントし、アバは顧客にアラインメントする。アラインメントに続いて、知識統合エンジン１３６はフレームによって予測される信念を主張するので、フレーム内にあるがストーリー中では言及されていない各意味素構造が考えられる推論である。次いで、エンジン１３６は、フレームアラインメントのセットがストーリーとどれだけ良好に一致するかについてのスコアを生成する。少数のフレームがストーリーから抽出された多数の信念と一致する場合、より高いスコアが与えられる。また、フレームアラインメントのセットは、あるいは、フレームによって予測される信念が、ストーリーに関するシステムの他の信念と矛盾している場合、スコアが低い場合がある。
【００８０】
フレーム推論は、複数のレベルの解釈で発生する可能性がある。文レベルでは、文または節の言語構造に対応するＧＳＰを推論するために、フレーム推論が使用されることができる。この場合、各フレームは、意味素構造と言語解析結果との混合を含む。１つの例示的な構成として、ストーリー内の文ごとに、知識統合エンジン１３６は、ＧＳＰ構造インスタンスを生成するために、１つまたは複数のＧＳＰ構造を言語解析結果からの情報を用いてインスタンス化する。ベンとアバのストーリーにおいて、エンジン１３６は、おそらく、ｒｅｉｆｉｅｒ役割を「持ってくる」という単語（ｒｅｉｆｉｅｒ：ストーリー／持ってくる）によって参照されるイベントエンティティで満たし、動作主の役割を「ベン」という単語（動作主：ストーリー／ベン）によって参照されるエンティティで満たし、後の状態をアバが食べ物を持っているという事実に関連するネストされた命題で満たすことによって、動作ＧＳＰ構造インスタンスをインスタンス化することができる。このネストされた命題は、「アバ」という単語（所有者：ストーリー／アバ）によって参照されるエンティティを有する所有者の役割と、「食べ物」という単語（所有：ストーリー／食べ物）によって参照されるエンティティを有する所有の役割とを有することができる。
【００８１】
エピソードレベルでは、どのＧＳＰのセットがうまく適合すると考えられるか、およびどのような新しい推論が行われることができるかを決定するために、フレーム推論が使用されることができる。たとえば、ベンとアバのストーリーにおいて、「レストランフレーム」は、ストーリーの中で言及された動作、たとえば「ベンがアバにメニューを持ってきました」のＧＳＰによく適合する。ベンがウェイターとアラインメントされ、アバが顧客とアラインメントされている場合、「ベンが請求書を持ってきた」、および「アバが請求書を支払った」などの新しい推論が行われることができる。
【００８２】
前述のように、フレームはそれ自体が命題であり、したがって他のより高いレベルのフレームによって参照されることができる。たとえば、おそらくナイフやフォークなどを使用する、咀嚼や嚥下の動作を含む一般的な食事に関するフレームがあり、このフレーム全体がある確率でレストランフレームに含まれる。一般に、フレーム推論プロセスは、ストーリーを「説明する」フレームの階層を発見するために、複数回反復することができる。
【００８３】
一実装形態では、基本レベルで、特定のエンティティの発生をそれらのエンティティタイプ（人、または顧客およびウェイター）に置き換えることによって、特定のテキストから一般フレームが作成されることができる。知識統合エンジン１３６は、現在の世界モデル１３８内のフレームのライブラリにアクセスし、ストーリー内の単語／語句に関連する可能性が高いことを示す１つまたは複数のフレームを選択することができる。たとえば、ベンとアバのストーリーにおいて、「メニュー」、「食べ物」、「テーブル」などの単語は、「（ウェイター）が食べ物を（顧客）に持ってくる」、および「（顧客）が食べ物を持っている」などのＧＳＰ構造インスタンスにマッピングすることができる。次いで、そのようなＧＳＰ構造インスタンスは、フレーム内の役割を定義するためにグループ化されることができ、この例では、これらのＧＳＰ構造インスタンスは、レストランフレーム、ホテルフレーム、またはパブフレームなどのホスピタリティジャンルに属するフレームに適切であることができる。これらのフレームは、総合的でより一般的なホスピタリティサービスフレームに組み合わされてもよい。選択された後で、知識統合エンジン１３６は、フレーム内のＧＳＰ構造インスタンスをストーリーモデル内のＧＳＰ構造インスタンスに一致させるフレーム内の概念的役割（たとえば、アバは顧客であり、ベンはウェイターである）に対するストーリー内のエンティティのアラインメントを決定する。フレーム構造のこの構築およびインスタンス化を通じて、知識統合エンジン１３６は、フレームをストーリーの言語的構成要素とアラインメントする。インスタンス化されたフレーム構造は、ストーリーに対する新しい理解を提供し、そこに記憶された知識体を増加させるために現在の世界モデル１３８に返されることができる。
【００８４】
時間の経過とともに、新しいフレームを誘導するために、知識統合エンジン１３６が使用されることもできる。フレーム誘導は、システムがより多くのテキストを読んで理解するにつれて、現在の世界モデルに追加する新しいフレームを作成するプロセスである。システムがより多くのテキストを読んで人間と対話するにつれて、現在の世界モデル１３６は新しいフレームの追加とともに成長し、それによって、より洗練された主題を理解するのを助けるためにその知識と能力を高める。一実装形態では、基本レベルで、特定のエンティティの発生をそれらのエンティティタイプ（人、または顧客およびウェイター）に置き換えることによって、特定のテキストから一般フレームが作成されることができる。知識統合エンジン１３６の一実装形態のより詳細な説明は、図９〜図１２を参照して以下に提供される。
【００８５】
知識統合エンジン１３６は、ストーリー内で見られる単語／語句に関してより多く学習するために、知識誘導エンジン１４０にさらに問い合わせることができる。知識誘導エンジン１４０は、大規模言語コーパス４１０および他のソースを解析するために、オフラインで、または他の構成要素とは別個に実行することができる、実行可能な構成要素を含む。知識誘導エンジン１４０は、テキストによって暗示された、またはテキストにおいて潜在的な情報をキャプチャする多数の誘導された知識リソースを導出するために、様々な技法を使用する。知識統合エンジン１３６は、その後、語義曖昧性解消、関係検出、言い換え生成、テキストの含意、シーン解析、および欠落しているテキスト生成などのタスクを実行するためにリポジトリ４１２に問い合わせることができる。
【００８６】
知識誘導エンジン１４０の一実装形態のより詳細な説明は、図１３〜図１４を参照して以下に提供される。
【００８７】
学習および理解モジュール１３０は、様々なモジュール１３０のすべてによってシステム１０２全体で使用される基本構成要素のセットである、信念表現および推論フレームワーク１４４をさらに含むことができる。フレームワーク１４４は、知識表現言語を提供し、文脈差別化および意味素の推論および学習メカニズムなどのより高いレベルの機能を可能にする。また、フレームワーク１４４は、システム１０２が時間の経過とともに確率的命題（または、「信念」）を記憶、索引付け、検索、ナビゲート、および操作することを可能にする基本的な動作を実行する。フレームワーク１４４は、ストーリーモデル１３２および現在の世界モデル１３８における自然言語を表現するためのＧＳＰ構造およびフレームを定義するためのメカニズムを提供する。フレームワーク１４４はまた、様々な意味論的関係がストーリー文の適切な解釈のためのものである可能性を表す確率を生成することができる。
【００８８】
一実装形態では、ストーリーモデル１３２および現在の世界モデル１３８は、エンティティおよび命題から形成される、正式で構造化された知識の表現である知識モデルとして構造化される。エンティティは、存在する可能性のある物（たとえば、「犬」、「猫」、「トラック」など）でもよく、実際には存在しないもの（たとえば、「ペガサス」、「シャーロックホームズ」）でもよい。エンティティは、抽象概念（たとえば、「動物」、「哲学」、「動作」など）であってもよい。エンティティは名前を有することができ、それらについて知られているすべての情報によって定義される。命題は、真理値を有することができるステートメントである。すべての命題は、述語と項のセットとを有し、それはエンティティであってもよく、命題であってもよい。ストーリーモデル１３２は、システムによって読まれるテキスト（ストーリー）の特定の部分に記載されているものを表現することが意図された知識モデルである。現在の世界モデル１３８は、世界において真であることに関する一般的な知識を表現することが意図される知識モデルである。
【００８９】
知識モデルのこの実装形態では、フレームワーク１４４は、知識モデルとともに働く機能である。フレームワーク１４４は、エンティティおよび命題を表現するための形式的言語、頻繁に使用されることが予想される定義される命題タイプのセット、知識へのアクセスのために問い合わせられる場合がある知識モデルのための永続的ストレージ、ならびに知識モデルに対して異なる推論能力を提供する構成要素のセットを含む。
【００９０】
フレームワーク１４４の一実装形態のより詳細な説明は、図１５を参照して以下に提供される。
【００９１】
学習および理解モジュール１３０は、ストーリーモデルにおいて表現されるようなストーリーに対するシステムの理解をテストまたは検証するために人間のユーザとの質疑および回答対話セッションを容易にするために、対話エンジン１４２をさらに含むことができる。対話エンジン１４２は、ストーリーモデル１３２および現在の世界モデル１３８を入力として受け取り、それらをユーザの質問を生成するための、および／またはユーザからの質問に回答するための基礎として使用し、ユーザ対話を通じて取得された知識を組み込んだ後に更新されたストーリーモデルおよび更新された現在の世界モデルを出力する。対話プロセスはまた、ユーザの質問／応答を解釈し、システムの質問／応答を定式化するのを助けるために、知識統合エンジン１３６および知識誘導エンジン１４０などの他のシステム構成要素を利用する。たとえば、ベンとアバのストーリーにおいて、食べ物がスパゲッティを指しており、意味構造の一部が満たされていないままであるということをシステムが最初は認識できない場合がある。対話エンジン１４２は、食物がスパゲッティであると考えられるかどうかをユーザに尋ねるための１つまたは複数の質問を生成することができる。
【００９２】
他の場合、システムは現在の仮定を確信していない可能性がある。たとえば、知識誘導エンジン１４０が、ストーリーにおいて使用される「持ってくる」という単語の２つの意味が、正確であるというおおまかに同じ確率をもたらすと予測すると仮定する。知識統合エンジン１３６は、意味のうちの１つを選択することができる。システムは、この選択を完全には確信していないので、対話エンジン１４２は、特定の文またはストーリーにおけるこの語義選択の精度に関して質問することができる。
【００９３】
対話エンジン１４２は、線形対話セッションにおいて１人のユーザに関与してもよく、より大きなユーザのグループに対して並行して質問を分散してもよい。たとえば、この分散された手法において、対話エンジンは質問を論理的に異なるセットに分け、異なるユーザに異なる質問のセットを求めることができる。分散された対話セッションにより、コンピュータシステムが、多数のユーザにわたって拡張し、複数のユーザとの並列化された対話を通じて学習プロセスの待ち時間を短縮することが可能になる。
【００９４】
質問は、任意の数の方法および様式でユーザに提示されることができる。ユーザは質問を考察し、応答を提供する。対話エンジン１４２は、どの後続の質問をユーザに尋ねるかを決定するために、応答を使用する。さらに、対話エンジン１４２は、現在の世界モデルおよびストーリーモデルにおける意味構造およびフレームを更新するために応答を処理し、それによってストーリーに対するシステムの理解を改善する。
【００９５】
対話セッションは、知識統合エンジン１３６が、現在の世界モデルにおける知られているフレームとよく適合するストーリーの意味表現において十分な信頼レベルを達成する場合など、終了条件が満たされるまで繰り返されることができる。一実装形態では、対話エンジン１４２は、精度に関する最終的な検証のためにユーザに理解を表すように課されてもよい。終了条件に達すると、ストーリーモデル１３２は、将来の使用のために記憶され、索引付けされ、更新された現在の世界モデル１３８は、他のストーリーを処理する際に使用するために保持される。
【００９６】
図５は、学習および理解システム１０２がサーバ１０４（１）〜（Ｓ）上に実装され、ユーザデバイスが電子デバイス１１４／１１８として実装されているアーキテクチャ１００の１つの例示的な実装形態をより詳細に示す。サーバ１０４（１）〜（Ｓ）は、集合的に処理能力５０２とメモリ５０４を提供する。メモリ５０４は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報の記憶のために任意のタイプまたは技術で実装される、揮発性および不揮発性メモリ、取外し可能および取外し不可能媒体を含むことができる。そのようなメモリは、これに限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光学ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、ＲＡＩＤストレージシステム、あるいは所望の情報を記憶するために使用されることができ、またコンピューティングデバイスによってアクセスされることができる任意の他の媒体を含む。
【００９７】
メモリ５０４には、データ構造、データセット、ストーリーなどのテキスト文字列、言語コーパスなどを維持するための複数のデータベースを定義する、システムデータストア５０６が記憶されている。この例では、データストア５０６は、ストーリーモデル１３２、現在の世界モデル１３８、意味素のデータベース４０８、大規模言語コーパス４１０、誘導された知識リソースリポジトリ４１２、および他の可能なデータストア５０８を含む。
【００９８】
学習および理解モジュール１３０は、メモリ５０４に記憶され、プロセッサ５０２によって実行可能なソフトウェアモジュールとして具体化されて示されている。学習および理解モジュール１３０は、ストーリー解析エンジン１３４、知識統合エンジン１３６、知識誘導エンジン１４０、対話エンジン１４２、ならびに信念表現および推論フレームワーク１４４を含む。各モジュールは、システムデータストア５０６のうちの１つから引き出されたデータを処理するため、またはシステムデータストア５０６のうちの１つに返されて記憶された出力データを生成するために、別々に呼び出されて実行されてもよい。
【００９９】
サーバ１０４（１）〜（Ｓ）は、図５においてデバイス１１４／１１８として表現されるように、１つまたは複数の協力者デバイス１１４（１）〜（Ｃ）および／または１つまたは複数の学生デバイス１１８（１）〜（Ｄ）と通信する。デバイス１１４／１１８は、プロセッサ５１０およびメモリ５１２（たとえば、揮発性、不揮発性など）を有する。オペレーティングシステム５１４、リーダユーザインタフェース（ＵＩ）５１６、および音声／テキスト変換器５１８は、メモリ５１２に記憶され、プロセッサ５１０によって実行される。電子デバイス１１４／１１８は、ユーザがコンピューティングシステム１０２に質問をし、およびコンピューティングシステムがユーザに質問をする対話セッションの間に、人間のユーザがストーリーを読んでコンピューティングシステム１０２と対話できるように、リーダーＵＩ５１６を示すためのディスプレイ５２０を含む。
【０１００】
デバイス１１４／１１８は、音声／テキスト変換器５１８においてテキストを音声に変換し、スピーカ５２２を通じてオーディオを出力することによって、ストーリーを音声で提示することを含む、他の対話のモードをサポートすることができる。次いで、ユーザは、ストーリーを読むのではなく、聞くことができる。ユーザはまた、マイクロフォン５２４によってキャプチャされ、音声／テキスト変換器５１８によってテキスト文字列に変換された応答を話すことによって、質問および回答を口頭にすることができる。スクリーン、キーボード、スピーカ／マイクロフォンについて論じられているが、本デバイスは、人間とコンピュータシステムとの間の対話を容易にするために、本質的に他の任意のＩ／Ｏデバイスを含むことができる。
【０１０１】
図６は、テキストベースのストーリーを取り入れ、それらのストーリーの理解を推論し、ストーリーの理解をテストするために人間と対話するための、アーキテクチャ１００、およびより具体的には、図４および図５の学習および理解モジュール１３０によって実装される例示的なプロセス６００を示す。６０２において、ストーリー（または、テキスト文字列）がコンピューティングシステムによって受信される。６０４において、同じストーリーがユーザと共有され、ユーザデバイス上に提示される。議論のために、コンピューティングシステムとユーザの両方によって読まれたストーリーがベンとアバのストーリー１０６（１）であると仮定する。
【０１０２】
６０６において、ストーリーの構文表現を生成するために、ストーリーが構文解析される。構文解析は、文、文中の節、または他のマルチワードテキスト文字列に対して実行されてもよい。アーキテクチャ１００において、ストーリー解析エンジン１３４は構文解析を実行し、単語を記述する構文ラベルでタグ付けまたは注釈付けされた文の単語を保持する言語構造と、単語間の関係を定義する述語項構造とを含む言語解析結果を出力する。言語解析結果は、文および共参照連鎖内の単語に割り当てられたエンティティタイプをさらに含むことができる。私たちのストーリーの例では、構文解析は、「持ってきた」という単語を、文中の動詞述語「持ってくる」という原形を有するものとして識別する言語構造を生成することができる。「ベン」という単語は主語の項であると決定され、「食べ物」という単語は目的語の項である。さらに、「ベン」は人として分類され、「食ベ物」は栄養として分類される（たとえば）。最後に、「食べ物」および「スパゲッティ」という単語は、共通の共参照連鎖に属するものとして評価される場合がある。
【０１０３】
６０８において、それらを含む意味構造およびフレームは、ストーリーの可能な解釈を表現すると推論される。一実装形態では、知識統合エンジン１３６は、あらかじめ確立された背景知識を考慮して構文解析から受信した言語解析結果を意味的に処理することによって意味構造を推論する。たとえば、背景知識は、一部、構文解析された文中に見られる単語／語句のための共通の関連付けまたは関係を提供するデータベース４０８に記憶された生成的意味素のあらかじめ形成されたインスタンス化されていない構造として一部具体化されることができる。インスタンス化されていないＧＳＰ構造は、データベースから選択され、構文的に解析された文からの要素を使用してインスタンス化される。知識統合エンジン１３６は、さらにより高いレベルの解釈を提供し、それによって潜在的により深い理解を可能にするために、複数のインスタンス化されたＧＳＰ構造インスタンスからそれぞれ構成されるフレームをさらに選択してインスタンス化することができる。
【０１０４】
ベンとアバのストーリーの例を続けると、動作に対応するインスタンス化されていないＧＳＰ構造が選択され、構文的に解析された文からの情報を用いてインスタンス化されることができる。たとえば、ＧＳＰ構造のｒｅｉｆｉｅｒ役割は、「持ってくる」という単語（ｒｅｉｆｉｅｒ：ストーリー／持ってくる）によって参照されるイベントエンティティで満たされることができ、動作主の役割は「ベン」という単語（動作主：ストーリー／ベン）によって参照されるエンティティで満たされることができ、後の状態はアバが食べ物を持っているという事実に関連するネストされた命題で満たされることができる。このネストされた命題自体は、所有の概念に対応するＧＳＰであり、「アバ」という単語（所有者：ストーリー／アバ）によって参照されるエンティティを有する所有者の役割と、「食べ物」という単語（所有：ストーリー／食べ物）によって参照されるエンティティを有する所有の役割とを有することができる。ＧＳＰ構造の一般性は、それらの構成性に起因し、その構成性は、システムがあるＧＳＰ構造を別のＧＳＰ構造内にネストする能力に一部依存する。この例から明らかなように、文の現在の言語的解釈は、誰が何を誰にもたらしたのか、そしてこの動作の後の状態は何かを、可能性がある関係を追加することによって、より深い理解レベルに高められる。この追加の意味情報は、より豊かな理解を提供する。
【０１０５】
ストーリーの文のために他のＧＳＰ構造がインスタンス化されると、関連するフレームが検索され、ストーリーとアラインメントされる、フレーム推論プロセスが実行される。たとえば、ベンとアバのストーリーにおいて、レストランフレームが検索されることができ、ベンはウェイターと、アバは顧客とアラインメントされることができる。次いで、たとえば、ベンが請求書を持ってきた、およびアバが請求書を支払ったなどの新しい信念がフレームから主張される。少数のフレームがストーリーから抽出された多数の信念と一致する場合、より高いスコアが与えられるように、フレームアラインメントのセットが評価される。また、フレームアラインメントのセットは、あるいは、フレームによって予測される信念が、ストーリーに関するシステムの他の信念と矛盾している場合、スコアが低い場合がある。
【０１０６】
６１０において、単語／語句を解釈するための１つまたは複数の可能性のある方法を提供するために、推論動作の一部として、文中の単語／語句に関する他の意味情報が生成されることができる。たとえば、１つの手法では、知識統合エンジン１３６は、語義、言い換え、関係、シーン解析などのような意味情報を提供するために、知識誘導エンジン１４０に問い合わせることができる。生成された結果は、関連付けられる確率とともに返されてもよく、その結果、知識統合エンジン１３６は、より正確な推論を行うためにより可能性の高い候補を選択することができ、対話エンジン１４２は、間違った、または知力のないと思われる質問をすることを避けるために、確率の低い候補の使用を排除することができる。
【０１０７】
ベンとアバのストーリーにおいて、知識誘導エンジン１４０は、「持ってきた」という単語、またはその原形の「持ってくる」に対して語義曖昧性解消を実行することができる。曖昧性解消を通して、（１）何か、または誰かをどこかに連れて行く、（２）特定の状態または状況に陥らせる、あるいは（３）合法的に提示または説明するなどの、「持ってくる」という単語のいくつかの可能な意味が発見される場合がある。他の解析は、「食事を提供した」という語句が「食べ物を持ってきた」の言い換えであることができるような、他のリソースを提供することができる。知識誘導エンジン１４０は、適切なものを選択する際に支援するために、これらの結果に関連付けられる確率をさらに提供することができる。「持ってくる」という単語は、コーパスに現れる場合、たとえば、第３の意味（すなわち、合法的に提示または説明する）とは逆に、第１の意味（すなわち、何か、または誰かをどこかに連れて行く）により関連付けられると考えられる。
【０１０８】
６１２において、ストーリーは、現在の世界モデルにおける知られているフレームとよく適合する信頼性の高い意味表現をストーリーモデルが含まない領域を発見するために、または人間のユーザによって検証されるべき低い確率で推論を識別するために、現在の世界モデルから検索されたフレームに関して評価される。このように、ストーリーにおいて現在知られているものとインスタンス化されたフレームにおいて表現されているものとの間に存在するかもしれない、可能性のあるギャップが確認されることができ、ＧＳＰ構造またはフレームに追加されるべき、または追加することができる情報を明らかにする。たとえば、ベンとアバのストーリーに関しては、たとえば、アラインメント動作は、「持ってくる」は、（ストーリー内の「持ってきた」という動詞に対して）どちらを選択するかについて疑問を生じる十分な可能性スコアを有する複数の意味があることを発見することができる。これらの状況において、人間との協議はその疑問を取り除くのに役立つ。
【０１０９】
６１４において、ギャップまたは挑戦推論を解決するために、１つまたは複数の質問が定式化されることができる。質問は、ユーザに質問されたときに、特にコンピュータシステムがその現在の理解にあまり自信がない場合、現在の意味構造およびフレームがストーリーをどれだけ良好に表現しているかを評価することが意図されている。この動作は、たとえば、知識統合エンジン１３６と連携して動作する対話エンジン１４２によって実行されることができる。たとえば、ベンとアバのストーリーにおいて、知識統合エンジン１３６は、最初に「ベンがアバに食べ物を持ってきました」という文は、「持ってくる」という動詞を含む動作意味構造を含むと決定すると仮定する。定式化されるかもしれない１つの質問は、「持ってくる」という動詞が動作と見なされるべきかどうかを人に尋ねることであり、したがって動作意味構造に関連付けられる。その質問は、たとえば、「私は、「持ってくる」は動作を指し、持ってくる動作が生じた後は何かが異なると思います。それは正しいですか？」として作成されている場合がある。他の状況では、語義の周りに明瞭さの欠如がある場合がある。たとえば、知識誘導エンジン１４０は、問い合わせられると、知識統合エンジン１３６に、上記のように「持ってくる」という単語が複数の意味を有することを通知することができる。したがって、対話エンジン１４２は、この問題を解決しようとする質問を定式化することができる。次のように、１つの適切な質問は、図１のＵＩ１２６に示されたものと同様に作成されることができる：
ここに私が理解しようとしている文があります：
ベンがアバに食べ物を持ってきました。
以下の選択肢のどれが、上記の文に最も類似して「持ってくる」という単語を使用していますか？
１．何か、または誰かをどこかに連れて行く。
２．特定の状態または状況に陥らせる。
３．合法的に提示または説明する。
【０１１０】
６１６において、ユーザとの対話セッションが開かれる。セッションの間、６１８において、構造化された質問がコンピューティングシステム１０２からユーザデバイス１１４／１１８に提出される。６２０において、質問は、人間のユーザによる消費のために（たとえば、視覚的および聴覚的に）提示される。６２２において、ユーザは、質問を検査して彼または彼女の入力を提供し、それはキャプチャされて、コンピューティングシステム１０２に返される。たとえば、ユーザは上記の質問を検討し、選択肢１（すなわち、何か、または誰かをどこかに連れて行く）が正しい応答であると決定することができる。６２４において、ユーザ応答は、コンピューティングシステムによって受信され、ユーザデバイスから処理される。
【０１１１】
６２６において、意味構造および／またはフレームのうちの１つまたは複数は、ストーリーの異なる解釈を開発するために、人間のユーザから受信された応答に基づいて改訂される。次いで、ストーリーモデルは、改訂された意味構造およびフレームと（動作６１２）、および別の対話セッション（動作６１６）のために新しい質問と（動作６１４）再アラインメントされることができる。
【０１１２】
プロセス６００は、アラインメントされたストーリーモデルについて十分な信頼水準が計算されるまで継続されることができる。一実装形態では、ストーリー内の各単語／語句の意味表現を提供するインスタンス化された意味構造の信頼性スコアが計算される。それぞれがユーザと対話することによって様々な意味構造内でテストされるので、信頼性スコアは改善する傾向がある。その時点で、ストーリーモデル１３２は、ストーリーに対する正確な理解として出力されることができる。それはストーリーの完全な意味表現を含み、システムは、将来の想起のためにストーリーを索引付けするか、または他のテキストを理解する際に使用することができる。
【０１１３】
説明のためのストーリー解析エンジン
図７は、ストーリー解析エンジン１３４の一実装形態を示し、ストーリーなどのテキスト文字列を処理するために使用されることができる選択構成要素を示す。ストーリー解析エンジン１３４は、複数の可能な言語解析結果を提案し、それらの結果を知識統合エンジンに渡すように構成されており、この知識統合エンジンは、共同推論を使用して結果上の共同分散を計算する。ストーリー解析エンジン１３４は、ストーリー１０６を取り込み、自然言語処理（ＮＬＰ）のためにストーリー１０６のデジタル表現を言語解析器７０２に渡す。言語解析器７０２はストーリー１０６を受信し、ストーリーを単語、語句、文、または他の定義可能なテキスト文字列などの消化可能なセグメントに分割する。言語解析器７０２は、テキスト文字列に対して様々な言語解析を実行するＮＬＰ構成要素のセットを有する。構文パーサ７０４は、文中の単語の品詞およびそれらの間の文法的関係を識別する。一実装形態では、構文パーサ７０４は、構文解析のためのＳｔａｎｆｏｒｄ  ＣｏｒｅＮＬＰパッケージを使用することによって、一部実装される。
【０１１４】
いくつかの実装形態では、ストーリーエンジン１３４は、１つの文に対して複数の可能な構文解析を出力する単一のパーサ、または構文解析多様性を提供するために複数のパーサ７０６を採用することができる。所与のアプリケーションの解析精度を最終的に改善することを目的として、所望のアプリケーションに従って解析結果を選択または統合するために、解析セレクタ７０８が使用されることができる。他の実装形態では、解析セレクタは存在しないかもしれないが、むしろ複数の解析結果が知識統合エンジン１３６に渡され、知識統合エンジン１３６が、以下に詳細に説明されるように、意味構造およびフレーム構造における信頼性と共同して各解析結果の信頼性を決定する。
【０１１５】
ストーリー解析エンジン１３４の言語解析器７０２は、他の解析構成要素が動作する原始的な信念として働く、述語のパーサニュートラル表現およびそれらのインスタンス化された項を生成する述語項構造（ＰＡＳ）モジュール７１０も含む。ＰＡＳモジュール７１０は、文法的関係のパーサ特有の表現を述語および項の共通表現に変換し、異なるパーサによって生成された文法情報がシステム内で相互運用できるようにする。変換プロセスにおいて、ＰＡＳモジュール７１０は、受動的な声を能動的に変更するなどの特定の正規化手順も実行し、文の処理の中心ではない特定の文法的関係を除去することによって表現を単純化する。たとえば、ストーリー１０６における「ベンがアバに食べ物を持ってきました」という文の構文解析に続いて、ＰＡＳモジュール７１０は、「持ってきた」またはその原形の「持ってくる」が主な述語（この場合、口頭述語）であり、「ベン」は主語の項であり、「食べ物」は目的語の項であることを認識する。ＰＡＳモジュール７１０は、これらの単語を適切なラベルでタグ付けまたはマークする。１つの特定の実装形態では、ＰＡＳモジュール７１０は構文パーサ７０４の上に構成され、他の実装形態では、構文パーサ７０４およびＰＡＳモジュール７１０は、共通の実行可能モジュールとして実装されることができる。
【０１１６】
図７に示されるように、言語解析器７０２は、入力としてストーリーエンジンから知識統合エンジン１３６に渡される言語解析結果７１２のセットを出力する。言語解析結果７１２の一部は、構文パーサ７０４および言語解析器７０２のＰＡＳモジュール７１０によって生成された言語構造７１４である。言語構造７１４は、文の単語、単語の構文ラベル、および単語間のＰＡＳ関係を含むデータ構造として具体化される。データ構造７１４が、キーワードがノードとして表現され、それらの関係が相互接続された分岐によって表現される、樹木状の視覚化を使用して、図７に示されている。「ベンがアバに食べ物を持ってきました」という例文を続けると、「持ってくる」という単語（すなわち、「持ってきた」の見出し語形）がノード７１６として示され、動詞述語として識別される。「ベン」という単語がノード７１８として表現され、「持ってくる」という動詞述語に関連する主語の項としてタグ付けされる。「食べ物」という単語はノード７２０として表現され、「持ってくる」という動詞述語に関連する目的語の項としてマーク付けされる。「アバ」という単語は、「持ってくる」という動詞述語との関係でノード７２２によって表現され、アバが持ってくるという述語のターゲットであることを示す。
【０１１７】
言語解析器７０２は、エンティティタイプを文中の様々な単語に割り当てるためのエンティティ割当てモジュール７２４をさらに含む。タイプは、１つまたは複数の適用可能なオントロジからのあらかじめ定められたカテゴリである。基本的に任意の意味タイプが定義されることができるが、一般的なタイプは、人、国、場所、家具、スポーツなどを含む。この例では、エンティティタイプデータ構造７２６に示されているように、エンティティ割当てモジュール７２４は、「ベン」という単語に「人」タイプを、および「食ベ物」という単語に「栄養」タイプを割り当てる。一実装形態では、エンティティ割当てモジュール７２４は、エンティティタイプに自動的に注釈を付けるために使用されるＳｔａｎｆｏｒｄ  ＣｏｒｅＮＬＰパッケージ内の名前付きエンティティ認識器を使用して実装されることができる。別の実装形態は、ＷｏｒｄＮｅｔ階層に基づいてタイプを文中の単語に割り当てる語義曖昧性解消構成要素の使用を伴うことがある。
【０１１８】
言語解析器７０２はまた、文中の単語／語句の共参照を識別する共参照モジュール７２８を有する。共参照は、必ずしも語彙的に同一ではないが、同じ現実世界のエンティティを指す単語／語句である。この例では、ストーリー１０６は、「食べ物」、「食事」、および「スパゲッティ」という単語を含む他の文を有すると仮定する。共参照モジュール７２８は、これらの単語／語句を同じものを意味するものとして識別し、何らかの方法で単語／語句を関連付けるデータ構造７３０を生成することができる。共参照モジュール７２８は、エンティティ共参照ならびにイベント共参照を識別することができる。言語解析結果７１２は、知識統合エンジン１３６に供給され、知識統合エンジン１３６は、図９を参照してより詳細に説明される。
【０１１９】
別の実装形態では、言語解析結果７１２がストーリーモデルに統合されると、共同推論エンジン４０６は、自然言語処理（ＮＬＰ）解析に適用するときに上流結果の可能性を再計算するために、言語解析結果の下流をさらに活用することができる。ストーリー解析エンジン１３４は、ストーリー全体にわたって推論されたフレームレベルの知識から導き出された代替解析を採点する際に、より高いレベルの意味情報および世界知識を考慮する。すなわち、ストーリー解析エンジン１３４は、代替解析の可能性を再計算するために、より高いレベルの下流の知識を利用することができる。さらに、システムが現在の世界モデル１３８により多くの知識を蓄積するにつれて、この可能性を動的に再計算するこの能力は、時間の経過とともに強化される。
【０１２０】
図８は、入ってくるストーリーを構文的に処理するために、ストーリー解析エンジン１３４によって実行される例示的なプロセス８００を示す。プロセス８００は、システムアーキテクチャ１００、および図１、図４、図５、および図７のストーリー解析エンジン１３４を参照して説明される。８０２において、テキスト文字列が受信される。テキスト文字列は、ストーリーの一部であってもよく、ストーリー内の１つまたは複数の自然言語文を表現してもよい。８０４において、テキスト文字列が言語的に解析される。１つの手法では、これは、動作８０４（１）〜（４）によって表現される複数の副動作を含む。
【０１２１】
８０４（１）において、文中の単語の構文表現を展開するために、テキスト文字列が構文的に解析される。図７を参照すると、言語解析器７０２は、テキスト文字列を構文解析し、それによって単語間の文法関係を提供する言語構造７１４を生成するために、１つまたは複数の構文パーサ７０４を呼び出す。８０４（２）において、構文解析表現をパーサニュートラルＰＡＳ表現に変換するために、述語項構造（ＰＡＳ）解析が実行される。１つの手法として、述語項構造モジュール７１０は、文中の特定の単語を述語および１つまたは複数の項としてタグ付けまたはマーク付けする。これらの指定は、言語構造７１４のデータ階層に記憶され、反映される。
【０１２２】
８０４（３）において、適切なオントロジからのエンティティタイプが、テキスト文字列内の単語に割り当てられる。エンティティタイプはあらかじめ定義されている（たとえば、人、場所、物など）。エンティティ割当てモジュール７２４は、文脈およびオントロジ情報に基づいてテキスト文字列内の単語ごとの可能なエンティティタイプを識別し、その単語にエンティティタイプでタグ付けする。エンティティ割当ては、言語解析結果の一部を形成するデータ構造７２６内で維持される。
【０１２３】
８０４（４）において、テキスト文字列中の任意の共参照連鎖も決定される。各文または論理的テキストセグメントは、関連付けられる言語構造を有することができるが、共参照連鎖は、ストーリー全体を調べて、共通の現実世界のエンティティを参照する単語／語句を見つけることによって形成される。この動作８０４（４）は、たとえば、テキスト文字列全体の単語および語句を調べて、意味情報および文脈情報に基づいて共参照連鎖を形成する単語を識別することによって、共参照モジュール７２８によって実行されることができる。発見された共参照は、いずれもデータ構造７３０に記憶される。
【０１２４】
ともに、８０４（１）〜（４）における言語解析は、言語構造７１４、エンティティタイプ構造７２６、および共参照構造７３０を含む言語解析結果のセット７１２を生成する。いくつかの実装形態では、言語解析器７０２は、同じ文について複数の解析結果を生成することができる点にさらに留意されたい。たとえば、解析器７０２が「猫は、それが賢いので、ねずみを捕まえた」という文を処理していると仮定する。構文上の理由や共参照連鎖のために「それ」という用語を特徴付けようとするとき、「それ」は「猫」または「ねずみ」を参照する可能性があるため、複数の回答が存在する可能性がある。この段階では、まだ追加の意味知識がないので、ストーリー解析エンジンは、知識統合エンジンによって下流に解決されるべき両方の可能性を出力することができる。
【０１２５】
８０６において、言語解析結果７１２は知識統合エンジン１３６に入力されることができる。言語解析結果７１２は、ストーリー全体１０６を記述するために、完了したものとして徐々に出力されることもでき、バッチで送信されることもできる。その後、生成的意味素のセットを備える初期のストーリーモデルを生成するために、言語的解析結果が意味的に解析される。
【０１２６】
説明のための知識統合エンジン
図９は、知識統合エンジン１３６の例示的な実装形態を示し、ストーリー１０６の言語解析結果７１２を意味的に処理するために使用されることができる選択構成要素を示す。言語解析結果７１２は、取り入れられたストーリーからストーリー解析エンジン１３４によって作成され、ストーリーを表現するストーリーモデル１３２を最初に構築するために（ストーリー１０６とともに）知識統合エンジン１３６に渡される。知識統合エンジン１３６は、現在の世界モデル１３８にキャプチャされたシステムの現在の知識に関して意味をなすストーリーの確率論的意味表現としてストーリーモデル１３２を構築する。
【０１２７】
知識統合エンジン１３６は、ストーリーモデル１３２を現在の世界モデル１３８とアラインメントすることによって、ストーリーの意味を開発するために、共同推論および人間との対話を通じて時間の経過とともにストーリーモデル１３２を進展させる、高度に構成可能で柔軟性のある実行可能な構成要素のセットである。知識統合エンジン１３６は、ストーリー内の文の言語解析結果７１２を取り込み、それらの文に対する意味を提供することを開始する、関連する意味構造を推論する。共同推論により、知識統合エンジン１３６は、複数のレベルの解釈を組み合わせ、それによって、様々なレベルの概念的豊かさでテキストを解釈する。上記のように、より高いレベルの解釈はより豊かであるが、より暗黙的でもあるので、発見することはより困難である。第１のレベルの解釈は、ストーリーにおいて見られる明示的な自然言語テキストの認識である。第２のレベルの解釈は、ストーリー解析エンジン１３４によって実行される言語解析に関する。次の２つのレベルの解釈、つまり生成的意味素を提供するための意味解析（すなわち、レベル３）、およびフレーム意味論（すなわち、レベル４）は、ストーリーにおける暗黙の意味を発見するために、（知識誘導エンジン１４０、対話エンジン１４２、およびフレームワーク１４４の助けを借りて）知識統合エンジン１３６によって実行される。
【０１２８】
図９において、知識統合エンジン１３６は、様々な方法で動作することができる共同推論エンジン４０６を有する。一実装形態では、共同推論エンジン４０６は、複数の可能な「世界」を提案し、各世界は真であると考えられる信念のセットを有する。信念生成構成要素４０２は世界で反復的に実行され、真実である信念を観察し、新しい信念に対する分散を提案する。新しい世界は、それらの確率分布から信念を引き出すことによって作成される。制約構成要素４０４は、世界の確率を評価するために実行される。プロセスが終了されると、信念の限界確率は、それが真である世界の確率の合計になる。限界確率は、信念の確率間の関係をキャプチャしないので、システムは世界自体をストーリーモデル１３２の一部として記憶することもできる。さらに、これは、たとえば、マルコフ連鎖（Ｍａｒｋｏｖ  ｃｈａｉｎ）またはモンテカルロサンプリング（Ｍｏｎｔｅ  Ｃａｒｌｏ  ｓａｍｐｌｉｎｇ）などの技法を通じて達成されることができる。
【０１２９】
１つの非限定的な手法では、信念生成構成要素４０２は、言語解析器９０４を含み、言語解析器９０４は、述語項構造（ＰＡＳ）、語義、エンティティタイプ、および共参照などの、言語解析結果７１２内の各文または語句の言語構造を表す信念に対する確率分布を生成する。たとえば、言語解析器９０４は、「バットが彼に向かって飛んでいた」というテキストが真実であるとの信念を含む世界を受信し、バットが８０％の確率で動物であり、２０％の確率で野球のバットであるという信念を含む確率分布を出力することができる。
【０１３０】
信念生成構成要素４０２は、ＰＡＳおよび語義などの情報に基づいて、テキストの可能性のある意味解釈を表現するインスタンス化されたＧＳＰに対する確率分布を生成する、言語対ＧＳＰマッパ９０６をさらに含むことができる。言語対ＧＳＰマッパ９０６は、言語解析結果命題とＧＳＰ命題の混合をそれぞれ含む現在の世界モデル１３８からのフレームを利用して、上述のフレーム推論プロセスを使用することができる。前の例を続けると、言語対ＧＳＰマッパ９０６は、バットが動物であり、「飛んで」という動詞の主語であった世界を受信し、バットが飛行動作の動作主であった確率がＧＳＰにおいて９９％であり、そうではなかった（すなわち、それは野球のバットの場合のように何らかの他の手段で彼に向かって推進された）確率が１％である確率分布を生成する。図９に表現されるように、現在の世界モデル１３８は、インスタンス化されていないＧＳＰ構造９１０（１）〜（Ｇ）のＧＳＰライブラリ９０８と、一般的なフレーム構造９１４（１）〜９１４（Ｆ）のフレームライブラリ９１２とを含む、最初はそれらのインスタンス化されていない状態で、ＧＳＰおよびフレーム意味構造のライブラリを維持する。
【０１３１】
ＧＳＰライブラリ９０８におけるＧＳＰ構造９１０（１）〜（Ｇ）は、様々な事実、状況、または環境の意味をキャプチャするためにあらかじめ定義されている場合がある。たとえば、１つのＧＳＰ構造は動作を表すことができ、構造は、ｒｅｉｆｉｅｒ、動作主、動作の前に何が起きるのか、後で起こるのか（すなわち、Ｒｅｉｆｉｅｒ、動作主、前、後の要素）などの動作を定義する役割を含む。他のＧＳＰ構造は、経験（動作主、経験−関係（たとえば、見る、聞くなど）、および刺激の役割を有する）、空間的位置（位置関係の役割に関する、エンティティ１、エンティティ２の役割を有する）、時間的位置（時間的関係、イベント１、イベント２の役割を有する）、および所有（所有者、所有の役割を有する）を表す場合がある。
【０１３２】
ＧＳＰ構造９１０（１）〜（Ｇ）は、基本的な種類の事実に対応するインスタンス化されていない概念として始まる。たとえば、空間的位置に関するＧＳＰ構造が存在し、インスタンス化されると、空間的位置に関する事実の意味を提供する。時間的関係のためのＧＳＰ構造が存在し、インスタンス化されると、時間的関係に関する事実を意味する。各インスタンス化されていないＧＳＰ構造９１０は、ストーリーにおける明示的または暗黙的な情報を用いて完了されるべき独自の特定の役割のセットを有する。空間的関係のためのＧＳＰ構造は、第１の目的語または場所のための１つの役割、第２の目的語または場所のための別の役割、ならびに第１の目的語と第２の目的語との間の空間的関係（たとえば、近く、上、中、上方、下方など）を指定するための第３の役割を有する。
【０１３３】
ストーリーからの単語／語句は、ＧＳＰ構造の複数のインスタンスに対応することができる。たとえば、単一の単語は、語義ごとに異なるＧＳＰ構造インスタンスを有することができる。「ｆａｌｌ」という単語は、１つの意味に対してＧＳＰ構造の１つのインスタンス（たとえば、「大きな雨滴がクロエの顔に落ちました」という文中に見られるようなもの）、別の意味に対する第２のＧＳＰ構造インスタンス（たとえば、「クロエが滑って泥の中に落ちました」という文中に見られるようなもの）、および別の意味に対する第３のＧＳＰ構造インスタンス（たとえば、「温度が１０度下がった」という文中に見られるようなもの）を有することができる。
【０１３４】
構造の少なくとも１つの役割が別のＧＳＰ構造で満たされている複合ＧＳＰ構造も定義されることができる。たとえば、通信のためのＧＳＰ構造（たとえば、動作主、受領者、メッセージの役割など）と、目標のための第２のＧＳＰ構造（たとえば、動作主、目標の役割）があると仮定する。通信ＧＳＰ構造における「メッセージ」の役割は、目標ＧＳＰ構造によって満たされることができる。これは、伝達されるメッセージ自体が何らかの動作主の目標に関する通信に関する事実を表現する複合ＧＳＰ構造を形成する。そのような複合ＧＳＰは、たとえば、「アリスは、キャロルがチケットを求めているとボブに言った」または、「「トウモロコシを取って」とダンが言った」などの自然言語文に対応することができる。特定の構造を参照して上述したネストされた関係は、複合ＧＳＰ構造の例である。
【０１３５】
図１０は、対応するテキスト文字列（たとえば、文）に対する意味の範囲を表すように構成されることができるＧＳＰ構造９１０の例示的なセット１０００を示す。意味を表すためにどのように構造が構成されるべきかを確立する方法はたくさんある。この例のセット１０００では、基本構造は、前、その時間、および後の要素または役割を含む、事実の時間的変化を表すための動作構造１００２を含むことができる。位置、エンティティ１、およびエンティティ２の要素または役割を含む、所々に見られるものを表すための位置構造１００４が存在することができる。別の例として、動作主の役割、信念、および信任で動作主が信じている事実を表す信念構造１００６が存在する場合がある。
【０１３６】
図９を参照すると、フレーム９１４は、特定の文脈における命題（ＧＳＰなど）に対する確率分布である。単純なケースは、特定の場所で通常発生する動作などの、文脈において真である可能性の高い命題のセットである。フレームは、様々な参加者、動作、属性、および一般に文脈に関連付けられた他の概念的な役割を指す。フレーム９１４は、関連する経験をグループ化することによって形成されたものと考えられることができる。一般に、フレームは異なる抽象化レベルで存在する。フレームは、エンティティが特定の人物を指す特定のエピソードを表現することができ、同様に、フレームは、エンティティについてほとんど知られていない親近感などの非常に抽象的な概念を表現することができる。フレームにおいて、ＧＳＰ構造の役割の一部において参照されるエンティティは、ストーリーにおけるベンおよびアバなどの特定のエンティティではなく、顧客およびウェイターのようなより一般的なフレーム固有の役割である場合がある。たとえば、レストランフレームは、顧客のための１つの動作インスタンス（Ｒｅｉｆｉｅｒのインスタンス化された役割：座る、動作主：顧客、後：テーブルの場所）を含む、動作の２つのＧＳＰ構造インスタンスと、ウェイターのための別の動作インスタンス（Ｒｅｉｆｉｅｒのインスタンス化された役割：持ってくる、動作主：ウェイター、後：顧客のメニューまたは食べ物の場所）を含むことができる。
【０１３７】
フレーム９１４は、他のフレームを参照することもできる。たとえば、レストランフレームは、食べ物や飲み物を消費する経験のためのＧＳＰ構造インスタンスの集合を定義する食べるフレームを参照することができる。フレームが親フレームから参加者、動作、および属性を継承するように、フレームが階層に配置されることができる。一例として、ファーストフードレストランフレームは、レストランフレームの子であり、レストランフレームの特定の側面を継承することができる。フレームはまた、相反するパターンで構成されることができる。たとえば、レストランフレームでは、ゲストは食事の代金を支払う。しかし、誕生日フレームでは、ゲストは食事の代金を支払わない。この後者の例に加えて、フレームは、命題は確率が低いと言うこともできる。たとえば、より具体的な誕生日フレームは、請求書を支払う確率が低いことを示唆することがあり、その確率は通常のレストランフレームにおいてはるかに高い。
【０１３８】
現在の世界モデル１３８は、最初に、ライブラリ「ＶｅｒｂＮｅｔ」などの手動でキュレーションされた意味フレームのライブラリを含むことができる。システムを準備するために、たとえば、ＶｅｒｂＮｅｔライブラリでコード化された動詞のセット（たとえば、子供が最初に学習する１００個の動詞）が、現在の世界モデル１３８にインポートされることができる。残念なことに、そのような手作業によるリソースは拡張しない。したがって、コンピューティングシステムが学習するにつれて、現在の世界モデル１３８はもはや手動で作成されず、代わりに、処理背景コーパスから、および人間の学生および協力者との対話を通じて学習する。
【０１３９】
図９において、フレーム内でうまく適合する可能性が高い、現在の世界モデル１３８に記憶された、インスタンス化されていないＧＳＰ構造９１０（１）〜（Ｇ）のサブセットを識別し、ストーリー内のエンティティのＧＳＰ構造内の変項への割当てを決定するために、言語対ＧＳＰマッパ９０６は、フレーム推論プロセスを実行する。目標は、言語が参照する様々なエンティティを定義し、どのＧＳＰ構造がエンティティに当てはまるかを決定することによって、言語構造から言語をＧＳＰ構造にマッピングすることである。図示された例では、言語構造７１４は、動作のためにインスタンス化されていないＧＳＰ構造９１０に最も密接に一致するように決定されることができる動詞述語「持ってくる」を有する。一致は、キーワード一致（たとえば、言語構造７１４における「持ってくる」は、この特定の動作ＧＳＰ構造９１０における単語「持ってくる」に一致する）を通じて、または類似性、概念的なものなどの他の探索戦略を通じて決定されることができる。図示されるように、動作ＧＳＰ構造９１０は、ｒｅｉｆｉｅｒ名（ｒｅｉｆｉｅｒ：持ってくる）、動作主（動作主：人１）、および後の状態（後：有する）役割を含み、ネストされた命題は、所有者役割（所有者：人２）が関連付けられる所有役割（所有：もの）を有するという事実に関連する。いくつかの実装形態では、モジュール９１４は、言語構造７１４に一致することができる複数のインスタンス化されていないＧＳＰ構造を識別して選択することができる。選択プロセス中に、関連性スコアまたは信頼スコアが計算されることができる。スコアがより高いＧＳＰ構造は、言語構造７１４により密接に一致する構造を示す。
【０１４０】
１つまたは複数のインスタンス化されていないＧＳＰ構造９１０を識別した後、言語対ＧＳＰマッパ９０６は、ＧＳＰ構造インスタンス９１６を生成するために、ＧＳＰ構造をインスタンス７１４からの情報を用いてインスタンス化する。ここでは、ベンとアバのストーリーにおけるｒｅｉｆｉｅｒの役割は「持ってくる」（ｒｅｉｆｉｅｒ：ｂｒｉｎｇ）として識別され、動作主の役割は「ベン」（動作主：ベン）として識別され、所有者の役割は「アバ」（所有者：アバ）として識別され、所持の役割は「食べ物」（所有：食ベ物）として識別される。ＧＳＰ構造インスタンス９１６は、ストーリーからできるだけ多くの情報を有するインスタンス化されたバージョンである。
【０１４１】
場合によっては、構造を完全にインスタンス化するための情報のすべてが存在しない場合があり、欠落している要素を発見するのに役立つために、ストーリーに対する理解について人間のユーザに質問するための基礎をなす不確実性が生じる。さらに、場合によっては、ストーリーの抜粋の異なる可能な意味を提供するために、複数のＧＳＰ構造インスタンスが異なるＧＳＰ構造９１０からインスタンス化される。複数のＧＳＰ構造インスタンスが同じストーリーの抜粋から作成され、それらのインスタンスが類似の信頼性スコアを有する場合、これはまた、どの可能な意味がストーリーにおいてより適切であるかに関して人間のユーザに問い合わせ、それによってユーザが抜粋をどのように理解したかの知識を得るようにシステムを促す。
【０１４２】
もう１つの例として、「少年が公園にいる」というテキストがあるとする。言語対ＧＳＰマッパ９０６は、目的語、関係、および場所の役割を有する場所ＧＳＰ構造などの、「少年」および「公園」と呼ばれるエンティティを処理するＧＳＰ構造を選択することができる。場所ＧＳＰ構造は、テキスト情報（たとえば、目的語の男の子、場所の公園など）を役割に埋め込むことによって、テキストの意味をキャプチャするようにインスタンス化される。この文が「少年が公園に行った」と少し修正された場合、言語対ＧＳＰマッパ９０６は、動作主「少年」と効果を有する第１の動作ＧＳＰ構造を有するネストされた配置を選択することができ、効果はネストされた場所ＧＳＰ構造を参照する。「少女は母親に自転車を頼んだ」という文を考察する。この文は、通信ＧＳＰ構造（たとえば、動作主：少女、受領者：母、メッセージ：目標＿構造）、目標ＧＳＰ構造（たとえば、動作主：少女、目標：所有＿構造）、および所有ＧＳＰ構造（たとえば、所有者：少女、所有：自転車）のインスタンス化された複合ＧＳＰ構造を持つカスケードネスト配置に最適にマッピングされることができる。
【０１４３】
図９において、信念生成構成要素４０２は、現在の世界モデル１３８から、ストーリーの現在の信念に関連することができる１つまたは複数のインスタンス化されていないフレーム９１４（１）〜（Ｆ）を検索するために、フレーム推論プロセスを実装するエピソードフレーム推論モジュール９１８をさらに含む。フレームは、テキストの可能な意味解釈を表現するように識別されたＧＳＰ構造インスタンス９１６のサブセットに基づいて一部推論される。エピソードフレーム推論モジュール９１８は、エピソードフレームに対する確率分布を提案し、ストーリー内のエンティティをフレーム内の役割にアラインメントし、フレームから新しい信念が推論される。このプロセスは、ストーリーを説明するフレーム階層を発見するために反復的に発生してもよい。ベンとアバのストーリーにおいて、たとえば、レストランフレーム９２０は、ベンとアバがレストラン内にあるという暗黙の情報を提供することができ、それによって、ストーリー内の明示的な言語をより良く理解するためのテーマまたは文脈を提供する。レストランフレーム９２０は、この目的のために、ホテルまたはパブの可能な他のフレームと比較して、人々、メニュー、食べ物、およびテーブルを含むストーリーに関連する可能性がより高いものとして選択されることができる。
【０１４４】
次いで、レストランフレーム９２０は、ストーリーに関係する複数のＧＳＰ構造インスタンス９１６を含むために、エピソードフレーム推論モジュール９１８によってインスタンス化される。インスタンス化されていない状態のレストランフレームは、「顧客」、「ウェイター」などへの一般的な参照を有する。エピソードフレーム推論モジュール９１８は、このフレームのフィールドをストーリーからの情報で満たし、顧客がアバにアラインメントし、そしてウェイターがベンにアラインメントするようにする。
【０１４５】
ベンとアバのストーリーにおいて、ストーリー内に７つの文があり、７つの文は、少なくとも７つ、おそらくはより多くの対応するＧＳＰ構造インスタンス９１６（１）〜（７＋）によって表現されることができる。ストーリーの最初の文（すなわち、「アバが歩いて入ってきました。」）は、ＧＳＰ構造インスタンス９１６（１）によって表現され、「歩いて」という主要な動作の用語が示されている。ストーリーを形成する第２の文（すなわち、ベンがアバをテーブルに案内しました。）は、ＧＳＰ構造インスタンス９１６（２）によって表現され、「案内する」という主要な動作の用語が示されている。図示された各インスタンス９１６（１）、９１６（２）、．．．、９１６（６）、および９１６（７）において、主要な動作（すなわち、「歩く」、「案内する」、「持ってくる」、および「食べる」）が示されるが、これはストーリーから他の事実を使ってインスタンス化された構造全体を伝えることが意味されている。
【０１４６】
一実装形態では、エピソードフレーム推論モジュール９１８は、様々な程度の関連性を有する複数のフレームを探索して識別することができる。各探索は、１つまたは複数のフレームを選択するために使用されることができる信頼性スコアまたは関連性スコアを返す。最終的に選択されるフレームは、ストーリー内の要素を、ストーリーを最もよく説明する方法でアラインメントすることが期待される。たとえば、ストーリーが人々、メニュー、食べ物、およびテーブルを含むので、レストランフレームが選択されることができる。しかしながら、モジュール９１８は、やはり人々、メニュー、食べ物、およびテーブルを含むストーリーに関連することができるホテルのフレームをさらに識別することができる。したがって、エピソードフレーム推論モジュール９１８は、レストランフレームとホテルのフレームの両方を選択することができ、おそらくレストランフレームはホテルのフレームより高い関連性スコアを有するが、両方とも許容しきい値を超えるスコアを有する。そのような状況では、両方のフレームが選択されてインスタンス化され、次いで、人間のユーザが、どちらが最良の選択であるかをより良く理解するための質問を生成するために使用される。
【０１４７】
信念生成構成要素４０２は、さらに、ストーリーモデル内にすでにＧＳＰが与えられると、テキストのさらなる意味解釈を表現するインスタンス化されたＧＳＰに対する新しい確率分布を生成する、常識推論モジュール９２２をさらに含むことができる。たとえば、そのような推論には、計数や算術などの数値推論、イベントの順序付けなどの時間推論、および物理的な物体の部品やサイズに関する物理的な推論を含むことができる。常識推論モジュール９２２において使用されるアルゴリズムは、特定のＧＳＰ（たとえば、様々なタイプのストーリーモデル内のエンティティの数を数えるアルゴリズム）に特化されてもよく、演繹ルールを検索して適用するためのフレーム推論プロセスを一般的なアプリケーションであってもよい。ストーリーがより複雑になるにつれて、ストーリーを表現するために多くのフレームが使用されることができる点にさらに留意されたい。これは完全なストーリーを形成するために集まったシーンまたはエピソードに似ている。
【０１４８】
知識統合エンジン１３６は、フレーム推論プロセスの評価フェーズを実装する制約構成要素４０４をさらに含み、可能なフレームおよびそこでのＧＳＰがストーリーをどれだけ良好に表現するかを検査する。一実装形態では、制約構成要素４０４は、フレームアラインメントのセットがストーリーとどれだけ良好に一致するかについてのスコアを生成する。少数のフレームがストーリーから抽出された多数の言語解析信念と一致する場合、より高いスコアが与えられる。逆に、推論された信念がストーリーに関するシステムの他の信念と矛盾している場合、スコアがより低くなる。
【０１４９】
共同推論エンジン４０６は、異なるレベルの解釈を効果的に組み合わせるために、システム内のすべての構成要素の出力を組み合わせる。共同推論エンジン４０６は、信念生成構成要素４０２および制約構成要素４０４からの出力を受け取り、信念上の共同分散を計算する。共同推論エンジン４０６は、各信念の限界確率を計算し、これはストーリーモデルを構築し、進展させるために使用される。共同推論エンジン４０６は、その時点で知られているすべての信念に基づいて考えられる信念の条件付確率を生成するように構成されることができる。
【０１５０】
上記のすべての構成要素の結果を組み合わせることによって、共同推論エンジン４０６は、異なるレベルの解釈を組み合わせる。たとえば、ストーリー解析エンジン１３４が、述語項構造信念のうちの１つは確率が低い場合に、述語項構造信念に対して確率分布を生成する場合を考察する。言語対ＧＳＰマッパ９０６が、述語項構造信念を使用するＧＳＰが、ストーリーの残りにも適合するエピソードフレームと良好に一致すると決定した場合、共同推論エンジンによって高い限界確率が与えられる。
【０１５１】
このプロセスを通じて生成されたＧＳＰ構造インスタンス９１６およびフレームインスタンス９２０は、コンピューティングシステムの知識を構築し続けるために、現在の世界モデル１３８内のストア９２４に記憶される。これらのインスタンスは、さらに、ストーリーの理解を構築する際の将来の使用のために、新しいＧＳＰ構造およびフレームを構築するためにさらに使用されることができる。
【０１５２】
図１１は、ストーリーに対する理解を改善するために、知識統合エンジン１３６がどのようにフレーム推論を使用するかを示す。この例では、統一されたテーマまたは概念内のエピソードを記述するために、インスタンス化されていないレストランフレーム構造１１０４によって表現されることができる抽象的なレストランのスクリプトまたはエピソード１１０２とともに、ベンとアバのストーリー１０６が示されている。ここで、エピソード１１０２は、以下のように、レストラン内で何が起こるかの背景知識を提供する。
レストランとは、顧客が食べ物を食べに行く場所である。
レストランでは、顧客はテーブルに着いて、ウェイターが来るのを待つ。
ウェイターは顧客にメニューを提供する。
顧客はメニューを読む。
顧客が食べたい食べ物を選ぶ。
顧客は彼らの選択肢をウェイターに伝え、ウェイターが顧客に食べ物を持ってくる。
顧客が食べ物を食べた後、ウェイターは請求書を顧客に持ってくる。
顧客は請求書を払い、次いで顧客は去る。
【０１５３】
レストランフレーム１１０４は、エピソード１１０２の文に関連する複数の生成的意味要素で構成される。図１１において、３つのインスタンス化されていない動作ＧＳＰ構造１１０６、１１０８、および１１１０が議論の目的のために示されている。動作ＧＳＰ構造１０６、１１０８、および１１１０は、メモリ位置１１１２によって表されるように、現在の世界モデル１３８のメモリ位置に維持されるデータ構造として具体化される。第１の動作ＧＳＰ構造１１０６は、「レストランとは、顧客が食べ物を食べに行く場所である」という、エピソード１１０２におけるオープニング文の一部を表現する。動作ＧＳＰ構造１１０６は、データ構造のルートノードにおいて動作役割「行く」（ｒｅｉｆｉｅｒ：行く）、第１の従属ノードにおいて動作主役割「顧客」（動作主：顧客）、および第２の従属ノードにおいて場所役割「レストラン」（場所：レストラン）を含む。動作ＧＳＰ構造１１０８は、エピソード１１０２の第６の文の第２の節を表現し、これは、「．．．ウェイターが顧客に食べ物を持ってくる」というものである。動作ＧＳＰ構造１１０８は、データ構造のルートノードにおいて動作役割「持ってくる」（ｒｅｉｆｉｅｒ：持ってくる、第１の従属ノードにおいて動作主役割「ウェイター」（動作主：ウェイター）、第２の従属ノードにおいて所有役割「食ベ物」（所有：食ベ物）、および第３の従属ノードにおいて所有者役割「顧客」（所有者：顧客）を含む。第３の例示されたＧＳＰ構造１１１０は、「顧客が食べ物を食べた後．．．」という、エピソード１１０２の第７のセンテンスの第１の節を表現する。動作ＧＳＰ構造１１１０は、データ構造のルートノードにおいて動作役割「食べる」（ｒｅｉｆｉｅｒ：食べる）、第１の従属ノードにおいて動作主役割「顧客」（動作主：顧客）、および第２の従属ノードにおいて目的語の役割「食物」（場所：食べ物）を有する。様々な動作ＧＳＰ構造１１０６、１１０８、および１１１０は、データ構造の様々なノード（たとえば、顧客、ウェイター、食ベ物など）における一般的なラベルで始まる点に留意されたい。
【０１５４】
知識統合エンジン１３６は、ストーリー１０６に対する理解を改善するために、フレーム１１０４のフレーム意味論をストーリーモデル解釈１１１４とアラインメントする。この例では、フレーム構造は、インスタンス化されていないＧＳＰ構造１１０６、１１０８、および１１１０にそれぞれ対応するインスタンス化されたＧＳＰ構造インスタンス１１１６、１１１８、および１１２０を形成するために、ベンとアバのストーリー１０６からの詳細でインスタンス化される。インスタンス化されたＧＳＰ構造インスタンス１１１６において、動作主役割の項は、一般的なプレースホルダ「顧客」の代わりにストーリーエンティティ「アバ」である。ストーリーには、レストランのタイプまたは名前に関するより特定の情報がないため、場所役割は一般的なラベル「レストラン」を維持する。
【０１５５】
インスタンス化されたＧＳＰ構造インスタンス１１１８の場合、一般的なプレースホルダ「ウェイター」の動作主役割は、ストーリー固有のエンティティ「ベン」に置き換えられる。所有者役割は、一般的なラベル「顧客」の代わりに、ストーリー固有のエンティティ「アバ」を仮定する。ストーリーエンティティ「スパゲッティ」も、所有役割の一般的なラベル「食べ物」を置き換える。同様に、インスタンス化されたＧＳＰ構造インスタンス１１２０の場合、「ウェイター」の動作主役割は「アバ」に置き換えられ、「食ベ物」の目的語の役割は「スパゲッティ」に置き換えられる。知識統合エンジン１３６は、複数の可能性のあるアラインメントを考慮することができる点に留意されたい。知識統合エンジン１３６は、各アラインメントがストーリーと適合する信頼スコアを推定する。たとえば、顧客としてのアバとウェイターとしてのベンとのアラインメントはストーリーにより適しており、次いで、ウェイターとしてのアバ、そして顧客としてのベンである。より具体的には、少数のフレームがストーリーから抽出された多数の信念と一致する場合、より高いスコアが与えられる。さらに、新たに述語化された信念がストーリーに関するシステムの他の信念と矛盾している場合、フレームアラインメントのセットはスコアが低くなる。信頼性スコアを推定する手法は、文脈に依存し、タスクに関連するため、状況によって異なる場合がある。インスタンス化されたＧＳＰ構造インスタンス１１１６、１１１８、および１１２０は、メモリ位置１１２２によって表されるように、現在の世界モデル１３８のメモリ位置に維持されるデータ構造として具体化される。
【０１５６】
コンピューティングシステムのストーリーに対する理解は、基本的な構文解析よりも豊かになったが、依然としてストーリーについて学習することがもっとある。知識統合エンジン１３６は、そのストーリーにおいて使用される単語および語句についてより多くを学習し続けるために、知識誘導エンジン１４０によって提供される誘導された知識リソースにアクセスすることができる。さらに、知識統合エンジン１３６は、インスタンス化されたデータ構造における任意の不一致や隙間を解決するのに役立つために人間のユーザを関与させ、またはストーリーをもっともらしく説明することができる複数の可能な意味構造から最終的に選択するために、対話エンジン１４２をさらに呼び出すことができる。知識統合エンジン１３６は、ストーリー言語−意味マッピング演習および人間のユーザからのフィードバックによって学習されたものに基づいて現在の世界ライブラリ１３８内に維持されるＧＳＰ構造およびフレームの修正された、および新しいバージョンを構築するために、フレームワーク１４４とさらに協働することができる。たとえば、システムは、新しいフレームを抽出して構成するために異なる階層化メカニズムを使用して、構造化された、半構造化された、または構造化されていないデータ（テキストコーパス、画像またはビデオ集合、意味データベースなど）の大規模コーパスを調査することもできる。これらのメカニズムは、新しいフレームの直接的な知識を得るために、これらに限定されないが、統計的に意味のあるフレームを抽出するための、統計的に監視された、半監視された、監視されていない機械学習およびデータマイニング技法と、すでに記憶されているフレームから演繹的または仮説的プロセスを介して新しいフレームを生成するための論理的および確率論的推論と、対話エンジンを通じたユーザとの対話とを含む。誘発されたフレームの有用性は、特定の個々のテキストを予測する能力によって評価されることができる。
【０１５７】
図１２は、ストーリーに対するより深い理解のために意味情報を推論するために知識統合エンジン１３６によって実行される例示的なプロセス１２００を示す。プロセス１２００は、図１、図４、図５、および図９のシステムアーキテクチャ１００および知識統合エンジン１３６を参照して説明される。１２０２において、構文解析およびＰＡＳ注釈を有する言語構造を含む言語解析結果が受信される。図４を参照すると、言語解析結果は、ストーリー解析エンジン１３４から受信されることができる。
【０１５８】
１２０４において、フレーム推論は、言語構造を、より高いレベルの解釈を提供する１つまたは複数の意味構造に変換することによって行われる。１つの手法では、推論演算は、動作１２０４（１）〜（２）によって表現される複数のサブ演算を含む。
【０１５９】
１２０４（１）において、生成的意味素構造のインスタンスは、テキストが意味するものの第１のより高いレベルの解釈を提供するように形成される。この形成の一部として、１つまたは複数の既存の、インスタンス化されていないＧＳＰ構造が、１２０４（１）（Ａ）においてそのような構造のライブラリから識別されることができる。インスタンス化されていないＧＳＰ構造は、現在の世界モデル１３８に記憶され、構造が言語構造内の単語／語句に関連する確率に基づいて識別されることができる。複数のインスタンス化されていないＧＳＰ構造は、原形がテキストの可能性のある意味を表現するのに十分な確率を示す場合に選択されることができる。選択プロセスを助けるために、確率があらかじめ定められたしきい値と比較されることができる。１２０４（１）（Ｂ）において、選択されたＧＳＰ構造は、言語解析結果からのデータでインスタンス化される。インスタンス化された後で、これらのＧＳＰ構造物インスタンスは、事実と推論の間の論理的接続を提供する、より堅牢な意味の範囲を提供する。
【０１６０】
１２０４（２）において、フレーム推論動作は、テキストが意味するものの第２のより高いレベルの解釈を提供するために、フレーム構造を形成することをさらに含む。１２０４（２）（Ａ）において、テキストのテーマまたはエピソード的な信念を表す１つまたは複数のインスタンス化されていないフレーム構造が、そのような構造のライブラリから識別されることができる。インスタンス化されていないフレーム構造は、現在の世界モデル１３８に記憶され、そのような構造が言語構造内の単語／語句との関連を示す確率に基づいて選択されることができる。複数のインスタンス化されていないフレーム構造は、フレームがテキストを理解するための関連するテーマ（たとえば、ベンとアバのストーリーを理解するためのレストランまたはホテルのフレーム）を表現するのに十分な確率を示す場合に識別されることができる。
【０１６１】
１つの手法では、フレーム選択動作１２０４（２）（Ａ）は、どのフレームを所与のテキスト／ストーリーに適用するかを決定する際に助けるために、追加のフレーム仮説形成プロセスを含むことができる。このサブプロセスは、図９および図１１に関して先に説明したフレームアラインメントプロセスを含むだけでなく、以前の状況においてフレームを適用することによって生じるより多くの推論および新しい推論を導出する演繹プロセスをさらに含むことができる。以前の状況において適用されたフレームは、事前の背景知識を考慮して、アラインメントおよび推論がどれだけ良好に適合するかを評価するために、互換性／一貫性について検討および解析されることができる。
【０１６２】
１２０４（２）（Ｂ）において、選択されたフレーム構造は、ＧＳＰ構造インスタンスの集合でインスタンス化されるか、または構築される。図９に示されるように、たとえば、レストランフレーム構造は、ベンとアバのストーリー１０６の７つの文から形成されたＧＳＰ構造インスタンス９１６（１）〜（７）でインスタンス化される。構築された後で、フレーム構造はテキストのより完全な理解を提供する。
【０１６３】
１２０６において、意味構造（すなわち、ＧＳＰ構造およびフレーム構造）が、ストーリーモデルの現在の表現とのそれらの可能なアラインメントについて評価される。評価には、フレームとＧＳＰ構造がストーリーとどれほど密接にアラインメントするかを示すスコアの計算を含むことができる。
【０１６４】
１２０８において、信念上の共同分散が計算される。一実装形態では、共同推論エンジン４０６は、各信念の限界確率を計算し、これはストーリーモデルを構築し、進展させるために使用される。共同推論エンジン４０６は、その時点で知られているすべての信念に基づいて考えられる信念の条件付確率を生成するように構成されることができる。
【０１６５】
１２１０においてストーリーを表現するために最も適切なフレームおよびＧＳＰが選択され、ストーリーモデルが更新される。現在の世界モデルはまた、フレーム推論プロセスから学習した任意の情報で更新されることができる。
【０１６６】
説明のための知識誘導エンジン
図１３は、知識誘導エンジン１４０の例示的な実装形態を示し、テキスト文字列またはストーリーに関する意味情報を推論する際に、知識統合エンジン１３６および対話エンジン１４２を援助する選択構成要素を示す。知識誘導エンジン１４０は、他の構成要素による容易なアクセスのために、誘導された知識リソースリポジトリ４１２に記憶されることができるリソースを生成するために、オフラインで、学習および理解モジュール１３０内の他の構成要素からまたは独立して実行されるように実装されることができる。
【０１６７】
物語は暗黙的である。情報は述べられないままであり、仮定され、曖昧である。コンピュータシステムは、暗黙の主体、動作、関係を予測し、さもなければ、それは言語を理解する際に苦労することになる。知識誘導エンジン１４０は、作成者が既存のリソースからストーリーにおいて暗黙的および述べられないままに残している場合がある知識を認識または予測し、知識統合エンジン１３６および対話エンジン１４２などの他のシステム構成要素にサービスを提供するのに役立つ構成要素のセットを有する。知識誘導エンジン１４０は、これらのギャップを埋めようとするので、知識統合エンジン１３６は、より良い知識モデルを形成することができ、対話エンジン１４２は、人間の学生または協力者にとってよりインテリジェントな質問を明瞭にすることができる。たとえば、ストーリーが「学生は、彼が大学に来た理由を得た」と言うとき、知識誘導エンジン１４０は、その文は学生が学位を取得したことを意味するのか、コースの認定を受けたのか、あるいは学生が教育されたのかを予測するための代替の意味を見つける。これらの選択肢の各々は、ストーリーのより広い文脈の範囲内で、各選択肢が、どれくらい可能性が高いかの確率値が付随されることがある。
【０１６８】
高いレベルでは、知識誘導エンジンは、知識蓄積構成要素１３０２および知識誘導サービスエンジン１３０４を含む。知識蓄積構成要素１３０２は、既存の知識（たとえば、テキスト、画像、オーディオなどの非構造化されたデータ、および知識ベース、既存の論理などの構造化されたデータ）を統合すること、対話を通じて知識を蓄積すること、テンソル分解のような技法を用いた自動知識ベース完了、および知識誘導サービスエンジン１３０４内の構成要素を使用してデータから知識をマイニングすることを含む、様々な方法でデータ（ラベル付けされたものとラベル付けされていないもの）を蓄積する。知識蓄積構成要素１３０２は、データを処理し、導出されたリソースのセット、すなわち、誘導された知識リソース４１２を生成し、誘導された知識リソース４１２は、データによって暗示された情報または潜在的な情報をキャプチャする。
【０１６９】
知識統合エンジン１３６および対話エンジン１４２からの要求は、要求された知識が利用可能であれば、誘導された知識リソース４１２および知識蓄積構成要素１３０２によってサービスされる。利用可能ではない場合、知識誘導サービスエンジン１３０４が、オンザフライで所望の知識を生成するために呼び出される。サービスは、これに限定されないが、以下に説明されるモジュール１３０６〜１３３０を含む多数のモジュールを含む。
【０１７０】
知識誘導エンジン１４０の１つの構成要素は、語義曖昧性を解消するために実行されることができる語義曖昧性解消器（word sense disambiguator）１３０６である。文、節、または他のテキスト文字列が与えられると、語義曖昧性解消器１３０６は、名詞、動詞、形容詞、副詞、および前置詞の意味を識別する。たとえば、名詞の場合、語義曖昧性解消器１３０６は、フォーマルダンスまたはスポーツ用具のいずれかの「ボール」という単語、または飛ぶ哺乳動物またはスポーツ用具の別の部分としての「バット」という単語を区別することができる。語義曖昧性解消器１３０６は、たとえば、訓練データ、大きいテキストコーパス４１０中の曖昧な語義、および大きいテキストコーパス４１０上で実行中のアルゴリズムから導出されたサンプル語義を含む、様々な方法でコンパイルされた意味注釈付きリソースを使用することができる。他の実装形態では、語義曖昧性解消器１３０６は、名詞、動詞、形容詞、副詞、または公に利用可能な前置詞意味目録のためのＷｏｒｄＮｅｔなどの既存の第三者の意味目録にさらにアクセスすることができる。
【０１７１】
一実装形態では、語義曖昧性解消器１３０６は、ベクトル計算機１３０８および意味計算機１３１０を含むプログラム的ソフトウェアモジュールとして具体化される。ベクトル計算機１３０８は、意味定義内の構文トークンごとに異なるベクトル表現を生成し、センスベクトルを生成するためにベクトルを合計する。ベクトル計算機１３０８は、単語／語句を文脈として扱わずに文を処理し、縮小された文を構文解析し、構文トークンからベクトル表現を生成することによって、単語／語句の文脈ベクトルをさらに計算する。一実施形態では、トークン（単語ではなく）上で動作する単語埋め込みなどの、構文トークンごとのベクトルを作成するために埋め込みアルゴリズムが使用される。
【０１７２】
意味計算機１３１０は、大規模言語コーパス４１０などの訓練データにおいて見出されるような周波数情報から意味ごとに事前に推定するために提供される。意味計算機１３１０は、意味ベクトル、文脈ベクトル、および事前の関数として単語／語句の意味を導出する。一実装形態では、意味計算機１３１０は、意味ベクトルおよび文脈ベクトルに対してコサイン類似関数を適用し、意味ベクトル、文脈ベクトル、および事前の３つの入力の各々に重み付けすることができる。
【０１７３】
知識誘導サービスエンジン１３０４は、文またはテキスト文字列中の言い換えを見つけて認識するための言い換え検出器１３１２をさらに含むことができる。単語または語句の言い換えは、別の言葉または語句であり、異なる形で書かれているが、おおまかに同じ意味を有する。たとえば、「群衆が沸き立った」という語句は、「スタンドにおける拍手」という別の語句とほぼ同じである。言い換え検出器１３０８は、類似の語句を認識するために、大規模言語コーパス４１０および他のソースからの背景知識を使用する。
【０１７４】
知識誘導サービスエンジン１３０４の別の構成要素は、単語または語句の関係を検出するための関係検出器１３１４である。関係検出器１３１４は、関係を有するかもしれない単語／語句を予測するために、コーパス４１０のようなタグ付けされたリソースからの背景知識を利用する。一例では、「ガソリン価格が下落し続ける」という語句おいて、「下降し続ける」という語句は、量を減少させる関係を有する。
【０１７５】
テキスト含意検出器１３１６は、１つのテキストの部分が別のテキストを含意するか否かを決定するために、知識誘導サービスエンジン１３０４として実装されることもできる。エンティティ検出器１３１８は、単語のタイプを分類するために含まれることができる。欠落しているテキスト生成器１３２０は、ストーリーにおいて暗示されているが明確には言及されていないテキストを識別して作成する。テキスト埋め込み器１３２２は、単語／文／記事をベクトルに変換するために使用されることができる別のサービスである。ルールマイニングツール１３２４は、テキストから推論ルールを学習するサービスである。一実装形態では、ルールマイニングツール１３２４は、テキスト命題のみを含むルール、ＧＳＰのみを含むルール、２つを混合するルール（すなわち、言語から知識へのマッピングルール）などの異なるタイプの推論ルールをマイニングする。例示的な実装形態（頻繁なサブグラフマイニング手法に基づく）は、大規模言語コーパスから頻繁に共起するステートメントのセットを取り、インスタンスをタイプに一般化し（たとえば、語義曖昧性解消を使用して）、一般化されたテキスト命題を使用して潜在的な推論ルール候補を作成し、人間のユーザとの対話によって検証する。テキストマッチャ１３２６は、２つのテキスト部分を一致させるために使用されることができるサービスである。
【０１７６】
知識誘導サービスエンジン１３０４は、どのタイプのシーンがテキストから推定されることができるかを予測するために、シーン解析器１３２８をさらに含むことができる。シーン解析器１３２８は、特定のシーンの下で最も人気のある語句を識別するために、知られているコーパス４１０および他のソースを調査する。一例として、「私は食べ物を注文してからコーヒーを飲んだ」というテキストがあるとする。シーン解析器１３２８は、「食ベ物」、「コーヒー」、「注文した」「食べ物を注文した」、および「コーヒーを飲んだ」などの単語／語句を含むシーンを検出するために、背景知識ソースを調査することができる。この例では、シーン解析器１３２８は、「コーヒーハウス」、「ダイナー」、「売店」、「ナイトクラブ」、「ベランダ」、「カフェ」、および「パティオ」などの可能性のあるシーンのランク付けされたリストを返すことができる。
【０１７７】
知識誘導サービスエンジン１３０４は、背景知識から将来の意味素を予測するために、コーパス４１０および他のソース（たとえば、ウィキペディアのような非制約ソース）を訓練する、背景に基づいたコーパスベースの推論モジュール１３３０をさらに有する。議論の目的のための一例として、推論モジュール１３３０は、コーパス４１０内の主語−動詞−目的語（または、ＰＡＳ）の組合せを調べ、どのような他の組合せがターゲットの組合せに最も密接に類似しているかを調査する。類似性は、テキスト内の密接性の関連性または可能性を計算するアルゴリズムをスコアリングすることなど、様々な方法で決定されることができる。たとえば、主語−動詞構造が「デイブが食べ物を食べる」を含むと仮定する。他の結果は、ランク付けされた順序で、「デイブは体重が増えた」（４点）、「デイブは体重が減った」（３点）、「デイブは批判を受ける」（３点）、「デイブは減量した」（２．５点）、「デイブはワインを飲む」（２．５点）、「デイブは緊張を乗り越える」（２．５点）を含むことができる。もう一つの例として、主語−動詞構造は「私は自動車を購入する」を含んでいたと仮定する。他の結果は、ランク付けされた順序で、「私はドルを与える」（６点）、「私は車の購入を繰り返す」（６点）、「私は手付金を払う」（６点）、私は証拠を払う」（５点）、および「私は車を取る」（４．５点）を含むことができる。
【０１７８】
知識誘導エンジン１４０では、知識は知識蓄積構成要素１３０２の一部として知識テンソル１３３２に記憶される。テンソルは多次元キューブである。次元は、１つまたは複数のエンティティ次元、１つまたは複数の関係次元、１つまたは複数のフレーム次元、１つまたは複数の時間次元、１つまたは複数の空間次元、および１つまたは複数のシーン次元を含む（これに限定されない）。知識蓄積構成要素１３０２は、知識テンソル１３３２を定義し、それをポピュレートする知識取得および人口モジュール１３３４をさらに含む。図１３においては、２つの軸に沿って表現された２つのエンティティ次元（たとえば、共通名詞、意味タイプなど）、および第３の軸に沿った１つの関係次元（たとえば、共通動詞）を有する、３次元キューブテンソル１３３６が示されている。キューブテンソル１３３６内の点は、所与の関係が２つのエンティティ間で保持する可能性を含む。この例では、あるエンティティが犬であり、もう１つのエンティティがリスであると仮定する。ここで、「追う」という動詞によって表される関係を表現するテンソルが、これら２つのエンティティに適用されると仮定する。リスを追う犬の結果は、高い確率をもたらす可能性が高い。逆に、テンソルが「従う」という動詞によって表される関係を表現し、その結果は、犬がリスに従うであると仮定する。これは依然として可能な結果であるが、犬が実際にリスに従っている間、犬は実際にはリスを捕まえる意図でリスを追っているため、「追う」よりも低い確率で評価される。
【０１７９】
一実装形態では、知識誘導エンジン１４０は、利用可能なすべての知識を含むための１つのテンソルと、個々のアプリケーションをカバーするためのアプリケーション指向テンソルのセットとを含む。
【０１８０】
１つの手法では、大量のテキストデータから可能性の高い常識的知識を検索するために、テンソルが使用されることができる。「学生が稼ぐ．．．」という語句においては、テンソルクエリツールは、「クレジット」、「度」などのテキストからいくつかの共通の候補を識別することができる。「プレイヤが稼ぐ．．．」という語句においては、テンソルクエリツールは、「ポイント」、「お金」などのテキストから他の共通の候補を識別することができる。これらの候補が見つかると、用語および用語のペアの類似性が計算されることができ、各用語がテンソル内のスライスとして表され、各用語のペアがテンソル内の列として表現される。関連付けられた推論確率を有する候補のランク付けされたリストは、ストーリーモデル１３２を現在の世界モデル１３８とアラインメントするのを助けるために、知識統合エンジン１３６によるクエリのために誘導された知識リソースリポジトリ４１２に記憶されることができる。
【０１８１】
図１４は、知識統合エンジン１３６によって行われる意味推論を援助するために、ストーリー内の単語／語句の意味および関係のための有力な候補を提供するために知識誘導エンジン１４０によって実行されるプロセス１４００を示す。プロセス１４００は、図１、図４、図５、および図１３のシステムアーキテクチャ１００および知識誘導エンジン１４０を参照して説明される。１４０２において、ストーリー（または、テキスト文字列）において見られる単語／語句を解析するためのクエリが受信される。アーキテクチャ１００において、知識統合エンジン１３６は、意味的に処理された、または意味的に処理されるストーリーにおいて提供された単語のクエリを提出することができる。クエリは、単語または語句、単語／語句のトークン化バージョン、または単語／語句の他の表現を含むことができる。
【０１８２】
１４０４において、単語／語句の可能な解釈を推論するために、クエリにおいて受信された単語／語句に対していくつかの解析が実行されることができる。これらの動作はオフラインで実行されることができるため、特定の語句の解析はすでに実行されており、結果は容易にアクセスできるように記憶されている可能性がある。他の状況では、解析は、オンザフライで、またはできるだけ早く実行されることができる。様々な形態の解析は、説明のための動作１４０６、１４０８、および１４１０によって表現される。
【０１８３】
１４０６において、可能な意味を決定するために単語／語句に対して語義解析が実行される。単語／語句ごとに、意味定義を使用して異なるベクトル表現が作成され、可能な意味がそれらのベクトル表現の関数として計算される。より具体的には、語義解析１４０６の一実装形態が、動作１４０６（１）〜（４）として示されている。１４０６（１）において、単語／語句ごとに意味ベクトルが作成される。意味ベクトルは、各意味定義の構文トークンを生成するために、最初に単語／語句に対応する意味定義を構文解析することによって計算される。これらの意味定義は、コーパス４１０または誘導された知識リソース４１２の一部であってよいルールまたは定義データストアにおいて維持されることができる。その後、対応するベクトルを生成するために、意味定義ごとのトークンがアルゴリズム的に処理され、意味ベクトルを生成するためにこれらのベクトルが加算される。
【０１８４】
１４０６（２）において、意味ごとに事前に推定される。事前を推定するために、大規模言語コーパス４１０などの訓練データからの頻度情報が使用されることができる。１４０６（３）において、単語／語句ごとに文脈ベクトルが作成される。１つの手法では、文脈は、ホスト文から単語／位相を除去し、次いで単語／語句なしで文を構文的に解析することによって形成される。構文解析は、たとえば、埋め込み関数を使用して文脈ベクトルに変換される。１４０６（４）において、単語／語句に対する意味が、意味ベクトル、文脈ベクトル、および事前の関数として導出される。一実装形態では、コサイン類似関数が意味ベクトルおよび文脈ベクトルに適用されることができる。これらの３つの入力にさらに重み付けが適用されることができる。重み付けは、ロジスティック回帰などの教師付き学習アルゴリズムを使用して学習されることができる。
【０１８５】
１４０８において、言い換え、関係、および／またはエンティティタイプを検出するために、クエリ内の単語／語句が解析される。大規模コーパス４１０または他のソースなどのタグ付けされたリソースからの背景知識は、解析中の単語／語句に適用することができる１つまたは複数の言い換え、関係、および／またはエンティティタイプを識別するために検査されることができる。１４１０において、テキスト含意検出、欠落しているテキスト生成、シーン解析、テキスト埋め込み、テキストマッチャなどの１つまたは複数の他のサービスが実行されることができる。
【０１８６】
１４１２において、意味素は、大規模言語コーパスなどの背景知識ソースから予測される。背景プロセスとして、誘導エンジン１４０は、他のどのような組合せが関係しているかに関して、様々な主語−動詞−目的語（またはＰＡＳ）の組合せを調べるために、コーパスを解析することができる。関連性の値は、これらの組合せが大規模コーパスにおいてどのように関連する傾向があるかに基づいて計算されることができる。１４１４において、１４０４における解析を通じて他の方法で生成されなかった程度まで、解析によって発見された複数の解釈候補をランク付けするために役立つ確率が計算される。確率は、意味レベルおよびフレームレベルの理解を推論する際に適切な解釈を選択するために、クエリに応答して返され、知識統合エンジン１３６によって使用されることができる。
【０１８７】
１４１８において、知識リソースのセットを生成するために、知識が蓄積される。関連付けられる確率を有するこれらのリソースのうちのいくつかは、システム内の他のモジュールによって容易に消費されることができるフォーマットまたは構造である。１つの手法では、３次元テンソル構造が使用される。テンソル構造では、異なる要素または値を使用して、３つのパラメータ（たとえば、２つのエンティティおよび１つの動作、１つのエンティティ、１つの事柄、１つの場所など）が評価されることができ、それらの反復ごとに確率が計算されることができる。上記の例で述べたように、犬（第１のエンティティ）とリス（第２のエンティティ）を含むストーリーが、おそらく「犬がリスに従う」よりも、「犬がリスを追う」としてそれらの間の関係を表す高い確率を有することを発見するために、２つのエンティティと１つの動作関係を有するテンソルが使用されることができる。
【０１８８】
１４２０において、リソースは、誘導された知識リソースリポジトリ４１２などのアクセス可能なデータストアに記憶される。
【０１８９】
説明のためのフレームワーク
図１５は、信念表現および推論フレームワーク１４４の例示的な実装形態を示し、これは、知識表現言語ならびに文脈差別化および意味素の推論および学習メカニズムなどの、システム全体で使用される基本的な構成要素のセットである。フレームワーク１４４は、システムが時間の経過とともに確率的命題（または、「信念」）を記憶、索引付け、検索、ナビゲート、および操作することを可能にする。
【０１９０】
一般に、フレームワーク１４４は、信念管理システム１５０２と、知識データベース１５０４と、知識表現（ＫＲ）言語定義モジュール１５０６とを有する。信念管理システム１５０２は、ＫＲ言語定義モジュール１５０６に従って表現される命題（または、「信念」）を記憶および問い合わせるためのソフトウェアベースの機能の集合である。知識データベース１５０４は、知識および推論をデータとして扱い、これらをオントロジ的に独立した単純で高速なデータ構造として公開する、特徴ストア、グラフデータベース、知識ベースなどである。一実装形態では、知識データベース１５０４は、高速のＪａｖａ仮想マシンベースのメモリ内概念データベースとして具体化される。
【０１９１】
ＫＲ言語定義モジュール１５０６は、共通の構文、最小の意味論、命題間の関連の程度、および共通の命題のタイプに対する共通の意味論的モジュールを含む、エンティティおよび命題を表現するための定義された言語のルールを維持する。ＫＲ言語は、コア表現言語１５０８と共通意味論的モジュール１５１０の２つの部分からなる。コア表現言語１５０８は、エンティティおよび命題をどのように表現するか、ならびに命題間の関連の程度について、構文および最小限の意味論を定義する。共通意味論的モジュール１５１０は、頻繁なタスクに使用されるタイプの命題である。一実装形態では、共通意味論的モジュール１５１０は以下を備えることができる。
・論理演算子：および、または、非、暗示する、ｉｆｆ。
・記述と役割：エンティティは、他のエンティティ（インスタンス）を包含する記述（クラス）の役割を果たすことができる。ＫＲ言語における任意の述語について、役割が宣言されることができ、役割を満たす概念の予想されるクラスに関する情報が提供される。
・名前：任意の概念は名前を有することができる。
・集合：エンティティは、他のエンティティの集合を表現することができる。これは、物の任意の集合（拡張子）と、メンバーを説明する記述（意図）との間に対応があるという点で、説明に関連する。
・不確実性：命題が真である関連する確率を測定する。
・時間：命題が真であると評価される指標。
・信念：動作主が何の命題を、およびいつ信じているかの表現。
【０１９２】
説明のための対話エンジン
図１６は、対話エンジン１４２の例示的な実装形態を示し、ストーリーに対するシステムの現在の理解に挑戦および／または確認するためのユーザ質問を生成し、システムの理解を修正するために意味構造およびフレームにおいて実装される解釈を改訂および拡張するためのユーザ応答を受信するために使用されることができる選択構成要素を示す。対話システム１４２は、コンピュータシステム１０２が、個々の人間のユーザとの拡張された対話を行うことを可能にする。各対話セッションは、１人のユーザのみを含むシリアル線形対話として、または質問を複数の人間のユーザに並行して分散させるための分散された方式で実行されることができる。分散された対話は、異なるユーザに質問するために対話セッションの内容を逆構成し、線形対話と本質的に同じまたは同様の学習結果を達成するために結果を再構成する、柔軟な対話管理を適用する。分散された対話セッションにより、コンピュータシステム１０２が、質問の認知的負荷を管理することによって、多数のユーザにわたって拡張し、それによって複数のユーザとの並列化された対話を通じて学習プロセスの待ち時間を短縮することが可能になる。
【０１９３】
共同学習プロセスにおける対話の相互作用は、２つの目的のうちの１つに役立つ場合がある。第１はシステム学習をサポートすることであり、第２はユーザ学習をサポートすることである。最初のケースでは、システムが十分に自信を持ってストーリーをＧＳＰに適切にマッピングしない場合や、ストーリーを完全に理解するために必要な推論を作成できない場合がある。これらの場合、システムは、タスクを達成するために、欠落している情報を要請するようユーザに質問をする。この学習プロセスを通じて、システムは、知識の将来の適用における正確性を保証するために、学習したことを一般化、専門化、または確認するために、追加の徹底的な質問をすることができる。システム学習戦略の例は、要請、確認、一般化／専門化を含む。要請は、対話エンジンがユーザにシステムの理解を完了させるためにギャップを埋めるように求める戦略である。たとえば、システムは「ストーリーは「ベンがアバをテーブルに案内しました」と言っている。この文脈において「案内する」が何を意味するのか説明できますか？」と尋ねることができる。この場合、有益なユーザは、「それは、「ベンがアバをテーブルに案内しました」という意味です」など、システムの理解を助けるために文をより単純な用語に言い換えることができる。
【０１９４】
確認は、システムの信頼性が低いストーリーについて行われた解釈／推論を確認または検証するための戦略である。たとえば、システムは、「「ベンがアバをテーブルに案内しました」は、「ベンとアバが歩いていき、次いで、両者はテーブルの近くにいます」を意味します。それは正しいですか？」という質問をすることができ、または、ベンとアバのストーリーにおいて、システムは「私はアバが請求書を支払ったと思います。それは正しいですか？」などの推論された動作を確認することができる。一般化／専門化は、システムがいくつかの新しい情報を学習した後、システムの理解を高めるために、追加の徹底的な質問をすることを試みる戦略である。たとえば、システムは「アバは顧客であるため、請求書を支払ったのですか？」（はい）「顧客はいつもスパゲッティを食べますか？」（いいえ）「顧客はいつも食べ物を食べますか？」（レストランにおいて、はい）「顧客はいつも請求書を支払うのですか？」（はい）と尋ねることができる。一般化および専門化から得られたこの追加知識は、システムが将来的に適切な環境において知識を適用するのに役立つ。
【０１９５】
ユーザの学習をサポートする場合、システムの役割は、ユーザがストーリーまたはその理由をより良く理解するのに役立つ質問をすることである。システムがここで尋ねる質問のいくつかは、以前に議論されたものと類似している場合があり、主な違いは、今はシステムがそれらの質問に対する答えを知っていることである点に留意されたい。ユーザ学習のためのいくつかの例示的な戦略は、比較／区別、一般化／専門化、および推論を含む。システムは、ユーザの能力に対するその読取り能力に応じて、これらの２つの動作モードの間を自動的に切り替えることができる。
【０１９６】
比較／区別において、対話エンジンは、ユーザが同様のケースを区別するのに役立つ質問をする。たとえば、システムは「「ベンがアバをテーブルに案内しました」は、「ベンとアバはテーブルまで歩いた」を意味します。「ベンがアバにテーブルを見せた」は何を意味するか教えてくれませんか？」と尋ねることがある。一般化／専門化では、システムは、ユーザが知識を一般化／専門化するのに役立つ質問をする。たとえば、システムは「ストーリーにおいて言及されていないレストランでは、顧客は他に何をするのですか？」、または「すべてのレストランにウェイターがいますか？」と尋ねることができる。推論戦略の場合、システムは、ユーザがストーリーにおいて暗黙である推論を行うのを助けるために質問をすることができる。たとえば、「アバが請求書を支払って、ベンを高額のチップを渡した」と読んだ後、システムは「アバは、ウェイターとしてのベンのサービスに満足していると思いますか、それはなぜですか？」と尋ねることができる。
【０１９７】
再び図１６を参照すると、対話エンジン１４２は、ストーリーモデル１３２と現在の世界モデル１３８との間のギャップを埋めるために、知識統合エンジン１３６から要求１６０２を受信する。要求は、解決されるべきギャップ、確認されるべき信頼性の低い解釈、またはシステムが現在のストーリーをより良く理解するのを助けることができる他の側面に関する情報を含むことができる。特定の語義に関する質問がある場合、たとえば、その要求は、単語、その単語を含む文、その単語が有することができる複数の意味、それらの意味が文中で正しい選択肢である確率、ストーリーアイデンティティなどを含むことができる。ベンとアバのストーリー１０６における、「ベンがアバに食べ物を持ってきました」という文を考察する。知識統合エンジン１３６が、「持ってきた」という単語、またはその原形の「持ってくる」という単語に対してどの語義が最も適切なものであるかについて、より多くのことを学習したいと仮定する。要求１６０２は、完全な文、「持ってくる」という単語、「持ってくる」の様々な意味などを含むことができる。
【０１９８】
知識統合エンジン１３６から要求が受信されると、対話エンジン１４２は、学生１１０および彼／彼女のデバイス１１８と、彼／彼女のデバイス１１４を有する協力者によって表現されるように、人間のユーザとの１つまたは複数の対話セッション１６０４を開始する。対話セッション１６０４の間に、対話エンジン１４２は、人間のユーザによる考察および入力のためにユーザデバイスへの質問を生成し、送信し、人間のユーザによってユーザデバイスに入力された応答を受信し処理する。
【０１９９】
図１６に示されるように、対話エンジン１４２は、ストーリーモデル１３２と現在の世界モデル１３８との試行されたアラインメントに基づいて質問を作成し、それらの回答を取得するために１人または複数の人間のユーザと対話する、実行可能な構成要素のセットである。ユーザの質問は、システムが現在のストーリーモデル１３２に十分な信頼性を有しておらず、ストーリーモデル１３２を現在の世界モデル１３８に確実にアラインメントすることがまだできない場合に発生するギャップを埋めるまたは解消するように定式化されるか、知識の将来の適用を容易にするために新しい情報を一般化／専門化しようとする。対話エンジン１４２は、読解力の質問をさらに利用し、および／または、ストーリーに対する新しい質問を生成することができ、そのような質問は、システムの現在のストーリーモデルと現在の世界モデルとの間のギャップが、その文脈でのストーリーを完全に理解するには不十分であることを識別するために役立つ。
【０２００】
対話エンジン１４２は、対話セッション１６０４の間に人間のユーザに提示される質問を定式化するためにユーザ質問生成器１６０６を有する。ユーザ質問生成器１６０６は、知識統合エンジン１３６から要求１６０２などの要求を受信し、要求に関連する情報を発見するための質問を作成する。一実装形態では、ユーザ質問生成器１６０６は、自然言語生成エンジン１６０７という依存構造ビルダ１６０８とを有する。自然言語生成エンジン１６０７は、自然言語でのストーリーモデルおよび現在の世界モデルから信念をレンダリングするために使用される。自然言語生成エンジン１６０７は、知識のないユーザが理解できる自然言語を生成するために、構文情報、ＧＳＰに関連付けられる自然言語テンプレート、および知識統合エンジン１３６からの背景コーパス情報を利用する。依存構造ビルダ１６０８は、要求１６０２のデータから依存構造１６１０を構築するために提供される。依存構造１６１０は、システムが、互いに独立しており、並行して追求されることができる対話の部分を決定することを可能にする方法で対話を表現するために使用されることができる。依存構造はまた、システムが、質問を解釈し回答するための対話コンテキストを推論することを可能にし、これは分散された対話設定において重要である。この構造では、ルートノードは親質問を表現し、ルートノードから分岐する各子ノードは、親質問に対する回答に基づく可能性のある補足質問を表現する。この表現を使用して、子ノードはそれらの親ノードに依存するが、兄弟ノードは互いに独立している。
【０２０１】
図示された例では、ルートノードは、要求１６０２において受信された「持ってくる」という語義（ＷＳ）の質問に関係する。このルートノードから、「取る」（すなわち、意味選択肢１：「何か、または誰かをどこかに連れて行く」）「させる」（すなわち、意味選択肢２：「特定の状態または状況に陥らせる」）、および「合法的」（すなわち、意味選択肢３：「合法的に提示または説明する」）を含む、要求において受信される３つの意味のための３つの子ノードが示される。したがって、依存構造１６１０の根本的な質問（ＲＱ）は、単純に「ベンがアバに食べ物を持ってきました」という文において、「持ってくる」という単語のどの意味が最も可能性が高いかを尋ねることであることができる。その回答に応じて、質問Ｑ１〜Ｑ６として表現される補足質問は、人間のユーザが最初に選択する語義に応じて尋ねられることができる。ユーザが「取る」の選択肢を選択した場合、補足質問はＱｌとＱ２になり、動作の前の状態が何であったか、および動作の後の状態が何であるかに関する質問を含むことができる。
【０２０２】
図１７は、（図１６の構造１６１０のような）依存構造１７００の別の例をより詳細に示しているが、今回は、「大きな雨滴がクロエの顔に落ちました」という例文を使用している。この例では、依存構造１７００は、文中の「ｆｅｌｌ」という単語の意味などの、文自体についての質問をするように構築されている。親ノード１７０２は、文中の「ｆｅｌｌ」の原形として「ｆａｌｌ」という動詞を含む。関連付けられる語義は、親ノードから可能な分岐を形成する。第１の分岐１７０４は、「ｆａｌｌ」という単語の第１の意味に対応し、「重力の影響下で自由落下して降下する」ことを意味する。サンプル文の正しい語義を表現する第１の分岐１７０４は、自由落下の対応する語義に暗示される可能性のある事実または関係に関する質問を示唆する第１の子ノード１７０６につながる。ここで、第１の子ノード１７０６は、雨滴が落ちる前に起こったことについての質問をすることを示唆する（すなわち、尋ねる：前の状態−「落ちる前に雨滴はどこにあったか？」）、ならびに、雨滴が落ちた後に起こったことについての質問（すなわち、尋ねる：後の状態−「落ちた後の雨滴はどこにあったか？」）。
【０２０３】
第２の分岐１７０８は、「敗北する」という意味を有する「ｆａｌｌ」という単語の第２の意味に対応する。この分岐１７０８は、敗北の対応する語義に暗示される可能性のある事実または関係に関係する質問を示唆する第２の子ノード１７１０につながる。第２の子ノード１７１０は、「誰が敗北したか？」（すなわち、質問：誰が）、および「どのように彼らは敗北したか？」（すなわち、質問：方法）のような質問を尋ねることを示唆する場合がある。第３の分岐１７１２は、「ｆａｌｌ」という単語の第３の意味に対応し、「分類される、または含まれる」ことを意味する。第３の子ノード１７１４は、第３の分岐１７１２を終了させ、「どの目的語が分類されているか」（すなわち、質問：目的語）、および「クラスは何ですか？」（すなわち、質問：クラス）などの、分類に関連する補足質問を尋ねることを示唆する。第４の分岐１７１６は、「指定された時間または場所で発生する」ことを意味する「ｆａｌｌ」という単語の第４の意味に対応する。この第４の分岐１７１６は、ある時間または場所で発生する対応する語義に暗示される可能性のある事実または関係に関する質問を示唆する第４の子ノード１７１８につながる。第４の子ノード１７１８は、「どのようなイベントが起こったか」（すなわち、質問：イベント）、または「いつ行われたか」（すなわち、質問：時間）、あるいは「どこで起こったか」（すなわち、質問：場所）のような質問をすることを示唆することができる。
【０２０４】
別のシナリオでは、ユーザに対するシステムの質問は、単一の文がどのように解釈されるべきかに直接関係しないが、むしろ文中で伝達される情報がシステムのストーリー全体の話の理解にどのように統合されるべきかに関連する場合がある。たとえば、この場合の親ノードは「クロエの場所」であり、対応する質問「クロエは屋内にいるか、屋外にいるか」を有することができる。ユーザが「屋内」を選択した後の質問は、「屋内で雨が降っているのはなぜですか？」（クロエはストーリーにおいて熱帯雨林にいる）であってよく、ユーザが「屋外」を選択したときは、「私は、ストーリーにおいては雨が降っていると思います。それは正しいですか？」であってよい。システムがストーリーから学習した情報の確認、要請、一般化、および専門化を試みるシナリオでも、同様に依存構造が構築されることができる。
【０２０５】
したがって、依存構造１７００は、知識統合エンジン１３６から受信した様々な要求ごとに構築されることができる。依存構造１７００は、探索される情報の一部であることが知られている様々な要素間の関係を提供し、それによって、対話エンジンが人間のユーザと関わるための適切な質問を定式化することが可能になる。
【０２０６】
再び図１６を参照すると、依存構造ビルダ１６０８によって構築された依存構造１６１０は、ユーザとの対話セッション１６０４のための構造を編成する質問待ち行列エンジン１６１２に提供される。質問待ち行列エンジン１６１２は、待ち行列に記憶された複数の依存構造１６１０（１）〜（Ｑ）を有するように示されており、各依存構造は、構造１６１０（１）内の質問Ｑ１〜Ｑｎおよび構造１６１０（Ｑ）内の質問Ｑ１〜Ｑｍによって表現されるように、その中に１つまたは複数の質問を有する。各依存構造は、１６０２などの要求の全部または一部を満たすために、ユーザから情報を要請するためのシステムの試みを表現する。質問は、ユーザに提示するために利用可能にされることができる順序付けられたリスト１６１４において維持されることができる。
【０２０７】
待ち行列エンジン１６１２は、順序付けられたリスト１６１４内の質問を、対話セッション１６０４の間に人間のユーザに提出するために、質問ディスパッチャ１６１６に提供する。セッション１６１４の間、質問ディスパッチャ１６１６は質問をユーザデバイス１１４／１１８に送信する。質問ディスパッチャ１６１６は、質問をリスト１６１４から線形交換において単一のユーザに、または並行した方法で複数のユーザのいずれかに、連続的に送る。質問ディスパッチャ１６１６は、単一のユーザとのセッションを容易にする線形ディスパッチャ１６１８を含む。一例として、線形ディスパッチャ１６１８は、ベンとアバのストーリーの内容に関して単一の協力者と関わることができる。線形ディスパッチャ１６１８は、依存構造１６１０のルートノードから導出された「持ってくる」という単語の意味に関する第１の質問を定式化することができる。質問は、以下のように、ユーザデバイスＵＩ上にディスパッチされ提示されることができる。
ここに私が理解しようとしている文があります：
ベンがアバに食べ物を持ってきました。
以下の選択肢のどれが、上記の文に最も類似して「持ってくる」という単語を使用していますか？
１．何か、または誰かをどこかに連れて行く。
２．特定の状態または状況に陥らせる。
３．合法的に提示または説明する。
これは、たとえば対話ＵＩ１２６として図１に示される。この初期質問の後、ユーザが選択肢１の回答を返すと仮定する。
【０２０８】
質問ディスパッチャ１６１６によってユーザから受信された応答は、どの補足質問をするべきかを解析するために待ち行列エンジン１６１２に返される。ユーザが、「持ってくる」という動詞のための選択肢（たとえば、「持ってくる」という動詞に対する語義「連れて行く」）を選択すると、待ち行列エンジン１６１２は、新しい質問を決定するために、その選択された選択肢の分岐に沿って適切な依存構造を検討する。次いで、ディスパッチャ１６１６がユーザに送出するために、新しい質問が対話リスト１６１４に追加される。ベンとアバのストーリーを続けると、同じ協力者に提示して返されるべき適切な後続の質問は次のようになる：
アバに持ってこられる前の食べ物はどこにありますか？
アバに持ってこられた後の食べ物はどこにありますか？
選択肢がされることができる場合には、これらの質問ごとに複数の選択肢回答が提供されてもよく、ユーザが単純に回答を追加するための自由な対話ボックスが提供されてもよい。１つの例示的なＵＩのセットが、図１９〜図２１を参照して以下により詳細に示され、説明される。
【０２０９】
質問ディスパッチャ１６１６は、代替で、分散されたディスパッチャ１６２０を通じて、質問を複数のユーザに並行して分散させることができる。分散されたディスパッチャ１６２０は、質問を分離して複数のユーザに並行して分散する。分散されたディスパッチャ１６２０は、同じ質問を複数の人に、または異なる質問を異なる人に尋ねることができる。分散された対話セッションの例は、図２２〜図２４を参照して以下でより詳細に提供される。
【０２１０】
図１７に示される「大きな雨滴がクロエの顔に落ちました」という文を用いた後続の質問の別の例は、たとえば、以下を含む：
対話エンジン：「大きな雨滴がクロエの顔に落ちました」における「ｆａｌｌ」の意味は何ですか？（複数の選択肢がある）
ユーザ：選択肢１−重力の影響を受けて降下する
対話エンジン：「ｆａｌｌ」の前の雨滴の状態は何ですか？
ユーザ：それは空にあります。
対話エンジン：「ｆａｌｌ」の後の雨滴の状態は何ですか？
ユーザ：それはクロエの顔の上にあります。
落ちる前後の雨滴の状態に関連する２つの後続の質問は、線形対話ディスパッチャ１６１８によって同じ人に線形にディスパッチされてもよく、分散された対話ディスパッチャ１６２０によって２人の異なる人々に並行してディスパッチされてもよい。
【０２１１】
質問ディスパッチャ１６１６はまた、ユーザからの応答を回答アグリゲータ１６２２に送信し、回答アグリゲータ１６２２は、対話セッション１６０４から返された質問／応答のペアから取得された情報を連続的に集める。質問／応答のペアは、尋ねられた質問と与えられた回答とを関連付けるデータ構造１６２４として記憶されることができる。図示された例では、データ構造１６０４は、質問／応答のペアを形成するために各質問１６２６を応答１６２８と関連付けることができ、質問／応答のペアはストーリーアイデンティティ１６３０にさらに関連付けられる。また、ユーザ参照アイデンティティ、日付／時刻スタンプ、使用される様式などの追加情報も記録されることができる。対話セッション１６０４が完了されると、質問／応答データ構造１６２４に組み込まれた集約された情報は、人間と対話することによって学習された結果に対応する。質問／応答データ構造１６２４は、現在の世界モデル１３８に統合され、ストーリーモデル１３２とさらにアラインメントするために、知識統合エンジン１３６に返される。
【０２１２】
対話システム１４２は、システムがより多くを学習するにつれて、複数の文または複数のストーリーにわたって働く質問をさらに構成することができる。たとえば、上記のクロエの例では、対話システム１４２は、「大きな雨滴がクロエの顔に落ちました」という文において使用されているように、「ｆａｌｌ」という単語の意味の周囲に質問の１つのセットを尋ねた。しかし、クロエについてのストーリーは、「クロエが滑って泥の中に落ちました」という別の文を有すると仮定する。知識統合エンジン１３６は、この文中の「ｆｅｌｌ」という語の使用を調べ、最初の文中の「ｆｅｌｌ」という語の使用と対照することを望む場合がある。この第２のクロエの文に対する依存構造が構成されることができ、対話エンジンが次のように連続する線形対話セッションにおいてユーザを関与させる質問をすることができる：
対話エンジン：「クロエが滑って泥の中に落ちました」における「ｆａｌｌ」は、「大きな雨滴がクロエの顔に落ちました」と同じように使用されていますか？
ユーザ：いいえ。
対話エンジン：「クロエが滑って泥の中に落ちました」における「ｆａｌｌ」の意味は何ですか？（複数の選択肢質問が提供される）
ユーザ：突然直立姿勢を失うことです。
対話エンジン：「ｆａｌｌ」の前のクロエの状態は何ですか？
ユーザ：彼女は直立していました。
対話エンジン：「ｆａｌｌ」の後のクロエの状態は何ですか？
ユーザ：彼女は地面の上におり、泥の中にいます。
【０２１３】
システムが学習し、知識統合エンジンが単語／語句、意味、およびフレーム間の関係をますます発見すると、対話エンジンへの要求はより複雑になる可能性がある。対話エンジン１４２は、次第により洗練された質問を作成するために、これらの要求を使用することができる。対話エンジン１４２は、語義、ならびに事実および関係を満たすこと以外に、ストーリーにおけるフレームの完全性を調査し始める質問をすることができる。
【０２１４】
したがって、一実装形態では、対話エンジン１４２は、単語およびフレーム意味表現を取得するための基本学習モードから、人間の学生とともにストーリーを読み、ストーリーの難しいパッセージに遭遇したときに質問をするインタラクティブモード、ならびにそれらの間の複雑性を伴う対話の他のモードに至るまでの複数の動作モードを有するシステム−イニシアチブ対話システムとして具体化されることができる。学習モードでは、知識統合エンジン１３６および対話エンジン１４２は、文中の個々の単語および基本的なフレーム表現の基本的な意味を学習するためにユーザを関与させる。これは、最も一般的に使用される単語、たとえば、６〜７才の文法の学生によって通常知られているトップ動詞および名詞などを学習することから始まる。これらの単語は、適切な語義が、それらの意味を有する単語が通常どのように文法的に振る舞うのかとともに学習されることを確実にするために、サンプル文脈の中で学習される。次いで、それらの目標単語に対する学習された意味表現は、目標単語に対する一般的な意味表現を生成し、次いで将来の文を解釈するための基礎となるために、一般化プロセスを経る。
【０２１５】
基本的なフレーム表現を発見するために、学習モードがさらに使用されることができる。これを行うために、対話エンジン１４２は、たとえそのような理解が明確に説明されていなくても、ユーザがストーリー内で起こっていることを理解する上での議論において人間のユーザを関与させる。対話エンジン１４２は、誰が関与しているか、どこでストーリーが起こっているか、ストーリー要素がどのように展開しているか、または振る舞っているか、いつストーリーが展開しているかなどの、ストーリーに関する一般的な質問を作成することができる。たとえば、ベンとアバのストーリーにおいて、対話エンジン１４２は、「このストーリーを読んだ後、ベンとアバがどこにいたかを言うことができますか？」のような質問を提起することができる。ユーザは、「レストラン」または「パブ」にいたと回答することができる。対話エンジンは、「レストラン（または、パブ）だったことをどうやって知ったのですか？」のような別の質問を構成するために、この応答を使用することができる。ユーザはさらに「ベンがアバをテーブルに案内し、彼女にメニューを与え、彼女に食べ物を持ってきたからです」と応答することができる。
【０２１６】
この人間の対話から、コンピューティングシステム１０２は、１人の人間が第２の人間をテーブルに案内し、第２の人間にメニューを与え、第２の人間に食べ物を持ってくるどうかを学習することができ、それは第１の人間と第２の人間がレストランにいる可能性が高いことを意味する。知識統合エンジン１３６は、フレーム表現を改訂および更新するために、この学習された情報を使用する。場合によっては、知識統合エンジン１３６は、エピソードに編成されグループ化されることができるフレームを構築することによって、抽象的なスクリプトまたはエピソード（たとえば、図１１におけるエピソード１１０２）を書くために、このユーザのフィードバックを利用することができる。１つの手法では、抽象的なフレームがすべての名詞に対して構築されることができ、次いで、複数のフレームがエピソード内で使用されることができる。
【０２１７】
フレーム意味論のためのより高いレベルの情報を引き出すように設計された、より一般的な質問を作成するもう一つの例として、図１においてストーリー１０６（Ｔ）として紹介されたエンツォとゾーイのストーリーを再度考慮する。ストーリーは次の通りである：
エンツォとゾーイは競走していました。エンツォが転びました。彼は膝に怪我をしました。ゾーイは振り返りました。彼女はほとんどゴールにいました。彼女は勝つことを望んでいました。彼女が走っていたら勝っていたでしょう。エンツォは彼女の友達です。ゾーイは止まりました。彼女はエンツォの元に走って戻りました。彼女は、彼が起き上がるのを助けました。「ありがとう」とエンツォが言いました。「どういたしまして」とゾーイが言いました。「私が転んだら、あなたに私を助けて欲しいです。私はあなたを助けることができてうれしいです。」
【０２１８】
このストーリーから、知識統合エンジン１３６は、一般に「競走」が何であるかについてもっと知るための要求をすることができる。要求において、知識統合エンジン１３６は、「競走」についての語義、「競走」という用語を使用する任意の意味構造およびフレームなどの、それが知っている限り多くの情報を提供することができる。そこから、対話エンジン１４２は、ユーザから知識を抽出するための１つまたは複数の質問のセットを生成する。たとえば、質問の１つの例示的なセットは、以下の質問Ｑ１、Ｑ２、およびＱ３を含むことができる。
Ｑ１：私は、このストーリーが競走について話していることはわかります。これらのうち、通常競走に関連するものはどれですか？
ａ．参加者
ｂ．競走の勝者
ｃ．競走の終了を示すゴール
これらの選択は、知識統合エンジン１３６からの要求において、他のストーリー、フレーム、コーポレート等における単語「競走」の他の使用から知られているものとして提供されることができる。
Ｑ２：ストーリーにおいて、誰がこれらのことを行っていますか？
ａ．参加者
ｂ．勝者
これらの選択は、タイプ情報および知識誘導エンジン１３８の誘導プロセスから生成されることができる。
Ｑ３：競走において、通常これらの動作のうちのどれが発生しますか？
ａ．参加者が競走する
ｂ．参加者が勝つことを望む
ｃ．参加者が転ぶ
ｄ．参加者がゴールすることで競走が終了する
これらの選択は、第２の質問Ｑ２回答する際にユーザによって提供された情報を使用することによって、または、大規模な背景コーパスから統計的な関連付けをマイニングすることによって、ストーリーにおける名前付きエンティティを、概念／役割に置き換えることによって生成されることができる。
【０２１９】
この対話に続いて、システムは、典型的な動作主およびそれに関連する動作などの、競走のフレームに関する新しい知識を有する。競走のフレームは完全ではない場合があるが、依然として有用である。競走のフレームは、システムが競走に言及した他のストーリーに遭遇すると、さらに構築され、満たされることができる。
【０２２０】
図１８は、意味構造およびフレームにおいて現時点で反映されているストーリーに対するコンピューティングシステムの現在の理解に挑戦するために人間のユーザに提出するための質問を生成するためのプロセス１８００を示す。プロセス１８００は、図１、図４、図５、および図１６のシステムアーキテクチャ１００および対話エンジン１４２を参照して説明される。上記のように、プロセス１８００は、ユーザデバイス１１４および１１８によって実行される動作とは別にシステム１０２によって実行される動作を概略的に示すために、２つの列において示される。
【０２２１】
１８０２において、上述のように質問の定式化をトリガすることができる情報を識別するために、知識統合エンジン１３６からの要求が受信される。これらの要素は、ストーリーモデルと現在の世界モデルとの間のギャップを埋めることと、現在の解釈に対するシステムの信頼性を改善することとを行うために使用されることができる欠落している情報を含むことができる。要求は、単語または意味構造に関する知られている情報または現在の仮定を提供するが、システムの現在の解釈を検証するためにユーザからのさらなる情報を求める。
【０２２２】
１８０４において、要求に関連する欠落している、または検証する情報を発見するために、１つまたは複数の質問が生成される。一実装形態では、１８０６において、質問の生成は、システムが質問を解釈して回答するための対話コンテキストを推論することを可能にする依存構造を構築することを含むことができる。依存構造は、対話エンジンがオープニング質問および後続の質問をするために論理的に構造を検討することを可能にするために、ルートノードと子ノードへの分岐とを有するツリータイプのデータ構造として具体化されることができる。そのような依存構造の１つが、図１７を参照して示され、説明される。１８０７において、自然言語生成エンジン１６０７は、ストーリーモデルおよび現在の世界モデルから信念をレンダリングするために、構文情報、ＧＳＰに関連付けられる自然言語テンプレート、および知識統合エンジンから渡された背景コーパス情報を使用する。このように、質問は、専門家以外のユーザが理解できる自然言語で形成される。
【０２２３】
１８０８において、依存構造によってサポートされている質問は、後でユーザに分散されるように待ち行列に入れられる。質問が規則的な方法で尋ねられ、回答が受信されるように、質問はリスト内でさらに優先順位をつけられることができ、特定の依存関係の質問が、もはや質問する必要がなくなったリストから削除されることができる。質問は、質問に対する回答を取得する有用性など、様々な指標に基づいてランク付けされることができる。質問に対する回答は、回答選択肢に対するシステムの信頼性などの様々な指標に基づいてランク付けすることもできる。
【０２２４】
１８１０において、コンピューティングシステム１０２からネットワークを介して質問をユーザデバイス１１４／１１８に送信することによって、１つまたは複数の質問がユーザに提起される。１８１２において、対話ＵＩなどにおいて質問がユーザに提示される。１８１４において、ユーザ入力が収集され、応答がユーザデバイスからコンピューティングシステム１０２に返される。
【０２２５】
１８１６において、応答は、次に質問される可能性のある質問を決定するために処理される。さらに、１８１８において、応答は集約され、現在の世界モデルを更新する際に使用するために知識統合エンジンに返される。
【０２２６】
別の実装形態では、どのインスタンス化されたＧＳＰ構造およびフレーム構造がストーリーモデル１３２に追加されるべきか、または現在の世界モデル１３８への更新とするべきかを決定するために、対話手法が使用されることができる。知識統合エンジン１３６は、構成文法に従ってＧＳＰ構造のライブラリを組み合わせることによって、可能なインスタンス化されていないＧＳＰ構造の空間を探索することによって、どのＧＳＰ構造およびフレーム構造がストーリーにおける自然言語テキストの真の解釈であるかを決定する。次いで、これらのＧＳＰ構造は、知識誘導エンジンを介してアクセスされる背景コーパスから提案されたエンティティと同様に、ストーリーからのエンティティでインスタンス化される。インスタンス化されたＧＳＰ構造は、自然言語生成エンジン１６０７を使用して自然言語でレンダリングされる。インスタンス化されたＧＳＰ構造の自然言語レンダリングは、たとえば、知識誘導エンジン１４０からのテキスト含意検出器１３１６などの、テキスト含意またはｎグラムリソースを含む様々なリソースを使用してフィルタリングされる。
【０２２７】
元のテキストは、インスタンス化されたＧＳＰ構造のフィルタリングされた自然言語レンダリングとともに、対話エンジン１４２を介して１人または複数のユーザに提示される。知識統合エンジン１３６は、どのＧＳＰインスタンス化構造がどの信頼性でストーリーモデル１３２に追加されるべきかを決定するために、ユーザの応答を解析し、信頼性、確率、およびしきい値解析を実行する。その結果得られた信念は、次いで一般化され、現在の世界モデル１３８に統合される。このように、知識統合エンジン１３６は、ＧＳＰ構造およびフレーム構造をインスタンス化することを介して、言語／テキストを知識にマッピングするための一般化されたルールを自動的に作成し、スコア付けし、改良するための手法を実装する。知識統合エンジン１３６はさらに、ＧＳＰ言語における、および／またはフレームとして語彙−構文的−意味論である言語マッピングルールを符号化するために、メカニズムを提供することができる。対話セッション中に抽出されたユーザのフィードバックは、言語マッピングルールを評価し、改訂するために使用されることができる。
【０２２８】
テキスト解釈およびテキスト−ＧＳＰルールに加えて、システム１０２は、常識−意味推論ルールを抽出するための方法を採用する。含意と関連付けは、所与のテキストの真の解釈として確認されたＧＳＰ構造の間で仮定される。これらの含意および関連付けは、確認のために一般的な形式でユーザに提示される。これらの一般的な命題が確認された場合、将来の確認と洗練のために、追加の例が検索され、ユーザに提示される。
【０２２９】
説明のための対話ユーザインタフェース
図１９は、コンピューティングシステムとユーザとの間の対話を容易にする対話ユーザインタフェース（ＵＩ）１９００を示す。図１９に示されるＵＩ、および以下の他のものは、議論の目的のために提供される例である。様々なタイプの質問が生成されるので、実際のインタフェースは、図１９における外観とは異なる場合がある。たとえば、１つまたは複数のグラフィカルな特徴は、異なるように見えてもよく、または質問、どの情報が求められているか、ユーザのスクリーンのサイズ／タイプなどに応じて、完全に省略されてもよい。
【０２３０】
図１９において、対話ＵＩ１９００は、コンピューティングシステム１０２と人間のユーザとの間の対話セッション１６０４中にユーザによって見られる、コラボレータのデバイス１１４（１）などのユーザのデバイス上に表示されることができる第１のスクリーンレンダリング１９０２として示されている。スクリーンレンダリング１９０２は、ブラウザ内でレンダリングされるウェブページとして示されている。しかしながら、上記のように、これは単に１つの可能な実装形態であり、プレゼンテーションおよび電子ユーザによる質問の入力を容易にするために、他の技術が採用されることができる。
【０２３１】
スクリーンレンダリング１９０２は、左側に沿ってグラフィカル対話インタフェース１９０６を含む主領域１９０４を含む。グラフィカル対話インタフェース１９０６は、ボックス１９０８および１９１０などの一連の対話ボックスを有する。対話ボックスは、グラフィカルな表示を通じてソースに帰属されるように示され、上部ボックス１９０８はコンピュータシステムに由来するものとして帰属されており（他の記号が使用されることができるが、蝶のアイコンによって表現されるように）、下部ボックス１９１０はユーザに由来するものとして帰属されている（ユーザアイコンによって表されるように）。この例では、システムは、例示的なベンとアバのストーリーにおける「ベンが食べ物をアバに持ってきました」という文から「持ってきた」という単語を理解しようとしている。「持ってきた」という単語の意味について学習するための質問は、以下のように、上部対話ボックス１９０８に提供される。
そこで、ここに私が理解しようとしている文があります：
ベンがアバに食べ物を持ってきました。
以下の選択肢のどれが、上記の文に最も類似して「持ってくる」という単語を使用していますか？
【０２３２】
次いで、可能な回答に対する複数の選択肢を提供する応答テンプレートが、第２の対話ボックス１９１０に配置される。この例では、選択肢は以下を含む。
１．何か、または誰かをどこかに連れて行く。
２．特定の状態または状況に陥らせる。
３．合法的に提示または説明する。
（ユーザアイコンによって視覚的に表現されるように）ユーザに帰属している間に、対話ボックス１９１０は、コンピュータシステムから受信された複数の選択肢のコンテンツで埋められている。ユーザ帰属は、「持ってきた」という単語の語義のこのトピックについてコンピュータシステムに返答を提供するために、選択肢のうちの１つをユーザが選択していることを伝える。応答対話ボックス１９１０は、他の選択肢を要求するための「その他」、この時点でストーリーが明確でないことを示すための「指定されていない」、および、ユーザが、質問に対する回答が不明な場合の「スキップ」の、一般的な動作項目をさらに含む。
【０２３３】
また、主領域１９０４には、右側に沿ってアラインメントされた任意のグラフィカルボックスがある。グラフィックボックスは、どのストーリーが議論されているかを識別するためのストーリー記述ボックス１９１２と、考慮されているストーリーに対するシステムの現在の理解を要約するためのストーリー理解ボックス１９１４とを含むことができる。
【０２３４】
この例では、ユーザが「選択肢１」を選択すると仮定すると、「ベンがアバに食べ物を持ってきました」において使用される「持ってくる」という単語の意味を「何か、または誰かをどこかに連れて行く」を意味するために提供する。対話エンジンがこの回答を受信すると、それは、次の質問を識別するために、関連付けられる依存構造を検討する。次いで、この次の質問は、図２０に示されるように、ユーザに提示するためにユーザデバイスに返される。
【０２３５】
図２０は、対話セッションにおける次の質問を示すために、図１９のスクリーンレンダリング１９０２に続いてユーザのデバイス上に提示される対話ＵＩ  １９００の第２のスクリーンレンダリング２００２を示す図である。この例では、対話インタフェース１９０６は視覚的に上方にシフトされているので、最後の対話ボックス１９１０のエッジは、主領域１９０４の上部で部★分的に見ることができる。この対話ボックス１９１０の下には、前の質問に対するユーザの応答に基づいて明示された次の質問を含む新しい対話ボックス２００４がある。ユーザが選択肢１で回答したので、次の質問は次のようになる：
はい。ここに私の次の質問があります。
私は「持ってくる」は私に動作について伝えていると思います。何らかの変化です。つまり、動作が起こった後に何かが異なります。
それは正しいですか？
【０２３６】
応答対話ボックス２００６はまた、「はい」および「いいえ」の応答選択肢を用いてユーザに提示される。ユーザがステートメントに同意し、対話ボックス２００６において「はい」と回答すると仮定する。この応答は対話エンジンに返され、対話エンジンは、次の質問を識別するために、関連付けられる依存構造を再び検討する。次いで、この次の質問は、図２１に示されるように、ユーザに提示するためにユーザデバイスに返される。
【０２３７】
また、一部ユーザの応答によって確認された情報を反映するためのストーリー理解ボックス２００８の更新されたバージョンが、図２０の主領域１９０４に示されている。ここでは、「ベン」が主語として、「持ってきた」が「動詞」として、および「食べ物」が目的語として識別されるように構文上の役割が文に追加される。
【０２３８】
図２１は、対話セッションにおける別の次の質問を示すために、図２０の第２のスクリーンレンダリングに続いてユーザのデバイス上に提示される対話ユーザインタフェース１９００の第３のスクリーンレンダリング２１０２を示す。ユーザは、最後の応答において、動作を示す「持ってくる」という単語のシステムの理解を確認したので、対話ボックス２１０４において提示された次の質問は、ユーザがストーリーについて理解できるかもしれないさらなる知識を調査する。この例では、質問は次の通りである：
はい、私たちが読んでいる文は次の通りです。
ベンがアバに食べ物を持ってきました。
この時点で、私はそれを理解しています。
ベンは、持ってくる動作を発生させます。
私の次の質問はこれです。
持ってくる動作のためにどんなことが変わったのですか？
【０２３９】
応答対話ボックス２１０６もまた、可能な回答に対する複数の選択肢とともにユーザに提示される。この例では、５つの選択肢が提示されている。
１．食べ物はどこかに配置されています。
２．ベンはどこかにいます。
３．アバは食べ物を持っています。
４．食べ物はアバと関係があるどこかに配置されています。
５．ベンはアバと関係があるどこかにいます。
ユーザは、これらの選択肢のうちの１つまたは複数を選択してもよく、あるいは、他の選択肢を要求するための「その他」のボックス２１０６内の一般的な動作項目のうちの１つ、この時点でストーリーが明確ではないことを示すための「指定されず」、およびシステムに回答を返送するための「提出」を選択することができる。
【０２４０】
ストーリー理解ボックス２１０８の更新されたバージョンが、前のユーザの応答によって一部確認された情報を反映するために、主領域１９０４に提供される。ストーリーにおける文の深められた理解を示すために、「持ってくるは、何か、または誰かをどこかに連れて行くことを意味する」の確認された意味が提供される。
【０２４１】
対話エンジンは、依存構造において表現される関連するすべての質問が使い果たされるまで、より多くの質問を続ける。対話エンジンは、さらに自由回答形式の読解力の質問をする場合がある。ストーリー理解ボックス２１０８において表現されているものなどのこの知識体は、回答アグリゲータ１６２２によって集約され、さらなる処理のために知識統合エンジン１３６に返される。
【０２４２】
説明のための分散された対話システム
前述したように、対話エンジン１４２は、ストーリーの自然言語テキストを議論するために、単一のユーザとの対話セッションを線形に確立することができる。これらの対話セッションは、複数の情報が求められ、後の交換は以前の質問に対する回答に依存するという点で、ワンショット交換を超えてしばしば拡張される。たとえば、コンピューティングシステムが「カエルは自分の皮膚を通じて呼吸する」という文に取り組んでいるとき、対話エンジン１４２は、知識統合エンジン１３６によって、呼吸が空気を吸うことおよび吐くことの循環プロセスであり、その目的はカエルの体が必要とする酸素を得ることであり、ほとんどの動物は自分の皮膚を通じてではなく鼻で呼吸することを学習するために、ユーザとの対話セッションに関与するように課される。場合によっては、単一のユーザとのそのような拡張された対話は、ユーザに高い認知負荷をかけることがあり、対話セッションの連続性は実行に時間がかかる。
【０２４３】
学習プロセスを加速するために、複数のユーザを並行して参加させるために、対話セッションが展開されることができる。対話セッションは、ストーリーに関する議論内の特定の個々の質問が、他人とは独立してユーザによって回答されることができるサブ対話に分割される。たとえば、カエルの対話セッションでは、呼吸のメカニズムと目的は、関与する臓器とは無関係に調査されることができる。質問および回答のセッションを複数のユーザに分散し、ユーザを並行して参加させることで、コンピューティングシステムがより迅速に学習することが可能になる。
【０２４４】
したがって、特定の実装形態では、対話エンジン１４２は、対話セッションをサブ対話セッションに分割し、それらのサブ対話セッションをより広いユーザのオーディエンスに並行して分散するために、分散された対話ディスパッチャ１６２０を採用する。一実装形態では、分散された対話ディスパッチャ１６２０は、対話セッションを分割するために文またはテキスト文字列に関連付けられる依存構造を利用し、システムが、その質問を複数のユーザに分散することによって、ユーザに与えられる認知負荷を柔軟に管理できるようにする。このように、システムは論理的に単一の対話セッションを有し、その負荷は、実際には複数のユーザに分散される。
【０２４５】
図２２〜図２４は、分散された対話システムの１つの例示的な実装形態をより詳細に示す。図２２は、分散された対話ディスパッチャ１６２０が質問２２０２（１）、２２０２（２）、．．．、２２０２（Ｐ）を、コラボレータ１１４（１）〜（Ｃ）などの複数のユーザにネットワーク１２０を介して分散する対話エンジン１４２を示す。同じ質問が複数の人々に提起されてもよく、異なる質問が異なるユーザのセットに分散されてもよい。協力者１１４（１）〜（Ｃ）は、Ａｍａｚｏｎ  Ｍｅｃｈａｎｉｃａｌ  Ｔｕｒｋ（商標）のようなサービスを通じて非公式に集められた、または公式に組織された、多数のユーザと見なされることができる。ユーザは質問を検討し、彼らの応答２２０４（１）、２２０４（２）、．．．、２２０４（Ｐ）を対話エンジン１４２に返す。
【０２４６】
分散された対話ディスパッチャ１６２０は、次の質問を識別するためのユーザ応答に基づいて、依存構造１６１０、または対話リスト１６１４内のそれらの順序付けられた表現などの依存構造を通じて反復するために構造クローラ２２０６を含む。構造クローラ２２０６は、適切な分岐を選択し、他に何が学習されるべきかを発見するために、前の質問からのユーザ応答を使用する。場合によっては、依存構造１６１０は、データ構造において兄弟ノードとして表現されることが多い、複数の可能な補足質問につながる。これが起こると、次の質問のための異なる選択肢が、異なる協力者に並行して提示されることができる。
【０２４７】
次いで、ユーザセレクタ２２０８は、補足質問を送信するために人々の１つまたは複数のグループを選択することができる。ユーザセレクタ２２０８は、同じ質問を、協力者１１４（１）〜（２）によって表現されるグループなどの複数の人々に送信することを選択することができる。あるいは、ユーザセレクタ２２０８は、異なる質問を異なるユーザまたはユーザのセットに送信することを決定することができる。たとえば、図２２に示されるように、ユーザセレクタ２２０８は、異なる質問２２０２（１）〜（Ｐ）を協力者１１４（１）〜（Ｃ）などの異なるユーザに送信することを選択することができる。このように、多くのユーザによって質問が評価され、並行して回答されることができる。これにより、コンピューティングシステムが、より迅速に拡張し学習することを可能にする。コンピューティングシステムは、任意の数の書籍を並行して読み、任意の数の人々を並行して参加させることができ、それによって、システムがより迅速に理解を得ることが可能になる。
【０２４８】
ユーザセレクタ２２０８は、誰が質問を受け取るべきかを決定するために、ヒューリスティックおよびプロファイル情報を使用することができる。一実装形態では、協力者は、年齢、読書レベル、彼らが読んできた読書例など、彼らについての情報を提供するプロファイルを有することができる。同様に、ストーリーまたはテキストは、読書またはグレードレベル、語彙レーティングなどの関連プロファイル情報を有することができる。ユーザセレクタ２２０８は、ユーザのプロファイルをストーリーと比較し、２つの間の適切なレベルをマッピングしようと試みることができる。たとえば、テキストが高校の読書レベルに適している場合、ユーザセレクタ２２０８は、高等学校の読書レベル以上のユーザを識別することができる。
【０２４９】
図２３は、複数のユーザを含む、ある例示的な分散された対話セッションを示す。この例では、対話エンジン１４２は、「大きな雨滴がクロエの顔に落ちました」という文で作業している。対話セッションのターゲット情報は、「ｆａｌｌ」という動詞の語義から始まる、この文の適切な意味解釈を発見または確認することである。分散された対話ディスパッチャ１６２０は、「「大きな雨滴がクロエの顔に落ちました」における「ｆａｌｌ」の意味は何ですか？」という、対話ボックス２３０４に表現されているようなオープニング質問を第１のユーザのセット２３０２に聞くことができる。対話ボックス２３０６によって表されるように、第１のセット内の多数のユーザまたはすべてのユーザからの応答が選択肢１の「重力の影響を受けて降下する」であると仮定する。
【０２５０】
この応答に基づいて、構造クローラ２２０６は、依存構造から、雨滴の前後の状態に関する２つの可能な後続の質問があることを発見する。さらに、２つの後続の質問は、依存構造内の兄弟ノードによって表現されるため、質問は並行して異なるユーザに尋ねられることができる。したがって、ユーザセレクタ２２０８は、対話ボックス２３０８によって表現される第１の後続の質問を同じ第１のユーザのセット２３０２に送信することを選択する。第１の後続の質問は、「「大きな雨滴がクロエの顔に落ちました」の前の雨滴の状態は何ですか？」と質問する。並行して、ユーザセレクタ２２０８は、対話ボックス２３１０によって表現される第２の後続の質問を異なるユーザのセット２３１２に送信する。第２の後続の質問は、「「大きな雨滴がクロエの顔に落ちました」の後の雨滴の状態は何ですか？」と質問する。
【０２５１】
次いで、ユーザの各セットは、これらの質問に同時に回答することができる。第１の後続の質問２３０８について、対話ボックス２３１４によって表されるように、第１のグループ２３０２内のユーザの大部分またはすべてが、雨滴の前の状態として選択肢３の「それは空にあります」を選択したと仮定する。同様に、第２の後続の質問２３１０について、対話ボックス２３１６によって表現されるように、第２のグループ２３１２内のユーザの大部分またはすべてが、雨滴の後の状態として選択肢２の「それはクロエの顔の上にあります」を選択すると仮定する。この例に示されるように、質問は２つのグループに分散されているが、システムは２つの質問を同じ人物に順番に尋ねた場合と同じ結果に到達する。しかし、同じ結果がより少ない時間で達成され、個々のユーザにかかる負荷がより少なくなった。
【０２５２】
図２４は、複数のユーザを含む、別の例示的な分散された対話セッションを示す。この例では、対話エンジン１４２は、「エンツォとゾーイは競走していました。エンツォが転びました。」というテキストで作業している。対話セッションのターゲット情報は、「ｆａｌｌ」という単語の語義から始まる、２つの文の正確な意味解釈を発見または確認することである。分散された対話ディスパッチャ１６２０は、対話ボックス２４０２に表現されているような「「エンツォが転びました」における「ｆａｌｌ」は、クロエが滑って泥の中に落ちましたと同じように使用されていますか？」などのオープニング質問を第１のユーザのセット２３０２に聞くことができる。同時に、分散された対話ディスパッチャ１６２０は、対話ボックス２４０４に表現されるように、「「エンツォが転びました」における「ｆａｌｌ」の意味は何ですか？」など、第２のユーザのセット２３１２に対して異なるオープニング質問をすることができる。
【０２５３】
図２４において、対話ボックス２４０６によって表されるように、第２組のユーザ２３１２は、一般に、第２のオープニング質問２４０４に対して「突然直立姿勢を失うことです」という回答で応答すると仮定する。この応答（Ｒ１）に基づいて、対話ボックス２４０８および２４１０によって表現されるように、２つの他の後続の質問が生成される。分散された対話ディスパッチャ１６２０は、第１のユーザのグループ２３０２に第１の後続の質問２４０８を分散し、対話ボックス２４０８によって表現されるように、「「クロエが滑って泥の中に落ちました」の前は、クロエは直立姿勢でした。「エンツォが転びました」の前はエンツォも直立姿勢でしたか？」と尋ねる。並行して、分散された対話ディスパッチャ１６２０は、対話ボックス２４１０によって表現されるように、第２のユーザのグループ２３１２に第２の後続の質問２４１０を分散し、「「クロエが滑って泥の中に落ちました」の後、クロエは地面の上におり、泥の中にいます。「エンツォが転びました」後、エンツォは地面の上におり、泥の中にいますか？」と尋ねる。これらの質問は互いに独立して尋ねられることがあり、したがって、異なるユーザグループは、回答している他の質問およびグループについて知る必要なしに、質問に対する応答を提供する可能性がある点に留意されたい。説明されている実装形態では、これらの後続の質問は依存構造内の兄弟ノードにおいて見られ、分散された対話ディスパッチャは自由にそれらを異なるユーザに分散することができる。
【０２５４】
第２の後続の質問２４１０に対する応答が、一般に、対話ボックス２４１２によって表現されるように、エンツォが地面の上にいるが泥の中にはいないと仮定する。この応答（Ｒ２）に基づいて、さらに２つの後続の質問が生成され、ユーザのグループに並行して分散されることができる。対話ボックス２４１４によって表現されるように、分散された対話ディスパッチャ１６２０が、第１のグループのユーザ２３０２に、「転んだ後にすべての人々が地面の上にいるのは真実ですか？」と尋ねる後続の質問を分散する。対話ボックス２４１６によって表現されるように、分散された対話ディスパッチャ１６２０が、第２のユーザグループ２３１２に、「転んだ後に誰かが泥の中にいるときはいつですか？」と尋ねる別の後続の質問を分散する。
【０２５５】
ユーザは、これらの後続の質問に応答することができ、対話セッションは、知識統合エンジン１３６からの指示の下で、対話エンジン１４２が対話についてのすべての質問をするまで続けることができる。応答は、現在の世界モデル１３８を改訂する際に使用するために集約され、知識統合エンジン１３６に返され、改訂された現在の世界モデルにストーリーモデル１３２をアラインメントする。質問が使い果たされ、ストーリーがより深く理解された後、ストーリーモデルは、図２６を参照して次のセクションにおいて説明されるように、完了したと見なされる。
【０２５６】
図２５は、複数のユーザへの対話セッション中に質問を分散するためのプロセス２５００を示す。プロセス２５００は、図１、図４、図５および図１６、ならびに図２２のシステムアーキテクチャ１００および対話エンジン１４２を参照して説明される。プロセス２５００は、コンピューティングシステム１０２によって、具体的には対話エンジン１４２によって実行されることができる。
【０２５７】
２５０２において、ターゲットテキスト文字列および関連付けられる依存構造が受信される。テキスト文字列は、たとえば文であってもよく、他の語句または節であってもよい。依存構造は、親ノードへの回答に応じて、子ノードが可能な後続の質問を表現するツリータイプのデータ構造である。１つの依存構造が、議論の目的のために図１７において示されている。
【０２５８】
２５０４において、対話セッション中に尋ねられるべき質問のシーケンスまたは一連の質問におけるオープニング質問を識別するために、ルートノードまたは親ノードがまず依存構造内で見られる。たとえば、図２３を参照すると、対話エンジンは、「ｆａｌｌ」の語義を発見するための対話セッションを開始し、対応する依存構造における１つの親ノードは、「「大きな雨滴がクロエの顔に落ちました」における「ｆａｌｌ」の意味は何ですか？」のオープニング質問を表現することができる。２５０６において、対話エンジンは、その質問を１人または複数のユーザに送信するかどうかを決定する。１人のユーザの場合（すなわち、２５０６からの「いいえ」の分岐）、２５０８において、質問ディスパッチャは質問を単一のユーザに送信する。他方、複数のユーザの場合（すなわち、２５０６からの「はい」の分岐）、２５１０において、質問ディスパッチャは同じ質問を複数のユーザに送信する。質問が、多数の可能な回答で複数の選択肢回答（回答）を提供しているときなど、システムがユーザを調査することを所望する状況において、複数のユーザが選択されることができる。１つの選択肢の大部分が適切な回答として役立つ場合がある。
【０２５９】
２５１２において、１つまたは複数の応答がユーザから受信され、解析される。２５１４において、これらの回答に基づいて、対話エンジンの構造クローラは、１つまたは複数の後続の質問を見つけるために依存構造を検討する。場合によっては、これはツリータイプの構造を親ノードから１つまたは複数の子ノードに下降することを含む。複数の子ノードが同じ分岐にある場合、関連付けられる後続の質問は、互いに独立していると見なされることができる。したがって、２５１６において、依存構造に表現された後続の質問が兄弟ノードに関連付けられているかどうかが決定される。兄弟ノードに関連付けられている場合（すなわち、２５１６からの「いいえ」の分岐）、２５１８において、質問は１人または複数のユーザに送信されることができる。逆に、複数の兄弟ノードが存在する場合（すなわち、２５１６からの「はい」の分岐）、２５２０において、異なる後続の質問は、１セット当たり１人または複数の異なるユーザのセットに分散されることができる。
【０２６０】
２５２２において、１つまたは複数の応答がユーザから受信され、さらに解析される。同じ文またはテキスト文字列についてより多くの質問が尋ねられることができる場合、プロセス２５００は、２５１４において依存構造のさらなる調査を継続する。依存構造内のすべての質問が追求された場合、プロセス２５００は、２５０２において新しいテキスト文字列を続けることができる。
【０２６１】
説明のためのストーリーモデル
ユーザ質問のすべてが尋ねられ、応答が処理された後、知識統合エンジン１３６は、ストーリーモデルと現在の世界モデルとの最終的なアラインメントを行う。知識統合エンジン１３６は、十分な信頼性を得ており、記憶および索引付けのためにストーリーモデル１３２を出力する準備が整っている。ストーリーモデル１３２は、次に図２６を参照して説明されるように、プロセスの全体にわたって最終状態に進展させる。
【０２６２】
図２６は、ストーリーモデル１３２と、ストーリーモデルが本明細書に記載されたプロセスの結果として時間の経過とともにどのように進展するかを例示的な説明を示す。ストーリーごとに、ストーリーモデル１３２は、最初に、ストーリーの構文解析から導出された言語構造７１４、エンティティタイプ７２６、および共参照連鎖７３０を含む言語解析結果７１２で埋められる。これは、図２６において説明のために「バージョン１」として示されている。意味処理、推論、および人間の対話セッションを通じて、ストーリーに関する追加の情報が学習される。ストーリーを表現する意味構造とフレームは、より多くのノードを埋めるために、およびより多くの関係を追加するために、反復的に改訂される。これは、ＦＶ−１を通じてバージョン２（すなわち、最後の最終バージョンの次）によって、図２６に示されている。初期には、たとえばバージョン２においては、システムは、「歩く」ための動作は、人がどこから歩いてきたか、および彼／彼女がどこに行くかに関する情報を含むことを発見することができる。したがって、意味構造が作成され、ノードを埋めるために情報が求められる。時間の経過とともに、システムはさらに、人物アバがレストランに向かって歩いており、そのレストランがイタリアンレストランであったことを学習する。
【０２６３】
意味構造およびフレームの大部分またはすべてが満たされ、意味構造およびフレームに関する信頼が十分なしきい値に上昇し、ユーザが仮定の多くまたはすべてを確認した後、図２６におけるバージョンＦＶ（最終バージョン）によって表現されるように、最終バージョンが生成されることができる。最終バージョンＦＶは、完成した意味構造と、完全に埋め込まれたフレームとを含む。単語はそれらの正しい意味を有し、それらの間の関係は真であり、正確である。さらに、ストーリーにおいて暗示されない情報が推論され追加されている。この時点で、ストーリーモデルは現在の世界モデルと十分にアラインメントしていると見なされる。さらなる信頼のために、システムは、読解力の質問をユーザに提起して、システムの理解が正しいかどうかを確認できるようにすることができる。ストーリーの最終バージョンが記憶され、索引付けされる。その知識はすべて、より多くのストーリーが消費されるにつれて進展し続ける現在の世界モデルにも含まれる。
【０２６４】
コンピューティングシステムの理解の増加
また、図２７は、次第に難しくなる自然言語ストーリーの反復処理と、システムの理解を評価、改善、および検証するための人間の関与とを通じて、時間の経過とともにコンピュータの理解を成長させるためのプロセス２７００を示す。プロセス２７００は、学習および理解コンピューティングシステム１０２によって実行される。一般に、ＧＳＰおよびフレーム構造などの意味構造は、ストーリーの表現を生成するために、上述の推論プロセスを使用して推論される。推論プロセスは、現在の世界モデル１３８において維持されている情報、ならびにシステム全体の他のリソース（ＧＳＰデータベース４０８、誘導された知識リソース４１２など）を使用する。対話セッションは、意味構造をストーリーの理解として評価するために、１人または複数の人間のユーザと一緒に行われる。推論プロセスと人間の対話を通じて学習された任意の知識は、改訂され、展開された意味構造として、現在の世界モデルに保存される。より多くのストーリーが取り入れられ、処理されるにつれて、現在の世界モデルは時間の経過とともに展開し、それによってシステムの理解が高まる。展開された知識によって、コンピューティングシステムは、より高い読解力レベルを有する、より困難な主題を扱うことができるようになる。
【０２６５】
１つの実装形態によれば、２７０２において、第１の期間にわたって、初期読書力レベルの複数のストーリーがコンピューティングシステム１０２によって受信される。たとえば、コンピューティングシステム１０２は、就学前、幼稚園、または低学年の初期段階の読書レベルなどの簡単なテキストを、開始するために取り込むことができる。ストーリーはいくつかの読解力の質問が付随されていることがある。２７０４において、ストーリーごとに、そのストーリーを表現するためのストーリーモデルが開発される。ストーリーモデルの開発は、前述のプロセスを含む。たとえば、２７０６において、ストーリーを構文的に解析し、文ごとに言語解析結果（たとえば、構文解析、述語項構造、エンティティタイプ割当て、共参照）を生成するために、ストーリーが構文的に解析される。これは、たとえば、ストーリー解析エンジン１３４によって実行されることができる。
【０２６６】
２７０８において、１つまたは複数の意味構造が、構文解析された文の構文表現を意味的に処理することによって、各解析された文の表現として推論される。一実装形態では、知識統合エンジン１３６、知識誘導エンジン１４０、および信念表現および推論フレームワーク１４４は、少数の意味素の観点から、言語解析結果を使用して初期の意味表現を作成するために、この行為２７０８をサポートするために様々なタスクを実行する。これらのモジュールは、より詳細に上述したように、世界について何が真であるかという現在の世界モデル１３８、ＧＳＰデータベース４０８、および大規模言語コーパス４１０から自動的に誘導される誘導された知識リソース４１２などのシステムリソースを引き出す。２７１０において、進化するストーリーモデルは、一部には、現在の世界モデル１３８における知られているフレームとよく適合する信頼性の高い意味表現をストーリーモデルが含まない領域を決定するために、現在の世界モデルと比較して評価される。
【０２６７】
２７１２において、ストーリーに対するユーザの理解を調査し、および／またはストーリーに対するシステムの理解を改善し、テストし、または挑戦するために、やはりストーリーを読んだ１人または複数の人間のユーザと対話セッションが確立される。質問は、ユーザデバイス１１４／１１８に提出され、検討および考察のためにユーザに提示される。２７１４において、応答がユーザデバイスから受信され、意味構造を改訂するために使用される。ユーザの回答は、世界について何が真であるかという現在の世界モデル１３８において表されるストーリーに対するシステムの理解を更新するために適用されることができる。対話エンジン１４２は、対話セッションを容易にするために使用されることができ、知識統合エンジン１３６は、ユーザのフィードバックに従って意味構造を改訂するために使用されることができる。
【０２６８】
２７１６において、現在の世界モデル１３８は、対話セッションから学習された任意の新しい知識、および任意の意味構造の改訂によって更新される。この知識は、ＧＳＰデータベース４０８に記憶されている、新しいインスタンス化されていないＧＳＰ構造をさらに作成するために使用されることができる。コンピューティングシステム１０２がより多くのストーリーを読んで処理するにつれて、時間の経過とともにより多くのＧＳＰ構造（インスタンス化されていないものと、インスタンス化されたものとの両方）が作成され、ＧＳＰデータベース４０８内のリソース、および現在の世界モデル１３８内の知識が時間の経過とともに増加する。現在の世界モデル１３８は、命題（ＧＳＰを含むが、これに限定されない）に対する確率分布であるフレームの集合で構成されることができる。コンピューティングシステム１０２がより多くのテキストを読んで理解すると、それはストーリーを解釈するために使用される新しいフレームを作成する。
【０２６９】
２７１８において、現在のストーリーのストーリーモデルがストーリーモデルデータストア１３２に記憶され、コンピューティングシステム１０２によって維持される。ストーリーモデルは、いくつかはより高い読解力レベルを有する他のストーリーを推論または理解するために、将来的に使用されることができる。
【０２７０】
２７２０において、コンピューティングシステム１０２は、次の読解力レベルまでステップアップするなど、複雑性が増す追加のストーリーを受信して処理し続ける。各取り入れられた新しいストーリーとともに、コンピューティングシステム１０２は、ストーリーから意味を推論し、人間とのその理解をテストすることを含むストーリーモデルを再び開発する（２７０４において）。ストーリーモデルが展開されると、システム１０２は、（２７１６において）新しい知識で現在の世界モデル１３８を更新し、将来の使用のためにストーリーモデルを記憶する（２７１８において）。時間の経過とともに学習および理解コンピューティングシステム１０２が、インスタンス化された生成的意味素とフレーム構造との関連セットなどを通じて、エンティティおよび命題の知識データ構造として表される、大規模でますます洗練される知識ベースを構築するように、このプロセスは何度も繰り返される。
【０２７１】
図２８は、現在の世界モデル１３８における意味構造として具体化された知識が、次第に高まる読解力のレベルの高いストーリーが対話処理、意味処理、および対話を通じた人間評価を経るにつれて時間の経過とともにどのように成長するかを示す概略図２８００である。タイムライン２８０２に沿った早期または初期のインスタンスで、学習および理解コンピューティングシステム１０２は、初期レベルまたはエントリレベルの読解力を有する比較的容易なストーリーＳ１〜Ｓｉ（一般に１０６として参照される）を読む。これらのストーリーは、たとえば、幼稚園の生徒や低学年の学校の生徒に適切であることができる。現在の世界モデル１３８は、いくつかの意味構造で事前に設定されてもよく、ゼロから構築されてもよい。時間Ｔ１において、インスタンス化されたＧＳＰ構造２８０４（Ｔ１）およびフレーム構造２８０６（Ｔ１）の比較的小さいセットを有する現在の世界モデル１３８（Ｔ１）が示されている。
【０２７２】
時間の経過とともに、システム１０２は、エントリレベルのストーリーＳ１〜Ｓｉよりも複雑な、より多くのストーリーＳｊ〜Ｓｍを読んで処理する。たとえば、ストーリーＳｊ〜Ｓｍは、高学年、またはおそらくミドルスクールおよび中学校などの中程度の読解力レベルと考えられることができる。時間Ｔ２において、インスタンス化されたＧＳＰ構造２８０４（Ｔ２）およびフレーム構造２８０６（Ｔ２）の実質的により多くのセットによって示されるように、現在の世界モデル１３８（Ｔ２）は、より多くの知識で展開される。
【０２７３】
同様に、時間の経過とともに、システム１０２は、以前のストーリーＳ１〜Ｓｍよりも複雑なさらに多くのストーリーＳｎ〜Ｓｚを読んで処理する。これらのストーリーＳｎ〜Ｓｚは、高等学校または大学レベルで見られるような、より高い読解力レベルのテキストを表現することができる。時間Ｔ３において、現在の世界モデル１３８（Ｔ３）は、インスタンス化されたＧＳＰ構造２８０４（Ｔ３）およびフレーム構造２８０６（Ｔ３）の著しくより多くのセットを収容するように展開される。
【０２７４】
したがって、コンピューティングシステムの言語の理解は時間依存であり、これらの意味構造を通じて表される確率的な信念のネットワークである。コンピューティングシステムがより多くのストーリーを読んで理解するにつれて、ネットワークは時間の経過とともに展開する。システムの理解は、エンドユーザーと開発者がシステムの理解を調査し、システムがどのように働いて作業しているかについてより多くのことを学習することができる多くの異なる形式の視覚化を通じて表現されることができる。
【０２７５】
図２９は、確率論的信念のネットワークを徐々に定式化し、その全体的論理的一貫性を反復的に精緻化する動的なプロセスを示す視覚化の１つの例示的なセット２９００を示す。一実装形態では、学習および理解コンピューティングシステム１０２は、システムの理解の視覚化を生成する視覚化モジュール２９０２を含む。これらの視覚化は、単一のストーリーについての信念のネットワークを示す第１の、またはストーリーレベルの視覚化２９０４と、多くの様々なストーリーの間の関係を示すストーリー銀河視覚化２９０６とを含む。視覚化モジュール２９０２は、ユーザが単一のストーリービュー２９０４（または、その中のノード）をズームインすること、または単一のストーリービュー２９０４から銀河視覚化２９０６、ならびにその間のビューの範囲にズームアウトすることを可能にするズーム制御などの、ユーザ制御を可能にする。
【０２７６】
図示された例では、単一のストーリー視覚化２９０４は、ノード２９１０および円弧２９１２の層またはリングからなる。各ノード２９１０は、どのような信念が真であるかに関する論理的仮説を表現する。各円弧２９１２は、ノードのペアの間に拡張し、ある信念がある確率で別の真をサポートすることを示す関係を伝える。ノードは、異なるクラスの信念を表現するために層またはリング２９１４に配置される。たとえば、物語の中の特定の文の存在に関する信念は、１つのリングである可能性がある。単語や語句の可能な意味についての信念は、次のリングである可能性がある。そのようなリングの存在を示すために、内側リング２９１４（１）および外側リング２９１４（２）が、図２９において示されている。ノード２９１０、円弧２９１２、およびリング２９１４は、視覚化全体を通してそれらを区別するためにさらに色分けされてもよい。
【０２７７】
別の実装形態では、各層またはリングは、その層またはリング内の任意の数の信念（ノード）およびサポート（円弧）を例示することを可能にするための１つまたは複数のサブリングまたはサブ構造を有する。一実装形態では、層またはリング内のノード、およびそれらの付属された円弧は、新しいデータがモジュール１３０のうちの１つにおける下位ドライバまたはアルゴリズムによって考慮されるときに、新しい仮説的信念がネットワークリングに追加されることを示すためにアニメーション化する。たとえば、リングは、より多くの仮説を可能にするために、それらのノード密度を回転、分割、崩壊、および／または変更することができる。
【０２７８】
ノード２９１０または円弧２９１２の外観の変化は、たとえば、それが信じられている信頼性を表現することができる。たとえば、ノードまたはエッジの不透明性は、対応する信念が真であるというシステムの信頼性の関数である可能性がある。絶対的に真と見なされる信念は完全に不透明であるが、絶対的に偽と見なされる信念は完全に不可視である。それら２つの極端な状況の間で考えられる信念は、対応する透明性を有する。
【０２７９】
外観の変化は、システムの推論プロセスをさらに説明することができる。たとえば、ノード２９１０（Ｈ）などのノード周辺のハローハイライトは、それが他の信念が暗示されるものを調査するために真であると考えられることを示すことができ、円弧上の同様のハイライトは暗示自体を示すことができる。
【０２８０】
図示された例では、銀河視覚化２９０６は、複数の点２９２０を含み、各点は、特定の言語問題についてのストーリー視覚化２９０４のズームアウトされたビューを表現する。銀河ビュー２９０６にズームアウトし、次いで単一のストーリービュー２９０４に戻るアニメーションを通じて、システムが多くの言語問題の理解をどのように追求しているかを一度に知り、学習することができ、視覚化がその焦点を変えることができる。
【０２８１】
結論
主題は、構造的特徴および／または方法論的動作に特有の言語で記載されているが、添付の特許請求の範囲に定義された主題は必ずしも記載された特定の特徴または動作に限定されないことを理解されたい。むしろ、特定の特徴および動作は、請求項を実装する例示的な形態として開示される。
【図１】
2019526139.tif 000003
【図２Ａ】
2019526139.tif 000004
【図２Ｂ】
2019526139.tif 000005
【図３】
2019526139.tif 000006
【図４】
2019526139.tif 000007
【図５】
2019526139.tif 000008
【図６】
2019526139.tif 000009
【図７】
2019526139.tif 000010
【図８】
2019526139.tif 000011
【図９】
2019526139.tif 000012
【図１０】
2019526139.tif 000013
【図１１】
2019526139.tif 000014
【図１２】
2019526139.tif 000015
【図１３】
2019526139.tif 000016
【図１４】
2019526139.tif 000017
【図１５】
2019526139.tif 000018
【図１６】
2019526139.tif 000019
【図１７】
2019526139.tif 000020
【図１８】
2019526139.tif 000021
【図１９】
2019526139.tif 000022
【図２０】
2019526139.tif 000023
【図２１】
2019526139.tif 000024
【図２２】
2019526139.tif 000025
【図２３】
2019526139.tif 000026
【図２４】
2019526139.tif 000027
【図２５】
2019526139.tif 000028
【図２６】
2019526139.tif 000029
【図２７】
2019526139.tif 000030
【図２８】
2019526139.tif 000031
【図２９】
2019526139.tif 000032
【国際調査報告】
2019526139.tif 000033
2019526139.tif 000034