(57)【要約】【課題】統計的言語モデルの情報のみを用いることで、入力データが想定されたドメインの範囲外であることを検出し得る、検出装置、検出方法、及びプログラム、更には、音声認識装置を提供する。【解決手段】入力データとして入力された単語列又は文字列の中から、予め想定されたドメインの範囲外にあるデータを検出する検出装置１０を用いる。検出装置１０は、入力データから、統計的言語モデル１４を用いて、言語的確からしさである言語スコアを計算し、更に、言語スコアの計算時に平滑化処理を行って、平滑化処理に関する情報を出力する言語スコア計算部１３と、平滑化処理に関する情報を用いて、入力データが、予め想定されたドメインの範囲外にあるかどうかを判定する判定部１５とを備えている。【選択図】図１
2010191046.tif 000002
【特許請求の範囲】
【請求項１】
入力データとして入力された単語列又は文字列の中から、予め想定されたドメインの範囲外にあるデータを検出する検出装置であって、
前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力する言語スコア計算部と、
前記平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定する判定部とを、
備えることを特徴とする検出装置。
【請求項２】
前記平滑化処理に関する情報が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合を含み、
前記判定部が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合と、予め設定された閾値とを対比し、対比の結果に基づいて判定を行う、請求項１に記載の検出装置。
【請求項３】
前記言語スコア計算部が、前記統計的言語モデルとして、Ｎグラム言語モデルを用いる、請求項１または２に記載の検出装置。
【請求項４】
前記言語スコア計算部が、前記平滑化処理として、バックオフ補間法を実行する、請求項１〜３のいずれかに記載の検出装置。
【請求項５】
前記入力データを当該検出装置に入力する入力装置と、前記判定部による判定の結果を出力する出力装置とに接続されている、請求項１〜４のいずれかに記載の検出装置。
【請求項６】
前記入力データが、音声データを音声認識することによって得られた単語列である、請求項１〜５のいずれかに記載の検出装置。
【請求項７】
入力された音声データに対して音声認識を行う音声認識部と、
前記音声認識によって得られた単語列に対して、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力する言語スコア計算部と、
前記平滑化処理に関する情報を用いて、前記単語列に含まれる単語が、予め想定されたドメインの範囲外にあるかどうかを判定する判定部とを、
備えることを特徴とする音声認識装置。
【請求項８】
前記音声認識部が、前記音声認識によって音響距離を算出し、
当該音声認識装置が、更に、単語仮説生成部を備え、
前記単語仮説生成部は、前記音響距離に基づいて、単語仮説を生成し、生成した前記単語仮説の連鎖を前記単語列として前記言語スコア計算部に入力し、
更に、前記音響距離と前記言語スコアとを用いて、前記単語仮説の連鎖のうち、最も確からしいものを特定し、これを前記音声認識の結果として出力する、請求項７に記載の音声認識装置。
【請求項９】
前記判定部が、前記単語仮設の連鎖のうち最も確からしいものに対しての、平滑化処理に関する情報を用いて、判定を行う、請求項８に記載の音声認識装置。
【請求項１０】
前記判定部が、前記言語スコアの計算を行った全ての単語または単語列に対しての、平滑化処理に関する情報を用いて、判定を行う、請求項７または８に記載の音声認識装置。
【請求項１１】
前記平滑化処理に関する情報が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合を含み、
前記判定部が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合と、予め設定された閾値との対比し、対比結果に基づいて判定を行う、請求項７〜１０のいずれかに記載の音声認識装置。
【請求項１２】
前記言語スコア計算部が、前記統計的言語モデルとして、Ｎグラム言語モデルを用いる、請求項７〜１１のいずれかに記載の音声認識装置。
【請求項１３】
前記言語スコア計算部が、前記平滑化処理として、バックオフ補間法を実行する、請求項７〜１２のいずれかに記載の音声認識装置。
【請求項１４】
入力データとして入力された単語列又は文字列の中から、予め想定されたドメインの範囲外にあるデータを検出するための検出方法であって、
（ａ）前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力するステップと、
（ｂ）前記（ａ）のステップで得られた平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定するステップとを、
有することを特徴とする検出方法。
【請求項１５】
前記（ａ）のステップで得られる平滑化処理に関する情報が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合を含み、
前記（ｂ）のステップで、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合と、予め設定された閾値とを対比し、対比の結果に基づいて判定を行う、請求項１４に記載の検出方法。
【請求項１６】
前記（ａ）のステップで、前記統計的言語モデルとして、Ｎグラム言語モデルを用いる、請求項１４または１５に記載の検出方法。
【請求項１７】
前記（ａ）のステップで、前記平滑化処理として、バックオフ補間法を実行する、請求項１４〜１６のいずれかに記載の検出方法。
【請求項１８】
前記入力データが、音声データを音声認識することによって得られた単語列である、請求項１４〜１７のいずれかに記載の検出方法。
【請求項１９】
入力データとして入力された単語列又は文字列の中からの、予め想定されたドメインの範囲外にあるデータの検出を、コンピュータによって実行するためのプログラムであって、
前記コンピュータに、
（ａ）前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力するステップと、
（ｂ）前記（ａ）のステップで得られた平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定するステップとを、
実行させることを特徴とするプログラム。
【請求項２０】
前記（ａ）のステップで得られる平滑化処理に関する情報が、前記平滑化処理が行われた頻度又は前記平滑化処理が行われる割合を含み、  前記（ｂ）のステップで、前記平滑
化処理が行われた頻度又は前記平滑化処理が行われる割合と、予め設定された閾値とを対比し、対比の結果に基づいて判定を行う、請求項１９に記載のプログラム。
【請求項２１】
前記（ａ）のステップで、前記統計的言語モデルとして、Ｎグラム言語モデルを用いる、請求項１９または２０に記載のプログラム。
【請求項２２】
前記（ａ）のステップで、前記平滑化処理として、バックオフ補間法を実行する、請求項１９〜２１のいずれかに記載のプログラム。
【請求項２３】
前記入力データが、音声データを音声認識することによって得られた単語列である、請求項１９〜２２のいずれかに記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力されたデータが想定されたドメインの範囲外である場合に、それを検出する検出装置、検出方法、及びプログラムに関し、更には、当該検出装置を用いた音声認識装置に関する。
【背景技術】
【０００２】
音声認識に代表される自然言語処理の分野においては、多くの場合、言語的確からしさを与える統計的言語モデルが用いられる。統計的言語モデルの中でも、大量のコーパスから単語のつながりやすさを学習するＮｇｒａｍ（Ｎグラム）言語モデルは、広く用いられている。
【０００３】
Ｎｇｒａｍ言語モデルは、ある単語がコーパスに存在する場合に、その単語と直前の単語とのＮ個の単語の連鎖の頻度を学習する。但し、コーパス量が不十分であった場合には、Ｎｇｒａｍ言語モデルにおける学習が不十分となり、例えば、音声認識処理における認識精度が低下してしまう。このため、バックオフ（Back-off）補間法のようなＮｇｒａｍ言語モデルを補間する方法（平滑化処理）が提案されている。バックオフ補間法は、Ｎ−１あるいはＮ−２など下位の単語連鎖を用いて補間を行う方法である（例えば、非特許文献１参照。）。
【０００４】
ところで、統計的言語モデルが、ある特定の話題、分野、場面等（以下、これらを総じて「ドメイン」という。）に特化して、即ち、ドメイン依存言語モデルとして作成されていれば、これを使用することで、音声認識における認識精度の向上が期待できる。しかし、ドメイン依存言語モデルを使用した音声認識では、対象として想定されたドメインから外れた発話（以下「ドメイン外発話」という。）が入力された場合に、逆に、音声認識における認識精度が劣化することが予想される。
【０００５】
そこで、ドメイン外発話が入力された場合に、そのドメイン外発話を検出する検出装置が提案されている（例えば、特許文献１参照。）。特許文献１に開示の検出装置は、発話セットと、クラス分類器と、ドメイン検証器とを利用して、ドメイン外発話を検出する。発話セットは、ドメイン依存言語モデルのドメインに対応する発話を含むデータの集合であり、トピックが異なる複数個の発話セットに分割されている。
【０００６】
クラス分類器は、ＳＶＭ（Support Vector Machine）を学習し、入力された発話がいずれかの発話セットに属する可能性を数値で示す信頼度尺度を出力する。ＳＶＭは、発話セット毎に用意され、各ＳＶＭは、対応する発話セットのトピックに属する文と、それ以外のトピックに属する文とによってトレーニングされ、上記信頼度尺度を出力可能となっている。ドメイン検証器は、信頼度尺度から、入力発話が対象ドメインに含まれるかどうかを判定する。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−１６４８３６号公報
【非特許文献】
【０００８】
【非特許文献１】“Estimation of Probabilities from Sparse Data for the Language Model Component of a Speech Recognizer”, IEEE. Trans. ASSP, vol. 35, no. 3, March 1987, pp. 400 - 401
【発明の概要】
【発明が解決しようとする課題】
【０００９】
上記の特許文献１に開示された検出装置を用いれば、入力された発話が、事前にドメイン外発話であるかどうかを判定できるので、ドメイン依存言語モデルを用いた音声認識における認識精度の向上が図られると期待される。
【００１０】
しかしながら、上記の特許文献１に開示された検出装置においては、予め、対象ドメインに対応する発話データを用意し、更に、これをトピック毎に複数のセットに分割する必要がある。また、統計的言語モデルとは別にクラス分類器を用意し、これに対して学習を行う必要もある。このように、上記の特許文献１に開示された検出装置には、利用に際して多くの制約があり、これを用いた自然言語処理システムの構成の複雑化や、利用の煩雑化が生じ得る。
【００１１】
本発明の目的は、上記問題を解消し、統計的言語モデルの情報のみを用いることで、入力データが想定されたドメインの範囲外であることを検出し得る、検出装置、検出方法、及びプログラム、更には、音声認識装置を提供することにある。
【課題を解決するための手段】
【００１２】
上記目的を達成するために本発明における検出装置は、入力データとして入力された単語列又は文字列の中から、予め想定されたドメインの範囲外にあるデータを検出する検出装置であって、
前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力する言語スコア計算部と、
前記平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定する判定部とを、
備えることを特徴とする。
【００１３】
また、上記目的を達成するため本発明における音声認識装置は、入力された音声データに対して音声認識を行う音声認識部と、
前記音声認識によって得られた単語列に対して、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力する言語スコア計算部と、
前記平滑化処理に関する情報を用いて、前記単語列に含まれる単語が、予め想定されたドメインの範囲外にあるかどうかを判定する判定部とを、
備えることを特徴とする。
【００１４】
更に、上記目的を達成するため本発明における検出方法は、入力データとして入力された単語列又は文字列の中から、予め想定されたドメインの範囲外にあるデータを検出するための検出方法であって、
（ａ）前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力するステップと、
（ｂ）前記（ａ）のステップで得られた平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定するステップとを、
有することを特徴とする。
【００１５】
また、上記目的を達成するため本発明におけるプログラムは、入力データとして入力された単語列又は文字列の中からの、予め想定されたドメインの範囲外にあるデータの検出
を、コンピュータによって実行するためのプログラムであって、
前記コンピュータに、
（ａ）前記入力データから、前記統計的言語モデルを用いて、言語的確からしさである言語スコアを計算し、更に、前記言語スコアの計算時に平滑化処理を行って、前記平滑化処理に関する情報を出力するステップと、
（ｂ）前記（ａ）のステップで得られた平滑化処理に関する情報を用いて、前記入力データが、前記予め想定されたドメインの範囲外にあるかどうかを判定するステップとを、
実行させることを特徴とする。
【発明の効果】
【００１６】
以上の特徴により、検出装置、検出方法、及びプログラム、更には、音声認識装置によれば、統計的言語モデルの情報のみを用いることで、入力データが想定されたドメインの範囲外であることを検出できる。
【図面の簡単な説明】
【００１７】
【図１】図１は、本発明の実施の形態における検証装置の概略構成を示すブロック図である。
【図２】図２は、本発明の実施の形態における検証方法及び検証装置の動作を示すフロー図である。
【図３】図３は、本発明の実施例における音声認識装置の概略構成を示すブロック図である。
【図４】図４は、本発明の実施例における音声認識装置の動作を示すフロー図である。
【発明を実施するための形態】
【００１８】
（実施の形態）
以下、本発明の実施の形態における検証装置、検証方法、及びこれらを実現するためのプログラムについて、図１及び図２を参照しながら説明する。最初に、図１を用いて、本実施の形態における検証装置の構成を説明する。図１は、本発明の実施の形態における検証装置の概略構成を示すブロック図である。
【００１９】
図１に示す本実施の形態における検証装置１０は、入力データとして入力された単語列又は文字列の中から、予め想定されたドメイン（以下「対象ドメイン」という。）の範囲外にあるデータを検出する。言い換えると、検出装置１０は、入力単語列又は入力文字列に対して対象ドメイン外であるかどうかを判定する。
【００２０】
図１に示すように、検証装置１０は、言語スコア計算部１３と、判定部１５とを備えている。また、言語スコア計算部１３は、統計的言語モデル１４に接続され、これを利用可能となっている。統計的言語モデル１４は、本実施の形態で判定する対象ドメインの大量のテキストデータを基に学習を行っており、対象ドメインの言語的性質（単語や単語連鎖の情報）を表している。
【００２１】
言語スコア計算部１３は、入力データから、統計的言語モデル１４を用いて、言語的確からしさである言語スコアを計算する。更に、言語スコア計算部１３は、言語スコアの計算時に平滑化処理（以下「スムージング」という。）を行い、それによって、平滑化処理に関する情報（以下「スムージング情報」という。）を出力する。判定部１５は、スムージング情報を用いて、入力データが、対象ドメインの範囲外にあるかどうかを判定する。
【００２２】
このように、検証装置１０においては、統計的言語モデルから得られる情報である「平滑化処理に関する情報（スムージング情報）」が、対象ドメイン外かどうかの判定に利用される。検証装置１０では、上記特許文献１に開示された検出装置と異なり、分割された
発話データの準備や、クラス分類器は求められていない。よって、検証装置１０によれば、統計的言語モデルの情報のみを用いて、入力データ、即ち、入力された単語列又は文字が対象ドメイン外であることを検出できる。
【００２３】
ここで、本実施の形態における検証装置１０の構成について更に具体的に説明する。検証装置１０は、後述するように、本実施の形態におけるプログラムをコンピュータにインストールし、これを実行することによって具現化されている。また、図１に示すように、本実施の形態では、検証装置１０は、単語仮説生成部１２も備えている。更に、検証装置１０には、入力装置１１と、出力装置１６とが接続されている。
【００２４】
入力装置１１は、入力データを検証装置１０に入力可能な装置であれば良く、入力装置１１の具体例としては、キーボードやマウス等の入力機器、記録媒体やメモリに記録されているデータを読み取り可能な読取装置、更には、検証装置１０以外のコンピュータが挙げられる。また、出力装置１６は、判定部１５による判定の結果を出力可能な装置であれば良く、出力装置１６の具体例としては、液晶ディスプレイ装置等の表示装置や、印刷装置が挙げられる。利用者は、出力装置１６に出力された判定結果を確認することができる。
【００２５】
また、本実施の形態では、入力データとして入力される単語列又は文字列は、テキストデータであるが、これは、単語列又は文字列を発声している音声データを音声認識することによって得られていても良いし、機械翻訳によって得られていても良い。
【００２６】
単語仮説生成部１２は、入力された単語列（または文字列）から単語仮説を生成する。ここで、「単語仮説」とは、入力された単語列から生成され得る単語又は単語連鎖をいう。単語仮説は、判定部１６による判定後に最適な単語列が得られるようにするための、言語スコア計算処理が可能な単位であることが望ましい。なお、「最適な単語列」とは、音声認識においては認識結果、機械翻訳であれば翻訳結果を意味する。また、本実施の形態において、単語仮説生成を実施するための具体的な技術としては、音声認識や機械翻訳において単語仮説の生成を行うために用いられる公知の技術を利用でき、本明細書においては、説明を省略する。
【００２７】
言語スコア計算部１３は、本実施の形態では、単語仮説生成部１２が生成した単語仮説を受け取り、当該単語仮説に対して統計的言語モデル１４を参照して言語スコアを計算する。例えば、後述するように統計的言語モデル１４としてＮｇｒａｍが用いられる場合であれば、言語スコア計算部１３は、言語スコアとしてＮグラム確率を計算する。
【００２８】
また、言語スコア計算部１３は、計算した言語スコアを、判定部１３と単語仮説生成部１２とに出力する。単語仮説生成部１２は、上述した「最適な単語列」を得るために、次の単語仮説の生成時に、フィードバックされた言語スコアを利用する。また、同時に、言語スコア計算部１３は、上述したように、言語スコア計算の際に得られる、スムージングの頻度を含むスムージング情報を判定部１５に出力する。
【００２９】
本実施の形態において、統計的言語モデル１４は特に限定されないが、例えば、入力データが単語列であるならば、Ｎ個の単語の連鎖確率（Ｎグラム確率）を与える単語Ｎｇｒａｍを用いることができる。更に、入力データが文字列であるならば、Ｎ個の文字の連鎖確率（Ｎグラム確率）を与える文字Ｎｇｒａｍを用いることができる。
【００３０】
ここで、スムージング（平滑化処理）とは、統計的言語モデル１４の学習の際、つまり、言語スコア（Ｎグラム確率）の計算時において、学習データにたまたま出現しなかったためにＮグラム確率が０となるのを回避するための処理である。スムージングにより、頻
度が小さいなどの理由により学習されなかった学習データが補間される。スムージングのための広く知られている手法としては、バックオフ（Back-off）補間法などが挙げられる。
【００３１】
判定部１５は、上述したように、言語スコア計算部１３の出力であるスムージング情報を受け取ると、当該スムージング情報を用いて、入力された単語列に対してドメイン外判定を行い、判定結果を出力する。ここで、例えば、統計的言語モデル１４として単語Ｎｇｒａｍが使用され、スムージング処理としてバックオフ補間法が用いられる場合を想定する。この場合であれば、スムージング情報としては、スムージングが行われた頻度であるバックオフ（Back-off）回数や、スムージングが行われる割合であるバックオフ（Back-off）率を用いるのが良い。なお、スムージング情報は、これらの情報に限定されるものではない。
【００３２】
また、例えば、上述のバックオフ率が、ある閾値以上に高い場合は、入力された単語列と、統計的言語モデル１４で使用されている学習データとがミスマッチを起こしている可能性が高いと考えられる。この場合、判定部１５は、入力された単語列は、対象ドメイン外であると判定する。なお、スムージング手法としてバックオフ（Back-off）補間法を用いることは、公知技術として良く知られている。このため、本明細書では、スムージングについての詳細な説明は省略する。
【００３３】
次に、本発明の実施の形態における検証方法について図２を用いて説明する。但し、本実施の形態における検証方法は、図１に示す検証装置を動作させることによって実施できる。このため、本実施の形態における検証方法の説明は、図１に示した本実施の形態における検証装置の動作の説明に代える。図２は、本発明の実施の形態における検証方法及び検証装置の動作を示すフロー図である。
【００３４】
図２に示すように、まず、入力装置１１から、検証装置１０に対して、入力データとなる単語列が入力されると、単語仮説生成部１２は単語列の入力を受け付ける（ステップＡ１）。具体的には、１つ以上の単語を含むテキストデータであって、音声データを音声認識して得られたデータ、又は機械翻訳して得られたデータが入力される。
【００３５】
次に、単語仮説生成部１２は、入力された単語列を用いて単語仮説の生成を行う（ステップＡ２）。具体的には、検証装置１０の単語仮説生成部１２は、入力された単語列を、統計的言語モデル１４への適用が可能な単位ごとに、言語スコア計算部１２に渡す。例えば、言語スコア計算部１３において、統計的言語モデル１４として、単語の３つ組み連鎖確率を表す単語Ｔｒｉｇｒａｍが使用される場合は、単語仮説生成部１２は、各単語とその先行２単語とを言語スコア計算部１２に渡せば良い。また、このとき、単語仮説生成部１２は、言語スコア計算部１２から、先に生成した単語仮説の言語スコアを受け取る。
【００３６】
次に、言語スコア計算部１３は、単語仮説に対して、統計的言語モデル１４を参照して言語スコアを計算する（ステップＡ３）。具体的には、言語スコア計算部１３は、単語仮説生成部１２から受け取った単語または単語列に対して、統計的言語モデル１４を用いて受け取った単語または単語列の言語スコアを計算し、その結果を単語仮説生成部１２へ出力する。
【００３７】
また、ステップＡ３において、言語スコア計算部１３は、スムージングを実行する。例えば、統計的言語モデル１４として単語Ｔｒｉｇｒａｍが使用される場合は、言語スコア計算部１３は、単語仮説生成部１２から３単語連鎖を受け取り、その３単語連鎖が言語モデルとして存在すればその確率を言語スコアとする。また、言語スコア計算部１３は、３単語連鎖が言語モデルとして存在しなければ、例えばバックオフ補間法を実行し、より下
位のＢｉｇｒａｍ等の確率を用いて当該３単語連鎖の確率を近似し、得られた値を言語スコアとする。
【００３８】
そして、言語スコア計算部１３は、バックオフ補間法を実行して得られたスムージング情報を判定部１５に出力する。なお、統計的言語モデル１４として、単語Ｎｇｒａｍを用いる方法、及びそのスムージング手法としてバックオフ（Back-off）補間法を用いる技術は、公知技術として良く知られているものであるから、ここでは詳細な説明を省略する。
【００３９】
次に、判定部１５は、入力された単語列又は単語、具体的には、ステップＡ２で生成された単語仮説が、対象ドメインの範囲内にあるかどうかを判定する（ステップＡ４）。例えば、バックオフされる頻度や、バックオフされる割合（Back-off率）が、予め設定された閾値以上である場合には、単語仮説が対象ドメインの範囲外にある可能性は、高いと判断できる。よって、判定部１５は、言語スコア計算部１２から受け取ったスムージング情報に基づいて、スムージングされている頻度又は割合と予め設定された閾値とを対比する。
【００４０】
ステップＡ４の判定の結果、単語仮説が対象ドメインの範囲内でない場合、即ち、スムージングされている頻度又は割合が閾値より多い場合は、判定部１５は、単語仮説が対象ドメインの範囲外であると判定する。そして、判定部１５は、判定結果（ドメイン外警告）を出力装置１６に出力する（ステップＡ６）。これにより、例えば、出力装置１６の表示画面に、対象ドメインの範囲内にない単語が表示される。ステップＡ６の実行後、検出装置１０における処理は終了する。
【００４１】
一方、ステップＡ４の判定の結果、単語仮説が対象ドメインの範囲内にある場合は、検出装置１０における処理は終了する。なお、この場合であっても、判定部１５は、判定結果を出力装置１６に出力することができる。これにより、出力装置１６の表示画面には、対象ドメインの範囲内にある単語が表示される。
【００４２】
ところで、通常、統計的言語モデルを用いた言語スコア計算の際には、存在しない言語モデル（学習データに存在しなかった単語）にも妥当な言語スコアを与えるため、スムージングが行われる。特に、音声認識や機械翻訳の言語スコアの計算においては、スムージング係数（Back-off係数）の工夫によって、学習データに存在した単語には、スムージングされても高い言語スコアが与えられることが少なくない状態となっている。また、そうなるように言語モデルが作成されることも多くなっている。このような場合、言語スコアが高くても、入力された単語列が対象ドメインの範囲外にあることもあり、このような単語列が用いられた音声認識や機械翻訳では、誤りが発生する可能性が高くなる。
【００４３】
これに対して、本実施の形態では、スムージング情報を用いて、入力された単語列又は文字列が対象ドメインの範囲内にあるかどうかが判定されるので、判定の精度は高められている。また、この場合において、ドメイン判定のためにクラス分類器などを用意する必要性は存在しないため、システム構成の複雑化や、利用の煩雑化は抑制される。
【００４４】
また、本実施の形態では、入力された単語列又は文字列が対象ドメインの範囲外であることが、利用者に提示可能となっている。このため、本実施の形態における検証装置が適用されるシステムが、利用者が期待しない動作を行うことを、未然に防ぐことが可能となる。また、利用者に別の入力を促すことにより、結果的に、ユーザ満足度の向上やタスク達成率の向上が可能となる。
【００４５】
また、本実施の形態におけるプログラムは、コンピュータに、図２に示すステップＡ１〜Ａ６を実行させるプログラムであれば良い。本実施の形態におけるプログラムをコンピ
ュータにインストールし、このプログラムを実行することによって、本実施の形態における検証装置１０及び検証方法を具現化することができる。
【００４６】
コンピュータの構成は図示しないが、コンピュータは、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、及び不揮発性記憶装置等を備えていれば良い。この場合、コンピュータのＣＰＵ（central processing unit）は、ＲＡＭ、ＲＯＭ、又は不揮発性記憶装置に格納されたＯＳ（Operation System）及び本実施の形態におけるプログラムを読み込み、これらを実行する。これにより、ＣＰＵは、単語仮説生成部１２、言語スコア計算部１３、判定部１５として機能し、処理を行なう。
【００４７】
なお、本実施の形態におけるプログラムが実行されるコンピュータは１台である必要はなく、複数台のコンピュータであっても良い。また、不揮発性の記憶装置としては、ハードディスクドライブ、光磁気ディスクドライブ、フラッシュメモリ等が挙げら得る。
【実施例１】
【００４８】
次に、本実施の形態における検証装置の実施例について、検証装置を音声認識装置に適用した例を挙げて説明する。最初に、本実施例１における音声認識装置の構成について図３を用いて説明する。図３は、本発明の実施例における音声認識装置の概略構成を示したブロック図である。
【００４９】
［実施例１の音声認識装置の構成］
図３に示すように、音声認識装置２０は、音声認識部２１と、音響モデル２４と、単語辞書２５と、検証装置１０と、統計的言語モデル１４とを備えている。音声認識部２１は、音響分析部２２と、距離計算部２３とを備えている。検証装置１０は、図１を用いて既に説明したように、単語仮説生成部１２と、言語スコア計算部１３と、判定部１５とを備えている。
【００５０】
また、音声認識装置２０は、汎用的なコンピュータによって実現されており、コンピュータは、図示されていないが、ＣＰＵ、ＲＡＭ、ＲＯＭ、及び不揮発性記憶装置を備えている。そして、実施の形態で述べた検証装置１０の場合と同様に、それを備える音声認識装置２０も、ＣＰＵがＲＡＭ、ＲＯＭ、又は不揮発性記憶装置に格納されたＯＳと音声認識プログラムとを読み込み、これらを実行することにより具現化される。なお、音声認識プログラムには、検証装置を具現化するためのステップ（図２参照）も含まれている。また、音声認識装置２０を具現化するコンピュータも、１台である必要はなく、複数台であっても良い。
【００５１】
また、図４に示すように、音声認識装置２０にも、入力装置２６と出力装置１６とが接続されている。入力装置２６としては、図１に示した入力装置１１と異なり、例えば、マイクなどの音声入力用の機器が挙げられる。入力装置２６は、図示しない構成としてＡ／Ｄ変換回路を含むことができる。
【００５２】
音響分析部２２は、入力装置２５から出力された音声データ（入力音声）から音響的特徴を抽出し、これを分析して音響特徴量を求め、更に音響特徴量系列に分類する。音響特徴量は、例えばケプストラムである。なお、音声データの音響特徴を分析する技術としては、公知技術を用いることができ、本明細書では詳細な説明を省略する。
【００５３】
距離計算部２３は、音響分析部２２による分析によって得られた音響特徴量と音響モデル２４との音響距離を計算する。ここで、音響モデル２４としては、例えば、各音素の特徴を表す特徴量系列を持つＨＭＭ（Hidden Markov Model）が挙げられる。         
【００５４】
単語仮説生成部１２は、実施の形態において図１及び図２を用いて説明したように単語仮説を生成するが、音声認識処理に対応するため、距離計算部２３が計算した音響距離に基づき、単語辞書２５に含まれる１つ以上の単語から単語仮説を生成する。ここで、単語辞書２５としては、単語を音素で表現した音声認識用辞書が挙げられる。即ち、単語仮説生成部１２は、音声認識における単語探索（サーチ）を行っている。
【００５５】
また、単語仮説生成部１２は、当該単語仮説を言語スコア計算部１３に出力し、その後、入力した単語仮説に対して言語スコア計算部１３が出力した言語スコアを取得する。そして、単語仮説生成部１２は、順次入力される単語列に対する単語仮説の生成と言語スコアの取得とを繰り返し行いながら、音響的確からしさである音響距離と言語的確からしさである言語スコアとに基づいて、単語仮説又はその連鎖である単語列の最も確からしいものを特定し、これを音声認識結果として出力装置１６に出力する。
【００５６】
なお、言語スコア計算部１３、言語モデル１４、及び判定部１５は、図１及び図２を用いて説明した言語スコア計算部１２、言語モデル１４、及び判定部１５にそれぞれ対応し、これらと同様の機能を有する。そのため、本実施例では、これらについての説明は省略する。
【００５７】
出力装置１６としては、実施の形態で述べたように、表示装置や印刷装置が用いられる。但し、本実施例では、検証装置１０が音声認識装置２０に組み込まれている。このため、出力装置１６は、判定部１５が、音声認識によって得られた単語列が対象ドメインの範囲内であると判定した場合は、単語仮説生成部１２から得られる最も確からしい単語仮説を、音声認識結果として、例えばテキストデータで出力する。一方、出力装置１６は、判定部１５が、音声認識によって得られた単語列が対象ドメインの範囲外であると判定した場合は、その旨出力する。
【００５８】
また、本実施例では、音響モデル２４、単語辞書２５、及び言語モデル１４は、コンピュータに接続された、ハードディスクドライブ、光磁気ディスクドライブ、フラッシュメモリ等の不揮発性の記憶装置、又はＤＲＡＭ（Dynamic Random Access Memory）等の揮発性の記憶装置に、必要な情報を格納することによって実現できる。また、音響モデル２４、単語辞書２５、及び言語モデル１４を実現する記憶装置は、音声認識装置２０を構成するコンピュータに内蔵又は直接接続されていても良いし、このコンピュータとネットワークを介して接続された別のコンピュータに内蔵又は直接接続されていても良い。
【００５９】
［実施例１の音響認識装置の動作］
次に、本実施例１における音声認識装置の動作について、図４を用いて説明する。図４は、本発明の実施例における音声認識装置の動作を示すフロー図である。
【００６０】
図４に示すように、先ず、入力装置２６から、音声認識装置２０に対して、音声データが入力されると、音響分析部２２は音声データの入力を受け付ける（ステップＡ１１）。具体的には、音声認識装置２０に対して、入力装置２６は、マイク等を用いて取得した音声波形を、音声データとして入力する。
【００６１】
次に、音声認識部２１の音響分析部２２は、音響分析処理を実行する（ステップＡ１２）。具体的には、音響分析部２２は、入力された音声データから音響的特徴を抽出し、これを分析して音響特徴量を求め、更に音声特徴量系列に分類する。
【００６２】
次に、音声認識部２１の距離計算部２３は、距離計算処理を実行する（ステップＡ１３）。具体的には、距離計算部２３は、ステップＡ１２による音響分析処理の結果である音響特徴量と、音響モデル２４との音響距離を計算する。
【００６３】
次に、検証装置１０の単語仮説生成部１２は、単語仮説の生成処理を実行する（ステップＡ１４）。具体的には、単語仮説生成部１２は、音声認識部２１による距離計算処理の結果である音響距離に基づき、単語辞書２５に含まれる１つ以上の単語から単語仮説を生成する。
【００６４】
また、ステップＡ１４においては、単語仮説生成部１２は、生成した単語仮説に対する言語スコアを言語スコア計算部１３から取得する。そして、単語仮説生成部１２は、取得した言語スコアを用いて、生成した単語仮説またはその連鎖である単語列のうち、音響距離と言語スコアとの組合せにより最も確からしいものを特定し、これを音声認識結果として出力装置１６に出力する。
【００６５】
次に、検証装置１０の言語スコア計算部１３は、言語スコア計算処理を実行する（ステップＡ１５）。具体的には、言語スコア計算部１３は、統計的言語モデル１４を用いて、単語仮説生成部１２から受け取った単語または単語列の言語スコアを計算する。また、上述したように、言語スコア計算部１３は、計算した言語スコアを、単語仮説生成部１２に出力する。
【００６６】
ステップＡ１５の実行時においては、言語スコア計算部１３は、同時に、スムージングを行い、スムージングの頻度を含むスムージング情報を判定部１５に出力する。なお、言語スコア計算部１３による言語スコア計算処理は、単語仮説の生成処理において単語仮説を生成するたびに呼び出されて実行される。よって、単語仮説生成部１２は、当該言語スコア計算によって得られた言語スコアを用いて、次の単語仮説の生成処理を実行することとなる。
【００６７】
次に、検証装置１０の判定部１５は、ドメイン判定処理を実行する（ステップＡ１６）。具体的には、音声認識システム２００のドメイン判定部１５は、言語スコア計算部１３から受け取るスムージング情報に基づいて、スムージングされている頻度又は割合と設定された閾値とを比較し、入力された音声データが対象ドメインの範囲にあるかどうかを判定する。
【００６８】
ステップＡ１６の判定の結果、入力された音声データが対象ドメインの範囲内にある場合は、判定部１５は、その旨を出力装置１６に出力する。そして、出力装置１６は、ドメイン判定処理の判定結果が対象ドメインの範囲内であることから、ステップＡ１４において単語仮説生成部１２から既に受け取っていた音声認識結果を、表示画面等に出力する（Ａ１７）。
【００６９】
一方、ステップＡ１６の判定の結果、入力された音声データが対象ドメインの範囲外にある場合も、判定部１５は、その旨を出力装置１６に出力するが、この場合は、出力装置１６は、対象ドメインの範囲外である旨（ドメイン外警告）のみを、表示画面等に出力する（Ａ１８）。
【００７０】
ステップＡ１７又はステップＡ１８の実行後、音声認識装置２０における処理は終了する。なお、ドメイン判定処理（ステップＡ１６）は、入力された単語列の初端から終端までが処理された場合に、即ち、音声認識であるならば、入力された音声の初端から終端までが処理された場合に、一度、実行されれば良い。
【００７１】
このように、本実施例１では、音声認識において入力された音声が、対象ドメインの範囲外であったかどうかが判定され、その判定結果の出力が可能となる。このため、タスク達成率の向上が可能となる。
【００７２】
［スムージング情報］
ここで、本実施例１において行われるスムージングについて説明する。本実施例では、判定部１５で用いられるスムージング情報は、最も確からしい音声認識結果の単語列に対してのものであっても良いし、最も確からしい音声認識結果の単語列以外を含むもの、即ち、単語仮説生成部１２で生成した全ての単語仮説に対してのものであっても良い。この二つの態様について順に説明する。
【００７３】
先ず、スムージング情報が、最も確からしい音声認識結果の単語列に対してのものである場合について説明する。例えば、統計的言語モデル１４として単語Ｔｒｉｇｒａｍが用いられ、スムージング法としてバックオフ（Back-off）補間法が用いられ、ドメイン判定のためのスムージング情報としてバックオフ率が用いられる場合を考える。
【００７４】
そして、最も確からしい音声認識結果単語列、例えば、Ｗ＝｛Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５｝に対してのスムージング情報によってドメイン判定が行われるとする。この場合、言語スコア計算部１２０は、下記の式（１）によって、言語スコアＰ（Ｗ）を計算する。
【００７５】
（数１）
Ｐ（Ｗ）＝Ｐ（Ｗ５｜Ｗ４，Ｗ３）＊Ｐ（Ｗ４｜Ｗ３，Ｗ２）
＊Ｐ（Ｗ３｜Ｗ２，Ｗ１）＊Ｐ（Ｗ２｜Ｗ１）＊Ｐ（Ｗ１）・・・（１）
【００７６】
このとき、例えば、Ｐ（Ｗ４｜Ｗ３，Ｗ２）の計算と、Ｐ（Ｗ３｜Ｗ２，Ｗ１)の計算とにおいて、対応する単語Ｔｒｉｇｒａｍが言語モデル１４に存在しないため、バックオフ補間法が実行されていたとする。この場合、延べ５回の言語スコアの計算の中で２回がバックオフされたことになるので、バックオフ率は４０％となる。そして、ドメイン判定の閾値が、例えば、バックオフ率で３０％であったとすると、この例では、閾値を超えるバックオフ率が得られている。よって、判定部１５は、入力された音声は、対象ドメインの範囲外であると判定する。
【００７７】
次に、単語仮説生成部１２が生成した全ての単語仮説に対してのスムージング情報が、用いられる場合について説明する。例えば、最も確からしい音声認識結果単語列Ｗ＝｛Ｗ１，Ｗ２，Ｗ３，Ｗ４，Ｗ５}に対して、単語仮説生成部１２が、Ｐ（Ｗ４｜Ｗ３，Ｗ１）や、Ｐ（Ｗ６｜Ｗ４，Ｗ２）等の他の単語仮説も生成していたとする。
【００７８】
そして、これら全ての単語仮説（Ｗ＿ｉ，Ｗ＿ｊ，Ｗ＿ｋ）に対して、言語スコア計算部１２は、Ｐ（Ｗ＿ｋ｜Ｗ＿ｉ，Ｗ＿ｊ）を計算することになる（単語Ｔｒｉｇｒａｍの場合）。この場合、言語スコア計算部１３は、全てのＰ（Ｗ＿ｋ｜Ｗ＿ｉ，Ｗ＿ｊ）に対して、毎回バックオフを行ったかどうかをカウントしておき、音声の入力の終了後に、最終的なバックオフ率を計算すれば良い。
【００７９】
最も確からしい音声認識結果の単語列のみが用いられる例では、入力音声が短い場合、即ち、単語列を構成する単語数が少ない場合に、バックオフ率の計算の信頼度が低くなることが考えられる。一方、単語仮説生成部１２が生成する全ての単語仮説が用いられる例では、バックオフ率の計算の信頼度が低下するという問題を軽減できると考えられる。
【００８０】
尚、上記の説明では、ドメイン判定の閾値は、バックオフの種類に拘わらず、一律のバックオフ率で設定されているが、これに限定されるものではない。例えば、単語Ｔｒｉｇｒａｍを単語Ｂｉｇｒａｍでバックオフする場合と、単語Ｂｉｇｒａｍも存在しないために、単語Ｕｎｉｇｒａｍや品詞等の他のＮｇｒａｍ情報を用いてバックオフする場合とで、閾値に異なる重みを付与することもできる。
【００８１】
つまり、単語Ｂｉｇｒａｍよりも、単語Ｕｎｉｇｒａｍによってバックオフする方が、よりドメイン外である特徴が強くなる。よって、例えば、単語Ｂｉｇｒａｍでのバックオフ率Ｒｂの重みに対して、単語Ｕｎｉｇｒａｍでのバックオフ率Ｒｕの重みを２倍に設定するとする。この場合、判定部１５０による判定に用いられる尺度（閾値）は、バックオフスコアＲｓ＝Ｒｂ＋Ｒｕ＊２と定義される。この尺度を用いて閾値判定することで、より高精度なドメイン判定処理の実行が可能となる。
【００８２】
上述の実施例１は、音声認識装置への適用例を示しているが、本発明は、これに限定されるものではない。例えば、本発明は、統計的機械翻訳において、入力単語列が対象ドメインの範囲外にあるかどうかを判定する例にも、同様に適用できる。この場合、統計的機械翻訳において用いられる言語モデルでも、上述した処理と同様の処理によって、入力単語列が対象ドメインの範囲外にあるかどうかを判定することが可能である。
【００８３】
［実施例１による効果］
本実施例１のように、本発明の検証装置を音声認識装置に利用する場合は、検証装置は、単純にテキスト情報としての単語列に対してドメイン判定を行うだけでなく、誤認識を含む音声認識結果から得られた単語列に対しても、ドメイン判定を行うことが可能となる。また、本実施例１では、音響距離と言語スコアとの両方を利用した単語仮説の生成処理が行われ、更に、単語仮説が生成される度に、言語スコア計算処理が行われ、スムージング情報が取得される。このため、ドメイン判定のためのスムージング情報として、音響的確からしさも考慮された、多くの種類の単語連鎖のスムージング情報の利用が可能となる。従って、本実施例１では、単純にテキスト情報を入力する場合と比較して、利用可能な情報が多い分、高精度なドメイン判定が可能となる。
【００８４】
［その他］
近年、音声認識に代表される自然言語処理の技術を用いた製品においては、タスク達成率を高めるため、利用者に適切なフィードバックを返すことが期待されている。本発明は、このようなフィードバックが期待されている用途への適用が有効である。
【産業上の利用可能性】
【００８５】
以上のように、本発明の検証装置、検証方法、及びプログラムは、音声認識に代表される自然言語処理の技術が利用される分野、例えば、音声入力や、テキスト入力が行われる分野に有効である。
【符号の説明】
【００８６】
１０  検証装置
１１  入力装置
１２  単語仮説生成部
１３  言語スコア計算部
１４  統計的言語モデル
１５  判定部
１６  出力装置
２０  音声認識装置
２１  音声認識部
２２  音響分析部
２３  距離計算部
２４  音響モデル
２５  単語辞書
２６  入力装置
【図１】
2010191046.tif 000003
【図２】
2010191046.tif 000004
【図３】
2010191046.tif 000005
【図４】
2010191046.tif 000006