(57)【特許請求の範囲】
【請求項１】
１つ以上のプロセッサと、命令を記憶している１つ以上のメモリとを有し、
前記命令は、前記１つ以上のプロセッサによって処理される場合に、
クライアントデバイスのユーザによって形成された前記クライアントデバイスに関する質問を含む自然言語のクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問を含む前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを引き起こす、装置。
【請求項２】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
請求項１に記載の装置。
【請求項３】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
請求項１に記載の装置。
【請求項４】
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
請求項３に記載の装置。
【請求項５】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
請求項１に記載の装置。
【請求項６】
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
請求項１に記載の装置。
【請求項７】
クライアントデバイスに関する質問を含む前記クエリは、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットに含まれる回答の数を特定する、
請求項１に記載の装置。
【請求項８】
命令を記憶している１つ以上の非一時的なコンピュータ可読媒体であって、
前記命令は、１つ以上のプロセッサによって処理される場合に、
コンピュータデバイスで実行され、クライアントデバイスのユーザによって形成された前記クライアントデバイスに関する質問を含む自然言語のクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問を含む前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを引き起こす、１つ以上の非一時的なコンピュータ可読媒体。
【請求項９】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
請求項８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１０】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
請求項８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１１】
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
請求項１０に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１２】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
請求項８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１３】
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
請求項８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１４】
クライアントデバイスに関する質問を含む前記クエリは、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットに含まれる回答の数を特定する、
請求項８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
【請求項１５】
コンピュータデバイスで実行され、クライアントデバイスのユーザによって形成された前記クライアントデバイスに関する質問を含む自然言語のクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問を含む前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを有する、コンピュータにより実現される方法。
【請求項１６】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
請求項１５に記載の、コンピュータにより実現される方法。
【請求項１７】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
請求項１５に記載の、コンピュータにより実現される方法。
【請求項１８】
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
請求項１７に記載の、コンピュータにより実現される方法。
【請求項１９】
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
請求項１５に記載の、コンピュータにより実現される方法。
【請求項２０】
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
請求項１５に記載の、コンピュータにより実現される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
実施形態は、クエリを処理することに概して関係がある。
【背景技術】
【０００２】
本項目で記載されるアプローチは、追求され得るアプローチであるが、以前より検討又は追求されてきたアプローチでは必ずしもない。従って、特段示されない限り、本項目で記載されるアプローチのいずれも、それらが本項目に含まれることのみをもって、先行技術と見なすと考えられるべきではない。
【０００３】
プリンタ、スキャナ、多機能周辺機器（ＭＦＰ；multi-function  peripheral(s)）、インタラクティブ・ホワイトボード（ＩＷＢ；interactive  whiteboard）装置、プロジェクタ、などのようなクライアントデバイスのユーザは、それらのデバイスの動作に関する質問をしばしば有する。例えば、ユーザは、特定の機能又はエラーコードの意味に関する質問を有してよい。それらのデバイスのいくつかは、質問に対する回答を得るために又はデバイスの機能に関する情報を得るためにデバイスの制御パネルを使用してユーザマニュアル又は一般的な質問（ＦＡＱ；frequently  asked  questions）ドキュメントにアクセスすることをユーザに可能にする。それらのデバイスはまた、特定のデバイスに関連する情報の知識ベースにアクセスするようクエリを入力することをユーザに可能にしてよい。
【０００４】
それらのアプローチに伴う課題の１つは、ユーザに提供される情報がしばしば静的であり、ユーザフィードバックに応答して更新されない点である。例えば、いくつかのクライアントデバイスについて、ユーザマニュアル又はＦＡＱは、製品リリースの前にしばしば準備され、情報がインターネットを介して入手できる場合でさえ、めったに更新され得ない。同様に、質問に対する回答は、しばしば静的であり、時間とともに変化しない。それらの課題は、顧客サポートサービスからユーザに提供される情報にも当てはまる。顧客サポート人員は、利用可能性に基づき一群の人々の中から通常は選択され、ユーザマニュアル及びＦＡＱにおいて見つけられる情報と同様である静的な情報から質問に対する回答を提供する。
【発明の概要】
【０００５】
装置は、１つ以上のプロセッサと、該１つ以上のプロセッサへ通信上結合される１つ以上のメモリと、当該装置上で実行されるクエリ処理サービスとを含む。前記クエリ処理サービスは、クライアントデバイスに関する質問に関連するクエリを受け、それに応答して、クライアントデバイスに関する質問に対する複数の回答の中のクライアントデバイスに関する質問に対する夫々の答えについての関連スコアを特定する関連スコアデータを取り出す。前記クエリ処理サービスは、クライアントデバイスに関する質問に対する複数の回答の中から、関連スコアデータに基づき、クライアントデバイスに関する質問に対する回答のサブセットを選択し、知識ベースから、クライアントデバイスに関する質問に対する回答のサブセットを含む回答データを取得する。前記クエリ処理サービスは、クライアントデバイスに関する質問に対する回答のサブセットを含む回答データを生成し、１つ以上のネットワークを介してクライアントデバイスへ送信する。前記クエリ処理サービスは、クライアントデバイスに関する質問に対する回答のサブセットからのクライアントデバイスに関する質問に対する特定の回答のユーザ選択を特定するユーザ選択データをクライアントデバイスから受け取り、それに応答して、クライアントデバイスに関する質問に対する特定の回答についてのユーザ選択を更新するとともに、クライアントデバイスに関する質問に対する特定の回答についての関連スコアデータを更新する。
【図面の簡単な説明】
【０００６】
添付の図面の図中、同じ参照番号は、同様の要素を参照する。
【０００７】
【図１】クエリを処理する配置を表すブロック図である。
【０００８】
【図２Ａ】関連値を回答に割り当てる１つ以上の構造及び／又はスケールを特定するスコアリング構造データの実施形態の例を表す。
【０００９】
【図２Ｂ】クエリに応答して提供される特定の情報のユーザ選択を追跡するユーザ選択データの実施形態の例を表す。
【００１０】
【図２Ｃ】ユーザ選択データテーブルの形でユーザ選択データの実施の例を表す。
【００１１】
【図２Ｄ】知識ベースに記憶されている情報についての関連スコアを特定する関連スコアデータの実施形態の例を表す。
【００１２】
【図２Ｅ】コンマ区切り（ＣＳＶ；comma  separated  values）フォーマットで関連スコアデータの実施の例を表す。
【００１３】
【図２Ｆ】知識ベースデータテーブルの形で知識ベースを表す。
【００１４】
【図３】適応クエリ処理の間のメッセージ及びデータフローの例を表すフロー図である。
【００１５】
【図４】実施形態が実施され得るコンピュータシステムの例を表すブロック図である。
【発明を実施するための形態】
【００１６】
以下の記載では、説明を目的として、多数の具体的な詳細が、実施形態の完全な理解を提供するために示されている。なお、当業者には明らかなように、実施形態は、それらの具体的な詳細によらずとも実施されてよい。他の事例では、よく知られた構造及びデバイスは、実施形態を不必要に不明りょうにしないために、ブロック図形式で示される。
Ｉ．    概要
ＩＩ．  システムアーキテクチャ
ＩＩＩ．順位付け／関連性データ及び知識ベース
ＩＶ．  適応クエリ処理
Ｖ．    実施メカニズム
【００１７】
Ｉ．概要
クエリ処理サービスは、クライアントデバイスに関する質問に関連するクエリを処理する。クエリ処理サービスは、複数の回答の中から、それら複数の回答についての関連性データに基づき、クエリに最も関係があると決定される回答のサブセットを識別する。クエリ処理サービスは、回答のサブセットを含む回答データをクライアントデバイスに提供する。クエリ処理サービスは、クライアントデバイスに関する質問に対する特定の回答のユーザ選択を特定するユーザ選択データをクライアントデバイスから受け取る。ユーザ選択データを受け取ることに応答して、クエリ処理サービスは、クライアントデバイスに関する質問に対する特定の回答のユーザ選択を含めるよう、クエリ処理サービスによって保持されているユーザ選択データを更新する。クエリ処理サービスは、ユーザ選択データに対してなされた更新に基づき、更に、関連性データを修正してよい。アプローチは、回答のユーザ選択を含め且つ関連性データを更新することによって、さもなければ静的な情報の時間にわたる関連性を改善する。アプローチは、顧客サービスを提供することにも適用可能である。より具体的には、クエリ処理サービスは、利用可能性に基づき顧客サービス担当者を単に選択するではなく、問い合わせに応答するために選択される顧客サービス担当者の関連性を改善してよい。
【００１８】
ＩＩ．システムアーキテクチャ
図１は、クエリを処理する配置１００を表すブロック図である。配置１００は、クライアントデバイス１１０、クエリ処理サービス１３０、知識ベース１４０及び順位付け／関連性データ１５０を含む。クライアントデバイス１１０、クエリ処理サービス１３０、知識ベース１４０及び順位付け／関連性データ１５０は、例えば、ローカルエリアネットワーク（ＬＡＮ；local  area  network(s)）、ワイドエリアネットワーク（ＷＡＮ；wide  area  network(s)）、インターネットのような１つ以上の有線又は無線ネットワークを含む１つ以上のネットワーク、及び１つ以上の直接接続を介して、通信上結合されてよい。加えて、図１の要素は、本願では、別々であるように図示及び記載されているが、これは、単に説明のために行われており、図１の要素は、如何なる方法でも組み合わされてよい。例えば、知識ベース１４０及び順位付け／関連性データ１５０は、クエリ処理サービス１３０によってホストされ管理されてよい。代替的に、知識ベース１４０及び順位付け／関連性データ１５０は、クエリ処理サービス１３０の外部で記憶及び管理され、クエリ処理サービス１３０によって遠隔でアクセスされてよい。他の例として、クエリ処理サービス１３０、知識ベース１４０及び順位付け／関連性データ１５０は、１つ以上のクライアントデバイス１１０において実装されてよい。配置１００は、図１に表されている特定の要素に制限されず、特定の実施に応じてより少ない又は追加の要素を含んでよい。
【００１９】
クライアントデバイス１１０は、ＩＷＢ装置１１２、プロジェクタデバイス１１４、スマートフォン１１６、タブレットコンピュータ１１８、デスクトップコンピュータ１２０及びラップトップコンピュータ１２２を含む。実施形態は、如何なる特定のタイプのクライアントデバイスにも制限されず、図１に表されており且つ本願で記載されるクライアントデバイスのタイプは、例として与えられている。配置１００は、６個のクライアントデバイス１１０を有するものとして図示され且つ本願で記載されているが、実施形態は、クライアントデバイスがいくつであっても適用可能である。
【００２０】
知識ベース１４０は、クエリに応答してクライアントデバイスに提供される情報を含む。情報は、特定の実施に応じて様々であり得る如何なるタイプの情報も含んでよい。情報の例には、制限なしに、質問に対する回答及び顧客サービス担当者によって使用又は提供される情報が含まれる。顧客サービス担当者によって使用又は提供される情報の例には、制限なしに、顧客サービス担当者がオンライン・フォーラムにおいて投稿したか又はオンライン・チャットルームで提供した、質問に対する回答を含む。図１に表される例では、知識ベース１４０は、ＦＡＱ／セルフヘルプデータ１４２及びサポート担当者データ１４４を含む。
【００２１】
順位付け／関連性データ１５０は、クエリに応答してクエリ処理サービス１３０によって提供される特定の情報を知識ベース１４０から選択するために使用されるデータを含む。順位付け／関連性データ１５０は、クエリに応答して提供される情報の関連性を改善するよう時間にわたってクエリ処理サービス１３０によって修正されるデータを更に含む。図１に表される例では、順位付け／関連性データ１５０は、関連スコアデータ１５２、ユーザ選択データ１５４及び関連スコア構造データ１５６を含む。ユーザ選択データ１５４は、クエリに応答して提供される特定の情報のユーザ選択を追跡する。関連スコアデータ１５２は、知識ベース１４０に記憶されている情報についての関連スコアを特定する。関連スコアは、ユーザ選択データ１５４と、以降で更に詳細に記載されるように、関連値を回答に割り当てる関連スコア構造及び／又はスケールを特定する関連スコア構造データ１５６とに基づき、決定される。
【００２２】
クエリ処理サービス１３０は、図１において概して表されており且つ関連性１３２、検索１３４及び順位付け１３６と分類されている様々な機能を実施するよう構成される。この機能は、以降で更に詳細に記載される。クエリ処理サービス１３０は、クライアントデバイスから受け取ったクエリを処理し、クエリに応答した情報を提供するよう構成される。一実施形態に従って、クエリ処理サービス１３０は、順位付け／関連性データ１５０を使用して、知識ベース１４０に対してクエリを処理する。これは、以降で更に詳細に記載される。一実施形態に従って、クエリ処理サービス１３０は、順位付け／関連性データ１５０及び知識ベース１４０を生成及び管理するよう構成される。これは、例えば、クエリ処理サービス１３０が、クエリに応答して提供される情報の関連性を改善するよう時間にわたってユーザ選択データ１５４及び関連スコアデータ１５２を適宜更新することによって、適応クエリ処理を提供することを含んでよい。クエリ処理サービス１３０は、ストレージにおいて（例えば、クエリ処理サービス１３０がインスタンス化されている場所にあるか又はクエリ処理サービス１３０がインスタンス化されている場所から遠く離れている１つ以上の揮発性及び／又は不揮発性ストレージにおいて）知識ベース１４０及び順位付け／関連性データ１５０を記憶及び管理してよい。クエリ処理サービス１３０は、ディスクリートハードウェア部品、コンピュータハードウェア、コンピュータソフトウェア、又はそれらのあらゆる組み合わせによって、実装されてよい。
【００２３】
ＩＩＩ．順位付け／関連性データ及び知識ベース
本願で記載される適応クエリ処理アプローチは、複数の回答の中からクライアントデバイスに関する回答のサブセットを選択するための順位付け／関連性データ１５０の使用を含む。選択された回答のサブセットは、次いで、知識ベース１４０から取り出され、クエリを行ったクライアントデバイスへ提供される。
【００２４】
図２Ａは、関連値を回答に割り当てる１つ以上の構造及び／又はスケールを特定する関連スコア構造データ１５６の実施形態の例を表す。図２Ａに表されている例では、関連スコア構造データ１５６は、２種類の関連スコア構造データ１５６ａ、１５６ｂを含む。関連スコア構造データ１５６ａは、関連値を質問に対する回答に割り当てる０〜４の数値目盛を提供する。０の関連値は、回答が無関係であることを示し、従って、最も低い関連性を有する。一方、４の関連値は、回答が完ぺきな回答であることを示し、従って、最も高い関連性を有する。
【００２５】
関連スコア構造データ１５６ｂは、関連値を人員に割り当てる０〜９９の数値目盛を提供する。人員は、例えば、顧客サービス担当者を表してよい。０の関連値は、特定の人員が無関係であることを示し、従って、最も低い関連性を有する。一方、９９の関連値は、人員が回答する最良の人物であることを示し、従って、最も高い関連性を有する。
【００２６】
図２Ｂは、クエリに応答して提供される特定の情報のユーザ選択を追跡するユーザ選択データ１５４の実施形態の例を表す。図２Ｂに表される例では、ユーザ選択データ１５４は、２種類のユーザ選択データ１５４ａ、１５４ｂを含む。ユーザ選択データ１５４ａは、クライアントデバイスに関する質問に対する特定の回答に対応する夫々の回答ＩＤについてユーザによってなされた選択の回数を特定する。例えば、ユーザ選択データ１５４ａの最初の行は、回答ＩＤ“１０”に対応する回答がユーザによって９８回選択されたことを特定する。ユーザ選択データ１５４ａの２番目の行は、回答ＩＤ“１６”に対応する回答がユーザによってたった５回しか選択されていないことを特定する。よって、夫々の回答ＩＤについての選択の回数は、選択カウントを表す。
【００２７】
ユーザ選択データ１５４ｂは、顧客サービス担当者のような特定のユーザ／代表者に対応する夫々のユーザ／代表者ＩＤによってなされた応答の回数を特定する。応答は、例えば、オンラインのサポート・セッションの間に又はオンライン・フォーラムにおいて提供された回答であってよい。例えば、ユーザ選択データ１５４ｂの最初の行は、ユーザ／代表者ＩＤ“Ｊａｃｋ”に対応するユーザ／代表者が１０回の応答を提供したことを特定する。ユーザ選択データ１５４ｂの２番目の行は、ユーザ／代表者ＩＤ“Ｔｏｍ”に対応するユーザ／代表者が５４回の応答を提供したことを特定する。
【００２８】
ユーザ選択データ１５４は、特定の実施に応じて、如何なるフォーマット及び／又は構造においても記憶されてよく、実施形態は、特定のフォーマット及び／又は構造に制限されない。図２Ｃは、ユーザ選択データテーブル２００の形でユーザ選択データ１５４の実施の例を表す。ユーザ選択データテーブル２００において、夫々の行は、回答に対応し、回答の回答ＩＤ及びカウントを含む。この例では、カウントは、回答ＩＤに対応する回答がユーザによって選択された回数を特定する。ユーザ選択データ１５４は、クエリ処理サービス１３０によって生成及び修正されてよい。例えば、クエリ処理サービス１３０は、新しい回答が作成される場合に新しい入力をユーザ選択データ１５４に加え、選択の回数をゼロに設定してよい。その後に、新しい回答がユーザによって選択されるするときはいつでも、クエリ処理サービス１３０は、ユーザ選択データ１５４における新しい回答についての選択の回数をインクリメントする。
【００２９】
図２Ｄは、知識ベース１４０に記憶されている情報についての関連スコアを特定する関連スコアデータ１５２の実施形態の例を表す。この例では、“情報”は、クライアントデバイスに関する質問に対する回答である。関連スコアデータ１５２の夫々の行は、クエリ及びクエリのための複数の回答を含む。夫々の回答は回答ＩＤによって識別され、関連スコアを有する。例えば、関連スコアデータ１５２の最初の行は、クエリ“インタラクティブ・ホワイトボード装置をどのように起動すべきか？”に対応し、回答についての関連スコアを含む。“４”の回答ＩＤを有する回答は“４”の関連スコアを有し、一方、“３”の回答ＩＤを有する回答は“２”の関連スコアを有する。この例では、関連スコア構造データ１５６に基づき、“４”の回答ＩＤを有する回答は“完ぺきな回答”の関連性を有し、一方、“３”の回答ＩＤを有する回答は“最も関連のある回答”の関連性を有する。夫々の質問は、単に説明を目的として、２つの回答を有するものとして図２Ｄに表されており、質問は回答をいくつでも有してよく、これは特定の実施に応じて様々であってよい。
【００３０】
関連スコアは、特定の実施に応じて様々であり得る多種多様な技術を用いて決定されてよい。一実施形態に従って、ユーザ選択データ１５４は、回答を順位付けするために使用され、関連スコアは、順位付けに基づき割り当てられる。例えば、最も高く順位付けられた回答は、最も高い関連スコア、例えば“４”を割り当てられ、最も低く順位付けられた回答は、最も低い関連スコア、例えば“０”を割り当てられる。中間の順位を有する回答は、中間の関連スコア、例えば“１”、“２”又は“３”を割り当てられてよい。他の例として、関連スコアは、パーセンタイル順位に基づき割り当てられてよい。関連スコア構造データ１５６において表されるように、５つの関連スコアを考えると、順位付けに関して上位２０％の回答は、完ぺきな回答に相当する“４”の最も高い関連スコアを割り当てられる。次の２０％の回答は、最も関連のある回答に相当する“３”の次に高い関連スコアを割り当てられる。同様にして、上から３番目の２０％の回答は、平均的回答に相当する“２”の関連スコアを割り当てられ、上から４番目の２０％の回答は、関連性が低い回答に相当する“１”の関連スコアを割り当てられ、最後の２０％の回答は、無関係の回答に相当する“０”の関連スコアを割り当てられる。それらのアプローチは、担当者についての関連スコアを決定するためにも使用される。特定の実施に応じて、使用される関連レベルの数はいくつであってもよく、実施形態は、関連レベルの如何なる特定の数にも制限されない。様々な他の技術は、関連スコアを決定し回答及び／又は担当者に割り当てるために用いられてよい。関連スコアは数値に関して図に表され且つ本願で記載されるが、関連スコアは数値に制限されず、他のタイプのデータが使用されてよい。例えば、英数字分類、例えば、“Ａ”、“Ｂ”、“Ｃ”などが、関連性を示すよう質問及び／又は担当者に割り当てられてよい。
【００３１】
関連スコアデータ１５２は、特定の実施に応じて、如何なるフォーマット及び／又は構造においても記憶されてよく、実施形態は、如何なる特定のフォーマット及び／又は構造にも制限されない。図２Ｅは、コンマ区切り（ＣＳＶ）フォーマットにおける関連スコアデータ１５２の実施の例を表す。この例では、データの夫々の行は、クライアントデバイスに関する質問に対応し、値の対をいくつでも含む。夫々の値の対は回答に対応し、回答ＩＤ及び関連スコアを特定する。例えば、最初の行は、質問“どのようにフォントを変えるべきか？”に対応し、質問“どのようにフォントを変えるべきか？”に対する２つの回答に対応する２つの値の対を含む。最初の値の対は、“３”の回答ＩＤ及び“３”の関連スコアを特定する。これは、“３”の回答ＩＤを有する回答が“３”の現在の関連スコアを有することを意味する。これは、関連スコア構造データ１５６に従って、この回答が平均的回答であることを意味する。第２の値の対は、“４”の回答ＩＤ及び“４”の関連スコアを特定する。これは、“４”の回答ＩＤを有する回答が“４”の現在の関連スコアを有することを意味する。これは、関連スコア構造データ１５６に従って、この回答が完ぺきな回答であることを意味する。
【００３２】
図２Ｆは、知識ベースデータテーブル２１０の形で知識ベース１４０を表す。知識ベース１４０のデータは、特定の実施に応じて様々であり得る如何なるフォーマット又は構造にあってもよく、実施形態は、如何なる特定のフォーマット又は構造でもある知識ベース１４０に制限されない。図２Ｆに表されている例では、知識ベースデータテーブル２１０の夫々の行は、質問に対応する回答に対応し、回答の識別子（ＩＤ）、連絡先、質問及び回答が当てはまるシステム、質問のタイトル、質問についての回答及び／又は情報を特定する。例えば、知識ベースデータテーブル２１０の最初の行は、“１”のＩＤ、“Ｂｏｂ”の連絡先を有し、ＩＷＢに関連し、ＩＷＢに関する質問“ＩＷＢの起動”に関連し、質問“ＩＷＢの起動”に対処する詳細な回答及び／又は情報を含む。図２Ｆに表されている知識ベースデータテーブル２１０は、クライアントデバイスに関連する３つの異なった質問についての回答及び／又は情報を含んでいるが、これは、単に説明を目的として与えられており、知識ベースデータテーブル２１０は、行をいくつでも有してよく、単一の質問についての複数の回答／情報を備えてよい。
【００３３】
知識ベースデータテーブル２１０は、クエリ処理サービス１３０によって生成及び保持されてよい。例えば、以下の表Ｉにおける擬似コードは、入力を知識ベースデータテーブル２１０に加えるために使用されてよい。
表Ｉ:
{
“add”:{
“doc”:{
“id”:1,“system”:“iwb”,
“contact”:“Bob”,
“title”:“ＩＷＢの起動”,
“answer”:“フロントパネルからＩＷＢを起動してください。ＩＷＢには、インストール及びユーザモードの２つのモードがあります。ＩＷＢがインストールモードにブートする場合には‘Exit  Install  Mode’ボタンを選択することでＩＷＢは再起動されます”
}
},
【００３４】
ＩＶ．適応クエリ処理
一実施形態に従って、クエリ処理サービス１３０は、質問に対する回答のその後の選択を改善するために回答のユーザ選択に適応するよう構成される。これは、回答のユーザ選択、更には、もしあれば、関連スコアデータ１５２に応答して、選択の回数をインクリメントするよう、ユーザ選択データ１５４を更新することを含む。例えば、“１０”の回答ＩＤを有する回答のユーザ選択を示すデータに応答して、クエリ処理サービス１３０は、ユーザ選択データテーブル２００におけるカウントを“１００”から“１０１”に修正する。同様にして、クエリ処理サービス１３０は、担当者が、例えば、オンラインのサポート・セッション又はフォーラムの間に、応答を提供する場合に、その担当者についてのカウントを更新してよい。
【００３５】
図３は、適応クエリ処理の間のメッセージ及びデータフローの例を表すフロー図３００である。ステップ３０２で、ＩＷＢ装置１１２は、クエリ／リクエストを生成し、クエリ処理サービス１３０へ送信する。この例では、クエリ／リクエストはＩＷＢ装置１１２に関連すると仮定される。例えば、クエリ／リクエストは、ＩＷＢ装置１１２の機能に関連してよい。クエリ／リクエストは、特定の実施に応じて様々であり得る異なった方法で生成されてよい。例えば、ＩＷＢ装置１１２のユーザは、ＩＷＢ装置１１２の操作パネルを介してクエリを形成し提起してよい。クエリ／リクエストは、１つ以上のネットワークにわたってクエリ処理サービス１３０へ送信されてよい。
【００３６】
ステップ３０４で、クエリ処理サービス１３０は、ＩＷＢ装置１１２からクエリ／リクエストを受信し、ＩＷＢ装置１１２からクエリ／リクエストを受信することに応答して、ステップ３０６で、関連スコアデータ１５２を用いてクエリについての関連する回答ＩＤを取り出す。一実施形態に従って、これは、関連スコアデータ１５２を用いて、最も関係のある回答の数Ｎ、例えば、最も高い関連スコアを有するＮ個の回答、を識別することを含む。例えば、クエリ処理サービス１３０は、図２Ｄ又は２Ｅに表されるような関連スコアデータ１５２を調べて、クエリ／リクエストを見つけ、次いで、最も高い関連スコアを有するクエリ／リクエストについてのＮ個の回答を識別する。
【００３７】
ステップ３０８及び３１０で、クエリ処理サービス１３０は、回答ＩＤに対応する回答を取り出す。これは、最も高い関連スコアを有するクエリ／リクエストについてのＮ個の回答のテキストを含む回答データを知識ベース１４０から取り出すよう回答ＩＤを用いてクエリ処理サービス１３０によって行われてよい。Ｎについての値は、ＩＷＢ装置１１２によって提供されるクエリ／リクエストにおいて特定されてよく、あるいは、値は、他の方法で特定されてよい。加えて、Ｎについての値は、クライアントごとに及び／又はリクエストごとに変化してよい。例えば、異なるクライアントデバイスは、例えば、操作パネルなどに表示され得る回答の数に基づき、異なる回答数をリクエストしてよい。他の例として、単一のクライアントは、異なるリクエストにおいて異なる回答数をリクエストしてよい。更なる他の例として、クエリ処理サービス１３０は、管理者によって、又はクエリ処理サービス１３０によって使用される構成データによって、指定された値を設定されてよい。Ｎの値は、回答を提供するために必要とされる計算資源及びネットワークトラフィックの数を減らすよう選択されてよい。
【００３８】
ステップ３１２で、クエリ処理サービス１３０は、最も高い関連スコアを有するクエリ／リクエストについてのＮ個の回答をＩＷＢ装置１１２に与える。回答は、特定の実施に応じて様々であり得る多種多様な技術を用いてＩＷＢ装置１１２に提供されてよい。例えば、ステップ３０８及び３１０で得られた回答データは、図２Ｅと同様のＣＳＶフォーマットにおいてデータを含むメッセージにおいて提供されてよい。クエリ処理サービス１３０はまた、回答についての回答ＩＤを特定するデータをＩＷＢ装置１１２に与えてよい。最も高い関連スコアを有するクエリ／リクエストについてのＮ個の回答を受け取ることに応答して、ＩＷＢ装置１１２は、ＩＷＢ装置１１２の操作パネルに回答を表示してよい。例えば、ＩＷＢ装置１１２は、リストにおいて回答を表示し、ユーザがリストから特定の回答を選択することを可能にするコントロールを含んでよい。
【００３９】
ステップ３１４で、ＩＷＢ装置１１２のユーザは特定の回答を選択し、ステップ３１６で、ＩＷＢ装置１１２は、選択された回答を示すユーザ選択データをクエリ処理サービス１３０へ送信する。このデータは、選択された回答についての回答ＩＤを特定してよく、且つ／あるいは、選択された回答自体を含んでよい。
【００４０】
選択された回答を示すＩＷＢ装置１１２からのユーザ選択データを受信することに応答して、ステップ３１８で、クエリ処理サービス１３０は、特定の回答のユーザ選択を含めるよう、クエリ処理サービス１３０によって保持されているユーザ選択データを更新する。これは、例えば、選択された回答についての、ユーザ選択データ１５４における選択の回数、又はユーザ選択データテーブル２００におけるカウントをインクリメントすることを含んでよい。回答についての、ユーザ選択データ１５４における選択の回数、又はユーザ選択データテーブル２００におけるカウントは、最初はゼロに設定され、次いで、クエリ処理サービス１３０によって時間にわたってインクリメントされてよい。ステップ３２０で、クエリ処理サービス１３０は、ユーザ選択データの更新が成功したとの確認を受け取ってよい。実施形態は、回答データが送信されたクライアントデバイスからの応答に基づき回答についての選択の回数をインクリメントすることに関連して、図において表され且つ本願において記載されているが、実施形態は、この状況に制限されず、ユーザ選択データ１５４における選択の回数、又はユーザ選択データテーブル２００におけるカウントは、他のソースからのデータに応答して更新されてよい。例えば、クエリ処理サービス１３０は、１つ以上のデータベース、ウェブサーバなどのような他のソースから回答のユーザ選択を特定するデータを提供され、次いで、このデータに応答してユーザ選択データ１５４を更新してよい。
【００４１】
ステップ３２２で、クエリ処理サービス１３０は、必要に応じて関連スコアデータ１５２を更新する。一実施形態に従って、これは、ユーザ選択データ１５４に対する変更が関連スコアデータ１５２に対する変更を引き起こすべきであるかどうかを判定することを含む。例えば、クエリ処理サービス１３０は、回答の順位付けがユーザ選択データ１５４を更新する結果として変化したかどうか判定してよい。いくつかの状況において、ユーザ選択データ１５４における変化は、関連スコアデータ１５２に対する変更を引き起こし、一方で、他の状況では、関連スコアデータ１５２は変更される必要がない。例えば、特定の回答が連続して５回選択されて、特定の回答についての選択カウントを５だけインクリメントするとする。更には、特定の回答についての選択カウントが以前は他の回答よりも少なかったところ、選択カウントにおけるこの増分により、特定の回答についてのトータルの選択カウントが他の回答よりも多くなるとする。関連スコアデータ１５２がステップ３２２で更新される場合に、特定の回答は、このとき、より高い関連スコアを与えられ、他の回答は、より低い関連スコアを与えられる。これは、関連スコアデータ１５２が現在のユーザ挙動に基づき更新されることを確かにし、それにより、ユーザは、最も関係がある回答を動的に供給される。セットアップの間に生成された静的な知識ベースは、ユーザ挙動を学習し、関連スコアデータ１５２に基づき動的に動き始め、ユーザが最も関係がある回答をエンドデバイスで受け取るのに役立つ。これは、システムを“自己学習”とする強力なメカニズムである。
【００４２】
時間にわたってこのようにしてユーザ選択データ１５４及び関連スコアデータ１５２を更新することは、さもなければ静的である回答及び他の情報の関連性を改善する自己学習システムを提供する。アプローチはまた、いくつかの理由により、アプローチが実装される１つ以上のコンピュータデバイスの性能を改善する。関連性は時間にわたって修正され改善されるので、クエリ処理サービスによって処理されてクライアントデバイスへ送信されるのに必要とされるデータは、より少ない。これは、関連性が低いと決定されるデータが処理及び送信される必要がないからである。加えて、クエリ処理サービスは、関連性が低い回答を知識ベース１４０にリクエストする必要がない。
【００４３】
Ｖ．実施メカニズム
本願のフロー図は、特定の順序で特定の組のステップを表すが、他の実施は、図示されているのと同じ又は異なった順序で、より多い又はより少ないステップを使用してよい。
【００４４】
一実施形態に従って、本願で記載される技術は、１つ以上の特別目的のコンピュータデバイスによって実装される。特別目的のコンピュータデバイスは、当該技術を実行するようハードワイヤードであってよく、あるいは、当該技術を実行するよう永続的にプログラムされている１つ以上の特定用途向け集積回路（ＡＳＩＣ；application-specific  integrated  circuit(s)）又はフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ；field  programmable  gate  array(s)）のようなデジタル電子デバイスを含んでよく、あるいは、ファームウェア、メモリ、他のストレージ、又は組み合わせにおけるプログラム命令に従って当該技術を実行するようプログラムされている１つ以上の汎用のハードウェアプロセッサを含んでよい。そのような特別目的のコンピュータデバイスは、当該技術を実現するようカスタムのハードワイヤードロジック、ＡＳＩＣ、又はＦＰＧＡをカスタムのプログラミングと組み合わせてもよい。特別目的のコンピュータデバイスは、デスクトップコンピュータシステム、ポータブルコンピュータシステム、手持ち式デバイス、ネットワーキングデバイス、あるいは、当該技術を実装するようハードワイヤード及び／又はプログラムロジックを組み込む何らかの他のデバイスであってよい。
【００４５】
図４は、実施形態が実装され得る、例となるコンピュータシステム４００を表すブロック図である。コンピュータシステム４００は、情報を通信するバス４０２又は他の通信メカニズムと、情報を処理する、バス４０２へ結合されたプロセッサ４０４とを含む。コンピュータシステム４００は、ランダム・アクセス・メモリ（ＲＡＭ；random  access  memory）又は他の動的記憶デバイスのような、プロセッサ４０４によって実行される命令及び情報を記憶する、バス４０２へ結合されたメインメモリ４０６を更に含む。メインメモリ４０６は、プロセッサ４０４によって実行される命令の実行中に一時変数又は他の中間情報を記憶するためにも使用されてよい。コンピュータシステム４００は、プロセッサ４０４のための静的な情報及び命令を記憶する、バス４０２へ結合されたリード・オンリー・メモリ（read  only  memory）４０８又は他の静的記憶デバイスを更に含んでよい。磁気ディスク又は光ディスクのような記憶デバイス４１０が設けられ、情報及び命令を記憶するためにバス４０２へ結合される。
【００４６】
コンピュータシステム４００は、コンピュータユーザに情報を表示する、陰極線管（ＣＲＴ；cathode  ray  tube）のようなディスプレイ４１２へバス４０２を介して結合されてよい。バス４０２は単一のバスとして表されているが、バス４０２は１つ以上のバスを有してよい。例えば、バス４０２は、制限なしに、プロセッサ４０４がコンピュータシステム４００内の他のデバイスを制御するための制御バス、プロセッサが実行のための命令のメモリ位置を特定するためのアドレスバス、又はコンピュータシステム４００のコンポーネント間でデータ若しくは信号を転送するための何らかの他のタイプのバスを含んでよい。
【００４７】
英数字及び他のキーを含む入力デバイス４１４は、情報及びコマンド選択をプロセッサ４０４へ送るために、バス４０２へ結合される。他のタイプのユーザ入力デバイスは、方向情報及びコマンド選択をプロセッサ４０４へ送るための且つディスプレイ４１２におけるカーソルの動きを制御するための、マウス、トラックボール、又はカーソルキーのようなカーソルコントロール４１６である。この入力デバイスは、平面における位置を特定することをデバイスに可能にする、２つの軸、第１の軸（例えば、ｘ）及び第２の軸（例えば、ｙ）における２自由度を通常は有する。
【００４８】
コンピュータシステム４００は、コンピュータシステム４００と組み合わせてコンピュータシステム４００を特別目的のマシンであるようにする又はそのようにプログラムするカスタマイズされたハードワイヤードロジック、１つ以上のＡＳＩＣ若しくはＦＰＧＡ、ファームウェア及び／又はプログラムロジック若しくはコンピュータソフトウェアを用いて、本願で記載される技術を実装してよい。一実施形態に従って、そのような技術は、メインメモリ４０６に記憶されている命令をプロセッサ４０４が処理することに応答して、コンピュータシステム４００によって実行される。そのような命令は、記憶デバイス４１０のような他の非一時的なコンピュータ可読媒体からメインメモリ４０６に読み込まれてよい。プロセッサ４０４によるメインメモリ４０６に含まれた命令の処理は、本願で記載される機能の実行を引き起こす。代替の実施形態では、ハードワイヤード回路構成は、実施形態を実装するようソフトウェア命令の代わりに又はそれと組み合わせて使用されてよい。よって、実施形態は、ハードウェア回路構成とソフトウェアとの如何なる具体的な組み合わせにも制限されない。
【００４９】
本願で使用される語「非一時的なコンピュータ可読媒体」は、コンピュータを具体的な様態において動作させるデータを提供することに関与する如何なる非一時的な媒体も言う。コンピュータシステム４００を用いて実装される実施形態では、様々なコンピュータ可読媒体は、例えば、実行のためにプロセッサ４０４へ命令を供給することにおいて、関与する。そのような媒体は、制限なしに、不揮発性及び揮発性の非一時的な媒体を含む、多くの形態をとってよい。不揮発性の一時的な媒体には、例えば、記憶デバイス４１０のような、光又は磁気ディスクが含まれる。揮発性の非一時的な媒体には、メインメモリ４０６のような、動的メモリが含まれる。非一時的なコンピュータ可読媒体の一般的な形態には、制限なしに、フロッピー（登録商標）ディスク、フレキシブルディスク、ハードディスク、磁気テープ、若しくは何らかの他の磁気媒体、ＣＤ−ＲＯＭ、何らかの他の光学媒体、ＲＡＭ、ＰＲＯＭ、及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、何らかの他のメモリチップ、メモリカートリッジ若しくはメモリスティック、又はコンピュータが読み出すことができる何らかの他の媒体が含まれる。
【００５０】
様々な形態の非一時的なコンピュータ可読媒体は、プロセッサ４０４による処理のために命令を記憶することに関与してよい。例えば、命令は、遠隔コンピュータの記憶媒体に最初は記憶され、１つ以上の通信リンクを介してコンピュータシステム４００へ送信されてよい。バス４０２は、プロセッサ４０４が命令を取り出して処理するメインメモリ４０６へデータを運ぶ。メインメモリ４０６によって受け取られた命令は、プロセッサ４０４による処理の前又は後のいずれかに、任意に、記憶デバイス４１０において記憶されてよい。
【００５１】
コンピュータシステム４００は、バス４０２へ結合された通信インターフェイス４１８を更に含む。通信インターフェイス４１８は、ローカルネットワーク４２２へ接続されたネットワークリンク４２０への通信結合を提供する。例えば、通信インターフェイス４１８は、電話回線へのデータ接続を提供するモデムであってよい。他の例として、通信インターフェイス４１８は、互換性のあるＬＡＮへのデータ通信接続を提供するローカルエリアネットワーク（ＬＡＮ）カードであってよい。無線リンクも実装されてよい。あらゆるそのような実施において、通信インターフェイス４１８は、様々なタイプの情報を表すデジタルデータストリームを運ぶ電気、電磁気又は光信号を送信及び受信する。
【００５２】
ネットワークリンク４２０は、通常は、データ通信を１つ以上のネットワークを通じて他のデータデバイスへ提供する。例えば、ネットワークリンク４２０は、ホストコンピュータ４２４へ、又はインターネット・サービス・プロバイダ（ＩＳＰ；Internet  Service  Provider）４２６によって運営されるデータ設備へ、ローカルネットワーク４２２を通じて接続を提供してよい。ＩＳＰ４２６は、次いで、現在一般的に“インターネット”４２８と呼ばれているワールドワイドのパケットデータ通信ネットワークを通じてデータ通信サービスを提供する。ローカルネットワーク４２２及びインターネット４２８はいずれも、デジタルデータストリームを運ぶ電気、電磁気又は光信号を使用する。
【００５３】
コンピュータシステム４００は、ネットワーク（複数を含む。）、ネットワークリンク４２０及び通信インターフェイス４１８を通じて、メッセージを送信し且つプログラムコードを含むデータを受信する。インターネットの例では、サーバ４３０は、アプリケーションプログラムのためのリクエストされたコードを、インターネット４２８、ＩＳＰ４２６、ローカルネットワーク４２２及び通信インターフェイス４１８を通じて送信してよい。受信されたコードは、それが受信される場合にプロセッサ４０４によって処理され、且つ／あるいは、後の実行のために、記憶デバイス４１０又は他の不揮発性ストレージに記憶されてよい。
【００５４】
以上、明細書において、実施形態は、実施ごとに様々であり得る多数の具体的な詳細を参照して記載されてきた。よって、何が本発明であり、本発明であるよう本件出願人によって意図されるかの唯一且つ排他的な指針は、如何なるその後の補正も含め、請求項が与える具体的な形態において、本願に由来する特許請求の範囲である。よって、請求項で明示的に挙げられていない制限、要素、性質、機能、利点又は属性は、決してそのような請求項の適用範囲を制限すべきでない。明細書及び図面は、限定の意味ではなくむしろ例示として然るべく見なされるべきである。
いくつかの態様を記載しておく。
〔態様１〕
１つ以上のプロセッサと、命令を記憶している１つ以上のメモリとを有し、
前記命令は、前記１つ以上のプロセッサによって処理される場合に、
クライアントデバイスに関する質問に関連するクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問に関連する前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを引き起こす、装置。
〔態様２〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
態様１に記載の装置。
〔態様３〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
態様１に記載の装置。
〔態様４〕
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
態様３に記載の装置。
〔態様５〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
態様１に記載の装置。
〔態様６〕
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
態様１に記載の装置。
〔態様７〕
クライアントデバイスに関する質問に関連する前記クエリは、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットに含まれる回答の数を特定する、
態様１に記載の装置。
〔態様８〕
命令を記憶している１つ以上の非一時的なコンピュータ可読媒体であって、
前記命令は、１つ以上のプロセッサによって処理される場合に、
コンピュータデバイスで実行され、クライアントデバイスに関する質問に関連するクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問に関連する前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを引き起こす、１つ以上の非一時的なコンピュータ可読媒体。
〔態様９〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
態様８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１０〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
態様８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１１〕
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
態様１０に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１２〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
態様８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１３〕
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
態様８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１４〕
クライアントデバイスに関する質問に関連する前記クエリは、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットに含まれる回答の数を特定する、
態様８に記載の、１つ以上の非一時的なコンピュータ可読媒体。
〔態様１５〕
コンピュータデバイスで実行され、クライアントデバイスに関する質問に関連するクエリを受けるクエリ処理サービスと、
前記クエリ処理サービスがクライアントデバイスに関する質問に関連する前記クエリを受けることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを特定する関連スコアデータを取り出し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の中から、前記関連スコアデータに基づき、前記クライアントデバイスに関する前記質問に対する回答のサブセットを選択し、
知識ベースから、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む回答データを取得し、
前記クライアントデバイスに関する前記質問に対する前記回答のサブセットを含む前記回答データを生成し、１つ以上のネットワーク介してクライアントデバイスへ送信する
ことと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることと、
前記クエリ処理サービスが、前記クライアントデバイスに関する前記質問に対する前記回答のサブセットからの前記クライアントデバイスに関する前記質問に対する特定の回答のユーザ選択を特定するユーザ選択データを前記クライアントデバイスから受け取ることに応答して、前記クエリ処理サービスが、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新し、
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新する
こととを有する、コンピュータにより実現される方法。
〔態様１６〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答のユーザ選択の回数を、前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数と比較することを含む、
態様１５に記載の、コンピュータにより実現される方法。
〔態様１７〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についての前記関連スコアデータを更新することは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する夫々の回答についてのユーザ選択の回数に基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答を順位付けし、
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定する
ことを更に含む、
態様１５に記載の、コンピュータにより実現される方法。
〔態様１８〕
前記クライアントデバイスに関する前記質問に対する前記複数の回答の前記順位付けと、関連スコアリング構造を特定する関連スコア構造データとに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答についての関連スコアを決定することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての関連スコアを増大させることを含む、
態様１７に記載の、コンピュータにより実現される方法。
〔態様１９〕
前記クライアントデバイスに関する前記質問に対する前記特定の回答についてのユーザ選択データを更新することは、前記クライアントデバイスに関する前記質問に対する前記特定の回答についての選択カウントをインクリメントすることを含む、
態様１５に記載の、コンピュータにより実現される方法。
〔態様２０〕
前記クエリ処理サービスは、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があるかどうかを判定し、
前記クライアントデバイスに関する前記質問に対する前記複数の回答からの前記クライアントデバイスに関する前記質問に対する特定の回答の前記ユーザ選択を含めるよう前記クエリ処理サービスによって保持されている前記ユーザ選択データを更新することに基づき、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する関連性データが更新される必要があると決定することに応答して、次いで、前記クライアントデバイスに関する前記質問に対する前記複数の回答の中の前記クライアントデバイスに関する前記質問に対する夫々の回答の関連性を特定する前記関連性データを更新する
よう更に構成される、
態様１５に記載の、コンピュータにより実現される方法。
【符号の説明】
【００５５】
１００  クエリ処理配置
１１０  クライアントデバイス
１３０  クエリ処理サービス
１４０  知識ベース
１５０  順位付け／関連性データ
１５２  関連スコアデータ
１５４  ユーザ選択データ
１５６  関連スコア構造データ
４００  コンピュータシステム
４０４  プロセッサ
４０６  メインメモリ
４１０  記憶デバイス
【図１】
0006439805.tif 000002
【図２Ａ】
0006439805.tif 000003
【図２Ｂ】
0006439805.tif 000004
【図２Ｃ】
0006439805.tif 000005
【図２Ｄ】
0006439805.tif 000006
【図２Ｅ】
0006439805.tif 000007
【図２Ｆ】
0006439805.tif 000008
【図３】
0006439805.tif 000009
【図４】
0006439805.tif 000010