(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-11
(45)【発行日】2024-10-22
(54)【発明の名称】音声認識方法、音声認識装置、コンピュータ機器、及びコンピュータプログラム
(51)【国際特許分類】
G10L 15/16 20060101AFI20241015BHJP
【FI】
G10L15/16
(21)【出願番号】P 2023518016
(86)(22)【出願日】2021-11-08
(86)【国際出願番号】 CN2021129223
(87)【国際公開番号】W WO2022134894
(87)【国際公開日】2022-06-30
【審査請求日】2023-03-17
(31)【優先権主張番号】202011536771.4
(32)【優先日】2020-12-23
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】517392436
【氏名又は名称】▲騰▼▲訊▼科技(深▲セン▼)有限公司
【氏名又は名称原語表記】TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
【住所又は居所原語表記】35/F,Tencent Building,Kejizhongyi Road,Midwest District of Hi-tech Park,Nanshan District, Shenzhen,Guangdong 518057,CHINA
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100150197
【氏名又は名称】松尾 直樹
(72)【発明者】
【氏名】▲孫▼ 思▲寧▼
【審査官】堀 洋介
(56)【参考文献】
【文献】米国特許出願公開第2018/0130474(US,A1)
【文献】特開2017-219769(JP,A)
【文献】米国特許出願公開第2020/0349923(US,A1)
【文献】米国特許出願公開第2019/0057685(US,A1)
【文献】LIU, Qi et al.,Modular End-to-End Automatic Speech Recognition Framework for Acoustic-to-Word Model,IEEE/ACM Transactions on Audio, Speech, and Language Processing,IEEE,2020年07月15日,VOL.28,pp. 2174-2183
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/00-15/34
IEEE Xplore
(57)【特許請求の範囲】
【請求項1】
コンピュータ機器が実行する音声認識方法であって、
音声信号に対して音素認識を行うことにより、前記音声信号における各音声フレームに対応する音素認識結果を取得するステップであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、ステップと、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することにより、前記音素認識結果におけるヌル出力の確率と各音素の確率との比を低減するステップと、
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得するステップであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、ステップと、
を含むことを特徴とする方法。
【請求項2】
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することは、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を低減するステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を低減する前記ステップは、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率に第1重みを掛けるステップであって、前記第1重みが1未満でありかつ0より大きい、ステップを含む、
ことを特徴とする請求項2に記載の方法。
【請求項4】
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を低減する前記ステップは、
前記各音声フレームに対応する前記音素認識結果における各音素の確率に第2重みを掛けるステップであって、前記第2重みが1より大きい、ステップを含む、
ことを特徴とする請求項2に記載の方法。
【請求項5】
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することは、
前記各音声フレームに対応する前記音素認識結果における各音素の確率を向上させるステップを含む、
ことを特徴とする請求項1に記載の方法。
【請求項6】
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得する前記ステップは、
ターゲット音素認識結果におけるヌル出力の確率が指定の条件を満たす場合、前記ターゲット音素認識結果を前記デコードマップに入力することにより、前記ターゲット音素認識結果に対応する認識テキストを取得するステップを含み、
前記ターゲット音素認識結果は、前記各音声フレームに対応する前記音素認識結果のうちのいずれか1つである、
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記指定の条件は、
前記ターゲット音素認識結果におけるヌル出力の確率が確率閾値より小さいことを含む、
ことを特徴とする請求項6に記載の方法。
【請求項8】
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得する前記ステップの前に、
閾値影響パラメータを取得するステップであって、前記閾値影響パラメータには、環境音強度、指定時間帯内の音声認識の失敗回数、及びユーザ設定情報のうちの少なくとも1つが含まれる、ステップと、
前記閾値影響パラメータに基づいて前記確率閾値を決定するステップと、をさらに含む、
ことを特徴とする請求項7に記載の方法。
【請求項9】
音声信号に対して音素認識を行うことにより、前記音声信号における各音声フレームに対応する音素認識結果を取得する前記ステップは、
訓練済みの音響モデルによって、ターゲット音声フレームに対して特徴抽出を行うことにより、前記ターゲット音声フレームの特徴ベクトルを取得するステップであって、前記ターゲット音声フレームが前記各音声フレームのうちのいずれか1つである、ステップと、
前記ターゲット音声フレームを前記音響モデルにおけるエンコーダに入力することにより、前記ターゲット音声フレームの音響隠れ層表現ベクトルを取得するステップと、
前記ターゲット音声フレームの過去認識テキストの音素情報を前記音響モデルにおける予測器に入力することにより、前記ターゲット音声フレームのテキスト隠れ層表現ベクトルを取得するステップであって、前記ターゲット音声フレームの過去認識テキストが、前記デコードマップによって、前記ターゲット音声フレームの前n個(nは1以上の整数)の非ヌル出力の音声フレームの音素認識結果を認識することにより得られたテキストである、ステップと、
前記ターゲット音声フレームの音響隠れ層表現ベクトルと、前記ターゲット音声フレームのテキスト隠れ層表現ベクトルとを前記音響モデルにおけるジョイントネットワークに入力することにより、前記ターゲット音声フレームの前記音素認識結果を取得するステップと、を含む、
ことを特徴とする請求項1に記載の方法。
【請求項10】
前記エンコーダは、フィードフォワードシーケンシャルメモリネットワーク(FSMN)である、
ことを特徴とする請求項9に記載の方法。
【請求項11】
前記予測器は、1次元畳み込みネットワークである、
ことを特徴とする請求項9に記載の方法。
【請求項12】
前記デコードマップは、音素辞書及び言語モデルによって複合的に構成される、
ことを特徴とする請求項1乃至9のいずれか1項に記載の方法。
【請求項13】
音声認識装置であって、
音声信号に対して音素認識を行うことにより、前記音声信号における各音声フレームに対応する音素認識結果を取得する音声信号処理モジュールであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、音声信号処理モジュールと、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することにより、前記音素認識結果におけるヌル出力の確率と各音素の確率との比を低減する確率調整モジュールと、
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得するデコードモジュールであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、デコードモジュールと、
を含むことを特徴とする装置。
【請求項14】
プロセッサとメモリとを備えるコンピュータ機器であって、前記メモリには、少なくとも1つのコンピュータ命令が記憶され、前記少なくとも1つのコンピュータ命令は、前記プロセッサによりロードされて実行されると、請求項1乃至
12のいずれか1項に記載の音声認識方法を実現させることを特徴とするコンピュータ機器。
【請求項15】
プロセッサによって実行されると、請求項1乃至
12のいずれか1項に記載の方法を実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2020年12月23日に中国特許庁に提出された、出願番号が第202011536771.4号であり、発明の名称が「音声認識方法、装置、コンピュータ機器、及び記憶媒体」である、中国特許出願に基づく優先権を主張し、その全ての内容が、参照することにより本願に組み込まれている。
【0002】
本願は、音声認識の技術分野に関し、特に音声認識方法、装置、コンピュータ機器、及び記憶媒体に関する。
【背景技術】
【0003】
音声認識は、音声をテキストとして認識する技術であり、様々な人工知能(AI:Artificial Intelligence)のシナリオで幅広く適用されている。
【0004】
音声認識フレームワークは、通常、入力された音声信号における各音声フレームの音素を認識するための音響モデル部と、認識された各音声フレームの音素によって音声信号のテキストシーケンスを出力するデコード部と、を含む。関連技術では、再帰型ニューラルネットワークトランスデューサー(RNN-T:Recurrent Neural Network Transducer)による音響モデルの実現が業界の研究の焦点の1つになっている。
【0005】
しかしながら、RNN-Tモデルでは、音素認識プロセスにヌル出力の概念が導入されており、即ち、ある音声フレームに有効な音素が含まれていないことを予測する。ヌル出力の導入は、いくつかの応用シナリオにおいて、後続のデコードプロセスの誤り率の上昇につながり、特に、削除エラーの増加につながり、音声認識の正確性に影響を与える。
【発明の概要】
【課題を解決するための手段】
【0006】
本願で提供される様々な実施例によれば、音声認識方法、装置、コンピュータ機器、及び記憶媒体が提供されている。
【0007】
コンピュータ機器が実行する音声認識方法であって、
音声信号に対して音素認識を行うことにより、前記音声信号における各音声フレームに対応する音素認識結果を取得するステップであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、ステップと、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することにより、前記音素認識結果におけるヌル出力の確率と各音素の確率との比を低減するステップと、
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得するステップであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、ステップと、を含む。
【0008】
音声認識装置であって、
音声信号に対して音素認識を行うことにより、前記音声信号における各音声フレームに対応する音素認識結果を取得する音声信号処理モジュールであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、音声信号処理モジュールと、
前記各音声フレームに対応する前記音素認識結果におけるヌル出力の確率を抑えて調整することにより、前記音素認識結果におけるヌル出力の確率と各音素の確率との比を低減する確率調整モジュールと、
調整後の前記各音声フレームに対応する前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得するデコードモジュールであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、デコードモジュールと、を含む。
【0009】
音声認識方法であって、
音声信号を取得するステップであって、前記音声信号には、オリジナル音声を切り分けることにより得られた各音声フレームが含まれる、ステップと、
音声信号に対して音素認識を行うことにより、前記各音声フレームに対応する音素認識結果を取得するステップであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、ステップと、
前記各音声フレームに対応する前記音素認識結果のうち、ヌル出力の確率が指定の条件を満たす前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得するステップであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、ステップと、を含む。
【0010】
音声認識装置であって、
音声信号を取得する音声信号取得モジュールであって、前記音声信号には、オリジナル音声を切り分けることにより得られた各音声フレームが含まれる、音声信号取得モジュールと、
音声信号に対して音素認識を行うことにより、前記各音声フレームに対応する音素認識結果を取得する音素認識結果取得モジュールであって、前記音素認識結果が、音素空間における、前記音素認識結果に対応する音声フレームの確率分布を示すためのものであり、前記音素空間には、各音素及びヌル出力が含まれる、音素認識結果取得モジュールと、
前記各音声フレームに対応する前記音素認識結果のうち、ヌル出力の確率が指定の条件を満たす前記音素認識結果をデコードマップに入力することにより、前記音声信号に対応する認識テキストシーケンスを取得する認識テキストシーケンス取得モジュールであって、前記デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、認識テキストシーケンス取得モジュールと、を含む。
【0011】
プロセッサとメモリとを備えるコンピュータ機器であって、前記メモリには、少なくとも1つのコンピュータ命令が記憶され、前記少なくとも1つのコンピュータ命令は、前記プロセッサによりロードされて実行されると、上記の音声認識方法を実現させる。
【0012】
少なくとも1つのコンピュータ命令を記憶したコンピュータ可読記憶媒体であって、前記少なくとも1つのコンピュータ命令は、プロセッサによりロードされて実行されると、上記の音声認識方法を実現させる。
【0013】
コンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムであって、該コンピュータ命令は、コンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサが該コンピュータ命令を実行すると、該コンピュータ機器に上記の音声認識方法を実行させる。
【0014】
本願の実施例の構成をより明確に説明するために、以下に、実施例の説明に必要な図面を簡単に紹介する。明らかに、以下の説明における図面は本願のいくつかの実施例を示しているに過ぎず、当業者であれば、創造的な労働をすることなく、これらの図面から他の図面を得ることもできる。
【図面の簡単な説明】
【0015】
【
図1】本願の各実施例に係る音声認識システムのシステム構成図である。
【
図2】1つの例示的な実施例によって示された音声認識方法のフローの模式図である。
【
図3】1つの例示的な実施例によって示された音声認識方法のフローの模式図である。
【
図4】
図3に示された実施例に係るアライメントプロセスの模式図である。
【
図5】
図3に示された実施例に係る音響モデルの構成の模式図である。
【
図6】
図3に示された実施例に係る予測器のネットワーク構成図である。
【
図7】
図3に示された実施例に係るモデル訓練及び応用のフローチャートである。
【
図8】1つの例示的な実施例によって示された音声認識システムのフレームワーク図である。
【
図9】1つの例示的な実施例によって示された
音声認識装置の構成ブロック図である。
【
図10】1つの例示的な実施例によって示されたコンピュータ機器の構成ブロック図である。
【発明を実施するための形態】
【0016】
ここでは、例示的な実施例を詳細に説明し、その例を図面に示す。以下の説明が図面に関連する場合、別段の表現がない限り、異なる図面における同一の数字は、同一又は類似の要素を表す。以下の例示的な実施例に記載されている実施形態は、本願に一致する全ての実施形態を表すものではない。逆に、これらは、添付の特許請求の範囲で詳述されるような、本願のいくつかの態様に一致する装置及び方法の例に過ぎない。
【0017】
本願で示される各実施例を説明する前に、本願に関連するいくつかの概念をまず説明する。
【0018】
1)人工知能(AI:Artificial Intelligence)
AIは、デジタルコンピュータ、又はデジタルコンピュータにより制御される機械を用いて、人間の知能のシミュレーション、延長や拡張をし、環境を感知し、知識を取得し、知識を用いて最適な結果を取得する理論、方法、技術、及び応用システムである。言い換えれば、人工知能は、コンピュータ科学の総合的な技術であり、知能の実質を了解することと、人間の知能に類似する方式で反応できる新たな知能機械を生産することとを図る。人工知能は、各種の知能機械の設計原理及び実現方法を研究し、感知、推理、及び意思決定の機能を機械に持たせるものである。
【0019】
人工知能技術は、総合的な学科であり、関連する分野が幅広く、ハードウェアレベルの技術もソフトウェアレベルの技術もある。人工知能の基礎技術には、一般的に、例えば、センサ、人工知能専用チップ、クラウドコンピューティング、分散記憶、ビッグデータ処理技術、操作/インタラクティブシステム、メカトロニクスなどの技術が含まれる。人工知能のソフトウェア技術は、主に、コンピュータビジョン技術、音声処理技術、自然言語処理技術、及び機械学習/深層学習などのいくつかの方面を含む。
【0020】
2)音声技術(ST:Speech Technology)
音声技術のキーテクノロジーとしては、自動音声認識(ASR:Automatic Speech Recognition)技術、音声合成(TTS:Text To Speech)技術、及び声紋認識技術が挙げられる。コンピュータに聞くことができ、見ることができ、話すことができ、感じることができるようにすることは、未来のヒューマンコンピュータインタラクションの発展の方向である。その中で、音声は、未来の最も有望視されるヒューマンコンピュータインタラクション方式の1つになる。
【0021】
3)機械学習(ML:Machine Learning)
機械学習は、分野を横断した学際的な学科であり、確率論、統計学、近似理論、凸解析、アルゴリズム複雑性理論などの複数の学科に関し、コンピュータがどのように人間の学習行動を模倣又は実現して、新しい知識やスキルを取得し、既存の知識構造を改めて組織して自体の性能を持続的に改善するかを専門に研究する。機械学習は、人工知能のコアであり、コンピュータに知能を付与する根本的な手段であり、人工知能の各分野にわたって適用されている。機械学習及び深層学習は、通常、人工ニューラルネットワーク、信念ネットワーク、強化学習、転移学習、帰納学習、教師あり学習などの技術を含む。
【0022】
本願の実施例で提供される発明は、人工知能に関する音声技術及び機械学習技術などのシナリオに適用されて、ユーザの音声が、それに対応するテキストとして正確に認識されることを実現する。
【0023】
図1を参照する。
図1には、本願の各実施例に係る音声認識システムのシステム構成図が示されている。
図1に示すように、該システムは、音声収集コンポーネント120と、音声認識機器140とを含む。
【0024】
ここで、音声収集コンポーネント120と音声認識機器140は、有線又は無線の方式によって接続される。
【0025】
音声収集コンポーネント120は、マイクロフォン、マイクロフォンアレイ、又はピックアップなどとして実現されてもよい。音声収集コンポーネント120は、ユーザが話している音声データを収集する。
【0026】
音声認識機器140は、音声収集コンポーネント120により収集された音声データを認識することにより、認識されたテキストシーケンスを取得する。
【0027】
任意選択的には、音声認識機器140は、ユーザの音声に応答するために、認識されたテキストシーケンスに対して自然セマンティック処理を行うこともできる。
【0028】
ここで、音声収集コンポーネント120及び音声認識機器140は、相互に独立した2つのハードウェア機器として実現されてもよい。例えば、音声収集コンポーネント120は、車両のハンドル上に設けられたマイクロフォンであり、音声認識機器140は、車載のスマートデバイスであってもよい。あるいは、音声収集コンポーネント120は、リモコンに設けられたマイクロフォンであり、音声認識機器140は、リモコンによって制御されるスマートホームデバイス(例えば、スマートテレビ、セットトップボックス、エアコンなど)であってもよい。
【0029】
あるいは、音声収集コンポーネント120及び音声認識機器140は、同一のハードウェア機器として実現されてもよい。例えば、音声認識機器140は、スマートフォン、タブレットコンピュータ、スマートウォッチ、スマート眼鏡などのスマートデバイスであってもよく、音声収集コンポーネント120は、音声認識機器140に内蔵されるマイクロフォンであってもよい。
【0030】
いくつかの実施例において、上記音声認識システムは、サーバ160をさらに含んでもよい。
【0031】
ここで、該サーバ160は、音声認識機器140における音声認識モデルに対して配置及び更新を行ってもよい。あるいは、サーバ160は、音声認識機器140にクラウド音声認識のサービスを提供し、即ち、音声認識機器140から送信された音声データを受信し、音声データに対して音声認識を行ってから、認識結果を音声認識機器140に返信するようにしてもよい。あるいは、サーバ160は、音声認識機器140と協働して、音声データの認識や音声データの応答などの動作を実行してもよい。
【0032】
サーバ160は、1つのサーバ、又はいくつかのサーバ、又は1つの仮想化プラットフォーム、又は1つのクラウドコンピューティングサービスセンターである。
【0033】
サーバは、独立した物理サーバであってもよく、複数の物理サーバからなるサーバクラスタ又は分散型システムであってもよく、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミドルウェアサービス、ドメイン名サービス、セキュリティサービス、コンテンツデリバリネットワーク(CDN:Content Delivery Network)、及びビッグデータや人工知能プラットフォームなどのベースクラウドコンピューティングサービスを提供するクラウドサーバであってもよい。
【0034】
サーバ160と音声認識機器140は、通信ネットワークを介して接続される。任意選択的には、該通信ネットワークは、有線ネットワーク又は無線ネットワークである。
【0035】
任意選択的には、該システムは、管理機器(
図1に示されていない)をさらに含んでもよい。該管理機器とサーバ160は、通信ネットワークを介して接続される。任意選択的には、通信ネットワークは、有線ネットワーク又は無線ネットワークである。
【0036】
任意選択的には、上記の無線ネットワーク又は有線ネットワークは、標準通信技術及び/又はプロトコルを使用する。ネットワークは、通常、インターネットであるが、任意のネットワークであってもよく、ローカルエリアネットワーク(LAN:Local Area Network)、都市エリアネットワーク(MAN:Metropolitan Area Network)、ワイドエリアネットワーク(WAN:Wide Area Network)、移動、有線又は無線ネットワーク、プライベートネットワーク、あるいは仮想プライベートネットワークの任意の組み合わせを含むが、これらに限らない。いくつかの実施例では、ハイパーテキストマークアップ言語(HTML:Hyper Text Mark-up Language)、拡張マークアップ言語(XML:Extensible Markup Language)などを含む技術及び/又はフォーマットで、ネットワークを介してやり取りされるデータを表す。また、セキュアソケットレイヤー(SSL:Secure Socket Layer)、トランスポートレイヤーセキュリティ(TLS:Transport Layer Security)、仮想プライベートネットワーク(VPN:Virtual Private Network)、インターネットプロトコルセキュリティ(IPsec:Internet Protocol Security)などのような通常の暗号化技術を使用して、全部又は一部のリンクを暗号化してもよい。他のいくつかの実施例では、カスタマイズ及び/又は専用のデータ通信技術を使用して、上記のデータ通信技術を代替又は補足してもよい。
【0037】
図2を参照する。
図2には、音声認識方法のフローの模式図が示されている。該音声認識方法は、コンピュータ機器によって実行されてもよい。該コンピュータ機器は、上記の
図1に示されたシステムにおける音声認識機器140又はサーバ160であってもよい。あるいは、該コンピュータ機器は、上記の
図1に示されたシステムにおける音声認識機器140及びサーバ160の両方を含んでもよい。
図2に示すように、該音声認識方法は、以下のステップを含んでもよい。
【0038】
ステップ21では、音声信号に対して音素認識を行うことにより、該音声信号における各音声フレームに対応する音素認識結果を取得し、該音素認識結果が、音素空間における、該音素認識結果に対応する音声フレームの確率分布を示すためのものであり、該音素空間には、各音素及びヌル出力が含まれる。
【0039】
ここで、音素認識結果は、音響モデルによって、音声信号に対して音素認識を行うことにより得られた結果であってもよい。該音響モデルは、音声信号サンプルと、該音声信号サンプルにおける各音声フレームの実際の音素とによって訓練することにより得られたものである。
【0040】
音素(phone)は、音声の自然な属性に基づいて区切られた最小音声単位であり、音節内の発音動作に基づいて分析され、1つの動作によって1つの音素が構成される。音素は、母音と子音との2種類に大きく分けられる。例えば、中国語の音節
【数1】
に1つのみの音素があり、
【数2】
に2つの音素があり、
【数3】
に3つの音素があるなどである。
【0041】
音素は、音節を構成する最小単位又は最小の音声断片であり、音質の観点から区切られた最小の線形的な音声単位である。音素は、具体的に存在する物理現象である。国際音標(国際音声学会が制定した、各国の音声を統一して表記するための字母であり、「国際音標字母」、「国際音声字母」とも呼ばれる)の音声記号は、全人類の言語の音素に1対1対応している。
【0042】
音素空間は、含まれるヌル出力の数が1以上であってもよく、例えば、1つのヌル出力を含む。
【0043】
本願の実施例では、音声信号における音声フレーム毎に、音響モデルによって、該音声フレームに対応する音素を認識することにより、該音声フレームの音素が所定の各音素やヌル出力に属する確率を取得することができる。
【0044】
例えば、いくつかの実施例では、上記音素空間には212種類の音素及び1つのヌル出力(それに対応する音声フレームにユーザの発音がないことを表す)が含まれる。つまり、入力された1つの音声フレームについて、本願の実施例で示される音響モデルは、該音声フレームが212種類の音素及びヌル出力のそれぞれに対応する確率を出力することができる。
【0045】
ステップ22では、該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を抑えて調整することにより、該音素認識結果におけるヌル出力の確率と各音素の確率との比を低減する。
【0046】
ステップ23では、調整後の該各音声フレームに対応する該音素認識結果をデコードマップに入力することにより、該音声信号に対応する認識テキストシーケンスを取得する。
【0047】
ここで、デコードマップは、音素認識結果に基づいて、音声フレームに対応する音素を決定するためのものである。デコードマップには、キャラクターと音素との間のマッピング関係が含まれてもよく、1つのキャラクターは、1つの漢字であってもよく、1つの単語であってもよい。
【0048】
本願の実施例では、音素認識結果がデコードマップに入力された後、デコードマップにより、音素認識結果における音素空間内の各音素及びヌル出力の確率に基づいて、該音素認識結果が、ある音素に対応しているか、又はヌル出力に対応しているかを決定し、決定された音素に基づいて、該音素認識結果に対応するテキストを決定し、音素認識結果がヌル出力に対応している場合、該音素認識結果に対応する音声フレームにユーザの発音が含まれず、即ち、該音素認識結果に対応するテキストがないと決定する。
【0049】
音声信号における音声フレームは、音声収集コンポーネントにより収集されたオリジナル音声を切り分けることにより得られた各音声フレームであってもよい。音声信号における各音声フレームは、順序立てて配列し、例えば、音声フレームのオリジナル音声における位置に従って配列してもよい。例えば、音声フレームのオリジナル音声における位置が前に寄るほど、該音声フレームの音声信号における位置が前に寄る。音声信号における各音声フレームが順次に配列する。デコードマップによって取得された各音声フレームのテキストを、音声フレームの音声信号における位置に従って配列することにより、認識テキストシーケンスを取得する。
【0050】
上記音素認識結果にヌル出力が含まれるため、認識誤り率の上昇につながる恐れがある。例えば、発音がある音声フレームがヌル出力として誤って認識される場合(この場合は、削除エラーとも呼ばれる)があり得るため、音声認識の正確性に影響を与える。これに対して、本願の実施例で示される発明では、音響モデルから音素認識結果が出力された後、音素認識結果におけるヌル出力の確率を抑える。音素認識結果におけるヌル出力の確率が抑えられるにつれて、該音素認識結果が、ある音素として認識される可能性も上昇し、発音がある音声フレームがヌル出力として誤って認識される場合を効果的に減少することができる。
【0051】
上記のように、本願の実施例で示される発明では、音声フレームの各音素及びヌル出力における確率分布が含まれる音素認識結果について、該音素認識結果をデコードマップに入力する前に、まず、音素認識結果におけるヌル出力の確率を抑えて、音声フレームがヌル出力として認識される確率を低減することにより、音声フレームがヌル出力として誤って認識される可能性を低減し、つまり、モデルの削除エラーを低減し、モデルの認識の正確性を向上させる。
【0052】
図3を参照する。
図3には、音声認識方法のフローの模式図が示されている。該音声認識方法は、コンピュータ機器によって実行されてもよい。例えば、該コンピュータ機器は、上記の
図1に示されたシステムにおける音声認識機器140又はサーバ160であってもよい。あるいは、該コンピュータ機器は、上記の
図1に示されたシステムにおける音声認識機器140及びサーバ160の両方を含んでもよい。
図3に示すように、該音声認識方法は、以下のステップを含んでもよい。
【0053】
ステップ301では、音声信号を取得し、該音声信号には、オリジナル音声を切り分けることにより得られた各音声フレームが含まれる。
【0054】
本願の実施例において、音声収集コンポーネントは、ユーザが話しているオリジナル音声を収集した後、収集したオリジナル音声をコンピュータ機器に送信し、例えば、音声認識機器に送信する。音声認識機器は、オリジナル音声を切り分けることにより、いくつかの音声フレームを取得する。
【0055】
いくつかの実施例において、音声認識機器は、オリジナル音声を、重複を伴う短時間音声断片として切り分けてもよい。例えば、一般的には、サンプリングレートが16Kである音声の場合、切り分けられた1フレームの音声の長さは25msであり、フレーム間の重複は15msである。このプロセスは、「フレーム化」とも呼ばれる。
【0056】
ステップ302では、音声信号に対して音素認識を行うことにより、該音声信号における各音声フレームに対応する音素認識結果を取得する。
【0057】
ここで、該音素認識結果は、音素空間における、該音素認識結果に対応する音声フレームの確率分布を示すためのものであり、該音素空間には、各音素及び1つのヌル出力が含まれ、該音響モデルは、音声信号サンプルと、該音声信号サンプルにおける各音声フレームの実際の音素とによって訓練することにより得られたものである。
【0058】
本願の実施例において、音響モデルは、エンドツーエンドの機械学習モデルであり、その入力データは、音声信号における音声フレームを含み(例えば、音声フレームが含まれる特徴ベクトルを入力する)、出力データは、予測された、該音声フレームの音素の音素空間における分布確率、即ち音素認識結果である。
【0059】
例えば、上記音素認識結果は、以下に示すような確率ベクトルで表すことができる。
(p0,p1,p2,…p212)
【0060】
上記確率ベクトルにおいて、p0は、音声フレームがヌル出力である確率を表し、p1は、音声フレームが第1種の音素に対応している確率を表す。音素空間全体には、212種類の音素と、1つのヌル出力とが含まれる。
【0061】
いくつかの実施例において、音声信号に対して音素認識を行うことにより、該音声信号における各音声フレームに対応する音素認識結果を取得するステップは、
訓練済みの音響モデルによって、ターゲット音声フレームに対して特徴抽出を行うことにより、該ターゲット音声フレームの特徴ベクトルを取得するステップであって、該ターゲット音声フレームが該各音声フレームのうちのいずれか1つである、ステップと、
該ターゲット音声フレームを該音響モデルにおけるエンコーダに入力することにより、該ターゲット音声フレームの音響隠れ層表現ベクトルを取得するステップと、
該ターゲット音声フレームの過去認識テキストの音素情報を該音響モデルにおける予測器に入力することにより、該ターゲット音声フレームのテキスト隠れ層表現ベクトルを取得するステップであって、該ターゲット音声フレームの過去認識テキストが、該デコードマップによって、該ターゲット音声フレームの前n個(nは1以上の整数)の非ヌル出力の音声フレームの音素認識結果を認識することにより得られたテキストである、ステップと、
該ターゲット音声フレームの音響隠れ層表現ベクトルと、該ターゲット音声フレームのテキスト隠れ層表現ベクトルとをジョイントネットワークに入力することにより、該ターゲット音声フレームの該音素認識結果を取得するステップと、を含む。
【0062】
本願の実施例では、トランスデューサー(Transducer)モデルによって、上記の音響モデルを実現してもよい。Transducerモデルを以下のように紹介する。
【0063】
入力シーケンス
【数4】
と出力シーケンス
【数5】
とが与えられる。
【0064】
ここで、
【数6】
は、全ての入力シーケンスの集合を表し、
【数7】
は、全ての出力シーケンスの集合を表し、
【数8】
は、いずれも実数ベクトルであり、
【数9】
は、それぞれ入力空間及び出力空間を表す。例えば、本発明において、Transducerモデルは、音素認識を行うためのものであり、入力シーケンス
【数10】
は、特徴ベクトルシーケンスであり、例えば、フィルタバンク(FBank:Filter Bank)特徴、又はメル周波数ケプストラム係数(MFCC:Mel Frequency Cepstrum Coefficient)特徴であり、
【数11】
は、時刻tの特徴ベクトルを表し、出力シーケンス
【数12】
は、音素シーケンスであり、
【数13】
は、第uステップの音素を表す。
【0065】
【0066】
【数15】
は、ヌル出力符号を表し、モデルからの出力がないことを表す。ヌル出力符号が導入されると、シーケンス
【数16】
は、
【数17】
に等価する。本発明において、ヌル出力の導入により、出力シーケンスと入力シーケンスは、同じ長さとなる。よって、集合
【数18】
における要素
【数19】
を「アライメント」と呼ぶ。任意の入力シーケンスが与えられた場合、Transducerモデルでは、条件分布
【数20】
が定義される。この条件分布は、入力シーケンス
【数21】
が与えられた場合の出力シーケンス
【数22】
の確率を計算するために使用される。
【数23】
【0067】
ここで、
【数24】
は、アライメントシーケンスにおけるヌル出力を除去することを表し、
【数25】
は、出力シーケンスにヌル出力を追加してアライメントシーケンスを生成することを表す。数式1から分かるように、出力シーケンス
【数26】
の確率を計算するために、シーケンス
【数27】
に対応する全ての可能なアライメント
【数28】
の条件確率の和を求める必要がある。
図4を参照する。
図4には、本願の実施例に係るアライメントプロセスの模式図が示されている。該
図4には、数式1を説明するための一例が示されている。
【0068】
図4において、U=3であり、T=5であり、左下から右上に全ての可能な経路は、いずれもアライメントである。太字の矢印は可能な経路のうちの1つを示し、モデルが縦方向に1ステップ進むと、非ヌルの符号(音素)が出力され、モデルが横方向に1ステップ進むと、ヌルの符号が出力され(即ち、上記のヌル出力)、出力が発生していないことを示す。モデルでは、同一の時刻における複数の出力の発生が許可される。
【数29】
をモデリングするために、3つのサブネットワークを用いてジョイントモデリングするのが一般的である。
図5を参照する。
図5には、本願の実施例に係る音響モデルの構成の模式図が示されている。
図5に示すように、音響モデルは、エンコーダ51と、予測器52と、ジョイントネットワーク53とを含む。
【0069】
ここで、エンコーダ51(Encoder)は、再帰型ニューラルネットワーク、例えば、長・短期記憶(LSTM:Long short-term Memory)ネットワークであってもよく、時刻tのオーディオ特徴の入力を受け付け、音響隠れ層表現
【数30】
を出力し、
予測器52(Predictor)は、再帰型ニューラルネットワーク、例えば、LSTMであってもよく、モデルの過去の非ヌル出力のタグ
【数31】
を受け付け、出力がテキスト隠れ層表現
【数32】
であり、
ジョイントネットワーク53(Joint Network)は、全結合ニューラルネットワーク、例えば、線形層と活性化ユニットであってもよく、
【数33】
を線形変換して和を求め、隠れユニット表現
【数34】
を出力し、最後にsoftmax関数によってそれを確率分布に変換する。
【0070】
上記の
図5において、
【数35】
であり、アライメント
【数36】
であり、最終的に、数式1の計算は、以下の通りである。
【数37】
【0071】
数式2の計算は、全ての可能なアライメント経路をトラバースして計算する必要がある。このアルゴリズムをそのまま使うと、膨大な計算量になる。モデル訓練プロセスでは、数式2の確率計算をフォワード・バックワードアルゴリズムで行うことができる。
【0072】
いくつかの実施例において、該エンコーダは、フィードフォワードシーケンシャルメモリネットワーク(FSMN:Feedforward Sequential Memory Networks)である。
【0073】
いくつかの実施例において、該予測器は、1次元畳み込みネットワークである。
【0074】
本願の実施例で示される発明は、車載オフライン音声認識システムなどの、計算能力が限られているシナリオに適用可能である。車載機器では、モデルのパラメータ量及び計算量に対する要求が高く、中央処理装置(CPU:Central Processing Unit)の計算力が限られているため、モデルのパラメータ量及びモデルの構成に対する要求が高い。計算量を低減して、このような計算能力が限られている応用シナリオに適応するために、本願で示される発明では、モデルのエンコーダ(Encoder)として、全フィードフォワードニューラルネットワークFSMNを採用し、予測器(Predictor)として、よく使われる長・短期記憶(LSTM)ネットワークの代わりに1次元畳み込みネットワークを採用する。
【0075】
上記のTransducerモデルでは、モデルの過去情報を描くために、Encoder及びPredictorネットワークは、一般的にリカレントニューラルネットワーク(RNN:Recurrent Neural Network)構成、例えば、LSTMやゲートリカレントユニット(GRU:Gated Recurrent Unit)などを採用する。しかしながら、計算リソースが限られている埋め込み型機器では、再帰型ニューラルネットワークは、膨大な計算量をもたらし、膨大なCPUリソースの占有につながる。一方、車載オフライン音声認識の内容は、主に、問い合わせや制御系の命令であり、センテンスが比較的短く、長すぎる過去情報が必要ではない。これに対して、本発明では、FSMNに基づくEncoder及び1次元畳み込みに基づくPredictorネットワークが使用されている。一方では、モデルのパラメータを圧縮することができ、他方では、計算リソースを大幅に節約し、計算速度を向上させ、音声認識のリアルタイム性を保証することができる。
【0076】
本発明では、FSMNに基づくEncoder構成が採用されている。FSMNネットワークは、語彙の多い音声認識タスクに適用される。本発明で採用されるFSMN構成は、投影層及び残差接続を有する構成であってもよい。
【0077】
Predictorネットワークについて、本発明では、1次元畳み込みネットワークが採用されており、限られている過去予測出力に基づいて、現在の出力を生成する。
図6を参照する。
図6には、本願の実施例に係る予測器のネットワーク構成図が示されている。
図6に示すように、Predictorネットワークでは、4つの非ヌルの過去出力を使用して、現在の出力のフレームワークを予測する。つまり、現在の入力に対応する4つの非ヌルの過去出力61をベクトルマッピングしたものを、1次元畳み込みネットワーク62に入力することにより、テキスト隠れ層表現ベクトルを取得する。
【0078】
本願の実施例において、上記音響モデルは、予め設定された音声信号サンプルと、該音声信号サンプルにおける各音声フレームの実際の音素とによって訓練することにより取得してもよい。例えば、訓練プロセスでは、音声信号サンプルにおける1つの音声フレームを、音響モデルにおけるFSMNに基づくEncoderネットワークに入力し、該音声フレームの前4つの非ヌルの音声フレームの実際の音素(訓練開始時刻に過去の非ヌルの音声フレームがなく、又は、過去の非ヌルの音声フレームが足りない場合、予め設定された音素で代替してもよい)を、1次元畳み込みに基づくPredictorネットワークに入力する。音響モデルによって入力データを処理するプロセスでは、音響モデルにおける3つの部分(Encoder、Predictor、及びジョイントネットワーク)のパラメータを更新することにより、全ての可能なアライメント経路における確率の和、即ち上記の数式2の結果を最大化して、音響モデルの訓練を実現する。
【0079】
ステップ303では、該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を抑えて調整することにより、該音素認識結果におけるヌル出力の確率と各音素の確率との比を低減する。
【0080】
いくつかの実施例において、該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を抑えて調整することは、
該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を低減することと、
該各音声フレームに対応する該音素認識結果における各音素の確率を向上させることと、
の少なくとも1つによって、該各音声フレームに対応する該音素認識結果を調整するステップを含む。
【0081】
いくつかの実施例において、該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を低減することは、
該各音声フレームに対応する該音素認識結果におけるヌル出力の確率に第1重みを掛けるステップであって、該第1重みが1未満でありかつ0より大きい、ステップを含む。
【0082】
本願の実施例において、音素認識結果におけるヌル出力の確率を抑えることは、音素認識結果におけるヌル出力の確率の低減のみであってもよい。例えば、音素認識結果におけるヌル出力の確率に0から1の間の数を掛ける。このように、音素認識結果における各音素の確率が変わらないことなく、ヌル出力の確率と各音素の確率との比を低減することができる。
【0083】
いくつかの実施例において、該各音声フレームに対応する該音素認識結果におけるヌル出力の確率を低減することは、
該各音声フレームに対応する該音素認識結果における各音素の確率に第2重みを掛けるステップであって、該第2重みが1より大きい、ステップを含む。
【0084】
本願の実施例において、音素認識結果におけるヌル出力の確率を抑えることは、音素認識結果における各音素の確率の向上のみであってもよい。例えば、音素認識結果における各音素の確率に1より大きい数を掛ける。このように、音素認識結果におけるヌル出力の確率が変わらないことなく、ヌル出力の確率と各音素の確率との比を低減することができる。
【0085】
他の例示的な発明において、コンピュータ機器は、音素認識結果におけるヌル出力の確率を低減するとともに、該音素認識結果における各音素の確率を向上させてもよい。例えば、音素認識結果におけるヌル出力の確率に0から1の間の数を掛けるとともに、音素認識結果における各音素の確率に1より大きい数を掛ける。
【0086】
本発明において、上記音響モデルでは、入力と出力との間のアライメントを取得するために、入力された音素シーケンスにヌル出力符号(即ち
【数38】
)を挿入する必要がある。符号
【数39】
は、他の音素と同様に、モデルで予測される。非ヌルの音素の総数がPであると仮定すると、最終モデルの出力次元がP+1であり、通常、第0次元はヌル出力
【数40】
を表す。実験から、ヌル出力の導入によりモデルの削除エラーが大幅に増加することが分かる。これは、大量の音素がヌル出力として誤って認識されてしまうことを示す。ヌル出力の確率が高すぎる問題を解決するために、本願では、Transducerデコードプロセスにおいて、ヌル出力の確率重みを調整することにより、削除エラーの発生を減少する。
【0087】
該各音声フレームに対応する該音素認識結果におけるヌル出力の確率に第1重みを掛ける場合を例として、ヌル出力の確率が
【数41】
であると仮定する。ヌル出力の確率を低減するために、本発明では、元のヌル出力の確率値を1より大きい重みαで割り、α>1である。αは、ディスカウント因子(discount factor)と呼ばれる。調整後のヌル出力の確率値は、次の通りである。
【数42】
【0088】
一般的には、対数確率を最終的な値として最終的なデコードスコア計算に参加させるので、数式3の両側に対数を取ることにより、
【数43】
を取得することができる。
【0089】
後続のデコードを行うために、上記数式4の結果をヌル出力の調整後の確率としてもよい。
【0090】
いくつかの実施例において、上記の第1重みや第2重みは、開発者や管理者によりコンピュータ機器に予め設定されたものである。例えば、上記の第1重みや第2重みは、開発者により音声認識モデルに予め設定されてもよい。
【0091】
ステップ304では、各音声フレームに対応する該音素認識結果のうち、ヌル出力の確率が指定の条件を満たす該音素認識結果をデコードマップに入力することにより、該音声信号に対応する認識テキストシーケンスを取得する。
【0092】
いくつかの実施例では、調整後の該各音声フレームに対応する該音素認識結果をデコードマップに入力することにより、該音声信号に対応する認識テキストシーケンスを取得する該ステップは、
ターゲット音素認識結果におけるヌル出力の確率が指定の条件を満たす場合、該ターゲット音素認識結果を該デコードマップに入力することにより、該ターゲット音素認識結果に対応する認識テキストを取得するステップを含み、
ここで、該ターゲット音素認識結果は、該各音声フレームに対応する該音素認識結果のうちのいずれか1つである。
【0093】
いくつかの実施例において、該指定の条件は、
該ターゲット音素認識結果におけるヌル出力の確率が確率閾値より小さいことを含む。
【0094】
実験から、DNN-HMMモデルに比べて、Transducerモデルの出力には、明らかなスパイク効果があり、即ち、ある時点で、モデルから、ある予測結果が、きわめて高い信頼度で出力されることが分かる。モデルのスパイク効果を利用することで、デコードプロセスにおいて、モデルによりヌル出力と予測される確率をスキップすることができ、即ち、これらの確率は、デコードマップのデコードプロセスに参加することがない。本願では、音素をモデリングユニットとするとともに、デコード時にヌル出力をスキップするため、デコードマップの探索ステップ数が音素の個数のみに関係することになる。これは、本発明において「音素同期デコード(PSD:Phone Synchronous Decoding)」と呼ばれる。次の図は、本発明で提案されるPSDアルゴリズム及びヌル出力の重み調整のフロー全体を示している。
【数44】
【0095】
ここで、上記のアルゴリズムの6行目は、重みの調整が行われ、アルゴリズムにおける
【数45】
は、数式3の1/αであり、上記のアルゴリズムの13~17行目は、本発明で提案されるPSDアルゴリズムであり、即ち、ヌル出力の確率が一定の閾値
【数46】
より小さい場合にのみ、ネットワーク出力の確率分布が後続のデコードマップのデコードに参加する。
【0096】
いくつかの実施例において、上記の確率閾値は、開発者や管理者によりコンピュータ機器に予め設定されたものである。例えば、上記の確率閾値は、開発者により音声認識モデルに予め設定されてもよい。
【0097】
いくつかの実施例では、調整後の該各音声フレームに対応する該音素認識結果をデコードマップに入力することにより、該音声信号に対応する認識テキストシーケンスを取得する該ステップの前に、該方法は、
閾値影響パラメータを取得するステップであって、該閾値影響パラメータには、環境音強度、指定時間帯内の音声認識の失敗回数、及びユーザ設定情報のうちの少なくとも1つが含まれる、ステップと、
該閾値影響パラメータに基づいて、該確率閾値を決定するステップと、をさらに含む。
本願の実施例において、上記確率閾値は、コンピュータ機器が音声認識を行うプロセス中に調整してもよい。つまり、コンピュータ機器は、確率閾値の値に影響し得る関連パラメータを取得し、関連パラメータによって確率閾値を柔軟に設定してもよい。
【0098】
例えば、環境音強度がユーザの発する音声に干渉を与えるため、環境音強度が強い場合、コンピュータ機器は、より多くの音素認識結果がデコードマップに入力されてデコードされるように、確率閾値を高く設定することにより、認識の正確性を保証してもよい。逆に、環境音強度が弱い場合、コンピュータ機器は、より多くの音素認識結果がスキップされるように、確率閾値を低く設定することにより、認識の効率を保証してもよい。
【0099】
また、例えば、デコードマップに基づいて音素認識結果をデコードする正確性が音声認識の成功率に影響を与える。指定の時間帯(例えば、現在の時刻より前の時間帯、例えば5分)内の音声認識の失敗回数が多すぎる場合、コンピュータ機器は、より多くの音素認識結果がデコードマップに入力されてデコードされるように、確率閾値を高く設定することにより、認識の正確性を保証してもよい。逆に、指定の時間帯内に音声認識の失敗回数が少ないか、失敗していない場合、コンピュータ機器は、より多くの音素認識結果がスキップされるように、確率閾値を低く設定することにより、認識の効率を保証してもよい。
【0100】
いくつかの実施例において、該デコードマップは、音素辞書及び言語モデルによって複合的に構成される。
【0101】
本発明で採用されるデコードマップは、音素辞書と言語モデルとの2つのサブ重み付き有限状態トランスデューサー(WFST:Weighted Finite State Transducer)マップによって複合されたものである。
【0102】
音素辞書WFST:漢字又は単語から音素シーケンスへのマッピングである。音素シーケンスストリングが入力されると、WFSTは、それに対応する漢字又は単語を出力することができる。通常、このWFSTは、テキストの分野に関係なく、異なる認識タスクにおいて共通部分である。
【0103】
言語モデルWFST:このWFSTは、通常、n-gram言語モデルから変換されたものである。言語モデルは、1つのセンテンスが出現する確率を計算するためのものであり、訓練データ及び統計学的方法を用いて訓練されたものである。通常、異なる分野のテキスト、例えばニュースと話し言葉のテキストは、よく使われる単語や単語の組み合わせに大きな違いがあるため、異なる分野の音声認識を行う際に、言語モデルWFSTを変更することで、適応を図ることができる。
【0104】
図7を参照する。
図7には、本願の実施例に係るモデル訓練及び応用のフローチャートが示されている。
図7に示すように、車載機器に適用される場合を例として、本願の実施例で示されるモデル訓練の完了後に、libtorchを用いてモデルの量子化及び配置を行う。libtorchのアンドロイド(登録商標)版では、QNNPACKライブラリを用いてINT8の行列演算を行うことで、行列演算を大幅に高速化する。モデルは、Python環境71で、pytorchを用いて訓練される。そして、モデルに対して訓練後の量子化を行う。即ち、モデルのパラメータをINT8に量子化し、INT8による行列乗算を用いて計算を高速化する。量子化されたモデルをエクスポートしてC++環境72での前向き推論に用いることで、テストデータによるテストを行う。
【0105】
本願で示される発明によれば、一方で、訓練プロセス中に、Transducerに基づくエンドツーエンドモデルは、フレームレベルのアライメント情報を必要とせず、モデリングプロセスが大幅に簡略化される。次に、デコードマップが簡略化され、探索空間が低減される。本発明で提案される方法では、音素モデリングを用いるため、デコードマップには、LとGの複合のみが必要であり、探索空間が大幅に低減される。最後に、音素モデリングを用いて、カスタマイズされたデコードマップと組み合わせることで、柔軟なカスタマイズが可能となり、異なるビジネスシナリオに応じて、音響モデルを変更することなく、言語モデルをカスタマイズするだけで、それぞれのビジネスシナリオに適応させることができる。
【0106】
関連技術におけるオフライン認識システムに比べて、本発明は、認識率及びCPUの占有率の両方で優位にある。
【0107】
認識率の面では、DNNと隠れマルコフモデル(HMM:Hidden Markov Model)とを組み合わせたシステムモデル(DNN-HMMモデル)に比べて、本発明で示されるシステムモデルは、大幅に向上している。
【0108】
CPUの占有率の面では、本発明で示されるシステムモデルは、モデルのパラメータ量がDNN-HMMシステムの4倍である場合においても、DNN-HMMシステムモデルと類似したCPUの占有率を有する。
【0109】
音声認識率の比較は以下の通りである。
【0110】
次の表1は、3つのデータセット上で、従来のDNN-HMMシステムと本発明で提案されるTransducerシステムとのキャラクター誤り率(CER:Character Error Rate)の比較を示している。
【表1】
【0111】
表1から分かるように、類似したパラメータ量の場合、Transducder1モデルは、2つのテストセット上で、それぞれCERの18.7%と18.6%の低下を達成した。また、モデルのパラメータ量を増やしたところ、Transducer3を用いて、それぞれ8.93%と13.18%のキャラクター誤り率を達成した。
【0112】
【0113】
Transducer1とDNN-HMMを表2で比較すると、2つのモデルのパラメータ量が同等である場合、Transducer1モデルは、DNN-HMMモデルよりも、ピーク値が2%高くなる。しかし、モデルのパラメータ量が増加すると、Transducerモデルのピーク値に明らかな変化がない。モデルのパラメータ量の大幅な増加及び認識誤り率の低減という条件でも、CPUの占有率は依然として低いレベルにある。
【0114】
上記のように、本願の実施例で示される発明では、音声フレームの各音素及びヌル出力における確率分布が含まれる音素認識結果について、該音素認識結果をデコードマップに入力する前に、まず、音素認識結果におけるヌル出力の確率を抑えて、音声フレームがヌル出力として認識される確率を低減することにより、音声フレームがヌル出力として誤って認識される可能性を低減し、つまり、モデルの削除エラーを低減し、モデルの認識の正確性を向上させる。
【0115】
本願の上記
図3に示された実施例の発明では、ヌル出力重み調整(ステップ303)及びデコードフレームスキップ(ステップ304に対応)の両方を適用する場合を例として説明しているが、他の実現形態では、ヌル出力重み調整及びデコードフレームスキップを独立して適用してもよい。例えば、本願の1つの例示的な実施例において、上記のデコードフレームスキップを独立して適用する場合、本願で示される発明は、
音声信号を取得するステップであって、該音声信号には、オリジナル音声を切り分けることにより得られた各音声フレームが含まれる、ステップと、
音声信号に対して音素認識を行うことにより、該各音声フレームに対応する音素認識結果を取得するステップであって、該音素認識結果が、音素空間における、該音素認識結果に対応する音声フレームの確率分布を示すためのものであり、該音素空間には、各音素及び1つのヌル出力が含まれる、ステップと、
該各音声フレームに対応する該音素認識結果のうち、ヌル出力の確率が指定の条件を満たす該音素認識結果をデコードマップに入力することにより、該音声信号に対応する認識テキストシーケンスを取得するステップと、を含んでもよい。
【0116】
上記のように、本願の実施例で示される発明では、音声フレームの各音素及びヌル出力における確率分布が含まれる音素認識結果に対して、該音素認識結果をデコードマップに入力すると、そのうち、ヌル出力の確率が条件を満たす音素識別結果をデコードし、デコードすべき音素認識結果の数を減らして、不要なデコードステップをスキップすることができる。これにより、音声認識の効率を効果的に向上させる。
【0117】
図8を参照する。
図8は、1つの例示的な実施例によって示された音声認識システムのフレームワーク図である。
図8に示すように、オーディオ収集機器81と音声認識機器82とが接続され、音声認識機器82には、音響モデル82aと、確率調整ユニット82bと、デコードマップ入力ユニット82cと、デコードマップ82dと、特徴抽出ユニット82eとが含まれる。そのうち、デコードマップ82dは、音素辞書及び言語モデルによって構成される。
【0118】
応用プロセスでは、オーディオ収集機器81がユーザのオリジナル音声を収集した後、音声認識機器82における特徴抽出ユニット82eにオリジナル音声を伝送する。特徴抽出ユニットによる切り分け及び各音声フレームの特徴抽出後、1つの音声フレームの音声特徴と、デコードマップ82dが該音声フレームの前4つの非ヌルの音声フレームに対して認識したテキストの音素とを、音響モデル82aにおけるFSMN及び1次元畳み込みネットワークにそれぞれ入力することにより、音響モデル82aから出力される該音声フレームの音素認識結果を取得する。
【0119】
該音素認識結果が確率調整ユニット82bに入力され、ヌル出力の確率調整が行われることで、調整後の音素認識結果が取得される。デコードマップ入力ユニット82cは、該調整後の音素認識結果を判断し、調整後のヌル出力の確率が閾値より小さいと判断した場合、デコードする必要があると決定し、該調整後の音素認識結果をデコードマップ82dに入力し、デコードマップ82dによってテキストを認識する。逆に、調整後のヌル出力の確率が閾値より小さくないと判断した場合、デコードする必要がないと決定し、該調整後の音素認識結果を捨てる。
【0120】
上記のデコードマップが各音声フレームの調整後の音素認識結果を認識してテキストシーケンスを出力した後、テキストシーケンスを自然言語処理コンポーネントに出力し、自然言語処理コンポーネントによって、ユーザが入力した音声に応答してもよい。
【0121】
図9は、1つの例示的な実施例によって示された音声認識装置の構成ブロック図である。該音声認識装置は、
図2又は
図3に示された実施例で提供される方法のステップの全部又は一部を実現することができる。該音声認識装置は、
音声信号に対して音素認識を行うことにより、音声信号における各音声フレームに対応する音素認識結果を取得する音声信号処理モジュール901であって、音素認識結果が、音素空間における、音素認識結果に対応する音声フレームの確率分布を示すためのものであり、音素空間には、各音素及びヌル出力が含まれる、音声信号処理モジュール901と、
各音声フレームに対応する音素認識結果におけるヌル出力の確率を抑えて調整することにより、音素認識結果におけるヌル出力の確率と各音素の確率との比を低減する確率調整モジュール902と、
調整後の各音声フレームに対応する音素認識結果をデコードマップに入力することにより、音声信号に対応する認識テキストシーケンスを取得するデコードモジュール903であって、デコードマップには、キャラクターと音素との間のマッピング関係が含まれる、デコードモジュール903と、を含んでもよい。
【0122】
いくつかの実施例において、確率調整モジュール902は、
各音声フレームに対応する音素認識結果におけるヌル出力の確率を低減することと、
各音声フレームに対応する音素認識結果における各音素の確率を向上させることと、
の少なくとも1つによって、各音声フレームに対応する音素認識結果を調整する。
【0123】
いくつかの実施例において、確率調整モジュール902は、各音声フレームに対応する音素認識結果におけるヌル出力の確率に第1重みを掛け、第1重みが1未満でありかつ0より大きい。
【0124】
いくつかの実施例において、確率調整モジュール902は、各音声フレームに対応する音素認識結果における各音素の確率に第2重みを掛け、第2重みが1より大きい。
【0125】
いくつかの実施例において、デコードモジュール903は、
ターゲット音素認識結果におけるヌル出力の確率が指定の条件を満たす場合、ターゲット音素認識結果をデコードマップに入力することにより、ターゲット音素認識結果に対応する認識テキストを取得し、
ここで、ターゲット音素認識結果は、各音声フレームに対応する該音素認識結果のうちのいずれか1つである。
【0126】
いくつかの実施例において、指定の条件は、
ターゲット音素認識結果におけるヌル出力の確率が確率閾値より小さいことを含む。
【0127】
いくつかの実施例において、装置は、
閾値影響パラメータを取得するパラメータ取得モジュールであって、閾値影響パラメータには、環境音強度、指定時間帯内の音声認識の失敗回数、及びユーザ設定情報のうちの少なくとも1つが含まれる、パラメータ取得モジュールと、
閾値影響パラメータに基づいて確率閾値を決定する閾値決定モジュールと、をさらに含む。
【0128】
いくつかの実施例において、音声信号処理モジュール901は、
訓練済みの音響モデルによって、ターゲット音声フレームに対して特徴抽出を行うことにより、ターゲット音声フレームの特徴ベクトルを取得し、ターゲット音声フレームが各音声フレームのうちのいずれか1つであり、
ターゲット音声フレームを音響モデルにおけるエンコーダに入力することにより、ターゲット音声フレームの音響隠れ層表現ベクトルを取得し、
ターゲット音声フレームの過去認識テキストの音素情報を音響モデルにおける予測器に入力することにより、ターゲット音声フレームのテキスト隠れ層表現ベクトルを取得し、ターゲット音声フレームの過去認識テキストが、デコードマップによって、ターゲット音声フレームの前n個(nは1以上の整数)の非ヌル出力の音声フレームの音素認識結果を認識することにより得られたテキストであり、
ターゲット音声フレームの音響隠れ層表現ベクトルと、ターゲット音声フレームのテキスト隠れ層表現ベクトルとをジョイントネットワークに入力することにより、ターゲット音声フレームの音素認識結果を取得する。
【0129】
いくつかの実施例において、エンコーダは、フィードフォワードシーケンシャルメモリネットワーク(FSMN)である。
【0130】
いくつかの実施例において、予測器は、1次元畳み込みネットワークである。
【0131】
いくつかの実施例において、デコードマップは、音素辞書及び言語モデルによって複合的に構成される。
【0132】
上記のように、本願の実施例で示される発明では、音声フレームの各音素及びヌル出力における確率分布が含まれる音素認識結果について、該音素認識結果をデコードマップに入力する前に、まず、音素認識結果におけるヌル出力の確率を抑えて、音声フレームがヌル出力として認識される確率を低減することにより、音声フレームがヌル出力として誤って認識される可能性を低減し、つまり、モデルの削除エラーを低減し、モデルの認識の正確性を向上させる。
【0133】
図10は、1つの例示的な実施例によって示されたコンピュータ機器の構成の模式図である。該コンピュータ機器は、上記の各方法の実施例におけるコンピュータ機器として実現されてもよい。前記コンピュータ機器1000は、中央処理装置1001と、ランダムアクセスメモリ(RAM:Random Access Memory)1002及び読み出し専用メモリ(ROM:Read-Only Memory)1003を含めたシステムメモリ1004と、システムメモリ1004及び中央処理装置1001を接続するシステムバス1005と、を含む。前記コンピュータ機器1000は、コンピュータ内の各部品間の情報の伝送を支援する基本入出力システム1006と、オペレーティングシステム1013、アプリケーションプログラム1014、及び他のプログラムモジュール1015を記憶するための大容量記憶装置1007と、をさらに含む。
【0134】
前記大容量記憶装置1007は、システムバス1005に接続された大容量記憶コントローラ(図示せず)を介して中央処理装置1001に接続されている。前記大容量記憶装置1007及びそれに関連するコンピュータ可読媒体は、コンピュータ機器1000に対して不揮発性記憶を提供する。つまり、前記大容量記憶装置1007は、ハードディスクやコンパクトディスク読み出し専用メモリ(CD-ROM:Compact Disc Read-Only Memory)ドライブのようなコンピュータ可読媒体(図示せず)を含んでもよい。
【0135】
一般性を失うことなく、前記コンピュータ可読媒体は、コンピュータ記憶媒体と通信媒体とを含んでもよい。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、又は他のデータなどのような情報を記憶するための任意の方法又は技術によって実現される揮発性及び不揮発性、移動可能な及び移動不可な媒体を含む。コンピュータ記憶媒体は、RAM、ROM、フラッシュメモリ又は他のソリッドステート記憶装置、CD-ROM、又は他の光学的記憶装置、テープカートリッジ、磁気テープ、磁気ディスク記憶装置又は他の磁気記憶装置を含む。もちろん、当業者であれば、前記コンピュータ記憶媒体がこれらに限定されないことが分かる。上記のシステムメモリ1004及び大容量記憶装置1007を総称してメモリと呼んでもよい。
【0136】
コンピュータ機器1000は、前記システムバス1005に接続されたネットワークインタフェースユニット1011を介して、インターネット又は他のネットワーク機器に接続されてもよい。
【0137】
前記メモリには、少なくとも1つのコンピュータ命令がさらに含まれ、前記少なくとも1つのコンピュータ命令がメモリに記憶され、プロセッサは、該少なくとも1つのコンピュータ命令をロードして実行することにより、
図2又は
図3に示された方法のステップの全部又は一部を実現する。
【0138】
例示的な実施例では、命令を含む非一時的なコンピュータ可読記憶媒体、例えば、コンピュータプログラム(命令)を含むメモリがさらに提供されている。上記プログラム(命令)は、コンピュータ機器のプロセッサによって実行されると、本願の各実施例で示される方法を実行させることが可能である。例えば、前記非一時的なコンピュータ可読記憶媒体は、読み出し専用メモリ(ROM:Read-Only Memory)、ランダムアクセスメモリ(RAM:Random Access Memory)、コンパクトディスク読み出し専用メモリ(CD-ROM:Compact Disc Read-Only Memory)、磁気テープ、フロッピーディスク、及び光データ記憶装置などであってもよい。
【0139】
例示的な実施例では、コンピュータ命令を含むコンピュータプログラム製品又はコンピュータプログラムがさらに提供されている。該コンピュータ命令は、コンピュータ可読記憶媒体に記憶される。コンピュータ機器のプロセッサは、コンピュータ可読記憶媒体から該コンピュータ命令を読み取り、プロセッサが該コンピュータ命令を実行すると、該コンピュータ機器に上記の各実施例で示される方法を実行させる。
【0140】
コンピュータプログラムを含むコンピュータプログラム製品であって、該コンピュータプログラムがプロセッサによって実行されると、上記の各実施例で示される方法を実現させることを特徴とする。
【0141】
当業者は、明細書を考慮して、ここで開示された発明を実施した後、本願の他の実施形態を容易に想到し得る。本願は、本願の任意の変形、用途、又は適応的な変更が包括されることを趣旨とする。これらの変形、用途、又は適応的な変更は、本願の一般的な原理に従い、本願に開示されていない本技術分野における技術常識又は慣用の技術的手段を含む。明細書及び実施例は、例示的なものと見なされるに過ぎず、本願の本当の範囲及び精神は、特許請求の範囲によって示される。
【0142】
理解すべきものとして、本願は、上記で説明されて図面に示された精確な構造に限定されるものではなく、その範囲から逸脱することなく様々な修正及び変更が可能である。本願の範囲は、添付の特許請求の範囲によってのみ限定される。
【符号の説明】
【0143】
51 エンコーダ
52 予測器
53 ジョイントネットワーク
61 非ヌルの過去出力
62 1次元畳み込みネットワーク
71 Python環境
72 C++環境
81 オーディオ収集機器
82 音声認識機器
82a 音響モデル
82b 確率調整ユニット
82c デコードマップ入力ユニット
82d デコードマップ
82e 特徴抽出ユニット
120 音声収集コンポーネント
140 音声認識機器
160 サーバ
901 音声信号処理モジュール
902 確率調整モジュール
903 デコードモジュール
1000 コンピュータ機器
1001 中央処理装置
1002 ランダムアクセスメモリ
1003 読み出し専用メモリ
1004 システムメモリ
1005 システムバス
1006 基本入出力システム
1007 大容量記憶装置
1013 オペレーティングシステム
1014 アプリケーションプログラム
1015 その他のプログラムモジュール