(57)【要約】  知識表現および推論のための適応的意味論学習を使用する１以上の機械学習モデルを作成するため互いに連携する２以上のモジュールを有する人工知能エンジン。モジュールは、制約として働き第１の機械学習モデルによって理解可能なニューラルネットワークにグラフ化されたルールのセットにその分野の１以上の人間ソースによって使用される専門用語を有する特定の分野の１以上のソースからの表現および推論をエンコードすること、及び、次いで、ｉｉ）そのエンコードされたルールのセットの解釈を適応させること、を行わせる。そのエンコードされたルールのセットの理解は、ｉ）意味論的に類似の専門用語を考慮することによって、およびｉｉ）トレーニングデータから導出された結論によって、適応させられて、機械学習モデルおよびＡＩエンジンによって使用されるそのエンコードされたルールのセットの理解を生み出す。
2020520504.tif 000002
【特許請求の範囲】
【請求項１】
知識表現および推論のための適応的意味論学習を使用する１以上の機械学習モデルを作成するため互いに連携するように構成された２以上のモジュールを含む人工知能エンジン、を備えた装置であって、
前記人工知能エンジンの前記２以上のモジュールは、特定の分野の１以上の人間ソースによって使用される専門用語を有するその分野の１以上のソースからの前記表現および推論を、制約として働き第１の機械学習モデルによって理解可能なネットワークにグラフ化されるルールのセットへとエンコードすることを生じさせるよう連携し、
前記モジュールは、前記エンコードされたルールのセットを解釈するように構成され、前記エンコードされたルールの前記解釈は、異なる関数および述語に関連する前記ネットワークの前記ルールのセットおよびパラメータの異なる定数に関連するベクトルを適応させて、可能な限り前記ルールを真にさせる最適な解釈を得るように前記ネットワークをトレーニングすることによって、変化し得り、
前記解釈は、クエリサポートモジュールを介して問い合わせることができ、前記モジュールは、ソフトウェアにおいてコード化された任意の命令を実行する１以上のプロセッサを利用し、前記人工知能エンジンの１以上のメモリに記憶される、装置。
【請求項２】
前記２以上のモジュールは、
専門知識データベースおよび／または直接ユーザ入力を含む１以上のソースから、前記表現および推論の入力を可能にするように構成された、理論モジュールと、
機械学習を使用するために前記モジュールによって使用される計算アルゴリズムに理解可能なように、前記表現および推論から導出された、述語、関数、および定数を含むアサーションをエンコードするように構成された、理論表現モジュールと、
をさらに含む、請求項１に記載の人工知能エンジン。
【請求項３】
前記２以上のモジュールが、
前記１以上のソースからの前記表現および推論の入力を可能にするための理論モジュールと、理論表現モジュールと、
をさらに含み、
前記理論表現モジュールは、前記ネットワークをまとめて前記第１の機械学習モデルを生成するように構成され、前記理論表現モジュールから生成された前記作成された第１の機械学習モデルは、ｉ）前記１以上のソースから提供され前記理論モジュールを介して供給された前記表現および推論から導出された前記ルールのセットと、ｉｉ）データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされ、
前記人工知能エンジンは、ｉ）前記表現および推論から導出された前記ルールのセットと、ｉｉ）それらのルールの解釈の修正形態であって前記トレーニングデータのみを使用して単に学習することよりも少ないトレーニング周期および計算時間の消費を可能にする前記トレーニングデータを備えた前記機械学習から導出された前記修正形態と、の両方を使用するように構成されている、請求項１に記載の人工知能エンジン。
【請求項４】
前記クエリサポートモジュールは、前記クエリサポートモジュールを介して、ブールクエリ、自然言語検索クエリ、説明要求、公理補正、およびこれらの任意の組合せから成るグループから選択された様々な人間相互作用をサポートし、次いで、前記第１の機械学習モデル内のニューラルネットワークによって決定がどのように行われるかの説明をディスプレイに提示してクエリ結果に説明可能性を与えるようにさらに構成され、前記説明可能性は、前記クエリサポートモジュールを介して前記知識表現および推論において表現されたプロパティをユーザが問い合わせるとき、前記クエリサポートモジュールが、信頼性スコアと、１）その分野の１以上のソースから前記表現および推論において供給された定数、記号、関数、および述語への前記プロパティのマッピング、および２）前記マッピングに関連する前記論理ステップの提供のうちの少なくとも１つと、を有するクエリ結果を生成するように構成されるような態様である、請求項３に記載の人工知能エンジン。
【請求項５】
前記２以上のモジュールは、
前記表現および推論から導出された前記記号、定数、関数、および述語のインベントリを含むように構成された、言語モジュールと、
前記モジュールは、ｉ）前記第１の機械学習モデルのトレーニングのために使用される前記データ内で発見された意味論的に類似の専門用語が前記モジュールによって論理的に関連付けられることを可能にすること、ｉｉ）前記１以上のソースから供給された意味論的に類似の用語のリストが前記人工知能エンジンの前記モジュールによって論理的に関連付けられることを可能にすること、あるいはｉｉｉ）意味論的に類似の用語を論理的に関連付けるために前記モジュールによって使用されることになるこれら２つの任意の組合せによってエンコードされたルールのセットの前記解釈を適応させるようにも構成され、及び、
前記表現および推論から導出された前記記号を取得しネットワーク内でそれらの各々を関連付けるように構成されたモデル表現モジュールであって、前記モデル表現モジュールは、前記表現および推論から導出された前記定数を取得しそれらを前記ネットワークへの入力として意味論的ベクトルにマップするようにも構成され、前記モデル表現モジュールは、前記表現および推論から導出された前記述語を取得しそれらを前記ネットワークにマップするようにも構成され、前記モデル表現モジュールは、各ネットワークおよびそれの学習されたベクトルにアノテートするようにも構成される、モデル表現モジュールと、
をさらに含む、請求項１に記載の人工知能エンジン。
【請求項６】
前記２以上のモジュールは、さらに、
前記エンコードされた表現および推論を経て、各ステートメントの部分をそのステートメント内の定数、記号、述語、および／または関数のカテゴリへと解析するように構成された、パーサーモジュールと、
各定数をパラメータ化されたベクトルにマップするように構成された前記人工知能エンジンの第１のモジュールであって、各定数は、ノードのサブグラフへの入力としてマップされ、前記人工知能エンジンの前記第１のモジュールは、各述語および／または関数をパラメータ化されたネットワークにマップするようにも構成された、第１のモジュールと、
解析木から全ネットワークを構築するように構成された前記人工知能エンジンの第２のモジュールであって、前記パーサーモジュールおよび言語モジュールは、前記ステートメントの前記定数が後でベクトルと関連付けられる深層ネットワークの構造を定義するために、アサートされた知識を表す論理公式の解析木を作成するよう連携し、モデル表現モジュールは、前記表現および推論のアサーションを真にすること、ならびに、より最適な解釈を伝達するために信頼性スコアによって指示される前記第１の機械学習モデルのトレーニングのために使用される前記データと一致させることを目的として、前記定数に関連するベクトル値を適応させると共に前記ネットワークのパラメータを適応させるように構成された、第２のモジュールと、
を含む、請求項１に記載の人工知能エンジン。
【請求項７】
前記２以上のモジュールは、さらに、
各前記ルール内の各述語および関数の変数を対象とするように構成された前記人工知能エンジンの第３のモジュールであって、前記第３のモジュールは、１以上のコスト関数を使用してエラーを最小化し、かつ、前記理論表現モジュールから前記第１の機械学習モデルのためのこれらのコスト関数を供給してトレーニングデータから導出された統計主導の結論を導き前記ルールを可能な限り真にさせる前記より最適な解釈に寄与するように構成された、第３のモジュールを含み、
前記人工知能エンジンの前記理論表現モジュールは、前記ステートメントの前記セット内の前記表現および推論を表すグラフの前記ネットワークを前記第１の機械学習モデルへと自動的にまとめるように構成され、前記理論表現モジュールは、前記第１の機械学習モデルにおいて利用される前記知識表現および推論を表す前記ルールのセットの前記解釈を適応させるために、パラメータを学習し前記モデル内の前記ネットワークのトレーニングからのフィードバックを提供するようにも構成される、請求項６に記載の人工知能エンジン。
【請求項８】
前記２以上のモジュールは、さらに、
前記機械学習モデルをトレーニングするために使用される前記データでのトレーニングの反復に基づく定数とは関連していない前記ルールのセットおよび／またはベクトルの一部を構成する異なる定数に関連するベクトルに対する修正をサポートするように構成された、定量化サポートモジュールを含む、請求項１に記載の人工知能エンジン。
【請求項９】
前記２以上のモジュールは、さらに、
前記適応的意味論学習が、ネットワーク化されたトポロジーにエンコードされた前記表現および推論を表す第１の機械学習モデルへと自動的にまとめられるように、意味論的ベクトル、ネットワーク、およびカスタム構造を使用するように構成された、モデル表現モジュールと、
前記ルールのセット内の前記定数を前記モデル表現モジュールに送って前記トレーニング可能な意味論ベクトルを各前記定数に割り当てるように構成された、言語モジュールであって、前記エンコードされたルールのセットの前記解釈は、ｉ）前記第１の機械学習モデルのトレーニングのために使用される前記データ内で発見された意味論的に類似の専門用語が前記モジュールによって論理的に関連付けられることを可能にすること、ｉｉ）前記１以上のソースから供給された意味論的に類似の用語のリストが前記人工知能エンジンの前記モジュールによって論理的に関連付けられることを可能にすること、およびｉｉｉ）意味論的に類似の用語を論理的に関連付けるために前記モジュールによって使用されることになるこれら２つの任意の組合せ、によって適応可能である、言語モジュールと、を含み、
前記言語モジュールは、また、前記ルールのセット内の前記記号を前記モデル表現モジュールに送って微分関数を適用するように構成され、前記言語モジュールは、また、述語および関数を前記モデル表現モジュールに送ってトレーニング可能なマルチレイヤパーセプトロン（ＭＬＰ）ネットワークを使用するように構成された、請求項１に記載の人工知能エンジン。
【請求項１０】
前記モデル表現モジュールは、さらに、仕様モジュールの参照に基づいて前記ネットワークに入る関数および述語の任意のパラメータを適応させるように構成され、前記モデル表現モジュールは、そして、前記ネットワークを取り込みそれらを前記理論表現モジュールに送ってそれらのすべてを前記第１の機械学習モデル内に構築するように構成される、請求項９に記載の人工知能エンジン。
【請求項１１】
人工知能エンジンのための方法であって、
知識表現および推論のための適応的意味論学習を使用する１以上の機械学習モデルを作成するために人工知能エンジンの２以上のモジュールを互いに連携させるステップと、
特定の分野の１以上の人間ソースによって使用される専門用語を有するその分野の１以上のソースからの前記表現および推論を、制約として働き第１の機械学習モデルによって理解可能なネットワークにグラフ化されたルールのセットにエンコードすることを生じさせる前記人工知能エンジンの２以上のモジュールと連携するステップと、
前記エンコードされたルールのセットの解釈を適応させるステップであって、前記エンコードされたルールの解釈は、異なる関数および述語に関連する前記ネットワークの前記ルールのセットおよびパラメータの異なる定数に関連するベクトルを適応させて、可能な限り前記ルールを真にさせるより最適な解釈を得るように、前記ネットワークをトレーニングすることによって変化し得る、ステップと、
クエリ結果に説明可能性を与えるために前記第１の機械学習モデル内の前記ネットワークによってどのように決定が行われるかを提示するためにクエリサポートモジュールを介して前記第１の機械学習モデルが問い合わせられることを可能にするステップと、
を含む、方法。
【請求項１２】
専門知識データベースおよび／または直接ユーザ入力を含む前記１以上のソースから、前記表現および推論の入力を可能にするステップと、
機械学習を使用するために前記モジュールによって使用される計算アルゴリズムに理解可能になるように、前記表現および推論から導出された、述語、関数、および定数を含むアサーションをエンコードするステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１３】
前記１以上のソースから前記表現および推論を入力するために理論モジュールを使用するステップと、
ネットワークをまとめて前記第１の機械学習モデルを生成するために理論表現モジュールを使用するステップであって、前記まとめられたネットワークは、前記表現および推論から導出される、ステップと、をさらに含み、
前記理論表現モジュールから生成された前記作成された第１の機械学習モデルは、ｉ）制約として働き前記表現および推論から導出された前記ルールのセットと、ｉｉ）前記トレーニングデータを用いた前記機械学習から導出されたそれらのルールの解釈の修正形態との両方でトレーニングされている、請求項１１に記載の方法。
【請求項１４】
前記第１の機械学習モデルのブールクエリ、自然言語検索クエリ、説明要求、公理補正、およびこれらの任意の組合せから成るグループから選択された様々な人間相互作用のクエリを可能にし、次いで、クエリ結果に説明可能性を与えるために前記第１の機械学習モデル内のネットワークによって決定がどのように行われるかをディスプレイに提示するステップをさらに含み、前記説明可能性は、ユーザが前記クエリサポートモジュールを介して前記知識表現および推論において表現されたプロパティを問い合わせるとき、前記クエリサポートモジュールが、信頼性スコアと、１）その分野の１以上のソースから前記表現および推論において供給された前記定数、記号、関数、および述語への前記プロパティのマッピングおよび２）前記マッピングに関連する前記論理ステップの提供のうちの少なくとも１つと、を有するクエリ結果を生成するように構成されるような態様である、請求項１３に記載の方法。
【請求項１５】
前記表現および推論から導出された前記記号、定数、関数、および述語のインベントリを記憶するステップと、
ｉ）前記第１の機械学習モデルのトレーニングのために使用される前記データ内で発見された意味論的に類似の専門用語が前記モジュールによって論理的に関連付けられることを可能にすること、ｉｉ）前記１以上のソースから供給された意味論的に類似の用語のリストが前記人工知能エンジンの前記モジュールによって論理的に関連付けられることを可能にすること、あるいはｉｉｉ）意味論的に類似の用語を論理的に関連付けるために前記モジュールによって使用されることになるこれら２つの任意の組合せによって、エンコードされたルールのセットの前記解釈を適応させるステップと、並びに、
前記表現および推論から導出された前記記号を取得するステップであって、ネットワーク内でそれらの各々を関連付ける、ステップ、前記表現および推論から導出された前記定数を取得するステップであって、それらを前記ネットワークへの入力として意味論的ベクトルにマップする、ステップ、前記表現および推論から導出された前記述語を取得するステップであって、それらを前記ネットワークにマップする、ステップ、及び、各ネットワークおよびそれの学習されたベクトルにアノテートするステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１６】
ステートメントのセット内の前記エンコードされた表現および推論を経るステップであって、各ステートメントの部分をそのステートメント内の定数、記号、述語、および／または関数のカテゴリに解析する、ステップと、
各定数をパラメータ化されたベクトルにマップするステップであって、各定数は、ノードのサブグラフへの入力としてマップされ、前記人工知能エンジンの前記第１のモジュールは、各述語および／または関数をパラメータ化されたネットワークにマップするようにも構成される、ステップと、
解析木から全ネットワークを構築するステップと、
前記ステートメントの前記定数が後でベクトルと関連付けられる深層ネットワークの構造を定義するために、アサートされた知識を表す論理公式の解析木を作成するステップと、
前記表現および推論のアサーションを真にすること、ならびに、前記より最適な解釈を伝達するために信頼性スコアによって指示される前記第１の機械学習モデルのトレーニングのために使用される前記データと一致させることを目的として、前記定数に関連するベクトル値を適応させると共に前記ネットワークのパラメータを適応させるステップと、
をさらに含む、請求項１１に記載の方法。
【請求項１７】
各前記ルール内の各述語および関数の変数を目標とするステップと、トレーニングデータから導出される統計主導の結論を導きかつ前記第１の機械学習モデルのためにこれらのコスト関数を供給するようエラーを最小化する１以上のコスト関数を使用するステップと、
前記第１の機械学習モデル内に前記ステートメントのセット内の前記表現および推論を表すグラフの前記ネットワークを自動的にまとめるステップと、
パラメータを学習するステップであって、前記第１の機械学習モデルにおいて利用される前記知識表現および推論を表すルールのセットの前記解釈を適応させるために、前記モデル内の前記ネットワークのトレーニングからのフィードバックを提供する、ステップと、
をさらに含む、請求項１６に記載の方法。
【請求項１８】
導くための前記機械学習モデルをトレーニングするために使用されるデータでのトレーニングの反復に基づいて前記ルールのセットの一部を構成する異なる定数に関連するベクトルに対する修正をサポートするステップ、ならびに、前記機械学習モデルをトレーニングするために使用される前記データでのトレーニングの反復に基づく定数とは関連しないベクトルを適応させるステップをさらに含む、請求項１１に記載の方法。
【請求項１９】
ｉ）前記機械学習モデルをトレーニングするために使用される前記データ内で発見された意味論的に類似の専門用語が前記モジュールによって論理的に関連付けられることを可能にすること、ｉｉ）専門家によって供給された意味論的に類似の用語のリストが前記人工知能エンジンの前記モジュールによって論理的に関連付けられることを可能にすること、および、ｉｉｉ）意味論的に類似の用語を論理的に関連付けるために前記モジュールによって使用されることになるこれら２つの任意の組合せによって、前記エンコードされたルールのセットの前記解釈もまた適応させるステップと、
前記適応的意味論学習が前記第１の機械学習モデルに自動的にまとめられてネットワーク化されたトポロジーにエンコードされた前記表現および推論を表すように、意味論ベクトル、ネットワーク、およびカスタム構造を採用するステップと、
前記ルールのセット内の各前記定数に前記トレーニング可能な意味論ベクトルを割り当てるステップ、微分関数を前記ルールのセット内の前記記号に適用するステップ、および前記ルールのセット内の前記述語および関数のためにトレーニング可能なマルチレイヤパーセプトロン（ＭＬＰ）ニューラルネットワークを使用するステップと、
をさらに含む、請求項１８に記載の方法。
【請求項２０】
仕様モジュールの参照に基づいて前記ネットワークに入る関数および述語の任意のパラメータを適応させるステップと、
前記ネットワークを取り込みそれらを前記理論表現モジュールに送って前記第１の機械学習モデル内に前記ネットワークを構築するステップと、
をさらに含む、請求項１９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
関連技術の相互参照
本出願は、その開示の全体が参照により本明細書に組み込まれる、２０１７年５月９日に出願した米国仮特許出願第６２／５０３，８０９号、表題「Ｄｅｅｐ  ａｄａｐｔｉｖｅ  ｓｅｍａｎｔｉｃ  ｌｏｇｉｃ  ｎｅｔｗｏｒｋ」に対して米国特許法第１１９条に基づく優先権を主張する。
【０００２】
本開示の実施形態は、概して、深層適応的意味論論理（ｄｅｅｐ  ａｄａｐｔｉｖｅ  ｓｅｍａｎｔｉｃ  ｌｏｇｉｃ）ネットワークデバイス、システム、および方法を使用する人工知能エンジンに関する。
【背景技術】
【０００３】
一般に、ユーザに利用可能な２つの種類の人工知能アプリケーション、すなわち、推論に優れているが範囲が非常に狭い、知識に基づくものと、学習に優れているが、特定のデータセット向けにカスタム設計される必要があり、合理的な結果を生み出すために非常に大量のデータをしばしば必要とする、データに基づくものとが、現在存在している。必要とされているのは、この両方を行うことができる人工知能である。
【０００４】
いくつかの現在の機械推論技法は、アサーションの数の急増と次の各実験の欠けている部分を満たすための終わりのない努力とを必要とする、専門用語の正確性および使用に関する厳しい要件を課し得る。その一方で、他の機械学習技法は、主題の専門知識を全く無視するか、あるいは、狭い範囲の外ではほとんど役に立たないカスタム統計モデルへの少量の専門知識の労働集約型のエンコードを必要とする。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
科学的知識および仮説は、時に、多くの現代技術によって提供される大量の科学的データを処理することを要求される機械学習アーキテクチャ内で表現することが現在は難しい宣言型の論理形式において、非常に容易に表現することができる。必要とされているのは、論理仕様から機械学習アーキテクチャを自動的に生成することによってこの問題に対処する技術である。
【課題を解決するための手段】
【０００６】
人工知能エンジンのための様々な方法、装置、およびシステムが本明細書で提供される。
【０００７】
人工知能エンジンは、知識表現（ｋｎｏｗｌｅｄｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）および推論（ｒｅａｓｏｎｉｎｇ）のための適応的意味論学習（ａｄａｐｔｉｖｅ  ｓｅｍａｎｔｉｃ  ｌｅａｒｎｉｎｇ）を使用する１以上の機械学習モデルを作成するために、２以上のモジュールを互いに連携させる。人工知能エンジンは、２以上のモジュールを連携させて、制約として働き第１の機械学習モデルによって理解可能なネットワークにグラフ化されるルールのセットへの、特定の分野の１以上の人間ソースによって使用される専門用語を有するその分野の１以上のソースからの表現および推論のエンコードをもたらす。モジュールは、エンコードされたルールのセットを解釈するように構成される。人工知能エンジンはまた、初期セットのルールの異なる定数に関連するベクトルを修正することによって、エンコードされたルールの初期セットの解釈を修正する。人工知能エンジンは、ルールのセットの異なる定数に関連するベクトルおよび異なる関数および述語に関連するネットワークのパラメータを適応させ、ルールを可能な限り真にする最適な解釈を得る。もう１つの実施形態では、人工知能エンジンは、制約として働き第１の機械学習モデルによって理解可能なネットワークにグラフ化されるルールのセットを使用し、そしてまた、トレーニングデータから導出された統計主導の結論を使用してベクトルを適応させる。
【０００８】
エンコードされたルールの解釈は、異なる関数および述語に関連するネットワークのルールのセットおよびパラメータの異なる定数に関連するベクトルを適応させるようにネットワークをトレーニングすることによって変化して、可能な限りルールを真にさせる最適な解釈を得ることができる。人工知能エンジンは、定数に関連するベクトル値を適応させ、ならびに、表現および推論のアサーションを真にすること、ならびに、より最適な解釈を伝達するために信頼性スコアによって指示される第１の機械学習モデルのトレーニングのために使用されるデータと一致させることを目的としてニューラルネットワークのパラメータを適応させる。より高い信頼性スコアは、推論は真であり、また第１の機械学習モデルのトレーニングのために使用されたデータと一致させることを伝える。
【０００９】
知識表現および推論を表すエンコードされたルールの解釈が、機械学習モデルにおいて使用され得る。人工知能エンジンは、クエリ結果に説明可能性を与えるために機械学習モデルにおけるニューラルネットワークによって決定がどのように行われるかを提示するために、クエリサポートモジュールを介して機械学習モデルが問い合わせされることを可能にする。
【００１０】
これらのおよび多数の他の実施形態が説明される。
【図面の簡単な説明】
【００１１】
【図１】知識表現および推論のための深層適応的意味論学習ニューラルネットワークを使用する１以上の機械学習モデルを作成するために互いに連携するように構成された２以上のモジュールを含む人工知能エンジンの一実施形態のブロック図である。
【図２】知識表現および推論のための深層適応的意味論学習ニューラルネットワークを使用する機械学習モデルを作成するために互いに連携するモジュールを含む人工知能エンジンの一実施形態のブロック図である。
【図３】理論モジュールによってエンコードされるおよびパーサーモジュールによって解析されることになる例示的セットのルールおよび述語の一実施形態の図である。
【図４】モジュールはまた、供給されたステートメント内のすべての述語を取り込むおよびそれらをニューラルネットワークのサブグラフにマップする、および次いでステートメントの解析木から全ネットワークを構築するように構成される、ステートメント内のすべての定数を取り込むおよびそれらをニューラルネットワークのサブグラフへの入力として意味論的ベクトルにマップするように構成された、タルスキーモデル、モデル表現モジュールおよび／または言語モジュールなどの、モジュールの一実施形態のブロック図である。
【図５】パーサーモジュールはまた、ノードモジュールの有向アクリルグラフと連携して各ステートメントを経て各ステートメントをそれ自体の木構造のノードに、次いでそのステートメント内の各述語および／または関数のノードのレイヤに変えるように構成される、各ステートメントを解析してそのステートメント内の定数、記号、述語および／または関数のカテゴリへの解析ストリームを生み出すように構成されたパーサーモジュールの一実施形態の図である。
【図６】パーサーモジュールはまた、ノードモジュールの有向アクリルグラフと連携して各ステートメントを経て各ステートメントをそれ自体の木構造のノードに、次いでそのステートメント内の各述語および／または関数のノードのレイヤに変えるように構成される、各ステートメントを解析してそのステートメント内の定数、記号、述語および／または関数のカテゴリへの解析ストリームを生み出すように構成されたパーサーモジュールの一実施形態の図である。
【図７】ｉ）機械学習モデルをトレーニングするために使用されるデータ内で発見された意味論的に類似の専門用語がモジュールによって論理的に関連付けられることを可能にすることと、ｉｉ）ユーザによって供給された意味論的に類似の用語のリストが人工知能エンジンのモジュールによって論理的に関連付けられることを可能にすることと、ｉｉｉ）意味論的に類似の専門用語を論理的に関連付けるためにモジュールによって使用されることになるこれらの２つの任意の組合せとによって、エンコードされたルールの初期セットを修正するように構成された１以上のモジュールの一実施形態のブロック図である。
【図８】専門家によって第１のステートメントから導出されたおよびパーサーモジュールによって解析されたすべての記号、定数、関数、および述語のインベントリを含むように構成された言語モジュールの一実施形態のブロック図である。
【図９】人工知能エンジンの一実施形態によるネットワーク環境において互いに通信するいくつかの電子システムおよびデバイスの図である。
【図１０】本明細書で説明される人工知能エンジンおよびその関連モデルに関連するシステムの一部になり得る１以上のコンピューティングデバイスの一実施形態の図である。
【図１１】ｉ）理論モジュールを介して専門知識から提供された表現および推論における知識アサーションと、ｉｉ）データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされている深層適応的意味論論理ネットワークの概念の一実施形態をグラフィックで示す図である。
【００１２】
設計は、様々な修正形態、同等物、および代替形式を仮定するが、その特定の実施形態が、例として図に示されており、ここで詳細に説明されることになる。設計は、開示される特定の実施形態に限定されず、反対に、特定の実施形態を用いるすべての修正形態、同等物、および代替形式を対象とすることが意図されていることを理解されたい。
【発明を実施するための形態】
【００１３】
以下の記述では、本設計の完全な理解を実現するために、特定のデータ信号、名前を付けられた構成要素、フレームの数などの例など、多くの具体的詳細が明記され得る。しかしながら、本設計はこれらの具体的詳細なしに実施され得ることが、当業者には明らかであろう。他の場合には、よく知られている構成要素または方法は、本設計を不必要に分かりにくくすることを避けるために、詳しく説明はされずに、ブロック図にある。さらに、第１のサーバなどの特定の番号の参照が行われ得る。しかしながら、特定の番号の参照は、文字通りの順番として解釈されるべきではなくて、第１のサーバは第２のサーバとは異なると解釈されるべきである。したがって、説明される具体的詳細は、単に例示であり得る。具体的詳細は、変更することができ、それでもなお、本設計の趣旨および範囲内にあることが意図されている。「連結された」という用語は、構成要素に直接または別の構成要素を介して構成要素に間接的に接続されることを意味するものとして定義される。
【００１４】
図１は、知識表現（ｋｎｏｗｌｅｄｇｅ  ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ）および推論（ｒｅａｓｏｎｉｎｇ）のために深層適応的意味論学習（ｄｅｅｐ  ａｄａｐｔｉｖｅ  ｓｅｍａｎｔｉｃ  ｌｅａｒｎｉｎｇ）ニューラルネットワークを使用する１以上の機械学習モデルを作成するために互いに連携するように構成された２以上のモジュールを含む人工知能エンジンの一実施形態のブロック図である。
【００１５】
人工知能エンジン１００は、知識表現および推論のために深層適応的意味論学習ニューラルネットワークを使用する１以上の機械学習モデルを作成するために、互いに連携するように構成された２以上のモジュールを含む。人工知能エンジン１００の２以上のモジュールは、特定の分野の１以上の人間ソースによって使用される専門用語を有するその分野の１以上のソースからの表現および推論を、制約として働き第１の機械学習モデルによって理解可能なネットワークにグラフ化された１セットのルールにエンコードするために連携する。モジュールは、ｉ）機械学習モデルをトレーニングするために使用されるデータ内で発見された意味論的に類似の専門用語がモジュールによって論理的に関連付けられることを可能にすることと、ｉｉ）専門家によって供給された意味論的に類似の用語のリストが人工知能エンジンのモジュールによって論理的に関連付けられることを可能にすることと、ｉｉｉ）意味論的に類似の専門用語を論理的に関連付けるためにモジュールによって使用されることになるこれらの２つの任意の組合せとによって、エンコードされたルールのセットの理解を適応させる、ように構成される。（図７も参照。）モジュールはまた、初期セットのルールの異なる定数に関連するベクトルを修正することによって、たとえば、トレーニングデータから導出された統計主導の結論を使用することによって、エンコードされたルールのセットの理解を適応させるように構成される。すべての適応は、クエリサポートモジュールを介して問い合わせることができる機械学習モデルにおいて利用される知識表現および推論を表すエンコードされたルールのセットの理解を生み出すために、結合することに留意されたい。
【００１６】
２以上のモジュールは、定量化（ｑｕａｎｔｉｆｉｅｒ）サポートモジュール、学習アルゴリズムのデータベースを含む学習アルゴリズムモジュール、言語モジュール、パーサー（ｐａｒｓｅｒ）モジュール、理論入力モジュール、タルスキーモデル、モデル表現モジュール、ノードモジュールの有向アクリルグラフ、クエリサポートモジュール、理論表現モジュール、および仕様モジュールを含み得る。モジュールは、ソフトウェアにおいてコード化された任意の命令を実行するために、１以上のプロセッサを使用し、人工知能エンジンの１以上のメモリに記憶される、ことに留意されたい。１つのモジュールにおいて実行される機能は、反復、結合、または別のモジュールに移植することができる。様々なモジュールは、互いに参照するおよび他の方法で通信することができる。
【００１７】
理論モジュールは、専門知識データベースおよび／または個別の専門用語の直接ユーザ入力を含む１以上のソースから、人間が述べた知識表現および推論の入力を可能にすることができる。知識表現および推論は、機械学習モデルに関連するシステムを科学者が説明および理解することを可能にする用語集を提供するための構造体の定性的および定量的要素にラベルを付けるために導入することができる。理論モジュールは、パーサーモジュールを介してアサーションならびに言語モジュールに知識表現および推論から導出される述語、関数および定数の原子論理式をエンコードし、送ることができる。定数は、たとえば、エンティティ、オブジェクト、名前、人々、物事などを含み得る、ことに留意されたい。
【００１８】
言語モジュールは、その他のモジュールと連携して機械学習を使用して表現および推論内の専門用語に関連する意味の分散型ベクトル表現を発見することによって、計算アルゴリズムにセミフォーマル科学言語を理解可能にするために、１次論理要素を使用することができる。科学者は、理論モジュールを介してその特定の分野のよく知られた（しかし、フォーマルな）言語で複雑な背景知識および仮説を提供することができる。理論モジュールを介するＡＩエンジン１００は、任意の公式と連動することができる。また、人間の専門家および／または既存のデータベースは、知識基盤を提供する専門家でもよい。
【００１９】
理論モジュールは、専門家によって供給された知識からのアサーションが言語モジュール内の１次論理要素を使用するルールのセットとしてエンコードされることを可能にするように構成することができる。
【００２０】
理論モジュールは、知識を有する抽象的アサーションとデータを有する具体的アサーションとに分けることができる。アサーションは、論理定数ならびに原子論理式に進むことができる。その分野／技術の専門家からの知識が、フォーマルステートメントのセットとして理論入力モジュールから入力される。この入力された知識は、データでの作成された機械学習モデルトレーニングにおいて生じるその後の学習に制約として働くルールを作成するために使用される。したがって、物事どのように機能するかの理論が、その分野／技術の一般的な言語で専門家によって入力され、機械学習モジュール内の機械がそれに基づいて動作することができるルールのセットにエンコードされる。有利には、ＡＩエンジン１００は、ユーザ／専門家がルールを設定することと、コンピューティングデバイスによって理解可能なフォーマル言語にＡＩエンジン１００によってエンコードされた、知識表現および推論を介する、定数、述語／プロパティを指示することとを可能にする。しかしながら、このセットのルールを用いても、専門用語が何を意味するかおよびルールがどのように適用されるかの解釈にはまだ余地があることになる。ＡＩエンジン１００は、その用語が何を意味するかおよびルールがどのように適用されるかの理解を、そのセットのルールにおいて、調整するために、データトレーニングで機械学習の第２の部分を用いる、ことに留意されたい。
【００２１】
図１１は、ｉ）理論モジュールを介して専門知識から提供された表現および推論における知識アサーションと、ｉｉ）データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされている深層適応意味論的論理ネットワークの概念の一実施形態の図をグラフィックで示す。ステートメントのセットは、機械学習モデルの構造を作成するならびに表現および理由を最初に検査するためのルールのセットを作成する。続いて、トレーニングされているデータが、ルールのセットの現在の解釈を作成するために、そのルールのセットで使用される言語／専門用語の理解を訂正するためのフィードバックとして使用される。
【００２２】
図１に戻って参照すると、理論モジュールおよび言語モジュールは、１次の論理を使用してルールのセットを作成する知識表現および推論に基づいてフォーマル言語でステートメントのセットを専門家が書くことを可能にするために連携することができる。ルールのセットは、フォーマルプログラミング言語でエンコードされた１セットのステートメントである。（たとえば、図３にグラフィックで示された例示的ルールを参照。）
【００２３】
パーサーモジュールは、そのステートメント内の定数、記号、述語、および／または関数のカテゴリ内への解析ストリームを生み出すために、ステートメントを解析することができる。パーサーモジュールは、各ステートメントをそれ自体の木構造のノードに、次いでそのステートメント内の各述語および／または関数のノードのレイヤに向けるために、ノードモジュールの有向アクリルグラフと連携して各ステートメントを経由することができる。（図８、ならびに図３、４、および５の解析された例示的カテゴリをグラフィックで参照。）
【００２４】
言語モジュールはまた、専門家のステートメントから導出されたおよびパーサーモジュールによって解析されたすべての記号、定数、関数、および述語のインベントリを含むように構成され得る。
【００２５】
タルスキーモデルまたはマルチレイヤパーセプトロン（ＭＬＰ：ｍｕｌｔｉｌａｙｅｒ  ｐｅｒｃｅｐｔｒｏｎ）ネットワークは、解析木（ｐａｒｓｅ  ｔｒｅｅ）および言語の周りに何らかの中間組織を提供することができる。
【００２６】
人工知能エンジン１００のモデル表現モジュールは、すべての解析木から全ニューラルネットワークを構築することができる。モデル表現モジュールは、意味の学習可能ベクトル表現をオントロジにおける定数／エンティティに、およびそれの関数および述語に学習可能なモデルを割り当てることができる。モデル表現モジュールは、定数に関連するベクトル値を適応させ、ならびに表現および推論のアサーションを真にすることおよび機械学習モデルをトレーニングするために使用されるデータと一致することを目的としてニューラルネットワークのパラメータを適応させることができる。オントロジは、それらのプロパティおよびそれらの間の関係を示す対象エリアまたは領域内の概念およびカテゴリのセットでもよい。モジュール表現は、機械学習モデルに入るパラメータをフラッシュアウトすることができる。ニューラルネットワークは、次いで、変数を学習することになる。
【００２７】
理論表現モジュールは、この情報のすべてをまとめ、次いで、ルールのセットに従って大きなニューラルネットワークを有するまとめられた機械学習モデルを作成する。理論表現モジュールにおいて、意味論的推論が、これらの表現に関して直接に実行され得、そして、表現が、知識基盤によっておよびユーザによって供給されたアサーションとの呼応を最大化するために学習されることになる。
【００２８】
また、モデル表現モジュールは、単一の固定のモデル表現の使用に対するモデル表現の複数の異なる変形を使用することができる。
【００２９】
仕様モジュールは、様々なタルスキーモデル、ファクタディメンション、ニューラルパラメータ、および最適化パラメータを含み得る。仕様モジュールは、一般に使用されるおよびデフォルトの値のシンタックスを提供することができ、そこで、ユーザはデフォルト値をオーバーライドする能力を有する。たとえば、ベクトルディメンションの仕様が与えられ得る。いくつのレイヤおよびいくつのノードのニューラルパラメータがコスト関数のアルゴリズムを用いて仕様モジュールならびに最適化パラメータにおいて設定され得るか、および、どのタイプの最適化が使用されるべきか。トレーニングデータでの反復トレーニングは、トレーニングデータから導出される統計主導の結論を導くことになる。学習アルゴリズムのための初期重みの仕様は、仕様モジュールにおいて設定することができる。モデル表現モジュールなどの様々なモジュールは、仕様モジュールを参照することができる。
【００３０】
理論表現モジュールは、ニューラルネットワークをまとめ、機械学習モデルを生成することができる。人工知能エンジン１００の理論表現モジュールは、ステートメントのセット内の表現および推論を表すグラフのネットワークを機械学習モデル内に自動的にまとめるようにコード化される。理論表現モジュールは、機械学習モデルにおいて利用される知識表現および推論を表す現在の訂正されたセットのルールを作成するために、パラメータを学習し、モデル内のニューラルネットワークのトレーニングからのフィードバックを提供することができる。
【００３１】
定量化サポートモジュールは、機械学習モデルをトレーニングするために使用されるデータでのトレーニングの反復に基づいてルールのセットの一部を構成する異なる定数に関連するベクトルに対する修正をサポートすることができる。
【００３２】
学習アルゴリズムモジュールは、まとめられた機械学習モデルのトレーニングに適用することができるいくつかの異なる学習アルゴリズムを含む。人工知能エンジン１００の学習アルゴリズムモジュールは、それぞれのルール内の各述語および関数の変数を対象とするように構成され得る。学習アルゴリズムモジュールは、エラーを最小限に抑えるために、ならびに理論表現モジュールによってまとめられた機械学習モデルのためのこれらのコスト関数を供給するために、１以上のコスト関数を使用する。これらのコスト関数は、現在の解釈がルールおよびデータをいかによく満たすかを示す信頼性スコアを提供するために使用することができる。意味論ベクトルは、両方のソース、ｉ）ルールのセットにおける知識表現および推論と機械学習モデルをトレーニングするために使用されるデータでの反復トレーニングから出されたいずれかの結論、との呼応を最大化することによって、学習される。
【００３３】
理論表現モジュールから生成された作成された機械学習モデルは、ｉ）理論モジュールを介して専門知識から提供される表現および推論のアサーションと、ｉｉ）データでの反復トレーニングから導出された機械学習アサーションとの両方でトレーニングされている。専門知識は、ルールのセットのデータ組織のフレームワークを提供し、データは、命令を参照してパターンを説明する。人工知能エンジン１００は、知識表現および推論から導出されたルールのセットをともに使用し、次いで、単独でトレーニングデータを使用する単なる学習より少ないトレーニング周期および計算時間の消費を可能にするために、トレーニングデータから導出されたそれらのルールの理解を適応させる。
【００３４】
機械学習モデルについては、既存のシミュレータまたは他のデータソースがトレーニングデータを提供することができる。
【００３５】
クエリ結果に説明可能性を与えるために決定が機械学習モデルにおけるニューラルネットワークによってどのように行われるかを提示するように構成されたクエリサポートモジュール。ブールクエリ、自然言語検索クエリ、説明要求、公理補正、およびこれらの任意の組合せからなるグループから選択された様々な人間相互作用を、クエリサポートモジュールを介して、サポートし、次いで、クエリ結果に説明可能性を与えるために、機械学習モデルにおけるニューラルネットワークによって決定がどのように行われるかを提示するように構成されたクエリサポートモジュール。結果の説明可能性は、科学者が、次いで、クエリサポートモジュールを介して知識表現および推論において表現されたプロパティを問い合わせるとき、クエリサポートモジュールが、理論モジュール内の知識表現および推論によって供給された定数、記号、関数、および述語に相互に関連付けし返され得る、トレーニングに説明可能性を与える、結果を掘り下げて結果がなぜこの形であるかを判定する能力でクエリ結果を生成するように構成されるというようなことである。他の実施形態では、それは、掘り下げである必要はなく、そうではなくて、説明が、質問に応答して、提供される。説明可能性は、クエリサポートモジュールを介する知識表現および推論において表現されたプロパティをユーザが問い合わせる場合、次いで、クエリサポートモジュールが、信頼性スコアと、１）その分野の１以上のソースから表現および推論において供給された定数、記号、関数、および述語へのプロパティのマッピングおよび２）そのマッピングに関連する論理ステップの提供のうちの少なくとも１つと、を有するクエリ結果を生成するように構成される。
【００３６】
したがって、専門家は、物事がどのように動作するかの用語、公式などを含む彼らの知識基盤を供給する。この設計の副次的利益は、ユーザが、ルールを作成するために使用された供給された用語の初期セット内にない用語または公式を使用する、新しい質問をした場合、ユーザは、多くのより容易な動作を再使用することができる、すなわち、ユーザはトレーニングまたは適応を行う必要はなく、機械学習モジュールの新しいネットワークをただまとめ直し、それを評価する、ということである、ことに留意されたい。
【００３７】
次に、ＡＩモデルは、専門家の知識基盤によって設定されたルールセットの制約を使用して、次いで、そのルールのセットでトレーニングし、次いで、分析されているデータ、および学習に基づいて、ルールのセット内の各定数／エンティティ、関数および述語の理解を調整する。それらの定数、関数および述語を使用するデータの反復使用およびトレーニングを介して、次いで、ＡＩエンジン１００はまた、意味論的に関係する様々な用語がどのように互いに関係しているかを確かめることができる。これは、それらの異なる用語の反復使用およびトレーニングを介して生じる。
【００３８】
ＡＩエンジンは、それの機械学習および推論システムを介して科学的知識のデータ駆動型の発見を加速することになる。この深層適応意味論的論理ネットワークは、「ボトムアップの」データ駆動型モデリングを「トップダウンの」理論的推論と統合する（図１１を参照）。この手法は、生体細胞などの動的システムのモデリング、基本的物理特性に関する純粋に定量的な処置にはあまりに複雑すぎる試み、に必須の定性的推論および定量的推論の両方を統合する。そのような動的システムは、制御可能な工学変数に応答して動作の安定領域の間の遷移に関してモデリングされなければならない。個別の専門用語が定性的および定量的要素にラベルを付けるために導入される。
【００３９】
科学者は、楽にそのようなセミフォーマル技術言語を彼らの間で使用して仮説を公式化するおよび新しい実験のアイディアを説明する。生産性を最大化するために、科学者は、そのような用語で通信することができる自動論理推論システムによってサポートされるべきであるが、現在の知識表現および推論方法は、そのような通信が実行可能なオプションであることは滅多にない厳格で徹底的な詳細においてオントロジおよび宣言型知識を指定することを必要とする。さらに、自動化は、高性能のデータ収集技術を開発した生物学、神経科学、および他の分野において現在研究される高度に複雑な動的システムを理解するために必要とされる規模でのデータ処理に必須の統計機械学習ツールでより高いレベルの理論的知識に関する機械推論を支援すべきである。
【００４０】
深層適応的意味論論理ネットワークは、科学的進歩のペースを大きく加速する、まさにそのようなシステムを提供することになる。このシステムの新機軸は、実際にシームレスに機械推論に機械学習を支援し、専門用語の使用に適合する意味の分散された（ベクトル）表現を発見するために機械学習を使用することによってセミフォーマル科学言語を計算アルゴリズムに理解可能にさせることである。この方法で、科学および工学に重要な区別は発見および維持される一方で、逆に、無関係の詳細は無視され、形式主義の負荷は減らされ、推論はそらされない。加えて、システムは、理解を危うくなくさせるように／ステートメントが最初にどのように設定されるかに応じて、用語に関連する意味の異なる理解に適応させる。
【００４１】
設計者は、ゼロまたはより調整可能なパラメータを有するカスタムメイドの特殊目的のモデルであるいはニューラルネットワークなどの市販の機械学習モデルでこれらのモジュールを実装するオプションを有すること、に留意されたい。パラメータは、事前知識および／またはデータの任意の使用可能な組合せから学習することができる。両方が、それらの表現に必要な論理深度を使用する論理レイヤを介して提示される。データは、通常は、ほとんどまたは全く必要とせず、その場合、形式主義は、機械学習の通常の形でそれを処理することまで縮小し、一方で、知識はより精巧に表現される。学習は、機能モジュールのみならず、それらが動作するエンティティの分散型ベクトル意味論的表現もまた調整し、それにより、データおよび事前知識における黙示的意味を捉える。
【００４２】
ＡＩエンジン１００は、論理的に構成された学習を使用する。システムは、複雑な科学的理論、実験プロトコル、およびデータをこれに応じた精巧な機械学習アーキテクチャに急速に構成および再構成することを可能にする機械学習にモデル理論的知識表現を組み込む。科学的知識および仮説は、様々な機械学習モジュール、および、使用可能な場合には、静的または調節可能な特殊な領域モデル、によって表される論理の述語および関数で、論理アサーションとしてまとめられる。これらは、論理公式を実装する複雑な機械学習モデルに自動的にまとめられ、次いで、所与の実験データおよび述べられた理論的知識との互換性を最大化するようにトレーニングされる。
【００４３】
ＡＩエンジン１００は、学習された論理意味論を使用する。システムは、推論が行われる基本的エンティティの意図された意味を学習するためにベクトル空間の意味論的方法を活用する形を使用する。この意味論的適応は、関数および述語の学習に加えて、およびこれらと協調して、行われる。意味論的区別は、それが論理的に記載されるようにそれらが科学に物質的影響をもたらす程度まで単に表され得る。これは、同等に重要なものとしてすべての詳細を衒学的に扱うことから推論プロセスを解放し、機械推論システムにおいて現在可能なものを遥かに超える論理頑健性をもたらす。
【００４４】
図２は、知識表現および推論のための深層適応意味論的学習ニューラルネットワークを使用する機械学習モデルを作成するために互いに連携するモジュールを含む人工知能エンジンの一実施形態のブロック図である。
【００４５】
理論モジュールは、専門知識データベースおよび／または個別の専門用語の直接ユーザ入力を含む１以上のソースから、人間が述べる知識表現および推論の入力を可能にする。表現および推論は、科学者がシステムを説明および理解することを可能にする用語集を提供するための構造体の定性的および定量的要素にラベルを付けるために導入される。理論モジュールは、アサーションと述語、関数および定数／エンティティの原子論理式とをエンコードし、パーサーモジュールを介して言語モジュールに送るように構成される。言語モジュールは、その他のモジュールと連携して機械学習を使用して専門用語に関連する意味の分散型ベクトル表現を発見することによって、セミフォーマル科学言語を計算アルゴリズムに理解可能にさせるために、１次論理要素を使用する。言語モジュールによって使用される１次論理要素は、ルールが１次の論理、たとえば、次の３つのうちのいずれか、において表現可能なように、論理定数、述語、関数、およびエンティティを含み得る：ｉ）オントロジまたは知識基盤、ｉｉ）ＯＷＬ、ＫＩＦ、ＳＷＲＬ、および、ｉｉｉ）形式化することができる構造化された知識（たとえば、流れ図）。
【００４６】
言語モジュールはまた、専門家のステートメントから導出されたおよびパーサーモジュールによって解析されたすべての記号、定数、関数および述語のインベントリを含むように構成される。
【００４７】
モデル表現モジュールは、ステートメント内のすべての記号を取り込み、それらの各々をニューラルネットワークのそれら自体のサブグラフと関連付けるように構成される。モデル表現モジュールはまた、ステートメント内のすべての定数を取り込むおよびそれらをニューラルネットワークのサブグラフへの入力として意味論的ベクトルにマップするように構成される（グラフィックで、図４および５を参照）。モデル表現モジュールはまた、供給されたステートメント内のすべての述語を取り込むおよびそれらをニューラルネットワークのサブグラフにマップするように構成される（グラフィックで、図４および５を参照）。モデル表現モジュールはまた、供給されたステートメント内のすべての関数を取り込み、それらをニューラルネットワークのサブグラフにマップするように構成される。モデル表現モジュールもまた、各ニューラルネットワークおよびそれの学習されたベクトルにアノテーションするように構成される。
【００４８】
深層適応的意味論学習ニューラルネットワークが、第１の機械学習モデルに自動的にまとめられて、それのニューラルネットワークトポロジにエンコードされた表現および推論を表すことができるように、モデル表現モジュールは、意味論的ベクトル、ニューラルネットワーク、およびカスタム構造を用いることができる。
【００４９】
言語モジュールは、ルールのセット内の定数をモデル表現モジュールに送って、トレーニング可能な意味論ベクトルをそれぞれの定数に割り当てることができる。言語モジュールはまた、ルールのセット内の記号をモデル表現モジュールに送って固定の微分関数を適用するように構成される。言語モジュールはまた、述語および関数をモデル表現モジュールに送ってトレーニング可能なマルチレイヤパーセプトロン（ＭＬＰ）ニューラルネットワークを使用するように構成される。
【００５０】
モデル表現モジュールはまた、仕様モジュールの参照に基づいてニューラルネットワーク内に進む任意のパラメータをフラッシュアウトすることができる。
【００５１】
一実施形態において、タルスキーモデルが、記号、定数、関数、および述語をマップするために使用される。タルスキーモデルは、それのニューラルネットの各記号および定数をマップするための何らかの論理を有する。
【００５２】
理論表現モジュールは、次いで、すべてのニューラルネットワークを取り込むおよびそれらを理論表現モジュールに送って機械学習モデルにおいてそれらのすべてを構築するように構成される。
【００５３】
理論表現モジュールからのまとめられた機械学習モデルは、推論が行われる定数／エンティティの意図された意味を学習するために、ベクトル空間意味論的方法を活用することができる。この意味論的適応は、関数および述語の学習に加えて、およびこれらに協調して、行われる。理論表現モジュールは、理論モジュールにおいて専門家によって行われたアサーションを表すグラフのネットワークを含む機械学習モデルを自動的にまとめる。専門知識が、解析ネットワークトポロジにおいてエンコードされる。
【００５４】
人工知能エンジン２００は、合意オントロジ内への異種の知識ソースのマッピングから、ならびにこのオントロジ内へのユーザ入力のマッピングから必ず生じる誤りにもかかわらず、そのシステム機能を賢く守る。
【００５５】
人工知能エンジン２００は、専門知識からの推論およびデータからの学習がともに行われることを可能にすることになる人工知能を提供し、知識およびデータの両方の入力要件を最小限にし、推論を今日利用可能なものより頑強にする。
【００５６】
人工知能エンジン２００は、それらの大まかな意味からそれらの知識表現および推論の専門家の意図した意味を学習し、次いで、関連データでの反復トレーニングからそれらの意味を精緻化する。知識駆動型およびデータ駆動型の機械推論の組合せは、人工知能のアプリケーションが基本のおよび適用される発見の速度を数桁増やすことを可能にすることになる。
【００５７】
図３は、理論モジュールによってエンコードされるおよびパーサーモジュールによって解析されることになる例示的セットのルールおよび述語の一実施形態の図を示す。
【００５８】
理論モジュールは、コンピューティングデバイスによって理解可能なセミフォーマル言語での知識表現および推論に対応し、ユーザがルール３０２を設定するおよび定数、述語／プロパティを指示することを可能にする。
【００５９】
理論モジュールおよび言語モジュールは、ユーザ／専門家が１次の論理（ルールのセット３０２と呼ばれる）においてフォーマル言語で１セットのステートメントを書くことを可能にするために連携する。ルールのセット３０２は、セミフォーマルプログラミング言語でエンコードされた１セットのステートメントである。たとえば、図に示されたルール３０２を参照。例示的なルールの初期セット３０２は：
（∀ｘ，ｙ）（ｆｒｉｅｎｄｓ（ｘ，ｙ）→ｆｒｉｅｎｄｓ（ｙ，ｘ））
（∀ｘ，ｙ）（（ｓｍｏｋｅｓ（ｘ）∧ｆｒｉｅｎｄｓ（ｘ，ｙ））→ｓｍｏｋｅｓ（ｙ））
（∀ｘ）（ｓｍｏｋｅｓ（ｘ）→ｈａｓＣａｎｃｅｒ（ｘ））
ｘおよびｙベクトルがルールにおいて変化するとき、それらのルールの解釈は変化する。
【００６０】
加えて、ステートメントからの、ボブ、ピーター、ヒューイ、またはルイなど、各定数は、ステートメントから、癌である、喫煙、友達であるなどの述語３０４および／または関数を有することができる。例示的述語３０４は、癌である、喫煙、友達であるなどを含む。
【００６１】
図４は、ステートメント内のすべての定数を取り込むおよびそれらをニューラルネットワークのサブグラフへの入力として意味論的ベクトルにマップするように構成された、タルスキーモデル、モデル表現モジュールおよび／または言語モジュールなどの、モジュールの一実施形態のブロック図を示し、モジュールはまた、供給されたステートメント内のすべての述語を取り込み、それらをニューラルネットワークのサブグラフにマップし、次いで、ステートメントの解析木から全ネットワークを構築するように構成される。
【００６２】
説明されたように、人工知能エンジン４００のパーサーモジュールは、１セットのステートメント内のエンコードされた表現および推論を経て、ステートメントの部分をそのステートメントにおける定数、記号、述語、および／または関数のカテゴリに解析することができる。（図３、５、および８も参照）。パーサーモジュールは、ステートメントのこれらの異なる部分がどのカテゴリに入るかをシンタックスから知るように構成され得る。断定された知識を表す論理公式の解析木は、開示の領域の定数が実数ベクトルによって表される深層ニューラルネットワークの基本構造を生成する。
【００６３】
次に、人工知能エンジンの、タルスキーモデル、モデル表現モジュールおよび／または言語モジュールなどの、モジュールは、各定数（たとえば、エンティティ／オブジェクト／人／名前）をパラメータ化されたベクトルにマップするように構成され得る。ボブ、ピーター、ヒューイ、およびルイなど、各定数は、ノードのサブグラフに入力としてマップされる。人工知能エンジンのモジュールはまた、喫煙、癌である、または友達であるなどの各述語または関数をパラメータ化されたニューラルネットワークにマップするように構成される。理論入力モジュールからステートメントとして入力された知識からの各述語／関数は、ノード／パラメータ化されたニューラルネットワークの独自のサブグラフを有する。（図５も参照）
【００６４】
人工知能エンジン４００の、モデル表現モジュールおよび／または有向アクリルグラフモジュールなどの、別のモジュールは、公式解析木から全ニューラルネットワークを構築するように構成され得る。説明されたように、パーサーモジュールおよび言語モジュールは、ステートメントの定数が後でベクトルと関連付けられる深層ニューラルネットワークの構造を定義するために、断定された知識を表す論理公式の解析木を作成するために連携することができる。モデル表現モジュールは、表現および推論のアサーションを真にすることならびに機械学習モデルをトレーニングするために使用されるデータと一致することを目的として、ニューラルネットワークのベクトル値ならびにパラメータを適応させることができる。
【００６５】
ルールのセット内のすべてのステートメントの解析木を使用して、ＡＩエンジンは、科学的理論の全意味論を実装する対応する機械学習モデルを自動的に構築することになる。適応意味論的学習を使用する深層ニューラルネットワーク（ＤＡＳＬ：ｄｅｅｐ  ｎｅｕｒａｌ  ｎｅｔｗｏｒｋ  ｕｓｉｎｇ  ａｄａｐｔｉｖｅ  ｓｅｍａｎｔｉｃ  ｌｅａｒｎｉｎｇ）の証明論的生成の本例では、モデリング構築プロセスは：
１．各人をパラメータ化されたベクトルにマップする、
２．各述語／関数をパラメータ化されたネットワークにマップする、
３．全ネットワークを公式解析木から構築する、
４．各ルールの定数の述語および関数の各データカラムの変数を対象とする
（図３のカラムを参照）、
５．パラメータを学習する（ネットワークをトレーニングする）、および、
６．ネットワークの定数ならびにパラメータのベクトル値が、ルールのセット内のアサーションを真とさせるおよび機械学習モデルをトレーニングするために使用されているデータと一致させるように適合される。
【００６６】
図５および６は、各ステートメントを解析してそのステートメント内の定数、記号、述語および／または関数のカテゴリへの解析ストリームを生み出すように構成されたパーサーモジュールの一実施形態の図を示し、パーサーモジュールはまた、ノードモジュールの有向アクリルグラフと連携して各ステートメントを経て各ステートメントをそれ自体の木構造のノードに、次いでそのステートメント内の各述語および／または関数のノードのレイヤに向けるように構成される。
【００６７】
ステートメントからの、ボブ、ピーター、ヒューイ、またはルイなどの、各定数５００は、ステートメントからの、癌である、喫煙、友達であるなどの述語および／または関数を有することができる。パーサーモジュールは、専門家によって供給された知識から解析された異なる述語／関数の解析木を作成する。エンジンのモジュールは、喫煙、癌であるまたは友達であるなどのパラメータ化されたネットワークに各述語／関数をマップすることができる。エンジンのモジュールのモジュールは、ボブ、ピーターなどの定数のグラフへの入力を行うことができる。また、各定数は、ノードのグラフの独自のセットを有することができる。
【００６８】
図６は、解析ストリームの喫煙（Ｓ）、友達（Ｆ）および癌である（Ｃ）のネットワーク６００の全セットの一例を示す。
【００６９】
図７は、ｉ）機械学習モデルをトレーニングするために使用されるデータ内で発見された意味論的に類似の専門用語がモジュールによって論理的に関連付けられることを可能にすること、ｉｉ）ユーザによって供給された意味論的に類似の用語のリストが人工知能エンジンのモジュールによって論理的に関連付けられることを可能にすること、およびｉｉｉ）意味論的に類似の専門用語を論理的に関連付けるためにモジュールによって使用されることになるこれらの２つの任意の組合せによって、エンコードされたルールのセットを適応させる、ように構成された１以上のモジュールの一実施形態のブロック図である。モジュールはまた、トレーニングデータから導出された統計主導の結論を使用する初期セットのルールの異なる定数に関連するベクトルを修正することによってエンコードされたルールの初期セットを修正するように構成される。
【００７０】
ステートメントの初期セットにおいて見つけられるおよび／またはトレーニングデータにおいて見つけられる１セットの用語は、意味論的に類似の用語でもよい。たとえば、「女性」、「女王」、および「妃殿下」は、トレーニングされている特定のデータおよび／またはステートメントの初期セットにおいて、すべて意味論的に類似の用語でもよい。いくつかのファクタに基づいて、ある特定の用語が、より類似するベクトルを、故に関係を有することになる。図示された例では、猫と犬は、コンピュータと犬と比べてより類似するベクトル７００を有する。本例では、類似の用語、猫と犬は、互いに近いベクトル７００を有する。本明細書で、意味論は、ルールの解釈を指す。
【００７１】
実施形態において、ステートメントにおいてまたはトレーニングデータにおいて見つけられた用語の各インスタンスは、その用語の総合的ベクトルを決定するために、次いで数学的に要約または平均化される独自のベクトルを割り当てられる。加えて、意味論的に類似の用語は、特定の用語の総合的ベクトルに重み付け／因数分解され得る。
【００７２】
類似の意味（動作）を有するエンティティの間で、それらが同じ名前を有するかどうかにかかわらず、論理統一が生じるように、類似のやり方で動作するエンティティは、類似のベクトルを取得し、論理推論が、これらのベクトルに関して実行される。この手法は、アサーションがどのように述べられるかに極端な規範を課すことなくシステムが機能することを可能にする。
【００７３】
システムは、エンティティのベクトルメトリクスを比較し、異なる表現についてベクトルメトリクスがどのくらい近いかを確かめることができる。
【００７４】
ＡＩエンジンは、学習された意味論的ベクトル表現を人、機関、職位などのエンティティに割り当てることによって、存在論的厳格性に対する頑健性を達成する。知識基盤によって提供され得るように、適切なデータが入手可能であるときに初期化のために標準方法を使用することができるが、言語資料内の共起統計に基づく標準方法とは対照的に、すべてモデルパラメータであるものとして、論理アサーションおよびデータとの呼応を最大化することによって、意味論的ベクトルが学習される。
【００７５】
ＡＩエンジンは、専門用語と、それらが互いにどのように関係するかに注目する。モデル表現モジュールは、学習されたそれらに割り当てされたベクトルを有する定数の調整可能なパラメータを調整することができる。用語のベクトル意味論は、ＡＩエンジンによって割り当てられて、類似の単語を類似のベクトルと関連付けることによって学習を支援する。ＡＩエンジンは、統計資料および使用状況から用語および導出された意味を描くことができる。ＡＩエンジンは、ファクタとして共用プロパティに注目して、意味論的に類似のベクトルを決定し、浅い推論を可能にし、これ故に、より少ない計算を可能にする。ＡＩエンジンはまた、フォーマル推論システムにおいて記号のベクトル意味論を学習することができる。ＡＩエンジンは、フォーマルシステムのルールによってのみ提供されるより強固な推理能力を達成することができる。
【００７６】
ＡＩエンジンは、フォーマル推論システムにおいて記号のベクトル意味論を学習することになる。ＡＩエンジンは、フォーマルシステムのルールによってのみ提供可能なものよりもさらに強固な推理能力を達成することになる。
【００７７】
図８は、専門家によって第１のステートメントから導出されたおよびパーサーモジュールによって解析されたすべての記号、定数、関数、および述語のインベントリを含むように構成された言語モジュールの一実施形態のブロック図である。
【００７８】
知識は、「（ｆｏｒａｌｌ  ｘ）［Ｂ（ｘ）ｉｍｐｌｉｅｓ  Ｆ（ｘ）」などおよび示された「ｉｓＡｂｏｖｅ（ａ，ｂ）」および「ａ＝ｂ：ｉｓＲｅｄ（ａ）」など、論理フォーマットで断定することができる。
【００７９】
これらの公式の構造は、学習可能なパラメータを有するネットワークに直接変換される。ＡＩエンジン７５０は、ユーザ入力を可能にするサブネットワークを設計する、および／またはデフォルトネットワーク構造のファミリからグラフ構造を選択する。パラメータは、次いで、深層ニューラルネットワーク技法を使用し、推定することができる。トレーニングの目的は、すべての論理アサーションおよびすべての入手可能なデータ評価を「真」にすることである。
【００８０】
したがって、知識表現が、理論モジュールに入力され得る：「世界について語る」。ステートメント内の言語は、世界の可能なオブジェクトに対応する定数「ａ」および「ｂ」を含み得る。ステートメント内の言語は、ｇ（・，・）、ｆ（・）などの関数記号をさらに含み得る。ステートメント内の言語は、オブジェクト間の関係を示す、述語記号ｉｓＡｂｏｖｅ（・，・）、ｉｓＲｅｄ（・）をさらに含み得る。ステートメント内の言語は、原子論理式をさらに含み得る：「ｉｓＡｂｏｖｅ（ａ，ｂ）」および「ａ＝ｂ：ｉｓＲｅｄ（ａ）」。原子論理式は、論理結合子を適用することによって、構築することができる。
ネットワーク
【００８１】
図９は、人工知能エンジンの一実施形態によるネットワーク環境において互いに通信するいくつかの電子システムおよびデバイスの図である。ネットワーク環境８００は、通信ネットワーク８２０を有する。ネットワーク８２０は、光ネットワーク、セルラネットワーク、インターネット、ローカルエリアネットワーク（「ＬＡＮ」）、ワイドエリアネットワーク（「ＷＡＮ」）、衛星ネットワーク、ファイバネットワーク、ケーブルネットワーク、およびその組合せから選択される１以上のネットワークを含み得る。一実施形態において、通信ネットワーク８２０は、インターネットである。図示するように、多数のサーバコンピューティングシステムと、通信ネットワーク８２０を介して互いに接続された多数のクライアントコンピューティングシステムとが存在し得る。しかしながら、たとえば、単一クライアントコンピューティングシステムはまた単一サーバコンピューティングシステムに接続され得ることを理解されたい。したがって、サーバコンピューティングシステムおよびクライアントコンピューティングシステムの任意の組合せが、通信ネットワーク８２０を介して互いに接続し得る。
【００８２】
通信ネットワーク８２０は、少なくとも第１のサーバコンピューティングシステム８０４Ａおよびａ第２のサーバコンピューティングシステム８０４Ｂから選択された１以上のサーバコンピューティングシステムを、互いに、そしてさらに少なくとも１以上のクライアントコンピューティングシステムに、接続することができる。サーバコンピューティングシステム８０４Ａは、たとえば、１以上のサーバシステム２２０でもよい。サーバコンピューティングシステム８０４Ａおよび８０４Ｂは、データベース８０６Ａおよび８０６Ｂなどの系統的なデータ構造体を任意選択で各々含み得る。１以上のサーバコンピューティングシステムの各々は、１以上の仮想サーバコンピューティングシステムを有することができ、複数の仮想サーバコンピューティングシステムは、設計によって実装され得る。１以上のサーバコンピューティングシステムの各々は、データ完全性を保護するために、１以上のファイヤーウォールを有することができる。
【００８３】
少なくとも１以上のクライアントコンピューティングシステムは、第１のモバイルコンピューティングデバイス８０２Ａ（たとえば、アンドロイドベースのオペレーティングシステムを有するスマートフォン）、第２のモバイルコンピューティングデバイス８０２Ｅ（たとえば、ｉＯＳベースのオペレーティングシステムを有するスマートフォン）、第１のウェアラブル電子デバイス８０２Ｃ（たとえば、スマートウォッチ）、第１のポータブルコンピュータ８０２Ｂ（たとえば、ラップトップコンピュータ）、第３のモバイルコンピューティングデバイスまたは第２のポータブルコンピュータ８０２Ｆ（たとえば、アンドロイドまたはｉＯＳベースのオペレーティングシステムを有するタブレット）、第１のスマート自動車８０２Ｄに組み込まれたスマートデバイスまたはシステム、第１のスマート自転車８０２Ｇに組み込まれたスマートデバイスまたはシステム、第１のスマートテレビジョン８０２Ｈ、第１の仮想現実または拡張現実ヘッドセット８０４Ｃなどから選択することができる。クライアントコンピューティングシステム８０２Ｂは、たとえば、１以上のクライアントシステム２１０のうちの１つでもよく、その他のクライアントコンピューティングシステム（たとえば、８０２Ａ、８０２Ｃ、８０２Ｄ、８０２Ｅ、８０２Ｆ、８０２Ｇ、８０２Ｈ、および／または８０４Ｃ）のうちのいずれか１以上は、たとえば、ソフトウェアアプリケーション、またはトレーニングされたＡＩモデルをその中に配備することができるハードウェアベースのシステムを含むことができる。１以上のクライアントコンピューティングシステムの各々は、データ完全性を保護するための１以上のファイヤーウォールを有することができる。
【００８４】
「クライアントコンピューティングシステム」および「サーバコンピューティングシステム」という用語の使用は、一般に通信を開始するシステムおよび一般に通信に応答するシステムを示すことが意図されていることを理解されたい。たとえば、クライアントコンピューティングシステムは、一般に通信を開始することができ、サーバコンピューティングシステムは、一般に通信に応答する。明示的に記述されていない限り、階層は暗示されていない。両方の機能は、単一通信システムまたはデバイス内でもよく、その場合、クライアント−サーバおよびサーバ−クライアントの関係はピアツーピアとしてみることができる。したがって、第１のポータブルコンピュータ８０２Ｂ（たとえば、クライアントコンピューティングシステム）およびサーバコンピューティングシステム８０４Ａが両方とも通信を開始し、これに応答することができる場合、それらの通信は、ピアツーピアと見ることができる。加えて、サーバコンピューティングシステム８０４Ａおよび８０４Ｂは、ネットワーク８２０を通して互いに通信することを可能にする回路およびソフトウェアを含む。サーバ８０４Ｂは、たとえば、シミュレータデータをサーバ８０４Ａに送ることができる。
【００８５】
サーバコンピューティングシステムのいずれか１以上は、クラウドプロバイダでもよい。クラウドプロバイダは、クラウド（たとえば、インターネットなどのネットワーク８２０）内にアプリケーションソフトウェアをインストールし、動作させることができ、クラウドユーザは、クライアントコンピューティングシステムのうちの１以上からアプリケーションソフトウェアにアクセスすることができる。一般に、クラウド内にクラウドベースのサイトを有するクラウドユーザは、アプリケーションソフトウェアが動作するクラウドインフラストラクチャまたはプラットフォームを１人で管理することはできない。したがって、サーバコンピューティングシステムおよびその系統的なデータ構造体は、共用リソースでもよく、各クラウドユーザは、共用リソースのある特定の量の専用使用を与えられる。各クラウドユーザのクラウドベースのサイトは、クラウド内の仮想量の専用空間および帯域幅を与えられ得る。クラウドアプリケーションは、変化する作業需要を満たすために実行時間に複数の仮想機械にタスクをコピーすることによって達成することができる、拡張可能性で他のアプリケーションとは異なり得る。ロードバランサは、仮想機械のセットで作業を分散する。このプロセスは、単一アクセスポイントのみを見るクラウドユーザに対して透過的である。
【００８６】
クラウドベースのリモートアクセスは、クライアントコンピューティングシステムに常駐するウェブブラウザアプリケーションなどのクライアントコンピューティングシステム上のアプリケーションとの要求および応答周期に従事するためにハイパーテキスト転送プロトコル（「ＨＴＴＰ」）などのプロトコルを使用するためにコード化することができる。クラウドベースのリモートアクセスは、いつでもおよび／またはどこでも、スマートフォン、デスクトップコンピュータ、タブレット、または任意の他のクライアントコンピューティングシステムによってアクセスされ得る。クラウドベースのリモートアクセスは、１）すべてのウェブブラウザベースのアプリケーションからの要求および応答周期と、３）専用オンラインサーバからの要求および応答周期と、４）クライアントデバイス上に常駐するネイティブアプリケーションと、別のクライアントコンピューティングシステムへのクラウドベースのリモートアクセスとの間の直接の要求および応答周期と、５）これらの組合せとに従事するようにコード化される。
【００８７】
一実施形態において、サーバコンピューティングシステム８０４Ａは、サーバエンジン、ウェブページ管理構成要素または直接アプリケーション構成要素、コンテンツ管理構成要素、およびデータベース管理構成要素を含み得る。サーバエンジンは、基本の処理およびオペレーティング−システムレベルタスクを実行することができる。ウェブページ管理構成要素は、ブラウザを介して、デジタルコンテンツおよびデジタル広告の受信および提供に関連するウェブページまたは画面の作成および表示またはルーティングを処理することができる。同様に、直接アプリケーション構成要素は、ユーザのデバイスに常駐するクライアントアプリと連動することができる。ユーザ（たとえば、クラウドユーザ）は、それに関連するユニフォームリソースロケータ（「ＵＲＬ」）を用いてサーバコンピューティングシステムのうちの１以上にアクセスすることができる。コンテンツ管理構成要素は、本明細書に記載の実施形態において機能のほとんどを処理することができる。データベース管理構成要素は、データベースに関する記憶および取得タスクと、データベースへのクエリと、データの記憶とを含み得る。
【００８８】
一実施形態において、サーバコンピューティングシステムは、ウインドウ、ウェブページなどに情報を表示するように構成され得る。任意のプログラムモジュール、アプリケーション、サービス、プロセス、および、たとえばサーバコンピューティングシステム８０４Ａで、実行されると実行可能な他の類似のソフトウェアを含む、アプリケーションは、サーバコンピューティングシステム８０４Ａに表示画面空間の一部においてウインドウおよびユーザインターフェース画面を表示させることができる。
【００８９】
各アプリケーションは、所望の情報の詳細を取得するためのフィールドの提示など、実行するためにソフトウェア構成要素がコード化される機能を実行するために記述されたコードを有する。たとえばサーバコンピューティングシステム８０４Ａ内の、アルゴリズム、ルーチン、およびエンジンは、提示フィールドから情報を取得し、データベース（たとえば、データベース８０６Ａ）などの適切な記憶媒体にその情報を配置することができる。比較ウィザードは、データベースを参照するために記述することができ、そのようなデータの使用を行うことができる。アプリケーションは、たとえば、サーバコンピューティングシステム８０４Ａでホストされてもよく、たとえば、クライアントコンピューティングシステム８０２Ｂの、特定のアプリケーションまたはブラウザに供されてもよい。アプリケーションは、そのとき、詳細の入力を可能にするウインドウまたはページを供する。
コンピューティングシステム
【００９０】
図１０は、本明細書で説明される人工知能エンジンおよびその関連モデルに関連するシステムの一部でもよい１以上のコンピューティングデバイス９００の一実施形態の図を示す。コンピューティングデバイスは、命令を実行するための１以上のプロセッサまたは処理ユニット９２０、情報を記憶するための１以上のメモリ９３０〜９３２、コンピューティングデバイス９００のユーザからデータ入力を受け付けるための１以上のデータ入力構成要素９６０〜９６３、管理モジュールを含む１以上のモジュール、コンピューティングデバイス外部の他のコンピューティングデバイスと通信するための通信リンクを確立するためのネットワークインターフェース通信回路９７０、センサからの出力が特定のトリガ条件を検知してこれに応じて１以上の事前にプログラムされたアクションを生成するために使用される、１以上のセンサ、１以上のメモリ９３０〜９３２および他の構成要素に記憶された情報の少なくとも一部を表示するための表示画面９９１を含み得る。ソフトウェア９４４、９４５、９４６に実装されたこのシステムの部分は、１以上のメモリ９３０〜９３２に記憶されてもよく、１以上のプロセッサ９２０によって実行される、ことに留意されたい。
【００９１】
システムメモリ９３０は、読み取り専用メモリ（ＲＯＭ）９３１およびランダムアクセスメモリ（ＲＡＭ）９３２などの揮発性および／または不揮発性メモリの形でコンピュータ記憶媒体を含む。これらのコンピューティング機械可読媒体は、コンピューティングシステム９００によってアクセスされ得る任意の入手可能な媒体でもよい。一例として、但し限定ではなく、コンピューティング機械可読媒体の用途は、コンピュータ可読命令、データ構造体、他の実行可能ソフトウェア、または他のデータなどの情報の記憶を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは、所望の情報を記憶するために使用することができるおよびコンピューティングデバイス９００によってアクセスすることができる任意の他の有形媒体を含むが、これらに限定されない。ワイヤレスチャネルなどの一時的媒体は、機械可読媒体に含まれない。通信媒体は、通常は、コンピュータ可読命令、データ構造体、他の実行可能ソフトウェア、または他の移送機構を実施し、任意の情報配信媒体を含む。
【００９２】
システムはさらに、起動中など、コンピューティングシステム９００内の要素間での情報の転送を助けるおよび通常はＲＯＭ９３１に記憶される基本ルーチンを含む基本入力／出力システム９３３（ＢＩＯＳ）を含む。ＲＡＭ９３２は、通常は、処理ユニット９２０に直ちにアクセス可能なおよび／または処理ユニット９２０によって現在動作させられているデータおよび／またはソフトウェアを含む。一例として、そして限定ではなく、ＲＡＭ９３２は、オペレーティングシステム９３４の一部分、アプリケーションプログラム９３５、他の実行可能ソフトウェア９３６、およびプログラムデータ９３７を含み得る。
【００９３】
コンピューティングシステム９００はまた、他の取り外し可能な／取り外し不可能な揮発性／不揮発性コンピュータ記憶媒体も含み得る。単に一例として、システムは、ソリッドステートメモリ９４１を有する。ソリッドステートメモリ９４１は通常は、インターフェース９４０などの取り外し不可能なメモリインターフェースを介してシステムバス９２１に接続され、ＵＳＢドライブ９５１は通常は、インターフェース９５０などの取り外し可能なメモリインターフェースによってシステムバス９２１に接続される。
【００９４】
ユーザは、キーボード、タッチ画面、またはソフトウェアもしくはハードウェア入力ボタン９６２、マイクロフォン９６３、マウス、トラックボールもしくはタッチバッドなどのポインティングデバイスおよび／またはスクロール入力構成要素など、入力デバイスを介してコンピューティングシステム９００にコマンドおよび情報を入力することができる。これらのおよび他の入力デバイスは、システムバス９２１に連結されたユーザ入力インターフェース９６０を介して処理ユニット９２０にしばしば接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など、他のインターフェースおよびバス構造体によって接続することができる。表示モニタ９９１または他のタイプの表示画面デバイスはまた、表示インターフェース９９０などのインターフェースを介してシステムバス９２１に接続される。モニタ９９１に加えて、コンピューティングデバイスはまた、出力周辺インターフェース９９５を介して接続され得る、スピーカ９９７、振動器９９９、および他の出力デバイスなどの他の周辺出力デバイスを含み得る。
【００９５】
コンピューティングシステム９００は、リモートコンピューティングシステム９８０などの１以上のリモートコンピュータ／クライアントデバイスへの論理接続を使用するネットワーク化された環境において動作することができる。リモートコンピューティングシステム９８０は、パーソナルコンピュータ、モバイルコンピューティングデバイス、サーバ、ルータ、ネットワークＰＣ、ピアデバイスまたは他の共通ネットワークノードでもよく、通常は、コンピューティングシステム９００に関連して前述した要素の多数またはすべてを含む。論理接続は、パーソナルエリアネットワーク（ＰＡＮ）９７２（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標））、ローカルエリアネットワーク（ＬＡＮ）９７１（たとえば、Ｗｉ−Ｆｉ）、およびワイドエリアネットワーク（ＷＡＮ）９７３（たとえば、セルラネットワーク）を含むことができるが、パーソナルエリアネットワーク（たとえば、Ｂｌｕｅｔｏｏｔｈ（登録商標））などの他のネットワークも含み得る。そのようなネットワーク環境は、オフィス、企業規模のコンピュータネットワーク、イントラネットおよびインターネットでは普通に存在する。ブラウザアプリケーションは、コンピューティングデバイスに常駐し得、メモリに記憶され得る。
【００９６】
ＬＡＮネットワーク環境において使用されるとき、コンピューティングシステム９００は、たとえばＢｌｕｅｔｏｏｔｈ（登録商標）またはＷｉ−Ｆｉアダプタでもよい、ネットワークインターフェース９７０を介してＬＡＮ９７１に接続される。ＷＡＮネットワーク環境（たとえば、インターネット）において使用されるとき、コンピューティングシステム９００は通常は、ＷＡＮ９７３を介する通信を確立するための何らかの手段を含む。モバイル電気通信技術に関して、たとえば、内部または外部でもよい無線インターフェースは、ネットワークインターフェース９７０、または他の適切な機構を介して、システムバス９２１に接続され得る。ネットワーク化された環境では、コンピューティングシステム９００に関連して図示された他のソフトウェア、またはその部分は、リモートメモリストレージデバイスに記憶され得る。一例として、そして限定ではなく、システムは、リモートコンピューティングデバイス９８０に常駐するものとしてリモートアプリケーションプログラム９８５を有する。図示されたネットワーク接続は、使用され得るコンピューティングデバイス間の通信リンクの確立の例および他の手段であることが理解されよう。
【００９７】
説明されたように、コンピューティングシステム９００は、処理ユニット９２０、メモリ（たとえば、ＲＯＭ９３１、ＲＡＭ９３２など）、コンピューティングデバイスに電力を供給するための内蔵型バッテリ、バッテリを充電するためのＡＣ電源入力、表示画面、ネットワークに接続されたリモートコンピューティングデバイスとワイヤレスで通信するための内蔵型Ｗｉ−Ｆｉ回路を有するモバイルデバイスを含み得る。
【００９８】
本設計は、本明細書に示されることに関して記述されたものなどのコンピューティングシステムで実施され得ることに留意されたい。しかしながら、本設計は、サーバ、メッセージ処理専用のコンピューティングデバイス、あるいは本設計の異なる部分が分散型コンピューティングシステムの異なる部分で実施される分散型システムで実施することができる。
【００９９】
一部の実施形態では、本明細書で説明されるアルゴリズムを円滑化するために使用されるソフトウェアは、非一時的機械可読媒体に組み込まれ得る。機械可読媒体は、機械（たとえば、コンピュータ）によって読み取り可能な形で情報を記憶する任意の機構を含む。たとえば、非一時的機械可読媒体は、読み取り専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリデバイス、デジタル多用途ディスク（ＤＶＤの）、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ、磁気または光カード、または、電子命令の記憶に適した任意のタイプの媒体を含み得る。
【０１００】
本明細書に記載のアプリケーションは、ソフトウェアアプリケーション、モバイルアプリケーション、およびオペレーティングシステムアプリケーションの一部であるプログラムを含むが、これらに限定されない、ことに留意されたい。本記述のいくらかの部分は、コンピュータメモリ内のデータビットでの動作のアルゴリズムおよび象徴的表現に関して提示される。これらのアルゴリズム的記述および表現は、データ処理技術の当業者によって他の当業者に彼らの作業の要旨を最も効果的に伝達するために使用される手段である。アルゴリズムは、ここでは、そして一般に、所望の結果をもたらすステップの自己矛盾のないシーケンスであると考えられている。ステップは、物理量の物理的操作を必要とするものである。通常は、但し必ずではなく、これらの物理量は、記憶、転送、結合、比較、および他の方法で操作することができる電気または磁気信号の形を取る。それは、主に共通使用を理由として、これらの信号をビット、値、要素、記号、文字、用語、数などとして参照することが、時には便利であると証明した。これらのアルゴリズムは、Ｃ、Ｃ＋、ＨＴＴＰ、Ｊａｖａ、Ｐｙｔｈｏｎ、または他の類似の言語などのいくつかの異なるソフトウェアプログラミング言語で書かれ得る。また、アルゴリズムは、ソフトウェア内のコードライン、ソフトウェア内の構成された論理ゲート、またはその両方の組合せにおいて実装され得る。一実施形態において、論理は、ブール論理のルールに従う電子回路、命令のパターンを含むソフトウェア、またはその両方の任意の組合せから成る。ソフトウェアに実装されるアルゴリズムの任意の部分が、メモリの一部において実行可能なフォーマットで記憶され得、１以上のプロセッサによって実行される。
【０１０１】
しかしながら、これらのおよび類似の用語のすべては、適切な物理量に関連付けられることになり、これらの物理量に適用される単に便宜的ラベルである、ことに留意されたい。具体的に別段の指示のない限り、前述の論考から明らかなように、本明細書を通して、「処理」または「計算」または「算出」または「決定」または「表示」などの用語を使用する論考は、コンピュータシステムまたはコンピュータシステムのレジスタおよびメモリ内の物理（電子）物理量として表されたデータを操作し、コンピュータシステムメモリもしくはレジスタまたは他のそのような情報記憶、伝送もしくは表示デバイス内の物理量として同様に表される他のデータに変換する、類似の電子コンピューティングデバイスのアクションおよびプロセスを参照することが理解されよう。
【０１０２】
電子ハードウェア構成要素によって実行される多数の機能は、ソフトウェアエミュレーションによって重複して行われ得る。したがって、それらの同じ機能を達成するために書かれたソフトウェアプログラムは、入力−出力回路内のハードウェア構成要素の機能をエミュレートすることができる。したがって、前述のシステムのコンピューティングデバイス上の１以上のプロセッサによって実行されるときに、本明細書に記載のように概説される動作をコンピューティングデバイスに実行させる、命令およびデータを記憶するように構成された１以上の非一時的機械可読媒体が、本明細書では提供される。
【０１０３】
本明細書における「実施形態」、「例」などの参照は、記載された実施形態または例が特定の特徴、構造、または特性を含み得ることを示すが、あらゆる実施形態が特定の特徴、構造、または特性を必ずしも含まなくてもよい。そのような語句は、必ずしも同じ実施形態を参照していなくてもよい。さらに、特定の特徴、構造、または特性が一実施形態に関して記載されるとき、それは、明示的に指示されていてもいなくても、他の実施形態に関するそのような特徴、構造、または特性に影響を及ぼすことが当業者の知識内にあると考えられる。
【０１０４】
前述の設計およびその実施形態は、かなり詳細に提供されてあるが、本明細書で提供される設計および実施形態についての本出願の意図は制限することではない。追加の適応および／または修正形態が可能であり、そして、より広い側面では、これらの適応および／または修正形態もまた含まれる。したがって、以下の特許請求の範囲によって与えられる範囲を逸脱せずに前述の設計および実施形態からの逸脱が行われ得、その範囲は、適切に解釈されるとき、特許請求の範囲によってのみ制限される。
【図１】
2020520504.tif 000003
【図２】
2020520504.tif 000004
【図３】
2020520504.tif 000005
【図４】
2020520504.tif 000006
【図５】
2020520504.tif 000007
【図６】
2020520504.tif 000008
【図７】
2020520504.tif 000009
【図８】
2020520504.tif 000010
【図９】
2020520504.tif 000011
【図１０】
2020520504.tif 000012
【図１１】
2020520504.tif 000013
【国際調査報告】
2020520504.tif 000014