(57)【要約】【課題】誤った未知語を獲得しない。【解決手段】  音声が入力された場合、ステップＳ２１からＳ２２に進み、入力音声を認識する音声認識処理が行われる。ステップＳ２３において、認識結果に未知語が含まれているか否かが判定される。ステップＳ２３において、認識結果に未知語が含まれていると判定された場合、ステップＳ２５において、認識結果を棄却するか否かが判定され、認識結果を棄却しないと判定された場合には、ステップＳ２６以降の未知語に対する処理が行われる。本発明は、例えば、音声認識装置に適用することができる。【選択図】図９
2006038895.tif 000002
【特許請求の範囲】
【請求項１】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置であって、
前記入力音声を認識する認識手段と、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定手段と、
前記未知語判定手段により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却手段と、
前記認識結果棄却手段により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語を獲得する獲得手段と
を備えることを特徴とする音声処理装置。
【請求項２】
前記認識結果棄却手段は、未知語を含む文の未知語用言語モデルに基づいて、前記認識結果を棄却するか否かを判定する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記未知語用言語モデルは、有限状態オートマトンによって記述された文法である
ことを特徴とする請求項２に記載の音声処理装置。
【請求項４】
前記言語モデルは、統計言語モデルである
ことを特徴とする請求項２に記載の音声処理装置。
【請求項５】
前記認識結果棄却手段は、前記認識結果の正解確信度に基づいて、前記認識結果を棄却するか否かを判定する
ことを特徴とする請求項１に記載の音声処理装置。
【請求項６】
前記認識結果棄却手段は、前記認識結果に含まれる前記未知語に隣接する既知語の正解確信度に基づいて、前記認識結果を棄却するか否かを判定する
ことを特徴とする請求項５に記載の音声処理装置。
【請求項７】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置の音声処理方法において、
前記入力音声を認識する認識ステップと、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、
前記未知語判定ステップの処理により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却ステップと、
前記認識結果棄却ステップの処理により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語を獲得する獲得ステップと
を含むことを特徴とする音声処理方法。
【請求項８】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録するためのプログラムであって、
前記入力音声を認識する認識ステップと、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、
前記未知語判定ステップの処理により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却ステップと、
前記認識結果棄却ステップの処理により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語の獲得する獲得ステップと
を含むことを特徴とするプログラムが記録されているコンピュータが読み取り可能な記録媒体。
【請求項９】
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録するためのプログラムであって、
前記入力音声を認識する認識ステップと、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、
前記未知語判定ステップの処理により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却ステップと、
前記認識結果棄却ステップの処理により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語を獲得する獲得ステップと
を含む処理をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理装置および音声処理方法、プログラム、並びに記録媒体に関し、特に、誤った未知語の獲得を防止することができるようにする音声処理装置および音声処理方法、プログラム、並びに記録媒体に関する。
【背景技術】
【０００２】
名前等の新規語彙、即ち、辞書に登録されていない未知語を獲得する機能をもつ連続音声認識システムにおいて未知語を獲得するためには、音声中の未知語の区間を推定することと、未知語に発音（読み）を付与することが必要である。
【０００３】
音声中の未知語の区間を推定するためには、音声に対して音韻や音節、音素など単語より短い単位（サブワード）で音声認識を行い、音声に音節等の系列を付与し（つまり、読み仮名を振り）ながら、各音節のスコアを求め、このスコアに適切なペナルティーを付与することにより未知語（OOV: Out Of Vocabulary）のスコアを推定する。ある区間の未知語のスコアが、辞書に登録されている単語のスコアより高ければ、その区間の音声が未知語であると認識される。また、未知語の発音は、未知語の区間のサブワード系列（例えば、音節系列）によって与えられる（例えば、非特許文献１、非特許文献２、および非特許文献３参照）。
【０００４】
ところで、音節単位で音声認識を行い、未知語の区間を推定する場合、単語の境界と音節の境界とが一致しないことがある。
【０００５】
図１を参照して、単語の境界と音節の境界とが一致しない場合、即ち、単語列の境界とサブワード系列の境界との不一致について説明する。
【０００６】
例えば、図１に示されるように、単語音声認識による認識結果が、word1 <OOV> word2であるとき、<OOV>と<OOV>に隣接する周辺単語との境界では、単語列の境界とサブワード系列Syl1乃至Syl8の境界の不一致が発生することがある。なお、<OOV>は未知語を表すシンボルである。また、word1とword2は、辞書に登録されている単語（既知語）である。
【０００７】
図１の例では、<OOV>の時間的に前の境界は、Syl4の途中に対応し、<OOV>の時間的に後の境界は、Syl7の途中に対応しており、境界の不一致が発生している。このように、不一致が発生している境界のサブワードであるSyl4とSyl7は、<OOV>に含まれたり、含まれなかったりする。一方、<OOV>の発音を取得するためには、未知語の区間の境界となるサブワードの境界を決定しなければならない。
【０００８】
未知語の区間の境界となるサブワードの境界を決定して、<OOV>の発音を取得する方法としては、以下のようなサブワード系列による<OOV>発音取得方法が知られている。
【０００９】
サブワード系列による<OOV>発音取得方法について、図２を参照して以下に説明する。
【００１０】
サブワード系列による<OOV>発音取得方法では、<OOV>の両端の時刻を含む音節の継続時間の５０％以上が<OOV>の区間に含まれる場合に、その音節が<OOV>の一部とされる。
【００１１】
例えば、図２に示されるように、通常の音声認識を行った結果得られた単語列の一部が、単語1、<OOV>、単語2という配列であったとする。また、音声タイプライタによるサブワード系列の一部が、音節i、音節j、音節kという配列であったとする。図２では、<OOV>の時間的に前の境界の時刻を含む音節iの継続時間L1＋L2について、L1（音節iの単語１側に対応する部分の長さ（時間））＞L2（音節iの<OOV>側に対応する部分の長さ（時間））が成り立つので、音節iは<OOV>に含まれないと判定される。これに対して、<OOV>の時間的に後の境界の時刻を含む音節kの継続時間L3+L4について、L3（音節kの<OOV>側に対応する部分の長さ（時間））＞L4（音節kの単語２側に対応する部分の長さ（時間））が成り立つので、音節kは<OOV>に含まれると判定される。
【００１２】
図３は、図２のサブワード系列による<OOV>発音取得方法を用いて、<OOV>の発音を取得した実験の実験結果を示している。
【００１３】
実験は、図２のサブワード系列による<OOV>発音取得方法を、１２名（男女各６名）の旅行ドメイン（ホテルのチェックインやレストランでの注文など）の７５２種類の発話を対象として行った。また、実験では、図４に示されるように、特徴量、音響モデル、および言語モデルについて条件を設定した。特徴量としては、１６bit，１６kHzで音声をサンプリングし、１０msecのフレーム周期で、２５msecのフレーム長のフレームから、１２次のMFCC（Mel Frequency Cepstrum Coefficients）（メル周波数ケプトラム）、および０次乃至１２次までのMFCCの１次回帰係数（２５次元）を抽出した。音響モデルは、１６mixture，１０００tied-stateのHMM（Hidden Markov Model）を用い、言語モデルは、サブワードトライグラム、Cut-off trigram５，bigram５を用いた。なお、実験では、３１４種類の音節および音節連鎖をサブワードとして用いた。言語モデルは、日経新聞（日本経済新聞）６年分のコーパスで学習した音韻のトライグラムを用いた。
【００１４】
図３では、図２のサブワード系列による<OOV>発音取得方法を用いて、<OOV>の発音を取得した場合の認識精度、置換誤り、削除誤り、および挿入誤りが、百分率で表されている。ここで、置換誤りとは、本来の音節とは異なる音節に置換する誤りであり、削除誤りとは、本来認識されるべき音節が認識されない誤り（デリーションエラー）であり、挿入誤りとは、本来認識されるべきではない音節が認識結果に現れる誤り（インサーションエラー）である。なお、認識精度Accは、総音節数N、正解数N_C、挿入誤りの数N_Iにより、式Acc=(N_C-N_I)/Nから求められる。
【００１５】
図３に示されるように、図２のサブワード系列による<OOV>発音取得方法による認識精度は、40.2%であり、置換誤り、削除誤り、挿入誤りの発生率は、ぞれぞれ、22.43%，3.3%，4.1%であった。
【００１６】
【非特許文献１】Issam Bazzi and James R. Glass著「Proceedings of International Conference Spoken Language Processing(ICSLP) 2000」、２０００年１０月発行、p.433-436
【非特許文献２】甲斐  充彦and中川  聖一、冗長後・言い直し等を含む発話のための未知語処理を用いた音声認識システムの比較評価、電子情報通信学会論文誌、１９９７年１０月発行、J80-D-II、p.2615-2625
【非特許文献３】小窪  浩明、大西  茂彦、山本  博史、and菊井  玄一郎、サブワードモデルを用いた未登録語認識の効率的探索手法、情報処理学会論文誌、２００２年７月発行、Vol.43、No.7、p.2082-2090
【発明の開示】
【発明が解決しようとする課題】
【００１７】
図２のサブワード系列による<OOV>発音取得方法においては、<OOV>の区間の境界の音節の継続時間の５０％以上が<OOV>の区間に含まれた場合に、その音節を<OOV>の一部とする。このため、未知語の区間が、１音節以上誤って推定された場合には、その音節の誤りを訂正することはできず、誤った未知語が獲得されることになる。従って、例えば、未知語区間大きく誤って推定されたような（あるいは、そのような可能性が高い）音声認識結果は、未知語の獲得に用いるべきではない。
【００１８】
本発明はこのような状況に鑑みてなされたものであり、誤った未知語の獲得を防止することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の音声処理装置は、入力音声を認識する認識手段と、認識手段により認識された入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定手段と、未知語判定手段により未知語が含まれていると判定された認識結果を棄却するか否かを判定する認識結果棄却手段と、認識結果棄却手段により棄却しないと判定された認識結果に含まれる未知語に対応する単語を獲得する獲得手段とを備えることを特徴とする。
【００２０】
本発明の音声処理方法は、入力音声を認識する認識ステップと、認識手段により認識された入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、未知語判定ステップの処理により未知語が含まれていると判定された認識結果を棄却するか否かを判定する認識結果棄却ステップと、認識結果棄却ステップの処理により棄却しないと判定された認識結果に含まれる未知語に対応する単語を獲得する獲得ステップとを含むことを特徴とする。
【００２１】
本発明の記録媒体のプログラムは、入力音声を認識する認識ステップと、認識手段により認識された入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、未知語判定ステップの処理により未知語が含まれていると判定された認識結果を棄却するか否かを判定する認識結果棄却ステップと、認識結果棄却ステップの処理により棄却しないと判定された認識結果に含まれる未知語に対応する単語の獲得する獲得ステップとを含むことを特徴とする。
【００２２】
本発明のプログラムは、入力音声を認識する認識ステップと、認識手段により認識された入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップと、未知語判定ステップの処理により未知語が含まれていると判定された認識結果を棄却するか否かを判定する認識結果棄却ステップと、認識結果棄却ステップの処理により棄却しないと判定された認識結果に含まれる未知語に対応する単語を獲得する獲得ステップとを含む処理をコンピュータに実行させることを特徴とする。
【発明の効果】
【００２３】
本発明によれば、誤った未知語の獲得を防止することができる。
【発明を実施するための最良の形態】
【００２４】
以下に本発明の最良の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
【００２５】
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項にすべて記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割されたり、補正により出現し、追加される発明の存在を否定するものではない。
【００２６】
請求項１の音声処理装置は、
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置であって、
前記入力音声を認識する認識手段（例えば、図８のマッチング部４４）と、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定手段（例えば、図８の制御部４８）と、
前記未知語判定手段により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却手段（例えば、図８の棄却部４６）と、
前記認識結果棄却手段により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語を獲得する獲得手段（例えば、図５の単語獲得部２）と
を備えることを特徴とする。
【００２７】
請求項７の音声処理方法は、
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録する音声処理装置の音声処理方法において、
前記入力音声を認識する認識ステップ（例えば、図９のステップＳ２２）と、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップ（例えば、図９のステップＳ２３）と、
前記未知語判定ステップの処理により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却ステップ（例えば、図９のステップＳ２４）と、
前記認識結果棄却ステップの処理により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語を獲得する獲得ステップ（例えば、図９のステップＳ３０）と
を含むことを特徴とする。
【００２８】
請求項８の記録媒体に記録されているプログラム、および請求項９のプログラムは、
入力音声を処理し、その処理結果に基づいて、前記入力音声に含まれる単語を登録するためのプログラムであって、
前記入力音声を認識する認識ステップ（例えば、図９のステップＳ２２）と、
前記認識手段により認識された前記入力音声の認識結果に、未知語が含まれているか否かを判定する未知語判定ステップ（例えば、図９のステップＳ２３）と、
前記未知語判定ステップの処理により前記未知語が含まれていると判定された前記認識結果を棄却するか否かを判定する認識結果棄却ステップ（例えば、図９のステップＳ２４）と、
前記認識結果棄却ステップの処理により棄却しないと判定された前記認識結果に含まれる前記未知語に対応する単語の獲得する獲得ステップ（例えば、図９のステップＳ３０）と
を含むことを特徴とする。
【００２９】
以下、本発明の実施の形態について、図面を参照して説明する。
【００３０】
図５は、本発明を適用した対話システムの一実施の形態の構成例を示している。
【００３１】
この対話システムは、例えばロボットに搭載されて、ユーザ（人間）と音声により対話を行うシステムであり、例えば、音声が入力されると、その音声から、例えば、ユーザの名前や、ロボットにつけられた名前などといった未知語が取り出され、登録されるようになっている。
【００３２】
即ち、音声認識部１には、ユーザからの発話に基づく音声信号が入力されるようになっており、音声認識部１は、入力された音声信号を音声認識し、その音声認識の結果としてのテキスト、その他付随する情報を、対話制御部４と単語獲得部２に必要に応じて出力する。
【００３３】
単語獲得部２は、音声認識部１からの情報から、音声認識部１が有する単語辞書に登録されていない単語である未知語を獲得し、その音響的特徴を自動的に記憶して、それ以降、音声認識部１において、その単語を既知語として音声認識を行うことができるようにする。
【００３４】
即ち、単語獲得部２は、未知語を、対応する音声の特徴量に基づき、特徴量の空間上に形成されるいずれかのクラスタに分類する。各クラスタはクラスタＩＤ（Identification）と代表音節系列（発音）を持ち、クラスタＩＤで管理される。
【００３５】
ここで、図６は、クラスタが形成された音声の特徴量の空間（特徴量空間）を示している。なお、図６では、図示の便宜上、音声の特徴量を２次元としてある。
【００３６】
例えば、「あか」、「あお」、「みどり」という３回の入力音声があったとする。この場合、単語獲得部２では、３回の音声が、それぞれに対応した、特徴量空間上の「あか」クラスタ２１、「あお」クラスタ２２、「みどり」クラスタ２３の、３つのクラスタに分類され、各クラスタには、代表となる音節系列（図６の例の場合、“ア/カ”、“ア/オ”、“ミ/ド/リ”）とクラスタＩＤ（図６の例の場合、「１」，「２」，「３」）が付加される。
【００３７】
ここで再び、「あか」という音声が入力されると、対応するクラスタが既に存在するので、単語獲得部２では、入力音声が「あか」クラスタ２１に分類され、新しいクラスタは生成されない。これに対して、「くろ」という音声が入力された場合、対応するクラスタが存在しないので、単語獲得部２では、「くろ」に対応したクラスタ２４が新たに生成され、そのクラスタには、代表的な音節系列（図６の例の場合、“ク/ロ”）とクラスタＩＤ（図６の例の場合、「４」）が付加される。
【００３８】
したがって、入力音声が未獲得の語（未知語）であるか否かは、新たなクラスタが生成されたかどうかによって判定できる。なお、このような単語獲得処理の詳細は、本出願人が先に提案した特願２００１−９７８４３号に開示されている。
【００３９】
図５に戻り、連想記憶部３は、対話制御部４の制御に応じて、単語獲得部２で獲得された未知語（正確には、未知語であった既知語）が、例えばユーザ名であるか、キャラクタ名であるかといったカテゴリ等の情報を記憶する。即ち、連想記憶部３は、例えば、図７に示すように、クラスタＩＤとカテゴリ名とを対応付けて記憶する。図７の例の場合、例えば、クラスタＩＤ「１」、「３」、「４」は「ユーザ名」のカテゴリに対応付けられ、クラスタＩＤ「２」は、「キャラクタ名」のカテゴリに対応付けられている。
【００４０】
対話制御部４は、音声認識部１の出力からユーザの発話の内容を理解し、その理解の結果に基づいて、ユーザに対する応答の制御を行う。また、対話制御部４は、音声認識部１の出力からユーザの発話の内容を理解するにあたって、必要に応じて、連想記憶部３を参照する。
【００４１】
図８は、図５の音声認識部１の構成例を示している。
【００４２】
音声認識部１は、マイクロホン４１，AD(Analog Digital)４２、特徴量抽出部４３、マッチング部４４、音声タイプライタ部４５、棄却部４６、ネットワーク生成部４７、制御部４８、音響モデルデータベース５１、辞書データベース５２、言語モデルデータベース５３、およびOOV確認用言語モデルデータベース５４より構成されている。
【００４３】
ユーザの発話は、マイクロホン４１に入力され、マイクロホン４１では、その発話が、電気信号としての音声信号に変換される。この音声信号は、AD（Analog Digital）変換部４２に供給される。AD変換部４２は、マイクロホン４１からのアナログ信号である音声信号をサンプリングし、量子化し、ディジタル信号である音声データに変換する。この音声データは、特徴量抽出部４３に供給される。
【００４４】
特徴量抽出部４３は、AD変換部４２からの音声データについて、適当なフレームごとに、例えば、スペクトル、パワー線形予測係数、ケプストラム係数、線スペクトル対等の特徴パラメータ（特徴量）を抽出し、マッチング部４４および音声タイプライタ部４５に供給する。
【００４５】
マッチング部４４は、特徴量抽出部４３からの特徴パラメータに基づき、音響モデルデータベース５１、辞書データベース５２、および言語モデルデータベース５３を必要に応じて参照しながら、マイクロホン４１に入力された音声（入力音声）を音声認識し、その音声認識結果としての単語列を、棄却部４６および制御部４８に出力する。
【００４６】
音声タイプライタ部４５は、特徴量抽出部４３から供給された特徴パラメータに基づき、音響モデルデータベース５１を参照しながら、入力音声を、音節単位で音声認識し、その音声認識結果としての音節系列を、マッチング部４４に出力するとともに、ネットワーク生成部４７にも出力する。即ち、音声タイプライタ部４５は、例えば、「私の名前は小川です。」という音声から“ワ/タ/シ/ノ/ナ/マ/エ/ハ/オ/ガ/ワ/デ/ス”という音節系列を取得する。音声タイプライタ部４５としては、既存の音声タイプライタを用いることができる。
【００４７】
なお、音声タイプライタ以外でも、任意の音声に対して音節系列を取得できるものであれば、音声タイプライタ部４５の代わりに用いることができる。例えば、日本語の音韻（a/i/u/e/o/ka/ki・・・）を単位とする音声認識や、音素、その他の、単語よりは小さな単位であるサブワードを単位とする音声認識を行う装置を用いることが可能である。
【００４８】
棄却部４６は、OOV確認用言語モデルデータベース５４を参照し、マッチング部４４から供給される音声認識結果としての単語列を棄却するか否かを判定し、判定結果にしたがい、単語列を棄却し、あるいは、ネットワーク生成部４７に出力する。
【００４９】
ネットワーク生成部４７は、棄却部４６からの単語列と、音声タイプライタ部４５からの音節系列とに基づいて、単語と音節とのネットワークである単語／音節ネットワークを生成する。すなわち、後述するような、<OOV>の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および、<OOV>の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスを有する単語／音節ネットワークを生成し、マッチング部４４に出力する。
【００５０】
制御部４８は、ＡＤ変換部４２、特徴量抽出部４３、マッチング部４４、および音声タイプライタ部４５、および棄却部４６の動作を制御する。また、制御部４８は、マッチング部４４から供給される音声認識結果に未知語が含まれるか否かの判定なども行う。
【００５１】
音響モデルデータベース５１は、音声認識する音声の言語における個々の音韻や音節などの音響的な特徴を表す音響モデルを記憶している。音響モデルとしては、例えば、HMM（Hidden Markov Model）などを用いることができる。辞書データベース５２は、認識対象の各単語（語句）について、その発音に関する情報が記述された単語辞書や、音韻や音節の連鎖関係を記述したモデルを記憶している。
【００５２】
なお、ここにおける単語とは、認識処理において１つのまとまりとして扱ったほうが都合の良い単位のことであり、言語学的な単語とは必ずしも一致しない。例えば、「タロウ君」は、それ全体を１単語として扱ってもよいし、「タロウ」、「君」という２単語として扱ってもよい。さらに、もっと大きな単位である「こんにちはタロウ君」等を１単語として扱ってもよい。
【００５３】
また、音節とは、音響的に１つの単位として扱った方が処理上都合のよいもののことであり、音声学的な音節とは必ずしも一致しない。例えば、「東京」の「とう」の部分を“ト/ウ”という２個の音節記号で表してもよいし、“ト”の長音である“ト:”という記号を用いて“ト:”と表してもよい。他にも、無音を表す記号を用意してもよく、さらにそれを「発話前の無音」、「発話に挟まれた短い無音区間」、「発話語の無音」、「「っ」の部分の無音」のように細かく分類してそれぞれに記号を用意してもよい。
【００５４】
言語モデルデータベース５３には、辞書データベース５２の単語辞書に登録されている各単語（既知語）がどのように連鎖する（接続する）かに関する言語的（文法的）な情報である言語モデルが記憶されている。
【００５５】
OOV確認用言語モデルデータベース５４には、<OOV>を含む文を確認するためのOOV確認用言語モデルが記憶されている。
【００５６】
次に、図９のフローチャートを参照して、図５の対話システムの処理について説明する。
【００５７】
ユーザが発話を行うと、ステップＳ２１において、そのユーザの音声が、音声認識部１（図８）のマイクロホン４１に入力され、マイクロホン４１は、その発話を、電気信号としての音声信号に変換して出力する。そして、ステップＳ２２において、音声認識部１は、音声認識処理を実行する。
【００５８】
音声認識処理の詳細について、図１０を参照して説明する。マイクロホン４１が出力した音声信号は、ステップＳ５１において、AD変換部４２により、ディジタル信号である音声データに変換され、特徴量抽出部４３に供給される。
【００５９】
ステップＳ５２において、特徴量抽出部４３は、AD変換部４２からの音声データを受信する。そして、特徴量抽出部４３は、ステップＳ５３に進み、AD変換部４２からの音声データから、適当なフレームごとに、例えば、スペクトル、パワー、それらの時間変化量等の特徴パラメータを抽出し、マッチング部４４と音声タイプライタ部４５に供給する。
【００６０】
ステップＳ５４において、マッチング部４４と音声タイプライタ部４５は、音声認識対象とする単語列を生成する単語列生成処理を実行する。なお、音声認識対象とする単語列を構成する単語には、辞書データベース５２に登録されている既知語だけでなく、登録されていない未知語を表わすシンボルである“<OOV>”も含まれている。この単語列生成処理について、図１１を参照して詳細に説明する。
【００６１】
ステップＳ８１において、マッチング部４４と音声タイプライタ部４５は、入力音声のある区間について、その区間の音声が、既知語であるとした場合と、<OOV>であるとした場合の両方の場合の音響スコアを計算する。即ち、マッチング部４４において、入力音声のある区間を、辞書データベース５２に登録されている既知語とマッチングさせることにより得られる音響スコアが計算されるとともに、音声タイプライタ部４５においても、その区間の音響スコアが計算される。音響スコアは、音声認識結果の候補である単語列や音節系列と入力音声とが音としてどれだけ近いかを表す。
【００６２】
次に、マッチング部４４は、入力音声のある区間と辞書データベース５２に登録されている既知語とのマッチングにより得られる音響スコアと、その区間を音声タイプライタ部４５により処理することに得られる音響スコアを比較するのであるが、既知語とのマッチングは単語単位で行われ、音声タイプライタ部４５での処理としてのマッチングは音節単位で行われ、尺度が異なっているので、そのままでは比較することが困難である（一般的には、音節単位でのマッチングの音響スコアの方が大きな値となる）。そこで、尺度を合わせて比較できるようにするために、マッチング部４４は、ステップＳ８２において、音声タイプライタ部４５により得られた音響スコアに補正をかける。
【００６３】
例えば、音声タイプライタ部４５からの音響スコアに係数を掛けたり、一定の値やフレーム長に比例した値などを減じたりする処理が行われる。勿論、この処理は相対的なものなので、既知語とのマッチングにより得られた音響スコアに対して行うこともできる。なお、この処理の詳細は、例えば、文献「"EUROSPEECH99 Volume 1, Page 49-52"」に「OOV-Detection in Large Vocabulary System Using Automatically Defined Word-Fragments as Fillers」として開示されている。
【００６４】
マッチング部４４は、ステップＳ８３において、既知語とのマッチングにより得られた音響スコアと、音声タイプライタ部４５の音響スコア（補正後の音響スコア）とを比較し、いずれの音響スコアが高いか否かを判定する。ステップＳ８３において、音声タイプライタ部４５の音響スコアの方が高いと判定された場合、ステップＳ８４に進み、マッチング部４４は、その区間（音響スコアの計算対象となった区間）を<OOV>（未知語）であると推定する。
【００６５】
一方、ステップＳ８３において、既知語とのマッチングにより得られた音響スコアの方が高いと判定された場合、ステップＳ８５に進み、マッチング部４４は、その区間を既知語であると推定する。
【００６６】
即ち、例えば、入力音声が、「ワタシノナマエハオガワデス」であり、そのうちの「オガワ」に相当する区間について、音声タイプライタ部４５の出力した“オ/ガ/ワ”の音響スコアと、既知語とのマッチングで得られた音響スコアを比較して、“オ/ガ/ワ”の音響スコアの方が高い場合は、「オガワ」に相当する区間の単語が「<OOV>（オ/ガ/ワ）」であると推定され、既知語の音響スコア（既知語とのマッチングで得られた音響スコア）の方が高い場合は、その既知語が、「オガワ」に相当する区間の単語であると推定される。
【００６７】
ステップＳ８１乃至Ｓ８５の処理は、入力音声の全区間をいくつかのパターンの区間に分けた、その、いくつかのパターンの各区間についてすべて行われ、その後ステップＳ８６に進む。
【００６８】
ステップＳ８６において、マッチング部４４は、ステップＳ８４またはＳ８５で各区間の単語と推定された単語からなる、入力音声の全区間に対応する単語列のうちの、全体の音響スコアが高くなると推測される上位ｎ個を、音声認識対象として得る。
【００６９】
図１０に戻って、ステップＳ５５において、音声タイプライタ部４５はステップＳ５４の処理とは独立して、ステップＳ５３の処理で特徴量抽出部４３が抽出した特徴パラメータに対して音韻を単位とする音声認識を行い、その結果得られる音節系列を、マッチング部４４に出力する。例えば、「私の名前は小川（未知語）です。」という音声が入力されると、音声タイプライタ部４５は、“ワ/タ/シ/ノ/ナ/マ/エ/ハ/オ/ガ/ワ/デ/ス”という音節系列を出力する。なお、ステップＳ５５では、ステップＳ５４の処理結果を利用して、音節系列を得てもよい。
【００７０】
ステップＳ５６において、マッチング部４４は、ステップＳ５４で得られた単語列ごとに音響スコアを計算する。<OOV>（未知語）を含まない単語列に対しては既存の方法、すなわち、音声の特徴パラメータに対する各単語列（単語モデルを連結したもの）の尤度を計算するという方法が用いられる。一方、<OOV>を含む単語列については、既存の方法では<OOV>に相当する音声区間の音響スコアを求めることができない（<OOV>に対応する単語モデルは事前には存在しないため）。そこで、その音声区間については、音声タイプライタ部４５の認識結果の中から同区間の音響スコアを取り出し、その値に補正をかけたものが<OOV>の音響スコアとして採用される。それは、さらに、他の既知語部分の音響スコアと統合され、それがその単語列の音響スコアとされる。
【００７１】
ステップＳ５７において、マッチング部４４は、音響スコアの高い単語列の上位ｍ個（ｍ≦ｎ）を抽出し、音声認識結果の候補である候補単語列とする。ステップＳ５８において、マッチング部４４は、言語モデルデータベース５３を参照して、候補単語列毎に、言語スコアを計算する。言語スコアは、候補単語列が言葉としてどれだけふさわしいかを表す。ここで、この言語スコアを計算する方法を説明する。
【００７２】
音声認識部１は未知語も認識するため、言語モデルは未知語に対応している必要がある。例として、未知語に対応した文法または有限状態オートマトン（FSA:Finite State Automaton）の言語モデルと、同じく未知語に対応したtri-gram（統計言語モデルの1つである）の言語モデルとについて説明する。
【００７３】
文法の例を図１２を参照して説明する。図１２の文法はBNF(Backus Naur Form)で記述されている。図１２において、“＄Ａ”は「変数」を表し、“Ａ｜Ｂ”は「ＡまたはＢ」という意味を表す。また、“［Ａ］”は「Ａは省略可能」という意味を表し、｛Ａ｝は「Ａを０回以上繰り返す」という意味を表す。
【００７４】
<OOV>は未知語を表すシンボルであり、文法中に<OOV>を記述しておくことで、未知語を含む単語列に対しても対処することができる。また、図１２において、“＄ACTION”は定義されていないが、例えば、「起立」、「着席」、「お辞儀」、「挨拶」等の動作を表す単語が定義されている。
【００７５】
マッチング部４４は、候補単語列が、図１２に示す「＜先頭＞/こんにちは/＜終端＞」（“/”は単語間の区切り）、「＜先頭＞/さようなら/＜終端＞」、「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」といった文法に当てはまる（合致する）かどうかによって、言語スコアを与える。なお、図１２において、「＜先頭＞」と「＜終端＞」はそれぞれ発話前と後の無音を表す特殊なシンボルである。
【００７６】
この文法を用いて言語スコアを計算するために、パーザ（解析機）が用いられる。パーザは、単語列を、文法を受理できる単語列と、受理できない単語列に分ける。即ち、マッチング部４４は、図１２の文法に合致する候補単語列には言語スコアとして１を与え、合致しない候補単語列には言語スコアとして０を与える。
【００７７】
したがって、例えば、「＜先頭＞/私/の/名前/は/<OOV>（タ/ロ/ウ）/です/終端＞」と、「＜先頭＞/私/の/名前/は/<OOV>（ジ/ロ/ウ）/です/＜終端＞」という２つの候補単語列があった場合、いずれも、図１２の文法「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」に合致するので、ともに言語スコアとして、例えば１が与えられる。
【００７８】
また、言語スコアの計算は、事前に文法を等価（近似でも良い）な有限状態オートマトン（以下、FSAとも称する）に変換しておき、候補単語列がそのFSAで受理できるか否かを判定することによっても行うことができる。
【００７９】
図１２の文法を等価なFSAに変換した例が、図１３に示されている。FSAは状態（ノード）とパス（アーク）とからなる有向グラフである。図１３に示されるように、Ｓ１は初期状態、Ｓ１６は終了状態である。また、“＄ACTION”には、図１２と同様に、動作を表す単語が定義されている。
【００８０】
パスには単語が付与されていて、所定の状態から次の状態にパスを介して遷移する場合、そのパスは単語を消費する。ただし、“ε”が付与されているパスを介した遷移は、単語を消費しない特別な遷移（以下、ε遷移と称する）である。即ち、例えば、初期状態Ｓ１から状態Ｓ２に遷移した場合、＜先頭＞が消費され、状態Ｓ２から状態Ｓ３へ遷移した場合、「私」が消費される。また、状態Ｓ３から状態Ｓ５へ遷移した場合は、その遷移はε遷移なので、単語は消費されない。即ち、状態Ｓ３から状態Ｓ５へスキップして、次の状態Ｓ６へ遷移することができる。
【００８１】
所定の単語列がFSAで受理できるか否かは、初期状態Ｓ１から出発して、終了状態Ｓ１６まで到達できるか否かで判定される。
【００８２】
即ち、例えば、候補単語列が、「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」であった場合、初期状態Ｓ１から状態Ｓ２へ遷移して、単語「＜先頭＞」を消費することができる。次に、状態Ｓ２から状態Ｓ３へ遷移して、単語「私」を消費することができる。以下、同様に、状態Ｓ３から状態Ｓ４へ、状態Ｓ４から状態Ｓ５へ、状態Ｓ５から状態Ｓ６へ、状態Ｓ６から状態Ｓ７へ順次遷移して、「の」、「名前」、「は」、「<OOV>」を、それぞれ消費することができる。さらに、状態Ｓ７から状態Ｓ１５へ遷移して、「です」を消費し、状態Ｓ１５から状態Ｓ１６に遷移して、「<終端>」を消費して、終了状態Ｓ１６へ到達することができる。したがって、候補単語列「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」は、そのすべての単語を消費して、終了状態Ｓ１６に到達することができるので、FSAで受理され、言語スコアとして、例えば１が与えられる。
【００８３】
一方、例えば、候補単語列が、「＜先頭＞/君/の/<OOV>/名前/＜終端＞」であった場合、状態Ｓ１から状態Ｓ２へ、状態Ｓ２から状態Ｓ８へ、状態Ｓ８から状態Ｓ９までは遷移して、「＜先頭＞」、「君」、「の」までを消費することができるが、次の単語<OOV>を消費する遷移をすることができず、終了状態Ｓ１６へ到達することはできないので、候補単語列「＜先頭＞/君/の/<OOV>/名前/＜終端＞」は、FSAで受理されず、言語スコアとして、例えば０が与えられる。
【００８４】
さらに、言語モデルとして、統計言語モデルの１つであるtri-gramを用いた場合の言語スコアを計算する例を、図１４を参照して説明する。統計言語モデルとは、その単語列の生成確率を求めて、それを言語スコアとする言語モデルである。統計言語モデルによれば、候補単語列が、例えば、図１４の第１行に示されるように、「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」であった場合、その言語スコアは、第２行に示されるように、その候補単語列の生成確率で表される。これはさらに、第３行乃至第６行で示されるように、条件付き確率の積として表される。なお、例えば、「Ｐ（の｜＜先頭＞ 私）」は、「の」の直前の単語が「私」で、「私」の直前の単語が「＜先頭＞」であるという条件の下で、「の」が出現する確率を表す。
【００８５】
tri-gramでは、図１４の第３行乃至第６行で示される式を、第７行乃至第９行で示されるように、連続する３単語の条件付き確率で近似する。連続する単語の条件付き確率の値は、図１５に示されるようなtri-gramデータベースを参照して求められる。tri-gramデータベースは、予め大量のテキストを分析して求められる。
【００８６】
図１５の例では、３つの連続する単語ｗ１，ｗ２，ｗ３が、その順で出現する条件付き確率Ｐ（ｗ３｜ｗ１ｗ２）が表されている。例えば、３つの単語ｗ１，ｗ２，ｗ３が、それぞれ、「＜先頭＞」、「私」、「の」である場合、確率Ｐ（ｗ３｜ｗ１ｗ２）の値は０．１２に、「私」、「の」、「名前」である場合、確率Ｐ（ｗ３｜ｗ１ｗ２）の値は０．０１に、「<OOV>」、「です」、「＜終端＞」である場合、確率Ｐ（ｗ３｜ｗ１ｗ２）の値は、０．８７に、それぞれなっている。
【００８７】
勿論、「Ｐ（Ｗ）」及び「Ｐ（ｗ２｜ｗ１）」についても、同様に、予め求めておく。
【００８８】
このようにして、言語モデルを、未知語のシンボル<OOV>を用いて記述しておくことで、<OOV>を含む候補単語列に対して、言語スコアを計算することができる。
【００８９】
また、他の種類の言語モデルを用いる場合も、<OOV>を用いて記述することによって、同様に<OOV>を含む候補単語列に対して、言語スコアを計算することができる。
【００９０】
さらに、<OOV>を用いずに記述された言語モデルを用いる場合でも、<OOV>を言語モデル中の適切な単語にマッピングする機構を採用することで、<OOV>を含む候補単語列の言語スコアの計算ができる。例えば、「Ｐ（<OOV>｜私 は）」が存在しないが、「Ｐ（小川｜私 は）」が存在するtri-gramにおいて、<OOV>を「小川」にマッピングすることにより、「Ｐ（<OOV>｜私 は）」の値を、「Ｐ（小川｜私は）」の値とみなして、言語スコアの計算ができる。
【００９１】
図１０に戻って、マッチング部４４は、以上のようにして、ステップＳ５８で、候補単語列それぞれの言語スコアを計算した後、ステップＳ５９に進み、候補単語列それぞれの音響スコアと言語スコアを統合する。ステップＳ６０において、マッチング部４４は、ステップＳ５９において求められた音響スコアと言語スコアの両スコアを統合したスコアに基づいて、最もよいスコアをもつ候補単語列を選択して、音声認識結果として、棄却部４６と制御部４８に出力する。
【００９２】
なお、言語モデルとして、図１２の文法や、図１３の有限状態オートマトンを使用している場合は、ステップＳ５９の統合処理を、言語スコアが０の候補単語列は削除し、言語スコアが０以外の候補単語列は残すという処理にしてもよい。
【００９３】
図９に戻って、以上のようにしてステップＳ２２で音声認識処理が実行された後、ステップＳ２３に進み、音声認識部１の制御部４８は、マッチング部４４からの音声認識結果に未知語が含まれているか否かを判定する。
【００９４】
ステップＳ２３において、音声認識結果に未知語が含まれていると判定された場合、ステップＳ２４に進み、制御部４８は、マッチング部４４からの、未知語を含む音声認識結果を、未知語の獲得に採用すべきか、または棄却すべきかを判定するように、棄却部４６を制御する。ステップＳ２４からＳ２５に進み、棄却部４６は、制御部４８の制御にしたがい、OOV確認用言語モデルデータベース５４を参照することにより、音声認識結果を棄却するか否かを判定する。
【００９５】
ステップＳ２５で棄却部４６が行う処理について、図１６を参照しながら説明する。
【００９６】
図１６は、OOV確認用言語モデルデータベース５４に記憶されているOOV確認用言語モデルを示している。OOV確認用言語モデルは、未知語を含む文の文法であり、図１６では、その文法が有限状態オートマトン（FSA）で表されている。
【００９７】
図１６のOOV確認用言語モデルとしてのFSAも、図１３における場合と同様に、状態（ノード）とパス（アーク）とからなる有向グラフである。
【００９８】
状態には単語が付与されていて、所定の状態から次の状態に遷移する場合、遷移元の状態はこの単語を消費する。なお、図１６において、Ｃ１は初期状態、Ｃ８は終了状態である。
【００９９】
棄却部４６は、音声認識結果を棄却するか否かの判定を、その音声認識結果が、図１６のOOV確認用言語モデルとしてのFSAで受理することができるか否かに基づいて行う。
【０１００】
音声認識結果が、OOV確認用言語モデルとしてのFSAで受理できるか否かは、初期状態Ｃ１から出発して、音声認識結果としての単語列の各単語を消費しながら、状態を遷移し、終了状態Ｃ８まで到達できるか否かで判定される。
【０１０１】
図１６に示したOOV確認用言語モデルでは、以下の６通りの音声認識結果が受理される。
【０１０２】
私の  名前は  <OOV>  です
私の  名前は  <OOV>  だよ
僕の  名前は  <OOV>  です
僕の  名前は  <OOV>  だよ
名前は  <OOV>  です
名前は  <OOV>  だよ
【０１０３】
棄却部４６は、図９のステップＳ２５において、マッチング部４４から供給された音声認識結果が、OOV確認用言語モデルで受理された場合に、その音声認識結果を採用すると判定し、受理されなかった場合に、音声認識結果を棄却すると判定する。
【０１０４】
なお、棄却部４６では、その他、例えば、図１４および図１５で説明したtri-gramなどの統計言語モデルを、OOV確認用言語モデルとして用いて、音声認識結果を採用するか、または棄却するかを判定するようにすることが可能である。この場合、棄却部４６では、音声認識結果に対して、統計言語モデルから得られる言語スコアが、所定の閾値以下（未満）のとき、音声認識結果を棄却すると判定され、所定の閾値より大きい（以上である）とき、音声認識結果を採用すると判定される。
【０１０５】
図９に戻り、ステップＳ２５において、音声認識結果を棄却せずに採用すると判定された場合、棄却部４６は、その音声認識結果をネットワーク生成部４７に出力し、ステップＳ２６に進む。
【０１０６】
ステップＳ２６において、ネットワーク生成部４７は、棄却部４６からの音声認識結果と、音声タイプライタ部４５で得られた音声認識結果としての音節系列に基づいて、単語／音節ネットワークを生成し、マッチング部４４に出力する。すなわち、<OOV>の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および、<OOV>の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスからなる単語／音節ネットワークが生成され、マッチング部４４に出力される。
【０１０７】
ステップＳ２７において、マッチング部４４は、音声タイプライタ部４５で得られた音声認識結果としての音節系列と、ネットワーク生成部４７から供給された単語／音節ネットワークに基づいて、ユーザから入力された音声と単語／音節ネットワークとのマッチングを行う。
【０１０８】
ここで、図１７を参照して、単語／音節ネットワークの生成と、その単語／音節ネットワークを用いたマッチングとについて説明する。
【０１０９】
例えば、ユーザから「私の名前は小川（未知語）です。」という音声がマイクロホン４１に入力され、マッチング部４４において、例えば、図１７Aに示されるように、「＜先頭＞/私/の/名前/は/<OOV>/です/＜終端＞」という単語列が、音声認識結果として得られたとする。また、音声タイプライタ部４５において、図１７Bに示されるように、“ワ/タ/シ/ノ/ナ/マ/エ/ハ/オ/ガ/ワ/デ/ス”という音節系列が、音声認識結果として得られたとする。
【０１１０】
このとき、図１７Aと図１７Bに示されるように、マッチング部４４により得られた音声認識結果である単語列の境界と、音声タイプライタ部４５により得られた音声認識結果である音節系列の境界は一般的には一致しない。例えば、図１７Aと図１７Bの場合、単語列における単語「は」と単語「<OOV>」の境界は、音節系列における音節「ハ」に対応し、単語列における単語「<OOV>」と単語「です」の境界は、音節系列における音節「ワ」に対応する。即ち、例えば、単語列における単語「は」と単語「<OOV>」の境界に注目すれば、その境界に対応する音節系列における音節「ハ」は、単語列における単語「は」と単語列における単語「<OOV>」との両方に含まれる。
【０１１１】
そこで、音声認識結果である単語列の単語と、音声認識結果である音節系列の音節とが混在した単語／音節ネットワークが生成される。すなわち、図１７Cに示すように、<OOV>の直前の境界に対応する時刻の音節を含むパスと、それを含まないパス、および<OOV>の直後の境界に対応する時刻の音節を含むパスと、それを含まないパスを有する単語／音節ネットワークが生成される。
【０１１２】
具体的には、まず、音声認識結果である単語列「私/の/名前/は/<OOV>/です」（＜先頭＞と＜終端＞とは省略）を構成する各単語を状態として、その単語である状態をパスで結ぶことにより、単語／音節ネットワークが生成される。
【０１１３】
そして、<OOV>の直前の境界に対応する単語「は」と、<OOV>の直後の境界に対応する単語「です」との間については、その間に対応する音節「ハ」、「オ」、「ガ」、「ワ」それぞれを状態として、その音節である状態がパス９２，９３，９４，１０２，１０３で結ばれる。さらに、<OOV>の直前の単語「は」を表す状態は、<OOV>の直前の境界に対応する音節「ハ」を表す状態をバイパスして、その次の音節「オ」を表す状態とパス９１で結ばれるとともに、<OOV>の直後の単語「です」を表す状態も、<OOV>の直後の境界に対応する音節「ワ」を表す状態をバイパスして、その前の音節「ガ」を表す状態とパス１０１で結ばれる。
【０１１４】
その結果、単語／音節ネットワークは、図１７Cに示されるように、単語列における単語「は」と単語「<OOV>」の境界に対応する部分において、その境界に対応する音節「ハ」を含まないパス９１、並びに、音節「ハ」を含むパス９２およびパス９３が存在し、単語列における単語「<OOV>」と単語「です」の境界に対応する部分において、その境界に対応する音節「ワ」を含まないパス１０１、並びに、音節「ワ」を含むパス１０２およびパス１０３が存在するものとなる。これにより、サブワード系列（音節系列）における<OOV>の境界を決定することなく、入力された音声に対して単語／音節ネットワーク上の、<OOV>に対応するサブワード系列を選択することができる。
【０１１５】
図１７Cの単語／音節ネットワークにおいて、<OOV>の直前の単語「は」から<OOV>の直後の単語「です」までの区間は、<OOV>の発音に対応する可能性のある音節「ハ」「オ」「ガ」「ワ」により構成されているので、この単語／音節ネットワークによれば、以下の４通りの文仮説を生成することができる。
【０１１６】
私の-名前-は-ハ-オ-ガ-ワ-です
私の-名前-は-ハ-オ-ガ-です
私の-名前-は-オ-ガ-ワ-です
私の-名前-は-オ-ガ-です
【０１１７】
図９のステップＳ２７では、マッチング部４４は、単語／音節ネットワークから得られる、上述したような文仮説それぞれと、ユーザからの入力音声（上述したような文仮説が得られた入力音声）とのマッチングを行う。そして、ステップＳ２８に進み、マッチング部４４は、ユーザからの入力音声と文仮説とのマッチングの結果に基づいて、例えば、音響スコアの最も高い文仮説を選択し、ステップＳ２９に進む。ステップＳ２９において、マッチング部４４は、ステップＳ２８において選択された文仮説に基づいて、<OOV>に対応する発音を取得する。即ち、ステップＳ２８において、上述の仮説のうちの、例えば、「私の-名前-は-オ-ガ-ワ-です」が選択された場合、ステップＳ２９では、<OOV>（の発音）として、「オ/ガ/ワ」が取得される。
【０１１８】
図１８と図１９は、以上のようにして<OOV>を取得する実験を行って得られた実験結果を示している。なお、実験の条件設定については、図４における設定と同様であるので、その説明は省略する。
【０１１９】
図１８では、<OOV>である音節系列の認識精度、置換誤り、削除誤り、および挿入誤りが、百分率で表されている。それらの詳しい説明については、図３と同様であるので、省略する。図１８の実験結果では、認識精度は、48.5%であり、図３での、サブワード系列による<OOV>発音取得方法における認識精度の40.2%と比較して向上している。また、削除誤りと挿入誤りの発生率は、それぞれ、11.6%と8.0%であり、図３での、サブワード系列による<OOV>発音取得方法における削除誤りと挿入誤りの発生率の33.3%と4.1%とを比較すると、削除誤りと挿入誤りの発生バランスが改善されている（両者の差が少なくなっている）。
【０１２０】
図１９は、１人の話者に、<OOV>である「クロサキ」を含む音声と「カズミ」を含む音声を発話してもらい、その発話から<OOV>を取得する実験を行って得られた実験結果を示している。
【０１２１】
図１９の例では、第１回目で、「クロサキ」が「クロタチ」と認識されており、「タ」と「チ」において置換誤りが発生している。また、第２回目では「クロサキ」は「オロサ」と認識されており、「ク」において削除誤りが、「オ」において置換誤りが発生している。さらに、第３回目では、「クロサキ」は「ロサキ」と認識されており、「ク」において削除誤りが発生している。また、第４回目では、「クロサキ」は「ロサキ」と認識されており、「ク」において削除誤りが発生している。「クロサキ」はまた、第５回目では「クロサキ」と認識されており、どの誤りも発生していない。
【０１２２】
「カズミ」は第１回目では、「カズミ」と認識されており、どの誤りも発生していない。第２回目では、「カズミ」は「カツニ」と認識されており、「ズ」と「ミ」において置換誤りが発生している。第３回目では、「カズミ」は「カズミ」と認識されており、どの誤りも発生していない。第４回目では、「カズミ」は「カツミ」と認識されており、「ズ」において置換誤りが発生している。第５回目では、「カズミ」は「カスミ」と認識されており、「ズ」において置換誤りが発生している。
【０１２３】
図９に戻って、さらに、ステップＳ２９において、マッチング部４４は、上述したようにして取得した<OOV>に対応する発音（未知語の発音（読み））を、その発音の区間に対応する特徴パラメータとともに、制御部４８に供給して、ステップＳ３０に進む。
【０１２４】
ステップＳ３０では、制御部４８は、マッチング部４４からの未知語の発音と特徴パラメータを、単語獲得部２（図５）に供給するとともに、単語獲得部２を制御し、単語獲得処理を実行させ、未知語を獲得させる。
【０１２５】
単語獲得処理の詳細について、図２０を参照して説明する。ステップＳ１１１において、単語獲得部２は、音声認識部１からの未知語（<OOV>）の特徴パラメータを取得する。ステップＳ１１２において、単語獲得部２は、未知語の特徴パラメータに基づき、その未知語が既獲得のクラスタに属するか否かを判定する。ステップＳ１１２において、未知語が既獲得のクラスタに属さないと判定された場合、単語獲得部２は、ステップＳ１１３に進み、その未知語に対応する新しいクラスタを生成し、そのクラスタに、ユニークなクラスタIDを付与する。そして、ステップＳ１１４において、単語獲得部２は、未知語の属するクラスタのクラスタＩＤを音声認識部１の制御部４８に出力する。
【０１２６】
一方、ステップＳ１１２において、未知語が既獲得のクラスタに属すると判定された場合、新しいクラスタを生成する必要がないので、単語獲得部２はステップＳ１１３の処理をスキップして、ステップＳ１１４に進み、未知語の属する既獲得のクラスタのクラスタＩＤを、音声認識部１の制御部４８に出力する。制御部４８は、単語獲得部２からの、未知語のクラスタIDを、その未知語の発音、およびその未知語を含む音声認識結果とともに、対話制御部４に供給する。
【０１２７】
図９に戻って、ステップＳ３０の単語獲得処理終了後、ステップＳ３１において、対話制御部４は、制御部４８からの音声認識結果である単語列が、テンプレートにマッチしているかどうかを判定する。即ち、音声認識結果の単語列が何かの名前の登録を意味するものかどうかの判定がここで行われる。そして、ステップＳ３１において、音声認識結果の単語列がテンプレートにマッチしていると判定された場合、ステップＳ３２に進み、対話制御部４は、連想記憶部３に、制御部４８からのクラスタＩＤとカテゴリを対応させて記憶させる。
【０１２８】
対話制御部４がステップＳ３１で使用するテンプレートの例を図２１を参照して説明する。なお、図２１において、“/Ａ/”は「文字列Ａが含まれていたら」という意味を表し、“Ａ｜Ｂ”は「ＡまたはＢ」という意味を表す。また、“.”は「任意の文字」を表し、“Ａ＋”は「Ａの１回以上の繰り返し」という意味を表し、“(.)＋”は「任意の文字列」を表す。
【０１２９】
図２１のテンプレート１２１は、音声認識結果の単語列が図の左側の正規表現にマッチした場合、図の右側の動作を実行させることを表している。例えば、音声認識結果が「＜先頭＞/私/の/名前/は/<OOV>（オ/ガ/ワ）/です/＜終端＞」という単語列である場合、この音声認識結果のうちの「私の名前は<OOV>」は、図２１の第２番目の正規表現にマッチする。したがって、この場合、対話制御部４では、ステップＳ３２において、対応する動作である「＜OOV>に対応するクラスタＩＤをユーザ名として登録する」処理が実行される。即ち、例えば、「<OOV>(オ/ガ/ワ)」のクラスタＩＤが「１」である場合、図７に示されるように、クラスタＩＤ「１」のカテゴリ名が「ユーザ名」として登録される。
【０１３０】
また、例えば、音声認識結果が、「＜先頭＞/君/の/名前/は/<OOV>（ア/イ/ボ）/だよ/＜終端＞」である場合、この音声認識結果のうちの「君の名前は<OOV>」は、図２１の第１番目の正規表現にマッチするので、例えば、「<OOV>(ア/イ/ボ)」がクラスタＩＤ「２」であれば、クラスタＩＤ「２」のカテゴリは、「キャラクタ名」として登録される。
【０１３１】
なお、対話システムによっては、登録する単語が1種類しかない（例えば、「ユーザ名」のみ）場合もあり、その場合は、テンプレート１２１と連想記憶部３は簡略化することができる。例えば、テンプレート１２１の内容を「音声認識結果に<OOV>が含まれていたら、そのクラスタＩＤを記憶する」として、連想記憶部３にそのクラスタＩＤのみを記憶させることができる。
【０１３２】
対話制御部４は、このようにして連想記憶部３に登録された情報を、以後の対話の判断処理に反映させる。例えば、対話システムの側で、「ユーザの発話の中に、対話キャラクタの名前が含まれているかどうかを判定する。含まれている場合は『呼びかけられた』と判断して、それに応じた返事をする」という処理や、「対話キャラクタがユーザの名前をしゃべる」という処理が必要になった場合に、対話制御部４は連想記憶部３の情報を参照することで、対話キャラクタに相当する単語（カテゴリ名が「キャラクタ名」であるエントリ）やユーザ名に相当する単語（カテゴリ名が「ユーザ名」であるエントリ）を得ることができる。
【０１３３】
一方、図９のステップＳ２３において、音声認識結果に未知語が含まれていないと判定された場合、ステップＳ２５において、音声認識結果を棄却すると判定された場合、または、ステップＳ３１において、音声認識結果がテンプレートにマッチしていないと判定された場合、ステップＳ３３に進み、対話制御部４は、入力音声に対応する応答を生成する。すなわち、この場合には、名前（未知語）の登録処理は行われず、ユーザからの入力音声に対応する所定の処理が実行される。
【０１３４】
具体的には、ステップＳ２３において、音声認識結果に未知語が含まれていないと判定された場合、即ち、音声認識結果が既知語だけで構成される場合、音声認識部１の制御部４８は、その既知語だけの音声認識結果を、対話制御部４に供給する。対話制御部４は、その既知語だけの音声認識結果に対する、例えば、応答文を生成し、合成音によって出力する。
【０１３５】
また、ステップＳ２５において、音声認識結果を棄却すると判定された場合、即ち、音声認識結果が未知語を含むが、その未知語の区間が誤って推定されたと予測される場合、音声認識部１の制御部４８は、その旨を、対話制御部４に供給する。この場合、対話制御部４は、例えば、ユーザに再度の発話を促すメッセージを生成し、合成音によって出力する。
【０１３６】
さらに、ステップＳ３１において、音声認識結果がテンプレートにマッチしていないと判定された場合、即ち、未知語を含む音声認識結果に対する応答（動作）が、図５の対話システムに設定されていない場合、対話制御部４は、例えば、ユーザの発話が理解できない旨のメッセージを生成し、合成音によって出力する。
【０１３７】
上述のように、音声認識結果に未知語が含まれている場合において、その未知語（<OOV>）の区間の推定が誤っていることが予測されるときに、音声認識結果を棄却するようにしたので、誤った未知語の獲得を防止することができる。
【０１３８】
なお、ステップＳ３２において、対話制御部３が、連想記憶部３に、未知語である名前のクラスタＩＤとカテゴリを対応させて記憶させた場合、音声認識部１では、制御部４８が、その未知語である名前の発音を、辞書データベース５２に登録することができる。これにより、その後は、音声認識部１において、未知語であった名前は、既知語として音声認識されることになる。
【０１３９】
また、図９において、ステップＳ２４およびＳ２５の処理は、ステップＳ２８の処理の直後（ステップＳ２９の処理の直前）に行っても良い。即ち、ステップＳ２３において、音声認識結果に未知語が含まれていると判定された場合には、直接、ステップＳ２６に進むようにするとともに、ステップＳ２８において、文仮説を選択した後、ステップＳ２４およびＳ２５において、その文仮説を棄却するかどうかを、上述したようにして判定し、棄却すると判定した場合にはステップＳ３３に進み、棄却しないと判定した場合にはステップＳ２９に進むようにしても良い。
【０１４０】
ところで、図９のステップＳ２２の音声認識処理において、言語モデルとして文法を用いる場合、文法の中に音声タイプライタ部４５に相当する記述も組み込むことができる。この場合の文法の例が図２２に示されている。図２２の文法１３１において、第１行目の変数“＄SYLLABLE”は、全ての音節が「または」を意味する“|”で繋がれているので、音節記号の内のどれか１つを意味し、音声タイプライタ部４５に相当する。変数"＄OOV"は“＄SYLLABLE”を０回以上繰り返すことを表している。したがって、第３行目の「は」と「です」の間の“＄OOV”は、任意の発音を受け付けることができる。
【０１４１】
この文法１３１を用いた場合の音声認識結果では、“＄OOV”に相当する部分が１以上の音節を表すシンボルで記述される。例えば、「私の名前は小川（未知語）です」の音声認識結果は「＜先頭＞/私/の/名前/は/オ/ガ/ワ/です/＜終端＞」となる。
【０１４２】
なお、以上においては、連想記憶部３において、未知語に関連する情報として、カテゴリを登録するようにしたが、その他の情報を登録するようにしてもよい。また、図９のフローチャートにおけるステップＳ３０は、省略してもよく、ステップＳ３０が省略された場合には、ステップＳ３２における処理は、対話制御部４が連想記憶部３にサブワード系列（未知語の発音）とカテゴリを対応させて記憶させるという処理になる。
【０１４３】
さらに、以上の実施の形態においては、ネットワーク生成部４７において、図１７Cに示されるように、音節と単語の単語／音節ネットワークを形成するようにしたが、その他、音節に限らず、音素、音韻等の、音節以外のサブワードと単語とのネットワークを生成することができる。
【０１４４】
次に、図２３は、図５の音声認識部１の他の構成例を示している。なお、図中、図８における場合と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。即ち、図２３の音声認識部１は、OOV確認用言語モデルデータベース５４が設けられておらず、棄却部４６に代えて、棄却部３４６が設けられている他は、図８における場合と同様に構成されている。
【０１４５】
棄却部３４６は、マッチング部４４から供給される音声認識結果の正解確信度（confidence measure）を算出し、その正解確信度に基づいて、音声認識結果を棄却するか否かを判定する。
【０１４６】
以上のように構成される図２３の音声認識部１では、図９のステップＳ２５において、マッチング部４４からの、未知語を含む音声認識結果を棄却するか否かの判定が、次のようにして行われる。
【０１４７】
即ち、棄却部３４６は、マッチング部４４からの、未知語を含む音声認識結果における未知語に隣接する既知語、つまり、未知語の直前の単語と、未知語の直後の単語のそれぞれの正解確信度を計算する。ここで、単語の正解確信度は、その単語の、音声認識結果としての確からしさ（信頼性）を表し、その計算方法については、後述する。
【０１４８】
棄却部３４６は、例えば、音声認識結果に含まれる未知語（<OOV>）の直前の単語と、未知語の直後の単語との正解確信度が、いずれも、所定の閾値以上である（より大きい）場合、その音声認識結果を採用すると判定する。また、棄却部３４６は、例えば、音声認識結果に含まれる未知語の直前の単語と、未知語の直後の単語との正解確信度のうちのいずれかが、所定の閾値未満（以下）である場合、その音声認識結果を棄却すると判定する。
【０１４９】
なお、棄却部３４６においては、その他、例えば、音声認識結果に含まれる未知語の直前の単語と未知語の直後の単語との正解確信度の平均値と、所定の閾値との大小関係に基づいて、音声認識結果を棄却するか否かを判定することができる。また、棄却部３４６では、音声認識結果に含まれる未知語の直前の単語と未知語の直後の単語とのうちの一方の単語の正解確信度と、所定の閾値との大小関係に基づいて、音声認識結果を棄却するか否かを判定することもできる。さらに、棄却部３４６では、音声認識結果に含まれる未知語の前の２以上の単語や、未知語の後の２以上の単語の正解確信度、あるいは音声認識結果の正解確信度と、所定の閾値との大小関係に基づいて、音声認識結果を棄却するか否かを判定することもできる。
【０１５０】
ここで、上述したように、図１６で説明した有限状態オートマトン(FSA）を、OOV確認用言語モデルとして用い、そのOOV確認用言語モデルに基づいて、音声認識結果を棄却するか否かを判定する場合には、OOV確認用言語モデルとしてのFSAに、音声認識結果が受理されなければ、音声認識結果が棄却されるので、ユーザが、未知語である自身の名前等を登録するときの発話が、FSAによって制約されるが、未知語の区間の推定が誤っているおそれがある音声認識結果を、厳密に棄却することができる。
【０１５１】
一方、統計言語モデルを、OOV確認用言語モデルとして用い、そのOOV確認用言語モデルに基づいて、音声認識結果を棄却するか否かを判定する場合や、音声認識結果の正解確信度に基づいて、その音声認識結果を棄却するか否かを判定する場合には、未知語の区間の推定が誤っているおそれがある音声認識結果を棄却し損なうことがあり得るが、ユーザが、未知語である自身の名前等を登録するときの発話の自由度を高くすることができる。
【０１５２】
なお、未知語を含む音声認識結果を棄却するか否かの判定は、上述した方法を組み合わせて行うことが可能である。即ち、例えば、有限状態オートマトン(FSA)を、OOV確認用言語モデルとして用い、そのOOV確認用言語モデルに基づいて、音声認識結果を棄却するか否かを判定し、音声認識結果を棄却せずに採用すると判定された場合には、さらに、その採用された音声認識結果の正解確信度に基づいて、その音声認識結果を棄却するか否かを最終的に判定することができる。
【０１５３】
次に、図２３の棄却部３４６は、上述したように、音声認識結果（の単語）の正解確信度に基づいて、その音声認識結果を棄却するかどうかを判定するが、この正解確信度の計算方法について説明する。
【０１５４】
正解確信度は、音声認識結果（の単語）が、どれだけ確からしいか（信頼性）を表す。従って、未知語を含む音声認識結果における、その未知語に隣接する既知語（未知語の直前の単語と、未知語の直後の単語）の正解確信度がある程度高ければ、その既知語は、音声認識結果として、ある程度確からしいので、その既知語の間が未知語（の区間）であることも確からしいということになる。逆に、音声認識結果における未知語に隣接する既知語の正解確信度が低ければ、その既知語は、音声認識結果として確からしくないので、その既知語の間が未知語（の区間）であることも確からしくないということになる。
【０１５５】
よって、図２３の棄却部３４６において、音声認識結果における未知語に隣接する既知語の正解確信度に基づいて、その音声認識結果を棄却することにより、未知語（<OOV>）の区間の推定が誤っていることが予測される音声認識結果が棄却され、これにより、誤った未知語の獲得を防止することができる。
【０１５６】
例えば、マッチング部４４が、HMMによる音声認識を行う場合、棄却部４４６では、次のようにして、正解確信度が計算される。
【０１５７】
即ち、一般的に、ＨＭＭ音響モデルによる音声認識では、音素や音節などを認識の基本単位として、単語モデルは、音素や音節などのHMMの連結としてモデル化される。音声認識において、認識エラー（誤認識）は、入力された音声信号を正確な音素単位や音節単位等に分離していないことによって生じることがある。逆に言えば、入力された音声信号について、音素単位等に分離する境界（位置）が正確に決定されていれば、正確な音素等の認識、さらには、正確な単語や文の認識を行うことができる。
【０１５８】
そこで、音声認識結果が、入力された音声信号に対して、音素単位等に正確に境界を決定しているかどうかを検証する尺度としての音素境界検証尺度関数PBVMを導入する。そして、音声認識結果（単語列）について、音素境界検証尺度関数PBVMを音素単位で求め、その音素単位の音素境界検証尺度関数PBVMを、単語単位、または文単位に拡張し、単語または文の正解確信度とする。従って、正解確信度は、単語および文（音声認識結果の全体）のどちらに対しても求めることができる。
【０１５９】
音素境界検証尺度関数PBVMは、例えば次のようにして算出する。
【０１６０】
即ち、音声認識結果（単語列）の、ある音素ｋと次の音素ｋ＋１との間の境界を音素境界ｋとして、音素境界ｋの左右（音素境界ｋの時系列で前後）それぞれのコンテキストを定義する。ここで、音素境界ｋの左右（前後）それぞれのコンテキストの定義としては、例えば、図２４乃至図２６に示す３つのいずれかを採用することができる。
【０１６１】
即ち、図２４は、音素境界ｋの左右（前後）の２つのコンテキストの第１の定義の例を示している。
【０１６２】
図２４では、音声認識結果における音素ｋ，ｋ＋１，およびｋ＋２、並びに、音素ｋとｋ＋１との境界である音素境界ｋ、および音素ｋ＋１とｋ＋２との境界である音素境界ｋ＋１が示されている。また、音素kおよびｋ＋１については、音声信号のフレームの区切りが、点線で示されており、例えば、音素ｋの最後のフレームがフレームｉ、音素ｋ＋１の最初のフレームがフレームｉ＋１となっている。さらに、音素ｋでは、ＨＭＭ状態（ＨＭＭの状態）が状態ａ，ｂ，ｃと遷移し、音素ｋ＋１では、ＨＭＭ状態が状態a’，ｂ’，ｃ’と遷移している。
【０１６３】
なお、図２４（後述する図２５および図２６も同様）における実線の曲線は、例えば、音声信号のパワーの推移を表す。
【０１６４】
音素境界ｋの左右（前後）の２つのコンテキストの第１の定義では、図２４に示すように、音素境界ｋの左（音素境界ｋより時系列で前）のコンテキストは、音素ｋの最後のＨＭＭ状態である状態ｃに対応する全フレーム（フレーム（ｉ−４）乃至フレームｉ）からなり、音素境界ｋの右（音素境界ｋより時系列で後）のコンテキストは、音素ｋ＋１の最初のＨＭＭ状態である状態ａ’に対応する全フレーム（フレーム（ｉ＋１）乃至フレーム（ｉ＋４））からなる。
【０１６５】
図２５は、音素境界ｋの左右（前後）の２つのコンテキストの第２の定義の例を示している。なお、図２５において、図２４と対応する部分については、同様の符号が付してあり、その説明は適宜省略する（後述する図２６も同様）。
【０１６６】
音素境界ｋの左右（前後）の２つのコンテキストの第２の定義では、図２５に示すように、音素境界ｋの左のコンテキストは、音素ｋの最後から２番目のＨＭＭ状態である状態ｂに対応する全フレームからなり、音素境界ｋの右のコンテキストは、音素ｋ＋１の２番目のＨＭＭ状態である状態ｂ’に対応する全フレームからなる。
【０１６７】
図２６は、音素境界ｋの左右（前後）の２つのコンテキストの第３の定義の例を示している。
【０１６８】
音素境界ｋの左右（前後）の２つのコンテキストの第３の定義では、図２６に示すように、音素境界ｋの左のコンテキストは、フレーム（ｉ−ｎ）乃至フレームｉからなり、音素境界ｋの右のコンテキストは、フレーム（ｉ＋１）乃至フレーム（ｉ＋ｍ）からなる。ここで、ｎおよびｍは、１以上の任意の整数である。
【０１６９】
次に、その２つのコンテキストの類似度を表す類似度関数を求めるが、そのために、コンテキストを表すベクトルを導入する。
【０１７０】
例えば、音声認識（マッチング）を行うために、音声の特徴量として、スペクトルがフレームの単位で抽出されるものとすると、コンテキストのベクトル（コンテキストを表すベクトル）としては、例えば、そのコンテキストを構成する各フレームから得られるスペクトルの係数を要素とするベクトルの、コンテキストを構成する全フレームについての平均ベクトルを採用することができる。
【０１７１】
２つのコンテキストのベクトルをｘとｙとするとき、ベクトルｘとｙの類似度関数ｓ（ｘ，ｙ）は、例えば、次式（１）で表すことができる。
【０１７２】
【数１】
2006038895.tif 000003
・・・・・・・・・・（１）
【０１７３】
式（１）において、‖ｘ‖は、ベクトルｘのベクトル空間上のノルムを表し（‖ｙ‖も同様）、ｘｔは、ベクトルｘの転置を表す。なお、式（１）の類似度関数ｓ（ｘ，ｙ）は、ベクトルｘとｙの内積ｘｔｙを、ベクトルｘとｙの大きさの積‖ｘ‖・‖ｙ‖で除算したものであるから、２つのベクトルｘとｙとの角度（cosθ）を意味する。
【０１７４】
ここで、類似度関数ｓ（ｘ，ｙ）は、その値が小さいほど、ベクトルｘとｙとが類似していることを表す。
【０１７５】
ある音素境界ｋの音素境界検証尺度関数PBVM（ｋ）は、類似度関数ｓ（ｘ，ｙ）を用いて、式（２）で表すことができる。
【０１７６】
【数２】
2006038895.tif 000004
・・・・・・・・・・（２）
【０１７７】
なお、類似度関数ｓ（ｘ，ｙ）の他に、２つのベクトルｘとｙとの類似度を求める関数としては、２つのベクトルｘとｙとの距離を表す距離関数ｄ（ｘ，ｙ）（但し、ｄ（ｘ，ｙ）は、−１乃至１の範囲に正規化されるものとする）も考えられる。この場合、音素ｋの音素境界検証尺度関数PBVM（ｋ）は、式（３）のように表すことができる。
【０１７８】
【数３】
2006038895.tif 000005
・・・・・・・・・・（３）
【０１７９】
なお、音素境界ｋにおけるコンテキストのベクトルx，yとしては、そのコンテキストを構成する各フレームのスペクトルを表すベクトル（フレームから得られるスペクトルの係数を要素とするベクトル）の、コンテキストを構成する全フレームの平均値（平均ベクトル）の他、コンテキストを構成するフレームのうちの、例えば、音素境界ｋに最も近いフレームのスペクトルを表すベクトルから、コンテキストを構成するフレームのスペクトルを表すベクトルの、全フレームについての平均値を減算して得られるベクトルなどを採用することが可能である。また、HMMにおける特徴量の出力確率密度関数がガウス分布を用いて表される場合には、例えば、コンテキストを構成するフレームに対応するHMM状態における出力確率密度関数を表すガウス分布を定義する平均ベクトルから音素境界ｋにおけるコンテキストのベクトルx，yを求めることが可能である。
【０１８０】
上述の式（２）または式（３）で求められる、音素境界ｋの音素境界検証尺度関数PBVM（ｋ）は、変数ｋに対して、０乃至１の間の値を持つ連続関数となり、PBVM（ｋ）＝０は、音素境界ｋの左右のコンテキストのベクトルが、互いに同一方向であることを意味する。即ち、音素境界検証尺度関数PBVM（ｋ）の関数値が０である場合、音素境界ｋは、実際の音素境界ではなく、認識エラーが生じ得ることを表している。
【０１８１】
一方、音素境界検証尺度関数PBVM（ｋ）の関数値が１である場合、音素境界ｋの左右のコンテキストのベクトルが、互いに反対方向であることを意味し、音素境界ｋは、音声信号中の正確な音素境界であり得ることを表している。
【０１８２】
以上のように、０乃至１の範囲の音素境界検証尺度関数PBVM（ｋ）は、音素境界ｋが実際の音素境界である尤度を表す。
【０１８３】
次に、音声認識結果としての単語列の各単語は、複数の音素で構成されるので、その正解確信度は、その単語を構成する音素の音素境界検証尺度関数PBVMから演算することができる。
【０１８４】
即ち、単語の正解確信度としては、例えば、単語の各音素の音素境界検証尺度関数PBVMの平均値、単語の各音素の音素境界検証尺度関数PBVMの最小値、単語の各音素の音素境界検証尺度関数PBVMの最大値と最小値の差、単語の各音素の音素境界検証尺度関数PBVMの標準偏差、単語の各音素の音素境界検証尺度関数PBVMの変動係数（標準偏差を平均値で除算した値）などを採用することができる。
【０１８５】
音声認識結果としての単語列の全体の正解確信度も、単語の正解確信度と同様にして求めることができる。
【０１８６】
即ち、音声認識結果として、例えば、「The weather yesterday is nice」が得られ、単語The, weather, yesterday, is, niceについて、正解確信度0.90, 0.86, 0.13, 0.81, 0.95が、それぞれ得られたとし、音声認識結果の正解確信度として、例えば、その音声認識結果としての単語列の各単語の正解確信度のうちの最小値を採用することとすると、音声認識結果「the weather yesterday is nice」の正解確信度は、単語「yesterday」の正解確信度である0.13となる。また、音声認識結果の正解確信度として、例えば、その音声認識結果としての単語列の各単語の正解確信度の平均値を採用することとすると、音声認識結果「the weather yesterday is nice」の正解確信度は、単語「The」，「weather」，「yesterday」，「is」，「nice」のそれぞれの正解確信度0.90，0.86，0.13，0.81，0.95の平均値である0.73になる。
【０１８７】
なお、上述の場合には、音声認識結果としての単語列を構成する各単語の正解確信度から、その音声認識結果の正解確信度を求めるようにしたが、音声認識結果の正解確信度は、その他、例えば、その音声認識結果としての単語列を構成する各単語の音素境界についての音素境界検証尺度関数PBVMを直接用いて求めることもできる。
【０１８８】
また、正解確信度としては、特開平９−２５９２２６号公報に記載されているように、音声認識結果とする第１位の候補と、次の第２位の候補とのスコアの差を採用することも可能である。さらに正解確信度は、ＨＭＭから計算されるフレームごとの音響スコアや、ニューラルネットワークを用いて計算することも可能である。
【０１８９】
次に、上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、単語／音節ネットワークや記録媒体からインストールされる。
【０１９０】
この記録媒体は、図２７に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディス１７１、光ディスク１７２、光磁気ディスク１７３、もしくは半導体メモリ１７４などよりなるパッケージメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM１５２や、記憶部１５８に含まれるハードディスクなどで構成される。
【０１９１】
図２７は、図５の対話システムの処理をソフトウェアにより実行するパーソナルコンピュータ１５０の構成例を示している。このパーソナルコンピュータ１５０は、CPU（Central Processing Unit）１５１を内蔵している。CPU１５１にはバス１５４を介して、入出力インタフェース１５５が接続されている。バス１５４には、ROM(Read Only Memory)１５２およびRAM(Random Access Memory)１５３が接続されている。
【０１９２】
入出力インタフェース１５５には、ユーザが操作するマウス、キーボード、マイクロホン、AD変換器等の入力デバイスで構成される入力部１５７、およびディスプレイ、スピーカ、DA変換器等の出力デバイスで構成される出力部１５６が接続されている。さらに、入出力インタフェース１５５には、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１５８、並びにインタネットに代表される単語／音節ネットワークを介してデータを通信する通信部１５９が接続されている。
【０１９３】
入出力インタフェース１５５には、磁気ディスク１７１、光ディスク１７２、光磁気ディスク１７３、半導体メモリ１７４などの記録媒体に対してデータを読み書きするドライブ１６０が必要に応じて接続される。
【０１９４】
このパーソナルコンピュータ１５０に本発明を適用した音声処理装置としての動作を実行させる音声処理プログラムは、磁気ディスク１７１（フロッピディスクを含む）、光ディスク１７２(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク１７３（MD(Mini Disc)を含む）、もしくは半導体メモリ１７４に格納された状態でパーソナルコンピュータ１５０に供給され、ドライブ１６０によって読み出されて、記憶部１５８に内蔵されるハードディスクドライブにインストールされる。記憶部１５８にインストールされた音声処理プログラムは、入力部１５７に入力されるユーザからのコマンドに対応するCPU１５１の指令によって、記憶部１５８からRAM１５３にロードされて実行される。
【０１９５】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１９６】
また、本明細書において、システムとは、複数の装置が論理的に集合したものをいい、各構成の装置が同一筐体中にあるか否かは問わない。
【図面の簡単な説明】
【０１９７】
【図１】単語列の境界とサブワード系列の境界の不一致を説明する図である。
【図２】サブワード系列による<OOV>発音取得方法を説明する図である。
【図３】サブワード系列による<OOV>発音取得方法の実験結果を示す図である。
【図４】サブワード系列による<OOV>発音取得方法を用いた実験の条件を示す図である。
【図５】本発明を適用した対話システムの一実施の形態の構成例を示すブロック図である。
【図６】特徴量空間を示す図である。
【図７】連想記憶部３の記憶内容を示す図である。
【図８】音声認識部１の構成例を示すブロック図である。
【図９】対話システムの動作を説明するためのフローチャートである。
【図１０】ステップＳ２２の音声認識処理の詳細を説明するためのフローチャートである。
【図１１】ステップＳ５４の単語列生成処理の詳細を説明するためのフローチャートである。
【図１２】言語モデルデータベース５３の言語モデルの例を示す図である。
【図１３】有限状態オートマトンによる言語モデルの例を示す図である。
【図１４】tri-gramを用いた言語スコアの計算の例を示す図である。
【図１５】tri-gramデータベースの例を示す図である。
【図１６】有限状態オートマトンによるOOV確認用言語モデルの例を示す図である。
【図１７】単語／音節ネットワークの生成について説明する図である。
【図１８】単語／音節ネットワークを用いてOOVを取得した実験結果を示す図である。
【図１９】単語／音節ネットワークを用いてOOVを取得した実験結果を示す図である。
【図２０】ステップＳ２８の単語獲得処理の詳細を説明するためのフローチャートである。
【図２１】テンプレートの例を示す図である。
【図２２】音声タイプライタ部４５を組み込んだ文法の例を示す図である。
【図２３】音声認識部１の他の構成例を示すブロック図である。
【図２４】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図２５】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図２６】音素境界ｋの左右の２つのコンテキストの定義を説明する図である。
【図２７】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
【０１９８】
１  音声認識部，  ２  連想記憶部，  ３  対話制御部，  ４  単語獲得部２１  マイクロホン，  ４２  AD変換部，  ４３  特徴量抽出部，  ４４  マッチング部，  ４５  音声タイプライタ部，  ４６  棄却部，  ４７  ネットワーク生成部，  ４８  制御部，  ５１  音響モデルデータベース，  ５２  辞書データベース，  ５３  言語モデルデータベース，  ５４  OOV確認用言語モデルデータベース，  ３４６  棄却部
【図１】
2006038895.tif 000006
【図２】
2006038895.tif 000007
【図３】
2006038895.tif 000008
【図４】
2006038895.tif 000009
【図５】
2006038895.tif 000010
【図６】
2006038895.tif 000011
【図７】
2006038895.tif 000012
【図８】
2006038895.tif 000013
【図９】
2006038895.tif 000014
【図１０】
2006038895.tif 000015
【図１１】
2006038895.tif 000016
【図１２】
2006038895.tif 000017
【図１３】
2006038895.tif 000018
【図１４】
2006038895.tif 000019
【図１５】
2006038895.tif 000020
【図１６】
2006038895.tif 000021
【図１７】
2006038895.tif 000022
【図１８】
2006038895.tif 000023
【図１９】
2006038895.tif 000024
【図２０】
2006038895.tif 000025
【図２１】
2006038895.tif 000026
【図２２】
2006038895.tif 000027
【図２３】
2006038895.tif 000028
【図２４】
2006038895.tif 000029
【図２５】
2006038895.tif 000030
【図２６】
2006038895.tif 000031
【図２７】
2006038895.tif 000032