JP6638087B2 - メッセージ交換スレッド用の自動提案 - Google Patents

メッセージ交換スレッド用の自動提案 Download PDF

Info

Publication number
JP6638087B2
JP6638087B2 JP2018551908A JP2018551908A JP6638087B2 JP 6638087 B2 JP6638087 B2 JP 6638087B2 JP 2018551908 A JP2018551908 A JP 2018551908A JP 2018551908 A JP2018551908 A JP 2018551908A JP 6638087 B2 JP6638087 B2 JP 6638087B2
Authority
JP
Japan
Prior art keywords
user
conversation
entity
message
message exchange
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018551908A
Other languages
English (en)
Other versions
JP2019508820A5 (ja
JP2019508820A (ja
Inventor
シーズ ミリガン、ティモシー
シーズ ミリガン、ティモシー
シェメル、ヒラ
キーレリチ、デニス
ジ、ガン
ゲルショニー、オリ
ナザロフ、セルゲイ
カイタン、プラナフ
プラカシュ、スシャント
ボルコフ、アントン
エスクティア、リカルド
シトロン、デイビッド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of JP2019508820A publication Critical patent/JP2019508820A/ja
Publication of JP2019508820A5 publication Critical patent/JP2019508820A5/ja
Application granted granted Critical
Publication of JP6638087B2 publication Critical patent/JP6638087B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Description

本開示は、メッセージ交換スレッド(本明細書では「会話」とも称する)からエンティティを特定し、会話の参加者(複数可)のコンピューティングデバイス(複数可)を介して参加者(複数可)に向けて表示するための提案を生成するシステムおよび方法に関し、前記提案は、参加者(複数可)がエンティティに対して動作を起こすための提案である。
モバイル機器はユーザの関心という点で明らかにデスクトップを追い越している。チャットでは、ユーザがモバイルデバイスで多くの時間またはほとんどの時間を費やしている。一方、ソーシャルネットワークでは、ユーザの連絡先リストがますます増加し、管理不能になるにつれて、ユーザは、プライバシーについての懸念が増大し、チャット会話に情報共有を次第に移行しつつある。その結果、関心のある情報の多くは、今や会話に含まれることとなる。このため、より直感的かつ効率的な方法で会話を処理する手法が望まれる。
ユーザは、時間、位置、場所、人、イベント、ビデオなど、毎日多くの情報を共有する。しかしながら、ユーザが共有する情報のほとんどは静的なものである。さらに情報を得たり行動を完了したりするためにはユーザはどこか別のところに行く必要がある。例えば、映画を視聴するために劇場に行くことを話していても、チケットを予約するには劇場のウェブサイトをチェックする必要がある。
ユーザは、モバイルデバイスのタッチスクリーン上でとりわけ困難な入力をするか、あるいはユーザが回答を見つけた他の場所からコピーアンドペーストすることによりメッセージに返信する。どちらも、ユーザからの返答に関して良好なエクスペリエンスを提供しない。
ユーザは、会話で共有しているものを追跡しない。会話は容易に検索し得ない。たとえば、ユーザが実際に必要とする1つの情報を見つけるために多数の検索結果を上下にスクロールする必要があり得る。
さらに、例えば、会話からの洞察を得たり状況や感情を測定したりするための簡単な方法はない。会話から別のアプリケーションへの情報フィードも存在しない。
本開示は、メッセージ交換スレッド(本明細書では「会話」とも称する)からエンティティを特定し、会話の参加者(複数可)のコンピューティングデバイス(複数可)を介して参加者(複数可)に向けて表示するための提案を生成するシステムおよび方法に関し、前記提案は、参加者(複数可)がエンティティに対して動作を起こすための提案である。いくつかの実施形態において、エンティティは、単数の明確に定義された区別可能な物または概念である。例えば、エンティティは、人、場所、アイテム、アイデア、またはそれらの任意の組み合わせであってもよい。
いくつかの実施形態において、提案は、エンティティに関するものであり、メッセージ交換スレッドの1つまたは複数のメッセージからエンティティを特定することに基づく。それらの実施形態のうちのいくつかでは、エンティティの1つまたは複数のコンテキストインジケータも決定され、エンティティが使用可能である(actionable)かどうかを決定するためにコンテキストインジケータが利用され、エンティティが使用可能であると判定されたときにのみ、参加者(複数可)への表示のための提案が提供される。エンティティは、メッセージ交換スレッドのコンテキストにおいて、ユーザがエンティティに対して動作を起こそうとしているかどうかを決定することにより、エンティティが使用可能であると判定されてもよい。メッセージ交換スレッド自体に対して外部のコンテンツ(例えば、以前のメッセージ交換スレッドにおける参加者の以前の電子メッセージ)に基づくコンテキストインジケータ、(メッセージ交換スレッドおよび/または以前のメッセージ交換スレッド(複数可)の)メッセージ(複数可)の自然言語処理に基づくコンテキストインジケータ、メッセージ交換スレッドの会話フローに基づくコンテキストインジケータ、(メッセージ交換スレッドおよび/または以前のメッセージ交換スレッド(複数可)の)メッセージ(複数可)に基づいて決定された感情に基づくコンテキストインジケータ、その他の各種コンテキストインジケータを利用し得る。付加的および代替的なコンテキストインジケータが本明細書でより詳細に説明されている。(コンテキストインジケータに基づいて)エンティティが使用可能であると判定された場合に提案を提供することにより、参加者(複数可)は無関係な提案によって注意をそらされないようにすることができ、かつ/またはプレゼンテーション、無関係な提案を送信および/または提供しないことによって様々な計算リソースを節約することができる。例えば、提案は、コンテキストの関連性に関係なく提案を提供する場合と比較して、提案の提供およびそれに対応する計算リソースの節約につながるコンテキスト的な関連性があると判定された場合にのみ提供され得る。また、本明細書に記載された技術による提案を提供するいくつかの実施形態は、あまり器用でないユーザにとって、あるいはそうでなければデバイスへのユーザ入力が困難なユーザにとって特に有益であり得る。少なくともこれらのユーザにとって、選択可能な提案をメッセージ交換スレッドに組み込むことにより、例えば、あまり器用でないということでユーザが間違えることを抑制して、デバイスの信頼性および使用速度が向上し得る。
いくつかの実施形態では、提案は選択可能な提案である。これらの実施形態のうちのいくつかでは、会話の参加者による提案の選択に応答して、提案(および/または関連するコンテンツ)が会話のトランスクリプトに組み込まれ、かつ/または(例えば、メッセージ交換スレッド内で、および/またはメッセージ交換スレッドから離れて)エンティティに関するコンピュータベースの動作が実行され得る。例えば、提案は最初に1人または複数人の参加者のへの表示のための非静的なグラフィカル要素として提供されてもよく、1人または複数人の参加者による提案の選択時にのみ、提案(および/または関連するコンテンツ)は会話のトランスクリプトに静的に組み込まれる。例えば、一旦静的に組み込まれると、提案は、さらなるメッセージが会話のトランスクリプトに含まれるように提示された後であっても、そのトランスクリプトの一部を形成し、かつ会話において(例えば、スクロールすることによって)見続けることができる。また、例えば、一旦静的に組み込まれると、参加者が提案に基づいて今後会話を検索することができるように、提案は、会話に関連して索引付けされる。提案が選択可能ないくつかの実施形態では、提案は肯定的インタフェース要素と否定的インタフェース要素とを含み得る。肯定的インタフェース要素の選択(複数可)に応答して、提案はトランスクリプトに組み込まれてもよく、肯定的インタフェース要素の選択に応答して、提案はトランスクリプトへの静的な組込みなしに破棄されてもよい。
いくつかの実施形態では、進行中のメッセージ交換スレッド中にコンテキスト的に関連する提案を提供することにより、参加者は、簡単な方法で(例えば、シングルタップおよび/または他の単一選択インタフェース動作を介して)メッセージ交換スレッドに提案(または関連するコンテンツ)を加えることが可能となり得る。付加的または代替的に、コンテキスト的に関連する提案は、参加者(複数可)が、メッセージ交換スレッドをレンダリングするアプリケーションから、そのようなコンテンツを取得するために別のアプリケーションに切り替える必要なしに、コンテキスト的に関連するエンティティに関するコンテンツを参加者(複数可)に提供し得る。例えば、メッセージ交換クライアントを介して表示するための提案を提供すること、および/または(例えば、提案のユーザ選択に応答して)提案に基づいてコンテンツをメッセージ交換スレッドのトランスクリプトに組み込むことは、そのようなコンテンツを取得するためのメッセージ交換クライアントから切り替える必要性を回避し得る。これにより、情報ニーズを満たすために別のアプリケーションに切り替える際に消費される特定の計算リソースの使用が低減され得る。例えば、別のアプリケーションに切り替えるには、アプリケーションの起動および/またはサーフェシングを介してプロセッサ、メモリ、および/またはバッテリのリソースを使用する必要がある。さらに、メッセージ交換スレッドでコンテンツを取得する代わりに別のアプリケーションに切り替えることで、参加者がコンテンツの取得に費やす時間が増加し得、これは、コンテンツを取得する際の計算リソースの消費の対応する増加をもたらし得る。
さらに、参加者(複数可)に会話のトランスクリプトに提案を静的に組み込むかどうかの選択肢が提示される実施形態では、参加者(複数可)にコンテキスト的に関連する提案が提示されてもよいが、参加者(複数可)は、これらの提案が会話の一部を形成するかどうかを制御することが許容され得る。これにより、メッセージ交換スレッドをレンダリングするユーザインタフェースが乱雑となるのが抑制され、かつ/または様々な計算リソースの使用が低減され得る(例えば、全ての提案が自動的に記憶されないので、メッセージ交換スレッドのトランスクリプトを索引付けするか、または他の方法でメッセージ交換スレッドのトランスクリプトを記憶するために必要な記憶スペースが削減され得る)。
いくつかの実施形態では、1つまたは複数のプロセッサによって実施される方法であってメッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを受信することを含む方法が提供される。電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示される。メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアントおよび第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある。方法は、電子メッセージからエンティティを特定するステップと、エンティティのコンテキストインジケータを決定するステップと、コンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定するステップとをさらに含む。方法はさらに、エンティティが使用可能であるとの判定に応答して、エンティティに関する提案を第1のメッセージ交換クライアントおよび第2のメッセージ交換クライアントの少なくとも1つを介して表示するために提供するステップを含む。
これらの実施形態および他の実施形態は、任意選択的に、以下の特徴のうちの1つまたは複数を含み得る。
いくつかの実施形態では、エンティティが使用可能であるとの判定に応答して、第2のメッセージ交換クライアントを介して第2のユーザに表示するために提案が提供されるが、第1のユーザには提供されない。これらの実施形態のうちのいくつかでは、方法は、第2のメッセージ交換クライアントを介した第2のユーザによる提案の肯定的な選択を受信するステップと、肯定的な選択に応答して、第1のメッセージ交換クライアントを介して第1のユーザに表示するために、提案に基づくコンテンツを提供するステップとを含む。これらの実施形態のいくつかのバージョンでは、提案に基づくコンテンツが提案自体である。したがって、これらの実施形態のいくつかは、最初に、メッセージ交換スレッドの参加者の一部に提案を提示し、一部の参加者(複数可)による提案の肯定的な選択に応答して、その提案に基づくコンテンツを一部ではない他の参加者(複数可)に提示する。これにより、肯定的な選択が提供されない状況での提案および/またはコンテンツの供給を防止することによって、一部ではない他の参加者(複数可)のクライアントデバイスの様々な計算リソースの消費を防止し得る。
いくつかの実施形態では、エンティティが使用可能であるとの判定に応答して提案はメッセージ交換スレッドのトランスクリプトに組み込まれることなく表示のために提供される。これらの実施形態のうちのいくつかでは、方法は、提案の肯定的選択を受信するステップと、肯定的な選択に応答して、提案に基づくコンテンツをメッセージ交換スレッドのトランスクリプトに組み込むステップとを更に含む。したがって、これらの実施形態のうちのいくつかは、提案の肯定的な選択に応答して提案に基づくコンテンツのみをメッセージ交換スレッドのトランスクリプトに組み込む。これは、メッセージ交換スレッドにおいてコンテンツを提供および/またはレンダリングするために必要とされるリソース、および/またはトランスクリプトを格納するために必要とされるリソースなど、様々な計算リソースの消費を防止し得る。
いくつかの実施形態では、エンティティが使用可能であるとの判定に応答して提案はメッセージ交換スレッドのトランスクリプトに組み込まれることなく表示のために提供され、提案は、肯定的インタフェース要素と否定的インタフェース要素とを含む。これらの実施形態のうちのいくつかでは、方法は、肯定的インタフェース要素または否定的インタフェース要素のいずれかの選択をモニタするステップと、肯定的インタフェース要素の選択にのみ応答して、提案に基づくコンテンツをメッセージ交換スレッドのトランスクリプトに組み込むステップとを更に含む。したがって、これらの実施形態のうちのいくつかは、提案の肯定的な選択に応答して提案に基づくコンテンツのみをメッセージ交換スレッドのトランスクリプトに組み込む。これは、メッセージ交換スレッドにおいてコンテンツを提供および/またはレンダリングするために必要とされるリソース、および/またはトランスクリプトを格納するために必要とされるリソースなど、様々な計算リソースの消費を防止し得る。
いくつかの実施形態では、方法は、エンティティが使用可能であるとの判定に応答してエンティティをサードパーティサーバに送信するステップと、エンティティの送信に応答してサードパーティサーバから提案を受信するステップとを更に含む。
いくつかの実施形態において、コンテキストインジケータの決定は、第1のユーザおよび第2のユーザのうちの少なくとも一方を含む別の以前のメッセージ交換スレッドに基づいて少なくとも1つのコンテキストインジケータを決定することを含む。それらの実施形態のいくつかでは、少なくとも1つのコンテキストインジケータは、以前のメッセージ交換スレッドのうちの1つまたは複数の以前のメッセージにおいて第1のユーザおよび第2のユーザの少なくとも一方により表現された感情に基づく。これらの実施形態のいくつかのバージョンにおいて、感情はエンティティに向けられたものであり、少なくとも1つのコンテキストインジケータの決定は、エンティティに向けられた感情に基づいて少なくとも1つのコンテキストインジケータを決定することを含む。
いくつかの実施形態において、コンテキストインジケータの決定は、第1のユーザまたは第2のユーザの以前のメッセージを感情分析することに基づいて少なくとも1つのコンテキストインジケータを決定することを含む。以前のメッセージは、メッセージ交換スレッド内にあるか、あるいは以前のメッセージ交換スレッド内にある。それらの実施形態のいくつかでは、感情分析は、以前のメッセージに含まれる非テキストのグラフィック要素に少なくとも部分的に基づいて行われる。これらの実施形態のいくつかのバージョンにおいて、以前のメッセージは以前のメッセージ交換スレッド内にあり、少なくとも1つのコンテキストインジケータは、以前のメッセージにおいてエンティティに向けられた感情に基づいて選択される。
いくつかの実施形態では、提案は第2のユーザへの表示のために提供され、コンテキストインジケータは第1のユーザの以前のメッセージに基づく。これらの実施形態のいくつかでは、以前のメッセージは、第2のユーザに関係しない以前のメッセージ交換スレッドにおいて第1のユーザにより提示されたものである。
いくつかの実施形態では、方法は、機械学習モデルに基づいて少なくとも1つの電子メッセージに対して自然言語分析を実行するステップを更に含み、自然言語分析に基づいて、電子メッセージから使用可能なエンティティを特定し、かつ、エンティティのコンテキストインジケータを決定する。
いくつかの実施形態では、方法は、メッセージ交換スレッドの各参加者からの会話フローを追跡して追跡情報を作成するステップと、追跡情報に基づいてコンテキストインジケータを生成するステップとを更に含む。
いくつかの実施形態では、方法は、トレーニングされた機械学習モデルおよびコンテキストインジケータを用いて提案を決定するステップを更に含む。それらの実施形態のうちのいくつかでは、方法は、エンティティに向けて提供された提案に対するユーザの反応を受信するステップと、コンテキストインジケータに基づくトレーニング例の入力およびユーザの反応に基づくトレーニング例の出力を用いてトレーニング例を生成するステップと、トレーニングされた機械学習モデルをトレーニング例に基づいてさらにトレーニングすることに基づいて、トレーニングされた機械学習モデルを修正するステップとを更に含む。
いくつかの実施形態では、方法は、コンテキストインジケータに基づいてメッセージ交換スレッドをコンピュータ可読媒体において索引付けするステップを更に含む。
他の実施形態では、これらの方法および他の方法は、対応するシステム、装置、およびコンピュータストレージ上に符号化された方法の動作を実行するように構成されたコンピュータプログラムを含み得る。
一般に、本開示に記載される主題の他の実施形態は、1つまたは複数のプロセッサを使用して、会話からの少なくとも1つの会話メッセージを受信するステップと、1つまたは複数のプロセッサを使用して、会話から使用可能とすることができるエンティティを特定するステップと、1つまたは複数のプロセッサを使用して、エンティティのコンテキストインジケータを決定するステップと、1つまたは複数のプロセッサを使用して、コンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定するステップと、エンティティが使用可能であることに応答して、ユーザがエンティティに対して動作を起こすための提案を提供するステップとを含む方法に具体化され得る。
これらの実施形態および他の実施形態は、それぞれ、任意選択的に以下の特徴のうちの1つまたは複数を含み得る。例えば、特徴は、機械学習モデルに基づいて少なくとも1つの会話メッセージに対して自然言語分析を実行するステップを含み、会話メッセージから使用可能なエンティティを特定すること、およびエンティティのコンテキストインジケータを決定するステップはその分析に基づく。特徴は、会話の各参加者からの会話フローを追跡し、追跡情報に基づいてコンテキストインジケータを洗練化することを含み得る。特徴は、機械学習モデルおよびコンテキストインジケータに基づいてユーザが動作を起こすための提案を決定することを含み得る。特徴は、エンティティを使用可能なものとしてマークする指示をユーザから受信すること、機械学習モデルにユーザ指示をトレーニング信号として送信すること、エンティティに関連する情報を検索すること、およびユーザに情報を提供することを含み得る。特徴は、クエリおよび文書検索を含む様々なソースからデータを受信すること、データから特徴を抽出すること、抽出された特徴に基づいて機械学習モデルを生成すること、ユーザ動作を受信すること、ユーザ動作に基づいて機械学習モジュールをトレーニングすることを含み得る。特徴は、会話の参加者を含むエンティティ情報をアプリケーションに供給すること、アプリケーションにより提案を生成すること、会話の参加者に提案を提供することを含み得る。特徴は、会話中のユーザのエンティティに関連する質問を検出すること、質問に対する可能性のあるユーザ回答を決定すること、可能性のあるユーザ回答をワンタップ形式でユーザに提供することを含む。特徴は、コンテキストインジケータに基づいて少なくとも1つの会話を編成し、少なくとも1つの会話を索引付けすることを含み得る。
他の実施形態では、これらの方法および他の方法は、対応するシステム、装置、およびコンピュータストレージ上に符号化された方法の動作を実行するように構成されたコンピュータプログラムを含むことができる。
上記の実施形態および/または他の実施形態のうちのいくつかは、いくつかの点で有利であり得る。例えば、経時的に学習して会話のセマンティクスを理解し、リアルタイム会話から意味を導き出す機械学習モデルに基づいて提案を生成することができ、したがって提案は効率的かつ正確である。提案はまた、感情分析および会話フローを含むコンテキスト分析に基づいて生成され得る。適切な提案が適切なコンテキスト条件の下で生成され、したがってインテリジェントである。たとえば、祝福メッセージは悲しんでいるユーザに送信されない。さらに、提案は、ユーザが動作を完了するために直接使用することができる豊富なコンテキストおよび次のステップ(複数可)を提供することができる。さらに、重要な提案および更新は、会話の全ての参加者に対して1つの場所で他のサービスによって提供され得る。また、編成と要約のメカニズムによって、ユーザは会話で共有された意味のある情報を簡単に振り返ることができる。
しかしながら、上記の特徴および利点は、全てを網羅するものではなく、多くの追加の特徴および利点が企図され、かつ本開示の範囲内に含まれることを理解されたい。さらに、本開示で使用される言語は、主に、読みやすさおよび教示目的のために選択されたものであり、本明細書に開示される主題の範囲を限定するものではないことを理解されたい。
本明細書は、同様の参照番号が同様の構成要素を示すように使用される添付図面の図において限定ではなく例として示されている。
図1は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成する例示的なシステムを示すブロック図である。 図2は、提案アプリケーションの例を示すブロック図である。 図3は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成する例示的な方法のフローチャートである。 図4は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成する特定の例示的な方法のフローチャートである。 図5は、会話から使用可能なエンティティを手動で決定するための例示的な方法のフローチャートである。 図6は、機械学習モデルを生成および更新するための例示的な方法のフローチャートである。 図7は、第1のアプリケーションから第2のアプリケーションにエンティティ情報を供給して提案を生成するための例示的な方法のフローチャートである。 図8は、会話中の可能性のあるユーザ回答を予測するための例示的な方法のフローチャートである。 図9は、検索要求に応答して会話および/または会話メッセージを選択的に取得するための例示的な方法のフローチャートである。 図10は、提案を示す例示的な会話インタフェースのグラフィック表示を含む。 図11Aは、第1のアプリケーションによって生成された会話を示す例示的な会話インタフェースのグラフィック表示である。 図11Bは、第2のアプリケーションによって生成された提案を示す例示的な会話インタフェースのグラフィック表示である。 図12は、ワンタップ回答を示す例示的な会話インタフェースのグラフィック表示である。 図13は、会話レポートを示す例示的な会話インタフェースのグラフィック表示である。 図14は、会話の要約を示す例示的な会話インタフェースのグラフィック表示である。 図15は、提案の一連の表示を示す例示的な会話インタフェースのグラフィック表示を含む。
自動提案生成のためのシステム、方法およびインタフェースが開示される。いくつかの実施形態では、自動提案生成のためのシステム、方法、およびインタフェースは会話分析に基づく。ユーザが会話においてメッセージを送信すると、メッセージが分析されて、ユーザが動作を起こすことができる1つまたは複数のエンティティが決定される。会話の他のメッセージ、または会話のユーザおよび/または他の参加者(複数可)を含む他の会話であっても、分析されて、コンテキストインジケータが決定される。提案は、コンテキストインジケータに基づいて生成される。たとえば、2人のユーザがストアで会うことを望む場合、ユーザをストアに誘導してミーティング時間を設定するためのマップおよびカレンダーを提案することができる。コンテキストインジケータに基づいて、マップは両方のユーザに近い特定のストアへの道順を示し、カレンダーは両方のユーザの空いている時間を強調表示し得る。いくつかの例では、提案は動作の次のステップを提示する。
提案生成プロセスは、多くの態様で自動化されている。例えば、本開示の実施形態は、提案を生成するかどうか、およびいつおよび会話内のどこに提案を挿入するか、かつ/または会話への可能性のある組み込みに関していつ1人または複数の参加者に提案を推奨するかを決定する。たとえば、ユーザAからユーザBへの「コーヒーハウスで会いますか?」という質問に関して、ユーザBが質問に対して「素晴らしい!」と答えた場合、2人のユーザの一方または両方にコーヒーハウスを含むマップが提案され得、ユーザBが「行きたいのですが......」と答えた場合、2人のユーザのどちらにもマップ提案は提供されない。いくつかの実施形態では、第1のユーザの現在位置からのコーヒーハウスへの道順と共に第1のユーザに提供される第1のバージョンと、第2のユーザの現在位置からのコーヒーハウスへの道順と共に第2のユーザに提供される第2のバージョン等の異なるバージョンの提案マップが各ユーザに提供され得る。本開示の実施形態はまた、コンテキストインジケータに基づいて、どのような提案が適切であるか、および/またはどの時期に提案を提供することが適切であるかを決定する。例えば、ユーザが(例えば、ユーザの別の会話の分析に基づいて決定されるような)悪いニュースをちょうど受け取った場合、会話中にユーザに祝福の提案を提供することが不適切であると決定され得る。別の例として、ユーザが(例えば、会話および/または以前の会話においてそのようなことについてユーザによって表現された感情に基づいて)何かを嫌っていると決定された場合、会話中にユーザにそのようなことの提案を提供することが適切ではないと決定され得る。
本開示のシステム、方法、およびインタフェースは、クライアント−サーバシステムの状況において説明されるが、システム、方法、およびインタフェースは、ネットワークを介して動作可能に接続された単一のクライアント−サーバシステム以外のシステムに適用することができる。例えば、提案アプリケーションが格納されているクライアントデバイス、サードパーティサーバ、電子メールサーバ、および/またはサーバは、本明細書に記載された機能の一部または全部を提供し、そのような機能を提供するためにサーバのクラスタを使用し得る。追加の例として、クライアントハードウェアは、携帯電話またはタブレットデバイスであり得る。
ここで図面を参照すると、図1は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成するためのシステム100のブロック図を示す。図示されたシステム100は、ユーザ104a、104nによってアクセスされるクライアントデバイス102a、102n、サーバ106、電子メールサーバ108、サードパーティサーバ110および検索サーバ112を含む。図示した例では、これらのエンティティは、ネットワーク114を介して通信可能に結合されている。図1および残りの図において、参照番号の後の文字、例えば「102a」は、特定の参照番号を有する構成要素への参照である。例えば、「102」の後に文字を含まないテキスト中の参照番号は、参照番号を有する構成要素の個々の例に対する一般的な参照である。2つのクライアントデバイス102a、102nのみが図示されているが、当業者であれば、任意の数のクライアントデバイス102nが任意の数のユーザ104nに対して使用可能であることを認識するであろう。
ネットワーク114は、従来型、有線または無線であってよく、スター構成、トークンリング構成または他の構成を含む多数の異なる構成を有し得る。さらに、ネットワーク114は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、および/または複数のデバイスが通信し得る他の相互接続されたデータパスを含み得る。いくつかの例では、ネットワーク114はピアツーピアネットワークであり得る。ネットワーク114はまた、様々な異なる通信プロトコルでデータを送信するための通信ネットワークの一部に結合されるか、またはその一部を含み得る。いくつかの他の例では、ネットワーク114は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、ダイレクトデータ接続、ワイヤレスアプリケーションプロトコル(WAP)、電子メール他を介してデータを送受信するためのBluetooth(登録商標)通信ネットワークまたはセルラー通信ネットワークを含む。図1は、クライアントデバイス102a、102n、電子メールサーバ108、サードパーティサーバ110、および検索サーバ112に結合された1つのネットワーク114を示しているが、実際には、1つまたは複数のネットワーク114がこれらのエンティティに接続することができる。
図1のクライアントデバイス102a、102nは、一例として使用される。図示された実施形態では、2つのクライアントデバイス102のみが図示されているが、本開示は、任意の数のクライアントデバイス102を有するシステムアーキテクチャに適用される。図示した実施形態では、ユーザ104a、104nは、それぞれ信号線116a、116nを介してクライアントデバイス102a、102nとインタラクションする。クライアントデバイス102a、102nは、それぞれ信号線120a、120nを介してネットワーク114に通信可能に接続され、サーバ106、電子メールサーバ108、サードパーティサーバ110、および検索サーバ112と情報を交換する。例えば、クライアントデバイス102aは、会話メッセージ(本明細書では「電子メッセージ」とも称される)をサーバ106に送信する。サーバ106は、会話メッセージを処理し、会話メッセージに基づいて提案を生成する。いくつかの例では、サーバ106は、1つまたは複数の会話メッセージを受信し、1つまたは複数の会話メッセージに基づいて提案を生成する。他の例では、サーバ106は、他の入力(例えば、以前のユーザ活動、ユーザプロフィール情報など)も使用して提案を生成する。認証は、ユーザの任意のプロフィール情報または個人情報の使用前に取得される。クライアントデバイス102aは、サーバ106から予期しない遅延のない提案を受信する。例えば、クライアントデバイス102は、「ジョンの飛行機は到着しましたか?」というメッセージを送信した直後の到着時刻及びフライト状況を含む提案を受信する。いくつかの例では、例えば、提案が、会話の将来の時間に最も適合する場合、または、サーバ106が状況および確認に関する1つまたは複数の会話メッセージを待って提案を送信する場合など、遅延が望ましいことがあり得る。例えば、クライアントデバイス102aが、「コーヒーを飲みに行こう」というメッセージをクライアントデバイス102nに送信した場合、コーヒーショップのマップを即座に提案するのではなく、サーバ106は、提案を生成および/または提供する前にクライアントデバイス102nからのメッセージ(例えば、「私はコーヒーが嫌いです」)を待つ。
いくつかの例では、クライアントデバイス102は、メモリおよびプロセッサを含む任意のコンピューティングデバイスとすることができる。例えば、クライアントデバイス102は、埋め込まれるか、または結合された1つまたは複数のプロセッサを有するラップトップコンピュータ、デスクトップコンピュータ、タブレットコンピュータ、携帯電話、パーソナルデジタルアシスタント、モバイル電子メールデバイス、携帯型ゲームプレーヤ、携帯型音楽プレーヤ、またはネットワーク114にアクセスすることができる任意の他の電子デバイス、その他とすることができる。
サーバ106は、プロセッサ、メモリ、及びネットワーク通信能力を含むハードウェアサーバとすることができる。サーバ106は、信号線122を介してネットワーク114に通信可能に接続される。いくつかの例では、サーバ106は、クライアントデバイス102、電子メールサーバ108、サードパーティサーバ110および検索サーバ112の1つまたは複数とネットワーク114を介してデータを送受信する。サーバ106は、任意選択的にソーシャルネットワークアプリケーション124を含む。
ソーシャルネットワークは、ユーザが共通の特徴(複数可)によって接続されているネットワークとすることができる。共通の特徴は、例えば、友人、家族、仕事、趣味などの関係/つながりを含み得る。共通の特徴(複数可)は、明示的に定義された関係および他のオンラインユーザとの社会的なつながりによって暗示される関係を含み、関係がソーシャルグラフを形成する1つまたは複数のソーシャルネットワーキングシステムによって提供され得る。いくつかの例では、ソーシャルグラフは、これらのユーザのマッピングおよびそれらのユーザがどのように関係しているのかを反映することができる。サーバ106内のソーシャルネットワークアプリケーション124は、ユーザの登録、コンテンツ(例えば、投稿、コメント、写真、リンク、チェックインなど)の発行、マルチユーザ通信セッションのホスティング、グループの管理、個々の共有レベルの管理、ソーシャルグラフの更新などを処理することによってソーシャルネットワークを管理する。ソーシャルネットワークアプリケーション124は、ユーザ名およびパスワードなどの情報を受信することによってユーザを登録し、ユーザに関連付けられ、かつソーシャルグラフの一部として格納されるユーザプロフィールを生成する。いくつかの例では、ユーザプロフィールは、趣味(例えば、サッカー、読書、飲食、購読など)、活動(例えば、検索履歴、承認の表示、投稿、コメント、マルチユーザ通信セッションなど)、人口統計(例えば、年齢、民族、場所など)、プロフィールの評価および評判(例えば、情報評価、ユーモアの評価など)を含むユーザに関する追加情報を含む。システム100は、従来型のソーシャルネットワークサーバ、電子メールサーバ、マイクロブログサーバ、ブログサーバ、フォーラムサーバ、メッセージサーバなどを含む複数のサーバ106を含み得る。
さらに、サーバ106およびソーシャルネットワークアプリケーション124は、1つのソーシャルネットワークの代表とすることができる。複数のソーシャルネットワークがネットワーク114に結合されてもよく、各ソーシャルネットワークが自己のサーバ、アプリケーション、およびソーシャルグラフを有する。たとえば、第1のソーシャルネットワークはビジネスネットワーキングに関し、第2のソーシャルネットワークは大学に関し、または中心に配置され、第3のソーシャルネットワークはローカルビジネスに関する。
電子メールサーバ108は、プロセッサ、メモリ、及びネットワーク通信能力を含むハードウェアサーバとすることができる。電子メールサーバ108は、信号線126を介してネットワーク114に通信可能に接続される。いくつかの例では、電子メールサーバ108は、サーバ106がユーザデータに基づいて会話メッセージ内でエンティティに対する提案を生成することができるようにユーザデータをサーバ106と交換する。例えば、ユーザが会話内で玩具を購入することについて話している場合、サーバ106は、電子メールサーバ108と通信して、(例えば、電子メール内の玩具の購入レシートから)ユーザの購入履歴を取得し、購入履歴に少なくとも部分的に基づいて提案を決定する。認証は、ユーザの購入履歴またはその他の個人情報を使用する前に取得される。
サードパーティのサーバ110は、プロセッサ、メモリ、およびネットワーク通信能力を含むコンピューティングデバイスとすることができる。サードパーティサーバ110は、信号線128を介してネットワーク114に接続される。サードパーティサーバ110は、ネットワーク114を介してシステム100のクライアントデバイス102、サーバ106、および検索サーバ112との間でデータを送受信する。サードパーティサーバ110は、異なるアプリケーションを格納し得る。例えば、サーバ106は、サードパーティサーバ110に格納された会話アプリケーションから会話メッセージを受信することができる。別の例では、サーバ106は、(例えば、サードパーティサーバ110のアプリケーションプログラミングインタフェース(API)を介して)サードパーティサーバ110に格納されたアプリケーションにエンティティ情報を提供して、アプリケーションがエンティティ情報に基づいて提案を生成できるようにする。複数のサードパーティサーバが提供され、サーバ106は、様々な因子に基づいて(エンティティ情報を提供し、応答提案を受信するための)適切なサードパーティサーバを選択してもよい。例えば、会話においてエンティティに関連して言及されたエンティティのセマンティックタイプ(semantic type)および/または動作(複数可)が、他の使用可能なサードパーティサーバの代わりに任意のサードパーティサーバを選択するために利用されてもよい。例えば、サードパーティサーバ110は、レストラン予約の提案を提供することができ、かつ「レストラン」のセマンティックタイプであるエンティティに基づいて、および/またはエンティティに関連して言及されている「確保する」、「予約する」、および/または他の「確保」の用語に基づいて選択することができる。さらに、いくつかの実施形態では、本明細書に記載されたコンテキストインジケータを利用してエンティティが使用可能であるかどうかを決定し、サーバ106は、エンティティが使用可能であると判定された場合にのみ、エンティティ情報をサードパーティサーバに任意選択的に提供し得る。これは、エンティティが使用可能であるとみなされないときに、エンティティに関するエンティティ情報がサードパーティサーバに送信されるのを防止することによって、ネットワークトラフィックを削減し得る。
検索サーバ112は、プロセッサ、メモリ、およびネットワーク通信能力を含むコンピューティングデバイスとすることができる。検索サーバ112は、信号線130を介してネットワーク114に接続される。検索サーバ112は、ユーザからの検索要求に応答してユーザに検索結果を提供する検索エンジンを含む。いくつかの例では、サーバ106は、検索サーバ112と通信して、エンティティに関連する情報を検索し、検索に応答して検索サーバ112によって返信された情報に基づいて、エンティティに対して動作を起こすための提案を生成する。
いくつかの例において、サーバ106は提案アプリケーション132bを含む。他の例では、提案アプリケーション132bは、クライアントデバイス102上に追加的または代替的に格納され得る。例えば、提案アプリケーション132bは、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成するためのクライアントデバイス102上の提案アプリケーション132bの一部およびサーバ106上の提案アプリケーション132bを含むシンクライアントアプリケーションであり得る。
提案アプリケーション132bは、会話から少なくとも1つの会話メッセージを受信し、会話メッセージからエンティティを特定する。エンティティは、会話メッセージの一部、例えば、会話メッセージ内の人物または対象とすることができる。いくつかの例では、提案アプリケーション132bは、会話メッセージの文法構成要素を分析することに基づいて会話メッセージを解析し、解析された会話メッセージから1つまたは複数のエンティティを特定する。例えば、提案アプリケーション132bは、メッセージを解析することに基づいて「素晴らしい天気!」というメッセージが、「素晴らしい」、「天気」、および「!」を含んでいると特定し、メッセージから第1のエンティティ「素晴らしい」および第2のエンティティ「天気」を決定する。
いくつかの実施形態では、提案アプリケーション132bは、分析を全体の会話または他の会話(例えば、以前の会話、サードパーティアプリケーションからの会話)にさらに拡張して、コンテキストインジケータを決定する。たとえば、「ABCコーヒーショップで会いましょうか?」というメッセージおよびユーザプロフィール情報から、提案アプリケーション132bは、エンティティ「ABCコーヒーショップ」がユーザのオフィスの近くにあると判定する。認証は、ユーザの任意のプロフィール情報または個人情報の使用前に取得される。他のコンテキストインジケータは、感情インジケータ、会話フロー、メッセージの時制、メッセージの最新性、メッセージが送信された日および/または時間、エンティティに関連する日および/または時間、会話メタデータなどを含む。
いくつかの実施形態では、提案アプリケーション132bは、ユーザがエンティティに対して動作を起こそうとしている会話のコンテキストにエンティティがあるかどうかを決定することに基づいてエンティティが使用可能かどうかをさらに決定する。例えば、提案アプリケーション132bは、メッセージ「私はAが好きです」におけるAエンティティは使用可能でないと決定するが、メッセージ「私はAを購入するつもりです」におけるAエンティティが使用可能であると決定する。提案アプリケーション132bは、会話フロー、時制、感情インジケータ(例えば、感情記号に基づく)、メッセージに使用される動詞を含むコンテキストインジケータに基づいてエンティティが使用可能かどうか、メッセージ、会話メタデータ、その他において質問があったかどうかを決定する。ユーザAがユーザBに「XYZで会う?」と尋ねた場合、提案アプリケーション132bは、会話フローにおいてユーザBの肯定的な回答を受信した後に、場所「XYZ」が使用可能であると決定するのみである。
いくつかの実施形態では、提案アプリケーション132bは、コンテキストインジケータに基づいて使用可能なエンティティに対する提案を生成する。例えば、提案アプリケーション132bは、第2のユーザが第1のユーザにディナーを招待したときの提案Bを決定するために、第1のユーザからのメッセージ「私はAレストランが嫌い」、「私はBレストランが好き」、「Cレストランは大丈夫」をコンテキストインジケータとして使用する。例えば、メッセージ中のそれらの各エンティティに関して表現された対応する感情に基づいて、提案が、Aレストランではなく、Bレストランおよび/またはCレストランに関するものとなり得る。本明細書で説明されるように、メッセージは、第2のユーザが第1のユーザをディナーに招待する会話からのものであってもよく、かつ/または第2のユーザを含むか、または含まない他の会話からのものであってもよい。さらに、本明細書で説明するように、第1のユーザのメッセージに基づいて決定された提案Bは、第1のユーザおよび/または第2のユーザに表示するために提供されてもよい(適切な認証が得られた場合)。換言すれば、いくつかの実施形態では、提案Bは、第1のユーザのメッセージに基づいて生成され、第2のユーザへの表示のために提供されてもよい。それらの実施形態のいくつかでは、第1のユーザのメッセージに基づく提案は、第1のユーザのメッセージが第2のユーザも含む会話(複数可)からのものであると判定された場合にのみ、第2のユーザにのみ提供される。いくつかの他の実施形態では、第1のユーザのメッセージのうちの1つまたは複数が第2のユーザを含まない会話(複数可)からのものであっても、第1のユーザのメッセージに基づく提案が第2のユーザに提供されてもよい。
さらに、いくつかの実施形態では、提案アプリケーション132bは、エンティティ情報を(例えば、サードパーティサーバ110によってホストされる)別のアプリケーションに供給し、それに応答して、別のアプリケーションから提案を得ることができる。エンティティ情報を別のアプリケーションに供給することは、1つまたは複数のネットワークを利用して別のアプリケーションにエンティティ情報を送信すること、および任意選択で別のアプリケーションのAPIを利用することを含み得る。エンティティ情報を供給することに応答して提案を受信することは、エンティティ情報を送信することに応答して1つまたは複数のネットワークを介して提案を受信することを含み得、かつ任意選択的にAPI(例えば、エンティティ情報を送信する際に利用されるのと同じAPI)を使用し得る。
一例として、ユーザが他のユーザとの会話で天気について言及した場合、気象サービスは、ユーザに毎時の天気予報を送信し得る。例えば、毎時の天気予報は、全てのユーザが見るために会話のトランスクリプトに組み込まれ得、かつ/または会話に関与するために利用されるメッセージ交換クライアント/アプリケーション以外の別のアプリケーションを介してユーザに提供され得る。このようにして、提案アプリケーション132bは、ユーザが別のアプリケーションをクライアントデバイスに手動でインストールすることなく、ユーザを別のアプリケーションと接続し、かつ会話の全ての参加者に表示するための場所に(例えば、会話のトランスクリプトに)重要な提案を提供する。いくつかの例では、提案アプリケーション132bは、追加的または代替的に、ユーザが会話の質問に答える可能性のある回答を予測し、ユーザ時間を節約する。他の例では、提案アプリケーション132bは、追加的または代替的に、ユーザが会話において所望する任意の情報を容易に参照することができるように会話の情報を編成する。提案アプリケーション132bの様々な実施形態が、例えば、図2を参照して本明細書でさらに詳細に説明される。
ここで図2を参照すると、提案アプリケーション132bの一例がより詳細に示されている。図2は、いくつかの実施形態による、プロセッサ202、メモリ204、通信ユニット208、ストレージ210、および提案アプリケーション132bを含むコンピューティングデバイス200のブロック図である。いくつかの例では、コンピューティングデバイス200はサーバ106である。他の例では、コンピューティングデバイスはクライアントデバイス102である。さらに他の例では、コンピューティングデバイスは、サーバ106およびクライアントデバイス102の両方で動作するような分散型コンピューティングデバイスである。コンピューティングデバイス200のコンポーネントは、バス206によって通信可能に結合されているものとして図2に示されている。
プロセッサ202は、演算を実行してディスプレイデバイスに電子ディスプレイ信号を提供するために、演算論理装置、マイクロプロセッサ、汎用コントローラまたはその他のプロセッサアレイの一部または全部を含む。プロセッサ202は、他のコンポーネントとの通信のためにバス206に結合される。プロセッサ202は、データ信号を処理し、かつ複合命令セットコンピュータ(CISC)アーキテクチャ、縮小命令セットコンピュータ(RISC)アーキテクチャ、または命令セットの組合せを実装するアーキテクチャを含む様々なコンピューティングアーキテクチャを含み得る。図2には単一のプロセッサが含まれているが、複数のプロセッサを含むようにしてもよい。処理能力は、画像の表示および画像の捕捉および送信をサポートすることに限定され得る。処理能力は、様々なタイプの特徴抽出およびサンプリングを含むより複雑なタスクを実行するのに十分であり得る。当業者には、他のプロセッサ、オペレーティングシステム、センサ、ディスプレイ及び物理的構成が可能であることは明らかであろう。
メモリ204は、プロセッサ202によって実行され得る命令および/またはデータを記憶する。メモリ204は、他のコンポーネントとの通信のためにバス206に結合される。命令および/またはデータは、本明細書に記載の技術のいずれか、および/または全てを実行するためのコードを含み得る。メモリ204は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、または当該技術分野で既知のいくつかの他のメモリデバイスであってもよい。いくつかの例では、メモリ204は、不揮発性メモリまたは同様の永久ストレージおよび媒体、例えば、ハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための当該技術分野で既知のいくつかの他の大容量ストレージをも含むことができる。
通信ユニット208は、クライアントデバイス102、サーバ106、電子メールサーバ108、サードパーティサーバ110、および検索サーバ112のうちの少なくとも1つとの間でデータを送受信する。通信ユニット208は、バス206に接続されている。例えば、通信ユニット208は、クライアントデバイス102から会話メッセージを含むデータを受信し、サーバ106にデータを送信する。サーバ106は、サーバ106に格納されて提案アプリケーション132bを使用して会話メッセージに基づいて提案を生成し、その提案をクライアントデバイス102に送信する。
いくつかの例では、通信ユニット208は、クライアントデバイス206または別の通信チャネルに物理的に直接接続するためのポートを含む。例えば、通信ユニット208は、クライアントデバイス206と有線通信するためのRJ45ポートまたは同様のポートを含む。他の例では、通信ユニット208は、IEEE 1502.11、IEEE 1502.16、Bluetooth(登録商標)または他の適切な無線通信方法などの1つまたは複数の無線通信方法を使用してクライアントデバイス206または任意の他の通信チャネルとデータを交換するための無線トランシーバ(図示せず)を含む。
いくつかの他の例では、通信ユニット208は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキスト転送プロトコル(HTTP)、ダイレクトデータ接続、無線アプリケーションプロトコル(WAP)、電子メールまたは他の適切なタイプの電子通信などのようなセルラー通信ネットワークを介してデータを送受信するためのセルラー通信トランシーバを含む。さらに別の例では、通信ユニット208は、有線ポートおよび無線トランシーバを含む。通信ユニット208はまた、当業者に理解されるような、TCP/IP、HTTP、HTTPSおよびSMTPなどの標準的なネットワークプロトコルを使用して、ファイルおよび/またはメディアオブジェクトの配信のためのネットワーク114への他の従来の接続を提供する。
ストレージ210は、本明細書に記載の機能を提供するためのデータを記憶する非一時的メモリである。ストレージ210は、バス206に接続される。ストレージ210は、ダイナミックランダムアクセスメモリ(DRAM)デバイス、スタティックランダムアクセスメモリ(SRAM)デバイス、フラッシュメモリ、またはいくつかの他のメモリデバイスであってもよい。いくつかの例では、ストレージ210は、不揮発性メモリまたはハードディスクドライブ、フロッピー(登録商標)ディスクドライブ、CD−ROMデバイス、DVD−ROMデバイス、DVD−RAMデバイス、DVD−RWデバイス、フラッシュメモリデバイス、またはより永続的に情報を記憶するための他の大容量ストレージを含む同様の永久ストレージおよび媒体をも含む。
いくつかの例では、ストレージ210は、ソーシャルネットワーク内のユーザに関連するソーシャルネットワークプロフィール、会話内の会話メッセージ、会話から特定された使用可能なエンティティ、会話および/または他の会話から決定されたコンテキストインジケータ、会話の使用可能なエンティティに基づいて生成された提案などを記憶する。
いくつかの例では、提案アプリケーション132bは、コントローラ220、会話管理モジュール222、モデルビルダー224、会話アナライザ226、決定エンジン228、提案ジェネレータ230、およびユーザインタフェースエンジン236を備える。
コントローラ220は、データを受信してデータを適切なコンポーネントに送信するためのコードおよびルーチンとすることができる。いくつかの例では、コントローラ220は、データを受信して送信するために以下に説明する機能を提供するためにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、コントローラ220は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、コントローラ220は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
いくつかの例では、コントローラ220は、通信ユニット208を介してデータを受信し、そのデータを提案アプリケーション132の適切なモジュールに送信する。例えば、コントローラ220は、通信ユニット208を介してクライアントデバイス102からユーザ情報を受信し、ユーザ情報をモデルビルダー224に送信して、機械学習モデルを構築および更新する。別の例では、コントローラ220は、会話アナライザ226からの会話中のエンティティのコンテキストインジケータと、決定エンジン228からのエンティティが使用可能であるという判定とを受け取り、ユーザがエンティティに対して動作を起こすための提案を生成するために使用可能なエンティティのコンテキストインジケータを提案ジェネレータ230に送信する。
会話管理モジュール222は、会話セッションを生成および管理するためのコードおよびルーチンとすることができる。いくつかの例では、会話管理モジュール222は、会話セッションを生成および管理するために以下に説明する機能を提供するためにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、会話管理モジュール222は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能および使用可能とすることができる。いくつかの例では、会話管理モジュール222は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
いくつかの例では、会話管理モジュール222は会話セッションを生成して、会話インタフェースに会話セッションを表示するためのグラフィックデータを生成するようにユーザインタフェースエンジン236に指示する。会話セッションまたは会話は、ビデオ会議、オーディオ会議、インスタントメッセージングのうちの少なくとも1つを含むマルチユーザ通信セッションである。会話は、少なくとも1つの会話メッセージを含む。会話メッセージは、ビデオメッセージ、オーディオメッセージ、テキストメッセージ、写真、ハイパーリンクなどを含み得る。いくつかの例では、会話管理モジュール222は、クライアントデバイス102のオーディオおよびビデオキャプチャデバイスとインタラクションすることによって会話を生成して、ユーザ104のリアルタイムオーディオ−ビデオ同期通信データストリームを取得する。例えば、会話管理モジュール222は、クライアントデバイス102に含まれるマイクロフォンおよびビデオカメラ(例えば、ウェブカメラまたは前向きカメラ)の機能を制御する、クライアントデバイス102に格納されたソフトウェアドライバとインタフェースして、クライアントデバイス102によってキャプチャされたオーディオ−ビデオデータに基づいて会話を生成する。オーディオ−ビデオデータは、様々なオーディオコーデックおよびビデオコーデックを使用して符号化することができる。他の例では、会話管理モジュール222は、会話に参加するユーザが文書、スクラッチパッド、および/またはコンピューティングデバイスの画面を互いに共有することを可能にする会話を生成する。
いくつかの例では、会話管理モジュール222は、会話の会話メッセージに基づいて提案ジェネレータ230によって自動的に生成された提案を受信し、ユーザインタフェースエンジン236と通信して、会話中の会話メッセージとともに提案を表示するためのグラフィックデータを生成する。他の例では、会話管理モジュール222は、会話内の1つまたは複数のアプリケーションまたはサービスを提供し、ユーザが1つまたは複数のアプリケーションまたはサービスとインタラクションするための1つまたは複数のツールを会話インタフェース内に生成するようにユーザインタフェースエンジン236に指示する。例えば、会話管理モジュール222は、ユーザがトピック、時間などに基づいて会話を検索するために、会話インタフェース内に検索ボックスを生成するようにユーザインタフェースエンジン236に指示する。
いくつかの例では、会話管理モジュール222は、通信ユニット208を介して他のサーバ(例えば、サードパーティサーバ110)と通信して、他の会話から会話メッセージを受信する。他の会話は、他のサーバ上の他のアプリケーションによって生成され得る。会話管理モジュール222は、会話メッセージを提案アプリケーション132bの他のコンポーネント(例えば、224−236)に転送して、提案を生成する。いくつかの例では、会話管理モジュール222はまた、会話メッセージをストレージ210に記憶する。
モデルビルダー224は、機械学習モデルを生成および/または更新するためのコードおよびルーチンとすることができる。いくつかの例では、モデルビルダー224は、機械学習モデルを生成および/または更新するために以下に説明する機能を提供するためにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、モデルビルダー224は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能および実行可能とすることができる。いくつかの例では、モデルビルダー224は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
モデルビルダー224は、会話管理モジュール222によって生成されかつ受信された会話から情報を受信し、情報から特徴を抽出し、抽出された特徴に基づいてモデルを生成する。モデルは、場所、趣味のリストなどの、ユーザに関連する項目を含む。趣味は、好きなことのユーザの表示から明らかにすることができる。趣味は、ユーザの活動から推測される情報とすることもできる。例えば、ユーザがいくつかの会話でハイキング器具について話す場合、モデルビルダー224は、ユーザが屋外活動に興味があると推測する。いくつかの例では、モデルビルダー224は、例えば、クエリ、文書検索、ユーザインタラクション、電子メールなどを含む様々なソースからユーザ情報を受信し、その情報に基づいてモデルを構築する。例えば、モデルビルダー224は、ユーザの検索履歴をモデルに含むようにする。別の例では、クエリに対して返信された文書群と、各文書に関連付けられたランク付けとを受けると、モデルビルダー224は、文書とクエリとの間の関連性を示すランクを含むようにモデルを構築する。
いくつかの例では、モデルビルダー224は、ユーザ統計およびユーザ行動パターンデータ(例えば、ユーザが会話に参加する頻度、ユーザが会話の中で最も話す相手、ユーザが他人と会話することを好む時間、ユーザが会話で写真を共有することを好むかどうか、ユーザがどのような写真を共有することを好むかなど)を含むようにモデルを生成する。他の例では、モデルビルダー224は、ユーザ動作に関する予測を行うために使用される一連の重みおよび乗数を含むようにモデルを生成する。いくつかの例では、モデルビルダー224は、ユーザ間の社会的関係に基づいて重みおよび乗数を決定する。例えば、モデルビルダー224は、会話管理モジュール222から会話メッセージを受信する。会話メッセージは、会話で提起された質問と、質問に対する第1のユーザおよび第2のユーザの回答とを含む。モデルビルダー224は、ソーシャルネットワークアプリケーション124と通信して、第1のユーザが第3のユーザの親しい友人であり、第2のユーザがソーシャルネットワークアプリケーション124によって管理されるソーシャルグラフに基づいて第3のユーザを個人的に知らないと決定する。モデルビルダー224は、第2のユーザよりも第1のユーザに高い重みを割り当てる。後に、モデルが同様のユーザの動作に基づいてユーザの行動を予測するために使用される場合、第1のユーザの回答は、第3のユーザの質問に対する可能性のある回答を予測する際により重み付けされる。他の例では、モデルビルダー224は、会話メッセージの最新性に基づいて重みおよび乗数を決定する。例えば、ユーザが先月の会話でゲームAについて話し、今月の会話でゲームBについて話したとすると、モデルビルダー224は、ユーザがどのゲームフォーラムを購読するかを予測する際にゲームAよりもゲームBにより高い重みを決定する。いくつかの他の例では、モデルビルダー224は、ユーザが会話に参加する頻度、ユーザが他人と会話することを好む時間などを含む他の因子に基づいて重みおよび乗数を決定する。
いくつかの例では、モデルビルダー224はモデルを生成し、そのモデルに基づいて1つまたは複数のカテゴリにユーザをマッピングする。カテゴリは、以下に記載するように、会話アナライザ226によって特定されたエンティティとすることができる。例えば、モデルビルダー224は、ユーザがバスケットボールをしたいと判定し、ユーザをカテゴリ「スポーツマン」およびカテゴリ「バスケットボール」に分類する。あるいは、モデルビルダー224は、毎日他のユーザと話しているユーザをカテゴリ「話し手」に分類する。
いくつかの実施形態では、モデルビルダー224は機械学習モデルを生成する。モデルビルダー224は、少なくとも1つの会話を含む様々なソースからデータを収集し、機械学習アルゴリズムを使用して、収集されたデータから特定の特性を学習する。機械学習アルゴリズムは、回帰技術、インスタンスベースのアルゴリズム、決定木、ベイジアンアルゴリズム、カーネル法、クラスタリング法、相関ルール学習、人工ニューラルネットワークなどを含み得るが、これらに限定されない。モデルビルダー224は、経時的にモデルをトレーニングして会話のセマンティクスを理解し、リアルタイムの会話から意味を導き出す。モデルが進化するにつれて、提案作成、行動予測などにおいてモデルを使用する効率および精度が向上する。
モデルビルダー224は、ユーザ動作をトレーニング信号として使用してモデルをトレーニングする。いくつかの例では、モデルビルダー224は、以前の会話におけるユーザの動作を追跡し、それらのユーザ動作から学習するようにモデルをトレーニングする。例えば、モデルビルダー224は、ユーザが購入ツールを有する会話インタフェースで提供されたものを決して購入しないことを学習するか、または2人のユーザが2人の間の以前の会話から会議スポットとして特定のコーヒーハウスを常に選択することを学習する。他の例では、モデルビルダー224は、ユーザの非チャット動作を追跡し、非チャット動作から学習するようにモデルをトレーニングする。例えば、モデルビルダー224は、ユーザの購入履歴からユーザの好みのチョコレート銘柄を学習する。モデルによって学習したことに基づいて、ユーザに対して提案を行うことができる。例えば、会話の中で休暇についてフロリダに飛行機で行くことについてユーザが話している場合、モデルビルダー224は、ユーザがこの航空会社が好みであり、かつ以前のユーザ動作からその時期の近くにフライトを頻繁に利用していることを学習しているので、フライト日程(例えば、時間および航空会社)の提案をユーザに行うことができる。いくつかの例では、モデルビルダー224は、会話中にユーザに提供された提案に対するユーザ反応を受け取り、次いで、その反応(および会話からの他のデータ)をトレーニング信号として使用して、モデルをトレーニングする(例えば、さらなるトレーニングを通してモデルを洗練化するために使用されるトレーニング例を生成する)。上記の例を続けると、会話中にユーザがフライト日程の提案を削除するか、また航空会社を嫌うことを明示的に主張すると(例えば、「私はこの航空会社が好きではない」など)、モデルビルダー224は、この否定的反応をモデルをトレーニングするための信号として取り扱う。その結果、今後、別の航空会社がユーザに提案され得る。
いくつかの例では、モデルビルダー224は、要求を受信したときにモデルを更新する。例えば、提案ジェネレータ230は、モデルを使用して提案を生成するときにモデルを更新するようにモデルビルダー224に要求する。他の例では、モデルビルダー224は、定期的に(1時間に1回、1日に1回、1週間に1回など)および/または非定期的にデータおよび/または非周期的データをモデルを更新するための様々なソースから受信し、モデルをそれに応じて更新する。いくつかの他の例では、モデルビルダー224は、会話中のユーザ動作、非チャット動作、またはユーザ反応を受信すると、モデルを更新する。
会話アナライザ226は、会話を分析して、会話メッセージからユーザが動作を起こし得るエンティティを特定し、会話中のエンティティのコンテキストインジケータを決定するためのコードおよびルーチンとすることができる。いくつかの例では、会話アナライザ226は、会話を分析して、会話メッセージからユーザが動作を起こし得るエンティティを特定し、会話中のエンティティのコンテキストインジケータを決定するための以下に説明する機能を提供するプロセッサ202によって実行可能な一組の命令とのセットとすることができる。他の例では、会話アナライザ226は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、会話アナライザ226は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
会話アナライザ226は、モデルビルダー224によって生成された機械学習モデルに基づいて、会話管理モジュール222から受信した会話の1つまたは複数の会話メッセージを処理する。いくつかの例では、会話アナライザ226は、自然言語処理(NLP)技術を使用して各会話メッセージを分析する。いくつかの例では、会話アナライザ226は、会話メッセージを解析し、解析された会話メッセージにNLPエンティティ抽出を実施して、エンティティを取得する。エンティティは、会話メッセージの一部(例えば、会話中の人物または対象)とすることができ、エンティティは、様々な粒度レベル(例えば、レストラン、イタリアンレストラン、特定のイタリアンレストラン)とすることができる。いくつかの例では、NLPエンティティ抽出は、機械学習モデルで動作するテキスト(SAFT)ライブラリの意味情報付与(semantic annotation)に基づいている。例えば、モデルビルダー224は、フライト番号を受信し、フライト番号の一般的なフォーマットに基づいて会話内のフライト番号を認識するためにモデルにアノテータを組み込み、アノテータをトレーニングする。このフライト番号が会話メッセージに言及されている場合、会話アナライザ226はモデルビルダー224と通信してアノテータを使用して、会話メッセージ中の1つのエンティティがフライト番号であると決定する。別の例では、会話アナライザ226は、会話メッセージからエンティティ「美しい」、「天気」および「ストアA」を解析し抽出する。そして、会話アナライザ226は、SAFTライブラリを使用した言語意味解析に基づいて、「美しい」が形容詞、「天気」が名詞、「ストアA」が場所及び名詞であると決定する。会話アナライザ226によって特定されるエンティティは、ユーザが動作を起こすことができるかどうかに応じて、使用可能または使用可能でないとすることができうる。エンティティが使用可能であるか使用可能でないかの判定は、決定エンジン228を参照してより詳細に説明される。
エンティティを特定することと組み合わせて(例えば、前、後および/または間)、会話アナライザ226は、会話中のエンティティのコンテキストインジケータを決定する。例えば、場所エンティティの場合、会話アナライザ226は、会話内で場所が言及された時期、会話内の場所を言及した人、会話のどのコンテンツに場所が含まれていたか、どのような種類のコンテンツが会話の場所に続いているか、および/または他のコンテキストインジケータを決定する。いくつかの例では、会話アナライザ226は、複数の会話(例えば、以前の会話、他のアプリケーションによって生成された会話)を分析して、会話中のエンティティのコンテキストインジケータを決定する。
特定の実施形態では、会話アナライザ226は、NLPを実行して、会話中のエンティティのコンテキストインジケータを決定する。いくつかのそれらの実施形態では、NLPは、モデルビルダー224によって生成された機械学習モデルに基づいており、かつ多くの面で従来のNLPよりも洗練化されたものであり得る。いくつかの例では、会話アナライザ226は、会話中の1人または複数人のユーザのユーザ情報と組み合わせたパターンマッチングに基づいてNLPを実行する。例えば、会話アナライザ226は、パターンマッチングに基づいて会話メッセージから「バジルタイレストラン」というフレーズを検出し、1人または複数人のユーザのユーザ情報(例えば、ユーザ(複数可)の場所(複数可)に最も近い「バジルタイ」のレストラン(複数可))に基づいてそのフレーズを「バジルタイ」という名前の1つまたは複数の特定のレストランにマッチングさせることができる。別の例として、会話アナライザ226は、ユーザ情報と組み合わせたパターンマッチングに基づいて会話メッセージからユーザAの近くの特定の「コーヒーハウス」を検出することができる。いくつかの実施形態では、1つまたは複数の特定のエンティティを選択するためにユーザ情報を使用することにより、改善された提案が得られる可能性がある。例えば、ユーザ情報のない「バジルタイレストラン」に基づいて、「バジルタイ」という名前の3つのレストランが特定され得、会話の参加者(複数可)に道案内が提案された場合、その提案は、3つの「バジルタイレストラン」への3つのマップを含み得る。参加者は、どのマップが適切で正確であるかを選択する必要がある。一方、ユーザ情報が利用される場合、「バジルタイレストラン」への1つの関連した正確な道案内(例えば、会話の全ての参加者にとって最も便利なもの、および/または参加者(複数可)が最も頻繁に訪問したもの)のみが提供され得る。
特定の例では、会話アナライザ226は、分析のために1つ以上の会話メッセージを取得することによってコンテキストインジケータを決定する。標準的かつ従来の会話セマンティクスが生成され、例えば、ある会話における「アメリカの大統領は誰ですか?」という質問に対して「バラク・オバマ」、同じ会話における「バラク・オバマの妻は誰ですか?」という質問に対して「ミシェル・オバマ」という会話セマンティクスが生成される。後に会話で「彼」および「彼女」が言及されると、会話アナライザ226は、共参照解析(coreference resolution)を用いて彼を「バラク・オバマ」と参照し、彼女を「ミシェル・オバマ」と参照する。会話型NLPは、いくつかの実施形態において、従来の会話セマンティクスと同様であってもよい。従来の会話セマンティクスと会話型NLPの両方は、個々のメッセージの意味解析に基づいていてもよい。会話アナライザ226は、単一のメッセージのみを分析するのではなく、会話内の連続メッセージおよび/または非連続メッセージをさらに分析し得る。いくつかの例では、会話アナライザ226は、複数の会話メッセージを分析して、会話の各参加者からの会話フローを追跡する。会話アナライザ226は、会話の可能性のある参加者に関してユーザを追跡し、会話フロー、すなわち、どの参加者がどのメッセージをどのような順序で送るかを決定する。会話アナライザ226は、追跡情報に基づいてコンテキストインジケータを洗練化する。例えば、会話アナライザ226は、会話の「会いましょうか?」、「ABCはどう?」という2つの連続したメッセージを分析し得る。会話アナライザ226は、会話の参加者を追跡し、第1の参加者が第1のメッセージを送信し、第2の参加者が第2のメッセージを送信したと決定する。さらに、会話アナライザ226は、第1の参加者からの質問に応答するために、第2の参加者によって場所エンティティ「ABC」が提案されたと決定する。他の例では、会話アナライザ226は、複数の会話から追跡された情報に基づいてコンテキストインジケータを洗練化する。会話アナライザ226は、複数の会話で発生した共通の用語に基づいてコンテキストインジケータを洗練化し得る。例えば、会話アナライザ226は、当日ユーザBと話すときにユーザAから送信される「ハイキングに行きたいですか?」というメッセージからエンティティ「ハイキング」を特定する。会話アナライザ226は、会話フローを追跡して、以前の会話においてユーザBからの「ハイキングよりも釣りが好き」というメッセージを、エンティティ「ハイキング」のコンテキストインジケータとして使用することを決定する。会話アナライザ226は、複数の会話で発生した用語の概念クラスタリングに基づいてコンテキストインジケータを洗練化し得る。例えば、会話アナライザ226は、複数の会話からの「マウンテンバイク」、「バックパック」、「キャンプ」を含むメッセージを、進行中の会話で受信した「ハイキングに行きたいですか」というメッセージに対するコンテキストインジケータとして使用することができると決定する。その理由は、「マウンテンバイク」、「バックパック」、「キャンプ」、「ハイキング」は、概念クラスタリングに基づいて「屋外活動」というクラスタに分類できるからである。
いくつかの例では、会話アナライザ226は、会話を分析して、時制(例えば、会話メッセージが過去時制にあるかどうか)、最新性(例えば、会話メッセージが新規であるかどうか、新旧の会話をどのように重み付けするか)、その他を決定する。会話アナライザ226は、さらに、ユーザプロフィール情報(例えば、年齢、性別)、会話メタデータ(例えば、会話の開始時間および終了時間、会話の参加者、各会話メッセージに関連するタイムスタンプ)を収集し、収集されたデータをコンテキストインジケータとして使用する。認証は、任意のプロフィール情報またはユーザの個人情報の使用前に取得される。
決定エンジン228は、エンティティが使用可能であるかどうかを決定するためのコードおよびルーチンとすることができる。いくつかの例では、決定エンジン228は、エンティティが使用可能であるかどうかを決定するための本明細書で説明される機能を提供するために、プロセッサ202によって使用可能な一組の命令とすることができる。他の例では、決定エンジン228は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、決定エンジン228は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
会話アナライザ226は、会話の会話メッセージからエンティティを特定して、会話内のエンティティのコンテキストインジケータを決定するが、決定エンジン228は、決定されたエンティティが使用可能かどうかを決定する。エンティティは、ユーザがエンティティに対して動作を起こす可能性が高い場合に使用可能である。決定エンジン228は、エンティティが会話のコンテキスト内にあり、ユーザがエンティティについて動作を起こす可能性が高い場合に、エンティティが使用可能エンティティであると決定する。本明細書で説明されるように、ユーザがエンティティに対して動作を起こす可能性が高いかどうかは、決定エンジン228が様々な技術のうちの1つまたは複数を利用することにより、かつ本明細書に記載される1つまたは複数のコンテキストパラメータに基づいて決定される。いくつかの例では、決定エンジン228は、1つまたは複数の動作動詞、1つまたは複数の動詞および関連するコンテキストの主語および/または目的語を検出し、検出された情報に基づいて使用可能なエンティティを決定する。動作動詞は、歩く、読む、望む、考える、その他の身体的または精神的な動作を表現する動詞である。例えば、会話アナライザ226が、会話中のユーザAとユーザBとの間の「スーパーマーケットCで会いましょう」というメッセージから場所エンティティ「スーパーマーケットC」を特定すると、決定エンジン228は動作動詞「会う」、動詞「会う」の目的語「スーパーマーケットC」を検出して、ユーザAおよびBはその場所で会う可能性があるので、場所エンティティ「スーパーマーケットC」は使用可能であると決定する。しかしながら、ユーザAが会話中に「スーパーマーケットCはすごく良い」とコメントしていることで会話アナライザ226が場所エンティティ「スーパーマーケットC」を特定した場合、決定エンジン228は、動作動詞および関連する目的語/主語の検出に失敗する。結果として、決定エンジン228は、動作が検出されないので、場所エンティティ「スーパーマーケットC」が使用可能であると決定しないことがある。エンティティが会話内に現れる毎に、決定エンジン228は、エンティティを使用可能または使用可能でないと分類する。エンティティが使用可能であるとして分類されると、決定エンジン228は、本明細書で説明されるような1つまたは複数の他のコンポーネントによる使用のために、使用可能なエンティティをハイライトまたは他に注釈を付ける。
いくつかの例では、会話アナライザ226は、会話内の全ての会話メッセージを分析して、会話の会話メッセージから特定されたエンティティのコンテキストインジケータを決定する。決定エンジン228は、コンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定する。いくつかの例では、決定エンジン228は、会話フローに基づいてエンティティが使用可能であるかどうかを決定する。例えば、ユーザAは「ABCで会いますか?」という質問を入力する。特定の例では、決定エンジン228は、会話フローにおいてユーザBの回答を受信するまで、場所「ABC」が使用可能であるかどうかを決定しなくてもよい。ユーザBが「もちろん」と言うと、決定エンジン228は、「ABC」が使用可能であると決定する。そうでない場合、決定エンジンは、「ABC」を使用可能でないと決定し得る。別の例では、ユーザAからの「どこで会いましょうか?」という第1のメッセージ、ユーザBからの「ABCはどう?」という第2のメッセージ、ユーザAからの「DEFの方が良い」という第3のメッセージ、ユーザBからの「DEFが良いね」という第4のメッセージが会話フローに含まれている場合、決定エンジン228は、「ABC」ではなく「DEF」を使用可能なエンティティとして決定する。他の例では、決定エンジン228は、エンティティがメッセージの時制に基づいて使用可能かどうかを決定する。例えば、決定エンジン228は、「ニューヨークへは1234を利用していた」というメッセージにおけるフライト番号1234は、メッセージが過去時制にあるので、使用可能でないと決定し得る。いくつかの他の例では、決定エンジン228は、感情インジケータに基づいてエンティティが使用可能であるかどうかを決定する。例えば、決定エンジン228は、ユーザAからの「ディナーにパスタを食べたい?」およびユーザBからの「パスタは嫌い」というメッセージに基づいて、「パスタ」が使用可能でないと決定する。しかしながら、決定エンジン228は、依然として、「ディナー」が使用可能であると決定することができる。より詳細な情報を提供するか、または動作(例えば、ピザレストラン)を達成する提案は、依然としてユーザAに提供され得る。決定エンジン228は、会話アナライザ226によって決定された他のコンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定する。
決定エンジン228は、コンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定するが、これは、本開示がいくつかのアプローチとは異なり、かつ従って利点があり得る。例えば、従来のアプローチでは、アリスと彼女の友人との間の以前の会話に基づいて本日がアリスの誕生日であると決定し、誕生日を祝うための「ハッピーバースデー」メッセージとファンビデオクリップを自動的に送信し得る。本開示の実施形態は、コンテキスト条件が適切であると決定された場合にのみ、そのような自動祝福メッセージをアリスに送信する。アリスが数時間前に「私の家が燃えてしまった」と言った場合、決定エンジン228は、メッセージがアリスに対する迷惑なスパムに過ぎないので、アリスに祝福メッセージを送らないことを決定する。別の例として、ユーザAが以前の会話で「コーヒーショップAが大好き」というメッセージを提供し、現在の会話では、ユーザBに「コーヒーを飲みに行きたい」というメッセージを提供した場合、「コーヒーショップA」に関する提案が、現在の会話に組み込むためにユーザBに提供され得る。提案は、「コーヒーショップA」に関するユーザAの肯定的感情の表現に基づいて提供されてもよく、かつユーザBが前の会話に関与していなくても任意選択的に提供されてもよい。
いくつかの実施形態では、会話中のコンテキストインジケータに基づいて使用可能なエンティティを自動的に決定することに加えて、決定エンジン228は、ユーザが、どのエンティティが使用可能であるかを手動で決定することも可能にする。決定エンジン228が、エンティティが使用可能であることを検出しなくても、決定エンジン228は、ユーザがエンティティを使用可能とすることができるようにする。その結果、会話内の任意のメッセージを使用可能にすることができる。いくつかの例では、決定エンジン228は、会話メッセージ中のエンティティを使用可能なものとしてマークするようにユーザから指示を受け取り、エンティティに関連する情報をユーザに返す。例えば、ユーザは、会話メッセージ中に「パンダ」と言及する。ユーザ(または他のユーザ)は、この単語がメッセージ内で最も重要なエンティティであることを決定し、(例えば、「タップ・オン」または単語の他の選択などのユーザインタフェース入力を介して単語にラベルを付けることにより)この単語が使用可能であることを指示する。この指示を受信することに応答して、決定エンジン228は、「パンダ」に関する情報(例えば、検索サーバ112からの第1の検索結果)をユーザに対して取得するために、他のサーバまたはアプリケーション(例えば、検索サーバ112および/またはサードパーティサーバ110)と通信する。いくつかの例では、ユーザがエンティティに対して動作を起こすことを所望するという指示を受け取ったことに応答して、決定エンジン228は、その指示に基づいて機械学習モデルをトレーニングするために、その指示をモデルビルダー224にトレーニング信号として送信する。例えば、モデルビルダー224は、指示に基づいて、使用可能エンティティを示すトレーニング例出力と、指示がなされたメッセージ、指示の焦点であった単語(複数可)、および/または会話に関連するコンテキストインジケータに基づくトレーニング例入力とを有する正のトレーニング例を生成する。モデルビルダー224は、正のトレーニング例に基づいてモデルをさらにトレーニングすることによって、機械学習モデルを洗練化することができる。
提案ジェネレータ230は、ユーザがエンティティに対して動作を起こすようにするための提案を生成するためのコードおよびルーチンとすることができる。いくつかの例では、提案ジェネレータ230は、ユーザがエンティティに対して動作を起こすための提案を生成するための本明細書で説明する機能を提供するようにプロセッサ202によって使用可能な一組の命令とすることができる。他の例では、提案ジェネレータ230は、コンピューティングデバイス200のメモリ204に格納することができ、プロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、提案ジェネレータ230を、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
決定エンジン228から使用可能なエンティティを受信することに応答して、提案ジェネレータ230は、より豊富なコンテキストおよび次のステップを提示するために使用可能なエンティティに対する提案を生成する。提案は、エンティティをユーザに対してより使用可能なものとしたり、ユーザの動作を達成するのに有用な情報である。例えば、ユーザがレストランで打ち合わせを提案すると、提案ジェネレータ230は、レストランについてのより詳細な情報を提供し、テーブルを予約することを提案することができる。ユーザが映画を鑑賞することについて話すとき、提案ジェネレータ230は、上映時間または映画ストリームへのリンクを提供することができる。ユーザがウェブサイトからビデオクリップについて言及する場合、提案ジェネレータ230は、会話中にユーザがビデオクリップを再生できるようにすることができる。いくつかの例では、提案ジェネレータ230は、リアルタイムの提案を生成する。例えば、ユーザがレストランでランチについて話しているとき、提案ジェネレータ230は、ユーザをレストランに案内するためのマップをリアルタイムで生成する。
いくつかの例では、提案ジェネレータ230は、少なくとも1つの提案ツールを会話インタフェースに組み込むようにユーザインタフェースエンジン236に指示する。提案ジェネレータ230は、提案ツールを使用して提案を表示し、その提案とのユーザインタラクションを受信する。例えば、提案ジェネレータ230は、ユーザの閲覧および選択のためのマップを表示し、ユーザの閲覧およびスケジューリングのためのカレンダーを表示し、連絡先情報を見つけて共有し、ファイルを共有し、リマインダを設定し、ビデオを表示するか、またはビデオ通話を開始し、ステッカーを共有し、気象情報を表示し、スポーツスコアを表示し、製品またはサービス(例えば、衣服、映画、医療サービス)の購入情報を表示し、フライト情報を表示し、交通データを提供し、地域のイベント情報を提供し、地域の商店情報(例えば、レストラン、映画館)を提供し、ユーザステータス(例えば、ドライブ中、自転車走行中、ランニング中)を共有し、製品(例えば、モバイルアプリケーション、ゲーム)を見つけて共有し、製品またはサービスの支払いを行うか、または受け取る等を行うための少なくとも1つの提案ツールを生成するようにユーザインタフェースエンジン236に指示する。当業者は、他のタイプの提案が可能であることを認識するであろう。
いくつかの実施形態では、提案ジェネレータ230によって提供される提案は、選択可能な提案である。それらの実施形態のうちのいくつかでは、会話の参加者による提案の選択に応答して、提案ジェネレータは、提案(および/または関連するコンテンツ)を会話のトランスクリプトに組み込まれ得る。例えば、提案ジェネレータ230は、提案の選択に応答して、提案を会話の全ての参加者に対するトランスクリプトに静的に表示させ得る。例えば、提案は最初に、非静的グラフィカル要素(例えば、インタフェース内に表示されるが、トランスクリプトに完全に組み込まれないもの)として、対応する会話インタフェース内の1人または複数人の受信者に表示するためにユーザインタフェースエンジン236に提供され得る。次に、1つまたは複数の参加者による提案の選択に応答して、提案(および/または関連するコンテンツ)が会話のトランスクリプトに静的に組み込まれ得る。提案が選択可能ないくつかの実施形態では、提案は肯定的インタフェース要素と否定的インタフェース要素とを含むことができる。肯定的インタフェース要素の選択(複数可)に応答して、その提案はトランスクリプトに組み込まれ、肯定的インタフェース要素の選択(複数可)に応答して、その提案はトランスクリプトへの提案の静的な組込みなしに破棄され得る。
いくつかの例では、提案ジェネレータ230は、モデルビルダー224からの機械学習モデルがユーザの動作から学習するものに基づいて提案を生成する。いくつかの例では、モデルビルダー224は、ユーザの非チャット動作から学習するために機械学習モデルをトレーニングし、提案ジェネレータ230は、機械学習モデルに基づいて提案を生成する。例えば、ユーザが次の週末にラスベガスへのフライトについて話している場合、決定エンジン228は、使用可能なエンティティ「フライト」を決定し、提案ジェネレータ230は、機械学習モデルで学習したユーザの以前の購入履歴に基づいてフライトスケジュール(例えば、時間および航空会社)の提案を提示する。他の例では、モデルビルダー224は、機械学習モデルをトレーニングして、ユーザの以前の提案に対する反応から学習し、提案ジェネレータ230は、機械学習モデルに基づいて提案を生成する。提案ジェネレータ230は、ユーザインタフェースエンジン236と通信して、会話インタフェースで提示された以前の提案ツールに対して行ったユーザ動作に基づいて、会話インタフェース内の新たな提案ツールをカスタマイズし得る。例えば、モデルビルダー224は、機械学習モデルをトレーニングして、ユーザに対して表示された会話インタフェースで以前に提示された購入ツールをユーザが使用して一度も購入していないことを学習する。その結果、提案ジェネレータ230は、もはや会話インタフェースに購入ツールを組み込むことを決定しない。同様に、提案ジェネレータ230は、交通マップツールおよび公共交通機関ツールをユーザに提供するように使用される。提案ジェネレータ230は、機械学習モデルから、ユーザが常に公共交通機関ツールとインタラクションしたことを学習し、したがって、将来、公共交通機関ツールのみを生成してユーザに提供することを決定する。別の例では、ユーザAおよびユーザBは、常に会合スポットとしてコーヒーハウスを話題にするか、または選択する。ユーザAがユーザBに「今日会いますか?」と尋ねると、提案ジェネレータ230はマップ提案を生成し、かつマップツールを含むとともに、マップツール内の近くのコーヒーハウスを強調表示するようにユーザインタフェースエンジン236に指示する。
他の例では、提案ジェネレータ230は、インタラクション分析(例えば、NLP)および会話アナライザ226から決定されたコンテキストインジケータに基づいて提案を生成する。提案ジェネレータ230は、感情分析に基づいて提案を生成する。例えば、ユーザAが「コーヒーハウス、明日の午前8時?」と尋ね、ユーザBが「本当?、日曜の早朝に?」と答える。提案ジェネレータ230は、使用可能なエンティティ「コーヒーハウス」に対するマップ及びカレンダーを生成する場合、感情分析に基づいてカレンダーの正午前後の使用可能な時間を強調表示し得る。提案ジェネレータ230は、会話中に伝達されたユーザ情報に基づいて提案を生成する。例えば、ユーザAが「明日、会いましょう」と言い、ユーザBが「最高、私はサンフランシスコにいるでしょう」と言った場合、提案ジェネレータ230は、会話が生じたときにユーザがサンフランシスコにいなかったとしてもユーザAおよびユーザBにサンフランシスコのマップを提供し得る。提案ジェネレータ230は、ユーザプロフィール情報に基づいて提案を生成する。認証は、プロフィール情報またはユーザの個人情報の使用前に取得される。
いくつかの例では、提案ジェネレータ230は、検索エンジンおよび/または他のアプリケーションからのデータを会話に引き出すことによって提案を生成する。例えば、提案ジェネレータ230は、会話内のマップサービスから場所周辺のマップデータを受信し、使用可能な場所エンティティに対するマップ提案を生成する。提案を含む例示的な会話インタフェースが図10に示されている。他の例では、提案ジェネレータ230は、ユーザがエンティティに対して動作を起こすための提案を自身が生成する代わりに、エンティティ情報を他のアプリケーションおよびサービスに供給する。他のアプリケーションおよびサービス自体が、任意選択的に、ユーザがエンティティに対して動作を起こすための提案を直接提供し得る。例えば、会話内にフライト番号が言及されている場合、提案ジェネレータ230は、(例えば、それらのフライトフィードを会話のトランスクリプトに組み込むことによりおよび/または別のアプリケーションを介して提供される通知を介して)会話中の1人または複数人の参加者にフライトフィード(例えば、遅延情報)を提供するようサードパーティサーバに通知する。ユーザが会話中にユーザが好意をもつ友人について言及する場合、提案ジェネレータ230は、広告アプリケーションと通信して、この情報を使用してユーザを広告のターゲットとする。ユーザが会話中にスポーツゲームについて言及する場合、提案ジェネレータ230はサードパーティサービスと通信して、スポーツゲームのスポーツスコアをユーザに提供する。異なるアプリケーションによって提供される提案を含む例示的な会話インタフェースが、図11Aおよび図11Bに示されている。
いくつかの例では、エンティティ情報は、エンティティが特定される会話の参加者を含む。提案ジェネレータ230がエンティティ情報を他のサービスに送信する場合、他のサービスは、会話の全ての参加者(または一部の参加者)に提案を提供し得る。例えば、ユーザAがユーザBおよびユーザCとの会話で天気について言及した場合、気象サービスは、提案ジェネレータ230から「天気」のエンティティ情報を受信した後、ユーザA、BおよびCに天気予報を毎時に送信し得る。別の例において、提案ジェネレータ230がエンティティ情報を他のサービスに供給するとき、提案ジェネレータ230はまた、会話管理モジュール222およびユーザインタフェースエンジン236と通信して、会話インタフェース内のライブ会話を開始する。他のサービスは、ユーザがライブ会話中のエンティティに対して動作を起こすための提案を提供する。上記の例では、他のサービスは、他のサービスによって提供されるインタフェース、または会話管理モジュール222およびユーザインタフェースエンジン236によって提供されるライブ会話のいずれかにおいて、毎時の天気予報を提供し得る。
会話のコンテキストを理解し、ユーザを他のサービスと接続することによって、提案ジェネレータ230は、よりスマートで、関連性が高く、より取得可能な提案をユーザに提供することができ、このため、より有用で効果的である。提案ジェネレータ230はさらなるステップに踏み出して、個人的な支援スペースを開拓する。ユーザの質問「サンフランシスコでの今週のショーはお勧めですか?火曜日の朝、シアトルへのフライトを予約できますか?」を受け取り、複数のアプリケーション、検索、比較、およびフォーム記入に基づいて質問に答える代わりに、提案ジェネレータ230は、ユーザのために質問し、ユーザの代わりに質問に回答する。チャットがユーザのスマートフォン上の最初に選択するアプリケーションになるにつれて、他のモジュールおよびエンジンを組み込んでいる提案ジェネレータ230は、チャットから情報を引き出して関連する更新を提供することによって、この領域に良好に収まるようになる。特に、提案ジェネレータ230は、他のサービスと通信して、全ての参加者について1か所で重要な更新を提供する。提案ジェネレータ230によって他のサービスとユーザを接続することにより、ユーザが別のサービスのために別のモバイルアプリケーションをダウンロードする必要がないので、ユーザを他のサービスにより推進することもできる。さらに、提案ジェネレータ230は、ユーザの会話を、例えば音声コマンドやウェアラブル機器などの動作に変換し理解することを含む、異なるタイプのサービスを構築するためのデベロッパーコンポーネントを提示する。
いくつかの例では、提案ジェネレータ230は、応答予測器232とレポートモジュール234とを備える。
応答予測器232は、会話中のユーザに対する質問を検出し、その質問に対する可能性のあるユーザの回答を決定するためのコードおよびルーチンとすることができる。いくつかの例では、応答予測器232は、会話中のユーザの質問を検出し、その質問に対する可能性のあるユーザの回答を決定するために以下に説明する機能を提供するようにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、応答予測器232は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、応答予測器232は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
ユーザは、クライアントデバイスのタッチスクリーン上で特に困難なタイプ入力、またはユーザが回答を見つけた他の場所からコピーしてペーストすることによって、質問に対して回答する。応答予測器232は、ユーザの可能性のある回答を予測し、次の応答をユーザに提供する。これは、入力またはコピーペーストよりも優れている。例えば、ユーザが自分のフライトが着陸しようとしているときに会話中にユーザに尋ねられた場合、応答予測器232は、使用可能なエンティティ「フライト」に対する回答としてフライト情報を使用可能にすることができる。
いくつかの例では、応答予測器232は、コンテキストインジケータおよび会話アナライザ226からの会話分析およびモデルビルダー224からの機械学習モデルに基づいて、ユーザが質問に対してどのように回答することを所望しているかを予測する。例えば、応答予測器232は、機械学習モデルが会話履歴から学習したことに基づいて、ユーザが特定のタイプの質問にどのように回答する傾向にあるかを決定し、次いで、ユーザに対して1つまたは複数の可能性のある回答を提供する。応答予測器232は、人々が機械学習モデルから質問に対して30%の人がAと応答し、70%の人がBと応答することを学習する場合、応答予測器232は、同じ質問に対して回答しようとしているユーザに対して回答Bを提供し得る。応答予測器232は、会話アナライザ226から受け取ったコンテキストインジケータおよび会話分析により特に有利である。ユーザの場所、コンテキストおよび他の個人情報を知ることにより、応答予測器232はより簡単におよび/正確に回答を予測し得る。例えば、応答予測器232は、前回の会話でユーザAから「コーヒーは嫌いです」および「X通りの紅茶専門店が一番良い」とのメッセージがあったとすると、ユーザBがユーザAに「好きなコーヒーや紅茶の店はどこですか?」と尋ねた場合に、応答予測器232は、「X通りの紅茶専門店」の住所をユーザAの可能性のある回答として簡単に提供することができる。
他の例では、応答予測器232はまた、質問のタイプに基づいて回答のタイプを決定する。応答予測器232は、会話アナライザ226からの文章構造の把握に基づいて質問のタイプを決定する。例えば、応答予測器232は、質問が「AまたはB?」である場合、可能性のある回答としてAおよびBを提供する。または、応答予測器232は、質問が「Aは好きですか?」である場合、可能性のある回答として「はい」および「いいえ」を提供する。応答予測器232はまた、会話アナライザ226によって決定された他のコンテキストインジケータに基づいて質問のタイプを決定する。例えば、ユーザAが「明日、ロサンゼルスにいますか?」と尋ねる。前の会話が、ユーザAがロサンゼルスへのチケットを持っていることを示している場合、応答予測器232は、質問がイエスまたはノー質問であると決定し、ユーザAの可能性のある回答として「はい」または「いいえ」を提供する。しかしながら、ユーザAがチケットを予約したが、数日後でないと確認番号を受け取らないことを示す場合、応答予測器232は、質問がイエスまたはノー質問であると考えず、代わりに可能性のある回答として「わかりません」を提供する。
いくつかの例では、応答予測器232は、ワンタップ形式および/または他の単一選択形式で可能性のあるユーザ回答を提供する。たとえば、「あなたの連絡先情報を送信できますか?」という質問があるとする。この質問は、使用可能なエンティティ「連絡先情報」を含む。さらに、以前の会話が「あなたの」連絡先情報を含むものとする。応答予測器232は、ワンタップの連絡先情報を回答として提供し得る。会話のコンテキストに基づいて応答予測器232によって提供されるワンタップの提案は、多くの点(例えば、時間、安全性)でユーザにとって都合がよい。例えば、ユーザAがユーザBにチャット会話を送信すると、応答予測器232は、「運転中です」と言うワンタップの提案を送信するか、またはユーザBがユーザAに応答するために「20分後に家に着きます」と送信することもできる。ユーザBが搭乗中で携帯電話をオンにしていない場合、応答予測器232は、カレンダーに基づいてユーザBに対して「4時間後に使用可能となります」と自動的に回答することができる。ワンタップ回答を示す例示的なインタフェースが図10に示されている。
レポートモジュール234は、会話を編成することに基づいて会話に関連する1つまたは複数のレポートを生成するコードおよびルーチンとすることができる。いくつかの例では、レポートモジュール234は、会話を編成することに基づいて会話に関連する1つまたは複数のレポートを生成するために以下に説明する機能を提供するようにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、レポートモジュール234は、コンピューティングデバイス200のメモリ204に格納することができ、かつプロセッサ202によってアクセス可能かつ実行可能とすることができる。いくつかの例では、レポートモジュール234は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
ユーザは、会話で共有しているものを追跡するのを忘れる。会話は容易に検索できない場合がある。たとえば、ユーザが実際に必要とする情報を見つけるために多数の検索結果を上下にスクロールする必要があり得る。レポートモジュール234は、会話全体に亘って情報を集約し、会話を編成し、会話をトピック、対象、および/または他のメタデータによって容易に検索可能にする。
レポートモジュール234は、会話アナライザ226によって会話から決定された会話およびコンテキストインジケータを受信し、コンテキストインジケータに基づいて会話を編成する。いくつかの例では、レポートモジュール234は、コンテンツに基づいて会話を編成する。例えば、レポートモジュール234は、会話を編成して、映画について話す会話または場所について言及する会話を見つける。他の例では、レポートモジュール234は、タイムラインに基づいて会話を編成する。例えば、レポートモジュール234は、降順の時間順で場所を言及する会話を編成する。他の例では、レポートモジュール234は、会話フローに基づいて会話を編成する。例えば、レポートモジュール234は、会話からの場所を含む会話メッセージを取得し、メッセージを送信した特定のユーザに各メッセージを関連づけ、会話メッセージを降順の時間順に並べる。別の例では、ユーザが「検索ボックスをクリックする」と言った場合、レポートモジュール234は、会話フロー内の次のメッセージが、ユーザが検索ボックスで特定した単語であると決定し、会話をこの順序で編成し得る。他の例では、レポートモジュール234は、感情および/または他の特徴(複数可)に基づいて会話を編成する。例えば、レポートモジュール234は、人々を電子ブックリーダーまたはペーパーブックリーダーとして分類することに基づいて会話を編成する。本開示の利益を受ける当業者は、レポートモジュール234が他のコンテキストインジケータに基づいて会話を編成することができることを理解するであろう。
いくつかの例では、レポートモジュール234はまた、後のフォローアップのために重要なメッセージ(例えば、使用可能なエンティティ)にラベルを付ける。ラベルは、フラグ、星などとすることができる。ユーザがこのメッセージを言及するか、またはメッセージを検索するとき、レポートモジュール234は、それを容易に取得することができる。レポートモジュール234は、メッセージにラベルを付けることによって、例えば、このメッセージがどのくらい頻繁に言及されたか、ユーザがこのメッセージを言及した時期など、追加情報を得る。
レポートモジュール234は、会話を編成することに基づいて会話(例えば、ストレージ210に記憶されたデータベース内の)を索引付けする。レポートモジュール234が会話の検索要求を受信すると、レポートモジュール234は、インデックスを使用して会話を検索し、レポートを生成し、そのレポートをユーザに返す。例えば、映画について話す会話に対する検索要求を受信したことに応答して、レポートモジュール234は、映画に関する会話コンテンツを検索する。レポートモジュール234は、会話のタイムラインに従って会話を順序付けし、会話中の各会話メッセージをユーザおよび時間と関連付けし、重要なエンティティ(例えば、映画名、劇場の名前、上映時間他)を強調表示し、インデックスに基づいて以前の会話に戻す参照を提供することに基づいて検索結果を編成する。レポートモジュール234は、会話を編成することに基づいてユーザのためのレポートを生成する。会話レポートを示す例示的な会話インタフェースが図13に示されている。いくつかの例では、レポートモジュール234はまた、ある期間内に会話を編成し要約することによって要約を生成する。例えば、レポートモジュール234は、ユーザが週に何回会話に参加したか、週に誰と会話したか、週にどのような話題を話したか、週に何枚の写真をユーザが共有したかについての要約を生成する。会話要約を示す例示的な会話インタフェースが図14に示されている。
レポートモジュール234が行うことは、人が行うことができる簡単な会話検索または簡単な会話要約作成以上のことである。レポートモジュール234は、ユーザが会話の逐語的なトランスクリプトを全体に亘って探り、かつ/またはスクロールすることを必要とすることなく、ユーザに対して詳細を取得することができる。レポートモジュール234はまた、ユーザの会話で議論されたトピック(例えば、ゲームのスコアまたはショー)についての更新を得る。いくつかの実施形態では、レポートモジュール234は、ユーザがイベント、場所、人々に基づいて共有された重要な手がかりの情報を振り返ることができるため、検索結果を提供するだけではない。また、レポートモジュール234は、過去数ヶ月間に話した全てのレストランのリストなど、ユーザが共有したり話したことのあるものの集合とインタラクションすることを可能にする。さらに、レポートモジュール234は、会話からの洞察を得る方法、コンテキスト、感情、および/または他の特徴を測定する方法を提供する。例えば、レポートモジュール234は、特定のブランドに対する感情を測定し、トレンドのトピックを特定するための価値のある洞察を得ることができる。
ユーザインタフェースエンジン236は、会話メッセージおよび会話の提案を表示する会話インタフェースを生成するためのコードおよびルーチンとすることができる。いくつかの例では、ユーザインタフェースエンジン236は、会話メッセージおよび会話の提案を表示するユーザインタフェースを生成するために以下で説明する機能を提供するようにプロセッサ202によって実行可能な一組の命令とすることができる。他の例では、ユーザインタフェースエンジン236は、コンピューティングデバイス200のメモリ204に格納され、プロセッサ202によってアクセス可能かつ実行可能とすることができる。ユーザインタフェースエンジン236は、プロセッサ202およびコンピューティングデバイス200の他のコンポーネントと協働および通信するように適合することができる。
いくつかの例では、会話管理モジュール222は、会話インタフェース内に会話および会話メッセージを表示するためのグラフィックデータを生成するようにユーザインタフェースエンジン236に指示する。他の例では、提案ジェネレータ230は、会話内の使用可能なエンティティに対する提案を生成する。会話管理モジュール222は、会話インタフェース内に会話メッセージとともに提案を表示するためのグラフィックデータを生成するようにユーザインタフェースエンジン236に指示する。いくつかの例では、ユーザインタフェースエンジン236は、1つまたは複数の提案を表示し、その提案(複数可)とのユーザインタラクションを受信するための複数の提案ツールを会話インタフェース内に生成する。
提案は、ユーザがエンティティに対して動作を起こすための情報を含む。いくつかの例では、ユーザインタフェースエンジン236は、エンティティを含むメッセージと並列に提案を表示するための複数の提案ツールを生成する。例えば、ユーザインタフェースエンジン236は、スキー場のマップツールおよび雪のレポートを同じ画面上の「スキーに行く」というメッセージとともに表示する。ユーザはマップツールを使用してマップを表示して選択することができる。あるいは、ユーザインタフェースエンジン236は、2人のユーザのための2つのカレンダーツールを、翌日に会うことを話しているメッセージとともに示し得る。ユーザは、カレンダーツールを使用してカレンダーを見てスケジュールを決めることができる。あるいは、ユーザインタフェースエンジン236は、有名人の衣装について話すメッセージと共に、ドレスおよび靴のための個々の購入ツールを示し得る。あるいは、ユーザインタフェースエンジン236は、翌日に2人のユーザが空いている時間を強調表示するカレンダーツールを示し、かつ「翌日会ってコーヒーを飲みませんか?」というメッセージと共に、両方のユーザの住所の近くのコーヒーショップを強調表示するマップツールを示し得る。あるいは、ユーザインタフェースエンジン236は、「AからBへ行く」というメッセージと共に、交通マップツールおよび公共交通機関ツールを示し得る。いくつかの例では、提案ツールが画面(例えば、スマートフォンの小さな画面)に収まらない場合、ユーザインタフェースエンジン236はツールオプションを最初に複数のツールとして表示する。
他の例では、ユーザインタフェースエンジン236は、1つまたは複数の提案を連続的に表示するための複数の提案ツールを生成する。例えば、「会って食事する」というメッセージを受信すると、ユーザインタフェースエンジン236は、ランチまたはディナーのオプションを示す。ユーザがランチを選択すると、ユーザインタフェースエンジン236は、ランチで開いているレストランを示す。あるいは、「翌日会ってコーヒーを飲む」というメッセージを受信すると、ユーザインタフェースエンジン236は、まずカレンダーツールを表示する。ユーザインタフェースエンジン236はまた、全てのユーザが都合の良い時間をカレンダー上に強調表示し得る。いったん時間が選択されると、ユーザインタフェースエンジン236は、その時間で開いているコーヒーショップのマップを示す。あるいは、「ロサンゼルスでスキー用品を購入する」というメッセージを受信すると、ユーザインタフェースエンジン236は、まずロサンゼルスのスポーツストアのマップを示す。ストアが選択された後、ユーザインタフェースエンジン236は、そのストア内の用品用の購入ツールを示す。提案の連続表示を示す例示的な会話インタフェースが図15に示される。
上記および以下の説明では、説明の目的で、明細書の全体の理解を提供するために多数の具体的な詳細が述べられている。しかしながら、本開示の利益を享受する当業者には、これらの特定の詳細なしに技術を実施することができることは明らかであろう。他の例では、説明を不明瞭にすることを避けるために、構造およびデバイスがブロック図の形式で示されている。例えば、明細書は、ユーザインタフェースおよび特定のハードウェアを参照して上記のいくつかの例で説明される。しかしながら、この説明は、データおよびコマンドを受信することができる任意のタイプのコンピューティングデバイス、およびサービスを提供する任意の周辺デバイスに適用される。
図3は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成する例示的な方法300のフローチャートを含む。方法300は、会話から少なくとも1つの会話メッセージを受信することによって開始する(302)。会話メッセージは、ビデオメッセージ、オーディオメッセージ、テキストメッセージなどを含み得る。次いで、方法300は、会話メッセージから使用可能とすることができるエンティティを特定し(304)、エンティティのコンテキストインジケータを決定する(306)。エンティティは、会話メッセージ内の人物、会話メッセージ内の対象などとすることができる。一例では、図2を参照する上記の更なる詳細で説明した会話アナライザ226は、エンティティを特定して、コンテキストインジケータを決定し得る。例えば、会話アナライザ226は、会話メッセージから場所エンティティを特定し、場所エンティティのコンテキストインジケータを決定し得る。例えば、場所エンティティの場合、会話アナライザ226は、いつ場所が言及されたのか、誰が会話内で場所を言及したのか、会話のどの内容が場所であると気付かせたのか、どのような内容が会話内で場所の後に続いているのか、以前の会話内のエンティティおよび/または関係するエンティティに対して表現された以前の感情等に基づいてコンテキストインジケータを決定し得る。
方法300は次に、コンテキストインジケータに基づいてエンティティが使用可能かどうかを決定する(308)。一例では、図2を参照する更なる詳細で説明した決定エンジン228は、使用可能なエンティティを決定し得る。例えば、会話アナライザ226が、会話中にユーザAとユーザBとの間の「スーパーマーケットCで会いましょう」というメッセージから場所エンティティ「スーパーC」を特定すると、決定エンジン228は、ユーザAとBがその場所で会うため、この場所エンティティ「スーパーマーケットC」が使用可能であると決定する。エンティティが使用可能であると決定エンジン228が決定すると、方法300はステップ310に移行する。そうでない場合、方法300は終了する。方法300は、ユーザがエンティティに対して動作を起こすための提案を提供する(310)。一例では、図2を参照する上記の更なる詳細で説明した提案ジェネレータ230は、提案を提供し得る。例えば、提案ジェネレータ230は、「スーパーマーケットC」へのマップと、ユーザが「スーパーマーケットC」にどのようにして到達できるかを指示する公共交通機関ツールを提供する。いくつかの実施形態では、提案は会話の全ての参加者に提供される。いくつかの他の実施形態では、提案は、会話の参加者の一部に提供される。さらに、いくつかの実施形態では、提案は、会話のトランスクリプトに提案を即時に組み込むことなく1人または複数の参加者に最初に提供されてもよい。これらの実施形態のうちのいくつかでは、提案は、その提案に関する「肯定的な」ユーザインタフェース入力を提供する1つまたは複数(例えば、少なくとも閾値の量の)にのみ応答してトランスクリプトに組み込まれ得る。
図4は、会話からエンティティを特定し、ユーザがエンティティに対して動作を起こすための提案を生成するための特定の例示的な方法400のフローチャートである。方法400は、会話から少なくとも1つの会話メッセージを受信する(402)。次に、方法は、機械学習モデルに基づいて少なくとも1つの会話メッセージに対して自然言語分析(NLP)を実行し(404)、分析に基づいて会話メッセージから使用可能とすることができるエンティティを特定する(406)。例えば、会話アナライザ226は、構文解析、抽出、およびパターンマッチングによって会話メッセージからエンティティ「美しい」、「天気」および「ストアA」を決定する。次に、会話アナライザ226は、SAFTライブラリを用いた言語意味解析に基づいて「美しい」が形容詞、「天気」が名詞、「ストアA」が場所であると決定する。会話アナライザ226によって特定されたエンティティは、ユーザが動作を起こすことができると判定されたかどうかに応じて、使用可能とするか、または使用可能でないとすることができる。
次に、方法400は、分析に基づいてエンティティのコンテキストインジケータを決定する(408)。例えば、会話アナライザ226は、ユーザ情報と組み合わせたパターンマッチングに基づいてNLPを実行する。例えば、会話アナライザ226は、ユーザAのユーザ情報と組み合わせたパターンマッチングに基づいて市街地の任意の「コーヒーハウス」の代わりに、会話メッセージからユーザAの近くの「コーヒーハウス」を検出することができる。追加的または代替的に、会話アナライザ226は、会話メッセージに対する感情分析を実行し、会話メッセージに重みを関連付けることによってコンテキストインジケータを決定し得る。例えば、会話アナライザ226は、ユーザAからの「私はコーヒーが嫌いです」「紅茶は大丈夫です」「コーラは好きです」というメッセージを受信し、最も好意的な重みから最低の好意的な重みをコーラ、紅茶、コーヒーに関連づける。重みは、ユーザAの飲み物の好みを示す。追加的または代替的に、会話アナライザ226は、会話メッセージを分析して、時制(例えば、会話メッセージが過去時制にあるかどうか)、および/または会話メッセージの最新性(例えば、会話メッセージが新規であるかどうか、新旧の会話メッセージをどのように重み付けるか)を決定し、かつ/またはユーザプロフィール情報(例えば、年齢、性別)および/または会話メタデータ(例えば、会話の開始時間および終了時間、会話の参加者、各会話メッセージに関連するタイムスタンプ)をコンテキストインジケータとして収集し得る。
方法400は、さらに、会話の各参加者からの会話フローを追跡し(410)、追跡情報に基づいてコンテキストインジケータを洗練化する(412)。例えば、会話アナライザ226は、会話の可能性のある参加者についてユーザを追跡し、どの参加者がどの順番でどのメッセージを送っているかを決定する。例えば、会話アナライザ226は、当日ユーザBと話すときにユーザAから送信される「ハイキングに行きたいですか?」というメッセージからエンティティ「ハイキング」を特定する。会話アナライザ226は、会話フローを追跡して、以前の会話においてユーザBからの「ハイキングよりも釣りが好き」というメッセージを、エンティティ「ハイキング」のコンテキストインジケータとして使用すべきであることを決定する。
方法400は、コンテキストインジケータに基づいてエンティティが使用可能かどうかを決定する(414)。決定エンジン228は、エンティティが会話フローに基づいて使用可能であるかどうかを決定する。例えば、ユーザAは「ABCで会いますか?」という質問を入力する。決定エンジン228は、会話フローにおいてユーザBの回答を受信するまで、場所「ABC」が使用可能であるか否かを決定しない。決定エンジン228は、エンティティがメッセージの時制に基づいて使用可能かどうかを決定する。例えば、決定エンジン228は、過去時制メッセージにおけるエンティティが使用可能でないと決定し得る。決定エンジン228はまた、感情インジケータおよび他のコンテキストインジケータに基づいてエンティティが使用可能であるかどうかを決定する。エンティティが使用可能であると決定エンジン228が決定した場合、方法400はステップ416に移行する。そうでない場合、方法400は終了する。
方法400は、機械学習モデルおよびコンテキストインジケータに基づいてエンティティに対してユーザが動作をとるための提案を決定する(416)。例えば、ユーザが次の週末のラスベガスへのフライトについて話している場合、決定エンジン228は、使用可能なエンティティ「フライト」を決定し、提案ジェネレータ230は、機械学習モデルで学習したユーザの以前の購入履歴に基づいてフライトスケジュール(例えば、時間および航空会社)の提案を提示する。方法400は、エンティティに対してユーザが動作を起こすための提案を提示する(418)。
図5は、会話から使用可能なエンティティを手動で決定するための例示的な方法のフローチャート500である。方法500は、会話メッセージ中のエンティティを使用可能なものとしてマークする指示を受信する(502)。いくつかの例では、(例えば、エンティティに対応する会話メッセージ内の用語を指示するユーザインタフェース入力に基づいて)会話メッセージ内のエンティティを使用可能なものとしてマークする指示がユーザから受信される。方法500は、ユーザ指示、および任意選択的に追加データ(例えば、会話メッセージ、コンテキストインジケータ)をトレーニング信号として機械学習モデルに送信する(504)。方法500は、エンティティに関連する情報を検索し(506)、その情報をユーザに提供する(508)。たとえば、ユーザは「グリーンパークミュージアム」がメッセージの中で最も重要な単語であると決定し、その単語にフラグを立てることにより、この単語が使用可能であることを指示する。この指示を受信することに応答して、決定エンジン228は、「グリーンパークミュージアム」に関連する情報を検索し、ユーザに対する上位5つの結果を取得する。決定エンジン228はまた、機械学習モデルをトレーニングするために、指示をトレーニング信号として送信する。
図6は、機械学習モデルを生成し更新するための例示的な方法のフローチャート600である。一例では、図2を参照する上記の更なる詳細で説明したモデルビルダー224は、機械学習モデルを生成し更新し得る。方法600は、クエリおよび文書検索を含む様々なソースからデータを受信し(602)、データから特徴を抽出し(604)、抽出された特徴に基づいて機械学習モデルを生成する(606)。例えば、モデルビルダー224は、ユーザの検索履歴をモデルに含むようにする。別の例では、クエリに対して返信された文書群と、各文書に関連付けられたランク付けとを受けると、モデルビルダー224は、文書とクエリとの間の関連性を示すランクを含むようにモデルを構築する。モデルビルダー224はまた、ユーザの動作に関する予測を行うために使用されるユーザ統計、ユーザ行動パターンデータ、一連の重みおよび乗数を含むようにモデルを生成し得る。モデルビルダー224は、機械学習モデルを生成し、経時的にモデルをトレーニングして、会話のセマンティクスを理解し、リアルタイムの会話から意味を導き出す。モデルが進化するにつれて、提案作成、行動予測などにおいてモデルを使用する効率および精度が向上する。
方法600は、エンティティに向けて提供された提案に対する反応を含むユーザ動作を受信し(608)、ユーザ動作に基づいて機械学習モデルをトレーニングする(610)。これは、ユーザ動作および他の関連データに基づいてトレーニング例を生成すること、およびトレーニング例に基づいて機械学習モデルをトレーニングすることを含み得る。例えば、モデルビルダー224は、ユーザが購入ツールを用いて会話インタフェースで提供されたものを一度も購入していないことを学習する。別の例では、モデルビルダー224は、フライト日程の提案に関して「この航空会社が好きではない」というコメントを受け取る。モデルビルダー224は、この否定的反応をモデルをトレーニングするための信号として取り扱う。その結果、今後、別の航空会社がユーザに提案され得る。
図7は、提案を生成するために、第1のアプリケーションから第2のアプリケーションにエンティティ情報を供給するための例示的な方法のフローチャート700である。方法700は、第1のアプリケーションによってホストされた会話から少なくとも1つの会話メッセージを受信し(702)、会話メッセージ中のエンティティが使用可能であると決定する(704)。方法700は、第1のアプリケーションにおける会話の参加者を含むエンティティ情報を第2のアプリケーションに供給する(706)。次に、方法はステップ708に移行し、第2のアプリケーションは、エンティティに対してユーザが動作を起こすための提案を生成する。例えば、会話内にフライト番号について言及された場合、提案ジェネレータ230は、フライトフィード(例えば、遅延情報)をユーザに提供するようサードパーティサーバに通知する。ユーザが会話中にユーザが好きな友人について言及した場合、提案ジェネレータ230は広告アプリケーションと通信して、この情報を使用してユーザを広告のターゲットとする。方法700は、第1のアプリケーションにおける会話の参加者に提案を提供する(710)。例えば、ユーザA、ユーザBおよびユーザCとの会話で天気について言及した場合、気象サービスは、提案ジェネレータ230から「天気」のエンティティ情報を受信した後、ユーザA、BおよびCに天気予報を毎時に送信し得る。
図8は、会話中の可能性のあるユーザ回答を予測するための例示的な方法のフローチャート800である。方法800は、会話から少なくとも1つの会話メッセージを受信し(802)、会話メッセージ中のエンティティが使用可能であると決定する(804)。次に、方法800は、会話中のユーザに対するエンティティに関連する質問を検出し(806)、その質問に対する可能性のあるユーザ回答を決定する(808)。一例では、図2を参照する以下の更なる詳細で説明する応答予測器232は、質問を検出し、可能性のあるユーザ回答を決定し得る。例えば、応答予測器232が、質問に対して30%の人がAと回答し、70%の人がBと回答することを学習する場合、応答予測器232は、同じ質問に対して回答しようとしているユーザに対して回答Bを供給し得る。また、応答予測器232は、コンテキストインジケータ(例えば、ユーザの場所、コンテキスト、および他の個人情報)に基づいて可能性のある回答を決定する。例えば、応答予測器232は、前回の会話でユーザAから「コーヒーは嫌いです」および「X通りの紅茶専門店が一番良い」とのメッセージがあったとすると、ユーザBがユーザAに「好きなコーヒーや紅茶の店はどこですか?」と尋ねた場合に、応答予測器232は、「X通りの紅茶専門店」の住所をユーザAの可能性のある回答として簡単に提供することができる。
方法800は、可能性のあるユーザ回答をワンタップ形式でユーザに提供する(810)。例えば、ユーザAがユーザBにチャット会話を送信すると、応答予測器232は、「運転中です」と言うワンタップの提案を送信するか、またはユーザBがユーザAに応答するために「20分後に家に着きます」と送信することもできる。ワンタップの提案のワンタップ選択に応答して、その提案はチャット会話のトランスクリプトに組み込まれ得る。ユーザBが搭乗中で携帯電話をオンにしていないとき、応答予測器232はカレンダーに基づいてユーザBに対して「4時間後に使用可能になります」と自動的に回答することができる。
図9は、検索要求に応答して会話および/または会話メッセージを選択的に取得するための例示的な方法のフローチャート900である。方法900は、少なくとも1つの会話を受信し(902)、少なくとも1つの会話からコンテキストインジケータを決定する(904)。方法900は、コンテキストインジケータに基づいて少なくとも1つの会話を編成し(906)、少なくとも1つの会話を索引付けする(908)。一例では、図2を参照する上記の更なる詳細で説明したレポートモジュール234は、会話を編成および索引付けし得る。レポートモジュール234は、参加者の身元、会話内で参照されるエンティティ、会話メッセージの時間、他の会話コンテンツなどに基づいて会話を編成し得る。一例では、レポートモジュール234は、また降順の時間順で場所について言及する会話を編成し得る。レポートモジュール234は、会話フローに基づいて会話を編成し得る。例えば、ユーザが「それを検索します」と言うと、レポートモジュール234は、会話フローにおける次のメッセージが、ユーザが検索ボックスで指定した単語であると決定し、この順番で会話を編成し得る。レポートモジュール234はまた、感情および他のコンテキストインジケータに基づいて会話を編成および索引付けし得る。
方法900は、少なくとも1つの会話に対する検索要求を受信し(910)、少なくとも1つの会話の索引付けに基づいて、少なくとも1つの会話の一部を検索する(912)。例えば、レポートモジュール234は、映画について話す会話に対する検索要求を受信したことに応答して、映画に関する会話コンテンツを検索し、会話のタイムラインに従って会話を順序付けし、会話中の各会話メッセージをユーザおよび時間と関連付けし、重要なエンティティ(例えば、映画名、劇場の名前、上映時間他)を強調表示し、インデックスに基づいて以前の会話に戻す参照を提供することによって会話を編成することに基づいてレポートを生成する。
図10は、提案を示す例示的な会話インタフェースのグラフィック表示を含む。図示の例では、会話インタフェース1000,1050がアーロンのモバイル画面に表示されている。アーロンは「パーク・チャウで食事したいですか?」というメッセージ1002をボブから受け取る。図1および図2を参照して上述した提案アプリケーション132bは、場所「パーク・チャウ」が使用可能であると決定する。したがって、アーロンとボブがその場所で動作を起こすための提案を生成することができる。この例では、提案アプリケーション132bは、アーロンおよび/またはボブ用の場所「パーク・チャウ」のマップ1004を生成する。アーロンおよび/またはボブは、マップ1004を閲覧したり、共有ボタン1006を使用してマップ1004を共有したりすることができる。このシナリオでは、マップ1004は、アーロンがメッセージ1002に応答して「もちろん」というメッセージ1008を送信する前と送信した後に2回表示される。別のシナリオでは、決定エンジン228は、アーロンが例えば「もちろん」というメッセージ1008で質問1002に肯定的に答えた場合にのみ、場所「パーク・チャウ」が使用可能であると決定する。結果として、場所提案(例えば、マップ1004)は、アーロンがメッセージ1008を送信した後に1回だけ表示される。換言すれば、アーロンが肯定的なインタラクション要素「もちろん」を伴うインタラクションを介してメッセージ1008を送信するまで、場所提案は、会話のトランスクリプトに組み込まれない。マップがユーザの所望する提案ではないか、マップが間違っているか、または他の否定的な反応であることを示すためにアーロンとボブは、「うーん、いいえ」オプション1010を代替的に選択し得る。そのような状況では、会話のトランスクリプトへの静的な組み込みは行わずに、提案は廃棄され得る。図10では、提案アプリケーション生成プロセス全体が提案アプリケーション132によって処理される。
図11Aは、会話サービスによって生成された会話を示す例示的な会話インタフェースのグラフィック表示である。ユーザのメリッサ ジー.、アリス ゼット.、クリス ビー.の間での進行中の会話は、会話インタフェース1100上に表示される。ユーザのメリッサ ジー.、アリス ゼット.、クリス ビー.は、この非限定的な例においてソーシャルネットワークのメンバーであり得る。ユーザ間の会話セッションは、ソーシャルネットワーク内の第1のアプリケーション(例えば、提案アプリケーション132)によって生成され、管理される。会話インタフェース1100は、メリッサのコンピュータスクリーン上に表示することができる。この例では、その夜の計画について会話をしており、メリッサは買い物に興味があることを示し、「ドレスファクトリーはいいわよ。今は割引があるかしら。」と話している。提案アプリケーション132bは、このメッセージの重要なエンティティが「ドレスファクトリー」および「割引」であると特定すると、提案アプリケーション132bは、これらの重要なエンティティに基づいて提案を生成する。しかしながら、図10のように提案アプリケーション132bによって提案を生成する代わりに、提案アプリケーション132bは、「ドレスファクトリー」および「割引」の情報を別のサービス(例えばサードパーティプロモーションサービス)に供給する。
図11Bを参照すると、図11Bは、サードパーティのプロモーションサービスによって生成された提案を示す例示的な会話インタフェースのグラフィック表示である。図示された例では、会話インタフェース1150は、メリッサのモバイル画面上に表示される。会話インタフェース1150は、「ドレスファクトリーはドレスとジュエリーが5月30日まで20%オフです。」という提案1152を含む。プロモーションサービスは、提案アプリケーション132bによって特定されたエンティティ「ドレスファクトリー」および「割引」に基づいて、(例えば、会話を処理する別のサーバによってその情報が供給された後)図11Aにおいて提案1152を生成する。一例では、プロモーションサービスは、インターネット上のエンティティに関する検索を実行して、提案1152を生成し得る。提案ジェネレータ132bは、提案1152を受信し、提案1152を図11Aにおける会話の参加者の全員または一部(例えば、メリッサ ジー.、アリス ゼット.および/またはクリス ビー.)に提供する。図11Bは、アリスまたはクリスに示された提案と同一の、メリッサのモバイルスクリーン上の提案1152を示す。
図12は、ワンタップ回答を示す例示的な会話インタフェースのグラフィック表示である。図示された図12では、会話インタフェース1200がアーロンのモバイル画面に表示されている。「ママの飛行機の到着予定時刻は?」というボブからの質問1202に応答して、提案アプリケーション132bは、アーロンの以前のユーザ動作(例えば、購入履歴)に基づいて、アーロンからの可能性のある回答を予測し、アーロン用のワンタップ回答1204を生成し得る。自動回答1004は、フライト番号、到着時間、およびフライト状況をリストアップする。したがって、アーロンはボブへの回答を入力する時間を節約する。同様に、ボブが「ママを空港で出迎えるの?」という別の質問1206を送信すると、提案アプリケーション132bはこれがイエスまたはノー質問であると決定し、アーロンが選択するための2つのオプション「はい」または「いいえ」を含むワンタップ自動回答1008を生成する。
図13は、会話レポートを示す例示的な会話インタフェースのグラフィック表示である。会話インタフェース1300は、参加者の名前、トピック、時間、それらの組み合わせなどに基づいて会話を検索することができる検索ボックス1302を含む。図13において図示された例では、ユーザは映画「スターウォーズ」についての会話を検索した。提案アプリケーション132bは、ユーザからの検索要求に応答して、レポートを生成し得る。特定の例では、レポートは、ユーザが会話の他の参加者とトピックについて議論したときの(例えば、メリッサ、アリス、ジェニーが水曜日の7時10分から7時30分の間に「スターウォーズ」について議論したときの)要約1304から始まる。レポートは、各参加者からの時間順の会話メッセージを含み得る。レポートはまた、ユーザによって検索されたキーワード「スターウォーズ」1306を強調表示し得る。さらに、レポートは、ユーザがエンティティに関するさらなる情報(例えば、バイオグラフィー、写真)を取得することを可能にするために、特定のエンティティ(例えば、俳優「AA」1108および「BB」1310)を強調表示し得る。強調表示され、かつ特定された各エンティティは、ユーザがインターネット上のエンティティの検索を実行することを可能にするハイパーリンクに関連付けられ得る。
図14は、会話の要約を示す例示的な会話インタフェースのグラフィック表示である。図示の例では、会話インタフェース1400は、ユーザが1週間の間に参加した会話を要約する、提案アプリケーション132bによって生成されたユーザのための会話の要約1402を含む。会話の要約は、2つの例示的な部分1402および1404を含み得る。第1の部分1402において、要約は、過去1週間の間にユーザが参加した会話の数、および会話に関するいくつかの基本情報(例えば、時刻、日付、他の参加者の識別情報など)を含み得る。第1の部分1402はまた、各参加者からの会話メッセージ、各メッセージが送信された時刻などを含む各会話に関するさらなる詳細を提供する各会話の詳細オプション1406を含み得る。第2の部分1404は、例えば、会話で議論されたトピック(任意選択的に、会話中の各トピックのパーセンテージを記述する円グラフ1408)と、会話内で共有されたオーディオ/ビジュアルコンテンツ(任意選択的に、コンテンツを再生するためのリンク1410)と、2つの会話で共有された写真1412とを含む、過去1週間の間に行われた会話に関する顕著な情報を含み得る。
図15は、提案の連続した表示を示す例示的な会話インタフェースのグラフィック表示を含む。図示された図15において、会話インタフェース1500は、ユーザのモバイル画面上に表示される。「会って食事しませんか?」というメッセージ1502の受信に応答して、提案アプリケーション132bは、「ランチ」、「ディナー」、「ブランチ」などのオプション1504を生成して表示する。ユーザは、ユーザに最初に提案されたオプション1504のうちの1つを選択し、生成される第2の提案をトリガし得る。図15は、オプション1506に示すようにユーザ選択を受信したことに応答して生成された会話インタフェース1550を示す。オプション1506にユーザのランチの選択が現れると、提案アプリケーション132bは、ランチ用の開いている特定のレストランを生成して表示する。特定の実施形態では、提案アプリケーション132bは、会話における参加者の全ての特定の距離範囲内にあるレストランのみを表示し得る。いくつかの例では、レストラン情報1508は、レストラン名、レストランタイプ、レビューおよび価格を含み得る。
特定の実施形態では、表示されたレストラン情報を選択可能かつ使用可能とすることができる。一例では、ユーザは、特定のレストランを選択し、それを会話の他の参加者に例えばレストラン名を含むメッセージとして、レストラン名および会話に適した事前設定されたデフォルトワード(例えば、...で会いましょう)を含むメッセージとして表示し得る。別の例では、ユーザは、特定のレストランを選択して、インターネット上でレストランの検索を実行し、ウェブサイトから店舗情報を取得し、レストランの場所のマップを取得する等し得る。次いで、ユーザは、例えば、レストランの場所のマップを会話インタフェースに挿入することによって、取得した情報を会話の他の参加者に表示するように選択し得る。
本明細書において、「いくつかの例」または「ある実施形態」への参照は、実施形態に関連して説明した特定の特徴、構造、または特性が、その説明の少なくともいくつかの例に含まれることを意味する。本明細書の様々な箇所における「いくつかの例では」という記載の出現は、必ずしも全てが同じ実施形態を参照しているとは限らない。
詳細な説明のいくつかの箇所は、コンピュータメモリ内のデータビットに対する演算のアルゴリズムおよび記号表現に関して提示されている。これらのアルゴリズム記述および表現は、データ処理分野の当業者が、それらの研究の内容を当業者に最も効果的に伝えるために使用される手段である。アルゴリズムは、本明細書では、一般的に、所望の結果を導くステップの自己一貫したシーケンスであると考えられる。これらのステップは、物理量の物理的操作を必要とするものである。通常、必ずしも必要ではないが、これらの量は、記憶、転送、結合、比較、およびその他の操作が可能な電気信号または磁気信号の形式をとる。これらの信号をビット、値、要素、記号、文字、用語、数字などと呼ぶことは、主に一般的な使用のために、時には便利であることが証明されている。
しかしながら、これらの用語および類似の用語は全て、適切な物理量に関連し、かつこれらの量に適用される便利なラベルに過ぎないことに留意すべきである。以下の説明から明らかなように特に明記しない限り、「処理する」、「算出する」、「計算する」、「決定する」、または「表示する」などの用語を利用する説明は、記載を通して、コンピュータシステムのレジスタおよびメモリ内の物理(電子)量として表されるデータを、コンピュータシステムメモリまたはレジスタまたは他のそのような情報記憶、転送または表示デバイス内の物理量として同様に表される他のデータに処理および変換するコンピュータシステムまたは類似の電子コンピューティングデバイスの動作およびプロセスを指す。
本明細書はまた、本明細書の動作を実行するための装置に関する。この装置は、必要な目的のために特別に構成され得、またこの装置は、コンピュータに格納されたコンピュータプログラムによって選択的に起動または再構成された汎用コンピュータを含み得る。このようなコンピュータプログラムは、限定されないが、フロッピー(登録商標)ディスク、光ディスク、CD−ROM、磁気ディスクを含む任意のタイプのディスク、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、消去可能なプログラム可能な読み出し専用メモリ(EPROM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、磁気または光カード、それぞれコンピュータシステムバスに結合され、不揮発性メモリを有するUSBキーまたは電子命令を格納するのに適した任意のタイプの媒体を含むフラッシュメモリ等の非一時的なコンピュータ可読記憶媒体に格納され得る。
本明細書は、完全にハードウェアの実施形態、完全にソフトウェアの実施形態、またはハードウェア要素とソフトウェア要素の両方を含む実施形態の形態を取ることができる。いくつかの例では、本明細書は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含むが、これに限定されないソフトウェアで実施される。
さらに、この説明は、コンピュータまたは任意の命令実行システムによって、またはそれに関連して使用するためのプログラムコードを提供する、非一時的なコンピュータ使用可能またはコンピュータ可読媒体からアクセス可能なコンピュータプログラム製品の形態を取ることができる。この説明のために、非一時的なコンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによって、またはそれに関連して使用するためのプログラムを含む、格納する、通信する、伝播する、または転送することができる任意の装置とすることができる。
プログラムコードを記憶及び/又は実行するのに適したデータ処理システムは、システムバスを介してメモリ要素に直接的又は間接的に結合された少なくとも1つのプロセッサを含む。メモリ要素は、プログラムコードの実際の実行中に使用されるローカルメモリ、大容量ストレージ、および実行中に大容量ストレージからコードを取得しなければならない回数を減らすために少なくともいくつかのプログラムコードの一時記憶を提供するキャッシュメモリを含むことができる。
入出力またはI/Oデバイス(キーボード、ディスプレイ、ポインティングデバイスなどを含むが、これに限定されない)は、システムに直接または介在するI/Oコントローラを介して結合することができる。
ネットワークアダプタは、データ処理システムが介在するプライベートネットワークまたはパブリックネットワークを介して他のデータ処理システムまたはリモートプリンタまたはソーシャルネットワークデータストアに結合されることを可能にするシステムに結合され得る。モデム、ケーブルモデム、およびイーサネットカードは、現在使用可能なタイプのネットワークアダプタのほんのいくつかである。
最後に、本明細書で提示されるアルゴリズムおよびディスプレイは、特定のコンピュータまたは他の装置に本質的に関連するものではない。様々な汎用目的のシステムを、本明細書の教示に従ってプログラムと共に使用することができ、または必要な方法のステップを実行するためにより特殊化した装置を構築することが好都合であることがわかる。様々なこれらのシステムに必要な構造は、以下の説明から明らかになるであろう。さらに、本明細書は、特定のプログラミング言語を参照して記載されていない。本明細書に記載されるような明細書の教示を実施するために様々なプログラミング言語が使用されてもよいことは理解されよう。
本明細書で説明するシステムがユーザに関する個人情報を収集したり、個人情報を使用したりする状況では、ユーザにプログラムまたは機能がユーザ情報(ユーザのソーシャルネットワーク、ソーシャルアクションまたは活動、職業、ユーザの嗜好、またはユーザの現在の場所に関する情報)を収集するかどうかを制御したり、コンテンツサーバからユーザに関連性の高いコンテンツを受信するかどうか、および/または受信する方法を制御する機会がユーザに与えられ得る。さらに、特定のデータは、保管または使用される前に1つまたは複数の方法で処理されて、個人識別可能な情報が削除されるようにし得る。例えば、ユーザの身元は、そのユーザについて個人識別可能な情報を判定することができないように処理され得、またはユーザの地理的位置は、位置情報が得られる場所(都市、郵便番号、または州レベルなど)に一般化されて、ユーザの特定の場所を特定することができないようにされる。したがって、ユーザは、ユーザに関する情報がどのように収集され、システムの様々なコンポーネントによってどのように使用されるかを制御し得る。
本明細書の実施形態の前述の説明は、例示および説明のために提示されたものである。包括的であること、または明細書を開示された正確な形式に限定することを意図するものではない。上記教示に照らして、多くの修正および変形が可能である。本開示の範囲は、この詳細な説明によってではなく、本出願の特許請求の範囲によって限定されることが意図される。当業者には理解されるように、本明細書は、その技術思想または本質的な特徴から逸脱することなく、他の特定の形態で具体化されてもよい。同様に、モジュール、ルーチン、特徴、属性、方法および他の側面の特定の命名および分割は必須でも重要でもなく、明細書またはその特徴を実施するメカニズムは異なる名前、部分および/またはフォーマットを有することができる。さらに、当業者には明らかなように、本開示のモジュール、ルーチン、特徴、属性、方法および他の態様は、ソフトウェア、ハードウェア、ファームウェア、またはこれら3つの任意の組み合わせとして実施することができる。また、モジュールの一例である明細書のコンポーネントがソフトウェアとして実施される場合、コンポーネントは、スタンドアロンプログラムとして、より大きなプログラムの一部として、複数の別個のプログラムとして、静的または動的にリンクされたライブラリとして、カーネルロード可能モジュールとして、デバイスドライバとして実施し、かつ/またはコンピュータプログラムの分野の当業者に現在既知であるか、または将来既知となるあらゆる方法で実施することができる。さらに、本開示は決して特定のプログラミング言語による実施に限定されず、任意の特定のオペレーティングシステムまたは環境に限定されるものでもない。従って、本開示は、以下の特許請求の範囲に記載されている本明細書の範囲を例示するものであって、限定するものではない。

Claims (19)

  1. メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを1つまたは複数のプロセッサを使用して受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記1つまたは複数のプロセッサを使用して、前記電子メッセージからエンティティを特定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記エンティティのコンテキストインジケータを決定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記エンティティに関する提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップと
    前記第2のメッセージ交換クライアントを介した第2のユーザによる前記提案の肯定的な選択を受信するステップと、
    前記肯定的な選択に応答して、前記第1のメッセージ交換クライアントを介して第1のユーザに表示するために、前記提案に基づくコンテンツを提供するステップと
    を含む、コンピュータが実行する方法。
  2. 前記提案に基づくコンテンツは、前記第1のメッセージ交換クライアントの場所に基づくコンテンツの第1のバージョンであり、前記方法は、前記肯定的な選択に応答して、前記第2のメッセージ交換クライアントを介して第2のユーザに表示するために、前記第2のメッセージ交換クライアントの場所に基づくコンテンツの第2のバージョンを提供するステップを更に含む、請求項に記載の方法。
  3. メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを1つまたは複数のプロセッサを使用して受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記1つまたは複数のプロセッサを使用して、前記電子メッセージからエンティティを特定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記エンティティのコンテキストインジケータを決定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記エンティティに関する提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップと
    を含む、コンピュータが実行する方法であって、
    前記提案は前記メッセージ交換スレッドのトランスクリプトに組み込まれることなく表示のために提供され、前記方法は、
    前記提案の肯定的な選択を受信するステップと、
    前記肯定的な選択に応答して、前記提案に基づくコンテンツを前記メッセージ交換スレッドのトランスクリプトに組み込むステップと
    を更に含む、方法。
  4. メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを1つまたは複数のプロセッサを使用して受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記1つまたは複数のプロセッサを使用して、前記電子メッセージからエンティティを特定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記エンティティのコンテキストインジケータを決定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記エンティティに関する提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップと
    を含む、コンピュータが実行する方法であって、
    前記提案は前記メッセージ交換スレッドのトランスクリプトに組み込まれることなく表示のために提供され、前記提案は、肯定的インタフェース要素と否定的インタフェース要素とを含み、前記方法は、
    前記肯定的インタフェース要素または前記否定的インタフェース要素のいずれかの選択をモニタするステップと、
    前記肯定的インタフェース要素の選択にのみ応答して、前記提案に基づくコンテンツを前記メッセージ交換スレッドのトランスクリプトに組み込むステップと
    を更に含む、方法。
  5. 前記エンティティが使用可能であるとの判定に応答して前記エンティティをサードパーティサーバに送信するステップと、
    前記エンティティの送信に応答して前記サードパーティサーバから前記提案を受信するステップと
    を更に含む、請求項1乃至のいずれか1項に記載の方法。
  6. 前記コンテキストインジケータの決定は、前記第1のユーザおよび前記第2のユーザの少なくとも一方を含む別の以前のメッセージ交換スレッドに基づいて少なくとも1つのコンテキストインジケータを決定することを含む、請求項1乃至のいずれか1項に記載の方法。
  7. 前記少なくとも1つのコンテキストインジケータは、前記以前のメッセージ交換スレッドのうちの1つまたは複数の以前のメッセージにおいて前記第1のユーザおよび前記第2のユーザの少なくとも一方により表現された感情に基づく、請求項に記載の方法。
  8. 前記感情は前記エンティティに向けられたものであり、前記少なくとも1つのコンテキストインジケータの決定は、前記エンティティに向けられた前記感情に基づいて少なくとも1つのコンテキストインジケータを決定することを含む、請求項に記載の方法。
  9. 前記コンテキストインジケータの決定は、前記第1のユーザまたは前記第2のユーザの複数の以前のメッセージを感情分析することに基づいて少なくとも1つのコンテキストインジケータを決定することを含み、前記複数の以前のメッセージは、前記メッセージ交換スレッド内にあるか、あるいは以前のメッセージ交換スレッド内にあり、前記感情分析の実行は、
    前記複数の以前のメッセージの内容に基づいて前記複数の以前のメッセージを個々の重みに関連付けるステップと、
    前記複数の以前のメッセージの個々の重みの組み合わせに基づいて全体的な感情を決定するステップと
    を含み、前記全体的な感情は、前記少なくとも1つのコンテキストインジケータの決定に使用される、請求項1乃至のいずれか1項に記載の方法。
  10. 前記感情分析は、前記以前のメッセージに含まれる非テキストのグラフィック要素に少なくとも部分的に基づいて行われ、前記複数の以前のメッセージは以前のメッセージ交換スレッド内にあり、前記少なくとも1つのコンテキストインジケータは、前記複数の以前のメッセージにおいて前記エンティティに向けられた感情に基づいて選択される、請求項に記載の方法。
  11. メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを1つまたは複数のプロセッサを使用して受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記1つまたは複数のプロセッサを使用して、前記電子メッセージからエンティティを特定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記エンティティのコンテキストインジケータを決定するステップと、
    前記1つまたは複数のプロセッサを使用して、前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記エンティティに関する提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップと
    を含む、コンピュータが実行する方法であって、
    前記提案は、前記第1のメッセージ交換クライアントに対する第1の提案および前記第2のメッセージ交換クライアントに対する第2の提案を含み、前記第1の提案および前記第2の提案はそれぞれ前記エンティティに関するものであり、前記第1の提案は、前記第2の提案と異なるものであ、方法。
  12. 前記コンテキストインジケータは、前記第1のユーザの以前のメッセージに基づいており、前記以前のメッセージは、前記第2のユーザに関係しない以前のメッセージ交換スレッドにおいて前記第1のユーザにより提示されたものである、請求項1乃至11のいずれか1項に記載の方法。
  13. 前記第1の提案および前記第2の提案は、前記第1のメッセージ交換クライアントの地理的位置および前記第2のメッセージ交換クライアントの地理的位置に基づく提案の異なるバージョンである、請求項11に記載の方法。
  14. 前記メッセージ交換スレッドの各参加者からの会話フローを追跡して追跡情報を作成するステップと、
    前記追跡情報に基づいて前記コンテキストインジケータを生成するステップと
    を更に含み、前記コンテキストインジケータは、前記メッセージ交換スレッド内のユーザの質問に応答して前記メッセージ交換スレッド内でユーザ回答が提供されたかどうかを示すインジケータを含み、
    前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップは、前記ユーザ回答が前記メッセージ交換スレッド内で提供されたことを示す前記インジケータに基づいて前記エンティティが使用可能であると決定することを含む、請求項1乃至13のいずれか1項に記載の方法。
  15. 前記コンテキストインジケータを決定するステップは、前記メッセージ交換スレッドのうちの1つまたは複数のメッセージにおける1つまたは複数の単語の時制に基づいて少なくとも1つのコンテキストインジケータを決定することを含む、請求項1乃至14のいずれか1項に記載の方法。
  16. 前記電子メッセージ内の第2のエンティティを使用可能として指定する前記第1のメッセージ交換クライアントまたは前記第2のメッセージ交換クライアントを介してユーザ入力を受信するステップと、
    前記第2のエンティティに関する別の提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントのうちの少なくとも一方を介して表示するために提供するステップと
    を更に含む、請求項1乃至15のいずれか1項に記載の方法。
  17. 前記コンテキストインジケータに基づいて前記メッセージ交換スレッドをコンピュータ可読記憶媒体において索引付けするステップを更に含む、請求項1乃至16のいずれか1項に記載の方法。
  18. 命令を備えるコンピュータプログラムであって、前記命令は、コンピュータ上で実行されたときに、
    メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記電子メッセージからエンティティを特定するステップと、
    前記エンティティのコンテキストインジケータを決定するステップと、
    前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントに対する個々の提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップであって、前記個々の提案が前記エンティティに関するものである、ステップと
    前記第2のメッセージ交換クライアントを介した第2のユーザによる前記提案の肯定的な選択を受信するステップと、
    前記肯定的な選択に応答して、前記第1のメッセージ交換クライアントを介して第1のユーザに表示するために、前記提案に基づくコンテンツを提供するステップと
    を前記コンピュータに行わせるコンピュータプログラム
  19. 1つまたは複数のプロセッサと、
    命令を格納するメモリと
    を備えるシステムであって、前記命令は実行されたときに、
    メッセージ交換スレッドのトランスクリプトでの表示のために第1のユーザにより提示される電子メッセージを受信するステップであって、
    前記電子メッセージは、第1のユーザのクライアントデバイスを介して第1のユーザにより提供されるユーザインタフェース入力に応答して提示され、
    前記メッセージ交換スレッドは、第1のユーザの第1のメッセージ交換クライアント及び第2のユーザの第2のメッセージ交換クライアントを介して少なくとも第1のユーザと第2のユーザとの間にある、ステップと、
    前記電子メッセージからエンティティを特定するステップと、
    前記エンティティのコンテキストインジケータを決定するステップと、
    前記コンテキストインジケータに基づいて前記エンティティが使用可能であるかどうかを決定するステップと、
    前記エンティティが使用可能であるとの判定に応答して、前記エンティティに関する提案を前記第1のメッセージ交換クライアントおよび前記第2のメッセージ交換クライアントを介して表示するために提供するステップと
    前記第2のメッセージ交換クライアントを介した第2のユーザによる前記提案の肯定的な選択を受信するステップと、
    前記肯定的な選択に応答して、前記第1のメッセージ交換クライアントを介して第1のユーザに表示するために、前記提案に基づくコンテンツを提供するステップと
    を前記システムに行わせる、システム。
JP2018551908A 2015-12-21 2016-12-21 メッセージ交換スレッド用の自動提案 Active JP6638087B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562270454P 2015-12-21 2015-12-21
US62/270,454 2015-12-21
US15/386,162 US10530723B2 (en) 2015-12-21 2016-12-21 Automatic suggestions for message exchange threads
PCT/US2016/068059 WO2017112786A1 (en) 2015-12-21 2016-12-21 Automatic suggestions for message exchange threads
US15/386,162 2016-12-21

Publications (3)

Publication Number Publication Date
JP2019508820A JP2019508820A (ja) 2019-03-28
JP2019508820A5 JP2019508820A5 (ja) 2019-05-16
JP6638087B2 true JP6638087B2 (ja) 2020-01-29

Family

ID=59066635

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018551908A Active JP6638087B2 (ja) 2015-12-21 2016-12-21 メッセージ交換スレッド用の自動提案

Country Status (6)

Country Link
US (2) US10530723B2 (ja)
EP (1) EP3395018A1 (ja)
JP (1) JP6638087B2 (ja)
KR (1) KR20180093040A (ja)
CN (1) CN108781175B (ja)
WO (1) WO2017112786A1 (ja)

Families Citing this family (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG190611A1 (en) 2009-06-09 2013-06-28 Cimas Ltd Halogenated aliphatic carboxylic acids, oligomers and/or polymers thereof and their use in devitalizing external and internal neoplasms
US10430894B2 (en) 2013-03-21 2019-10-01 Khoros, Llc Gamification for online social communities
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
CN108781175B (zh) 2015-12-21 2021-09-21 谷歌有限责任公司 用于消息交换题绪的自动建议的方法、介质及系统
JP6780001B2 (ja) 2015-12-21 2020-11-04 グーグル エルエルシー メッセージング・アプリケーションのための自動提案および他のコンテンツ
CN106910513A (zh) * 2015-12-22 2017-06-30 微软技术许可有限责任公司 情绪智能聊天引擎
US10846475B2 (en) * 2015-12-23 2020-11-24 Beijing Xinmei Hutong Technology Co., Ltd. Emoji input method and device thereof
US10212119B2 (en) * 2016-01-13 2019-02-19 Pooja Bisarya Method and system for enabling messaging between users
US20170222956A1 (en) * 2016-02-01 2017-08-03 Priya Jain Method and system for enabling an auto response facility between users
US10757048B2 (en) 2016-04-08 2020-08-25 Microsoft Technology Licensing, Llc Intelligent personal assistant as a contact
US10158593B2 (en) * 2016-04-08 2018-12-18 Microsoft Technology Licensing, Llc Proactive intelligent personal assistant
US10291565B2 (en) 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
US10263933B2 (en) 2016-05-17 2019-04-16 Google Llc Incorporating selectable application links into message exchange threads
US10904168B2 (en) * 2016-06-03 2021-01-26 Spotify Ab System and method for providing digital media content with a conversational messaging environment
US10387461B2 (en) 2016-08-16 2019-08-20 Google Llc Techniques for suggesting electronic messages based on user activity and other context
JP6659910B2 (ja) 2016-09-20 2020-03-04 グーグル エルエルシー データへのアクセス許可を要求するボット
CN109952572B (zh) 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
US10015124B2 (en) * 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
US10846618B2 (en) 2016-09-23 2020-11-24 Google Llc Smart replies using an on-device model
US11159473B2 (en) * 2016-10-10 2021-10-26 Facebook, Inc. Systems and methods for sharing content
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
CN108075959B (zh) * 2016-11-14 2021-03-12 腾讯科技(深圳)有限公司 一种会话消息处理方法和装置
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US10614164B2 (en) * 2017-02-27 2020-04-07 International Business Machines Corporation Message sentiment based alert
US11494440B1 (en) * 2017-04-12 2022-11-08 Meta Platforms, Inc. Proactive and reactive suggestions for a messaging system
US10044862B1 (en) * 2017-04-28 2018-08-07 International Business Machines Corporation Dynamic topic guidance in the context of multi-round conversation
US10902462B2 (en) 2017-04-28 2021-01-26 Khoros, Llc System and method of providing a platform for managing data content campaign on social networks
US10860854B2 (en) 2017-05-16 2020-12-08 Google Llc Suggested actions for images
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10917483B2 (en) * 2017-06-22 2021-02-09 Numberai, Inc. Automated communication-based intelligence engine
FR3067554A1 (fr) * 2017-06-23 2018-12-14 Orange Procede et dispositif de traitement de messages textuels recus par une application de messagerie executee dans un terminal de communication d'un utilisateur
US11699039B2 (en) * 2017-06-28 2023-07-11 Microsoft Technology Licensing, Llc Virtual assistant providing enhanced communication session services
US10585991B2 (en) * 2017-06-29 2020-03-10 Microsoft Technology Licensing, Llc Virtual assistant for generating personalized responses within a communication session
US10922483B1 (en) 2017-08-04 2021-02-16 Grammarly, Inc. Artificial intelligence communication assistance for providing communication advice utilizing communication profiles
US20190050774A1 (en) * 2017-08-08 2019-02-14 General Electric Company Methods and apparatus to enhance emotional intelligence using digital technology
US10951558B2 (en) 2017-09-27 2021-03-16 Slack Technologies, Inc. Validating application dialog associated with a triggering event identification within user interaction data received via a group-based communication interface
US11470161B2 (en) 2018-10-11 2022-10-11 Spredfast, Inc. Native activity tracking using credential and authentication management in scalable data networks
US10346449B2 (en) 2017-10-12 2019-07-09 Spredfast, Inc. Predicting performance of content and electronic messages among a system of networked computing devices
US11050704B2 (en) 2017-10-12 2021-06-29 Spredfast, Inc. Computerized tools to enhance speed and propagation of content in electronic messages among a system of networked computing devices
US11570128B2 (en) 2017-10-12 2023-01-31 Spredfast, Inc. Optimizing effectiveness of content in electronic messages among a system of networked computing device
US10999278B2 (en) 2018-10-11 2021-05-04 Spredfast, Inc. Proxied multi-factor authentication using credential and authentication management in scalable data networks
US10785222B2 (en) 2018-10-11 2020-09-22 Spredfast, Inc. Credential and authentication management in scalable data networks
US10652189B2 (en) 2017-10-19 2020-05-12 Chicago Mercantile Exchange Inc. Message encoding and transmission across multiple platforms
US11113604B2 (en) * 2017-11-06 2021-09-07 Google Llc Training and/or utilizing an interaction prediction model to determine when to interact, and/or prompt for interaction, with an application on the basis of an electronic communication
US10601937B2 (en) * 2017-11-22 2020-03-24 Spredfast, Inc. Responsive action prediction based on electronic messages among a system of networked computing devices
US10609511B2 (en) * 2017-12-08 2020-03-31 Facebook, Inc. Techniques for providing meeting location suggestions
US10891526B2 (en) 2017-12-22 2021-01-12 Google Llc Functional image archiving
US10587553B1 (en) * 2017-12-29 2020-03-10 Entefy Inc. Methods and systems to support adaptive multi-participant thread monitoring
US11061900B2 (en) 2018-01-22 2021-07-13 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
US10594773B2 (en) 2018-01-22 2020-03-17 Spredfast, Inc. Temporal optimization of data operations using distributed search and server management
JP7073122B2 (ja) * 2018-01-31 2022-05-23 Dynabook株式会社 電子機器、制御方法及びプログラム
US10866989B1 (en) * 2018-04-06 2020-12-15 Architecture Technology Corporation Real time recommender modeling system, methods of construction, and methods of use
US20190327200A1 (en) * 2018-04-20 2019-10-24 Microsoft Technology Licensing, Llc Customized controls for handling communication content
US11322264B2 (en) 2018-04-23 2022-05-03 DNAFeed Inc. Systems and methods for human-augmented communications
US11074284B2 (en) * 2018-05-07 2021-07-27 International Business Machines Corporation Cognitive summarization and retrieval of archived communications
US20190384811A1 (en) * 2018-06-14 2019-12-19 Pubali Sen System and method for communication exchange feedback
US10901577B2 (en) 2018-07-17 2021-01-26 Google Llc Methods and systems for input suggestion
US10721190B2 (en) * 2018-07-31 2020-07-21 Microsoft Technology Licensing, Llc Sequence to sequence to classification model for generating recommended messages
US11252117B2 (en) * 2018-08-10 2022-02-15 International Business Machines Corporation Electronic communication message coaching service
CN115550304B (zh) * 2018-08-22 2023-10-10 谷歌有限责任公司 确定一组用户的活动实例集合的方法、设备和存储介质
US10909327B2 (en) * 2018-08-24 2021-02-02 International Business Machines Corporation Unsupervised learning of interpretable conversation models from conversation logs
US11182860B2 (en) * 2018-10-05 2021-11-23 The Toronto-Dominion Bank System and method for providing photo-based estimation
US10855657B2 (en) 2018-10-11 2020-12-01 Spredfast, Inc. Multiplexed data exchange portal interface in scalable data networks
US11238226B2 (en) * 2018-11-15 2022-02-01 Nuance Communications, Inc. System and method for accelerating user agent chats
US11048767B2 (en) * 2018-11-16 2021-06-29 Sap Se Combination content search
US11777874B1 (en) * 2018-12-14 2023-10-03 Carvana, LLC Artificial intelligence conversation engine
CN110209952B (zh) * 2018-12-18 2023-03-24 腾讯科技(深圳)有限公司 信息推荐方法、装置、设备及存储介质
US10956474B2 (en) 2019-03-14 2021-03-23 Microsoft Technology Licensing, Llc Determination of best set of suggested responses
WO2020202315A1 (ja) * 2019-03-29 2020-10-08 株式会社Aill コミュニケーション支援サーバ、コミュニケーション支援システム、コミュニケーション支援方法、及びコミュニケーション支援プログラム
WO2020202314A1 (ja) * 2019-03-29 2020-10-08 株式会社Aill コミュニケーション支援サーバ、コミュニケーション支援システム、コミュニケーション支援方法、及びコミュニケーション支援プログラム
JP7409781B2 (ja) * 2019-04-01 2024-01-09 Lineヤフー株式会社 出力プログラム、出力装置及び出力方法
US11176520B2 (en) 2019-04-18 2021-11-16 Microsoft Technology Licensing, Llc Email content modification system
US10931540B2 (en) 2019-05-15 2021-02-23 Khoros, Llc Continuous data sensing of functional states of networked computing devices to determine efficiency metrics for servicing electronic messages asynchronously
JP6690796B1 (ja) * 2019-06-07 2020-04-28 富士通株式会社 情報管理プログラム、情報管理方法および情報管理装置
US10902190B1 (en) * 2019-07-03 2021-01-26 Microsoft Technology Licensing Llc Populating electronic messages with quotes
WO2021006906A1 (en) * 2019-07-11 2021-01-14 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
CN112448879B (zh) * 2019-08-27 2022-09-13 腾讯科技(深圳)有限公司 提醒消息推送方法、装置、终端及计算机可读存储介质
US11551242B2 (en) * 2019-12-13 2023-01-10 Jpmorgan Chase Bank, N.A. System and method for providing intelligent dashboards for critical business flows
US11555622B2 (en) * 2019-12-19 2023-01-17 International Business Machines Corporation Intelligent context-based control of air flow
US11521611B2 (en) 2019-12-19 2022-12-06 Palo Alto Research Center Incorporated Using conversation structure and content to answer questions in multi-part online interactions
US11023298B1 (en) * 2020-02-28 2021-06-01 Snap Inc. Displaying items based on a configuration file
US11462220B2 (en) * 2020-03-04 2022-10-04 Accenture Global Solutions Limited Infrastructure automation platform to assist in performing actions in response to tasks
WO2021207779A1 (en) * 2020-04-15 2021-10-21 Xero Limited Systems and computer-implemented methods for capital management
US10951564B1 (en) * 2020-04-17 2021-03-16 Slack Technologies, Inc. Direct messaging instance generation
US11436408B2 (en) * 2020-07-01 2022-09-06 Motorola Mobility Llc Targeted natural language responses for electronic communications
US11438289B2 (en) 2020-09-18 2022-09-06 Khoros, Llc Gesture-based community moderation
US11128589B1 (en) 2020-09-18 2021-09-21 Khoros, Llc Gesture-based community moderation
US11784949B2 (en) 2020-10-06 2023-10-10 Salesforce, Inc. Limited functionality interface for communication platform
US11741949B2 (en) * 2020-10-30 2023-08-29 Nvidia Corporation Real-time video conference chat filtering using machine learning models
US11283751B1 (en) * 2020-11-03 2022-03-22 International Business Machines Corporation Using speech and facial bio-metrics to deliver text messages at the appropriate time
US11438282B2 (en) 2020-11-06 2022-09-06 Khoros, Llc Synchronicity of electronic messages via a transferred secure messaging channel among a system of various networked computing devices
US11924375B2 (en) 2021-10-27 2024-03-05 Khoros, Llc Automated response engine and flow configured to exchange responsive communication data via an omnichannel electronic communication channel independent of data source
US11627100B1 (en) 2021-10-27 2023-04-11 Khoros, Llc Automated response engine implementing a universal data space based on communication interactions via an omnichannel electronic data channel
US11714629B2 (en) 2020-11-19 2023-08-01 Khoros, Llc Software dependency management
CN112492355B (zh) * 2020-11-25 2022-07-08 北京字跳网络技术有限公司 发布和回复多媒体内容的方法、装置和设备
US11792141B2 (en) * 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US11816097B2 (en) 2021-06-08 2023-11-14 Capital One Services, Llc Geographical location determination system
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection
US11822562B2 (en) 2022-03-31 2023-11-21 Capital One Services, Llc Unstructured text processing for geographical location determination system

Family Cites Families (309)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963649A (en) 1995-12-19 1999-10-05 Nec Corporation Message authorization system for authorizing message for electronic document
US6092102A (en) 1997-10-24 2000-07-18 University Of Pittsburgh Of The Commonwealth System Of Higher Education System and method for notifying users about information or events of an enterprise
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
JP2000298676A (ja) * 1999-04-14 2000-10-24 Bandai Co Ltd 情報提供装置
US7216080B2 (en) 2000-09-29 2007-05-08 Mindfabric Holdings Llc Natural-language voice-activated personal assistant
JP2002132804A (ja) 2000-10-24 2002-05-10 Sanyo Electric Co Ltd ユーザ支援システム
US20020103837A1 (en) 2001-01-31 2002-08-01 International Business Machines Corporation Method for handling requests for information in a natural language understanding system
CN100515035C (zh) 2001-09-10 2009-07-15 株式会社尼康 数字照相机系统、图像存储装置和数字照相机
US7636750B2 (en) 2001-10-24 2009-12-22 Sprint Spectrum L.P. Method and system for controlling scope of user participation in a communication session
US7283992B2 (en) 2001-11-30 2007-10-16 Microsoft Corporation Media agent to suggest contextually related media content
US20040001099A1 (en) 2002-06-27 2004-01-01 Microsoft Corporation Method and system for associating actions with semantic labels in electronic documents
US7234117B2 (en) 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US20110107223A1 (en) 2003-01-06 2011-05-05 Eric Tilton User Interface For Presenting Presentations
US7574661B2 (en) 2003-02-25 2009-08-11 Panasonic Corporation Application program prediction method and mobile terminal
AU2004241581B2 (en) 2003-05-16 2010-12-16 Google Llc Networked chat and media sharing systems and methods
US8645697B1 (en) 2003-08-08 2014-02-04 Radix Holdings, Llc Message authorization
US7363029B2 (en) 2003-09-12 2008-04-22 Core Mobility, Inc. Unified interface for voice, text or picture message authoring
US20120322428A1 (en) 2004-09-30 2012-12-20 Motedata Inc. Network of tags
US10635723B2 (en) 2004-02-15 2020-04-28 Google Llc Search engines and systems with handheld document data capture devices
US7363295B2 (en) 2004-04-19 2008-04-22 Yahoo! Inc. Techniques for inline searching in an instant messenger environment
US20060029106A1 (en) 2004-06-14 2006-02-09 Semandex Networks, Inc. System and method for providing content-based instant messaging
US7464110B2 (en) 2004-06-30 2008-12-09 Nokia Corporation Automated grouping of image and other user data
US7734927B2 (en) 2004-07-21 2010-06-08 International Business Machines Corporation Real-time voting based authorization in an autonomic workflow process using an electronic messaging system
US7917582B2 (en) 2004-07-27 2011-03-29 Siemens Enterprise Communications, Inc. Method and apparatus for autocorrelation of instant messages
US20060150119A1 (en) 2004-12-31 2006-07-06 France Telecom Method for interacting with automated information agents using conversational queries
US7720436B2 (en) 2006-01-09 2010-05-18 Nokia Corporation Displaying network objects in mobile devices based on geolocation
US7197324B2 (en) 2005-01-31 2007-03-27 Sweeney Robert J Permission based text messaging
US7603413B1 (en) 2005-04-07 2009-10-13 Aol Llc Using automated agents to facilitate chat communications
US7860319B2 (en) 2005-05-11 2010-12-28 Hewlett-Packard Development Company, L.P. Image management
US7512580B2 (en) 2005-08-04 2009-03-31 Sap Ag Confidence indicators for automated suggestions
CN1988461A (zh) 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种即时通信工具的聊天场景音乐播放方法和系统
US7747785B2 (en) 2006-04-14 2010-06-29 Microsoft Corporation Instant messaging plug-ins
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
WO2008045811A2 (en) 2006-10-10 2008-04-17 Orgoo, Inc. Integrated electronic mail and instant messaging system
US20080120371A1 (en) 2006-11-16 2008-05-22 Rajat Gopal Relational framework for non-real-time audio/video collaboration
US9064010B2 (en) 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
JP2008191748A (ja) 2007-02-01 2008-08-21 Oki Electric Ind Co Ltd ユーザ間コミュニケーション方法、ユーザ間コミュニケーションプログラム、ユーザ間コミュニケーション装置
WO2008153098A1 (ja) 2007-06-14 2008-12-18 Sharp Kabushiki Kaisha 画像データ受信装置、操作装置、操作システム、画像データのデータ構造、制御方法、操作方法、プログラム、および、記録媒体
JP2009009334A (ja) 2007-06-27 2009-01-15 Ricoh Co Ltd 画像処理装置、画像処理方法及び画像処理プログラム
CN101159576B (zh) 2007-08-30 2013-07-17 腾讯科技(深圳)有限公司 聊天方法、聊天室客户端、系统管理后台及服务器
US20110145068A1 (en) 2007-09-17 2011-06-16 King Martin T Associating rendered advertisements with digital content
US8082151B2 (en) 2007-09-18 2011-12-20 At&T Intellectual Property I, Lp System and method of generating responses to text-based messages
US20090119584A1 (en) 2007-11-02 2009-05-07 Steve Herbst Software Tool for Creating Outlines and Mind Maps that Generates Subtopics Automatically
JP2011507413A (ja) 2007-12-17 2011-03-03 プレイ・メガフォン・インコーポレイテッド ユーザと双方向システムとの間の双方向交信を管理するためのシステムと方法
WO2009122324A1 (en) 2008-03-31 2009-10-08 Koninklijke Philips Electronics N.V. Method for modifying a representation based upon a user instruction
US20090282114A1 (en) 2008-05-08 2009-11-12 Junlan Feng System and method for generating suggested responses to an email
US20090327436A1 (en) 2008-06-30 2009-12-31 Chen Shihn-Cheng Instant messaging network control module
US8166019B1 (en) 2008-07-21 2012-04-24 Sprint Communications Company L.P. Providing suggested actions in response to textual communications
JP5273712B2 (ja) 2008-08-11 2013-08-28 シャープ株式会社 情報処理装置、情報処理方法および情報処理プログラム
US8805110B2 (en) 2008-08-19 2014-08-12 Digimarc Corporation Methods and systems for content processing
US8929868B2 (en) 2008-08-25 2015-01-06 France Telecom System and method to identify and transfer to a wireless device actionable items based on user selected content
US8391618B1 (en) 2008-09-19 2013-03-05 Adobe Systems Incorporated Semantic image classification and search
US8055710B2 (en) 2008-09-24 2011-11-08 International Business Machines Corporation System, method and computer program product for intelligent multi-person chat history injection
USD599363S1 (en) 2008-11-24 2009-09-01 Microsoft Corporation Transitional cursor user interface for a portion of a display screen
USD611053S1 (en) 2008-11-24 2010-03-02 Microsoft Corporation Transitional user interface for a portion of a display screen
US20130036162A1 (en) 2009-02-10 2013-02-07 Mikekoenigs.Com, Inc. Automated Communication Techniques
WO2010096193A2 (en) 2009-02-18 2010-08-26 Exbiblio B.V. Identifying a document by performing spectral analysis on the contents of the document
US20100228590A1 (en) 2009-03-03 2010-09-09 International Business Machines Corporation Context-aware electronic social networking
JP4739438B2 (ja) 2009-03-26 2011-08-03 株式会社エヌ・ティ・ティ・ドコモ 通信端末及びメール返信方法
US20100246571A1 (en) 2009-03-30 2010-09-30 Avaya Inc. System and method for managing multiple concurrent communication sessions using a graphical call connection metaphor
US9195898B2 (en) 2009-04-14 2015-11-24 Qualcomm Incorporated Systems and methods for image recognition using mobile devices
US20120131520A1 (en) 2009-05-14 2012-05-24 Tang ding-yuan Gesture-based Text Identification and Selection in Images
US9782527B2 (en) 2009-05-27 2017-10-10 Tc1 Llc Monitoring of redundant conductors
US9043407B1 (en) 2009-06-12 2015-05-26 Avaya Inc. Interactive user interface to communication-enabled business process platforms method and apparatus
USD651609S1 (en) 2009-06-26 2012-01-03 Microsoft Corporation Display screen with an animated image
CA2767033A1 (en) 2009-07-02 2011-01-06 Livechime, Inc. System and method for enhancing digital content
US8572084B2 (en) 2009-07-28 2013-10-29 Fti Consulting, Inc. System and method for displaying relationships between electronically stored information to provide classification suggestions via nearest neighbor
US9128610B2 (en) 2009-09-30 2015-09-08 At&T Mobility Ii Llc Virtual predictive keypad
US8121618B2 (en) 2009-10-28 2012-02-21 Digimarc Corporation Intuitive computing methods and systems
US8831279B2 (en) 2011-03-04 2014-09-09 Digimarc Corporation Smartphone-based methods and systems
US8400548B2 (en) 2010-01-05 2013-03-19 Apple Inc. Synchronized, interactive augmented reality displays for multifunction devices
USD624927S1 (en) 2010-01-19 2010-10-05 Microsoft Corporation User interface for a portion of a display screen
US8650210B1 (en) 2010-02-09 2014-02-11 Google Inc. Identifying non-search actions based on a search query
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US8655965B2 (en) 2010-03-05 2014-02-18 Qualcomm Incorporated Automated messaging response in wireless communication systems
US8266109B1 (en) 2010-03-09 2012-09-11 Symantec Corporation Performance of scanning containers for archiving
JP2011211696A (ja) 2010-03-10 2011-10-20 Nikon Corp 画像データ処理システム、画像データ処理プログラム、及び画像データ処理装置
JP5733907B2 (ja) 2010-04-07 2015-06-10 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
US9929982B2 (en) 2010-04-08 2018-03-27 Microsoft Technology Licensing, Llc Designating automated agents as friends in a social network service
US20110252207A1 (en) 2010-04-08 2011-10-13 Oracle International Corporation Dynamic content archiving
US20170098122A1 (en) 2010-06-07 2017-04-06 Affectiva, Inc. Analysis of image content with associated manipulation of expression presentation
USD648343S1 (en) 2010-06-24 2011-11-08 Microsoft Corporation Display screen with user interface
USD648735S1 (en) 2010-06-25 2011-11-15 Microsoft Corporation Display screen with animated user interface
US20120030289A1 (en) 2010-07-30 2012-02-02 Avaya Inc. System and method for multi-model, context-sensitive, real-time collaboration
US8781152B2 (en) 2010-08-05 2014-07-15 Brian Momeyer Identifying visual media content captured by camera-enabled mobile device
US9936333B2 (en) 2010-08-10 2018-04-03 Microsoft Technology Licensing, Llc Location and contextual-based mobile application promotion and delivery
KR101722687B1 (ko) 2010-08-10 2017-04-04 삼성전자주식회사 객체간 또는 객체와 유저간에 정보 제공 방법, 그 방법을 수행할 수 있는 유저 디바이스, 및 저장 매체
US8966590B2 (en) 2010-08-17 2015-02-24 Facebook, Inc. Managing social network accessibility based on age
US9262517B2 (en) 2010-08-18 2016-02-16 At&T Intellectual Property I, L.P. Systems and methods for social media data mining
US8566911B2 (en) 2010-10-06 2013-10-22 Blackberry Limited Method of obtaining authorization for accessing a service
KR101753031B1 (ko) 2010-11-15 2017-06-30 엘지전자 주식회사 이동 단말기 및 이것의 메타데이터 설정 방법
KR101060753B1 (ko) 2011-01-04 2011-08-31 (주)올라웍스 입력 이미지에 포함된 객체에 대한 콜렉션을 수행할 수 있도록 지원하기 위한 방법, 단말 장치 및 컴퓨터 판독 가능한 기록 매체
US20120179717A1 (en) * 2011-01-11 2012-07-12 Sony Corporation System and method for effectively providing entertainment recommendations to device users
US8688698B1 (en) 2011-02-11 2014-04-01 Google Inc. Automatic text suggestion
US20120278164A1 (en) 2011-02-23 2012-11-01 Nova Spivack Systems and methods for recommending advertisement placement based on in network and cross network online activity analysis
US8938669B1 (en) 2011-03-15 2015-01-20 Google Inc. Inline user addressing in chat and document editing sessions
US20130262574A1 (en) 2011-03-15 2013-10-03 Gabriel Cohen Inline User Addressing in Chat Sessions
US8849931B2 (en) 2011-03-15 2014-09-30 Idt Messaging, Llc Linking context-based information to text messages
US8554701B1 (en) 2011-03-18 2013-10-08 Amazon Technologies, Inc. Determining sentiment of sentences from customer reviews
JP2012221480A (ja) 2011-04-06 2012-11-12 L Is B Corp メッセージ処理システム
WO2012150602A1 (en) 2011-05-03 2012-11-08 Yogesh Chunilal Rathod A system and method for dynamically monitoring, recording, processing, attaching dynamic, contextual & accessible active links & presenting of physical or digital activities, actions, locations, logs, life stream, behavior & status
EP2523436A1 (en) 2011-05-11 2012-11-14 Alcatel Lucent Mobile device and method of managing applications for a mobile device
USD658677S1 (en) 2011-05-27 2012-05-01 Microsoft Corporation Display screen with animated user interface
USD658678S1 (en) 2011-05-27 2012-05-01 Microsoft Corporation Display screen with animated user interface
USD658201S1 (en) 2011-05-27 2012-04-24 Microsoft Corporation Display screen with animated user interface
US8832284B1 (en) 2011-06-16 2014-09-09 Google Inc. Virtual socializing
US8881250B2 (en) 2011-06-17 2014-11-04 Ebay Inc. Passporting credentials between a mobile app and a web browser
US8589407B2 (en) 2011-06-17 2013-11-19 Google Inc. Automated generation of suggestions for personalized reactions in a social network
US8700480B1 (en) 2011-06-20 2014-04-15 Amazon Technologies, Inc. Extracting quotes from customer reviews regarding collections of items
US9588668B2 (en) 2011-07-21 2017-03-07 Imerj, Llc Methods of displaying a second view
US9245253B2 (en) 2011-08-19 2016-01-26 Disney Enterprises, Inc. Soft-sending chat messages
US8659667B2 (en) 2011-08-29 2014-02-25 Panasonic Corporation Recipe based real-time assistance for digital image capture and other consumer electronics devices
US9179278B2 (en) 2011-09-01 2015-11-03 Qualcomm Incorporated Systems and methods involving augmented menu using mobile device
US10102546B2 (en) 2011-09-15 2018-10-16 Stephan HEATH System and method for tracking, utilizing predicting, and implementing online consumer browsing behavior, buying patterns, social networking communications, advertisements and communications, for online coupons, products, goods and services, auctions, and service providers using geospatial mapping technology, and social networking
MX2012011426A (es) 2011-09-30 2013-04-01 Apple Inc Utilizar informacion de contexto para facilitar el procesamiento de comandos en un asistente virtual.
US20180032997A1 (en) 2012-10-09 2018-02-01 George A. Gordon System, method, and computer program product for determining whether to prompt an action by a platform in connection with a mobile device
KR101521332B1 (ko) 2011-11-08 2015-05-20 주식회사 다음카카오 인스턴트 메시징 서비스 및 인스턴트 메시징 서비스로부터 확장된 복수의 서비스들을 제공하는 방법
US9697016B2 (en) 2011-11-15 2017-07-04 Microsoft Technology Licensing, Llc Search augmented menu and configuration for computer applications
USD673172S1 (en) 2011-11-21 2012-12-25 Microsoft Corporation Display screen with animated graphical user interface
KR101402506B1 (ko) 2011-12-01 2014-06-03 라인 가부시키가이샤 인스턴트 메시징 어플리케이션을 이용한 대화형 정보제공 시스템 및 방법
USD701228S1 (en) 2012-01-06 2014-03-18 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
USD699744S1 (en) 2012-01-06 2014-02-18 Microsoft Corporation Display screen with an animated graphical user interface
AP00390S1 (en) 2012-01-09 2013-05-13 Samsung Electronics Co Ltd Set comprising a sequence of generated images for a display screen or portion thereof
USD705802S1 (en) 2012-02-07 2014-05-27 Microsoft Corporation Display screen with animated graphical user interface
USD705251S1 (en) 2012-02-09 2014-05-20 Microsoft Corporation Display screen with animated graphical user interface
GB2499395A (en) 2012-02-14 2013-08-21 British Sky Broadcasting Ltd Search method
US9306878B2 (en) 2012-02-14 2016-04-05 Salesforce.Com, Inc. Intelligent automated messaging for computer-implemented devices
US20130218885A1 (en) * 2012-02-22 2013-08-22 Salesforce.Com, Inc. Systems and methods for context-aware message tagging
USD699739S1 (en) 2012-02-22 2014-02-18 Microsoft Corporation Display screen with animated graphical user interface
USD701527S1 (en) 2012-02-23 2014-03-25 Htc Corporation Display screen with transitional graphical user interface
USD701528S1 (en) 2012-02-24 2014-03-25 Htc Corporation Display screen with transitional graphical user interface
US8620021B2 (en) 2012-03-29 2013-12-31 Digimarc Corporation Image-related methods and arrangements
US8855430B1 (en) 2012-05-30 2014-10-07 Google Inc. Refining image annotations
US20130346235A1 (en) 2012-06-20 2013-12-26 Ebay, Inc. Systems, Methods, and Computer Program Products for Caching of Shopping Items
USD705244S1 (en) 2012-06-20 2014-05-20 Microsoft Corporation Display screen with animated graphical user interface
US9191786B2 (en) 2012-06-27 2015-11-17 At&T Intellectual Property I, L.P. Method and apparatus for generating a suggested message to be sent over a network
US9412136B2 (en) 2012-07-09 2016-08-09 Facebook, Inc. Creation of real-time conversations based on social location information
KR20140011073A (ko) 2012-07-17 2014-01-28 삼성전자주식회사 텍스트 추천 방법 및 장치
US9019415B2 (en) 2012-07-26 2015-04-28 Qualcomm Incorporated Method and apparatus for dual camera shutter
US9195645B2 (en) 2012-07-30 2015-11-24 Microsoft Technology Licensing, Llc Generating string predictions using contexts
KR101899817B1 (ko) 2012-08-01 2018-09-19 엘지전자 주식회사 이동단말기 및 그 제어 방법
USD695755S1 (en) 2012-08-06 2013-12-17 Samsung Electronics Co., Ltd. TV monitor with graphical user interface
US20140047413A1 (en) 2012-08-09 2014-02-13 Modit, Inc. Developing, Modifying, and Using Applications
US20140052540A1 (en) * 2012-08-20 2014-02-20 Giridhar Rajaram Providing content using inferred topics extracted from communications in a social networking system
USD706802S1 (en) 2012-08-28 2014-06-10 Samsung Electronics Co., Ltd. Portable electronic device displaying transitional graphical user interface
KR102068604B1 (ko) 2012-08-28 2020-01-22 삼성전자 주식회사 휴대단말기의 문자 인식장치 및 방법
US9218333B2 (en) 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction
JP6160996B2 (ja) 2012-09-12 2017-07-12 パナソニックIpマネジメント株式会社 撮像装置
US20140088954A1 (en) 2012-09-27 2014-03-27 Research In Motion Limited Apparatus and method pertaining to automatically-suggested emoticons
US10691743B2 (en) 2014-08-05 2020-06-23 Sri International Multi-dimensional realization of visual content of an image collection
US9299060B2 (en) 2012-10-12 2016-03-29 Google Inc. Automatically suggesting groups based on past user interaction
KR20140052155A (ko) 2012-10-19 2014-05-07 삼성전자주식회사 디스플레이 장치, 디스플레이 장치 제어 방법 및 디스플레이 장치의 제어를 위한 정보처리장치
USD714821S1 (en) 2012-10-24 2014-10-07 Microsoft Corporation Display screen with animated graphical user interface
US20150286371A1 (en) 2012-10-31 2015-10-08 Aniways Advertising Solutions Ltd. Custom emoticon generation
US20140156801A1 (en) * 2012-12-04 2014-06-05 Mobitv, Inc. Cowatching and connected platforms using a push architecture
US9244905B2 (en) 2012-12-06 2016-01-26 Microsoft Technology Licensing, Llc Communication context based predictive-text suggestion
US20140164506A1 (en) 2012-12-10 2014-06-12 Rawllin International Inc. Multimedia message having portions of networked media content
US20140171133A1 (en) 2012-12-18 2014-06-19 Google Inc. Query response
CN103067490B (zh) 2012-12-26 2015-11-25 腾讯科技(深圳)有限公司 移动终端通讯会话的通知方法、终端、服务器及系统
GB201322037D0 (en) 2013-12-12 2014-01-29 Touchtype Ltd System and method for inputting images/labels into electronic devices
US9020956B1 (en) 2012-12-31 2015-04-28 Google Inc. Sentiment and topic based content determination methods and systems
US8930481B2 (en) 2012-12-31 2015-01-06 Huawei Technologies Co., Ltd. Message processing method, terminal and system
US20140189538A1 (en) 2012-12-31 2014-07-03 Motorola Mobility Llc Recommendations for Applications Based on Device Context
US9374327B2 (en) 2013-01-08 2016-06-21 Vmware, Inc. Intelligent chat system
KR20140091633A (ko) 2013-01-11 2014-07-22 삼성전자주식회사 모바일 장치에서의 상황 인지에 따른 추천 항목을 제공하기 위한 방법 및 이를 위한 모바일 장치
KR101821358B1 (ko) 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
US20140237057A1 (en) * 2013-02-21 2014-08-21 Genesys Telecommunications Laboratories, Inc. System and method for processing private messages in a contact center
USD704726S1 (en) 2013-03-04 2014-05-13 Roger Leslie Maxwell Display screen or portion thereof with animated graphical user interface
JP6255646B2 (ja) 2013-03-04 2018-01-10 株式会社L is B メッセージシステム
US20140344058A1 (en) 2013-03-15 2014-11-20 Fision Holdings, Inc Systems and methods for distributed marketing automation
US20140298364A1 (en) 2013-03-26 2014-10-02 Rawllin International Inc. Recommendations for media content based on emotion
US8825474B1 (en) 2013-04-16 2014-09-02 Google Inc. Text suggestion output using past interaction data
US9177318B2 (en) 2013-04-22 2015-11-03 Palo Alto Research Center Incorporated Method and apparatus for customizing conversation agents based on user characteristics using a relevance score for automatic statements, and a response prediction function
US9923849B2 (en) 2013-05-09 2018-03-20 Ebay Inc. System and method for suggesting a phrase based on a context
US10523454B2 (en) 2013-06-13 2019-12-31 Evernote Corporation Initializing chat sessions by pointing to content
US10599765B2 (en) 2013-06-27 2020-03-24 Avaya Inc. Semantic translation model training
MX2016000664A (es) 2013-07-16 2017-07-04 Pinterest Inc Objeto basado en controles de menu contextual.
US9330110B2 (en) 2013-07-17 2016-05-03 Xerox Corporation Image search system and method for personalized photo applications using semantic networks
US9794198B2 (en) 2013-07-19 2017-10-17 Tencent Technology (Shenzhen) Company Limited Methods and systems for creating auto-reply messages
US10162884B2 (en) 2013-07-23 2018-12-25 Conduent Business Services, Llc System and method for auto-suggesting responses based on social conversational contents in customer care services
US9161188B2 (en) 2013-08-22 2015-10-13 Yahoo! Inc. System and method for automatically suggesting diverse and personalized message completions
CN104035947B (zh) * 2013-09-16 2016-04-13 腾讯科技(深圳)有限公司 兴趣点推荐方法及装置、获取推荐兴趣点的方法及装置
EP2852105A1 (en) 2013-09-20 2015-03-25 Ignazio Di Tocco Computer system and related process supporting the communication of users located in the same geographical area, in order to establish a starting contact leading to a personal communication
US9401881B2 (en) 2013-09-26 2016-07-26 International Business Machines Corporation Automatic question generation and answering based on monitored messaging sessions
US9329692B2 (en) 2013-09-27 2016-05-03 Microsoft Technology Licensing, Llc Actionable content displayed on a touch screen
US20150100537A1 (en) 2013-10-03 2015-04-09 Microsoft Corporation Emoji for Text Predictions
US8996639B1 (en) 2013-10-15 2015-03-31 Google Inc. Predictive responses to incoming communications
US20150127753A1 (en) 2013-11-04 2015-05-07 Meemo, Llc Word Recognition and Ideograph or In-App Advertising System
EP3080725B1 (en) 2013-12-12 2020-06-10 Mobile Iron, Inc. Application synchronization
KR20150071768A (ko) 2013-12-18 2015-06-29 에스케이하이닉스 주식회사 이미지 센서 및 그 제조방법
US10565268B2 (en) * 2013-12-19 2020-02-18 Adobe Inc. Interactive communication augmented with contextual information
US9661067B2 (en) 2013-12-23 2017-05-23 24/7 Customer, Inc. Systems and methods for facilitating dialogue mining
US9519408B2 (en) 2013-12-31 2016-12-13 Google Inc. Systems and methods for guided user actions
US9817813B2 (en) 2014-01-08 2017-11-14 Genesys Telecommunications Laboratories, Inc. Generalized phrases in automatic speech recognition systems
US20150207765A1 (en) 2014-01-17 2015-07-23 Nathaniel Brantingham Messaging Service with Conversation Suggestions
WO2015116971A1 (en) 2014-01-31 2015-08-06 Heller Noah Raymond Determination of aesthetic preferences based on user history
US9515968B2 (en) 2014-02-05 2016-12-06 Facebook, Inc. Controlling access to ideograms
AU2015214298B2 (en) 2014-02-10 2018-05-10 Google Llc Smart camera user interface
CN104836720B (zh) * 2014-02-12 2022-02-25 北京三星通信技术研究有限公司 交互式通信中进行信息推荐的方法及装置
US10095748B2 (en) 2014-03-03 2018-10-09 Microsoft Technology Licensing, Llc Personalized information query suggestions
CN103841007B (zh) 2014-03-04 2017-05-10 腾讯科技(深圳)有限公司 网络游戏系统中的数据处理方法、装置及系统
KR102106787B1 (ko) 2014-03-17 2020-05-06 에스케이텔레콤 주식회사 메신저 프로그램과 어플리케이션 연동 방법, 이를 위한 장치 및 시스템
CN104951428B (zh) 2014-03-26 2019-04-16 阿里巴巴集团控股有限公司 用户意图识别方法及装置
US9544257B2 (en) 2014-04-04 2017-01-10 Blackberry Limited System and method for conducting private messaging
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
US10482163B2 (en) 2014-04-23 2019-11-19 Klickafy, Llc Clickable emoji
CN103995872B (zh) 2014-05-21 2017-04-05 王青 一种在应用中基于场景展开讨论与聊天的方法与系统
US10255449B2 (en) 2014-05-30 2019-04-09 Apple Inc. Permission request
US10445396B2 (en) 2014-05-31 2019-10-15 Apple Inc. Device, method, and graphical user interface for extending functionality of a host application to another application
US9380010B2 (en) 2014-06-03 2016-06-28 International Business Machines Corporation Conversation branching for more efficient resolution
US9858295B2 (en) 2014-06-24 2018-01-02 Google Llc Ranking and selecting images for display from a set of images
WO2016003469A1 (en) 2014-07-03 2016-01-07 Nuance Communications, Inc. System and method for suggesting actions based upon incoming messages
US9420331B2 (en) 2014-07-07 2016-08-16 Google Inc. Method and system for categorizing detected motion events
US9043196B1 (en) 2014-07-07 2015-05-26 Machine Zone, Inc. Systems and methods for identifying and suggesting emoticons
US9990105B2 (en) 2014-07-08 2018-06-05 Verizon Patent And Licensing Inc. Accessible contextual controls within a graphical user interface
US20160043817A1 (en) 2014-07-18 2016-02-11 RSS Technologies, LLC Methods and apparatus for locality based broadcasting
WO2016018111A1 (en) 2014-07-31 2016-02-04 Samsung Electronics Co., Ltd. Message service providing device and method of providing content via the same
CN104202718A (zh) 2014-08-05 2014-12-10 百度在线网络技术(北京)有限公司 一种向用户提供信息的方法与装置
US10218652B2 (en) 2014-08-08 2019-02-26 Mastercard International Incorporated Systems and methods for integrating a chat function into an e-reader application
US9965559B2 (en) 2014-08-21 2018-05-08 Google Llc Providing automatic actions for mobile onscreen content
US9705832B2 (en) 2014-08-27 2017-07-11 Lenovo (Singapore) Pte. Ltd. Context-aware aggregation of text-based messages
US10447621B2 (en) 2014-09-04 2019-10-15 Microsoft Technology Licensing, Llc App powered extensibility of messages on an existing messaging service
US10146748B1 (en) 2014-09-10 2018-12-04 Google Llc Embedding location information in a media collaboration using natural language processing
JP6561996B2 (ja) 2014-11-07 2019-08-21 ソニー株式会社 情報処理装置、制御方法、および記憶媒体
US20160140477A1 (en) 2014-11-13 2016-05-19 Xerox Corporation Methods and systems for assigning tasks to workers
US9569728B2 (en) 2014-11-14 2017-02-14 Bublup Technologies, Inc. Deriving semantic relationships based on empirical organization of content by users
CN105786455B (zh) 2014-12-17 2020-02-18 深圳市腾讯计算机系统有限公司 一种数据处理方法、装置及终端
US20160179816A1 (en) 2014-12-22 2016-06-23 Quixey, Inc. Near Real Time Auto-Suggest Search Results
US9727218B2 (en) 2015-01-02 2017-08-08 Microsoft Technology Licensing, Llc Contextual browser frame and entry box placement
KR20160089152A (ko) 2015-01-19 2016-07-27 주식회사 엔씨소프트 화행 분석을 통한 스티커 추천 방법 및 시스템
KR101634086B1 (ko) 2015-01-19 2016-07-08 주식회사 엔씨소프트 감정 분석을 통한 스티커 추천 방법 및 시스템
US20160224524A1 (en) 2015-02-03 2016-08-04 Nuance Communications, Inc. User generated short phrases for auto-filling, automatically collected during normal text use
US20160226804A1 (en) 2015-02-03 2016-08-04 Google Inc. Methods, systems, and media for suggesting a link to media content
US9661386B2 (en) 2015-02-11 2017-05-23 Google Inc. Methods, systems, and media for presenting a suggestion to watch videos
US10079785B2 (en) 2015-02-12 2018-09-18 Google Llc Determining reply content for a reply to an electronic communication
US20160285816A1 (en) 2015-03-25 2016-09-29 Facebook, Inc. Techniques for automated determination of form responses
US10353542B2 (en) 2015-04-02 2019-07-16 Facebook, Inc. Techniques for context sensitive illustrated graphical user interface elements
US10965622B2 (en) 2015-04-16 2021-03-30 Samsung Electronics Co., Ltd. Method and apparatus for recommending reply message
US9703541B2 (en) 2015-04-28 2017-07-11 Google Inc. Entity action suggestion on a mobile device
US9883358B2 (en) 2015-05-08 2018-01-30 Blackberry Limited Electronic device and method of determining suggested responses to text-based communications
US10909329B2 (en) 2015-05-21 2021-02-02 Baidu Usa Llc Multilingual image question answering
US10504509B2 (en) 2015-05-27 2019-12-10 Google Llc Providing suggested voice-based action queries
US10091140B2 (en) 2015-05-31 2018-10-02 Microsoft Technology Licensing, Llc Context-sensitive generation of conversational responses
KR20160148260A (ko) 2015-06-16 2016-12-26 삼성전자주식회사 전자 장치 및 이의 제어 방법
US10274911B2 (en) 2015-06-25 2019-04-30 Intel Corporation Conversational interface for matching text of spoken input based on context model
US10042866B2 (en) 2015-06-30 2018-08-07 Adobe Systems Incorporated Searching untagged images with text-based queries
US9712466B2 (en) 2015-11-10 2017-07-18 Wrinkl, Inc. Integrating actionable objects into an on-line chat communications platform
EP4170525A1 (en) 2015-07-15 2023-04-26 rewardStyle, Inc. Systems and methods for screenshot linking
US20170031575A1 (en) 2015-07-28 2017-02-02 Microsoft Technology Licensing, Llc Tailored computing experience based on contextual signals
CN105183276A (zh) 2015-08-19 2015-12-23 小米科技有限责任公司 在聊天界面实现游戏的方法、装置及终端设备
US10445425B2 (en) 2015-09-15 2019-10-15 Apple Inc. Emoji and canned responses
US9467435B1 (en) 2015-09-15 2016-10-11 Mimecast North America, Inc. Electronic message threat protection system for authorized users
US11025569B2 (en) 2015-09-30 2021-06-01 Apple Inc. Shared content presentation with integrated messaging
US10789525B2 (en) 2015-10-02 2020-09-29 Adobe Inc. Modifying at least one attribute of an image with at least one attribute extracted from another image
KR20170048964A (ko) 2015-10-27 2017-05-10 라인 가부시키가이샤 메시지 제공 방법, 장치, 및 컴퓨터 프로그램과, 표시 제어 방법, 장치 및 컴퓨터 프로그램
CN105262675A (zh) 2015-10-29 2016-01-20 北京奇虎科技有限公司 基于电子书进行的聊天控制方法和装置
KR102393928B1 (ko) 2015-11-10 2022-05-04 삼성전자주식회사 응답 메시지를 추천하는 사용자 단말 장치 및 그 방법
US9633048B1 (en) 2015-11-16 2017-04-25 Adobe Systems Incorporated Converting a text sentence to a series of images
US10129193B2 (en) 2015-11-17 2018-11-13 International Business Machines Corporation Identifying relevant content contained in message streams that appear to be irrelevant
US20170147202A1 (en) 2015-11-24 2017-05-25 Facebook, Inc. Augmenting text messages with emotion information
KR102427833B1 (ko) 2015-11-30 2022-08-02 삼성전자주식회사 사용자 단말장치 및 디스플레이 방법
US20170171117A1 (en) 2015-12-10 2017-06-15 International Business Machines Corporation Message Suggestion Using Dynamic Information
JP6780001B2 (ja) 2015-12-21 2020-11-04 グーグル エルエルシー メッセージング・アプリケーションのための自動提案および他のコンテンツ
CN108781175B (zh) 2015-12-21 2021-09-21 谷歌有限责任公司 用于消息交换题绪的自动建议的方法、介质及系统
US10732783B2 (en) 2015-12-28 2020-08-04 Microsoft Technology Licensing, Llc Identifying image comments from similar images
KR101712180B1 (ko) 2015-12-29 2017-03-06 라인 가부시키가이샤 메시지를 송수신하기 위한 컴퓨터로 읽을 수 있는 기록매체에 저장된 프로그램, 방법 및 장치
US9560152B1 (en) 2016-01-27 2017-01-31 International Business Machines Corporation Personalized summary of online communications
US11477139B2 (en) 2016-02-25 2022-10-18 Meta Platforms, Inc. Techniques for messaging bot rich communication
US20170250935A1 (en) 2016-02-25 2017-08-31 Facebook, Inc. Techniques for messaging bot app interactions
US20170250930A1 (en) 2016-02-29 2017-08-31 Outbrain Inc. Interactive content recommendation personalization assistant
US20170288942A1 (en) 2016-03-30 2017-10-05 Microsoft Technology Licensing, Llc Portal for Provisioning Autonomous Software Agents
US10831802B2 (en) 2016-04-11 2020-11-10 Facebook, Inc. Techniques to respond to user requests using natural-language machine learning based on example conversations
US10452671B2 (en) 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US9866693B2 (en) 2016-05-06 2018-01-09 Genesys Telecommunications Laboratories, Inc. System and method for monitoring progress of automated chat conversations
US20170344224A1 (en) 2016-05-27 2017-11-30 Nuance Communications, Inc. Suggesting emojis to users for insertion into text-based messages
CN105898627B (zh) 2016-05-31 2019-04-12 北京奇艺世纪科技有限公司 一种视频播放方法及装置
US10554599B2 (en) 2016-06-12 2020-02-04 Apple Inc. Conversion of detected URL in text message
US20170359283A1 (en) 2016-06-12 2017-12-14 Apple Inc. Music creation app in messaging app
US11088973B2 (en) 2016-06-12 2021-08-10 Apple Inc. Conversion of text relating to media content and media extension apps
US10785175B2 (en) 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US9990128B2 (en) 2016-06-12 2018-06-05 Apple Inc. Messaging application interacting with one or more extension applications
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US10194288B2 (en) 2016-06-12 2019-01-29 Apple Inc. Sticker distribution system for messaging apps
US10505872B2 (en) 2016-06-12 2019-12-10 Apple Inc. Messaging application interacting with one or more extension applications
US10368208B2 (en) 2016-06-12 2019-07-30 Apple Inc. Layers in messaging applications
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US20170366479A1 (en) 2016-06-20 2017-12-21 Microsoft Technology Licensing, Llc Communication System
US10254935B2 (en) 2016-06-29 2019-04-09 Google Llc Systems and methods of providing content selection
US10515393B2 (en) 2016-06-30 2019-12-24 Paypal, Inc. Image data detection for micro-expression analysis and targeted data services
WO2018009231A1 (en) 2016-07-08 2018-01-11 Asapp, Inc. Automatically responding to a request of a user
US20180032499A1 (en) 2016-07-28 2018-02-01 Google Inc. Automatically Generating Spelling Suggestions and Corrections Based on User Context
US10049310B2 (en) 2016-08-30 2018-08-14 International Business Machines Corporation Image text analysis for identifying hidden text
KR20180026983A (ko) 2016-09-05 2018-03-14 삼성전자주식회사 전자 장치 및 그 제어 방법
CN109952572B (zh) 2016-09-20 2023-11-24 谷歌有限责任公司 基于消息贴纸的建议响应
JP6659910B2 (ja) 2016-09-20 2020-03-04 グーグル エルエルシー データへのアクセス許可を要求するボット
US10015124B2 (en) 2016-09-20 2018-07-03 Google Llc Automatic response suggestions based on images received in messaging applications
WO2018057537A1 (en) 2016-09-20 2018-03-29 Google Llc Bot interaction
US11176931B2 (en) 2016-09-23 2021-11-16 Microsoft Technology Licensing, Llc Conversational bookmarks
CN106484831A (zh) 2016-09-29 2017-03-08 百度在线网络技术(北京)有限公司 搜索系统、方法和装置
US10416846B2 (en) 2016-11-12 2019-09-17 Google Llc Determining graphical element(s) for inclusion in an electronic communication
US20180196854A1 (en) 2017-01-11 2018-07-12 Google Inc. Application extension for generating automatic search queries
US10146768B2 (en) 2017-01-25 2018-12-04 Google Llc Automatic suggested responses to images received in messages using language model
US10229427B2 (en) 2017-04-10 2019-03-12 Wildfire Systems, Inc. Virtual keyboard trackable referral system
US20180316637A1 (en) 2017-05-01 2018-11-01 Microsoft Technology Licensing, Llc Conversation lens for context
US11468344B2 (en) 2017-05-05 2022-10-11 Liveperson, Inc. Dynamic response prediction for improved bot task processing
US10860854B2 (en) 2017-05-16 2020-12-08 Google Llc Suggested actions for images
US10827319B2 (en) 2017-06-02 2020-11-03 Apple Inc. Messaging system interacting with dynamic extension app
US10348658B2 (en) 2017-06-15 2019-07-09 Google Llc Suggested items for use with embedded applications in chat conversations
US10404636B2 (en) 2017-06-15 2019-09-03 Google Llc Embedded programs and interfaces for chat conversations

Also Published As

Publication number Publication date
US11418471B2 (en) 2022-08-16
CN108781175B (zh) 2021-09-21
US10530723B2 (en) 2020-01-07
US20170180294A1 (en) 2017-06-22
CN108781175A (zh) 2018-11-09
WO2017112786A1 (en) 2017-06-29
EP3395018A1 (en) 2018-10-31
US20200092243A1 (en) 2020-03-19
KR20180093040A (ko) 2018-08-20
JP2019508820A (ja) 2019-03-28

Similar Documents

Publication Publication Date Title
JP6638087B2 (ja) メッセージ交換スレッド用の自動提案
US11502975B2 (en) Automatic suggestions and other content for messaging applications
US11303590B2 (en) Suggested responses based on message stickers
US11379529B2 (en) Composing rich content messages
CN110869969B (zh) 用于在通信会话内生成个性化响应的虚拟助手
KR102551134B1 (ko) 컨텍스트 발견
US20140289249A1 (en) System and method for message clustering
US10540666B2 (en) Method and system for updating an intent space and estimating intent based on an intent space
US20170097984A1 (en) Method and system for generating a knowledge representation
US11080287B2 (en) Methods, systems and techniques for ranking blended content retrieved from multiple disparate content sources
US20170098013A1 (en) Method and system for entity extraction and disambiguation
US20170097951A1 (en) Method and system for associating data from different sources to generate a person-centric space
US11232522B2 (en) Methods, systems and techniques for blending online content from multiple disparate content sources including a personal content source or a semi-personal content source
US20170097959A1 (en) Method and system for searching in a person-centric space
US11836204B1 (en) Social collaboration platform for facilitating recommendations

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190724

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190820

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191118

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191223

R150 Certificate of patent or registration of utility model

Ref document number: 6638087

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250