【文献】
小川厚徳他,Bidirectional RNNを用いた音声認識誤り検出と認識率推定,日本音響学会2014年秋季研究発表会講演論文集[CD−ROM],2014年 9月,p.27-28
(58)【調査した分野】(Int.Cl.,DB名)
前記第1重み及び前記第2重みを設定するステップは、前記文章に関する第1モデル基盤確率分布に基づいて、前記第1重み及び前記第2重みを動的に制御するステップを含む、請求項6に記載の音声認識方法。
【発明の概要】
【発明が解決しようとする課題】
【0003】
実施形態は、文章内の前後文脈に基づいた言語モデルに基づいて音声認識された文章の正確度を向上させる技術を提供する。
【課題を解決するための手段】
【0004】
一側面に係る音声認識方法は、音声認識によって生成した文章を受信するステップと、前記文章内の他の単語との関係に基づいて、前記文章に含まれた単語それぞれの適合度を算出するステップと、前記単語それぞれの適合度に基づいて、前記単語のうち修正が求められる対象単語を検出するステップと、前記対象単語に対応する候補単語のいずれか1つにより前記対象単語を代替するステップとを含む。
【0005】
前記適合度を算出するステップは、双方向回帰神経網言語モデルを用いて前記単語それぞれの適合度を算出するステップを含んでもよい。
【0006】
前記対象単語を検出するステップは、予め決定した閾値未満の適合度を有する単語を検出するステップと、適合度が小さい順に予め決定した数の単語を検出するステップと、のうち少なくとも1つを含んでもよい。
【0007】
前記対象単語を代替するステップは、前記文章で前記対象単語を除いた残り単語との関係、前記対象単語の音素シーケンスとの類似度、及び前記文章に先行する以前文章の文脈のうち少なくとも1つに基づいて前記候補単語を決定するステップを含むんでもよい。
【0008】
前記候補単語を決定するステップは、予め備えられた単語辞書から前記候補単語を取得するステップを含んでもよい。
【0009】
前記対象単語を代替するステップは、前記候補単語それぞれに対して前記対象単語の音素シーケンスとの類似度に基づいた第1モデル、及び前記文章から前記対象単語を除いた残り単語との関係に基づいた第2モデルのうち少なくとも1つに基づいて当該候補単語の適合度を算出するステップを含んでもよい。
【0010】
前記対象単語を代替するステップは、前記第1モデルのための第1重み及び前記第2モデルのための第2重みを設定するステップをさらに含んでもよい。
【0011】
前記第1重み及び前記第2重みを設定するステップは、前記文章に関する第1モデル基盤確率分布に基づいて、前記第1重み及び前記第2重みを動的に制御するステップを含んでもよい。
【0012】
前記音声認識方法は、ユーザの音声を受信するステップと、前記音声から特徴を抽出するステップと、音声モデルを用いて前記特徴から音素シーケンスを認識するステップと、言語モデルを用いて前記音素シーケンスから単語を認識することによって前記文章を生成するステップとをさらに含んでもよい。
【0013】
前記言語モデルはバイグラム(Bi−Gram)言語モデルを含んでもよい。
【0014】
他の一実施形態に係る音声認識装置は、ユーザの音声を認識することによって文章を生成する第1認識部と、前記文章内の前後文脈に基づいた言語モデルに基づいて、前記文章内の少なくとも1つの単語を修正する第2認識部とを含む。
【0015】
前記第1認識部は、前記音声を受信する受信部と、前記音声から特徴を抽出する抽出部と、前記特徴から音素シーケンスをデコーディングするデコーディング部と、前記音素シーケンスから単語を認識することによって前記文章を生成する生成部とを含んでもよい。
【0016】
前記言語モデルは双方向回帰神経網言語モデルを含んでもよい。
【0017】
前記第2認識部は、前記文章内の他の単語との関係に基づいて前記文章に含まれた単語それぞれの適合度を算出する算出部と、前記単語それぞれの適合度に基づいて前記単語のうち修正が求められる対象単語を検出する検出部と、前記対象単語に対応する候補単語のいずれか1つにより前記対象単語を代替する代替部とを含んでもよい。
【0018】
前記検出部は、予め決定した閾値未満の適合度を有する単語を検出し、適合度が小さい順に予め決定した数の単語を検出してもよい。
【0019】
前記代替部は、前記文章内前記対象単語の位置、前記文章から前記対象単語を除いた残り単語との関係、前記対象単語の音素シーケンスとの類似度、及び前記文章に先行する以前文章の文脈のうち少なくとも1つに基づいて前記候補単語を決定してもよい。
【0020】
前記代替部は、予め備えられた単語辞書から前記候補単語を取得してもよい。
【0021】
前記代替部は、前記候補単語それぞれに対して前記対象単語の音素シーケンスとの類似度に基づいた第1モデル、及び前記文章から前記対象単語を除いた残り単語との関係に基づいた第2モデルのうち少なくとも1つに基づいて当該候補単語の適合度を算出してもよい。
【0022】
前記代替部は、前記文章に関する第1モデル基盤確率分布に基づいて前記第1モデルのための第1重み及び前記第2モデルのための第2重みを動的に制御してもよい。
【0023】
一実施形態に係る音声認識装置は、第1言語モデルを用いてユーザによって表現された音声から文章を認識する第1認識装置と、前記第1言語モデルよりも高い複雑度を有する第2言語モデルを用いて前記文章の正確度を向上させる第2認識装置とを含む。
【0024】
前記第1認識装置は、音声モデルを用いて前記音声から音素を認識し、前記第1言語モデルを用いて前記音素から前記文章を認識してもよい。
【0025】
前記第2認識装置は、前記第2言語モデルを用いて前記文章内の単語のうち最も不正確なものとして予測される単語を識別し、前記第2言語モデルを用いて前記識別された単語を前記文章の正確度を向上させる単語に代替してもよい。
【0026】
前記第2認識装置は、前記第2言語モデルと音声モデルを用いて前記識別された単語を前記文章の正確度を向上させる単語に代替してもよい。
【0027】
前記第1認識装置は、前記言語モデルを用いて前記音声から音素を認識し、前記第1言語モデルを用いて前記音素から前記文章を認識してもよい。
【0028】
前記第2認識装置は、前記識別された単語に基づいて候補単語を取得し、前記候補単語から前記文章の正確度を向上させる単語を選択してもよい。
【0029】
前記第2認識装置は、前記第2言語モデル及び音声モデルのうち少なくとも1つ、前記識別された単語及び前記文章内の他の単語に基づいて予め備えられた辞書から前記候補単語を取得してもよい。
【発明の効果】
【0030】
本発明によると、文章内の前後文脈に基づいた言語モデルに基づいて、音声認識された文章の正確度を向上させる技術を提供することができる。
【発明を実施するための形態】
【0032】
以下、実施形態を添付する図面を参照しながら詳細に説明する。各図面に提示された同一の参照符号は同一の部材を示す。下記で説明する実施形態は音声認識方式に適用することができ、音声認識方式が活用される移動端末、スマート家電製品、医療装置、車制御装置、及びその他のコンピュータ装置で利用され得る。
【0033】
図1は、一実施形態に係る音声認識装置を示すブロック図である。
図1を参照すると、一実施形態に係る音声認識装置100は、第1認識部110と第2認識部120を含む。第1認識部110は、ユーザの音声を一次的に認識することで臨時認識結果を生成し得る。第1認識部110は、臨時認識結果に該当する文章を生成することができる。
【0034】
第1認識部110は臨時認識結果に該当する文章を生成するため、第1言語モデルに基づいてユーザの音声を認識する。第1言語モデルは、第2認識部120によって用いられる第2言語モデルに比べて単純な言語モデルであり、例えば、N−グラム(N−Gram)言語モデルなどを含む。第2言語モデルは、第1言語モデルに比べて複雑なモデルである。この場合、第2言語モデルは第1言語モデルよりも高い複雑度を有する。
【0035】
第1認識部110は、様々な方式でユーザの音声を受信できる。例えば、第1認識部110は、マイクロホンを用いて入力されるユーザの音声を受信したり、予め備えられた格納装置に格納されたユーザの音声を受信したり、ネットワークを介して遠隔に位置するユーザの音声を受信し得る。第1認識部110の動作に関する詳細な事項は後述する。
【0036】
第2認識部120は、臨時認識結果に基づいて最終認識結果を生成する。以下、最終認識結果は音声認識結果と称されてもよい。第2認識部120は、第2言語モデルに基づいて臨時認識結果に該当する文章内の少なくとも1つの単語を修正することによって音声認識結果を出力することができる。音声認識結果は、少なくとも1つの単語が修正された文章である。第2認識部120は、第1認識部110によって認識された臨時結果に対応する文章の正確度を向上させることができる。
【0037】
第2言語モデルは文章内の前後文脈に基づいた言語モデルであって、例えば、双方向回帰神経網言語モデルを含む。第2認識部120の動作を具体的に説明する以前に、
図2〜
図6を参照して双方向回帰神経網言語モデルを簡略に説明することにする。
【0038】
図2を参照すると、神経網200は、連結線に連結された複数の人工ニューロンを用いて生物学的なシステムの算出能力を模倣する認識モデルである。神経網200は、生物学的なニューロンの機能を単純化した人工ニューロンを用いる。人工ニューロンはノードと称されてもよい。人工ニューロンは、結合重み(connection weight)を有する連結線を介して相互連結されている。神経網200は、人工ニューロンを介して人の認知作用や学習過程を行うことができる。
【0039】
神経網200は複数のレイヤを含む。例えば、神経網200は、入力レイヤ210、隠れレイヤ220、出力レイヤ230を含む。入力レイヤ210は、学習を行うための入力を受信して隠れレイヤ220に伝達し、出力レイヤ230は、隠れレイヤ220から受信した信号に基づいて神経網200の出力を生成する。隠れレイヤ220は、入力レイヤ210と出力レイヤ230との間に位置し、入力レイヤ210によって伝えられた学習データを予測しやすい値に変化させることができる。
【0040】
入力レイヤ210に含まれた入力ノードと隠れレイヤ220に含まれた隠れノードは、結合重みを有する連結線を用いて連結され得る。隠れレイヤ220に含まれた隠れノードと出力レイヤ230に含まれた出力ノードは、結合重みを有する連結線を介して連結され得る。
【0041】
神経網200の学習過程で、人工ニューロン間の結合重みは、エラー逆伝搬学習(back−propagation learning)によりアップデートされることができる。エラー逆伝搬学習は、与えられた学習データに対してフォワード算出によってエラーを推定した後、出力レイヤ230から開始して隠れレイヤ220及び入力レイヤ210に向かう逆方向に推定したエラーを伝搬しながら、エラーを減らすように結合重みをアップデートする方法である。
【0042】
図3を参照すると、回帰神経網300は、互いに異なる時間区間で隠れノードの間に再帰的な連結がある神経網である。一般的な神経網とは異なって、回帰神経網は、任意のインプットシーケンスを処理する内部メモリを用いることができる。以前の時間区間310における隠れノードの出力は、現在の時間区間320における隠れノードに連結されている。現在の時間区間320における隠れノードの出力は、次の時間区間330における隠れノードに連結されている。
【0043】
一例として、以前の時間区間310における第1隠れノード311、現在の時間区間320における第2隠れノード321、及び次の時間区間330における第3隠れノード331は、互いに
図4に示すように連結されてもよい。
図4を参照すると、第1隠れノード311の出力は第2隠れノード321に入力され、第2隠れノード321の出力は第3隠れノード331に入力されてもよい。
【0044】
図5を参照すると、双方向回帰神経網500は、互いに異なる時間区間で隠れノードの間に双方向に再帰的な連結のある神経網である。双方向回帰神経網も回帰神経網のように任意のインプットシーケンスを処理する内部メモリを用いることができる。以前の時間区間510における隠れノードの出力は、現在の時間区間520における隠れノードに連結され、現在の時間区間520における隠れノードの出力は、次の時間区間530における隠れノードに連結されている。また、次の時間区間530における隠れノードの出力は、現在の時間区間520における隠れノードに連結され、現在の時間区間520における隠れノードの出力は、以前の時間区間510における隠れノードに連結されている。
【0045】
一例として、以前の時間区間510における第1−1隠れノード511、第1−2隠れノード512、現在の時間区間520における第2−1隠れノード521、第2−2隠れノード522、次の時間区間530における第3−1隠れノード531、及び第3−2隠れノード532は互いに
図6に示すように連結されている。
図4を参照すると、第3−1隠れノード531の出力は第2−1隠れノード521に入力され、第2−1隠れノード521の出力は第1−1隠れノード511から入力される。また、第1−2隠れノード512の出力は第2−2隠れノード522に入力され、第2−2隠れノード522の出力は第3−2隠れノード532から入力されている。
【0046】
双方向回帰神経網言語モデルは、双方向回帰神経網を用いて言語の文脈及び文法などを学習したモデルである。再び
図1を参照すると、第2認識部120は、双方向回帰神経網言語モデルを用いることで、文章の前後文脈に基づいて臨時認識結果に該当する文章内の単語を修正することができる。例えば、臨時認識結果に該当する文章内任意の単語が双方向回帰神経網で現在の時間区間に対応すると仮定すれば、当該の単語よりも前に位置する単語は、双方向回帰神経網で以前の時間区間に対応する。また、臨時認識結果に該当する文章内の当該単語よりも後に位置する単語は、双方向回帰神経網で次の時間区間に対応する。
【0047】
以下、説明の便宜のために第2認識部120が双方向回帰神経網言語モデルを用いる場合を説明するが、第2認識部120の動作はこれに制限されることはない。例えば、第2認識部120は、双方向回帰神経網言語モデルの他にも文章内の前後文脈に基づくいずれの言語モデルでも利用できる。
【0048】
図7は、一実施形態に係る音声認識装置の動作を説明する図である。
図7を参照すると、第1認識部110は、ユーザの音声710を一次的に認識することによって臨時認識結果を生成し、第2認識部120は、臨時認識結果を2次的に検証することによって最終認識結果を生成することができる。
【0049】
例えば、第1認識部110は、「Today my mom taught me a story.」という音声710を受信してもよい。第1認識部110は、ノイズなどの影響で音声710を正確に認識できないことがある。例えば、音声710のうち「taught」が受信される時点にノイズ715が発生した場合、第1認識部110は、「taught」を「sought」に間違って認識することがある。この場合、第1認識部110により生成される臨時認識結果は、「Today my mom sought me a story」となる。
【0050】
第2認識部120は、双方向回帰神経網言語モデルを用いて前後文脈上「sought」が適していないと判断する。第2認識部120は、適していないと判断された「sought」を「taught」に修正することができる。第2認識部120は、修正された文章を出力する。この場合、第2認識部120によって生成される最終認識結果は、「Today my mom taught me a story」である。以下、
図8〜
図13を参照して第2認識部120の動作を詳細に説明する。
【0051】
図8は、一実施形態に係る第2認識部を示すブロック図である。
図8を参照すると、第2認識部120は、算出部121、検出部122、及び代替部123を含む。算出部121、検出部122、及び代替部123は、ソフトウェアモジュール、ハードウェアモジュール、又はその組合で実現し得る。
【0052】
算出部121は、第1認識部110によって生成した文章に含まれた単語それぞれに対して、文章内の残り単語との関係に基づいた適合度を算出し得る。検出部122は、算出された単語の適合度に基づいて単語のうち修正が求められる対象単語を検出することができる。代替部123は、検出された対象単語に対応する候補単語のいずれか1つに対象単語を代替できる。
【0053】
図9A〜
図13は、実施形態に係る第2認識部の動作を説明する図である。一例として、
図9Aを参照すると、算出部121は、双方向回帰神経網言語モデルを用いて臨時認識結果に該当する文章に含まれた単語の適合度を算出し得る。双方向回帰神経網言語モデルは、臨時認識結果に該当する文章が入力され、当該文章に含まれた単語それぞれの適合度を出力する。
【0054】
双方向回帰神経網言語モデルは、文章の前後文脈に基づいて「Today」の適合度(s1)を出力する。「Today」の適合度(s1)は条件付き確率(conditional probability)である。例えば、「Today」の適合度(s1)は残り単語が与えられた状況で「Today」が文章の当該位置に登場する可能性として表現される。双方向回帰神経網言語モデルは、「my」の適合度(s2)、「mom」の適合度(s3)、「sought」の適合度(s4)、「me」の適合度(s5)、「a」の適合度(s6)、「story」の適合度(s7)など、臨時認識結果に該当する文章内の残り単語の適合度も出力することができる。
【0055】
検出部122は算出された適合度(s1〜s7)に基づいて、修正が求められる対象単語を検出することができる。例えば、検出部122は、予め決定した閾値未満の適合度を有する単語を検出したり、適合度の小さい順に予め決定した数の単語を検出する。以下、説明の便宜のために適合度が最も小さい1つの単語を検出する場合について説明する。
【0056】
前述した例示で、算出された適合度(s1〜s7)のうち、「sought」の適合度(s4)が最も小さい。例えば、「sought」は、前後文脈上、他の単語と似合わず、「sought」は言語文法上、5形式の文章構造(例えば、主語+他動詞+目的語+目的補語)に適していないなど、様々な要因によって「sought」の適合度(s4)が最も小さく算出される。この場合、検出部122は、「sought」を修正の求められる対象単語として検出することができる。
【0057】
他の例として、
図9Bを参照すると、算出部121は「Today」と文章内の残り単語の間の関係に基づいて「Today」の適合度(s1)を算出し得る。「Today」と文章内の残り単語の間の関係は、双方向回帰神経網言語モデルを用いてスコアとして表現され得る。例えば、算出部121は、「Today」と「my」の間の関係に対応するスコア(s1−1)、「Today」と「mom」の間の関係に対応するスコア(s1−2)、「Today」と「sought」の間の関係に対応するスコア(s1−3)、「Today」と「me」の間の関係に対応するスコア(s1−4)、「Today」と「a」の間の関係に対応するスコア(s1−5)、及び「Today」と「story」の間の関係に対応するスコア(s1−6)を算出し得る。
【0058】
算出部121は、スコア(s1−1)、スコア(s1−2)、スコア(s1−3)、スコア(s1−4)、スコア(s1−5)、及びスコア(s1−6)に基づいて「Today」の適合度(s1)を算出することができる。例えば、算出部は、スコア(s1−1)、スコア(s1−2)、スコア(s1−3)、スコア(s1−4)、スコア(s1−5)、及びスコア(s1−6)の合計、平均、分散、標準偏差などの様々な統計を用いて「Today」の適合度(s1)を算出し得る。算出部121は、同じ方式で「my」の適合度(s2)、「mom」の適合度(s3)、「sought」の適合度(s4)、「me」の適合度(s5)、「a」の適合度(s6)、及び「story」の適合度(s7)を算出し得る。
【0059】
図10を参照すると、代替部123は、対象単語のための候補単語1020を決定し、決定された候補単語1020のうち最適の候補単語を選択することができる。代替部123は、様々な方式で候補単語1020を決定することができる。例えば、代替部123は、臨時認識結果に該当する文章内の対象単語の位置、臨時認識結果に該当する文章から対象単語を除いた残り単語との関係、対象単語の音素シーケンス(phoneme sequence)との類似度、臨時認識結果に該当する文章に先行する以前文章の文脈(context)などに基づいて候補単語1020を決定することができる。又は、代替部123は、前述した方式の様々な組合を用いて単語辞書124から候補単語1020を取得できる。
【0060】
代替部123は、単語辞書124から候補単語1020を取得するために前述した第2言語モデルを用いる。又は、代替部123は、単語辞書124から候補単語1020を取得するために前述した第1言語モデルを用いる。又は、代替部123は、単語辞書124から候補単語1020を取得するために、
図11によって後述する言語モデルを用いることができる。又は、代替部123は、単語辞書124から候補単語1020を取得するために、
図11又は
図15によって後述する音声モデルを用いることができる。又は、代替部123は、単語辞書124から候補単語1020を取得するために前述した第1言語モデル、
図11に示す言語モデル、
図11及び
図15に示す音声モデルのうち2以上の組合を用いることができる。第2言語モデルは、
図11によって後述する言語モデル、
図15によって後述する第2言語モデル1545、又は他の言語モデルであってもよい。第1言語モデルは、
図11によって後述する言語モデル、
図15によって後述する第1言語モデル1535、又は、他の言語モデルであってもよい。音声モデルは、
図11によって後述する音声モデル、
図15によって後述する音声モデル1525、又は、他の音声モデルであってもよい。
【0061】
代替部123は、予め備えられた単語辞書124から候補単語1020を取得することができる。代替部123は、臨時認識結果に該当する文章内の対象単語の位置、臨時認識結果に該当する文章から対象単語を除いた残り単語との関係、対象単語の音素シーケンスとの類似度、臨時認識結果に該当する文章に先行する以前文章の文脈などに基づいて、予め備えられた単語辞書124から候補単語1020を取得し得る。
【0062】
例えば、代替部123は、対象単語1010を除いた残り単語との関係で文脈的に対象単語1010の位置に代入可能な候補単語1020を単語辞書124から取得し得る。又は、代替部123は、文法的に臨時認識結果に該当する文章内の対象単語1010の位置に代入可能な候補単語1020を単語辞書124から取得し得る。又は、代替部は123は、対象単語1010の音素シーケンスと類似度が一定以上である候補単語1020を単語辞書124から取得したり、対象単語1010の音素シーケンスと類似度が一定以上差異のある単語を候補単語1020から排除することができる。又は、代替部123は、以前文章の文脈により対象単語1010の位置に代入するのに適切な候補単語1020を単語辞書124から取得し得る。
【0063】
候補単語1020が決定されれば、代替部123は候補単語1020のうち最適の候補単語を選択する。代替部123は、様々な方式で最適の候補単語を選択することができる。例えば、代替部123は、候補単語1020のうち対象単語の音素シーケンス1015と最も類似の音素シーケンスを有する候補単語を最適の候補単語として選択することができる。代替部123は、対象単語1010を最適の候補単語1030に代替することができる。
【0064】
一例として、候補単語1020は、「told」、「taught」、「said」、「asked」などを含んでもよい。代替部123は、候補単語1020のうち、対象単語の音素シーケンス1015である「sought」と最も類似の音素シーケンスを有する候補単語である「taught」を最適の候補単語として選択する。代替部123は、臨時認識結果に該当する文章で「sought」を「taught」に修正した後、修正された文章を出力することができる。
【0065】
代替部123は、言語モデルに基づいた情報と音声モデルに基づいた情報をともに考慮して候補単語1020のうち最適の候補単語を選択することができる。
図11を参照すると、言語モデルに基づいた情報1115と音声モデルに基づいた情報1125をともに考慮して候補単語の適合度1130を算出し得る。
【0066】
言語モデルに基づいた情報1115は、言語モデルに基づいて算出された候補単語の文脈点数を含む。言語モデルは、双方向回帰神経網言語モデルを含む。候補単語それぞれの文脈点数は条件付き確率であってもよい。例えば、文章内の残り単語が与えられた状況で、言語モデルに基づいて候補単語それぞれの条件付き確率を算出することができる。
【0067】
音声モデルに基づいた情報1125は、音声モデルに基づいて算出された候補単語の発音点数を含む。候補単語それぞれの発音点数は、音素シーケンスの類似度である。例えば、言語モデルに基づいて、対象単語の音素シーケンスと候補単語それぞれの音素シーケンスの間の類似度が算出される。
【0068】
代替部123は、言語モデルの重み1110と音声モデルの重み1120を用いて、言語モデルに基づいた情報1115及び音声モデルに基づいた情報1125が候補単語の適合度1130に反映される比率を調整する。代替部123は、言語モデルの重み1110と音声モデルの重み1120を動的に制御し得る。例えば、代替部123は、音声モデルの信頼度が高い場合、音声モデルの重み1120を増加させたり言語モデルの重み1110を減少させる。又は、代替部123は、言語モデルの信頼度が高い場合、言語モデルの重み1110を増加させたり音声モデルの重み1120を減少させる。
【0069】
図12は、音声モデルの信頼度に応じて言語モデルの重み及び音声モデルの重みを動的に制御する実施形態を説明する図である。
図12を参照すると、代替部123は、臨時認識結果に含まれた各単語の確率分布に基づいて音声モデルの信頼度を判断する。臨時認識結果が生成されるとき、音声認識結果に含まれた各単語は、音声モデル基盤確率分布(音声モデルに基づく確率分布)に基づいて複数の候補単語のうち選択されたものである。例えば、グラフ1200の実線1210に示すように、特定の候補単語に対して音声モデル基盤確率分布が集中している場合にエントロピーが低いと表現される。エントロピーが低い場合、複数の候補単語のうち特定の候補単語を選択するための認識信頼度が高いものと理解され、音声モデルの信頼度が高いと判断される。この場合、代替部123は、音声モデルの重みを言語モデルの重みに比べて相対的に高く設定する。又は、代替部123は、言語モデルの重みを音声モデルの重みに比べて相対的に低く設定してもよい。
【0070】
また、グラフ1200の点線1220に示すように、複数の候補単語に対して音声モデル基盤確率分布が等しく分布している場合、エントロピーが高いと表現される。エントロピーが高い場合、特定の候補単語を選択するための認識信頼度が低いと理解され、音声モデルの信頼度が低いと判断される。この場合、代替部123は、音声モデルの重みを言語モデルの重みに比べて相対的に低く設定する。又は、代替部123は、言語モデルの重みを音声モデルの重みに比べて相対的に高く設定してもよい。
【0071】
代替部123は、候補単語の適合度に基づいて候補単語のうち最適の候補単語を選択することができる。例えば、代替部123は、最も高い適合度を有する候補単語を最適の候補単語として選択する。
【0072】
実施形態によると、前述した音声認識装置100の動作方式は様々に応用される。
図13を参照すると、第1認識部110は、複数の候補文章を生成することができる。第1認識部110は、受信された音声に基づいて様々な候補文章を生成することができる。
【0073】
候補文章は、互いに異なる音素の長さの単語を含んだり、互いに異なる数の単語を含むことができる。例えば、第1候補文章1311の最初の単語の音素の長さは、第2候補文章1312の最初の単語の音素の長さよりも短い。また、第1候補文章1311及び第2候補文章1312は合わせて4つの単語を含むものの、第3候補文章1313は合わせて3つの単語のみを含んでもよい。
【0074】
候補文章それぞれは文章スコアで評価され得る。例えば、第1候補文章1311の文章スコアは70であり、第2候補文章1312の文章スコアは65であり、第3候補文章1313の文章スコアは50であってもよい。
【0075】
第2認識部120は、候補文章それぞれに対して修正が求められる少なくとも1つの対象単語を検出することができる。第2認識部120は、前述した方式によって候補文章それぞれのための対象単語を最適の候補単語に修正することができる。1つの候補文章に2以上の対象単語が選択されてもよく、第2認識部120は対象単語を順次修正したり、同時に修正してもよい。
【0076】
修正された候補文章は、文章スコアで評価され得る。例えば、修正された第1候補文章1321の文章スコアは75であり、修正された第2候補文章1322の文章スコアは70であり、修正された第3候補文章1323の文章スコアは60であってもよい。
【0077】
第2認識部120は、一定レベル以上の文章スコアを有する候補文章が生成されるまで修正作業を繰り返す。第2認識部120は、修正された候補文章から対象単語を検出し、検出された対象単語を最適の候補単語に修正できる。
【0078】
繰り返される修正過程により、候補文章の間の文章スコアの順位が逆転することもある。例えば、再修正された第1候補文章1331の文章スコアは80であり、再修正された第2候補文章1332の文章スコアは90であり、再修正された第3候補文章1333の文章スコアは70であってもよい。第2認識部120は、再修正された第2候補文章1332を最終結果として出力する。
【0079】
第2認識部120は、候補文章に対するリスコアリング(rescoring)によって最適の候補文章を検出することに終わることなく、双方向回帰神経網言語モデルを用いて候補文章内の対象単語を修正することができる。第2認識部120は、ノイズなどによって候補文章に正解がない場合であっても、音声認識の正確度を向上させ得る。このように、双方向回帰神経網言語モデルを用いて単語を検索する第2認識部120の動作は、人の音声認識機構(メカニズム)と同様である。
【0080】
図14は、一実施形態に係る第1認識部を示すブロック図である。
図14を参照すると、第1認識部110は、受信部111、抽出部112、デコーディング部113、及び生成部114を含む。受信部111、抽出部112、デコーディング部113、及び生成部114は、ソフトウェアモジュール、ハードウェアモジュール、又はその組合で実現し得る。
【0081】
受信部111はユーザの音声を受信し、抽出部112は受信された音声から特徴を抽出できる。抽出部112は、様々な方式で特徴を抽出することができる。例えば、抽出部112は、LPC(Linear Predictive Coding)方式、MFCC(Mel Frequency Cepstral Coefficients)方式などを用いて音声から特徴を抽出する。
【0082】
デコーディング部113は、抽出された特徴から音素シーケンスを復号化する。例えば、デコーディング部113は、音声モデルを用いて特徴から音素シーケンスを復号化する。音声モデルは、テンプレート基盤でパターンをマッチングするDTW(Dynamic Time Warping)方式を用いるか、統計的にパターンを認識するHMM(Hidden Markov Modeling)方式を用いる。
【0083】
生成部114は、音素シーケンスから単語を認識することで臨時認識結果に該当する文章を生成する。例えば、生成部114は、第1言語モデルを用いて音素シーケンスから単語を認識する。第1言語モデルは、バイグラム(Bi−Gram)などの第2認識部120によって用いられる第2言語モデルに比べて単純な言語モデルであり得る。
【0084】
図面には図示していないが、第1認識部110は、受信された音声で認識区間を抽出し、認識区間内雑音を処理するなど前処理作業を行う前処理部をさらに含む。
【0085】
図15は、他の実施形態に係る音声認識装置を示すブロック図である。
図15を参照すると、音声認識装置1500は、特徴抽出部1510、音素認識部1520、デコーディング部1530、評価部1540、及びサンプリング部1550を含む。特徴抽出部1510、音素認識部1520、デコーディング部1530、評価部1540、及びサンプリング部1550は、ソフトウェアモジュール、ハードウェアモジュール、又はその組合で実現し得る。
【0086】
特徴抽出部1510は、音声から特徴を抽出する。特徴抽出部1510は、LPC方式、MFCC方式などを用いて音声から特徴を抽出できる。音素認識部1520は、音声モデル1525を用いて特徴から音素を認識する。音声モデル1525は、DTW基盤音声モデル、HMM基盤音声モデルなどであってもよい。デコーディング部1530は、第1言語モデル1535を用いて音素から単語を認識することで、臨時認識結果に該当する文章を生成することができる。第1言語モデル1535は、N−グラム言語モデルであり得る。
【0087】
評価部1540は、臨時認識結果に該当する文章内の単語に対する適合度を評価する。評価部1540は、第2言語モデル1545に基づいて臨時認識結果に該当する文章内の各単語に対して前後文脈に基づいて適合度を評価する。第2言語モデル1545は、双方向回帰神経網言語モデルであってもよい。評価部1540は、評価結果に基づいて、全体文章のうち修正が求められる対象単語があるか否かを判別する。例えば、評価部1540は、全体文章の全ての単語に対する条件付き確率を算出した後、修正が求められる対象単語を検出することができる。
【0088】
サンプリング部1550は、対象単語のための候補単語を推薦し得る。例えば、サンプリング部1550は、第2言語モデル1545に基づいて対象単語の位置に適する単語を推薦し得る。第2言語モデル1545は、双方向回帰神経網言語モデルであってもよい。サンプリング部1550は、双方向回帰神経網言語モデルを用いることで、文章全体を考慮して対象単語の位置に推薦される候補単語の確率を提示することができる。例えば、サンプリング部1550は、文章の前部から対象単語の位置までの第1部分と文章の後部分から対象単語の位置までの第2部分を考慮し、対象単語の位置に適する単語の確率を算出し得る。サンプリング部1550は、単語辞書1560から確率が高い順に予め決定した数の候補単語を選択することができる。
【0089】
場合に応じて、サンプリング部1550は、各候補単語と対象単語の位置における音声モデル基盤音素シーケンスとの距離を比較することができる。サンプリング部1550は、対象単語の位置における音声モデル基盤音素シーケンスとの距離が一定以上離れた候補単語は脱落させてもよい。候補単語の音素シーケンスは、単語辞書1560に格納されている。
【0090】
サンプリング部1550は、文脈情報を活用して候補単語を推薦し得る。例えば、サンプリング部1550は以前文章のトピックを検出し、検出されたトピックを用いてその次の文章から候補単語を推薦する。サンプリング部1550は、単語辞書1560に格納された単語のトピックと以前文章から検出されたトピックとを比較した後、トピックが類似の単語を集中的に候補単語として推薦し得る。
【0091】
評価部1540は、サンプリングされた単語に対して適合度を評価する。評価部1540は、対象単語と第2言語モデル1545に基づいて推薦された候補単語を比較することにより最適の候補単語を選択できる。評価部1540は、対象単語と候補単語とを比較するとき、第2言語モデルの重みと音声モデル1525の重みを動的に制御することができる。例えば、音声モデル1525に基づいて算出された確率分布が特定の候補単語に集中するなどエントロピーが低い場合、音声モデル1525に高い重みを与える。一方、音声モデル基盤確率分布が複数の候補単語に等しく分布するなどエントロピーが高い場合、音声モデル1525に低い重みを与える。
【0092】
音声モデル1525、第1言語モデル1535、及び第2言語モデル1545は、それぞれ音声認識装置1500内に予め備えられた格納空間に格納されたり、遠隔に位置するサーバに格納されてもよい。音声モデル1525、第1言語モデル1535、又は第2言語モデル1545が遠隔のサーバに格納される場合、音声認識装置1500は、ネットワークを介してサーバに格納されたモデルを用いることができる。
【0093】
音声認識装置1500は、イベント性ノイズに対して剛健な音声認識結果を出力する。音声認識装置1500は、ノイズなどにより認識率が低下する状況で言語モデルに基づいたサンプリングによって認識率を向上させる技術を提供することができる。
【0094】
前述した実施形態で候補単語を推薦するためにサンプリング部1550が第2言語モデル1545を使用するが、実施形態は様々に変形され得る。例えば、
図15において点線で表示したように、サンプリング部1550は、候補単語を推薦するために第1言語モデル1535又は音声モデル1525を用いることができる。又は、サンプリング部1550は、第2言語モデル1545、第1言語モデル1535、及び音声モデル1525のうち2以上の様々な組合を用いて候補単語を推薦することができる。
【0095】
図16〜
図18は、実施形態に係る音声認識方法を示した動作フローチャートである。
図16を参照すると、一実施形態に係る音声認識方法は、音声認識によって生成した文章を受信するステップS1610と、文章に含まれた単語それぞれに対して文章内の残り単語との関係に基づいた適合度を算出するステップS1620と、単語の適合度に基づいて単語のうち修正が求められる対象単語を検出するステップS1630と、対象単語に対応する候補単語のいずれか1つに対象単語を代替するステップS1640とを含む。
図16に示された各ステップには
図1に示す第2認識部120の動作がそのまま適用され得るため、より詳細な説明は省略する。
【0096】
図17を参照すると、一実施形態に係る音声認識方法は、ユーザの音声を受信するステップS1710と、音声から特徴を抽出するステップS1720と、音声モデルを用いて特徴から音素シーケンスを認識するステップS1730と、言語モデルを用いて音素シーケンスから単語を認識することにより文章を生成するステップS1740とをさらに含む。
図17に示された各ステップには、
図1に示す第1認識部110の動作がそのまま適用され得るため、より詳細な説明は省略する。
【0097】
図18を参照すると、一実施形態に係る音声認識方法は、音声から特徴を抽出するステップS1810と、特徴から音素を認識するステップS1820と、音素から単語をデコーディングするステップS1830と、単語を評価するステップS1840と、適していない単語が存在するか否かを判断するステップS1850と、適していない単語が存在する場合に、当該単語を代替するための候補単語をサンプリングするステップS1860とを含む。
【0098】
ステップS1840において、サンプリングされた候補単語が評価されるものであって、適していない単語を代替するための最適の候補単語が選択される。ステップS1840、ステップS1850、及びステップS1860は、適していない単語が存在しないまで繰り返される。これ以上、適していない単語が存在しない場合にステップS1870で最適の文章が出力される。
【0099】
図18に示された各ステップには、
図15に示す音声認識装置1500の動作がそのまま適用され得るため、より詳細な説明は省略する。
【0100】
以上で説明された実施形態は、ハードウェア構成要素、ソフトウェア構成要素、及び/又はハードウェア構成要素及びソフトウェア構成要素の組合で実現してもよい。例えば、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ(digital signal processor)、マイクロコンピュータ、FPA(field programmable array)、PLU(programmable logic unit)、マイクロプロセッサー、または、命令(instruction)を実行して応答できる異なる装置のように、1つ以上の汎用コンピュータまたは特殊目的のコンピュータを用いて実現され得る。処理装置は、オペレーティングシステム(OS)及び前記オペレーティングシステム上で行われる1つ以上のソフトウェアアプリケーションを行ってもよい。また、処理装置は、ソフトウェアの実行に応答してデータをアクセス、格納、操作、処理及び生成してもよい。理解の便宜のために、処理装置は1つ使用されるものと説明される場合もあるが、当該の技術分野で通常の知識を有する者は、処理装置が複数の処理要素(processing element)及び/又は複数類型の処理要素を含んでいることが分かる。例えば、処理装置は、複数のプロセッサまたは1つのプロセッサ及び1つのコントローラを含んでもよい。また、並列プロセッサ(parallel processor)のような、他の処理構成も可能である。
【0101】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこのうちの1つ以上の組合せを含んでもよく、希望の通りに動作するよう処理装置を構成したり独立的または結合的に処理装置を命令してもよい。ソフトウェア及び/又はデータは、処理装置によって解釈されたり処理装置に命令またはデータを提供するためどのような類型の機械、構成要素、物理的装置、仮想装置、コンピュータ格納媒体または装置、送信される信号波に永久的または一時的に具体化できる。ソフトウェアは、ネットワークに接続されたコンピュータシステム上に分散し、分散された方法で格納されたり実行されてもよい。ソフトウェア及びデータは1つ以上のコンピュータで読み出し可能な記録媒体に格納されてもよい。
【0102】
実施形態に係る方法は、多様なコンピュータ手段を介して様々な処理を実行することができるプログラム命令の形態で実現され、コンピュータで読取可能な記録媒体に記録されてもよい。コンピュータ読取可能な媒体は、プログラム命令、データファイル、データ構造などのうち1つまたはその組合せを含んでもよい。媒体に記録されるプログラム命令は、本発明の目的のために特別に設計されて構成されたものでもよく、コンピュータソフトウェア分野の技術を有する当業者にとって公知のものであり、使用可能なものであってもよい。コンピュータ読取可能な記録媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク及び磁気テープのような磁気媒体、CD−ROM、DVDのような光記録媒体、光ディスクのような光磁気媒体、及びROM、RAM、フラッシュメモリなどのようなプログラム命令を保存して実行するように特別に構成されたハードウェア装置が含まれてもよい。プログラム命令の例には、コンパイラによって作られるような機械語コードだけでなく、インタープリタなどを用いてコンピュータによって実行できる高級言語コードが含まれる。前記したハードウェア装置は、本発明の動作を行うために1つ以上のソフトウェアモジュールとして動作するように構成されてもよく、その逆も同様である。
【0103】
上述したように、本発明を限定された実施形態と図面によって説明したが、本発明は、上記の実施形態に限定されることなく、本発明が属する分野における通常の知識を有する者であれば、このような実施形態から多様な修正及び変形が可能である。
【0104】
したがって、本発明の範囲は、開示された実施形態に限定されるものではなく、特許請求の範囲だけではなく特許請求の範囲と均等なものなどによって定められるものである。