(57)【要約】  音データ入力によってデータベースを検索するシステム及び方法が本願において提供される。サービス提供者は、検索テクノロジーを通じて検索可能な（１又は複数の）データベースを作る必要がある場合がある。しかしながら、サービス提供者は、こうした検索テクノロジーを実施するリソースを有していない場合がある。検索テクノロジーは、音データ入力を用いた検索クエリを可能にすることができる。本願に説明されるテクノロジーは、サービス提供者のニーズに対処する解決策を、速く正確な方法で検索結果を供給する検索テクノロジーを与えることによって提供する。さらなる実施形態において、上記の検索結果を収益化するシステム及び方法もまた本願において説明される。
2015524105.tif 000002
【特許請求の範囲】
【請求項１】
自然言語クエリを処理する方法であって、
２つ以上の自然言語ライブラリをサービス提供者からネットワークを介して受信するステップであり、各自然言語ライブラリは、
クライアントアプリケーションと対話するための自然言語クエリと、
前記自然言語クエリのための応答と、
を含む、ステップと、
前記の受信された自然言語ライブラリから、統合された自然言語ライブラリを生成するステップと、
検索クエリを前記ネットワークを介して受信するステップと、
前記検索クエリを前記統合された自然言語ライブラリと比較して前記検索クエリに対応する少なくとも１つの自然言語クエリを決定するステップと、
前記検索クエリに対する応答を前記統合された自然言語ライブラリからクライアント装置に提供するステップと、
を含む方法。
【請求項２】
前記２つ以上の自然言語ライブラリと前記統合された自然言語ライブラリとをデータベースに記憶するステップ、をさらに含む請求項１に記載の方法。
【請求項３】
前記統合された自然言語ライブラリは、複数の統合された自然言語サブライブラリを含み、前記統合された自然言語サブライブラリの各々は、一緒に結合された、実質的に類似の主題を有する自然言語ライブラリを含む、請求項１に記載の方法。
【請求項４】
前記自然言語サブライブラリの少なくとも２つが、サービスを各々提供する異なるクライアントアプリケーションに関連付けられる、請求項３に記載の方法。
【請求項５】
統合された自然言語サブライブラリに対するアクセスを、該統合された自然言語サブライブラリに関連付けられたサービスに実質的に類似するサービスを提供するクライアントアプリケーションを有するサービス提供者に提供するステップ、をさらに含む請求項３に記載の方法。
【請求項６】
前記検索クエリに含まれる要求されたサービスのための自然言語クエリを決定するステップであり、前記検索クエリは音入力を含む、ステップ、をさらに含む請求項１に記載の方法。
【請求項７】
前記自然言語クエリが前記統合された自然言語ライブラリに含まれる少なくとも１つのクエリに対応しないとき、前記自然言語クエリは、前記自然言語クエリに関連付けられた前記要求されたサービスに実質的に類似するサービスを提供するアプリケーションを各々有する複数のサービス提供者に提供される、請求項６に記載の方法。
【請求項８】
前記自然言語クエリに対する少なくとも１つの応答を前記複数のサービス提供者から受信するステップ、をさらに含む請求項７に記載の方法。
【請求項９】
前記応答の精度に関して前記クライアントからフィードバックを受信するステップ、をさらに含む請求項８に記載の方法。
【請求項１０】
自然言語クエリは、サービスを提供するクライアントアプリケーションと対話する要求を含む、請求項１に記載の方法。
【請求項１１】
前記統合された自然言語ライブラリは、自然言語クエリを処理するためのルールに基づくモデルを含む、請求項１に記載の方法。
【請求項１２】
実行可能命令を記憶するメモリと、
メモリに記憶された命令を実行するプロセッサであり、
自然言語ライブラリをサービス提供者からネットワークを介して受信するステップであり、各自然言語ライブラリは、
クライアントアプリケーションと対話するための自然言語クエリと、
前記自然言語クエリのための応答と、
を含む、ステップと、
前記の受信された自然言語ライブラリから、統合された自然言語ライブラリを生成するステップと、
検索クエリを前記ネットワークを介して少なくとも１つのクライアントから受信するステップと、
前記検索クエリを前記統合された自然言語ライブラリと比較して前記検索クエリに対応する少なくとも１つの自然言語クエリを決定するステップと、
前記検索クエリに対する応答を前記統合された自然言語ライブラリからクライアント装置に提供するステップと、
をなす、プロセッサと、
を含む自然言語クエリプロセッサ。
【請求項１３】
前記プロセッサはさらに、前記自然言語ライブラリと前記統合された自然言語ライブラリとをデータベースに記憶する、請求項１２に記載のプロセッサ。
【請求項１４】
前記統合された自然言語ライブラリは、複数の統合された自然言語サブライブラリを含み、前記統合された自然言語サブライブラリの各々は、実質的に類似の自然言語ライブラリの各々に関連付けられたサービスに基づいて一緒に結合された実質的に類似の自然言語ライブラリを含む、請求項１２に記載のプロセッサ。
【請求項１５】
前記プロセッサはさらに、統合された自然言語サブライブラリに対するアクセスを、該統合された自然言語サブライブラリに関連付けられたサービスに実質的に類似するサービスを提供する異なるクライアントアプリケーションを有するサービス提供者に提供する、請求項１４に記載のプロセッサ。
【請求項１６】
前記プロセッサはさらに、前記検索クエリに含まれる自然言語クエリを決定し、該自然言語クエリは要求されたサービスに関連付けられ、前記検索クエリは音入力を含む、請求項１２に記載のプロセッサ。
【請求項１７】
前記自然言語クエリが前記統合された自然言語ライブラリに含まれる少なくとも１つのクエリに対応しないとき、前記自然言語クエリは、前記自然言語クエリに関連付けられた前記要求されたサービスに実質的に類似するサービスを提供するアプリケーションを各々有する複数のサービス提供者に提供される、請求項１６に記載のプロセッサ。
【請求項１８】
前記プロセッサはさらに、前記自然言語クエリに対する少なくとも１つの応答を前記複数のサービス提供者から受信する、請求項１７に記載のプロセッサ。
【請求項１９】
前記プロセッサはさらに、前記応答の精度に関して前記サービス提供者からフィードバックを受信する、請求項１８に記載のプロセッサ。
【請求項２０】
自然言語クエリは、サービスを提供するクライアントアプリケーションと対話する要求を含む、請求項１２に記載のプロセッサ。
【請求項２１】
自然言語クエリを処理する方法であって、
検索クエリをネットワークを介して受信するステップと、
前記検索クエリをカスタマイズされた自然言語ライブラリと比較して前記検索クエリのためのカスタマイズされた応答を決定するステップであり、前記自然言語ライブラリは自然言語クエリのためのカスタマイズされた応答を含み、前記カスタマイズされた応答と前記自然言語クエリとの双方はサービス提供者とクライアントアプリケーションとのうち任意のものに対して調整される、ステップと、
前記検索クエリに対する応答を前記統合された自然言語ライブラリからクライアント装置に提供するステップであり、前記応答は、前記検索クエリに対応する自然言語クエリの少なくとも１つに関連する、ステップと、
を含む方法。
【請求項２２】
前記カスタマイズされた応答は、前記クライアントアプリケーションに対する動作、オブジェクトに対応するメタデータ、又はこれらの組み合わせのうち、任意のものを含む、請求項２１に記載の方法。
【請求項２３】
前記カスタマイズされた自然言語ライブラリを、他のカスタマイズされた自然言語ライブラリにより生成された他のカスタマイズされた応答に対する前記カスタマイズされた応答の精度に基づいて選択するステップ、をさらに含む請求項２１に記載の方法。
【請求項２４】
２つ以上のカスタマイズされた自然言語ライブラリから、統合された自然言語ライブラリを生成するステップ、をさらに含む請求項２１に記載の方法。
【請求項２５】
１又は複数の追加のカスタマイズされた自然言語ライブラリを追加すること、前記の２つ以上のカスタマイズ可能なカスタマイズされた自然言語ライブラリの少なくとも１つを更新すること、又はこれらの組み合わせ、のうち任意のものによって前記統合された自然言語ライブラリを周期的に更新するステップ、をさらに含む請求項２４に記載の方法。
【請求項２６】
前記カスタマイズされた自然言語ライブラリは、自然言語クエリを処理するためのルールに基づくモデルを含み、前記ルールに基づくモデルはクライアントアプリケーションと対話するための自然言語クエリに関して訓練される、請求項２１に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してデータベースを検索することに関する。本発明は、より具体的にはネットワーク上のサービス提供者のデータベースを検索するシステム及び方法に関し、自然言語クエリを処理するシステム及び方法にも関する。
【背景技術】
【０００２】
モバイルサービス及び／又はアプリケーションのオーナなどのサービス提供者は、コンピュータネットワークを通じてエンドユーザにサービス、製品及び／又はコンテンツを提供することがある。サービス提供者は、自身が提供するサービス、製品及び／又はコンテンツに使用される１又は複数のデータベースをエンドユーザが検索することを可能にしたい場合がある。サービス提供者の一例は、自身の企業電話帳アプリケーションを音声対応（voice-enable）させたいモバイル企業電話帳アプリケーションのオーナであり得る。より良くされた検索経験は、特にモバイル環境において、ユーザの関与を大幅に高め、最終的にサービス及び／又はアプリケーションの成功を高めることができる。しかしながら、検索機能性を提供するためのインフラストラクチャとテクノロジーとの双方が所有されておらず、ライセンスされておらず、あるいはその他の点でサービス提供者から利用できない場合がある。一例として、サービス提供者がそのモバイルサービスを用いて音声対応検索を実装したい場合、検索テクノロジーのための従来のインフラストラクチャは確立するのに複雑であり高価である場合があるため、上記のようにするのは困難であろう。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
こうして、検索機能性を提供するためのインフラストラクチャとテクノロジーとの双方が所有されておらず、ライセンスされておらず、あるいはその他の点でサービス提供者から利用できない場合がある。
【課題を解決するための手段】
【０００４】
本願テクノロジーのいくつかの実施形態に従い、１又は複数のデータベースを検索する例示的方法がいくつかのステップを含む。データベースが、ネットワークを介してデータベースアップロードによってサービス提供者から受信されることができ、ここで、データベースは１又は複数のレコードを有し、１又は複数のレコードは少なくとも１つのフィールドを含む。データベースの１又は複数のレコードは、少なくとも１つのフィールドに基づいて処理されることができる。検索クエリが、ネットワークを介して受信されることができ、ここで、検索クエリは、上記の処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含み、音データ入力によってエンドユーザから提供されることができる。１又は複数の検索結果が、検索クエリの検索パラメータに基づいて、上記の処理されたデータベースの中で決定されることができ、１又は複数の検索結果は、表示のためネットワークを介してエンドユーザに送信されることができる。本例示的方法を用いて、サービス提供者は、サービス提供者自身が必須のインフラストラクチャを構築し、あるいは音対応の（sound-enabled）検索テクノロジーを開発する必要なしに、ユーザに検索機能性を提供することを可能にすることができる。
【０００５】
様々な実施形態において、本願テクノロジーは、サーバが（１又は複数の）サービス提供者のデータベースのアップロードを許可することを可能にし、このテクノロジーを用いて、サービス提供者の（１又は複数の）データベースは、サービス提供者がインフラストラクチャ又は本願テクノロジーを構築する必要なしに、独特の検索テクノロジーを用いてサーバ上で検索可能になる。本願テクノロジーの例示的実施形態に従い、検索テクノロジーは、検索クエリがサービス提供者から又はエンドユーザから音データ入力によって提供されることを可能にする。音データ入力は、音声又は話された言葉、音楽、及び任意の他の種類の音入力を含んでよい。
【０００６】
様々な実施形態において、１又は複数の検索結果を提供する例示的方法が、検索クエリをデータベースアップロードによってネットワークを介して受信することを含むことができ、ここで、検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの１又は複数のクエリチャンクを含み、検索クエリは、音データ入力によってエンドユーザから提供される。１又は複数の検索結果は、検索クエリの１又は複数のクエリチャンクに基づいて、処理されたデータベースの中で決定されることができる。１又は複数の検索結果の１又は複数のフィールドが、表示のためエンドユーザにネットワークを介して選択的に送信されることができ、１又は複数の検索結果の１又は複数のさらなるフィールドが、表示のためリアルタイムでエンドユーザにネットワークを介して選択的に送信されることもできる。
【０００７】
さらに、検索提供者は、本明細書に説明されるデータベース検索機能性から収益を得たい場合がある。１又は複数の検索結果の中で宣伝を提供する例示的手法が提供される。検索クエリが、１又は複数の垂直的なアプリケーション（application  verticals）のためにネットワークを介して受信されることができ、ここで、検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含む。広告データベースが、過去の検索パラメータを含む検索履歴に基づいて検索されることができ、１又は複数の広告結果が、過去の検索パラメータに基づいて、１又は複数の垂直的なアプリケーションにわたって生成されることができる。１又は複数の広告結果は、ネットワークを介して送信されることができる。一例示的実施形態において、宣伝が垂直的なアプリケーションに配信されるとき、入札プロセスを用いて検索結果の位置付けに影響を与えることができ、これにより、提供される宣伝からさらなる収益を生むことができる。サービス提供者は、様々な実施形態に従い、宣伝により生まれた収益の一部を受け取ることによって、データベースを検索するための説明された方法及びシステムを利用することの追加のインセンティブを有することができる。
【０００８】
いくつかの実施形態に従い、本願テクノロジーは、自然言語クエリを処理する方法に向けられることができる。上記方法は、（ａ）２つ以上の自然言語ライブラリをサービス提供者から受信するステップであり、各自然言語ライブラリは、（ｉ）クライアントアプリケーションと対話するための自然言語クエリと、（ｉｉ）上記自然言語クエリのための応答と、を含む、ステップと、（ｂ）上記の受信された自然言語ライブラリから、統合された自然言語ライブラリを生成するステップと、（ｃ）自然言語検索クエリをネットワークを介して受信するステップであり、上記自然言語検索クエリは音データ入力を少なくとも含む、ステップと、（ｄ）上記音データ入力を上記統合された自然言語ライブラリと比較して上記音データ入力に対応する少なくとも１つの自然言語クエリを決定するステップと、（ｅ）上記少なくとも１つの自然言語クエリに対する応答を、上記統合された自然言語ライブラリに含まれる自然言語クエリに関連付けられた応答から提供するステップと、を含むことができる。
【０００９】
他の実施形態に従い、本願テクノロジーは自然言語クエリプロセッサに向けられることができ、自然言語クエリプロセッサは、（ａ）実行可能命令を記憶するメモリと、（ｂ）メモリに記憶された命令を実行するプロセッサであり、（ｉ）自然言語ライブラリをサービス提供者から受信するステップであり、各自然言語ライブラリは、（１）クライアントアプリケーションと対話するための自然言語クエリと、（２）上記自然言語クエリのための応答と、を含む、ステップと、（ｉｉ）上記の受信された自然言語ライブラリから、統合された自然言語ライブラリを生成するステップと、（ｉｉｉ）自然言語検索クエリをネットワークを介して少なくとも１つのクライアントから受信するステップであり、上記自然言語検索クエリは音データ入力を含む、ステップと、（ｉｖ）上記音データ入力を上記統合された自然言語ライブラリと比較して上記音データ入力に対応する少なくとも１つの自然言語クエリを決定するステップと、（ｖ）上記少なくとも１つの自然言語クエリに対する応答を、上記統合された自然言語ライブラリに含まれる自然言語クエリに関連付けられた応答から提供するステップと、をなす、プロセッサと、を含む。
【図面の簡単な説明】
【００１０】
【図１】本発明の様々な実施形態に従う、１又は複数のデータベースを検索する一例示的システムのブロック図である。
【図２】本発明の様々な実施形態に従う、１又は複数のデータベースを検索する一例示的システムのブロック図である。
【図３】本発明の様々な実施形態に従う、データベースを検索する一例示的方法のフローチャートである。
【図４】本発明の様々な実施形態に従う、検索結果を提供する一例示的方法のフローチャートである。
【図５】本発明の様々な実施形態に従う、宣伝を提供する一例示的方法のフローチャートである。
【図６】本発明の様々な実施形態に従う、自然言語クエリを処理する一例示的方法のフローチャートである。
【図６Ａ】自然言語クエリを処理する別の例示的方法のフローチャートを示す。
【図７】本発明の様々な実施形態に従う、１又は複数のデータベースを検索する一例示的システムのブロック図である。
【発明を実施するための形態】
【００１１】
本発明の様々な実施形態が、１又は複数のデータベースを検索するシステム及び方法を提供する。いくつかの例示的実施形態において、本願テクノロジーは、サービス提供者のデータベースがネットワーク内の１又は複数のエンドユーザにより検索されることを可能にすることができる。コンピュータネットワークを通じてエンドユーザにサービス、製品及び／又はコンテンツを提示するサービス提供者は、１又は複数のデータベースの中にエンドユーザがアクセス可能なレコードを記憶することがある。さらに、サービス提供者は、エンドユーザが１又は複数のデータベースを検索することを可能にしたい場合がある。例えば、サービス提供者がエンドユーザにレストランのリストとレストランに関連する情報（例えば、レビュー及びエンドユーザコメント）とを提供する場合、エンドユーザがレストランに関するレコードについて迅速かつ容易に検索できるようにすることは有益であろう。しかしながら、従来の検索エンジンは、実装するのが困難であり、費用のかかる場合がある。このことは、さらに、サービス提供者がそのエンドユーザに対して上記のような検索経験を可能にするインフラストラクチャ及び／又はテクノロジーを所有していないという事実によってしばしば度合を強められる。
【００１２】
本発明の様々な実施形態に従い、サービス提供者のデータベースを検索することに関連するシステム及び方法が本明細書において提供される。例示的実施形態において、本明細書に提示されるテクノロジーは、サービス提供者データベースのレコードを、検索テクノロジーを開発する必要なしに、コンピュータネットワークを通じて容易に検索可能にする。さらなる実施形態において、本願テクノロジーは、関連する検索結果を、エンドユーザに深く関連するコンテンツと共に迅速に供給する。別のさらなる実施形態において、本願テクノロジーは、検索結果の収益化を可能にする。
【００１３】
さらに、クラウドコンピューティングを用いて１又は複数のデータベースを検索するシステム及び方法が本明細書において説明される。データベースを検索するための一例示的システムが、ネットワークを介してデータベースアップロードによってサービス提供者からデータベースを受信するように構成された通信モジュールを含むことができ、このデータベースは１又は複数のレコードを有し、１又は複数のレコードは少なくとも１つのフィールドを含む。上記システムは、メモリに記憶された命令を実行するプロセッサを含んで、データベースの１又は複数のレコードを少なくとも１つのフィールドに基づいて処理することもできる。プロセッサは、メモリに記憶された命令を実行して：ネットワークを介して検索クエリを受信し、検索クエリは処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含み、検索クエリはエンドユーザによる音データ入力によって提供され；検索クエリの検索パラメータに基づいて、上記の処理されたデータベースの中で１又は複数の検索結果を決定し；表示のためネットワークを介してエンドユーザに１又は複数の検索結果を送信する；こともできる。
【００１４】
クラウドコンピューティングを用いて１又は複数のデータベースの検索性能を提供することによって、サービス提供者は、従来手段を用いて検索能力を提供することに時間や資源を投資する必要なしに、クラウドにより提供されるコンピューティングリソース、ソフトウェア及び情報を利用することができる。例えば、様々な実施形態に従い、サービス提供者は、データベースのレコード内のフィールドのすべて又は一部を話すことによってユーザがデータベースを検索できるようにしたい場合がある。こうした実施形態において、サービス提供者は、必要なテクノロジー及びインフラストラクチャを開発する必要なしに、発話認識検索エンジンを活用し、検索結果がユーザに提示される方法を介して制御をさらになお維持することができる。
【００１５】
さらに、サービス提供者は、サービス提供者の競合他社を上回って競争上の優位性を増すように、エンドユーザに対する検索結果の提示を改良したい場合がある。検索結果を提供するシステム及び方法が説明され、このシステム及び方法は、検索のスピードを改良し、画像及び／又はリッチコンテンツを用いて検索結果を改良することができる。１又は複数の検索結果を提供する一例示的システムが、ネットワークを介して検索クエリを受信するように構成された通信モジュールを含むことができる。検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの１又は複数のクエリのかたまり（クエリチャンク）（query  chunks）を含むことができる。検索クエリは、エンドユーザから音データ入力によって提供されることができる。例示的システムは、メモリに記憶された命令を実行するプロセッサを含んで：検索クエリの１又は複数のクエリチャンクに基づいて、処理されたデータベースの中で１又は複数の検索結果を決定し；表示のためリアルタイムでエンドユーザに、ネットワークを介して、１又は複数の検索結果の１又は複数のフィールドを選択的に送信し；表示のためリアルタイムでエンドユーザに、ネットワークを介して、１又は複数の検索結果の１又は複数のさらなるフィールドを選択的に送信する；こともできる。クラウドコンピューティングネットワークを利用することによって、サービス提供者は、検索結果を、エンドユーザの検索経験をより良くし得るさらなるコンテンツと共に提供することが可能になり、これにより、いかなる追加の負荷もサービス提供者にかけられることなしに、改良された機能性を提供することが可能になる。
【００１６】
最後に、本明細書に説明されるクラウドコンピューティングシステムの例示的実施形態は、検索結果を用いて宣伝を提供することによって、サービス提供者及び他の関係者のために収益化されることができる。１又は複数の検索結果の中に宣伝を提供する一例示的システムが、少なくとも１つのサービス提供者と１又は複数のエンドユーザとを有するネットワークを含むことができる。上記システムは、ネットワークを介してデータベースアップロードによって少なくとも１つのサービス提供者からデータベースを受信するように構成されたネットワークに結合されたサーバを含むこともできる。データベースは１又は複数のレコードを含むことができ、１又は複数のレコードは少なくとも１つのフィールドを有することができる。サーバは、少なくとも１つのフィールドに基づいて、データベースの１又は複数のレコードを処理するように構成されることができる。サーバは、ネットワークを介して検索クエリを受信するようにさらに構成されることができる。検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含むことができ、エンドユーザから音データ入力によって提供されることができる。１又は複数の検索結果は、検索クエリの検索パラメータに基づいて、処理されたデータベースの中で決定されることができる。
【００１７】
さらに、サーバは、検索クエリ又は１若しくは複数の決定された検索結果に基づいて広告データベースを検索し、広告データベースの検索に基づいて、１又は複数の垂直的なアプリケーションにわたって１又は複数の広告結果を生成するように構成されることができる。１又は複数の検索結果は、表示のためネットワークを介してエンドユーザに送信されることができ、１又は複数の広告結果もまた、表示のためネットワークを介して送信されることができ、ここで、１又は複数の広告結果は、１又は複数の検索結果に関連付けられる。
【００１８】
これにより、サービス提供者及び／又は広告主は、別個の宣伝システムの採用を要求されることに代わって、クラウドネットワークのリソースを利用することによって、１又は複数の垂直的なサービスアプリケーションにわたって宣伝を提供することができる。一例示的実施形態において、宣伝が垂直的なアプリケーションに配信されるとき、入札プロセスを用いて検索結果の位置付けに影響を与えることができ、これにより、提供される宣伝からさらなる収益を生むことができる。サービス提供者は、様々な実施形態に従い、宣伝により生まれた収益の一部を受け取ることによって、データベースを検索するための説明された方法及びシステムを利用することの追加のインセンティブを有することができる。宣伝をさらにカスタマイズするために、検索クエリ履歴とエンドユーザに関する情報とを利用して、宣伝の有効性を潜在的に増大させることもできる。
【００１９】
本明細書において、用語「クラウドコンピューティング」は、ネットワークベースのコンピューティングを包含し、ここで、コンピューティングリソース、ソフトウェア及び情報は、ネットワークを介して提供され、サービス提供者及び／又はユーザ装置によりアクセス可能であることに留意されたい。ユーザ装置は、これらに限定されないが、ＰＣ、ラップトップ、ノートブック、ゲームコンソール（例えば、Ｘ−ｂｏｘ）、音楽プレーヤ、タブレット、ＩＰｏｄ、スマートフォン、自動車コンピュータシステム及びインターネット対応ＴＶを含むことができる。スマートフォンは、概して、コンピューティング性能を備えた電話機として定義されることができる。スマートフォンは、インターネットアクセスをエンドユーザに提供することができる。
【００２０】
図１は、本発明の様々な実施形態に従う、１又は複数のデータベースを検索する例示的システム１００のブロック図である。システム１００は、１又は複数のクライアント１１０、１又は複数のサービス提供者１３０、ネットワーク１４０及び検索サーバ１８０を含むことができる。検索サーバ１８０は、１又は複数のアカウント１５０、検索エンジン１６０及び１又は複数のデータベース１７０を含むことができる。様々な実施形態において、１又は複数のデータベース１７０は、１又は複数のサービス提供者１３０に属することができる。
【００２１】
本明細書に提供される図のすべてのように、任意の数の要素が例示的システム１００に存在することができ、本明細書に提示される例示的方法は要素の１又は複数により実行されることができることを当業者には認識されたい。任意の数の任意の要素が例示的システム１００に存在することができ、例示的システム１００はこれらの要素の必要を満たすように構成される。例えば、検索サーバ１８０は、３つのクライアントだけ図１に図示されているという事実にもかかわらず、ネットワーク１４０を介して検索結果を１又は複数のクライアント１１０に伝達することができる。本明細書において言及されるすべての図について、同様に番号付けされた要素は全体にわたって同様の要素を示す。
【００２２】
１又は複数のクライアント１１０は、ネットワーク１４０にアクセスするためにエンドユーザにより使用されるユーザ装置であり得る。様々な実施形態において、クライアント１１０は、ネットワーク１４０を介してサービス提供者１３０及び／又はデータベース１７０の１若しくは複数にアクセスするために使用されるユーザ装置であり得る。クライアント１１０は、インターネットからのウェブページなどのコンテンツページを描画するように構成されたネットワークブラウザアプリケーション（図示せず）を含むことができる。クライアント１１０は、ネットワーク１４０を通じてサービス提供者１３０と通信することができる。
【００２３】
１又は複数のサービス提供者１３０は、ネットワークを通じて少なくとも１つのクライアント１１０にサービスを提供することができる。こうしたサービスの例には、ビデオコンテンツを提供すること、及び／又はエンターテインメント、レストランなどに関する情報を提供することを含むことができる。サービスは、（例えば、ウェブブラウザにロードされたユーザインタフェースを使用することによって）エンドユーザがインターネットを通じてサービス及び／又はソフトウェアにアクセスできるようにするウェブサービスであり得る。
【００２４】
定められたサービス提供者１３０が、検索サーバ１８０上にアカウント１５０を有することができる。アカウント１５０は、サービス提供者のアカウントに関するアカウント情報を含むことができる。含まれるアカウント情報には、以下に説明されるとおり、認証情報、請求情報及び／又は連絡先情報を含むことができる。アカウント１５０は、サービス提供者が検索サーバへのアクセスを得ることができ、１又は複数のデータベース１７０を検索サーバ１８０に提供することができる前に、必要条件であり得る。１又は複数のデータベース１７０は、検索サーバ１８０上に記憶されることができる。さらに、１又は複数のデータベース１７０は、データベースアップロードを用いて検索サーバ１８０上に受信されることができる。データベースアップロードは、例えば、ネットワーク１４０を通じて行われてよい。
【００２５】
ネットワーク１４０は、任意のタイプのネットワークとすることができ、これらに限定されないが、インターネット、ＬＡＮ、ＷＡＮ、電話網、及びデータへのアクセスを可能にする任意の他の通信ネットワーク、並びにこれらの任意の組み合わせを含むことができる。ネットワーク１４０は、パブリックネットワーク（例えば、インターネット）又はプライベートネットワークであってよく、有線ネットワーク又はワイヤレスネットワークの形態をとることができる。
【００２６】
１又は複数のサービス提供者１３０は、１又は複数のクライアント１１０からユーザ入力１２０を受信することができる。ユーザ入力１２０は、ユーザ装置を用いて入力され、例えば、検索クエリを含むことができる。検索クエリは、１又は複数のデータベース１７０に含まれる情報のための要求であってよく、以下でさらに説明されるとおり、検索パラメータを含むことができる。検索クエリは、クライアント１１０上へエンドユーザにより入力された音データをさらに含むことができる。ユーザ入力１２０は、ネットワーク１４０を介して検索サーバ１８０に中継されることができる。図１に示されるとおり、検索サーバ１８０は、１又は複数のサービス提供者１３０からユーザ入力１２５を受け入れることができる。また、図１に示されるとおり、ユーザ入力１２０は、サービス提供者１３０を通じて検索サーバ１８０に中継されることができ、あるいは、サービス提供者１３０により中継されることなしにネットワーク１４０に送信されることができる。
【００２７】
１又は複数の検索エンジン１６０が使用されて、以下で説明されるとおり１又は複数のデータベース１７０を処理し、データベース１７０の検索機能性を提供することができる。検索エンジン１６０が使用されて、データベース１７０から検索結果を生成することもできる。１又は複数のデータベース１７０の検索は、単一の検索エンジンによって又は複数の検索エンジンによって行われることができ、ここで、各検索エンジンは、異なるタイプの検索クエリに基づいて検索を行う。例えば、第１の検索エンジンがテキスト検索を行うことができ、第２の検索エンジンが話された言葉の検索を行うことができる。検索結果は、検索クエリの１又複数の検索パラメータに一致し、あるいはこれに関連する、データベース１７０からの１又は複数のレコードを含むことができる。
【００２８】
検索エンジン１６０を用いて、検索サーバ１８０は、ユーザ入力１２０に応じて、データベース１７０からの１又は複数の検索結果１９０を送信することができる。ネットワーク１４０を用いて、検索結果１９０はサービス提供者１３０に送信されることができ、サービス提供者１３０は検索結果１９０をクライアント１１０に中継して戻すことができる。図１に示されるとおり、検索サーバ１８０は、１又は複数のサービス提供者１３０から検索結果１９５を決定し、送信することができる。さらに、検索結果１９０は、サービス提供者１３０を通じてクライアント１１０に中継されることができ、あるいはサービス提供者１３０を通じて中継されることなしにネットワーク１４０を介して送信されることができる。システム１００は、これにより、１又は複数のデータベース１７０に対する検索機能性を提供することができる。他の恩恵のなかでも、システム１００は、サービス提供者のインフラストラクチャの外部で１又は複数のデータベースを記憶し、処理することによって、音データを用いた検索などの進化した検索能力を有利に提供することができる。
【００２９】
図２は、検索サーバ２７０（図１に示された例示的検索サーバ１８０など）に関連する例示的アーキテクチャ２００を示す。アーキテクチャ２００は、検索クエリモジュール２１０、クエリ送信モジュール２２０、ネットワーク２３０、通信モジュール２４０、検索モジュール２５０、結果送信モジュール２６０及び自然言語クエリプロセッサ２８０を含む。代わりの実施形態が、より多くの、より少ない又は機能的に均等のモジュールを含むことができる。様々なモジュールが本明細書に説明される様々なステップのいくつか又はすべてを行うように構成されることができるが、より少ないモジュール又はより多くのモジュールが提供されてよく、様々な実施形態の範囲内になお入り得る。
【００３０】
検索クエリモジュール２１０は、検索クエリ発行元から検索クエリを受信することができる。様々な実施形態において、検索クエリ発行元は、ユーザ装置を利用するエンドユーザ、又はサービス提供者により運用されるサーバであってよい。検索クエリ発行元は、検索モジュール２５０による使用のために検索クエリを提供することができる。さらに、検索クエリ発行元は、検索モジュール２５０が検索を行った後、検索サーバ２７０により提供される検索結果をネットワーク２３０を介して受信する。
【００３１】
検索クエリは、検索サーバ２７０上のデータベースの情報に対するエンドユーザの要求を含むことができる。検索クエリは、任意の適切な形式で受信されることができる。例えば、エンドユーザは、音データを捕捉するマイクロフォンを用いて検索クエリ又は検索の一部を供給することができる。さらに、エンドユーザは、カメラ又は同様のレコーディング装置を使用して検索クエリの中に画像を含むことができる。検索クエリの内容は、音データ、テキスト、話された言葉、画像、他のデータ、又はこれらの任意の組み合わせを含むことができる。いくつかの実施形態において、検索クエリモジュール２１０は、ユーザ装置上に、検索クエリを入力する１又は複数のユーザインタフェースを提供することができる（例えば、サービス提供者を指定するために使用することができるディスプレイ画面上のボタン又はディスプレイ画面上の複数のボタン）。
【００３２】
検索クエリモジュール２１０が検索クエリを受信した後、検索クエリはクエリ送信モジュール２２０に提供されることができ、クエリ送信モジュール２２０はネットワーク２３０を介して通信モジュール２４０に検索クエリを送信することができる。ネットワーク２３０は、サービス提供者及び／又はエンドユーザと検索サーバ２７０との間の通信を可能にする任意の適切なコンピュータネットワーク又は複数のネットワークであってよい。ネットワーク２３０は、任意のタイプ及び数のデータベース、サーバ、エンドユーザ、コンピューティング装置及びポリシーエンジンを含むことができる。
【００３３】
いくつかの例示的実施形態において、クエリ送信モジュール２２０は、検索クエリを１又は複数のクエリチャンクに分割するステップを行うことができる。クエリチャンクは、検索クエリの所定断片又は部分であってよい。クエリチャンクは任意のサイズであってよい。例えば、検索クエリが話された言葉を含む場合、クエリチャンクは、エンドユーザにより話された言葉からの言葉又は語句を含むことができる。同様にして、検索クエリがテキスト及び音データを含む場合、テキストは、音データから別個のチャンクに分割されることができる。検索クエリは大量のデータを含むことができるため、検索クエリをチャンクに分割することは、検索要求が受信され処理されるスピードをいくつかの実施形態において有利に増大させることができる。スピードの増大は、検索クエリ全体の代わりにより小さいクエリチャンクを送信することに起因して、送信遅延時間の低減とネットワークレイテンシの影響とから得ることができる。
【００３４】
通信モジュール２４０、データベースモジュール２４５、検索モジュール２５０及び結果送信モジュール２６０が共に、検索サーバ２７０を構成すると考えられる。通信モジュール２４０は、サービス提供者から１又は複数のデータベースを受信するステップを行うことができる（図３に関連して以下で説明される方法３００のステップ３１０など）。１又は複数のデータベースは、検索サーバ２７０上に、例えばデータベースモジュール２４５に記憶されることができ、以下で説明されるような処理のため検索モジュール２５０に送信されることができる。
【００３５】
通信モジュール２４０は、検索クエリを受信するステップを行うことができる（図３に関連して以下で説明される方法３００のステップ３３０など）。それから、検索クエリは、以下で説明されるとおり、検索を行う目的で検索モジュール２５０に送信されることができる。
【００３６】
データベースモジュール２４５は、サービス提供者から受信される１又は複数のデータベースを記憶することができる。１又は複数のデータベースは、検索モジュール２５０による処理の前、及び／又は処理が行われた後、記憶されることができる。データベースモジュール２４５がサービス提供者からデータベースをまだ受信していない場合、データベースモジュールは、いかなるデータベースも含まなくてよい。データベースモジュール２４５上に１又は複数のデータベースを記憶することによって、１又は複数のデータベースの処理及び検索が、サービス提供者のインフラストラクチャの外部で有利に行われることができる。
【００３７】
検索モジュール２５０は、データベースの１又は複数のレコードを処理するステップを行うことができる（図３に関連して以下で説明される方法３００のステップ３２０など）。一例示的実施形態において、検索モジュール２５０は検索クエリの検索パラメータを場合により決定することができるが、他の実施形態において、通信モジュールが検索クエリと一緒に検索パラメータを受信することができる（図３に関連して以下で説明される方法３００のステップ３４０など）。前述されたステップは、様々な実施形態に従い、別個のモジュールによって、又は同一のモジュールによって（図２に示されるとおり）行われることができる。
【００３８】
結果送信モジュール２６０は、表示のためネットワーク２３０を介してエンドユーザに１又は複数の検索結果を送信するステップを行うことができる（図３に関連して以下で説明される方法３００のステップ３５０など）。検索結果は、サービス提供者に送信され、表示のためエンドユーザに中継されることができる。検索結果は、代わりに、ユーザ装置に直接表示するためエンドユーザに送信されることができる。図２におけるシステムは、本明細書に説明される他の例示的システムのうち任意のものとマージすることができ、あるいは連動して使用することができることを当業者には十分理解されたい。
【００３９】
図３は、データベースを検索する一例示的方法３００のフローチャートである。方法３００のステップ３１０において、１又は複数のデータベースがネットワークを介してデータベースアップロードによってサービス提供者から受信されることができ、ここで、データベースは１又は複数のレコードを有し、１又は複数のレコードは少なくとも１つのフィールドを含む。サービス提供者が、例えば、ウェブサービスを提供するとき、レコードは、インターネットコンテンツを含む１又は複数のウェブページに対応し得る。例示的実施形態において、少なくとも１つのフィールドは、１又は複数のページ上に出現するテキストなどの１又は複数のウェブページに関連付けられたコンテンツと、１又は複数のウェブページに関連付けられた画像及び他のオーディオビジュアルコンテンツとを含むことができる。
【００４０】
例示的実施形態において、レコードは、宛先ウェブアドレスフィールド、レコード説明フィールド、レコード画像フィールド及びレコードリッチコンテンツフィールド、又はこれらの任意の組み合わせのうち、少なくとも１つを含むフィールドを有することができる。宛先ウェブアドレスフィールドは、ウェブページの場所を提供することができる。レコード説明フィールドは、ウェブページに関連付けられたインターネットコンテンツの簡単な説明を含むことができる。レコード画像フィールドは、ウェブページ上に位置し、あるいはウェブページに関連付けられた１又は複数の画像を含むことができる。レコードリッチコンテンツフィールドは、ウェブページに関連付けられた任意の適切なオーディオビジュアルコンテンツを含むことができ、これらに限定されないが、音データ、ビデオデータ、画像データ、視覚効果などを含むことができる。レコードリッチコンテンツフィールドは、ウェブページがアクセスされたときに提示することができ、あるいはレコードが検索結果の一部であるときに提示することができるデータと共に投入される（populated）ことができる。各フィールドは、サービス提供者により所望されるとおりに投入されることができ、これにより、クラウドコンピューティングネットワークを利用しながら、データベース内のどんなレコードが検索クエリに応じて提供されるかを制御する能力をサービス提供者に与えることができる。さらに、データベース内のレコードに関連付けられたフィールドの中でリッチコンテンツを提供することによって、サービス提供者は、検索結果がどのようにユーザ装置上に提示され、あるいはその他の方法で描画されるかに影響を及ぼすことができる。
【００４１】
方法３００の動作ステップにおいて、アカウント情報は、サービス提供者から受信することができる。アカウント情報は、認証情報、請求情報及び連絡先情報を含むことができる。アカウント情報を受信して、検索サーバ１８０上にアカウントを作成することができ、これにより、サービス提供者が本明細書に説明される検索機能性を利用できるようにすることができる。認証情報は、名称及びパスワードを含み、適切なアカウントにアクセスする能力をサービス提供者に提供することができる。請求情報及び連絡先情報がサービス提供者に同様に提供されて、検索サーバ１８０により提供される検索機能性又は検索結果と引き換えに対価を受け取ることを容易にすることができる。検索機能性又は検索結果に関連する対価及び／又は売上収益に関するさらなる詳細が、本明細書において後から提供される。
【００４２】
検索サーバ上にアカウントを有することで、サービス提供者が検索サーバ１８０に１又は複数のカスタマイズされたデータベースを送出し（submit）、検索提供者により所望されるときに上記のようなデータベースに対して変更を行うことができるようにできる。データをサービス提供者から受信して、データベースの中の１又は複数のレコードを追加し、削除し、あるいはその他の方法で変更することができ、これにより、データベースが（例えば、検索サーバ１８０によって）受信された後でさえ、データベースの管理及び編集における柔軟性をサービス提供者に提供することができる。この変更は、いくつかの実施形態において、認証されたスクリプトを用いて自動化されることもできる。
【００４３】
方法３００のステップ３２０において、データベースの１又は複数のレコードは、少なくとも１つのフィールドに基づいて処理されることができる。データベースの処理は、検索提供者が各レコードの情報を検索クエリの検索パラメータと比較できるようにできる１又は複数のフィールドに関する情報を提供する。様々な実施形態に従い、検索サーバは、レコードと検索クエリの検索パラメータとの間に一致、関連、関連性、関連付け又は特定タイプの関係があるかどうかを判定することができ、これにより、エンドユーザに返される検索結果のリストの中に上記レコードを含むことを保証することができる。
【００４４】
例えば、検索クエリが音データを含むとき、少なくとも１つのフィールドに基づいてデータベースを処理することには、データベースの１又は複数のレコードの各々に対して音声データを作るようにデータベースを処理することをさらに含む。この音声データは、少なくとも１つのフィールドに、テキストデータの話された形式のバリエーションを含むことができる。例示的実施形態において、データベースは、２００９年１１月２日に申請されたKeyvan  Mohajerらによる“Melodis  Crystal  Decoder  Method  and  Device”と題された米国特許出願公開第２０１０／０１２１６４３号に説明されるように音声データを作るように処理されることができ、この特許出願公開はその全体が本明細書において参照により援用される。こうした実施形態において、サービス提供者は、必要なテクノロジー及びインフラストラクチャを独立して開発する必要なしに発話認識検索エンジンの恩恵を受けることができる。
【００４５】
同様にして、検索パラメータがテキストデータを含むとき、データベースを処理することには、１又は複数のフィールドからキーワードを識別することを含むことができる。さらに、検索パラメータが画像データを含むとき、データベースを処理することには、レコード画像データを含む１又は複数のフィールドをスキャンして、検索パラメータとの比較用にレコード画像データのファセット（facets）を識別することを含むことができる。
【００４６】
動作ステップにおいて、処理されたデータベースは、例えば、図１の検索サーバ１８０上に記憶されることができる。こうした実施形態は、検索クエリが受信されるたびに検索サーバがデータベースを再処理する必要がなくなり、これにより潜在的に時間を節約し、より迅速な応答を検索発行元に提供することになるため、有利であり得る。
【００４７】
方法３００のステップ３３０において、検索クエリがネットワークを介して受信されることができ、ここで、検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含む。さらに、検索クエリはエンドユーザから音データ入力によって提供されることができる。検索パラメータは検索クエリのファセット又は特徴であってよい。こうしたファセットは、データベースがその中のレコードの関連を決定するように処理されたときに各レコードについて作られる標準化された情報と比較されることができる。検索パラメータは検索クエリの一部又は検索クエリの全体を含むことができる（例えば、検索クエリがテキストであるとき、検索パラメータは検索クエリ内の言葉又は言葉の組み合わせであってよい）。検索パラメータはいくつかの実施形態において検索クエリから（例えば検索モジュール２５０によって）導出されることもできる。例えば、検索クエリが音データを含むとき、検索パラメータは数字形式又はグラフィカル形式において音データの音声ファセットを含むことができる。
【００４８】
方法３００のステップ３４０において、１又は複数の検索結果が、検索クエリの検索パラメータに基づいて、処理されたデータベースの中で決定されることができる。処理されたデータベースの中で１又は複数の検索結果を決定することは、例えば、検索パラメータとデータベースの１又は複数のレコードの少なくとも１つのフィールドとを照合することによって、あるいは検索パラメータと１又は複数のデータベースが処理されたときに作られる情報とを比較することによって行われることができる。検索結果は、検索パラメータに最も近く類似する情報をどのレコードが含むかを決定することによって識別されることができる。照合は、検索パラメータと１又は複数のフィールドとの間の類似度に基づいてよい。本願テクノロジーの様々な例示的実施形態において、検索パラメータは、検索パラメータの情報に対して関連し、関係し、関連付けられ、あるいは特定タイプの関係を有するレコードを識別するように１又は複数のデータベースが処理されたときに作られる情報に対して、比較されることができる。
【００４９】
例示的実施形態において、検索パラメータがデータベースの中のレコードの情報と比較されるとき、この情報が検索パラメータにどれほど類似するかに基づいて、レコードにスコアが割り当てられることができる。それから、検索結果は検索パラメータに対して最大の類似度を有するレコード（すなわち、スコア付けがどのように行われるかに依存して最高又は最低の類似度スコアを有するレコード）を含むことができる。
【００５０】
一例として、処理されたデータベースが各レコードについての音声データを含む場合、照合は、検索クエリの検索パラメータ（例えば、音データの音声ファセット）と各レコードについての音声データとを比較して所定許容範囲内に入る照合分を決定することによって行うことができる。照合したレコードが検索クエリに対する類似度の所定許容範囲より良好な場合、照合したレコードは検索結果内に含まれることができる。
【００５１】
様々な実施形態において、検索クエリは、コマンドを含むこともできる。本方法は、このコマンドに基づいてデータベースの検索動作を行う付加的なステップをさらに含むことができる。コマンドは、エンドユーザが検索結果をさらにカスタマイズし、かつ／あるいは狭める方法を提供することができる。コマンドは、検索クエリと同じ形式（例えば、話された言葉、テキストなど）をとってもよく、あるいは異なる形式をとってもよい。例えば、コマンドには、１又は複数のデータベースの中で１０個の最も類似するレコードに検索結果を制限することを含むことができ、あるいは指定の地理的ロケーションに検索結果を制限することを含むことができる。検索サーバは、コマンドを追加の検索パラメータとして認識し、コマンドを様々な例示的実施形態において指定された動作を行うことによって実施することができる。
【００５２】
方法３００のステップ３５０において、１又は複数の検索結果は、表示のためエンドユーザにネットワークを介して送信されることができる。上記で述べられたとおり、１又は複数の検索結果は、サービス提供者に送信されることができ、あるいはユーザ装置上でエンドユーザに提供されることができる。検索結果は、リスト形式、又は任意の他の適切な形式で提供されることができ、一緒に、あるいは１つずつ、エンドユーザのディスプレイ上に描画されることができる。また、検索結果内に含まれるレコードのフィールドが、表示のためエンドユーザに送信されることもできる。例えば、検索結果は、表示される各レコードのサムネイル画像を含むことができ、ここで、サムネイル画像は、各レコードについて、データベースの中のフィールドに記憶される。
【００５３】
様々な方法を利用して、検索結果がエンドユーザに表示されるときのため、１又は複数の検索結果を体系化することができる。例えば、各レコードの少なくとも１つのフィールドが、順位付け優先度を含むことができる。順位付け優先度は、サービス提供者によって割り当てられることができ、所望される検索結果順序に基づくことができる。それから、１又は複数の検索結果は、順位付け優先度に基づいて体系化されることができる。
【００５４】
順位付け優先度を利用する実施形態は、検索されることになる１又は複数のデータベースの中に順位付け優先度を単に提供することによってサービス提供者がそれから所望される順序で検索結果を提示することを可能にすることができるため、有利であり得る。例えば、データベースが俳優の名前をレコードとして含む場合、複数の俳優が同じ名前を有し得る可能性がある。順位付け優先度フィールドを使用することによって、サービス提供者は、所与の名前を有するより人気の俳優が、同じ名前を有するより無名な俳優の前にエンドユーザに提示されることを示すことができる。最も人気の俳優に最高の順位付け優先度を割り当てることによって、サービス提供者は、１又は複数のデータベースを検索するためにクラウドコンピューティングネットワークを利用しながら、検索結果に影響を与えることができる。
【００５５】
方法３００は、サービス提供者がクラウドコンピューティングネットワークを利用して１又は複数のデータベースのための検索機能性を提供することを可能にすることができることを、当業者には十分理解されたい。すなわち、本願テクノロジーは、ソフトウェア開発者を含むサービス提供者に、検索機能性及び収益化機能性を届けることを可能にする。検索サーバの利用を容易にするために、アプリケーションプログラミングインタフェース（“ＡＰＩ”）とソフトウェア開発キット（“ＳＤＫ”）とがサービス提供者に提供されることができる。さらに、サービス提供者がコンピューティングクラウドの中の１又は複数のデータベースにインデクスを付け、体系化することを可能にすることによって、方法３００は、独立して１又は複数のデータベースに対してインデクスを作成する必要なしに、検索機能性を提供することができる。さらに、例示的実施形態において、サービス提供者が本明細書に提示される例示的なクラウドシステムの中でサービス提供者自体のデータにインデクスを付けること可能にすることによって、及び音声により検索する本願テクノロジーを利用することによって、データベース検索結果が、音声からテキストへの変換の後にテキスト検索を行うという従来の２段階プロセスに比べてより速くより正確に送信されることになる。
【００５６】
サービス提供者により提供されるデータベースに検索機能性を提供することに加えて、検索サーバ（本明細書に説明される例示的検索サーバなど）は、スタンドアロンの検索エンジン性能を提供することができる。こうするために、検索サーバによってアクセス可能なデータベースと１又は複数のデータベース（又はインデクス）が処理されるときに作られる情報とが統合されて、統合された処理されたデータベースを作ることができる。それから、エンドユーザは、検索エンジンユーザインタフェースを使用して、統合された処理されたデータベースに検索クエリを提供することができる。検索エンジンユーザインタフェースには、任意の適切なインタフェースを使用することができる。本願テクノロジーの様々な実施形態において、検索エンジンユーザインタフェースは、様々な実施形態において単一のボタンを用いて始動されることができる。検索エンジンユーザインタフェースを介したユーザ入力の結果として、統合された処理されたデータベースが検索されることができ、検索結果が表示のためエンドユーザに送信されることができる。統合された処理されたデータベースを検索する１つの例示的な方法が本明細書において方法３００に提示されている。
【００５７】
図４は、検索結果を提供する一例示的方法４００のフローチャートである。方法４００のステップ４１０において、検索クエリがネットワークを介して受信されることができる。検索クエリは、上記で説明されたとおり、１又は複数のクエリチャンクを含むことができ、検索クエリは、エンドユーザから音データ入力によって提供されることができる。検索クエリは、いくつかの実施形態において、検索サーバによって受信される前に、クエリチャンクに分割されることができる（例えば、検索クエリは、クライアントによって、及び／又はサービス提供者によって分割されることができる）。しかしながら、検索クエリは、受信されたとき検索サーバによってチャンクに分割されることもでき、本願テクノロジーは、この点について限定されない。特に、クエリチャンクは、検索サーバと検索発行元との間の双方向接続を介して送られることができる。検索クエリがエンドユーザから収集されるとき、検索クエリはリアルタイムで１又は複数のクエリチャンクで検索サーバに送られることがあるため、上記のような双方向接続は有利であり得る。
【００５８】
１又は複数のクエリチャンクは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドを含むことができ、ここで、データベースは、上記で説明されたとおり処理されることができる。少なくとも１つのフィールドを含むことによって、検索プロセスは、一例示的実施形態において、早められることができる。例えば、検索クエリからのテキストデータが、音及び／又は画像コンテンツに関連するチャンクの前にクエリチャンクで送信されることができ、このことは、検索サーバが、音及び／又は画像コンテンツが受信され、かつ／あるいはデータベースの中のレコードと比較される前あるいは間に、検索クエリのテキストデータ部分についての結果を処理し、返すことを可能にすることができる。こうした実施形態は、ネットワークレイテンシと送信遅延との影響を低減することによって、検索スピードを増大させ、エンドユーザ経験をより良くすることができる。
【００５９】
さらに、検索クエリが音及び／又は画像データを含むとき、検索クエリをクエリチャンクに分割することで、検索プロセスをさらに早めることができる。クエリチャンクは実質的に等しいサイズとすることができ、あるいは検索提供者の要件及び好みに依存して様々なサイズとすることができる。検索クエリをチャンクに分割することで、検索クエリ全体が受信されることを待つ必要なしに、検索サーバが受信したクエリチャンクを処理し、検索結果を提供することを可能にすることができる。こうした実施形態は、特に検索クエリが大量の音及び／又は画像データを含むとき、エンドユーザの検索経験をより良くすることができる。
【００６０】
方法４００のステップ４２０において、１又は複数の検索結果が、処理されたデータベースの中で、検索クエリの１又は複数のクエリチャンクに基づいて決定されることができる。１又は複数の検索結果は、受信したクエリチャンクを用いて決定されることができ、このクエリチャンクは、上記で説明されたとおり、検索サーバが検索結果を決定する前に検索クエリ全体が受信されるまで待つ必要がないため、検索効率の向上をもたらすことができる。検索パラメータは、クエリチャンクから導出され、かつ／あるいは抽出され、処理されたデータベースの中のレコードからの情報と比較されることができる。
【００６１】
上記で説明されたとおり、検索結果は、クエリチャンクの検索パラメータに基づいて決定されることができる。様々な実施形態において、検索結果は、後続のクエリチャンクを検索サーバが受信したとき、精緻化されることができる。例えば、検索結果のリストが第１のクエリチャンクを用いて決定されることができる。この検索結果のリストは、第２のクエリチャンクが受信されたとき、第２のクエリチャンクからの検索パラメータを用いて上記検索結果を検索することによって、再順序付けされることができる。こうした実施形態は、各クエリチャンクを用いてデータベース全体を検索することを要さないことによって、より効率良く検索結果リストを提供することができる。
【００６２】
方法４００のステップ４３０において、１又は複数の検索結果の１又は複数のフィールドが、表示のためリアルタイムでエンドユーザに、ネットワークを介して選択的に送信されることができる。レコードの各フィールドは、上記で説明されたとおり、テキストデータ、音データ及びリッチコンテンツなどの異なるタイプのデータを含むことができる。１又は複数のフィールドの選択的な送信は、例えば、他のフィールドと比べてサイズの比較的小さいフィールドを選択することによって、行うことができる。検索結果内のレコードの１又は複数のフィールドを選択的に送信することによって、検索サーバは、追加のフィールドの中のデータと比べてサイズの比較的小さいデータを含むフィールドを送信することができる。テキストデータなどの比較的小さいデータを含むフィールドは、追加のフィールドの中のデータが送信された場合と比べて、より効率良くネットワークをわたって送信されることができる。検索結果をより迅速に提供することによって、ユーザ検索経験がより良くされることができる。
【００６３】
例えば、１又は複数の検索結果のうち選択的に送信される１又は複数のフィールドにはテキストを含むことができ、これは有利なことに、ディスプレイ上に検索結果を受信する前に追加のフィールド（画像及び音データなど）がロードされるのをユーザが待つことを要する場合と比べて、より迅速にユーザに検索結果を提供することができる。１又は複数の検索結果は検索結果リストの中で体系化されることができ、これがエンドユーザに提示されることができ、したがってエンドユーザは複数の結果を有して選択することができる。１又は複数の検索結果の各々は、１つずつエンドユーザに対して描画されることができ、ディスプレイ上に描画する前にすべての検索結果が受信されるのを待つよりも、検索結果の受信をさらに早めることができる。
【００６４】
方法４００のステップ４４０において、１又は複数の検索結果の１又は複数の追加のフィールドが、表示のためリアルタイムでエンドユーザにネットワークを介して選択的に送信されることができる。１又は複数の検索結果のうち追加の１又は複数のフィールドは、様々な実施形態において、１又は複数の画像及び／又はリッチコンテンツを含むことができる。追加のフィールドは、ユーザを刺激し、検索経験をより実りのあるものにするオーディオビジュアルコンテンツを提供することによって、検索経験をより良くすることができる。
【００６５】
リッチコンテンツは、検索結果及び／又は検索結果リストの提示をより良くするために使用されることができる。リッチコンテンツは、サービス提供者によって各レコードについて提供されることができ、あるいは検索サーバによって自動的に提供されることができる。リッチコンテンツの例には、音響効果や視覚効果、画像、アニメーション、ビデオコンテンツ又はこれらの任意の組み合わせを含むことができる。リッチコンテンツを使用してユーザ経験をより良くすることができる多数の方法が存在する。例えば、検索結果が、ユーザにより始動されたとき音響効果を再生させるオーディオブラケット（audio  brackets）と共に提示されてよい。音響効果は、リッチコンテンツをロードしている、かつ／あるいは検索結果のリストをロードしている間、利用されることができる。リッチコンテンツは、透過的なオーバレイを使用し、あるいは未来のグラフィクス効果及び／又はグラフィカル効果を使用して、検索結果内の１又は複数のレコードの提示に添えることによって、検索結果の提示を支援するのに使用することもできる。いくつかのコンピューティング装置（ｉＰａｄなど）について、便利なアプリケーション又はアプレットがディスプレイの第１の部分（ディスプレイの左手側など）に提示されることができ、検索結果のリストがディスプレイの第２の部分（ディスプレイの右手側など）に提示されることができる。
【００６６】
１又は複数の検索結果のうち選択的に送信される１又は複数のフィールドがエンドユーザに表示される間、１又は複数の検索結果のリッチコンテンツは（該リッチコンテンツがエンドユーザに表示されないように）バックグラウンドで送信され、かつ／あるいはダウンロードされることができ、これにより、リッチコンテンツがロードされている間、エンドユーザが検索結果を見ることが可能になる。検索結果及び／又はリッチコンテンツがロードされてエンドユーザをさらに楽しませ、引き込んでいる間、ビデオアニメーションなどの追加のリッチコンテンツがエンドユーザのために再生されることができる。１又は複数の検索結果のうち選択的に送信された１又は複数のフィールドがエンドユーザに表示された後、それから、１又は複数の検索結果のリッチコンテンツがエンドユーザに表示されることができる。
【００６７】
図５は、１又は複数の検索結果の中に宣伝を提供する一例示的方法５００のフローチャートである。方法５００のステップ５１０において、検索クエリが、１又は複数の垂直的なアプリケーションのためにネットワークを介して受信されることができ、検索クエリは、処理されたデータベースの１又は複数のレコードの少なくとも１つのフィールドの検索パラメータを含むことができる。検索クエリは、ユーザ装置を用いてエンドユーザから音データ入力によって提供されることができる。垂直的なアプリケーションは、例えば、レストランの場所を見つけるアプリケーション又は映画に関するコンテンツを見るアプリケーションなどの、狭く定義されたマーケット又はコンテンツ領域に関して定義されたアプリケーションであってよい。垂直的なアプリケーションは、サービス提供者１３０によって所有され、かつ／あるいは制御されることができる。検索クエリの受信は、上記で説明されたとおり行われることができる。検索クエリは、垂直的なアプリケーションに向けられることができ、これは、処理されたデータベースに関連付けられるサービス提供者であってよい。上記で説明された方法３００に従い、様々な実施形態において、検索クエリが処理されることができ、検索結果が同様に送信されることができる。
【００６８】
方法５００のステップ５２０において、広告データベースが、検索クエリ又は１若しくは複数の検索結果（例えば、ステップ３４０において決定された検索結果）に基づいて検索されることができる。広告データベースは、いくつかの実施形態において、過去の検索パラメータを含む検索履歴に基づいて検索されることもできる。検索履歴は１又は複数の過去の検索クエリを含むことができ、各々が関連する過去の検索パラメータを有することができる。過去の検索パラメータは、エンドユーザによりしばしば訪問されるウェブサイト、エンドユーザからしばしば受信される検索クエリなどの、エンドユーザのネットワーク使用傾向を映すことができる。
【００６９】
検索履歴は、広告データベースの検索に影響を与えるように調整された、過去の検索クエリの様々な組み合わせを含むことができる。検索履歴は、例えば、検索クエリの検索パラメータを含むことができ、したがって、広告結果が検索クエリを反映するように調整される。検索パラメータは、広告データベースを検索するために、単独で、あるいは他の過去の検索パラメータとの組み合わせで使用されることができる。
【００７０】
いくつかの実施形態において、検索履歴は、単一のサービス提供者（例えば、処理されたデータベースに関連付けられたサービス提供者、又は処理されたデータベースの検索に対して広告を提供する権利を交渉したサービス提供者）に関連付けられたすべての検索クエリからの検索パラメータを含むことができる。こうした実施形態は、ユーザの検索クエリにより関連する広告結果を提供することができ、これにより検索経験をより良くしながら検索経験を広告主のために収益化することができるため、有利であり得る。
【００７１】
さらなる実施形態において、検索履歴は、複数のサービス提供者に関連付けられたすべての検索クエリからの検索パラメータを含む。こうした実施形態は、過去の検索パラメータに映されたとおりエンドユーザの好みを反映する様々な広告をエンドユーザに提供することができる。再びになるが、こうした一実施形態は、ユーザの検索クエリにより関連する広告結果を提供することができ、これにより検索経験をより良くしながら検索経験を広告主のために収益化することができるため、有利であり得る。
【００７２】
方法５００のステップ５３０において、１又は複数の広告結果が、広告データベースの検索に基づいて、１又は複数の垂直的なアプリケーションにわたって生成されることができる。様々な実施形態において、広告結果は、現在の検索結果に基づいて対象にされることができ、ここで、現在の検索結果は、処理されたデータベースからのものであり、検索クエリに応じて提供される。広告結果は、ユーザ層（例えば、検索サーバに送出されたエンドユーザプロファイルから）、ユーザ関心、インターネットサービス上でのユーザの活動履歴、又はこれらの任意の組み合わせに基づいて対象にされることもできる。宣伝から生成される収益は、例えば、サービス提供者アカウント１５０などのサービス提供者アカウントを用いて、サービス提供者と関与する他の関係者とで分けることができる。
【００７３】
方法５００のステップ５４０において、１又は複数の広告結果は、ネットワークを介して（例えば、表示のためエンドユーザに）送信されることができる。１又は複数の広告結果は、上記で説明されたとおり、１又は複数の検索結果に関連付けられることができる。広告結果は、例えば、過去の検索パラメータに対する関連の順序で体系化された広告リストで送信されることができる。広告リストは、処理されたデータベースからエンドユーザの検索クエリに応じて送信された検索結果を含む検索結果ページと別個の領域でなどの、任意の適切な様式で提示されることができる。
【００７４】
さらに、本明細書に説明される方法及び／又はステップは、組み合わせることができる。例えば、様々な実施形態において、方法３００を方法５００と組み合わせて、検索結果と広告結果とを提供することができる。
【００７５】
付加的なステップにおいて、方法５００は、各広告結果に関連付けられた入札値に基づいて１又は複数の広告結果を体系化することをさらに含むことができる。各広告結果は、広告主に関連付けられることができる。広告データベースが、各レコードについて少なくとも１つのフィールドを有するレコードを含み、広告データベース内に、入札値のためのフィールドが存在することができる。広告データベースの中のレコードが広告結果に含まれるとき、広告結果は、例えば、より高い入札値を有するレコードが広告結果の中でより早く位置されるように、体系化されることができる。入札値フィールドに基づいて広告結果を体系化することは、有利なことに、所与のレコードに関連付けられた入札値を増やして広告結果内で上記レコードの認知度を上げることを望むかもしれない広告主間の広告データベースにおける競争を促すことができる。
【００７６】
入札値は、様々な実施形態において、キーワードに関連付けられることができる。検索クエリの検索パラメータ内のキーワードが広告データベースを検索するために使用されるとき、複数の広告主レコードが広告結果の中に含まれることができる。キーワードに対して競合他社より高く入札することによって、サービス提供者は、サービス提供者自身を広告結果内により顕著に出現させることにより（例えば、広告結果の中でサービス提供者の広告をより高位に掲載することにより、あるいは画像又はリッチコンテンツを用いてサービス提供者の広告を強調することにより）、そのサービスと関連する製品／売り物とを促進することができる。このように、キーワード入札システムが広告主に提示されて、検索パラメータ及び／又は検索語に基づいて広告主のアプリケーション及び売り物を促進することができる。
【００７７】
検索結果を用いて提供される宣伝は、サービス提供者に提供される機能性を収益化する多くの方法を提供することができる。収益は、クリック報酬型（pay-per-click）モデルに基づいて、上記で説明された検索サーバの提供者に提供されることができる。広告データベースに参加している広告主は、エンドユーザが広告結果の中の広告をクリックしたとき、所定量を支払う。サービス提供者の処理されたデータベースの検索結果における広告から生まれる収益は、サービス提供者と関与する他の関係者との間で分けることができる。
【００７８】
いくつかの実施形態に従い、検索サーバ２７０は、自然言語クエリプロセッサ、以降「ＮＬＱＰ２８０」を採用して、音入力によってデータベースを検索することができる。より具体的には、ＮＬＱＰ２８０を利用して、統合された自然言語ライブラリを生成し、この生成されたライブラリを用いて自然言語クエリを処理することができる。概して言うと、ＮＬＱＰ２８０は、複数の（例えば、２つ以上の）自然言語ライブラリから、統合された自然言語ライブラリを生成することができる。複数の自然言語ライブラリは、クライアントアプリケーションを開発する複数の開発者（例えば、サービス提供者）によって生成されることができ、ここで、各開発者は、特定のクライアントアプリケーションのために自然言語ライブラリを生成することができる。アプリケーション開発者は、そのアプリケーション内で発話認識機能を可能にして、エンドユーザが話したコマンドを用いてアプリケーションと対話することを可能にしたい場合がある。アプリケーションのエンドユーザにより提供される話されたクエリに対して正確な応答を提供するために、開発者は、アプリケーションのための自然言語ライブラリを生成することができる。他の例において、開発者は、本願テクノロジーにより生成される統合された自然言語ライブラリを利用することができる。
【００７９】
いくつかの実施形態に従い、ＮＬＱＰ２８０は、各サービス提供者について、（例えば、統合されたものではなく）個々の又は一意の自然言語ライブラリを管理することができる。個々の自然言語ライブラリは、サービス提供者及び／又はサービス提供者の顧客の具体的なニーズに応じてカスタマイズされることができる。例えば、旅行ウェブサイトが、音楽ウェブサイトに対して異なるカスタマイズされた自然言語ライブラリを採用することができる。さらに、自然言語ライブラリのカスタマイズは、競合するサービス提供者に、より堅牢な及び応答の自然言語ライブラリを生成するように奨励することができる。
【００８０】
大まかに言って、自然言語ライブラリは、アプリケーションが通常直面するであろう自然言語クエリを、クエリが受信されたときアプリケーションが実行すべき応答又は動作と共に含むことができる。開発者は、アプリケーションを自然言語ライブラリと共に予めロードして、上記の通常直面する自然言語クエリを処理することができる。
【００８１】
いくつかの実施形態に従い、これらの自然言語ライブラリのいくつかは、開発者生成ライブラリ（developer  generated  library）を含むことができる。開発者生成ライブラリは、開発者を介してライブラリに関連付けられたトピック又は主題を含むことができる。例えば、開発者が、ナビゲーションアプリケーションを管理することがある。したがって、このアプリケーションに関連付けられた自然言語ライブラリは、これに起因する「ナビゲーション」という主題を有することができる。いくつかの例において、開発者生成ライブラリは、該ライブラリに関連付けられる複数のトピックを含むことができる。
【００８２】
これらの自然言語ライブラリは、開発者又は自然言語処理システムが自然言語クエリに内在する様々な変形を厳密に予測することができないため、いくらか限定される可能性がある。例えば、「私の次の約束は何時ですか？」などの単一の自然言語クエリは、「私の次の約束はいつですか？」又は「いつが私の次の約束ですか」などとして表現されることもある。開発者がこれらの変形のいくつかを構成しなかった場合、自然言語クエリは満たされることができない。
【００８３】
他の実施形態に従い、自然言語ライブラリは、自然言語クエリ及び応答のリストではなく、自然言語クエリ及び応答に関して訓練されたルールに基づくスキーマを含むことができる。このようなものとして、自然言語ライブラリは、質問及び回答ペアのリストに比べて、より密接にプログラミング言語に対応することができる。例えば、本願テクノロジーは、回答されるとき実質的に同じ応答を生成する、同じ自然言語語句のためのいくつかの変形を分析することができる。これらの質問及び応答を用いて、本願テクノロジーは、上記情報から、将来の類似の自然言語クエリに対処する方法論を抽出することができる。非限定的な例として、単語「次の」及び「約束」の存在は、自然言語クエリの中で互いから２語又は３語以内に位置するとき、エンドユーザが自身の次の時間的に後の約束に関する何らかの種類の情報を欲しているとシステムに示すことができる。さらに、自然言語クエリの中の単語「とき」の存在は、エンドユーザが時間に関連する質問を尋ねていることをシステムに知らせることができる。こうした情報を結合して、将来の類似の自然言語クエリを処理するためのルールに基づくスキーマとすることができる。
【００８４】
自然言語クエリが回答されなくなる／満たされなくなる可能性を低減するために、ＮＬＱＰ２８０により生成される自然言語ライブラリを利用することができる。再びになるが、このライブラリは、複数の自然言語ライブラリから生成されることができ、あるいはカスタマイズされた自然言語ライブラリを含むこともできる。これらの種類の自然言語ライブラリは、リスト指向の自然言語ライブラリに対して、より堅牢な及び包括的な情報のセットを提供することができる。すなわち、自然言語ライブラリは、ライブラリが自然言語クエリ及び応答ペアに限定されないため、ルールに基づく自然言語クエリの表現を含むことができる。
【００８５】
開発者又は自然言語処理システムは、それから、その限定された自然言語ライブラリではなく、統合された自然言語ライブラリにアクセスし、これを利用し、より大きなコーパスの情報の恩恵を得ることができる。他の例において、開発者又はその他の者にインセンティブを与えて（incentivized）、堅牢な及びカスタマイズされた自然言語ライブラリを生成してその顧客の自然言語クエリの必要をより良く満たすことができる。
【００８６】
いくつかの実施形態において、ＮＬＱＰ２８０は、クラウドソーシングを採用して、多くの別個のサービス提供者／開発者により生成されるコンテンツから、統合された自然言語ライブラリを生成することができる。
【００８７】
いったんＮＬＱＰ２８０が自然言語ライブラリを受信すると、ＮＬＱＰ２８０は、各自然言語ライブラリを処理して、個々のライブラリの内容を統合された自然言語ライブラリにまとめる最良の方法を決定することができる。上記で言及されたとおり、自然言語ライブラリは、ライブラリを利用する特定のアプリケーション、サービス提供者及び／又は開発者に関連付けられることができる。
【００８８】
いくつかの例において、アプリケーションは、何らかの種類の情報、サービス又は製品をエンドユーザに提供することに向けられる。さらに、上記で言及されたとおり、自然言語ライブラリは、自然言語クエリと関連する応答とを含むことができる。例えば、自然言語クエリが「最も近い給油所を検索」を含むことがあり、このクエリに関連付けられた応答は、コマンド又は動作と可能性として関連するデータとを含み、このコマンド又は動作は、エンドユーザの場所に近接して最も近い給油所を特定するための情報源を問い合わせている地図又はナビゲーションアプリケーションが理解可能である。結果は、地図と地図上で正確に示された場所とを含むグラフィカルユーザインタフェースを介してエンドユーザに返されることができる。有利なことに、自然言語ライブラリの中の各自然言語クエリは、少なくとも１つの応答に関連付けられることができる。さらに、いくつかの自然言語クエリが同じ応答に関連付けられて、２つの違ったふうに言葉で表されたクエリが同じ質問を尋ねているときなどの、自然言語クエリに内在するばらつきに対処することができる。
【００８９】
ＮＬＱＰ２８０により生成される応答に関して、応答フォーマットは、ＮＬＱＰ２８０を採用するアプリケーションと開発者及び／又はサービス提供者のニーズとに依存してカスタマイズされることもできる。非限定的な例として、「マライアキャリーのファーストアルバムの３曲目を再生」という自然言語クエリは、音楽プレーヤアプリケーションに、動作とメタデータとの組み合わせである応答を返させることができる。動作は「再生」とすることができ、メタデータはアーティスト：マライアキャリー、アルバム：Ｅｍｏｔｉｏｎｓ、曲：Ｃａｎ’ｔ  Ｌｅｔ  Ｇｏ．を含むことができる。開発者は、音楽プレーヤアプリケーションを介して所望されるコマンドを実行するために、動作（すなわち、再生）とメタデータとの組み合わせを使用することができる。この例は、応答を自然言語クエリの文脈又はサービス提供者／開発者のニーズに依存してカスタマイズすることができるという事実の説明であり例示である。例えば、サービス提供者が、上記で説明されたメタデータを返すよりむしろ新しい音楽をエンドユーザに売りたい場合、サービス提供者は、エンドユーザのクエリに基づいて、エンドユーザ自身にとって関心のあり得る他のアーティストの他のアルバムへのリンクを有するように選ぶことができる。
【００９０】
ＮＬＱＰ２８０は、異種の発信元から自然言語ライブラリを受信し、ライブラリに含まれる情報を利用して、統合された自然言語ライブラリを生成することができる。
【００９１】
いくつかの例において、ＮＬＱＰ２８０は、特定のアプリケーションに自然言語クエリ処理を提供する統合された自然言語サブライブラリ（sub-libraries）を生成することができる。すなわち、種々のナビゲーションアプリケーションのための複数の自然言語ライブラリを一緒に結合して（例えば、統合して）、関連するナビゲーションアプリケーションが利用することができるより包括的な自然言語ライブラリを生成することができる。さらに、他の類似のアプリケーションが、アプリケーションが統合された自然言語サブライブラリに直接関連付けられていないとしても、統合された自然言語ライブラリを利用することもできる。例えば、予約アプリケーションが場所に基づく自然言語クエリを受信することがあり、このクエリをナビゲーションアプリケーションが処理することができる。
【００９２】
いくつかの例において、自然言語サブライブラリは、種々のサービス提供者のための個々のカスタマイズされた自然言語ライブラリを含むことができる。
【００９３】
いくつかの実施形態に従い、開発者は、その個々の自然言語ライブラリを提供すること及び／又は更新することによって、統合された自然言語ライブラリの生成に参加することを補償されることができる。
【００９４】
先に言及されたとおり、自然言語ライブラリは、サービス提供者と、延長線上で考えると特定タイプの主題とに、関連付けられることができる。例えば、ナビゲーションのサービスを提供するナビゲーションアプリケーションは、特定の自然言語ライブラリを利用することができる。ゆえに、自然言語ライブラリの主題は、アプリケーションにより提供される（１又は複数の）サービスに関連付けられることができる。ＮＬＱＰ２８０は、自然言語ライブラリクエリ又は応答に含まれるキーワードを検出することによって、自然言語ライブラリに関連付けられた主題を決定することができる。他の例において、自然言語ライブラリは、識別する情報をタグ付けされることができる。
【００９５】
ＮＬＱＰ２８０が自然言語クエリに関連付けられたサービス／主題をどのように決定するかにかかわらず、ＮＬＱＰ２８０は、類似の自然言語ライブラリの内容（クエリ及び応答）を一緒に単一の自然言語ライブラリにグループ化し、あるいは結合することができる。統合された（及び、個々の、カスタマイズされた）自然言語ライブラリの確立は、以下でより詳細に論じられるとおり、ＮＬＱＰ２８０の検索効率を向上させることができる。
【００９６】
統合された自然言語ライブラリと、いくつかの例において自然言語サブライブラリとの確立の後、ＮＬＱＰ２８０は、エンドユーザからそのクライアント装置を介してクエリを受信することができる。他の例において、クエリは、自然言語クエリ処理をサポートするサービス提供者アプリケーション（例えば、開発者アプリケーション）から受信されることができる。
【００９７】
本願テクノロジーに従い、クエリは、話された自然言語クエリなどの音データ入力を含むことができる。自然言語クエリには、自然言語クエリを受信するアプリケーション及び／又は装置が認識可能であり、かつ／あるいはすぐに使用可能である（actionable）任意の要求を含むことができる。説明された例を続けると、「最も近い給油所の場所を見つける」という自然言語クエリを、ＮＬＱＰ２８０と連動してナビゲーションアプリケーションを実行するクライアント装置が受信することができる。マイクロフォンなどの、クライアント装置に関連付けられた音声捕捉装置が、音データ入力（例えば、話された自然言語クエリ）を受信する。クライアント装置は、音データ入力を、時にナビゲーションアプリケーションを介して、検索サーバ２７０に送信することができる。他の実施形態において、クライアント装置で実行中の自然言語クエリアプリケーションが、ナビゲーションアプリケーションに代わって音データ入力を送信することができる。
【００９８】
いったん自然言語クエリが受信されると、ＮＬＱＰ２８０は、自然言語クエリの内容と統合された自然言語ライブラリとを比較して、上記クエリが、統合された自然言語ライブラリに含まれる少なくとも１つのクエリに対応するかを判定することができる。ＮＬＱＰ２８０は、自然言語クエリの語句全体を利用することができ、あるいはいくつかの実施形態において、自然言語クエリの一部分だけを利用することができる。
【００９９】
上記で言及されたとおり、統合された自然言語ライブラリが、統合された自然言語サブライブラリを含むことができるため、自然言語クエリは、統合された自然言語ライブラリ全体に対してではなく、統合された自然言語サブライブラリの１又は複数に対して比較されることができる。ＮＬＱＰ２８０は、クエリに含まれたキーワード又は語句の場所を見つけることによって、自然言語クエリに関連付けられた主題を決定することができる。ＮＬＱＰ２８０は、この決定された情報に基づいて、問い合わせされることになる１又は複数の統合された自然言語サブライブラリを選択することができる。自然言語クエリが、統合された自然言語ライブラリ全体のうちより小さいサブセットに対して検索されることをを可能にすることで、検索プロセスの効率を向上させ、エンドユーザによるアプリケーションレイテンシ経験を減少させることができる。
【０１００】
ＮＬＱＰ２８０が、統合された自然言語ライブラリ又は統合された自然言語サブライブラリのいずれかの中でクエリの場所を見つけた場合、ＮＬＱＰ２８０は、このクエリに関連付けられた応答を取得することができる。取得される応答は、サービス提供者アプリケーションにより生成された実際の応答だけでなく、応答を生成する方法論も含むことができることを理解されたい。例えば、第１のナビゲーションアプリケーションが、第２のナビゲーションアプリケーションにより生成される或る自然言語クエリのための応答を利用するものである場合、実際の応答よりむしろ、応答がどのように生成されるかを理解することが有益であり得る。第１のナビゲーションアプリケーションが「近くの図書館はどこですか？」という自然言語クエリを受信し、第１のナビゲーションアプリケーションがこの自然言語クエリを処理することができない場合、第１のナビゲーションアプリケーションは、この自然言語クエリをＮＬＱＰ２８０に提供することができる。ＮＬＱＰ２８０は、ナビゲーションアプリケーションのための統合された自然言語サブライブラリの中で、第２のナビゲーションアプリケーションにより生成された対応するクエリの場所を見つけることができる。
【０１０１】
挿話として、この特定のクエリのために生成された実際の検索結果を受信することが第１のナビゲーションアプリケーションに少しも有益さを提供しない場合がある。エンドユーザのための場所情報は、第２のナビゲーションアプリケーションにより処理された自然言語クエリを生成したエンドユーザのための場所情報とは異なる可能性があるからである。したがって、より価値のある応答には、第２のナビゲーションアプリケーションがどのようにクエリを解釈したか、情報のデータベースがどのようにアクセスされたか、エンドユーザのための場所情報がどのように取得されたかなどの、第２のナビゲーションアプリケーションがどのようにクエリを満たしたかを含むことになる。つまり、統合された自然言語ライブラリに記憶される応答には、他のアプリケーションのための類似の自然言語クエリを満たすことにおいてＮＬＱＰ２８０を支援することができる多くの種類の情報を含むことができる。
【０１０２】
ＮＬＱＰ２８０により行われる比較は、常に自然言語クエリに対する完全に完璧な一致をもたらさなくてもよい。有利なことに、ＮＬＱＰ２８０は、エンドユーザから受信した自然言語クエリと統合された自然言語ライブラリに含まれる自然言語クエリとの間に実質的な類似性（又は、少なくともいくらかの類似性）があるとき、自然言語クエリの一致を許すように構成されることができる。例えば、エンドユーザ自然言語クエリ「何時？」が、統合された自然言語ライブラリの中の「何時ですか？」という自然言語クエリに実質的に対応してよい。ＮＬＱＰ２８０は、これら双方をカレンダーアプリケーションが受信したという理由で、これら２つのクエリが実質的に同様であると推測することができる。受信したクエリと記憶されたクエリとの間のこうしたタイプのあいまいな一致は、正確な一致を要することが誤りを引き起こすであろう例においてＮＬＱＰ２８０が応答を提供することを可能にする。
【０１０３】
いくつかの実施形態に従い、ＮＬＱＰ２８０を利用して、言語モデルにおける可能性をより小さいセットに狭めることによって、発話認識システムの精度をより良くすることができる。再びになるが、個人は、同じ応答を達成しようとするときでさえ、自然言語クエリをほぼ無数の方法で表現することがある。さらに、各自然言語クエリは、いくつか例を挙げるだけでも、言葉選び、言語、構文及び／又は文法に起因して、多数の解釈の可能性にさらされる可能性がある。いくつかの実施形態に従い、ＮＬＱＰ２８０を利用して、自然言語クエリのあり得る解釈を狭めることができる。ＮＬＱＰ２８０は、自然言語クエリのための１又は複数のあり得る解釈のリストを返すことができる。
【０１０４】
本明細書に説明される多くの他の種類の情報と同様に、個々のカスタマイズされた自然言語ライブラリ、統合された自然言語ライブラリ、及び統合された自然言語サブライブラリは、図１の１又は複数のデータベース１７０などの記憶装置コンポーネントに記憶されることができる。
【０１０５】
いくつかの例において、ＮＬＱＰ２８０は、自然言語クエリと統合された自然言語ライブラリの中のエントリとの間の対応が見つけられないという理由で、自然言語クエリのための応答を決定できない可能性がある。これらの例において、ＮＬＱＰ２８０は、自然言語クエリのための適切な解釈を生成しようとして、複数のサービス提供者（例えば、開発者）に自然言語クエリを提供することができる。いくつかの例において、ＮＬＱＰ２８０は、クエリの解釈とその応答とのためのクラウドソーシングを可能にすることができる。
【０１０６】
他の実施形態に従い、ＮＬＱＰ２８０は、エンドユーザクライアント装置から自然言語クエリを受信することができる。自然言語クエリが統合された自然言語ライブラリに対して比較され、一致するクエリの場所が見つけられたとき、ＮＬＱＰ２８０は、この自然言語クエリを、一致するクエリに関連付けられた開発者アプリケーションなどのサービス提供者に向けることができる。これらの例において、ＮＬＱＰ２８０は、自然言語クエリを満たすのに最も適したアプリケーション又はサービス提供者に自然言語クエリを向けるためのルーティングメカニズムとして動作する。このようにして、自然言語クエリがサービス提供者のためにより堅牢であればあるほど、サービス提供者は自身に向けられた自然言語クエリを有し、要求を満たす機会が増え、潜在的な顧客に関与し、収益を生む可能性がより高くなる。これに応じて、サービス提供者がより堅牢な自然言語ライブラリを作成するとき、統合された自然言語ライブラリの内容が増大する。
【０１０７】
いくつかの例において、サービス提供者は、サービス提供者独自の自然言語ライブラリを保有することができる。ライブラリは、新しい自然言語クエリが受信され、満たされたとき、周期的に変更されることができる。統合された自然言語ライブラリの内容を増大させるために、サービス提供者は、自身の自然言語クエリをＮＬＱＰ２８０にアップロードすることができる。他の実施形態において、ＮＬＱＰ２８０は、サービス提供者とやりとりして、サービス提供者の自然言語ライブラリにおける変化を検出することができる。エントリが自然言語ライブラリに追加され、ＮＬＱＰ２８０により検出されるたび、統合された自然言語ライブラリが更新されることができる。
【０１０８】
本願開示に従い、ＮＬＱＰ２８０は、クラウドソーシング開発インタフェースを採用することができ、クラウドソーシング開発インタフェースは、開発者（例えば、サービス提供者又は他の貢献者）がその自然言語ライブラリを他者から利用可能にすることを選べるようにする。有利なことに、他の開発者は、それから、こうして共有されたライブラリを自身のサービスの中で使用することができる。
【０１０９】
開発者は、ＮＬＱＰ２８０により受信された特定の自然言語クエリサンプルを（例えば、ウェブサイト上のテキストボックスに文字をタイプすることによって、あるいはクエリをＡＰＩに送出することによって、あるいはクエリをインタフェースに対して話すことによっても）送出することができ、応答において、ＮＬＱＰ２８０は、同じクエリのすべて又は一部に一致したすべての他のライブラリのセットを生成することができる。一致したライブラリのセットがＮＬＱＰ２８０により返されたとき、開発者は、ライブラリの説明とライブラリがサポートする他の使用事例とを見ることができる。それから、開発者は、開発者の自然言語クエリシステムを設計／更新するために、一致したライブラリのいくつか又はすべてを使用することを選ぶことができる。このようにして、開発者は、これらクラウドソースされた自然言語ライブラリを採用することによって、重複的な取り組みを低減することができる。
【０１１０】
非限定的な例として、開発者は、特定の日付に対応する曜日を算出するシステムを設計したい場合がある。開発者は、「２０１２年１月１４日は何曜日か私に教えて」などのサンプルクエリを送出することができる。ＮＬＱＰ２８０は、「私に教えて」が「私に教えてください」、「私は知りたい」、「私は知りたいです」「知りたい」などの他のクエリをカバーする既存の自然言語ライブラリに一致したと示すことができる。開発者は、このライブラリを使用することを選んで、「私に教えて」の意味に対応するすべての事例（又は実質的な部分）をカバーすることができる。この例において、日付「２０１２年１月１４日」は、種々の日付フォーマットのバリエーションを有する日付をカバーする自然言語ライブラリと照合することもできる。このようにして、開発者は、日付を理解するシステムをゼロから作る必要がなくなり、すでに他社によって行われた作業の上に構築することができる。
【０１１１】
開発環境は、より洗練されることができ、開発者が何の文字をタイプしているかを自動的に検出することができ、一致し、かつ使用のために利用可能である既存のライブラリに関して、リアルタイムで又はバックグラウンドで、開発者に示唆を行うことができる。例えば、開発者が既存のライブラリを探していない場合でさえ、開発者が「私に教えて」という言葉の文字をタイプするとすぐに、ＮＬＱＰ２８０が、このクエリのセットと類似するクエリのセットとをカバーするために使用することができる既存のライブラリがあることを開発者に警告することができる。
【０１１２】
さらに、ＮＬＱＰ２８０が、一致するライブラリを開発者に提示するとき、各ライブラリについての人気の程度を提示することもできる。例えば、ライブラリがライブのトラフィックを有するサービスにおいて使用されている場合、所与の時間期間における各ライブラリに対するヒットの数に対応する人気程度が提示されることができる。有利なことに、これらのメトリクスは、開発者がどのライブラリを使用するかをより良く判断することを可能にする。
【０１１３】
いくつかの実施形態において、ＮＬＱＰ２８０は、開発者がそのライブラリを帰納又はマージによって拡張することを可能にすることができる。例えば、２つ以上の自然言語ライブラリが互いに共通するかなりの量の主題を有し、かつ／あるいは類似のサービスに対応するとき、ＮＬＱＰ２８０は、これらの自然言語ライブラリが同じ分野（例えば、同じ主題）をカバーすると判定することができる。いくつかの例において、２つ以上のライブラリは同一でなくてよく、一方のライブラリの中のいくつかの事例が他方に属していないこと、及びその反対があり得る。したがって、ＮＬＱＰ２８０は、これらのライブラリを一緒に結合して、事例のすべて（又は実質的な部分）をカバーする新しい自然言語ライブラリを作成することができる。例えば、自然言語ライブラリＡが、「私に教えて」及び「私に教えてください」をカバーすることができ、自然言語ライブラリＢが、「私に教えて」及び「私は知りたい」をカバーすることができる。ＮＬＱＰ２８０は、「私に教えて」、「私に教えてください」及び「私は知りたい」の語句を含む第３の自然言語ライブラリを自動的に生成することができる。いくつかの実施形態に従い、自然言語ライブラリＡのユーザが「私は知りたい」などの自然言語クエリを入力するとき、ＮＬＱＰ２８０は、自然言語ライブラリＡの開発者がユーザによる上記の特定のクエリ入力を予知しなかったという事実にもかかわらず、自然言語クエリに対して適切な応答を提供することができる。
【０１１４】
いくつかの実施形態に従い、ＮＬＱＰ２８０が発話クエリをテキストに変換する例示的プロセスは、概して、特定のクエリに適用することができる最も可能性の高い言葉の並びを決定するために言語モデルを利用することを伴う。言語モデルがより少数の可能性を含む場合、ＮＬＱＰ２８０は、単純に言語モデルの中から選択するための可能性がより少ないという理由で、オーディオのクエリをテキストにより高い精度で変換することができる。標準的な発話からテキストへのシステムには、一般に、すべてのクエリに適用される１つの無限定の（all-encompassing）言語モデルがある。しかしながら、本願テクノロジーのＮＬＱＰ２８０は、発話クエリをテキストに完全に変換する前に自然言語クエリを分析すること、及びクエリの「トピック」又は「題目」を決定することによって、言語モデルをより小さいサブセットに狭めることができる。例えば、クエリを発話からテキストに完全に変換する前に、ＮＬＱＰ２８０は、クエリが旅行、天気、カレンダー管理、連絡先ダイヤルなどに概して関連するかどうかを判定することができる。クエリの題目が旅行であると判定することに成功すると、ＮＬＱＰ２８０は、それから、旅行にだけ属するカスタマイズされた言語モデルを使用することができ、ゆえに、言語モデル内の他のカテゴリにおける多数の可能性を消去し、可能性の数を実質的に低減することができる。これらの機能性は、自然言語クエリの発話からテキストへの変換について、全体としてより高い精度をもたらすことができる。このようにして、これらの特徴は任意の発話からテキストへのシステムに適用されることができ、ゆえに、自然言語処理だけを包含するシステムに限定されない。
【０１１５】
自然言語ライブラリと同様にして、ＮＬＱＰ２８０は、発話入力及び／又は検索クエリを処理するために利用される１又は複数の言語モデルの内容を更新することもできる。したがって、ＮＬＱＰ２８０が新しいタイプの発話入力／検索クエリに直面するとき、ＮＬＱＰ２８０は、言語モデルを更新して、こうしたタイプの発話入力／検索クエリの処理の間に決定された知識を反映することができる。
【０１１６】
非限定的な例として、ＮＬＱＰ２８０を利用して、電子メールメッセージに変換されることになる発話入力などの発話入力をテキストに変換することができる。一例示的発話入力には、「ラリーに電子メールを送信、件名は「ランチミーティング」、本文は「１階で会ってランチに行こう」」を含むことができる。
【０１１７】
ＮＬＱＰ２８０は、発話入力に含まれるキーワード又は語句を評価して、この発話入力が発話入力から電子メールを表記する要求であると最初に決定することができる。再びになるが、ＮＬＱＰ２８０は、自然言語ライブラリ及び／又はキーワード若しくは言葉使い分析を利用して、発話入力に含まれる可能性がある種々の種類の主題を評価すること、及び／又は発話入力に関連付けられた（１若しくは複数の）トピック若しくは（１若しくは複数の）主題を推測することを支援することができる。
【０１１８】
ＮＬＱＰ２８０は、それから、発話入力を処理するためにどの言語モデルを利用すべきかを決定することができる。例えば、発話入力が電子メールを表記する要求であると知ると、ＮＬＱＰ２８０は、発話入力を電子メールフォーマットへとさらに処理する件名言語モデル及び本文セクション言語モデルと、電子メール通信に適し得る他のモデルとを選択することができる。ＮＬＱＰ２８０は、発話入力を、電子メールの件名のための言語モデル及び電子メールの本文セクションのための言語モデルと比較することができる。
【０１１９】
いったんＮＬＱＰ２８０が発話入力の２つのセクションに関連付けられた（１又は複数の）トピックを決定すると、ＮＬＱＰ２８０は、発話入力をテキストに表記するために利用することができる１又は複数の言語モデルをインテリジェントに選択することができる。したがって、電子メール件名及び本文セクションのための適切な言語モデルを用いて、ＮＬＱＰ２８０は、それぞれのカテゴリ（例えば、件名、本文、電子メールアドレス、署名など）に従い、発話入力をテキストに効率良く表記することができる。
【０１２０】
図６は、自然言語クエリを処理する一例示的方法６００のフローチャートを示す。方法６００は、サービス提供者から複数の自然言語ライブラリ（又はサブライブラリ）を受信するステップ６０５を含むことができる。各自然言語ライブラリは、クライアントアプリケーションと対話するための自然言語クエリと自然言語クエリのための対応する応答とを含むことができることに注目されたい。
【０１２１】
さらに、方法６００は、受信した自然言語ライブラリから統合された自然言語ライブラリを生成するステップ６１０を含むことができる。ステップ６１０は、統合された自然言語サブライブラリを生成するステップを含むこともできる。再びになるが、上記で言及されたとおり、いくつかの実施形態において、サブライブラリは個々の開発者に対応することができ、可能性として、開発者のニーズ又はクライアントアプリケーションの要件に対してカスタマイズされることができる。カスタマイズは、開発者によって実施されることができ、クエリ及び応答をどのように整形するかを含むことができ、ここで、応答には、動作と対応するデータ（さらにメタデータ）との組み合わせを含むことができる。
【０１２２】
方法６００は、ネットワークを介して検索クエリを受信するステップ６１５を含むこともできる。いくつかの例において、検索クエリは、音に基づく入力、及び／又は自然言語検索クエリ（この自然言語検索クエリは、音に基づいてよく、そうでなくてもよい）を含むことができる。検索クエリを処理して、検索クエリについてのトピック又は主題を決定することができる。いくつかの実施形態において、検索クエリは、エンドユーザクライアント装置から受信されることができる。
【０１２３】
方法６００は、検索クエリを統合された自然言語ライブラリと比較して、検索クエリに対応する少なくとも１つの自然言語クエリを決定するステップ６２０をさらに含むことができ、検索クエリに対する応答を、統合された自然言語ライブラリからクライアント装置又はウェブベースのインタフェースに提供するステップ６２５が後に続くことができる。
【０１２４】
図６Ａは、自然言語クエリを処理する別の一例示的方法６３０のフローチャートを示す。方法６３０において考えられるプロセスは、概して、上記でより詳細に説明されたとおりに構築される個々のカスタマイズされた自然言語ライブラリを用いて自然言語クエリを処理する方法として説明されることができる。図示されていないが、ネットワークを介して自然言語検索クエリを受信するステップの前に、方法６３０は、カスタマイズされた自然言語ライブラリを生成するステップを含むことができる。再びになるが、このライブラリは、自然言語クエリを解釈し、かつこれに対する応答を提供するためのルールに基づく方法論を含むことができる。さらに、これらのカスタマイズされた自然言語ライブラリは、クライアントアプリケーション、サービス提供者／開発者の好み、及び／又は特定の分野／主題に対して具体的に調整されることができる。本願テクノロジーは新しい自然言語クエリ語句に直面する場合があるため、自然言語ライブラリは時間と共に進化し、より堅牢及び正確になり得る。
【０１２５】
いくつかの実施形態において、システムにより選択される自然言語ライブラリには、自然言語クエリに対して最も正確な応答を作る自然言語ライブラリを含むことができる。ゆえに、自然言語ライブラリ開発者にインセンティブを与えて、さらにより堅牢及び正確な自然言語ライブラリを作成することができる。
【０１２６】
いくつかの実施形態に従い、方法６３０は、ネットワークを介して自然言語検索クエリを受信するステップ６３５を含むことができ、自然言語検索クエリは音データ入力を少なくとも含むことができる。いったん音データ入力が決定されると、方法６３０は、音データ入力をカスタマイズされた自然言語ライブラリと比較して音入力データのためのカスタマイズされた応答を決定するステップ６４０を含むことができる。再びになるが、上記で言及されたとおり、カスタマイズされた自然言語ライブラリは、自然言語クエリを処理するためのルールに基づくモデルを含むことができ、ここで、ルールに基づくモデルは、クライアントアプリケーションと対話するための自然言語クエリに関して訓練されることができる。いくつかの実施形態に従い、自然言語ライブラリは、サービス提供者とクライアントアプリケーションとのうち任意のものに対して調整された、自然言語クエリのためのカスタマイズされた応答を含むこともできる。
【０１２７】
さらに、方法６３０は、少なくとも１つの自然言語クエリに対するカスタマイズされた応答を、自然言語ライブラリに含まれる少なくとも１つの自然言語クエリに関連するカスタマイズされた応答から提供するステップ６４５を含むことができる。
【０１２８】
図７は、本発明の実施形態を実施するために使用することができる一例示的なコンピューティングシステム７００を示す。図７のシステム７００は、ユーザ装置、検索サーバ１８０、ネットワーククラウド１４０などの文脈において実施することができる。図７のコンピューティングシステム７００は、１又は複数のプロセッサ７１０とメモリ７２０とを含む。メインメモリ７２０は、プロセッサ７１０が実行する命令及びデータを部分的に記憶する。メインメモリ７２０は、システム７００が動作しているとき、実行可能コードを記憶することができる。図７のシステム７００は、さらに、大容量記憶装置７３０、（１又は複数の）ポータブル記憶媒体ドライブ７４０、出力装置７５０、ユーザ入力装置７６０、グラフィクスディスプレイ７７０及び他の周辺装置７８０を含むことができる。
【０１２９】
図７に示されるコンポーネントは、単一のバス７９０を介して接続されているものとして表されている。コンポーネントは、１又は複数のデータ伝送手段を通じて接続することができる。プロセッサユニット７１０及びメインメモリ７２０は、ローカルのマイクロプロセッサバスを介して接続することができ、大容量記憶装置７３０、（１又は複数の）周辺装置７８０、ポータブル記憶装置７４０及びディスプレイシステム７７０は、１又は複数の入力／出力（Ｉ／Ｏ）バスを介して接続することができる。
【０１３０】
大容量記憶装置７３０は、磁気ディスクドライブ又は光学ディスクドライブを用いて実装することができ、プロセッサユニット７１０が使用するデータ及び命令を記憶する不揮発性記憶装置である。大容量記憶装置７３０は、本発明の実施形態を実施するためのシステムソフトウェアを、このソフトウェアをメインメモリ７２０にロードすることを目的として記憶することができる。
【０１３１】
ポータブル記憶装置７４０は、フロッピー(登録商標)ディスク、コンパクトディスク又はデジタルビデオディスクなどのポータブルな不揮発性記憶媒体と連動して動作して、図７のコンピュータシステム７００に対してデータ及びコードを入力し、出力する。本発明の実施形態を実施するためのシステムソフトウェアは、上記のようなポータブル媒体に記憶することができ、ポータブル記憶装置７４０を介してコンピュータシステム７００に入力することができる。
【０１３２】
入力装置７６０は、ユーザインタフェースの部分を提供する。入力装置７６０には、英数字及び他の情報を入力するための、キーボードなどの英数字キーパッド、又はマウス、トラックボール、スタイラス若しくはカーソル方向キーなどのポインティング装置を含むことができる。さらに、図７に示されるシステム７００は、出力装置７５０を含む。適切な出力装置には、スピーカ、プリンタ、ネットワークインタフェース及びモニタを含む。
【０１３３】
ディスプレイシステム７７０には、液晶ディスプレイ（ＬＣＤ）又は他の適切なディスプレイ装置を含むことができる。ディスプレイシステム７７０は、テキストの及びグラフィカルな情報を受信し、ディスプレイ装置に対する出力のためにこの情報を処理する。
【０１３４】
周辺装置７８０には、追加的な機能性をコンピュータシステムに追加するための任意の種類のコンピュータサポート装置を含むことができる。（１又は複数の）周辺装置７８０には、モデム又はルータを含むことができる。
【０１３５】
図７のコンピュータシステム７００に含まれるコンポーネントは、本発明の実施形態と共に使用することに適し得るコンピュータシステムに通常見られるものであり、当分野において周知である上記のようなコンピュータコンポーネントの広いカテゴリを表すことが意図される。したがって、図７のコンピュータシステム７００は、パーソナルコンピュータ、ハンドヘルドコンピューティング装置、電話機、モバイルコンピューティング装置、ワークステーション、サーバ、ミニコンピュータ、メインフレームコンピュータ又は任意の他のコンピューティング装置とすることができる。コンピュータは、種々のバス構成、ネットワーク化されたプラットフォーム、マルチプロセッサプラットフォームなどを含むこともできる。Ｕｎｉｘ(登録商標)、Ｌｉｎｕｘ(登録商標)、Ｗｉｎｄｏｗｓ(登録商標)、Ｍａｃ  ＯＳ、Ｐａｌｍ  ＯＳ及び他の適切なオペレーティングシステムを含む、様々なオペレーティングシステムを使用することができる。
【０１３６】
上記で説明された機能のいくつかは、記憶媒体（例えば、コンピュータ読取可能媒体）に記憶された命令から成ることができる。命令は、プロセッサにより読み出され、実行されることができる。記憶媒体のいくつかの例は、メモリ装置、テープ、ディスクなどである。命令は、プロセッサにより実行されると、プロセッサに本発明に従う動作をさせるように動作可能である。当業者は、命令、（１又は複数の）プロセッサ及び記憶媒体に詳しい。
【０１３７】
本明細書に説明される処理を行うのに適した任意のハードウェアプラットフォームが、本発明での使用に適することに注目されたい。本明細書において使用される用語「一のコンピュータ読取可能記憶媒体」及び「複数のコンピュータ読取可能記憶媒体」は、命令を実行のためＣＰＵに提供することに関与する任意の１又は複数の媒体を指す。こうした媒体は、これらに限定されないが、不揮発性媒体、揮発性媒体及び送信媒体を含む多くの形態をとることができる。不揮発性媒体には、例えば、固定されたディスクなどの光学ディスク又は磁気ディスクを含む。揮発性媒体には、システムＲＡＭなどのダイナミックメモリを含む。送信媒体には、バスの１つの実施形態を含むワイヤを含み、中でも、同軸ケーブル、同線及び光ファイバを含む。送信媒体は、無線周波数（ＲＦ）データ通信及び赤外線（ＩＲ）データ通信の間に生成される波などの、音波又は光波の形態をとることもできる。コンピュータ読取可能媒体の一般的形態には、例えば、フロッピー(登録商標)ディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、ＣＤ−ＲＯＭディスク、デジタルビデオディスク（ＤＶＤ）、任意の他の光学媒体、マスク又はホールのパターンを備えた任意の他の物理媒体、ＲＡＭ、ＰＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、ＦＬＡＳＨＥＰＲＯＭ、任意の他のメモリチップ若しくはカートリッジ、搬送波、又はコンピュータが読み取ることができる任意の他の媒体を含む。
【０１３８】
コンピュータ読取可能媒体の様々な形態は、１又は複数の命令の１又は複数のシーケンスを実行のためＣＰＵに伝えることに関連し得る。バスがデータをシステムＲＡＭに伝え、システムＲＡＭからＣＰＵが命令を読み出し、実行する。システムＲＡＭにより受信された命令は、ＣＰＵによる実行の前又は後、固定のディスクに付加的に記憶されることができる。
【０１３９】
上記の説明は例示であり、限定ではない。本発明の多くのバリエーションが、本開示を精査した当業者に明らかになるであろう。ゆえに、本発明の範囲は、上記の説明を参照しないで決定されるべきであり、代わって、添付される特許請求の範囲とその最大限の均等物の範囲とを参照して決定されるべきである。本発明は一連の実施形態に関連して説明されているが、これらの説明は、発明の範囲を本明細書に説明された特定の形態に限定するものではない。さらに、本発明の方法は必ずしも説明された別々のステップ又はステップの順序に限定されないことを理解されたい。反対に、本説明は上記のような代替、変更及び均等物を、添付される特許請求の範囲により定義され、そうでなければ当業者に十分理解されるものとして発明の主旨及び範囲内に含まれ得るように、カバーするものである。
【０１４０】
インターネットサービスが構成されてインターネットアクセスをインターネットサービスにつながれた１又は複数のコンピューティング装置に提供できること、及びコンピューティング装置が１又は複数のプロセッサ、バス、メモリ装置、ディスプレイ装置、入力／出力装置などを含むことができることを当業者は認識するであろう。さらに、インターネットサービスは１又は複数のデータベース、リポジトリ、サーバなどにつながれて、本明細書に説明される発明の実施形態のうち任意のものを実施するために利用できることを当業者には十分理解されたい。さらに、用語「インターネットコンテンツ」は、ウェブページ上に提供され、あるいは表示されるウェブサイト、ドメイン、ウェブページ、ウェブアドレス、ハイパーリンク、ＵＲＬ、任意のテキスト、ピクチャ及び／又は媒体（ビデオ、オーディオ、並びにオーディオ及びビデオの任意の組み合わせなど）並びにこれらの任意の組み合わせのうち１又は複数を含むことを当業者には理解されたい。
【０１４１】
システムの特定実施形態と例とが例示目的のため上記で説明されたが、当業者が認識するであろうとおり、様々な均等の変更が本願システムの範囲内にあり得る。例えば、プロセス又はステップが所与の順序で提示されているが、別の実施形態が、ステップを異なる順序で有するルーチンを行うことができ、いくつかのプロセス又はステップが削除され、移動され、追加され、さらに分割され、結合され、かつ／あるいは変更されて、別の又はサブの組み合わせを提供することができる。これらのプロセス又はステップの各々が、様々な種々の方法で実施されることができる。また、プロセス又はステップは、時間において順番に行われるものとして示されているが、これらのプロセス又はステップは、代わって同時に行うことができ、あるいは種々の時点で行うことができる。
【０１４２】
前述から、システムの特定実施形態が例示の目的で本明細書に説明されているが、システムの主旨及び範囲から逸脱することなく様々な変更を行うことができることを十分理解されたい。したがって、システムは、添付される特許請求の範囲による場合を除き、限定されない。
【０１４３】
関連出願の相互参照
本出願は、２０１０年７月２９日に申請され“System  and  method  for  enabling  search  functionality  of  databases  belonging  to  multiple  service  providers  on  a  computer  network”と題された仮米国特許出願第６１／３６８,９９９号の優先の利益を主張する２０１０年８月２３日に申請された米国特許出願第１２／８６１,７７５号の一部継続である２０１２年５月２４日に申請された米国特許出願第１３／４８０,４００号に対して優先権を主張し、これらの各々の全体を本明細書において参照により援用する。
【図１】
2015524105.tif 000003
【図２】
2015524105.tif 000004
【図３】
2015524105.tif 000005
【図４】
2015524105.tif 000006
【図５】
2015524105.tif 000007
【図６】
2015524105.tif 000008
【図６Ａ】
2015524105.tif 000009
【図７】
2015524105.tif 000010
【国際調査報告】
2015524105.tif 000011