JP6980074B2 - メッセージ分類に基づくメッセージ交換スレッドの自動的拡張 - Google Patents

メッセージ分類に基づくメッセージ交換スレッドの自動的拡張 Download PDF

Info

Publication number
JP6980074B2
JP6980074B2 JP2020170391A JP2020170391A JP6980074B2 JP 6980074 B2 JP6980074 B2 JP 6980074B2 JP 2020170391 A JP2020170391 A JP 2020170391A JP 2020170391 A JP2020170391 A JP 2020170391A JP 6980074 B2 JP6980074 B2 JP 6980074B2
Authority
JP
Japan
Prior art keywords
message
message exchange
score
waste
talk
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
JP2020170391A
Other languages
English (en)
Other versions
JP2021012723A (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 JP2021012723A publication Critical patent/JP2021012723A/ja
Application granted granted Critical
Publication of JP6980074B2 publication Critical patent/JP6980074B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/24765Rule-based classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • 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
    • 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
    • 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
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/12Messaging; Mailboxes; Announcements
    • H04W4/14Short messaging services, e.g. short message services [SMS] or unstructured supplementary service data [USSD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Medical Informatics (AREA)
  • General Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

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

Claims (20)

1つまたは複数のプロセッサを使用して実装される方法であって、
メッセージ交換スレッドの複数の参加者によって操作される複数のメッセージ交換クライアントを関与させる前記メッセージ交換スレッドから、第1の参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定するステップであって、
前記メッセージは、前記第1の参加者によって前記複数の参加者のうちの第2の参加者に向けられる、ステップと、
記メッセージに関連する無駄話スコアを計算するために、前記メッセージを分析するステップであって、
前記無駄話スコアは、前記メッセージと、無駄話であることが知られている以前の会話型のコンテンツとの間の類似性を表す、ステップと、
記無駄話スコアに基づいて、前記メッセージへの自動的に生成される会話型応答を組み込むために、前記第2の参加者によって操作可能であるグラフィカル要素、前記第2の参加者によって操作される前記メッセージ交換クライアントによってレンダリングされる前記メッセージ交換スレッドに組み込むステップと
を含む方法
前記組み込むステップは、第2のメッセージ交換クライアントのグラフィカルユーザインターフェースに表示される前記メッセージ交換スレッドのトランスクリプトに前記グラフィカル要素を挿入するステップを含む、請求項1に記載の方法
前記無駄話スコアを計算するステップは、機械学習モデルに入力として前記メッセージを提供するステップを含み、
前記機械学習モデルは、出力として、前記無駄話スコアを提供する、請求項1に記載の方法
前記機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され、
前記少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が前記先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みに肯定的に応答したインスタンスを含む、請求項3に記載の方法
記組み込むステップは、前記無駄話スコアと、検索クエリ適合性スコアとの比較に基づく、請求項1に記載の方法
前記メッセージに関連する前記検索クエリ適合性スコアを計算するために、前記メッセージを分析するステップをさらに含み、
前記検索クエリ適合性スコアは、前記メッセージと、パーソナルアシスタントモジュールに検索を実行させるために前記パーソナルアシスタントモジュールに向けられた以前のメッセージとの間の類似性を表す、請求項5に記載の方法。
前記機械学習モデルは、さらに、出力として、前記メッセージに関連する検索クエリ適合性スコアを提供し、
前記組み込むステップは、前記無駄話スコアと、前記検索クエリ適合性スコアとの比較に基づく、請求項3に記載の方法。
1つまたは複数のプロセッサ、および命令を記憶したメモリを含むシステムであって
前記命令は、前記1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、
メッセージ交換スレッドの複数の参加者によって操作される複数のメッセージ交換クライアントを関与させる前記メッセージ交換スレッドから、第1の参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定することであって、
前記メッセージは、前記第1の参加者によって前記複数の参加者のうちの第2の参加者に向けられる、決定することと、
前記メッセージに関連する無駄話スコアを計算するために、前記メッセージを分析することであって、
前記無駄話スコアは、前記メッセージと、無駄話であることが知られている以前の会話型のコンテンツとの間の類似性を表す、分析することと、
前記無駄話スコアに基づいて、前記メッセージへの自動的に生成される会話型応答を組み込むために、前記第2の参加者によって操作可能であるグラフィカル要素を、前記第2の参加者によって操作される前記メッセージ交換クライアントによってレンダリングされる前記メッセージ交換スレッドに組み込むことと
を行わせる、システム。
第2のメッセージ交換クライアントのグラフィカルユーザインターフェースに表示される前記メッセージ交換スレッドのトランスクリプトに前記グラフィカル要素を挿入することを行わせる命令をさらに含む、請求項8に記載のシステム。
前記無駄話スコアを計算することは、機械学習モデルに入力として前記メッセージを提供することを含み、
前記機械学習モデルは、出力として、前記無駄話スコアを提供する、請求項8に記載のシステム。
前記機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され、
前記少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が前記先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みに肯定的に応答したインスタンスを含む、請求項10に記載のシステム。
前記組み込むことは、前記無駄話スコアと、検索クエリ適合性スコアとの比較に基づく、請求項8に記載のシステム。
前記メッセージに関連する前記検索クエリ適合性スコアを計算するために、前記メッセージを分析することを行わせる命令をさらに含み、
前記検索クエリ適合性スコアは、前記メッセージと、パーソナルアシスタントモジュールに検索を実行させるために前記パーソナルアシスタントモジュールに向けられた以前のメッセージとの間の類似性を表す、請求項12に記載のシステム。
前記機械学習モデルは、さらに、出力として、前記メッセージに関連する検索クエリ適合性スコアを提供し、
前記組み込むことは、前記無駄話スコアと、前記検索クエリ適合性スコアとの比較に基づく、請求項10に記載のシステム。
命令を記憶した少なくとも1つの非一時コンピュータ可読記録媒体であって、
前記命令は、1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、
メッセージ交換スレッドの複数の参加者によって操作される複数のメッセージ交換クライアントを関与させる前記メッセージ交換スレッドから、第1の参加者によって前記メッセージ交換スレッドに投稿されたメッセージを決定することであって、
前記メッセージは、前記第1の参加者によって前記複数の参加者のうちの第2の参加者に向けられる、決定することと、
前記メッセージに関連する無駄話スコアを計算するために、前記メッセージを分析することであって、
前記無駄話スコアは、前記メッセージと、無駄話であることが知られている以前の会話型のコンテンツとの間の類似性を表す、分析することと、
前記無駄話スコアに基づいて、前記メッセージへの自動的に生成される会話型応答を組み込むために、前記第2の参加者によって操作可能であるグラフィカル要素を、前記第2の参加者によって操作される前記メッセージ交換クライアントによってレンダリングされる前記メッセージ交換スレッドに組み込むことと
を行わせる、少なくとも1つの非一時コンピュータ可読記録媒体。
第2のメッセージ交換クライアントのグラフィカルユーザインターフェースに表示される前記メッセージ交換スレッドのトランスクリプトに前記グラフィカル要素を挿入することを行わせる命令をさらに含む、請求項15に記載の少なくとも1つの非一時コンピュータ可読記録媒体。
前記無駄話スコアを計算することは、機械学習モデルに入力として前記メッセージを提供することを含み、
前記機械学習モデルは、出力として、前記無駄話スコアを提供する、請求項15に記載の少なくとも1つの非一時コンピュータ可読記録媒体。
前記機械学習モデルは、少なくとも1つの肯定的な訓練例で訓練され、
前記少なくとも1つの肯定的な訓練例は、先行メッセージ交換スレッドの1人または複数の参加者が前記先行メッセージ交換スレッドの先行メッセージへの会話型応答の組込みに肯定的に応答したインスタンスを含む、請求項17に記載の少なくとも1つの非一時コンピュータ可読記録媒体。
前記組み込むことは、前記無駄話スコアと、検索クエリ適合性スコアとの比較に基づく、請求項15に記載の少なくとも1つの非一時コンピュータ可読記録媒体。
前記メッセージに関連する前記検索クエリ適合性スコアを計算するために、前記メッセージを分析することを行わせる命令をさらに含み、
前記検索クエリ適合性スコアは、前記メッセージと、パーソナルアシスタントモジュールに検索を実行させるために前記パーソナルアシスタントモジュールに向けられた以前のメッセージとの間の類似性を表す、請求項19に記載の少なくとも1つの非一時コンピュータ可読記録媒体。
JP2020170391A 2016-05-17 2020-10-08 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張 Active JP6980074B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/157,372 US10769155B2 (en) 2016-05-17 2016-05-17 Automatically augmenting message exchange threads based on tone of message
US15/157,372 2016-05-17
JP2018559749A JP6851397B2 (ja) 2016-05-17 2016-12-15 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2018559749A Division JP6851397B2 (ja) 2016-05-17 2016-12-15 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張

Publications (2)

Publication Number Publication Date
JP2021012723A JP2021012723A (ja) 2021-02-04
JP6980074B2 true JP6980074B2 (ja) 2021-12-15

Family

ID=57750638

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018559749A Active JP6851397B2 (ja) 2016-05-17 2016-12-15 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張
JP2020170391A Active JP6980074B2 (ja) 2016-05-17 2020-10-08 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2018559749A Active JP6851397B2 (ja) 2016-05-17 2016-12-15 メッセージ分類に基づくメッセージ交換スレッドの自動的拡張

Country Status (8)

Country Link
US (4) US10769155B2 (ja)
EP (1) EP3440560A1 (ja)
JP (2) JP6851397B2 (ja)
KR (3) KR102216629B1 (ja)
CN (2) CN112800218A (ja)
DE (2) DE202016008217U1 (ja)
GB (1) GB2557363A (ja)
WO (1) WO2017200575A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769155B2 (en) 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message
US10257126B2 (en) * 2016-08-04 2019-04-09 International Business Machines Corporation Communication fingerprint for identifying and tailoring customized messaging
US10412038B2 (en) 2017-03-20 2019-09-10 International Business Machines Corporation Targeting effective communication within communities
US11176453B2 (en) * 2017-12-28 2021-11-16 Fujifilm Business Innovation Corp. System and method for detangling of interleaved conversations in communication platforms
US11322264B2 (en) * 2018-04-23 2022-05-03 DNAFeed Inc. Systems and methods for human-augmented communications
US11544374B2 (en) * 2018-05-07 2023-01-03 Micro Focus Llc Machine learning-based security threat investigation guidance
US11924297B2 (en) 2018-05-24 2024-03-05 People.ai, Inc. Systems and methods for generating a filtered data set
US10565229B2 (en) 2018-05-24 2020-02-18 People.ai, Inc. Systems and methods for matching electronic activities directly to record objects of systems of record
US11463441B2 (en) 2018-05-24 2022-10-04 People.ai, Inc. Systems and methods for managing the generation or deletion of record objects based on electronic activities and communication policies
KR102202139B1 (ko) * 2018-12-17 2021-01-12 지속가능발전소 주식회사 협력업체 공급망 리스크 분석 방법, 이를 수행하기 위한 기록매체
JP6624539B1 (ja) * 2019-10-01 2019-12-25 株式会社トレードワークス クラス分類と回帰分類を組み合わせたaiチャットボットの構築方法
CN111158573B (zh) * 2019-12-26 2022-06-24 上海擎感智能科技有限公司 基于图片构架的车机交互方法、***、介质及设备
US11356389B2 (en) * 2020-06-22 2022-06-07 Capital One Services, Llc Systems and methods for a two-tier machine learning model for generating conversational responses
US11405337B2 (en) * 2020-09-23 2022-08-02 Capital One Services, Llc Systems and methods for generating dynamic conversational responses using ensemble prediction based on a plurality of machine learning models
US11792141B2 (en) * 2021-01-12 2023-10-17 Meta Platforms Technologies, Llc Automated messaging reply-to
US11776542B1 (en) * 2021-03-30 2023-10-03 Amazon Technologies, Inc. Selecting dialog acts using controlled randomness and offline optimization
US11978445B1 (en) 2021-03-30 2024-05-07 Amazon Technologies, Inc. Confidence scoring for selecting tones and text of voice browsing conversations
US11507757B2 (en) * 2021-04-16 2022-11-22 Capital One Services, Llc Systems and methods for generating dynamic conversational responses based on historical and dynamically updated information
US11743215B1 (en) 2021-06-28 2023-08-29 Meta Platforms Technologies, Llc Artificial reality messaging with destination selection

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3454897B2 (ja) 1994-01-31 2003-10-06 株式会社日立製作所 音声対話システム
JP4281899B2 (ja) 2003-03-14 2009-06-17 富士通株式会社 質問文書要約装置、質問応答検索装置、質問文書要約プログラム
US8200775B2 (en) * 2005-02-01 2012-06-12 Newsilike Media Group, Inc Enhanced syndication
US7496500B2 (en) * 2004-03-01 2009-02-24 Microsoft Corporation Systems and methods that determine intent of data and respond to the data based on the intent
US7917582B2 (en) 2004-07-27 2011-03-29 Siemens Enterprise Communications, Inc. Method and apparatus for autocorrelation of instant messages
KR20090021230A (ko) * 2004-10-28 2009-02-27 야후! 인크. 신뢰 네트워크를 포함하는 사용자 판단의 통합을 갖는 검색시스템 및 방법
US7848971B1 (en) 2006-02-28 2010-12-07 Intuit Inc. Integrated online chat within an income tax preparation product
JP5229782B2 (ja) 2007-11-07 2013-07-03 独立行政法人情報通信研究機構 質問応答装置、質問応答方法、及びプログラム
EP2313847A4 (en) * 2008-08-19 2015-12-09 Digimarc Corp METHODS AND SYSTEMS FOR PROCESSING CONTENT
US8886234B2 (en) 2011-04-06 2014-11-11 Microsoft Corporation Techniques for unified messaging
US9043350B2 (en) * 2011-09-22 2015-05-26 Microsoft Technology Licensing, Llc Providing topic based search guidance
JP5775466B2 (ja) 2012-01-13 2015-09-09 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 会話から雑談部分を抽出するための雑談抽出システム、方法、およびプログラム
JP5710581B2 (ja) 2012-12-18 2015-04-30 日本電信電話株式会社 質問応答装置、方法、及びプログラム
KR101821358B1 (ko) 2013-01-22 2018-01-25 네이버 주식회사 다자간 메신저 서비스를 제공하는 방법 및 시스템
US20150314454A1 (en) 2013-03-15 2015-11-05 JIBO, Inc. Apparatus and methods for providing a persistent companion device
JP5744150B2 (ja) 2013-10-17 2015-07-01 日本電信電話株式会社 発話生成装置、方法、及びプログラム
JP6280342B2 (ja) 2013-10-22 2018-02-14 株式会社Nttドコモ 機能実行指示システム及び機能実行指示方法
JP6178208B2 (ja) 2013-10-28 2017-08-09 株式会社Nttドコモ 質問分野判定装置及び質問分野判定方法
US9015192B1 (en) 2013-12-30 2015-04-21 Google Inc. Systems and methods for improved processing of personalized message queries
US9213941B2 (en) 2014-04-22 2015-12-15 Google Inc. Automatic actions based on contextual replies
CN103995872B (zh) 2014-05-21 2017-04-05 王青 一种在应用中基于场景展开讨论与聊天的方法与***
US10445650B2 (en) * 2015-11-23 2019-10-15 Microsoft Technology Licensing, Llc Training and operating multi-layer computational models
US10769155B2 (en) 2016-05-17 2020-09-08 Google Llc Automatically augmenting message exchange threads based on tone of message

Also Published As

Publication number Publication date
KR102148444B1 (ko) 2020-08-26
EP3440560A1 (en) 2019-02-13
US10769155B2 (en) 2020-09-08
US11762865B2 (en) 2023-09-19
JP2021012723A (ja) 2021-02-04
US11222030B2 (en) 2022-01-11
KR102216629B1 (ko) 2021-02-17
DE202016008217U1 (de) 2017-04-28
KR20190005194A (ko) 2019-01-15
WO2017200575A1 (en) 2017-11-23
GB201620957D0 (en) 2017-01-25
CN112800218A (zh) 2021-05-14
CN107391521A (zh) 2017-11-24
KR20200100874A (ko) 2020-08-26
GB2557363A (en) 2018-06-20
DE102016125594A1 (de) 2017-11-23
KR102249437B1 (ko) 2021-05-07
KR20210018553A (ko) 2021-02-17
US20220027377A1 (en) 2022-01-27
CN107391521B (zh) 2021-02-02
JP2019521415A (ja) 2019-07-25
JP6851397B2 (ja) 2021-03-31
US20170337199A1 (en) 2017-11-23
US20230394049A1 (en) 2023-12-07
US20200117672A1 (en) 2020-04-16

Similar Documents

Publication Publication Date Title
JP6980074B2 (ja) メッセージ分類に基づくメッセージ交換スレッドの自動的拡張
JP7443407B2 (ja) 会議能力を有する自動アシスタント
CN109983430B (zh) 确定包括在电子通信中的图形元素
EP3513534A1 (en) Proactive provision of new content to group chat participants
KR20200003871A (ko) 인간-대-컴퓨터 대화들에 요청되지 않은 콘텐츠의 선행적 통합
JP2019523923A (ja) メッセージ交換スレッドの拡張
KR20190003709A (ko) 메시지 교환 스레드를 사용한 효율적인 검색 촉진

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201028

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20201028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210827

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: 20211018

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211116

R150 Certificate of patent or registration of utility model

Ref document number: 6980074

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150