(57)【要約】  設定された認識対象について学習を行った言語モデルと、音響モデルとを用いて入力音声の音声認識を行い、得られた認識結果の認識スコアを算出する音声認識部（１）と、言語モデルのＮ−ｇｒａｍ確率に基づいて、認識結果に含まれる未知語の数を算出する未知語数算出部（４）と、認識対象に関するキーワードを蓄積するキーワード蓄積部（６）と、認識結果に蓄積されたキーワードが含まれる場合に、当該キーワードの長さを示すキーワード長を算出するキーワード長算出部（５）と、算出された未知語の数と、算出されたキーワード長とに基づいて、認識スコアを再計算し、再計算した認識スコアに基づいて認識結果を出力するスコア再計算部（７）とを備える。
2016147292.tif 000002
【特許請求の範囲】
【請求項１】
設定された認識対象について学習を行った言語モデルと、音声の特徴をモデル化した音響モデルとを用いて入力音声の音声認識を行い、得られた認識結果に基づいて算出される言語尤度および音響尤度から前記認識結果の認識スコアを算出する音声認識部と、
前記言語モデルのＮ−ｇｒａｍ確率に基づいて、前記音声認識部が取得した認識結果に含まれる未知語の数を算出する未知語数算出部と、
前記設定された認識対象に関するキーワードを蓄積するキーワード蓄積部と、
前記キーワード蓄積部に蓄積されたキーワードが、前記音声認識部が取得した認識結果に含まれる場合に、当該キーワードの長さ示すキーワード長を算出するキーワード長算出部と、
前記未知語数算出部が算出した未知語の数と、前記キーワード長算出部が算出したキーワード長とに基づいて、前記音声認識部が算出した認識スコアを再計算し、再計算した認識スコアに基づいて前記音声認識部が取得した認識結果を出力するスコア再計算部とを備えた音声認識装置。
【請求項２】
前記スコア再計算部は、前記未知語数算出部が算出した未知語の数の増加に応じて前記認識スコアを低減させ、前記キーワード長算出部が算出したキーワード長の減少に応じて前記認識スコアを低減させることを特徴とする請求項１記載の音声認識装置。
【請求項３】
前記スコア再計算部は、前記キーワード長算出部が算出したキーワード長が設定された閾値よりも大きい場合に、前記未知語数算出部が算出した未知語の数にパラメータを乗算した値、およびパラメータを前記キーワード長で除算した値を、前記音声認識部が算出した認識スコアから減算することを特徴とする請求項２記載の音声認識装置。
【請求項４】
前記スコア再計算部は、前記キーワード長算出部が算出したキーワード長が設定された閾値よりも大きい場合に、前記未知語数算出部が算出した未知語の数にパラメータを乗算した値とパラメータを前記キーワード長で除算した値とを乗算した値を、前記音声認識部が算出した認識スコアから減算することを特徴とする請求項２記載の音声認識装置。
【請求項５】
前記スコア再計算部が出力した認識結果または当該認識結果に対応した機能がユーザによって選択された回数を蓄積するキーワード選択頻度蓄積部と、
前記音声認識部が取得した認識結果に前記キーワード蓄積部に蓄積されたキーワードが含まれる場合に、当該キーワードが選択された回数を示す選択頻度を、前記キーワード選択頻度蓄積部に蓄積されたキーワード選択頻度を参照して算出するキーワード選択頻度算出部とを備え、
前記スコア再計算部は、前記未知語の数、前記キーワード長、および前記キーワード選択頻度算出部が算出した選択頻度に基づいて、前記音声認識部が算出した認識スコアを再計算することを特徴とする請求項１記載の音声認識装置。
【請求項６】
前記スコア再計算部は、前記未知語数算出部が算出した未知語の数の増加に応じて前記認識スコアを低減させ、前記キーワード長算出部が算出したキーワード長または前記キーワード選択頻度算出部が算出した選択頻度の減少に応じて前記認識スコアを低減させることを特徴とする請求項５記載の音声認識装置。
【請求項７】
音声認識部が、設定された認識対象について学習を行った言語モデルと、音声の特徴をモデル化した音響モデルとを用いて入力音声の音声認識を行い、得られた認識結果に基づいて算出される言語尤度および音響尤度から前記認識結果の認識スコアを算出し、
未知語数算出部が、前記言語モデルのＮ−ｇｒａｍ確率に基づいて、前記認識結果に含まれる未知語の数を算出し、
キーワード長算出部が、予め蓄積された設定された認識対象に関するキーワードが、前記認識結果に含まれる場合に、当該キーワードの長さ示すキーワード長を算出し、
スコア再計算部が、前記算出された未知語の数と、前記算出されたキーワード長とに基づいて、前記認識スコアを再計算し、再計算した認識スコアに基づいて前記認識結果を出力する音声認識方法。
【請求項８】
設定された認識対象について学習を行った言語モデルと、音声の特徴をモデル化した音響モデルとを用いて入力音声の音声認識を行い、得られた認識結果に基づいて算出される言語尤度および音響尤度から前記認識結果の認識スコアを算出する音声認識部と、
前記言語モデルのＮ−ｇｒａｍ確率に基づいて、前記音声認識部が取得した認識結果に含まれる未知語の数を算出する未知語数算出部と、
前記設定された認識対象に関するキーワードを蓄積するキーワード蓄積部と、
前記キーワード蓄積部に蓄積されたキーワードが、前記音声認識部が取得した認識結果に含まれる場合に、当該キーワードの長さ示すキーワード長を算出するキーワード長算出部と、
前記未知語数算出部が算出した未知語の数と、前記キーワード長算出部が算出したキーワード長とに基づいて、前記音声認識部が算出した認識スコアを再計算し、再計算した認識スコアに基づいて前記認識結果を出力するスコア再計算部とをコンピュータに機能させる音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、統計言語モデルを使用したキーワード抽出型の音声認識技術に関するものである。
【背景技術】
【０００２】
キーワード抽出型の音声認識技術では、ユーザの発話内容の全てを一字一句正しく認識する必要はなく、キーワードと呼ばれる重要語だけ正しく認識することが要求される。例えば認識対象が料理名とその付帯表現であり、「寿司」がキーワードであって、「寿司を食べたい」との発話に対する認識結果が「寿司食べた」である場合、認識結果としては誤りを含むが、キーワードである「寿司」は正しく抽出しており正解であると言える。一方、「テニスしたいね」との発話に対する認識結果が「手に寿司鯛ね」である場合、認識結果としてはユーザが発話していない「寿司」を抽出しているため誤りである。つまり、あるキーワードを含む発話に対しては当該キーワードを正しく抽出し、当該キーワードを含まない発話に対しては当該キーワードを誤って抽出しないことが求められる。
なお、以下では上述した「テニスしたいね」のように認識対象外の発話をタスク外発話と称する。【０００３】
また、単語間の接続のしやすさを言語尤度と呼ぶ数値で表す統計言語モデルを用いた音声認識技術では、学習コーパスから言語尤度を学習することで、学習コーパス内に高頻度で出現する単語の組み合わせに対して高い言語尤度を与える。また、複数の語彙をクラスという１つのグループとして表現したクラス言語モデルを用いることで、スパース（粗密な情報）な学習コーパスから効率良く言語尤度を学習することができる。
例えば学習コーパス内に「寿司が食べたい」というコーパスがあった場合、「寿司、ラーメン、カレーライス、」を１つのクラスであるキーワードクラス＜Ａ＞とし、「＜Ａ＞が食べたい」という表現にすることにより、「寿司が食べたい」、「ラーメンが食べたい」および「カレーライスが食べたい」という単語の並びに対する言語尤度を学習することができる。【０００４】
統計言語モデルを用いた音声認識技術では、学習コーパスに存在しないＮ−ｇｒａｍ確立に基づく未知語に対しても低次のＮ−ｇｒａｍ確率から高次のＮ−ｇｒａｍ確率を補完するバックオフという手法で言語尤度を与えている。当該バックオフにより、学習コーパスに含まれない単語の連鎖を含む表現も受理可能になる。しかし、認識結果からキーワードを抽出するタスクではバックオフの結果、学習コーパスに含まれない発話に対してキーワードの誤検出が多くなるという問題があった。【０００５】
例えば、「寿司、ラーメン、カレーライス」を抽出すべきキーワードクラスとして言語モデルを学習した場合を考える。この場合、「テニス」が学習コーパスに含まれない未知語だとすると、タスク外発話「テニスしたいね」に対して「手に寿司鯛ね」というように音響的には合致しているがＮ−ｇｒａｍ確立に基づく未知語から構成される認識結果のスコアが高くなり、キーワードである「寿司」が誤って抽出されてしまう。このようにキーワードの誤検出が発生すると、ユーザが意図していないキーワードまたはそれに紐づく機能が提示されることとなり、ユーザに不快感を与えてしまう。特にキーワード長が短い場合、発話の一部分についてキーワードとの音響的な類似度が大きくなる頻度が高くなり、上述した例のようにキーワードの誤検出が多く発生する。【０００６】
上述した問題に対して、キーワードの１−ｇｒａｍ確率を低くすることにより、キーワードの誤検出が抑制される。【０００７】
また、上述した問題に対して特許文献１には、局所的なマッチングにより誤って挿入される可能性の高い短い単語に対して高い単語挿入ペナルティを与え、短い単語が連続して挿入されるのを抑制するために、挿入された単語の単語長を検出し、検出した単語長が短くなるほど大きなペナルティが課されるように単語挿入ペナルティを決定する音声認識装置が開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−１６４１９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、上述したキーワードの１−ｇｒａｍ確率を低くする技術では、短いキーワードのみの発話に対する認識性能が低下するという課題があった。また、バックオフの手法を適用しない、あるいはバックオフで計算される未知語に対するＮ−ｇｒａｍ確率値を低くすると、学習コーパスに含まれない表現の認識が困難となり、キーワードの抽出性能が低下するという課題があった。
また、上述した特許文献１の技術においても、短いキーワードを含む発話の認識性能が低下するという課題があった。【００１０】
この発明は、上記のような課題を解決するためになされたもので、キーワードの抽出性能を低下させることなく、単語長が短いキーワードを含む発話に対する認識性能の低下を抑制することを目的とする。
【課題を解決するための手段】
【００１１】
この発明に係る音声認識装置は、設定された認識対象について学習を行った言語モデルと、音声の特徴をモデル化した音響モデルとを用いて入力音声の音声認識を行い、得られた認識結果に基づいて算出される言語尤度および音響尤度から認識結果の認識スコアを算出する音声認識部と、言語モデルのＮ−ｇｒａｍ確率に基づいて、音声認識部が取得した認識結果に含まれる未知語の数を算出する未知語数算出部と、設定された認識対象に関するキーワードを蓄積するキーワード蓄積部と、キーワード蓄積部に蓄積されたキーワードが、音声認識部が取得した認識結果に含まれる場合に、当該キーワードの長さ示すキーワード長を算出するキーワード長算出部と、未知語数算出部が算出した未知語の数と、キーワード長算出部が算出したキーワード長とに基づいて、音声認識部が算出した認識スコアを再計算し、再計算した認識スコアに基づいて音声認識部が取得した認識結果を出力するスコア再計算部とを備えるものである。
【発明の効果】
【００１２】
この発明によれば、キーワードの抽出性能を低下させることなく、単語長が短いキーワードを含む発話の認識性能低下を抑制することができる。また、タスク外発話に対して特に短いキーワードの誤認識を抑制することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係る音声認識装置の構成を示すブロック図である。
【図２】実施の形態１に係る音声認識装置のハードウェア構成を示す図である。
【図３】実施の形態１に係る音声認識装置の動作を示すフローチャートである。
【図４】実施の形態１に係る音声認識装置の音声認識部の認識結果を示す一例である。
【図５】実施の形態１に係る音声認識装置の未知語数算出部の動作を示すフローチャートである。
【図６】実施の形態１に係る音声認識装置のキーワード長算出部の動作を示すフローチャートである。
【図７】実施の形態１に係る音声認識装置のスコア再計算部の動作を示すフローチャートである。
【図８】実施の形態１に係る音声認識装置の認識スコア更新後の認識結果を示す一例である。
【図９】実施の形態２に係る音声認識装置の構成を示すブロック図である。
【図１０】実施の形態２に係る音声認識装置の動作を示すフローチャートである。
【図１１】実施の形態２に係る音声認識装置のキーワード選択頻度算出部の動作を示すフローチャートである。
【図１２】実施の形態２に係る音声認識装置のスコア再計算部の動作を示すフローチャートである。
【図１３】実施の形態２に係る音声認識装置の認識スコア更新後の認識結果を示す一例である。
【発明を実施するための形態】
【００１４】
以下、この発明をより詳細に説明するために、この発明を実施するための形態について、添付の図面に従って説明する。
実施の形態１．
図１は、実施の形態１に係る音声認識装置１０の構成を示すブロック図である。
音声認識装置１０は、入力信号に対して音声認識処理を行い、認識結果を取得する装置であって、音声認識部１、音響モデル蓄積部２、言語モデル蓄積部３、未知語数算出部４、キーワード長算出部５、キーワード蓄積部６およびスコア再計算部７で構成されている。
【００１５】
この実施の形態１では、音声認識部１、音響モデル蓄積部２、言語モデル蓄積部３、未知語数算出部４、キーワード長算出部５、キーワード蓄積部６およびスコア再計算部７は、それぞれ専用の回路により構成するものとして説明する。なお、当該回路によってなされる情報処理の方法についても本願発明の特徴である。また、他の構成回路、例えば汎用的なＣＰＵなどで構成した制御回路とコンピュータプログラムとの組み合わせにより実現することも可能である。
【００１６】
図２は、実施の形態１に係る音声認識装置１０のハードウェア構成を示す図である。
音声認識装置１０の音声認識部１、未知語数算出部４、キーワード長算出部５およびスコア再計算部７は、プロセッサ２０がメモリ３０に記憶されたプログラムを実行することにより、実現される。音響モデル蓄積部２、言語モデル蓄積部３およびキーワード蓄積部６は、メモリ３０を構成する。また、複数のプロセッサ２０および複数のメモリ３０が連携して上述した機能を実行するように構成してもよい。
【００１７】
次に、音声認識装置１０の各構成について説明する。なお以下では、当該音声認識装置１０の認識対象を、料理名および当該料理名の付帯表現とした場合を例に説明を行う。
音声認識部１は、入力された音声について、音響モデル蓄積部２に蓄積された音響モデルと、言語モデル蓄積部３に蓄積された言語モデルとを用いて音声認識を行い、認識結果を取得する。さらに、取得した認識結果を認識スコアの大きい順に順位付けを行い、上位Ｎ個の認識結果の表記を抽出し、認識スコアを算出する。ここで、認識スコアは音響尤度と言語尤度の和である。
【００１８】
音響モデル蓄積部２は、音声の特徴をモデル化した音響モデルを蓄積している。音響モデルは、例えばＨＭＭ(Hidden Markov Model)とする。言語モデル蓄積部３は、料理名および当該料理名の付帯表現を学習コーパスとして学習した統計言語モデル（Ｎ−ｇｒａｍ言語モデル）を蓄積する。蓄積する料理名は、複数の語彙をクラスという１つのグループ（以下、キーワードクラスと称する）で表現した言語モデルを用いて学習する。蓄積する料理名の付帯表現は、例えば「＜Ａ＞が食べたい」あるいは「おいしい＜Ａ＞が食べたい」という表現である。
【００１９】
「＜Ａ＞が食べたい」あるいは「おいしい＜Ａ＞が食べたい」との表現において、キーワードクラスを＜Ａ＞として学習コーパス上で記述し、キーワードクラス＜Ａ＞に含まれるキーワードＡが「寿司、ラーメン、カレーライス」などの料理名で表現される。当該表現を蓄積することにより、全てのキーワードＡに対して「〜が食べたい」「おいしい〜が食べたい」という付帯表現を展開する必要がなく、効率的に言語モデルを学習することができる。
なお、料理名の付帯表現として「＜Ａ＞が食べたい」および「おいしい＜Ａ＞が食べたい」との表現を示したが、当該表現以外にユーザが発話すると推定される表現を網羅した学習コーパスを使用する。
【００２０】
未知語数算出部４は、言語モデル蓄積部３に蓄積された言語モデルを参照し、音声認識部１が抽出したＮ個の認識結果の表記に含まれる単語から、Ｎ−ｇｒａｍ確率による未知語数を算出する。キーワード長算出部５は、キーワード蓄積部６に蓄積されたキーワードの表記およびキーワードの読みを参照し、音声認識部１が出力したＮ個の認識結果の表記に含まれるキーワードのキーワード長を算出する。キーワード蓄積部６は、音声認識部１が出力する認識結果の形式に合わせたキーワードの表記およびキーワードの読みを蓄積する。また、キーワード蓄積部６が蓄積対象とするキーワードは音声認識装置１０の認識対象に対応したキーワードであり、例えば、認識対象が料理名および当該料理名の付帯表現とした場合に、「寿司、ラーメン、カレーライス」について、表記および読みを蓄積する。
【００２１】
スコア再計算部７は、音声認識部１が抽出した認識結果の認識スコア、未知語数算出部４が算出した未知語数、およびキーワード長算出部５が算出したキーワードのキーワード長を用いて、認識結果の認識スコアを再計算する。スコア再計算部７は、再計算した認識スコアのうち、最も大きい認識スコアを有する認識結果を出力する。
【００２２】
次に、音声認識装置１０の動作について、フローチャートおよび具体例を参照しながら説明する。図３は、実施の形態１に係る音声認識装置１０の動作を示すフローチャートである。図４は、実施の形態１に係る音声認識装置１０の音声認識部１の認識結果を示す一例である。
音声認識装置１０に音声が入力されると（ステップＳＴ１）、音声認識部１は音響モデル蓄積部２に蓄積された音響モデルと、言語モデル蓄積部３に蓄積された言語モデルとを参照し、ステップＳＴ１で入力された音声の音声認識を行って認識結果を取得する（ステップＳＴ２）。さらに、音声認識部１は、ステップＳＴ２で取得した認識結果を認識スコアが大きい順に順位付けを行い、上位Ｎ個の認識結果の表記および認識スコアを抽出する（ステップＳＴ３）。
【００２３】
ステップＳＴ１において音声としてタスク外発話「テニスしたいね」が入力されると、
音声認識部１は、ステップＳＴ２およびステップＳＴ３の処理を行い、図４に示す認識結果を抽出する。認識順位１位の認識結果の表記が「手に寿司鯛ね」であり、認識スコアが「１１０」である。認識順位２位の認識結果の表記が「手にする鯛ね」であり、認識スコアが「１０５」である。図４の認識結果では、読みのカナが「テニスしたいね」と一致する表記「手に寿司鯛ね」が最も大きい認識スコアを有し、認識順位１位の認識結果として抽出される。
【００２４】
未知語数算出部４は、言語モデル蓄積部３に蓄積された言語モデルを参照し、ステップＳＴ３で抽出されたＮ個の認識結果ｎに含まれるＮ−ｇｒａｍ確率に基づく未知語数を示す値Ｃｎ（以下、未知語数Ｃｎと称する）を算出する（ステップＳＴ４）。ステップＳＴ４で算出された未知語数Ｃｎはスコア再計算部７に出力される。なお、ステップＳＴ４の詳細な処理動作は後述する。
【００２５】
キーワード長算出部５は、キーワード蓄積部６に蓄積されたキーワードの表記およびキーワードの読みを参照し、ステップＳＴ３で抽出されたＮ個の認識結果ｎに含まれるキーワードの長さを示す値Ｌｎ（以下、キーワード長Ｌｎと称する）を算出する（ステップＳＴ５）。ステップＳＴ５で算出されたキーワード長Ｌｎはスコア再計算部７に出力される。なお、ステップＳＴ５の詳細な処理動作は後述する。
【００２６】
スコア再計算部７は、ステップＳＴ４で算出された未知語数ＣｎおよびステップＳＴ５で算出されたキーワード長Ｌｎを用いて、ステップＳＴ３で抽出されたＮ個の認識結果の認識スコアの更新を行う（ステップＳＴ６）。スコア再計算部７は、ステップＳＴ６で更新した認識スコアが大きい順に認識結果の順位付けを行い、最も認識スコアが大きい認識結果を出力し（ステップＳＴ７）、処理を終了する。なお、ステップＳＴ６およびステップＳＴ７の詳細な処理動作は後述する。
【００２７】
次に、ステップＳＴ４で示した未知語数算出部４の処理動作についてより詳細に説明する。
図５は、実施の形態１に係る音声認識装置１０の未知語数算出部４の動作を示すフローチャートである。以下では、Ｎ個の認識結果を認識結果ｎ（ｎ＝１，２，３，・・・，Ｎ）と記載する。また、認識結果ｎに含まれる単語を単語ｍ（ｍ＝１，２，３，・・・，Ｍｎ）と記載する。なお、ｎは認識結果のインデックスであり、ｍは単語のインデックスである。さらに、以下では未知語数として、３−ｇｒａｍ確率に基づく未知語数をカウントする例を示す。
【００２８】
未知語数算出部４は、ステップＳＴ３で抽出された認識結果のインデックスｎを「１」に初期化し（ステップＳＴ１１）、認識結果ｎに含まれる単語のインデックスｍを「１」に初期化し、認識結果ｎに含まれる未知語数Ｃｎを「０」に初期化する（ステップＳＴ１２）。次に、未知語数算出部４は、言語モデル蓄積部３に蓄積された言語モデルを参照し、３−ｇｒａｍ確率Ｐ（ｗｎ,ｍ｜ｗｎ,ｍ−２ｗｎ,ｍ−１）が設定された閾値Ｐｔｈ以下であるか否か判定を行う（ステップＳＴ１３）。ここで、３−ｇｒａｍ確率Ｐのｗｎ,ｍはｎ番目の認識結果のｍ番目の単語を意味する。また、閾値Ｐｔｈを用いることにより、３−ｇｒａｍ確率Ｐが閾値Ｐｔｈ以下の場合には、当該単語が未知語であるとみなすことができる。
【００２９】
３−ｇｒａｍ確率Ｐが閾値Ｐｔｈ以下である場合（ステップＳＴ１３；ＹＥＳ）、未知語数算出部４は、未知語数Ｃｎに１加算し（ステップＳＴ１４）、認識結果ｎに含まれる単語のインデックスｍに１加算する（ステップＳＴ１５）。一方、３−ｇｒａｍ確率Ｐが閾値Ｐｔｈより大きい場合（ステップＳＴ１３；ＮＯ）、上述したステップＳＴ１５の処理に進む。ステップＳＴ１５の次に、未知語数算出部４は、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下であるか否か判定を行う（ステップＳＴ１６）。
【００３０】
認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下である場合（ステップＳＴ１６；ＹＥＳ）、ステップＳＴ１３の処理に戻る。一方、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎより大きい場合（ステップＳＴ１６；ＮＯ）、未知語数算出部４は認識結果のインデックスｎに１加算する（ステップＳＴ１７）。さらに、未知語数算出部４は、認識結果のインデックスｎが認識結果の数Ｎ以下であるか否か判定を行う（ステップＳＴ１８）。認識結果のインデックスｎが認識結果の数Ｎ以下である場合（ステップＳＴ１８；ＹＥＳ）、ステップＳＴ１２の処理に戻る。一方、認識結果のインデックスｎが認識結果の数Ｎより大きい場合（ステップＳＴ１８；ＮＯ）、未知語数算出部４は、上述した処理により得られた未知語数Ｃｎをスコア再計算部７に出力し（ステップＳＴ１９）、図４のフローチャートのステップＳＴ５の処理に進む。
【００３１】
なお、上述した説明では、３−ｇｒａｍ確率に基づく未知語数をカウントする例を示したが、２−ｇｒａｍ確率に基づく未知語数をカウントしてもよいし、３−ｇｒａｍ確率に基づく未知語数および２−ｇｒａｍ確率に基づく未知語数の両者の合計値をカウントするように構成してもよい。
【００３２】
次に、ステップＳＴ５で示したキーワード長算出部５の処理動作についてより詳細に説明する。
図６は、実施の形態１に係る音声認識装置１０のキーワード長算出部５の動作を示すフローチャートである。
キーワード長算出部５は、ステップＳＴ３で抽出された認識結果のインデックスｎを「１」に初期化し（ステップＳＴ２１）、認識結果ｎに含まれる単語のインデックスｍを「１」に初期化し、認識結果ｎに含まれるキーワードの長さを示す値Ｌｎ（以下、キーワード長Ｌｎと称する）を「０」に初期化する（ステップＳＴ２２）。次に、キーワード長算出部５は、キーワード蓄積部６に蓄積されたキーワードの表記およびキーワードの読みを参照し、ｎ番目の認識結果のｍ番目の単語Ｗｎ，ｍが、キーワード蓄積部６に蓄積されたキーワードであるか否か判定を行う（ステップＳ２３）。
【００３３】
Ｗｎ，ｍがキーワードである場合（ステップＳＴ２３；ＹＥＳ）、キーワード長算出部５は当該キーワードのキーワード長Ｌｎを、以下に示す式（１）および式（２）に基づいて更新する（ステップＳＴ２４）。
L’n= UpdateLength ( Ln, length(wn,m))      （１）
Ln= L’n                                  （２）
式（１）および式（２）において、Ｌ’ｎは更新後のキーワード長、length(w)はキーワードｗの長さを返す関数、UpdateLength(Ln,A)はキーワード長Ｌｎの更新を行う関数である。この実施の形態１では、length(w)はキーワードｗのモーラ長を算出する関数、UpdateLength(Ln,A)はキーワード長ＬｎとＡの最小値演算を行う関数として説明を行う。
【００３４】
キーワード長算出部５は、認識結果ｎに含まれる単語のインデックスｍに１加算する（ステップＳＴ２５）。一方、単語Ｗｎ，ｍがキーワードでない場合（ステップＳＴ２３；ＮＯ）、上述したステップＳＴ２５の処理に進む。ステップＳＴ２５の次に、キーワード長算出部５は、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下であるか否か判定を行う（ステップＳＴ２６）。認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下である場合（ステップＳＴ２６；ＹＥＳ）、ステップＳＴ２３の処理に戻る。
【００３５】
一方、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎより大きい場合（ステップＳＴ２６；ＮＯ）、キーワード長算出部５は認識結果のインデックスｎに１加算する（ステップＳＴ２７）。さらに、キーワード長算出部５は、認識結果のインデックスｎが認識結果の数Ｎ以下であるか否か判定を行う（ステップＳＴ２８）。認識結果のインデックスｎが認識結果の数Ｎ以下である場合（ステップＳＴ２８；ＹＥＳ）、ステップＳＴ２２の処理に戻る。一方、認識結果のインデックスｎが認識結果の数Ｎより大きい場合（ステップＳＴ２８；ＮＯ）、キーワード長算出部５は、上述した処理により得られたキーワード長Ｌｎをスコア再計算部７に出力し（ステップＳＴ２９）、図４のフローチャートのステップＳＴ６の処理に進む。
【００３６】
次に、ステップＳＴ６およびステップＳＴ７で示したスコア再計算部７の処理動作についてより詳細に説明する。
図７は、実施の形態１に係る音声認識装置１０のスコア再計算部７の動作を示すフローチャートである。
スコア再計算部７は、ステップＳＴ３で抽出された認識結果のインデックスｎを「１」に初期化する（ステップＳＴ３１）。スコア再計算部７は、ステップＳＴ４で算出された未知語数ＣｎおよびステップＳＴ５で算出されたキーワード長Ｌｎを用いて、ステップＳＴ３で抽出された認識結果ｎの認識スコアＳｃｏｒｅｎを以下の式（３）および式（４）に基づいて更新する（ステップＳＴ３２）
Score’n=Rescore1(Scoren, Cn, Ln)          （３）
Scoren= Score’n                          （４）
式（３）および式（４）において、Ｓｃｏｒｅ´ｎは更新後の認識スコアを示し、Rescore1(Scoren, Cn, Ln)はスコアの更新を行う関数である。
【００３７】
スコアの更新を行う関数として、この実施の形態１では以下の式（５）に示す関数を用いる。
2016147292.tif 000003
上述した式（５）の第２項および第３項は、従来技術である認識スコアに対するペナルティに相当する。α、β、ＴＨＬは予め実験により決定されたパラメータである。この実施の形態１では、例えばα＝１、β＝１０、ＴＨＬ＝０とする。
【００３８】
なお、スコアの更新を行う関数は、Ｓｃｏｒｅｎ，Ｃｎ，Ｌｎの関数になっていれば式（５）以外の関数を適用することが可能である。例えば、以下の式（５ａ）として構成してもよい。
2016147292.tif 000004
【００３９】
スコア再計算部７は、認識結果のインデックスｎに１加算し（ステップＳＴ３３）、認識結果のインデックスｎが認識結果の数Ｎ以下であるか否か判定を行う（ステップＳＴ３４）。認識結果のインデックスｎが認識結果の数Ｎ以下である場合（ステップＳＴ３４；ＹＥＳ）、ステップＳＴ３２の処理に戻る。一方、認識結果のインデックスｎが認識結果の数Ｎより大きい場合（ステップＳＴ３４；ＮＯ）、スコア再計算部７は、上述した処理により得られた認識スコアＳｃｏｒｅｎを参照し、当該認識スコアＳｃｏｒｅｎが大きい順に認識結果ｎの並び替えを行い（ステップＳＴ３５）、最も認識スコアが大きい認識結果ｎを出力し（ステップＳＴ３６）、処理を終了する。
【００４０】
図８は、実施の形態１に係る音声認識装置１０において認識スコアを更新した後の認識結果を示す一例である。図８では、認識順位、認識結果、更新前の認識スコア、未知語数Ｃｎ、キーワード長Ｌｎおよび更新後の認識スコアを示している。
認識結果「手にする鯛ね」および「手に寿司鯛ね」の未知語数Ｃｎは共に「２」である。一方、認識結果「手にする鯛ね」に含まれるキーワード長Ｌｎは「０」であり、「手に寿司鯛ね」に含まれるキーワード長Ｌｎは「２」である。これらの結果を上述した式（５）に代入すると、認識結果「手に寿司鯛ね」の更新後の認識スコアは「110-(1×2)-(10/2)=103」に低下する。一方、認識結果「手にする鯛ね」の更新後の認識スコアはＬｎ＝０であることから「１０５」のままである。これにより、更新後の認識スコアに基づく認識順位が逆転し、１位が認識結果「手にする鯛ね」となり、２位が認識結果「手に寿司鯛ね」となる。
【００４１】
以上のように、この実施の形態１によれば、入力音声の音声認識を行い、認識スコアが上位の認識結果を抽出する音声認識部１と、蓄積された言語モデルを参照して認識結果の表記に基づいて未知語数を算出する未知語数算出部４と、蓄積されたキーワードを参照して認識結果の表記に基づいて認識結果に含まれるキーワードのキーワード長を算出するキーワード長算出部５と、音声認識部１が抽出した認識結果の認識スコアを、算出された未知語数およびキーワード長を用いて更新するスコア再計算部７を備えるように構成したので、未知語数が多く、且つキーワード長が短いキーワードが存在している認識結果の認識スコアを低下させることができる。これにより、タスク外発話に対して特にキーワード長が短いキーワードが多く出現するのを抑制することができる。
【００４２】
実施の形態２．
この実施の形態２では、音声認識装置１０がユーザに提示した認識結果が選択された回数あるいは音声認識装置１０が出力した認識結果に対応した機能が選択された回数をフィードバックし、タスク外発話に対してユーザが意図していないキーワードの出現をより抑制する構成を示す。
【００４３】
図９は、実施の形態２に係る音声認識装置１０ａの構成を示すブロック図である。
実施の形態２の音声認識装置１０ａは、実施の形態１で示した音声認識装置１０にキーワード選択頻度算出部８およびキーワード選択頻度蓄積部９を追加して設けている。なお、以下では、実施の形態１に係る音声認識装置１０の構成要素と同一または相当する部分には、実施の形態１で使用した符号と同一の符号を付して説明を省略または簡略化する。
【００４４】
キーワード選択頻度算出部８は、キーワード選択頻度蓄積部９に蓄積されたキーワード選択頻度を参照して、音声認識部１が抽出した認識結果に含まれるあるキーワードがユーザにより選択された回数を示すキーワード選択頻度を算出する。キーワード選択頻度蓄積部９は、スコア再計算部７ａが出力した認識結果あるいは認識結果に対応した機能が選択されたか否かに基づいて、当該認識結果に含まれるキーワードが選択された回数を蓄積する。蓄積方法は適宜構成可能である。例えば、スコア再計算部７が出力した認識結果をキーワード選択頻度算出部８に入力することにより、キーワード選択頻度算出部８はユーザに提示したキーワードを取得して蓄積する。さらに、キーワード選択頻度算出部８は、ユーザからの入力操作を受け付ける外部装置から入力される情報を取得してユーザに選択されたキーワードを特定し、特定したキーワードの選択回数を加算する。
【００４５】
次に、音声認識装置１０ａの動作について説明する。
図１０はこの発明の実施の形態２に係る音声認識装置１０ａの動作を示すフローチャートである。なお、以下では実施の形態１に係る音声認識装置１０と同一のステップには図３で使用した符号と同一の符号を付し、説明を省略または簡略化する。
ステップＳＴ５においてキーワード長算出部５がキーワード長Ｌｎを算出すると、キーワード選択頻度算出部８は、キーワード選択頻度蓄積部９に蓄積されたキーワードの選択頻度を参照し、ステップＳＴ３で抽出されたＮ個の認識結果に含まれるキーワードのキーワード選択頻度Ｆｎを算出する（ステップＳＴ４１）。ステップＳＴ４１で算出された選択頻度Ｆｎはスコア再計算部７ａに出力される。なお、ステップＳＴ４１の詳細な処理動作は後述する。
【００４６】
スコア再計算部７ａは、ステップＳＴ４で算出された未知語数Ｃｎ、ステップＳＴ５で算出されたキーワード長Ｌｎ、およびステップＳＴ４１で算出された選択頻度Ｆｎを用いて、ステップＳＴ３で抽出されたＮ個の認識結果の認識スコアの更新を行う（ステップＳＴ４２）。スコア再計算部７ａは、ステップＳＴ４２で更新した認識スコアが大きい順に認識結果の順位付けを行い、最も認識スコアが大きい認識結果を出力し（ステップＳＴ４３）、処理を終了する。なお、ステップＳＴ４２およびステップＳＴ４３の詳細な処理動作は後述する。
【００４７】
次に、ステップＳＴ４１で示したキーワード選択頻度算出部８の動作についてより詳細に説明する。
図１１は、実施の形態２に係る音声認識装置１０ａのキーワード選択頻度算出部８の動作を示すフローチャートである。
キーワード選択頻度算出部８は、ステップＳＴ３で抽出された認識結果のインデックスｎを「１」に初期化し（ステップＳＴ５１）、認識結果ｎに含まれる単語のインデックスｍを「１」に初期化し、認識結果ｎに含まれるキーワード選択頻度Ｆｎを「−１」に初期化する（ステップＳＴ５２）。
【００４８】
次に、キーワード選択頻度算出部８は、キーワード蓄積部６に蓄積されたキーワードの表記およびキーワードの読みを参照し、ｎ番目の認識結果のｍ番目の単語Ｗｎ，ｍが、キーワード蓄積部６に蓄積されたキーワードであるか否か判定を行う（ステップＳＴ５３）。単語Ｗｎ，ｍがキーワードである場合（ステップＳＴ５３；ＹＥＳ）、キーワード選択頻度算出部８は認識結果ｎに含まれるキーワードのキーワード選択頻度Ｆｎを、以下に示す式（６）および式（７）に基づいて更新する（ステップＳＴ５４）。
F’n= UpdateFreq ( Fn, Freq (wn,m))        （６）
Fn= F’n                                  （７）
式（６）および式（７）において、Ｆ’ｎは更新後のキーワード選択頻度、Freq(w)はキーワードｗの選択頻度を返す関数、UpdateLength(Fn,A)はキーワード選択頻度Ｆｎの更新を行う関数である。
【００４９】
この実施の形態１では、Freq(w)として以下の式（８）で示す関数を用いる。
2016147292.tif 000005
式（８）においてＳ（ｗ）はキーワードｗの選択回数、Ｒ（ｗ）はキーワードｗの認識回数である。また、この実施の形態２ではUpdateFreq(Fn,A)はキーワード選択頻度ＦｎとＡの最大値演算を行う関数とする。
【００５０】
その後、キーワード選択頻度算出部８は、認識結果ｎに含まれる単語のインデックスｍに１加算する（ステップＳＴ５５）。一方、単語Ｗｎ，ｍがキーワードでない場合（ステップＳＴ５３；ＮＯ）、上述したステップＳＴ５５の処理に進む。ステップＳＴ５５の次に、キーワード選択頻度算出部８は、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下であるか否か判定を行う（ステップＳＴ５６）。認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎ以下である場合（ステップＳＴ５６；ＹＥＳ）、ステップＳＴ５３の処理に戻る。
【００５１】
一方、認識結果ｎに含まれる単語のインデックスｍが、認識結果ｎに含まれる単語の数Ｍｎより大きい場合（ステップＳＴ５６；ＮＯ）、キーワード選択頻度算出部８は認識結果のインデックスｎに１加算する（ステップＳＴ５７）。さらに、キーワード選択頻度算出部８は、認識結果のインデックスｎが認識結果の数Ｎ以下であるか否か判定を行う（ステップＳＴ５８）。認識結果のインデックスｎが認識結果の数Ｎ以下である場合（ステップＳＴ５８；ＹＥＳ）、ステップＳＴ５２の処理に戻る。一方、認識結果のインデックスｎが認識結果の数Ｎより大きい場合（ステップＳＴ５８；ＮＯ）、キーワード選択頻度算出部８は、上述した処理により得られたキーワード選択頻度Ｆｎをキーワード選択頻度算出部８に出力し（ステップＳＴ５９）、図１０のフローチャートのステップＳＴ４２の処理に進む。
【００５２】
次に、ステップＳＴ４２およびステップＳＴ４３で示したスコア再計算部７ａの処理動作についてより詳細に説明する。
図１２は、実施の形態２に係る音声認識装置１０のスコア再計算部７ａの動作を示すフローチャートである。なお、以下では実施の形態１に係る音声認識装置１０のスコア再計算部７と同一のステップには図７で使用した符号と同一の符号を付し、説明を省略または簡略化する。
【００５３】
スコア再計算部７ａは、ステップＳＴ３１で認識結果のインデックスｎを「１」に初期化すると、ステップＳＴ４で算出された未知語数Ｃｎ、ステップＳＴ５で算出されたキーワード長ＬｎおよびステップＳＴ４１で算出されたキーワード選択頻度Ｆｎを用いて、ステップＳＴ３で抽出された認識結果ｎの認識スコアＳｃｏｒｅｎを以下の式（９）および式（１０）に基づいて更新する（ステップＳ６１）。
Score’n=Rescore2(Scoren, Cn, Ln, Fn)      （９）
Scoren= Score’n                          （１０）
式（９）および式（１０）において、Ｓｃｏｒｅ´ｎは更新後の認識スコアを示し、Rescore1(Scoren, Cn, Ln)はスコアの更新を行う関数である。
【００５４】
この実施の形態１では、スコアの更新を行う関数として以下の式（１１）に示す関数を用いる。
2016147292.tif 000006
上述した式（１１）の第２項から第４項は、従来技術である認識スコアに対するペナルティに相当する。α、β、γ、ＴＨＬ、ＴＨＦは予め実験により決定されたパラメータである。この実施の形態２では、例えばα＝１、β＝１０、γ＝５、ＴＨＬ＝０、ＴＨＦ＝０．５とする。なお、スコアの更新を行う関数は、Scoren、Ｃｎ、Ｌｎ、Ｆｎの関数になっていれば式（１１）以外の関数を適用することが可能である。
【００５５】
その後、スコア再計算部７ａは、ステップＳＴ３３からステップＳＴ３６の処理を行い、認識結果を出力して処理を終了する。
【００５６】
図１３は、実施の形態２に係る音声認識装置１０ａにおいて認識スコアを更新した後の認識結果を示す一例である。図１３では、認識順位、認識結果、更新前の認識スコア、未知語数Ｃｎ、キーワード長Ｌｎ、キーワード選択頻度Ｆｎおよび更新後の認識スコアを示している。
認識結果「手にする鯛ね」および「手に寿司鯛ね」の未知語数Ｃｎは共に「２」である。一方、認識結果「手にする鯛ね」に含まれるキーワード長Ｌｎは「０」であり、「手に寿司鯛ね」に含まれるキーワード長Ｌｎは「２」である。さらに、認識結果「手にする鯛ね」に含まれるキーワード選択頻度Ｆｎは「−１（キーワードが含まれていないことを意味する）」であり、「手に寿司鯛ね」に含まれるキーワード選択頻度Ｆｎは「０」である。
【００５７】
これらの結果を上述した式（１１）に代入すると、認識結果「手に寿司鯛ね」の更新後の認識スコアは「110-(1×2)-(10/2)-5=98」に低下する。一方、認識結果「手にする鯛ね」の更新後の認識スコアはＬｎ＝０であることから「１０５」のままである。これにより、更新後の認識スコアに基づく認識順位が逆転し、１位が認識結果「手にする鯛ね」となり、２位が認識結果「手に寿司鯛ね」となる。さらに、実施の形態１で示した図６の認識結果例と比較すると、キーワード選択頻度算出部８が算出したキーワード選択頻度Ｆｎに基づいてペナルティが加えられることにより、図１１の認識結果「手に寿司鯛ね」の認識スコアがより低下している。
【００５８】
以上のように、この実施の形態２によれば、音声認識部１が抽出した認識結果に含まれるあるキーワードがユーザにより選択された回数を示すキーワード選択頻度を算出するキーワード選択頻度算出部８を備えるように構成したので、タスク外発話に対して、ユーザが意図しないキーワードが一時的に出現したとしても、当該キーワードを含む認識結果がユーザに選択される頻度が低い場合にはペナルティを加えるように認識スコアを再計算することができる。これにより、タスク外の発話に対してユーザが意図しないキーワードが多く出現するのを抑制することができる。
【００５９】
なお、上述した実施の形態１および実施の形態２では、認識対象を料理名および当該料理名の付帯表現とした場合を例に説明を行ったが、これらの認識対象に限定されるものではない。
【００６０】
なお、上述した実施の形態１では、未知語数の算出、キーワード長の算出の順で処理を行う場合を例に説明を行い、上述した実施の形態２では未知語数の算出、キーワード長の算出、キーワード選択頻度算出の順で処理を行う場合を例に説明を行ったが、算出の順序はこれに限定されるものではない。
【００６１】
上記以外にも、本発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
【産業上の利用可能性】
【００６２】
この発明に係る音声認識装置は、例えば音声認識機能を搭載したナビゲーションシステムや、ソフトウェアとして音声認識プログラムを当該した機器に適用し、キーワード長が短いキーワードを含む発話の認識性能を向上させるのに適している。
【符号の説明】
【００６３】
１  音声認識部、２  音響モデル蓄積部、３  言語モデル蓄積部、４  未知語数算出部、５  キーワード蓄積部、６  キーワード長算出部、７，７ａ  スコア再計算部、８  キーワード選択頻度算出部、９  キーワード選択頻度蓄積部、１０，１０ａ  音声認識装置、２０  メモリ、３０  プロセッサ。
【図１】
2016147292.tif 000007
【図２】
2016147292.tif 000008
【図３】
2016147292.tif 000009
【図４】
2016147292.tif 000010
【図５】
2016147292.tif 000011
【図６】
2016147292.tif 000012
【図７】
2016147292.tif 000013
【図８】
2016147292.tif 000014
【図９】
2016147292.tif 000015
【図１０】
2016147292.tif 000016
【図１１】
2016147292.tif 000017
【図１２】
2016147292.tif 000018
【図１３】
2016147292.tif 000019
【国際調査報告】
2016147292.tif 000020
2016147292.tif 000021
2016147292.tif 000022
2016147292.tif 000023