(57)【特許請求の範囲】
【請求項１】
コンピュータが実行する方法であって、
デバイスから自然言語ユーザ要求を受信するステップと、
前記自然言語ユーザ要求をオブジェクトグラフ内の１つまたは複数のオブジェクトに照合させるステップであって、前記オブジェクトグラフは、前記オブジェクトグラフ内のオブジェクトに対するトークンマッピングを含み、前記トークンマッピングは、ネットワークシステムの複数のユーザによる複数の対話から抽出されたデータに基づくものであり、前記１つまたは複数のオブジェクトは、前記トークンマッピングに基づいて前記自然言語ユーザ要求と照合される、前記照合させるステップと、
マッチングした１つまたは複数のオブジェクトに基づいて前記自然言語ユーザ要求を実行するステップと
を含む、方法。
【請求項２】
前記自然言語ユーザ要求はソーシャルネットワーキングシステムで受信され、前記オブジェクトグラフは、相互にリンクされたソーシャルネットワーキングオブジェクトを少なくとも部分的に含むグラフを含む、請求項１に記載の方法。
【請求項３】
前記自然言語ユーザ要求を実行するステップは、前記デバイスによって前記自然言語ユーザ要求を実行するために、前記マッチングした１つまたは複数のオブジェクトを前記デバイスに送信することを含む、請求項１に記載の方法。
【請求項４】
前記デバイスから前記デバイスのロケーションを受信するステップと、
前記マッチングした１つまたは複数のオブジェクトおよび前記デバイスのロケーションに基づいて前記自然言語ユーザ要求を実行するステップと
を含む、請求項１に記載の方法。
【請求項５】
前記マッチングした１つまたは複数のオブジェクトは、前記デバイスのロケーションへの近接度に基づいて前記オブジェクトグラフ内の複数のオブジェクトから選択され、
前記デバイスから前記デバイスの前記ロケーションを受信することをさらに含む、請求項１に記載の方法。
【請求項６】
前記マッチングした１つまたは複数のオブジェクトは、ビジネスエンティティに対応するビジネスオブジェクトを含み、前記ビジネスオブジェクトは前記オブジェクトグラフ内で表され、
前記ビジネスオブジェクトに基づいて前記ビジネスエンティティに関する自動対話指示を取得するステップと、
取得した自動対話指示に基づいて前記ビジネスエンティティに関するネットワークサーバーとの購入および予約のうちの少なくとも１つを実行することによって自然言語ユーザ要求を実行するステップと
を含む、請求項１に記載の方法。
【請求項７】
前記トークンマッピングは、複数のユーザがトークンを前記複数の対話における前記オブジェクトに関連付ける頻度に基づいて生成される、請求項１に記載の方法。
【請求項８】
前記複数の対話は、複数のユーザから前記ネットワークシステムへの複数の自然言語ユーザ要求を含み、前記トークンマッピングは、前記複数の自然言語ユーザ要求の実行の成功率に基づいて生成される、請求項１に記載の方法。
【請求項９】
装置であって、
デバイス上のプロセッサ回路と、
デバイスから自然言語ユーザ要求を受信し、マッチングした１つまたは複数のオブジェクトに基づいて前記自然言語ユーザ要求を実行するように前記プロセッサ回路上において動作するクライアントサービスコンポーネントと、
前記自然言語ユーザ要求をオブジェクトグラフ内の１つまたは複数のオブジェクトに照合させるように前記プロセッサ回路上で動作するソーシャルオブジェクトリレーションコンポーネントとを備え、前記オブジェクトグラフは、前記オブジェクトグラフ内のオブジェクトに対するトークンマッピングを含み、前記トークンマッピングは、ネットワークシステムの複数のユーザによる複数の対話から抽出されたデータに基づくものであり、前記１つまたは複数のオブジェクトは、前記トークンマッピングに基づいて自然言語ユーザ要求と照合される、装置。
【請求項１０】
前記クライアントサービスコンポーネントは、前記デバイスから前記デバイスのロケーションを受信し、前記マッチングした１つまたは複数のオブジェクトおよび前記デバイスのロケーションに基づいて前記自然言語ユーザ要求を実行するように動作する請求項９に記載の装置。
【請求項１１】
前記マッチングした１つまたは複数のオブジェクトは、前記デバイスのロケーションへの近接度に基づいて前記オブジェクトグラフ内の複数のオブジェクトから選択され、前記クライアントサービスコンポーネントは、前記デバイスから前記デバイスの前記ロケーションを受信するように動作する、請求項９に記載の装置。
【請求項１２】
前記マッチングした１つまたは複数のオブジェクトは、ビジネスエンティティに対応するビジネスオブジェクトを含み、前記ビジネスオブジェクトは前記オブジェクトグラフ内で表され、前記クライアントサービスコンポーネントは、前記ビジネスオブジェクトに基づいて前記ビジネスエンティティに関する自動対話指示を取得し、取得した自動対話指示に基づいて前記ビジネスエンティティに関するネットワークサーバーとの購入および予約のうちの少なくとも１つを実行することによって自然言語ユーザ要求を実行するように動作する、請求項９に記載の装置。
【請求項１３】
前記トークンマッピングは、複数のユーザがトークンを前記複数の対話における前記オブジェクトに関連付ける頻度に基づいて生成される、請求項９に記載の装置。
【請求項１４】
前記複数の対話は、複数のユーザから前記ネットワークシステムへの複数の自然言語ユーザ要求を含み、前記トークンマッピングは、前記複数の自然言語ユーザ要求の実行の成功率に基づいて生成される、請求項９に記載の装置。
【請求項１５】
命令を含む少なくとも１つのコンピュータ読み取り可能な記憶媒体であって、前記命令は、実行時にシステムに
デバイスから自然言語ユーザ要求を受信し、
前記自然言語ユーザ要求をオブジェクトグラフ内の１つまたは複数のオブジェクトに照合させ、前記オブジェクトグラフは、前記オブジェクトグラフ内のオブジェクトに対するトークンマッピングを含み、前記トークンマッピングは、ネットワークシステムの複数のユーザによる複数の対話から抽出されたデータに基づくものであり、前記１つまたは複数のオブジェクトは、前記トークンマッピングに基づいて前記自然言語ユーザ要求と照合される、
マッチングした１つまたは複数のオブジェクトに基づいて前記自然言語ユーザ要求を実行することを行わせる、コンピュータ読み取り可能な記憶媒体。
【請求項１６】
コンピュータ読み取り可能な記憶媒体は更なる命令を含み、前記更なる命令は、システムに
前記デバイスから前記デバイスのロケーションを受信し、
前記マッチングした１つまたは複数のオブジェクトおよび前記デバイスのロケーションに基づいて前記自然言語ユーザ要求を実行することを行わせる、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１７】
前記マッチングした１つまたは複数のオブジェクトは、前記デバイスのロケーションへの近接度に基づいて前記オブジェクトグラフ内の複数のオブジェクトから選択され、
前記デバイスから前記デバイスの前記ロケーションを受信することを実行時にシステムに行わせる更なる命令を含む、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１８】
前記マッチングした１つまたは複数のオブジェクトは、ビジネスエンティティに対応するビジネスオブジェクトを含み、前記ビジネスオブジェクトは前記オブジェクトグラフ内で表され、コンピュータ読み取り可能な記憶媒体は更なる命令を含み、前記更なる命令は、実行時にシステムに
前記ビジネスオブジェクトに基づいて前記ビジネスエンティティに関する自動対話指示を取得し
取得した自動対話指示に基づいて前記ビジネスエンティティに関するネットワークサーバーとの購入および予約のうちの少なくとも１つを実行することによって自然言語ユーザ要求を実行することを行わせる、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項１９】
前記トークンマッピングは、複数のユーザがトークンを前記複数の対話における前記オブジェクトに関連付ける頻度に基づいて生成される、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【請求項２０】
前記複数の対話は、複数のユーザから前記ネットワークシステムへの複数の自然言語ユーザ要求を含み、前記トークンマッピングは、前記複数の自然言語ユーザ要求の実行の成功率に基づいて生成される、請求項１５に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
自然言語処理（ＮＬＰ：Ｎａｔｕｒａｌ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ）は、ユーザに対してコンピュータとの対話プロセスを容易にし、かつより直観的にするために所望され得る。他の人間に会話するときに使用されるのと同じ言語を使用して、コンピュータプログラムに対するコマンド、要求、および他の入力を入力することができれば、人間のユーザがプログラムのインタフェースを学習する負担を軽減し得る。どのように対話するかを学習することによってプログラムに適応する人間ではなく、人間が相互にやりとりするやり方と対話することによって、プログラムは人間に適応し得る。
【発明の概要】
【０００２】
以下は、本明細書に記載されるいくつかの新規の実施形態の基本的な理解を提供するために、簡単な概要を提示する。この概要は、包括的な概観ではなく、本発明の主要／重要要素を特定することも、本発明の範囲を画定することも意図していない。この概要の唯一の目的は、後に提示されるより詳細な説明への前置きとして、いくつかの概念を簡単な形態で提示することである。
【０００３】
様々な実施形態は、概して、グラフに基づく自然言語処理の技術に向けられている。いくつかの実施形態は、特に、ソーシャルメディア対話から導出された言語知識を利用するグラフベースの自然言語処理に向けられている。一実施形態では、例えば、装置は、デバイスから自然言語ユーザ要求を受信し、マッチングした１つまたは複数のオブジェクトに基づいて自然言語ユーザ要求を実行するようにプロセッサ回路上において動作するクライアントサービスコンポーネントと、自然言語ユーザ要求をオブジェクトグラフ内の１つまたは複数のオブジェクトに照合させるようにプロセッサ回路上で動作するソーシャルオブジェクトリレーションコンポーネントとを備え、オブジェクトグラフは、オブジェクトグラフ内のオブジェクトに対するトークンマッピングを含み、トークンマッピングは、ネットワークシステムの複数のユーザによる複数の対話から抽出されたデータに基づくものであり、１つまたは複数のオブジェクトは、トークンマッピングに基づいて自然言語ユーザ要求と照合される。他の実施形態が記載され、特許請求の範囲において請求される。
【０００４】
上記を達成するために、および関連する目的のために、ある特定の例示的な態様が、以下の説明および添付の図面に関連して本明細書において記載される。これらの態様は、本明細書において開示される原理を実行することができる様々な方法を示し、全ての態様およびその均等物が、特許請求される主題の範囲内にあることが意図される。他の利点および新規の特徴は、以下の詳細な説明を図面と併せて検討することにより明らかとなるであろう。
【図面の簡単な説明】
【０００５】
【図１】一実施形態の自然言語要求システムを示す図。
【図２】一実施形態のオブジェクトグラフを示す図。
【図３】一実施形態の自然言語要求のためのモバイルデバイスを示す図。
【図４】一実施形態のモバイルデバイス用のソーシャルオブジェクトを取得するソーシャル言語サーバーを示す図。
【図５】一実施形態のモバイルデバイス用の商取引を実行するソーシャル言語サーバーを示す図。
【図６】一実施形態の図１のシステムの第１の論理フローを示す図。
【図７】一実施形態の図１のシステムの第２の論理フローを示す図。
【図８】一実施形態の図１のシステムの集中型システムを示す図。
【図９】一実施形態の図１のシステムの分散型システムを示す図。
【図１０】一実施形態のコンピューティングアーキテクチャを示す図。
【図１１】一実施形態の通信アーキテクチャを示す図。
【図１２】一実施形態の無線デバイスアーキテクチャを示す図。
【発明を実施するための形態】
【０００６】
様々な実施形態は、ユーザを代表して自然言語要求を実行するためにソーシャルメディア対話から推論される自然言語に関する知識を使用する技術を対象とする。ソーシャルネットワーキングシステムは、個人、ビジネスエンティティ、商取引項目（例えば、製品、サービス）、および他のものの表現を含むことができる。ソーシャルネットワーキングシステムのユーザは、自然言語を使用してこれらの表現と対話し、これらの表現を参照することができる。これらの対話および参照は、自然言語トークンが表現の指示対象と共通してどのように関連付けられるかを推測するために使用され得る。ソーシャルネットワーキングシステム内のものの表現による自然言語トークンと物事との関係の理解は、自然言語で表現されたユーザ要求を解釈し、それによって自然言語要求の実行に使用される。自然言語学習は、ソーシャルネットワーキングシステムとの通常の対話の一環として、ソーシャルネットワーキングシステムのユーザによって生成されたデータセット上で実行され得るので、自然言語の使用に関する膨大な量のデータが自動的に生成され得る。結果として、実施形態は、自然言語学習の手頃な価格、自然言語処理（ＮＬＰ）の性能、および自然言語を使用して行われる対話から利益を得ることができるソフトウェアの使い易さを改善することができる。
【０００７】
以下では図面を参照し、図面では、類似の要素は、全体を通して同様の参照符号を用いて示している。以下の説明では、その完全な理解を与えるため、説明を目的として、様々な具体的詳細について記載している。しかしながら、これら特定の詳細を省いても、新規な実施形態を実施できることは明らかであろう。一方で、周知の構造およびデバイスについては、その説明を容易とするために、ブロック図の形式で示している。その意図は、請求項に係る主題に矛盾しないあらゆる変更、均等物、および代替案を包括することである。
【０００８】
なお、本明細書で使用される場合の「ａ」および「ｂ」および「ｃ」および同様の記号は、任意の正の整数を表す変数であるということに留意すべきである。従って、例えば、あるインプリメンテーションで、値をａ＝５と設定している場合は、コンポーネント１２２−１〜１２２−ａとして示されたコンポーネント１２２の完全なセットは、コンポーネント１２２−１、１２２−２、１２２−３、１２２−４、および１２２−５を含むことができる。実施形態は、これに限定されない。
【０００９】
図１は、自然言語要求システム１００に関するブロック図を示す。一実施形態において、自然言語要求システム１００は、１つまたは複数のコンポーネントを含むソフトウェアアプリケーションを有するコンピュータ実装システムを備える。図１に示す自然言語要求システム１００は、あるトポロジにおいて制限された数の要素を有しているが、自然言語要求システム１００は、所与の実装形態に関して所望されるように、代替トポロジにおいてより多くのまたはより少ない要素を含み得ることが理解されよう。
【００１０】
モバイルデバイス１２０は、コンピュータシステムを用いたＮＬＰインタフェースに対する好ましいインタフェースと、ＮＬＰインタフェースが特に好ましいとするデバイスとの両方であり得る。モバイルデバイス１２０は、パーソナルコンピュータ（ＰＣ）のような固定デバイスには利用できないか、または典型的には関連付けられていないユーザに関する重要な情報（例えば、現在のロケーション、ロケーション履歴、コンタクト）にアクセスすることができる。モバイルデバイス１２０は、プログラムの能力を表す直感的かつよく機能する視覚的ユーザインタフェースの作成を制限する、（フルキーボードの欠如など）限られた画面スペースと制限された入力方法を有する。したがって、モバイルデバイス１２０は、自然言語で表現され得るテキストコマンドまたは音声コマンドに基づく全般的なインタフェースを使用することによって改善され得る。
【００１１】
自然言語コマンドは、ビジネスとの軽い対話に関連するタスクの入力に特に適している。例えば、長い文書の編集は、複雑なテキスト編集インタフェースの使用を正当な理由とするのには十分に複雑であり得る。対照的に、単純なビジネス対話の要求は、短い自然言語要求で表現するのに十分な程度に単純であり、ユーザを代表して自動的に実行され得る。映画のチケットを購入したり、レストランでテーブルを予約したり、タクシーを手配したりするのは、たとえば、人数、おおよその時間、およびロケーションの少数の入力のみに依存する。特に、これらの要求を処理する最も複雑な部分は、どのタイプのプロバイダと、そのタイプの特定のプロバイダが要求に対して適しているかを判断することから成る。「ゴッドファーザーを午後７時ごろに見るための２枚のチケット」の要求は、ＮＬＰシステムが「ゴッドファーザー」が映画であり、かつ映画を見るためにどのような種類のビジネスがチケットを提供するかを決定すると、映画チケットを購入するための既存の電子インタフェースに従って提供される。ソーシャルメディアは、日常の企業取引およびメディアの消費（レストランでの食事をすること、映画を見ることなど）での会話で頻繁に使用されるため、ソーシャルネットワーキングシステムが提供する言語の例は、これらの要求を処理するのに適している。
【００１２】
モバイルデバイス１２０は、ネットワークトラフィックを交換するために無線送信を使用してサーバーデバイスと通信することができる。ユーザ要求１９０の実行に含ませることができるような、ネットワークトラフィックを交換することは、ネットワークインタフェースコントローラ（ＮＩＣ：Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃｏｎｔｒｏｌｌｅｒ）を介してネットワークトラフィックを送受信することを含む。ＮＩＣは、モバイルデバイス１２０などのコンピュータデバイスをコンピュータネットワークに接続するハードウェアコンポーネントを備える。ＮＩＣは、ソフトウェアアプリケーションがＮＩＣにアクセスしてＮＩＣを使用することを可能にするソフトウェアネットワークインタフェースと関連付けられてもよい。ネットワークトラフィックは、データリンクを介して送信される信号としてコンピュータネットワークを介して受信されてもよい。これらの信号をキャプチャし、それらを解釈することによってネットワークトラフィックを受信することができる。ＮＩＣは、コンピュータネットワークを介してネットワークトラフィックを受信し、ネットワークインタフェースのアプリケーションプログラミングインタフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を使用してソフトウェアアプリケーションがアクセス可能なメモリストレージにネットワークトラフィックを転送する。
【００１３】
モバイルデバイス１２０は、セルラーシステム１３０にアクセスするためのセルラーインタフェースと、Ｗｉ−Ｆｉアクセスポイント１４０にアクセスするためのＷｉ−Ｆｉインタフェースとを含む。モバイルデバイス１２０は、セルラー信号１３５を使用してセルラーシステム１３０にアクセスする。セルラーシステム１３０は、データアクセスを含むセルラーネットワークであってもよい。モバイルデバイス１２０は、Ｗｉ−Ｆｉ信号１４５を使用して１つまたは複数のＷｉ−Ｆｉアクセスポイント１４０にアクセスする。Ｗｉ−Ｆｉアクセスポイント１４０は、複数の異なるオペレータによって提供されてもよい。いくつかのＷｉ−Ｆｉアクセスポイント１４０は、国内のインターネット接続に基づいてモバイルデバイス１２０のユーザによって操作されるホームＷｉ−Ｆｉネットワークなどの個人的なものであってもよい。いくつかのＷｉ−Ｆｉアクセスポイント１４０は、公共圏内で無料、無償、または有料のＷｉ−Ｆｉアクセスを提供するビジネスエンティティによって提供されてもよい。
【００１４】
モバイルデバイス１２０は、自然言語ユーザ要求１９０を受信し、ユーザ要求１９０に対する解決策を決定し、ビジネスコマースフロントエンドサーバー１７０とのローカル主導型対話（ｌｏｃａｌ−ｄｒｉｖｅｎ  ｉｎｔｅｒａｃｔｉｏｎ）１２５を使用してユーザ要求１９０を実行する解決策を実行する。ビジネスコマースフロントエンドサーバー１７０は、ユーザとの商取引を行うためのユーザデバイスへの自動アクセスを提供するサーバーであり得る。例えば、映画館チェーンまたは映画チケットサービスのためのビジネスコマースフロントエンドサーバー１７０は、映画チケットを購入するためのＡＰＩを提供することができる。レストランまたはレストランテーブル予約サービスのためのビジネスコマースフロントエンドサーバー１７０は、テーブルを予約するためのＡＰＩを提供することができる。タクシー会社のビジネスコマースフロントエンドサーバー１７０は、乗車をスケジューリングするためのＡＰＩを提供することができる。
【００１５】
いくつかの事例では、モバイルデバイス１２０は、モバイルデバイス１２０にローカルに格納されたデータのみに基づいてユーザ要求１９０を解釈することができる。このデータは、デバイス上で生成された情報（例えば、モバイルデバイスのロケーション）を含み得るとともに、データは、自然言語トークンと、モバイルデバイス１２０上にキャッシュされ得る、ビジネス、製品、サービス、および他のエンティティを表すオブジェクトとの間の関係を表すソーシャル言語サーバー１５０から受け取った知識も含み得る。これらの事例において、モバイルデバイス１２０がビジネスコマースフロントエンドサーバー１７０とローカル主導型対話１２５を実行することにより、ユーザ要求１９０は、デバイスに対してローカルのままとなる。
【００１６】
他の事例において、モバイルデバイス１２０は、ソーシャル言語サーバー１５０に格納されるか、またはソーシャル言語サーバー１５０にアクセス可能な自然言語データおよびエンティティデータを使用することによってよりよく機能し得る。ソーシャル言語サーバー１５０は、ビジネス、製品、およびサービス、およびそれらのビジネス、製品、およびサービスが自然言語においてどのように参照されているかに関連するかなり多量のデータを格納するか、またはアクセスする。このため、ユーザ要求１９０は、解釈および解決策の作成のために、ソーシャル言語サーバー１５０に転送される。いくつかの実施形態では、決定された解決策をモバイルデバイス１２０に戻して、モバイルデバイス１２０が、決定された解決策によりユーザ要求１９０を実行するローカル主導型対話１２５を実行できるようにすることができる。他の実施形態では、決定された解決策は、ユーザ要求１９０を実行するサーバー主導型対話（ｓｅｒｖｅｒ−ｄｒｉｖｅｎ  ｉｎｔｅｒａｃｔｉｏｎ）１６５を実行することによって、ソーシャル言語サーバー１５０によって実行されてもよい。
【００１７】
いずれの実施形態においても、様々な状況において、モバイルデバイス１２０は、セルラーシステム１３０およびＷｉ−Ｆｉアクセスポイント１４０のいずれかまたは両方を用いて、ソーシャル言語サーバー１５０と通信する。同様に、セルラーシステム１３０およびＷｉ−Ｆｉアクセスポイント１４０のいずれかまたは両方は、モバイルデバイス１２０とビジネスコマースフロントエンドサーバー１７０との間の対話のために使用することができる。
【００１８】
モバイルデバイス１２０および／またはソーシャル言語サーバー１５０は、ソーシャルネットワーキングシステムにおける対話から生成された知識を使用することができる。このため、自然言語要求システム１００は、ユーザが例えば適切なプライバシー設定を行うことによりアクションが自然言語要求システム１００によって記録されるか、または他のシステム（サードパーティシステム）と共有されることをオプトインまたはオプトアウトすることを可能にする認可サーバー（または他の適切なコンポーネント）を含む。ユーザのプライバシー設定は、ユーザに関連するどのような情報が記録されるか、ユーザに関連する情報がどのようにして記録されるか、ユーザに関連する情報がいつ記録されるか、ユーザに関連する情報を誰が記録するか、ユーザに関連する情報が誰と共有されるか、およびどのような目的でユーザに関連する情報が記録されまたは共有されるかを決定することができる。認可サーバーまたは他の認可コンポーネントは、ブロッキング、データハッシング、匿名化、または他の適切な技術を適切に用いて自然言語要求システム１００のユーザおよびソーシャルネットワーキングシステムの他の要素の１つまたは複数のプライバシー設定を可能にするように用いることができる。例えば、ソーシャルネットワーキングシステムのユーザとソーシャルネットワーキングシステムとの間の対話は、自然言語の関係を学習するために使用されるが、これらの対話は、学習プロセスの前またはその一部として匿名化されてもよい。
【００１９】
図２は、例示的なオブジェクトグラフ２００を示している。特定の実施形態においては、ソーシャルネットワーキングサービスは、１つまたは複数のオブジェクトグラフを１つまたは複数のデータストア内に格納することができる。特定の実施形態においては、オブジェクトグラフ２００は、複数のエンティティノード２１０を含む。オブジェクトグラフ２００は、ノード同士をつなげる複数のエッジ２２０を含み、各エッジは、関係性を示し、かつその関係性に対する記述子と関連付けられる。オブジェクトグラフ２００は、エンティティに関連付けされたトークンを示す複数の言語トークンタグ２３０を含む。特定の実施形態においては、ソーシャルネットワーキングサービス、クライアントシステム、サードパーティシステム、または他のシステムまたはデバイスは、適切なアプリケーションに関してオブジェクトグラフ２００および関連したソーシャルグラフ情報にアクセスすることができる。オブジェクトグラフ２００のノードおよびエッジは、データオブジェクトとして、たとえば（ソーシャルグラフデータベースなどの）データストア内に格納されることが可能である。そのようなデータストアは、オブジェクトグラフ２００のノードまたはエッジの１つまたは複数の検索可能なまたはクエリ可能なインデックスを含むことができる。
【００２０】
特定の実施形態においては、エンティティノード２１０は、ソーシャルネットワーキングサービスのユーザに対応することができる。限定ではなく、例として、ユーザは、ソーシャルネットワーキングサービスと、またはソーシャルネットワーキングサービスを介して対話または通信する個人（人間のユーザ）、エンティティ（たとえば、企業、ビジネス、もしくはサードパーティアプリケーション）、または（たとえば、個人もしくはエンティティの）グループであることが可能である。特定の実施形態においては、あるユーザがソーシャルネットワーキングサービスとのアカウントに登録した場合には、ソーシャルネットワーキングサービスは、そのユーザに対応するエンティティノード２１０を作成し、そのエンティティノード２１０を１つまたは複数のデータストア内に格納することができる。本明細書において記述されているユーザおよびエンティティノード２１０は、適切な場合には、登録されているユーザ、および登録されているユーザに関連付けられているエンティティノード２１０を指すことができる。追加として、または代替として、本明細書において記述されているユーザおよびエンティティノード２１０は、適切な場合には、ソーシャルネットワーキングサービスに登録されていないユーザを指すことができる。特定の実施形態においては、エンティティノード２１０は、ユーザによって提供された情報、またはソーシャルネットワーキングサービスを含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、ユーザは、自分の名前、プロフィール画像、連絡先情報、生年月日、性別、婚姻状況、家族状況、勤務先、学歴、好み、関心、またはその他の人口統計学的情報を提供することができる。特定の実施形態においては、エンティティノード２１０は、ユーザに関連付けられている情報に対応する１つまたは複数のデータオブジェクトに関連付けられることが可能である。特定の実施形態においては、エンティティノード２１０は、１つまたは複数のウェブページに対応することができる。
【００２１】
特定の実施形態においては、コンセプトノード２１５は、コンセプトに対応することができる。限定ではなく、例として、コンセプトは、場所（たとえば、映画館、レストラン、ランドマーク、もしくは都市など）、ウェブサイト（たとえば、ソーシャルネットワーキングサービスに関連付けられているウェブサイト、もしくはウェブアプリケーションサーバーに関連付けられているサードパーティウェブサイトなど）、エンティティ（たとえば、人、企業、グループ、スポーツチーム、もしくは有名人など）、ソーシャルネットワーキングサービス内に、もしくはウェブアプリケーションサーバーなどの外部サーバー上に配置されることが可能であるリソース（たとえば、オーディオファイル、ビデオファイル、デジタル写真、テキストファイル、構造化されたドキュメント、もしくはアプリケーションなど）、物的もしくは知的財産（たとえば、彫塑、絵画、映画、ゲーム、曲、アイディア、写真、もしくは執筆作品など）、ゲーム、アクティビティ、アイディアもしくは理論、別の適切なコンセプト、または複数のそのようなコンセプトに対応することができる。コンセプトノード２１５は、ユーザによって提供されたコンセプトの情報、またはソーシャルネットワーキングサービスを含むさまざまなシステムによって収集された情報に関連付けられることが可能である。限定ではなく、例として、コンセプトの情報は、名前もしくはタイトル、１つもしくは複数のイメージ（たとえば、本の表紙のイメージ）、ロケーション（たとえば、住所もしくは地理的ロケーション）、（ＵＲＬに関連付けられることが可能である）ウェブサイト、連絡先情報（たとえば、電話番号もしくはＥメールアドレス）、その他の適切なコンセプト情報、またはそのような情報の任意の適切な組合せを含むことができる。特定の実施形態においては、コンセプトノード２１５は、コンセプトノード２１５に関連付けられている情報に対応する１つまたは複数のデータオブジェクトに関連付けられることが可能である。特定の実施形態においては、コンセプトノード２１５は、１つまたは複数のウェブページに対応することができる。
【００２２】
特定の実施形態においては、オブジェクトグラフ２００内のノードは、ウェブページ（「プロフィールページ」と呼ばれる場合もある）を表すこと、またはウェブページによって表されることが可能である。プロフィールページは、ソーシャルネットワーキングサービスによってホストされること、またはソーシャルネットワーキングサービスにとってアクセス可能であることが可能である。プロフィールページは、サードパーティサーバーに関連付けられているサードパーティウェブサイト上にホストされることも可能である。限定ではなく、例として、特定の外部ウェブページに対応するプロフィールページは、その特定の外部ウェブページであることが可能であり、そのプロフィールページは、特定のコンセプトノード２１５に対応することができる。プロフィールページは、その他のユーザのうちのすべてまたは選択されたサブセットによって閲覧できることが可能である。限定ではなく、例として、エンティティノード２１０は、対応するユーザプロフィールページを有することができ、そのユーザプロフィールページにおいては、対応するユーザが、コンテンツを付加すること、言明を行うこと、またはその他の形で自分自身を表現することが可能である。限定ではなく、別の例として、コンセプトノード２１５は、対応するコンセプトプロフィールページを有することができ、そのコンセプトプロフィールページにおいては、１人または複数のユーザが、特にコンセプトノード２１５に対応するコンセプトに関連して、コンテンツを付加すること、言明を行うこと、または自分自身を表現することが可能である。
【００２３】
特定の実施形態においては、コンセプトノード２１５は、サードパーティシステムによってホストされているサードパーティウェブページまたはリソースを表すことができる。サードパーティウェブページまたはリソースは、数ある要素の中でも、コンテンツ、選択可能なもしくはその他のアイコン、または、アクションもしくはアクティビティを表す（たとえば、ＪＡＶＡＳＣＲＩＰＴ（登録商標）、ＡＪＡＸ、もしくはＰＨＰコードで実装されることが可能である）その他の対話可能なオブジェクトを含むことができる。限定ではなく、例として、サードパーティウェブページは、「いいね！」、「チェックイン」、「食べる」、「推奨する」、または別の適切なアクションもしくはアクティビティなどの選択可能なアイコンを含むことができる。サードパーティウェブページを閲覧しているユーザは、それらのアイコンのうちの１つ（たとえば、「食べる」）を選択することによってアクションを実行して、クライアントシステムに、そのユーザのアクションを示すメッセージをソーシャルネットワーキングサービスに送らせることができる。そのメッセージに応答して、ソーシャルネットワーキングサービスは、ユーザに対応するエンティティノード２１０と、サードパーティウェブページまたはリソースに対応するコンセプトノード２１５との間においてエッジ（たとえば、「食べる」エッジ）を作成して、エッジ２２０を１つまたは複数のデータストア内に格納することができる。
【００２４】
特定の実施形態においては、オブジェクトグラフ２００内の１対のノードが、１つまたは複数のエッジ２２０によって互いにつながることが可能である。１対のノードをつなげるエッジ２２０は、それらの１対のノードの間における関係を表すことができる。特定の実施形態においては、エッジ２２０は、１対のノードの間における関係に対応する１つまたは複数のデータオブジェクトまたは属性を含むことまたは表すことが可能である。限定ではなく、例として、第１のユーザは、第２のユーザが第１のユーザの「友達」であるということを示すことができる。この表示に応答して、ソーシャルネットワーキングサービスは、「友達要求」を第２のユーザに送ることができる。第２のユーザがその「友達要求」を承認した場合には、ソーシャルネットワーキングサービスは、オブジェクトグラフ２００内で第１のユーザのエンティティノード２１０を第２のユーザのエンティティノード２１０につなげるエッジ２２０を作成して、エッジ２２０をソーシャルグラフ情報としてデータストアのうちの１つまたは複数の中に格納することができる。図２の例においては、オブジェクトグラフ２００は、ユーザ「アマンダ」のエンティティノード２１０と、ユーザ「エドウィン」のエンティティノード２１０との間における友達関係を示すエッジ２２０と、ユーザ「フレッド」のエンティティノード２１０と、ユーザ「ミルドレッド」のエンティティノード２１０との間における友達関係を示すエッジとを含む。本開示は、特定のエンティティノード２１０同士をつなげる特定の属性を伴う特定のエッジ２２０を記述している、または示しているが、本開示は、エンティティノード２１０同士をつなげる任意の適切な属性を伴う任意の適切なエッジ２２０を想定している。限定ではなく、例として、エッジ２２０は、友達関係、家族関係、ビジネス関係もしくは雇用関係、顧客関係、ユーザ関係、ファン関係、フォロワー関係、ビジター関係、サブスクライバ関係、上下関係、互恵的関係、非互恵的関係、別の適切なタイプの関係、または複数のそのような関係を表すことができる。その上、本開示は一般に、ノード同士をつながっているものとして記述しているが、本開示はまた、ユーザ同士またはコンセプト同士をつながっているものとして記述している。本明細書においては、つながっているユーザ同士またはコンセプト同士への言及は、適切な場合には、１つまたは複数のエッジ２２０によってオブジェクトグラフ２００内でつながっているそれらのユーザ同士またはコンセプト同士に対応するノード同士を指すことができる。
【００２５】
特定の実施形態においては、エンティティノード２１０とコンセプトノード２１５との間におけるエッジ２２０は、エンティティノード２１０に関連付けられているユーザによって、コンセプトノード２１５に関連付けられているコンセプトに対して実行された特定のアクションまたはアクティビティを表すことができる。限定ではなく、例として、図２において示されているように、ユーザは、コンセプトに対して「いいね！を表明すること」、「通うこと」、「プレイすること」、「聴くこと」、「料理すること」、「勤務すること」、「観ること」、または「使用すること」を行った可能性があり、それらのそれぞれは、エッジタイプまたはサブタイプに対応することができる。コンセプトノード２１５に対応するコンセプトプロフィールページは、たとえば、選択可能な「チェックイン」アイコン（たとえば、クリック可能な「チェックイン」アイコンなど）、または選択可能な「お気に入りに追加」アイコンを含むことができる。同様に、ユーザがこれらのアイコンをクリックした後に、ソーシャルネットワーキングサービスは、それぞれのアクションに対応するユーザのアクションに応答して「お気に入り」エッジまたは「チェックイン」エッジを作成することができる。限定ではなく、別の例として、あるユーザ（ユーザ「アマンダ」）が、特定のアプリケーション（ＳｕｐｅｒＣａｒ、タクシー会社のＳｕｐｅｒＣａｒ用の例示的なモバイルアプリケーション）を使用して乗車を予約する場合がある。このケースにおいては、ソーシャルネットワーキングサービスは、そのユーザに対応するエンティティノード２１０と、ユーザが使用したアプリケーションを示すアプリケーションに対応するコンセプトノード２１５との間において、（図２に示されているような）「使用した」エッジ２２０を作成する。本開示は、エンティティノード２１０とコンセプトノード２１５とをつなげる特定の属性を伴う特定のエッジ２２０について記述しているが、本開示は、エンティティノード２１０とコンセプトノード２１５とをつなげる任意の適切な属性を伴う任意の適切なエッジ２２０を想定している。さらに、本開示は、単一の関係を表すエンティティノード２１０とコンセプトノード２１５との間におけるエッジについて記述しているが、本開示は、１つまたは複数の関係を表すエンティティノード２１０とコンセプトノード２１５との間におけるエッジを想定している。限定ではなく、例として、エッジ２２０は、ユーザが特定のコンセプトに対して「いいね！」を表明しているということ、およびその特定のコンセプトを使用したということの両方を表すことができる。あるいは、別のエッジ２２０は、エンティティノード２１０とコンセプトノード２１５との間におけるそれぞれのタイプの関係（または、単一の関係が複数集まったもの）を表すことができる。
【００２６】
特定の実施形態においては、ソーシャルネットワーキングサービスは、オブジェクトグラフ２００内でエンティティノード２１０とコンセプトノード２１５との間においてエッジ２２０を作成することができる。限定ではなく、例として、（たとえば、ユーザのクライアントシステムによってホストされているウェブブラウザまたは専用のアプリケーションを使用することなどによって）コンセプトプロフィールページを閲覧しているユーザは、「いいね！」アイコンをクリックまたは選択することにより、コンセプトノード２１５によって表されているコンセプトを自分が気に入っているということを示すことができ、その「いいね！」アイコンをクリックまたは選択することは、ユーザのクライアントシステムに、そのコンセプトプロフィールページに関連付けられているそのコンセプトをそのユーザが気に入っているということを示すメッセージをソーシャルネットワーキングサービスに送ることができる。そのメッセージに応答して、ソーシャルネットワーキングサービスは、そのユーザとコンセプトノード２１５との間における「いいね！」エッジ２２０によって示されているように、そのユーザに関連付けられているエンティティノード２１０とコンセプトノード２１５との間においてエッジ２２０を作成することができる。特定の実施形態においては、ソーシャルネットワーキングサービスは、エッジ２２０を１つまたは複数のデータストア内に格納することができる。特定の実施形態においては、エッジ２２０は、特定のユーザアクションに応答してソーシャルネットワーキングサービスによって自動的に形成されることが可能である。限定ではなく、例として、第１のユーザが、画像をアップロードすること、映画を観ること、または曲を聴くことを行った場合には、エッジ２２０は、第１のユーザに対応するエンティティノード２１０と、それらのコンセプトに対応するコンセプトノード２１５との間において形成されることが可能である。本開示は、特定の様式で特定のエッジ２２０を形成することについて記述しているが、本開示は、任意の適切な様式で任意の適切なエッジ２２０を形成することを想定している。
【００２７】
特定の実施形態では、関連付けられたトークン２３０は、ノードに関連付けられてもよい。エンティティノード２１０またはコンセプトノード２１５に関連付けられたトークンは、トークンがノードを記述していることを示すことができる。ノードは、提供可能な製品、提供可能なサービス、またはノードによって表されるエンティティが提供するものを示すその他の単語について記述する。ノードは、ノードを参照して使用される任意の１つまたは複数の単語を含むトークンに関連付けられる。例えば、タクシーサービスを提供する会社「ＧｏＣｏ」に関するエンティティノード２１０は、トークン「タクシー」、「キャブ」または「乗車」で記述されてもよい。トークンのエンティティノード２１０との関連付けは、管理者によってエンティティノード２１０を記述するように割り当てられる。例えば、管理者は、ＧｏＣｏタクシー会社用のページを作成または管理し、かつエンティティノード２１０にトークン「タクシー」を割り当てる。代替的または追加的に、トークンのエンティティノード２１０との関連付けは、ソーシャルネットワーキングサービスとのユーザ対話に基づく機械学習によって割り当てられてもよい。たとえば、ユーザは、「ＧｏＣｏの乗車は素晴らしかった」、「ＧｏＣｏの最初の乗車はスムーズだった」などの文章で、会話メッセージングまたは会社用のページなどにおいてＧｏＣｏ社にコメントすることができ、「乗車」という単語の他のインスタンスを「ＧｏＣｏ」と共に使用して、ＧｏＣｏ社がトークン「乗車」によって表されるように「乗車」の概念に関連付けられていることを自然言語要求システム１００が学習するのを促進する。その後、単語「乗車」を含む要求の実行は、ＧｏＣｏ社に関するエンティティオブジェクト２１０からの情報に基づくものとすることができる。
【００２８】
図３は、一実施形態の自然言語要求のためのモバイルデバイス１２０を示す。モバイルデバイス１２０は、複数のコンポーネントを含む。モバイルデバイス１２０は、自然言語ユーザ要求を受信し、ソーシャルネットワーキング対話から生成されたオブジェクトデータを使用して自然言語ユーザ要求を実行するように全体的に動作する。モバイルデバイス１２０は、ユーザサービスコンポーネント３３０、ローカルオブジェクトリレーションコンポーネント３４０、およびリモートオブジェクトリレーションコンポーネント３５０を含む。
【００２９】
ユーザサービスコンポーネント３３０は、モバイルデバイス１２０上の自然言語ユーザ要求１９０を受信するように動作する。自然言語ユーザ要求１９０は、テキストストリング、オーディオレコーディング、ビデオレコーディングとして受信されるか、またはユーザからの入力を受け取るための他の技術に従って受信される。自然言語ユーザ要求は、モバイルデバイス１２０用のハードウェアまたはソフトウェアキーボードデバイスで入力されてもよい。自然言語ユーザ要求は、モバイルデバイス１２０用のマイクロフォンデバイスによって取り込まれてもよい。自然言語ユーザ要求は、モバイルデバイス１２０用のカメラデバイスによって取り込まれてもよい。ユーザサービスコンポーネント３３０は、ユーザ要求１９０をローカルオブジェクトリレーションコンポーネント３４０およびリモートオブジェクトリレーションコンポーネント３５０のうちの一方または両方に渡すことができる。
【００３０】
自然言語ユーザ要求１９０は、モバイルデバイス１２０上で実行されるメッセージングプログラムによって受信され得る。メッセージングプログラムは、ソーシャルネットワーキングサービス用のメッセージングプログラム等の一般的なメッセージングプログラムとすることができる。メッセージングプログラムは、２人以上のユーザが１対１の会話に参加するユーザ対ユーザのメッセージング機能を含むことができる。メッセージングプログラムは、ユーザがビジネスのための自動のまたは人間の代表者にメッセージを送ることができる消費者対ビジネスのメッセージング機能を含むことができる。自然言語ユーザ要求１９０は、ユーザ対ユーザのメッセージングまたは消費者対ビジネスのメッセージングのいずれかで検出されてもよい。
【００３１】
ユーザ対ユーザのメッセージングは、ユーザ要求１９０に対する暗黙のプロンプトを含むことができる。例えば、第１のユーザは、レストラン予約を行い、映画チケットを注文し、あるいは商業取引を開始することができることを第２のユーザにコメントすることができる。ユーザサービスコンポーネント３３０は、暗黙のプロンプトを検出し、ユーザの一方または両方に暗黙のユーザ要求１９０を実行するように提案することができる。ユーザサービスコンポーネント３３０は、暗黙のユーザ要求１９０が検出されたユーザ対ユーザのメッセージング会話の参加者に基づいて、サービスの参加者の少なくとも一部を決定することができる。メッセージング会話の参加者について既知の情報は、ユーザ要求１９０を満たす構成において使用することができる。例えば、参加者のいずれかによって推論された、または明示的に表明されたユーザ選好を、サービスプロバイダの選択に使用することができる。あるタイプのサービス、サービスプロバイダ（例えば、ビジネス）、または要求を満たす他の要素の選択に対する信用は、要求側ユーザとの関連性だけでなく、メッセージング会話における他の参加者との関連性に基づいて決定されてもよい。
【００３２】
いくつかの実施形態では、消費者対ビジネスのメッセージング機能は、コンタクトしているビジネスが自然言語要求システム１００によって要求を満たす一部として自動的に決定される全般的な要求入力インタフェースを介して実行されてもよい。全般的な要求入力インタフェースは、ユーザ要求１９０を満たす一部として関与する消費者対ビジネスのメッセージングに切り替えることができる。例えば、ユーザは医師の予約を要求することができ、予約を要求する初期段階は、自然言語要求システム１００によって自動的に実行され、続いて、ユーザは、予定を行うための追加の要素を実行するために、選択された医師のオフィスの代表者とメッセージング会話を行うことができる。
【００３３】
いくつかの事例では、消費者は、ビジネスに関する自動のまたは人間の代表者とのメッセージング会話に関与することによってビジネスを選択することができる。ユーザは、特に好きなビジネス、好みのビジネス、ビジネスに関する検索、ビジネスのリストの閲覧を選択するか、またはそうでなければ他の方法でのビジネスを決定することができる。ユーザはビジネスにメッセージを送ることを選択することができる。自然言語ユーザ要求１９０は、ビジネスとのメッセージングにおいて検出されてもよい。自然言語ユーザ要求１９０は、ビジネスと共に開始され実行され、ユーザがメッセージングのために選択したビジネスは、ユーザの消費者対ビジネスメッセージングの開始に基づいてユーザ要求１９０を満たすように自動的に選択される。
【００３４】
ローカルオブジェクトリレーションコンポーネント３４０は、自然言語ユーザ要求１９０を、モバイルデバイス１２０に格納された１つまたは複数のローカルオブジェクト３８０に関連付けることができる。ローカルオブジェクト３８０は、モバイルデバイスに対してローカルなローカルオブジェクトストア３６０に記憶され得る。ローカルオブジェクト３８０は、ユーザ要求１９０の受信に先立ってモバイルデバイス１２０に記憶され、ユーザ要求１９０に応答して検索されて記憶されない。ローカルオブジェクトストア３６０は、ソーシャルネットワーキングシステムのオブジェクトグラフ２００からのオブジェクトのキャッシュを少なくとも部分的に含む。１つまたは複数のローカルオブジェクト３８０は、オブジェクトグラフ２００からキャッシュされたオブジェクトを含むことができる。ローカルオブジェクトストア３６０は、オブジェクトグラフ２００に表されていないオブジェクトも記憶することができ、１つまたは複数のローカルオブジェクト３８０は、オブジェクトグラフ２００に表されていないオブジェクトストア３６０からのオブジェクトを含むことができる。ローカルオブジェクトストア３６０以外のモバイルデバイス１２０上の他のソースから１つまたは複数のローカルオブジェクト３８０を取得することができる。例えば、モバイルデバイス１２０の現在のロケーションを示すオブジェクト（これにより、モバイルデバイス１２０のユーザのロケーションを推測する）は、モバイルデバイス１２０のジオロケーションコンポーネントから取得することができ、ジオロケーションコンポーネントは、グローバルポジショニングシステム（ＧＰＳ）検出、Ｗｉ−Ｆｉ検出、セルサイト検出、ブルートゥース検出、またはデバイスのロケーションを検出するための任意の他の技術を用いる。
【００３５】
ローカルオブジェクト３８０は、モバイルデバイス１２０に格納されたローカルデータに基づいて取得または生成することができる。ローカルデータは、モバイルデバイス１２０上の名前の他のリポジトリのコンタクトリストを含むことができる。例えば、適切な名詞または名前として認識することができる１つの単語または複数の単語は、モバイルデバイス１２０上のコンタクトリストまたは名前の他のリポジトリと照合されてもよい。同様に、コンタクトリスト内の他の情報は、電話番号がユーザ要求１９０とコンタクトリストの両方において特定されているように、エンティティを特定する際に使用することができる。さらに、コンタクトリストのエントリとオブジェクトグラフ２００内のオブジェクトとの間の関連付けは、共通の電話番号が両方に割り当てられていることに基づいて確認または強化することができる。適切な名詞は、地理的に位置するエンティティおよび地名、特にモバイルデバイス１２０の現在のロケーションに地理的に近接して地理的に位置するエンティティおよび地番と照合することができる。ローカルデータは、モバイルデバイス１２０で実行される最近の検索を含むことができる。
【００３６】
ローカルオブジェクトリレーションコンポーネント３４０は、１つまたは複数のローカルオブジェクト３８０のそれぞれの信頼度レベルを決定することができる。オブジェクトに対する信頼度レベルは、オブジェクトがユーザ要求の自然言語の意味に対応し、かつオブジェクトがユーザ要求に対するユーザの意図に対応しているという確信度を表し得る。信頼度レベルは、整数または実数として表すことができる。信頼度レベルは確率として表され、確率は予測精度を示す。
【００３７】
例えば、「ここからモールへのタクシーを必要とする」というテキスト入力に基づくユーザ要求は、「ここ」に基づいてユーザの現在のロケーションを表すオブジェクトをトークンに割り当て、かつ、「モール」に基づいて複数のモールのうちの１つのモールを表すオブジェクトをトークンに割り当てる。特定のモールは、ユーザのロケーション、ユーザが訪問した１つまたは複数のモールを示すユーザに関するロケーション履歴、オブジェクトグラフ内のモールおよび／または店舗とのユーザの関連付け、およびユーザがどのモールを「モール」とみなすかに関連する他の情報の１つまたは複数（組み合わせを含む）に従って選択され得る。単語「ここ」は、ユーザの現在のロケーションと強く相関し、したがって高い信頼度を有する。ローカルオブジェクトリレーションコンポーネント３４０は、単語「モール」が、「モール」のサービストークンに相当すると決定するが、特定のモールが参照されている情報または対立情報がほとんどないため、特定のモールに対応する特定のオブジェクトの連結は、信頼度が低い。
【００３８】
自然言語要求システム１００は、モバイルデバイス１２０にローカルな情報に基づいて決定されたオブジェクト関係に依存することに十分に信頼性のあるオブジェクト割り当てと、そのようなオブジェクト関係に依存することが不十分に信頼性のあるオブジェクト割り当てとを区別する定義された信頼閾値を有する。ローカルオブジェクトリレーションコンポーネント３４０は、１つまたは複数のローカルオブジェクト３８０の低信頼度ローカルオブジェクトを決定する。低信頼度ローカルオブジェクトに関する信頼度レベルは、定義された信頼閾値よりも小さい。信頼閾値未満の信頼度レベルを有する低信頼度ローカルオブジェクトは、自然言語要求システム１００が、モバイルデバイス１２０から遠隔に格納されたリソース、例えば、ソーシャルネットワーキングサービスに関するオブジェクトグラフへのアクセスを有するソーシャル言語サーバー１５０上に格納されたリソースを含むようにユーザ要求１９０に関連するオブジェクトの検索を拡張することを示す。
【００３９】
リモートオブジェクトリレーションコンポーネント３５０は、ネットワークシステムにネットワーククエリを送信してもよく、ネットワーククエリは、ネットワークシステムが自然言語ユーザ要求１９０をオブジェクトグラフ２００と照合することを要求する。ネットワーククエリは、ユーザ要求１９０を含み得る。リモートオブジェクトリレーションコンポーネント３５０は、ネットワーククエリに応答してリモートオブジェクト３９０を受信して、ネットワークシステムからの低信頼度ローカルオブジェクトを置き換えることができる。リモートオブジェクト３９０は、ソーシャルネットワーキングサービス用のオブジェクトグラフ２００内で選択されてもよい。ネットワークシステムは、ソーシャルネットワーキングサービスを実行するソーシャルネットワーキングシステムを含み、オブジェクトグラフ２００は、相互リンクされたソーシャルネットワーキングオブジェクトを少なくとも部分的に含む。
【００４０】
オブジェクトグラフ２００は、オブジェクトグラフ内のオブジェクトに対するトークンマッピングを含み、トークンマッピングは、自然言語単語と、それらの単語の意味理解と、自然言語単語とそれらの単語の意味理解との一方または両方と相関するオブジェクトとの関係を定義する。トークンマッピングは、ネットワークシステムのユーザの複数の対話から抽出されたデータに基づいてもよく、リモートオブジェクト３９０は、トークンマッピングに基づいて自然言語ユーザ要求１９０と照合される。トークンマッピングは、複数の対話において複数のユーザがトークンをオブジェクトに関連付ける頻度に基づいて生成することができる。複数の対話は、複数のユーザからネットワークシステムへの複数の自然言語ユーザ要求を含み得る。
【００４１】
トークンマッピングは、複数の自然言語ユーザ要求の実行に関する成功率に基づいて生成することができる。成功率は、要求の実行に対する満足度に関するネットワークシステムのユーザによる明示的な報告に基づくことができる。成功率は、ユーザサービスコンポーネント３３０が実行前にユーザに提案する実行方針を表示し、ユーザが受諾した場合に提案した実行方針のみを実行するなど、ユーザ要求の提案した実行を受諾または拒否するユーザの明示的な行動に基づくものであってもよい。成功率は、ユーザの自然言語要求の繰り返し使用、ユーザの同様の要求に対する自然言語要求システム１００の繰り返し使用、およびユーザ要求１９０の実行に対する肯定的または否定的な反応の他の含意表示に（これに限定されることなく）基づく要求の実行に対するユーザの満足度の暗黙の評価に基づいてもよい。成功率は、同様に、ユーザ要求１９０の実行に関して使用した企業の満足度についての企業からの明示的または暗黙的な信号に基づいてもよい。
【００４２】
トークンマッピングは、トークンとそのビジネスとの間の関連付けに関するビジネスエンティティによる値付けに基づいてもよい。例えば、レストラン予約サービスは、「テーブル」、「予約」、「夕食」、「食べる」、および食料の購入および消費に関連する他のトークンなどのトークンと関連付けされるように値付けすることができる。自然言語要求システム１００は、ビジネスエンティティに対するオブジェクトと、その関連付けに対するビジネスエンティティによる値付け額に少なくとも部分的に基づくトークンとの間の関連付けにおける信頼度を決定するように動作する。企業が、自然言語要求システム１００との経験に基づいて、どのトークンがユーザを自社のビジネスに最良のガイドをするのかを学習すると、企業はそのトークンについてより高い値付けをし、それによって自然言語要求システム１００の精度が向上する。
【００４３】
ユーザサービスコンポーネント３３０は、次に、リモートオブジェクト３９０に基づいて自然言語ユーザ要求１９０を実行する。１つまたは複数のローカルオブジェクト３８０を、ユーザ要求１９０の実行に使用することもできる。ソーシャル言語サーバー１５０から受信した１つまたは複数の追加のリモートオブジェクトも、ユーザ要求１９０の実行に使用することができる。
【００４４】
ユーザ要求１９０を実行することは、ビジネスエンティティと対話することを含む。ソーシャル言語サーバー１５０から受信したリモートオブジェクト３９０は、オブジェクトグラフ２００において表されるビジネスエンティティに対応し得る。ビジネスエンティティに対するリモートオブジェクト３９０は、ビジネスエンティティに関する自動対話指示（ａｕｔｏｍａｔｅｄ  ｉｎｔｅｒａｃｔｉｏｎ  ｉｎｓｔｒｕｃｔｉｏｎｓ）を含むことができる。自動対話指示は、手順、ＡＰＩ、ネットワークアドレス、フォーマット、およびビジネスエンティティに関するビジネスコマースフロントエンドサーバー１７０との自動化されたコンピュータの要求実行のための他の情報を含むことができる。
【００４５】
ユーザサービスコンポーネント３３０は、自動対話指示を受信し、受信した自動対話指示に基づいてビジネスエンティティに関するネットワークサーバーとの購入および予約のうちの少なくとも１つを実行することによって、自然言語ユーザ要求１９０を実行する。ユーザサービスコンポーネント３３０は、ビジネスコマースフロントエンドサーバー１７０とローカル主導型対話１２５を行い、ローカル主導型対話１２５は、ビジネスエンティティに関するモバイルデバイス１２０とビジネスコマースフロントエンドサーバー１７０との間の直接通信を含む。
【００４６】
いくつかの事例では、自然言語要求システム１００は、外部ビジネスエンティティを使用せずにユーザ要求１９０を実行することができる。自然言語要求システム１００がメッセージング機能および／またはソーシャルネットワーキング機能を含む場合、ユーザ要求１９０は、メッセージングサービスおよび／またはソーシャルネットワーキングサービスの機能によって実行されてもよい。例えば、メッセージング会話に含まれる画像、ビデオ、ステッカー、または他の要素を有することにおけるユーザの関心は、自然言語ユーザ要求１９０に基づいて検出されてもよく、ユーザ要求１９０の実行は、この要素を含むことができる。いくつかの事例において、テキストの意向を示すステッカーを提示するなど、ユーザの会話のテキストと要素との間の対応に基づいて、画像、ステッカー、または他の要素が選択されて提示される。したがって、会話のテキストは、自然言語ユーザ要求１９０を含み得る。
【００４７】
同様に、実行されるソーシャルネットワーキングタスクを有することにおけるユーザの関心は、自然言語ユーザ要求１９０に基づいて検出されてもよく、ユーザ要求１９０の実行は、ソーシャルネットワーキングタスクの実行を含み得る。ソーシャルネットワーキングタスクには、ソーシャルネットワーキングサービスへの投稿を作成すること、ソーシャルネットワーキングサービスへの投稿への好みの意志を表示すること、ソーシャルネットワーキングサービスにメディアをアップロードすること、イベント、ロケーション、またはビジネス、または他のソーシャルネットワーキングアクティビティにユーザが存在するとしてトリガリングすることが含まれ得る。
【００４８】
１つまたは複数のローカルオブジェクト３８０および／または１つまたは複数の追加のリモートオブジェクトを含む、ユーザ要求１９０に関連付けられた追加のオブジェクトをユーザ要求１９０の実行に使用することができる。追加のオブジェクトは、自動対話指示を構成する際に使用される情報を定義するとともに、自動対話指示を使用して実行される自動対話手順で許容されるオプションを選択する際に使用される情報を定義することができる。例えば、タクシー会社に関する自動対話手順は、所望のピックアップ時間、ピックアップロケーション、およびドロップオフロケーションの指定を可能にすることができる。タクシー会社のオブジェクトは、ビジネスコマースフロントエンドサーバー１７０に連絡するための自動対話指示を定義することができる。これらの自動対話指示は、所望のピックアップ時間、ピックアップロケーション、およびドロップオフロケーションが指定されていることを示し、いくつかの事例では、ドロップオフロケーションなどの１つまたは複数の構成オプションが、ピックアップ時にドライバに個人に対して任意選択であり、かつ指定され得る。したがって、ピックアップの時間、ピックアップロケーション、およびドロップオフロケーションに関連するように決定されたユーザ要求１９０から生成されたオブジェクトは、これらのオプションを指定するために使用することができる。いくつかの事例では、ユーザ要求における明示的なステートメントの欠如に基づいて暗黙的にオブジェクトを決定することができる。例えば、ピックアップ時間を明示的に指定せずに乗車が要求された場合、「今」または「できるだけ早く」のピックアップ時間が推定され得る。
【００４９】
ユーザ要求１９０の実行と、ユーザ要求１９０の言語とオブジェクトとの間のマッピングの両方は、モバイルデバイス１２０のロケーションに基づくものとし得る。ユーザサービスコンポーネント３３０は、モバイルデバイスの現在のロケーションを決定する。ユーザサービスコンポーネント３３０は、ローカル主導型対話１２５の１つまたは複数のオプションがモバイルデバイス１２０の現在のロケーションを含むか、またはモバイルデバイス１２０の現在のロケーションから導出される、ビジネスコマースフロントエンドサーバー１７０とのローカル主導型対話１２５の構成を介するなど、リモートオブジェクト３９０およびモバイルデバイス１２０の現在のロケーションに基づいて自然言語ユーザ要求１９０を実行する。ユーザサービスコンポーネント３３０は、代替的に、オブジェクトグラフ２００の複数のオブジェクトから選択された受信リモートオブジェクト３９０が、決定された現在のロケーションに近接していることに基づいていた場合、モバイルデバイス１２０の現在のロケーションをネットワークシステム（例えば、ソーシャル言語サーバー１５０）に送信する。例えば、サービスは、様々な異なるサービスプロバイダによって実行されてもよく、特定のサービスプロバイダは、それらがモバイルデバイス１２０の現在のロケーションに地理的に近いところあることに少なくとも部分的に基づいて選択される。
【００５０】
図４は、モバイルデバイス１２０に関してソーシャルオブジェクト４８０を取得するソーシャル言語サーバー１５０の一実施形態を示す。ソーシャル言語サーバー１５０は、ソーシャルネットワーキングサービス内の対話から導出された情報を用いてソーシャルネットワーキングサービスのメンバを代表して自然言語ユーザ要求を分析するように動作する。ソーシャル言語サーバー１５０は、クライアントサービスコンポーネント４３０およびソーシャルオブジェクトリレーションコンポーネント４４０を含むことができる。
【００５１】
クライアントサービスコンポーネント４３０は、モバイルデバイス１２０から自然言語ユーザ要求１９０を受信する。クライアントサービスコンポーネント４３０は、モバイルデバイス１２０のユーザサービスコンポーネント３３０によって受信されたのと同じ形式でユーザ要求１９０を受信するか、または変換されたフォーマットでユーザ要求１９０を受信してもよい。例えば、オーディオとして受信されたユーザ要求１９０は、クライアントサービスコンポーネント４３０への送信に先立ってテキストに書き換えられてもよい。自然言語ユーザ要求１９０は、モバイルデバイス１２０がモバイルデバイス１２０上でローカルデータとのオブジェクトの照合を実行し、オブジェクト照合によって信頼閾値を下回る信頼度レベルを有する少なくとも１つのクライアント一致オブジェクトが生成されたという決定に応答してモバイルデバイス１２０から受信することができる。
【００５２】
ソーシャルオブジェクトリレーションコンポーネント４４０は、自然言語ユーザ要求１９０をオブジェクトグラフ２００内の１つまたは複数のソーシャルオブジェクト４８０と照合させ、オブジェクトグラフ２００は、オブジェクトグラフ２００内のオブジェクトに関するトークンマッピングを含み、トークンマッピングは、ネットワークシステムの複数のユーザによって複数の対話から抽出されたデータに基づき、１つまたは複数のオブジェクトは、トークンマッピングに基づいて自然言語ユーザ要求１９０と対応付けされる。概して、ソーシャルオブジェクトリレーションコンポーネント４４０による自然言語ユーザ要求１９０の照合は、モバイルデバイス１２０のローカルオブジェクトリレーションコンポーネント３４０によって実行されるユーザ要求１９０の照合の手順に対応するが、ローカルオブジェクトストア３６０のより限定されたリソースではなく、より大きなソーシャルオブジェクトストア４６０の追加データへのアクセスを伴ってもよい。
【００５３】
その後、クライアントサービスコンポーネント３３０は、ソーシャルオブジェクト４８０をモバイルデバイス１２０に送信する。ユーザ要求１９０の実行は、マッチングした１つまたは複数のソーシャルオブジェクト４８０をモバイルデバイス１２０によるユーザ要求１９０の実行のためにモバイルデバイス１２０に送信することを含む。したがって、ソーシャルオブジェクト４８０は、モバイルデバイス１２０のユーザサービスコンポーネント３３０によって受信されたリモートオブジェクト３９０に対応する。ソーシャル言語サーバー１５０は、ソーシャルネットワーキングサービスの要素であってもよい。自然言語ユーザ要求１９０は、ソーシャルネットワーキングサービスのソーシャルネットワーキングシステムで受信されてもよい。したがって、オブジェクトグラフ２００は、相互リンクされたソーシャルネットワーキングオブジェクトを少なくとも部分的に含むグラフを備えることができる。ソーシャルネットワーキングシステムは、ネットワークシステムを含むことができる。トークンマッピングは、複数のユーザが複数の対話においてトークンをソーシャルオブジェクト４８０に関連づけた頻度に基づいて生成することができる。この複数の対話は、複数のユーザからネットワークシステムへの複数の自然言語ユーザ要求を含み、トークンマッピングは、複数の自然言語ユーザ要求１９０の実行に関する成功率に基づいて生成される。
【００５４】
ソーシャル言語サーバー１５０は、ソーシャルオブジェクト４８０の決定において、モバイルデバイス１２０の現在のロケーションを使用することができる。クライアントサービスコンポーネント４３０は、モバイルデバイス１２０からモバイルデバイス１２０の現在のロケーションを受信し、モバイルデバイス１２０の現在のロケーションへの近接度に基づいてマッチングする１つまたは複数のソーシャルオブジェクト４８０を選択する。例えば、ソーシャルオブジェクト４８０は、受信した現在のロケーションと、ビジネスエンティティに関してソーシャルオブジェクトに記録されたビジネスエンティティのアドレスとの間の近接度に基づいて選択することができる。
【００５５】
図５は、モバイルデバイス１２０に関して商取引を実行するソーシャル言語サーバー１５０の一実施形態を示す。ソーシャル言語サーバー１５０は、ユーザ要求の分析に加えて、ソーシャルネットワーキングサービスのメンバを代表して自然言語ユーザ要求を実行するように動作する。
【００５６】
ローカル主導型対話１２５の実行に関してソーシャルオブジェクト４８０をモバイルデバイス１２０に戻す代わりに、クライアントサービスコンポーネント３３０は、サーバー主導型対話１６５においてマッチングした１つまたは複数のソーシャルオブジェクト４８０に基づいて自然言語ユーザ要求１９０を実行することができる。ソーシャル言語サーバー１５０は、モバイルデバイス１２０を代表してビジネスコマースフロントエンドサーバー１７０とのサーバー主導型対話１６５を実行して、モバイルデバイス１２０の処理、帯域幅、およびエネルギーリソースを節約することができる。ユーザ要求１９０がサーバー主導型対話１６５を介して実行される場合、クライアントサービスコンポーネント４３０は、モバイルデバイス１２０から１つまたは複数のローカルオブジェクト３８０を受信し、ユーザ要求１９０の実行においてローカルオブジェクト３８０を使用する。
【００５７】
ソーシャル言語サーバー１５０は、ユーザ要求１９０の実行においてモバイルデバイス１２０の現在のロケーションを使用することができる。現在のロケーションは、モバイルデバイス１２０から受信したローカルオブジェクト３８０のうちの１つを含み得る。クライアントサービスコンポーネント４３０は、モバイルデバイス１２０からモバイルデバイス１２０の現在のロケーションを受信し、マッチングした１つまたは複数のソーシャルオブジェクト４８０およびモバイルデバイス１２０の現在のロケーションに基づいて、自然言語ユーザ要求１９０を実行する。
【００５８】
マッチングした１つまたは複数のソーシャルオブジェクト４８０は、ビジネスエンティティに対応するビジネスオブジェクトを含み、ビジネスオブジェクトは、オブジェクトグラフ２００において表される。クライアントサービスコンポーネント４３０は、ビジネスに基づいてビジネスエンティティに関する自動対話指示を取得する。いくつかの事例において、自動対話指示をビジネスオブジェクト内に格納することができる。クライアントサービスコンポーネント４３０は、取得した自動対話指示に基づいてビジネスエンティティに関するビジネスコマースフロントエンドサーバー１７０とともに購入および予約の少なくとも１つを実行することによって自然言語ユーザ要求１９０を実行し、購入および／または予約の実行は、サーバー主導型対話１６５を含む。
【００５９】
開示されたアーキテクチャの新規な態様を実行するための例示的な方法を表す一組のフローチャートが本明細書に含まれる。説明の簡略化のために、例えばフローチャートまたはフロー図の形式で本明細書に示された１つまたは複数の方法が一連の動作として示され説明されているが、いくつかの動作は、それに従って、ここに示され説明された動作とは異なる順序で、および／または他の動作と同時に起こり得るので、動作の順序によって制限されない。例えば、当業者であれば、方法は、状態図のような一連の相互に関係する状態または事象として代替的に表すことができることを理解および認識するであろう。さらに、方法に示されたすべての動作が新規の実施に必要とされることはない。
【００６０】
図６は、一実施形態の第１の論理フロー６００を示す。論理フロー６００は、本明細書に記載された１つまたは複数の実施形態によって実行される動作の一部または全部を表す。
【００６１】
図６に示される例示的な実施形態において、論理フロー６００は、ブロック６０２において、モバイルデバイス１２０上の自然言語ユーザ要求１９０を受信する。
論理フロー６００は、ブロック６０４において、自然言語ユーザ要求１９０を１つまたはモバイルデバイス１２０に記憶された複数のローカルオブジェクト３８０に関連付ける。
【００６２】
論理フロー６００は、ブロック６０６において、１つまたは複数のローカルオブジェクト３８０のそれぞれに関する信頼度レベルを決定する。
論理フロー６００は、ブロック６０８において、信頼度レベルが信頼閾値未満である低信頼度ローカルオブジェクトを決定する。
【００６３】
論理フロー６００は、ブロック６１０において、ネットワークシステムが自然言語ユーザ要求１９０をオブジェクトグラフ２００に対して照合することを要求するネットワーククエリをネットワークシステムに送信する。
【００６４】
論理フロー６００は、ブロック６１２において、ネットワーククエリに応答してネットワークシステムからの低信頼度ローカルオブジェクトを置き換えるためにオブジェクトグラフ２００内で表されるリモートオブジェクト３９０を受信する。
【００６５】
論理フロー６００は、ブロック６１４において、リモートオブジェクト３９０に基づいて自然言語ユーザ要求１９０を実行する。
実施形態は、この例に限定されない。
【００６６】
図７は、一実施形態の第２の論理フロー７００を示す。論理フロー７００は、本明細書に記載された１つまたは複数の実施形態によって実行される動作の一部または全部を表す。
【００６７】
図７に示される例示的な実施形態において、論理フロー７００は、ブロック７０２において、モバイルデバイス１２０から自然言語ユーザ要求１９０を受信する。
論理フロー７００は、ブロック７０４において、自然言語ユーザ要求１９０をオブジェクトグラフ２００内の１つまたは複数のソーシャルオブジェクト４８０と照合させる。オブジェクトグラフ２００は、オブジェクトグラフ２００内のソーシャルオブジェクト４８０に対するトークンマッピングを含み、トークンマッピングは、ネットワークシステムの複数のユーザによって複数の対話から抽出されたデータに基づくものであり、１つまたは複数のソーシャルオブジェクト４８０がトークンマッピングに基づいて自然言語ユーザ要求１９０と照合される。
【００６８】
論理フロー７００は、ブロック７０６において、マッチングした１つまたは複数のソーシャルオブジェクト４８０に基づいて自然言語ユーザ要求１９０を実行する。
実施形態はこの例に限定されない。
【００６９】
図８は、集中型システム８００のブロック図を示す。集中型システム８００は、単一デバイス８２０内のエンティティ等の、単一の計算エンティティ内の自然言語要求システム１００のための構造および／または動作のうちのいくつかまたは全てを実施することができる。
【００７０】
デバイス８２０は、自然言語要求システム１００のための情報を受信、処理および送信することが可能な任意の電子デバイスを含むことができる。電子デバイスの例は、限定ではないが、ウルトラモバイルデバイス、モバイルデバイス、携帯情報端末（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話、デジタル電話、携帯電話、電子書籍リーダ、ハンドセット、ワンウエイページャ（ｏｎｅ−ｗａｙ  ｐａｇｅｒ）、ツーウエイページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバー、サーバーアレイもしくはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワーク機器、ウェブ機器、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家庭用電子機器、プログラム可能な家庭用電子機器、ゲームデバイス、テレビ、デジタルテレビ、セットトップボックス、無線アクセスポイント、基地局、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはそれらの組合せを含むことができる。実施形態はこれに限定されない。
【００７１】
デバイス８２０は、処理コンポーネント８３０を用いて自然言語要求システム１００のための処理動作またはロジックを実行することができる。処理コンポーネント８３０は、様々なハードウェア要素、ソフトウェア要素、または双方の組合せを含むことができる。ハードウェア要素の例は、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、レジスタ、キャパシタ、インダクタ等）、集積回路、特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）、プログラマブルロジックデバイス（ＰＬＤ：ｐｒｏｇｒａｍｍａｂｌｅ  ｌｏｇｉｃ  ｄｅｖｉｃｅｓ）、デジタルシグナルプロセッサ（ＤＳＰ：ｄｉｇｉｔａｌ  ｓｉｇｎａｌ  ｐｒｏｃｅｓｓｏｒｓ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセット等を含むことができる。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラミングインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、単語、値、シンボル、またはそれらの任意の組合せを含むことができる。実施形態がハードウェア要素を用いて実施されるか、かつ／またはソフトウェア要素を用いて実施されるかを判断することは、所望の計算速度、パワーレベル、耐熱性、処理サイクルバジェット、入力データレート、出力データレート、メモリリソース、データバス速度および他の設計または性能の制約等の任意の数の要因に従って、所与の実施態様にとって望ましいとおりに変動することができる。
【００７２】
デバイス８２０は、通信コンポーネント８４０を用いて自然言語要求システム１００の通信動作またはロジックを実行することができる。通信コンポーネント８４０は、パケット交換ネットワーク（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベートネットワーク等）、回路交換網（例えば、公衆交換電話網）、またはパケット交換ネットワークおよび回路交換網の（適切なゲートウェイおよびトランスレータを用いた）組合せ等と共に用いるのに適した技法等の、任意のよく知られた通信技法およびプロトコルを実施することができる。通信コンポーネント８４０は、１つまたは複数の通信インタフェース、ネットワークインタフェース、ネットワークインタフェースカード（ＮＩＣ：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃａｒｄｓ）、無線通信装置、ワイヤレストランスミッタ／ワイヤレスレシーバ（トランシーバ）、有線および／または無線通信媒体、物理的コネクタ等の様々なタイプの標準的な通信要素を含むことができる。限定ではないが、例として、通信媒体８１２は、有線通信媒体および無線通信媒体を含む。有線通信媒体の例は、有線、ケーブル、金属導線、プリント回路基盤（ＰＣＢ：ｐｒｉｎｔｅｄ  ｃｉｒｃｕｉｔ  ｂｏａｒｄｓ）、バックプレーン、スイッチファブリック、半導体材料、ツイストペア線、同軸ケーブル、光ファイバ、伝搬信号等を含むことができる。無線通信媒体の例は、音響、無線周波数（ＲＦ）スペクトル、赤外線および他の無線媒体を含むことができる。
【００７３】
デバイス８２０は、通信コンポーネント８４０により通信信号８１４を使用して通信媒体８１２を介してモバイルデバイス８１０と通信することができる。複数のモバイルデバイス８１０は、自然言語要求システム１００のユーザおよび／またはソーシャルネットワーキングサービスによって使用されるデバイスを含むことができる。媒体８１２を介して送信される信号８１４は、クライアントサービスコンポーネント４３０へのユーザ要求の送信およびモバイルデバイス８１０へのソーシャルオブジェクトの送信に対応することができる。
【００７４】
図９は、分散型システム９００のブロック図を示している。分散型システム９００は、自然言語要求システム１００について、その構造および／またはオペレーションのいくつかの部分を複数のコンピューティングエンティティに分散させることができる。分散型システム９００の例として、限定するものではないが、クライアントサーバーアーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタスレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散型システムを含むことができる。実施形態は、これに限定されない。
【００７５】
分散型システム９００は、クライアントサービスサーバーデバイス９１０およびグラフ検索サーバーデバイス９５０を備え得る。概して、クライアントサービスサーバーデバイス９１０およびグラフ検索サーバーデバイス９５０は、図８を参照して説明したようなサーバーデバイス８２０と同じまたは類似したものであり得る。例えば、サーバーデバイス９１０，９５０は、それぞれ、処理コンポーネント９３０および通信コンポーネント９４０を有することができ、それらは、図８を参照して説明したような処理コンポーネント８３０および通信コンポーネント８４０とそれぞれ同じまたは類似したものである。他の例では、サーバーデバイス９１０，９５０は、通信コンポーネント９４０を介して、通信信号９１４を用いて通信媒体９１２を通して通信することができる。
【００７６】
クライアントサービスサーバーデバイス９１０は、記載の実施形態による様々な方法を実施するように機能する１つまたは複数のクライアントプログラムを具備または採用することができる。一実施形態では、例えば、クライアントサービスサーバーデバイス９１０は、複数のクライアントサービスコンポーネント４３０を実装し得る。
【００７７】
グラフ検索サーバーデバイス９５０は、記載された実施形態に従って様々な方法を実行するように動作する１つまたは複数のサーバープログラムを備えるか、または採用することができる。一実施形態では、例えば、グラフ検索サーバーデバイス９５０は、複数のソーシャルオブジェクトリレーションコンポーネント４４０を実装することができる。
【００７８】
サーバーデバイス９１０，９５０は、媒体９１２を介して送信される信号９１４を使用してモバイルデバイス８１０と通信することができる。オブジェクトグラフ２００は、複数のソーシャルオブジェクトストア９６０に格納され、ソーシャルオブジェクトストア９６０は、オブジェクトグラフ２００を記憶する分散型データベースを含むことができる。サーバーデバイス９１０，９５０は、媒体９１２を介して送信される信号９１４を用いてソーシャルオブジェクトストア９６０と通信することができる。
【００７９】
図１０は、上記に記載の様々な実施形態を実施するのに適した例示的なコンピューティングアーキテクチャ１０００の１実施形態を示す。１つの実施形態では、コンピューティングアーキテクチャ１０００は、電子デバイスを備えるか、電子デバイスの一部として実施されることが可能である。電子デバイスの例は、中でも、図８を参照して説明したものを含むことができる。実施形態はこれに限定されない。
【００８０】
本出願において用いられるとき、「システム」および「コンポーネント」という語は、ハードウェア、ハードウェアおよびソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータに関係したエンティティを指すことを意図され、それらの例が、例示的なコンピューティングアーキテクチャ１０００によって提供される。例えば、コンポーネントは、限定ではないが、プロセッサにおいて実行されるプロセス、プロセッサ、ハードディスクドライブ、（光学および／または磁気記録媒体の）マルチ記録ドライブ、オブジェクト、実行ファイル、実行スレッド、プログラムおよび／またはコンピュータであり得る。例示のために、サーバー上で実行されるアプリケーションおよびサーバーの双方がコンポーネントであり得る。１つまたは複数のコンポーネントがプロセスおよび／または実行スレッド内に常駐することができ、コンポーネントは、１つのコンピュータ上に局在することができ、および／または２つ以上のコンピュータ間で分散され得る。更に、コンポーネントは、動作を協調させるように、様々なタイプの通信媒体によって互いに通信可能に結合され得る。協調は、情報の一方向または双方向の交換を含むことができる。例えば、コンポーネントは、通信媒体により通信される信号の形態で情報を通信することができる。情報は、様々な信号線に割り当てられる信号として実施され得る。そのような割り当てにおいて、各メッセージは信号である。一方、更なる実施形態は、代替的にデータメッセージを用いることができる。そのようなデータメッセージは、様々な接続にわたって送信され得る。例示的な接続は、パラレルインタフェース、シリアルインタフェースおよびバスインタフェースを含む。
【００８１】
コンピューティングアーキテクチャ１０００は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、オシレータ、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入出力（Ｉ／Ｏ）コンポーネント、電源等の様々な一般的なコンピューティング要素を含む。しかしながら、実施形態は、コンピューティングアーキテクチャ１０００による実施に限定されない。
【００８２】
図１０に示すように、コンピューティングアーキテクチャ１０００は、処理ユニット１００４、システムメモリ１００６およびシステムバス１００８を備える。処理ユニット１００４、限定ではないが、ＡＭＤ（登録商標）プロセッサ、Ａｔｈｌｏｎ（登録商標）プロセッサ、Ｄｕｒｏｎ（登録商標）プロセッサおよびＯｐｔｅｒｏｎ（登録商標）プロセッサ；ＡＲＭ（登録商標）のアプリケーションプロセッサ、組込み型プロセッサおよびセキュアプロセッサ；ＩＢＭ（登録商標）およびＭｏｔｏｒｏｌａ（登録商標）のＤｒａｇｏｎＢａｌｌ（登録商標）プロセッサおよびＰｏｗｅｒＰＣ（登録商標）プロセッサ；ＩＢＭおよびＳｏｎｙ（登録商標）のセルプロセッサ；Ｉｎｔｅｌ（登録商標）のＣｅｌｅｒｏｎ（登録商標）プロセッサ、Ｃｏｒｅ（２）Ｄｕｏ（登録商標）プロセッサ、Ｉｔａｎｉｕｍ（登録商標）プロセッサ、Ｐｅｎｔｉｕｍ（登録商標）プロセッサ、Ｘｅｏｎ（登録商標）プロセッサおよびＸＳｃａｌｅ（登録商標）プロセッサ；ならびに同様なプロセッサを含む様々な市販のプロセッサのうちの任意のものであり得る。デュアルマイクロプロセッサ、マルチコアプロセッサおよび他のマルチプロセッサアーキテクチャも処理ユニット１００４として用いられることが可能である。
【００８３】
システムバス１００８は、限定ではないがシステムメモリ１００６を含むシステムコンポーネントのためのインタフェースを処理ユニット１００４に提供する。システムバス１００８は、多岐にわたる市販のバスアーキテクチャのうちの任意のものを用いてメモリバス（メモリコントローラを有するかまたは有しない）、周辺バスおよびローカルバスに更に相互接続することができるいくつかのタイプのバス構造のうちの任意のものとすることができる。インタフェースアダプタは、スロットアーキテクチャを介してシステムバス１００８に接続することができる。例示的なスロットアーキテクチャは、限定ではないが、アクセラレーテッドグラフィックスポート（ＡＧＰ：Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ）、カードバス、（拡張）業界標準アーキテクチャ（（Ｅ）ＩＳＡ：（Ｅｘｔｅｎｄｅｄ）Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、マイクロチャネルアーキテクチャ（ＭＣＡ：Ｍｉｃｒｏ  Ｃｈａｎｎｅｌ  Ａｒｃｈｉｔｅｃｔｕｒｅ）、ＮｕＢｕｓ、周辺コンポーネント相互接続（拡張）（ＰＣＩ（Ｘ）：Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ（Ｅｘｔｅｎｄｅｄ））、ＰＣＩエクスプレス、パーソナルコンピュータメモリカード国際組織（ＰＣＭＣＩＡ：Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）等を含むことができる。
【００８４】
コンピューティングアーキテクチャ１０００は、様々な製造品を含むかまたは実装することができる。製造品は、ロジックを記憶するためのコンピュータ可読記録媒体を含むことができる。コンピュータ可読記録媒体の例は、揮発性メモリまたは不揮発性メモリ、取外し可能または非取外し可能メモリ、消去可能または非消去可能メモリ、書き込み可能または書き換え可能メモリ等を含む、電子データを記憶することが可能な任意の有形媒体を含むことができる。ロジックの例は、ソースコード、コンパイルされたコード、解釈実行されたコード、実行可能コード、スタティックコード、ダイナミックコード、オブジェクト指向コード、視覚コード等の任意の適切なタイプのコードを用いて実施される実行可能なコンピュータプログラム命令を含むことができる。実施形態はまた、１つまたは複数のプロセッサによって読出しおよび実行されて、本明細書に記載の動作の実行を可能にすることができる、非一時的コンピュータ可読媒体に含まれるかまたは非一時的コンピュータ可読媒体上にある命令として少なくとも部分的に実施されることが可能である。
【００８５】
システムメモリ１００６は、読出し専用メモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ：Ｄｏｕｂｌｅ−Ｄａｔａ−Ｒａｔｅ  ＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ：ｓｙｎｃｈｒｏｎｏｕｓ  ＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ：ｓｔａｔｉｃ  ＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ：ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、消去可能なプログラマブルＲＯＭ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、電気的に消去可能なプログラマブルＲＯＭ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリ等のポリマーメモリ、オーボニックメモリ（ｏｖｏｎｉｃ  ｍｅｍｏｒｙ）、相変化または強誘電性メモリ、シリコン−酸化物−窒化物−酸化物−シリコン（ＳＯＮＯＳ：ｓｉｌｉｃｏｎ−ｏｘｉｄｅ−ｎｉｔｒｉｄｅ−ｏｘｉｄｅ−ｓｉｌｉｃｏｎ）メモリ、磁気カードまたは光カード、独立ディスクの冗長アレイ（ＲＡＩＤ：Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｄｉｓｋｓ）ドライブ等のデバイスのアレイ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ：ｓｏｌｉｄ  ｓｔａｔｅ  ｄｒｉｖｅ）および情報を記憶するのに適した任意の他のタイプの記憶媒体等の１つまたは複数の高速メモリユニットの形態の様々なタイプのコンピュータ可読記録媒体を含むことができる。図１０に示す例示される実施形態では、システムメモリ１００６は、不揮発性メモリ１０１０および／または揮発性メモリ１０１２を含むことができる。基本入出力システム（ＢＩＯＳ：ｂａｓｉｃ  ｉｎｐｕｔ／ｏｕｔｐｕｔ  ｓｙｓｔｅｍ）を不揮発性メモリ１０１０に記憶することができる。
【００８６】
コンピュータ１００２は、内部（または外部）ハードディスクドライブ（ＨＤＤ）１０１４、取外し可能な磁気ディスク１０１８に対し読出しまたは書き込みを行うための磁気フロッピーディスクドライブ（ＦＤＤ）１０１６、および取外し可能な光ディスク１０２２（例えば、ＣＤ−ＲＯＭまたはＤＶＤ）に対し読出しまたは書き込みを行うための光ディスクドライブ１０２０を含む１つまたは複数の低速メモリユニットの形態で様々なタイプのコンピュータ可読記録媒体を備えることができる。ＨＤＤ１０１４、ＦＤＤ１０１６および光ディスクドライブ１０２０は、それぞれＨＤＤインタフェース１０２４、ＦＤＤインタフェース１０２６、および光ドライブインタフェース１０２８によってシステムバス１００８に接続されることが可能である。外部ドライブ実装のためのＨＤＤインタフェース１０２４は、ユニバーサルシリアルバス（ＵＳＢ）およびＩＥＥＥ１３９４インタフェース技術の少なくとも一方または双方を含むことができる。
【００８７】
ドライブおよび関連するコンピュータ可読媒体は、データ、データ構造、コンピュータ実行可能命令等の揮発性記録および／または不揮発性記録を提供する。例えば、オペレーティングシステム１０３０、１つまたは複数のアプリケーションプログラム１０３２、他のプログラムモジュール１０３４およびプログラムデータ１０３６を含む複数のプログラムモジュールがドライブおよびメモリユニット１０１０、１０１２に記憶され得る。１つの実施形態では、１つまたは複数のアプリケーションプログラム１０３２、他のプログラムモジュール１０３４およびプログラムデータ１０３６は、例えば、自然言語要求システム１００の様々なアプリケーションおよび／またはコンポーネントを含むことができる。
【００８８】
ユーザは、１つまたは複数の有線／無線入力デバイス、例えば、キーボード１０３８、およびマウス１０４０等のポインティングデバイスを通じてコンピュータ１００２にコマンドおよび情報を入力することができる。他の入力デバイスは、マイクロフォン、赤外線（ＩＲ）リモートコントロール、無線周波数（ＲＦ）リモートコントロール、ゲームパッド、スタイラスペン、カードリーダ、ドングル、指紋リーダ、グローブ、グラフィックタブレット、ジョイスティック、キーボード、網膜リーダ、タッチスクリーン（例えば、容量型、抵抗型等）、トラックボール、トラックパッド、センサ、スタイラス等を含むことができる。これらのおよび他の入力デバイスは、多くの場合に、システムバス１００８に結合された入力デバイスインタフェース１０４２を通じて処理ユニット１００４に接続されるが、パラレルポート、ＩＥＥＥ１３９４シリアルポート、ゲームポート、ＵＳＢポート、ＩＲインタフェース等の他のインタフェースによって接続されてもよい。
【００８９】
モニタ１０４４または他のタイプの表示デバイスも、ビデオアダプタ１０４６等のインタフェースを介してシステムバス１００８に接続される。モニタ１０４４は、コンピュータ１００２に対し内部または外部にあり得る。モニタ１０４４に加えて、コンピュータは通常、スピーカ、プリンタ等の他の周辺出力デバイスを備える。
【００９０】
コンピュータ１００２は、リモートコンピュータ１０４８等の１つまたは複数のリモートコンピュータへの有線および／または無線通信を介して論理接続を用いてネットワーク化された環境において動作することができる。リモートコンピュータ１０４８は、ワークステーション、サーバーコンピュータ、ルータ、パーソナルコンピュータ、ポータブルコンピュータ、マイクロプロセッサに基づく娯楽機器、ピアデバイス、または他の共通ネットワークノードであり得、通常、コンピュータ１００２について記載した要素のうちの多くまたは全てを備えるが、簡潔にするために、メモリ／記録デバイス１０５０のみが示されている。描かれる論理接続は、ローカルエリアネットワーク（ＬＡＮ）１０５２および／またはより大きなネットワーク、例えば広域ネットワーク（ＷＡＮ）１０５４への有線／無線接続を含む。そのようなＬＡＮおよびＷＡＮネットワーキング環境は、事務所および会社において一般的であり、イントラネット等の、企業規模のコンピュータネットワークを容易にする。これらは全て、グローバル通信ネットワーク、例えばインターネットに接続することができる。
【００９１】
ＬＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、有線および／または無線通信ネットワークインタフェースまたはアダプタ１０５６を通じてＬＡＮ１０５２に接続される。アダプタ１０５６は、ＬＡＮ１０５２への有線および／または無線通信を容易にすることができる。ＬＡＮ１０５２も、アダプタ１０５６の無線機能と通信するために配置された無線アクセスポイントを含むことができる。
【００９２】
ＷＡＮネットワーキング環境において用いられるとき、コンピュータ１００２は、モデム１０５８を含むことができるか、またはＷＡＮ１０５４の通信サーバーに接続されるか、またはインターネット等によってＷＡＮ１０５４を介して、通信を確立する他の手段を有する。内部または外部の、有線および／または無線デバイスであり得るモデム１０５８は、入力デバイスインタフェース１０４２を介してシステムバス１００８に接続する。ネットワーク化された環境では、コンピュータ１００２について述べられたプログラムモジュールまたはその一部分をリモートメモリ／記録デバイス１０５０に記憶することができる。示されるネットワーク接続は例示であり、コンピュータ間で通信リンクを確立する他の手段が用いられてもよいことが理解されよう。
【００９３】
コンピュータ１００２は、ＩＥＥＥ８０２系規格を用いて、無線通信（例えば、ＩＥＥＥ８０２．１０オーバーザエアー変調技法）において動作可能に配置される無線デバイス等の、有線および無線デバイスまたはエンティティと通信するように動作可能である。これは、少なくとも、中でも、Ｗｉ−Ｆｉ（または無線フィデリティ）、ＷｉＭａｘおよびＢｌｕｅｔｏｏｔｈ（商標）の無線通信技術を含む。このため、この通信は従来のネットワークと同じように予め定義された通信構造であり得るか、または、単に少なくとも２つの装置の間におけるアドホック通信であり得る。Ｗｉ−Ｆｉネットワークは、安全で信頼性が高く高速なワイヤレス接続を提供するＩＥＥＥ８０２．１０ｘ（ａ、ｂ、ｇ、ｎ等）と称される無線技術を用いる。Ｗｉ−Ｆｉネットワークはコンピュータを互いに、インターネットに、および有線ネットワーク（ＩＥＥＥ８０２．３関連の媒体および機能を用いる）に接続するのに用いられ得る。
【００９４】
図１１は上記の様々な実施形態を実施するのに適した例示的な通信アーキテクチャ１１００のブロック図を示す。この通信アーキテクチャ１１００は、トランスミッタ、レシーバ、トランシーバ、無線通信装置、ネットワークインタフェース、ベースバンドプロセッサ、アンテナ、増幅器、フィルタ、電源等の様々な一般的な通信要素を含む。しかしながら、本発明の実施形態は通信アーキテクチャ１１００による実施に限定されない。
【００９５】
図１１に示されるように、通信アーキテクチャ１１００は１つまたは複数のクライアント１１０２およびサーバー１１０４を含む。クライアント１１０２はクライアントデバイス９１０を実装することができる。サーバー１１０４はサーバーデバイス９１０，９５０を実装することができる。クライアント１１０２およびサーバー１１０４は、１つまたは複数のそれぞれのクライアントデータストア１１０８およびサーバーデータストア１１１０に動作可能に接続されている。これらは、クッキーおよび／または関連付けられたコンテキスト情報等のそれぞれのクライアント１１０２およびサーバー１１０４にローカルな情報を記憶するために利用されることが可能である。クライアント１１０２は、モバイルデバイス１２０を含むモバイルデバイス８１０を実装することができる。
【００９６】
クライアント１１０２およびサーバー１１０４は通信フレームワーク１１０６を用いて互いの間で情報を通信することができる。通信フレームワーク１１０６は任意の既知の通信技法およびプロトコルを実装することができる。通信フレームワーク１１０６は、パケット交換網（例えば、インターネット等の公衆ネットワーク、社内イントラネット等のプライベートネットワーク等）、回線交換網（例えば、公衆交換電話網）、またはパケット交換網と回線交換網との組合せ（適切なゲートウェイおよびトランスレータを備える）として実装されることが可能である。
【００９７】
通信フレームワーク１１０６は、通信ネットワークを受け入れ、通信ネットワークと通信し、通信ネットワークに接続するように構成される様々なネットワークインタフェースを実施することができる。ネットワークインタフェースは、特殊な形態の入出力インタフェースと見なされ得る。ネットワークインタフェースは、限定ではないが、直接接続、イーサネット（例えば、シック、シン、ツイストペア１０／１００／１０００ＢａｓｅＴ等）、トークンリング、無線ネットワークインタフェース、セルラーネットワークインタフェース、ＩＥＥＥ８０２．１１ａ−ｘネットワークインタフェース、ＩＥＥＥ８０２．１６ネットワークインタフェース、ＩＥＥＥ８０２．２０ネットワークインタフェース等を含む接続プロトコルを用いることができる。更に、様々な通信ネットワークタイプと関わるために複数のネットワークインタフェースが用いられ得る。例えば、ブロードキャスト、マルチキャストおよびユニキャストネットワークによる通信を可能にするために、複数のネットワークインタフェースが用いられることが可能である。処理要件がより高い速度およびより多くの容量を指示する場合、クライアント１１０２およびサーバー１１０４によって必要とされる通信帯域幅をプールし、負荷分散し、他の形で増大させるために、分散ネットワークコントローラアーキテクチャが同様に利用されることが可能である。通信ネットワークは、限定ではないが、直接相互接続、セキュア化されたカスタム接続、プライベートネットワーク（例えば、社内イントラネット）、公衆ネットワーク（例えば、インターネット）、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、インターネット上のノードとして動作しているミッション（ＯＭＮＩ：Ｏｐｅｒａｔｉｎｇ  Ｍｉｓｓｉｏｎｓ  ａｓ  Ｎｏｄｅｓ  ｏｎ  ｔｈｅ  Ｉｎｔｅｒｎｅｔ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、セルラーネットワークおよび他の通信ネットワークを含む有線および／または無線ネットワークのうちの任意の１つまたはそれらの組合せであり得る。
【００９８】
図１２は、自然言語要求システム１００のようなマルチキャリアＯＦＤＭシステムで使用するためのデバイス１２００の実施形態を示している。デバイス１２００は、例えば、自然言語要求システム１００を参照して説明したようなソフトウェアコンポーネント１２６０、および／または論理回路１２３０を実装することができる。デバイス１２００は、モバイルデバイス１２０および／または１つまたは複数のモバイルデバイス８１０に対応することができる。論理回路１２３０は、自然言語要求システム１００について説明したオペレーションを実行するための物理回路を含み得る。図１２に示すように、デバイス１２００は、無線インタフェース１２１０と、ベースバンド回路１２２０と、コンピューティングプラットフォーム１２３０とを備え得るが、ただし実施形態は、この構成に限定されない。
【００９９】
デバイス１２００は、完全に単一のデバイス内にあるなどの単一のコンピューティングエンティティにおいて、自然言語要求システム１００および／または論理回路１２３０について、その構造および／またはオペレーションの一部またはすべてを具体化することができる。あるいは、デバイス１２００は、クライアントサーバーアーキテクチャ、３層アーキテクチャ、Ｎ層アーキテクチャ、密結合またはクラスタアーキテクチャ、ピアツーピアアーキテクチャ、マスタスレーブアーキテクチャ、共有データベースアーキテクチャ、および他のタイプの分散型システムのような分散システムアーキテクチャを用いて、自然言語要求システム１００および／または論理回路１２３０について、その構造および／またはオペレーションのいくつかの部分を複数のコンピューティングエンティティに分散させることができる。実施形態は、これに限定されない。
【０１００】
一実施形態では、無線インタフェース１２１０は、（例えば、相補型符号変調（ＣＣＫ）および／または直交周波数分割多重（ＯＦＤＭ）シンボルを含む）シングルキャリアまたはマルチキャリア変調信号を送信および／または受信するように構成されたコンポーネントもしくはコンポーネントの組み合わせを有し得るが、ただし実施形態は、いずれかの特定の空中（ｏｖｅｒ−ｔｈｅ−ａｉｒ）インタフェースまたは変調方式に限定されない。無線インタフェース１２１０は、例えば、受信機１２１２、送信機１２１６、および／または周波数シンセサイザ１２１４を有し得る。無線インタフェース１２１０は、バイアスコントロール、水晶発振器、および／または１つまたは複数のアンテナ１２１８を有し得る。他の実施形態では、無線インタフェース１２１０は、必要に応じて、外部の電圧制御発振器（ＶＣＯ）、弾性表面波フィルタ、中間周波数（ＩＦ）フィルタ、および／またはＲＦフィルタを使用することができる。可能なＲＦインタフェース構成は多様であるため、その広範な説明は省略する。
【０１０１】
ベースバンド回路１２２０は、受信信号および／または送信信号を処理するために無線インタフェース１２１０と通信することができ、例えば、受信信号をダウンコンバートするためのアナログデジタル変換器１２２２、信号を送信用にアップコンバートするためのデジタルアナログ変換器１２２４を有し得る。さらに、ベースバンド回路１２２０は、個々の受信／送信信号のＰＨＹリンク層処理のためのベースバンドまたは物理層（ＰＨＹ）処理回路１２２６を有し得る。ベースバンド回路１２２０は、例えば、メディアアクセス制御（ＭＡＣ）／データリンク層処理のための処理回路１２２８を有し得る。ベースバンド回路１２２０は、例えば、１つまたは複数のインタフェース１２３４を介した処理回路１２２８および／またはコンピューティングプラットフォーム１２３０による通信のためのメモリコントローラ１２３２を有し得る。
【０１０２】
いくつかの実施形態では、ＰＨＹ処理回路１２２６は、無線フレームのような通信フレームを構築および／または分解するために、バッファメモリのような追加回路と組み合わせて、フレーム構築および／または検出モジュールを含み得る。代替的または追加的に、ＭＡＣ処理回路１２２８は、これらの機能のうちのいくつかの処理を共有するか、またはこれらのプロセスをＰＨＹ処理回路１２２６とは独立に実行することができる。
【０１０３】
コンピューティングプラットフォーム１２３０は、デバイス１２００にコンピューティング機能を提供し得る。図示のように、コンピューティングプラットフォーム１２３０は、処理コンポーネント１２４０を有し得る。デバイス１２００は、ベースバンド回路１２２０に対して追加的または代替的に、処理コンポーネント１２４０を用いて、自然言語要求システム１００および／または論理回路１２３０について、その処理オペレーションまたはロジックを実行することができる。処理コンポーネント１２４０（および／またはＰＨＹ  １２２６および／またはＭＡＣ  １２２８）は、各種ハードウェア要素、ソフトウェア要素、またはその両方の組み合わせを含み得る。ハードウェア要素の例として、デバイス、論理デバイス、コンポーネント、プロセッサ、マイクロプロセッサ、回路、プロセッサ回路、回路素子（例えば、トランジスタ、抵抗器、キャパシタ、インダクタなど）、集積回路、特定用途向け集積回路（ＡＳＩＣ）、プログラマブルロジックデバイス（ＰＬＤ）、デジタル信号プロセッサ（ＤＳＰ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、メモリユニット、論理ゲート、レジスタ、半導体デバイス、チップ、マイクロチップ、チップセットなどを含むことができる。ソフトウェア要素の例として、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータプログラム、アプリケーションプログラム、システムプログラム、ソフトウェア開発プログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、関数、メソッド、プロシージャ、ソフトウェアインタフェース、アプリケーションプログラムインタフェース（ＡＰＩ）、命令セット、コンピューティングコード、コンピュータコード、コードセグメント、コンピュータコードセグメント、ワード、値、シンボル、またはその任意の組み合わせを含むことができる。ハードウェア要素および／またはソフトウェア要素を用いて実施形態を実現するかどうかの判断は、所望の計算速度、電力レベル、熱耐性、処理サイクルバジェット、入力データレート、出力データレート、メモリ資源、データバス速度、および他の設計制約または性能制約など、所与のインプリメンテーションで要求される任意の数のファクタに応じて異なる判断となり得る。
【０１０４】
コンピューティングプラットフォーム１２３０は、さらに、他のプラットフォームコンポーネント１２５０を有し得る。他のプラットフォームコンポーネント１２５０は、１つまたは複数のプロセッサ、マルチコアプロセッサ、コプロセッサ、メモリユニット、チップセット、コントローラ、周辺機器、インタフェース、発振器、タイミングデバイス、ビデオカード、オーディオカード、マルチメディア入力／出力（Ｉ／Ｏ）コンポーネント（例えば、デジタルディスプレイ）、パワーサプライなどのような、一般的な計算要素を含む。メモリユニットの例として、限定するものではないが、リードオンリメモリ（ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ダイナミックＲＡＭ（ＤＲＡＭ）、ダブルデータレートＤＲＡＭ（ＤＤＲＡＭ）、同期ＤＲＡＭ（ＳＤＲＡＭ）、スタティックＲＡＭ（ＳＲＡＭ）、プログラマブルＲＯＭ（ＰＲＯＭ）、消去可能プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ）、フラッシュメモリ、強誘電性ポリマーメモリのようなポリマーメモリ、オーボニックメモリ、相変化または強誘電体メモリ、シリコン／酸化膜／窒化膜／酸化膜／シリコン（ＳＯＮＯＳ）メモリ、磁気または光カード、独立ディスクの冗長アレイ（ＲＡＩＤ）ドライブのようなデバイスアレイ、ソリッドステートメモリデバイス（例えば、ＵＳＢメモリ、ソリッドステートドライブ（ＳＳＤ））、および情報を保存するのに適した他の任意のタイプの記憶媒体のような、１つまたは複数のより高速のメモリユニットの形態の各種タイプのコンピュータ可読およびマシン可読記憶媒体を含むことができる。
【０１０５】
デバイス１２００は、例えば、ウルトラモバイルデバイス、モバイルデバイス、固定デバイス、マシンツーマシン（Ｍ２Ｍ）デバイス、パーソナルデジタルアシスタント（ＰＤＡ）、モバイルコンピューティングデバイス、スマートフォン、電話機、デジタル電話機、セルラー電話機、ユーザデバイス、電子書籍リーダ、ハンドセット、一方向ページャ、双方向ページャ、メッセージングデバイス、コンピュータ、パーソナルコンピュータ（ＰＣ）、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、ネットブックコンピュータ、ハンドヘルドコンピュータ、タブレットコンピュータ、サーバー、サーバーアレイまたはサーバーファーム、ウェブサーバー、ネットワークサーバー、インターネットサーバー、ワークステーション、ミニコンピュータ、メインフレームコンピュータ、スーパーコンピュータ、ネットワークアプライアンス、ウェブアプライアンス、分散コンピューティングシステム、マルチプロセッサシステム、プロセッサベースのシステム、家電機器、プログラマブル家電機器、ゲーム機、テレビ、デジタルテレビ、セットトップボックス、ワイヤレスアクセスポイント、基地局、ノードＢ、発展型ノードＢ（ｅＮＢ）、加入者局、モバイル加入者センター、無線ネットワークコントローラ、ルータ、ハブ、ゲートウェイ、ブリッジ、スイッチ、マシン、またはその組み合わせであり得る。従って、本明細書に記載のデバイス１２００の機能および／または具体的な構成は、要求に応じて適宜、デバイス１２００の種々の実施形態に含むことも、または省くこともできる。いくつかの実施形態では、デバイス１２００は、３ＧＰＰ  ＬＴＥ仕様および／またはＷＭＡＮ用のＩＥＥＥ１２０２．１６規格および／または本明細書で引用される他の広帯域ワイヤレスネットワークの１つまたは複数に関連したプロトコルおよび周波数に準拠するように構成することができるが、実施形態は、この点に関して限定されない。
【０１０６】
デバイス１２００の実施形態は、単入力単出力（ＳＩＳＯ）アーキテクチャを用いて実現することができる。一方、いくつかの実現形態では、ビームフォーミングまたは空間分割多重アクセス（ＳＤＭＡ）のための適応アンテナ技術、および／またはＭＩＭＯ通信技術を用いた送信および／または受信用のマルチアンテナ（例えば、アンテナ１２１８）を備えることができる。
【０１０７】
デバイス１２００のコンポーネントおよび機能は、ディスクリート回路、特定用途向け集積回路（ＡＳＩＣ）、論理ゲート、および／またはシングルチップアーキテクチャの任意の組み合わせを用いて実装することができる。さらに、デバイス１２００の機能は、必要に応じて適宜、マイクロコントローラ、プログラマブルロジックアレイ、および／またはマイクロプロセッサ、またはその任意の組み合わせを用いて実装することができる。なお、本明細書において、ハードウェア、ファームウェア、および／またはソフトウェア要素を、「ロジック」または「回路」と総称または個称する場合があるということに留意すべきである。
【０１０８】
図１２のブロック図に示す例示的なデバイス１２００は、多くの可能性のある実現形態の１つの機能的説明例を表し得るということは理解されるべきである。従って、添付の図面に示す機能ブロックの分割、欠落、または組み込みは、必ずしも、実施形態における、それらの機能を実装するためのハードウェアコンポーネント、回路、ソフトウェア、および／または要素の分割、欠落、または組み込みを推測させるものではない。
【０１０９】
いくつかの実施形態は、「１つの実施形態」または「実施形態」という表現と、それらの派生語とを用いて説明され得る。これらの用語は、実施形態に関して説明される特定の特徴、構造または特性が少なくとも１つの実施形態に含まれることを意味している。本明細書の様々な箇所に現れる「１つの実施形態において」というフレーズは、必ずしも全てが同じ実施形態を指しているわけではない。更に、いくつかの実施形態は、「結合された」および「接続された」という表現と、それらの派生語とを用いて説明され得る。これらの表現は必ずしも互いの同義語として意図されているわけではない。例えば、いくつかの実施形態は、「接続された」および／または「結合された」という表現を用いることにより、２つ以上の要素が直接物理的にまたは電気的に相互接触していることを示すように説明され得る。一方、「結合された」という用語は、２つ以上の要素が互いに直接接触していないが、それでも互いに協働またはインタラクトしていることを意味する場合もある。
【０１１０】
本明細書において用いられる表記および専門用語を全体的に参照すると、本明細書における詳細な説明は、コンピュータまたはコンピュータのネットワーク上で実行されるプログラムプロシージャの観点で表され得る。これらの手続き的（ｐｒｏｃｅｄｕｒａｌ）記載および表現は、当業者によって、当該技術分野における他の当業者に自身の研究の本質を最も効果的に伝えるために用いられている。
【０１１１】
プロシージャとは、ここでは、また一般的に、所望の結果をもたらすオペレーションの首尾一貫したシーケンスであると考えられる。これらのオペレーションは、物理的量の物理的操作を必要とするものである。必須ではないが通例、これらの量は、記憶、転送、組合せ、比較および他の形で操作されることが可能な電気信号、磁気信号または光信号の形態をとる。場合によっては、主に一般的用法の理由から、これらの信号を、ビット、値、要素、シンボル、文字、語、数等と呼ぶことが好都合であることがわかっている。しかしながら、これらの用語および同様の用語は全て適切な物理的量に関連付けられ、これらの量に適用される好都合なラベルにすぎないことに留意されたい。
【０１１２】
更に、実行される操作は、多くの場合、人間のオペレータによって実行される知的オペレーションに一般的に関連付けられる、追加または比較等の用語で参照される。１つまたは複数の実施形態の一部を形成する、本明細書に説明されるオペレーションのいずれにおいても、人間のオペレータのそのような能力は必要でないか、ほとんどの場合に望ましくない。むしろ、オペレーションは機械オペレーションである。様々な実施形態のオペレーションを実行するための有用な機械は、汎用デジタルコンピュータまたは同様のデバイスを含む。
【０１１３】
様々な実施形態は、これらのオペレーションを実行するための装置またはシステムにも関する。この装置は、必要とされる目的のために特に構築されることが可能であるか、またはコンピュータに記憶されるコンピュータプログラムによって選択的にアクティベートまたは再構成される汎用コンピュータを含むことができる。本明細書において提示されるプロシージャは、特定のコンピュータまたは他の装置に本質的に関係しない。様々な汎用機械は、本明細書における教示に関連して書かれたプログラムと共に用いられ得るか、または、必要とされる方法ステップを実行する、より特殊な装置を構築することが好都合であるとわかる場合がある。様々なこれらの機械のために必要とされる構造は、与えられる説明から明らかとなるであろう。
【０１１４】
本開示の要約書は、読み手が技術的開示の本質を迅速に理解できるようにするために提供されていることを強調しておく。要約書は、特許請求の範囲の範囲または意味を解釈または限定することに用いられないという理解のもとに提出されている。更に、上記した「発明を実施するための形態」においては、開示を効率化するために様々な特徴がまとめて単一の実施形態にされていることを見てとることができる。このような開示方法は、特許請求される実施形態が各請求項に明示的に記された特徴以外のものを必要とする意図を表していると解釈されるべきではない。むしろ、以下の特許請求の範囲が表しているように、本発明の主題は、開示されている単一の実施形態の全特徴よりも少ない特徴にある。このため、以下の特許請求の範囲は本明細書において「発明を実施するための形態」に組み込まれ、各請求項は独立した１つの実施形態に基づく。「第１の」、「第２の」、「第３の」等の用語は単にラベルとして用いられており、それらの対象物に数的限定を課すことを意図したものではない。
【０１１５】
上記で説明したものは、開示されているアーキテクチャの例を含む。当然ながら、コンポーネントおよび／または方法の全ての考え得る組合せを記載することは不可能であるが、当業者であれば、多くの更なる組合せおよび置き換えが可能であることを認識することができる。したがって、新規のアーキテクチャは、添付の特許請求の範囲の趣旨および範囲内にある全ての変化、変更および変形を包含することが意図される。
【図１】
0006450013.tif 000002
【図２】
0006450013.tif 000003
【図３】
0006450013.tif 000004
【図４】
0006450013.tif 000005
【図５】
0006450013.tif 000006
【図６】
0006450013.tif 000007
【図７】
0006450013.tif 000008
【図８】
0006450013.tif 000009
【図９】
0006450013.tif 000010
【図１０】
0006450013.tif 000011
【図１１】
0006450013.tif 000012
【図１２】
0006450013.tif 000013