(57)【要約】【課題】削除誤りを少なくし、音声認識率を向上させることができるようにする【解決課題】図１６Ｃに示されるように、単語「は」と単語「＜ＯＯＶ＞」の境界に対応する部分において、音節「ハ」を含まないパス９１、並びに、音節「ハ」を含むパス９２およびパス９３が生成され、単語「＜ＯＯＶ＞」と単語「です」の境界に対応する部分において、音節「ワ」を含まないパス１０１、並びに、音節「ワ」を含むパス１０２およびパス１０３が生成され、単語と音節とのネットワークが生成される。これにより、入力音声に対して最適なネットワーク上のサブワード系列を選択することができる。本発明は、音声認識装置に適用することができる。【選択図】      図１６
2004170765.tif 000002
【特許請求の範囲】
【請求項１】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置であって、
連続する前記入力音声を認識する認識手段と、
前記認識手段により認識された認識結果に、未知語が含まれているか否かを判定する未知語判定手段と、
前記未知語判定手段において前記認識結果に前記未知語が含まれていると判定された場合、前記未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成手段と、
前記未知語判定手段により、前記未知語が含まれていると判定された場合、前記未知語に対応する単語を獲得する獲得手段と、
前記獲得手段により獲得された前記単語を他の情報に関連付けて登録する登録手段と
を備えることを特徴とする音声処理装置。
【請求項２】
前記認識結果が特定のパターンにマッチするか否かを判定するパターン判定手段をさらに備え、
前記登録手段は、前記パターン判定手段により、前記認識結果が特定のパターンにマッチしていると判定された場合、前記単語を登録する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記未知語判定手段により、前記未知語が含まれていないと判定された場合、または、前記パターン判定手段により、前記認識結果が特定のパターンにマッチしていないと判定された場合、前記入力音声に対応する応答を生成する応答生成手段をさらに備える
ことを特徴とする請求項２に記載の音声処理装置。
【請求項４】
前記登録手段は、前記他の情報として、カテゴリに関連付けて前記単語を登録する
ことを特徴とする請求項２に記載の音声処理装置。
【請求項５】
前記登録手段は、前記パターン判定手段によりマッチすると判定された前記パターンに関連付けて、前記他の情報を登録する
ことを特徴とする請求項２に記載の音声処理装置。
【請求項６】
前記獲得手段は、前記未知語をクラスタリングすることで前記単語を獲得する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項７】
前記ネットワーク生成手段により生成された前記ネットワークは、前記単語と音節とのネットワークである
ことを特徴とする請求項１に記載の音声処理装置。
【請求項８】
前記入力音声と前記ネットワークとのマッチングに基づいて、前記ネットワーク上のスコアの高いパスを選択する選択手段と、
前記選択手段により選択された前記パスを含む前記ネットワークに基づいて、前記未知語に対応する発音を取得する発音取得手段と
をさらに備えることを特徴とする請求項７に記載の音声処理装置。
【請求項９】
前記入力音声の所定の区間について、既知語でマッチングさせた場合と音節タイプライタで認識させた場合の音響スコアを比較する比較手段をさらに備え、
前記比較手段は、前記音節タイプライタで認識させた前記音響スコアの方が優れている場合、その区間を未知語であると推定する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項１０】
前記比較手段は、前記既知語でマッチングさせた場合の音響スコアに対して、前記音節タイプライタで認識させた場合の音響スコアに補正をかけた上で比較を行う
ことを特徴とする請求項９に記載の音声処理装置。
【請求項１１】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置の音声処理方法において、
連続する前記入力音声を認識する認識ステップと、
前記認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、
前記判定ステップの処理において前記認識結果に前記未知語が含まれていると判定された場合、前記未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、
前記判定ステップの処理により、前記未知語が含まれていると判定された場合、前記未知語に対応する単語を獲得する獲得ステップと、
前記獲得ステップの処理により獲得された前記単語を他の情報に関連付けて登録する登録ステップと
を含むことを特徴とする音声処理方法。
【請求項１２】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置のプログラムであって、
連続する前記入力音声を認識する認識ステップと、
前記認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、
前記判定ステップの処理において前記認識結果に前記未知語が含まれていると判定された場合、前記未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、
前記判定ステップの処理により、前記未知語が含まれていると判定された場合、前記未知語に対応する単語を獲得する獲得ステップと、
前記獲得ステップの処理により獲得された前記単語を他の情報に関連付けて登録する登録ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項１３】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置のプログラムであって、
連続する前記入力音声を認識する認識ステップと、
前記認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、
前記判定ステップの処理において前記認識結果に前記未知語が含まれていると判定された場合、前記未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、
前記判定ステップの処理により、前記未知語が含まれていると判定された場合、前記未知語に対応する単語を獲得する獲得ステップと、
前記獲得ステップの処理により獲得された前記単語を他の情報に関連付けて登録する登録ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声処理装置および音声処理方法、記録媒体並びにプログラムに関し、特に、連続して入力される音声信号を音声認識している最中に、その入力音声信号に含まれる未知語を抽出し、簡単に登録することができるようにした音声処理装置および音声処理方法、並びにプログラムおよび記録媒体に関する。
【０００２】
【従来の技術】
新規語彙を獲得する機能をもつ連続音声認識システムにおいて新規語彙を獲得するためには、音声中の未知語部分を推定することと、未知語部分に発音を付与することが必要である。
【０００３】
音声中の未知語部分を推定するためには、音声に対して音韻や音節など単語より短い単位（サブワード）で音声認識を行い、音声に音節の系列を付与し（つまり、読み仮名を振り）ながら、各音節のスコアを求め、このスコアに適切なペナルティーを付与することにより未知語（ＯＯＶ：Ｏｕｔ  Ｏｆ  Ｖｏｃａｂｕｌａｒｙ）のスコアを推定する。単語音声認識を行う場合、通常の単語候補以外は未知語である可能性を考慮して、通常の単語候補以外に対しては上記のように求めたスコアを用いる。これにより、発声された音声中に未知語がある場合、未知語のスコアが正解単語のスコアより悪く、不正解単語のスコアより良いと推定されれば、未知語部分が未知語であると認識される。次に、未知語部分に発音を付与するためには、未知語部分の音節タイプライタにおける時刻情報に基づいて、上述したサブワード系列（例えば、音節系列）を参照する。これにより、未知語に付与される音節列も推定することができる（例えば、非特許文献１、非特許文献２、および非特許文献３参照）。
【０００４】
しかし、音節のサーチの場合、音節単位のスコアは得られるが、単語の境界がその音節単位と必ずしも一致するとは限らない。図１を参照して、単語列の境界とサブワード系列の境界の不一致について説明する。
【０００５】
単語列のサーチの結果得られる単語列の単語境界の時刻と、サブワード系列のサーチの結果得られるサブワード系列の時間的境界は必ずしも一致するとは限らない。例えば、図１に示されるように、単語音声認識による認識結果が、ｗｏｒｄ１  ＜ＯＯＶ＞  ｗｏｒｄ２であるとき、＜ＯＯＶ＞と周辺単語の境界では、単語列の境界とサブワード系列（Ｓｙｌ１乃至Ｓｙｌ８）の境界の不一致が発生することがある。なお、＜ＯＯＶ＞は未知語を表すシンボルである。図１の例では、＜ＯＯＶ＞の時間的に前の境界はＳｙｌ４の途中に対応し、時間的に後の境界はＳｙｌ７の途中に対応している。これにより、不一致が発生している境界のサブワードであるＳｙｌ４とＳｙｌ７は、＜ＯＯＶ＞に含まれたり、含まれなかったりする。従って、＜ＯＯＶ＞の発音を取得するためには、サブワードの境界を決定しなければならない。
【０００６】
サブワードの境界を決定する方法として、サブワード系列によりその境界を決定する方法が知られている。その方法、すなわち、サブワード系列による＜ＯＯＶ＞発音取得方法について、図２を参照して以下に説明する。
【０００７】
サブワード系列による＜ＯＯＶ＞発音取得方法は、通常の音声認識と、音節タイプライタによる認識が終了した時点で、＜ＯＯＶ＞の両端の音節タイプライタ時刻を含む音節に対して、各音節の継続時間の５０％以上が＜ＯＯＶ＞の区間に含まれた場合、その音節を＜ＯＯＶ＞の一部とする方法である。
【０００８】
例えば、図２に示されるように、認識された単語列の一部が、単語１、＜ＯＯＶ＞、単語２という配列であったとする。また、音節タイプライタによるサブワード系列の一部が、音節ｉ、音節ｊ、音節ｋという配列であったとする。この場合、Ｌ１（音節ｉの単語１側に対応する部分の長さ（時間））＞Ｌ２（音節ｉの＜ＯＯＶ＞側に対応する部分の長さ（時間））であるので、音節ｉは＜ＯＯＶ＞に含まれないと判定される。これに対して、Ｌ３（音節ｋの＜ＯＯＶ＞側に対応する部分の長さ（時間））＞Ｌ４（音節ｋの単語２側に対応する部分の長さ（時間））であるので、音節ｋは＜ＯＯＶ＞に含まれると判定される。
【０００９】
図３と図４は、図２のサブワード系列による＜ＯＯＶ＞発音取得方法を用いた実験結果を示す。
【００１０】
例えば、図２のサブワード系列による＜ＯＯＶ＞発音取得方法を、１２名（男女各６名）の旅行ドメイン（ホテルのチェックインやレストランでの注文など）の７５２種類の発話について実験した。図３に示されるように、特徴量、音響モデル、および言語モデルについて条件を設定した。特徴量は、１６ｂｉｔ，１６ＫＨｚのサンプリング、１０ｍｓｅｃのフレーム周期、２５ｍｓｅｃのフレーム長、並びに１２次のＭＦＣＣ（Ｍｅｌ  Ｆｒｅｑｕｅｎｃｙ  Ｃｅｐｓｔｒｕｍ  Ｃｏｆｆｉｃｉｅｎｔｓ）（メル周波数ケプトラム）、および０次乃至１２次までのＭＦＣＣの１次回帰係数（２５次元）に設定されている。音響モデルは、１６ｍｉｘｔｕｒｅ，１０００ｔｉｅｄ−ｓｔａｔｅのＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）とされ、言語モデルは、サブワードトライグラム、Ｃｕｔ−ｏｆｆ  ｔｒｉｇｒａｍ５，ｂｉｇｒａｍ５とされている。なお、この例においては、３１４種類の音節および音節連鎖をサブワードとして用いた。言語モデルは、日経新聞６年分のコーパスで学習した音韻のトライグラムを用いた。
【００１１】
図４は、図２のサブワード系列による＜ＯＯＶ＞発音取得方法を適用した場合のサブワード系列の、認識精度、置換誤り、削除誤り、および挿入誤りの性能を示しており、それぞれの値は、百分率で表されている。ここで、置換誤りとは、本来の音節とは異なる音節に置換する誤りであり、削除誤りとは、本来認識されるべき音節が認識されない誤り（デリーションエラー）であり、挿入誤りとは、本来認識されるべきではない音節が認識結果に現れる誤り（インサーションエラー）である。なお、認識精度Ａｃｃは、総音節数Ｎ、正解数Ｎ＿Ｃ、挿入誤りの数Ｎ＿Ｉにより、式（１）から求められる。
Ａｃｃ＝（Ｎ＿Ｃ−Ｎ＿Ｉ）／Ｎ・・・・・・・・式（１）
【００１２】
図４に示されるように、図２のサブワード系列による＜ＯＯＶ＞発音取得方法による認識精度は、４０．２％であり、削除誤りと挿入誤りの発生率は、ぞれぞれ、３３．３％と４．１％であった。
【００１３】
【非特許文献１】
Ｉｓｓａｍ  Ｂａｚｚｉ  ａｎｄ  Ｊａｍｅｓ  Ｒ．  Ｇｌａｓｓ著「Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  Ｓｐｏｋｅｎ  Ｌａｎｇｕａｇｅ  Ｐｒｏｃｅｓｓｉｎｇ（ＩＣＳＬＰ）  ２０００」、２０００年１０月発行、ｐ．４３３−４３６
【非特許文献２】
甲斐  充彦ａｎｄ中川  聖一、冗長後・言い直し等を含む発話のための未知語処理を用いた音声認識システムの比較評価、電子情報通信学会論文誌、１９９７年１０月発行、Ｊ８０−Ｄ−ＩＩ、ｐ．２６１５−２６２５
【非特許文献３】
小窪  浩明、大西  茂彦、山本  博史、ａｎｄ菊井  玄一郎、サブワードモデルを用いた未登録語認識の効率的探索手法、情報処理学会論文誌、２００２年７月発行、Ｖｏｌ．４３、Ｎｏ．７、ｐ．２０８２−２０９０
【００１４】
【発明が解決しようとする課題】
しかしながら、図２のサブワード系列による＜ＯＯＶ＞発音取得方法では、連続単語認識を行う場合、音節の境界を考慮しながら単語認識を行わなければならない。また、例えば、図４に示されるように、認識精度が４０．２％とそれほど高くなく、一方、削除誤りの発生率が３３．３％と高ことから、ユーザは、その連続音声認識システムが搭載されたロボットを賢くないように感じる傾向がある。さらに、例えば、図４に示されるように、削除誤りの発生率が３３．３％であるのに対して、挿入誤りの発生率は４．１％であり、両者の発生バランスが悪かった。
【００１５】
本発明はこのような状況に鑑みてなされたものであり、音声認識の認識率を向上させることができるようにするとともに、削除誤りと挿入誤りの発生をバランスさせることを目的とする。
【００１６】
【課題を解決するための手段】
本発明の音声処理装置は、連続する入力音声を認識する認識手段と、認識手段により認識された認識結果に、未知語が含まれているか否かを判定する未知語判定手段と、未知語判定手段において認識結果に未知語が含まれていると判定された場合、未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成手段と、未知語判定手段により、未知語が含まれていると判定された場合、未知語に対応する単語を獲得する獲得手段と、獲得手段により獲得された単語を他の情報に関連付けて登録する登録手段とを備えることを特徴とする。
【００１７】
この音声処理装置は、認識結果が特定のパターンにマッチするか否かを判定するパターン判定手段をさらに備え、登録手段は、パターン判定手段により、認識結果が特定のパターンにマッチしていると判定された場合、単語を登録するようにすることができる。
【００１８】
この音声処理装置は、未知語判定手段により、未知語が含まれていないと判定された場合、または、パターン判定手段により、認識結果が特定のパターンにマッチしていないと判定された場合、入力音声に対応する応答を生成する応答生成手段をさらに備えるようにすることができる。
【００１９】
登録手段は、他の情報として、カテゴリに関連付けて単語を登録するようにすることができる
【００２０】
登録手段は、パターン判定手段によりマッチすると判定されたパターンに関連付けて、他の情報を登録するようにすることができる。
【００２１】
獲得手段は、未知語をクラスタリングすることで単語を獲得するようにすることができる。
【００２２】
ネットワーク生成手段により生成されたネットワークは、単語と音節とのネットワークであるようにすることができる。
【００２３】
この音声処理装置は、入力音声とネットワークとのマッチングに基づいて、ネットワーク上のスコアの高いパスを選択する選択手段と、選択手段により選択されたパスを含むネットワークに基づいて、未知語に対応する発音を取得する発音取得手段とをさらに備えるようにすることができる。
【００２４】
この音声処理装置は、入力音声の所定の区間について、既知語でマッチングさせた場合と音節タイプライタで認識させた場合の音響スコアを比較する比較手段をさらに備え、比較手段は、音節タイプライタで認識させた音響スコアの方が優れている場合、その区間を未知語であると推定するようにすることができる。
【００２５】
比較手段は、既知語でマッチングさせた場合の音響スコアに対して、音節タイプライタで認識させた場合の音響スコアに補正をかけた上で比較を行うようにすることができる。
【００２６】
本発明の音声処理方法は、連続する入力音声を認識する認識ステップと、認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、判定ステップの処理において認識結果に未知語が含まれていると判定された場合、未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、判定ステップの処理により、未知語が含まれていると判定された場合、未知語に対応する単語を獲得する獲得ステップと、獲得ステップの処理により獲得された単語を他の情報に関連付けて登録する登録ステップとを含むことを特徴とする。
【００２７】
本発明の記録媒体のプログラムは、連続する入力音声を認識する認識ステップと、認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、判定ステップの処理において認識結果に未知語が含まれていると判定された場合、未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、判定ステップの処理により、未知語が含まれていると判定された場合、未知語に対応する単語を獲得する獲得ステップと、獲得ステップの処理により獲得された単語を他の情報に関連付けて登録する登録ステップとを含むことを特徴とする。
【００２８】
本発明のプログラムは、連続する入力音声を認識する認識ステップと、認識ステップの処理により認識された認識結果に、未知語が含まれているか否かを判定する判定ステップと、判定ステップの処理において認識結果に未知語が含まれていると判定された場合、未知語の単語境界に対応する時刻のサブワードを含むパスと、そのサブワードを含まないパスを有するネットワークを生成するネットワーク生成ステップと、判定ステップの処理により、未知語が含まれていると判定された場合、未知語に対応する単語を獲得する獲得ステップと、獲得ステップの処理により獲得された単語を他の情報に関連付けて登録する登録ステップとをコンピュータに実行させることを特徴とする。
【００２９】
本発明の音声処理装置および方法、記録媒体並びにプログラムにおいては、連続する入力音声が認識されて、認識結果に未知語が含まれている場合、ネットワークが生成され、そのネットワークに基づいて未知語の発音が取得され、未知語に対応する単語が獲得され、その単語が他の情報に関連付けて登録される。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態について、図面を参照して説明する。図５は、本発明を適用した対話システムの一実施形態の構成例を示している。
【００３１】
この対話システムは、例えばロボットに搭載されて、ユーザ（人間）と音声により対話を行うシステムであり、例えば、音声が入力されると、その音声から名前が取り出され、登録されるようになっている。
【００３２】
即ち、音声認識部１には、ユーザからの発話に基づく音声信号が入力されるようになっており、音声認識部１は、入力された音声信号を認識し、その音声認識の結果としてのテキスト、その他付随する情報を、対話制御部３と単語獲得部４に必要に応じて出力する。
【００３３】
単語獲得部４は、音声認識部１が有する認識用辞書に登録されていない単語について、音響的特徴を自動的に記憶し、それ以降、その単語の音声を認識できるようにする。
【００３４】
即ち、単語獲得部４は、入力音声に対応する発音を音節タイプライタによって求め、それをいくつかのクラスタに分類する。各クラスタはＩＤと代表音節系列を持ち、ＩＤで管理される。このときのクラスタの状態を、図６を参照して説明する。
【００３５】
例えば、「あか」、「あお」、「みどり」という３回の入力音声があったとする。この場合、単語獲得部４は、３回の音声を、それぞれに対応した「あか」クラスタ２１、「あお」クラスタ２２、「みどり」クラスタ２３の、３つのクラスタに分類し、各クラスタには、代表となる音節系列（図６の例の場合、“ア／カ”、“ア／オ”、“ミ／ド／リ”）とＩＤ（図６の例の場合、「１」，「２」，「３」）を付加する。
【００３６】
ここで再び、「あか」という音声が入力されると、対応するクラスタが既に存在するので、単語獲得部４は、入力音声を「あか」クラスタ２１に分類し、新しいクラスタは生成しない。これに対して、「くろ」という音声が入力された場合、対応するクラスタが存在しないので、単語獲得部４は、「くろ」に対応したクラスタ２４を新たに生成し、そのクラスタには、代表的な音節系列（図６の例の場合、“ク／ロ”）とＩＤ（図６の例の場合、「４」）を付加する。
【００３７】
したがって、入力音声が未獲得の語であるか否かは、新たなクラスタが生成されたかどうかによって判定できる。なお、このような単語獲得処理の詳細は、本出願人が先に提案した特願２００１−９７８４３号に開示されている。
【００３８】
連想記憶部２は、登録した名前（未知語）がユーザ名であるか、キャラクタ名であるかといったカテゴリ等の情報を記憶する。例えば、図７の例では、クラスタＩＤとカテゴリ名とが対応して記憶されている。図７の例の場合、例えば、クラスタＩＤ「１」、「３」、「４」は「ユーザ名」のカテゴリに対応され、クラスタＩＤ「２」は、「キャラクタ名」のカテゴリに対応されている。
【００３９】
対話制御部３は、音声認識部１の出力からユーザの発話の内容を理解し、その理解の結果に基づいて、名前（未知語）の登録を制御する。また、対話制御部３は、連想記憶部２に記憶されている登録済みの名前の情報に基づいて、登録済みの名前を認識できるように、それ以降の対話を制御する。
【００４０】
図８は、音声認識部１の構成例を示している。
【００４１】
音声認識部１は、マイクロホン４１、ＡＤ変換部４２、特徴量抽出部４３、マッチング部４４、音節タイプライタ部４５、制御部４６、ネットワーク生成部４７、音響モデルデータベース５１、辞書データベース５２、および言語モデルデータベース５３より構成されている。
【００４２】
ユーザの発話は、マイクロホン４１に入力され、マイクロホン４１では、その発話が、電気信号としての音声信号に変換される。この音声信号は、ＡＤ（ＡｎａｌｏｇＤｉｇｉｔａｌ）変換部４２に供給される。ＡＤ変換部４２は、マイクロホン４１からのアナログ信号である音声信号をサンプリングし、量子化し、ディジタル信号である音声データに変換する。この音声データは、特徴量抽出部４３に供給される。
【００４３】
特徴量抽出部４３は、ＡＤ変換部４２からの音声データについて、適当なフレームごとに、例えば、スペクトル、パワー線形予測係数、ケプストラム係数、線スペクトル対等の特徴パラメータを抽出し、マッチング部４４および音節タイプライタ部４５に供給する。
【００４４】
マッチング部４４は、特徴量抽出部４３からの特徴パラメータに基づき、音響モデルデータベース５１、辞書データベース５２、および言語モデルデータベース５３を必要に応じて参照しながら、マイクロホン４１に入力された音声（入力音声）に最も近い単語列を求め、ネットワーク生成部４７に出力する。
【００４５】
音響モデルデータベース５１は、音声認識する音声の言語における個々の音韻や音節などの音響的な特徴を表す音響モデルを記憶している。音響モデルとしては、例えば、ＨＭＭ（Ｈｉｄｄｅｎ  Ｍａｒｋｏｖ  Ｍｏｄｅｌ）などを用いることができる。辞書データベース５２は、認識対象の各単語（語句）について、その発音に関する情報が記述された単語辞書や、音韻や音節の連鎖関係を記述したモデルを記憶している。
【００４６】
なお、ここにおける単語とは、認識処理において１つのまとまりとして扱ったほうが都合の良い単位のことであり、言語学的な単語とは必ずしも一致しない。例えば、「タロウ君」は、それ全体を１単語として扱ってもよいし、「タロウ」、「君」という２単語として扱ってもよい。さらに、もっと大きな単位である「こんにちはタロウ君」等を１単語として扱ってもよい。
【００４７】
また、音節とは、音響的に１つの単位として扱った方が処理上都合のよいもののことであり、音声学的な音節とは必ずしも一致しない。例えば、「東京」の「とう」の部分を“ト／ウ”という２個の音節記号で表してもよいし、“ト”の長音である“ト：”という記号を用いて“ト：”と表してもよい。他にも、無音を表す記号を用意してもよく、さらにそれを「発話前の無音」、「発話に挟まれた短い無音区間」、「発話語の無音」、「「っ」の部分の無音」のように細かく分類してそれぞれに記号を用意してもよい。
【００４８】
言語モデルデータベース５３は、辞書データベース５２の単語辞書に登録されている各単語がどのように連鎖する（接続する）かどうかに関する情報を記述している。
【００４９】
音節タイプライタ部４５は、特徴量抽出部４３から供給された特徴パラメータに基づいて、入力された音声に対応する音節系列を取得し、マッチング部４４に出力するとともに、ネットワーク生成部４７にも出力する。例えば、「私の名前は小川です。」という音声から“ワ／タ／シ／ノ／ナ／マ／エ／ハ／オ／ガ／ワ／デ／ス”という音節系列を取得する。この音節タイプライタには、既存のものを用いることができる。
【００５０】
なお、音節タイプライタ以外でも、任意の音声に対して音節系列を取得できるものであれば代わりに用いることができる。例えば、日本語の音韻（ａ／ｉ／ｕ／ｅ／ｏ／ｋ／ａ／ｋ／ｉ        ）を単位とする音声認識や、音素、その他の、単語よりは小さな単位であるサブワードを単位とする音声認識を用いることが可能である。
【００５１】
制御部４６は、ＡＤ変換部４２、特徴量抽出部４３、マッチング部４４、音節タイプライタ部４５の動作を制御する。
【００５２】
ネットワーク生成部４７は、単語列と、音節タイプライタ部４５から取得される音節系列に基づくサブワード系列（音節系列）に基づいて、単語と音節とのネットワークを生成する。すなわち、＜ＯＯＶ＞の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および、＜ＯＯＶ＞の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスを生成し、マッチング部４４に出力する。
【００５３】
次に、図９のフローチャートを参照して、本発明の対話システムの処理について説明する。
【００５４】
ステップＳ２１において、ユーザがマイクロホン４１に音声を入力すると、マイクロホン４１は、その発話を、電気信号としての音声信号に変換する。そして、ステップＳ２２において、音声認識部１は、音声認識処理を実行する。
【００５５】
音声認識処理の詳細について、図１０を参照して説明する。マイクロホン４１で生成された音声信号は、ステップＳ５１において、ＡＤ変換部４２により、ディジタル信号である音声データに変換され、特徴量抽出部４３に供給される。
【００５６】
ステップＳ５２において、特徴量抽出部４３は、ＡＤ変換部４２からの音声データを受信する。そして、特徴量抽出部４３は、ステップＳ５３に進み、適当なフレームごとに、例えば、スペクトル、パワー、それらの時間変化量等の特徴パラメータを抽出し、マッチング部４４に供給する。
【００５７】
ステップＳ５４において、マッチング部４４は、辞書データベース５２に格納されている単語モデルのうちのいくつかを連結して、単語列生成処理を実行する。なお、この単語列を構成する単語には、辞書データベース５２に登録されている既知語だけでなく、登録されていない未知語を表わすシンボルである“＜ＯＯＶ＞”も含まれている。この単語列生成処理について、図１１を参照して詳細に説明する。
【００５８】
ステップＳ８１において、マッチング部４４は、入力音声の或る区間について、両方の場合の音響スコアを計算する。即ち、入力音声の或る区間を、辞書データベース５２に登録されている既知語とマッチングさせた結果の音響スコアと、入力音声に基づき、音節タイプライタ部４５により得られた結果（今の場合、ワ／タ／シ／ノ／ナ／マ／エ／ハ／オ／ガ／ワ／デ／ス”の中の一部区間）の音響スコアが、それぞれ計算される。音響スコアは、音声認識結果の候補である単語列と入力音声とが音としてどれだけ近いかを表す。
【００５９】
次に、入力音声の一部区間と辞書データベース５２に登録されている既知語とをマッチングさせた結果の音響スコアと、音節タイプライタ部４５による結果の音響スコアを比較させるのであるが、既知語とのマッチングは単語単位で行われ、音節タイプライタ部４５でのマッチングは音節単位で行われ、尺度が異なっているので、そのままでは比較することが困難である（一般的には、音節単位の音響スコアの方が大きな値となる）。そこで、尺度を合わせて比較できるようにするために、マッチング部４４は、ステップＳ８２において、音節タイプライタ部４５により得られた結果の音響スコアに補正をかける。
【００６０】
例えば、音節タイプライタ部４５からの音響スコアに係数を掛けたり、一定の値やフレーム長に比例した値などを減じたりする処理が行われる。勿論、この処理は相対的なものなので、既知語とマッチングさせた結果の音響スコアに対して行うこともできる。なお、この処理の詳細は、例えば、文献「”ＥＵＲＯＳＰＥＥＣＨ９９  Ｖｏｌｕｍｅ  １，  Ｐａｇｅ  ４９−５２”」に「ＯＯＶ−Ｄｅｔｅｃｔｉｏｎ  ｉｎ  Ｌａｒｇｅ  Ｖｏｃａｂｕｌａｒｙ  Ｓｙｓｔｅｍ  Ｕｓｉｎｇ  Ａｕｔｏｍａｔｉｃａｌｌｙ  Ｄｅｆｉｎｅｄ  Ｗｏｒｄ−Ｆｒａｇｍｅｎｔｓ  ａｓ  Ｆｉｌｌｅｒｓ」として開示されている。
【００６１】
マッチング部４４は、ステップＳ８３において、この２つの音響スコアを比較する（音節タイプライタ部４５で認識させた結果の音響スコアの方が高い（優れている）か否かを判定する）。音節タイプライタ部４５で認識させた結果の音響スコアの方が高い場合、ステップＳ８４に進み、マッチング部４４は、その区間を＜ＯＯＶ＞（Ｏｕｔ  Ｏｆ  Ｖｏｃａｂｕｌａｒｙ）（未知語）であると推定する。
【００６２】
ステップＳ８３において、既知語とマッチングさせた結果の音響スコアに対して、音節タイプライタ部４５で認識された結果の音響スコアの方が低いと判定された場合、ステップＳ８６に進み、マッチング部４４は、その区間を既知語であると推定する。
【００６３】
即ち、例えば、「オガワ」に相当する区間について、音節タイプライタ部４５の出力した“オ／ガ／ワ”の音響スコアと、既知語でマッチングさせた場合の音響スコアを比較して、“オ／ガ／ワ”の音響スコアの方が高い場合は、その音声区間に相当する単語として「＜ＯＯＶ＞（オ／ガ／ワ）」が出力され、既知語の音響スコアの方が高い場合は、その既知語が音声区間に相当する単語として出力される。
【００６４】
ステップＳ８５において、マッチング部４４は、音響スコアが高くなると推測される単語列（いくつかの単語モデルを連結したもの）を優先的にｎ個生成する。
【００６５】
図１０に戻って、ステップＳ５５において、音節タイプライタ部４５はステップＳ５４の処理とは独立して、ステップＳ５３の処理で抽出された特徴パラメータに対して音韻を単位とする認識を行ない、音節系列を出力する。例えば、「私の名前は小川（未知語）です。」という音声が入力されると、音節タイプライタ部４５は、“ワ／タ／シ／ノ／ナ／マ／エ／ハ／オ／ガ／ワ／デ／ス”という音節系列を出力する。
【００６６】
ステップＳ５６において、マッチング部４４は、ステップＳ５４で生成された単語列ごとに音響スコアを計算する。＜ＯＯＶ＞（未知語）を含まない単語列に対しては既存の方法、すなわち各単語列（単語モデルを連結したもの）に対して音声の特徴パラメータを入力することで尤度を計算するという方法が用いられる。一方、＜ＯＯＶ＞を含む単語列については、既存の方法では＜ＯＯＶ＞に相当する音声区間の音響スコアを求めることができない（＜ＯＯＶ＞に対応する単語モデルは事前には存在しないため）。そこで、その音声区間については、音節タイプライタの認識結果の中から同区間の音響スコアを取り出し、その値に補正をかけたものが＜ＯＯＶ＞の音響スコアとして採用される。それは、さらに、他の既知語部分の音響スコアと統合され、それがその単語列の音響スコアとされる。
【００６７】
ステップＳ５７において、マッチング部４４は、音響スコアの高い単語列を上位ｍ個（ｍ≦ｎ）抽出し、候補単語列とする。ステップＳ５８において、マッチング部４４は、言語モデルデータベース５３を参照して、候補単語列毎に、言語スコアを計算する。言語スコアは、認識結果の候補である単語列が言葉としてどれだけふさわしいかを表す。ここで、この言語スコアを計算する方法を詳細に説明する。
【００６８】
本発明の音声認識部１は未知語も認識するため、言語モデルは未知語に対応している必要がある。例として、未知語に対応した文法または有限状態オートマトン（ＦＳＡ：Ｆｉｎｉｔｅ  Ｓｔａｔｅ  Ａｕｔｏｍａｔｏｎ）を用いた場合と、同じく未知語に対応したｔｒｉ−ｇｒａｍ（統計言語モデルの１つである）を用いた場合とについて説明する。
【００６９】
文法の例を図１２を参照して説明する。この文法６１はＢＮＦ（Ｂａｃｋｕｓ  Ｎａｕｒ  Ｆｏｒｍ）で記述されている。図１２において、“＄Ａ”は「変数」を表し、“Ａ｜Ｂ”は「ＡまたはＢ」という意味を表す。また、“［Ａ］”は「Ａは省略可能」という意味を表し、｛Ａ｝は「Ａを０回以上繰り返す」という意味を表す。
【００７０】
＜ＯＯＶ＞は未知語を表すシンボルであり、文法中に＜ＯＯＶ＞を記述しておくことで、未知語を含む単語列に対しても対処することができる。“＄ＡＣＴＩＯＮ”は図１２では定義されていないが、例えば、「起立」、「着席」、「お辞儀」、「挨拶」等の動作の名前が定義される。
【００７１】
この文法６１では、「＜先頭＞／こんにちは／＜終端＞」（“／”は単語間の区切り）、「＜先頭＞／さようなら／＜終端＞」、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」のように、データベースに記憶されている文法に当てはまる単語列は受理される（この文法で解析される）が、「＜先頭＞／君／の／＜ＯＯＶ＞／名前／＜終端＞」といった、データベースに記憶されている文法に当てはまらない単語列は受理されない（この文法で解析されない）。なお、「＜先頭＞」と「＜終端＞」はそれぞれ発話前と後の無音を表す特殊なシンボルである。
【００７２】
この文法を用いて言語スコアを計算するために、パーザ（解析機）が用いられる。パーザは、単語列を、文法を受理できる単語列と、受理できない単語列に分ける。即ち、例えば、受理できる単語列には言語スコア１が与えられて、受理できない単語列には言語スコア０が与えられる。
【００７３】
したがって、例えば、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞（タ／ロ／ウ）／です／＜終端＞」と、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞（ジ／ロ／ウ）／です／＜終端＞」という２つの単語列があった場合、いずれも「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」に置き換えられた上で言語スコアが計算されて、ともに言語スコア１（受理）が出力される。
【００７４】
また、単語列の文法が受理できるか否かの判定は、事前に文法を等価（近似でも良い）な有限状態オートマトン（以下、ＦＳＡと称する）に変換しておき、各単語列がそのＦＳＡで受理できるか否かを判定することによっても実現できる。
【００７５】
図１２の文法を等価なＦＳＡに変換した例が、図１３に示されている。ＦＳＡは状態（ノード）とパス（アーク）とからなる有向グラフである。図１３に示されるように、Ｓ１は開始状態、Ｓ１６は終了状態である。また、“＄ＡＣＴＩＯＮ”には、図１２と同様に、実際には動作の名前が登録されている。
【００７６】
パスには単語が付与されていて、所定の状態から次の状態に遷移する場合、パスはこの単語を消費する。ただし、“ε”が付与されているパスは、単語を消費しない特別な遷移（以下、ε遷移と称する）である。即ち、例えば、「＜先頭＞／私／は／＜ＯＯＶ＞／です／＜終端＞」においては、初期状態Ｓ１から状態Ｓ２に遷移して、＜先頭＞が消費され、状態Ｓ２から状態Ｓ３へ遷移して、「私」が消費されるが、状態Ｓ３から状態Ｓ５への遷移は、ε遷移なので、単語は消費されない。即ち、状態Ｓ３から状態Ｓ５へスキップして、次の状態Ｓ６へ遷移することができる。
【００７７】
所定の単語列がこのＦＳＡで受理できるか否かは、初期状態Ｓ１から出発して、終了状態Ｓ１６まで到達できるか否かで判定される。
【００７８】
即ち、例えば、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」においては、初期状態Ｓ１から状態Ｓ２へ遷移して、単語「＜先頭＞」が消費される。次に、状態Ｓ２から状態Ｓ３へ遷移して、単語「私」が消費される。以下、同様に、状態Ｓ３から状態Ｓ４へ、状態Ｓ４から状態Ｓ５へ、状態Ｓ５から状態Ｓ６へ、状態Ｓ６から状態Ｓ７へ順次遷移して、「の」、「名前」、「は」、「＜００Ｖ＞」、が次々に消費される。さらに、状態Ｓ７から状態Ｓ１５へ遷移して、「です」が消費され、状態Ｓ１５から状態Ｓ１６に遷移して、「＜終端＞」が消費され、結局、終了状態Ｓ１６へ到達する。したがって、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」はＦＳＡで受理される。
【００７９】
しかしながら、「＜先頭＞／君／の／＜ＯＯＶ＞／名前／＜終端＞」は、状態Ｓ１から状態Ｓ２へ、状態Ｓ２から状態Ｓ８へ、状態Ｓ８から状態Ｓ９までは遷移して、「＜先頭＞」、「君」、「の」までは消費されるが、その先には遷移できないので、終了状態Ｓ１６へ到達することはできない。したがって、「＜先頭＞／君／の／＜ＯＯＶ＞／名前／＜終端＞」は、ＦＳＡで受理されない（不受理）。
【００８０】
さらに、言語モデルとして、統計言語モデルの１つであるｔｒｉ−ｇｒａｍを用いた場合の言語スコアを計算する例を、図１４を参照して説明する。統計言語モデルとは、その単語列の生成確率を求めて、それを言語スコアとする言語モデルである。即ち、例えば、図１４の言語モデル７１の「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」の言語スコアは、第２行に示されるように、その単語列の生成確率で表される。これはさらに、第３行乃至第６行で示されるように、条件付き確率の積として表される。なお、例えば、「Ｐ（の｜＜先頭＞  私）」は、「の」の直前の単語が「私」で、「私」の直前の単語が「＜先頭＞」であるという条件の下で、「の」が出現する確率を表す。
【００８１】
さらに、ｔｒｉ−ｇｒａｍでは、図１４の第３行乃至第６行で示される式を、第７行乃至第９行で示されるように、連続する３単語の条件付き確率で近似させる。これらの確率値は、図１５に示されるようなｔｒｉ−ｇｒａｍデータベース８１を参照して求められる。このｔｒｉ−ｇｒａｍデータベース８１は、予め大量のテキストを分析して求められたものである。
【００８２】
図１５の例では、３つの連続する単語ｗ１，ｗ２，ｗ３の確率Ｐ（ｗ３｜ｗ１ｗ２）が表されている。例えば、３つの単語ｗ１，ｗ２，ｗ３が、それぞれ、「＜先頭＞」、「私」、「の」である場合、確率値は０．１２とされ、「私」、「の」、「名前」である場合、確率値は０．０１とされ、「＜ＯＯＶ＞」、「です」、「＜終端＞」である場合、確率値は、０．８７とされている。
【００８３】
勿論、「Ｐ（Ｗ）」及び「Ｐ（ｗ２｜ｗ１）」についても、同様に、予め求めておく。
【００８４】
このようにして、言語モデル中に＜ＯＯＶ＞について、エントリ処理をしておくことで、＜ＯＯＶ＞を含む単語列に対して、言語スコアを計算することができる。したがって、認識結果に＜ＯＯＶ＞というシンボルを出力することができる。
【００８５】
また、他の種類の言語モデルを用いる場合も、＜ＯＯＶ＞についてのエントリ処理をすることによって、同様に＜ＯＯＶ＞を含む単語列に対して、言語スコアを計算することができる。
【００８６】
さらに、＜ＯＯＶ＞のエントリが存在しない言語モデルを用いた場合でも、＜ＯＯＶ＞を言語モデル中の適切な単語にマッピングする機構を用いることで、言語スコアの計算ができる。例えば、「Ｐ（＜ＯＯＶ＞｜私  は）」が存在しないｔｒｉ−ｇｒａｍデータベースを用いた場合でも、「Ｐ（小川｜私  は）」でデータベースをアクセスして、そこに記述されている確率を「Ｐ（＜ＯＯＶ＞｜私  は）」の値とみなすことで、言語スコアの計算ができる。
【００８７】
図１０に戻って、マッチング部４４は、ステップＳ５９において、音響スコアと言語スコアを統合する。ステップＳ６０において、マッチング部４４は、ステップＳ５９において求められた音響スコアと言語スコアの両スコアを統合したスコアに基づいて、最もよいスコアをもつ候補単語列を選択して、認識結果として出力する。
【００８８】
なお、言語モデルとして、有限状態オートマトンを使用している場合は、ステップＳ５９の統合処理を、言語スコアが０の場合は単語列を消去し、言語スコアが０以外の場合はそのまま残すという処理にしてもよい。
【００８９】
図９に戻って、以上のようにしてステップＳ２２で音声認識処理が実行された後、ステップＳ２３において、音声認識部１の制御部４６は認識された単語列に未知語が含まれているか否かを判定する。ステップＳ２３において未知語が含まれていると判定された場合、ネットワーク生成部４７は、単語列と、音節タイプライタ部４５から取得される音節系列に基づくサブワード系列に基づいて、単語とサブワード（例えば、音節）とのネットワークを生成する。すなわち、＜ＯＯＶ＞の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および、＜ＯＯＶ＞の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスが生成され、マッチング部４４に出力される。
【００９０】
ステップＳ２５において、マッチング部４４は、音節タイプライタ部４５から供給された音節系列に基づくサブワード系列と、ネットワーク生成部４７から供給されたネットワークに基づいて、ユーザから入力された音声とネットワークをマッチングする。
【００９１】
図１６は、ネットワークの生成について説明する。
【００９２】
例えば、ユーザから「私の名前は小川（未知語）です。」という音声がマイクロホン４１に入力されたとする。マッチング部４４は、求められた音響スコアと言語スコアの両スコアを統合したスコアに基づいて、最もよいスコアをもつ候補単語列を選択して、認識結果として出力し、例えば、図１６Ａに示されるように、「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞／です／＜終端＞」となるとする。同時に、音節タイプライタ部４５は、図１６Ｂに示されるように、“ワ／タ／シ／ノ／ナ／マ／エ／ハ／オ／ガ／ワ／デ／ス”という音節系列を出力するとする。
【００９３】
このとき、図１６Ａと図１６Ｂに示されるように、マッチング部４４により得られた認識結果である単語列の境界と、音節タイプライタ部４５により得られた音節系列に基づくサブワード系列の境界は一般的には一致しない。例えば、図１６Ａと図１６Ｂの場合、単語列における単語「は」と単語「＜ＯＯＶ＞」の境界は、サブワード系列における音節「ハ」に対応し、単語列における単語「＜ＯＯＶ＞」と単語「です」の境界は、サブワード系列における音節「ワ」に対応する。そのため、単語列における単語「は」と単語「＜ＯＯＶ＞」の境界とサブワード系列における音節「ハ」の部分における不一致の場合、音節「ハ」は、単語列における単語「は」に含まれたり、単語列における単語「＜ＯＯＶ＞」に含まれたりする。
【００９４】
そこで、単語と音節とのネットワークが生成される。すなわち、＜ＯＯＶ＞の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および＜ＯＯＶ＞の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスが生成される。
【００９５】
例えば、図１６Ｂと図１６Ｃに示されるように、特徴抽出部４３から出力された時刻情報の特徴パラメータに基づいて、サブワード系列における音節「ハ」と音節「ワ」の所定のフレームに対応する音節タイプライタ部４５における音節タイプライタ時刻を、それぞれ、ｔ０とｔ１とし、その音節タイプライタ時刻ｔ０とｔ１に対応する単語列の時刻を、それぞれ、ｔ２とｔ３とする。また、図１６Ｃに示されるように、図１６の区間Ｄ、すなわち、＜ＯＯＶ＞の直前の単語「は」から＜ＯＯＶ＞の直後の単語「です」までの区間は、＜ＯＯＶ＞の発音に対応する可能性のある音節「ハ」「オ」「ガ」「ワ」により構成されている。
【００９６】
図１６Ｃに示されるように、単語列における単語「は」と単語「＜ＯＯＶ＞」の境界に対応する部分において、音節「ハ」を含まないパス９１、並びに、音節「ハ」を含むパス９２およびパス９３が生成され、単語列における単語「＜ＯＯＶ＞」と単語「です」の境界に対応する部分において、音節「ワ」を含まないパス１０１、並びに、音節「ワ」を含むパス１０２およびパス１０３が生成される。これにより、サブワード系列の境界を決定することなく、入力された音声に対して最適なネットワーク上のサブワード系列を選択することができる。
【００９７】
なお、図１６の場合においては、ネットワークとして構成された単語と音節からなるネットワークと入力された音声とをマッチングすると、上記ネットワークから以下の４通りの文仮説が生成される。
【００９８】
私の−名前−は−ハ−オ−ガ−ワ−です
私の−名前−は−ハ−オ−ガ−です
私の−名前−は−オ−ガ−ワ−です
私の−名前−は−オ−ガ−です
【００９９】
図９に戻って、ステップＳ２６において、マッチング部４４は、ユーザから入力された音声とネットワークのマッチングの結果に基づいて、スコアの高いネットワーク上のパス（例えば、図１６におけるパス９１、並びに、パス１０２およびパス１０３）を選択する。ステップＳ２７において、マッチング部４４は、ステップＳ２６において選択されたネットワーク上のパス（例えば、図１６におけるパス９１、並びに、パス１０２およびパス１０３）と音節タイプライタ部４５から出力されたサブワード系列に基づいて、＜ＯＯＶ＞に対応する発音（図１６の例の場合、「オ／ガ／ワ」）を取得する。
【０１００】
図１７と図１８は、本発明を適用した実験結果を示す。なお、条件設定については、図３における設定と同様であるので、その説明は省略する。
【０１０１】
図１７は、それぞれ、本発明を適用した場合の音節系列の認識精度、置換誤り、削除誤り、および挿入誤りの性能を示しており、それぞれの値は、百分率で表されている。それらの詳しい説明については、図４と同様であるので、省略する。図１７の結果では、認識精度は、４８．５％であり、図４での、サブワード系列による＜ＯＯＶ＞発音取得方法における認識精度の４０．２％と比較すると、認識精度は向上している。また、削除誤りと挿入誤りの発生率は、それぞれ、１１．６％と８．０％であり、図４での、サブワード系列による＜ＯＯＶ＞発音取得方法における削除誤りと挿入誤りの発生率の３３．３％と４．１％とを比較すると、削除誤りと挿入誤りの発生バランスは改善されている（両者の差が少なくなっている）。
【０１０２】
図１８は、１人の話者の発話に対して本発明により＜ＯＯＶ＞に付与された認識結果の一部の例を示している。
【０１０３】
図１８の例では、第１回目で、「クロサキ」が「クロタチ」と認識されており、「タ」と「チ」において置換誤りが発生している。また、第２回目では「クロサキ」は「オロサ」と認識されており、「ク」において削除誤りが、「オ」において置換誤りが発生している。さらに、第３回目では、「クロサキ」は「ロサキ」と認識されており、「ク」において削除誤りが発生している。また、第４回目では、「クロサキ」は「ロサキ」と認識されており、「ク」において削除誤りが発生している。「クロサキ」はまた、第５回目では「クロサキ」と認識されており、どの誤りも発生していない。
【０１０４】
「カズミ」は第１回目では、「カズミ」と認識されており、どの誤りも発生していない。例えば、第２回目では、「カズミ」は「カツニ」と認識されており、「ズ」と「ミ」において置換誤りが発生している。第３回目では、「カズミ」は「カズミ」と認識されており、どの誤りも発生していない。第４回目では、「カズミ」は「カツミ」と認識されており、「ズ」において置換誤りが発生している。第５回目では、「カズミ」は「カスミ」と認識されており、「ズ」において置換誤りが発生している。
【０１０５】
図９に戻って、制御部４６は、単語獲得部４を制御し、ステップＳ２８において、単語獲得処理を実行させ、その未知語を獲得させる。
【０１０６】
単語獲得処理の詳細について、図１９を参照して説明する。ステップＳ１１１において、単語獲得部４は、音声認識部１から未知語（＜ＯＯＶ＞）の特徴パラメータ、特に、時間情報に関する特徴パラメータを抽出する。ステップＳ１１２において、単語獲得部４は、未知語が既獲得のクラスタに属するか否かを判定する。既獲得のクラスタに属さないと判定された場合、単語獲得部４は、ステップＳ１１３において、その未知語に対応する、新しいクラスタを生成する。そして、ステップＳ１１４において、単語獲得部４は、未知語の属するクラスタのＩＤを音声認識部１のマッチング部４４に出力する。
【０１０７】
ステップＳ１１２において、未知語が既獲得のクラスタに属すると判定された場合、新しいクラスタを生成する必要がないので、単語獲得部４はステップＳ１１３の処理をスキップして、ステップＳ１１４に進み、未知語の属する既獲得のクラスタのＩＤをマッチング部４４に出力する。
【０１０８】
なお、図１９の処理は各未知語語毎に行われる。
【０１０９】
図９に戻って、ステップＳ２８の単語獲得処理終了後、ステップＳ２９において、対話制御部３は、ステップＳ２８の処理で獲得された単語列が、テンプレートにマッチしているかどうかを判定する。即ち、認識結果の単語列が何かの名前の登録を意味するものかどうかの判定がここで行われる。そして、ステップＳ２９において、認識結果の単語列がテンプレートにマッチしていると判定された場合、ステップＳ３０において、対話制御部３は、連想記憶部２に、名前のクラスタＩＤとカテゴリを対応させて記憶させる。
【０１１０】
対話制御部３がマッチングさせるテンプレートの例を図２０を参照して説明する。なお、図２０において、“／Ａ／”は「文字列Ａが含まれていたら」という意味を表し、“Ａ｜Ｂ”は「ＡまたはＢ」という意味を表す。また、“．”は「任意の文字」を表し、“Ａ＋”は「Ａの１回以上の繰り返し」という意味を表し、“（．）＋”は「任意の文字列」を表す。
【０１１１】
このテンプレート１２１は、認識結果の単語列が図の左側の正規表現にマッチした場合、図の右側の動作を実行させることを表している。例えば、認識結果が「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞（オ／ガ／ワ）／です／＜終端＞」という単語列である場合、この認識結果から生成された文字列「私の名前は＜ＯＯＶ＞です」は、図２０の第２番目の正規表現にマッチする。したがって、対応する動作である「＜ＯＯＶ＞に対応するクラスタＩＤをユーザ名として登録する」処理が実行される。即ち、「＜ＯＯＶ＞（オ／ガ／ワ）」のクラスタＩＤが「１」である場合、図５に示されるように、クラスタＩＤ「１」のカテゴリ名が「ユーザ名」として登録される。
【０１１２】
また、例えば、認識結果が、「＜先頭＞／君／の／名前／は／＜ＯＯＶ＞（ア／イ／ボ）／だよ／＜終端＞」である場合、そこから生成される文字列「君の名前は＜ＯＯＶ＞だよ」は図２０の第１番目の正規表現にマッチするので、「＜ＯＯＶ＞（ア／イ／ボ）」がクラスタＩＤ「２」であれば、クラスタＩＤ「２」のカテゴリは、「キャラクタ名」として登録される。
【０１１３】
なお、対話システムによっては、登録する単語が１種類しかない（例えば、「ユーザ名」のみ）場合もあり、その場合は、テンプレート１２１と連想記憶部２は簡略化することができる。例えば、テンプレート１２１の内容を「認識結果に＜ＯＯＶ＞が含まれていたら、そのＩＤを記憶する」として、連想記憶部２にそのクラスタＩＤのみを記憶させることができる。
【０１１４】
対話制御部３は、このようにして連想記憶部２に登録された情報を、以後の対話の判断処理に反映させる。例えば、対話システムの側で、「ユーザの発話の中に、対話キャラクタの名前が含まれているかどうかを判定する。含まれている場合は『呼びかけられた』と判断して、それに応じた返事をする」という処理や、「対話キャラクタがユーザの名前をしゃべる」という処理が必要になった場合に、対話制御部３は連想記憶部２の情報を参照することで、対話キャラクタに相当する単語（カテゴリ名が「キャラクタ名」であるエントリ）やユーザ名に相当する単語（カテゴリ名が「ユーザ名」であるエントリ）を得ることができる。
【０１１５】
一方、ステップＳ２３において、認識結果に未知語が含まれていないと判定された場合、またはステップＳ２９において、認識結果がテンプレートにマッチしていないと判定された場合、ステップＳ３１において、対話制御部３は、入力音声に対応する応答を生成する。すなわち、この場合には、名前（未知語）の登録処理は行われず、ユーザからの入力音声に対応する所定の処理が実行される。
【０１１６】
ところで、言語モデルとして文法を用いる場合、文法の中に音節タイプライタ相当の記述も組み込むことができる。この場合の文法の例が図２１に示されている。この文法１３１において、第１行目の変数“＄ＳＹＬＬＡＢＬＥ”は、全ての音節が「または」を意味する“｜”で繋がれているので、音節記号の内のどれか１つを意味する。変数”ＯＯＶ”は“＄ＳＹＬＬＡＢＬＥ”を０回以上繰り返すことを表している。即ち、「任意の音節記号を０回以上接続したもの」を意味し、音節タイプライタに相当する。したがって、第３行目の「は」と「です」の間の“＄ＯＯＶ”は、任意の発音を受け付けることができる。
【０１１７】
この文法１３１を用いた場合の認識結果では、“＄ＯＯＶ”に相当する部分が複数のシンボルで出力される。例えば、「私の名前は小川です」の認識結果が「＜先頭＞／私／の／名前／は／オ／ガ／ワ／です／＜終端＞」となる。この結果を「＜先頭＞／私／の／名前／は／＜ＯＯＶ＞（オ／ガ／ワ）／です」に変換すると、図９のステップＳ２３以降の処理は、音節タイプライタを用いた場合と同様に実行することができる。
【０１１８】
なお、以上においては、未知語に関連する情報として、カテゴリを登録するようにしたが、その他の情報を登録するようにしてもよい。また、図９のフローチャートにおけるステップＳ２８は、省略してもよく、ステップＳ２８が省略された場合には、ステップＳ３０における処理は、対話制御部３が連想記憶部２にサブワード系列とカテゴリを対応させて記憶させるという処理になる。
【０１１９】
さらに、以上の実施の形態においては、図１６Ｃに示されるように、音節と単語のネットワークを形成するようにしたが、入力音声に対して尤度が最大となる最適なネットワーク上のサブワード系列を選択することができればよいので、音節に限らず、音素、音韻等の、音節以外のサブワードと単語とのネットワークとすることができる。
【０１２０】
図２２は、上述の処理を実行するパーソナルコンピュータ１５０の構成例を示している。このパーソナルコンピュータ１５０は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１５１を内蔵している。ＣＰＵ１５１にはバス１５４を介して、入出力インタフェース１５５が接続されている。バス１５４には、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５２およびＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５３が接続されている。
【０１２１】
入出力インタフェース１５５には、ユーザが操作するマウス、キーボード、マイクロホン、ＡＤ変換器等の入力デバイスで構成される入力部１５７、およびディスプレイ、スピーカ、ＤＡ変換器等の出力デバイスで構成される出力部１５６が接続されている。さらに、入出力インタフェース１５５には、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１５８、並びにインタネットに代表されるネットワークを介してデータを通信する通信部１５９が接続されている。
【０１２２】
入出力インタフェース１５５には、磁気ディスク１７１、光ディスク１７２、光磁気ディスク１７３、半導体メモリ１７４などの記録媒体に対してデータを読み書きするドライブ１６０が必要に応じて接続される。
【０１２３】
このパーソナルコンピュータ１５０に本発明を適用した音声処理装置としての動作を実行させる音声処理プログラムは、磁気ディスク１７１（フロッピディスクを含む）、光ディスク１７２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）を含む）、光磁気ディスク１７３（ＭＤ（Ｍｉｎｉ  Ｄｉｓｃ）を含む）、もしくは半導体メモリ１７４に格納された状態でパーソナルコンピュータ１５０に供給され、ドライブ１６０によって読み出されて、記憶部１５８に内蔵されるハードディスクドライブにインストールされる。記憶部１５８にインストールされた音声処理プログラムは、入力部１５７に入力されるユーザからのコマンドに対応するＣＰＵ１５１の指令によって、記憶部１５８からＲＡＭ１５３にロードされて実行される。
【０１２４】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
【０１２５】
この記録媒体は、図２２に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディス１７１、光ディスク１７２、光磁気ディスク１７３、もしくは半導体メモリ１７４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているＲＯＭ１５２や、記憶部１５８に含まれるハードディスクなどで構成される。
【０１２６】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１２７】
また、本明細書において、システムとは、複数の装置が論理的に集合したものをいい、各構成の装置が同一筐体中にあるか否かは問わない。
【０１２８】
【発明の効果】
以上のように、本発明によれば、単語を音声で登録することができる。またその登録を、ユーザに登録モードを意識させることなく実行できる。さらに、既知語と未知語を含む連続する入力音声の中から未知語を抽出し、その未知語の発音を取得し、未知語の単語を確実に獲得することができる。これにより、その未知語を容易に登録することが可能となる。さらに、登録した単語を、以降の対話で反映させることが可能となる。
【０１２９】
また、本発明によれば、音声認識の認識率を向上させることができる。さらに、未知語の獲得の際における削除誤りを少なくすることができ、削除誤りと挿入誤りの発生バランスを良くすることができる。これにより、ユーザが連続音声認識システムをもつロボットなどを賢くないと感じることを抑制することができる。
【図面の簡単な説明】
【図１】単語列の境界とサブワード系列の境界の不一致を説明する図である。
【図２】サブワード系列による＜ＯＯＶ＞発音取得方法を説明する図である。
【図３】図２のサブワード系列による＜ＯＯＶ＞発音取得方法を用いた場合の実験の条件を示す図である。
【図４】図２のサブワード系列による＜ＯＯＶ＞発音取得方法を用いた実験結果を示す図である。
【図５】本発明を適用した対話システムの一実施の形態の構成例を示すブロック図である。
【図６】クラスタの状態の例を示す図である。
【図７】単語の登録を示す図である。
【図８】図５の音声認識部の構成例を示すブロック図である。
【図９】図５の対話システムの動作を説明するためのフローチャートである。
【図１０】図９のステップＳ２２の音声認識処理の詳細を説明するためのフローチャートである。
【図１１】図１０のステップＳ５４の単語列生成処理の詳細を説明するためのフローチャートである。
【図１２】言語モデルデータベースで用いられる文法の例を示す図である。
【図１３】有限状態オートマトンによる言語モデルの例を示す図である。
【図１４】ｔｒｉ−ｇｒａｍを用いた言語スコアの計算の例を示す図である。
【図１５】ｔｒｉ−ｇｒａｍデータベースの例を示す図である。
【図１６】ネットワークの生成について説明する図である。
【図１７】本発明を適用した実験結果を示す図である。
【図１８】本発明を適用した実験結果を示す図である。
【図１９】図９のステップＳ２８の単語獲得処理の詳細を説明するためのフローチャートである。
【図２０】テンプレートの例を示す図である。
【図２１】音節タイプライタを組み込んだ文法の例を示す図である。
【図２２】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
１  音声認識部、  ２  連想記憶部、  ３  対話制御部、  ４  単語獲得部、４１  マイクロホン、  ４２  ＡＤ変換部、  ４３  特徴量抽出部、  ４４  マッチング部、  ４５  音節タイプライタ部、  ４６  制御部、  ４７  ネットワーク生成部、  ５１  音響モデルデータベース、  ５２  辞書データベース、  ５３  言語モデルデータベース
【図１】
2004170765.tif 000003
【図２】
2004170765.tif 000004
【図３】
2004170765.tif 000005
【図４】
2004170765.tif 000006
【図５】
2004170765.tif 000007
【図６】
2004170765.tif 000008
【図７】
2004170765.tif 000009
【図８】
2004170765.tif 000010
【図９】
2004170765.tif 000011
【図１０】
2004170765.tif 000012
【図１１】
2004170765.tif 000013
【図１２】
2004170765.tif 000014
【図１３】
2004170765.tif 000015
【図１４】
2004170765.tif 000016
【図１５】
2004170765.tif 000017
【図１６】
2004170765.tif 000018
【図１７】
2004170765.tif 000019
【図１８】
2004170765.tif 000020
【図１９】
2004170765.tif 000021
【図２０】
2004170765.tif 000022
【図２１】
2004170765.tif 000023
【図２２】
2004170765.tif 000024