(57)【要約】自然言語クエリを処理しコンテキストを決定するための方法は、ユーザデバイスからの自然言語クエリを受け取ることと、前記ユーザデバイスのコンテキストを決定することと、前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、前記ユーザデバイスに対して前記ウェブサーバを識別することと、を含む。
2016517078.tif 000002
【特許請求の範囲】
【請求項１】
自然言語クエリを処理しコンテキストを決定するための方法であって、
ユーザデバイスからの自然言語クエリを受け取ることと、
前記ユーザデバイスのコンテキストを決定することと、
前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、
前記ユーザデバイスに対して前記ウェブサーバを識別することと、
を備える方法。
【請求項２】
前記ユーザデバイスがＨＴＴＰリクエストを前記ウェブサーバに送ること、前記ＨＴＴＰリクエストは前記ユーザデバイスを識別する情報を含む、と、
前記ウェブサーバがコンテキストコンテンツを前記ユーザデバイスに送ること、前記コンテキストコンテンツは前記自然言語クエリに関係する、と
をさらに備える請求項１の方法。
【請求項３】
前記ユーザデバイスの前記コンテキストは前記ユーザデバイスの場所を備える請求項２の方法。
【請求項４】
前記自然言語クエリに関係する情報を有するウェブサーバを識別することは、
前記自然言語クエリを構文解析することと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語クエリに関係する情報を含む見込みがあるウェブサーバのリストと比較することと、
前記比較に基づいて前記ウェブサーバのうちの一つを選択することと、
をさらに備える請求項２の方法。
【請求項５】
前記構文解析された自然言語クエリに関係するトピックを決定することと、
前記決定されたトピックに基づいて前記ウェブサーバのうちの一つを選択することと、
をさらに備える請求項４の方法。
【請求項６】
自然言語クエリを処理しコンテキストを決定するためのシステムであって、
自然言語クエリを送るように構成されたユーザデバイスと、
前記ユーザデバイスのコンテキストを得るための論理を有するドメイン名サーバと、
前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための論理と、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送る前記ドメイン名サーバと、
前記ユーザデバイスに対して前記ウェブサーバを識別する前記ドメイン名サーバと、
を備えるシステム。
【請求項７】
前記ユーザデバイスを識別する情報を含むＨＴＴＰリクエストを前記ウェブサーバに送る前記ユーザデバイスと、
前記自然言語クエリに関係するコンテキストコンテンツを前記ユーザデバイスに送る前記ウェブサーバと、
をさらに備える請求項６のシステム。
【請求項８】
前記ユーザデバイスの前記コンテキストは前記ユーザデバイスの場所を備える請求項７のシステム。
【請求項９】
前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための前記論理は、
前記自然言語クエリを構文解析するように構成された検索パーサと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語に関係する情報を含む見込みがあるウェブサーバのテーブルと比較するように構成された比較論理と、
前記比較に基づいて前記ウェブサーバのうちの一つを選択するように構成された選択論理と、
をさらに備える請求項７のシステム。
【請求項１０】
前記構文解析された自然言語クエリに関係するトピックを決定するための論理と、
前記決定されたトピックに基づいて前記ウェブサーバのうちの一つを選択するための論理と、
をさらに備える請求項９のシステム。
【請求項１１】
前記ドメイン名サーバが、前記ユーザデバイス、前記自然言語クエリおよび前記ウェブサーバに関係する情報を記憶するためのクエリキャッシュをさらに備える請求項６のシステム。
【請求項１２】
前記ウェブサーバが、前記自然言語クエリと前記ユーザデバイスを決定するために前記クエリキャッシュにアクセスする請求項１１のシステム。
【請求項１３】
自然言語クエリを処理しコンテキストを決定するためのシステムであって、
自然言語クエリを送るように構成されたユーザデバイスと、
前記ユーザデバイスの場所を得るための論理を有するドメイン名サーバと、
前記決定された場所を用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための論理と、
前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送る前記ドメイン名サーバと、
前記ユーザデバイスに対して前記ウェブサーバを識別する前記ドメイン名サーバと、
を備えるシステム。
【請求項１４】
前記ユーザデバイスを識別する情報を含むＨＴＴＰリクエストを前記ウェブサーバに送る前記ユーザデバイスと、
前記自然言語クエリに関係するコンテキストコンテンツを前記ユーザデバイスに送る前記ウェブサーバと、
をさらに備える請求項１３のシステム。
【請求項１５】
前記決定された場所を用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別するための前記論理は、
前記自然言語クエリを構文解析するように構成された検索パーサと、
前記構文解析された自然言語クエリを、前記構文解析された自然言語に関係する情報を含む見込みがあるウェブサーバのテーブルと比較するように構成された比較論理と、
前記比較に基づいて前記ウェブサーバのうちの一つを選択するように構成された選択論理と、
をさらに備える請求項１４のシステム。
【請求項１６】
前記ドメイン名サーバが、前記ユーザデバイス、前記自然言語クエリおよび前記ウェブサーバに関係する情報を記憶するためのクエリキャッシュをさらに備える請求項１４のシステム。
【請求項１７】
前記ウェブサーバが、前記自然言語クエリと前記ユーザデバイスを決定するために前記クエリキャッシュにアクセスする請求項１６のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]ウェブサイトからのコンテンツという形態の情報は一般的に多くの異なるタイプのデバイスやユーザに提供される。次第にますます多くのウェブコンテンツを受け取っている一つのタイプのデバイスやユーザとして、無線デバイスや携帯電話ユーザがある。無線デバイスは、携帯コンピューティングデバイス、タブレットコンピュータ、スマートフォン、またはウェブコンテンツを閲覧し、受け取ることができる他のどのような携帯または無線デバイスでもよい。
【０００２】
[0002]携帯コンピューティングデバイス上のウェブブラウザは、オンラインで情報にアクセスする主な方法を提供する。ウェブブラウザが、ドメイン名またはＩＰアドレスに直接関係しない自然言語クエリを入力するのに使用されるとき、自然言語クエリに関係する見込みあるドメインまたはＩＰアドレスを検索するため、自然言語クエリは一般的に、グーグルまたはヤフーなどのウェブベースの検索アプリケーションに送られる。そして、ウェブ検索アプリケーションは自然言語クエリを使ってウェブ検索を実行し、ウェブブラウザにいくつかの（ａ  ｎｕｍｂｅｒ  ｏｆ）可能性のあるドメインおよびＩＰアドレス選択肢を返す。残念ながら、自然言語クエリをグーグルやヤフーなどのウェブ検索アプリケーションに送ることは追加の時間およびリソースを要し、携帯コンピューティングデバイスのデバイスコンテクスト、例えば場所、を考慮しない。
【０００３】
[0003]よって、外部ウェブ検索アプリケーションを利用せず、自然言語クエリを使ったローカル検索ができることが望ましい。
【発明の概要】
【０００４】
[0004]自然言語クエリを処理しコンテキストを決定するための方法の実施例は、ユーザデバイスからの自然言語クエリを受け取ることと、前記ユーザデバイスのコンテキストを決定することと、前記決定されたコンテキストを用いて、前記自然言語クエリに関係する情報を有するウェブサーバを識別することと、前記ユーザデバイスを識別する情報および前記自然言語クエリを前記ウェブサーバに送ることと、前記ユーザデバイスに対して前記ウェブサーバを識別することと、を含む。
【図面の簡単な説明】
【０００５】
[0005]図面では、そうでないと示されていない限り、同じ参照番号が、様々なビューを通じて、同じ部分を指す。「１０２ａ」または「１０２ｂ」のような文字指定を有する参照番号では、文字指定は、同じ図面にある２つの同じ部分または要素を区別することができる。参照番号に対する文字指定は、参照番号が全ての図面における同じ参照番号を有する全ての部分を包含することが意図されているとき、省略されることができる。
【図１】ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法の実施例の機能ブロック図である。
【図２】ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するコールフローダイヤグラムである。
【図３Ａ】ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。
【図３Ｂ】ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。
【図４】図１のクエリエンジンのブロック図である。
【図５】図4のテーブルのブロック図である。
【発明を実施するための形態】
【０００６】
[0011]「例示的（ｅｘｅｍｐｌａｒｙ）」という用語は、「例、事例、または実例としての役目をする」を意味するようにここでは使用される。「例示的」なものとしてここに説明される任意の態様は、必ずしも、他の態様よりも好ましいまたは有利であるようには解釈されるべきでない。
【０００７】
[0012] 本記述では、「アプリケーション（ａｐｐｌｉｃａｔｉｏｎ）」という用語もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含むことができる。加えて、ここでいう「アプリケーション」はまた、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むことができる。
【０００８】
[0013] 「コンテンツ（ｃｏｎｔｅｎｔ）」という用語もまた、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチのような実行可能なコンテンツを有するファイルを含むことができる。加えて、ここでいう「コンテンツ」はまた、開かれる必要がありうる文書、またはアクセスされる必要がある他のデータファイルのような、本質的に実行可能ではないファイルを含むことができる。  
[0014]本記述で使用されているように、「コンポーネント（ｃｏｍｐｏｎｅｎｔ）」、「データベース（ｄａｔａｂａｓｅ）」、「モジュール（ｍｏｄｕｌｅ）」、「システム（ｓｙｓｔｅｍ）」等の用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれか、のコンピュータ関連エンティティを指すように意図されている。例えば、コンポーネントは、それに限定されるものではないが、プロセッサで実行中のプロセス、プロセッサ、オブジェクト、プログラムとして実行可能なファイル（ｅｘｅｃｕｔａｂｌｅ）、実行スレッド、プログラム、および／またはコンピュータでありうる。実例として、コンピューティングデバイス上で実行中のアプリケーションと、コンピューティングデバイスとの両方がコンポーネントでありうる。１つまたは複数のコンポーネントは、実行のプロセスおよび／またはスレッド内に存在することができ、コンポーネントは、１つのコンピュータ上で局所化、および／または、２つ以上のコンピュータ間で分散されることができる。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体により実行することができる。コンポーネントは、１つまたは複数のデータパケット（例えば、ローカルシステム中の、分散システム中の別のコンポーネントと相互動作する１つのコンポーネントからのデータ、および／または、インターネットのようなネットワークにわたって信号を介して他のシステムと対話する相互動作する１つのコンポーネントからのデータ）を有する信号にしたがうような、ローカルおよび／またはリモートプロセスによって通信することができる。
【０００９】
[0015]ここで使用されるように、「ユーザデバイス（ｕｓｅｒ  ｄｅｖｉｃｅ）」という用語は、ウェブサイトからコンテンツを受け取り、ウェブサイトへ情報を送ることができるデバイスを含む。ユーザデバイスは、固定式デバイス、無線デバイスまたは携帯デバイスでありうる。
【００１０】
[0016]ここで使用されるように、「ユーザ（ｕｓｅｒ）」という用語は、ユーザデバイス上でコンテンツを受け取り、ウェブサイトに情報を送る個人を示す。
【００１１】
[0017]ここで使用されるように、「コンテキスト（ｃｏｎｔｅｘｔ）」という用語は、ユーザまたはユーザデバイスの任意のまたは全ての属性、例えば、物理的、論理的、社会的および他のコンテキスト情報を示す。
【００１２】
[0018]ここで使用されるように、「コンテキストアウェアメタデータ（ｃｏｎｔｅｘｔ  ａｗａｒｅ  ｍｅｔａｄａｔａ）」および「コンテキストメタデータ（ｃｏｎｔｅｘｔｕａｌ  ｍｅｔａｄａｔａ）」という用語は、ユーザまたはユーザデバイスのコンテキストを記述または定義するメタデータを示す。
【００１３】
[0019]ここで使用されるように、「コンテキストアウェアコンテンツ（ｃｏｎｔｅｘｔ  ａｗａｒｅ  ｃｏｎｔｅｎｔ）」という用語は、ユーザデバイスに配信され、ユーザのコンテキストに適合させられるコンテンツを示す。
【００１４】
[0020]ここで使用されるように、「ウェブプロパティ（ｗｅｂ  ｐｒｏｐｅｒｔｙ）」という用語は、一つ以上のウェブページを有する一つ以上のウェブサイトを有するエンティティを示す。
【００１５】
[0021]ここで使用されるように、「自然言語（ｎａｔｕｒａｌ  ｌａｎｇｕａｇｅ）」という用語は、電子デバイスに入力されることができる検索クエリをいい、検索クエリはドメイン名サーバ（ＤＮＳ）が検索クエリを直接ドメイン名および／またはインターネットプロトコル（ＩＰ）アドレスにマップすることを可能にするのに十分な情報を含まない。自然言語検索クエリの例は、ドメイン名を含まない、またはＤＮＳがクエリに対応するＩＰアドレスを特定することを可能にするのに十分なドメイン名の部分を含まないものである。
【００１６】
[0022]ある実施例では、ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法は、無線デバイスがワールドワイドウェブにアクセスすることを可能にするシステムの一部として実施されてもよい。
【００１７】
[0023]図１はドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にするシステムや方法の実施例の機能ブロック図である。システム１００は、特定の場所または会場の中に位置する無線ネットワークのようなローカルエリアネットワーク（ＬＡＮ）との関連で説明される。しかし、システム１００は他のタイプのネットワークや場所に適用可能である。ある実施例では、システム１００は、場所または会場で実施されるワイヤレスフィディリティー（ＷｉＦｉ（登録商標））ネットワークを使って説明される。そのような場所の例は、空港、スポーツイベント会場、ショッピングモールまたはショッピングセンター、娯楽会場、テーマパーク、またはその他の場所を含む。
【００１８】
[0024]システム１００はユーザデバイス１０２、ネットワーク１０６、ドメイン名サーバ（ＤＮＳ）１０８、ウェブサーバ１１０、ウェブサーバ１２０およびクエリエンジン１１２を備える。ユーザデバイス１０２は、ウェブコンテンツにアクセスし閲覧するためのハイパーテキスト転送プロトコル（ＨＴＴＰ）ウェブブラウザ１０４のようなウェブブラウザ１０４を備える。ウェブサーバ１１０およびウェブサーバ１２０はそれぞれＨＴＴＰサーバであってよい。ユーザデバイス１０２は固定式デバイスまたは携帯デバイスであってよい。ある実施例では、ユーザデバイス１０２は、ネットワーク１０６に無線でつながることができるスマートフォンのような携帯デバイスである。ある実施例では、ネットワーク１０６は一つ以上のネットワークを備えてよく、例として一つ以上のアクセスポイント（ＡＰ）１０５ａ、１０５ｂ、１０５ｃ、およびルータ／スイッチ論理１０７を含むがそれには制限されないいくつかの処理及びコミュニケーション機能を提供する機能性を備える。システム１００内のユーザデバイス１０２の場所は、少なくとも部分的に、ルータ／スイッチ論理１０７に接続される場所／位置要素１１６によって、およびユーザデバイス１０２が接続されるアクセスポイント１０５によって決定されうる。ある実施例では、ユーザデバイス１０２は、無線接続１０３によりアクセスポイント１０５ａを通じてネットワーク１０６に接続される。この例では、無線接続１０３はＷｉＦｉ接続でも、他の無線接続でもよい。ある実施例では、場所／位置要素１１６は、ユーザデバイス１０２が接続される特定のアクセスポイント（この例ではＡＰ１０５ａ）を決定することができ、よって、少なくともルータ／スイッチ論理１０７、ネットワーク１０６および場所／位置要素１１６によって決定される精度のレベル内で、ユーザデバイス１０２が接続される特定のアクセスポイントによってカバーされる領域のサイズによって、ユーザデバイス１０２の場所を決定することができる。さらに、信号強度、ビット誤り率（ＢＥＲ）、ユーザデバイス１０２とネットワーク１０６の間の往復待ち時間、または他のパラメータのような、各アクセスポイントからの情報は、システム１００内のユーザデバイス１０２の場所をさらに決定するために場所／位置要素１１６によって分析されうる。
【００１９】
[0025]ＤＮＳ１０８は、双方向接続１０９によってネットワーク１０６につながれ、双方向接続１１３によって場所／位置要素１１６につながれる。場所／位置要素１１６は双方向接続１２１によってルータ／スイッチ論理１０７にもつながれる。双方向接続１０９、１１３、１２１は一つ以上の直接接続、無線接続、および／またはネットワークを備えうる。ＤＮＳ１０８および場所／位置要素１１６はネットワーク１０６内またはネットワーク１０６外に設置されることができる。ＤＮＳ１０８は場所／位置要素１１６を使ってユーザデバイス１０２の場所を決定することができる。
【００２０】
[0026]ＤＮＳ１０８は、ウェブサイトや他のインターネットドメインの名前を管理するための標準技術であるドメイン名システムを実装している。ドメイン名システム技術はユーザがドメイン名をウェブブラウザにタイプすることを可能にし、ＤＮＳ１０８は自動的にドメイン名に対応するインターネット上のＩＰアドレスを発見する。しかし、いくつかの事例では、ドメイン名が分からない、またはユーザに利用可能でない、またはユーザが他の理由で自然言語検索クエリを使用することを望むことがある。しかし、ＤＮＳは自然言語検索クエリをＩＰアドレスにマップすることができない。ある実施例では、ＤＮＳ１０８はクエリキャッシュ１１３も備える。クエリキャッシュ１１３はＤＮＳ１０８に処理されたＩＰアドレスごとに、結合（ａｓｓｏｃｉａｔｉｏｎｓ）および／または分解（ｒｅｓｏｌｕｔｉｏｎｓ）を含むことができる。クエリキャッシュ１１３はウェブサーバがユーザデバイス１０２によって送られたオリジナル自然言語クエリにアクセスすることを可能にする。
【００２１】
[0027]クエリエンジン１１２は双方向接続１１１によってＤＮＳ１０８に接続される。双方向接続１１１は一つ以上の直接接続、無線接続、および／またはネットワークを備えうる。ある実施例では、接続１０９、１１１は、ＤＮＳサーバ１０８やクエリエンジン１１２が接続されるローカルエリアネットワーク（ＬＡＮ）の少なくとも一部を構成しうる。
【００２２】
[0028]クエリエンジン１１２は検索パーサ１１５およびテーブル１２５を備える。ある実施例では、検索パーサ１１５は、自然言語クエリの主題に対応しそうなドメインまたはＩＰアドレスを決定するために、ユーザデバイス１０２からＤＮＳ１０８を通じて自然言語クエリを受け取り、ＤＮＳ１０８からユーザデバイス１０２の場所または位置を受け取り、クエリエンジン１１２と共に、（ユーザデバイス１０２の場所のような）コンテキストアウェアパラメータを自然言語クエリに適用しようとする。ある実施例では、テーブル１２５は、自然言語検索クエリに関係する情報を有しそうなウェブサーバのドメインまたはＩＰアドレス情報および構文解析済み（ｐａｒｓｅｄ）検索クエリから生成されたトピックのリストを含む。テーブル１２５は任意のメタデータおよび／またはデータ結合の記述を含んでもよい。例えば、空港の場合、「フライト」という用語はゲートおよびフライト番号を意味するが、遊園地の場合、「フライト」という用語はアトラクションを意味するだろう。ＤＮＳ１０８の外にあるように示されているが、クエリエンジン１１２はＤＮＳ１０８に組み込まれてもよい、またはネットワーク１０６に接続されＤＮＳ１０８によってアクセス可能な他の要素の一部であってもよい。
【００２３】
[0029]一度クエリエンジン１１２が自然言語クエリのサブジェクトに少なくとも部分的に一致する、または対応するかもしれない可能性のあるまたは見込みある一つ以上のＩＰアドレスまたはドメインを決定し、この情報をＤＮＳ１０８に送ると、ＤＮＳ１０８はユーザデバイスのＩＰアドレスおよびクエリサブジェクトを適切なウェブサーバに送る。適切なウェブサーバは自然言語クエリに関係する情報を含む可能性が高く、ＤＮＳ１０８によって特定されるものである。ある例では、適切なウェブサーバはウェブサーバ１１０である。ＤＮＳ１０８はまた、適切なウェブサーバ、例えばウェブサーバ１１０、のドメイン名（および／またはＩＰアドレス）をユーザデバイス１０２に送り、ユーザデバイス１０２が、ウェブサーバ１１０が自然言語クエリに対応する回答のための見込みあるソースであることを気づくようにする。
【００２４】
[0030]ＤＮＳ１０８は、双方向接続１１９によってウェブサーバ１１０に接続され、双方向接続１１７によってウェブサーバ１２０に接続される。双方向接続１１７、１１９は一つ以上の直接接続、無線接続、および／またはネットワークを備えうる。
【００２５】
[0031]ウェブサーバ１１０が自然言語クエリに対応する回答のための見込みあるソースである実施例において、ウェブサーバ１１０はＤＮＳ１０８内のクエリキャッシュ１１３にアクセスしてもよいので、ウェブサーバ１１０が実際のリクエストをＤＮＳ１０８から受け取るとき、ウェブサーバ１１０は、ユーザデバイス１０２によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ１１３にアクセスすることができる。クエリキャッシュ１１３に含まれる情報の例は［ＩＰ，  ＵＡ１２３，  ｗｗｗ．ｄｏｍａｉｎ１．ｃｏｍ］でありうる。ここにおいて、「ＩＰ」という用語はユーザデバイス１０２のＩＰアドレスを示し、「ＵＡ１２３」という用語は自然言語クエリであり、「ｗｗｗ．ｄｏｍａｉｎ１．ｃｏｍ」という用語はウェブサーバ１１０のＵＲＬを示す。
【００２６】
[0032]一度ユーザデバイス１０２がＤＮＳ１０８から適切なウェブサーバ、例えばウェブサーバ１１０、のドメイン名、ＩＰアドレスまたは他の識別子を得ると、ユーザデバイスはウェブサーバ１１０にＨＴＴＰリクエストを送る。ＨＴＴＰリクエストはユーザデバイス１０２に関係するコンテキスト情報を含んでもよい。このようにして、ＤＮＳ１０８はユーザデバイス１０２上のウェブブラウザ１０４をオリジナル自然言語クエリに対する回答のための最も適切なソースに向ける。
【００２７】
[0033]テーブル１３０に示されるように、ウェブサーバ１１０はＤＮＳ１０８から受け取ったユーザデバイス１０２のＩＰアドレスを、最近受け取ったＨＴＴＰリクエスト内のユーザデバイスのＩＰアドレスに一致させる。そして、ウェブサーバ１１０は、ＤＮＳ１０８に提供されたコンテキストに基づいて、適切なコンテンツ（自然言語クエリへの応答）をユーザデバイス１０２に送る。
【００２８】
[0034]図２はドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するコールフローダイヤグラム２００である。ダイヤグラム２００は、参考のため、図１中の様々な要素の動作を図示する。例として、コール２０２は、ユーザデバイス１０２内のウェブブラウザ１０４に登録された自然言語検索クエリを表す。コール２０２はネットワーク１０６を通じてＤＮＳ１０８に送られる。この例では、ユーザデバイス１０２は空港に配置されることができ、自然言語クエリは「ＵＡ１２３」のようなフライトナンバーであることができる。この例では、自然言語クエリ「ＵＡ１２３」はドメイン名に関係する情報をまったく含まないので、ＤＮＳ１０８は「ＵＡ１２３」を直接ドメイン名またはＩＰアドレスにマップすることができない。
【００２９】
[0035]ＤＮＳ１０８は自然言語クエリを受け取り、自然言語クエリ「ＵＡ１２３」に関係するドメイン名またはＩＰアドレスを返そうとする。しかし、ＤＮＳ１０８は「ＵＡ１２３」に対応するドメインまたはＩＰアドレスを突き止めることができない。ＤＮＳ１０８は場所／位置要素１１６と関与する（ｅｎｇａｇｅ）。コール２０４はＤＮＳ１０８がユーザデバイス１０２の場所を決定するために場所／位置要素１１６と連絡を取ることを表す。
【００３０】
[0036]コール２０６は場所／位置要素１１６がユーザデバイス１０２の場所をＤＮＳ１０８に返すことを表す。
【００３１】
[0037]ＤＮＳ１０８からクエリエンジン１１２に送られたコール２０８は、ＤＮＳ１０８が自然言語クエリ「ＵＡ１２３」のためにドメインまたはＩＰアドレスを決定しようとすることを表す。コール２０８は場所／位置要素１１６から提供された場所情報を含む。
【００３２】
[0038]ＤＮＳ１０８は場所／位置要素１１６およびクエリエンジン１１２を利用し、場所／位置要素１１６から得られたコンテキスト情報、および自然言語クエリに基いて、ユーザデバイス１０２のコンテキスト（この例では、場所）および自然言語クエリ「ＵＡ１２３」を満たす情報を有するかもしれない適切なウェブサーバを決定する。これは、例えばグーグルやヤフーによって提供される検索エンジンや検索機能のような外部検索エンジンを利用せずに達成される。
【００３３】
[0039]コール２１０はクエリエンジン１１２がＤＮＳ１０８に自然言語クエリに関係する情報を含む見込みがあるウェブサーバのＩＰアドレスまたは他の識別子を返すことを表す。この例では、クエリエンジン１１２はウェブサーバ１１０（図１）が自然言語クエリ「ＵＡ１２３」によって求められる情報の見込みあるソースであることを決定する。
【００３４】
[0040]クエリエンジン１１２からのクエリに応答する見込みあるウェブサーバ、および場所／位置要素１１６からのユーザデバイス１０２の物理的な場所のようなコンテキストの決定後、ＤＮＳ１０８はコール２１２を適切なウェブサーバ１１０に送る。コール２１２はユーザデバイス１０２のＩＰアドレスを含み、コール２０２で具体化されるクエリ（「ＵＡ１２３」）のサブジェクトを含む。これは、ウェブサーバ１１０からアクセス可能なテーブル１３０に置かれる「クエリおよびユーザデバイスのＩＰアドレス」として図１のテーブル１３０に図示される。
【００３５】
[0041]ＤＮＳ１０８はまた、ウェブサーバ１１０のドメイン名および／またはＩＰアドレスを有するコール２１４をユーザデバイス１０２に送る。この例では、ドメインは「ｗｗｗ．ｄｏｍａｉｎ１．ｃｏｍ」である。
【００３６】
[0042]ウェブサーバ１１０のドメイン名および／またはＩＰアドレスを有すると、ユーザデバイス１０２はウェブサーバ１１０へコール２１６を出す。コール２１６はウェブサーバ１１０のＩＰアドレスに向けられたＨＴＴＰリクエストを含む。図１のテーブル１３０に図示されるように、コールはユーザデバイスのＩＰアドレスを含む。ウェブサーバ１１０はＤＮＳ１０８から受け取ったユーザデバイス１０２のＩＰアドレスおよびクエリ（「ＵＡ１２３」）を、コール２１６中のＨＴＴＰリクエストで受け取ったばかりのユーザデバイスのＩＰアドレスと突き合わせる。それに対して、ウェブサーバ１１０はユーザデバイス１０２に、ＤＮＳ１０８によって提供されたコンテキストに基づいた適切なコンテンツ（クエリ応答）を表すコール２１８で応答する。
【００３７】
[0043]ウェブサーバ１１０が自然言語クエリに対応する回答のための見込みあるソースである実施例において、ウェブサーバ１１０はＤＮＳ１０８内のクエリキャッシュ１１３にアクセスしてもよいので、ウェブサーバ１１０が実際のリクエストをＤＮＳ１０８（コール２１２）から受け取るとき、ウェブサーバ１１０は、ユーザデバイス１０２によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ１１３にアクセスすることができる。この例では、オリジナル自然言語クエリは「ＵＡ１２３」である。クエリキャッシュ１１３のコンテンツは［ＩＰ，  ＵＡ１２３，  ｗｗｗ．ｄｏｍａｉｎ１．ｃｏｍ］であろう。ここにおいて、「ＩＰ」という用語はユーザデバイス１０２のＩＰアドレスを示し、「ＵＡ１２３」という用語は自然言語であり、ｗｗｗ．ｄｏｍａｉｎ１．ｃｏｍという用語はウェブサーバ１１０のＵＲＬを示す。
【００３８】
[0044]図３Ａおよび３Ｂは、あわせて、ドメイン名サーバ（ＤＮＳ）が自然言語クエリを処理し、コンテキストを決定することを可能にする方法の実施例を図示するフローチャートである。ブロック３０２では、ＤＮＳサーバ１０８はユーザデバイス１０２から自然言語クエリを受け取る。自然言語クエリの例は「ＵＡ１２３」とブラウザ１０４にタイプするという形でのフライト情報リクエストである。自然言語クエリ「ＵＡ１２３」は、フライト情報が空港で求められること使用した簡易例であることを意図されている。ここで記載されるようにどのような自然言語クエリでも処理することができる。
【００３９】
[0045]ブロック３０４において、ＤＮＳ１０８は、ブロック３０２で受け取られたクエリがドメイン名またはＩＰアドレスに分解されるかを決定する。もし、クエリがドメイン名またはＩＰアドレスに分解されるのであれば、ブロック３０６において、ＤＮＳ１０８はリクエストに対応するドメイン名および／またはＩＰアドレスをウェブブラウザ１０４に送出し、プロセスは終了する。
【００４０】
[0046]もし、クエリがドメイン名またはＩＰアドレスに分解されないのであれば、ブロック３０８において、ＤＮＳ１０８はユーザデバイスのコンテキストを決定し、そして、クエリを処理し、クエリに対応する情報を有する見込みがある適切なウェブサーバを決定しようとする。ある実施例では、ＤＮＳ１０８は自然言語クエリを受け取り、場所／位置要素１１６およびクエリエンジン１１２を利用し、ユーザデバイス１０２のコンテキスト（この例では、場所）を決定し、自然言語クエリを満たす情報を有するかもしれない適切なウェブサーバを決定する。例えば、ＤＮＳ１０８はユーザデバイス１０２の場所を決定しようとして、場所／位置要素１１６を呼び出すことができる。この例では、場所／位置要素１１６はＤＮＳ１０８にユーザデバイス１０２の場所を返す。そして、ＤＮＳ１０８は自然言語クエリおよびユーザデバイス１０２の場所をクエリエンジン１１２に転送する。これは、例えばグーグルやヤフーによって提供される検索エンジンや検索機能のような外部検索エンジンを利用せずに達成される。
【００４１】
[0047]ブロック３１０において、クエリエンジン１１２内の検索パーサ１１５は自然言語クエリを構文解析（ｐａｒｓｅ）し、クエリエンジン１１２はＤＮＳ１０８から提供された場所情報を適用し、構文解析された自然言語クエリを構文解析された自然言語クエリに対応するかもしれない、または対応する見込みがあるかもしれないウェブサーバのテーブル１２５と比較する。例えば、検索パーサ１１５は入力（ユーザ入力）をトピックにマップする。この例では、クエリＵＡ１２３は「フライト番号」と呼ばれるトピックにマップされる。テーブル１２５は（フライト番号、場所：空港、情報の適切なソースのウェブサイト場所（例えば、空港ゲート情報のためのｗｗｗ．ｇａｔｅｆｉｎｄｅｒ．ｃｏｍ））に対応する登録を含む。テーブル１２５は、自然言語クエリに関係するかもしれない他の登録、例えば、（フライト番号、場所：モール、モールマップのウェブサイト場所）のような他の登録や、（フライト番号、場所：空港およびモール以外のすべて、フライトトラッカーのウェブサイト場所）のような他の登録、も含んでいてよい。クエリエンジン１１２は、自然言語クエリに関係する情報を含む見込みがある一つ以上の選択されたウェブサーバのＩＰアドレスまたは他の識別子をＤＮＳ１０８に送る。
【００４２】
[0048]ブロック３１２において、ＤＮＳ１０８はクエリエンジン１１２からの応答を使用し、ユーザデバイス１０２のＩＰアドレスとクエリサブジェクト（「ＵＡ１２３」）を選択されたウェブサーバ１１０に送る。
【００４３】
[0049]ブロック３１４において、ＤＮＳ１０８は選択されたウェブサーバ１１０のＩＰアドレスまたは他の識別子をユーザデバイス１０２に送る。
【００４４】
[0050]ブロック３１６において、ユーザデバイス１０２はＨＴＴＰリクエストを選択されたウェブサーバ１１０に送る。ＨＴＴＰリクエストはユーザデバイス１０２のコンテキスト（例えば、場所）に関係する情報を含んでもよい。
【００４５】
[0051]ブロック３１８において、選択されたウェブサーバ１１０はＤＮＳ１０８から受け取ったユーザデバイス１０２のＩＰアドレスおよびクエリサブジェクト（「ＵＡ１２３」）を、ＨＴＴＰリクエストで受け取ったばかりのユーザデバイス１０２のＩＰアドレスに突き合わせる。ウェブサーバ１１０はＤＮＳ１０８内のクエリキャッシュ１１３にアクセスしてもよいので、ウェブサーバ１１０が実際の処理されたリクエストをＤＮＳ１０８から受け取るとき、ウェブサーバ１１０は、ユーザデバイス１０２によって送られたオリジナル自然言語クエリを決定するためにクエリキャッシュ１１３にアクセスすることができる。
【００４６】
[0052]ブロック３２２において、選択されたウェブサーバ１１０はユーザデバイス１０２に、ＤＮＳ１０８によって提供されたコンテキストに基づいた適切なコンテンツ（（「ＵＡ１２３」）に対するクエリ応答）で応答する。
【００４７】
[0053]図４は図１のクエリエンジンのブロック図である。
【００４８】
[0054]自然言語クエリはＤＮＳ１０８から検索パーサ１１５に提供される（図１）。検索パーサ１１５はバス４０６により動作可能に互いにつながれるプロセッサ４０２とメモリ４０４を備える。プロセッサ４０２は汎用または専用のマイクロプロセッサ、または命令を実行できる他のどのようなプロセッサであってもよい。メモリ４０４はどのようなタイプの揮発性または不揮発性メモリであってもよく、ある実施例では、フラッシュメモリを含んでもよい。バス４０６は、メモリ４０４およびプロセッサ４０２が通信して相互運用することを可能にし、プロセッサ４０２がパース論理４１０および比較論理４１５によって提供される命令を実行することを可能にする物理的および論知的接続を備えてもよい。
【００４９】
[0055]この例では、パース論理４１０および比較論理４１５はメモリ４０４内に配置され、実行のためにプロセッサ４０２にアクセス可能である。ある実施例では、ＤＮＳ１０８からの自然言語クエリはパース論理４１０によって操作され、クエリを分析し構成要素に解体（ｄｅｃｏｎｓｔｒｕｃｔ）し、結果、パースツリー４０８は、意味論的および他の情報も含みうる、お互いの統語的関係を示す。この例では、自然言語クエリは「ＵＡ１２３」であり、パース論理４１０はクエリを構成用語である「Ｕ」「Ａ」および「１２３」に解体する。パース論理４１０は、ユーザがエアポートに配置されていることをクエリエンジン１１２に知らせるコンテキスト場所情報と共に、検索用語「ＵＡ１２３」が「ユナイテッド（Ｕｎｉｔｅｄ）」「エア（Ａｉｒ）」「ラインズ（Ｌｉｎｅｓ）」および「１２３」という用語を有するパースツリー４０８を生むことを認識する。これら構成用語間の関係は用語をつなぐ矢印によって図示される。場所情報と構文解析された検索用語「ユナイテッド」「エア」「ラインズ」および「１２３」を持つことによって、クエリエンジン１１２は自然言語クエリ「ＵＡ１２３」がユナイテッド航空、１２３便に関係した情報に関係するという結論に達する。例えば、検索パーサ１１５は入力「ＵＡ１２３」をトピック、この例では「フライト番号」というトピック、にマップする。
【００５０】
[0056]図５は図４のテーブル１２５のブロック図である。検索パーサ１１５は入力「ＵＡ１２３」をトピック「フライト番号」にマップする。テーブル１２５は、ドメインｗｗｗ．ｇａｔｅｆｉｎｄｅｒ．ｃｏｍを有するウェブサーバ１１０がクエリ「ＵＡ１２３」への回答のための見込みあるソースであることを示す（フライト番号、場所：空港、情報の適切なソースのウェブサイト場所（例えば、空港ゲート情報のためのｗｗｗ．ｇａｔｅｆｉｎｄｅｒ．ｃｏｍ））に対応する登録を含む。
【００５１】
[0057]どのウェブサーバがクエリにおいて求められる情報の見込みあるソースであるかもしれないかを決定するために、パースツリー４０８が使用され、構文解析されたクエリのトピックを一つ以上のウェブサーバ１１０、１２０に関連付けるテーブル１２５が作成される。この例において、クエリエンジン１１２は、構文解析された自然言語クエリと、構文解析された自然言語に関係した情報を含む見込みがあるウェブサーバのリストとを比較するように構成された比較論理４１５も備えてもよい。この例において、クエリエンジン１１２はウェブサーバ１１０がユナイテッド航空１２３便に関係するゲート情報を有し、クエリにおいて求められる情報の見込みあるソースに選ばれたと結論することができる。
【００５２】
[0058]上の開示の点から、プログラミングの分野における当業者は難なく、例えば、本明細書におけるフローチャートおよび関連する記述に基づいて、開示された発明を実施するための適切なハードウェアおよび／または回路を識別することが、またはコンピュータコードを書くことができる。したがって、特定のセットのプログラムコード命令または詳細なハードウェアデバイスの開示は、どのように本発明を製造および使用すべきかの十分な理解のために必要であると考えられない。特許請求の範囲における、コンピュータによって実施されるプロセスの発明的な機能は、様々なプロセスフローを例示しうる図と関連して、ならびに上記の記述でより詳細に説明されている。
【００５３】
[0059]１つまたは複数の例示的な実施形態では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらのあらゆる組み合わせで実施されうる。ソフトウェアで実施された場合、機能は、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上に記憶されうる、あるいは、１つまたは複数の命令またはコードとしてコンピュータ可読媒体上で送信されうる。コンピュータ可読媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされうるあらゆる利用可能な媒体であることができる。限定ではなく例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光学ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは、命令またはデータ構造の形態で望ましいプログラムコードを搬送または記憶するために使用され、かつ、コンピュータによってアクセスされうるあらゆる他の媒体を備えることができる。
【００５４】
[0060]また、いずれの接続手段もコンピュータ可読媒体と適切に名づけられる。例えば、ソフトウェアが、ウェブサイトから、サーバから、または、同軸ケーブル、ファイバ光ケーブル、ツイストペア、デジタル加入者線（ＤＳＬ）、または赤外線や、無線や、マイクロ波のようなワイヤレス技術を使用している他の遠隔ソースから送信された場合、同軸ケーブル、ファイバ光ケーブル、ツイストペア、ＤＳＬ、または、赤外線や、無線や、マイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。  
[0061]ここで使用されているような、ディスク（Ｄｉｓｋ）およびディスク（ｄｉｓｃ）は、コンパクトディスク（ＣＤ）、レーザディスク（登録商標）、光学ディスク、デジタルバーサタイルディスク（ＤＶＤ）、フロッピー（登録商標）ディスク、およびブルーレイ（登録商標）ディスクを含み、ディスク（Ｄｉｓｋ）は大抵データを磁気的に再生する一方で、ディスク（ｄｉｓｃ）はデータをレーザで光学的に再生する。上記の組み合わせもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００５５】
[0062]選択された態様は、詳細に例示および記述されているが、様々な代用および変更が、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、そこになされることができることは理解されることになる。
【図１】
2016517078.tif 000003
【図２】
2016517078.tif 000004
【図３Ａ】
2016517078.tif 000005
【図３Ｂ】
2016517078.tif 000006
【図４】
2016517078.tif 000007
【図５】
2016517078.tif 000008
【国際調査報告】
2016517078.tif 000009
2016517078.tif 000010
2016517078.tif 000011