(57)【要約】【課題】    単語同士が共起可能か否かを判定して、判定結果を言語制約として使用することにより、発話自由度の高い音声認識装置を得ることを目的とする。【解決手段】    この発明に係る音声認識装置は、入力音声に対して音声認識処理を行い、複数の認識結果候補を出力する音声認識手段１３と、音声認識対象となる単語列を記憶する単語列記憶手段２０と、認識結果候補を構成する単語が音声認識対象となる単語列に含まれる数をカウントするカウント手段１５と、カウント手段におけるカウント数に基づいて複数の認識結果候補から認識結果を決定する認識結果決定手段１７と、を備える。【選択図】          図１
2011227127.tif 000002
【特許請求の範囲】
【請求項１】
入力音声に対して音声認識処理を行い、複数の認識結果候補を出力する音声認識手段と、
音声認識の比較対象となる単語列を記憶する単語列記憶手段と、
前記音声認識手段により出力された認識結果候補を構成する単語が前記音声認識の比較対象となる単語列に含まれる数をカウントするカウント手段と、
前記カウント手段におけるカウント数に基づいて前記前記音声認識手段により出力された複数の認識結果候補から認識結果を決定する認識結果決定手段と、
を備えたことを特徴とする音声認識装置。
【請求項２】
前記音声認識手段は、前記入力音声と前記認識結果候補との認識スコアを算出し、
前記認識結果決定手段は、前記カウント手段によるカウント数に基づいて前記認識スコアを補正し、前記補正を行った前記認識スコアに基づいて認識結果を出力すること、
を特徴とする請求項１記載の音声認識装置。
【請求項３】
前記単語列記憶手段は、前記音声認識の比較対象となる単語列とその単語列に対する識別情報を有するデータベースを記憶し、
前記音声認識の比較対象となる単語列を構成する複数の単語をそれぞれ索引語とし、前記索引語とした単語に、その索引語とした単語を含む単語列に対する前記識別情報を対応させた転置インデックスを記憶する転置インデックス記憶手段を備え、
前記カウント手段は、前記転置インデックスを参照して、前記認識結果候補を構成する単語が、前記音声認識の比較対象となる単語列に含まれる数をカウントすること、
を特徴とする請求項１または２のいずれかに記載の音声認識装置。
【請求項４】
前記音声認識の比較対象となる単語列を構成する単語と、その音声認識の比較対象となる単語列を構成する単語に対する分割コストを保持する分割コストメモリと、
前記認識結果候補を構成する単語またはサブワードを連結して連結語を作成し、前記分割コストメモリを参照して、前記連結語を複数の単語に分割して分割単語列を生成する語分割手段とを備え、
前記カウント手段は、前記分割単語列を構成する単語が、前記音声認識の比較対象となる単語列に含まれる数をカウントすること、
を備えたことを特徴とする請求項１〜３のいずれか１項に記載の音声認識装置。
【請求項５】
入力音声に対して音声認識処理を行い、認識結果候補を出力する音声認識ステップと、
前記音声認識ステップにおいて出力された認識結果候補を構成する単語が、音声認識の比較対象となる単語列に含まれる数をカウントするカウントステップと、
前記カウントステップにおいてカウントしたカウント数に基づいて前記認識結果候補から認識結果を決定する認識結果決定ステップと、
を備えたことを特徴とする音声認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、ユーザが発話した単語列を認識する音声認識装置および音声認識方法に関するものである。
【背景技術】
【０００２】
自動車等に搭載されるカーナビゲーション装置では、ルート案内を行う場合の目的地等の指定を、ユーザが住所を発話し、音声入力することができる音声認識装置を組込んだものが供されている。都道府県名、市区町村名、字名のような２以上の単語からなる単語列に対して音声認識を行う場合、通常、音声認識精度を向上させるため、単語間に制約を設けている。例えば、日本全国の住所を音声認識の比較対象とする場合、地名間の接続規則を記述しておき、その制約の元で音声認識を行うことが多い。すなわち、「神奈川県鎌倉市」の後には、住所として存在する「大船」は接続できるが、住所として存在しない「大船渡」は接続できないという接続規則を設ける。しかし、この場合、利用者は常に「神奈川県鎌倉市大船」のように県名から発話する必要があり、「鎌倉市大船」のように市名からの発話は認識できないという課題があった。また、都道府県名以外からの発話で認識可能なように地名間の接続規則を増やすと、接続規則が膨大になり、演算量やメモリ量が増大するという課題があった。この課題を解決する技術として、例えば、特許文献１には利用者の現在地を検出し、その現在地付近や有名な地名は、都道府県名以外からの発話でも認識可能となるよう接続規則を用意し、都道府県名からの発話でなくても、演算量やメモリを増大させることなく、下位階層からの認識を可能とする技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９７３３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の音声認識装置では、現在地付近以外では都道府県名からの発話しか認識できず、また、現在地付近の地名であっても「神奈川県大船」のように途中の市名「鎌倉市」を省略した発話は認識できないという課題がある。
【０００５】
この発明は、上述のような課題を解決するためになされたものであり、単語間の直接的な接続関係を規則とするのではなく、単語同士が共起可能か否かを判定して、判定結果を用いて言語制約として使用することにより、発話自由度の高い音声認識装置を得ることを目的とする。
【課題を解決するための手段】
【０００６】
この発明に係る音声認識装置は、入力音声に対して音声認識処理を行い、複数の認識結果候補を出力する音声認識手段と、音声認識の比較対象となる単語列を記憶する単語列記憶手段と、音声認識手段により出力された認識結果候補を構成する単語が音声認識の比較対象となる単語列に含まれる数をカウントするカウント手段と、カウント手段におけるカウント数に基づいて音声認識手段により出力された複数の認識結果候補から認識結果を決定する認識結果決定手段と、を備える。
【０００７】
また、この発明に係る音声認識方法は、入力音声に対して音声認識処理を行い、認識結果候補を出力する音声認識ステップと、音声認識ステップにおいて出力された認識結果候補を構成する単語が、音声認識の比較対象となる単語列に含まれる数をカウントするカウントステップと、カウントステップにおいてカウントしたカウント数に基づいて認識結果候補から認識結果を決定する認識結果決定ステップと、を備える。
【発明の効果】
【０００８】
この発明によれば、音声認識装置が認識可能となる発話の自由度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態１に示す音声認識装置を用いたカーナビゲーションシステムの構成を示すブロック図である。
【図２】本発明の実施の形態１に示す住所データベースの例を表す図である。
【図３】本発明の実施の形態１に示す転置インデックスの例を表す図である。
【図４】本発明の実施の形態１に示す中間認識結果の例を表す図である。
【図５】本発明の実施の形態１に示す共起判定手順のフローチャートである。
【図６】本発明の実施の形態１に示す並びかえを行った中間認識結果の例を表す図である。
【図７】本発明の実施の形態１に示す認識結果の決定手順のフローチャートである。
【図８】本発明の実施の形態２に示す音声認識装置を用いたカーナビゲーションシステムの構成を示すブロック図である。
【図９】本発明の実施の形態２に示す分割コスト辞書の例を表す図である。
【図１０】本発明の実施の形態２に示す中間認識結果の例を表す図である。
【図１１】本発明の実施の形態２に示す語分割処理のフローチャートである。
【図１２】本発明の実施の形態２に示す分割処理を行った中間認識結果の例を表す図である。
【図１３】本発明の実施の形態２に示す並びかえを行った中間認識結果の例を表す図である。
【発明を実施するための形態】
【００１０】
実施の形態１．
図１は、本発明の実施の形態１に係る音声認識措置を用いたカーナビゲーションシステムの構成を示すブロック図である。ここでは、番地号等の数字部分を除く日本全国の住所を認識対象として音声認識を行う場合を例にとり説明する。なお、ここでは都道府県名-市区町村名-字名からなる単語列を住所とし、都道府県名、市区町村名、字名の総称を地名として説明を行う。
【００１１】
図１において、音声入力手段１１はマイクを備え、ユーザの発話を集音し入力音声１２として出力する。音声認識手段１３は入力音声１２に対して音声認識処理を行い、中間認識結果１４を出力する。語共起判定手段１５は、中間認識結果１４を構成する地名が住所データベース中の各住所中にいくつ含まれるかをカウントするカウント手段を備え、カウント数に基づいてこれらの地名が互いに共起するかどうかを判定し、語共起判定結果１６を出力する。認識結果決定手段１７は、中間認識結果１４と語共起判定結果に基づいて認識結果２１を出力する。言語モデルメモリ１８には、言語モデルとして統計言語モデルを事前に作成して格納しておく。音響モデルメモリ１９には音声の特徴をモデル化した音響モデルを格納しておく。転置インデックスメモリ２０には、索引語となる単語を住所データベースおよび住所データベースに登録された住所中に出現する地名の音素列とした転置インデックスを作成し格納しておく。表示部２２はディスプレイを備え、認識結果２１等を表示する。また、図示しないが、日本全国の地図データを記憶する地図データベース、現在地から目的地までの経路案内を行うナビゲーション手段、衛星からの電波に基づいて現在位置を検出するＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等を備えている。
【００１２】
ここで、転置インデックスメモリ２０に格納される転置インデックスについて説明する。転置インデックスは、末端の地名まで考慮した日本全国の住所にＩＤ番号をふり、各住所中の地名の音素列と仮名漢字表記を保持する住所データベースから作成することができる。住所データベース中の住所の構成要素である地名の音素列を索引語として転置インデックスに登録し、各音素列に対応するＩＤ番号をそれぞれの音素列に登録することにより転置インデックスを作成する。
【００１３】
図２に住所データベースの例を示す。図２に示す住所データベースは、日本全国の住所を順にＩＤ番号をふり、各住所中の地名の音素列と仮名漢字表記を保持させている。なお、図２中で、[ ]で囲まれた部分は省略可能なことを意味している。すなわち、接尾辞（県、都、府、市、郡、区、町）は省略可能としている。まず、図２に示す住所データベース中のＩＤ番号０番から順に転置インデックスへの登録を行う。ＩＤ番号０番の住所の地名の音素列はhoQkaidoo, akaN[guN]であるので、転置インデックスの索引語となる音素列はhoQkaidoo, akaNguN, akaNの３個である。これらを索引語として登録し、登録した索引語それぞれに対して、住所データベースのＩＤ番号である０番を登録する。他のＩＤ番号の住所に対しても、同様の手順で転置インデックスに索引語とＩＤ番号を登録する。作成した転置インデックスの例を図３に示す。
【００１４】
言語モデルメモリ１８には、言語モデルとして統計言語モデルを事前に作成して格納しておく。ここでは、言語モデルを、地名を単位としたトライグラムとして説明する。また、学習データは日本全国の住所の単語列とする。このような言語モデルを用いることにより、「鎌倉市大船」等の市名からの発話の認識が日本全国の地名で可能となる。一方、本例のように地名を単位としたトライグラム言語のみでは、言語制約が十分ではなく、「香川県鎌倉市」のように実在しない住所が認識結果として出力される場合もある。
【００１５】
音響モデルメモリ１９には音声の特徴をモデル化した音響モデルを格納しておく。ここで、音声の特徴とは、認識対象の音素がそれぞれどのような周波数特性を持っているかを表したものであり、ここでは音響モデルとして、例えば、ＨＭＭ(Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ)を用いる。
【００１６】
次に、動作について説明する。まず、運転手等の発話者が、目的地となる住所を発話し、音声入力手段１１から入力音声１２が出力される。入力音声１２が音声認識手段１３に入力されると、音声認識手段１３は言語モデルメモリ１８に保存されている言語モデルと、音響モデルメモリ１９に保存されている音響モデルを用いて音声認識を行う。音声認識処理は、例えば、ビタビアルゴリズムを用いて行い、入力音声に対する各住所の認識スコアを算出し、認識スコアの大きい順に上位Ｋ個の中間認識結果１４を出力する。図４に、発話を「岡山県浅川（おかやまけんあさかわ）」、認識結果の個数Ｋ＝２とした場合の中間認識結果の例を示す。ここで、中間認識結果１４は認識結果の単語列（Ｗ１,Ｗ2,...ＷＫ）および認識スコア（Ｓ１,Ｓ2,...ＳＫ）から構成される。図４に示す場合では、Ｗ１=「wakayamakeN」「asakawa」、Ｗ２=「okayamakeN」「asakawa」であり、認識スコアＳ１＝７２、Ｓ２＝７１である。図４では、周囲雑音等の影響により、誤認識である「wakayamakeN」「asakawa」が認識順位１位（認識スコア最大）となっており、正解である「okayamakeN」「asakawa」は認識順位２位となっている。
【００１７】
実際には存在しない住所である「wakayamakeN」「asakawa」ではなく、「okayamakeN」「asakawa」を認識結果とする必要がある。そこで、中間認識結果１４として出力された単語列に対して、語共起判定を行い正しい認識結果を出力させる。ここで、共起するとは、任意の文書や文において、ある文字列とある文字列が同時に出現することをいい、ここでは、判定対象となるすべての地名が、住所データベースに登録された一つの住所の中に含まれることをいう。
【００１８】
次に、共起判定手順について、図５に示すフローチャートを参照して説明する。なお、中間認識結果の単語列Ｗ１を構成する各単語をw1,w2,…,wNとする。例えば、Ｗ１=「kanagawaken」「kamakurasi」「oohuna」とした場合、w1=「kanagawaken」,w2=「kamakurasi」,w3=「oohuna」となる。
手順１）  中間認識結果１４の単語列w1,w2,…,wNを語共起判定手段１５に入力する（ステップｓｔ１０１）。ここで、Ｎは単語列中の単語の数である。例えば、図４に示す中間認識結果の認識順位１位の単語列は、w1=wakayamakeN, w2=asakawaであり、Ｎ＝２である。
手順２）  図２の住所データベースに示した各住所のそれぞれに対し、カウント数を保持する領域を確保し、カウント数を０に初期化する（ステップｓｔ１０２）。
手順３）  中間認識結果の単語列中の単語を識別するための番号をｎとし、ｎの値として１をセットする（ステップｓｔ１０３)。
【００１９】
手順４）  転置インデックスメモリ２０に格納した転置インデックスを参照して、単語wnを含む住所のカウント数に１を加える（ステップｓｔ１０４）。本例ではｎ＝１のときは、図３の転置インデックスからw1=wakayamakeNが索引語の項目を参照する。図３の転置インデックスにおいて、索引語wakayamakeNに対応する住所ＩＤ番号は「250000,…」であるため、図２のＩＤ番号「250000,…」に対応するカウント数保持領域に設けたカウント数に１を加える。同様に、ｎ＝２のときは、w2=asakawaが索引語の項目を参照し、住所ＩＤ番号「200000,…」にカウント数１を加える。
【００２０】
手順５）  番号ｎが単語列中の単語数Ｎと等しいか否かを判断する（ステップｓｔ１０５）。そして、ｎがＮより小さい場合は、ｎに１を加え(ステップｓｔ１０６)、手順４に戻る。一方、ｎとＮが等しい場合、すなわち、中間認識結果の単語列のすべての単語に対してカウントが終了した場合には、下記手順６に進む。
【００２１】
手順６）  各住所のカウント数と、入力音声１２の単語数Ｎを比較する（ステップｓｔ１０７）。そして、いずれかの住所のカウント数が語数Ｎに等しい場合には、カウント数がＮに等しい住所中で、入力語列w1=wakayamakeN, w2=asakawaが共起すると判定する（ステップｓｔ１０８）。
一方、いずれの住所のカウント数も単語数Ｎ未満の場合は、入力音声１２中の語の全てが共起する住所はないと判定する。本例では住所のカウント数が２のものがないためw1,w2が共起しないと判定する（ステップｓｔ１０９）。
【００２２】
これらの共起判定手順をＫ個の中間認識結果１４の語列のそれぞれに対して行う。本例ではｋ＝２（中間認識結果２位）の語列であるw1=okayamakeN,w2=asakawaに対して、手順で共起判定を行うと、ＩＤ番号200000の文書でカウント数が２となるため、この語列が共起すると判定する。語共起判定手段１５は、上記判定結果に基づき、Ｋ個の中間認識結果１４の語列に対し、共起する場合は１、共起しない場合には０を語共起判定結果１６として出力する。
【００２３】
次に認識結果決定手段１７は、Ｋ(ここでは２)個の中間認識結果１４、および語共起判定結果１６を入力として、中間認識結果１４のうちから認識結果２１を決定し、出力する。認識結果決定手段１７における、認識結果２１の決定手順を図７のフローチャートを用いて説明する。
【００２４】
手順１）  Ｋ(＝２)個の中間認識結果１４、および語共起判定結果１６を認識結果決定手段１７に入力する。（ステップｓｔ２０１）
手順２）  中間認識結果１４を識別するための番号をｋとし、ｋの値として１をセットする。（ステップｓｔ２０２）
手順３）  ｋ番目の中間認識結果の共起判定結果が１か０かを調べる（ステップｓｔ２０３）。そして、ｋ番目の中間認識結果の共起判定結果が１の場合は、ｋ番目の中間認識結果に対する新しい認識スコアＳ'ｋを（１）式によって算出する。すなわち、この新しい認識スコアＳ'ｋは元の認識スコアと等しい値とする（ステップｓｔ２０４）。
Ｓ'ｋ=Ｓｋ                      （１）                                    
例えば、図４に示す中間認識結果例では、認識順位２位の語列Ｗ２＝「okayamakeN」「asakawa」は、共起判定結果が１であるため、認識スコアＳｋ=７１を新しい認識スコアにそのまま登録する。
一方、ｋ番目の中間認識結果の共起判定結果が０の場合は、ｋ番目の中間認識結果に対する新しい認識スコアＳ'kを（２）式によって算出する（ステップｓｔ２０５）。（２）式中でＣは、認識結果に与えるペナルティであり、実験的に定める０より大きい定数である。ここでは、Ｃ＝１０とする。
Ｓ'ｋ＝Ｓｋ−Ｃ                  （２）
例えば、図４に示す中間認識結果の例では、認識順位１位の語列Ｗ１＝「wakayamakeN」「asakawa」は、共起判定結果が０であるため、認識スコアＳｋ=７２からペナルティＣ＝１０を引いた値６２を新しい認識スコアとする。
【００２５】
手順４）  番号ｋが語列中の中間認識結果数Ｋと等しいか否かを判断する（ステップｓｔ２０６）。そして、ｋがＫより小さい場合は、ｋに１を加え(ステップｓｔ２０７)、手順３に戻る。一方、ｋとＫが等しい場合は、下記手順５に進む。
手順５）  この手順５に至った時点で、Ｋ個の中間認識結果に対して全て新しいスコアＳ'ｋが算出されているので、このＳ'ｋの大きい順に中間認識結果を並べかえる(ステップｓｔ２０８)。並べかえた結果の例を図６に示す。図６では、正解である「okayamakeN」「asakawa」が認識順位の１位になっていることが判る。
【００２６】
そして、Ｓ'ｋの大きい順に上位Ｍ個を認識結果２１として出力する。ここで、ＭはＫ以下の正の整数であり、例えばＭ＝１である。出力された認識結果は、表示部２２に表示される。ここで、Ｍを２以上とし、認識スコアＳ'ｋの大きい順に上位Ｍ個を表示部に表示させユーザに操作ボタン等により、目的地を選択させる構成としてもよい。
【００２７】
以上のように、本発明の実施の形態１に係る音声認識装置では、語共起判定手段５によって、中間認識結果１４の単語列が共起するか否かを判定し、共起しない場合には認識結果決定手段１７によってペナルティを付加して中間認識結果１４を並べかえるので、発話の自由度を確保しつつ、共起不可能な不自然な語列による誤認識を抑制する効果を有する。
【００２８】
なお、ここでは住所を例にとり説明したが、例えば、住所と施設の組み合わせ等、語の共起関係に制約がある全ての単語列に対しても同様の効果が得られる。また、ここでは、番地号等の数字部分を除く住所を認識する場合について述べたが、番地号等を含めて共起判定を行う構成としても良い。さらに、ここでは、認識スコアを用いて補正後の認識スコアが最も高くなる認識候補を認識結果として出力する場合について示したが、共起判定部で共起しないと判定された場合には、認識候補から削除するような構成としても良い。また、カウント数が語数Ｎに一致しない場合には一律にペナルティの数値を決定する場合についても示したが、カウント数に応じてペナルティの数値を変更させるような構成としても良い。すなわち、カウント数が多い認識候補にはペナルティの数値を小さくし、カウント数が少ない認識候補にはペナルティの数値を大きくしてもよい。
【００２９】
実施の形態２．
実施の形態１では、音声認識処理に用いられる言語モデルを、単語を単位とした音声認識装置について示したが、実施の形態２では、言語モデルの単位として単語およびサブワードを用いた場合について示す。本実施の形態では、実施の形態１で示す場合と同様に、番地号等の数字部分を除く日本全国の住所を認識対象として音声認識を行う場合を例にとり説明する。また、音声認識を行う単語は、実施の形態１と同様に住所を構成する各地名とする。
【００３０】
図８は、この発明の実施の形態２による音声認識装置を用いたカーナビゲーションシステムの構成を示すブロック図である。図８において、図１に示すカーナビゲーションシステムと同一の符号は、同一または相当の部分を表している。語分割手段２３は分割コスト辞書を参照して後述する連結語を分割し、分割コスト辞書メモリ２４は分割コスト辞書を格納する。
【００３１】
また、言語モデルメモリ１８に格納される言語モデルの単位が実施の形態１の場合と異なる。すなわち、言語モデルの単位は一般には単語が適切であるが、全て単語として登録すると、語彙数が非常に多くなる場合が多い。住所を音声認識する場合の単位となる地名についてもその語彙数は非常に多く、１０万語規模になるため、例えば、都道府県名と市町村名に対しては単語とするが、残りの地名は、出現頻度の高いＮ個の音節をサブワードとして用意しておき、サブワードを組み合わせることにより表現する。ここで、サブワードとは、長さが単語以下の任意の単位であって、音素、音節もしくはこれらの連鎖からなる単位である。また、ここではＮを５０００とする。例えば、地名「大船（おおふな）」はサブワード「おー」とサブワード「ふな」の連鎖で表現する。このように言語モデルを構成することにより、認識時のメモリ量と演算量を低減することができる。なお、サブワードの組み合わせで表現できない地名については単語として用意しておく。
【００３２】
図９に、分割コストメモリ２３に格納される分割コスト辞書の例を示す。分割コスト辞書メモリ２３には、図９に示すとおり、全地名、およびそれらの接尾辞(県、都、府、市、郡、区、町)を省略したものの音素表記を、分割コストとともに保持する。分割コストは接尾辞を省略しない地名を優先して抽出できるようにするため、省略した地名より小さな値を割り当てる。また、住所の上位階層を優先して抽出できるようにするため、上位階層ほど小さな値を割り当てる。例えば、「keN」を省略した「kanagawa」はその分割コストを１．５とするが、「keN」を省略しない「kanagawakeN」はその分割コストを１．０とする。また、上位階層である都道府県名「kanagawakeN」はその分割コストを１．０とするが、県名より下位階層である市町村名「kamakurasi」の分割コストは１．１とする。このようにコストを付与することによって分割の曖昧性に起因する誤りを抑えることができる。
【００３３】
次に、音声認識装置の動作について説明する。音声入力部１１から入力音声１２を入力されると、音声認識手段１３は言語モデルメモリ１８に保存されている言語モデルと音響モデルメモリ１９に保存されている音響モデルを用いて、例えばビタビアルゴリズムによって音声認識を行い、認識スコアの大きい順に上位Ｋ個の中間認識結果１４を出力する。中間認識結果１４は認識結果の単語列Ｗｋおよび認識スコアＳｋから構成される。ここでk=1,2,…,Kである。本例では、発話が「鎌倉市大船（かまくらしおおふな）」であり、認識結果の個数Ｋ=２とした時の認識結果を図１０に示す。本例では周囲雑音等の影響により、語認識である「kamakurasi」「oohunato」が、正解である「kamakurasi」「oo」「huna」より認識順位が高くなっている。
【００３４】
次に語分割手段２３は、中間認識結果１４の単語列の各々を入力とし、各単語列に対して分割を行う。すなわち、本例では、語列「kamakurasi」「oohunato」と、「kamakurasi」「oo」「huna」の各々に対してまず単語列を連結して連結語を作成し、連結語に対して分割を行う。
【００３５】
以下に、語分割手段２３の具体的な処理手順を図１１のフローチャートを用いて説明する。
手順１）  Ｋ個の中間認識結果１４を入力する。（ステップｓｔ３０１）
手順２）  中間認識結果１４を識別するための番号をｋとし、ｋの値として１をセットする（ステップｓｔ３０２）。
手順３）  ｋ番目の中間認識結果の語列を連結して連結語を作成する（ステップｓｔ３０３）。本例ではｋ＝１の場合の単語列は「kamakurasi」「oohunato」なので連結語は「kamakurasioohunato」になる。ｋ＝２の場合の語列は「kamakurasi」「oo」「huna」なので連結語は「kamakurasioohuna」になる。
【００３６】
手順４）  手順３で作成したｋ番目の中間認識結果の連結語に対し、分割コスト辞書１３を参照して、分割後の単語のコストの和が最小になるように連結語を分割し、分割結果５して出力する（ステップｓｔ３０４）。この分割は、例えば、ＤＰマッチングを用いることによって効率的に実現できる。本例ではｋ＝１の場合の連結語は「kamakurasioohunato」であり、図９に示した分割コスト辞書によって分割コスト２．７で、図１２の認識順位１位の行に示したように「kamakurasi」「oohunato」に分割できる。また、ｋ＝２の場合の連結語は「kamakurasioohuna」であり、図９に示した分割コスト辞書によって分割コスト２．３で、図１２の認識順位２位の行に示したように「kamakurasi」「oohuna」に分割できる。
【００３７】
手順５）  番号ｋが語列中の中間認識結果数Ｋと等しいか否かを判断する（ステップｓｔ３０５）。ｋがＫより小さい場合は、ｋに１を加え(ステップｓｔ３０６)、手順３に戻る。一方、ｋとＫが等しい場合は、語分割手段２３処理を終了し、分割結果１４ｂを出力する。
以上が語分割手段２３の処理内容である。
【００３８】
次に、語共起判定手段１５は、分割結果１４ｂを入力とし、実施の形態１と同様に語共起判定結果１６を出力する。本例では１番目の中間認識結果の語列の分割結果「kamakurasi」「oohunato」に対しては共起しないことを意味する０を出力する。また２番目の中間認識結果の語列の分割結果「kamakurasi」「oohuna」に対しては共起することを意味する１を出力する。
【００３９】
次に認識結果決定手段は、Ｋ個の中間認識結果１４、分割結果１４ｂ、語共起判定結果６を入力として、認識結果２１を決定し出力する。認識結果の決定方法は実施の形態１と同様である。すなわち、k番目の中間結果に対する共起判定結果１６が１の場合は、新しいスコアＳ'ｋは認識スコアＳｋと等しい値を与える。一方、共起判定結果１６が０の場合は、新しいスコアＳ'ｋは認識スコアＳｋから（２）式のとおり、正のペナルティ値を差し引く。
【００４０】
そして、Ｓ'ｋの大きい順に中間認識結果を並べかえ、Ｓ'ｋの大きい順に上位Ｍ個を認識結果２１として出力し、表示部２２に認識結果２１を表示させる。ここでＭはＫ以下の正の整数であり、例えばＭ＝１である。本例では、１番目の中間結果の分割結果「kamakurasi」「oohunato」に対する共起判定結果１６は０なので、新しいスコアはペナルティ(Ｃ＝１０)を差し引いたものになる。一方２番目の中間結果の分割結果「kamakurasi」「oohuna」に対する共起判定結果１６は１なので、新しいスコアは認識スコアと等しい値を与える。新しいスコアの大きい順に並べかえた結果を図１３に示す。正しい結果「kamakurasi」「oohuna」が認識順位１位になっていることが判る。
【００４１】
以上のように、本発明に係わる音声認識装置では、中間認識結果１４の時点ではサブワード列であっても語分割手段２３によって語の連鎖に再構成したので、語共起判定手段によって語の共起判定が可能になるという効果が得られる。また、語共起判定手段５によって、中間認識結果の語列が共起するか否かを判定し、共起しない場合には認識結果決定手段７によってペナルティを付加して中間認識結果を並べかえるので、発話の自由度を確保しつつ、共起不可能な不自然な単語列による誤認識を抑制する効果を有する。
【００４２】
なお、ここでは住所を例にとり説明したが、例えば、住所と施設の組み合わせ等、語の共起関係に制約がある全ての単語列に対しても同様の効果が得られる。また、ここでは、番地号等の数字部分を除く住所を認識する場合について述べたが、番地号等を含めて共起判定を行う構成としても良い。さらに、ここでは、認識スコアを用いて補正後の認識スコアが最も高くなる認識候補を認識結果として出力する場合について示したが、共起判定部で共起しないと判定された場合には、認識候補から削除するような構成としても良い。また、カウント数が語数Ｎに一致しない場合には一律にペナルティの数値を決定する場合についても示したが、カウント数に応じてペナルティの数値を変更させるような構成としても良い。すなわち、カウント数が多い認識候補にはペナルティの数値を小さくし、カウント数が少ない認識候補にはペナルティの数値を大きくしてもよい。
【符号の説明】
【００４３】
１１  音声入力手段、１２  入力音声、１３  音声認識手段、１４  中間認識結果、１４ｂ  分割結果、１５  語共起判定手段、１６  語共起判定結果、１７  認識結果決定手段、１８  言語モデルメモリ、１９  音響モデルメモリ、２０  転置インデックスメモリ、２１  認識結果、２２  表示部、２３  語分割手段、２４  分割コスト辞書メモリ
【図１】
2011227127.tif 000003
【図２】
2011227127.tif 000004
【図３】
2011227127.tif 000005
【図４】
2011227127.tif 000006
【図５】
2011227127.tif 000007
【図６】
2011227127.tif 000008
【図７】
2011227127.tif 000009
【図８】
2011227127.tif 000010
【図９】
2011227127.tif 000011
【図１０】
2011227127.tif 000012
【図１１】
2011227127.tif 000013
【図１２】
2011227127.tif 000014
【図１３】
2011227127.tif 000015