(57)【特許請求の範囲】
【請求項１】
所定の閾値θ1未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第一音声区間s1,s2,…,sLを検出する第一発話区間検出部と、
θ1<θ2とし、所定の閾値θ2未満の非音声区間を音声区間の一部とみなして、前記音声データの音声区間である第二音声区間t1,t2,…,tJを検出する第二発話区間検出部と、
前記第一音声区間s1,s2,…,sLに対応する前記音声データに対して音声認識を行い第一認識結果sr1,sr2,…,srLを得、前記第二音声区間t1,t2,…,tJに対応する前記音声データに対して音声認識を行い第二認識結果tr1,tr2,…,trJを得る音声認識部と、
i=1,…,L-1とし、m=1,2,…,Mとし、Mは1以上L-1以下の何れかの整数とし、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、前記類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とする認識結果修正部とを含む、
音声認識装置。
【請求項２】
請求項１の音声認識装置であって、
前記類似度αi,mは、前記第一認識結果sriの末尾からn文字と、前記第一認識結果sri+mの先頭からn文字との間の類似度である、
音声認識装置。
【請求項３】
請求項１または請求項２の音声認識装置であって、
M=1である、
音声認識装置。
【請求項４】
請求項１から請求項３の何れかの音声認識装置であって、
第一認識結果sriの発話開始時刻と第一認識結果sri+mの発話開始時刻との差分をΔti+mとし、Mは2以上i未満の何れかの整数であり、前記認識結果修正部において、前記類似度αi,mを次式により更新し、更新後の類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とする、
αi,m=αi,m/Δti+m
音声認識装置。
【請求項５】
請求項１から請求項４の何れかの音声認識装置であって、
前記認識結果修正部において、前記類似度αi,mを第一認識結果sriに対する音素系列と第一認識結果sri+mに対する音素系列とから計算する、
音声認識装置。
【請求項６】
請求項１から請求項５の何れかの音声認識装置であって、
前記認識結果修正部は、L=Jのとき、類似度αi,mの計算及び第一認識結果sriの削除を省略し、第二認識結果を認識結果とする、
音声認識装置。
【請求項７】
所定の閾値θ1未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第一音声区間s1,s2,…,sLを検出する第一発話区間検出ステップと、
θ1<θ2とし、所定の閾値θ2未満の非音声区間を音声区間の一部とみなして、前記音声データの音声区間である第二音声区間t1,t2,…,tJを検出する第二発話区間検出ステップと、
前記第一音声区間s1,s2,…,sLに対応する前記音声データに対して音声認識を行い第一認識結果sr1,sr2,…,srLを得、前記第二音声区間t1,t2,…,tJに対応する前記音声データに対して音声認識を行い第二認識結果tr1,tr2,…,trJを得る音声認識ステップと、
i=1,…,L-1とし、m=1,2,…,Mとし、Mは1以上L-1以下の何れかの整数とし、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、前記類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とする認識結果修正ステップとを含む、
音声認識方法。
【請求項８】
請求項１から請求項６の何れかの音声認識装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人間の発話などをコンピューターに認識させ、発話を文字列に変換する音声認識技術に関する。
【背景技術】
【０００２】
音声認識技術においては、発話区間検出技術(非特許文献１参照)を用いて、利用者の発話のみを切り出し、音声認識を行う。利用者の発話のみを精度よく切り出すことで、発話していない雑音区間を除外し、精度よく音声認識ができる。
【０００３】
発話区間検出においては、入力音声の各フレームに対して音声尤度、非音声尤度を算出し、音声区間を決定する手法がとられることが多い。
【０００４】
ひとつの発話として音声認識に渡す発話は、尤度計算から音声区間と判定された区間のみを渡すのではなく、音声区間の前後にマージンとしての非音声区間を付与したり、音声区間と音声区間の間（以下、「ギャップ」ともいう）に存在する短い非音声区間も含まれる。
【０００５】
どの程度のマージンを付与するか、及び、どの程度のギャップであればひとつの発話とするかは、一般に利用環境に応じて人手で調整する。
【先行技術文献】
【非特許文献】
【０００６】
【非特許文献１】藤本雅清, “音声区間検出の基礎と最近の研究動向”, IEICE Technical Report., SP2010-23（2010-06）, pp.7-12.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、音声対話システムなどにおいて、利用者が目的の発話を言い直すケースがあり、その場合、発話の言い直しは、自然な連続した発話と比較して言語的なつながりが低下することから音声認識精度が劣化する。また、音声対話対話システムとしてもその意味解釈が難しくなり、音声対話システムとしての信頼度が低下する。
【０００８】
言い直し箇所も発話区間であることから発話区間検出処理では除外することができない。
【０００９】
発話区間検出において結合する音声区間ギャップを短く設定することで、音声認識に渡される発話区間は短くなる。言い直しをする際には、短い非音声区間を挟むことから、ギャップの調整により言い直しとそれ以降の発話に分割することができるが、短く分割されやすくなると文脈としてのつながりが利用しづらくなるため認識精度が劣化する。
【００１０】
本発明は、言い直しを検出することで言い直しによる認識精度の劣化を回避することができる音声認識装置、その方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明の一態様によれば、音声認識装置は、所定の閾値θ1未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第一音声区間s1,s2,…,sLを検出する第一発話区間検出部と、θ1<θ2とし、所定の閾値θ2未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第二音声区間t1,t2,…,tJを検出する第二発話区間検出部と、第一音声区間s1,s2,…,sLに対応する音声データに対して音声認識を行い第一認識結果sr1,sr2,…,srLを得、第二音声区間t1,t2,…,tJに対応する音声データに対して音声認識を行い第二認識結果tr1,tr2,…,trJを得る音声認識部と、i=1,…,L-1とし、m=1,2,…,Mとし、Mは1以上L-1以下の何れかの整数とし、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とする認識結果修正部とを含む。
【００１２】
上記の課題を解決するために、本発明の他の態様によれば、音声認識方法は、所定の閾値θ1未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第一音声区間s1,s2,…,sLを検出する第一発話区間検出ステップと、θ1<θ2とし、所定の閾値θ2未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第二音声区間t1,t2,…,tJを検出する第二発話区間検出ステップと、第一音声区間s1,s2,…,sLに対応する音声データに対して音声認識を行い第一認識結果sr1,sr2,…,srLを得、第二音声区間t1,t2,…,tJに対応する音声データに対して音声認識を行い第二認識結果tr1,tr2,…,trJを得る音声認識ステップと、i=1,…,L-1とし、m=1,2,…,Mとし、Mは1以上L-1以下の何れかの整数とし、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とする認識結果修正ステップとを含む。
【発明の効果】
【００１３】
本発明によれば、言い直しを検出することで言い直しによる認識精度の劣化を回避することができ、音声認識を用いるシステムの信頼性を向上させるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】第一実施形態に係る音声認識装置の機能ブロック図。
【図２】第一実施形態に係る音声認識装置の処理フローの例を示す図。
【図３】入力音声データ、第一音声区間及び第二音声区間の例を示す図。
【図４】入力音声データ、第一認識結果及び第二認識結果の例を示す図。
【図５】認識結果修正部１０３の処理フローの例を示す図。
【発明を実施するための形態】
【００１５】
以下、本発明の実施形態について、説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。
【００１６】
＜第一実施形態＞
本実施形態では、感度の異なる(ギャップの長さの異なる)2つの発話区間検出を動作させ、それぞれに対する音声認識結果を参照することで、言い直しを検出する。
【００１７】
図１は第一実施形態に係る音声認識装置１００の機能ブロック図を、図２はその処理フローを示す。
【００１８】
音声認識装置１００は、第一発話区間検出部１０１−１、第二発話区間検出部１０１−２、音声認識部１０２及び認識結果修正部１０３を含む。
【００１９】
音声認識装置１００は、マイクロホン等の音声デバイスで収音された音声データを入力とし、その音声データを音声認識し、音声認識結果を出力する。
【００２０】
＜第一発話区間検出部１０１−１及び第二発話区間検出部１０１−２＞
第一発話区間検出部１０１−１は、音声データを入力とし、所定の閾値θ1未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第一音声区間s1,s2,…,sLを検出し（Ｓ１０１−１）、音声認識部１０２に出力する。
【００２１】
第二発話区間検出部１０１−２は、音声データを入力とし、所定の閾値θ2未満の非音声区間を音声区間の一部とみなして、音声データの音声区間である第二音声区間t1,t2,…,tJを検出し（Ｓ１０１−２）、音声認識部１０２に出力する。ただし、θ1<θ2とする。
【００２２】
なお、本実施形態では、第一音声区間s1,s2,…,sL及び第二音声区間t1,t2,…,tJとして、音声区間を切り出した音声データを出力する。ただし、音声区間と、その音声区間に対応する音声データとを取得できればよいため、切り出す前の音声データと音声区間を示す情報(例えば(i)音声区間の開始時刻と終了時刻、(ii)音声区間の開始時刻と音声区間の長さ等)を出力してもよい。
【００２３】
例えば、第一発話区間検出部１０１−１及び第二発話区間検出部１０１−２は、音声デバイスからの入力音声データを解析し、音声区間の検出を行う。音声区間検出方法は、既存のいかなる音声区間検出方法を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。例えば、非特許文献１の音声区間検出方法を用いればよい。ただし、本実施形態では、検出感度の異なる２つの設定で音声区間検出処理を行う。図３は、入力音声データ、第一音声区間s1,s2,…,sL及び第二音声区間t1,t2,…,tJの例を示す。
【００２４】
第一発話区間検出部１０１−１は、言い直しや考えながら話す際に生じるような発話内での短い非音声区間にも敏感に発話を分割するように設定する(図３参照)。つまり、閾値θ1を小さな値に設定する。他方、第二発話区間検出部１０１−２は、そのような短い非音声区間は音声区間の一部とみなすように設定する(図３参照)。つまり、閾値θ2を閾値θ1よりも大きな値に設定する。例えば、第一発話区間検出部１０１−１及び第二発話区間検出部１０１−２は、内部で音声尤度と非音声尤度との比(以下、尤度比ともいう)を算出し、尤度比がある閾値βを下回る区間（非音声区間）が閾値βを上回る区間（音声区間）に挟まれている場合において、当該非音声区間がある時間長θ1またはθ2よりも短い場合はその非音声区間を音声区間として処理する。ここでの設定の違いは、この時間長θ1を非常に短く、たとえば0.1秒などに設定し、他方、時間長θ2を、通常の発話内における一般的な間を考慮し、0.5秒程度に設定することにある。θ1を非常に短くすることで発話区間（音声区間）が細かく分割されやすくなる。第一発話区間検出部１０１−１及び第二発話区間検出部１０１−２では、異なる設定で動かした複数の区間検出結果(第一音声区間s1,s2,…,sL及び第二音声区間t1,t2,…,tJ、ただし、θ1<θ2なので、第一音声区間の個数Lは必ず第二音声区間の個数J以上となる、つまり、L≧Jとなる)が出力される。
【００２５】
＜音声認識部１０２＞
音声認識部１０２は、音声データ、第一音声区間s1,s2,…,sL及び第二音声区間t1,t2,…,tJ(音声区間を切り出した音声データ)を入力とし、第一音声区間s1,s2,…,sLに対応する音声データに対して音声認識を行い第一認識結果sr1,sr2,…,srLを得、第二音声区間t1,t2,…,tJに対応する音声データに対して音声認識を行い第二認識結果tr1,tr2,…,trJを得（Ｓ１０２）、認識結果修正部１０３に出力する。音声認識方法は、既存のいかなる音声認識方法を用いてもよく、利用環境等に合わせて最適なものを適宜選択すればよい。図４は、第一認識結果sr1,sr2,…,srL及び第二認識結果tr1,tr2,…,trJの例を示す。
【００２６】
＜認識結果修正部１０３＞
認識結果修正部１０３は、第一認識結果sr1,sr2,…,srLと第二認識結果tr1,tr2,…,trJとを受け取り、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とし（Ｓ１０３）、音声認識装置１００の出力値として出力する。ただし、i=1,2,…,L-1とし、m=1とする。なお、L>Jのとき、Jは第二認識結果に含まれる発話の個数を示すため少なくとも1以上の値となり、Lは1より大きな値となる。
【００２７】
図５は、認識結果修正部１０３の処理フローの例を示す。認識結果修正部１０３は、第一発話区間検出部１０１−１及び第二発話区間検出部１０１−２から入力された発話区間の数L,Jが異なる場合(L≠J、ただし、L≧JなのでL>Jとなる、図５のＳ１０３−Ａのyesの場合)、発話区間数が多い方の認識結果(つまり、第一認識結果))に対して言い直しの検出を行う（Ｓ１０３−Ｂ〜Ｓ１０３−Ｈ）。なお、この例では、flagが0のとき言い直しが行われていないと判断し、flagが1のとき言い直しが行われたと判断する。そこで、まず、flagを0に設定する(Ｓ１０３−Ｂ)。発話区間の数L,Jが同一である場合(L=J、図５のＳ１０３−Ａのnoの場合)には処理は行わず、発話区間長が長い方の認識結果(第二認識結果)tr1,tr2,…,trJをそのまま出力する(Ｓ１０３−Ｊ)。このような処理により、以降の処理Ｓ１０３−Ｂ〜Ｓ１０３−ｌを省略することができる。言い直しの検出は、複数発話区間のうち時間軸上で前後するもの（本実施形態では、sriとsri+1）の認識結果文字列の類似度αi,mを算出し（Ｓ１０３−Ｄ）、その類似度がある閾値ηを上回っている際に（Ｓ１０３−Ｅのyesの場合）、sri+1はsriの言い直し箇所だとして判断し、flagを1に設定する（Ｓ１０３−Ｆ）。ただし、類似度の計算には認識結果文字列すべてを用いるのではなく、過去の認識結果sriの末尾からn文字、sri+1の先頭からn文字のみを用いるものとし、類似度計算自体は公知の技術を用いて算出する。ここでnは例えば5とする。類似度の計算は、2つの文字系列を比較し、スコアを出力できるものであればよく、たとえばDPマッチングなどを用いるとよい。類似度のスコアを0から1に正規化した場合ηは0.85程度にしておくとよい。計算した類似度計算結果から、近接する発話で類似度がηを上回っている場合には、近接する過去の認識結果sriを削除する（Ｓ１０３−Ｇ）。この処理をすべての認識結果sriに対して行い（Ｓ１０３−Ｃ、なお、図５のＳ１０３−Ｃの上端内の数値は、変数iの初期値、終値、増分値を表す。）、言い直しが行われていた場合(Ｓ１０３−Ｈのyesの場合)、近接する発話で類似度がη以下であった認識結果(削除されていない第一音声認識結果sri)のみを出力する（Ｓ１０３−Ｉ）。なお、第一音声認識結果srL(i=Lのとき)は、i=L+1の比較が行われることがないため、必ず出力される。なお、第一認識結果sr1,sr2,…,srLは、第二認識結果tr1,tr2,…,trJに比べると、短く分割される。そのため、第一認識結果sr1,sr2,…,srLは、第二認識結果tr1,tr2,…,trJに比べると、文脈としてのつながりが利用しづらくなり、認識精度が劣化すると考えられる。そのため、近接するどの認識結果でも類似度が閾値ηを上回らなかった場合には、第二認識結果tr1,tr2,…,trJを出力する（Ｓ１０３−Ｊ）。
【００２８】
＜効果＞
以上の構成により、言い直しを検出することで言い直しによる認識精度の劣化を回避することができ、音声認識を用いるシステムの信頼性を向上させるという効果を奏する。
【００２９】
＜第二実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００３０】
認識結果修正部１０３は、第一認識結果sr1,sr2,…,srLと第二認識結果tr1,tr2,…,trJとを受け取り、L>Jのとき、第一認識結果sriと第一認識結果sri+mとの類似度αi,mを計算し、類似度αi,mが所定の閾値より大きい場合、第一認識結果sriを削除し、残った第一認識結果のみを認識結果とし（Ｓ１０３）、音声認識装置１００の出力値として出力する。ただし、i=1,2,…,L-1とし、m=1,2,…,Mとし、Mは1以上L-1以下の何れかの整数とする。
【００３１】
認識結果修正部１０３において、直前の発話区間とのみ認識結果の類似度比較を行うのではなく、過去の発話区間すべて、または過去M個分の発話区間（認識結果）との類似度を算出する形態もある。この場合、直近にある発話区間の方が言い直しである可能性が高いことから比較対象との時間的距離に応じた重みを導入するのがよい。たとえば、DPマッチング等で算出した類似度のスコアをαi,mとし、発話区間同士の開始時刻のずれ(第一認識結果sriの発話開始時刻と第一認識結果sri+mの発話開始時刻との差分)をΔti+mとした場合、距離重みを考慮した類似度は、αi,m/Δtと定義するとよい。つまり、
αi,m=αi,m/Δti+m
として、類似度αi,mを更新する。また、Mは3,4個程度に設定するのがよい。あるいは、過去T秒以内の発話区間のように時間的な制約をかけてもよい。Tはたとえば5秒などにするとよい。
【００３２】
＜効果＞
このような構成とすることで、第一実施形態と同様の効果を得ることができる。さらに、言い直しが行われているか否かの判定範囲を広げることで、より精度の高い音声認識が可能となる。なお、M=1のとき、第一実施形態と同様の構成となるため、第一実施形態は第二実施形態の一例とも言える。
【００３３】
＜第三実施形態＞
第一実施形態と異なる部分を中心に説明する。
【００３４】
認識結果修正部１０３において、認識結果文字列の類似度を計算するが、文字列の表記での類似度ではなく、一度音素に変換し、音素系列の類似度を計算してもよい。なお、音声認識部１０２で音声認識処理を行う際に、音声データから音声認識結果(文字列)に変換する過程で、音素系列を取得するため、その音素系列を利用して類似度を計算してもよい。また、本実施形態では、音素系列の類似度を計算しているが、音声データの類似度を計算してもよいし、音声データから得られる特徴量(例えばMFCC(メル周波数ケプストラム係数)等)の類似度を計算してもよい。ただし、文字列や音素系列で類似度を計算したほうが類似度の精度は良い。
【００３５】
＜その他の変形例＞
本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。
【００３６】
＜プログラム及び記録媒体＞
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
【００３７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００３８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。
【００３９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００４０】
また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【図１】
0006526602.tif 000002
【図２】
0006526602.tif 000003
【図３】
0006526602.tif 000004
【図４】
0006526602.tif 000005
【図５】
0006526602.tif 000006