(57)【要約】      （修正有）【課題】音声認識の精度および速度、変換文法の正確さおよびリアルタイム変換の遅延に対する技術的な改良並びに自然言語文法の拡張を提供する。【解決手段】音声認識システムは、正方向および反方向統計言語モデル（ＳＬＭ）の両方に従い、確率の低い位置におけるトークンに対し挿入、削除、置換などの編集を行い、書換えトークンシーケンスを生成する。ＳＬＭに従い、トークンの確率に依存するスコアを有する複数の書換えトークンシーケンスを生成する。自然言語文法に従い、書換えトークンシーケンスを構文解析し、さらに重み付きスコアを生成する。ツリー型検索アルゴリズムを用いて、トークンシーケンスを反復して書換え、最良の書換えを見出す。入力トークンシーケンスと書換えトークンシーケンスとのマッピングをキャッシュに格納し、キャッシュに書換えが存在する場合、キャッシュされた書換えを使用し、最良の書換えを検索することを回避する。【選択図】図４
2019070799.tif 000002
【特許請求の範囲】
【請求項１】
クエリ結果をユーザに提供する際に、ユーザクエリの入力トークンシーケンスを書き換えるためのコンピュータ実装方法であって、
コンピュータネットワークを介して、遠隔クライアント装置上で動作するアプリケーションから、システムユーザからのユーザクエリを受信するステップを含み、前記ユーザクエリは、前記入力トークンシーケンスを含み、
正方向統計言語モデルに従って、前記入力トークンシーケンス内の複数のトークンの正方向確率を決定するステップと、
反方向統計言語モデルに従って、前記入力トークンシーケンス内の複数のトークンの反方向確率を決定するステップと、
低い反方向確率を有する第１のトークンの後方且つ低い正方向確率を有する隣接の第２のトークンの前方の位置に新たなトークンを挿入することによって、新たな書換えトークンシーケンスを作成するステップと、
前記新たな書換えトークンシーケンスを処理することによって、結果を生成するステップと、
前記処理による前記結果を示す応答を前記システムユーザに提供するステップとを含む、方法。
【請求項２】
入力トークンシーケンスを書き換えるためのコンピュータ実装方法であって、
正方向統計言語モデルに従って、前記入力トークンシーケンス内の複数のトークンの正方向確率を決定するステップと、
反方向統計言語モデルに従って、前記入力トークンシーケンス内の複数のトークンの反方向確率を決定するステップと、
前記複数のトークンの各トークンの確率スコアを前記正方向確率と前記反方向確率との組み合わせとして計算するステップと、
新たなトークンを用いて、最も低いスコアを有するトークンを置換することによって、新たな書換えトークンシーケンスを作成するステップとを含む、方法。
【請求項３】
入力トークンシーケンスを書き換えるためのコンピュータ実装方法であって、
正方向統計言語モデル（ＳＬＭ）に従って、前記入力トークンシーケンス内の複数のトークンの正方向確率を決定するステップと、
反方向統計言語モデルに従って、前記入力トークンシーケンス内の複数のトークンの反方向確率を決定するステップと、
新たなトークンを用いて、第１の閾値未満の正方向確率且つ第２の閾値未満の反方向確率を有する疑わしいトークンを置換することによって、新たな書換えトークンシーケンスを生成するステップとを含む、方法。
【請求項４】
確率を決定する前に、タグを用いて、前記入力トークンシーケンス内の少なくとも１つのトークンを置換するステップをさらに含む、請求項３に記載の方法。
【請求項５】
前記正方向ＳＬＭに従って得られた最も高い確率を有するトークンのリストおよび前記反方向ＳＬＭに従って得られた最も高い確率を有するトークンのリストの両方に存在するトークンを前記新たなトークンとして選択するステップをさらに含む、請求項３または４に記載の方法。
【請求項６】
構文規則に従って、前記トークンシーケンスの統語解析を実行するステップと、
前記構文規則に従って、前記選択を隣接トークンの文脈において構文上合法的なトークンのみに制限するステップとをさらに含む、請求項５に記載の方法。
【請求項７】
前記新たな書換えトークンシーケンスに対して、少なくとも前記正方向ＳＬＭにおける前記新たなトークンの確率および前記反方向ＳＬＭにおける前記新たなトークンの前記確率に依存する書換えスコアを計算するステップをさらに含む、請求項５または６に記載の方法。
【請求項８】
多種多様なトピックに関連する表現から構築された多様コーパスＳＬＭにおける前記新たなトークンの前記確率に基づいて、前記書換えスコアをスケーリングする、請求項７に記載の方法。
【請求項９】
代替の新たなトークンを用いて、前記疑わしいトークンを置換することによって、代替の書換えトークンシーケンスを作成するステップと、
前記代替の書換えトークンシーケンスの代替スコアを、前記正方向ＳＬＭにおける前記代替の新たなトークンの確率および前記反方向ＳＬＭにおける前記代替の新たなトークンの確率の両方の組み合わせとして計算するステップと、
前記新たな書換えトークンシーケンスと前記代替の書換えトークンシーケンスとのうち、より高いスコアを有するいずれか一方を選択するステップとをさらに含む、請求項５〜８のいずれか１項に記載の方法。
【請求項１０】
最近の連続音声から仮定されたトークンのトークンバッファを維持するステップをさらに含み、
前記入力トークンシーケンスは、前記トークンバッファ内のトークンからなるシーケンスである、請求項５〜９のいずれか１項に記載の方法。
【請求項１１】
最近のトークンシーケンスに存在するトークンの履歴キャッシュを記憶するステップと、
正方向確率が最も高いトークンのリストおよび反方向確率が最も高いトークンのリストの各々から、前記疑わしいトークンを置換するための前記新たなトークンを選択するステップと、
前記履歴キャッシュに存在する少なくとも１つのトークンの前記確率スコアを増加させるステップとをさらに含む、請求項３〜１０のいずれか１項に記載の方法。
【請求項１２】
自然言語パーサを用いて、文法に従って前記新たな書換えトークンシーケンスを構文解析することによって、解析スコアを生成するステップをさらに含む、請求項３〜１１のいずれか１項に記載の方法。
【請求項１３】
前記疑わしいトークンとは異なる代替の疑わしいトークンを置換することによって、代替の書換えトークンシーケンスを作成するステップと、
自然言語パーサを用いて、前記文法に従って前記代替の書換えトークンシーケンスを構文解析することによって、代替の解析スコアを生成するステップと、
前記新たな書換えトークンシーケンスと前記代替の書換えトークンシーケンスとのうち、より高い解析スコアを有するいずれか一方を選択するステップとをさらに含む、請求項１２に記載の方法。
【請求項１４】
代替の新たなトークンを用いて、前記疑わしいトークンを置換することによって、代替の書換えトークンシーケンスを作成するステップと、
自然言語パーサを用いて、前記文法に従って前記代替の書換えトークンシーケンスを構文解析することによって、代替の解析スコアを生成するステップと、
前記新たな書換えトークンシーケンスと前記代替の書換えトークンシーケンスとのうち、より高い解析スコアを有するいずれか一方を選択するステップとをさらに含む、請求項１２または１３に記載の方法。
【請求項１５】
ツリー型アルゴリズムを用いて、書換えを反復的に行い、各書換えのスコアを計算することによって、書換えセットを生成し、前記書換えセットから最高のスコアを有する書換えを選択するステップをさらに含む、請求項１２〜１４のいずれか１項に記載の方法。
【請求項１６】
前記入力トークンシーケンスをキャッシュに格納するステップと、
前記入力トークンシーケンスに関連して、前記新たな書換えトークンシーケンスを前記キャッシュに格納するステップと、
前記キャッシュを検索することによって、前記入力トークンシーケンスを探し出すステップとをさらに含む、請求項３〜１５のいずれか１項に記載の方法。
【請求項１７】
前記キャッシュを分析することによって、前記新たな書換えトークンシーケンスに対して、前記新たな書換えトークンシーケンスに書換えられた最も頻繁な入力トークンシーケンスを特定するステップをさらに含む、請求項１６に記載の方法。
【請求項１８】
前記新たな書換えトークンシーケンスに書換えられた前記最も頻繁な入力トークンシーケンスを含むように、文法規則を作成するステップをさらに含む、請求項１７に記載の方法。
【請求項１９】
前記新たな書換えトークンシーケンスに書換えられた前記最も頻繁な入力トークンシーケンスを含むように、文法規則を改変するステップをさらに含む、請求項１７または１８に記載の方法。
【請求項２０】
コンピュータプロセッサによって実行されるコンピュータプログラムであって、前記コンピュータプロセッサによって実行されると、前記コンピュータプロセッサに、請求項１〜１９のいずれか１項に記載の方法を実行させる、コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、音声認識および自然言語理解の分野に属する。
【背景技術】
【０００２】
背景
自動音声認識（ＡＳＲ）には、エラーが発生しやすい。
【０００３】
ＡＳＲは、音声信号に対してスペクトル分析を行い、特徴を抽出する。ＡＳＲは、入力音声の音響分析を考慮して、抽出された特徴に対して、複数の音素シーケンスを仮定し、各音素シーケンスは、正しいという可能性を表すスコアを有する。その後、ＡＳＲは、各仮定音素シーケンスのスコアを保有しながら、辞書に従って、仮定音素シーケンスを仮定トークンシーケンスにトークン化する。トークンは、英単語などのアルファベット文字、中国語文字などの象形文字、または他の種類の筆記システムの識別可能な要素単位であってもよい。例えば、英語話者（speaker）がフレーズ「I scream」および「ice cream」をほぼ同様に発音するため、トークン化が曖昧になる。このような曖昧さに対処するために、ＡＳＲシステムは、話し言葉に共通する隣接ワードトークンの既知頻度の統計を用いて、複数の仮定トークンシーケンスのうち、正しいものを仮定する。例えば、「eat ice cream」のように、単語「eat」の後ろに単語「ice」が続くことはよくあるが、単語「eat」の後ろに単語「I」が続くことは殆どない。したがって、仮定単語シーケンス「I scream」および「ice cream」が単語「eat」の後ろに続く場合、仮定単語シーケンス「ice cream」のスコアが増加するが、仮定単語シーケンス「I scream」のスコアが減少する。
【０００４】
【数１】
2019070799.tif 000003
【発明の概要】
【発明が解決しようとする課題】
【０００５】
従来の音声認識および自然言語理解システムは、比較的不正確で且つ遅いため、文法的に間違った変換を生成し且つリアルタイムの応用に遅延を加える。さらに、従来の音声認識および自然言語理解システムの文法規則の作成および改善が複雑である。また、文法は、通常、ユーザの全ての略式な表現の仕方および近似的な表現の仕方を取り込まないため、十分な適用範囲を有しない。
【課題を解決するための手段】
【０００６】
発明の概要
本発明は、正方向および反方向ＳＬＭの組み合わせを用いて音声認識から得られたトークンシーケンスを書き換えるためのシステムをプログラムするための方法、システム、およびソフトウェアに関し、トークンシーケンス内のトークンの確率の組合せに従って、トークンシーケンスのスコアを計算することを含むことができる。
【０００７】
本発明は、音声認識の精度および速度、変換文法の正確さおよびリアルタイム変換の遅延に対する技術的な改良並びに自然言語文法の拡張を提供する。
【０００８】
書換えは、特定のトークンの削除、挿入または置換によるトークンシーケンスの編集を含む。トークンシーケンスにおいて、正方向確率および反方向確率の両方が低いトークンは、削除される対象であるまたは新たなトークンによって置換される対象である。一対のトークンが隣接しており、反方向において前方のトークンが低いスコアを有し且つ正方向において後方のトークンが低いスコアを有する場合、一方のトークンが削除される対象であるまたは両者の間に新たなトークンが挿入される。
【０００９】
挿入または置換を行うための新たなトークンを選択することは、正方向ＳＬＭまたは反方向ＳＬＭのいずれか一方をチェックすることによって確率が最も高いトークンのリストを作成すること、または両方のＳＬＭをチェックすることによって両方のＳＬＭにおいて確率の高いトークンを見出すことを含む。両方のＳＬＭの確率に基づいて新たなトークンを選択する実施形態において、最良の選択は、いずれか一方のリストにおいて最も高い確率を有するトークンではなく、両方のリストにおいてかなり高い確率を有するものである場合が多い。
【００１０】
削除、挿入、または置換の操作は、新たな組み合わせスコアを有する新たなトークンシーケンスを作成する。いくつかの実施形態は、複数の可能な書換えトークンシーケンスを生成し、各トークンシーケンスのスコアを計算し、最良スコアを有するトークンシーケンスを選択して出力する。いくつかの実施形態は、トークンシーケンスに対して複数の連続書換えをに行う。
【００１１】
いくつかの実施形態は、トークンシーケンスを入力として自然言語パーサに投入し、自然言語パーサは、一連の文法規則に従って、トークンシーケンスの解析スコアを決定する。このような実施形態において、最良のトークンシーケンスの最終的な選択（元のトークンシーケンスまたは任意の特定の書換え）は、文法解析スコアによって決定され、または文法解析スコアとトークンシーケンス確率スコアとの組み合わせによって決定される。一部の文法パーサは、単に、文法に従ってトークンシーケンスが有効であるかまたは無効であるかを示す出力を生成する。確率文法のパーサは、解析結果に確率スコアを割り当てる。意味パーサは、意味文法を使用する。意味文法において、解析結果のスコアは、解析結果の意味によって影響される。
【００１２】
いくつかの実施形態は、例えば、品詞にタグを付けることおよび発話言語において合法な文法パターンを適用することによって、トークンシーケンスに対して部分的な統語解析を実行する。
【００１３】
いくつかの実施形態は、１つ以上のＳＬＭ、構文チェック、および１つ以上の人間言語の全てに一般的に使用される表現を含む多様コーパスに対して共通である文法規則を使用する。いくつかの実施形態は、ドメイン固有ＳＬＭ、構文チェックおよび文法を使用することによって、特定の知識分野に応じて、トークンシーケンスをより正確に書き換えることができる。
【００１４】
いくつかの実施形態は、実体のタグ付けを使用することによって、共通クラスを表す特定のタグ付きトークンで既知の特定のトークンを置換する。一例として、一般の都市を表すタグを用いて、都市の名前を表す各トークンを置換する。これによって、あるパターンを満たすトークンシーケンスを数の面で改善し、その結果、統計確率をより精確にすることができる。
【００１５】
いくつかの実施形態は、リアルタイム音声の遅延バッファ内で、リアルタイムＡＳＲからのトークンシーケンスに対して書換えを行う。いくつかの実施形態は、ＳＬＭ確率のみを用いて、より短い遅延で書換えを行う。いくつかの実施形態は、より大きな遅延バッファを用いて、完全な表現フレーズの解析を試みる。
【００１６】
いくつかの実施形態は、最近使用されたトークンの履歴キャッシュを記憶し、履歴キャッシュに存在するトークンの確率ベーススコアを増加させる。このことは、話題に関連する単語が短期間の会話に複数に話される傾向があるという事実を利用して、精度を改善することができる。
【００１７】
いくつかの実施形態は、元の入力トークンシーケンスおよび選択された１つの書換えまたは上位のいくつかの書換えの両方をキャッシュに記憶する。これにより、多くの書換えを新たに検索する必要がなく、キャッシュ内の書換えを検索することによって、将来の書換え要求を完了することができる。いくつかの実施形態は、書換えトークンシーケンスおよび当該書換えをもたらした１つ以上の入力トークンシーケンスを記憶する。これにより、有用な情報、特に出現頻度によってソートされた有用な情報を文法開発者に提供することができ、ドメイン固有文法を作成して改善することができる。
【００１８】
双方向確率的な書換えを使用しない音声認識システムは、比較的高度且つ複雑な文法を必要とするが、双方向確率的な書換えを使用することによって、音声認識システムは、近似表現を文法上正しい表現にマッピングすることによって、比較的簡単な文法の適用範囲を拡張することができる。その結果、それ程優れていない文法開発者でも、双方向確率的な書換えのためのプログラムルールをツールとして採用する音声認識システムに頼り、アプリケーションの要件を満たす特製のドメイン文法を作成することができる。これによって、音声認識システムおよび自然言語理解システムの両方がより高性能でより正確になるという効果をもたらす。
【図面の簡単な説明】
【００１９】
【図１】一実施形態に従って、音声対応自然言語理解および処理システムを示すフロー図である。
【図２】典型的な英語音声認識エラーを示す図である。
【図３】典型的な中国語音声認識エラーを示す図である。
【図４】一実施形態に従って、書換えを示すフロー図である。
【図５Ａ】英語表現を含む簡単なコーパスの例示を示す図である。
【図５Ｂ】図５Ａのコーパスに従って構築された正方向ＳＬＭを示す図である。
【図５Ｃ】図５Ａのコーパスに従って構築された反方向ＳＬＭを示す図である。
【図６Ａ】中国語表現を含む簡単なコーパスの例示を示す図である。
【図６Ｂ】図６Ａのコーパスに従って構築された正方向ＳＬＭを示す図である。
【図６Ｃ】図６Ａのコーパスに従って構築された反方向ＳＬＭを示す図である。
【図７】英語の簡単な自然言語ドメイン文法の例示を示す図である。
【図８】中国語の簡単な自然言語ドメイン文法の例示を示す図である。
【図９】図７のドメイン文法によって解析された表現を含む多様コーパスに従って構築された正方向ＳＬＭを示す図である。
【図１０】図７のドメイン文法によって解析された表現を含む多様コーパスに従って構築された反方向ＳＬＭを示す図である。
【図１１】一実施形態に従って、タグでトークンを置換した後の書換えを示すフロー図である。
【図１２Ａ】正しく認識された英語表現の一例を示す図である。
【図１２Ｂ】一実施形態に従って、不正確なトークンエラーによって、置換位置におけるトークンの正方向確率および反方向確率が低くなる、図１２Ａの表現の変形例を示す図である。
【図１２Ｃ】一実施形態に従って、余分なトークンエラーによって、挿入位置におけるトークンの正方向確率および反方向確率が低くなる、図１２Ａの表現の変形例を示す図である。
【図１２Ｄ】一実施形態に従って、トークン欠落エラーによって、前方のトークンの反方向確率が低くなり、直後のトークンの正方向確率も低くなる、図１２Ａの表現の変形例を示す図である。
【図１２Ｅ】一実施形態に従って、トークン重複エラーによって、前方のトークンの反方向確率が低くなり、直後のトークンの正方向確率も低くなる、図１２Ａの表現の変形例を示す図である。
【図１３Ａ】正しく認識された中国語表現の一例を示す図である。
【図１３Ｂ】一実施形態に従って、不正確なトークンエラーによって、置換位置におけるトークンの正方向確率および反方向確率が低くなる、図１３Ａの表現の変形例を示す図である。
【図１３Ｃ】一実施形態に従って、余分なトークンエラーによって、挿入位置におけるトークンの正方向確率および反方向確率が低くなる、図１３Ａの表現の変形例を示す図である。
【図１３Ｄ】一実施形態に従って、トークンの欠落というエラーによって、前方のトークンの反方向確率が低くなり、直後のトークンの正方向確率も低くなる、図１３Ａの表現の変形例を示す図である。
【図１３Ｅ】一実施形態に従って、トークン重複エラーによって、前方のトークンの反方向確率が低くなり、直後のトークンの正方向確率も低くなる、図１３Ａの表現の変形例を示す図である。
【図１４】一実施形態に従って、正方向ＳＬＭおよび反方向ＳＬＭ内の最も高い確率のトークンセットを用いて行った書換えを示すフロー図である。
【図１５Ａ】一実施形態に従って、英語表現における置換エラーを示す図である。
【図１５Ｂ】一実施形態に従って、2-gram正方向ＳＬＭを用いて得られた、図１５Ａのエラーを置換するための確率が最も高いトークンセットを示す図である。
【図１５Ｃ】一実施形態に従って、2-gram反方向ＳＬＭを用いて得られた、図１５Ａのエラーを置換するための、各方向について最も高い確率に近い共通トークンを有する確率が最も高いトークンセットを示す図である。
【図１６Ａ】一実施形態に従って、中国語表現における置換エラーを示す図である。
【図１６Ｂ】一実施形態に従って、2-gram正方向ＳＬＭを用いて得られた、図１６Ａのエラーを置換するための確率が最も高いトークンセットを示す図である。
【図１６Ｃ】一実施形態に従って、2-gram反方向ＳＬＭを用いて得られた、図１６Ａのエラーを置換するための、各方向について最も高い確率に近い共通トークンを有する確率が最も高いトークンセットを示す図である。
【図１７Ａ】一実施形態に従って、英語表現における置換エラーを示す図である。
【図１７Ｂ】一実施形態に従って、3-gram正方向ＳＬＭを用いて得られた、図１７Ａのエラーを置換するための確率が最も高いトークンセットを示す図である。
【図１７Ｃ】一実施形態に従って、3-gram反方向ＳＬＭを用いて得られた、図１７Ａのエラーを置換するための、各方向について最も高い確率に近い共通トークンを有する確率が最も高いトークンセットを示す図である。
【図１７Ｄ】一実施形態に従って、高い確率を有する各ＳＬＭの各共通トークンを用いて誤ったトークンを置換するための書換えスコアの計算を示す図である。
【図１８Ａ】一実施形態に従って、中国語表現における置換エラーを示す図である。
【図１８Ｂ】一実施形態に従って、3-gram正方向ＳＬＭを用いて得られた、図１８Ａのエラーを置換するための確率が最も高いトークンセットを示す図である。
【図１８Ｃ】一実施形態に従って、3-gram反方向ＳＬＭを用いて得られた、図１８Ａのエラーを置換するための、各方向について最も高い確率に近い共通トークンを有する確率が最も高いトークンセットを示す図である。
【図１８Ｄ】一実施形態に従って、各ＳＬＭの高い確率を有する各共通トークンを用いて誤ったトークンを置換するための書換えスコアの計算を示す図である。
【図１９】一実施形態に従って、正方向ＳＬＭおよび反方向ＳＬＭの最も高い確率のトークンセットを用いて、新たな書換えトークンシーケンスおよび対応するスコアを生成するための書換えを示すフロー図である。
【図２０】一実施形態に従って、正方向ＳＬＭおよび反方向ＳＬＭの最も高い確率のトークンセットを用いて、多様コーパスＳＬＭに従って、新たな書換えトークンシーケンスおよび対応するスコアを生成するための書換えを示すフロー図である。
【図２１】一実施形態に従って、正方向ＳＬＭおよび反方向ＳＬＭの最も高い確率のトークンセットを用いて、複数の新たな書換えトークンシーケンスおよび対応するスコアを生成し、最も高いスコアを有する書換えトークンシーケンスを選択するための書換えを示すフロー図である。
【図２２】一実施形態に従って、統語解析を用いて、正方向ＳＬＭおよび反方向ＳＬＭのトークンセットから確率が最も高いトークンの選択を導くための書換えを示すフロー図である。
【図２３】一実施形態に従って、書換えの後に、ドメイン文法を用いて行った自然言語解析を示すフロー図である。
【図２４】一実施形態に従って、異なる英語トークンの挿入に対する文法解析スコアの一例を示す図である。
【図２５】一実施形態に従って、異なる中国語トークンの挿入に対する文法解析スコアの一例を示す図である。
【図２６】一実施形態に従って、複数の新たな書換えトークンシーケンスおよび対応するスコアを生成するための書換えを行った後に、ドメイン文法を用いて自然言語解析を行うことによって、スコアが最も高い書換えられたシーケンスを選択することを示すフロー図である。
【図２７】一実施形態に従って、書換えの後に、トークン履歴をキャッシュすることによって、書換えを自動化することを示すフロー図である。
【図２８】一実施形態に従って、入力トークンシーケンスを書換えトークンシーケンスに変換するためのトークン履歴キャッシュの内容を示す図である。
【図２９】一実施形態に従って、書換えトークンシーケンスを入力トークンシーケンスに変換するためのトークン履歴キャッシュの内容を示す図である。
【図３０】一実施形態に従って、ユーザとサーバベースの音声対応自然言語理解および処理システムとの対話を示す図である。
【図３１Ａ】一実施形態に従って、非一時的コンピュータ可読媒体であるディスクを示す図である。
【図３１Ｂ】一実施形態に従って、非一時的コンピュータ可読媒体であるメモリチップを示す図である。
【図３１Ｃ】一実施形態に従って、システムオンチッププロセッサを示す図である。
【図３１Ｄ】一実施形態に従って、システムオンチッププロセッサ媒体を示す図である。
【図３２】一実施形態に従って、システムオンチップを示すブロック図である。
【図３３】一実施形態に従って、サーバシステムを示す図である。
【図３４】一実施形態に従って、サーバシステムを示すブロック図である。
【発明を実施するための形態】
【００２０】
詳細な説明
序論
統計言語モデル（ＳＬＭ）は、表現を含む所定のコーパス内の隣接ワードの統計値を取得する。ＳＬＭを仮定トークンシーケンスに適用することにより、ＡＳＲシステムの精度が大幅に改善する。
【００２１】
正方向ＳＬＭは、１つまたは一連の前方トークンが存在する場合に、次のトークンの条件付き確率を表す。反方向ＳＬＭは、１つまたは一連のの後続トークンが存在する場合に、直前のトークンの条件付き確率を表す。一対の所定のトークンは、正方向および反方向において非常に異なる確率を有することができる。一例として、有名なアメリカ野球選手Joe DiMaggioを挙げる。反方向ＳＬＭにおいて、家族名DiMaggioを有する有名人が殆どいないため、DiMaggioに先行する単語がJoeである確率が非常に高い。しかしながら、正方向ＳＬＭにおいて、Joeという名前を有する有名人がたくさんいるため、単語Joeに単語DiMaggioが続く確率がかなり低い。
【００２２】
【数２】
2019070799.tif 000004
【００２３】
図１は、音声対応自然言語処理を行うためのシステムを示す高レベル図である。音声認識モジュール１１は、口頭表現を発したユーザからのスピーチ音声を受け取る。音声認識モジュール１１は、一連のトークンを生成する。いくつかの実施形態は、ユーザが話したことを完璧に理解していないときに、複数の代替的なトークンシーケンスを生成する。このような実施形態の一部は、代替的なトークンシーケンスに確率重みを付ける。
【００２４】
いくつかの実施形態は、スピーチ音声以外の方法、例えば、キーボードによるタイピング、タッチスクリーン上のタッピング、目線の移動、腕、手または指によるジェスチャ、または神経電気信号を介して、ユーザからトークンシーケンスを受け取る。
【００２５】
書換えモジュール１２は、入力トークンシーケンスとしてトークンシーケンスを受け取る。書換えモジュール１２は、後述のプログラムルールをトークンシーケンスに適用することによって、書換えを行う。複数のトークンシーケンスの場合、書換えモジュール１２は、各々の入力トークンシーケンスを順次にまたは並列に処理する。書換えモジュールは、正方向ＳＬＭ１３および反方向ＳＬＭ１４を用いて、１つ以上の新たなトークンシーケンスを生成する。いくつかの実施形態は、各新たなトークンシーケンスに対応するスコアを生成する。このスコアは、書換えトークンシーケンスがユーザが表現しようとするものである可能性を示している。いくつかの実施形態は、より良好な書換えトークンシーケンスを生成するように、新たなトークンシーケンスを書換えモジュール１２に戻して再処理する。これは、例えば、トークンシーケンスに複数のエラーが存在する場合に有用である。
【００２６】
いくつかの実施形態は、自然言語統語解析モジュール１５を使用する。統語解析モジュールは、新たなトークンシーケンス、またはいくつかの実施形態では複数の新たなトークンシーケンスを受け取り、ドメイン固有文法１６に従ってトークンシーケンスを構文解析することによって、自然言語の解釈および解釈に対応する解析スコア。いくつかの実施形態は、複数のドメイン固有文法１６を使用して、各文法１６に従って新たなトークンシーケンスを構文解析する。いくつかの実施形態は、書換えモジュール１２からの書換えスコアを構文解析時に重みとして適用する。いくつかの実施形態は、書換えスコアを用いて、解析スコアに重みを付けることによって、解釈がユーザが意図したものである最良の推定値を生成する。
【００２７】
いくつかの実施形態は、解析スコアを書換えモジュール１２に戻し、書換えモジュール１２は、解析スコアを用いて、多数の可能な書換えから、最も正しいである可能性のある１つ以上の書換えを選択する。
【００２８】
最終的に、処理モジュール１７は、最高得点の解釈を受け取り、その意図を判断し、意図の判断に応じて解釈を処理することによって、最も可能な有用な結果を生成する。処理モジュール１７は、結果を生成し、当該結果をシステム出力としてユーザに提供する。
【００２９】
書換えモジュール１２を使用することによって、実施形態は、ユーザの表現の正しいトークンシーケンスを決定し、したがって正しい解釈および有用な結果を生成する可能性が高くなる。さらに、書換えスコアのフィードバックおよび解析スコアのフィードバックを使用することによって、実施形態は、ユーザの表現の正しいトークンシーケンスを決定し、したがって正しい解釈および有用な結果を生成する可能性がさらに高くなる。その結果、このような実施形態は、誤って認識された入力トークンシーケンスまたは文法的に不正確な入力トークンシーケンスを文法的に正しいものに変換することによって、文法の言語適用範囲（すなわち、文法によって認識されるコーパスの部分）を増加させ、これによって、文法は、不備のある変形を効率的にサポートすることができ、エラー訂正を効率的に行うことができる。
【００３０】
自然言語の双方向確率的な書換えおよび選択は、文法が解釈できる表現の範囲を広げる、即ち、一種の効率的な文法規則の圧縮である。これにより、小さいサイズの文法を用いて、より大きいサイズの文法を必要とする表現の範囲をサポートすることができる。したがって、同一サイズの文法を用いて、より広い範囲の人間表現を解釈することができる。
【００３１】
また、人間言語の自動機械翻訳を行うためのシステムは、改善された翻訳精度を得ることができる。このような実施形態の一部は、書換えを翻訳モジュールに入力する前に、書換えをＡＳＲ結果に適用する。書換えは、翻訳する必要がある表現の範囲を減らすことによって、より簡単な翻訳ルールで、必要な翻訳精度を達成することができる。
【００３２】
図３０は、サーバ実装システムに含まれた図１の要素を示している。このシステムは、携帯電話アプリまたは家庭内デバイスとして実装された典型的な仮想アシスタントのように、ネットワークを介してサーバに接続されたクライアントを介して、ユーザから表現を受け取る。いくつかの実施形態は、典型的な自動車システム、高セキュリティシステムおよび極小電力システムのように、自己完結型であり、ネットワークから独立して動作する。
【００３３】
図２は、ユーザが天気に関連するクエリを生成しようとし、天気に関連する文法によって正しく解析できなかった英単語のトークンシーケンスの種類および例を示している。
【００３４】
図３は、ユーザが天気に関連するクエリを生成しようとし、天気に関連する文法によって正しく解析できなかった中国語文字のトークンシーケンスの種類および例を示している。
【００３５】
図２および図３に示された各例示的なシーケンスは、４種類のエラー、即ち、不正確なトークン、余分なトークン、欠落トークン、および重複トークンのうち、１つ以上のエラーによって引き起こされる。各種類のエラーは、３種類の編集、即ち、トークンの挿入、トークンの削除、およびトークンの置換のうち、いずれか１つによって訂正することができる。いくつかの実施形態は、トークン置換という種類の編集を有していないが、トークン削除およびトークン挿入の組み合わせで同様の効果を達成する。トークン挿入およびトークン置換は各々、入力トークンシーケンスに存在しなかった新たなトークンを作成する。以下に説明するように、プログラムルールシステムは、先行トークンおよび後続トークンを考慮して、トークンの条件付き確率に基づいて、トークンの書換えを行うための編集の種類および位置を決定する。
【００３６】
トークン置換の場合、置換位置は、低い確率を有するトークンにある。トークン挿入の場合、挿入位置は、２つのトークンの間にあり、前方のトークンが低い反方向確率を有し、後方のトークンが低い正方向確率を有する。トークン削除の場合、削除位置は、双方向に低い確率を有するトークンにある、または低い反方向確率を有する前方のトークンおよび低い正方向確率を有する後方のトークンのうちいずれか一方のトークンにある。
【００３７】
いくつかの実施形態は、単一の書換えにおいて複数のトークンの置換を行う。いくつかの実施形態は、特定の書換えにおいて単一のトークンの置換を行う。このような実施形態の一部は、複数の書換えを繰り返して行う。
【００３８】
図４は、トークン置換を行うためのトークンシーケンス書換えフローを示している。正方向トークン確率モジュール４１は、入力トークンシーケンスを受け取り、正方向ＳＬＭ４２を用いて、入力トークンシーケンス内の各トークンの正方向確率を生成する。反方向確率モジュール４３は、入力トークンシーケンスを受信し、反方向ＳＬＭ４４を用いて、入力トークンシーケンス内の各トークンの反方向確率を生成する。編集モジュール４５は、各トークンの正方向確率および反方向確率を受け取り、正方向および反方向両方の確率が低いトークンを見出し、そのトークンを別のものに置換することによって、新たな書換えトークンシーケンスを生成する。図４に示すように、いくつかの実施形態は、少なくとも１つのトークンが十分に低い確率を有する場合に限り、条件付きのトークン置換を行う。
【００３９】
いくつかの実施形態は、図４のように動作するが、編集モジュール４５において、置換を行う代わりに、低い確率を有するトークンの削除を行う。
【００４０】
いくつかの実施形態は、図４のように動作するが、編集モジュール４５において、置換を行う代わりに、反方向に低い確率を有する前方のトークンおよび正方向に低い確率を有する後方のトークンを含む一対の隣接トークンを特定する。このような実施形態の一部は、一対のトークンの間に新たなトークンを挿入する。このような実施形態の一部は、一対のトークンのうち、第１トークンまたは第２トークンを置換する。
【００４１】
閾値
いくつかの実施形態は、確率を閾値と比較することによって、低い確率を決定する。いくつかの実施形態は、閾値を使用せず、単に最も低い確率の位置を書き換える。いくつかの実施形態において、正方向の閾値と反方向の閾値とは異なる。いくつかの実施形態において、閾値は、隣接するトークンの確率に依存する。
【００４２】
良好な閾値レベルは、コーパス内の全てのトークンの確率分布において、トークンの大部分を通過させることができる点である。閾値が低くなると、より積極的な書換えが行われる。積極的な書換えは、より深刻なトークンエラーを修正することができるが、入力トークンシーケンスを話者の意図を誤って表すものに書き換える危険性がある。
【００４３】
トークンシーケンスの先頭のトークンの正方向確率は、シーケンスの先頭から数個後のトークンの正方向確率よりも遥かに広く分散されている。同様に、トークンシーケンスの末尾のトークンの反方向確率は、シーケンスの末尾から数個先のトークンの反方向確率よりも遥かに広く分散されている。いくつかの実施形態は、シーケンス内の第１のトークンまたは第１のトークン群に対して、シーケンス中の他のトークンと異なる閾値を使用する。
【００４４】
いくつかの実施形態において、閾値は、ユーザプロファイルの特性に依存する。具体的には、各ユーザは、自分が作成した有効な表現を含むコーパスから構築された個人ＳＬＭを持っている。このような実施形態は、共通ＳＬＭに対して適切な閾値とユーザ固有ＳＬＭに応じた閾値との組み合わせである閾値を使用する。これによって、単純な表現をするユーザに対して、最高精度の改良を与え、複雑な表現をする傾向のあるユーザに対して、確率の低いトークンの書換えを減らすことができ、便利である。
【００４５】
いくつかの実施形態において、閾値を使用せず、正方向、反方向、または正方向および反方向の両方の組み合わせにおいて、確率の最も低いトークンを選択して置換する。
【００４６】
ＳＬＭの構築
最も有用な書換えの選択は、精確なＳＬＭの有無に依存する。ＳＬＭは、書き換える表現と同一種類の表現を含むコーパスから構築された場合、最も精確である。例えば、Twitter（登録商標）のツイートの表現を含むコーパスは、ニューヨークタイムズ紙の新聞記事の表現を含むコーパスとは非常に異なるＳＬＭ確率を有する。同様に、仮想アシスタント用の表現を含むコーパスは、一般的に天気ドメインに特有の表現を含むコーパスとは異なるＳＬＭ確率を有する。
【００４７】
精度を高めるために、ＳＬＭを構築するために使用されるコーパスは、正しい表現、即ち、適切な自然言語文法が解析できる表現または確率的な文法によって解析されるときに高いスコアを有する表現のみを含むべきである。さらに、異なる特定の実体（場所名など）を参照する表現を含むコーパスを用いてＳＬＭを構築すると、異なる特定の実体に各々対応する低確率シーケンスを多く作成する。汎用タグを用いて特定の実体のトークンを置換することによって得られたＳＬＭは、タグを用いて実体を置換することによって得られた同様の表現に対して遥かに高い確率を有する。タグ置換によって構築されたＳＬＭを利用するためには、トークン書換えシステムがトークンシーケンスの書換えを行う前に、対応するタグ置換を行う必要がある。
【００４８】
【数３】
2019070799.tif 000005
【００４９】
図７は、天気ドメインにおける英語表現を解釈するための簡単な自然言語文法の一例を示している。図８は、天気ドメインにおける中国語表現を解釈するための簡単な自然言語文法の一例を示している。これらの文法は、単なる例示にすぎない。これらの文法は、あまりにも少ないフレーズを定義しているため、天気に関するクエリを表現する多くの態様をサポートすることができない。
【００５０】
この文法は、タグ＜date＞および＜place＞を用いて、日付および地名を表す。実体にタグを付けることができる適切な自然言語処理システムは、これらの実体を検出し、特定の日付または地名が表現に存在する場合に、文法規則を適用する。
【００５１】
図９は、図７の文法におけるフレーズに各々一致する多数の表現を含むコーパスから構築された正方向ＳＬＭを示している。各行は、一連の直近トークンに対応する（１つのトークンのみを含むシーケンスをサポートする）。他の実施形態は、２つ以上のトークンのシーケンスを用いて、次のトークンをより精確に予測する。各列は、シーケンスの後続トークンに対応する。各セルは、確率を示す。記号＜s＞および＜/s＞は、トークンシーケンスの先頭および末尾を示す。例えば、シーケンスの先頭に位置する最初の単語が「what」である確率は、０．６９であり、シーケンスの末尾に位置する最後の単語が日付である確率は、０．６７である。単語「what」が単語「the」に続く確率は、０．０１であるため、人々が「the what」を言うのは滅多にないことを示している。
【００５２】
図１０は、図７の文法におけるフレーズに各々一致する多数の表現を含むコーパスから構築された反方向ＳＬＭを示している。各行は、一連の後続トークンに対応する（１つのみのトークンを含むシーケンスをサポートする）。各列は、一連の先行トークンに対応する。例えば、「weather」という単語で終わるトークンシーケンスの確率は、０．１２８である。「what」という単語の後ろに、単語「will」が続く確率は、０．５１であるため、人々が「what will」を言うのは比較的一般的であることを示している。
【００５３】
図５、６、９および１０の例は、2-gram（bigramとも言う）ＳＬＭを示している。即ち、これらのＳＬＭは、１つの特定のトークンに隣接する各トークンの確率を示している。一部のＳＬＭは、3-gramを使用する。すなわち、このようなＳＬＭは、２つの隣接トークンからなる特定のシーケンスに隣接する各トークンの確率を示している。単語「will」の後ろに単語「be」が続く確率と２つの単語「what will」の後ろに単語「be」が続く確率とは、異なる。いくつかのＳＬＭは、4-gramまたはより高次のn-gramを使用する。
【００５４】
いくつかの実施形態は、多種多様なトピックに関連する表現を含む多様コーパスからＳＬＭを構築する。これによって、多種多様な表現、例えば、特定の人間言語の全ての可能な表現をサポートすることができ、便利である。
【００５５】
いくつかの実施形態は、１つのみのドメインに関連する表現を含むコーパスからＳＬＭを構築する。このようなコーパスは、表現の多様性がより少ないため、ドメイン内の表現に対するn-gram間の確率の差を高める。その結果、ドメインに対して正しい可能性が最も低いトークンが、より精確に選択され書換えられる。多様な表現から構築されたコーパスは、編集するための最良のトークンをあまり精確に選択していないため、特定のドメインと同様の精度を達成するために、より多くの書換えを選択する必要がある。
【００５６】
いくつかの実施形態は、多数の表現をフィルタリングすることによって、ドメイン固有文法が有効であると解釈できる表現またはドメイン固有確率文法が閾値を超えるスコアで解析できる表現を生成する。このような実施形態は、合格した表現のみをＳＬＭ訓練コーパスに使用する。このような実施形態の一部は、コーパスをさらにフィルタリングすることによって、１つ以上の他の文法においてより高い解釈スコアを有しない表現のみを生成する。いくつかの実施形態は、解釈を行う時に、会話状態履歴、位置およびユーザプロファイルなどの他のコンテキスト情報、またはその両方を考慮する。
【００５７】
表現のコーパスがなくても、一組の文法規則が解析できる一組の表現を用いて、ＳＬＭを構築することが可能である。確率文法を表現生成器として使用することによって、このようなＳＬＭを生成することができる。この場合、文法規則の重みは、トークンシーケンスの確率を決定する。文法のみからＳＬＭを構築することは、文法設計者が人々によって行われた文法ドメインに関連する表現を全て予測し且つ文法の重みを推測することができる限り、成功する。実際には、ＳＬＭ確率は、表現のコーパスから構築された場合により精確である。文法からＳＬＭを構築することは、より精確なＳＬＭを構築するために使用できる多数の表現を収集するためのシステムをブートストラップするときに、よく行われる。文法のみから生成されたＳＬＭ確率と、適切なコーパスから構築することによって決定された確率とを組み合わせることも可能である。
【００５８】
タグ付け
図１１は、トークン置換を行うためのトークンシーケンス書換えフロー図を示している。このフロー図は、タグモジュール１１６が入力トークンシーケンスを受け取り、タグを用いて、トークンを置換することによって、確率モジュール４１および４３用のトークンシーケンスを作成することを除き、図４のフロー図と同様である。
【００５９】
「タグ」とは、トークンのクラスに対して共通トークンである。例えば、＜city＞タグは、トークン「London」および「Beijing」並びにトークンシーケンス「New」「York」のいずれかを置換することができる。＜time＞タグは、トークンシーケンス「1:23」、「1:23 pm」、「01:23 pm」、「13:23」、および「one twenty-three in the afternoon」（午後１時２３分）のいずれかを置換することができる。
【００６０】
いくつかの実施形態は、ドメイン固有タグを使用する。例えば、天気ドメインは、＜weather condition＞タグを有することができる。＜weather condition＞タグは、「sunny」（晴れ）、「cloudy」（曇り）、「foggy」（霧）、「rainy」（雨）、「windy」（風）、「hot」（熱い）、および「cold」（寒い）などのトークンを置換することができる。この実施形態は、まず、不正確なフレーズ「it sunny or rainy will be」からなるトークンシーケンスを受け取り、次に、タグ＜weather condition＞の各特定のインスタンスと元のトークンとの関連性を保存すると共に、タグインスタンス＜weather condition 1＞を用いてトークン「sunny」を置換し、タグインスタンス＜weather condition 2＞を用いてトークン「rainy」を置換することによって、タグを付けたトークンシーケンスを「will it be <weather condition 1> or <weather condition 2>」に書換え、最後に、元のトークンを用いて＜weather condition＞タグの各インスタンスを置換することによって、書換えトークンシーケンス「will it be sunny or rainy」（天気は晴れですかまたは雨ですか）を生成する。天気ドメイン文法は、入力トークンシーケンス「it sunny or rainy will be」を解析することができないが、書換えトークンシーケンス「will it be sunny or rainy」を解析することができる。
【００６１】
いくつかの実施形態において、ドメイン固有文法を使用する場合、文法に存在していない全てのトークンに、＜unknown＞（未知）タグを付ける。この実施形態において、タグを用いて未知トークンを書換え、書換えの後に、元のトークンを用いて未知トークンのタグを置換する。一実施形態において、ＳＭＳテキストメッセージドメインの文法には、「送信」トークン、「テキスト」トークンおよび「メッセージ」トークンを含む。当該実施形態において、「メッセージ牛馬および鶏をテキストメッセージとして送信する」というトークンシーケンスを受信すると、このトークンシーケンスを「メッセージ＜unknown 1＞＜unknown 2＞および＜unknown 3＞をテキストメッセージとして送信する」）のようにタグを付ける。当該実施形態は、「＜unknown 1＞＜unknown 2＞および＜unknown 3＞をテキストメッセージとして送信する」のように書換えを行い、元のトークンを用いてタグを置換することによって、書換えトークンシーケンス「牛馬および鶏をテキストメッセージとして送信する」を生成する。英語表現の一般的な用法によって、実施形態は、「＜unknown＞を送信する」というトークンシーケンスをよく受け取り、「メッセージ＜unknown＞」というトークンシーケンスを滅多に受け取らないため、最初に出現したトークン「メッセージ」に対して削除編集を実行する。
【００６２】
いくつかの実施形態は、多様コーパスから構築されたＳＬＭを使用する。このような実施形態の一部は、コーパスに低頻度で現れる全ての単語を＜低頻度＞タグを付ける。全ての低頻度単語にタグを付けることによって、高頻度単語の確率をより精確にすることができる。
【００６３】
いくつかの実施形態は、コーパス内の品詞の検出およびトークンのラベル付けプロセスを行う。異なる品詞として機能するトークンの場合、例えば、「fast」というトークンが形容詞（速い）、動詞（断食する）および名詞（断食期間）として使用する場合、実施形態は、ＳＬＭにおいて、異なる品詞として使用されているトークンに応じて異なるエントリーを含む。このような実施形態において、書換えられるトークンシーケンスにおけるトークンの確率を計算する前に、トークンシーケンスに対して部分的な統語解析を行うことによって、シーケンス内の各トークンの可能な品詞を識別する。これによって、ＳＬＭにおいてラベル付けられたトークンの確率がより精確になる。
【００６４】
いくつかの実施形態は、コーパス内の表現および入力トークンシーケンスの両方に対して、同義語置換を行う。例えば、このような実施形態は、トークン「fast」を用いて、トークン「rapid」、「quick」および「speedy」のいずれかを置換する。その結果、多様な表現を含む所定のコーパスに対するＳＬＭ統計がより精確になる。
【００６５】
いくつかの実施形態は、コーパス内の表現および入力トークンシーケンスの両方に対して、同音異義語置換を行う。例えば、このような実施形態は、単一のトークンを用いて、英語トークン「to」、「too」および「two」を置換する。
【００６６】
いくつかのドメイン固有の実施形態は、書換えられない保留セットのドメイン固有トークンを有する。例えば、ＳＭＳメッセージのドメインにおいて、実施形態は、トークン「テキスト」、「メッセージ」および「送信」を置換、削除または編集操作として挿入できないトークンとして含む。一部のドメイン文法フォーマットは、保留キーワードを定義することができる。
【００６７】
確率からエラー種類を検出する
正方向および反方向の各々において低い確率を有するトークンの位置のコロケーションまたは隣接は、可能なエラーの種類（不正確なトークン、余分なトークン、欠落トークン、および重複トークン）に関するヒントを与え、その結果、トークンシーケンスを書き換えるための可能な最良種類の編集（トークンの挿入、トークンの削除、およびトークンの置換）に関するヒントを与える。
【００６８】
図１２Ａは、反方向の確率および正方向の確率の両方が共に高い（Ｈ）である表現に対応する一連の英単語トークンを示している。図１３Ａは、反方向の確率および正方向の確率の両方が共に高い（大）である表現に対応する一連の中国語文字トークンを示している。
【００６９】
【数４】
2019070799.tif 000006
【００７０】
図１２Ｃおよび図１３Ｃは、英単語および中国語文字の余分なトークンエラーを含む表現を各々示している。反方向において、余分なトークンに続く全てのトークが高い確率を有し、正方向において、余分なトークンに先行する全てのトークンが高い確率を有する。反方向および正方向の各々において、余分なトークンが低い確率を有する。
【００７１】
【数５】
2019070799.tif 000007
【００７２】
図１２Ｅおよび図１３Ｅは、英語および中国語文字のトークン重複エラーを含む表現を示している。反方向において、重複トークンの第１のトークンが低い確率を有するが、第２のトークンおよび全ての後続トークンが高い確率を有する。正方向において、重複トークンの第１のトークンを含み、第１のトークンの前の全てのトークンが高い確率を有するが、重複トークンの第２のトークンが低い確率を有する。
【００７３】
従って、反方向および正方向の両方において低い確率を有するトークンが疑わしいトークンであり、削除または置換編集が適切である可能性の高い場所を示している。前方のトークンが反方向に低い確率を有し、後方のトークンが正方向に低い確率を有する一対の隣接する同一ではないトークンは、疑わしいトークン対であり、挿入編集が適切である可能性が高い場所を示している。前方のトークンが反方向に低い確率を有し、後方のトークンが正方向に低い確率を有する一対の隣接する同一のトークンは、疑わしいトークン対であり、同一のトークンのうち、１つのトークンの削除が適切である可能性の高い場所を示している。
【００７４】
当然なことに、音声認識は、確率的なことである。トークンシーケンスは、話し言葉の音素を含む１つ以上の仮定シーケンスから得られ、これらの音素は、デジタル処理した音響信号サンプルのフレームから得られる。いくつかの実施形態は、仮定音素シーケンス内の各音素の認識精度の信頼度を表すスコアを生成する。いくつかの実施形態において、サンプルのフレームを処理することによって、仮定音素のスコアに寄与する値を生成する。いくつかの実施形態において、音素シーケンスをトークンシーケンスにトークン化する際に、少なくとも部分的にトークン内の音素の音響スコアに基づいて、各トークンのスコアを計算する。
【００７５】
いくつかの実施形態は、トークンの音響スコアによって重み付けられた反方向ＳＬＭ確率および正方向ＳＬＭ確率に少なくとも部分的に基づいて、正方向確率および反方向確率スコアを計算する。その結果、一実施形態において、得られた品質の悪いスピーチ音声、例えば、一部のトークンの間に大音量の背景音を有するスピーチ音声の場合、これらのトークンを集中的に書き換えることができる。
【００７６】
書換えの採点および比較
スコアは、整数、浮動小数点数、または英数字などの様々な方法で表すことができる。いくつかの実施形態において、スコアは、有効性のブール値（有効／無効）として表される。
【００７７】
様々な実施形態は、反方向確率が閾値未満である位置、または正方向確率が閾値未満である位置、または反方向確率と正方向確率との組み合わせが閾値未満である位置を特定することによって、書換えを作成する。このような実施形態の一部は、まず、閾値未満の確率スコアを有する位置で単一の編集を各々行うことによって、複数の代替的な書換えを生成し、その後、第１セットの書換えトークンシーケンス内の第２の位置で更なる編集を行うことによって、更なる書換えを行う。これによって、書換えツリーまたは書換え格子を作成することができ、置換Ａの後ろに置換Ｂが続くことと、（別の場所で）置換Ｂの後ろに置換Ａが続くこととは同様の結果を有するということを説明することができる。一実施形態において、閾値が高いまたはスピーチ音声の品質が悪い場合、書換えの数が使用可能なシステムリソースを大きく超える可能性がある。このような制限に対応するために、様々な実施形態において、幅優先探索アルゴリズム、深さ優先探索アルゴリズム、または最良優先アルゴリズムを用いて、例えば、最良の書換えトークンシーケンスのスコアなどの有用性測定値に基づいて、書換えツリーまたは書換え格子を構築することによって、最良の書換えを見出す。
【００７８】
上述したように、様々な実施形態において、反方向の確率が最も低い位置、正方向の確率が最も低い位置、または同一のトークンまたは隣接するトークンのいずれかの反方向確率および正方向確率の組み合わせが最も低い位置で、編集を行うことによって、書換えを作成する。様々な実施形態において、組み合わせは、積、合計または同等物などの関数である。このような実施形態の一部において、複数の書換えを作成することによって一組の仮定書換えを生成し、各仮定書換えの書換えスコアを計算することによって、最良な（最も可能な正しい）書換えを選択することができる。いくつかの実施形態において、最も低い確率を有する位置および２番目低い確率を有する位置で各々編集を行い、得られた第１対の書換えのトークンシーケンスを編集することによって、複数の書換えを作成する。
【００７９】
図１４は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、トークン置換モジュール１４５が正方向ＳＬＭおよび反方向ＳＬＭの各々から確率が最も高いトークンのリストを読み取る点を除き、図４のフロー図と同様である。各位置の正方向確率が最も高いトークンのリストは、前方のＮ個トークンに対して、確率が最も高いトークンのセットおよび対応する確率を含む。各位置の反方向確率が最も高いトークンのリストは、後方のＮ個トークンに対して、確率が最も高いトークンのセットおよび対応する確率を含む。挿入または置換するためのトークンを選択するために、トークン置換モジュール１４５は、両方のリスト（リストの交点）に存在するトークンを検索し、各リスト内のトークンの確率に基づいて新たなトークンを選択する。
【００８０】
いくつかの実施形態において、トークンが両方のリストに存在しない場合、ＳＬＭから得られた次の確率が最も高い単語をリストに追加する。様々な実施形態において、トークンが両方のリストに存在しない場合、正方向リストから確率が最も高いトークンを選択する、または反方向リストから確率が最も高いトークンを選択する、またはトークンシーケンスの書換えをスキップする。
【００８１】
図１５Ａおよび図１６Ａは各々、３つのトークンを含み、中央のトークンが不正確である英単語および中国語文字のトークンシーケンスを示している。図１５Ｂおよび図１６Ｂは、５つのトークンおよび（１つの先行トークンから各トークンの確率を計算する）2-gram正方向ＳＬＭから得れれた各トークンの確率を含むリストを示している。図１５Ｃおよび図１６Ｃは、５つのトークンおよび2-gram反方向ＳＬＭから得れれた各トークンの確率を含むリストを示している。これらのリストは、２つの共通トークンを有する。第１の共通トークンは、各リストにおいて２番目に高い確率を有する。第２の共通トークンは、正方向リストにおいて５番目に高い確率を有し、反方向リストにおいて３番目に高い確率を有する。第１の共通トークンは、両方のリストにおいてより一般的であるため、トークン置換編集の最良選択である。
【００８２】
図１７Ａおよび図１８Ａは各々、５つのトークンを含み、中央のトークンが不正確な英単語および中国語文字のトークンシーケンスを示している。図１７Ｂおよび図１８Ｂは、５グラムのリストと、５つのトークンおよび（２つの先行トークンから各トークンの確率を計算する）3-gram正方向ＳＬＭから得れれた各トークンの確率を含むリストを示している。図１７Ｃおよび図１８Ｃは、５つのトークンおよび3-gram反方向ＳＬＭから得れれた各トークンの確率を含むリストを示している。正方向ＳＬＭと反方向ＳＬＭとは、同様の長さのn-gramを使用する必要がない。これらのリストは、２つの共通トークンを共有する。第１の共通トークンは、正方向リストにおいて３番目に高い確率を有し、反方向リストにおいて２番目に高い確率を有する。第２の共通トークンは、正方向リストにおいて５番目に高い確率を有し、反方向リストにおいて１番目に高い確率を有する。２つのトークンが両方のリストに共通であるが、共通トークンの確率の順番が両方のリストにおいて異なるため、どちらがトークン置換編集の最良選択であるかを計算する必要がある。
【００８３】
いくつかの実施形態において、各リスト内の共通トークンの確率を加算し、確率の加算値が最大であるトークンを選択する。いくつかの実施形態において、各リスト内の共通トークンの確率を乗算し、確率の乗算値が最大であるトークンを選択する。いくつかの実施形態において、各リスト内の共通トークンの確率の対数値を加算し、確率の対数値の和が最大であるトークンを選択する。これによって、絶対値が異なっているが、乗算と同様の相対順位を与えることができる。
【００８４】
図１７Ｄおよび図１８Ｄは、加算による各共通トークンの確率の計算、乗算による各共通トークンの確率の計算、および対数値の加算による各共通トークンの確率の計算を示している。加算は、第２のトークンのより高い書換えスコアを見出すが、乗算および対数値の加算は、第１のトークンのより高い書換えスコアを見出す。いくつかの実施形態において、乗算および対数値の加算が好ましい。確率の乗算および対数値の加算は、両方向でより合理的なトークンにとって有利であるが、確率の加算は、一方の方向では合理的であり、他方の方向では不合理なトークンにとって有利である。
【００８５】
いくつかの所定のスピーチを翻訳するために、いくつかの同音異義語のうち、正しいものを検出することは、困難な課題である。いくつかの実施形態において、入力トークンシーケンス内の疑わしいトークンと同音異義語であるトークンの確率に好ましい重みを適用することにより、書換えスコアを計算する。その結果、このような実施形態において、周りのトークンに照らして最も可能な同音異義語を遥かに正確に選択することができる。
【００８６】
トークンは、最近の会話に使用された場合、より高い確率を有する。いくつかの実施形態は、最近使用されたトークンをキャッシュする。このような実施形態の一部は、正帰還ループによって誤った翻訳を誘起する可能性を最小化するために、高い音響スコアを有するトークンのみをキャッシュする。ある仲間によって使用されたトークンは、他の仲間によって使用される確率が高いため、いくつかの実施形態は、最近の会話に複数の仲間によって使用されたトークンをキャッシュする。
【００８７】
図１９は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、トークン置換モジュール１９５が書換えトークンシーケンスおよび対応する書換えスコアの両方を生成する点を除き、図１４のフロー図と同様である。いくつかの実施形態において、書換えスコアは、各トークンの正方向確率と各トークンの反方向確率との積である。いくつかの実施形態において、書換えスコアは、音響スコアによって重み付けられた各トークンの正方向確率と音響スコアによって重み付けられた各トークンの反方向確率との積である。いくつかの実施形態において、実体値を置換できるように実体のタグ付けを使用しない場合、特定の人間の位置または存在などの環境パラメータ値に対する特定の実体の近接度に従って、書換えスコアに重みを付ける。
【００８８】
図２０は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、トークン置換モジュール２０５が多様コーパスＳＬＭ２０７からトークンの条件付き確率を読み取る点を除き、図１９のフロー図と同様である。正方向ＳＬＭ４２および反方向ＳＬＭ４４は、１つの会話ドメインに特有の表現から構築される。多様コーパスＳＬＭ２０７は、多くのドメインに亘る表現から構築され、例えば、これらのドメインが単一の言語を使用するという事実のみによって制限された多様なソースの表現から構築される。いくつかの実施形態は、多様コーパスＳＬＭ２０７内の各トークンに対応する条件付き確率に基づいて、入力トークンシーケンス内の各トークンのドメイン固有条件付き確率をスケーリングする。いくつかの実施形態は、多様コーパスＳＬＭ２０７内の各トークンに対応する条件付き確率に基づいて、最も可能なリスト内の各置換トークンのドメイン固有条件付き確率をスケーリングする。いくつかの実施形態は、単一方向の多様コーパスＳＬＭを使用し、いくつかの実施形態は、各方向の多様コーパスＳＬＭを使用する。
【００８９】
図２１は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、トークン置換モジュール２１５が複数の書換えトークンシーケンスと、書換えられた各トークンシーケンスに対応する書換えスコアとを生成する点を除き、図１９のフロー図と同様である。選択モジュール２１８は、書換えスコアを用いて、複数の代替的な書換えから、最良の書換えトークンシーケンスを選択する。一部の代替的な書換えは、同一の場所で異なる編集が行われる。一部の代替的な書換えは、異なる場所で編集が行われる。
【００９０】
解析スコアを計算するための解析
いくつかの実施形態は、ＳＬＭ確率および重み付きスコアよりもさらに進化した処理を用いて、最良の書換えを決定する。図２２は、統語解析を使用する実施形態を示している。示された実施形態は、トークン置換モジュール２２５が複数の書換えを生成し、最高のスコアを有する１つの書換えを選択して、新たな書換えトークンシーケンスを生成する点を除き、図１４と同様である。また、トークン置換モジュール２２５は、統語解析入力を用いて、書換えスコアに重みを付ける。
【００９１】
統語解析モジュール（syntactic analysis module）２２９は、入力トークンシーケンスを受け取り、品詞として使用された各トークおよび品詞として使用された各トークンの頻度を決定する。トークン置換モジュール２２５は、異なる品詞としてのトークンの配置の合法性に従って、構文規則を適用する。トークン置換モジュール２２５は、隣接するトークンの文脈において構文上合法的なトークンのみに限定して、新たなトークンを選択する。各書換えに対して、トークン置換モジュール２２５は、特定の品詞としてのトークンの配列の合法性に従って、書換えトークンシーケンスにスコアを付ける。
【００９２】
いくつかの実施形態は、自然言語パーサを用いて、文法に従って新たな書換えトークンシーケンスを解析することによって、構文解析スコアを生成する。図２３は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、図４のフロー図と同様である。しかしながら、自然言語パーサ２３６は、トークン置換モジュール４５から出力された新たな書換えトークンシーケンスを受け取る。自然言語パーサは、自然言語文法２３７によって定義された文法規則に従って、新たな書換えトークンシーケンスを解析する。
【００９３】
いくつかの実施形態は、ブール値スコアを生成する簡単な文法を使用する。すなわち、文法は、トークンシーケンスを解析することができるか否かに関係ない。いくつかの実施形態は、整数スコアまたは浮動小数点スコアをパーサに与える確率文法を使用する。
【００９４】
いくつかの実施形態において、文法規則は、異なる言い回しの可能性を定義する。文法は、２つの異なる表現を解析することによって同様の意味を得る（即ち、同様の解釈データ構造を生成する）ことができ、２つの異なる表現のうち、より一般的に使用される表現を示す指標または当該表現内により一般的に使用されるフレーズまたは単語を示す指標を含むことができる。いくつかの実施形態は、話者の間に表現の言い回しおよびその言い回しを使用する可能性を考慮して、表現の解析スコアを計算する。このような実施形態の一部は、文法規則内のフレーズまたは単語の重みを乗算することによって、解析スコアを計算する。いくつかの実施形態は、統語解析スコアと意味スコアとを組み合わせることによって、解釈のスコアを決定する。
【００９５】
【数６】
2019070799.tif 000008
【００９６】
文法を有するいくつかの実施形態は、最近の会話状態の履歴情報をキャッシュする。例えば、会話状態は、自然言語の文法規則内の実体スロットの意味値を含むことができる。「ニューヨーク」は、「Ｘの天気は何ですか」（Ｘは、場所である）という表現に応答する天気関連文法規則の「場所」スロットに存在する実体種類「場所」の意味値である。したがって、会話状態を記憶する実施形態は、「ニューヨークの天気は何ですか」という表現の後に、最も最近に参照した場所「ニューヨーク」の記録を保存するだあろう。
【００９７】
また、会話状態は、過去に質問した問題の種類を含むこともできる。また、会話状態は、実体の関連パラメータの識別子を含むこともできる。さらに、会話状態は、限定詞に関する情報および情報フィルタリング情報を含むことができる。いくつかの実施形態は、解析スコアとして表すことができる会話状態に照らして、トークンの意味的な顕著性に従って、トークンの解析スコアに重みを付ける。
【００９８】
いくつかの実施形態は、複数のドメイン固有文法に従って、書換えトークンシーケンスを解析しようと試みる。少なくとも１つのドメイン文法に従って、許容スコアで書換えトークンシーケンスを解析した場合、書換えは成功である。
【００９９】
図２６は、トークン置換を行うためのトークンシーケンスの書換えフロー図を示している。このフロー図は、自然言語パーサ２６６が、一組の書換えトークンシーケンスおよび関連スコアを受け取り、文法２３７に従って各トークンシーケンスを解析することによって解析スコアを生成し、解析スコアと書換えスコアとの最適な組み合わせを有する書換えトークンシーケンスを出力として選択する点を除き、図１９のフロー図と同様である。このような実施形態の一部は、複数の文法に従って解析を行う。したがって、これらの実施形態は、事実上、音響スコア、ＳＬＭによる書換えスコアおよび文法解析スコアの組み合わせを有する出力トークンシーケンスを生成する。
【０１００】
書換えセットの反復作成
いくつかの実施形態は、成功した書換えを見出すと、処理を完了し、成功した書換えトークンシーケンスを出力として提供する。いくつかの実施形態は、入力トークンシーケンスの可能な書換えのリストを生成する。これらの可能な書換えは、同一の疑わしい場所で異なる編集を行うことによって、異なる疑わしい場所で編集を行うことによって、またはその両方によって得ることができる。
【０１０１】
いくつかの実施形態において、複数の間違った単語または複数の余分な単語、欠落単語、または重複単語を引き起こしたエラーを修正するために、書換えフローの追加反復を通過するように書換えトークンシーケンスを供給する。反復は、書換えスコア、文法解析スコア、またはその両方の組み合わせに基づいて、書換えの簡単なリストを作成することによって、または再処理するための書換えを選択することによって、継続することができる。選択は、深さ優先探索ツリーアルゴリズム、幅優先探索ツリーアルゴリズム、または最高スコア優先探索ツリーアルゴリズムを試行することによって行われる。
【０１０２】
図１は、新たなトークンシーケンスを反復的に書き換えるプロセスを示している。いくつかの実施形態において、書換え段階１２の後に、新たなトークンシーケンスの書換えスコアに従って、これらのトークンシーケンスを再処理する。いくつかの実施形態において、構文解析段階１４の後に、新たな書換えトークンシーケンスの構文解析スコアに従って、これらの書換えトークンシーケンスを再処理する。
【０１０３】
連続翻訳
トークンシーケンスの書換えは、連続翻訳応用、例えば、テレビライブ放送の自動字幕付けまたは書き取りに有用であり得る。
【０１０４】
双方向確率的な書換えは、反方向ＳＬＭ確率を計算するエンドポイントがある場合に有用である。これは、十分に高いトークン化仮定スコアを有するシーケンスのうち、直近のＮ個（Ｎは、反方向ＳＬＭ確率の計算に使用されるトークンの数である）トークンを利用可能にするトークンバッファによって可能になる。この方法は、翻訳時に少なくともＮ個トークンの時間に相当する遅延を必要とする。
【０１０５】
英語話者は、１分間に１５０トークンで話す傾向がある。中国語話者は、１分間に約３００文字で話す傾向がある。多くの中国語トークンが２文字または３文字で構成されているため、話す時のトークン速度も毎分約１５０トークン、即ち毎秒２．５トークンである。したがって、2-gram反方向ＳＬＭを使用する双方向書換えは、少なくとも１秒のバッファ遅延を必要とする。
【０１０６】
連続音声応用の場合、文法解析を双方向確率的な書換えに適用するためには、完全な表現に含まれる全てのトークンまたは少なくとも完全なフレーズが、シーケンスを解析できると判断するために必要である。このような応用において、書換えおよび選択の前に、フレーズ境界検出アルゴリズムを行う必要がある。当該技術分野において、様々なフレーズ境界検出アルゴリズムが既知である。一部のフレーズ境界検出アルゴリズムは、文法に基づいたものである。一部のフレーズ境界検出アルゴリズムは、話すときの声の変化を検出することによって機能する。一部のフレーズ境界検出アルゴリズムは、対応するビデオシーンの変化を検出することによって機能する。また、十分な長さの休止は、コミットメントを強要することができる。
【０１０７】
人間は最大２５トークンを含む表現を話す傾向があるため、１分間に１５０トークンのトークン速度で話す場合、最大１０秒のバッファおよび潜在的な遅延が必要である。これは、映画または事前録画されたテレビ番組には許容できない字幕遅延であるが、テレビのニュースフィードまたは一部のスポーツ放送には合理的である。一度に完全な表現を処理することによって、字幕表示は、テレビライブ放送の場合に一般的である従来の単語ごとの表示ではなく、映画および事前録画されたテレビ番組の場合に一般的であるように、表現ごとのテキストを追加する。
【０１０８】
いくつかの実施形態は、リアルタイム放送のビデオストリームを遅延させることにより、表現の分離並びに文法に基づいた採点および選択による書換えに必要な遅延と同調させることができる。
【０１０９】
いくつかの実施形態は、音素仮定、トークン化仮定、およびフレーズ境界仮定などの仮定を用いて、音声翻訳プロセスを実行する。このような実施形態は、仮定ツリーを構築し、当該ツリーの各枝は、スコアを有する。このような実施形態の一部は、様々なトークン化された表現仮定の各々に対して双方向確率的な自然言語書換えを実行し、得られた書換えの解析スコアを計算し、各枝の最良書換えの解析スコアに従って、ツリーの最良枝を選択する。
【０１１０】
履歴キャッシングおよび逆キャッシング
いくつかの実施形態は、１つ以上のキャッシング技術を用いて性能を向上させる。いくつかの実施形態は、少なくとも限定された期間において、高い音響仮定スコアを有するトークンをキャッシュする。このような実施形態は、正方向ＳＬＭおよび反方向ＳＬＭの最も高い確率のトークンリストからトークンを選択する場合、キャッシュに存在するトークンの確率スコアを増加させる。この方法は、会話中の単語の時間的局所性を利用して、認識精度を向上させる。様々な実施形態は、実体にタグを付ける前に単語をキャッシュすることによって実体名の認識を向上させる、または実体にタグを付けた後に単語をキャッシュすることによって、実体に依存しない書換えの統合を容易にする。
【０１１１】
いくつかの実施形態は、入力トークンシーケンスと新たな書換えトークンシーケンスとの間のマッピングをキャッシュする。図２７は、トークンシーケンスの書換えフロー図を示している。このフロー図は、図４のフロー図と同様である。但し、シーケンス検査モジュール２７８は、入力トークンシーケンスを受け取る。その後、このシーケンス検査モジュールは、入力トークンシーケンスと新たな書換えトークンシーケンスとの間のマッピングを含むキャッシュ２７９からの読み込みを進める。シーケンス検査モジュール２７８は、キャッシュから入力トークンシーケンスを見付けた場合、関連する新たな書換えトークンシーケンスをトークン置換モジュール２７５に提供する。トークン置換モジュール２７５は、シーケンス検査モジュール２７８から新たな書換えトークンシーケンスを受け取ると、新たな書換えトークンシーケンスを直接に出力する。そうでない場合、トークン置換モジュール２７５は、高い確率ＳＬＭトークンのリストを使用した書換えを含む適切な書換え解析を実行する。したがって、このフロー図は、過去に受け取ったトークンシーケンスの最良書換えを得るための処理集約ツリー検索（processing-intensive tree search）を実行する必要がない。
【０１１２】
図２８は、トークン書換えキャッシュの７つのエントリを示している。（タグ付き実体を含む）各入力トークンシーケンスは、ちょうど１つの新たな書換えトークンシーケンスに関連付けられる。
【０１１３】
いくつかの実施形態は、新たな書換えトークンシーケンスを複数の入力トークンシーケンスと関連付けることができる逆キャッシュを使用する。図２９は、逆トークン書換えキャッシュの５つのエントリを示している。最後のキャッシュエントリは、５つの異なる入力トークンシーケンスの各々から作成された共通の書換えである。キャッシュ内の最後の新たなトークンシーケンスを作成した各入力トークンシーケンスの頻度は、括弧に示されている。いくつかの実施形態は、キャッシュの内容を分析することによって、特定の新たな書換えトークンシーケンスに書換えられた最も頻度の高い入力トークンシーケンスを見出す。これは、文法の開発者が、文法を改善するために、共通に使用されている代替フレーズを見出し、これらを文法規則に追加するまたは入力トークンシーケンスが表現の意図と一致しない書換えを扱うための異なる文法規則を作成する時に有用である。例えば、「will the weather be good」（天気が良いでしょうか）を「what will the weather be」（天気がどうなるでしょうか）に書き換える場合、システムエンジニアは、前者のフレーズをサポートする新しい文法規則を作成し、予報された気象条件に基づいて、「はい」または「いいえ」で応答することができる。
【０１１４】
いくつかの実施形態は、文法自動帰納モジュールを含み、この文法自動帰納モジュールは、逆書換えキャッシュを用いて、新しい文法規則を推論することによってまたは既存の文法規則を拡張することによって、適用範囲を改善する。
【０１１５】
特定のトークンの重みを調整することまたは規則を変更することによって確率文法を改善することにより、システムオペレータが正確なＳＬＭを生成する能力を高める。さらに、確率的な文法を改善することにより、正確なドメイン固有ＳＬＭを構築するためのコーパスのフィルタリングを改善する。
【０１１６】
その他の考慮事項
本明細書に示され説明された実施形態は、多くのオプション特徴の例示である。示され説明された特徴の異なる組み合わせによって、多くの実施形態が可能である。本明細書に示され説明された例は、英語および中国語を使用している。様々な実施形態は、他の言語または言語の組み合わせに対しても同様の効果を奏する。本明細書に示され説明された例は、天気ドメインを使用している。様々な実施形態は、他のドメインまたはドメインの組み合わせに対しても同様の効果を奏する。本明細書に示され説明された例は、トークンを置換するためのモジュールを示している。同様に配置されたモジュールは、トークンの削除およびトークンの挿入を行うことができる。
【０１１７】
図３０は、クライアント−サーバ型アーキテクチャを使用する仮想アシスタントの一実施形態を示している。ユーザ３０１は、スマートフォン３０２に表現を話す。スマートフォン３０２は、仮想アシスタントアプリを実行している場合、サーバベースの仮想アシスタント用のリモートクライアント装置として動作する。スマートフォン３０２は、仮想アシスタント用のクエリとして、ユーザ３０１からの表現を送信する。クライアント装置３０２は、コンピュータネットワーク３０３を介してクエリ音声を通信し、表現音声をサーバ３０４に送信する。サーバ３０４は、コンピュータプロセッサを用いて、非一時的なコンピュータ可読媒体に格納されたコードを実行する。コンピュータプロセッサは、命令を処理することにより、表現音声に対して自動音声認識３０５を実行して、仮定トークンシーケンスを生成する。コンピュータプロセッサは、仮定トークンシーケンスを入力として使用して、書換え３０６を実行することによって、新たな仮定の書換えトークンシーケンスを生成する。コンピュータプロセッサは、自然言語処理（ＮＬＰ）３０７を用いて、新たな仮定の書換えトークンシーケンスを解析する。書換えは、ＮＬＰ解析３０７の結果を用いて、別の書換えを行うかまたはサーバ３０４からの新たな書換えトークンシーケンスを出力するかを判断する。許容可能な高いスコアを有する解析を選択すると、コンピュータプロセッサは、選択された解釈を処理すること（３０８）によって、所望の結果を生成する。この処理は、例えば、サーバ３０４内でローカルに実行されてもよく、第三者システムのサービスを用いて実行されてもよい。例えば、「天気は何ですか」というクエリを受けた場合、処理工程３０８は、携帯電話の現在位置を含むアプリケーションプログラミングインターフェイス（ＡＰＩ）リクエストを第三者の天気サービスに送信する。第三者の天気サービスは、気象条件のテキスト記述を用いて、ＡＰＩリクエストに応答する。仮想アシスタントは、他の多くの情報源および多く種類のサービスを提供することができる。サーバ３０４は、ＡＰＩリクエストに対するテキスト応答などの処理結果を用いて、ユーザ３０１に与える音声応答のテキストを生成する。コンピュータは、テキスト音声変換（ＴＴＳ）３０９を用いて、音声応答のテキストを処理することによって、ユーザに与える音声応答を生成する。サーバ３０４は、ネットワーク３０３を介して、音声をクライアント３０２に送信し、クライアント３０２は、スピーカを介して、この音声をユーザに出力する。他の実施形態において、多くの他の変形が可能である。例えば、他の実施形態において、サーバ３０４は、音声応答の代わりにまたは音声応答に加えて、テキスト応答をクライアント３０２に提供する。
【０１１８】
図３１Ａは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体である回転ディスク３１１を示している。
【０１１９】
図３１Ｂは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体であるフラッシュメモリチップ３１２を示している。
【０１２０】
図３１Ｃは、プリント回路基板に半田付けられるボールグリッドアレイを備えたパッケージ型システムオンチップ装置３１３の底面を示す。システムオンチップ３１３は、いくつかの実施形態に係るプロセッサである。
【０１２１】
図３１Ｄは、システムオンチップ装置３１３の上面を示している。
図３２は、いくつかの実施形態に従って、システムオンチップチップ３１３内の機能要素を示すブロック図である。コンピュータプロセッサコア３２１およびグラフィックプロセッサコア３２２は、相互接続３２３およびＲＡＭインターフェイス３２４を介して一時データを記憶するためのランダムアクセスメモリ（ＲＡＭ）と通信し、相互接続３２３およびフラッシュインターフェイス３２５を介してフラッシュＲＡＭと通信し、並びに相互接続３２３およびネットワークインターフェイス３２８を介してサーバと通信することによって処理を行う。表示インターフェイス３２６は、表示情報の利用をユーザに提供し、Ｉ／Ｏインターフェイス３２７は、ユーザ入力を受け取り、ユーザに出力を提供する。
【０１２２】
図３３は、いくつかの実施形態に従って、ラック型マルチプロセッササーバ３０３を示している。
【０１２３】
図３４は、いくつかの実施形態に従って、サーバ３０４内の機能要素のブロック図を示している。コンピュータプロセッサ３４１およびグラフィックプロセッサ３４２は、相互接続３４３を介して一時データを記憶するためのＲＡＭ３４４と通信し、ネットワークインターフェイス３４５を介して他のサーバおよび装置と通信することによって処理を行う。
【図１】
2019070799.tif 000009
【図２】
2019070799.tif 000010
【図３】
2019070799.tif 000011
【図４】
2019070799.tif 000012
【図５Ａ】
2019070799.tif 000013
【図５Ｂ】
2019070799.tif 000014
【図５Ｃ】
2019070799.tif 000015
【図６Ａ】
2019070799.tif 000016
【図６Ｂ】
2019070799.tif 000017
【図６Ｃ】
2019070799.tif 000018
【図７】
2019070799.tif 000019
【図８】
2019070799.tif 000020
【図９】
2019070799.tif 000021
【図１０】
2019070799.tif 000022
【図１１】
2019070799.tif 000023
【図１２Ａ】
2019070799.tif 000024
【図１２Ｂ】
2019070799.tif 000025
【図１２Ｃ】
2019070799.tif 000026
【図１２Ｄ】
2019070799.tif 000027
【図１２Ｅ】
2019070799.tif 000028
【図１３Ａ】
2019070799.tif 000029
【図１３Ｂ】
2019070799.tif 000030
【図１３Ｃ】
2019070799.tif 000031
【図１３Ｄ】
2019070799.tif 000032
【図１３Ｅ】
2019070799.tif 000033
【図１４】
2019070799.tif 000034
【図１５Ａ】
2019070799.tif 000035
【図１５Ｂ】
2019070799.tif 000036
【図１５Ｃ】
2019070799.tif 000037
【図１６Ａ】
2019070799.tif 000038
【図１６Ｂ】
2019070799.tif 000039
【図１６Ｃ】
2019070799.tif 000040
【図１７Ａ】
2019070799.tif 000041
【図１７Ｂ】
2019070799.tif 000042
【図１７Ｃ】
2019070799.tif 000043
【図１７Ｄ】
2019070799.tif 000044
【図１８Ａ】
2019070799.tif 000045
【図１８Ｂ】
2019070799.tif 000046
【図１８Ｃ】
2019070799.tif 000047
【図１８Ｄ】
2019070799.tif 000048
【図１９】
2019070799.tif 000049
【図２０】
2019070799.tif 000050
【図２１】
2019070799.tif 000051
【図２２】
2019070799.tif 000052
【図２３】
2019070799.tif 000053
【図２４】
2019070799.tif 000054
【図２５】
2019070799.tif 000055
【図２６】
2019070799.tif 000056
【図２７】
2019070799.tif 000057
【図２８】
2019070799.tif 000058
【図２９】
2019070799.tif 000059
【図３０】
2019070799.tif 000060
【図３１Ａ】
2019070799.tif 000061
【図３１Ｂ】
2019070799.tif 000062
【図３１Ｃ】
2019070799.tif 000063
【図３１Ｄ】
2019070799.tif 000064
【図３２】
2019070799.tif 000065
【図３３】
2019070799.tif 000066
【図３４】
2019070799.tif 000067
【外国語明細書】
2019070799000001.pdf