(57)【要約】  音声認識装置は、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成して最適な解を探索する仮説探索手段と、仮説探索手段が探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する言い直し判定手段と、言い直し判定手段によって言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する透過単語仮説生成手段とを備え、仮説探索手段は、探索対象とする仮説に透過単語仮説生成手段によって生成された透過単語仮説を含めて最適な解を探索する。
2012093661.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成して最適な解を探索する仮説探索手段と、
前記仮説探索手段が探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する言い直し判定手段と、
前記言い直し判定手段によって言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する透過単語仮説生成手段とを備え、
前記仮説探索手段は、探索対象とする仮説に、前記透過単語仮説生成手段によって生成された透過単語仮説を含めて最適な解を探索する
ことを特徴とする音声認識装置。
【請求項２】
言い直し判定手段は、仮説探索手段が探索中の仮説に含まれる単語または単語列に対して、当該単語または単語列を言い直し後区間に含む言い直し前区間と言い直し後区間の組み合わせを仮定し、仮定した言い直し前区間と言い直し後区間の組み合わせ毎に言い直しらしさを計算し、計算した言い直しらしさが所定の閾値以上であるか否かを判定することによって、該組み合わせに対して言い直しであるか否かを判定し、
透過単語仮説生成手段は、前記言い直し判定手段によって言い直しであると判定された組み合わせの言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説を生成する
請求項１に記載の音声認識装置。
【請求項３】
言い直しらしさの指標として、言い回し区間における無音区間の長さもしくはパワー、ピッチ、話速の急激な変化の有無を用いる
請求項２に記載の音声認識装置。
【請求項４】
言い直しらしさの指標として、言い直し前区間に含まれる単語または単語列と、言い直し後区間に含まれる単語または単語列のサブワードとの音響類似度を用いる
請求項２または請求項３のうちのいずれか１項に記載の音声認識装置。
【請求項５】
言い直しらしさの指標として、言い直し前区間と言い直し後区間の間での意味的に同クラスに属する単語の連続の有無を用いる
請求項２から請求項４のうちのいずれか１項に記載の音声認識装置。
【請求項６】
仮説探索手段は、透過単語仮説生成手段によって生成された透過単語仮説を既存の仮説に付け加えて探索を行う
請求項１から請求項５のうちのいずれか１項に記載の音声認識装置。
【請求項７】
仮説探索手段は、透過単語仮説生成手段によって生成された透過単語仮説を既存の仮説に付け加えるとともに、言い直し判定手段によって言い直しである判定された単語、単語列、または言い直し前区間と言い直し後区間の組み合わせに対して判定された場合には当該組み合わせの言い直し後区間に含まれる単語または単語列を透過単語として扱わない仮説を除いて探索を行う
請求項１から請求項６のうちのいずれか１項に記載の音声認識装置。
【請求項８】
仮説探索手段が、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成しつつ最適な解を探索する過程で、
探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定し、
言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成することによって、
仮説探索手段が、探索対象とする仮説に、前記生成された透過単語仮説を含めて最適な解を探索する
ことを特徴とする音声認識方法。
【請求項９】
コンピュータに、
入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成しつつ最適な解を探索する仮説探索処理の過程で、
探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する言い直し判定処理、および
言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する透過単語仮説生成処理を実行させ、
前記仮説探索処理で、探索対象とする仮説に、前記透過単語仮説生成処理で生成された透過単語仮説を含めて最適な解を探索させる
ための音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識装置、音声認識方法および音声認識プログラムに関する。
【背景技術】
【０００２】
近年、音声認識技術の応用が進み、人から機械への読み上げ発声だけでなく、人から人へのより自然な発声に対しても音声認識技術が用いられるようになっている。人から人への発声を対象に音声認識を行う場合、音声認識誤りを引き起こす原因として、言い直し、言い淀みという現象が存在する。【０００３】
言い直しは、ある単語列をそのまま、または別の単語列に置き換えて発声しなおす現象である。言い淀みは、ある単語の一部分まで発声したものの途中で発声をやめてしまう現象である。以下、言い直しについて、後続の発声で言い直された区間を言い直し前区間、先行する発声区間を言い直すために発声した区間を言い直し後区間、これら２つの区間を繋げてなる区間を言い直し区間と記述する。言い直し前区間は、しばしば言い淀みを伴う。【０００４】
特許文献１には、言い直し、言い淀みの存在する音声に対しても頑健に認識できる音声認識装置が記載されている。特許文献１に記載されている音声認識装置では、音声認識手段が、音声データを入力として、仮説探索部を用いてどの単語列が発声されたかを探索することで音声認識を行った後、区間認識部が、音声認識結果を入力として、言い直し前区間と言い直し後区間とを仮定し、言い直し前区間を再認識する。ここで、区間認識部は、各文節を言い直し後区間、さらにその前の文節を言い直し前区間と仮定し、言い直し後区間の単語またはその類似語のサブワードを辞書として言い直し前区間を順次再認識する。そして、判定部が元の認識結果と区間認識の結果のどちらが音声認識結果として尤もらしいかを判定し、出力部が尤もらしいと判定された音声認識結果を出力する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−０７９０９２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、言い直し後区間の音声認識結果は、言い直し前区間の誤認識の影響を受けてしばしば誤ったものである。このような場合に特許文献１に記載されている音声認識装置のように、音声認識が終わった後に当該音声認識結果に対して言い直しのための処理等を行う方法では、言い直しが正確に認識されなければ、言い直しのための処理を正常に行うことができない。すなわち、言い直しを含む発話を音声認識した場合、言い直しの部分の単語連鎖が不自然になるため、当該区間の単語連鎖の言語尤度が低くなり、言い直し部分が認識誤りを行うことがしばしばある。このように、音声認識の段階で認識誤りを起こしている場合には、それを正しく修正するといったことはできない。【０００７】
例えば、特許文献１に記載されている音声認識装置において、言い回しの部分に認識誤りがおきた場合、言い直し後区間の誤認識結果が言い直し前区間の正解のサブワードにならない。このため、言い直し前区間の再認識を行うための辞書が正しく生成できずに、正しい認識結果の出力ができなくなり、言い直しに対しての認識率が不十分だという問題があった。【０００８】
そこで、本発明は、言い直しや言い淀みに頑健な音声認識装置、音声認識方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明による音声認識装置は、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成して最適な解を探索する仮説探索手段と、仮説探索手段が探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する言い直し判定手段と、言い直し判定手段によって言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する透過単語仮説生成手段とを備え、仮説探索手段は、探索対象とする仮説に透過単語仮説生成手段によって生成された透過単語仮説を含めて最適な解を探索することを特徴とする。【００１０】
また、本発明による音声認識方法は、仮説探索手段が、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成しつつ最適な解を探索する過程で、探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定し、言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成することによって、仮説探索手段が、探索対象とする仮説に生成された透過単語仮説を含めて最適な解を探索することを特徴とする。【００１１】
また、本発明による音声認識プログラムは、コンピュータに、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成しつつ最適な解を探索する仮説探索処理の過程で、探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する言い直し判定処理、および言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する透過単語仮説生成処理を実行させ、仮説探索処理で、探索対象とする仮説に透過単語仮説生成処理で生成された透過単語仮説を含めて最適な解を探索させることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、言い直し前区間の誤認識の影響を受けて言い直し後区間が誤認識することを防ぐことができるので、言い直しや言い淀みを含む発声に対しての音声認識誤りを減少させることができ、結果として言い直しや言い淀みに頑健な音声認識装置、方式およびプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明による音声認識装置の構成例を示すブロック図である。
【図２】本発明による音声認識装置の動作の一例を示すフローチャートである。
【図３】仮説生成をする前の仮説の一例を示す説明図である。
【図４】仮定の言い直し区間の列挙例を示す説明図である。
【図５】言い直し前区間を透過単語とみなした仮説を生成した後の仮説の一例を示す説明図である
【図６】本発明の概要を示すブロック図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施形態を図面を参照して説明する。図１は、本発明による音声認識装置の構成例を示すブロック図である。図１に示す音声認識装置は、音声入力部１０１と、音声認識部１０２と、結果出力部１０６とを備える。また、音声認識部１０２は、仮説探索部１０３と、判定部１０４と、仮説生成部１０５とを含む。
【００１５】
音声入力部１０１は、話者の発生を音声データとして取り込む。音声データは、例えば、音声の特徴量系列として取り込まれる。音声認識部１０２は、音声データを入力とし、音声認識を行って認識結果を出力する。結果出力部１０６は、音声認識部１０２による認識結果を表示する。
【００１６】
仮説探索部１０３は、仮説の尤度を計算し、各仮説につながる音素および単語と接続する仮説の展開を行い、解の探索を行う。
【００１７】
判定部１０４は、各仮説の単語連鎖において言い直し前区間と言い直し後区間をそれぞれ仮定し、その仮定の下で言い直しらしさを求め、閾値以上の言い直しらしさを持つ単語連鎖を言い直し仮説だと判定する。
【００１８】
仮説生成部１０５は、言い直し仮説の言い直し前区間の単語列の各単語を透過単語として扱った仮説を生成する。なお、音声入力部１０１は、例えば、マイクロフォンなどの音声入力装置によって実現される。また、音声認識部１０２（仮説探索部１０３と、判定部１０４と、仮説生成部１０５とを含む。）は、例えば、ＣＰＵ等のプログラムに従って動作する情報処理装置によって実現される。また、結果出力部１０６は、例えば、ＣＰＵ等のプログラムに従って動作する情報処理装置と、モニタ等の出力装置とによって実現される。
【００１９】
言い直しらしさについては、無音区間の有無やパワー、ピッチ、話速の急激な変化の有無といった音響的な情報や、言い直し前区間と言い直し後区間のサブワードとの音響類似度や、言い直し前区間と言い直し後区間での同クラスの単語の連続の有無といった言語的な指標を用いることができる。これらの指標を単一で用いてもよいし、線形結合などをして統合して用いてもよい。
【００２０】
言い直し前区間に現れる単語は言い直し前区間のみで出現するとは限らないため、静的に透過単語を決めることができない。しかし、本実施形態では、音声認識装置は、仮定の言い直し前区間と言い直し後区間に含まれる単語または単語列が言い直しである度合いを表す指標である言い直しらしさに基づいて、言い直し前区間の単語列を動的に透過単語として扱う仮説を生成する。音声認識装置は、このような透過単語を用いて、言い直し現象における言語的な尤度の劣化を抑制する。
【００２１】
次に、本実施形態の動作について説明する。図２は、図１に示した音声認識装置の動作の一例を示すフローチャートである。図２に示す例では、まず、音声入力部１０１が、話者の発声を音声データとして取り込む（ステップＳ１）。
【００２２】
次に、音声認識部１０２は、取り込まれた音声データを入力として当該音声データに対して音声認識を行う。ここでは、まず、仮説探索部１０３が、音声入力部１０１によって取り込まれた音声データを入力として、単語内仮説の尤度計算を行う（ステップＳ２）。なお、単語内仮説とは、音声データに対して時間軸に沿って前から探索を行う過程で、どの単語であるかが確定していない部分において、語頭が同じ音素の単語を一つの仮説として扱うその単位（ひとまとまり）をいう。従って、ステップＳ２の段階では、仮説探索部１０３は、単語が確定していない単語内仮説に対して、”音響尤度＋近似された言語尤度”という形で尤度計算を行う。なお、正確に単語連鎖の言語尤度を計算して、”音響尤度＋言語尤度”と合算するのは該仮説が単語終端までたどり着き、単語が確定した時であり、この時にＳ３に移行する。
【００２３】
次いで、仮説探索部１０３は、単語終端に辿りついた仮説について、確定した単語に基づいて言語尤度を与える（ステップＳ３）。
【００２４】
仮説探索部１０３が仮説を探索する過程で単語終端にたどり着いたタイミングで、判定部１０４は、確定した単語列の中で可能性のある言い直し前区間と言い直し後区間の組を全て列挙して、１つ目の組を取り出す（ステップＳ４）。ここでは、判定部１０４は、仮説探索部１０３によって生成された仮説（すなわち、探索中の仮説）において一種類の単語として確定したものを対象に、予め定めておいた言い直し区間の設定情報に基づき、言い直し前区間と言い直し後区間を仮定する。判定部１０４は、言い直し後区間には直前のステップＳ３において確定した単語を含むようにする。すなわち、本例では、ステップＳ２で単語内仮説の尤度計算を終え、たったいま単語終端までたどり着いた単語を含むようにする。設定情報において、言い直し前区間と言い直し後区間は例えば連続する一単語ずつであるとしてもよいし、言い直し前区間をＮ単語、言い直し後区間をＭ単語まで許す連続した区間としてもよい。その場合、１〜Ｎ単語までと１〜Ｍ単語までのそれぞれの組み合わせを全て列挙してもよい。以下、ステップＳ４において列挙された言い直し前区間と言い直し後区間の組を、仮定の言い直し区間組と呼び、またそれらを繋げてなる区間を仮定の言い直し区間と呼ぶ場合がある。
【００２５】
次いで、判定部１０４は、ステップＳ４で取り出された仮定の言い直し区間組に対して言い直しらしさを計算する（ステップＳ５）。言い直しらしさとして、無音区間の有無、またはパワー、ピッチ、話速の急激な変化の有無といった音響的な情報や、言い直し前区間と言い直し後区間のサブワードとの音響類似度や、言い直し前区間と言い直し後区間での同クラスの単語の連続の有無といった指標を用いることができる。
【００２６】
また、判定部１０４は、言い直しらしさが閾値以上かどうかの判定を行う（ステップＳ６）。ここで、判定部１０４は、言い直しらしさが閾値以上の場合はステップＳ７に進み、閾値未満の場合はステップＳ８に進む。
【００２７】
ステップＳ７では、仮説生成部１０５が、閾値以上の言い直しらしさを持つと判断した仮定の言い直し区間組を含む仮説に対して、言い直し前区間の単語列を透過単語とみなした仮説を生成する。ここで、透過単語とは、音声認識過程において言語的にはないものとして取り扱われる単語をいう。従って、透過単語とされた場合には、仮説の言語尤度計算を行う際に、当該単語を取り除いて尤度の計算が行われる。
【００２８】
次に、ステップＳ８において、判定部１０４は、ステップＳ４で列挙された仮定の言い直し区間組に、まだ処理していない組が残っているかを確認する。残っている場合には、判定部１０４は、ステップＳ４に戻り、残りの組の中から１つの組を取り出す（ステップＳ８のＹｅｓ）。一方、列挙された仮定の言い直し区間組の全てに対してステップＳ５〜Ｓ７までの処理が完了した場合には（ステップＳ８のＮｏ）、判定部１０４は、ステップＳ９に進む。
【００２９】
ステップＳ９では、判定部１０４は、音声の終端まで仮説探索を終えたかどうかを判定する。音声の終端まで達していない場合は（ステップＳ９のＮｏ）、ステップＳ２に戻り、ステップＳ７で生成された仮説を加えて、または言い直しと判定された仮説に置き換えた上で、次の音声フレームの仮説探索を行う。音声の終端まで達した場合は（ステップＳ９のＹｅｓ）、ステップＳ１０に進む。
【００３０】
ステップＳ１０では、結果出力部１０６が、最終的に最尤となった仮説を音声認識結果として出力する。
【００３１】
以上のように、本実施形態では、音声認識装置は、音声認識の探索の過程で、動的に、言い直しらしさが高かった仮定の言い直し区間組の言い直し前区間に含まれる単語または単語列を透過単語として扱うため、言い直し後区間の正解仮説の言語尤度の低下を抑制することができる。例えば、このようにして抽出される言い直し前区間に対して動的に透過単語とする処理を行わない場合には、言い直し前区間が誤認識されることにより、言い直し後区間の正解仮説の言語尤度まで悪くなり、言い直し後区間が誤認識してしまうことがしばしばある。しかし、本実施形態のように、探索中の仮説に含まれる単語または単語列に対して、順次言い直しらしさを計算し、当該単語または単語列が言い直しであると判断した場合に当該単語または単語列に係る言い直し前区間の単語または単語列を透過単語として扱うことによって、言い直し後区間の正解仮説の言語尤度の低下を抑制することができる。従って、言い直しを含む発声における誤認識を減少させることが可能である。
【００３２】
なお、本実施形態では、単語が確定する度に言い直し判定を行う例を示したが、言い直し判定を行うタイミングはこの限りではない。仮説探索部１０３が、探索中の仮説とともに、またはこれと置き換わって、言い直し判定の結果生成される仮説（透過単語を含む仮説）を探索対象として認識できるような態様であればよい。なお、言い直し判定を行うタイミングまたは条件を定めておき、それに合致したときにそれまでに探索された仮説に対して逐次的に言い直し判定を行うといったことも可能である。一例として、同一の区間において単語仮説が複数検出された場合に言い直し判定を行うことも考えられる。
【実施例１】
【００３３】
次に、具体的な実施例を用いて本発明の実施形態を説明する。第１の実施例では、「Do you know some someone who can speak Japanese?」という発声を認識する場合を例に挙げて動作の説明を行う。【００３４】
本実施例では、まず、ステップＳ１において、音声入力部１０１が話者の「Do you know some someone who can speak Japanese?」という発声を音声データとして取り込む。【００３５】
次に、ステップＳ２において、仮説探索部１０３が取り込まれた音声データを対象にして、どの単語であるかが確定していない単語内仮説の尤度計算を行う。例えば、発話例での「speak」という単語の／ｉ／の音素の発声に対して、／ｉ／や／ｕ／の音素のモデルとの音響尤度計算を行い、「can」や「can't」といった当該仮説の先方の単語連鎖の言語尤度と合算することに該当する。【００３６】
次に、ステップＳ３では、仮説探索部１０３が単語終端に辿りついた仮説について、確定した単語に基づいて言語尤度を与える。【００３７】
図３は、本例において探索される仮説の例を示す説明図である。図３に示す例を用いて、本処理についてより具体的に説明する。図３において、各楕円は、認識結果の候補として探索が行われる単語（単語仮説）を示している。また、各単語仮説に付された数値は、各単語仮説が先行する単語仮説と連鎖している状態とされる単語連鎖の対数尤度を表す。【００３８】
本例でいうと「someone」という単語が確定した場合に、先行する「some」という発話が「some」という単語仮説になっている場合、「some someone」という単語連鎖の言語尤度を与える。図３に示す例では「−６０」という対数尤度が与えられている。同時に「some saman」といった単語連鎖の仮説も計算されることがあり、「−５０」という対数尤度が与えられている。【００３９】
このように、言い直しがあった場合に、単純に単語連鎖に対して言語尤度を与える処理だけでは、「some someone」の単語連鎖の言語尤度が「some saman」などの単語連鎖の言語尤度と十分に差をつけることができないため、最尤仮説となることができずに誤認識を起こすことがしばしばある。なお、音響尤度や言語尤度を用いて仮説を探索する具体的な方法については、詳細な説明を省略する。ここでは、一般的な音声認識における手法を用いればよい。【００４０】
次に、ステップＳ４において、判定部１０４が、確定した単語列の中で可能性のある言い直し前区間と言い直し後区間の組を列挙して、１つ目の組を取り出す。判定部１０４は、言い直し後区間にはステップＳ３において確定した単語を含むようにする。言い直し前区間と言い直し後区間は例えば連続する一単語ずつでもよいし、言い直し前区間をＮ単語、言い直し後区間をＭ単語まで許す連続した区間として、それぞれの組み合わせを全て列挙してもよい。【００４１】
本発声例でいうと、例えば直前のステップＳ３において「someone」という単語が確定したとすると、「Do you know some someone who can speak Japanese」という仮説に対して、次のような仮定の言い直し区間の組が列挙される。【００４２】
例えば、言い直し前区間と言い直し後区間がそれぞれ１単語ずつの場合、言い直し前区間が「some」、言い直し後区間が「someone」と仮定される。従って、１組みの仮定の言い直し区間が列挙される。図４は、仮定の言い直し区間の列挙例を示す説明図である。図４の例でいうと、設定情報が（言い直し前区間の単語数＋言い直し後区間の単語数）＝（１単語＋１単語）の行に示されている仮定の言い直し区間＝（「some」＋「someone」）が１組列挙される。【００４３】
また、例えば、言い直し前区間が１単語、言い直し後区間が２単語の場合、言い直し前区間が「know」、言い直し後区間が「some someone」と仮定される。従って、１組みの仮定の言い直し区間組が列挙される。なお、言い直し後区間が２単語までとした場合には、上記の１組みの組み合わせも含め、計２組み列挙される。すなわち、図４において設定情報が（言い直し前区間の単語数＋言い直し後区間の単語数）＝（１単語＋１単語）の行に示されている仮定の言い直し区間＝（「some」＋「someone」）と、（１単語＋２単語）の行に示されている仮定の言い直し区間＝（「know」＋「some someone」）の２組が列挙される。【００４４】
また、例えば、言い直し前区間が２単語まで、言い直し後区間が２単語までの場合、上記の組み合わせに加えて、図４において設定情報が（言い直し前区間の単語数＋言い直し後区間の単語数）＝（２単語＋１単語）の行に示されている仮定の言い直し区間＝（「know some」＋「someone」）と、（２単語＋２単語）の行に示されている仮定の言い直し区間＝（「you know」＋「some someone」）の計４組が列挙される。【００４５】
次に、ステップＳ５において、判定部１０４が、ステップＳ４で取り出された１の仮定の言い直し区間組に対して言い直しらしさを計算する。本実施例では、言い直しらしさの指標として、無音区間の長さ、パワー、ピッチ、話速の急激な変化の有無といった音響的な情報を用いる。音響的な情報については、あらかじめ言い直し区間がタグ付けされた学習データを用いて、無音区間の長さ、パワー、ピッチ、話速の時間微分を特徴量とした混合ガウス分布などによってモデル化しておき、判定部１０４は、当該モデルとの尤度を計算する。【００４６】
次に、ステップＳ６において、判定部１０４は、取り出した１の仮定の言い直し区間の言い直しらしさが閾値以上かどうかの判定を行う。判定部１０４は、言い直しらしさが閾値以上の場合はステップＳ７に進み、閾値未満の場合はステップＳ８に進む。【００４７】
ステップＳ７では、仮説生成部１０５が、閾値以上の言い直しらしさを持つ仮説に対して、言い直し前区間の単語列を透過単語とみなした仮説を生成し、言語的には透過単語とみなされた単語を取り除いて尤度を計算しなおす。なお、生成した仮説の言語尤度の再計算は、仮説探索部１０３によって実行されてもよい。【００４８】
図５は、本発声例において言い直し前区間が「some」、言い直し後区間が「someone」と仮定された場合に生成される仮説の例を示す説明図である。図５に示す例では、言い直し前区間である「some」を除外し、「Do you know someone who can speak Japanese」という単語連鎖だとみなして、言語尤度が与えられている。このため、「know some」という単語連鎖に与えられる対数尤度は「０」となり、「know someone」という単語連鎖に対して「−３０」という高い対数尤度が与えられる。なお、音響尤度に関しては変更しない。【００４９】
次に、ステップＳ８において、判定部１０４は、ステップＳ４で列挙された言い直し前区間と言い直し後区間の他の組み合わせが残っているかを確認する。残っている場合ステップＳ４に戻り、残りの組み合わせの中から１つの組み合わせを取り出す。【００５０】
次に、ステップＳ９において、判定部１０４は、音声の終端まで仮説探索を終えたかどうかを判定する。ここで、音声の終端まで達していない場合は、ステップＳ２に戻り、ステップＳ７で生成された仮説を加えて、次の音声フレームの仮説探索を行う。一方、音声の終端まで達した場合は、ステップＳ１０に進む。【００５１】
ステップＳ１０では、結果出力部１０６が、最終的に最尤となった仮説を音声認識結果として出力する。【００５２】
以上のように、単純に単語連鎖に対して言語尤度を与えて仮説探索を行うと、言い直し区間「some someone」の単語連鎖の言語尤度が低いことにより、「someone」の部分が誤認識してしまうことがしばしばあるが、実施例では、例え言い淀みを伴う言い直しがあった場合でも、言い直しらしさが高かった仮定の言い直し区間組の言い直し前区間に含まれる単語「some」が動的に透過単語として扱われる。このため、これに続く単語連鎖の言語尤度の低下を抑制することができる。よって、「Do you know someone who can speak Japanese」という正解仮説が最尤の仮説として残りやすくすることができる。従って、言い直しを含む発声における誤認識を減少させることが可能である。
【実施例２】
【００５３】
次に、本発明の第２の実施例について説明する。本実施例では、判定部１０４が用いる言い直しらしさの指標として、言い直し前区間と言い直し後区間のサブワードとの音響類似度を用いる。【００５４】
言い直し前区間と言い直し後区間のサブワードとの音響類似度は、言い直し後区間の先頭音素を含むサブワードをまず生成し、各サブワードと言い直し前区間との編集距離を計算する。言い直し前区間が「some」、言い直し後区間が「someone」と仮定された場合、言い直し後区間のサブワードは「so」、「some」、「someo」、「someone」となる。これらのうち「some」（注：発音）と「some」（注：単語）の音素の編集距離は０となる。このようにして計算した各サブワードと言い直し前区間との編集距離を用い、編集距離が低いほど当該区間の音響類似度が高いとして、当該音響類似度の高さを言い直しらしさの高さとして判定に用いてもよい。また、編集距離だけでなく、／ｓ／の音素と／ｓｈ／の音素は近いといった各音素モデル間の音素間距離を用いて、言い直し前区間の単語といい直し後区間のサブワードとの距離を求めてもよい。
【実施例３】
【００５５】
次に、本発明の第３の実施例について説明する。本実施例では、判定部１０４が用いる言い直しらしさの指標として、同クラスの単語の連続の有無という言語的な指標を用いる。同クラスの単語の連続の有無については、シソーラスを用いて各単語の意味的な類似度を基に判断する。例えば、「りんごバナナ」（日本語：英語では、"apple banana"）のように、言い直し前区間と言い直し後区間との間で、果物を表す単語が連続で発声されたと判断した場合に、言い直しらしさが閾値よりも高いと判定してもよい。【００５６】
具体的には、言い直し前区間と言い直し後区間との間で連続する単語の意味的な類似度を求め、類似度が高いほど言い直しらしさが高いとして判定に用いてもよい。また、「りんごはバナナは」」（日本語：英語では、"apple is banana is"）というように付属語を伴う場合は、当該付属語を除いて、単語間類似度を求める。具体的には、言い直し前区間と言い直し後区間の境界に、付属語として用いられる単語があると認識した場合には、当該付属語を除いた単語間で意味的な類似度を求めればよい。
【実施例４】
【００５７】
第４の実施例では、判定部１０４が用いる言い直しらしさの指標として、第１〜第３の実施例で用いた各指標を線形結合して用いる。
【実施例５】
【００５８】
第５の実施例では、音声認識装置は、第１〜第４のステップＳ９において、音声の終端まで仮説探索を終えたかどうかを判定する。音声の終端まで達していないと判定された場合には、音声認識装置は、ステップＳ２に戻る際に、ステップ７で生成された仮説を、言い直し区間を含むと判定された仮説に置き換えた上で、次の音声フレームの仮説探索を行う。【００５９】
換言すると、仮説探索部１０３の探索対象の仮説にステップ７で生成された仮説を加えるとともに、言い直しであると判断された区間組に含まれる単語または単語列を透過単語として扱わない仮説を探索対象の仮説から除いた上で、次の音声フレームの仮説探索を行わせればよい。【００６０】
本実施例の動作を行うと、認識結果として、言い直し区間を含むと判定された仮説を除いた結果を出力することができる。すなわち、言い直し部分が誤認識している可能性のある認識結果を除くことができるので、後段の処理に悪影響を与えることを防ぐといった効果や、処理負担を軽くするといった効果が期待できる。【００６１】
次に、本発明の概要について説明する。図６は、本発明の概要を示すブロック図である。図６に示すように、本発明による音声認識装置は、仮説探索手段１１と、言い直し判定手段１２と、透過単語仮説生成手段１３とを備えている。【００６２】
仮説探索手段１１（例えば、仮説探索部１０３）は、入力された音声データに対して、認識結果の候補として探索が行われる単語の連鎖である仮説を生成して最適な解を探索する。また、仮説探索手段１１は、探索対象とする仮説に、後述する透過単語仮説生成手段１３によって生成された透過単語仮説を含めて探索する。【００６３】
言い直し判定手段１２（例えば、判定手部１０４）は、仮説探索手段１１が探索中の仮説に含まれる単語または単語列の言い直しらしさを計算し、当該単語または単語列が言い直しであるか否かを判定する。【００６４】
透過単語仮説生成手段１３（例えば、仮説生成部１０５）は、言い直し判定手段１２によって言い直しであると判定された場合に、当該単語または単語列に係る言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説である透過単語仮説を生成する。【００６５】
また、言い直し判定手段１２は、仮説探索手段１１が探索中の仮説に含まれる単語または単語列に対して、当該単語または単語列を言い直し後区間に含む言い直し前区間と言い直し後区間の組み合わせを仮定し、仮定した言い直し前区間と言い直し後区間の組み合わせ毎に言い直しらしさを計算し、計算した言い直しらしさが所定の閾値以上であるか否かを判定することによって、該組み合わせに対して言い直しであるか否かを判定し、透過単語仮説生成手段１３は、言い直し判定手段１２によって言い直しであると判定された組み合わせの言い直し前区間に含まれる単語または単語列を透過単語として扱った仮説を生成してもよい。【００６６】
また、本発明による音声認識装置は、言い直しらしさの指標として、例えば、言い回し区間における無音区間の長さもしくはパワー、ピッチ、話速の急激な変化の有無を用いてもよい。また、例えば、言い直し前区間に含まれる単語または単語列と、言い直し後区間に含まれる単語または単語列のサブワードとの音響類似度を用いてもよい。また、例えば、言い直し前区間と言い直し後区間の間での意味的に同クラスに属する単語の連続の有無を用いてもよい。【００６７】
また、仮説探索手段１１は、透過単語仮説生成手段１３によって生成された透過単語仮説を既存の仮説に付け加えて探索を行ってもよい。【００６８】
また、仮説探索手段１１は、透過単語仮説生成手段１３によって生成された透過単語仮説を既存の仮説に付け加えるとともに、言い直し判定手段１２によって言い直しである判定された単語、単語列、または言い直し前区間と言い直し後区間の組み合わせに対して判定された場合には当該組み合わせの言い直し後区間に含まれる単語または単語列を透過単語として扱わない仮説を除いて探索を行ってもよい。【００６９】
以上、実施形態及び実施例を参照して本願発明を説明したが、本願発明は上記実施形態および実施例に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。【００７０】
この出願は、２０１１年１月７日に出願された日本特許出願２０１１−００２３０６を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【産業上の利用可能性】
【００７１】
本発明は、一般の音声認識システムに広く用いることができる。特に、講演音声や対話音声のように人が人に向かって話す音声を認識する音声認識システムに好適に適用可能である。
【符号の説明】
【００７２】
１０１  音声入力部
１０２  音声認識部
１０３  仮説探索部
１０４  判定部
１０５  仮説生成部
１０６  結果出力部
１１  仮説探索手段
１２  言い直し判定手段
１３  透過単語仮説生成手段
【図１】
2012093661.tif 000003
【図２】
2012093661.tif 000004
【図３】
2012093661.tif 000005
【図４】
2012093661.tif 000006
【図５】
2012093661.tif 000007
【図６】
2012093661.tif 000008
【国際調査報告】
2012093661.tif 000009
2012093661.tif 000010
2012093661.tif 000011
2012093661.tif 000012