(57)【要約】  参加者間で交換されるメッセージの分類に基づいてメッセージ交換スレッドを自動的に拡張するための方法、装置、システム、およびコンピュータ可読媒体が提供される。様々な実装形態では、参加者によって1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドに投稿されたメッセージが決定され得る。様々な実装形態では、メッセージの分類は、検索クエリとして使用する場合のメッセージの不適合性の度合いを示す計算された第1の(または「無駄話」)スコアに少なくとも部分的に基づいて決定され得る。様々な実装形態では、メッセージへの会話型応答またはメッセージに基づいて生成された検索クエリに応答するコンテンツのいずれかが、分類に少なくとも部分的に基づいてメッセージ交換スレッドに選択的に組み込まれ得る。いくつかの実装形態では、検索クエリとして使用する場合のメッセージの適合性の度合いを示す第2の(または「検索クエリ適合性」)スコアも計算され得る。
2019521415.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって、1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドから、参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定するステップと、
前記プロセッサのうちの1つまたは複数によって、前記メッセージに関連する無駄話スコアを計算するステップと、
前記プロセッサのうちの1つまたは複数によって、前記無駄話スコアに少なくとも部分的に基づいて、前記メッセージへの会話型応答または前記メッセージに基づいて生成された検索クエリに応答するコンテンツのいずれかを前記メッセージ交換スレッドに選択的に組み込むステップと
を含むコンピュータ実装方法。
【請求項２】
前記組み込むステップは、所与のクライアントコンピューティングデバイス上で動作しているメッセージ交換クライアントのグラフィカルユーザインターフェースに表示される前記メッセージ交換スレッドのトランスクリプトに前記応答を挿入するステップを含む、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記無駄話スコアを計算するステップは、機械学習モデルに入力として前記メッセージを提供するステップを含み、前記機械学習モデルは、出力として、前記無駄話スコアを提供する、請求項1または請求項2に記載のコンピュータ実装方法。
【請求項４】
前記機械学習モデルは、出力として、前記メッセージに関連する検索クエリ適合性スコアをさらに提供する、請求項3に記載のコンピュータ実装方法。
【請求項５】
前記プロセッサのうちの1つまたは複数によって、前記無駄話スコアを前記検索クエリ適合性スコアと比較するステップと、
前記1つまたは複数のプロセッサによって、前記比較に基づいて、前記メッセージ交換スレッドへの組込みのために、前記メッセージへの前記会話型応答または前記メッセージに基づいて生成された前記検索クエリに応答する前記コンテンツを選択するステップと
をさらに含む、請求項4に記載のコンピュータ実装方法。
【請求項６】
前記機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され、前記少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が前記先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みまたは前記先行メッセージに基づいて生成された先行検索クエリに応答するコンテンツの組込みに肯定的に応答したインスタンスを含む、請求項3から5のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記プロセッサのうちの1つまたは複数によって、前記検索クエリに応答する前記コンテンツに関連する検索結果スコアを計算するステップをさらに含み、前記組み込むステップは、前記検索結果スコアにさらに基づく、請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項８】
前記検索結果スコアは、前記検索クエリに応答する1つまたは複数の表面化された検索結果の存在に少なくとも部分的に基づく、請求項7に記載のコンピュータ実装方法。
【請求項９】
前記プロセッサのうちの1つまたは複数によって、前記メッセージにおいて言及された1つまたは複数の既知のエンティティまたはエンティティタイプに少なくとも部分的に基づいて、前記メッセージに関連する検索クエリ適合性スコアを計算するステップをさらに含む、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項１０】
1つまたは複数のプロセッサ、および前記1つまたは複数のプロセッサと動作可能に結合されたメモリを含むシステムであって、前記メモリは、前記1つまたは複数のプロセッサの実行に応答して、前記1つまたは複数のプロセッサに、
1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドから、参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定することと、
前記メッセージに関連する無駄話スコアを計算することと、
前記無駄話スコアに少なくとも部分的に基づいて、前記メッセージへの会話型応答または前記メッセージに基づいて生成された検索クエリに応答するコンテンツのいずれかを前記メッセージ交換スレッドに選択的に組み込むことと
を行わせる命令を記憶する、システム。
【請求項１１】
前記組み込むことは、所与のクライアントコンピューティングデバイス上で動作しているメッセージ交換クライアントのグラフィカルユーザインターフェースに表示される前記メッセージ交換スレッドのトランスクリプトに前記応答を挿入することを含む、請求項10に記載のシステム。
【請求項１２】
前記無駄話スコアを計算することは、機械学習モデルに入力として前記メッセージを提供することを含み、前記機械学習モデルは、出力として、前記無駄話スコアを提供する、請求項10または請求項11に記載のシステム。
【請求項１３】
前記機械学習モデルは、出力として、前記メッセージに関連する検索クエリ適合性スコアをさらに提供する、請求項12に記載のシステム。
【請求項１４】
前記無駄話スコアを前記検索クエリ適合性スコアと比較することと、
前記比較に基づいて、前記メッセージ交換スレッドへの組込みのために、前記メッセージへの前記会話型応答または前記メッセージに基づいて生成された前記検索クエリに応答する前記コンテンツを選択することと
を行う命令をさらに含む、請求項13に記載のシステム。
【請求項１５】
前記機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され、前記少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が前記先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みまたは前記先行メッセージに基づいて生成された先行検索クエリに応答するコンテンツの組込みに肯定的に応答したインスタンスを含む、請求項12から14のいずれか一項に記載のシステム。
【請求項１６】
前記プロセッサのうちの1つまたは複数によって、前記検索クエリに応答する前記コンテンツに関連する検索結果スコアを計算することをさらに含み、前記組み込むことは、前記検索結果スコアにさらに基づく、請求項10から15のいずれか一項に記載のシステム。
【請求項１７】
前記検索結果スコアは、前記検索クエリに応答する1つまたは複数の表面化された検索結果の存在に少なくとも部分的に基づく、請求項16に記載のシステム。
【請求項１８】
前記プロセッサのうちの1つまたは複数によって、前記メッセージにおいて言及された1つまたは複数の既知のエンティティまたはエンティティタイプに少なくとも部分的に基づいて、前記メッセージに関連する検索クエリ適合性スコアを計算することをさらに含む、請求項10から17のいずれか一項に記載のシステム。
【請求項１９】
コンピューティングシステムによって実行されたときに、前記コンピューティングシステムに請求項1から18のいずれか一項に記載の方法を実行させるコンピュータ可読命令。
【請求項２０】
1つまたは複数のプロセッサによって、1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドから、参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定するステップと、
前記プロセッサのうちの1つまたは複数によって、検索クエリとして使用する場合の前記メッセージの不適合性の度合いを示す第1のスコアを計算するステップと、
1つまたは複数のプロセッサによって、前記第1のスコアに少なくとも部分的に基づいて、前記メッセージに基づいて生成された検索クエリに応答するコンテンツを前記メッセージ交換スレッドに選択的に組み込むステップと
を含むコンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【０００１】
パーソナルアシスタントモジュールは、自然言語コマンドを発信できるようにユーザにユーザフレンドリなインターフェースを提供するためにスマートフォン、タブレット、車両ナビゲーションシステム、スマートウォッチ、ならびに汎用コンピューティングデバイス(たとえば、デスクトップ、ラップトップ)などのコンピューティングデバイス上にインストールされたソフトウェアプロセスである。ユーザはしばしば、ユーザの音声を使用して自然言語コマンドを発信するが、パーソナルアシスタントモジュールは、様々な形態のテキスト入力および/または画像入力などの他の様相にも応答することがある。ユーザはパーソナルアシスタントモジュールと、かつ/または互いにテキストで、テキストメッセージング、オンラインチャット(たとえば、インスタントメッセンジャー、インターネットリレーチャットなど)、ソーシャルネットワークスレッド、自動音声応答装置などのような様々な技術を使用して実装されたメッセージ交換スレッドを介して通信することがある。進行中のメッセージ交換スレッドは通常、ユーザが意図的かつ明示的にメッセージ交換スレッドに組み込む(たとえば、タイプされたか、もしくは音声入力から生成された)テキストまたはピクチャなどの他のデータに限定される。
【発明の概要】
【発明が解決しようとする課題】
【０００２】
本開示は一般に、検索クエリに応答するコンテンツによりメッセージ交換スレッドを自動的に拡張する(augment)ための方法、装置、ならびにコンピュータ可読媒体(一時的および非一時的)を対象とし、検索クエリは、スレッドの参加者によって提供されたメッセージに基づく。メッセージスレッドにこのコンテンツを自動的に含めることは、ユーザが(たとえば、検索エンジン上またはユーザのデバイス上での)検索の実行を手動で生じさせる必要をなくし得るという点で有益であり得る。これは、ユーザ-デバイス対話および計算リソースの関連する使用、たとえば、アプリケーションを変更することおよび/または検索の実行を生じさせることから発生する処理の量を減らし得る。だが、場合によっては、メッセージスレッドにこのコンテンツを含めることは、たとえば、メッセージが検索の対象となるには好適ではないときに適切ではないことがある。そのようなメッセージに基づく検索に応答するコンテンツをメッセージ交換スレッドに自動的に含めることは、計算リソースの好ましい使用ではないことがある。したがって、この問題に対処するために、本明細書で説明する方法、装置、ならびにコンピュータ可読媒体(一時的および非一時的)は、参加者間で交換されるメッセージの分類に基づいて、検索クエリに応答するコンテンツによりメッセージ交換スレッドを自動的に拡張するかどうかを決定し得る。より具体的には、本明細書で説明する技法は、参加者によって(別の参加者に向けられて、またはパーソナルアシスタントモジュールに向けられて)メッセージ交換スレッドに投稿されたメッセージを、検索クエリとして適切であるものまたは適切ではないものに分類し、その分類に基づいて、参加者のメッセージから生成された検索クエリに応答するコンテンツを伝達する応答を自動的かつ選択的に組み込むことに関する。いくつかの例では、メッセージが検索クエリとして適切ではないものに分類された場合、検索クエリに応答するコンテンツを伝達しない応答(たとえば、「チャット型」または「会話型」応答)が、メッセージスレッドに組み込まれ得る。より具体的には、参加者によってメッセージ交換スレッドに投稿されたメッセージは、検索クエリとして使用する場合のメッセージの不適合性の度合いを示す第1のスコア(たとえば、「無駄話スコア」)、および/または検索クエリとして使用する場合のメッセージの適合性(suitability)の度合いを示す第2のスコア(たとえば、「検索クエリ適合性スコア」)を割り当てられ得る。第1および第2のスコアは、メッセージの分類を決定するために個々にまたは組み合わせて使用され得る。一方または両方のスコアに基づいて、メッセージ交換スレッドは、たとえば、メッセージ交換スレッドに参加しているパーソナルアシスタントモジュールのために、自動的に拡張され得る。
【課題を解決するための手段】
【０００３】
いくつかの実装形態では、1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドから、参加者によってメッセージ交換スレッドに投稿されたメッセージを決定するステップと、検索クエリとして使用する場合のメッセージの不適合性の度合いを示す第1のスコアを計算するステップと、第1のスコアに少なくとも部分的に基づいて、メッセージに基づいて生成された検索クエリに応答するコンテンツをメッセージ交換スレッドに選択的に組み込むステップとを含むコンピュータ実装方法が提供され得る。
【０００４】
いくつかの実装形態では、1つまたは複数のメッセージ交換クライアントを関与させるメッセージ交換スレッドから、参加者によってメッセージ交換スレッドに投稿されたメッセージを決定するステップと、メッセージに関連する無駄話スコアを計算するステップと、無駄話スコアに少なくとも部分的に基づいて、メッセージへの会話型応答またはメッセージに基づいて生成された検索クエリに応答するコンテンツのいずれかをメッセージ交換スレッドに選択的に組み込むステップとを含むコンピュータ実装方法が提供され得る。
【０００５】
この方法および本明細書で開示する技術の他の実装形態は、以下の特徴のうちの1つまたは複数をそれぞれ随意に含み得る。
【０００６】
様々な実装形態では、組み込むステップは、所与のクライアントコンピューティングデバイス上で動作しているメッセージ交換クライアントのグラフィカルユーザインターフェースに表示されるメッセージ交換スレッドのトランスクリプトに応答を挿入するステップを含み得る。様々な実装形態では、無駄話スコアを計算するステップは、機械学習モデルに入力としてメッセージを提供するステップを含むことができ、機械学習モデルは、出力として、無駄話スコアを提供する。様々な実装形態では、機械学習モデルは、出力として、メッセージに関連する検索クエリ適合性スコアを提供し得る。様々な実装形態では、本方法は、無駄話スコアを検索クエリ適合性スコアと比較するステップと、比較に基づいて、メッセージ交換スレッドへの組込みのために、メッセージへの会話型応答またはメッセージに基づいて生成された検索クエリに応答するコンテンツを選択するステップとを含み得る。
【０００７】
様々な実装形態では、機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され得る。少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みまたは先行メッセージに基づいて生成された先行検索クエリに応答するコンテンツの組込みに肯定的に応答したインスタンスを含み得る。
【０００８】
様々な実装形態では、本方法は、検索クエリに応答するコンテンツに関連する検索結果スコアを計算するステップをさらに含むことができ、組み込むステップは、検索結果スコアにさらに基づく。様々な実装形態では、検索結果スコアは、検索クエリに応答する1つまたは複数の表面化された検索結果の存在に少なくとも部分的に基づき得る。様々な実装形態では、本方法は、メッセージにおいて言及された1つまたは複数の既知のエンティティまたはエンティティタイプに少なくとも部分的に基づいて、メッセージに関連する検索クエリ適合性スコアを計算するステップを含み得る。
【０００９】
他の実装形態は、上記で説明した方法のうちの1つまたは複数などの方法を実行するようにプロセッサによって実行可能な命令を記憶する非一時的コンピュータ可読記憶媒体を含み得る。さらに別の実装形態は、メモリおよび上記で説明した方法のうちの1つまたは複数などの方法を単独でまたは集合的に実行する1つまたは複数のモジュールまたはエンジンを実装するためにメモリに記憶された命令を実行するように動作可能な1つまたは複数のプロセッサを含むシステムを含み得る。
【００１０】
上記の概念および本明細書でより詳細に説明する追加の概念のすべての組合せは、本明細書で開示する主題の一部になるものとして企図されることを諒解されたい。たとえば、本開示の最後に現れる特許請求する主題のすべての組合せは、本明細書で開示する主題の一部になるものとして企図される。
【図面の簡単な説明】
【００１１】
【図１】様々な実装形態による、コンテンツがメッセージ交換スレッドに自動的に組み込まれ得る環境を示す図である。
【図２】様々な実装形態による、開示する技法に関連する例示的なプロセスフローを示す図である。
【図３】様々な実装形態による、開示する技法が実施されるときに例示的なグラフィカルユーザインターフェースがどのように影響を及ぼされ得るかを示す図である。
【図４】様々な実装形態による、開示する技法が実施されるときに例示的なグラフィカルユーザインターフェースがどのように影響を及ぼされ得るかを示す図である。
【図５】様々な実装形態による、コンテンツにより進行中のメッセージ交換を拡張する例示的な方法を示すフローチャートを示す図である。
【図６】コンピュータシステムの例示的なアーキテクチャを概略的に示す図である。
【発明を実施するための形態】
【００１２】
図1は、ユーザ間で交換されたメッセージの検出された「トーン」(たとえば、無駄話であるか客観的要求/質問であるか)に基づいてコンテンツによりメッセージ交換スレッドが自動的に拡張され得る環境を示す。例示的な環境は、複数のクライアントデバイス1061〜Nおよび知識システム102を含む。知識システム102は、たとえば、ネットワークを通じて通信する1つまたは複数のコンピュータ上に実装され得る。知識システム102は、本明細書で説明するシステム、構成要素、および技法が実装され得、かつ/または本明細書で説明するシステム、構成要素、および技法がインターフェースし得る情報取出しシステムの例である。
【００１３】
ユーザは、クライアントデバイス106を介して知識システム102と対話し得る。各クライアントデバイス106は、ローカルエリアネットワーク(LAN)またはインターネットなどのワイドエリアネットワーク(LAN)などの1つまたは複数のネットワーク110を通じて知識システム102に結合されたコンピュータであり得る。各クライアントデバイス106は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車内通信システム、車内エンターテインメントシステム、車内ナビゲーションシステム)、独立型音声コマンドデバイス、またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザの眼鏡)であり得る。追加および/または代替のクライアントデバイスが提供されてもよい。あるユーザは、(ユーザによって所有されても所有されなくてもよい)コンピューティングデバイスの協調的「エコシステム」を集合的に形成する複数のコンピューティングデバイスを操作する可能性が高い。ただし、簡潔にするために、本開示で説明する例は、単一のクライアントデバイス106を操作するユーザに焦点を当てる。
【００１４】
各クライアントデバイス106は、メッセージ交換クライアント107および/またはパーソナルアシスタントモジュール109などの多種多様なアプリケーションを動作させ得る。メッセージ交換クライアント107は、様々な形態であり得る。いくつかの実装形態では、メッセージ交換クライアント107は、ショートメッセージングサービス(「SMS」)および/またはマルチメディアメッセージングサービス(「MMS」)クライアント、オンラインチャットクライアント(たとえば、インスタントメッセンジャー、インターネットリレーチャットすなわち「IRC」など)、ソーシャルネットワークに関連するメッセージングアプリケーション、パーソナルアシスタントモジュールと通信するために使用されるインターフェースなどの形態であり得る。いくつかの実装形態では、メッセージ交換クライアント107は、(図示されていない)ウェブブラウザによってレンダリングされたウェブページ内に実装され得る。様々な事例では、メッセージ交換スレッドの参加者によって操作される2つのクライアントデバイス106が、異なるメッセージ交換クライアント107を実行することがあり、異なるメッセージ交換クライアント107はそれでも、共通の通信プロトコルを使用して通信を円滑にする。たとえば、クライアントデバイス1061は、あるベンダーによって配布されたあるSMSアプリケーションがインストールされていることがあり、クライアントデバイス106Nは、別のベンダーによって配布された別のSMSアプリケーションがインストールされていることがある。
【００１５】
背景技術で説明したように、パーソナルアシスタントモジュール109は、自然言語コマンドを発信できるようにユーザにユーザフレンドリなインターフェースを提供するために所与のクライアントコンピューティングデバイス106上にインストールされたソフトウェアプロセスの形態をとることがある。パーソナルアシスタントモジュール109は、ユーザがパーソナルアシスタントモジュール109をアクティブ化するために選択された1つまたは複数のコードワードを話すなど、様々な刺激によって「呼び出される」か、または「目覚める」ことがある。本明細書で説明する様々な実装形態では、ユーザは、たとえば、音声入力、テキスト入力などを使用して、メッセージ交換スレッドにおいてパーソナルアシスタントモジュール109と通信し得る。さらに、パーソナルアシスタントモジュール109は、複数のクライアントデバイス106上で動作していて複数の参加者によって制御される複数のメッセージ交換クライアント107を関与させるメッセージ交換スレッドに参加し得る。たとえば、以下でより詳細に説明するように、パーソナルアシスタントモジュール109は、1人または複数の参加者によってメッセージ交換スレッドに投稿された1つまたは複数のメッセージに応答して自動的にコンテンツを選択し、メッセージ交換スレッドに組み込むことができる。
【００１６】
クライアントデバイス106および知識システム102の各々は、データおよびソフトウェアアプリケーションを記憶するための1つまたは複数のメモリ、データにアクセスしアプリケーションを実行するための1つまたは複数のプロセッサ、ならびにネットワークでの通信を円滑にする他の構成要素を含み得る。クライアントデバイス106および/または知識システム102によって実行される動作は、複数のコンピュータシステムに分散され得る。知識システム102は、たとえば、ネットワークを通じて互いに結合された1つまたは複数のロケーションにおける1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装され得る。
【００１７】
様々な実装形態では、知識システム102は、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、インデックス付けエンジン126、情報エンジン130、ランク付けエンジン134、および代替クエリ提案エンジン136を含み得る。いくつかの実装形態では、エンジン120、122、126、130、134、および/または136のうちの1つまたは複数が省略され得る。いくつかの実装形態では、エンジン120、122、126、130、134、および/または136のうちの1つまたは複数のすべてまたは態様が組み合わせられ得る。いくつかの実装形態では、エンジン120、122、126、130、134、および/または136のうちの1つまたは複数が、知識システム102とは別個である構成要素に実装され得る。いくつかの実装形態では、エンジン120、122、126、130、134、および/もしくは136のうちの1つもしくは複数、またはそれらの任意の動作可能部分が、クライアントデバイス106によって実行される構成要素に実装され得る。
【００１８】
様々な実装形態では、メッセージ交換エンジン120は、複数の参加者によって制御される複数のクライアントデバイス106上で動作している複数のメッセージ交換クライアント107の間のメッセージ交換スレッドを円滑にするように構成され得る。たとえば、メッセージ交換エンジン120は、参加者がメッセージ交換スレッドにおいて互いに交換するメッセージおよび他のコンテンツのグローバル「トランスクリプト」を維持し得る。本明細書で使用する「トランスクリプト」は、メッセージ交換スレッドの1人または複数の参加者によって交換および/または閲覧されるテキスト、画像、音、および/またはアプレットの生の記録を指し得る。いくつかの実装形態では、メッセージ交換スレッドのトランスクリプトは、参加者が会話するのに伴ってリアルタイムまたはほぼリアルタイムで更新され得る。単一の参加者がパーソナルアシスタントモジュール109と通信するシナリオでは、トランスクリプトは、ローカルでパーソナルアシスタントモジュール109によって、かつ/またはリモートでパーソナルアシスタントエンジン122によって維持され得る。
【００１９】
様々な実装形態では、パーソナルアシスタントエンジン122は、たとえば、インデックス124に記憶され得る様々なオンライン音響/言語、文法、および/またはアクションモデルに依拠する音声ベースのクエリプロセッサを使用して、音声入力を処理するための相補的機能を含み得る。いくつかの実装形態では、特に大半のクライアントデバイス106がリソース制約的デバイスであることに伴って、パーソナルアシスタントエンジン122は、各クライアントデバイス106にローカルなものよりも複雑で計算リソース集約的な音声処理機能を実装し得ることが諒解されよう。アクションがパーソナルアシスタントモジュール109によって実行されるものとして本明細書で説明されるときに、それがパーソナルアシスタントエンジン122によって実行されるアクションの1つまたは複数の態様を含んでも含まなくてもよいことをさらに理解されたい。
【００２０】
いくつかの実装形態では、複数のパーソナルアシスタントエンジン122が用いられてよく、各々が1つまたは複数の個々のパーソナルアシスタントモジュール109に対するオンラインカウンターパートとしての働きをする。たとえば、いくつかの実装形態では、ユーザのエコシステムにおける各クライアントデバイス106は、ユーザに関連付けられる(たとえば、ユーザの選好により構成される、同じ対話履歴に関連付けられる、など)パーソナルアシスタントモジュール109のインスタンスを動作させるように構成され得る。パーソナルアシスタントエンジン122の単一のユーザ中心オンラインインスタンスは、ユーザがそのときにどのデバイスを操作しているかに応じて、パーソナルアシスタントモジュール109のこれらの複数のインスタンスの各々にとってアクセス可能であり得る。
【００２１】
いくつかの実装形態では、たとえば、クライアントデバイス106がオンラインサービスと通信しているときはいつでもオンライン機能が使用される一方で、接続が存在しないときにオフライン機能が使用されるように、オンライン機能とオフライン機能の両方がサポートされ得る。他の実装形態では、異なるアクションまたはアクションドメインがオンライン機能およびオフライン機能に割り振られ得る一方、さらに他の実装形態では、オフライン機能が特定の音声入力を適切に処理することができないときのみオンライン機能が使用され得る。だが、他の実装形態では、相補的オンライン機能は使用され得ない。
【００２２】
インデックス付けエンジン126は、知識システム102によって使用されるインデックス128を維持し得る。インデックス付けエンジン126は、ドキュメントを処理し、たとえば、従来のインデックス付け技法および/または他のインデックス付け技法を使用して、インデックス128におけるインデックスエントリを更新する。たとえば、インデックス付けエンジン126は、ワールドワイドウェブなどの1つまたは複数のリソースをクロールし、そのようなクロールを介してアクセスされたドキュメントをインデックス付けし得る。別の例として、インデックス付けエンジン126は、1つまたは複数のドキュメントに関係する情報を、そのようなドキュメントを制御するウェブマスターなどの1つまたは複数のリソースから受信し、そのような情報に基づいてドキュメントをインデックス付けし得る。ドキュメントは、ドキュメントアドレスに関連付けられる任意のデータである。ドキュメントは、ほんのいくつかの例を挙げれば、ウェブベージ、ワード処理ドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、画像、電子メール、カレンダーエントリ、ビデオ、およびウェブフィードを含む。各ドキュメントは、たとえば、テキスト、画像、ビデオ、音、埋込み情報(たとえば、メタ情報および/もしくはハイパーリンク)、ならびに/または埋込み命令(たとえば、JavaScript(登録商標)などのECMAScript実装)などのコンテンツを含み得る。
【００２３】
情報エンジン130は、知識システム102によって使用される非ドキュメント固有情報を含むか、または当該情報へのアクセスを円滑にする別のインデックス132を維持し得る。たとえば、知識システム102は、特定の情報を求めているように見える検索クエリに応答して情報を返信するように構成され得る。ユーザが「Ronald Reagan's birthday(ロナルドレーガンの誕生日)」を検索している場合、知識システム102は、たとえば、情報エンジン130から、日付「February 6, 1911(1911年2月6日)」を受信し得る。この情報は、インデックス付けエンジン126から受信されるドキュメントとは別個である検索結果の一部としてユーザに返信され得る。様々な実装形態では、インデックス132自体が情報を含むことがあり、またはそれは、オンライン百科事典、アルマナックなどのような1つもしくは複数の他の情報ソースにリンクすることがある。様々な実装形態では、インデックス128またはインデックス132は、クエリ(またはクエリ用語)とドキュメントおよび/または情報との間のマッピングを含み得る。
【００２４】
本明細書では、「データベース」および「インデックス」という用語は、データの任意の集合を指すために広く使用される。データベースおよび/またはインデックスのデータは、特定の方法で構造化される必要はなく、1つまたは複数の地理的ロケーションにおいて記憶デバイス上に記憶され得る。したがって、たとえば、インデックス124、128、および132は、データの複数の集合を含むことができ、それらの各々は別様に編成されアクセスされ得る。
【００２５】
ランク付けエンジン134は、たとえば、従来の情報取出し技法および/または他の情報取出し技法を使用して、検索クエリに応答するドキュメントおよび他の情報を識別するためにインデックス128および/または132を使用し得る。ランク付けエンジン134は、たとえば、1つまたは複数のランク付け信号を使用して、検索クエリに応答するものとして識別されたドキュメントおよび他の情報に関するスコアを計算し得る。各ランク付け信号は、ドキュメントもしくは情報自体、ドキュメントもしくは情報と検索クエリとの間の関係、および/またはドキュメントもしくは情報と検索を実行しているユーザとの間の関係についての情報を提供し得る。
【００２６】
代替クエリ提案エンジン136は、検索結果とともにクライアントデバイス106に提供する代替クエリ提案を生成するために、(図示されていない)代替クエリ提案のデータベースおよび/またはクライアントデバイス106のユーザについての情報(たとえば、検索履歴、GPSロケーション、ユーザ属性)など、1つもしくは複数の信号および/または他の情報を使用し得る。ユーザが検索クエリの連続文字をタイプすると、代替クエリ提案エンジン136は、ユーザにとって有用である結果をもたらすと思われる代替クエリを識別し得る。たとえば、クライアントデバイス106がシカゴに位置し、「restaur」という文字をタイプしたと仮定する。代替クエリ提案エンジン136は、クライアントデバイス106がシカゴにあることを示すロケーション信号およびライブミュージックを楽しめるレストランに対するユーザの選好を示す検索履歴信号に基づいて、「restaurants in Chicago with live music(ライブミュージックを楽しめるシカゴのレストラン)」というクエリを提案し得る。別の例として、「Ronald Reagan's birt」とタイプしたユーザの場合、代替クエリ提案エンジン136は、たとえば、プレフィックスマッチングなどの技法を使用して、「Ronald Reagan's birthday(ロナルドレーガンの誕生日)」、「Ronald Reagan's birthplace(ロナルドレーガンの出生地)」、「Ronald Reagan's birth control position(ロナルドレーガンの産児制限に対する立場)」などの代替クエリを決定し、提案し得る。代替クエリ提案エンジン136は、部分的に形成された検索クエリのスペル訂正バージョンなどの他の提案も提供し得る。
【００２７】
様々な実装形態では、メッセージ交換エンジン120もしくはパーソナルアシスタントエンジン122などのオンライン構成要素、またはさらに個々のメッセージ交換クライアント107もしくはパーソナルアシスタントモジュール109などのクライアントデバイス106にローカルな構成要素は、1つまたは複数のメッセージ交換クライアント107を関与させるメッセージ交換スレッドから、参加者によってメッセージ交換スレッドに投稿されたメッセージを決定するように構成され得る。次いで、メッセージに関連する第1のまたは「無駄話」スコア(すなわち「ICS」)が計算され得る。無駄話スコアに少なくとも部分的に基づいて、次いでメッセージへの会話型応答、またはメッセージに基づいて生成された検索クエリに応答するコンテンツのいずれかが、メッセージ交換スレッドに選択的に組み込まれ得る。
【００２８】
比較的高い無駄話スコアを有するメッセージは、つまらない無駄話、非公式のかつ/または些細な会話、いわゆる「雑談」、主観的調査(subjective inquiry)などを含む、参加者によってパーソナルアシスタントモジュール109および/または別の参加者に向けられたメッセージであり得る。そのようなメッセージは、検索クエリの生成に好適ではないことがあり、その理由として、そのような検索クエリに応答するコンテンツは、メッセージ交換スレッドに組み込まれる場合に特に有益ではないことがあり、たとえば、その理由として、応答するコンテンツは、特に十分焦点の合った、有意味なものではないことがあり、かつ/またはメッセージ交換スレッド上で発生している会話のトーンに特に関係していないことがある。別の言い方をすれば、比較的高い無駄話スコアを有するメッセージは、メッセージ交換スレッドを拡張する外部の/客観的な情報を取得しようとする参加者による意図(明示的または暗黙的)を示していないことがある。たとえば、参加者がパーソナルアシスタントモジュールまたはメッセージ交換スレッドの別の参加者に、「Hi(こんにちは)」、「How are you?(調子はどうですか?)」、「What do you think about Obama?(オバマについてどう思いますか?)」、「What is your favorite color?(好きな色は何ですか?)」などと言う場合、メッセージが比較的高い無駄話スコアを割り当てられ得る。
【００２９】
上記のように、参加者はパーソナルアシスタントモジュール109に、または別の参加者に、比較的高い無駄話スコアを有するメッセージを向けることがある。様々な実装形態では、そのようなメッセージがパーソナルアシスタントモジュール109に向けられた場合、たとえば、パーソナルアシスタントモジュール109および/またはメッセージ交換エンジン120によって、いわゆる「会話型応答」が識別され、メッセージ交換スレッドに組み込まれ得る。いくつかの実装形態では、メッセージに関連する無駄話スコアが、たとえば、「ファジー」検索を使用して、メッセージを複数の候補メッセージ/会話型応答ペアとマッチングすることによって計算され得る。各マッチングペアは、メッセージが候補メッセージ/会話型応答ペアとどの程度マッチングするかに基づいてスコアを割り当てられ得る。次いで無駄話スコアは、たとえば、最も高いスコアにより、メッセージと最も良くマッチングする候補メッセージ/会話型応答ペアから決定され得る。無駄話スコアが1つもしくは複数のしきい値を満たす場合、または以下で説明するように、1つもしくは複数のしきい値を満たす量(Δ)だけ第2のまたは「検索クエリ適格性」スコアを上回る場合、無駄話スコアは、検索クエリに適切ではないものに分類され得、最も良くマッチングするメッセージ/会話型応答ペアからの会話型応答が、たとえば、パーソナルアシスタントモジュール109によってメッセージ交換スレッドに組み込まれ得る。
【００３０】
比較的高いICSを有するメッセージは、メッセージ交換スレッドの1人の参加者によって、パーソナルアシスタントモジュール109ではなく別の参加者に向けられることもある。いくつかの実装形態では、上記と同様の分析が発生し得る。だが、会話型応答をメッセージ交換スレッドに直接組み込む代わりに、別の参加者は、スクリプトによる自動応答がメッセージ交換スレッドに組み込まれるようにするために別の参加者が選択し得る1つまたは複数のグラフィカル要素(たとえば、レンダリングされたボタン)を提示され得る。他の実装形態では、参加者とパーソナルアシスタントモジュールとの間ではなく参加者間の高いICSメッセージは、単に無視され得る。
【００３１】
比較的高い無駄話スコアを有するメッセージとは対照的に、比較的高い検索クエリ適合性スコアを有するメッセージは、検索クエリの生成および提出により適切であり得、そのようなものとして分類され得る。そのようなメッセージから生成された1つまたは複数の検索クエリに応答するコンテンツは、メッセージ交換スレッドへの組込みに好適であり得、たとえば、その理由として、当該コンテンツは、十分焦点の合ったものであり得、かつ/またはメッセージ交換スレッドで発生している会話のトーンに関係している可能性が比較的高い。比較的高い検索クエリ適合性スコアを割り当てられ得るメッセージの例には、「Who is Barack Obama?(バラクオバマは誰ですか?)」、「What is the capital of Maine?(メイン州の州都はどこですか?)」、「I wonder who Tom Brady is married to?(トムブレイディの結婚相手は誰かしら?)」、「Who stars in that new film?(あの新しい映画の主演者は誰ですか?)」など、客観的情報を求める(または少なくとも客観的情報に関係付けられる)メッセージが含まれ得る。
【００３２】
いくつかの実装形態では、1つまたは複数の機械学習モデルが、入力として1つまたは複数の参加者メッセージを受信し、無駄話スコアおよび/または検索クエリ適合性スコアを出力するように訓練され得る。これらのスコアに基づいて、様々なコンテンツがメッセージ交換スレッドに、たとえば、スレッドの参加者によって操作される1つもしくは複数のメッセージ交換クライアントによってレンダリングされたトランスクリプトに表示されるように、または、たとえば独立型音声コマンドデバイスによって可聴的に出力されるように、選択的に組み込まれ得る。いくつかの実装形態では、雑談スコアが検索クエリの適合性スコアを十分上回る場合、かつ/または雑談スコアが所定のしきい値を満たす場合、メッセージと最も良くマッチングするメッセージ/会話型応答ペアに関連する会話型応答がスレッドに組み込まれ得る。たとえば、ユーザが「Hello」といった場合、会話型応答は「hi」または「hello to you」であり得る。他の場合、メッセージに基づいて生成された検索クエリに応答するコンテンツがメッセージ交換スレッドに組み込まれ得る。
【００３３】
いくつかの実装形態では、1つまたは複数の機械学習モデルが、1つまたは複数の先行メッセージ交換スレッドから取得されたメッセージのコーパスを使用して訓練され得る。たとえば、メッセージ交換スレッドへのコンテンツの組込みをトリガしている参加者メッセージの1つまたは複数の以前のインスタンスが分析され得る。否定的な訓練例は、たとえば、パーソナルアシスタントモジュールのために、メッセージ交換スレッドにコンテンツが組み込まれたが、そのコンテンツが1人または複数の参加者によって(たとえば、主題を突然変更している参加者によって検出され)拒絶された(または少なくとも無視された)インスタンスを含み得る。肯定的な訓練例は、参加者が、たとえば、後続の会話を同様の方向で導くことおよび/または関連質問をすることによって、組み込まれたコンテンツに肯定的に応答するインスタンスであり得る。いくつかの実装形態では、肯定的な訓練例のみおよび/または否定的な訓練例のみが、1つまたは複数の機械学習モデルを訓練するために使用され得る。
【００３４】
メッセージを入力として1つまたは複数の機械学習モデルに直接入力することの追加または代替として、様々な実装形態では、メッセージの用語(またはトークン)の様々な順列が入力として使用され得る。いくつかの実装形態では、たとえば、用語/トークンの1つまたは複数のペアが入力として機械学習モデルに提供され得る。いくつかの実装形態では、(たとえば、あるクラスにおける)用語の1つまたは複数のグループが入力として提供され得る。他の実装形態では、自然言語プロセッサまたは他の同様の構成要素が、様々な方法でメッセージに注釈を付けることができ(たとえば、発話の部分、エンティティ解決など)、それらの注釈は、1つまたは複数の機械学習モデルに入力として使用され得る。
【００３５】
メッセージ自体の属性以外に、他の信号が、無駄話スコアおよび検索クエリの適合性スコアを計算するときに考慮され得る。いくつかの実装形態では、ロケーション、現地時間など、参加者についての1つまたは複数のコンテキスト信号が考慮され得る。たとえば、特定のメッセージは、第1の国においてより高い無駄話スコアを割り当てられ、第2の国においてより高い検索クエリ適合性スコアを割り当てられ得る。参加者がメッセージ交換スレッドにメッセージを投稿するときに参加者が第1の国に位置する場合、メッセージは、参加者が第2の国にいた場合よりも高い無駄話スコアを受信し得る。
【００３６】
いくつかの実装形態では、メッセージを使用して生成された検索クエリに応答するコンテンツの特性が、検索クエリ適合性スコアを計算するときに考慮され得る。たとえば、メッセージから生成された特定の検索クエリに応答する何らかのコンテンツが、検索エンジン結果ページ(「SERP」)に目立つように(たとえば、SERPの最上部に)表示される1つまたは複数のいわゆる「表面化された」特徴を含み得る。表面化されたコンテンツは、(たとえば、ボックス中に、有機的検索結果の上に表示されることも表示されないこともある)検索クエリへの直接の回答、ナビゲーション検索結果などを含み得る。1つまたは複数の検索クエリとして提出されたときに1つまたは複数の表面化された特徴をもたらすメッセージは、比較的高い検索クエリ適合性スコアを受信し得る。対照的に、応答するコンテンツが焦点の合っていないものおよび/またはメッセージ交換スレッドのトーンに関係していないものである場合、それは検索クエリ適合性スコアを低下させ得る。いくつかの実装形態では、高い検索クエリ適合性スコアが無駄話スコアに影響を与えること、またはその逆があり得る。たとえば、メッセージから生成された検索クエリに応答するコンテンツが特に焦点の合った、人気のあるものおよび/またはメッセージ交換スレッドのトーンに関係しているものである場合、それは、メッセージが単に無駄話であった可能性を低下させ得る。
【００３７】
メッセージの検索クエリ適合性スコアがしきい値を満たすか、またはメッセージの検索クエリ適合性スコアとその無駄話スコアとの間の差が十分大きいシナリオでは、1つまたは複数の検索クエリが、たとえば、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、メッセージ交換クライアント107、パーソナルアシスタントモジュール109などによって生成され、知識システム102の様々な構成要素に提出され得る。1つまたは複数の検索クエリに応答するドキュメントおよび情報などのコンテンツが、限定はしないがインデックス付けエンジン126および/または情報エンジン130からを含む、これらの同じ様々な構成要素から取得され得る。様々な実装形態では、1つまたは複数の検索クエリに応答するコンテンツは、代替クエリ提案エンジン136から返信された代替クエリ提案をさらに含み得る。いくつかの実装形態では、1つまたは複数の検索クエリに応答するコンテンツは、返信される前にランク付けエンジン134によってランク付けされ得る。
【００３８】
応答するコンテンツに基づいて、グラフィカル要素(単語、画像、アニメーション、アプレット)、音などのような応答するコンテンツに関連する様々なアイテムが、2つ以上のメッセージ交換クライアント107を操作している2人以上のユーザの間のメッセージ交換スレッドに組み込まれ得る。メッセージ交換スレッドのトランスクリプトが1人または複数の参加者に見える実装形態(たとえば、それぞれのグラフィカルユーザインターフェース)では、組み込まれるアイテムは、ユーザのうちの1人または複数によって閲覧可能であり得る。対照的に、完全に可聴的な/音声応答実装形態では、応答するコンテンツは、参加者に可聴的に配信され得る。
【００３９】
様々な方法で、複数のメッセージ交換クライアント107の間のメッセージ交換スレッドにアイテムが組み込まれ得る。いくつかの実装形態では、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、および/またはパーソナルアシスタントモジュール109は、メッセージ交換スレッドに参加している少なくとも1つのメッセージ交換クライアント107が、応答するコンテンツに関連する1つまたは複数のグラフィカル要素を、グラフィカルユーザインターフェースに表示される進行中のメッセージ交換スレッドのトランスクリプトに挿入することを要求し得る。いくつかのシナリオでは、グラフィカル要素は、メッセージ交換スレッドに参加しているすべてのメッセージ交換クライアント107によってレンダリングされたトランスクリプトなど、2つ以上のメッセージ交換クライアント107によってレンダリングされたトランスクリプトに組み込まれ得る。いくつかの実装形態では、応答するコンテンツが各メッセージ交換クライアント107に提供されるだけであり得、次いで各メッセージ交換クライアント107は、どのコンテンツをメッセージ交換スレッドのトランスクリプトのそのバージョンに組み込むかを選択し得る。または上記のように、構成要素120、122、107、および/または109のいずれか1つが可聴的メッセージ交換スレッドにアイテムを可聴的に組み込んでよい。
【００４０】
メッセージ交換スレッドのレンダリングされたトランスクリプトに様々なタイプのグラフィカル要素が組み込まれ得る。いくつかの実装形態では、1つまたは複数のグラフィカル要素は、メッセージ交換エンジン120によって形成された検索クエリに応答する情報を伝達するテキストを含み得る。第1の参加者が別の参加者またはパーソナルアシスタントモジュール109に「What was the first state admitted into the union?(合衆国に入れられた最初の州はどこでしたか?)」という質問を投げかけるようにメッセージ交換クライアント107を操作すると仮定する。メッセージ交換エンジン120、パーソナルアシスタントモジュール109、パーソナルアシスタントエンジン122、または別の構成要素は、ユーザの要求により、または自発的に、検索クエリとしてインデックス付けエンジン126および/または情報エンジン130に質問(またはその変形)を提出し得る。インデックス付けエンジン126および/または情報エンジン130は、デラウェアがアメリカ合衆国に入れられた最初の州であったという指示など、検索クエリに応答する情報を提供し得る。デラウェアが入れられた日付、その後に入れられた州など、追加の応答する情報も含まれ得る。次いで、この情報の一部または全部が、たとえば、質問を投げかけたユーザによって操作されるメッセージ交換クライアント107のグラフィカルユーザインターフェースに表示されるトランスクリプトに組み込まれるように、メッセージ交換スレッドに組み込まれ得る。
【００４１】
テキストの追加または代替として、様々な実装形態では、メッセージ交換スレッドに組み込まれる1つまたは複数のグラフィカル要素は、検索クエリに応答するコンテンツを伝達する1つまたは複数の画像を含み得る。上述のシナリオでは、たとえば、デラウェア州および/またはその旗の画像が、デラウェアについてのテキストの追加または代替としてメッセージ交換スレッドに組み込まれ得る。
【００４２】
多くの場合、検索クエリに応答する画像は、会話の流れを乱すことなくメッセージ交換スレッドに現実的に組み込むにはあまりにも扱いにくい(たとえば、あまりにも長い、あまりにも詳しい、など)ことがある。そのような状況では、スレッドへの組込みのために、応答する情報全体のサブセットが選択され得る(すなわち、応答する情報全体が選別され得る)。いくつかの実装形態では、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、および/またはパーソナルアシスタントモジュール109は、メッセージ交換スレッドへの組込みのためにサブセットを選択する(または応答する情報を選別する)ことがある。他の実装形態では、包括的な応答する情報がメッセージ交換クライアント107に提供されることがあり、メッセージ交換クライアント107は選別を実行し得る。いくつかの実装形態では、情報は、ホストクライアントデバイス106のスクリーンサイズに基づいて選別され得る。いくつかの実装形態では、上位N個の検索結果がメッセージ交換スレッドへの組込みのために選択され得る。Nは、たとえば、スクリーンサイズ、ユーザ選好などに基づいて選択されてよく、または手動で選択されてもよい(たとえば、Nは、5、10、2、1などに設定され得る)。
【００４３】
いくつかの実装形態では、知識システム102は、たとえば、情報エンジン130および/または別の構成要素の一部として、既知のエンティティ(たとえば、人々、場所、物)、既知のエンティティの属性(たとえば、タイプ、名前、年齢、ロケーションなど)、および既知のエンティティの間の関係の記録を含むいわゆる「知識ベース」を有し得る。いくつかの実装形態では、そのような知識ベースは、たとえば、インデックス132に、節点がエンティティ(および場合によっては関連する属性)を表し、辺がエンティティ間の関係を表すグラフとして実装されてよいが、これは必須ではない。いくつかのそのような実装形態では、そのような知識ベースからのエンティティについての情報は、たとえば、上記のように、たとえば、メッセージ交換エンジン120によって形成され提出された検索クエリに応答して、メッセージ交換エンジン120に提供され得る。
【００４４】
いくつかの実装形態では、知識ベースが、たとえば、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、および/または情報エンジン130によって、メッセージ交換スレッドの一部として2人以上のユーザの間で交換された1つまたは複数のメッセージ交換において言及された第1のエンティティまたはエンティティのタイプを識別するために使用され得る。次いで、エンティティまたはエンティティタイプに関係する検索クエリに応答する情報がメッセージ交換スレッドに組み込まれ得る。たとえば、ユーザがメッセージ交換スレッドに、「Babe Ruth was the greatest!(ベーブルースは最高だった!)」などのメッセージを提出すると仮定する。「Babe Ruth(ベーブルース)」が、たとえば、情報エンジン130によって、ベーブルースの1つもしくは複数の属性、および/または彼がプレーしていた1つもしくは複数のチーム(たとえば、ニューヨークヤンキース)、彼の家族、彼のチームメート、活動年数、生存年数などの1つもしくは複数の関係するエンティティとともに、インデックス132に記憶された知識ベースに基づいて識別され得る。次いで、この情報のうちの1つまたは複数が、たとえば、メッセージ交換エンジン120もしくはパーソナルアシスタントエンジン122によって、またはローカルでクライアントデバイス106においてメッセージ交換クライアント107もしくはパーソナルアシスタントモジュール109によって選択され、メッセージ交換スレッドに(たとえば、1つまたは複数のグラフィカル要素として)自動的に組み込まれ得る。たとえば、ベーブルースがユーザによってメッセージ交換スレッドにおいて言及されたとき、ベーブルースおよび/または他の野球選手についての情報も、少なくとも1人のユーザによって当該ユーザのメッセージ交換クライアント107のユーザインターフェースを介して消費できるように、スレッドに組み込まれ得る。
【００４５】
様々な実装形態では、マルチレベルのネスト化された機械学習モデル(またはより具体的には分類器)が、無駄話と検索クエリ適合性とを区別するように訓練され得る。先行する検索およびメッセージ交換スレッドなどのソースからの訓練データの広範なセットが、図2の242/244などの第1のレベルの教師なし機械学習モデル(または分類器)を訓練するために使用され得る。これらの機械学習モデルからの出力が、検索結果および注釈付きクエリなどの他の信号とともに、教師付き機械学習モデル(または分類器)を構築するために使用され得る。教師付き機械学習モデルは、無駄話スコア(「ICS」)および検索クエリ適合性スコア(「SQSS」)を生成するために、たとえば、参加者がメッセージ交換スレッドにメッセージを投稿するたびにトリガされ得る。これらのスコアに基づいて、入力メッセージがいくつかの層状信頼性レベルのうちの1つまたは複数にグループ化され得る。次いでランク付け機能は、メッセージ交換スレッドへの組込みに最も適した応答を選択するために、ICS/SQSSを、検索クエリに応答するコンテンツの様々なソースからの他の信号とともに利用し得る。
【００４６】
図2は、本開示のいくつかの実装形態によって使用され得る1つの非限定的な例示的プロセスフローを示す。この例では、メッセージ交換スレッドから識別されたメッセージ240が、ICS機械学習モデル242およびSQSS機械学習モデル244などの1つまたは複数の機械学習モデルに入力を提供するために使用され得る。ICS機械学習モデル242は、メッセージ240の1つまたは複数の属性に基づいて計算されたICSを出力する。SQSS機械学習モデル244は、メッセージ240の1つまたは複数の属性に基づいて計算されたSQSSを出力する。いくつかの実装形態では、メッセージ240は、一方または両方の機械学習モデルに逐語的に入力されるものとして使用され得る。他の実装形態では、メッセージ240の1つまたは複数の属性(たとえば、注釈、付随する信号など)が、一方または両方の機械学習モデルのための入力として、メッセージ240自体の追加または代替として使用され得る。機械学習モデル242および244は別個に示されているが、これは限定的なものではない。いくつかの実装形態では、単一の機械学習モデルが入力としてメッセージ240を受信し、ICSとSQSSの両方を提供し得る。
【００４７】
いくつかの実装形態では、ICS機械学習モデル242は、つまらない無駄話を含むことが知られていて、そのため肯定的な訓練例としての働きをし得るメッセージ交換スレッドメッセージの1つまたは複数のコーパスで訓練され得る。いくつかの実装形態では、ICS機械学習モデル242は、検索クエリの生成および使用に適切であることが知られているメッセージ交換スレッドメッセージなどの否定的な訓練例でも訓練され得る。他の実装形態では、ICSは、機械学習モデル以外の技法を使用して決定され得る。たとえば、いくつかの実装形態では、メッセージ240は、たとえば、ファジー検索技法を使用して、最良のマッチを決定するために複数のメッセージ/会話型応答ペアと比較され得る。メッセージ240が1つまたは複数のメッセージ/会話型応答ペアに対してより類似するほど、より高いICSがそのメッセージに割り当てられ得る。
【００４８】
いくつかの実装形態では、SQSS機械学習モデル244は、検索クエリの生成および提出に適切であることが知られていて、そのため肯定的な訓練例としての働きをし得るメッセージ交換スレッドメッセージの1つまたは複数のコーパスで訓練され得る。いくつかの実装形態では、SQSS機械学習モデル244は、無駄話を構成することが知られているメッセージ交換スレッドメッセージなどの否定的な訓練例でも訓練され得る。いくつかの実装形態では、SQSS機械学習モデル244は、過去のメッセージ交換スレッドに関係することも関係しないこともある過去の検索クエリのコーパスを使用して訓練され得る。特に焦点の合っているかまたは強力な応答するコンテンツをもたらした過去の検索クエリが、肯定的な訓練例として使用され得る。焦点の合っていない、ばかげた、または無意味な応答するコンテンツをもたらした過去の検索クエリが、否定的な訓練例として使用され得る。
【００４９】
いくつかの実装形態では、ICS機械学習モデル242によって出力されたICSは、246において1つまたは複数の絶対しきい値と比較され得る。これらの絶対しきい値が満たされる場合、メッセージは検索クエリに適切ではないものに分類され得、次いで248において、最も良くマッチングする会話型応答がメッセージ交換スレッドに組み込まれ得る。いくつかの実装形態では、248の動作の一部として、メッセージ240は、たとえば、ファジー検索技法を使用して、最良のマッチを決定するために複数のメッセージ/会話型応答ペアと比較され得る。メッセージ240がメッセージ/会話型応答ペアと完全またはほぼ完全にマッチングする場合、最も近いマッチに基づいてメッセージ240のICSを計算するのではなく、メッセージ/会話型応答ペアからの会話型応答が識別され、メッセージ240が発生したメッセージ交換スレッドに組み込まれ得る。一方、ICSが246において1つまたは複数のしきい値を満たさない場合、ICSとSQSS機械学習モデル244によって出力されたSQSSとの間の差(Δ)が250において決定され得る。ICSとSQSSとの間の差が1つまたは複数のしきい値を満たす場合、メッセージは検索クエリに適切ではないものに分類され得、次いで248に戻って、会話型応答が識別され、メッセージ交換スレッドに組み込まれ得る。
【００５０】
250における回答がnoである(そしてメッセージが検索クエリに適切であるものに分類される)場合、メッセージ240および/またはメッセージ240の1つもしくは複数の属性(たとえば、注釈、用語ペアなど)、あるいはメッセージ240に基づいて生成された検索クエリが、インデックス付けエンジン126および/または情報エンジン130などの知識システム102の様々な構成要素に提供され得る。それらの構成要素は、応答するコンテンツ(たとえば、検索結果、代替クエリ提案、応答する情報など)を生成することができ、次いで252において、応答するコンテンツが、1つまたは複数のしきい値を満たすかどうかを判断するために分析され得る。回答がnoである場合、248を参照しながら説明したように、最も良くマッチングする会話型応答が識別され、組み込まれ得る。たとえば、検索クエリに応答する検索結果の人気があまりにも低い場合、メッセージ交換スレッドにこれらの検索結果を組み込むことは、メッセージ交換スレッド参加者にとって特に有益ではなく、または興味深くないことがある。一方、ブロック252における回答がyesである場合、応答するコンテンツのサブセットが254においてメッセージ交換スレッドに組み込まれ得る。
【００５１】
図2に示す動作/構成要素は、開示する技法が実装され得る方法の一例にすぎない。本明細書では多数の変形形態が企図される。たとえば、いくつかの実装形態では、ICS機械学習モデル242は省略され得る。代わりに、最良のマッチを決定するために複数のメッセージ/会話型応答ペアとメッセージ240が比較されるだけであり得る。メッセージ240と最も良くマッチングするメッセージ/会話型応答ペアのメッセージとの間の類似性が、ICSとして使用されるだけであり得る。ICSが1つまたは複数の絶対しきい値を満たす場合(246)、会話型応答がさらなる分析なしにメッセージ交換スレッドに組み込まれ得る。ICSとSQSSとの間の差(Δ)が1つもしくは複数のしきい値を満たす場合(250)、またはメッセージ240に基づいて生成された検索クエリに応答するコンテンツが1つもしくは複数のしきい値を満たさない場合(252)に、会話型応答がメッセージ交換スレッドに組み込まれることもある。追加または代替として、ファジーマッチングするのではなく、メッセージ240への会話型応答を識別し組み込むために、一連のヒューリスティックが提供され得る。
【００５２】
図3は、クライアントデバイス306上で動作する(図3に明示されていない)メッセージ交換クライアントに関連するグラフィカルユーザインターフェース360を含む(「YOU」と指定される)特定のユーザによって操作される例示的なクライアントデバイス306を示す。グラフィカルユーザインターフェース360は、クライアントデバイス306を操作しているユーザとクライアントデバイス306上にインストールされたパーソナルアシスタントモジュール(「PAM」)との間のメッセージ交換スレッドのトランスクリプト362を表示する。グラフィカルユーザインターフェース360はまた、クライアントデバイス306の操作者が、たとえば、パーソナルアシスタントモジュールによる以前の文に応答して、テキストまた他のコンテンツをメッセージ交換スレッドに入力するために使用することができるテキスト入力フィールド364を含む。
【００５３】
操作者は、最初にパーソナルアシスタントモジュールに「How are you today?(今日の調子はどうですか?)」と尋ねる。この質問(またはより一般的に「メッセージ」)は、生成し得る検索結果があまり有用ではないか、または有意味ではない可能性が高いので、検索クエリとして使用するのに適切ではない。だが、質問は、以下のメッセージ/会話型応答ペアなど、1つまたは複数のメッセージ/会話型応答ペアと完全に、または少なくともかなりマッチングする可能性が高い。<「How's it going today?(今日はどうですか?)」、「I'm doing just fine. How are you?(元気です。調子はどうですか?)」>。したがって、パーソナルアシスタントモジュールは会話型応答「I'm doing just fine. How are you?(元気です。調子はどうですか?)」をトランスクリプト362に投稿する。クライアントデバイス306の操作者は次に、「I've been worse(前ほど悪くありません)」と応答する。ここでも、このメッセージは検索クエリの生成および提出に適切ではない。代わりに、メッセージは、以下のような1つまたは複数のメッセージ/会話型応答ペアとマッチングする可能性が高い。<「I could be worse(そんなに悪くありません)」、「Let me know if there is anything I can do to improve your day(私が助けられることがあれば知らせてください)」>。したがって、パーソナルアシスタントモジュールは会話型応答「Let me know if there is anything I can do to improve your day(私が助けられることがあれば知らせてください)」を投稿する。
【００５４】
次に、操作者はパーソナルアシスタントモジュールに「What's on the agenda tomorrow?(明日の日程には何がありますか?)」と尋ねる。メッセージ「What's on the agenda tomorrow?(明日の日程には何がありますか?)」は、図2に示すような機械学習モデルに入力として使用されるときに、比較的低いICSおよび/または比較的高いSQSSをもたらし得る。追加または代替として、メッセージが単語「What(何)」で始まり、単語「agenda(日程)」を含むことは、(たとえば、1つまたは複数のヒューリスティックを介して)このメッセージが検索クエリの生成および提出において使用するのに適切であるものとして識別されることにもつながり得る。したがって、メッセージは、たとえば、知識システム102または個々のクライアントデバイス106の様々な構成要素に、当日の翌日の操作者のスケジュールを取得する検索クエリを生成し提出するために使用される。次いでパーソナルアシスタントモジュールは、散文形式でトランスクリプトに応答「You have meetings scheduled at 11 :30 AM and 2:00 PM. And drinks with Sue at Restaurant 7686(午前11時30分と午後2時に会合が予定されています。そしてレストラン7686でSueと飲むことになっています)」を組み込む。
【００５５】
図4は、図3に示すメッセージ交換スレッドの続きを示す。したがって、ユーザインターフェース360で見えるトランスクリプト362のメッセージを除き、すべての構成要素は同じである。(上述した)明日の操作者のスケジュールについてのパーソナルアシスタントモジュールの最後のメッセージに続いて、操作者は、「Where is Restaurant 7686?(レストラン7686はどこにありますか?)」と尋ねる。そのようなメッセージは、たとえば、1つまたは複数の機械学習モデル(たとえば、242、244)への入力として提供されるときに、比較的高いSQSSおよび比較的低いICSをもたらし得る。追加または代替として、いくつかの実装形態では、エンティティ「Restaurant 7686(レストラン7686)」が、上述した知識ベースに対して相互参照されて、レストラン7686が既知のエンティティであると判断され得る。一般に、知識ベースにおいてメッセージで言及されたエンティティが識別されると、発生メッセージは、そうでない場合よりも高いSQSSを受信し得る。したがって、レストラン7686についてのユーザの質問は、比較的高いSQSSを受信し得る。
【００５６】
いくつかの実装形態では、知識ベースにおいてエンティティが識別されると、エンティティがパーソナルアシスタントモジュールに関連付けることができないものであると判断された場合に、SQSSがさらに高くなり得る。たとえば、メッセージ交換スレッド参加者が「Where is your epiglottis?(あなたの喉頭蓋はどこにありますか?)」という質問を投げかけると仮定する。パーソナルアシスタントモジュールは知識ベースから、喉頭蓋が、自身が持ち得ない人間の器官であると判断し得る。したがって、比較的高いSQSSが参加者の質問に割り当てられ得る。喉頭蓋についての情報など、対応する検索クエリに応答するコンテンツが、たとえば、パーソナルアシスタントモジュールによってメッセージ交換スレッドに組み込まれ得る。
【００５７】
図4に戻ると、パーソナルアシスタントモジュールは、レストランの所在地を提供することによって応答する。次いで操作者は、「Darn! I wish I could skip that.(ちぇっ、それをキャンセルできればなあ)」と叫ぶ。このメッセージは、図2に示すような1つまたは複数の機械学習モデルへの入力として提供されるとき、比較的高いICSおよび/または比較的低いSQSSを受信し得る。したがって、パーソナルアシスタントモジュールは、このメッセージをできるだけ最良の形でメッセージ/会話型応答ペアにマッチングさせ得る。たとえば、それは、様々な度合いで以下のメッセージ/会話型応答ペアにマッチングされ得る。<「Shoot! .*(くそっ!*)」、「I'm sorry(すみません)」>、<「Dang! .*(げっ!*)」、「I'm sorry(すみません)」>、<「Drat! .*(ちくしょう!*)」、「I'm sorry(すみません)」>。したがって、この例では、パーソナルアシスタントモジュールは、会話型応答「I'm sorry(すみません)」により応答する。
【００５８】
図3〜図4の例は、視覚ベースのメッセージ交換スレッドの一部として実装されるものとして示されているが、これは限定的なものではない。様々な実施形態では、本明細書で説明する技法は、たとえば、参加者と独立型音声応答デバイス上で動作しているパーソナルアシスタントモジュールとの間の可聴的メッセージ交換スレッドに適用され得る。
【００５９】
本明細書で説明する例では、メッセージ交換スレッドコンテンツに基づいて形成された検索クエリに応答するデータは、図1の知識システム102に関連する様々なソースから取得されている。ただし、これは限定的なものではない。応答するデータは、他のソースからも引き出され得る。場合によっては、検索クエリは、(ユーザが最初に許可を与えていると仮定して)ユーザにとって個人的である情報を検索するために使用され得る。たとえば、クライアントデバイス106に少なくとも部分的に記憶され得るユーザ自身の電子メール、テキスト、カレンダーエントリ、ソーシャルネットワークのステータスの更新、および他の同様の情報が、検索クエリが検索するために使用され得る潜在的に検索可能なソースとして使用され得る。
【００６０】
ここで図5を参照して、メッセージ交換スレッドを拡張する1つの例示的な方法500について説明する。便宜上、フローチャートの動作は、動作を実行するシステムを参照しながら説明する。このシステムは、本明細書で説明する様々なエンジンを含む、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法500の動作は特定の順序で示されているが、これは限定的なものではない。1つまたは複数の動作が並べ替えられても、省略されても、追加されてもよい。
【００６１】
ブロック502において、システムは、1つまたは複数のメッセージ交換クライアント(ひいては1人または複数の参加者)を関与させるメッセージ交換スレッドから、参加者によってメッセージ交換スレッドに投稿されたメッセージを取得し得る。これは、参加者によってメッセージ交換スレッドに入力された任意のメッセージを含むことができ、メッセージが別の参加者に向けられているか、それともメッセージ交換スレッドに参加しているパーソナルアシスタントモジュールに向けられているかを問わない。たとえば、方法500の説明のために、ユーザが「How old is President Obama?(オバマ大統領は何歳ですか?)」という質問を投げかけると仮定する。
【００６２】
ブロック504において、メッセージに関連するICSが計算され得る。上記のように、いくつかの実装形態では、ICSは、入力としてメッセージを受信した機械学習モデル(たとえば、242)によって提供され得る。追加または代替として、いくつかの実装形態では、ICSは、考慮中のメッセージがメッセージ/会話型応答ペアとどの程度マッチングするかに基づいて計算され得る。進行中の説明では、メッセージ「How old is President Obama?(オバマ大統領は何歳ですか?)」が<「How old are you?(あなたは何歳ですか?)」、「I am [insert number of years since personal assistant module activated] years old(私は[パーソナルアシスタントモジュールがアクティブ化されてからの年数を挿入]歳です)」>のメッセージ/会話型応答ペアと最も良くマッチングし得る。そのようなマッチは、特に高いICSをもたらさない可能性が高い。
【００６３】
いくつかの実装形態ではブロック504の動作と並行して発生し得るブロック506において、メッセージに関連するSQSSが計算され得る。上記のように、いくつかの実装形態では、SQSSは、入力としてメッセージを受信した機械学習モデル(たとえば、244)によって提供され得る。進行中の説明では、メッセージ「How old is President Obama?(オバマ大統領は何歳ですか?)」は、たとえば、それが既知のエンティティに言及し、かつ/または第三者についての質問であるので、比較的高いSQSSを受信し得る。代替実装形態では、SQSSは、メッセージに基づいて自動的に生成され、様々なソースに提出された1つまたは複数の検索クエリに応答するコンテンツに基づいて生成され得る。だが、図5の実装形態では、検索クエリはブロック512において生成され、ブロック514において提出される。
【００６４】
ブロック508において、ブロック504において計算されたICSが、ブロック506において計算されたSQSSと比較され得る。2つの値の間のΔが何らかの所定のしきい値を満たす(したがって、メッセージが検索クエリに適切ではないものとして満たされる)場合、システムはブロック510に進み、510において、考慮中のメッセージと最も良くマッチングしたメッセージ/会話型応答ペアに関連する会話型応答がメッセージ交換スレッドに組み込まれ得る。一方、ブロック508における回答がnoである(したがって、メッセージが検索クエリに適切であるものに分類される)場合、方法500はブロック512に進み得る。進行中の例では、メッセージ「How old is President Obama(オバマ大統領は何歳ですか)」に関連するICSは、そのSQSS未満である可能性が高く、そのため方法500はブロック512に進み得る。
【００６５】
ブロック512において、システムは考慮中のメッセージに基づいて検索クエリを生成し得る。メッセージが質問として投げかけられるか、または場合によってはすでに使用可能検索クエリの形態によるものである場合、メッセージは検索クエリとして逐語的に様々な構成要素に提出されるだけであり得る。一方、メッセージが検索クエリとして使用されるのに適切な形態によるものではない場合、様々な自然言語処理技法、文書き直し、エンティティ解決などが、様々なソースへの提出により適切な形態による検索クエリを生成するために適用され得る。進行中の例では、メッセージ「How old is President Obama(オバマ大統領は何歳ですか)」は、検索クエリとして使用するのに好適に見え、実際(たとえば、情報エンジン130から)直接の回答を生成する可能性が高い。その上、オバマ大統領についての百科事典のページ、オンライン伝記、オンラインファクトシートなど、オバマ大統領の年齢に関係するか、または関係し得る検索結果がいくつかある可能性が高い。
【００６６】
ブロック514において、システムは、たとえば、知識システム102の様々な構成要素に検索クエリを提出し、応答してコンテンツを受信することによって、検索クエリに応答するコンテンツを取得し得る。本開示から明らかなように、「検索クエリ」という用語は、応答するドキュメントを返信するものである何らかの種類の検索エンジンにユーザから意図的にタイプされた質問または文に限定されない。むしろ、「検索クエリ」という用語は、応答するコンテンツをもたらすために知識システム102の1つまたは複数の構成要素に提出され得る任意の情報をより広く意味する。上記のように、これらの構成要素は、いくつかの例を挙げれば、インデックス付けエンジン126、情報エンジン130、および代替クエリ提案エンジン136を含み得る。いくつかの実装形態では、複数の検索クエリを生成するためにメッセージが使用されてよく、各検索クエリは、たとえば、応答するコンテンツの品質を改善するために、知識システム102の異なる構成要素に適合し得る。
【００６７】
図5に戻ると、ブロック516において、システムは、検索クエリに応答して返信されたコンテンツの少なくともサブセットをメッセージ交換スレッドに組み込み得る。上記のように、クライアントデバイス106または知識システム102のいずれかの様々な構成要素がこの動作を実行し得る。たとえば、メッセージ交換エンジン120および/またはパーソナルアシスタントエンジン122は、1つまたは複数のメッセージ交換クライアント107が、応答するコンテンツを、各メッセージ交換クライアント107によって視覚的にレンダリングされたトランスクリプトに挿入することを要求し得る。追加または代替として、応答するコンテンツは、知識システム102の1つまたは複数の構成要素によってメッセージ交換クライアント107に提供され得、メッセージ交換スレッドに組み込まれる応答するコンテンツを選択する(すなわち、選別する)ことは、メッセージ交換クライアント107の責任であり得る。また、いくつかの実装形態では、組み込まれたコンテンツは、パーソナルアシスタントモジュールが参加者に対して「話す」可聴的コンテンツの形態をとり得る。進行中の例では、「Barack Obama is XX years old(バラクオバマはXX歳です)」などの文がメッセージ交換スレッドに組み込まれ得る。
【００６８】
図6は、例示的なコンピュータシステム610のブロック図である。コンピュータシステム610は通常、バスサブシステム612を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ614を含む。これらの周辺デバイスは、たとえば、メモリサブシステム625およびファイル記憶サブシステム626を含む記憶サブシステム624と、ユーザインターフェース出力デバイス620と、ユーザインターフェース入力デバイス622と、ネットワークインターフェースサブシステム616とを含み得る。入力デバイスおよび出力デバイスは、コンピュータシステム610とのユーザ対話を可能にする。ネットワークインターフェースサブシステム616は、外部ネットワークへのインターフェースを提供し、他のコンピュータシステムにおける対応するインターフェースデバイスに結合される。
【００６９】
ユーザインターフェース入力デバイス622は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/または他のタイプの入力デバイスを含み得る。一般に、「入力デバイス」という用語の使用は、コンピュータシステム610中または通信ネットワーク上に情報を入力するためのすべての可能なタイプのデバイスおよび方法を含むものである。
【００７０】
ユーザインターフェース出力デバイス620は、ディスプレイサブシステム、プリンタ、ファックス装置、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を形成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスを介するなどして非視覚的ディスプレイを提供し得る。一般に、「出力デバイス」という用語の使用は、コンピュータシステム610からユーザまたは別の機械もしくはコンピュータシステムに情報を出力するためのすべての可能なタイプのデバイスおよび方法を含むものである。
【００７１】
記憶サブシステム624は、本明細書で説明するモジュールの一部または全部の機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、記憶サブシステム624は、方法500の選択された態様を実行し、かつ/またはメッセージ交換クライアント107、パーソナルアシスタントモジュール109、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、インデックス付けエンジン126、情報エンジン130、ランク付けエンジン134、および/もしくは代替クエリ提案エンジン136のうちの1つもしくは複数を実装するための論理を含み得る。
【００７２】
これらのソフトウェアモジュールは一般に、プロセッサ614によって単独で、または他のプロセッサと組み合わせて実行される。記憶サブシステム624において使用されるメモリ625は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)630ならびに固定された命令が記憶される読取り専用メモリ(ROM)632を含むいくつかのメモリを含むことができる。ファイル記憶サブシステム626は、プログラムおよびデータファイルの持続的記憶を実現でき、ハードディスクドライブ、フロッピーディスクおよび関連する取外し可能媒体、CD-ROMドライブ、オプティカルドライブ、または取外し可能媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ファイル記憶サブシステム626によって記憶サブシステム624に、またはプロセッサ614によってアクセス可能な他の機械に記憶され得る。
【００７３】
バスサブシステム612は、コンピュータシステム610の様々な構成要素およびサブシステムに意図されたように互いに通信させるための機構を提供する。バスサブシステム612は単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使用してよい。
【００７４】
コンピュータシステム610は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含む、異なるタイプを有してよい。コンピュータおよびネットワークの絶えず変化する性質に起因して、図6に示すコンピュータシステム610の説明は、いくつかの実装形態を示す目的のための具体例としてのみ意図されている。図6に示すコンピュータシステムよりも多いまたは少ない構成要素を有するコンピュータシステム610の多くの他の構成が可能である。
【００７５】
本明細書で説明するシステムがユーザについての個人情報を収集するか、または個人情報を利用し得る状況では、ユーザは、プログラムもしくは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワークについての情報、ソーシャル行動もしくは活動、職業、ユーザの選好、もしくはユーザの現在の地理的ロケーション)を収集するかどうかを制御するための、またはユーザにとってより関連し得るコンテンツサーバからのコンテンツを受信するかどうかおよび/もしく受信する方法を制御するための機会を提供され得る。また、ある種のデータは、個人識別可能情報が除去されるように、記憶または使用される前に1つまたは複数の方法で処理され得る。たとえば、ユーザの識別情報が、個人識別可能情報がユーザに関して特定できないように処理され得、またはユーザの地理的ロケーションが、ユーザの特定の地理的ロケーションが特定できないように、地理的ロケーション情報が取得される場合に(たとえば、都市、郵便番号、もしくは州のレベルに)一般化され得る。したがって、ユーザは、情報がユーザについて収集され、かつ/または使用される方法を制御することができる。
【００７６】
いくつかの実装形態が本明細書で説明され示されたが、機能を実行し、かつ/もしくは結果を取得するための様々な他の手段および/もしくは構造、ならびに/または本明細書で説明する利点のうちの1つもしくは複数が利用されてよく、そのような変形形態および/または修正形態の各々は、本明細書で説明する実装形態の範囲内にあると見なされる。より一般的には、本明細書で説明するすべてのパラメータ、寸法、材料、および構成は、例示的なものであり、実際のパラメータ、寸法、材料、および/または構成は、本教示が使用される特定の適用例に依存することになる。当業者は、単に所定の実験を使用して、本明細書で説明する特定の実装形態の多くの等価物を認識し、または確認できよう。したがって、上記の実装形態が単に例として提示されていること、ならびに添付の特許請求の範囲およびその等価物の範囲内で、実装形態が具体的に説明され特許請求される方法とは異なる方法で実施されてよいことを理解されたい。本開示の実装形態は、本明細書で説明する各個の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、2つ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００７７】
102  知識システム
106  クライアントデバイス、ホストクライアントデバイス
1061〜N  クライアントデバイス
107  メッセージ交換クライアント、構成要素
109  パーソナルアシスタントモジュール、構成要素
110  ネットワーク
120  メッセージ交換エンジン、エンジン、構成要素
122  パーソナルアシスタントエンジン、エンジン、構成要素
124  インデックス
126  インデックス付けエンジン、エンジン
128  インデックス
130  情報エンジン、エンジン
132  インデックス
134  ランク付けエンジン、エンジン
136  代替クエリ提案エンジン、エンジン
240  メッセージ
242  ICS機械学習モデル、機械学習モデル
244  SQSS機械学習モデル、機械学習モデル
306  クライアントデバイス
360  グラフィカルユーザインターフェース、ユーザインターフェース
362  トランスクリプト
364  テキスト入力フィールド
500  方法
610  コンピュータシステム
612  バスサブシステム
614  プロセッサ
616  ネットワークインターフェースサブシステム
620  ユーザインターフェース出力デバイス
622  ユーザインターフェース入力デバイス
624  記憶サブシステム
625  メモリサブシステム、メモリ
626  ファイル記憶サブシステム
630  メインランダムアクセスメモリ(RAM)
632  読取り専用メモリ(ROM)
【図１】
2019521415.tif 000003
【図２】
2019521415.tif 000004
【図３】
2019521415.tif 000005
【図４】
2019521415.tif 000006
【図５】
2019521415.tif 000007
【図６】
2019521415.tif 000008
【国際調査報告】
2019521415.tif 000009
2019521415.tif 000010