(57)【要約】  第1のメッセージ交換スレッドの参加者に関連付けられるパーソナルアシスタントモジュールにとってアクセス可能な第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、第1のメッセージ交換スレッドの少なくとも第1の参加者の属性を決定することと、パーソナルアシスタントモジュールによって、第1の参加者に関連する属性を記憶することと、パーソナルアシスタントモジュールによって、第1のメッセージ交換スレッドのコンテンツまたは参加者を伴う第2のメッセージ交換スレッドのコンテンツに基づいて検索クエリを形成することと、パーソナルアシスタントモジュールによって、検索クエリに応答するコンテンツを取得することと、パーソナルアシスタントモジュールによって、第1のスレッドまたは第2のスレッドに、応答コンテンツに関連付けられたメッセージを組み込むこととによって、メッセージ交換スレッドを使用した効率的な検索を可能にするための技法が提供される。検索クエリは、第1の参加者の記憶された属性に基づいて選択されたアイテムを含む。
2019520635.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって動作させられるパーソナルアシスタントモジュールによって、前記パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、前記第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定するステップであって、前記パーソナルアシスタントモジュールが前記第1のメッセージ交換スレッドの参加者に関連付けられる、決定するステップと、
前記パーソナルアシスタントモジュールによって、前記第1の参加者に関連する前記1つまたは複数の属性を記憶するステップと、
前記パーソナルアシスタントモジュールによって、前記第1のメッセージ交換スレッドのコンテンツまたは前記パーソナルアシスタントモジュールに関連付けられた前記参加者を伴う第2のメッセージ交換スレッドのコンテンツに少なくとも部分的に基づいて検索クエリを形成するステップであって、前記検索クエリが、前記第1の参加者の前記記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムをさらに含む、形成するステップと、
前記パーソナルアシスタントモジュールによって、前記検索クエリに応答するコンテンツを取得するステップと、
前記パーソナルアシスタントモジュールによって、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドに、前記応答コンテンツに関連付けられた1つまたは複数のメッセージを組み込むステップと
を含む、コンピュータ実装方法。
【請求項２】
前記パーソナルアシスタントモジュールに関連付けられた前記参加者が前記第1の参加者である、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記パーソナルアシスタントモジュールが、前記第1の参加者とは異なる、前記第1のメッセージ交換スレッド中の第2の参加者に関連付けられる、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記組み込むステップが、1つまたは複数のスピーカーを介して、前記応答コンテンツに関連付けられた前記1つまたは複数のメッセージをコンピュータ生成された音声として可聴的にレンダリングするステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項５】
前記組み込むステップが、前記応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素をディスプレイ上に視覚的にレンダリングするステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項６】
前記組み込むステップは、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求するステップであって、前記トランスクリプトが前記少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、前記1つまたは複数のグラフィカル要素が前記応答コンテンツに関連付けられる、要求するステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記1つまたは複数のグラフィカル要素が、前記応答コンテンツを伝達するテキストを含む、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記1つまたは複数のグラフィカル要素が、前記応答コンテンツを伝達する1つまたは複数の画像を含む、請求項6または請求項7に記載のコンピュータ実装方法。
【請求項９】
前記参加者投稿メッセージが、前記第1のメッセージ交換スレッドのある参加者から別の参加者にダイレクトされる、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項１０】
前記決定するステップが、前記参加者投稿メッセージに基づいて前記1つまたは複数の属性を推論するステップを含む、請求項9に記載のコンピュータ実装方法。
【請求項１１】
前記1つまたは複数の属性が前記第1のユーザの選好を含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項１２】
前記形成するステップが、前記1つまたは複数の属性に関係する検索結果をキャプチャするように前記検索クエリを形成するステップを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項１３】
前記形成するステップが、前記1つまたは複数の属性に関係する検索結果を除外するように前記検索クエリを形成するステップを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項１４】
メモリと、1つまたは複数のプロセッサとを含むシステムであって、前記メモリが、前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサにパーソナルアシスタントモジュールを動作させることを行わせる命令を記憶し、前記パーソナルアシスタントモジュールは、
前記パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、前記第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定することであって、前記パーソナルアシスタントモジュールが前記第1のメッセージ交換スレッドの第2の参加者に関連付けられる、決定することと、
前記第1の参加者に関連する前記1つまたは複数の属性を記憶することと、
前記第1のメッセージ交換スレッドのコンテンツまたは前記第2の参加者を伴う第2のメッセージ交換スレッドのコンテンツから検索クエリを形成することと、
前記検索クエリに応答する複数のアイテムを取得することであって、前記複数のアイテムが、前記1つまたは複数の属性に少なくとも部分的に基づいてランク付けを割り当てられる、取得することと、
前記ランク付けに少なくとも部分的に基づいて、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドに、前記複数のアイテムに関連付けられた1つまたは複数のメッセージを選択的に組み込むことと
を行うように構成された、システム。
【請求項１５】
前記選択的組込みが、コンピュータ生成された音声としての、前記応答コンテンツに関連付けられた前記1つまたは複数のメッセージの、1つまたは複数のスピーカーを介した、可聴レンディションを含む、請求項14に記載のシステム。
【請求項１６】
前記選択的組込みが、ディスプレイ上での、前記応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素の視覚レンディションを含む、請求項14に記載のシステム。
【請求項１７】
前記選択的組込みは、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求することであって、前記トランスクリプトが少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、前記1つまたは複数のグラフィカル要素が前記複数のアイテムに関連付けられる、要求することを含む、請求項14に記載のシステム。
【請求項１８】
前記1つまたは複数のグラフィカル要素が、前記1つまたは複数のメッセージを伝達するテキストを含む、請求項17に記載のシステム。
【請求項１９】
前記1つまたは複数のグラフィカル要素が、前記1つまたは複数のメッセージを伝達する1つまたは複数の画像を含む、請求項17に記載のシステム。
【請求項２０】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、請求項1から13のいずれか一項に記載の前記方法を実施させる、コンピュータ可読命令。
【発明の詳細な説明】
【技術分野】
【０００１】
メッセージ交換スレッドを使用した効率的な検索を可能にすることに関する。
【背景技術】
【０００２】
パーソナルアシスタントモジュールは、ユーザが自然言語コマンドを発行するためのユーザフレンドリなインターフェースを提供するために、スマートフォン、タブレット、車両ナビゲーションシステム、およびスマートウォッチなど、コンピューティングデバイス上にインストールされたソフトウェアプロセスである。ユーザは、しばしば、自分のボイスを使用して自然言語コマンドを発行するが、パーソナルアシスタントモジュールは、テキストおよび/または画像入力の様々な形式など、他のモダリティにも応答し得る。ユーザは、テキストメッセージング、オンラインチャット(たとえば、インスタントメッセンジャー、インターネットリレーチャットなど)、ソーシャルネットワークスレッド、対話型ボイス応答など、様々な技術を使用して実装されるメッセージ交換スレッドを介して、パーソナルアシスタントモジュールおよび/または互いと通信し得る。進行中のメッセージ交換スレッドは、テキスト、オーディオ、あるいは、参加者またはパーソナルアシスタントモジュールによってメッセージ交換スレッドに組み込まれるピクチャなどの他のデータに限定され得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
本開示は、一般に、メッセージ交換スレッドを使用した効率的な検索を可能にするための方法、装置、およびコンピュータ可読媒体(一時的および非一時的)を対象とする。たとえば、本方法、本装置、および本コンピュータ可読媒体は、メッセージ交換スレッド参加者の属性を決定し、それらの属性を、検索クエリの効率的な形成のために、または、検索クエリに応答して返されるコンテンツ(たとえば検索結果)をバイアスするために使用し得る。以下の説明から諒解されるように、検索クエリが、記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムを自動的に含み得るので、検索クエリは効率的に形成され、それにより、それらのアイテムを手動で提供するためのユーザデバイス対話の必要(および計算リソースの関連する消費)を低減し得る。さらに、1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムを検索クエリ中に含めることによって、ユーザが、得られた検索結果を改良するかまたはさらなる検索を実施する必要(および計算リソースの関連する消費)が低減され得る。同様に、属性に基づいて、検索クエリに応答して返されるコンテンツをバイアスすることによって、検索結果との対話および/または検索結果の改良の量(および計算リソースの関連する消費)が低減され得る。したがって、属性が、検索クエリ中にアイテムを含めるために使用されるのか、検索クエリに応答するコンテンツをバイアスするために使用されるのかにかかわらず、検索プロセスの総合効率は改善され得る。
【０００４】
ユーザがユーザのパーソナルアシスタントモジュールとの複数の会話型フローに関与すると仮定する。これらの会話は、同様に他のユーザ(または「参加者」)を含むことも含まないこともある。1つまたは複数の会話では、ユーザとパーソナルアシスタントモジュールとは、たとえば、好適なレストランを選ぼうとしていくつかのメッセージを交換する。途中で、ユーザおよび/または他の参加者は、将来における同様の会話に適用可能であり得る選好および選択を暗黙的にまたは明示的に表現し得る。たとえば、参加者は、料理選好(「私はベジタリアンです」)、コスト選好(「あまり高級でないもの」)、時間選好(「私は8時に暇です」)などを示し得る。
【０００５】
様々な実装形態では、これらの対話は、パーソナルアシスタントモジュールに関連付けられた参加者のために記憶され得る。いくつかの実装形態では、それらの対話は、解釈され、および/または注釈を付けられ、いくつかの事例では、会話が行われたときの参加者のうちの1つまたは複数の時間および/またはロケーションに関連付けられ得る。この情報は、後続の会話型フローを改善するために、後で使用され得る。たとえば、フランス料理に対する興味を以前に示したことがある参加者が、「私は空腹です」と言った場合、パーソナルアシスタントモジュールは、「オーケー、またフランス料理はどうですか?」と返答し、通常ならば見せられ得る代替案のより幅広いセットの代わりに、オプションの適宜に制約されたセットを提示し得る。これは、たとえば、パーソナルアシスタントモジュールに関連付けられた参加者に関連付けられた履歴を、関連のある発言について検索することによって、達成され得る。たとえば、料理選好が言及されたことがあるすべての事例の検索が実施され得る。次いで、結果は、選好が言及されたロケーション、選好が言及された時間など、様々な信号に基づいて絞り込まれ得る。たとえば、参加者がディナーオプションを検索する場合、ディナーメッセージ/選好が、朝食のほうを優先して使用され得る。メッセージは、同様に、それらの現在ロケーションにおいてまたはその近くで前に述べられたメッセージに絞り込まれ得る。たとえば、参加者の選好は、在宅時と旅行時とで異なり得る。
【０００６】
いくつかの実装形態では、パーソナルアシスタントモジュールは、メッセージ交換スレッドのコンテンツから、それらが関連付けられる参加者の属性、および/またはメッセージ交換スレッドのコンテンツに基づく別の参加者の属性を決定し得る。これらの決定された属性、および/または属性を伝達したメッセージは、メッセージ交換スレッドを拡張するときにパーソナルアシスタントモジュールが後で使用するために記憶され得る。パーソナルアシスタントモジュールが、検索クエリを構築し、および/またはそれを知識システムの1つまたは複数の構成要素にサブミットするように後で命令される(またはさもなければ刺激される)とき、検索クエリは、メッセージ交換スレッド(たとえば、「どこで食事しましょうか?」)からのコンテンツと、記憶された参加者属性に基づいて選択された1つまたは複数のアイテムの両方で形成され得る(たとえば、参加者Aは以前金欠であると示され、したがって、中価格帯(「$$」)または低価格帯(「$」)のレストランのみを見つけるためのクエリを形成する)。
【０００７】
追加または代替として、記憶された参加者属性は、検索クエリを形成するのではなく、応答コンテンツをバイアスするために使用され得る。たとえば、上述の知識システムの1つまたは複数の構成要素は、それが応答コンテンツをクライアントデバイスに返す前に、記憶された参加者属性に基づいて結果をバイアスし得る。または、いくつかの実装形態では、パーソナルアシスタントモジュールは、記憶された参加者属性に基づいてパーソナルアシスタントモジュールが知識システムから受信する応答コンテンツをバイアスし得る。
【０００８】
一例として、メッセージ交換スレッドの第1の参加者が、第2の参加者(または複数の他の参加者)に、「私は中華料理が好きではありません」と告げると仮定する。メッセージ交換スレッドへのアクセスをもつ(たとえば、それに参加している)パーソナルアシスタントモジュールは、この発言から、スレッドの少なくとも1人の参加者(パーソナルアシスタントモジュールは、IVRベース実装における複数の参加者を見分ける能力を有することも有しないこともある)が中華料理を好きではないと推論し得る。パーソナルアシスタントモジュールはこの属性を記憶し得る。ある介在時間期間の後に、さらには、同じまたは同様の参加者との後続のメッセージ交換スレッド中で、参加者が、「話を戻そう、近くにある美味しくて安いランチスポットはどこですか?」と尋ねたとき、パーソナルアシスタントモジュールは、中華料理店を除外する検索クエリを構築し得る。追加または代替として、パーソナルアシスタントモジュールは、スレッド中の参加者の要求から排他的に形成される検索クエリをサブミットし、次いで、結果を廃棄するようにバイアスをかけるか、または、少なくとも、中華レストランに関係する結果に低ランクを割り当て得る。
【０００９】
いくつかの実装形態では、以下の動作、すなわち、1つまたは複数のプロセッサによって動作させられるパーソナルアシスタントモジュールによって、パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定することを含む方法が提供され得る。パーソナルアシスタントモジュールは第1のメッセージ交換スレッドの参加者に関連付けられ、本方法は、パーソナルアシスタントモジュールによって、第1の参加者に関連する1つまたは複数の属性を記憶することと、パーソナルアシスタントモジュールによって、第1のメッセージ交換スレッドのコンテンツまたはパーソナルアシスタントモジュールに関連付けられた参加者を伴う第2のメッセージ交換スレッドのコンテンツに少なくとも部分的に基づいて検索クエリを形成することとをさらに含む。検索クエリは、第1の参加者の記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムをさらに含み、本方法は、パーソナルアシスタントモジュールによって、検索クエリに応答するコンテンツを取得することと、パーソナルアシスタントモジュールによって、第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドに、応答コンテンツに関連付けられた1つまたは複数のメッセージを組み込むこととをさらに含む。
【００１０】
この方法、および本明細書で開示される技術の他の実装形態は、各々、以下の特徴のうちの1つまたは複数を随意に含み得る。
【００１１】
いくつかの実装形態では、パーソナルアシスタントモジュールに関連付けられた参加者は第1の参加者である。
【００１２】
いくつかの実装形態では、パーソナルアシスタントモジュールは、第1の参加者とは異なる、第1のメッセージ交換スレッド中の第2の参加者に関連付けられる。
【００１３】
いくつかの実装形態では、組み込むことは、1つまたは複数のスピーカーを介して、応答コンテンツに関連付けられた1つまたは複数のメッセージをコンピュータ生成された音声として可聴的にレンダリングすることを含む。
【００１４】
いくつかの実装形態では、組み込むことは、応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素をディスプレイ上に視覚的にレンダリングすることを含む。
【００１５】
いくつかの実装形態では、組み込むことは、第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求することを含む。トランスクリプトは、少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、1つまたは複数のグラフィカル要素は応答コンテンツに関連付けられる。それらの実装形態のうちのいくつかでは、1つまたは複数のグラフィカル要素は、応答コンテンツを伝達するテキストおよび/または応答コンテンツを伝達する1つまたは複数の画像を含む。
【００１６】
いくつかの実装形態では、参加者投稿メッセージは、第1のメッセージ交換スレッドのある参加者から別の参加者にダイレクトされる。それらの実装形態のうちのいくつかでは、決定することは、参加者投稿メッセージに基づいて1つまたは複数の属性を推論することを含む。
【００１７】
いくつかの実装形態では、1つまたは複数の属性は第1のユーザの選好を含む。
【００１８】
いくつかの実装形態では、形成することは、1つまたは複数の属性に関係する検索結果をキャプチャするように検索クエリを形成することを含む。
【００１９】
いくつかの実装形態では、形成することは、1つまたは複数の属性に関係する検索結果を除外するように検索クエリを形成することを含む。
【００２０】
いくつかの実装形態では、以下の動作、すなわち、パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定することを含む方法が提供され得る。パーソナルアシスタントモジュールは第1のメッセージ交換スレッドの第2の参加者に関連付けられ、本方法は、第1の参加者に関連する1つまたは複数の属性を記憶することと、第1のメッセージ交換スレッドのコンテンツまたは第2の参加者を伴う第2の交換スレッドのコンテンツから検索クエリを形成することと、検索クエリに応答する複数のアイテムを取得することとをさらに含む。複数のアイテムは、1つまたは複数の属性に少なくとも部分的に基づいてランク付けを割り当てられ、本方法は、ランク付けに少なくとも部分的に基づいて、第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドに、複数のアイテムに関連付けられた1つまたは複数のメッセージを選択的に組み込むことをさらに含む。
【００２１】
この方法、および本明細書で開示される技術の他の実装形態は、各々、以下の特徴のうちの1つまたは複数を随意に含み得る。
【００２２】
いくつかの実装形態では、選択的に組み込むことは、コンピュータ生成された音声としての、応答コンテンツに関連付けられた1つまたは複数のメッセージの、1つまたは複数のスピーカーを介した、可聴レンディション(rendition)を含む。
【００２３】
いくつかの実装形態では、選択的に組み込むことは、ディスプレイ上での、応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素の視覚レンディションを含む。
【００２４】
いくつかの実装形態では、選択的に組み込むことは、第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を第1のメッセージ交換スレッドまたは第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求することを含む。トランスクリプトは、少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、1つまたは複数のグラフィカル要素は複数のアイテムに関連付けられる。それらの実装形態のうちのいくつかでは、1つまたは複数のグラフィカル要素は、1つまたは複数のメッセージを伝達するテキストおよび/または1つまたは複数のメッセージを伝達する1つまたは複数の画像を含む。
【００２５】
いくつかの実装形態では、以下の動作、すなわち、少なくとも第1の参加者と第2の参加者との間の第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、第1の参加者の1つまたは複数の属性を決定することと、第1の参加者に関連する1つまたは複数の属性を記憶することと、第1のメッセージ交換スレッドのコンテンツまたは第2の参加者を伴う第2のメッセージ交換スレッドのコンテンツに少なくとも部分的に基づいて検索クエリを形成することであって、検索クエリが、第1の参加者の記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムをさらに含む、形成することと、検索クエリに応答するコンテンツを取得することと、応答コンテンツに関連付けられたデータを第2の参加者に提供することとを含む方法が提供され得る。
【００２６】
他の実装形態は、上記で説明された方法のうちの1つまたは複数などの方法を実施するようにとの、プロセッサによって実行可能な命令を記憶する、非一時的コンピュータ可読記憶媒体を含み得る。また別の実装形態は、メモリと、上記で説明された方法のうちの1つまたは複数などの方法を、単独でまたはまとめて実施する1つまたは複数のモジュールまたはエンジンを実装するようにとの、メモリに記憶された、命令を実行するように動作可能な1つまたは複数のプロセッサとを含む、システムを含み得る。
【００２７】
上記の概念と本明細書でより詳細に説明される追加の概念とのすべての組合せが、本明細書で開示される主題の一部であるものとして企図されることを諒解されたい。たとえば、本開示の最後に現れる請求される主題のすべての組合せが、本明細書で開示される主題の一部であるものとして企図される。
【図面の簡単な説明】
【００２８】
【図１】様々な実装形態による、1つまたは複数のグラフィカル要素がメッセージ交換スレッドに組み込まれ得る環境を示す図である。
【図２】様々な実装形態による、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用することの例を示す図である。
【図３】様々な実装形態による、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用することの例を示す図である。
【図４】様々な実装形態による、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用することの例を示す図である。
【図５】様々な実装形態による、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用することの例を示す図である。
【図６】様々な実装形態による、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用する例示的な方法を示すフローチャートである。
【図７】コンピュータシステムの例示的なアーキテクチャを概略的に示す図である。
【発明を実施するための形態】
【００２９】
図1は、メッセージ交換スレッド参加者の属性を決定し、それらの属性を後で使用することに好適な環境を示す。例示的な環境は、複数のクライアントデバイス1061〜106Nと知識システム102とを含む。知識システム102は、たとえば、ネットワークを通して通信する1つまたは複数のコンピュータにおいて実装され得る。知識システム102は、本明細書で説明されるシステム、構成要素、および技法がそれにおいて実装され得、ならびに/または、本明細書で説明されるシステム、構成要素、および技法がそれとインターフェースし得る、情報検索システムの一例である。
【００３０】
ユーザは、クライアントデバイス106を介して知識システム102と対話し得る。各クライアントデバイス106は、ローカルエリアネットワーク(LAN)、またはインターネットなどのワイドエリアネットワーク(WAN)など、1つまたは複数のネットワーク110を通して知識システム102に結合されたコンピュータであり得る。各クライアントデバイス106は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、参加者の車両のコンピューティングデバイス(たとえば、車両内通信システム、車両内エンターテインメントシステム、車両内ナビゲーションシステム)、スタンドアロンボイスコマンドデバイス、または、コンピューティングデバイスを含む参加者のウェアラブル装置(たとえば、コンピューティングデバイスを有する参加者のウォッチ、コンピューティングデバイスを有する参加者の眼鏡)であり得る。追加および/または代替のクライアントデバイスが提供され得る。参加者によって所有されることも所有されないこともあり、参加者のオンラインアカウントに関連付けられることも関連付けられないこともあるコンピューティングデバイスの協調「エコシステム」をまとめて形成する複数のコンピューティングデバイスを参加者は、おそらく動作させる。しかしながら、簡潔のために、本開示で説明される例は、単一のクライアントデバイス106を動作させる参加者に焦点を当てる。
【００３１】
各クライアントデバイス106は、メッセージ交換クライアント107および/またはパーソナルアシスタントモジュール109など、様々な異なるアプリケーションを動作させ得る。メッセージ交換クライアント107は、様々な形態になり得る。いくつかの実装形態では、メッセージ交換クライアント107は、ショートメッセージングサービス(「SMS」)および/またはマルチメディアメッセージングサービス(「MMS」)クライアント、オンラインチャットクライアント(たとえば、インスタントメッセンジャー、インターネットリレーチャットまたは「IRC」など)、ソーシャルネットワークに関連付けられたメッセージングアプリケーション、パーソナルアシスタントモジュール109と通信するために使用されるインターフェースなどの形態になり得る。いくつかの実装形態では、メッセージ交換クライアント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と、1つまたは複数のパーソナルアシスタントエンジン122と、インデックス付けエンジン124と、情報エンジン128と、ランク付けエンジン134と、代替クエリ提案エンジン136とを含み得る。いくつかの実装形態では、エンジン120、122、124、128、134、および/または136のうちの1つまたは複数は、省略され得る。いくつかの実装形態では、エンジン120、122、124、128、134、および/または136のうちの1つまたは複数のすべてまたは態様は、組み合わせられ得る。いくつかの実装形態では、エンジン120、122、124、128、134、および/または136のうちの1つまたは複数は、知識システム102とは別個である構成要素において実装され得る。いくつかの実装形態では、エンジン120、122、124、128、134、および/または136のうちの1つまたは複数、あるいはそれらの動作可能な部分は、クライアントデバイス106によって実行される構成要素において実装され得る。
【００３５】
様々な実装形態では、メッセージ交換エンジン120は、複数の参加者によって制御される複数のクライアントデバイス106上で動作する複数のメッセージ交換クライアント107間のメッセージ交換スレッドを可能にするように構成され得る。いくつかの実装形態では、メッセージ交換エンジン120は、メッセージのグローバルな「トランスクリプト」を維持し得、他のコンテンツ参加者はメッセージ交換スレッド中で互いと交換する。本明細書で使用される「トランスクリプト」は、メッセージ交換スレッド中で1人または複数の参加者によって交換および/または閲覧されるテキスト、画像、音、および/またはアプレットのライブ記録を指し得る。いくつかの実装形態では、メッセージ交換スレッドのトランスクリプトは、参加者が会話するとき、リアルタイムまたはほぼリアルタイムで更新され得る。単一の参加者がパーソナルアシスタントモジュール109と通信するシナリオでは、トランスクリプトは、パーソナルアシスタントモジュール109によってローカルで、および/またはパーソナルアシスタントエンジン122によってリモートで維持され得る。
【００３６】
様々な実装形態では、パーソナルアシスタントエンジン122は、たとえば、インデックス123に記憶され得る様々なオンライン音響/言語、文法および/またはアクションモデルに依拠するボイスベースのクエリプロセッサを使用して、ボイス入力を扱うための相補的機能を含み得る。いくつかの実装形態では、特にたいていのクライアントデバイス106がリソース制約のあるデバイスであるとき、パーソナルアシスタントエンジン122は、各クライアントデバイス106にローカルであるものよりも複雑で計算リソース集約的なボイス処理機能を実装し得ることが諒解されよう。アクションが、パーソナルアシスタントモジュール109によって実施されるものとして本明細書で説明されるとき、それはまた、パーソナルアシスタントエンジン122によって実施されているアクションの1つまたは複数の態様を含むことも含まないこともあることを、さらに理解されたい。
【００３７】
いくつかの実装形態では、各々が1つまたは複数の個々のパーソナルアシスタントモジュール109のためのオンラインカウンターパートとして働く複数のパーソナルアシスタントエンジン122が採用され得る。たとえば、いくつかの実装形態では、ユーザのエコシステム中の各クライアントデバイス106は、ユーザに関連付けられた(たとえば、ユーザの選好で構成された、同じ対話履歴に関連付けられたなど)パーソナルアシスタントモジュール109のインスタンスを動作させるように構成され得る。パーソナルアシスタントエンジン122の単一の、ユーザ中心オンラインインスタンスは、ユーザがそのときにどのデバイスを動作させているかに応じて、パーソナルアシスタントモジュール109のこれらの複数のインスタンスの各々にとってアクセス可能であり得る。
【００３８】
いくつかの実装形態では、たとえば、クライアントデバイス106がオンラインサービスと通信しているときはいつでもオンライン機能が使用され、接続性が存在しないときはオフライン機能が使用されるように、オンライン機能とオフライン機能の両方がサポートされ得る。他の実装形態では、異なるアクションまたはアクション領域がオンライン機能およびオフライン機能に割り振られ得、さらに他の実装形態では、オフライン機能が特定のボイス入力を適切に扱うことができないときのみ、オンライン機能が使用され得る。しかしながら、他の実装形態では、相補的オンライン機能は使用されないことがある。
【００３９】
様々な実装形態では、パーソナルアシスタントモジュール109および/またはパーソナルアシスタントエンジン122は、後で使用するために、参加者間で交換されたメッセージおよび/またはそれらのメッセージから参加者について学ばれた属性を記憶し得る。たとえば、パーソナルアシスタントモジュール109は、パーソナルアシスタントモジュール109がそれへのアクセスを有する(たとえば、それに関与する)メッセージ交換スレッド中の1人または複数の参加者の1つまたは複数の属性を、それぞれのクライアントデバイス106にローカルなメモリに記憶し得る。パーソナルアシスタントエンジン122は、パーソナルアシスタントエンジン122がそれへのアクセスを有する(たとえば、メッセージ交換エンジン120を介して、それに関与するなど)メッセージ交換スレッド中の1人または複数の参加者の1つまたは複数の属性を、インデックス123に記憶し得る。追加または代替として、パーソナルアシスタントモジュール109および/またはパーソナルアシスタントエンジン122は、メッセージ自体を、たとえば、インデックス123に記憶し得る。いくつかの実装形態では、これらのメッセージは、たとえば、タイムスタンプ、メッセージがメッセージ交換スレッドに投稿されたロケーション、メッセージの主題などで注釈を付けられ得る。これらの記憶されたメッセージおよび注釈(または場合によってはメタデータ)は、参加者と参加者のパーソナルアシスタントモジュール109との間の会話型フローを改善するために、および/または、(パーソナルアシスタントモジュール109に関連付けられた参加者を含む)複数の参加者間の会話を改善するために、後で使用され得る。
【００４０】
インデックス付けエンジン124は、知識システム102による使用のためにインデックス126を維持し得る。インデックス付けエンジン124は、ドキュメントを処理し、たとえば、従来のおよび/または他のインデックス付け技法を使用して、インデックス126中のインデックスエントリを更新する。たとえば、インデックス付けエンジン124は、ワールドワイドウェブなど、1つまたは複数のリソースをクロールし、そのようなクローリングを介してアクセスされるドキュメントをインデックス付けし得る。別の例として、インデックス付けエンジン124は、そのようなドキュメントを制御するウェブマスタなど、1つまたは複数のリソースから1つまたは複数のドキュメントに関係する情報を受信し、そのような情報に基づいてドキュメントをインデックス付けし得る。ドキュメントは、ドキュメントアドレスに関連付けられた任意のデータである。ドキュメントは、ほんのいくつかの例を挙げれば、ウェブページ、ワードプロセシングドキュメント、ポータブルドキュメントフォーマット(PDF)ドキュメント、画像、電子メール、カレンダーエントリ、ビデオ、およびウェブフィードを含む。各ドキュメントは、たとえば、テキスト、画像、ビデオ、音、組込み情報(たとえば、メタ情報および/またはハイパーリンク)、および/または埋め込み型命令(たとえば、JavaScript(登録商標)などのECMAScript実装)などのコンテンツを含み得る。
【００４１】
情報エンジン128は、知識システム102が使用するための非ドキュメント固有情報へのアクセスを含むかまたは可能にする別のインデックス130を維持し得る。たとえば、知識システム102は、固有の情報を探しているように見える検索クエリに応答して情報を返すように構成され得る。参加者が「ロナルドレーガンの誕生日(Ronald Reagan's birthday)」を検索した場合、知識システム102は、たとえば、情報エンジン128から、「1911年2月6日」という日付を受信し得る。この情報は、インデックス付けエンジン124から受信されたドキュメントとは別個である検索結果の一部として、参加者に返され得る。様々な実装形態では、インデックス130自体が情報を含んでいることがあるか、または、インデックス130が、オンライン百科事典、アルマナックなど、1つまたは複数の他の情報源にリンクし得る。様々な実装形態では、インデックス126またはインデックス130は、クエリ(またはクエリ用語)とドキュメントおよび/または情報との間のマッピングを含み得る。
【００４２】
本明細書では、「データベース」および「インデックス」という用語は、データの任意のコレクションを指すために広く使用される。データベースおよび/またはインデックスのデータは、特定のやり方で構造化される必要がなく、それは、1つまたは複数の地理的ロケーション中のストレージデバイスに記憶され得る。したがって、たとえば、インデックス123、126、および130は、データの複数のコレクションを含み得、その各々は、別様に編成され、アクセスされ得る。
【００４３】
ランク付けエンジン134は、たとえば、従来のおよび/または他の情報検索技法を使用して、検索クエリに応答するドキュメントおよび他の情報を識別するために、インデックス126および/または130を使用し得る。ランク付けエンジン134は、たとえば、1つまたは複数のランク付け信号を使用して、検索クエリに応答するものとして識別されたドキュメントおよび他の情報についてのスコアを計算し得る。各ランク付け信号は、ドキュメントに関する情報または情報自体、ドキュメントまたは情報と検索クエリとの間の関係、および/あるいはドキュメントまたは情報と検索を実施する参加者との間の関係を提供し得る。
【００４４】
代替クエリ提案エンジン136は、検索結果とともにクライアントデバイス106に提供すべき代替クエリ提案を生成するために、1つまたは複数の信号、ならびに/あるいは代替クエリ提案のデータベース(図示せず)および/またはクライアントデバイス106のユーザに関する情報(たとえば、検索履歴、GPSロケーション、ユーザ属性)など、他の情報を使用し得る。ユーザが検索クエリの連続する文字をタイピングするとき、代替クエリ提案エンジン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は、部分的に形成された検索クエリのスペルが訂正されたバージョンなど、他の提案をも提供し得る。
【００４５】
様々な実装形態では、パーソナルアシスタントモジュール109、メッセージ交換エンジン120、および/またはパーソナルアシスタントエンジン122など、クライアントデバイス106および/または知識システム102の様々な構成要素は、第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定するように構成され得る。いくつかの実装形態では、少なくとも1つのパーソナルアシスタントモジュール109が第1のメッセージ交換スレッドの参加者に関連付けられるが、これは必要とされない。次いで、これらの構成要素のうちの1つまたは複数は、第1の参加者に関連する1つまたは複数の属性を、たとえば、インデックス123、および/またはクライアントデバイス106にローカルなメモリに記憶し得る。
【００４６】
後で、同じ第1のメッセージ交換中または同じ参加者のうちの少なくとも何人かを伴う第2のメッセージ交換中のいずれかに、これらの構成要素のうちの1つまたは複数は、現在のメッセージ交換スレッドのコンテンツに少なくとも部分的に基づいて検索クエリを形成し得る。様々な実装形態では、検索クエリは、第1の参加者の記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムをさらに含み得る。
【００４７】
次いで、検索クエリに応答するコンテンツが、たとえば、インデックス付けエンジン124、情報エンジン128から、さらにはクライアントデバイス106からローカルに取得され得る(たとえば、SMS/MMS履歴、カレンダーエントリ、写真、ビデオ、ゲーム、リマインダなど)。次いで、応答コンテンツに関連付けられた1つまたは複数のメッセージが、たとえば、パーソナルアシスタントモジュール109、メッセージ交換エンジン120、メッセージ交換クライアント107、またはパーソナルアシスタントエンジン122によって、現在のメッセージ交換スレッドに組み込まれ得る。様々な実装形態では、検索クエリに応答するコンテンツは、代替クエリ提案エンジン136から返された代替クエリ提案をさらに含み得る。いくつかの実装形態では、検索クエリに応答するコンテンツは、それがメッセージ交換エンジン120に提供されるより前にランク付けエンジン134によってランク付けされ得る。
【００４８】
検索クエリに応答するコンテンツに基づいて、グラフィカル要素(ワード、画像、アニメーション、アプレット)、音など、応答コンテンツに関連付けられた様々なアイテムが、現在のメッセージ交換スレッドに組み込まれ得る。組み込まれたアイテムは、たとえば、進行中のメッセージ交換スレッドのトランスクリプトを示すメッセージ交換クライアント107に関連付けられたグラフィカルユーザインターフェース上で、または、可聴出力(たとえば、パーソナルアシスタントモジュール109からのコンピュータ生成された音声)として、メッセージ交換スレッド中の参加者のうちの1人または複数によって知覚可能であり得る。
【００４９】
アイテムは、様々なやり方で複数のメッセージ交換クライアント107間のメッセージ交換スレッドに組み込まれ得る。いくつかの実装形態では、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、またはパーソナルアシスタントモジュール109は、メッセージ交換スレッドに参加している少なくとも1つのメッセージ交換クライアント107が、応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素を、少なくとも1つのメッセージ交換クライアント107のグラフィカルユーザインターフェースにおいて表示される進行中のメッセージ交換スレッドのトランスクリプトに挿入することを要求し得る。いくつかのシナリオでは、グラフィカル要素は、メッセージ交換スレッドに参加しているすべてのメッセージ交換クライアント107によってレンダリングされたトランスクリプトになど、2つ以上のメッセージ交換クライアント107によってレンダリングされたトランスクリプトに組み込まれ得る。いくつかの実装形態では、メッセージ交換エンジン120は、応答コンテンツをメッセージ交換クライアント107に提供し得るにすぎず、メッセージ交換クライアント107が、次いで、どのコンテンツをメッセージ交換スレッドに組み込むべきかを選択し得る。
【００５０】
様々なタイプのグラフィカル要素がメッセージ交換スレッドに組み込まれ得る。いくつかの実装形態では、1つまたは複数のグラフィカル要素は、本明細書で説明される技法を使用して構築された検索クエリに応答する情報を伝達するテキストを含み得る。テキストに加えて、またはそれの代わりに、様々な実装形態では、メッセージ交換スレッドに組み込まれる1つまたは複数のグラフィカル要素は、検索クエリに応答するコンテンツを伝達する1つまたは複数の画像を含み得る。
【００５１】
多くの事例では、検索クエリに応答する情報は、会話のフローを混乱させることなしにメッセージ交換スレッドにうまく組み込むにはあまりに扱いにくい(たとえば、あまりに長い、あまりに詳細が多いなど)ことがある。そのような状況では、全応答情報のサブセットが、スレッドへの組込みのために選択され得る(すなわち、全応答情報が選別され得る)。サブセットは、たとえば、1つまたは複数の応答ドキュメント(たとえば、N個の最高ランクのドキュメント)から抽出されたテキスト/画像のスニペット、および/または情報エンジン128によって提供された情報を含み得る。
【００５２】
いくつかの実装形態では、メッセージ交換エンジン120および/またはパーソナルアシスタントエンジン122が、メッセージ交換スレッドへの組込みのためにサブセットを選択(または応答情報を選別)し得る。他の実装形態では、メッセージ交換エンジン120および/またはパーソナルアシスタントエンジン122は、包括的な応答情報をクライアントデバイス106の1つまたは複数の構成要素に提供し得、それらのクライアントデバイス構成要素が選別を実施し得る。たとえば、いくつかの実装形態では、メッセージ交換クライアント107および/またはパーソナルアシスタントモジュール109が、ホストクライアントデバイス106のスクリーンサイズに基づいて情報を選別し得る。いくつかの実装形態では、上位N個の検索結果がメッセージ交換スレッドへの組込みのために選択され得る。Nは、たとえば、スクリーンサイズ、参加者選好などに基づいて選択され得るか、または、手動で選択され得る(たとえば、Nは、5、10、2、1などに設定され得る)。
【００５３】
メッセージ交換スレッドに組み込まれるのがテキストであるのか画像であるのかにかかわらず、様々な実装形態では、グラフィカル要素は、参加者が新しいリソース(たとえば、情報を表示するウェブブラウザ)に向けられるべきグラフィカル要素のみを選択する必要があるように、検索クエリに応答する1つまたは複数の電子ドキュメントにリンクし得る。いくつかの実装形態では、1つまたは複数のグラフィカル要素は、検索クエリに応答する、メッセージ交換クライアント107のうちの少なくとも1つを動作させるクライアントデバイス106上にインストールされた、アプリケーションにリンクし得る。たとえば、参加者が、メッセージ交換スレッドに、「じゃあ、Frank'sに夕食を食べに行くことにします」と入力したとする。ロケーションFrank'sに関係する1つまたは複数のグラフィカル要素が、たとえば、メッセージ交換エンジン120によって、メッセージ交換スレッドに組み込まれ得る。1つまたは複数のグラフィカル要素は、特にロケーションFrank'sで予約を作成するように動作可能であるクライアントデバイス106上のあるアプリケーション、ならびに/あるいは、Frank'sまでの地図および/または道順を表示するように動作可能である別のアプリケーションを開くように選択可能であり得る。
【００５４】
いくつかの実装形態では、メッセージ交換スレッドのコンテンツから抽出されたクエリに応答して、代替クエリ提案エンジン136から受信された情報に基づいて生成される1つまたは複数のグラフィカル要素は、メッセージ交換スレッドに組み込まれ得る。たとえば、参加者が「米国の第18代大統領は誰ですか?(Who was the eighteenth president of the United States?)」という質問を提示するために参加者のメッセージ交換クライアント107を動作させ始めたと仮定する。参加者が質問を完成する前、たとえば、以下の文字、「who was the eight」をタイピングした後、参加者の部分的にタイピングされた質問が、知識システム102にサブミットされ得る。知識システム102は、参加者が現在タイピングしている文字の潜在的に完成したバージョンである1つまたは複数の代替クエリ提案を、代替クエリ提案エンジン136から取得し得る。これらの完成したバージョンを受信したことに応答して、クライアントデバイス106は、参加者が参加者のクエリを完成するために選択することができる、ボタンなど、1つまたは複数のグラフィカル要素を、メッセージ交換クライアント107のグラフィカルユーザインターフェースの一部としてレンダリングし得る。たとえば、参加者は、以下の2つのボタン、「米国の第8代大統領は誰ですか?(Who was the eighth president of the United States?)」、および「米国の第18代大統領は誰ですか?(Who was the eighteenth president of the United States?)」が現れるのを見ることがある。参加者が代替クエリ提案を選択し、選択された自動テキストがスレッド中に表示された後、いくつかの実装形態では、「その大統領の任期は何年から何年ですか?」、または「その大統領の最も顕著な功績は何ですか?」など、1つまたは複数の後に続く質問が、たとえば、代替クエリ提案エンジン136によって提供され得る。たとえば、参加者が、たとえば、勉強会の一部として、歴史について他の誰かにクイズを出している場合、これらの後に続く質問に対応するボタンなどの選択可能なグラフィカル要素が参加者に提供され得る。
【００５５】
いくつかの実装形態では、知識システム102は、たとえば、情報エンジン128および/または別の構成要素の一部として、知られているエンティティ(たとえば、人、場所、物)の記録および知られているエンティティ間の関係を含んでいる、いわゆる知識ベースを有し得る。いくつかの実装形態では、そのような知識ベースは、ノードがエンティティを表し、エッジがエンティティ間の関係を表すグラフとして、たとえば、インデックス130において実装され得るが、これは必要とされない。いくつかのそのような実装形態では、そのような知識ベースからのエンティティに関する情報は、たとえば、本明細書で説明される技法を使用して形成された検索クエリに応答して、知識システム102の様々な構成要素にとって利用可能にされ得る。
【００５６】
いくつかの実装形態では、知識ベースは、2人またはそれ以上の参加者間で交換された1つまたは複数のメッセージにおいて言及された第1のエンティティをメッセージ交換スレッドの一部として識別するために、たとえば、メッセージ交換エンジン120および/または情報エンジン128によって使用され得る。エンティティに関係する検索クエリに応答する情報は、次いで、メッセージ交換スレッドに組み込まれ得る。ユーザが特定の映画に言及したと仮定する。その映画が知識ベース中で識別されると、映画の批評スコア、メインキャスト、監督など、映画に関する様々な情報が、たとえば、パーソナルアシスタントモジュール109および/またはパーソナルアシスタントエンジン122によって、メッセージ交換スレッドに投稿され得る。
【００５７】
図2は、(「あなた」と呼ばれる)スベンと称する参加者によって動作させられる例示的なクライアントデバイス206を示す。クライアントデバイス206は、クライアントデバイス206上で動作するメッセージ交換クライアント(図2に詳細に図示せず)に関連付けられたグラフィカルユーザインターフェース250を含む。グラフィカルユーザインターフェース250は、スベンと2人の他の参加者、ジョンおよびデニスとの間のメッセージ交換スレッドのトランスクリプト252を表示する。グラフィカルユーザインターフェース250はまた、たとえば、他の2人による前の発言に応答して、スベンが、メッセージ交換スレッドにテキストまたは他のコンテンツを入力するために使用することができるテキスト入力フィールド254を含む。この例では、ジョンが、このメッセージ交換スレッドの参加者ではない何人かの他の人々と「チームバトル(Team Battle)」と呼ばれるゲームをプレイして楽しんだと述べた。スベン(これはスベンのクライアントデバイス206であるので、図2では「あなた」)が、そのジャンルのゲーム(たとえば、「ミリタリー(military)」)が好きではないと応答した。次いで、デニスが、「本当に?好きなジャンルは何ですか?」と尋ねる。スベンは「ファンタジー/RPG(Fantasy/RPG)が好きです」と応答した。
【００５８】
様々な実装形態では、これらの交換されたメッセージ、またはこれらのメッセージから決定された参加者に関する属性のうちの1つまたは複数は、後で使用するために(たとえば、インデックス123に、および/またはクライアントデバイスにローカルに)記憶され得る。たとえば、スベンは、「ミリタリーゲームが嫌い(DISLIKES MILITARY GAMES)」、「ファンタジーゲームが好き(LIKES FANTASY GAMES)」および「RPGゲームが好き(LIKES RPG GAMES)」の属性に関連付けられ得る。ジョンは、「チームバトルをプレイしたことがある(HAS PLAYED TEAM BATTLE)」および「ミリタリーゲームが好き(LIKES MILITARY GAMES)」などの属性に関連付けられ得る。これらの属性(またはメッセージ自体)は、メッセージ交換スレッド、特に同じまたは同様の参加者を伴うメッセージ交換スレッド中の会話型フローを改善するために、たとえば、スベン(または他の参加者のうちのいずれか)に関連付けられたパーソナルアシスタントモジュールによって、後で使用され得る。
【００５９】
これがどのように見え得るかの一例が、同じ3人の参加者間の、後のメッセージ交換スレッドのトランスクリプト252を示す図3に示されている。ジョンが、他の2人のユーザが遅延しているフライトを待っている間に何をしたいかを尋ねる。スベンが、「新しいゲームを試しましょう」と言う。デニスが提案を求める。スベンのパーソナルアシスタントモジュール(図3の「PAM」)が、提案されるゲームについて、たとえば、知識システム102に関連付けられたアプリサーバへの、サブミッションのための検索クエリを生成することによって応答する。スベンが新しいゲームを試すことを提案したので、クエリは、(ジョンがプレイしたことがあると前に示した)「チームバトル(TEAM BATTLE)」など、参加者のうちのいずれかがすでにプレイしたことがあるゲームを除外するように構築され得る(または、結果がバイアスされ得る)。検索クエリは、スベンがそのジャンルのゲームに対する嫌悪を前に表現したので、「ミリタリーゲーム(MILITARY GAMES)」を除外するようにも構築され得る。さらに、クエリは、スベンが以前それらのジャンルが好きだと言ったので、「ファンタジー(FANTASY)」および「RPG」ゲームを含め、ならびに/または、それらに比較的高いランク付けを割り当てるように構築され得る。したがって、パーソナルアシスタントモジュールは、複数のファンタジー/RPGゲームを提案し、その後に、(それに対する嫌悪を誰も表現しなかった)レーシングゲームを提案する。様々な実施形態では、検索結果に応答するコンテンツは、人気、検索を促した発言への関連性など、参加者の属性以外の様々な信号によってもランク付けされ得る。
【００６０】
図4は、スベンと称する参加者によって動作させられる別の例示的なクライアントデバイス406を示す。この例では、スベンは、スベンのパーソナルアシスタントモジュール(図4の「PAM」)を用いてメッセージ交換スレッドに参加している。スベンは、夕食を準備する必要があることをスベンのパーソナルアシスタントモジュールに示している。パーソナルアシスタントモジュールは、スベンの料理選好に関して尋ねる。スベンは、スベンはフランス料理が好きであり、スベンのガールフレンドはタイ料理は好きだがメキシコ料理は好きではないと応答する。パーソナルアシスタントモジュールは、次いで、フランス/タイの多国籍料理のレシピについてレシピを探す検索クエリを構築するためにこれらの発言を使用し、応答結果を返す。上述のように、これらの属性および/またはメッセージは、将来の使用のためにスベンおよび/またはスベンのガールフレンドに関連して記憶され得る。スベンのガールフレンドは、スベンのソーシャルネットワークプロフィールからおよび/またはスベンによる明示的発言からなど、様々なやり方で推論され得る。
【００６１】
図5は、今回は、スベンが、スベンのガールフレンド、デリアとのメッセージ交換スレッドに関与していることを除いて、スベンのクライアントデバイス406をもう一度示す。スベンは、デリアがバレンタインデーに何をしたいかを尋ね、デリアは「外食しましょう」と応答する。スベンはデリアに提案を求める。スベンのパーソナルアシスタントモジュール(図5の「PAM」)は、検索クエリを構築するために(図4に示されたメッセージなどの)過去のメッセージならびに/またはスベンおよびデリアについての記憶された属性を検索することによって、スベンの要求に応答する。検索クエリはバレンタインデーのディナーのためのレストランを探すので、ディナーダイニングに関係する過去のメッセージおよび/または属性が、特に役立ち得る。検索クエリは、デリアがメキシコ料理が好きではないので、メキシコ料理レストランを除外し、代わりに、応答コンテンツとして、いくつかのフランス/タイの多国籍料理レストランを提案として提供し得る。
【００６２】
パーソナルアシスタントモジュールは、図3〜図5に示されたように、プレーンテキストメッセージをメッセージ交換スレッドに組み込むために、本明細書で説明される技法を使用することに限定されない。様々な実装形態では、パーソナルアシスタントモジュールは、同様に他のアイテムをメッセージ交換スレッドに組み込み得る。たとえば、いくつかの視覚ベース実装形態では、パーソナルアシスタントモジュールは、選択可能なリンク(たとえば、ハイパーリンク、アイコンなど)をメッセージ交換スレッドに組み込むために、本明細書で説明される技法を利用し得る。上述のように、これらの選択可能なリンクは、様々な機能を実施するために参加者によって動作可能であり得る。いくつかの実装形態では、会話に関連のあるアプリケーションにリンクする選択可能なリンクが提示され得る。たとえば、図5に示されているように、単にフランス/タイの多国籍料理レストランを提案するのではなく、それらのレストランのウェブページへの選択可能なリンクが提示され得る。追加または代替として、選択可能なリンクは、(クリックされた場合、食事客の数など、様々なデータポイントを事前ポピュレートする)レストラン予約アプリケーション、(クリックされた場合、レストランまでの道順を提供する)マッピングアプリケーションなど、会話に関係するアプリケーションにリンクし得る。図3の例では、たとえば、アプリケーションインストーラへのリンクが、提案されたゲームに加えて、またはそれの代わりに提供され得る。いくつかの実装形態では、選択可能なリンクは、本明細書で説明される技法を使用して構築された検索クエリに応答するコンテンツを組み込む自動応答を含み得る。たとえば、ある参加者が他の参加者に、「どのフライトを予約したのですか?」と尋ねた場合、他の参加者のパーソナルアシスタントモジュールは、たとえば、他の参加者の電子メールから、フライト旅程情報を取得し得る。次いで、他の参加者は、自分のフライト旅程をリストするボタンを提示され得る。ボタンを選択すると、他の参加者のフライト旅程を示すデータが、自動的にスレッドに組み込まれ得る。
【００６３】
次に図6を参照すると、メッセージ交換スレッド参加者の属性を決定し、使用する1つの例示的な方法600が説明される。便宜上、フローチャートの動作は、動作を実施するシステムに関して説明される。このシステムは、本明細書で説明される様々なエンジンを含む、様々なコンピュータシステムの様々な構成要素を含み得る。その上、方法600の動作は特定の順序で示されるが、これは、限定的なものではない。1つまたは複数の動作が、並べ替えられるか、省略されるか、または追加され得る。
【００６４】
ブロック602において、システムは、第1のメッセージ交換スレッドの1つまたは複数の参加者投稿メッセージに基づいて、第1の参加者の1つまたは複数の属性を決定し得る。たとえば、スレッドの1つまたは複数のメッセージが、(たとえば、タイムスタンプ、ロケーション、メッセージを投稿した参加者などで)注釈を付けられ得る。追加または代替として、1つまたは複数の属性が、それらのメッセージとは無関係のメッセージから抽出され得る。ブロック604において、メッセージおよび/または属性は、たとえば、メッセージを投稿した参加者および/またはメッセージが参照した参加者に関連していることがある。
【００６５】
ブロック606において、同じ第1のメッセージ交換スレッド中または後続の第2のメッセージ交換スレッド(すなわち、「現在の」メッセージ交換スレッド)中に、現在の交換スレッドのコンテンツに少なくとも部分的に基づいて1つまたは複数の検索クエリが構築され得る。たとえば、参加者は、別の参加者に、または、スレッドの1人または複数の参加者に関連付けられたパーソナルアシスタントモジュールに、質問を提示し得る。または、参加者は、知識ベース中のエンティティに一致するエンティティに言及し得る。1つまたは複数の検索クエリは、ブロック604において記憶された属性に基づいて選択された1つまたは複数のアイテムを使用して構築され得る。たとえば、参加者が完全菜食主義者であると言及した場合、検索クエリは、完全菜食主義のレストランを含め、および/またはステーキハウスを除外するように構築され得る。様々な実装形態では、複数のデータソースへのサブミッションのために複数の検索クエリが形成され得る。
【００６６】
ブロック608において、ブロック606において形成された1つまたは複数の検索クエリは、知識システム102の様々な構成要素など、様々なソースに、および/または、メッセージ交換スレッドの1人または複数の参加者によって動作させられる1つまたは複数のクライアントデバイス106にサブミットされ得、応答コンテンツが取得され得る。ブロック610において、応答コンテンツに関連付けられた1つまたは複数のメッセージが現在のメッセージ交換スレッドに組み込まれ得る。
【００６７】
図7は、例示的なコンピュータシステム710のブロック図である。コンピュータシステム710は、一般に、バスサブシステム712を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリサブシステム725およびファイルストレージサブシステム726を含むストレージサブシステム724と、ユーザインターフェース出力デバイス720と、ユーザインターフェース入力デバイス722と、ネットワークインターフェースサブシステム716とを含み得る。入出力デバイスは、コンピュータシステム710とのユーザ対話を可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークにインターフェースを提供し、他のコンピュータシステムにおける対応するインターフェースデバイスに結合される。
【００６８】
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、またはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/あるいは他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、コンピュータシステム710中にまたは通信ネットワーク上に情報を入力するためのすべての可能なタイプのデバイスおよびやり方を含むことを意図する。
【００６９】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックス機械、またはオーディオ出力デバイスなどの非視覚ディスプレイを含み得る。ディスプレイサブシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または可視画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスなどを介して非視覚ディスプレイを提供し得る。概して、「出力デバイス」という用語の使用は、コンピュータシステム710からユーザにあるいは別の機械またはコンピュータシステムに情報を出力するためのすべての可能なタイプのデバイスおよびやり方を含むことを意図する。
【００７０】
ストレージサブシステム724は、本明細書で説明されるモジュールの一部または全部の機能を提供するプログラミングおよびデータ構成体を記憶する。たとえば、ストレージサブシステム724は、方法600の選択された態様を実施するための、ならびに/あるいは、メッセージ交換クライアント107、パーソナルアシスタントモジュール109、メッセージ交換エンジン120、パーソナルアシスタントエンジン122、インデックス付けエンジン124、情報エンジン128、ランク付けエンジン134、および/または代替クエリ提案エンジン136のうちの1つまたは複数を実装するための論理を含み得る。
【００７１】
これらのソフトウェアモジュールは、概して、単独でまたは他のプロセッサと組み合わせて、プロセッサ714によって実行される。ストレージサブシステム724において使用されるメモリ725は、プログラム実行中の命令およびデータの記憶のためのメインランダムアクセスメモリ(RAM)730と、固定命令が記憶される読取り専用メモリ(ROM)732とを含むいくつかのメモリを含むことができる。ファイルストレージサブシステム726は、プログラムおよびデータファイルのための永続ストレージを提供することができ、ハードディスクドライブ、関連するリムーバブル媒体とともにフロッピーディスクドライブ、CD-ROMドライブ、オプティカルドライブ、またはリムーバブル媒体カートリッジを含み得る。いくつかの実装形態の機能を実装するモジュールは、ストレージサブシステム724におけるファイルストレージサブシステム726によって、または、プロセッサ714によってアクセス可能な他の機械に記憶され得る。
【００７２】
バスサブシステム712は、コンピュータシステム710の様々な構成要素およびサブシステムに、意図されるように互いと通信させるための機構を提供する。バスサブシステム712は単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使用し得る。
【００７３】
コンピュータシステム710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、あるいは他のデータ処理システムまたはコンピューティングデバイスを含む様々なタイプのものであり得る。コンピュータおよびネットワークの絶え間なく変化する性質により、図7に示されたコンピュータシステム710の説明は、いくつかの実装形態を示す目的のための、特定の例として意図されるにすぎない。図7に示されたコンピュータシステムよりも多いまたは少ない構成要素を有するコンピュータシステム710の多くの他の構成が可能である。
【００７４】
本明細書で説明されるシステムがユーザ(または、本明細書ではしばしば「参加者」と呼ばれる)に関する個人情報を収集するか、または個人情報を利用し得る状況では、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションまたはアクティビティ、職業、ユーザの選好、あるいはユーザの現在の地理的ロケーションに関する情報)を収集するかどうかを制御するための、あるいは、ユーザにより関連のあり得るコンテンツをコンテンツサーバから受信するかどうかおよび/またはどのように受信するかを制御するための機会を与えられ得る。また、あるデータは、それが記憶または使用される前に、個人識別可能情報が削除されるように1つまたは複数のやり方で取り扱われ得る。たとえば、ユーザの識別情報は、個人識別可能情報がユーザについて決定され得ないように取り扱われ得るか、または、地理的ロケーション情報が(都市、郵便番号、または国家レベルなどまで)取得されるユーザの地理的ロケーションは、ユーザの特定の地理的ロケーションが決定され得ないように一般化され得る。したがって、ユーザは、ユーザに関する情報がどのように収集され、および/または使用されるかの制御を有し得る。
【００７５】
いくつかの実装形態が本明細書で説明および図示されたが、本明細書で説明される、機能を実施し、ならびに/あるいは結果および/または利点のうちの1つまたは複数を取得するための、様々な他の手段および/または構造が利用され得、そのような変形形態および/または変更形態の各々は、本明細書で説明される実装形態の範囲内であると考えられる。より一般的には、本明細書で説明されるすべてのパラメータ、寸法、材料、および構成は、例示的なものであり、その実際のパラメータ、寸法、材料、および/または構成は、教示がそれのために使用される特定の適用例に依存する。当業者は、本明細書で説明される特定の実装形態の多くの等価物を、認識するか、または、せいぜい日常的な実験を使用して確認することが可能である。したがって、上記の実装形態が単に例として提示され、添付の特許請求の範囲およびそれの等価物の範囲内で、詳細に説明および請求される実装形態以外の実装形態が実施され得ることを理解されたい。本開示の実装形態は、本明細書で説明される各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。さらに、2つまたはそれ以上のそのような特徴、システム、物品、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【００７６】
102  知識システム
106  クライアントデバイス
107  メッセージ交換クライアント
109  パーソナルアシスタントモジュール
110  ネットワーク
120  メッセージ交換エンジン
122  パーソナルアシスタントエンジン
123  インデックス
124  インデックス付けエンジン
126  インデックス
128  情報エンジン
130  インデックス
134  ランク付けエンジン
136  代替クエリ提案エンジン
206  クライアントデバイス
250  グラフィカルユーザインターフェース
252  トランスクリプト
254  テキスト入力フィールド
406  クライアントデバイス
710  コンピュータシステム
712  バスサブシステム
714  プロセッサ
716  ネットワークインターフェースサブシステム
720  ユーザインターフェース出力デバイス
722  ユーザインターフェース入力デバイス
724  ストレージサブシステム
725  メモリサブシステム
726  ファイルストレージサブシステム
730  メインランダムアクセスメモリ(RAM)
732  読取り専用メモリ(ROM)
【図１】
2019520635.tif 000003
【図２】
2019520635.tif 000004
【図３】
2019520635.tif 000005
【図４】
2019520635.tif 000006
【図５】
2019520635.tif 000007
【図６】
2019520635.tif 000008
【図７】
2019520635.tif 000009
【手続補正書】
【提出日】平成30年12月12日(2018.12.12)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサによって動作させられるパーソナルアシスタントモジュールによって、前記パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、前記第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定するステップであって、前記パーソナルアシスタントモジュールが前記第1のメッセージ交換スレッドの参加者に関連付けられる、決定するステップと、
前記パーソナルアシスタントモジュールによって、前記第1の参加者に関連する前記1つまたは複数の属性を記憶するステップと、
前記パーソナルアシスタントモジュールによって、前記第1のメッセージ交換スレッドのコンテンツまたは前記パーソナルアシスタントモジュールに関連付けられた前記参加者を伴う第2のメッセージ交換スレッドのコンテンツに少なくとも部分的に基づいて検索クエリを形成するステップであって、前記検索クエリが、前記第1の参加者の前記記憶された1つまたは複数の属性に基づいて選択された1つまたは複数のアイテムをさらに含む、形成するステップと、
前記パーソナルアシスタントモジュールによって、前記検索クエリに応答するコンテンツを取得するステップと、
前記パーソナルアシスタントモジュールによって、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドに、前記応答コンテンツに関連付けられた1つまたは複数のメッセージを組み込むステップと
を含む、コンピュータ実装方法。
【請求項２】
前記パーソナルアシスタントモジュールに関連付けられた前記参加者が前記第1の参加者である、請求項1に記載のコンピュータ実装方法。
【請求項３】
前記パーソナルアシスタントモジュールが、前記第1の参加者とは異なる、前記第1のメッセージ交換スレッド中の第2の参加者に関連付けられる、請求項1に記載のコンピュータ実装方法。
【請求項４】
前記組み込むステップが、1つまたは複数のスピーカーを介して、前記応答コンテンツに関連付けられた前記1つまたは複数のメッセージをコンピュータ生成された音声として可聴的にレンダリングするステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項５】
前記組み込むステップが、前記応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素をディスプレイ上に視覚的にレンダリングするステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項６】
前記組み込むステップは、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求するステップであって、前記トランスクリプトが前記少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、前記1つまたは複数のグラフィカル要素が前記応答コンテンツに関連付けられる、要求するステップを含む、請求項1から3のいずれか一項に記載のコンピュータ実装方法。
【請求項７】
前記1つまたは複数のグラフィカル要素が、前記応答コンテンツを伝達するテキストを含む、請求項6に記載のコンピュータ実装方法。
【請求項８】
前記1つまたは複数のグラフィカル要素が、前記応答コンテンツを伝達する1つまたは複数の画像を含む、請求項6または請求項7に記載のコンピュータ実装方法。
【請求項９】
前記参加者投稿メッセージが、前記第1のメッセージ交換スレッドのある参加者から別の参加者にダイレクトされる、請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項１０】
前記決定するステップが、前記参加者投稿メッセージに基づいて前記1つまたは複数の属性を推論するステップを含む、請求項9に記載のコンピュータ実装方法。
【請求項１１】
前記1つまたは複数の属性が第1のユーザの選好を含む、請求項1から10のいずれか一項に記載のコンピュータ実装方法。
【請求項１２】
前記形成するステップが、前記1つまたは複数の属性に関係する検索結果をキャプチャするように前記検索クエリを形成するステップを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項１３】
前記形成するステップが、前記1つまたは複数の属性に関係する検索結果を除外するように前記検索クエリを形成するステップを含む、請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項１４】
メモリと、1つまたは複数のプロセッサとを含むシステムであって、前記メモリが、前記1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサにパーソナルアシスタントモジュールを動作させることを行わせる命令を記憶し、前記パーソナルアシスタントモジュールは、
前記パーソナルアシスタントモジュールにとってアクセス可能である第1のメッセージ交換スレッドの参加者投稿メッセージに基づいて、前記第1のメッセージ交換スレッドの少なくとも第1の参加者の1つまたは複数の属性を決定することであって、前記パーソナルアシスタントモジュールが前記第1のメッセージ交換スレッドの第2の参加者に関連付けられる、決定することと、
前記第1の参加者に関連する前記1つまたは複数の属性を記憶することと、
前記第1のメッセージ交換スレッドのコンテンツまたは前記第2の参加者を伴う第2のメッセージ交換スレッドのコンテンツから検索クエリを形成することと、
前記検索クエリに応答する複数のアイテムを取得することであって、前記複数のアイテムが、前記1つまたは複数の属性に少なくとも部分的に基づいてランク付けを割り当てられる、取得することと、
前記ランク付けに少なくとも部分的に基づいて、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドに、前記複数のアイテムに関連付けられた1つまたは複数のメッセージを選択的に組み込むことと
を行うように構成された、システム。
【請求項１５】
前記選択的組込みが、コンピュータ生成された音声としての、応答コンテンツに関連付けられた前記1つまたは複数のメッセージの、1つまたは複数のスピーカーを介した、可聴レンディションを含む、請求項14に記載のシステム。
【請求項１６】
前記選択的組込みが、ディスプレイ上での、応答コンテンツに関連付けられた1つまたは複数のグラフィカル要素の視覚レンディションを含む、請求項14に記載のシステム。
【請求項１７】
前記選択的組込みは、前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドの少なくとも1人の参加者によって動作させられる少なくとも1つのメッセージ交換クライアントが1つまたは複数のグラフィカル要素を前記第1のメッセージ交換スレッドまたは前記第2のメッセージ交換スレッドのトランスクリプトに挿入することを要求することであって、前記トランスクリプトが少なくとも1つのメッセージ交換クライアントのグラフィカルユーザインターフェースにおいて表示され、前記1つまたは複数のグラフィカル要素が前記複数のアイテムに関連付けられる、要求することを含む、請求項14に記載のシステム。
【請求項１８】
前記1つまたは複数のグラフィカル要素が、前記1つまたは複数のメッセージを伝達するテキストを含む、請求項17に記載のシステム。
【請求項１９】
前記1つまたは複数のグラフィカル要素が、前記1つまたは複数のメッセージを伝達する1つまたは複数の画像を含む、請求項17に記載のシステム。
【請求項２０】
1つまたは複数のプロセッサによって実行されたとき、前記1つまたは複数のプロセッサに、請求項1から13のいずれか一項に記載の前記方法を実施させる、コンピュータ可読命令。
【国際調査報告】
2019520635.tif 000010
2019520635.tif 000011
2019520635.tif 000012