JP6761100B2 - フォローアップ音声クエリ予測 - Google Patents

フォローアップ音声クエリ予測 Download PDF

Info

Publication number
JP6761100B2
JP6761100B2 JP2019500487A JP2019500487A JP6761100B2 JP 6761100 B2 JP6761100 B2 JP 6761100B2 JP 2019500487 A JP2019500487 A JP 2019500487A JP 2019500487 A JP2019500487 A JP 2019500487A JP 6761100 B2 JP6761100 B2 JP 6761100B2
Authority
JP
Japan
Prior art keywords
user
utterance
follow
language model
subsequent
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
JP2019500487A
Other languages
English (en)
Other versions
JP2019527379A (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 JP2019527379A publication Critical patent/JP2019527379A/ja
Application granted granted Critical
Publication of JP6761100B2 publication Critical patent/JP6761100B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • G06F40/35Discourse or dialogue representation
    • 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/3331Query processing
    • G06F16/334Query execution
    • G06F16/3344Query execution using natural language analysis
    • 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/02Feature extraction for speech recognition; Selection of recognition unit
    • 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/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • 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/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Acoustics & Sound (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Description

本明細書は、自動音声認識(ASR:automated speech recognition)に関する。
音声認識とは、自動音声認識器(ASR:automatec speech recognizer)を使用した、話された言葉のテキストへの変換(transcription)を指す。従来のASRシステムでは、受信された音声はコンピュータ可読音に変換され、コンピュータ可読音は、次いで所与の言語に関連付けられた単語の辞書と比較される。
一般に、本明細書に記載される主題の1つの発明的態様は、ユーザによってその後提供される可能性があるフォローアップ音声クエリのセットを識別し、フォローアップ音声クエリに関連付けられたそれぞれの確率を増加させるように言語モデルを調整することによって、音声認識精度を向上させる方法で具現化することができる。たとえば、テキストクエリ、または他のタイプのユーザ入力など最初のクエリをユーザから受信した後、最初の音声クエリに事前に関連付けられた予測されたフォローアップクエリのセットが予測される。次いで、ASRMは、ユーザからの後続の音声クエリの処理が後続の音声クエリを予測されたフォローアップ音声クエリの1つとして変換する可能性がより高くなるように、予測されたフォローアップクエリに関連付けられた言語モデル内のそれぞれの確率を調整してもよい。この点について、説明される方法は、ユーザがすでに最初のクエリを提供した後、ASRMが、後続の音声クエリのサブミッションに関連付けられた確率の変化により正確に対応することを可能にする。
実装形態は、以下の特徴のうちの1つまたは複数を含んでもよい。たとえば、コンピュータ実装方法は、ユーザの最初の発話の変換に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、ユーザの後続の発話に対応する後続の音声データを受信するステップと、後続の発話の変換を生成するために、新しいまたは修正された言語モデルを使用して後続の音声データを処理するステップと、ユーザへの出力のために後続の発話の変換を提供するステップとを含んでもよい。
いくつかの実装形態では、コンピュータ実装方法は、ユーザの最初の発話の変換に関連付けられた1つまたは複数の検索結果に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、1つまたは複数のフォローアップクエリに関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、ユーザの後続の発話に対応する後続の音声データを受信するステップと、後続の発話の変換に関連付けられた1つまたは複数の検索結果を生成するために、新しいまたは修正された言語モデルを使用して後続の音声データを処理するステップと、ユーザへの出力のために後続の発話の変換に関連付けられた1つまたは複数の検索結果を提供するステップとを含んでもよい。
いくつかの実装形態では、コンピュータ実装方法は、ユーザの最初の発話の変換に関連付けられた検索結果のうちの1つまたは複数に関連付けられたデータに事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、ユーザの後続の発話に対応する後続の音声データを受信するステップと、後続の発話の変換に関連付けられた1つまたは複数の検索結果に関連付けられたデータを生成するために、新しいまたは修正された言語モデルを使用して後続の音声データを処理するステップと、ユーザへの出力のために後続の発話の変換に関連付けられた1つまたは複数の検索結果に関連付けられたデータを提供するステップとを含んでもよい。
他のバージョンは、コンピュータ記憶デバイス上に符号化された方法のアクションを実行するように構成された対応するシステム、およびコンピュータプログラムを含む。
1つまたは複数の実装形態は、以下のオプションの機能を含んでもよい。たとえば、いくつかの実装形態では、本方法は、ユーザの最初の発話に対応する最初の音声データを受信するステップと、最初の発話の変換を生成するために、最初の言語モデルを使用して音声データを処理するステップとをさらに含んでもよい。
いくつかの実装形態では、新しいまたは修正された言語モデルを取得するステップは、1つまたは複数のフォローアップクエリマッピングを含むデータベースにアクセスするステップであり、各フォローアップクエリマッピングが、(i)ユーザの過去の発話の変換と、(ii)ユーザに関連付けられた過去の検索結果と、(iii)ユーザに関連付けられた過去の検索結果に関連付けられたデータとについてのフォローアップクエリ候補のリストを指定する、ステップと、ユーザの最初の発話の変換の1つまたは複数の用語が、1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップと、1つまたは複数のフォローアップクエリマッピング内に含まれるユーザの最初の発話の変換の1つまたは複数の用語に対応するフォローアップクエリ候補のリストに関連付けられたそれぞれの確率を増加させるように、最初の言語モデルを調整するステップとを含む。
いくつかの実装形態では、ユーザの最初の発話の変換の1つまたは複数の用語が、1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップは、ユーザの最初の発話に関連付けられた特定のコンテキストが、ユーザの過去の発話の特定の変換に関連付けられたコンテキストと一致すると判定するステップを含む。
いくつかの実装形態では、1つまたは複数のフォローアップクエリマッピングの各々は、(i)ユーザの過去の発話の変換、(ii)ユーザに関連付けられた過去の検索結果、および(iii)ユーザに関連付けられた過去の検索結果に関連付けられたデータについての1つまたは複数のフォローアップ用語をさらに指定する。
いくつかの実装形態では、新しいまたは修正された言語モデルを使用して音声データを処理するステップは、ユーザの最初の発話に関連付けられた特定のコンテキストが、ユーザの後続の発話に関連付けられた特定のコンテキストと一致すると判定するステップを含む。
いくつかの実装形態では、新しいまたは修正された言語モデルを使用して音声データを処理するステップは、ユーザの最初の発話に関連付けられたユーザロケーションが、ユーザの後続の発話に関連付けられたユーザロケーションと一致すると判定するステップを含む。
1つまたは複数の実装形態の詳細は、添付の図面および以下の説明に記載される。他の潜在的な特徴および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
これらの態様の他の実装形態は、コンピュータ記憶デバイス上に符号化された方法のアクションを実行するように構成された対応するシステム、装置、およびコンピュータプログラムを含む。
ユーザについての予測されたフォローアップクエリを使用した音声認識を実行してもよい例示的なシステムの図である。 ユーザについての予測されたフォローアップクエリを使用した音声認識を改善するための例示的なプロセスを示す図である。 本明細書で説明するプロセスまたはその一部が実施されてもよいコンピューティングデバイスのブロック図である。
図面において、同様の参照符号は、全体を通して対応する部分を表す。
後続の音声クエリを処理するために使用される言語モデルは、特定の時間期間またはユーザコンテキスト内に同じユーザによってサブミットされた最初の音声クエリと後続の音声クエリとの間の固有の関係を反映しないことが多いので、ユーザによって連続的にサブミットされる音声クエリは、自動音声認識システムによって誤認識されることが多い。たとえば、言語モデルは、n-gramのセットについて静的確率を指定するので、同じ言語モデルに基づく後続の音声クエリについてのクエリ処理は、過去にサブミットされた音声クエリに事前に関連付けられた用語を含む後続の音声クエリを提供するユーザの可能性の増大を認識できないことが多い。これはしばしば、静的言語モデルによって指定された複数の変換候補を有する後続の低品質音声クエリの誤認識を引き起こす。
したがって、ユーザによってその後提供される可能性があるフォローアップ音声クエリのセットを識別し、フォローアップ音声クエリに関連付けられたそれぞれの確率を増加させるように言語モデルを調整することによって、音声認識精度を向上させるための技法が説明される。たとえば、ユーザから最初のクエリを受信した後、自動音声認識モジュール(ASRM)は、最初のクエリに事前に関連付けられた予測されたフォローアップクエリのセットを識別してもよい。次いで、ASRMは、ユーザからの後続の音声クエリの処理が後続の音声クエリを予測されたフォローアップ音声クエリの1つとして変換する可能性がより高くなるように、予測されたフォローアップクエリに関連付けられた言語モデル内のそれぞれの確率を調整してもよい。この点について、説明される方法は、ユーザがすでに最初のクエリを提供した後、ASRMが、後続の音声クエリのサブミッションに関連付けられた確率の変化により正確に対応することを可能にする。
図1は、ユーザ102についての予測されたフォローアップクエリを使用した音声認識を実行するために使用されてもよい例示的なシステム100を示す。システム100は、ユーザ102の音声クエリの発話を符号化する音声データ104bと、(たとえば、ユーザロケーションなど)音声データ104bに関連付けられたコンテキストデータ104cとを受信し、以下でより詳細に説明する音声認識技法を使用して音声データ104bの変換104dを生成することができるASRM110を含む。
一般に、音声データ104bおよびコンテキストデータ104cを受信した後、ASRM110は、たとえば同じユーザロケーション内でサブミットされたクエリ、または共通のトピックに関連付けられたクエリなどのサブミットされたクエリとフォローアップクエリとの間の特定の関係に基づいて、ユーザ102がサブミットする可能性があるフォローアップクエリを識別するためにクエリマッピングのセットを含むテーブル120にアクセスする。
より詳細には、ユーザ102は、ユーザデバイスを介して最初の音声クエリ104aを発する。ユーザデバイスは、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、またはデスクトップコンピュータなどのマイクロフォンを含む任意のタイプのコンピューティングデバイスであってもよい。ユーザデバイスは、ユーザ102が、音声クエリを提供し、および/またはユーザクエリに応答して、視覚コンテンツ、たとえば検索結果などを表示することを可能にする任意のモバイルまたはデスクトップオペレーティングシステムを介して表示されるユーザインターフェースをユーザ102に提示してもよい。
音声クエリ104aは、一般的な音声認識技法を使用してASRM110によって認識されかつ処理される、音声検索、音声コマンド、またはディクテーションなどの様々なタイプの音声対応入力を含んでもよい。
ASRM110は、最初に音響モデルを使用して最初の音声クエリ104aの発話を音声学的に変換することによって音声データ104bの最初の変換104dを生成する。次いで、ASRM110は、最初の音声クエリ104aの発話の正確な変換の最も高い可能性を表す言語モデル130内で指定されたn-gramを選択する。いくつかの事例では、ASRM110は、コンテキストデータ104cによって示されるユーザ102に関連付けられた可能性のあるコンテキストが与えられると、最初の音声クエリ104aの発話の正確な変換の最も高い可能性を反映する特定のn-gramを選択するために、受信されたコンテキストデータ104cに基づいて言語モデル130をバイアスしてもよい。次いで、受信された最初の音声クエリ104aに応答して、生成された最初の変換104dが、ユーザデバイスへの出力のために送信される。
図1に示す例では、最初の音声クエリ104aの発話“MU-SE-UMS IN PA-RIS”を符号化する音声データ104bを受信したことに応答して、ASRM110は、音声データ104bの他の変換候補に対して最大の変換スコア“0.9”を言語モデル130aが指定することに基づいて、n-gramの“MUSEUMS IN PARIS”を最初の変換104dとして変換する。
ユーザ102から音声クエリを受信すると、ASRM110はまた、音声クエリ104a内に含まれる用語が与えられると、ユーザ102が提供する可能性があるフォローアップクエリのセットを識別する。たとえば、ASRM110は、最初の音声クエリについてのフォローアップクエリを指定するクエリマッピングのセットへのアクセスに基づいて、ユーザ102についてのフォローアップクエリを識別してもよい。クエリマッピングごとに、テーブル120は、指定された最初の音声クエリを提供した後、所定の時間内に、ユーザ102が指定されたフォローアップクエリを提供する可能性を反映する関連スコアをさらに指定する。
いくつかの実装形態では、特定の最初の音声クエリについてのユーザ102のフォローアップクエリを指定する代わりに、テーブル120内のクエリマッピングは、代わりに特定の最初の音声クエリに事前に関連付けられた1つまたは複数の用語またはエンティティを指定してもよい。そのような実装形態では、識別された用語またはエンティティは、新しいまたは調整された言語モデル130bを生成するために、最初の言語モデル130a内の個々の用語に関連付けられたそれぞれの変換スコアをアップウェイトするために使用することができる。
いくつかの実装形態では、テーブル120内に含まれるクエリマッピングは、最初の音声クエリ104aの最上位の変換仮説に対するそれらの音声学的類似性のために、そのように識別されるフォローアップクエリをさらに含む。たとえば、特定の最初の音声クエリの変換仮説が“OPENING HOURS OF LUFRE”である場合、テーブル120は、用語“LUFRE”と“LOUVRE”との間の音声学的類似性に基づいて、“OPENING HOURS OF LOUVRE”をフォローアップクエリとして指定するクエリマッピングを含んでいる可能性がある。この点について、ユーザ120がASRM110からの出力として誤った変換を受信した後に同じクエリを再度サブミットする可能性が高まると仮定すると、一般に誤った変換は、テーブル120内の正しく識別されたフォローアップクエリに関連付けられる可能性がある。
いくつかの実装形態では、テーブル120内のクエリマッピングは、最初の音声クエリ104aの最初の発話の変換104dに関連付けられた検索結果についてのフォローアップクエリを指定する可能性がある。たとえば、ユーザ102は、最初の変換104d内に含まれる用語の検索を実行するために、最初の音声クエリ104aを検索エンジンへの入力の形態としてサブミットする可能性がある。検索エンジンによって返された検索結果データは、次いで最初の転記104dの検索結果内に含まれている用語に関連付けられている、またはそれを含む後続の音声クエリの処理の際に、ASRM110による使用のために、テーブル120内に記録されかつ含まれてもよい。
いくつかの実装形態では、テーブル120内のクエリマッピングは、変換104dの検索結果に関連付けられたデータについてのフォローアップクエリをさらに指定してもよい。たとえば、検索結果に関連付けられたデータは、特に特定の時間期間内にユーザ102によって送信された過去の検索クエリ、最初の変換104dに関連付けられた検索結果に類似すると判定された検索クエリについて取得された過去の検索結果、最初の変換104に関連付けられた検索クエリに対応すると判定された文書内に含まれる用語を含んでもよい。検索結果に関連付けられたデータはまた、過去にサブミットされた音声クエリ、過去の変換候補のブラウジングアクティビティ、または他のタイプのユーザ固有の情報などのユーザ履歴データおよびユーザ102に関連付けられたクエリログを含んでもよい。
いくつかの実装形態では、テーブル120内のクエリマッピングは、ユーザ102に加えて他のユーザに関連付けられたデータに基づいてフォローアップクエリをさらに指定してもよい。たとえば、テーブル120内のフォローアップクエリは、たとえば同じ場所にいるユーザ、あるいはユーザ102と同様のクエリをサブミットした、および/または同様の検索結果もしくはフォローアップクエリを受信したユーザなどのユーザ102に類似していると判定されたユーザのクラスタによってサブミットされた過去のクエリに基づいて決定することができる。これらの例の各々において、ASRM110は、ユーザ102に関連する可能性があるパターンまたは予測を識別するために、データクラスタリング技法を使用して複数のユーザから受信されたデータをアグリゲートすることができる。
指定された各最初の音声クエリとフォローアップクエリとの間の関連スコアの大きさは、上記のように、ユーザ102に関連付けられた様々なタイプのデータに基づいていてもよく、および/またはそれによって増大させてもよい。いくつかの実装形態では、関連スコアの大きさは、音声データ104bがASRM110によって受信されたときにユーザ102に関連付けられているデバイスの特定の場所に基づいてもよい。そのような実装形態では、関連スコアの値は、特定の最初の音声クエリおよびフォローアップクエリ内に含まれる用語が、ユーザ102またはユーザ102と類似していると判定された場所にいる他のユーザのいずれかによって、特定の時間期間内に繰り返し送信される可能性を反映してもよい。この例では、この決定は、ユーザ102および特定の場所にいる他のユーザによってサブミットされた過去のクエリを含むトレーニングデータに基づいていてもよい。
図1に示す例では、テーブル120は、たとえば“MUSEUMS”および“PARIS”などのクエリ104a内の用語に関連付けられると判定された、たとえば“LOUVRE”、“BAGUETTE”などの用語を含むフォローアップクエリを指定する。記載された“LOUVRE”という用語は美術館に関連し、かつパリにあるのに対して、“BAGUETTE”という用語はパリとの関係に関して“MUSEUM”という用語にのみ関連付けられているので、テーブル120はさらに、“PLACES TO BAGUETTE”と比較して、フォローアップクエリ“OPENING HOURS OF LOUVRE”についてより高い関連スコアを指定する。
次いで、ASRM110は、言語モデル130を調整するために、テーブル120内の識別されたフォローアップクエリを使用する。特に、識別されたフォローアップクエリは、テーブル120内に含まれるフォローアップクエリに対応する言語モデル130内の特定のn-gramに関連付けられたそれぞれの確率を増加させるために、言語モデル130をバイアスするために使用され、ASRM110が特定のn-gramを最初の音声クエリ104aの発話に関連付けられた後続のクエリの変換として選択する可能性が高くなる。
後続の音声クエリ106aのいかなる誤った変換も防止するために、テーブル120によって指定されたフォローアップクエリに対応する、最初の言語モデル130aに対する、新しいまたは更新された言語モデル130b内の特定のn-gramに関連付けられたそれぞれの確率の増加は、特定の値に対して計算される。たとえば、いくつかの事例では、新しいまたは調整された言語モデル130b内の補間された変換スコアの計算が、最初の言語モデル130a内の変換スコアに比べて緩やかに増加するように、関連スコアの値がASRM110によって調整される。これは、最初の言語モデル130aの代わりに新しいまたは調整された言語モデル130bを使用する際に、補間された変換スコアがASRM110によるクエリ処理に劇的な変化を引き起こすほど有意に高くならないことを確実にするためである。別の例では、フォローアップクエリのそれぞれについて関連スコアを調整する代わりに、同じ結果を引き起こすために、ASRM110によって使用される特定の計算技法が代わりに調整されてもよい。そのような例では、補間された変換スコア計算技法は、最初に計算された補間された変換スコアの値を低減するための減衰係数および/またはダウンウェイトの使用を含んでもよい。
図1に示す例では、ASRM110は、最初にフォローアップクエリ“OPENING HOURS OF LOUVRE”を、初期音声クエリ104aについての最も可能性の高いフォローアップクエリとして、関連スコア“1.4”で識別する。次いで、ASRM110は、最初の言語モデル130内の同じn-gramについての対応する変換スコアに対してより大きい値を有するn-gram“OPENING HOURS OF LOUVRE”の補間された変換スコアを指定する更新された言語モデル130bを生成する。この例では、ASRM110は、補間された変換スコア“0.56”を割り当てるために、最初の変換スコア“0.5”とテーブルによって指定された関連スコア“1.4”との積を計算する。
図1は、言語モデル130の異なる動的状態として、最初の言語モデル130aおよび調整された言語モデル130bを示しているが、いくつかの実装形態では、ASRM110は、代わりに最初の音声クエリ104aについて指定されたフォローアップクエリに対応する特定のn-gramについての補間された変換スコアを提供する新しい言語モデルを生成してもよい。そのような実装形態では、ASRM110は、本明細書で説明するように、ユーザ102に関連付けられた様々なタイプのデータに基づいて、後続の音声クエリの変換を生成するために、複数の利用可能な言語モデルの中から特定の言語モデルを動的に選択することが可能であってもよい。
いくつかの実装形態では、システム100は、本明細書で説明するように、言語モデル調整または生成を実行するための別個のハードウェアまたはソフトウェアモジュールを含んでもよい。たとえば、ASRM110は、最初に最初の音声クエリ104aについてのフォローアップクエリを識別し、識別されたフォローアップクエリに対応するデータをテーブル120から抽出し、次いで最初の言語モデル130aおよび抽出されたデータを言語モジュール補間のために後処理モジュールに送信するようにしてもよい。本明細書で説明するように、後処理構成要素は、補間された変換スコアにより調整された言語モデルを生成する、または対応する変換スコアにより新しい言語モデルを生成してもよい。
いくつかの例では、ASRM110は、テーブル120内の複数の識別されたフォローアップクエリに対応する言語モデル130内の複数のn-gramの変換スコアを補間してもよい。たとえば、ASRM110は、所定のしきい値よりも大きい関連スコアを有する対応するフォローアップクエリのn-gramの変換スコアを補間してもよい。あるいは、他の実装形態では、ASRM110は、代わりにテーブル120内のフォローアップクエリに対応するn-gramの変換スコアを最大の関連スコアで補間するだけでもよい。この点について、後続のクエリについての言語モデルのバイアスの感度は、ASRM110によって使用される特定の補間技法に基づいて調整されてもよい。
新しいまたは調整された言語モデル130bを生成した後、ASRMは、その後新しいまたは調整された言語モデル130bを使用してユーザ102の後続の音声クエリ106aの発話を符号化する音声データ106bを処理してもよい。ASRM110が音声データ106bを処理する時点T2において、新しいまたは調整された言語モデル130bは、時点T1にサブミットされたユーザ102によってサブミットされた最初の音声クエリ104aについて過去に識別されたフォローアップクエリに対応する特定のn-gramについての増加した変換スコアを含むようにすでに補間されている。
新しいまたは更新された言語モデル130を使用して音声データ106bを処理することは、後続の変換106dについて選択されたn-gramが、テーブル120内の識別されたフォローアップクエリのうちの少なくとも1つになる可能性を高める。これは、後続の音声クエリ106aがASRM110によって誤って変換される可能性があるあいまいな発話を含むときに特に重要である。
たとえば、図1に示す例では、たとえば“MUSEUMS IN PARIS”などのあいまいさを残さず変換された最初のユーザクエリを送信した後、ユーザは、次いで比較的あいまいで誤った変換の余地がある後続の音声クエリを送信する。たとえば、“AH-WA-AS OF TH-HE LU-UH”という発話は、“HOURS OF LOO”、“HOURS OF LOUIE’S”、または“HOURS OF LOUVRE”のいずれかとして変換される可能性がある。しかしながら、ASRM110は、更新された、または新しい言語モード130bを使用して音声データ106bを処理するので、ASRM110は、それがテーブル120内で識別され、過去の音声クエリ104aに含まれる“PARIS”という用語に事前に関連付けられていると仮定するとトランザクション“HOURS OF LOUVRE”を選択する可能性が高い。したがって、後続の変換106dは、少なくとも最初の音声クエリ104aとの関連付けに基づいて選択され、その結果出力のためにユーザ102に関連付けられたデバイスに提供される。
いくつかの実装形態では、図1に関して全体的に説明したように、識別されたフォローアップクエリに基づいてASRM110によって使用される音声認識技法は、後続の音声クエリ106aと実際には関連付けられていないフォローアップクエリに関して、後続の変換104dが誤っておよび/または不正確に変換されないことを確実にするために制限を受ける。たとえば、いくつかの実装形態では、特定の言語モデルを使用して音声データ106bを処理するより前に、ASRM110は、最初にコンテキストデータ104cによって示される見込みのあるユーザコンテキストが、コンテキストデータ106によって示される見込みのあるユーザコンテキストと十分に対応するかどうかを判定してもよい。ユーザコンテキストが十分に対応していない場合、ASRM110は、ユーザコンテキストが時点T1とT2との間で変化したと判定する可能性があり、これは最初の音声クエリ104bについて識別されたフォローアップクエリの少なくとも1つを後続の音声クエリ106bが反映する可能性が低いことを意味する。この場合、ASRM110は、音声データ106bについて誤った変換を生成することを防止するために、新しいまたは調整された言語モデルに基づく処理を終了してもよい。
別の例では、ASRM110は、最初の音声クエリ104aと後続の音声クエリ106aとの間の意味ドリフト(semantic drift)を識別するために、追加のクエリ処理技法を使用してもよい。たとえば、ASRM110は、最初の音声クエリ104aおよび後続の音声クエリ106a内の識別された用語を比較して、時間T2でのユーザ102による単語の使用が、時点T1でのユーザ102による単語の使用に対して変化したかどうかを判定するために、自然言語処理技法を使用してもよい。意味ドリフトが所定のしきい値よりも大きいとASRM110が判定した場合、ASRM110は、音声データ106bについて誤った変換を生成するのを防ぐために、新しいまたは調整された言語モデルに基づいて音声データ106bの処理を終了してもよい。
ASRM110は、新しいまたは調整された言語モデル130bを使用したクエリ処理が正確な変換をもたらすことを確実にするために、受信された最初の音声クエリ104aと後続の音声クエリ106aとの間に十分な連続性があることを確認するために、様々な後処理技法をさらに実行してもよい。たとえば、最初の音声クエリ104aと後続の音声クエリ106aとの間の連続性は、クエリ間の類似性を示す要因(たとえば、ユーザコンテキスト、クエリに含まれる用語など)に関連付けられた特定の重みに基づく集約スコアとして計算されてもよい。
いくつかの実装形態では、ASRM110は、最初の言語モデル130aまたはASRM語彙内で指定されていない最初の音声クエリ104a内に含まれる新しい用語を識別し、次いでクエリごとに、調整された言語モデル130bおよび/またはASRUMボキャブラリに新しい用語を動的に追加することができる。たとえば、図1に示す例では、最初の言語モデル130aが“LOUVRE”という用語を含まない場合、ASRM110は、この用語が初期の音声クエリ“MUSEUMS IN PARIS”に関連付けられていると判定し、それに応答して“LOUVRE”という用語を調整された言語モデル130bに追加してもよい。この点について、過去のクエリ内に新しく識別された用語を追加することによって、ASRM110は、そうでなければ最初の言語モデル130aを使用して見逃されていたであろう音声認識仮説候補を生成することができる。
図1は、最初の音声クエリ104aの受信に応答してフォローアップクエリのセットを識別するASRM110の一例を示すが、いくつかの実装形態では、ASRM110は、他のタイプのユーザ入力の受信に応答して、フォローアップクエリを識別することができる。そのような実装形態では、ユーザ入力は、タイプされたクエリ、たとえば検索エンジンに提供された検索クエリ、ユーザ102によって送信された最近のメッセージおよび/または電子メール、ASRM110とは別の他のアプリケーション内で提供されるクエリを含むことができる。この点について、ASRM110は、過去の音声クエリとタイプされたクエリの両方の中に含まれる用語に基づいて、フォローアップクエリを識別することができる。
図2は、ユーザについての予測されたフォローアップクエリを使用した音声認識を改善するための例示的なプロセス200を示す。簡潔には、プロセス200は、最初の音声データを受信すること(210)と、最初の言語モデルを使用して音声データを処理すること(220)と、1つまたは複数のフォローアップクエリを識別すること(230)と、新しいまたは修正された言語モデルを取得すること(240)と、後続の音声データを受信すること(250)と、新しいまたは修正された言語モデルを使用して音声データを処理すること(260)と、処理された音声データを出力のために提供すること(270)とを含むことができる。
より詳細には、プロセス200は、最初の音声データを受信すること(210)を含むことができる。たとえば、ASRM110は、ユーザ102の最初の音声クエリ104aの発話に対応する音声データ104bを受信してもよい。
プロセス200は、最初の言語モデルを使用して音声データを処理すること(220)を含むことができる。たとえば、ASRM110は、最初の音声クエリ104aの発話の変換104dを生成するために、最初の言語モデル130aを使用して音声データ104bを処理してもよい。
プロセス200は、1つまたは複数のフォローアップクエリを識別すること(230)を含むことができる。たとえば、ASRM110は、テーブル120から1つまたは複数のフォローアップクエリを識別してもよい。フォローアップクエリは、ユーザ102の最初の音声クエリ104aの発話の変換104dに事前に関連付けられてもよい。いくつかの実装形態では、フォローアップクエリはまた、発話の変換104dに関連付けられた1つまたは複数の検索結果、あるいはたとえば過去の検索クエリ、過去の検索結果、対応する検索クエリに対応する文書などに事前に関連付けられていてもよい。
プロセス200は、新しいまたは修正された言語モデルを取得すること(240)を含むことができる。たとえば、ASRM110は、言語モデル130aに対して1つまたは複数のフォローアップクエリに関連付けられたそれぞれの変換確率が増加した言語モデル130bを取得してもよい。図1の例に示されるように、ASRM110は、テーブル120を使用してユーザ102からの最初の音声クエリ“MUSEUMS IN PARIS”に対するフォローアップ音声クエリとして“OPENING HOURS OF LOUVRE”を予測する可能性がある。これは、言語モデル130a内のその対応する変換スコアよりも大きい言語モデル130b内の“OPENING HOURS OF LOUVRE”の変換スコアに反映されている(たとえば、それぞれ0.4および0.56)。
プロセス200は、後続の音声データを受信すること(250)を含むことができる。たとえば、ASRM110は、ユーザ102の後続の音声クエリ106aの発話に対応する音声データ106bを受信してもよい。
プロセス200は、新しいまたは修正された言語モデルを使用して音声データを処理すること(260)を含むことができる。たとえば、ASRM110は、後続の音声クエリ106aの発話の変換106dを生成するために、言語モデル130bを使用して後続の音声データ106bを処理してもよい。
処理200は、出力のために、処理された音声データを提供すること(270)を含むことができる。たとえば、ASRM110は、ユーザ102に関連付けられたデバイスへの出力のために、後続の音声クエリ106aの発話の変換106dを提供してもよい。
図3は、この文書に記載されたシステムおよび方法を、クライアントとして、またはサーバとして、もしくは複数のサーバとして実施するために使用されてもよいコンピューティングデバイス300、350のブロック図である。コンピューティングデバイス300は、ラップトップ、デスクトップ、ワークステーション、携帯情報端末、サーバ、ブレードサーバ、メインフレーム、および他の適切なコンピュータなどの様々な形態のデジタルコンピュータを表すものとする。コンピューティングデバイス350は、携帯情報端末、セルラー電話、スマートフォン、および他の同様のコンピューティングデバイスなどの様々な形態のモバイルデバイスを表すものとする。
さらに、コンピューティングデバイス300または350は、ユニバーサルシリアルバス(USB)フラッシュドライブを含むことができる。USBフラッシュドライブは、オペレーティングシステムおよび他のアプリケーションを記憶してもよい。USBフラッシュドライブは、別のコンピューティングデバイスのUSBポートに挿入されてもよいUSBコネクタまたはワイヤレス送信機などの入出力構成要素を含むことができる。本明細書に示された構成要素、それらの接続および関係、ならびにそれらの機能は、例示的なものにすぎず、本明細書に記載され、および/または請求される本発明の実装形態を限定するものではない。
コンピューティングデバイス300は、プロセッサ302、メモリ304、記憶デバイス306、メモリ304および高速拡張ポート310に接続する高速インターフェース308、ならびに低速バス314および記憶デバイス306に接続する低速インターフェース312を含む。構成要素302、304、306、308、310、および312の各々は、様々なバスを使用して相互接続されており、共通のマザーボード上に、または他の方法で適宜に実装されてもよい。プロセッサ302は、高速インターフェース308に結合されるディスプレイ316など外部入出力デバイス上にGUIのグラフィカル情報を表示するために、メモリ304または記憶デバイス306に記憶された命令を含む、コンピューティングデバイス300内で実行するための命令を処理することができる。他の実装形態では、複数のプロセッサおよび/または複数のバスが適宜に複数のメモリおよび複数のタイプのメモリとともに使用されてもよい。また、複数のコンピューティングデバイス300が接続されてもよく、各デバイスは、たとえばサーババンク、ブレードサーバのグループ、またはマルチプロセッサシステムとして、必要な動作の一部を提供する。
メモリ304は、コンピューティングデバイス300内の情報を記憶する。一実装形態では、メモリ304は、揮発性メモリユニットである。別の実施形態では、メモリ304は、不揮発性メモリユニットである。メモリ304は、磁気または光ディスクなどの別の形態のコンピュータ可読媒体であってもよい。
記憶デバイス306は、コンピューティングデバイス300のための大容量ストレージを提供することができる。一実装形態では、記憶デバイス306は、フロッピーディスクデバイス、ハードディスクデバイス、光ディスクデバイス、またはテープデバイス、フラッシュメモリまたは他の類似の固体メモリデバイス、あるいはストレージエリアネットワークまたは他の構成内のデバイスを含むデバイスのアレイなどのコンピュータ可読媒体であってもよく、またはそれらを含んでもよい。コンピュータプログラム製品は、情報キャリアに有形に組み込むことができる。コンピュータプログラム製品は、実行されると、上記で説明したものなどの1つまたは複数の方法を実行する命令も含んでもよい。情報キャリアは、メモリ304、記憶デバイス306、またはプロセッサ302上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
高速コントローラ308は、コンピューティングデバイス300のための帯域幅集約な動作を管理し、低速コントローラ312は、より低い帯域幅集約な動作を管理する。そのような機能の割振りは例にすぎない。一実装形態では、高速コントローラ308は、たとえばグラフィックプロセッサまたはアクセラレータなどを介してメモリ304、ディスプレイ316に、および様々な拡張カード(図示せず)を受け入れることができる高速拡張ポート310に結合される。この実装形態では、低速コントローラ312は、記憶デバイス306および低速拡張ポート314に結合されている。たとえばUSB、Bluetooth(登録商標)、Ethernet(登録商標)、ワイヤレスイーサネットなど様々な通信ポートを含んでもよい低速拡張ポートは、たとえばネットワークアダプタを介して、キーボード、ポインティングデバイス、マイクロフォン/スピーカーペア、スキャナ、またはスイッチやルータなどのネットワーキングデバイスなどの1つまたは複数の入出力デバイスに結合されてもよい。図に示すように、コンピューティングデバイス300は、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス300は、標準的なサーバ320として、またはそのようなサーバのグループにおいて複数回、実装されてもよい。また、ラックサーバシステム324の一部として実装されてもよい。さらに、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装されてもよい。代替的に、コンピューティングデバイス300からの構成要素は、デバイス350などのモバイルデバイス(図示せず)内の他の構成要素と結合されてもよい。そのようなデバイスの各々は、1つまたは複数のコンピューティングデバイス300、350を含んでいてもよく、システム全体は、互いに通信する複数のコンピューティングデバイス300、350から構成されてもよい。
図に示すように、コンピューティングデバイス300は、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス300は、標準的なサーバ320として、またはそのようなサーバのグループにおいて複数回、実装されてもよい。また、ラックサーバシステム324の一部として実装されてもよい。さらに、ラップトップコンピュータ322などのパーソナルコンピュータにおいて実装されてもよい。代替的に、コンピューティングデバイス300からの構成要素は、デバイス350などのモバイルデバイス(図示せず)内の他の構成要素と結合されてもよい。そのようなデバイスの各々は、1つまたは複数のコンピューティングデバイス300、350を含んでいてもよく、システム全体は、互いに通信する複数のコンピューティングデバイス300、350から構成されてもよい。
コンピューティングデバイス350は、構成要素の中でも、プロセッサ352、メモリ364、ならびにディスプレイ354などの入出力デバイス、通信インターフェース366、およびトランシーバ368を含む。デバイス350はまた、追加のストレージを提供するために、マイクロドライブまたは他のデバイスなどの記憶デバイスを備えていてもよい。構成要素350、352、364、354、366、および368の各々は、様々なバスを使用して相互接続されており、構成要素のうちのいくつかは、共通のマザーボード上に、または他の方法で適宜に実装されてもよい。
プロセッサ352は、メモリ364に記憶されている命令を含む、コンピューティングデバイス350内の命令を実行することができる。プロセッサは、別個の複数のアナログおよびデジタルプロセッサを含むチップのチップセットとして実装されてもよい。さらに、プロセッサは、いくつかのアーキテクチャのうちのいずれかを使用して実装されてもよい。たとえば、プロセッサ352は、CISC(複合命令セットコンピュータ)プロセッサ、RISC(縮小命令セットコンピュータ)プロセッサ、またはMISC(最小命令セットコンピュータ)プロセッサでもよい。プロセッサは、たとえばユーザインターフェースの制御、デバイス350によって実行されるアプリケーション、およびデバイス350によるワイヤレス通信などのデバイス350の他の構成要素の調整を提供してもよい。
プロセッサ352は、ディスプレイ354に結合される制御インターフェース358およびディスプレイインターフェース356を介してユーザと通信することができる。ディスプレイ354は、たとえばTFT(薄膜トランジスタ液晶ディスプレイ)ディスプレイ、またはOLED(有機発光ダイオード)ディスプレイ、または他の適切なディスプレイ技術であってもよい。ディスプレイインターフェース356は、グラフィカルおよび他の情報をユーザに提示するためにディスプレイ354を駆動するための適切な回路を備えていてもよい。制御インターフェース358は、ユーザからコマンドを受信し、それらをプロセッサ352にサブミットするために変換してもよい。さらに、デバイス350と他のデバイスとの近距離通信を可能にするために、プロセッサ352と通信するように外部インターフェース362が設けられてもよい。外部インターフェース362は、たとえばいくつかの実装形態ではワイヤード通信、または他の実装形態ではワイヤレス通信を提供してもよく、複数のインターフェースが使用されてもよい。
メモリ364は、コンピューティングデバイス350内の情報を記憶する。メモリ364は、コンピュータ可読媒体、揮発性メモリユニット、または不揮発性メモリユニットのうちの1つまたは複数として実装することができる。拡張メモリ374も設けられ、たとえばSIMM(シングルインラインメモリモジュール)カードインターフェースを含んでもよい拡張インターフェース372を介してデバイス350に接続されてもよい。そのような拡張メモリ374は、デバイス350のための追加の記憶スペースを提供してもよく、またはデバイス350のためのアプリケーションまたは他の情報をも記憶してもよい。具体的には、拡張メモリ374は、上述のプロセスを実行または補足するための命令を含んでいてもよく、また安全な情報も含んでもよい。したがって、たとえば拡張メモリ374は、デバイス350のためのセキュリティモジュールとして提供されてもよく、デバイス350の安全な使用を可能にする命令でプログラムされてもよい。さらに、安全なアプリケーションが、識別情報をSIMMカード上にハッキング不可能な方法で配置するなど、追加情報とともにSIMMカードを介して提供されてもよい。
メモリは、以下で説明するように、たとえばフラッシュメモリおよび/またはNVRAMメモリを含んでもよい。一実施形態では、コンピュータプログラム製品は、情報キャリアに有形に組み込まれる。コンピュータプログラム製品は、実行されると、上記で説明したものなどの1つまたは複数の方法を実行する命令を含む。情報キャリアは、たとえばトランシーバ368もしくは外部インターフェース362を介して受信されてもよい、メモリ364、拡張メモリ374、またはプロセッサ352上のメモリなどのコンピュータ可読媒体または機械可読媒体である。
デバイス350は、必要な場合デジタル信号処理回路を含んでもよい通信インターフェース366を介してワイヤレス通信してもよい。通信インターフェース366は、特にGSM(登録商標)音声通話、SMS、EMS、またはMMSメッセージング、CDMA、TDMA、PDC、WCDMA(登録商標)、CDMA2000、またはGPRSなどの様々なモードまたはプロトコルの下で通信を提供することができる。そのような通信は、たとえば無線周波数トランシーバ368を介して行われてもよい。さらに、Bluetooth(登録商標)、WiFi、または他のそのようなトランシーバ(図示せず)を使用するなどの短距離通信が行われてもよい。さらに、GPS(全地球測位システム)受信機モジュール370は、追加のナビゲーションおよび位置関連のワイヤレスデータをデバイス350に提供してもよく、それは、デバイス350上で実行しているアプリケーションによって適宜に使用されてもよい。
デバイス350は、オーディオコーデック360を使用して可聴的に通信してもよく、音声コーデック360は、ユーザから話された情報を受信し、それを使用可能なデジタル情報に変換してもよい。オーディオコーデック360は、同様に、たとえばデバイス350のハンドセット内のスピーカーを通してなど、ユーザのための可聴音を生成してもよい。そのような音は、音声通話からの音を含み、たとえばボイスメッセージ、音楽ファイルなどの録音された音を含み、デバイス350上で動作するアプリケーションによって生成された音も含んでもよい。
図に示すように、コンピューティングデバイス350は、いくつかの異なる形態で実装されてもよい。たとえば、コンピューティングデバイス350は、セルラー電話480として実装されてもよい。コンピューティングデバイス350は、スマートフォン382、携帯情報端末、または他の同様のモバイルデバイスの一部として実装されてもよい。
本明細書に記載のシステムおよび方法の様々な実装形態は、デジタル電子回路、集積回路、特別に設計されたASIC(特定用途向け集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、および/またはそのような実装形態の組合せで実現できる。これらの様々な実装形態は、ストレージシステム、少なくとも1つの入力デバイス、および少なくとも1つの出力デバイスとの間で、データおよび命令を送受信するために結合される、専用または汎用目的であってもよい少なくとも1つのプログラマブルプロセッサを含むプログラマブルシステム上で実行可能および/または解釈可能な1つまたは複数のコンピュータプログラムにおける実装形態を含むことができる。
これらのコンピュータプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、またはコードとしても知られる)は、プログラマブルプロセッサのための機械命令を含み、高レベル手続き型および/またはオブジェクト指向プログラミング言語で、および/またはアセンブリ/機械言語で実装することができる。本明細書で使用する「機械可読媒体」、「コンピュータ可読媒体」という用語は、たとえば機械命令を機械可読信号として受信する機械可読媒体を含む、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される、磁気ディスク、光ディスク、メモリ、プログラマブルロジックデバイス(PLD)などの任意のコンピュータプログラム製品、装置、および/またはデバイスを指す。「機械可読信号」という用語は、機械命令および/またはデータをプログラマブルプロセッサに提供するために使用される任意の信号を指す。
ユーザとの対話を提供するために、本明細書に記載されるシステムおよび技法は、ユーザに情報を表示するための、CRT(陰極線管)またはLCD(液晶ディスプレイ)モニタなどのディスプレイデバイス、ならびにキーボードおよび、ユーザがコンピュータに入力を提供することができる、たとえばマウスまたはトラックボールなどのポインティングデバイスを有するコンピュータ上に実装することができる。他の種類のデバイスを使用してユーザとの対話を提供することもでき、たとえばユーザに提供されるフィードバックは、たとえば視覚フィードバック、聴覚フィードバック、または触覚フィードバックなどの任意の形態の感覚フィードバックとすることができ、ユーザからの入力は、音響、音声、または触覚入力を含む任意の形態で受信することができる。
本明細書に記載されるシステムおよび技法は、たとえばデータサーバとしてのバックエンド構成要素を含む、またはアプリケーションサーバなどのミドルウェア構成要素を含む、またはたとえば、グラフィカルユーザインターフェースを有するクライアントコンピュータ、またはユーザが本明細書に記載されたシステムおよび技法の実装と対話することができるウェブブラウザを有するクライアントコンピュータなどのフロントエンド構成要素を含む、またはそのようなバックエンド、ミドルウェア、またはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムにおいて実装することができる。システムの構成要素は、たとえば通信ネットワークなどの任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの例には、ローカルエリアネットワーク(“LAN”)、ワイドエリアネットワーク(“WAN”)、およびインターネットがある。
コンピューティングシステムは、クライアントおよびサーバを含むことができる。クライアントとサーバは、一般に互いに遠隔であり、典型的には通信ネットワークを介して対話する。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行され、互いにクライアント-サーバ関係を有するコンピュータプログラムのおかげで生じる。
いくつかの実施形態について記載された。それにもかかわらず、本発明の範囲および趣旨から逸脱することなく様々な修正を加えることができることを理解されよう。さらに、図面に示される論理フローは、望ましい結果を達成するために、示された特定の順序または逐次的な順序を必ずしも必要としない。さらに、他のステップが設けられてもよく、または記載されたフローからステップが削除されてもよく、他の構成要素を記載のシステムに追加したり、そこから削除したりしてもよい。したがって、他の実施形態は、添付の特許請求の範囲内にある。
100 システム
104a 音声クエリ
104b 音声データ
104c コンテキストデータ
104d 変換
106a 音声クエリ
106b 音声データ
110 ASRM
120 テーブル
130 言語モデル
130a 最初の言語モデル
130b 調整された言語モデル
300 コンピューティングデバイス
302 プロセッサ
304 メモリ
306 記憶デバイス
308 高速インターフェース
310 高速拡張ポート
312 低速インターフェース
314 低速バス
316 ディスプレイ
320 サーバ
322 ラップトップコンピュータ
324 ラックサーバシステム
350 コンピューティングデバイス
352 プロセッサ
354 ディスプレイ
356 ディスプレイインターフェース
358 制御インターフェース
360 オーディオコーデック
362 外部インターフェース
364 メモリ
366 通信インターフェース
368 トランシーバ
370 GPS受信機モジュール
372 拡張インターフェース
374 拡張メモリ
382 スマートフォン
480 セルラー電話

Claims (19)

  1. ユーザの最初の発話の変換に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    前記フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の変換を生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のために前記後続の発話の前記変換を提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられた特定のコンテキストが、前記ユーザの前記後続の発話に関連付けられた特定のコンテキストと一致すると判定するステップを含む、
    方法
  2. ユーザの最初の発話の変換に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    前記フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の変換を生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のために前記後続の発話の前記変換を提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションが、前記ユーザの前記後続の発話に関連付けられたユーザロケーションと一致すると判定するステップを含む、
    方法。
  3. ユーザの最初の発話に対応する最初の音声データを受信するステップと、
    前記最初の発話の変換を生成するために、最初の言語モデルを使用して前記音声データを処理するステップと
    をさらに含む、請求項1または2に記載の方法。
  4. 新しいまたは修正された言語モデルを取得するステップが、
    1つまたは複数のフォローアップクエリマッピングを含むデータベースにアクセスするステップであって、各フォローアップクエリマッピングが、(i)前記ユーザの過去の発話の変換と、(ii)前記ユーザに関連付けられた過去の検索結果と、(iii)前記ユーザに関連付けられた前記過去の検索結果に関連付けられたデータとについてのフォローアップクエリ候補のリストを指定する、ステップと、
    前記ユーザの前記最初の発話の前記変換の1つまたは複数の用語が、前記1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップと、
    前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記ユーザの前記最初の発話の前記変換の前記1つまたは複数の用語に対応する前記フォローアップクエリ候補のリストに関連付けられた前記それぞれの確率を増加させるように、前記最初の言語モデルを調整するステップと
    を含む、請求項1または2に記載の方法。
  5. 前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記フォローアップクエリ候補のリストが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションに少なくとも基づく、請求項4に記載の方法。
  6. 前記ユーザの前記最初の発話の前記変換の1つまたは複数の用語が、前記1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップが、前記ユーザの前記最初の発話に関連付けられた特定のコンテキストが、前記ユーザの過去の発話の特定の変換に関連付けられたコンテキストと一致すると判定するステップを含む、請求項4に記載の方法。
  7. 前記1つまたは複数のフォローアップクエリマッピングの各々が、(i)前記ユーザの過去の発話の変換、(ii)前記ユーザに関連付けられた過去の検索結果、および(iii)前記ユーザに関連付けられた前記過去の検索結果に関連付けられたデータについての1つまたは複数のフォローアップ用語をさらに指定する、請求項4に記載の方法。
  8. ユーザの最初の発話の変換に関連付けられた1つまたは複数の検索結果に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    1つまたは複数の前記フォローアップクエリに関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果を生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のための前記後続の発話の前記変換に関連付けられた前記1つまたは複数の検索結果を提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられた特定のコンテキストが、前記ユーザの前記後続の発話に関連付けられた特定のコンテキストと一致すると判定するステップを含む、
    方法。
  9. ユーザの最初の発話の変換に関連付けられた1つまたは複数の検索結果に事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    1つまたは複数の前記フォローアップクエリに関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果を生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のための前記後続の発話の前記変換に関連付けられた前記1つまたは複数の検索結果を提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションが、前記ユーザの前記後続の発話に関連付けられたユーザロケーションと一致すると判定するステップを含む、
    方法。
  10. ユーザの最初の発話に対応する最初の音声データを受信するステップと、
    前記ユーザの最初の発話の変換に関連付けられた1つまたは複数の検索結果を生成するために、最初の言語モデルを使用して前記音声データを処理するステップと
    をさらに含む、請求項8または9に記載の方法。
  11. 新しいまたは修正された言語モデルを取得するステップが、
    1つまたは複数のフォローアップクエリマッピングを含むデータベースにアクセスするステップであって、各フォローアップクエリマッピングが、(i)前記ユーザの過去の発話の変換と、(ii)前記ユーザに関連付けられた過去の検索結果と、(iii)前記ユーザに関連付けられた前記過去の検索結果に関連付けられたデータとについてのフォローアップクエリ候補のリストを指定する、ステップと、
    前記ユーザの前記最初の発話の前記変換の1つまたは複数の用語が、前記1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップと、
    前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記ユーザの前記最初の発話の前記変換の前記1つまたは複数の用語に対応する前記フォローアップクエリ候補のリストに関連付けられた前記それぞれの確率を増加させるように、前記最初の言語モデルを調整するステップと
    を含む、請求項8または9に記載の方法。
  12. 前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記フォローアップクエリ候補のリストが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションに少なくとも基づく、請求項11に記載の方法。
  13. 前記ユーザの前記最初の発話の前記変換の1つまたは複数の用語が、前記1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップが、前記ユーザの前記最初の発話に関連付けられた特定のコンテキストが、前記ユーザの過去の発話の特定の変換に関連付けられたコンテキストと一致すると判定するステップを含む、請求項11に記載の方法。
  14. 前記1つまたは複数のフォローアップクエリマッピングの各々が、(i)前記ユーザの過去
    の発話の変換、(ii)前記ユーザに関連付けられた過去の検索結果、および(iii)前記ユーザに関連付けられた前記過去の検索結果に関連付けられたデータについての1つまたは複数のフォローアップ用語をさらに指定する、請求項11に記載の方法。
  15. ーザの最初の発話の変換に関連付けられた検索結果のうちの1つまたは複数に関連付けられたデータに事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    前記フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果に関連付けられたデータを生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のための前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果に関連付けられた前記データを提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられた特定のコンテキストが、前記ユーザの前記後続の発話に関連付けられた特定のコンテキストと一致すると判定するステップを含む、
    方法
  16. ユーザの最初の発話の変換に関連付けられた検索結果のうちの1つまたは複数に関連付けられたデータに事前に関連付けられた1つまたは複数のフォローアップクエリを識別するステップと、
    前記フォローアップクエリのうちの1つまたは複数に関連付けられたそれぞれの確率が最初の言語モデルに対して増加している、新しいまたは修正された言語モデルを取得するステップと、
    前記ユーザの後続の発話に対応する後続の音声データを受信するステップと、
    前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果に関連付けられたデータを生成するために、前記新しいまたは修正された言語モデルを使用して前記後続の音声データを処理するステップと、
    前記ユーザへの出力のための前記後続の発話の前記変換に関連付けられた1つまたは複数の検索結果に関連付けられた前記データを提供するステップと
    を含む、コンピュータ実装方法であって、
    前記新しいまたは修正された言語モデルを使用して前記音声データを処理するステップが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションが、前記ユーザの前記後続の発話に関連付けられたユーザロケーションと一致すると判定するステップを含む、
    方法。
  17. ユーザの最初の発話に対応する最初の音声データを受信するステップと、
    前記ユーザの最初の発話の変換に関連付けられた1つまたは複数の検索結果を生成するために、最初の言語モデルを使用して前記音声データを処理するステップと
    をさらに含む、請求項8または9に記載の方法。
  18. 新しいまたは修正された言語モデルを取得するステップが、
    1つまたは複数のフォローアップクエリマッピングを含むデータベースにアクセスするステップであって、各フォローアップクエリマッピングが、(i)前記ユーザの過去の発話の変換と、(ii)前記ユーザに関連付けられた過去の検索結果と、(iii)前記ユーザに関連付けられた前記過去の検索結果に関連付けられたデータとについてのフォローアップクエリ候補のリストを指定する、ステップと、
    前記ユーザの前記最初の発話の前記変換の1つまたは複数の用語が、前記1つまたは複数のフォローアップクエリマッピング内に含まれると判定するステップと、
    前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記ユーザの前記最初の発話の前記変換の前記1つまたは複数の用語に対応する前記フォローアップクエリ候補のリストに関連付けられた前記それぞれの確率を増加させるように、前記最初の言語モデルを調整するステップと
    を含む、請求項8または9に記載の方法。
  19. 前記1つまたは複数のフォローアップクエリマッピング内に含まれる前記フォローアップクエリ候補のリストが、前記ユーザの前記最初の発話に関連付けられたユーザロケーションに少なくとも基づく、請求項11に記載の方法。
JP2019500487A 2016-07-08 2017-06-23 フォローアップ音声クエリ予測 Active JP6761100B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/205,505 2016-07-08
US15/205,505 US10026398B2 (en) 2016-07-08 2016-07-08 Follow-up voice query prediction
PCT/US2017/038917 WO2018009351A1 (en) 2016-07-08 2017-06-23 Follow-up voice query prediction

Publications (2)

Publication Number Publication Date
JP2019527379A JP2019527379A (ja) 2019-09-26
JP6761100B2 true JP6761100B2 (ja) 2020-09-23

Family

ID=60911024

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019500487A Active JP6761100B2 (ja) 2016-07-08 2017-06-23 フォローアップ音声クエリ予測

Country Status (6)

Country Link
US (1) US10026398B2 (ja)
EP (1) EP3469489B1 (ja)
JP (1) JP6761100B2 (ja)
KR (1) KR102201937B1 (ja)
CN (1) CN109844740B (ja)
WO (1) WO2018009351A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10403273B2 (en) * 2016-09-09 2019-09-03 Oath Inc. Method and system for facilitating a guided dialog between a user and a conversational agent
KR20180084392A (ko) * 2017-01-17 2018-07-25 삼성전자주식회사 전자 장치 및 그의 동작 방법
US10535342B2 (en) * 2017-04-10 2020-01-14 Microsoft Technology Licensing, Llc Automatic learning of language models
US10747817B2 (en) * 2017-09-29 2020-08-18 Rovi Guides, Inc. Recommending language models for search queries based on user profile
US10769210B2 (en) 2017-09-29 2020-09-08 Rovi Guides, Inc. Recommending results in multiple languages for search queries based on user profile
JP7034027B2 (ja) * 2018-07-26 2022-03-11 ヤフー株式会社 認識装置、認識方法及び認識プログラム
US11404058B2 (en) 2018-10-31 2022-08-02 Walmart Apollo, Llc System and method for handling multi-turn conversations and context management for voice enabled ecommerce transactions
US11195524B2 (en) * 2018-10-31 2021-12-07 Walmart Apollo, Llc System and method for contextual search query revision
US11183176B2 (en) 2018-10-31 2021-11-23 Walmart Apollo, Llc Systems and methods for server-less voice applications
US11238850B2 (en) 2018-10-31 2022-02-01 Walmart Apollo, Llc Systems and methods for e-commerce API orchestration using natural language interfaces
US11295732B2 (en) * 2019-08-01 2022-04-05 Soundhound, Inc. Dynamic interpolation for hybrid language models
US11610588B1 (en) * 2019-10-28 2023-03-21 Meta Platforms, Inc. Generating contextually relevant text transcripts of voice recordings within a message thread
US11373657B2 (en) * 2020-05-01 2022-06-28 Raytheon Applied Signal Technology, Inc. System and method for speaker identification in audio data
US11620982B2 (en) * 2020-06-01 2023-04-04 Rovi Guides, Inc. Systems and methods for improving content discovery in response to a voice query using a recognition rate which depends on detected trigger terms
US11315545B2 (en) * 2020-07-09 2022-04-26 Raytheon Applied Signal Technology, Inc. System and method for language identification in audio data
US12020697B2 (en) 2020-07-15 2024-06-25 Raytheon Applied Signal Technology, Inc. Systems and methods for fast filtering of audio keyword search
US11935519B2 (en) * 2020-10-15 2024-03-19 Google Llc Preserving speech hypotheses across computing devices and/or dialog sessions
WO2023113784A1 (en) * 2021-12-14 2023-06-22 Google Llc Lattice speech corrections

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050131695A1 (en) * 1999-02-04 2005-06-16 Mark Lucente System and method for bilateral communication between a user and a system
US7725307B2 (en) 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US7308404B2 (en) * 2001-09-28 2007-12-11 Sri International Method and apparatus for speech recognition using a dynamic vocabulary
US7542907B2 (en) * 2003-12-19 2009-06-02 International Business Machines Corporation Biasing a speech recognizer based on prompt context
KR20060070605A (ko) 2004-12-21 2006-06-26 한국전자통신연구원 영역별 언어모델과 대화모델을 이용한 지능형 로봇 음성인식 서비스 장치 및 방법
US7620549B2 (en) 2005-08-10 2009-11-17 Voicebox Technologies, Inc. System and method of supporting adaptive misrecognition in conversational speech
US20080153465A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Voice search-enabled mobile device
US20080154870A1 (en) 2006-12-26 2008-06-26 Voice Signal Technologies, Inc. Collection and use of side information in voice-mediated mobile search
US20080221884A1 (en) 2007-03-07 2008-09-11 Cerra Joseph P Mobile environment speech processing facility
US8255224B2 (en) * 2008-03-07 2012-08-28 Google Inc. Voice recognition grammar selection based on context
US9978365B2 (en) * 2008-10-31 2018-05-22 Nokia Technologies Oy Method and system for providing a voice interface
US9892730B2 (en) * 2009-07-01 2018-02-13 Comcast Interactive Media, Llc Generating topic-specific language models
US20110077492A1 (en) 2009-09-29 2011-03-31 Allegiance DMS, LLC Systems for Bidirectional Communication With A Patient Via A Medical Measurement Device
US8990085B2 (en) * 2009-09-30 2015-03-24 At&T Intellectual Property I, L.P. System and method for handling repeat queries due to wrong ASR output by modifying an acoustic, a language and a semantic model
US9043205B2 (en) * 2012-06-21 2015-05-26 Google Inc. Dynamic language model
CN103871403B (zh) 2012-12-13 2017-04-12 北京百度网讯科技有限公司 建立语音识别模型的方法、语音识别方法及对应装置
US9466294B1 (en) * 2013-05-21 2016-10-11 Amazon Technologies, Inc. Dialog management system
US9484025B2 (en) * 2013-10-15 2016-11-01 Toyota Jidosha Kabushiki Kaisha Configuring dynamic custom vocabulary for personalized speech recognition
US9196244B2 (en) 2014-01-08 2015-11-24 Nuance Communications, Inc. Methodology for enhanced voice search experience
US20150370787A1 (en) * 2014-06-18 2015-12-24 Microsoft Corporation Session Context Modeling For Conversational Understanding Systems
US9502032B2 (en) 2014-10-08 2016-11-22 Google Inc. Dynamically biasing language models
US10614799B2 (en) * 2014-11-26 2020-04-07 Voicebox Technologies Corporation System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance

Also Published As

Publication number Publication date
KR20190021338A (ko) 2019-03-05
CN109844740A (zh) 2019-06-04
WO2018009351A1 (en) 2018-01-11
EP3469489B1 (en) 2022-11-16
US20180012594A1 (en) 2018-01-11
EP3469489A1 (en) 2019-04-17
CN109844740B (zh) 2023-06-20
US10026398B2 (en) 2018-07-17
EP3469489A4 (en) 2019-12-18
KR102201937B1 (ko) 2021-01-13
JP2019527379A (ja) 2019-09-26

Similar Documents

Publication Publication Date Title
JP6761100B2 (ja) フォローアップ音声クエリ予測
EP3469585B1 (en) Scalable dynamic class language modeling
KR102312218B1 (ko) 문맥상의 핫워드들
US11282513B2 (en) Negative n-gram biasing
US9576578B1 (en) Contextual improvement of voice query recognition
JP7163424B2 (ja) 自動化された発話発音帰属化
EP3032532A1 (en) Disambiguating heteronyms in speech synthesis
CN110494841B (zh) 语境语言翻译
US10152298B1 (en) Confidence estimation based on frequency
CN112334979B (zh) 通过计算设备检测持续对话
US11605387B1 (en) Assistant determination in a skill
CN113168830B (zh) 言语处理
US20190164541A1 (en) Real-time utterance verification system and method thereof

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190221

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200217

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200903

R150 Certificate of patent or registration of utility model

Ref document number: 6761100

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