(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】音声認識システムにおけるユニグラムの教師なし発見のための方法及びシステム
(51)【国際特許分類】
G10L 15/06 20130101AFI20241106BHJP
G10L 15/197 20130101ALI20241106BHJP
G10L 15/08 20060101ALI20241106BHJP
【FI】
G10L15/06 300J
G10L15/197
G10L15/08 200J
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024525194
(86)(22)【出願日】2022-11-08
(85)【翻訳文提出日】2024-05-21
(86)【国際出願番号】 US2022049251
(87)【国際公開番号】W WO2023081504
(87)【国際公開日】2023-05-11
(32)【優先日】2021-11-08
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】523074490
【氏名又は名称】ジェネシス クラウド サービシーズ インコーポレイテッド
(74)【代理人】
【識別番号】110002848
【氏名又は名称】弁理士法人NIP&SBPJ国際特許事務所
(72)【発明者】
【氏名】ハイキン、レフ
(72)【発明者】
【氏名】マッツア、アーノン
(72)【発明者】
【氏名】オーバッハ、エヤル
(72)【発明者】
【氏名】ファイザコフ、アブラハム
(57)【要約】
音声データ要素内のユニグラムを自動的に発見するためのシステム及び方法は、各nグラムが1つ以上のユニグラムを含む、複数のnグラムを含む、言語モデルを受信することと、1つ以上の音声データ要素に音響機械学習(ML)モデルを適用して、文字分布関数を取得することと、文字分布関数にグリーディデコーダを適用して、ユニグラムの初期コーパスを予測することと、言語モデルに含まれていない候補ユニグラムのコーパスを取得するために、初期コーパスの1つ以上のユニグラムをフィルタリング除去することと、1つ以上の第1の音声データ要素を分析して、候補ユニグラムを含む少なくとも1つのnグラムを抽出することと、抽出された少なくとも1つのnグラムを含むように、言語モデルを更新することと、を含み得る。
【特許請求の範囲】
【請求項1】
少なくとも1つのプロセッサによる音声データ要素内のユニグラムを自動的に発見する方法であって、
各々が1つ以上のユニグラムを含む、複数のnグラムを含む、言語モデルを受信することと、
1つ以上の第1の音声データ要素に音響機械学習(ML)モデルを適用して、文字分布関数を取得することと、
前記文字分布関数にグリーディデコーダを適用して、ユニグラムの初期コーパスを予測することと、
前記言語モデルに含まれていない候補ユニグラムのコーパスを取得するために、前記初期コーパスの1つ以上のユニグラムをフィルタリング除去することと、
前記1つ以上の第1の音声データ要素を分析して、候補ユニグラムを含む少なくとも1つのnグラムを抽出することと、
抽出された前記少なくとも1つのnグラムを含むように、前記言語モデルを更新することと、を含む、方法。
【請求項2】
更新された前記言語モデルに基づいて、第2の音声データ要素の少なくとも1つのトランスクリプションを生成するために、前記第2の音声データ要素にビームデコーダを適用することを更に含む、請求項1に記載の方法。
【請求項3】
前記文字分布関数が、前記1つ以上の第1の音声データ要素における1つ以上の言語文字の出現の尤度を表す、請求項1に記載の方法。
【請求項4】
抽出された前記少なくとも1つのnグラムを教師データとして使用して、少なくとも1つの前記第2の音声データ要素に基づいて、前記音響MLモデルを再トレーニングすることを更に含む、請求項1に記載の方法。
【請求項5】
1つ以上のユニグラムをフィルタリング除去することが、
1つ以上の候補ユニグラムについて、関連ユニグラムが、前記言語モデルに既に含まれているユニグラムのスペルミスバージョンである尤度を表す、スペルミス確率を計算することと、
既定の閾値を超えるスペルミス確率に対応する候補ユニグラムをフィルタリング除去することと、を更に含む、請求項1に記載の方法。
【請求項6】
スペルミス確率を計算することが、
前記候補ユニグラムと、前記言語モデルに既に含まれている少なくとも1つの第2のユニグラムとの間のレーベンシュタイン距離値を計算することと、
前記1つ以上の第1の音声データ要素における前記候補ユニグラムと前記少なくとも1つの第2のユニグラムとの間の出現率を表す頻度スコアを計算することと、
前記レーベンシュタイン距離値及び前記頻度スコアに基づいて、前記スペルミス確率を計算することと、を含む、請求項5に記載の方法。
【請求項7】
前記グリーディデコーダが、前記初期コーパスの各ユニグラムについて、それぞれの信頼レベルを発するように適合されており、スペルミス確率を計算することが、
前記1つ以上の第1の音声データ要素における前記候補ユニグラムの1つ以上の出現についての前記信頼レベルの平均を表す信頼スコアを計算することと、
前記信頼スコアに更に基づいて、前記スペルミス確率を計算することと、を更に含む、請求項6に記載の方法。
【請求項8】
前記言語モデルが、1つ以上の言語構文規則の定義を更に含み、前記レーベンシュタイン距離値を計算することが、
前記候補ユニグラムと前記第2のユニグラムとの間の単一文字編集の数を計算することと、
前記1つ以上の言語構文規則及び前記単一文字編集の数に基づいて、前記レーベンシュタイン距離値を計算することと、を含む、請求項7に記載の方法。
【請求項9】
1つ以上の候補ユニグラムについて、前記候補ユニグラムが、前記言語モデルに既に含まれている2つのユニグラムの連結である尤度を表す欠落スペース確率を計算することと、
既定の閾値を超える欠落スペース確率に対応する候補ユニグラムをフィルタリング除去することと、を更に含む、請求項5に記載の方法。
【請求項10】
少なくとも1つの第1の候補ユニグラムについて、前記候補ユニグラムのコーパスに基づいて、第1のユニグラム埋め込みベクトルを計算することと、
少なくとも1つの第2の候補ユニグラムについて、前記候補ユニグラムのコーパスに基づいて、第2のユニグラム埋め込みベクトルを計算することと、
前記第1のユニグラム埋め込みベクトル及び前記第2のユニグラム埋め込みベクトルに基づいて、類似性スコアを計算することと、
前記類似性スコアに更に基づいて、前記スペルミス確率を計算することと、を更に含む、請求項7に記載の方法。
【請求項11】
複数の文書を含む文書コーパスを受信することを更に含み、各文書が、特定の主題領域に関連付けられており、各文書が、複数の文書ユニグラムを含む、請求項10に記載の方法。
【請求項12】
1つ以上の候補ユニグラムについて、前記複数の文書ユニグラムに基づいて、領域内スコアを計算することを更に含み、前記領域内スコアは、前記候補ユニグラムが少なくとも1つの特定の領域に関連する尤度を表す、請求項11に記載の方法。
【請求項13】
1つ以上の候補ユニグラムについて、
(a)既定の閾値を超える領域内スコアを有し、(b)前記1つ以上の第1の音声データ要素に現れる、文書ユニグラムのサブセットを含む、コンテキストリストをコンパイルすることと、
各文書について、前記文書及び前記コンテキストリストに現れるユニグラムを含む交差グループを取得することと、
各文書について、前記交差グループ内の文書ユニグラムの前記領域内スコアに基づいて、前記文書に対する前記候補ユニグラムの関連性を表す正確性スコアを計算することと、
既定の閾値を下回る最大正確性スコアに対応する候補ユニグラムをフィルタリング除去することと、を更に含む、請求項12に記載の方法。
【請求項14】
前記グリーディデコーダが、前記初期コーパスの各ユニグラムについて、それぞれの信頼レベルを発するように適合されており、前記1つ以上の第1の音声データ要素の音声データ要素を分析することが、
1つ以上の候補ユニグラムについて、前記音声データ要素内で、前記候補ユニグラムを含む隣接ユニグラムのnグラムを位置特定することを含み、
(a)前記nグラムの前記ユニグラムが既定の値を超える信頼レベルに対応し、(b)前記nグラムが既定の閾値数を超えるユニグラムを含む場合、前記言語モデルが、前記抽出された少なくとも1つのnグラムを含むように更新され、
そうでない場合、前記候補ユニグラムが、前記候補ユニグラムのコーパスからフィルタリング除去される、請求項1に記載の方法。
【請求項15】
音声データ要素内のユニグラムを自動的に発見するためのシステムであって、命令コードのモジュールが記憶されている、非一時的メモリデバイスと、前記メモリデバイスに関連付けられており、前記命令コードのモジュールを実行するように構成された少なくとも1つのプロセッサと、を備え、前記命令コードのモジュールの実行時に、前記少なくとも1つのプロセッサは、
各々が1つ以上のユニグラムを含む、複数のnグラムを含む、言語モデルを受信し、
1つ以上の第1の音声データ要素に音響MLモデルを適用して、文字分布関数を取得し、
前記文字分布関数にグリーディデコーダを適用して、ユニグラムの初期コーパスを予測し、
前記言語モデルに含まれていない候補ユニグラムのコーパスを取得するために、前記初期コーパスの1つ以上のユニグラムをフィルタリング除去し、
前記1つ以上の第1の音声データ要素を分析して、候補ユニグラムを含む少なくとも1つのnグラムを抽出し、
抽出された前記少なくとも1つのnグラムを含むように、前記言語モデルを更新するように構成されている、システム。
【請求項16】
少なくとも1つの第2の音声データ要素を受信し、更新された前記言語モデルに基づいて、前記少なくとも1つの第2の音声データ要素のトランスクリプションを生成するように構成されたビームデコーダを更に備える、請求項15に記載のシステム。
【請求項17】
前記少なくとも1つのプロセッサが、
1つ以上の候補ユニグラムについて、関連ユニグラムが、前記言語モデルに既に含まれているユニグラムのスペルミスバージョンである尤度を表す、スペルミス確率を計算すること、及び
既定の閾値を超えるスペルミス確率に対応する候補ユニグラムをフィルタリング除去することによって、1つ以上のユニグラムをフィルタリング除去するように構成されている、請求項15に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、概して音声認識の分野に関する。より具体的には、本発明は、音声認識システムにおけるユニグラムの教師なし発見に関する。
【0002】
優先権の主張
本出願は、2021年11月8日に米国特許商標庁に出願された「METHOD AND SYSTEM FOR UNSUPERVISED DISCOVERY OF UNIGRAMS IN SPEECH RECOGNITION SYSTEMS」と題された米国特許出願第17/520,816号の利益を主張する。
【背景技術】
【0003】
音声分析及び音声認識の分野では、大語彙連続音声認識(Large Vocabulary Continuous Speech Recognition、LVCSR)システムが、発話されたテキストから認識し、次いで、潜在的に50,000~100,000個の単語及び句の語彙辞書又は言語モデルを適用して、その発話されたテキストのトランスクリプトを生成するために使用される。
【0004】
したがって、LVCSRのような現在利用可能な音声認識システムは、意図的に、語彙外の単語を認識することができない。例えば、製薬会社のコールセンターのLVCSRシステムは、薬剤名及び病状を記述する用語がLVCSR言語モデルに存在しない場合、これらの用語を認識することができない。
【0005】
この点は、通常はグローバルな領域非依存言語モデルから除外され得る領域固有の用語が、それらの特定の分野又は領域においても高い重要性を有し得るという事実によって更に悪化する。薬学の例に関して、薬剤名、及び「インスリン」、「抗ヒスタミン」、「髄膜炎」、「腹痛」、「抗生物質」などの領域内単語は、医学及び薬学の特定の分野において非常に関連し得るが、それにもかかわらず、音声分析システムの言語モデルに含まれ得ず、したがって、音声から認識され得ない。
【0006】
LVCSRのような現在利用可能な音声分析システムは、教師あり学習メカニズムを維持し得、教師あり学習メカニズムは、領域固有言語モデルを更新し、検証するために絶えず連続してフレーズをnグラムベースの言語モデルに手動で追加することによって、「オンサイト」という語彙を拡張することを可能にする。このアプローチは、広範な人間の介入を必要とすることが理解され得る。
【発明の概要】
【0007】
したがって、音声認識システムにおけるユニグラムの自動、連続、及び教師なし発見のための方法及びシステムが必要とされる。
【0008】
本発明の実施形態は、少なくとも1つのプロセッサによる音声データ要素内のユニグラムを自動的に発見する方法を含み得る。
【0009】
方法の実施形態は、各nグラムが1つ以上のユニグラムを含み得る、複数のnグラムを含み得る、言語モデルを受信することと、1つ以上の第1の音声データ要素に音響機械学習(machine-learning、ML)モデルを適用して、文字分布関数を取得することと、文字分布関数にグリーディデコーダを適用して、ユニグラムの初期コーパスを予測することと、言語モデルに含まれていない候補ユニグラムのコーパスを取得するために、初期コーパスの1つ以上のユニグラムをフィルタリング除去することと、1つ以上の第1の音声データ要素を分析して、候補ユニグラムを含む少なくとも1つのnグラムを抽出することと、抽出された少なくとも1つのnグラムを含むように、言語モデルを更新することと、を含む。
【0010】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、(例えば、推論の段階中に)更新された言語モデルに基づいて、第2の音声データ要素の少なくとも1つのトランスクリプションを生成するために、第2の音声データ要素にビームデコーダを適用し得る。
【0011】
いくつかの実施形態によれば、文字分布関数は、1つ以上の第1の音声データ要素における1つ以上の言語文字の出現の尤度を表し得る。
【0012】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、抽出された少なくとも1つのnグラムを教師データとして使用して、少なくとも1つの第2の音声データ要素に基づいて、音響MLモデルを再トレーニングし得る。
【0013】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、(a)1つ以上の候補ユニグラムについて、関連ユニグラムが、言語モデルに既に含まれているユニグラムのスペルミスバージョンである尤度を表す、スペルミス確率を計算すること、及び(b)既定の閾値を超えるスペルミス確率に対応する候補ユニグラムをフィルタリング除去することによって、1つ以上のユニグラムをフィルタリング除去し得る。
【0014】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、候補ユニグラムと、言語モデルに既に含まれている少なくとも1つの第2のユニグラムとの間のレーベンシュタイン距離値を計算すること、1つ以上の第1の音声データ要素における候補ユニグラムと少なくとも1つの第2のユニグラムとの間の出現率を表す頻度スコアを計算すること、及びレーベンシュタイン距離値及び頻度スコアに基づいて、スペルミス確率を計算することによって、スペルミス確率を計算し得る。
【0015】
いくつかの実施形態によれば、グリーディデコーダは、初期コーパスの各ユニグラムについて、それぞれの信頼レベルを発するように適合され得る。そのような実施形態では、少なくとも1つのプロセッサは、1つ以上の第1の音声データ要素における候補ユニグラムの1つ以上の出現についての信頼レベルの平均を表す信頼スコアを計算すること、及び信頼スコアに更に基づいて、スペルミス確率を計算することによって、更に、スペルミス確率を計算するように構成され得る。
【0016】
いくつかの実施形態によれば、言語モデルは、1つ以上の言語構文規則の定義を更に含み得る。そのような実施形態では、少なくとも1つのプロセッサは、候補ユニグラムと第2のユニグラムとの間の単一文字編集の数を計算すること、並びに1つ以上の言語構文規則及び単一文字編集の数に基づいて、レーベンシュタイン距離値を計算することによって、レーベンシュタイン距離を計算するように構成され得る。
【0017】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、1つ以上の候補ユニグラムについて、欠落スペース確率を計算し得る。欠落スペース確率は、候補ユニグラムが、言語モデルに既に含まれている2つのユニグラムの連結であり得る尤度を表し得る。追加的に、少なくとも1つのプロセッサは、既定の閾値を超える欠落スペース確率に対応する候補ユニグラムをフィルタリング除去し得る。
【0018】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、少なくとも1つの第1の候補ユニグラムについて、候補ユニグラムのコーパスに基づいて、第1のユニグラム埋め込みベクトルを計算し、少なくとも1つの第2の候補ユニグラムについて、候補ユニグラムのコーパスに基づいて、第2のユニグラム埋め込みベクトルを計算し、第1のユニグラム埋め込みベクトル及び第2のユニグラム埋め込みベクトルに基づいて、類似性スコアを計算し、類似性スコアに更に基づいて、スペルミス確率を計算し得る。
【0019】
いくつかの実施形態によれば、少なくとも1つのプロセッサは、複数の文書を含む文書コーパスを受信し得、各文書は、特定の主題領域に関連付けられており、各文書は、複数の文書ユニグラムを含む。
【0020】
少なくとも1つのプロセッサは、1つ以上の候補ユニグラムについて、複数の文書ユニグラムに基づいて、領域内スコアを計算し得、当該領域内スコアは、候補ユニグラムが少なくとも1つの特定の領域に関連し得る尤度を表す。
【0021】
追加的に、1つ以上の候補ユニグラムについて、少なくとも1つのプロセッサは、文書ユニグラムのサブセットを含み得るコンテキストリストをコンパイルし得る。文書ユニグラムのサブセットは、(a)既定の閾値を超える領域内スコアを有し、(b)1つ以上の第1の音声データ要素に現れ得る。各文書について、少なくとも1つのプロセッサは、文書及びコンテキストリストに現れるユニグラムを含み得る交差グループを取得し得る。各文書について、少なくとも1つのプロセッサは、交差グループ内の文書ユニグラムの領域内スコアに基づいて、文書に対する候補ユニグラムの関連性を表す正確性スコアを計算し得る。少なくとも1つのプロセッサは、その後、既定の閾値を下回る最大正確性スコアに対応する候補ユニグラムをフィルタリング除去又は省略し得る。
【0022】
いくつかの実施形態によれば、グリーディデコーダは、初期コーパスの各ユニグラムについて、それぞれの信頼レベルを発するように適合され得る。そのような実施形態では、少なくとも1つのプロセッサは、1つ以上の第1の音声データ要素の音声データ要素を、1つ以上の候補ユニグラムについて、音声データ要素内で、候補ユニグラムを含み得る隣接ユニグラムのnグラムを位置特定することによって分析され得、(a)当該nグラムのユニグラムが既定の値を超える信頼レベルに対応し、(b)当該nグラムが既定の閾値数を超えるユニグラムを含む場合、言語モデルが、抽出された少なくとも1つのnグラムを含むように更新され得る。そうでない場合、そうでない場合、候補ユニグラムは、候補ユニグラムのコーパスからフィルタリング除去され得る。
【0023】
本発明の実施形態は、音声データ要素内のユニグラムを自動的に発見するためのシステムを含み得る。システムの実施形態は、命令コードのモジュールが記憶され得る、非一時的メモリデバイスと、メモリデバイスに関連付けられており、命令コードのモジュールを実行するように構成された少なくとも1つのプロセッサとを含み得る。
【0024】
命令コードのモジュールの実行時に、少なくとも1つのプロセッサは、各々が1つ以上のユニグラムを含み得る、複数のnグラムを含み得る、言語モデルを受信し、1つ以上の第1の音声データ要素に音響MLモデルを適用して、文字分布関数を取得し、文字分布関数にグリーディデコーダを適用して、ユニグラムの初期コーパスを予測し、言語モデルに含まれていない候補ユニグラムのコーパスを取得するために、初期コーパスの1つ以上のユニグラムをフィルタリング除去し、1つ以上の第1の音声データ要素を分析して、候補ユニグラムを含み得る、少なくとも1つのnグラムを抽出することと、抽出された少なくとも1つのnグラムを含むように、言語モデルを更新するように構成され得る。
【0025】
追加的に、システムの実施形態は、少なくとも1つの第2の音声データ要素を受信し、更新された言語モデルに基づいて、少なくとも1つの第2の音声データ要素のトランスクリプションを生成するように構成されたビームデコーダを含み得る。
【図面の簡単な説明】
【0026】
本発明とみなされる主題は、本明細書の結論部分において特に指摘され、明確に特許請求される。しかしながら、本発明は、組織及び動作方法の両方に関して、その目的、特徴、及び利点とともに、添付の図面とともに読まれるとき、以下の詳細な説明を参照することによって最もよく理解され得る。
【
図1】ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステムに含まれ得る、コンピューティングデバイスを描示する。
【
図2】ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステムの概要を描示する。
【
図3】ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステムにおけるデータの流れを描示する。
【
図4】ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステムの別の図を描示する。
【
図5】ブロック図であり、本発明のいくつかの実施形態による、テキスト内の音声認識のためのシステムに含まれ得る、ユニグラム抽出モジュールを描示する。
【
図6】ヒートマップであり、本発明のいくつかの実施形態による、音声認識のためのシステムにおける英語アルファベットの文字の置換及び削除の確率を描示する。
【
図7】ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステムに含まれ得る、ユニグラム抽出モジュールの別の例を描示する。
【
図8】流れ図であり、本発明のいくつかの実施形態による、音声認識のためのシステムによって、音声データ要素内のユニグラムを自動的に発見する方法を描示する。
【0027】
例解を単純かつ明確にするために、図に例解される要素は、必ずしも縮尺通りに描画されていないことを理解されるであろう。例えば、いくつかの要素の寸法は、明確にするために他の要素に対して誇張されている場合がある。更に、適切であると考えられる場合、参照数字は、対応する又は類似の要素を示すために図面間で繰り返され得る。
【発明を実施するための形態】
【0028】
当業者は、本発明が、その趣旨又は本質的な特徴から逸脱することなく、他の特定の形態で実施され得ることを理解するであろう。したがって、前述の実施形態は、本明細書に説明される本発明を限定するのではなく、あらゆる点で例解的であるとみなされるべきである。したがって、本発明の範囲は、前述の説明によってではなく、添付の特許請求の範囲によって示され、したがって、特許請求の範囲の均等物の意味及び範囲内に入る全ての変更は、その中に包含されることが意図される。
【0029】
以下の詳細な説明では、本発明の完全な理解を提供するために、多数の具体的な詳細が記載される。しかしながら、本発明がこれらの特定の詳細なしに実施され得ることは、当業者によって理解されるであろう。他の例では、本発明を不明瞭にしないために、周知の方法、手順、及び構成要素は、詳細には説明されていない。一実施形態に関して説明されるいくつかの特徴又は要素は、他の実施形態に関して説明される特徴又は要素と組み合わされ得る。明確にするために、同じ又は類似の特徴又は要素の説明は繰り返されない場合がある。
【0030】
本発明の実施形態はこの点に限定されないが、例えば、「処理」、「コンピューティング」、「計算」、「決定」、「確立」、「分析」、「チェック」などの用語を利用する議論は、コンピュータのレジスタ及び/又はメモリ内の物理(例えば、電子)量として表されるデータを、コンピュータのレジスタ及び/又はメモリ内の物理量として同様に表される他のデータ、あるいは動作(単数又は複数)及び/又はプロセス(単数又は複数)を実行するための命令を記憶し得る他の情報非一時的記憶媒体に操作及び/又は変換する、コンピュータ、コンピューティングプラットフォーム、コンピューティングシステム、又は他の電子コンピューティングデバイスの動作及び/又はプロセスを指し得る。
【0031】
本発明の実施形態は、この点で限定されないが、本明細書で使用される「複数(plurality)」及び「複数(a plurality)」という用語は、例えば、「複数」又は「2つ以上」を含み得る。「複数(plurality)」又は「複数(a plurality)」という用語は、本明細書を通して、2つ以上の構成要素、デバイス、要素、ユニット、パラメータなどを説明するために使用され得る。「セット」という用語は、本明細書で使用される場合、1つ以上のアイテムを含み得る。
【0032】
明示的に述べられない限り、本明細書で説明される方法実施形態は、特定の順序又はシーケンスに制約されない。追加的に、説明される方法実施形態又はその要素のうちのいくつかは、同時に、同じ時点で、又は並行して発生又は実行することができる。
【0033】
以下の表1は、本明細書で使用される用語の用語集を含む。
【0034】
【0035】
ここで
図1を参照すると、この図は、いくつかの実施形態による、音声認識のためのシステムに含まれ得るコンピューティングデバイスを描示するブロック図である。
【0036】
コンピューティングデバイス1は、例えば、中央処理ユニット(central processing unit、CPU)プロセッサ、チップ又は任意の好適なコンピューティングデバイス若しくは計算デバイスであり得るプロセッサ又はコントローラ2と、オペレーティングシステム3と、メモリ4と、実行可能コード5と、記憶システム6と、入力デバイス7と、出力デバイス8とを含み得る。プロセッサ2(又は、場合によっては複数のユニット又はデバイスにわたる1つ以上のコントローラ又はプロセッサ)は、本明細書に説明される方法を実行するように、及び/又は様々なモジュール、ユニットなどとして実行若しくは動作するように構成され得る。2つ以上のコンピューティングデバイス1が、本発明の実施形態によるシステムに含まれ得、1つ以上のコンピューティングデバイス1が、本発明の実施形態によるシステムの構成要素として機能し得る。
【0037】
オペレーティングシステム3は、コンピューティングデバイス1の動作の調整、スケジューリング、調停、監督、制御、又は管理すること、例えば、ソフトウェアプログラム若しくはタスクの実行をスケジューリングすること、又はソフトウェアプログラム若しくは他のモジュール若しくはユニットが通信することを可能にすることを伴うタスクを実行するように設計及び/又は構成された任意のコードセグメント(例えば、本明細書で説明される実行可能コード5と同様のもの)であり得るか、又はそれを含み得る。オペレーティングシステム3は、商用オペレーティングシステムであり得る。オペレーティングシステム3は、任意の構成要素であり得、例えば、いくつかの実施形態では、システムは、オペレーティングシステム3を必要としない、又は含まないコンピューティングデバイスを含み得ることに留意されたい。
【0038】
メモリ4は、例えば、ランダムアクセスメモリ(Random-Access Memory、RAM)、読み出し専用メモリ(read only memory、ROM)、ダイナミックRAM(Dynamic RAM、DRAM)、シンクロナスDRAM(Synchronous DRAM、SD-RAM)、ダブルデータレート(double data rate、DDR)メモリチップ、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期記憶ユニット、長期記憶ユニット、又は他の好適なメモリユニット若しくは記憶ユニットであり得るか、又はそれらを含み得る。メモリ4は、複数の可能な異なるメモリユニットであり得るか、又はそれらを含み得る。メモリ4は、コンピュータ若しくはプロセッサ非一時的可読媒体、又はコンピュータ非一時的記憶媒体、例えば、RAMであり得る。一実施形態では、メモリ4、ハードディスクドライブ、別の記憶デバイスなどの非一時的記憶媒体は、プロセッサによって実行されたときにプロセッサに本明細書で説明する方法を実行させ得る命令又はコードを記憶し得る。
【0039】
実行可能コード5は、任意の実行可能コード、例えば、アプリケーション、プログラム、プロセス、タスク又はスクリプトであり得る。実行可能コード5は、おそらくオペレーティングシステム3の制御下でプロセッサ又はコントローラ2によって実行され得る。例えば、実行可能コード5は、本明細書で更に説明されるように音声認識を実行し得るアプリケーションであり得る。明確にするために、実行可能コード5の単一のアイテムが
図1に示されているが、本発明のいくつかの実施形態によるシステムは、メモリ4にロードされ、プロセッサ2に本明細書に説明される方法を実行させ得る実行可能コード5と同様の複数の実行可能コードセグメントを含み得る。
【0040】
記憶システム6は、例えば、当技術分野において既知であるようなフラッシュメモリ、当技術分野において既知であるようなマイクロコントローラ若しくはチップの内部にあるか、又はそれらに埋め込まれたメモリ、ハードディスクドライブ、CD-Recordable(CD-R)ドライブ、ブルーレイディスク(Blu-ray disk、BD)、ユニバーサルシリアルバス(universal serial bus、USB)デバイス、又は他の好適なリムーバブル及び/若しくは固定記憶ユニットであり得るか、又はそれらを含み得る。1つ以上の音声データ要素に関連するデータは、記憶システム6に記憶され得、記憶システム6からメモリ4にロードされ得、プロセッサ又はコントローラ2によって処理され得る。いくつかの実施形態では、
図1に示される構成要素のいくつかは省略され得る。例えば、メモリ4は、記憶システム6の記憶容量を有する不揮発性メモリであり得る。したがって、別個の構成要素として示されているが、記憶システム6は、メモリ4に埋め込まれるか、又は含まれ得る。
【0041】
入力デバイス7は、任意の好適な入力デバイス、構成要素、若しくはシステム、例えば、取り外し可能なキーボード若しくはキーパッド、マウスなどであり得るか、又はそれらを含み得る。出力デバイス8は、1つ以上の(場合によっては取り外し可能な)ディスプレイ若しくはモニタ、スピーカ、及び/又は任意の他の好適な出力デバイスを含み得る。任意の適用可能な入力/出力(input/output、I/O)デバイスが、ブロック7及び8によって示されるように、コンピューティングデバイス1に接続され得る。例えば、有線又は無線ネットワークインターフェースカード(network interface card、NIC)、ユニバーサルシリアルバス(USB)デバイス、又は外部ハードドライブが、入力デバイス7及び/又は出力デバイス8に含まれ得る。ブロック7及び8によって示されるように、任意の好適な数の入力デバイス7及び出力デバイス8がコンピューティングデバイス1に動作可能に接続され得ることが認識されるであろう。
【0042】
本発明のいくつかの実施形態によるシステムは、複数の中央処理ユニット(CPU)又は任意の他の好適な多目的若しくは特定のプロセッサ若しくはコントローラ(例えば、要素2に類似)、複数の入力ユニット、複数の出力ユニット、複数のメモリユニット、及び複数の記憶ユニットなどであるが、それらに限定されない、構成要素を含み得る。
【0043】
近年、一般に「エンドツーエンド認識(End-to-end recognition)」と称される音声認識に対する新しい手法が、新しい単語を検出するための別の選択肢を開いた。認識を実行するために単語レベルのグラフに依存し、全ての単語が音素のシーケンスから構築される従来の音声認識方法とは異なり、エンドツーエンド認識は完全に文字レベルに切り替わっている。これは、単語又は音素のシーケンス(又はグラフ、「格子」)である出力ではなく、エンドツーエンド音声認識が文字分布関数を出力することを意味する。
【0044】
次に、本発明のいくつかの実施形態による、音声認識のためのシステム100の概要を描示するブロック図である、
図2を参照する。本明細書で詳述されるように、システム100は、1つ以上の音声データ要素内のユニグラム(例えば、単語)を自動的に発見して、所与の言語モデル160Aを向上させ、次いで、向上された言語モデル160Aをビームデコーダとともに利用して、1つ以上の新しい音声データ要素サンプルに対して音声認識を実行するように構成され得る。
【0045】
図2に描示されるように、システム100は、本明細書で詳述されるように、3つの別個の機能(破線によってマークされる)、すなわち、音響分析、グリーディデコーディング、及びビームデコーディングの間の相乗効果を活用しながら、エンドツーエンド音声認識を実装し得る。
【0046】
本発明のいくつかの実施形態によれば、システム100は、ソフトウェアモジュール、ハードウェアモジュール、又はそれらの任意の組み合わせとして実装され得る。例えば、システム100は、
図1の要素1などのコンピューティングデバイスであり得るか、又はそれを含み得、本明細書で更に説明されるように、実行可能コードの1つ以上のモジュール(例えば、
図1の要素5)を実行して音声認識を行うように適合され得る。
【0047】
図2に示されるように、矢印は、システム100への及び/若しくはシステム100からの、並びに/又はシステム100のモジュール若しくは要素間の1つ以上のデータ要素の流れを表し得る。いくつかの矢印は、明確にするために
図2では省略されている。
【0048】
図2に示されるように、システム100は、言語モデル160Aの初期バージョンを(例えば、
図1の入力デバイス7から)受信し得る。いくつかの実施形態によれば、言語モデル160Aは、複数のnグラムを含み得、各nグラムは、1つ以上のユニグラムを含み得る。例えば、自然言語処理(NLP)の技術分野において既知であるように、nグラムベース言語モデル160Aは、複数のnグラムを含み得、各々は、ユニグラム(例えば、単語)のセット又は組み合わせを表す。各nグラムはnグラムに関連付けられ得る確率は、文書のコーパスにおけるユニグラムのそれぞれの組み合わせの出現の確率又は頻度を表す。例えば、nグラム「I love you」のnグラム確率は、nグラム「I love pancakes」のnグラム確率よりも高い場合があり、これは、ユニグラム「you」がnグラム「I love」に続く音声データ要素20に現れる尤度が高いことを表す。
【0049】
いくつかの実施形態によれば、システム100は、(例えば、
図1の入力デバイス7を介して)1つ以上の音響又は音声データ要素20を受信し得る。1つ以上の音響又は音声データ要素20は、例えば、自然言語(例えば、英語、フランス語など)の人間の音声を含み得るか、又はそれを表し得る音響ファイル又はデータストリームであり得る。本明細書で詳述されるように、システム100は、1つ以上の音声データ要素20内のユニグラムの教師なし発見を実行し、その後、受信された1つ以上の音響又は音声データ要素20の音声トランスクリプションを表すトランスクリプションデータ要素100Aを生成するように構成され得る。
【0050】
いくつかの実施形態によれば、システム100は、音声20から1つ以上の音響特徴112Aを抽出するように適合された、特徴抽出モジュール112を含み得る。
【0051】
例えば、特徴抽出モジュール112は、音声20から、メル周波数ケプストラム係数(Mel-frequency cepstral coefficient、MFCC)などの1つ以上の音響特徴112Aを抽出するように構成され得る。当技術分野において既知であるように、MFCC係数は、音響信号のストリームなどの音響データ要素のケプストラムから導出され得る。ケプストラムは、音響信号の周波数スペクトルの対数の逆フーリエ変換(inverse Fourier transform、IFT)として計算され得る。
【0052】
図2に示されるように、特徴抽出モジュール112は、音響特徴112A(例えば、MFCC)を機械学習(ML)ベースの音響モデル110に供給し得る。システム100は、1つ以上の音声データ要素20及び/又は対応する音響特徴112Aに音響モデル110を適用して、文字分布関数110Aを生成又は予測(当技術分野において一般に称される)し得る。文字分布関数110Aは、入力音響特徴112Aに基づいて、所与のアルファベットにわたる言語文字(例えば、[a~z])の確率分布を表し得る。言い換えれば、文字分布関数110Aは、1つ以上の音声データ要素20における1つ以上の言語文字の出現の尤度を表し得る。
【0053】
当技術分野において既知であるように、音響モデル110は、入力音声20のデータ要素の特定の時間枠(例えば、25ミリ秒(ms))に関して、文字分布関数110Aを予測し得る。言い換えれば、入力音声20の各時間枠について、MLベースの音響モデル110は、言語文字(及び/又は音声20内の非音声又は「空白」部分)の文字分布関数110Aを生成し得、これは、その時間枠中に特定の文字又は文字が発声又は発音された確率を表す。
【0054】
いくつかの実施形態によれば、音響モデル110は、畳み込みニューラルネットワーク(convolutional neural-network、CNN)モデル、深層畳み込みニューラルネットワーク(deep convolutional neural network、DNN)モデル、再帰型ニューラルネットワーク(recurrent neural network、RNN)モデル、アテンションベースのニューラルネットワークモデル、又は当技術分野において既知であるような文字分布関数110Aを予測するための任意の他の適切なMLモデルなど、MLベースのモデルを含み得る。
【0055】
いくつかの実施形態によれば、システム100は、基礎となる音声データ要素20の特定の時間枠に関連する、音響モデル110から文字分布関数110Aを受信するように適合された、グリーディデコーダモジュール120を含み得る。
【0056】
当技術分野において既知であるように、グリーディデコーダ120は、所与の時間枠内の文字の反復及び/又は非音声若しくは「空白」部分の出現を最初に除去するように構成され得る。その後、グリーディデコーダ120は、文字分布関数110Aに基づいて、1つ以上のユニグラム120A又は単語を生成するために、所与の時間枠内及び/又は複数の連続する時間枠の中で、残りの文字の最も尤度の高い組み合わせ又はシーケンスを決定し得る。例えば、グリーディデコーダ120は、文字分布関数110Aによって反映されるように、最大出現確率に対応する文字のシーケンスを選択することによって、1つ以上のユニグラム120Aを生成し得る。
【0057】
追加的に、グリーディデコーダ120は、ユニグラムメタデータ120A’を、生成された各ユニグラム120Aに関連付けるか、又は帰属させ得る。例えば、ユニグラムメタデータ120A’は、各生成されたユニグラム又は単語120Aに対応する時間枠を含み得、関連するユニグラム120Aを含む文字のシーケンスの開始時間及び終了時間を定義する。
【0058】
別の例では、グリーディデコーダ120は、1つ以上の(例えば、各)生成されたユニグラムについて、基礎となる音声データ要素20内のユニグラム120Aの出現についての信頼レベル又は信頼スコア(例えば、[0,1]の範囲内の数値)を表すユニグラムメタデータ120A’要素を計算し得る。信頼スコアは、例えば、ユニグラムに含まれる文字の確率の関数として(例えば、文字分布関数110Aに反映されるように)計算され得、例えば、関連するユニグラムの長さ(例えば、文字数)によって正規化され得る。次いで、グリーディデコーダ120は、関連するユニグラム120Aのためのメタデータ120A’として、信頼スコアを割り当てるか又はそれに帰属させ得る。
【0059】
いくつかの実施形態によれば、システム100は、ユニグラム120A(及び対応するメタデータ120A’)の初期コーパスを生成又は予測するために、文字分布関数110Aの1つ以上のインスタンスに対して、グリーディデコーダ120を連続的に適用し得る。「連続的に」という用語は、この文脈では、グリーディデコーダ120が、単一の音声データ要素20内のそれぞれの複数の時間枠から生じる、文字分布関数110Aの複数のインスタンスに適用され得ることを示すために使用され得る。追加的に、又は代替的に、グリーディデコーダ120は、複数の音声データ要素20から生じる文字分布関数110Aの複数のインスタンスに適用され得る。
【0060】
グリーディデコーダ120などのグリーディデコーダは、任意の文字シーケンスを認識することが可能であり得るが、スペルミスされた単語(例えば、「thermometer」の代わりに「termometer」)を出力する傾向があり得ることが、当業者によって理解され得る。言い換えれば、ユニグラム120Aの初期コーパスは、スペルミスされた単語を含み得る。逆に、ビームデコーダ170などのビームデコーダは、スペルミスされた単語を含むトランスクリプションを生成又は発しない可能性があるが、有限ではあるが、大きい語彙又は言語モデル160Aによって制限される可能性がある。
【0061】
次に、本発明のいくつかの実施形態による、音声認識のためのシステム100内のデータの流れを描示するブロック図である、
図3を参照する。
図3のシステム100は、
図2に描示されるものと同じシステム100であり得、モジュール及び要素のいくつかは、明確にするために省略されていることが理解され得る。
【0062】
いくつかの実施形態によれば、グリーディデコーダ120は、ユニグラム120Aの初期コーパスにフィルタを適用して、言語モデル160Aに既に含まれているユニグラム(例えば、単語)をフィルタリング除去又は除外するように構成されたフィルタモジュール121と協働し得る。このフィルタリングは、本明細書でユニグラム121Aとして示される候補ユニグラムのコーパス、及び対応するメタデータ121A’を生成し得る。
【0063】
本明細書で詳述されるように(例えば、
図4に関連して)、システム100は、候補ユニグラム121Aにフィルタのセットを適用して、本明細書でフィルタリングされたユニグラム130A、140Aとして示される1つ以上のフィルタリングされたユニグラムと、フィルタリングされたユニグラム130A、140Aを記述する対応するメタデータ(130A’、140A’)を生成し得る。(例えば、
図4に関連して)本明細書で詳述されるように、システム100は、音響音声データ要素20及び/又はフィルタリングされたユニグラム130A/140Aを分析して、1つ以上のフィルタリングされたユニグラム130A/140Aを含み得る少なくとも1つのnグラム150Aを生成又は抽出し得る。次いで、システム100は、少なくとも1つのnグラム150Aを含むように、言語モデル160Aを更新するか、又は向上させ得る。
【0064】
図3に示されるように、システム100は、ビームデコーダ170を含み得るか、又はビームデコーダ170と協働し得る。システム100は、ビームデコーダ170が向上された言語モデル160Aを利用して、向上された言語モデル160Aに基づいて、音響音声データ要素20の誤りのないトランスクリプション100Aを生成することを可能にし得る。言い換えれば、システム100は、更新された言語モデル160Aに基づいて、新しい音声データ要素の少なくとも1つのトランスクリプション100Aを生成するために、少なくとも1つの新しい音声データ要素20にビームデコーダ170を適用し得る。
【0065】
追加的に、本明細書で詳述されるように、システム100は、抽出されたnグラム150Aを、音響モデル110を微調整又は再トレーニングするために、音響モデル110のためのフィードバックとして、(例えば、音声データ要素20内のnグラムの開始時間及び終了時間によってマークされた)音声データ要素20の対応する音響セグメントとともに利用し得る。したがって、システム100は、nグラム150Aの自動抽出に基づいて、文字分布関数110Aのより正確な予測を自動的に生成し得る。
【0066】
本発明の実施形態は、音声認識及びトランスクリプションのタスクを実行する実用的なアプリケーションを含み得、音声認識のための現在利用可能な方法及びシステムに対するいくつかの改善を含み得る。
【0067】
例えば、グリーディデコーダ及びビームデコーダの利点を相乗的に組み合わせることによって、実施形態は、言語モデル160Aに存在しない新しいユニグラム又は単語を自動的に(例えば、手動監視を必要とせずに)識別し、これらの新しいユニグラム又は単語を含むように言語モデル又は語彙160Aを向上させ、新しく識別されたユニグラムを含む音声データ要素の誤りのないトランスクリプションを生成し得る。
【0068】
追加的に、本発明の実施形態は、自動ユニグラム識別のこの利点を利用して、音響モデル110などの基礎となる音響モデルを連続的に(例えば、時間を通して繰り返し)再トレーニング又は精緻化し得る。そのような音響モデルは、任意の音声認識パラダイムの基礎であり得ることが理解され得る。したがって、音響モデルの精緻化又は微調整は、例えば、話者のロケール又はアクセントにとらわれない可能性があるテキストトランスクリプション100Aを生成することになり得る。
【0069】
図4は、ブロック図であり、本発明のいくつかの実施形態による、テキスト内の自動トピック検出のためのシステム100を描示する。
図4のシステム100は、
図2及び/又は
図3に描示されるものと同じシステム100であり得ることが理解され得る。
【0070】
図4に示されるように、システム100は、ユニグラム抽出モジュール130及び140として示される2つの相補的ユニグラム抽出モジュールを含み得る。ユニグラム抽出モジュール130/140は、言語モデル又は語彙160Aに既に含まれているユニグラムを欠いている候補ユニグラム121Aのコーパスをグリーディデコーダ120から受信し得る。少なくとも1つの(例えば、各々)ユニグラム抽出モジュール130/140は、受信された候補ユニグラム121Aを、スペルミスされた単語、又は音声データ要素20の適切なコンテキストにおいて正しい可能性が高い新しい単語のいずれかとして分類するように構成され得る。
【0071】
いくつかの実施形態によれば、第1のユニグラム抽出モジュール(例えば、140)は、Wikipedia要約などの外部テキストコーパスを利用して、スペルミスの可能性が高い単語をフィルタリング除去し得、第2のユニグラム抽出モジュール(例えば、130)は、そのような外部テキストコーパスを必要とせずに、スペルミスフィルタのセットを利用し得る。システム100は、例えば外部テキストコーパスの利用可能性に応じて、これらの機能のいずれか1つを別々に使用し得ることが理解され得る。追加的に、又は代替的に、システム100は、ユニグラム抽出モジュール130及び140の機能を相乗的に組み合わせて、nグラムベースの言語モデル160Aを向上させるために、正しく綴られている可能性が高い新しいユニグラム(例えば、単語)を生成し得る。
【0072】
ここでまた
図5も参照すると、この図は、ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステム100に含まれ得る、ユニグラム抽出モジュール130の一例を描示する。
図5の例に示されるように、ユニグラム抽出モジュール130は、本明細書において初期候補生成器131、レーベンシュタイン距離ベースフィルタ133、欠落スペースフィルタ135、及び候補対フィルタ137として示される、いくつかの(例えば、4つの)異なるフィルタのうちの1つ以上(例えば、セット又はカスケード)を含み得る。フィルタリングの順序(例えば、フィルタセットの順序)は、本発明の実施形態の間で変化し得ることが理解され得る。他のフィルタタイプ及び組み合わせも可能である。本明細書で詳述されるように、1つ以上のフィルタ(例えば、131、133、135、及び/又は137)は、候補ユニグラム121Aのグループ又はリストをフィルタリングして、フィルタリングされたユニグラム130Aのリスト又はグループ、及び対応するメタデータ130A’を生成し得る。
【0073】
いくつかの実施形態によれば、初期候補生成器131は、(a)言語モデル若しくは語彙160Aに既に含まれている、又は(b)既定の信頼閾値(例えば、0.95)を下回る信頼スコアメタデータ121A’を有する候補ユニグラム121Aをフィルタリング除去するように構成され得る。
【0074】
追加的に、又は代替的に、初期候補生成器131は、既定の最小カウント(例えば、5)を下回るユニグラム121Aをフィルタリング除去するように構成され得る。この段階で、システム100は通常、数百又は数千の一意の候補ユニグラムを含み得ることが理解され得る。これらの一意の候補ユニグラムのうちのいくつかは、正しく綴られたユニグラム(例えば、単語)であり得るが、他のものは、誤って綴られ得る。
【0075】
本明細書で詳述されるように、ユニグラム抽出モジュール130(及び/又は140)は、1つ以上の(例えば、各)候補ユニグラム121Aについて、関連する候補ユニグラム121Aが言語モデル160Aに既に含まれているユニグラムのスペルミスバージョンである可能性を表す、スペルミス確率を計算するように構成され得る。ユニグラム抽出モジュール130(及び/又は140)は、既定の閾値を超えるスペルミス確率に対応する候補ユニグラム121Aをフィルタリング除去し得る。言い換えれば、ユニグラム抽出モジュール130(及び/又は140)は、正しく綴られた単語に関連してスペルミスされた又は誤って綴られた単語のより多くを除去し得るように、候補ユニグラム121Aを連続的に(例えば、時間にわたって繰り返し)フィルタリング除去し得る。
【0076】
表2
以下の表2は、本発明のいくつかの実施形態による、グリーディデコーダによって生成され得、音声認識のためにシステム100によって対処又は修正され得る、様々なタイプのスペルミスされたユニグラム又は単語121Aの例を詳述する。表2に提供される例は、グリーディデコーダ120によって生成された、スペルミスされ、頻繁に発生し、高信頼度のユニグラムの実験的に遭遇した例を表す。
【0077】
【0078】
当技術分野において既知であるように、レーベンシュタイン距離は、2つのシーケンス間の差を測定するために使用され得るメトリックである。例えば、2つの単語間のレーベンシュタイン距離は、一方の単語を他方の単語に変更するのに必要な単一文字編集(例えば、挿入、削除、又は置換)の最小数である。
【0079】
いくつかの実施形態によれば、レーベンシュタインベースのフィルタ133は、正しく綴られた単語の少なくとも1つの文字における変更(例えば、置換、挿入、及び/又は削除)を明示する、スペルミスされた候補ユニグラム121Aを処理する(例えば、除去する)ように構成され得る。
【0080】
表2に提示される例に関して、例1~7は、(例えば、「Forward」に関して)文字の置換、挿入、及び/又は削除に起因して発生したスペルエラーを有する、スペルミスされたユニグラム121A(例えば、「Forard」)を表す。言い換えれば、レーベンシュタインベースフィルタ133は、語彙内単語に(例えば、レーベンシュタイン距離に関して)十分に近い少なくとも1つの候補ユニグラム121Aをフィルタリング除去するように構成され得る。
【0081】
当技術分野において既知であるようなレーベンシュタイン距離フィルタリングは、ユニグラム間のレーベンシュタイン距離メトリックのみに基づいてユニグラム121Aをフィルタリング除去し得、正当な(例えば、正しく綴られた)単語を不必要に除外する可能性があるという意味で、アグレッシブすぎることが判明する可能性があることが理解され得る。例えば、複数の正しく綴られた語彙内の変形が単語に対して存在する場合、現在利用可能なレーベンシュタインベースのフィルタは、正当な候補ユニグラム121Aを単語の1つの変形に一致させ、したがって、候補ユニグラム121Aを誤って不適格とみなし、フィルタリング除去する可能性がある。
【0082】
いくつかの実施形態によれば、レーベンシュタインベースのフィルタ133は、そのような誤差を回避するために1つ以上の追加のテストを実装し得、したがって、当技術分野において既知であるレーベンシュタイン距離フィルタに対する改善を提供し得る。
【0083】
例えば、レーベンシュタインベースフィルタ133は、候補ユニグラム121Aと、言語モデル160Aに既に含まれている少なくとも1つの語彙内ユニグラムとの間のレーベンシュタイン距離値133Aを計算し得る。次いで、レーベンシュタインベースのフィルタ133は、1つ以上の音声データ要素20における候補ユニグラム121Aと少なくとも1つの語彙内ユニグラムとの間の出現率を表す頻度スコア133Bを計算し得る。レーベンシュタインベースフィルタ133は、その後、レーベンシュタイン距離値133A及び頻度スコア値133Bに基づいて、スペルミス確率133Eを計算し得る。
【0084】
例えば、レーベンシュタインベースフィルタ133は候補ユニグラム121Aと、言語モデル160Aに既に含まれているユニグラムとの間のレーベンシュタイン距離値を計算し得る。レーベンシュタインベースフィルタ133は、(例えば、既定の閾値を下回るレーベンシュタイン距離値を有する)距離メトリック値に従って、1つ以上のそのような対を類似対として識別し得る。レーベンシュタインベースのフィルタ133は、語彙内ユニグラム160Aの類似対ユニグラムと比較して、より高い頻度スコア値133Bを有する(例えば、音声データ要素20においてより多く現れる)候補ユニグラム121Aを保存し得る。
【0085】
例えば、「pressurizing」などの語彙外(out-of-vocabulary、OOV)候補ユニグラム121Aが入力音声データ要素20のコーパスに15回現れ、「pressuring」などの語彙内の(例えば、言語モデル160Aに含まれる)ユニグラムが入力音声データ要素20のコーパスに2回現れる場合、レーベンシュタインベースフィルタ133は、「pressurizing」候補ユニグラム121Aを保存し得る。別の例では、「insect」などのOOV候補ユニグラム121Aが入力音声データ要素20のコーパスに17回現れ、「inject」などの語彙内ユニグラムが3580回現れる場合、レーベンシュタインベースのフィルタ133は、候補ユニグラム121Aのリストから「insect」をフィルタリング除去し得る。
【0086】
本明細書で詳述されるように(例えば、
図2に関連して)、グリーディデコーダ120は、ユニグラムの初期コーパス120Aの各予測ユニグラムについて、予測されたユニグラムの信頼レベルを表すそれぞれのユニグラムメタデータ120A’要素を発するか、又は計算するように構成され得る。いくつかの実施形態によれば、レーベンシュタインベースフィルタ133は、更に信頼レベルに基づいて(例えばレーベンシュタイン距離値133A及び頻度スコア値133Bに加えて)、スペルミス確率133Eを計算し得る。
【0087】
例えば、レーベンシュタインベースフィルタ133は、音声データ要素コーパス20内の候補ユニグラム121Aの1つ以上の出現に対する信頼レベル120A’の平均を表す平均信頼スコア133Dを計算し得る。レーベンシュタインベースフィルタ133は、頻度スコア値133B平均信頼スコア133Dの重み付けされた和を計算し得る。レーベンシュタインベースのフィルタ133は次いで、それらの語彙内ユニグラム160A類似対ユニグラムと比較して、頻度スコア値133B平均信頼スコア133Dのより高い重み付けされた和を有する候補ユニグラム121Aを保存し得る。
【0088】
追加的に、又は代替的に、レーベンシュタインベースフィルタ133は、専用の言語固有ルールの既定のセットに基づいて、候補ユニグラム121Aを保存し得る。
【0089】
例えば、言語モデル160Aは、1つ以上の言語固有の構文規則の定義を含み得る。例えば英語の場合、1つ以上の言語固有の構文規則は、時間に関する動詞活用(例えば、過去形を意味するために動詞の末尾に「ed」を追加すること)、複数対単数の活用(例えば、複数の名詞を意味するために「s」を追加すること)などを定義し得る。
【0090】
そのような実施形態では、レーベンシュタインベースフィルタ133は、候補ユニグラム121Aと語彙内ユニグラムとの間の単一文字編集又は変更の数を計算し、1つ以上の言語構文規則及び単一文字編集の数に基づいて、レーベンシュタイン距離値133Aを計算し得る。
【0091】
上記の活用例に関して、レーベンシュタインベースのフィルタ133は、時間活用(例えば、過去形「evaluated」対現在形「evaluates」)及び/又は複数対単数活用(例えば、「prescription」対「prescriptions」)などに基づいて、候補ユニグラム121Aを保存し得る。候補ユニグラム121Aを保存するための他のそのような規則も実装され得る。
【0092】
当技術分野において既知である現在利用可能なレーベンシュタイン距離フィルタは、文字変化のタイプを区別しない場合があることが理解され得る。
【0093】
例えば、「n」で置換された「m」は、2つの文字の音声類似性に起因して、頻繁な誤りである可能性がある。対照的に、「d」の「o」での置換はそれほど頻繁に起こらない可能性がある。したがって、「m」を「n」で置換することは、「d」を「o」で置換することよりも、スペルミスを表す可能性が高い。別の例では、音声認識の現在利用可能なシステムにおける母音「i」の誤った挿入は、子音「t」の挿入よりも頻繁に発生する可能性があり、したがって、スペルミスを表す可能性が高い。
【0094】
いくつかの実施形態によれば、レーベンシュタインベースのフィルタ133は、そのような変更(例えば、置換、削除、及び/又は挿入)の頻度を考慮に入れ得、したがって、当技術分野において既知であるレーベンシュタイン距離フィルタに対する改善を提供し得る。例えば、ユニグラム抽出モジュール130は、(例えば、
図6に関連して)本明細書で詳述されるように、グリーディデコーダトランスクリプション対人間トランスクリプションの文字レベルアライメントに基づいて変化確率133Cを計算することによって、文字の変化(例えば、置換、削除、及び/又は挿入)を定量化し得る。
【0095】
ここで
図6を参照すると、
図6は、本発明のいくつかの実施形態による、音声認識のためのシステムにおける英語アルファベットの文字の変化133C(例えば、置換及び/又は削除)の確率を描示する、ヒートマップの例である。
【0096】
図6のヒートマップの例は、数時間にわたる音響音声データ要素、及び対応するトランスクリプションに基づいて取得されている。各文字に対する変化確率133Cは、変化発生の頻度又は数と、音声データ要素20のコーパスにおける文字の出現の総数との間の比として計算された。
【0097】
例えば、
図6のヒートマップに示されるように、文字「z」及び「s」は、「q」及び「c」と同様に、高い置換確率を有する。別の例では、アポストロフィ(’)文字は、非常に大きい削除確率を有する。
【0098】
いくつかの実施形態によれば、レーベンシュタインベースフィルタ133は、候補ユニグラム121Aと、言語モデル160Aに既に含まれている少なくとも1つの語彙内ユニグラムとの間のレーベンシュタイン距離値133Aを計算し得る。レーベンシュタイン距離値133Aに寄与する各文字について、レーベンシュタインベースフィルタ133が基礎となる変化133Cの確率を計算し得る。レーベンシュタインベースフィルタ133は、レーベンシュタイン距離値133Aに基づいて、更に、頻度スコア値133B及び/又は変化確率133Cに基づいて、スペルミス確率133Eを計算し得る。例えば、スペルミス確率133Eは、変化確率133Cによって重み付けされたレーベンシュタイン距離値133Aの重み付けされた和として計算され得る。レーベンシュタインベースフィルタ133は、次いで、スペルミス確率133Eに基づいて、1つ以上の候補ユニグラム121Aをフィルタリング除去し得る。
【0099】
表2の例(例えば、エントリ8及び9)に示されるように、グリーディデコーダは、2つの連続するユニグラム(例えば、単語)間のスペース又は「空白」の省略に起因して、スペルミスされた候補ユニグラム121Aを生成し得る。例えば、グリーディデコーダ120は、「Thankyou」などのスペルミスされた候補ユニグラム121Aを生成するために、「Thank」という単語と「you」という単語との間の空白を省略し得る。
【0100】
いくつかの実施形態によれば、ユニグラム抽出モジュール130は、そのようなスペルミスされた候補ユニグラム121Aを省略又はフィルタリング除去するように構成された欠落スペースフィルタモジュール135を含み得る。
【0101】
言い換えれば欠落スペースフィルタモジュール1351つ以上の候補ユニグラム121Aについて、候補ユニグラム121Aが言語モデル160Aに既に含まれている2つのユニグラムの連結である尤度を表す、欠落スペース確率を計算し得る。欠落スペースフィルタモジュール135はその後、既定の閾値を超える欠落スペース確率135Aに対応する候補ユニグラム121Aをフィルタリング除去し得る。
【0102】
例えば、欠落スペースフィルタモジュール135は、(a)音声データ要素20のコーパスにおける候補ユニグラム121A(例えば、「Thankyou」)の出現頻度、及び(b)連結後の候補ユニグラム121A(例えば、「Thankyou」)と同じユニグラムを生成する連結バイグラム(例えば、「Thank」及び「you」などの連続ユニグラムからなる)の出現頻度を計算し得る。欠落スペースフィルタモジュール135は、これらの計算された出現頻度に基づいて、欠落スペース確率135Aを計算し得、既定の閾値を超える欠落スペース確率に対応する候補ユニグラム121Aをフィルタリング除去し得る。
【0103】
追加的に、又は代替的に、欠落スペースフィルタ135は候補ユニグラム121Aのリストから、非連結ユニグラムの対応する組み合わせ(例えば、「Thank」及び「you」)よりも頻度が低い全ての「連結」候補ユニグラム121A(例えば、「Thankyou」)をフィルタリング除去し得る。この例では、そのようなフィルタリングの背後にある論理は、「Thankyou」が音声データ要素20のコーパスにおいて「Thankyou」よりも頻繁に現れるという事実に依存しており、したがって、「Thankyou」はおそらくスペルミスであり、除去されるべきである。
【0104】
いくつかの実施形態によれば、ユニグラム抽出モジュール130は、言語モデル160Aの既知の語彙内に対ユニグラムを有しないが、候補ユニグラム121Aのリスト内により頻繁な対候補ユニグラム121Aを有する候補ユニグラム121Aを省略又はフィルタリング除去するように構成された候補対フィルタモジュール137を含み得る。
【0105】
いくつかの実施形態によれば、候補対フィルタモジュール137は、候補ユニグラム121Aの1つ以上の(例えば、それぞれの)対間の距離メトリック値(例えば、本明細書で詳述されるようなレーベンシュタイン距離値)を計算し得る。候補対フィルタモジュール137は、距離メトリック値に従って、例えば、既定の閾値を下回るレーベンシュタイン距離値を有する、1つ以上のそのような対を類似対として識別し得る。各類似対の各メンバ(例えば、候補ユニグラム121A)について、候補対フィルタモジュール137は、音声データ要素20のコーパスにおける出現頻度を計算し、その後、頻度の低いメンバを除去又はフィルタリング除去し得る。
【0106】
例えば、言語モデル160Aは、最初に、ユニグラム(例えば、単語)「diabetes」を欠いている場合がある。時間の経過とともに、候補ユニグラム121Aのリストは、正しいユニグラム候補121A「diabetes」、及びスペルミスされたユニグラム候補121A「diabete」を含むように進化し得る。この例では、候補対フィルタモジュール137は、候補ユニグラム121Aのリストからスペルミスされた候補ユニグラム121A「diabete」をフィルタリング除去又は省略し、本明細書で詳述されるように、更なる分析のために正しい候補ユニグラム121A「diabetes」を維持するように構成され得る。
【0107】
ここでまた
図7を参照すると、この図は、ブロック図であり、本発明のいくつかの実施形態による、音声認識のためのシステム100に含まれ得る、ユニグラム抽出モジュール140の別の例を描示する。
【0108】
図7の矢印は、ユニグラム抽出モジュール140のモジュール間のデータの流れ、及び/又はユニグラム抽出モジュール140への若しくはユニグラム抽出モジュール140からのデータの流れを表し得る。いくつかの矢印は、明確にするために省略されている。
【0109】
図7に示されるように、ユニグラム抽出モジュール140は、グリーディデコーダ120から候補ユニグラム121Aの1つ以上(例えば、リスト)を受信し得、候補ユニグラム121Aのリストにフィルタリングプロセスを適用して、1つ以上のフィルタリングされたユニグラム140A及び対応するメタデータを取得し得る。
【0110】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、複数のテキスト文書40を含み得る外部文書コーパスを(例えば、
図1の入力デバイス7から)受信し得る。「外部」という用語は、この文脈では、文書40が音声データ要素20と同じ主題領域に属していない場合があり、システム100によるトランスクリプションの結果でない場合があることを示すために使用され得る。
【0111】
各文書40は、複数の文書ユニグラム(例えば、単語)40Aを含み得る。例えば、文書コーパスは、Wikipedia要約などの紙の要約である複数のオンライン文書40を含み得、文書ユニグラム40Aは、Wikipedia要約に含まれる単語であり得る。本明細書で詳述されるように、ユニグラム抽出モジュール140は、テキスト文書40のコーパスを利用して、グリーディデコーダ120によって生成されたどの候補ユニグラム121Aが誤っている可能性が高いかを決定し、それらをフィルタリング除去し得る。
【0112】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、当技術分野において既知であるように、word2vec埋め込みモデル142などの埋め込みモデル142を含み得る。
【0113】
埋め込みモデル142は、埋め込みベクトル142Aを計算するか、又は発するために、グリーディデコーダ120によって生成されたユニグラムのコーパス(例えば、ユニグラム120A、121A)に基づいてトレーニングされ得る。言い換えれば、候補ユニグラム121Aの各サンプルについて、埋め込みモデル142は、対応する候補ユニグラム121Aの意味論的意味のベクトル表現であり得るか、又はそれを含み得る、埋め込みベクトル142Aを生成し得る。
【0114】
本明細書で詳述されるように、ユニグラム抽出モジュール140は、グリーディデコーダ120及び文書40のコーパスから来るノイズを低減するために、レーベンシュタイン距離、領域内スコア、及びユニグラム頻度とともに埋め込みベクトル類似性スコアを利用し得る。
【0115】
文書40(例えば、Wikipedia要約)は、グリーディデコーダ120によって生成され得るユニグラム40A(例えば、単語)を含み得るが、それにもかかわらず、音声データ要素20のトランスクリプションのコンテキストにおいて不正確であり得るので、そのようなツールの組み合わせが必要とされ得る。
【0116】
例えば、音声データ要素20は、「going」という単語を含む場合があり、この単語は、グリーディデコーダ120によって「gong」として誤って表記される場合があり、この「gong」自体は、外部文書40のコーパス内に現れる場合がある、正しく綴られた単語である。この例によって、(a)十分に小さいレーベンシュタイン距離と、(b)十分に大きい埋め込みベクトル類似性値又は領域内スコアとの組み合わせが、スペルミスされたユニグラムの可能性が高いことを示し得ることが明らかであり得る。
【0117】
言い換えれば、本明細書で詳述されるように、本発明の実施形態は、レーベンシュタイン距離値133A、埋め込み類似性スコア142B、領域内スコア、及び出現頻度に基づいて、又はそれらの関数(例えば、重み付けされた和)として、スペルミス確率を計算し得る。
【0118】
ユニグラム抽出モジュール140によって実行されるユニグラムの抽出は、ユニグラム抽出モジュール130によって実行されるユニグラムの抽出と相補的であり得、ユニグラムの抽出と相乗的に動作し得ることが当業者によって理解され得る。
【0119】
例えば、ユニグラム抽出モジュール130は、十分に大きい外部文書40のコーパスに依存しない場合がある。一方、ユニグラム抽出モジュール140は、候補ユニグラムの初期信頼レベル120A’を(ユニグラム抽出モジュール130のために使用されるものに関して)低減することを可能にし得、したがって、より多くの候補が考慮されることを可能にし、発見された単語の最終セットを広げる。
【0120】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、文書ユニグラム40A及び/又は候補ユニグラム121Aのシンタックスを処理又は整列するように構成された前処理モジュール141を含み得る。
【0121】
例えば、前処理モジュール141は、句読点又は特殊文字なしで、小文字化されるように外部文書40(例えば、Wikipedia要約)を準備し得る。
【0122】
別の例では、前処理モジュール141は、候補ユニグラム121A(例えば、「トラブルシュート」)のグリーディデコーダ結果コーパス内のコロケーションを見つけ、全ての見つけられたコロケーションされたユニグラムが下線(例えば、トラブルシュート)と「接着」されたコーパスのクローン121A’を準備し得る。これは、音声データ要素20のコーパスにおける共起対単一生起の頻度を分析し、次いで、既定の閾値に基づいて、コロケーションが見つかるかどうかを決定することによって行われ得る。
【0123】
いくつかの実施形態によれば、埋め込みモデル(例えば、word2vecモデル)142が、コーパスクローンユニグラム121A’に基づいて、トレーニングされ、埋め込みベクトル142Aを生成し得る。
【0124】
いくつかの実施形態によれば、システム100は、本明細書において領域内ユニグラム及びバックグラウンドユニグラムと称され得る2つのタイプのユニグラムを区別し得る。「領域内」という用語は、この文脈において、システム100が動作するように構成されている特定の主題領域内にあるユニグラムを示すために使用され得る。「バックグラウンド」という用語は、この文脈では、システム100が動作するように構成されている特定の主題領域を超え得るユニグラムを示すために使用され得る。
【0125】
例えば、システム100は、例えば製薬会社のコールセンターにおいて音声認識を実行するために配備され得る。そのような用途では、音声データ要素20は、薬学及び医学の主題領域に関する議論を含み得る。この点に関して、領域内ユニグラムは、「insulin」、「heartrate」、「leukocytes」、「emphysema」など、薬学及び医学の主題領域から取られた単語を含み得る。
【0126】
同じ例に関して、「hello」、「thanks」、「no」、「not」、「what」、「today」などの一般的なユニグラムは、いずれの主題領域に対して一意又は固有でなく、したがって、バックグラウンド領域又は領域外の単語などと称され得る。複数の主題領域にわたるそのような単語の出現の豊富さは、それらが音声データ要素20の処理に無関係なデータを追加し得るという意味で、これらの単語を「ノイジー」にするものであることが理解され得る。追加的に、「mortgage」及び「credit」など、銀行及び保険の主題領域から取られた単語は、薬学及び医学の主題領域に関する領域内ユニグラムではないので、バックグラウンド領域ユニグラムとみなされ得る。
【0127】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、バックグラウンドコーパス生成モジュール143(又は、略してバックグラウンドモジュール143)を含み得る。バックグラウンドモジュール143は、複数のバックグラウンドテキストコーパス20C’を受信するように構成され得る。例えば、バックグラウンドテキストコーパス20C’は、1つ以上の(例えば、複数の)バックグラウンド音声データ要素20Cのトランスクリプションを介して取得される、複数のテキストデータ要素を含み得る。「バックグラウンド」という用語は、この文脈では、音声データ要素20C及び/又は後続のテキストコーパス20C’が音声データ要素20の主題領域に関係しない可能性があることを示すために使用され得る。
【0128】
いくつかの実施形態によれば、バックグラウンドモジュール143は、受信されたテキストコーパス20C’からの低頻度ユニグラムをフィルタリング除去し、バックグラウンドユニグラム143Aのコーパスを生成し得る。そのようなフィルタリングの動機付けは、受信されたテキストコーパス20C’におけるスペルミスされたユニグラムのフィルタリング(例えば、省略)であり得る。
【0129】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、グリーディデコーディングされたコーパス120A内の各候補ユニグラム121Aについて領域内スコア144Aを計算するように適合された、領域内スコア計算器を含み得る。
【0130】
例えば、ユニグラム抽出モジュール140はまた、ユニグラム120Aのグリーディデコーダコーパスにおける候補ユニグラム121Aの第2の出現頻度を計算し得る。ユニグラム抽出モジュール140は、第2の出現頻度を文書又は音声データ要素20の総数で正規化(例えば、除算)し得る。この出現頻度を、本明細書では、フォアグラウンド正規化文書頻度144Bと称され得る。ユニグラム抽出モジュール140は、バックグラウンドユニグラム143Aのコーパスにおける候補ユニグラム121Aの第1の出現頻度を計算し得る。ユニグラム抽出モジュール140は、受信されたテキストコーパス20C’内の文書の総数で第1の出現頻度を正規化(例えば、除算)し得る。この出現頻度を、本明細書では、バックグラウンド正規化文書頻度144Cと称され得る。ユニグラム抽出モジュール140は、その後、フォアグラウンド正規化文書頻度144Bをバックグラウンド正規化文書頻度144Cで除算して、各候補ユニグラム121Aの領域内スコア144Aを取得し得る。
【0131】
本明細書で詳述されるように、グリーディデコーダ120は、各デコーディングされたユニグラム120Aについて、信頼レベルメタデータ120A’などのメタデータ要素120A’を発し得る。いくつかの実施形態によれば、ユニグラム抽出モジュール140は、ユニグラム120Aのグリーディデコーディングされたコーパスの各候補ユニグラム121Aについて、信頼スコア149Aを受信するように適合された、信頼スコアモジュール149を含み得る。信頼スコア149Aは、例えば、各ユニグラムの平均信頼度を表し得る。これは、例えば、グリーディデコーディングされた出力におけるユニグラム120Aの全ての発生を平均化し、それらの信頼レベルメタデータ120A’の平均を計算することによって計算され得る。
【0132】
自然言語処理の分野において既知であるように、単語埋め込みベクトルは、ベクトルスペース内でより近い単語が意味において類似すると予想されるような、単語の意味論的意味のベクトル表現であり得る。単語埋め込みベクトルは、単語又はユニグラムの既定のコーパスに基づいて、埋め込みモデル(例えば、MLベースのモデル)によって取得又は生成され得る。
【0133】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、候補ユニグラム121A(又は121A’)から複数の対組み合わせ122を生成し得、各対122は2つの候補ユニグラム121Aを含み、各対は、候補ユニグラム対122のメンバ間の関係を定義する1つ以上の対メトリック値122Aに関連付けられる。
【0134】
本明細書で詳述されるように、埋め込みモデル例えばword2vecモデル)142は、少なくとも1つの第1の候補ユニグラム121A(又は121A’)について、候補ユニグラム121A(又は121A’)のコーパスに基づいて、第1の単語埋め込みベクトル142Aを生成し、少なくとも1つの第2の候補ユニグラム121A(又は121A’)について、候補ユニグラム121A(又は121A’)のコーパスに基づいて、第2の単語埋め込みベクトル142Aを生成し得る。
【0135】
いくつかの実施形態によれば、埋め込みモデル142は、候補ユニグラム121A(又は121A’)の1つ以上の(例えば、各)対122について、第1のユニグラム埋め込みベクトル142A及び第2のユニグラム埋め込みベクトル142Aに基づく類似性スコア142Bである対メトリック値122Aを計算し得る。例えば、類似性スコア142Bは、候補ユニグラム121Aの対の2つのメンバ間のコサイン類似度として計算され得る。いくつかの実施形態では、埋め込みモデル142は、埋め込みベクトル142Aのみを生成し、かつ/又は信頼スコア149Aに基づいて(例えば、既定の閾値を上回る信頼スコア149Aを有する候補ユニグラム121Aについて)、類似性スコア142Bを計算し得る。
【0136】
追加的に、又は代替的に、ユニグラム抽出モジュール140は、候補ユニグラム121A(又は121A’)の1つ以上の(例えば、各)対122について、本明細書で詳述されるように(例えば、
図5に関連して)、レーベンシュタイン距離値である対メトリック値122Aを計算し得る。
【0137】
追加的に、又は代替的に、ユニグラム抽出モジュール140は、候補ユニグラム121A(又は121A’)の1つ以上の(例えば、各)対122について、対122内の各メンバユニグラム121Aのユニグラム出現頻度である対メトリック値122Aを計算し得る。
【0138】
追加的に、又は代替的に、ユニグラム抽出モジュール140は、候補ユニグラム121Aの1つ以上の(例えば、各)対122について、対122内の各ユニグラムメンバ121Aについての領域内スコア144Cである、対メトリック値122Aを計算し得る。本明細書で詳述されるように、ユニグラム抽出モジュール140は、複数の文書ユニグラム40Aに基づいて、領域内スコア144Cを計算し得、その結果、領域内スコア144Cは、候補ユニグラムが少なくとも1つの特定の領域に関連する尤度を表し得る。
【0139】
追加的に、又は代替的に、ユニグラム抽出モジュール140は、候補ユニグラム121Aの1つ以上の(例えば、各)対122について、対122内の各ユニグラムメンバ121Aについての信頼スコア(例えば、平均信頼レベル)である対メトリック値122Aを計算し得る。
【0140】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、候補ユニグラム145Aの初期リストを生成するために、対メトリック値122A及び/又はそれぞれのユニグラムメタデータ120A’に基づいて、候補ユニグラム121A(又は121A’)をフィルタリング除去するように適合された候補リスト生成器モジュール145を含み得る。言い換えれば、候補ユニグラム145Aの初期リストは、本明細書で詳述されるように、フィルタリング除去された候補ユニグラム121Aを除いて、グリーディデコーダ120によって取得された候補ユニグラム121Aを含み得る。
【0141】
例えば、リスト生成器モジュール145は、既定の信頼閾値を下回る信頼スコア149Aを有する、ユニグラム候補121Aをフィルタリング除去し得る。追加的に、又は代替的に、リスト生成器モジュール145は、音声データ要素20において既定の閾値を下回る出現カウント又は出現頻度を有する、ユニグラム候補121Aをフィルタリング除去し得る。追加的に、又は代替的に、リスト生成器モジュール145は、文書ユニグラム40Aのコーパスに現れない、ユニグラム候補121Aをフィルタリング除去し得る。追加的に、又は代替的に、リスト生成器モジュール145は、語彙内にある(例えば、言語モデル160Aの語彙に含まれる)ユニグラム候補121Aをフィルタリング除去し得る。
【0142】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、本明細書で詳述されるように、候補ユニグラムリスト145Aのユニグラム候補121Aをフィルタリング除去するように構成された、1つ以上のスペルミスフィルタ146を含み得る。
【0143】
第1のスペルミスフィルタ146は、候補ユニグラムリスト145Aの候補ユニグラム121Aを、共通単語(例えば、既定の閾値を下回る領域内スコア144Cを有する無領域単語)のスペルミスである可能性が高いものとしてフィルタリング除去するように構成され得るという意味で、共通単語スペルミスフィルタ146であり得る。
【0144】
本明細書で詳述されるように、「is」、「me」、「I」、「have」、「why」などの共通(例えば、領域固有ではない)単語は、全てのコールセンター領域において同じ頻度を有し得る(ファッション、電気通信、製薬など)。詳細な実施形態では、領域内コーパスにおける関連語の出現頻度をバックグラウンドコーパスにおける出現頻度で除算することによって、領域内スコア144Cを正規化し得る。したがって、共通単語の領域内スコア144Cは、1.0に近い値を有し得る。
【0145】
いくつかの実施形態によれば、共通単語スペルミスフィルタ146は、少なくとも1つの第2の対になったユニグラム(例えば、対122)を有する第1のユニグラム候補121Aを除去又はフィルタリング除去し得、第2の候補ユニグラム121Aは、(a)既定の範囲値内にある(例えば、共通単語であると疑われる)領域内スコア144Cを有するか、又は既定の閾値を上回る信頼スコア(例えば、平均信頼レベル)を有し、(b)第1の候補ユニグラム121Aに対して既定の閾値を下回るレーベンシュタイン距離値を有する。
【0146】
別の例では、共通単語スペルミスフィルタ146は、少なくとも1つの第2の対になったユニグラム(例えば、対122)を有する第1のユニグラム候補121Aを除去又はフィルタリング除去し得、第2の候補ユニグラム121Aは、音声データ要素20において第1のユニグラム候補121Aよりも高い出現頻度を有する。
【0147】
追加的に、共通単語スペルミスフィルタ146は、言語固有の規則に基づいて、1つ以上のユニグラム候補121A候補ユニグラムリスト145Aを保存し得る。例えば、共通単語スペルミスフィルタ146は、複数の活用(例えば、concert対concerts)を含むユニグラム候補121A候補ユニグラムを保存し得る。
【0148】
第2のスペルミスフィルタ146は、候補ユニグラムリスト145Aの候補ユニグラム121Aを、領域内単語(例えば、既定の閾値を上回る領域内スコア144Cを有するユニグラム)のスペルミスである可能性が高いものとしてフィルタリング除去するように構成され得るという意味で、領域内単語スペルミスフィルタ146であり得る。
【0149】
例えば、領域内単語スペルミスフィルタ146は、少なくとも1つの第2の対になったユニグラム(例えば、対122)を有する第1のユニグラム候補121Aを除去又はフィルタリング除去し得、(a)対の候補ユニグラム121Aのメンバ間のレーベンシュタイン距離値が既定の閾値を下回り、(b)第2の候補ユニグラム121Aは、既定の閾値を上回る信頼スコア(例えば、平均信頼レベル)を有し、(c)第2の候補ユニグラム121Aは、音声データ要素20において、第1のユニグラム候補121Aよりも高い出現頻度(例えば、既定の係数だけ)を有する。
【0150】
いくつかの実施形態によれば、スペルミスフィルタ146は、1つ以上の対メトリック値122Aに基づいて、1つ以上の候補ユニグラム121Aのスペルミス確率146Aを計算し得る。例えば、スペルミスフィルタ146は、レーベンシュタイン距離値133A、埋め込み類似性スコア142B、領域内スコア144C、及び/又は出現頻度144Bの関数(例えば、重み付けされた和)としてスペルミス確率146Aを計算し得る。その後、スペルミスフィルタ146は、スペルミス確率146Aが既定の閾値を超える、候補ユニグラム121Aをフィルタリング除去し得る。
【0151】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、残りの候補ユニグラム121Aの各第1の候補ユニグラム121Aについて(例えば、候補リスト生成器145及びスペルミスフィルタ146のフィルタリング後に)コンテキストベクトル147Aを生成するように構成されたコンテキストベクトル生成器モジュール147を含み得る。
【0152】
例えば、特定の残りの各候補ユニグラム121A(例えば、リスト生成器145及びスペルミスフィルタ146の前のステップの後に残っている)について、コンテキストベクトル生成器モジュール147は、候補ユニグラム121A及び語彙内単語(例えば、言語モデル160Aに既に存在するユニグラム)を含む音声データ要素20から生じる、グリーディデコーダトランスクリプションユニグラム121Aの和集合から取られたユニグラムの第1の中間リストを準備し得る。次いで、コンテキストベクトル生成器モジュール147は、第1の中間リストから、既定の閾値を下回る領域内スコア144Cを有する全てのユニグラムを除去して、第2の中間リストを生成し得る。コンテキストベクトル生成器モジュール147は、特定の候補ユニグラム121Aと同じ音声データ要素20に現れる全てのユニグラムの第3の中間リストを準備し得る。コンテキストベクトル生成器モジュール147は、その後、第2の中間リストを第3の中間リストと交差させ、複製をドロップし得る。この交差の結果は、本明細書では、特定の候補ユニグラム121Aに関するコンテキストベクトル147Aと称され得る。
【0153】
コンテキストベクトル147Aは、特定の候補ユニグラム121Aの同じコンテキストに関連する複数のユニグラムを含むリストであり得ることが理解され得る。
【0154】
例えば、システム100の実験的アプリケーションは、候補ユニグラム121A「rodeo」が、「chicago」、「club」、「concert」、「cowboy」、「game」、「venue」、「featuring」、「garden」などのユニグラムを含み得る、コンテキストベクトル147Aを有し得ることを示している。コンテキストベクトル147Aの各ユニグラムは、上述した既定の閾値を上回る領域内スコアを有する。
【0155】
スポーツ主題領域からの別の実験例では、候補ユニグラム121A「dodgers」は、「angels」、「baseball」、「boston」、「chicago」、「cubs」、「game」、「fame」、「reds」、「season」、「stadium」、「yankees」などを含むコンテキストベクトル147Aをもたらした。
【0156】
医薬品主題領域からの別の実験例では、候補ユニグラム121A「injection」は、「absorbed」、「administer」、「blood」、「dose」、「drug」、「needle」、「puncture」、「medicine」、「substance」、「syringes」、「localized」などを含むコンテキストベクトル147Aをもたらした。
【0157】
いくつかの実施形態によれば、ユニグラム抽出モジュール140は、正確性スコア計算モジュール148を含み得る。正確性スコア計算モジュール148は、候補ユニグラムのそれぞれのコンテキストベクトル147Aに基づいて、残りの候補ユニグラム121Aの各候補ユニグラム121Aについて(例えば、候補リスト生成器145及びスペルミスフィルタ146のフィルタリング後に)、正確性スコア148Aを計算するように適合され得る。
【0158】
例えば、各特定の候補ユニグラム121Aに対して、正確性スコア計算モジュール148は、特定の候補ユニグラム121Aを含む文書コーパス40内の全ての文書(例えば、Wikipedia要約)にわたって反復し得る。
【0159】
各反復において、正確性スコア計算モジュール148は、関連文書40からの一意のユニグラム40Aのセットを、候補ユニグラム121Aのコンテキストベクトル147Aと交差させ得る。本明細書で説明するように、コンテキストベクトル又はコンテキストリスト147Aは、(a)既定の閾値を超える領域内スコア144Cを有し、(b)1つ以上の音声データ要素20A(例えば、そこから特定の候補ユニグラム121Aが取得された)に現れる文書ユニグラム40Aのサブセットを含み得る。
【0160】
言い換えれば、各文書40について、正確性スコア計算モジュール148は、文書内及びコンテキストリスト又はコンテキストベクトル147A内に現れるユニグラムを含み得る交差グループを取得し得る。正確性スコア計算モジュール148は、その後、各文書について、交差グループ内の文書ユニグラムの領域内スコア144Cに基づいて、文書に対する候補ユニグラムの関連性を表す正確性スコアを計算し得る。
【0161】
例えば、正確性スコア計算モジュール148は、交差したユニグラムの領域内スコア144Cを合計することによって、正確性スコア148Aを計算し得る。追加的に、正確性スコア計算モジュール148は、例えば、正確性スコア148Aに、交差内のユニグラムの数の平方根(例えば、40A)を乗算することによって、計算された正確性スコア148Aを正規化し得る。反復を通して、正確性スコア計算モジュール148は、最高又は最大正確性スコア148A値(例えば、全ての文書40の中で最大)、及び対応する文書40の識別を維持し得る。
【0162】
いくつかの実施形態によれば、正確性スコア計算モジュール148は、残りの候補ユニグラム121Aのうちの1つ以上(例えば、各々)について最大正確性スコア148A及び対応する文書40を見つけることに進み得る。次いで、正確性スコア計算モジュール148は、既定の閾値を下回る最大正確性スコアに対応する候補ユニグラム121Aをフィルタリング除去(例えば、除外)し得る。
【0163】
例えば、正確性スコア計算モジュール148は、候補ユニグラム121Aを、それらの正確性スコア148Aに基づいて降順にソートし、特定の閾値を下回るテールを除去し得る。それぞれが最良コンテキスト一致文書40に現れる候補ユニグラムのこのソートされたリストは、単語の正しさに関する指示を提供し得ることが理解され得る。
【0164】
例えば、バイオ薬学の主題領域における候補ユニグラム121A評価の実験結果は、候補ユニグラム121Aの以下のリストを、それらの対応する正確性スコア148Aとともに生成した:「prescribed」-19628、「ingredient」-15540、「dose」15042、「prostate」-10541、「syringe」-8681、「antibiotics」-8284、「anxiety」-8477、「kidneys」-8046など。
【0165】
別の例では、チケット(例えば、スポーツイベント、劇場、オペラなどのチケット)を転売する主題領域における候補ユニグラム121A評価の実験結果は、候補ユニグラム121Aの以下のリストを、対応する正確性スコア148Aとともにもたらした:「performances」-5439、「yankees」-4471、「cubs」-3803、「angels」-3803、「stadium」-3803、「reds」-3481、「rodeo」-3269、「dodgers」-2574、「braves」-2511、「concerts」-2412、「playoff」-2182、「nationals」-1869など。
【0166】
ユニグラム抽出モジュール140は、上位スコアの候補ユニグラム121A(例えば、最も高い正確性スコア148Aを有する)を選択又は識別し得る。これらのユニグラムは、本明細書では識別されたユニグラム140Aと称される。識別されたユニグラム140A(識別されたユニグラム130Aと同様)は、次いで、本明細書で詳述されるように、言語モデル160Aを向上させるために更に分析され得る。
【0167】
ここで再び、
図4を参照する。いくつかの実施形態によれば、かつ、例えば、
図3及び/又は
図4に関連して本明細書で詳述されるように、システム100は、nグラム拡張モジュール150を含み得る。Nグラム拡張モジュール150は、音声データ要素20から少なくとも1つのnグラム150Aを抽出するために、識別されたユニグラム130A及び/又は140Aを考慮して、音声データ要素20を分析するように構成され得る。少なくとも1つのnグラム150Aは、1つ以上の識別されたユニグラム130A/140Aを含み得る。
【0168】
本明細書で詳述されるように、グリーディデコーダ120は、1つ以上の(例えば、各)生成されたユニグラムについて、信頼レベル又は信頼スコアを表すユニグラムメタデータ120A’要素を計算し得る。
【0169】
いくつかの実施形態によれば、nグラム拡張モジュール150は、グリーディデコーダトランスクリプションにおけるユニグラム120Aの発生を分析し得る。1つ以上の識別された候補ユニグラム130A/140A、n-グラム拡張モジュール150は、音声データ要素20において、候補ユニグラム130A/140Aを含む、隣接ユニグラムのn-グラムを位置特定し得る。
【0170】
いくつかの実施形態によれば、1つ以上の候補ユニグラムについて130A/140A、nグラム拡張モジュール150は、音声データ要素20において、候補ユニグラム130A/140Aを含む、隣接ユニグラムのnグラムを位置特定し得る。言い換えれば、nグラム拡張モジュール150は、(グリーディデコーディングされたユニグラム120Aのシーケンスである)音声データ要素20のグリーディエンコーダ120のトランスクリプションを検索して、デコーディングされたユニグラム120Aのシーケンス内の識別されたユニグラム130A及び/又は140Aを見つけ得る。
【0171】
Nグラム拡張モジュール150は、識別されたユニグラム130A及び/又は140Aを、本明細書で詳述されるように、拡張検索アルゴリズムにおける「アンカー」ユニグラムとして使用し得る。「アンカー」という用語は、この文脈では、拡張検索プロセスの開始をマークし得る、識別されたユニグラム(例えば、130A及び/又は140A)を示すために使用され得る。
【0172】
Nグラム拡張モジュール150は、音声データ要素20内に識別されたユニグラム130A及び/又は140Aを含む、ユニグラム120A(例えば、単語)のシーケンスを見つけるように構成され得る。これらのユニグラムのシーケンス120Aは、本明細書では抽出されたnグラム150Aと称される。その後、Nグラム拡張モジュール150は、抽出された少なくとも1つのnグラム150Aを含むように、言語モデル160Aを更新し得る。
【0173】
いくつかの実施形態によれば、その名前によって示されるようにNグラム拡張モジュール150は、アンカーユニグラム130/140から開始して、グリーディエンコーダ120によって取得されたユニグラム120Aのシーケンスにおいて、拡張検索のプロセスを実行し得る。「拡張」という用語は、停止条件が満たされるまで、アンカーユニグラム130/140から少なくとも1つの方向にユニグラム120Aのシーケンスを拡張することによってnグラムが構成され得ることを示すために、本明細書で使用され得る。
【0174】
例えば、グリーディデコーダ120から取得されたユニグラムのシーケンス120A内のアンカー識別されたユニグラム130A/140Aから開始して、拡張検索は、両方向に次のユニグラム(例えば、単語)に(例えば、ユニグラムのシーケンス120A内の前のユニグラムに、及びユニグラムのシーケンス120A内の後続の単語に)進むことが可能である。
【0175】
(a)次のユニグラム120Aが、既定の閾値を上回る信頼値メタデータ120A’を有し、(b)次のユニグラム120Aも、識別されたユニグラム130A/140Aのグループに含まれ、かつ/又は言語モデル160Aに含まれる場合、次のユニグラム120Aは、拡張nグラム150Aに追加又はマージされる。次のユニグラム120Aが上記の条件(a)及び(b)を満たさない場合、停止条件は関連する方向で満たされ、拡張検索プロセスは、その方向で停止される。停止条件が両方向で満たされる場合、拡張検索プロセスは、関連するアンカー識別されたユニグラム130A/140Aについて終了され、nグラム150Aの拡張が停止される。次いで、Nグラム拡張モジュール150は、グリーディデコーディングされたトランスクリプションユニグラム120Aのシーケンス内の次のアンカー識別されたユニグラム130A/140Aに進み得る。
【0176】
上記で詳述される拡張検索プロセスは、nグラム150A内の全てのユニグラム又は単語が、既定の閾値よりも大きい信頼レベル120A’を有し得、したがって、正しく綴られる可能性が高いことを保証し得ることが理解され得る。これは、nグラム150Aが正しい確率を増加させる追加のフィルタとして機能する。
【0177】
したがって、いくつかの実施形態によれば、(a)拡張nグラム150Aのユニグラム120Aが既定の閾値を超える信頼レベル120A’に対応し、(b)拡張nグラム150Aが少なくとも既定の閾値数のユニグラムを含む場合、言語モデルビルダ160は、抽出された少なくとも1つのnグラム150Aを含むように、言語モデル160Aを更新し得る。そうでない場合、候補ユニグラム130A/140Aは、候補ユニグラムのコーパスからフィルタリングされ得、言語モデル160Aに導入されない場合がある。
【0178】
いくつかの実施形態によれば、Nグラム拡張モジュール150は、nグラム150Aの長さを単語の最大値又は長さに制限し得る。例えば、Nグラム拡張モジュール150は、nグラム150Aの長さをアンカーユニグラムに関連して各方向において6単語に制限し得、13単語の最大nグラム長(アンカーユニグラムを含む)をもたらす。
【0179】
追加的に、又は代替的に、nグラム拡張モジュール150は、nグラム150Aの長さを最小値、例えば3単語の長さに制限し得る。そのような制限は、nグラム150Aがnグラム内のメンバユニグラム間のコンテキスト関係を維持し得ることを保証し得る。
【0180】
いくつかの実施形態によれば、Nグラム拡張モジュール150は、逐語的に同一のnグラムの量を制限し得る。これは、全nグラムを、抽出された語彙外ユニグラムを含む言語モデルに寄与する。
【0181】
いくつかの実施形態によれば、Nグラム拡張モジュール150は、グリーディデコーディングされたユニグラム120Aのシーケンスから「そのまま」nグラム150Aを抽出する方法に加えて、スペルミスされている可能性が高いユニグラムアンカー出現130A/140Aを訂正することによって、より多くのnグラムを復元し得る。
【0182】
例えば、Nグラム拡張モジュール150は、ユニグラム151Aのリストを準備するために、
図7のスペルミスフィルタ(単数又は複数)146と協働し、表2のような類似性テーブルを利用し得る。ユニグラム151Aのリストは、誤ってスペルミスされたユニグラムを含み、ユニグラムアンカー130A/140Aをもたらし得る。
【0183】
ユニグラム151Aは、例えば、それらの相互埋め込み類似性スコア142B(例えば、word2vec類似性スコア)が既定の閾値(例えば、0.7)を上回り、それらの相互レーベンシュタイン距離値133Aが既定の閾値(例えば、2)を下回るという意味で、少なくとも1つのアンカーユニグラム130A/140Aに類似するユニグラムを含み得る。1つ以上の(例えば、各)アンカーユニグラム出現130A/140Aについて、nグラム拡張モジュール150は、元の正しく綴られたユニグラム151Aへのマッピング151Bを維持し得る。nグラム150Aが抽出されると、nグラム拡張モジュール150は、マッピング151Bを使用して、アンカーユニグラム出現130A/140Aを正確に綴られたユニグラムバージョン151Aで置換し得る。スペルミスの可能性のあるアンカーユニグラム130A/140Aが複数の正しく綴られたユニグラムバージョン151Aに対応する場合、nグラム拡張モジュール150は、最も高い相互埋め込み類似性スコア142Bに対応するものを選択し得る。例えば、「ankees」は、埋め込み類似性スコア142B(例えば、word2vec類似性スコア)が0.853であり、レーベンシュタイン距離値が1であるため、「yankees」のスペルミスの可能性が高い。
【0184】
適切に訂正されない場合、誤ったnグラム150A抽出をもたらし得る、アンカーユニグラム130/140分割の場合があり得ることに留意されたい。例えば、「トラブルシュート」などのユニグラムは、「トラブル」及び「シュート」に分割され得る。「トラブル」は、それ自体で正当な(例えば、正しく綴られた)ユニグラムアンカーとして機能し得、他のコンテキストで見られ得る(例えば、必ずしも「シュート」が後に続くわけではない)が、それは依然として誤ったアンカーである可能性がある。
【0185】
いくつかの実施形態によれば、分割ユニグラムのそのようなケースを訂正するために、nグラム拡張モジュール150は、抽出されたnグラム151Aを後処理し得る。この後処理において、nグラム拡張モジュール150は、nグラム150A内の1つ以上の(例えば、各)バイグラム151C(例えば、連続するユニグラム)を融合し、各融合されたバイグラム151Cを別々に分析し得る。例えば、バイグラムは、連続するユニグラム「rec」及び「tangle」を含み得る。後続の融合バイグラム151Cは「rectangle」であり得る。融合バイグラム151Cが既存の(例えば、言語モデル160Aに既に含まれている)正当な(例えば、正しく綴られた)ユニグラムを形成する場合、事前融合ユニグラムの対の代わりに融合バイグラム151Cを含むように、n-グラム150Aを変更し得る。
【0186】
バイグラム(例えば、2つの連続するユニグラム)の融合がスペルミスされたユニグラムアンカーを形成し得る場合があり得ることに留意されたい。そのような条件では、nグラム拡張モジュール150は、
図7のスペルミスフィルタ(単数又は複数)146と協働し、バイグラム融合プロセスにステップを追加して、融合されたバイグラム151Cがスペルミスされたアンカー130A/140Aを形成するかどうかをチェックし得る。いくつかの実施形態によれば、これは、(例えば、
図7の前処理モジュール141に関連して)本明細書で詳述されるコロケーション下線を追加することが利用され得る場合である。コロケーション下線が識別され、類似性テーブル(例えば、テーブル2)に挿入され得る。次いで、スペルミスフィルタ(単数又は複数)146は、下線記号を除去し得、置換151Aのためのオプションのユニグラムとして結果を挿入し得る。
【0187】
例えば、候補ユニグラム121A「reck」及び「tangle」は、前処理モジュール141によってコロケーションとして識別され得、統合された候補ユニグラム「reck_tangle」121Aを取得するために融合され得る。スペルミスフィルタ(単数又は複数)146は、以下のプロセスに従って、候補ユニグラム「reck_tangle」121Aを、後にユニグラムアンカー130A/140Aとして発見され得る類似のユニグラム「rectangle」を有する類似性テーブル(例えば、テーブル2)に挿入し得る。(a)スペルミスフィルタ146は、「recktangle」を生成するために「reck_tangle」内の下線を除去し得、(a)スペルミスフィルタ(単数又は複数)146は、151B「recktangle」を、正しく綴られたユニグラム151A「rectangle」に関連付けられたものとしてマッピングし得、(c)nグラム拡張モジュール150は、「reck tangle」を含むnグラムを後処理し得、2つの構成要素を融合して、融合バイグラム151C「recktangle」を形成し得、(d)「recktangle」は、正しく綴られたユニグラム形式150A「recktangle」にマッピングされる(151B)ので、nグラム拡張モジュール150は、「recktangle」を「rectangle」で置換し得、正しく綴られたnグラム151Aをもたらす。
【0188】
いくつかの実施形態によれば、nグラム拡張モジュール150は、新たに抽出されたnグラム150Aを、音響トランスクリプション20Bの既存のインハウステキストコーパスに追加し得る。例えば、インハウス音響トランスクリプション20Bは、特定の主題領域(例えば、銀行業務、健康、スポーツなど)に関する議論専用のコールセンターのトランスクリプションを含み得、ここで、新たに識別された正しく綴られた単語を含む新たに抽出されたnグラム150Aで更新され得る。
【0189】
追加的に、nグラム拡張モジュール150は、新たに抽出されたnグラム150Aを、既定の優先度を表し得る何らかの重み付けされた値20B’とともに、音響トランスクリプション20Bに追加し得る。例えば、重み20B’は、日付の優先度を意味し得る(例えば、最新の議論が以前の議論よりも関連性が高いと重み付けされている)。別の例では、重み20B’は、主題の優先度を示し得る(例えば、緊急事態の問題は、非緊急事態の問題よりも関連性が高いと重み付けされる)。他の重み付けされた値20B’も実装され得る。
【0190】
いくつかの実施形態によれば、nグラム拡張モジュール150は、nグラム言語モデルビルダモデル160(又は、略して「ビルダ160」)と協働し得る。ビルダ160は、nグラム拡張モジュール150から新たに抽出されたnグラム150Aを受信し得、追加された新たに抽出されたnグラム150Aを含むように、言語モデル160Aを再構築又は再コンパイルし得る。次いで、システム100は、入力音声データ要素20Aのトランスクリプション100Aを生成するために、(例えば、
図2に関連して)本明細書で詳述されるように、新しい言語モデル160Aとともにビームデコーダ170を使用することに進み得る。
【0191】
いくつかの実施形態によれば、システム100は、抽出されたnグラム150Aを教師データとして利用して、音声データ要素20に基づいて音響モデル110のトレーニングを自動的に再トレーニング又は微調整し得る。言い換えれば、システム100は、新たに発見された単語の発話を含むトレーニングデータセットを使用してニューラルネットワーク110を自動的に微調整して、音声データ要素20内のこれらの単語の将来の認識を容易にし得る。
【0192】
いくつかの実施形態によれば、グリーディデコーダ120は、デコーディングされたユニグラム120Aごとに、音声データ要素20内のユニグラム120Aの発話の時間スタンプであるメタデータ要素を生成し得る。Nグラム拡張モジュール150は、時間スタンプメタデータ120A’に基づいて、1つ以上の抽出されたnグラム150Aについて、少なくとも1つの対応するスニペット時間スタンプ150Bを生成し得る。例えば、スニペット時間スタンプ150Bは、音声データ要素20内のnグラム150Aの先頭の時間スタンプ(例えば、nグラム150A内の第1のユニグラム120Aの時間スタンプ120A’)を含み得る。別の例では、スニペット時間スタンプ150Bは、音声データ要素20内のnグラム150Aの末尾の時間スタンプ(例えば、nグラム150A内の最後のユニグラム120Aの末尾の時間スタンプ120A’)を含み得る。
【0193】
Nグラム拡張モジュール150は、人工ニューラルネットワーク(ANN)精緻化モジュール180と協働し得る。ANN精緻化モジュール180は、1つ以上の抽出されたnグラム150A及び対応するスニペット時間スタンプ150B(例えば、開始時間及び終了時間)を受信し得、抽出されたnグラム150Aをフィルタリングして、既定の期間(例えば、2.5秒の長さ)より長いnグラム150Aのグループを生成し得る。
【0194】
ANN精緻化モジュール180は、抽出されたnグラム150A(ここでは、音響音声データ要素20のスニペットのトランスクリプションである)を、音響トランスクリプション20Bのインハウスコーパスに含み得る。次いで、ANN精緻化モジュール180は、音響音声データ要素20のスニペット(時間スタンプ150Bによって定義される)に基づいて、追加された抽出nグラム150Aを教師データとして使用して、音響モデル110を再トレーニングし得る。
【0195】
追加的に、ANN精緻化モジュール180は、この新しい教師データに基づいて音響モデル110の再トレーニングを高めるために、追加された抽出nグラム150Aに重みを帰属させ得る。ANN精緻化モジュール180は、いくつかのエポック(例えば、10)について、この混合データセットを用いて音響モデル110のトレーニングを微調整し得る。そのようなトレーニングは、抽出されたnグラム150A内の単語の想起をかなり上昇させ得ることが実験的に示されている。
【0196】
加えて、全体的な単語誤り率利得は、ターゲットグループセットに対する最良の改善で停止した場合にも相当であることが実験的に示されている。それは、最後のモデルを取るときに依然として重要である(しかしそれほど重要ではない)。テスト中に、発話(例えば、ユニグラムアンカーのうちの少なくとも1つを含む発話)のサブセットの単語誤り率は、以前はかなり高かった全体の単語誤り率とほぼ同じ値に低下される。これは、語彙外の単語は、最初はニューラルネットワークが正しく認識されるのが「より困難」であるが、ニューラルネットワークに導入されると、既知の語彙の残りの部分と同様に「よく知られる」ようになることを示唆している。
【0197】
ここで
図8を参照すると、この図は、流れ図であり、本発明のいくつかの実施形態による、音声認識のためのシステムの少なくとも1つのプロセッサによって、音声データ要素内のユニグラムを自動的に発見する方法を描示する。
【0198】
ステップS1005に示されるように、少なくとも1つのプロセッサ(例えば、
図1の要素2)は、複数のnグラムを含み得る、言語モデル160Aを受信し得る。そのような各nグラムは、1つ以上のユニグラムを含み得る。
【0199】
ステップS1010に示されるように、少なくとも1つのプロセッサ2は、音響機械学習モデル(例えば、
図2の音響モデル110)を1つ以上の第1の音声データ要素(例えば、
図4の音声要素20)に適用して、文字分布関数(例えば、
図2の特性分布要素110A)を取得し得る。
【0200】
ステップS1015及びS1020に示されるように、少なくとも1つのプロセッサ2は、ユニグラムの初期コーパス(例えば、
図3の要素120A)を予測するために、文字分布関数110Aに対してグリーディデコーダ(例えば、
図4のグリーディデコーダ120)を適用し得る。少なくとも1つのプロセッサ2は、初期コーパス120Aの1つ以上のユニグラムをフィルタリング除去して、言語モデル160Aに含まれていない、候補ユニグラム(例えば、
図3の要素121A、130A、140A)のコーパスを取得し得る。
【0201】
ステップS1025に示されるように、また、(例えば、
図3~
図7に関連して)本明細書で詳述されるように、少なくとも1つのプロセッサ2は、1つ以上の第1の音声データ要素20を分析して、候補ユニグラム(例えば、121A、130A、140A)を含む少なくとも1つのnグラム(例えば、
図4の要素150A)を抽出し得る。
【0202】
ステップS1030及び1035に示されるように、少なくとも1つのプロセッサ2は、抽出された少なくとも1つのnグラム150Aを含むように、言語モデル160Aを更新し得る。少なくとも1つのプロセッサ2は、その後(例えば、推論段階において)、少なくとも1つの第2の音声データ要素20にビームデコーダ(例えば、
図2のビームデコーダ170)を適用して、更新された言語モデル160Aに基づいて、第2の音声データ要素20の少なくとも1つの対応するトランスクリプションを生成し得る。
【0203】
明示的に述べられない限り、本明細書で説明される方法実施形態は、特定の順序又はシーケンスに制約されない。更に、本明細書に説明される全ての式は、例としてのみ意図され、他の又は異なる式が使用され得る。追加的に、説明される方法実施形態又はその要素のうちのいくつかは、同じ時点で発生し得るか、又は実行され得る。
【0204】
本発明の特定の特徴が本明細書に例解及び説明されてきたが、多くの修正、置換、変更、及び均等物が当業者に想起され得る。したがって、添付の特許請求の範囲は、本発明の真の精神の範囲内に入る全てのそのような修正及び変更を包含することが意図されていることを理解されたい。
【0205】
様々な実施形態が提示されてきた。これらの実施形態の各々は、当然ながら、提示される他の実施形態からの特徴を含み得、具体的に説明されていない実施形態は、本明細書に説明される種々の特徴を含み得る。
【国際調査報告】