(57)【要約】【課題】  精度の高い音声理解装置を提供する。【解決手段】  音声理解装置１００において、音声理解結果探索部６１が、単語・意味表現組Ｎ−グラムモデルＤＢ２０を用いて音声理解を行う構成とした。また、音声理解装置１００は、単語と意味表現との明確な対応付けがされていない言語コーパス１０から、単語・意味表現組のＮ−グラムモデルである単語・意味表現組Ｎ−グラムモデルＤＢ２０を作成する単語・意味組Ｎ−グラムモデル作成部３０を備える構成とした。【選択図】  図１
2006343405.tif 000002
【特許請求の範囲】
【請求項１】
各種データの入出力を行う入出力部と、
単語と意味表現との組み合わせＮグラムごとに、前記組み合わせが生起する確率を示した単語・意味表現組データベースと、単語を構成する音素の音響特徴を示した音響モデルとを格納する記憶部と、
前記入出力部経由で入力された音声データを、前記音響モデルおよび前記単語・意味表現組データベースを参照して、前記音声データが表現する単語列および意味表現列を認識するとともに、前記認識した単語列および意味表現列の確信度を計算する音声理解処理部と、
を備えることを特徴とする音声理解装置。
【請求項２】
入力された音声データに基づき、前記音声データが意味する単語列および意味表現列の認識を行う音声理解装置を用いた音声理解方法であって、
前記音声理解装置が、
前記音声データの入力を受け付けるステップと、
単語と意味表現との組み合わせＮグラムごとに、前記組み合わせが生起する確率を示した単語・意味表現組データベースと、単語を構成する音素の音響特徴を示した音響モデルとを参照して、前記音声データの認識結果である単語列および意味表現列と、前記単語列および意味表現列それぞれについて、この単語列および意味表現列に競合するような他の候補が見あたらなかった度合いである確信度とを出力する音声理解ステップと、
を実行することを特徴とする音声理解方法。
【請求項３】
前記音声理解ステップにおいて、認識結果である単語列および意味表現列は、入力された音声データの時系列の特徴量の尤度を最大化する単語列および意味表現列、あるいはその近似式により得られる単語列および意味表現列であることを特徴とする請求項２に記載の音声理解方法。
【請求項４】
前記音声理解装置は、
前記確信度が所定の閾値を超える単語列および意味表現列を出力することを特徴とする請求項２または請求項３に記載の音声理解方法。
【請求項５】
請求項２に記載の音声理解方法に用いられる単語・意味表現組データベースの作成方法であって、
前記音声理解装置が、
文ごとに、その文を構成する単語列と意味表現の集合を示した言語コーパスの入力を受け付けるステップと、
前記言語コーパスに含まれる単語と意味表現との共起頻度をもとに、前記各単語と意味表現との関連度を計算し、単語・意味表現関連度ＤＢを作成するステップと、
前記作成した単語・意味表現関連度ＤＢを参照して、前記言語コーパスの各文において考えうるすべての単語と意味表現との組み合わせについて、前記関連度の和または積が最大となる組み合わせを計算するステップと、
前記計算した組み合わせにより、前記言語コーパスの単語と意味表現とを対応付けた単語・意味表現の対応付きコーパスを作成するステップと、
前記単語・意味表現の対応付きコーパスにおいて、前記単語と意味との組み合わせの同時確率を計算し、この同時確率を含む単語・意味表現組データベースを作成するステップと、
を実行することを特徴とする単語・意味表現組データベースの作成方法。
【請求項６】
前記単語と意味表現との組み合わせの同時確率は、前記単語と意味表現との組み合わせが生起する確率を、その組み合わせの前（Ｎ−１）個における単語と意味表現との組み合わせの並びの条件付き確率で近似したものであることを特徴とする請求項５に記載の単語・意味表現組データベースの作成方法。
【請求項７】
コンピュータに、請求項２ないし請求項６のいずれか１項に記載の方法を実行させることを特徴とするプログラム。
【請求項８】
請求項７に記載のプログラムを記憶したコンピュータに読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声理解装置、音声理解方法、単語・意味表現組データベースの作成方法、そのプログラムおよび記憶媒体に関する。
【背景技術】
【０００２】
音声理解の問題は、音声を単語列として認識する音声認識と、単語列を意味表現の集合に変換する言語理解という２つの処理に分けて考えることができる。
【０００３】
言語理解については、単語列のどの部分が、どの意味表現と対応するかを明示した言語コーパスにより、単語列を意味表現に変換する規則や確率モデルを学習し、言語理解を行う技術がある（非特許文献１〜３参照）。
【０００４】
また、最近では、単語と意味表現との明示的な対応関係のない言語コーパスからも言語理解を行う言語理解装置も開発されている。この言語理解装置と、従来からある音声認識装置とを直列に接続することで、音声理解を行うこともできる（非特許文献４,５参照）。
【０００５】
さらに、単語と意味表現との明示的な対応関係のない言語コーパスから学習できる、音声認識結果の単語列と、その単語の確信度とを入力として、これらの情報に基づき、音声理解を実現する技術も開発されている（非特許文献６,７参照）。
【０００６】
【非特許文献１】K.Hacioglu and Ward,"A word graph interface for a flexible concept based speech understanding network",in Proc.EUROSPEECH 2001,pp.1775-1778
【非特許文献２】H.Bonneau-Maynard and F.Lefevre, "Investigating stochastic speech understanding", in Proc.IEEE ASRU,2001
【非特許文献３】Y.Esteve et al."Conceputual decording for spoken dialogue systems", in Proc.EUROSPEECH 2003,pp.617-620
【非特許文献４】M.Epstein et al."Statistical Natural Language Understanding using Hidden Clmpings",in Proc.ICASSP,vol.1,pp.176-179,1996
【非特許文献５】K.Macherey et al., "Naural Langage Understanding using Statistical Machine Translation", in Proc.EUROSPEECH 2001,pp.2205-2208
【非特許文献６】G.Tur et al."Improving Spoken Language Understanding using Word Confusion Networks" in Proc.ICSLP, pp.1137-1140,2002
【非特許文献７】G.Tur et al."Extending Boostig for Call classification using world Confusion Networks",in Proc.ICASSP,vol1,pp.437-440,2004
【発明の開示】
【発明が解決しようとする課題】
【０００７】
非特許文献１〜３に記載の技術において、単語列と意味表現との対応関係を明示した言語コーパスを作成するためには、言語に関する専門知識が必要になり、また作成にも時間がかかる。したがって、人的コストが高くなるという問題がある。
【０００８】
また、非特許文献４,５の技術を、音声対話システムで利用する場合、音声と関係のない言語理解装置は、入力される単語列に曖昧性があることを考慮した設計になっていない。このため、言語理解装置は、最尤の音声認識結果(単語列)をそのまま理解の対象とするか、認識の確信度の情報を使って確信度の低い単語を棄却してから理解の対象とするか、のどちらかになる。しかし、前者は音声認識の誤りが理解結果に残る危険性があり、後者は必要な単語が棄却される危険性があるという問題がある。
【０００９】
さらに、非特許文献６,７に記載の技術は、各意味表現は独立に生起することを前提としているため、ある意味表現Ａが含まれる発話では意味表現Ｂも含まれやすい、といった共起の関係を把握することができない。つまり、入力された音声データが曖昧だったり、情報量が少なかったりした場合に、音声理解の精度が低下するおそれがある。
【００１０】
本発明は、前記した問題を解決し、より精度の高い音声理解を実現する音声理解装置等を提供することを課題とする。
【課題を解決するための手段】
【００１１】
前記した課題を解決するため、本発明の音声理解装置は、単語と意味表現との組み合わせＮグラムごとに、その組み合わせが生起する確率を示した単語・意味表現組データベースを作成する単語・意味表現組Ｎ−グラムモデル作成部を備える構成とした。また、この単語・意味表現組Ｎ−グラムモデルを用いて、入力された音声データが意味する単語列および意味表現列を認識するとともに、前記認識した単語列および意味表現列の確信度を計算する音声理解処理部を備える構成とした。その他の構成については、後記する実施の形態で述べる。
【発明の効果】
【００１２】
本発明によれば、
（１）使用する言語コーパスに、単語と意味表現との対応関係を明示的に与える必要がなくなるので、音声理解装置の作成コストを低くすることができる。
（２）音声認識と言語理解との処理を密に統合することにより、単語列と意味表現との組み合わせや、この組み合わせの並びや、共起の関係等、様々な仮説を考慮した音声理解をすることができる。また、このように様々な仮説を考慮した上で確信度を計算することにより、音声理解に関して、より正確な確信度を得ることができる。
（３）単語と意味表現との並びの同時確率を統計モデルとして利用することで、意味表現の共起の関係を表現できる。つまり、この意味表現の共起の関係を用いることで、入力された音声データが曖昧だったり、情報量が少なかったりした場合でも、精度の高い音声理解を行うことができる。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明を実施するための最良の形態（以下、実施の形態とする）を説明する。
【００１４】
ここでは、まず、本実施の形態の音声理解装置のハードウェア構成について説明する。
音声理解装置は、後記する言語コーパス１０や、音声データ４０の入力を受け付ける入力インターフェースと、音声理解部６０の演算処理結果を外部に出力するための出力インターフェースとを備える。入力インターフェースは、例えば、ネットワークカード等であり、出力インターフェースは、例えば、ディスプレイ装置への出力インターフェース等である。
【００１５】
また、音声理解装置は、ＲＡＭ（Random Access Memory）等のメモリ、ＲＯＭ（Read Only Memory）、ハードディスク装置等の記憶部、ＣＰＵ（Central Processing Unit）等の演算処理部を備えるコンピュータにより実現される。この記憶部は、後記する単語・意味組Ｎ−グラムモデル作成部３０を実現するための単語意味組Ｎ−グラムモデル作成プログラム（単語・意味表現組データベース作成プログラム）、音声理解部６０を実現するための音声理解プログラム等を格納する。ＣＰＵは、記憶部に格納された各プログラムをメモリ上に展開し、実行することで、単語・意味組Ｎ−グラムモデル作成部３０や音声理解部６０の機能を実現する。また、音声理解装置は、この音声理解装置への指示入力等を行う入力装置や、音声理解装置の演算処理の結果を出力表示する表示装置が接続されていてもよい。これらの構成および装置は、図面での説明は省略する。
【００１６】
図１は、本実施の形態の音声理解装置を機能展開して説明したブロック図である。
図１を用いて音声理解装置１００の機能を説明する。
音声理解装置１００は、言語コーパス１０および音声データ４０の入力を受け付けたり、音声理解結果や、音声認識結果を出力したりする入出力部７０と、言語コーパス１０に基づき単語・意味表現組Ｎ−グラムモデルＤＢ（データベース）２０を作成する単語・意味組Ｎ−グラムモデル作成部３０とを備える。また、音声理解装置１００は、単語・意味組Ｎ−グラムモデルＤＢ２０、音響モデルＤＢ（データベース）５０および変換辞書８０を参照して、入力された音声データ４０の音声理解結果等を出力する音声理解部６０を備える。なお、単語・意味表現組Ｎ−グラムモデルＤＢ２０は、請求項における単語・意味表現組データベースに相当する。また、音響モデルＤＢ５０は、請求項における音響モデルに相当する。
【００１７】
入出力部７０は、前記した入力インターフェースおよび出力インターフェースにより実現される。また、言語コーパス１０、音響モデルＤＢ５０、変換辞書８０、音声データ４０および単語・意味組Ｎ−グラムモデルＤＢ２０は、音声理解装置１００の記憶部（図示せず）に格納するものとして説明するが、外部の記憶装置に格納しておいて、入出力部７０経由で読み出すようにしてもよい。
【００１８】
（言語コーパス）
言語コーパス１０は、人間の発話を書き起こした書き起こし文（単語列）と、その文の内容に対応する意味表現の集合とから成る。ここでの意味表現は、発話の意味を意味表現記号の集合で表現できるようなもの（記号間の関係や構造は未定義）とする。
この言語コーパス１０に含まれる文は、例えば、
単語列「東京駅から京都駅まで」、
意味表現の集合[from=(station=(東京)),to=(station=(京都))]、
といったものである。
【００１９】
しかし、この言語コーパス１０は、従来技術とは異なり、単語列中の単語と意味表現との対応関係を与えられていない。つまり、前記の例において「東京駅から」がfrom=(station=(東京))に対応し、「京都駅まで」がto=(station=(京都))に対応するという対応関係は与えられていない。
【００２０】
（単語・意味組Ｎ−グラムモデル作成部）
単語・意味組Ｎ−グラムモデル作成部３０は、言語コーパス１０に基づき、単語・意味組Ｎ−グラムモデルＤＢ２０を作成する。この単語・意味組Ｎ−グラムモデル作成部３０の機能は、単語・意味表現関連度計算部３１と、単語・意味表現対応付け部３３と、Ｎ−グラムモデル作成部３５とに分けられる。
【００２１】
（単語・意味表現関連度計算部）
単語・意味表現関連度計算部３１は、言語コーパス１０内に現れる各単語および意味表現のそれぞれについて、単語と意味表現との関連度を計算し、単語・意味表現関連度ＤＢ（データベース）３２を作成する。この単語・意味表現関連度ＤＢ３２は、言語コーパス１０の各単語が意味表現とどのくらいの関連度を持っているかを示したデータベースである。作成された単語・意味表現関連度ＤＢ３２は、いったん記憶部の所定領域に格納され、単語・意味表現対応付け部３３の演算処理に用いられる。
【００２２】
ここで、単語・意味表現関連度計算部３１が計算する関連度は、例えば、以下の数式（１）で記述されるφ2という基準を用いる。このφ2は、２種類の記号（本実施の形態の単語ｗと意味表現ｃ）の共起頻度を見ることで、両者の間の関連性の高低を測るための基準であり、詳細は以下の文献に記載されている。
【００２３】
W.A.Gale and K.W.Church,"Identifying word correspondences in parallel texts",in Proc.4th DARPA Workshop on Speech and Natural Language,1991
【００２４】
【数１】
2006343405.tif 000003
【００２５】
数式（１）におけるfreq()は、言語コーパス１０の中で、単語ｗ、意味表現ｃ、もしくはその両方が出現する文の数であり、Ｎは言語コーパス１０内の全発話数である。
【００２６】
この数式（１）を用いた関連度の計算により、ある単語に対して、各意味表現がどのくらいの関連度を持っているのかを示す単語・意味表現関連度ＤＢ３２が作成される。
【００２７】
（単語・意味表現対応付け部）
単語・意味表現対応付け部３３は、言語コーパス１０内のそれぞれの文について、単語・意味表現関連度ＤＢ３２を基に、単語列と意味表現との対応付けを行う。
【００２８】
具体的な方法は、単語列（w1,w2，…，wl）と、意味表現の列（c1,c2，…，cm）に対し、単語wiにaiで対応付けられる意味表現がc（ai）であるとき、最適な対応付け（a1,a2，…，al）は、各wi，c（ai）の組の関連度の、文中での積が最大になるものであると定義する（以下の数式（２）参照）。
【００２９】
【数２】
2006343405.tif 000004
【００３０】
すなわち、最適なａ＾（a1,a2，…，al）の探索のためには、すべてのwiとaiとの組み合わせについて関連度の積を計算し、その値が最大となるものを探索し、対応付けを行う。そして、対応付けられた単語wと意味表現ｃとを「意味表現：単語」という形で組み合わせた記号（t1,t2，…，tl）の形に書き換えて、単語・意味表現の対応付きコーパス３４を作成する。ここで、何も意味表現が対応付けられなかった単語に対しては、空の意味表現<eps>を対応づけることとする。また、<eps>と各単語との関連度は、常に１であるものとする。
【００３１】
例えば、単語・意味表現対応付け部３３は、前記した言語コーパス１０の
【００３２】
単語列「東京駅から京都駅まで」
意味表現の集合[from=(station=(東京)),to=(station=(京都))]
【００３３】
について、それぞれの関連度を算出し、この関連度が最大となる組み合わせとして
【００３４】
from=(station=(東京))：東京 <eps>：から to=(station=(京都)：京都 <eps>:まで
【００３５】
という単語・意味表現の対応付きコーパス３４を作成する。この単語・意味表現の対応付きコーパス３４は、記憶部の所定領域に格納しておく。この単語・意味表現の対応付きコーパス３４は、Ｎ−グラムモデル作成部３５が単語・意味表現組Ｎ−グラムモデルＤＢ２０を作成する際に用いられる。
【００３６】
なお、ここでは、最適な対応付けａ＾（a1,a2，…，al）は、各wi，c（ai）の組の関連度の積が最大になるものであるとしたが、以下の数式（３）のように関連度の和が最大になるものとしてもよい。
【００３７】
【数３】
2006343405.tif 000005
【００３８】
（Ｎ−グラムモデル作成部）
このＮ−グラムモデル作成部３５は、単語・意味表現の対応付きコーパス３４の各（t1,t2，…，tl）に基づき、単語・意味表現組Ｎ−グラムモデルＤＢ２０を作成する。
この単語・意味表現組Ｎ−グラムモデルＤＢ２０は、音声認識技術で一般的に用いられる単語Ｎ−グラムモデルと同様に、単語・意味表現の組み合わせをＮ-グラムでモデル化したものである。つまり、単語と意味表現との組み合わせＮグラムごとに、この組み合わせが生起する確率を示したものである。
【００３９】
なお、単語Ｎ−グラムモデルとは、ある単語が生起する確率を決める際に、その単語の前（Ｎ−１）個の単語の並びの条件付き確率で近似するモデルのことである。この単語Ｎ−グラムモデルを用いることによって、単語列Ｗ＝（w1,w2，…，wl）の生起確率Ｐ（Ｗ）を以下の数式（４）の２行目のように近似することができる。
【００４０】
【数４】
2006343405.tif 000006
【００４１】
従来技術において、単語Ｎ−グラムモデル内の記号が単語だったのに対し、本実施の形態の単語・意味表現組Ｎ−グラムモデル（単語・意味表現組Ｎ−グラムモデルＤＢ２０）は、単語とその単語に対応する意味表現とを結合した記号となっている点で異なる。すなわち、単語・意味表現組Ｎ−グラムモデル２０は、ある単語と意味表現との組が生起する確率を決める際に、その組の前（Ｎ−１）個の単語と意味表現との組の並びを条件付き確率で近似するモデルである。ここで、（t1,t2，…，tl）の形に対応付けがなされている単語列Ｗと意味表現の列Ｃとの同時確率Ｐ（Ｗ,Ｃ）は、以下の数式（５）の２行目のように近似することができる。
【００４２】
【数５】
2006343405.tif 000007
【００４３】
例えば、まず、単語・意味組Ｎ−グラムモデル作成部３０は、単語・意味表現の対応付きコーパス３４である
【００４４】
from=(station=(東京))：東京 <eps>：から to=(station=(京都))：京都 <eps>:まで
【００４５】
を以下のようにＮ＝３（３グラム）で区切る。
【００４６】
<文頭> from=(station=(東京))：東京 <eps>：から
from=(station=(東京))：東京 <eps>：から to=(station=(京都))：京都
<eps>：から to=(station=(京都)：京都 <eps>:まで
to=(station=(京都)：京都 <eps>:まで <文末>
【００４７】
そして、前記した数式（５）により言語コーパス１０全体における各組み合わせの生起確率を算出し、単語・意味表現組Ｎ−グラムモデルＤＢ２０を作成する。この後、単語・意味組Ｎ−グラムモデル作成部３０は、作成した単語・意味表現組Ｎ−グラムモデルＤＢ２０を、記憶部の所定領域に格納する。
【００４８】
音響モデルＤＢ５０は、音声の特徴量と音素との対応を示したものである。また、変換辞書８０は、各単語ごとに、その単語を音素の組み合わせで示したものである。この音響モデルＤＢ５０および変換辞書８０は、後記する音声理解結果探索部６１が音声データ４０の音声認識や意味表現認識をするときに参照される。なお、この音響モデルＤＢ５０および変換辞書８０は、従来技術である音声認識装置に用いられているものと同じものである。
【００４９】
（音声理解部）
続いて、音声理解部６０について説明する。音声理解部６０は、入出力部７０経由で音声データ４０の入力を受けると、記憶部の音響モデルＤＢ５０、変換辞書８０および単語・意味表現組Ｎ−グラムモデルＤＢ２０を参照して、音声理解結果（意味表現認識結果および音声認識結果）を出力する。この音声理解部６０は、音声理解結果探索部６１と、出力整形部６３とに分けられる。
【００５０】
（音声理解結果探索部）
音声理解結果探索部６１では、音声データ４０の入力を受けると、音響モデルＤＢ５０および単語・意味表現組Ｎ−グラムモデルＤＢ２０を参照して、入力された音声データに対応する単語と意味表現とを組にした記号の列を出力する。また、音声理解結果探索部６１は、各記号の認識における確信度も併せて出力する。なお、この音声理解結果検索部６１は請求項の音声理解処理部に相当する。
【００５１】
この確信度とは、その単語（意味表現）に競合するような他の候補が見あたらなかったことの度合いを示す値である。つまり、確信度が１に近づくほど、その単語（意味表現）に競合するような他の候補が見あたらなかったことを示し、確信度が０に近づくほど音声理解の過程においてその単語（意味表現）の他にも似たスコアをもつ単語（意味表現）候補が多く競合していたことを示す。なお、この音声理解結果探索部６１は、従来の音声認識技術における音声認識処理を応用することで実現可能である。
【００５２】
音声理解結果探索部６１における数学的な問題設定は以下の通りである。
Ｘは音声データから得られる時系列の特徴量、Ｗは単語列、Ｃは意味表現列を表す。Ｐ（Ｘ｜Ｗ）は音響モデル、Ｐ（Ｗ）は言語モデルと呼ばれる。従来技術である音声認識装置では、以下の数式（６）の条件付き確率Ｐ（Ｗ｜Ｘ）を最大化（あるいは前記特徴量の尤度を最大化）するような単語列Ｗ＾を探索し、音声認識結果として出力する。
【００５３】
【数６】
2006343405.tif 000008
【００５４】
ここで、本実施の形態の音声理解結果探索部６１が音声データ４０から直接意味表現の列を出力する計算式は、数式（６）を応用して、以下の数式（７）のようになる。
【００５５】
【数７】
2006343405.tif 000009
【００５６】
なお、数式（７）の３行目の近似は、
（１）ＸがＣと独立であるという仮定から、Ｐ（Ｘ｜Ｗ,Ｃ）のＰ（Ｘ｜Ｗ）への置き換え、
（２）Viterbi近似により、ΣWＰ（Ｘ|Ｗ）Ｐ（Ｗ|Ｃ）Ｐ（Ｃ）の総和型の、最も尤
度の高いＸ，Ｗについての確率Ｐ（Ｘ|Ｗ）Ｐ（Ｗ|Ｃ）Ｐ（Ｃ）への置き換え、
を行っている。
【００５７】
すなわち、本実施の形態では、数式（４）および数式（６）と、数式（５）および数式（７）とが同じ形であることを利用して、従来技術の音声認識装置で用いられていた単語Ｎ-グラムモデルを単語・意味表現組Ｎ−グラムモデル（単語・意味表現組Ｎ−グラムモデルＤＢ２０）に置き換える。これにより、モデルが置き換えられた音声認識装置からは、音声データ４０の入力に対して、単語と意味表現が組になった記号が認識結果として得られる。
【００５８】
また、認識された記号の確信度はその記号が、認識結果に現れる事後確率として表現する。なお、音声認識における事後確率の計算方法については、以下の文献に記載されている。
【００５９】
Frank Wessel et al.,"Confidence measures for large vocabulary continuous speech recognition", IEEE Tansactionsons Speech and Audio Processing,Vol.9,no.3,pp.288-298
【００６０】
また、事後確率の計算を、音声認識装置に組み込んだ技術は、以下の文献に記載されている。
【００６１】
李晃伸他,「２パス深索アルゴリズムにおける高速な単語事後確率に基づく信頼度算出法」，情報処理学会研究報告vol.2003,No・124,2003-SLP-9,pp.281-286
【００６２】
本実施の形態の音声理解結果探索部６１は、これらの技術を用いて確信度を計算すると、この確信度を単語・意味表現組の記号列に付して確信度付き単語・意味表現組記号列６２を作成する。そして、この確信度付き単語・意味表現組記号列６２を記憶部の所定領域に格納しておく。この後、確信度付き単語・意味表現組記号列６２は出力整形部６３により所定のフォーマットに整形される。
【００６３】
（出力整形部）
出力整形部６３は、確信度付き単語・意味表現組記号列６２から、確信度がある水準（閾値）より高い記号を選択する。そして、この記号から単語と意味表現とを抽出し、入力された音声データ４０に対応する単語列と意味表現との集合として整形して出力する。
【００６４】
このときの出力の記号列は、各記号が「意味表現：単語」の形で、単語と意味表現とが組になった記号を用いている。出力整形部６３は、この「意味表現：単語」から意味表現の記号を切り出すことで、意味表現認識結果である意味表現列を得ることができ、「意味表現：単語」から単語の記号を切り出すことで、音声認識結果である単語列を得ることができる。
【００６５】
ここで、図１を用いて音声理解装置１００の各構成要素の動作を簡単に説明する。
【００６６】
まず、単語・意味表現関連度計算部３１は、入出力部７０経由で入力された言語コーパス１０について、単語と意味表現との関連度を計算し、単語・意味表現関連度ＤＢ３２を作成する（Ｓ１）。次に、単語・意味表現対応付け部３３は、単語・意味表現関連度ＤＢ３２を参照して、言語コーパス１０の単語と意味表現との関連度が最大になる組み合わせを計算する。そして、単語・意味表現対応付け部３３は、その組み合わせで単語・意味表現の対応付きコーパス３４を作成する（Ｓ２）。次に、Ｎ−グラムモデル作成部３５は、この単語・意味表現の対応付きコーパス３４に基づき、単語・意味表現組Ｎ−グラムの生起確率を計算し、単語・意味表現組Ｎ−グラムモデルＤＢ２０を作成する（Ｓ３）。音声理解結果検索部６１は、入出力部７０経由で音声データ４０の入力を受け付けると、記憶部の音響モデルＤＢ５０、変換辞書８０およびＳ３で作成した単語・意味表現組Ｎ−グラムモデルＤＢ２０を参照して、入力された音声データ４０に対応する確信度付き単語・意味表現組記号列６２を作成する（Ｓ４）。そして、出力整形部６３は、この確信度付き単語・意味表現組記号列６２のうち、確信度がある水準（閾値）より高い記号を選択する。次に、出力整形部６３は、選択した記号から単語と意味表現とを抽出し、入力された音声データ４０に対応する単語列と意味表現との集合として整形して、入出力部７０経由で出力する（Ｓ５）。
このようにして音声理解装置１００は、音声理解結果（意味表現認識結果および音声認識結果）を演算出力する。
【００６７】
本実施の形態に係る音声理解装置１００は、前記したような処理を実行させる音声理解プログラムおよび単語・意味表現組Ｎ−グラムモデル作成プログラムによって実現することができ、これらのプログラムをコンピュータによる読み取り可能な記憶媒体（ＣＤ−ＯＭ等）に記憶して提供することが可能である。また、そのプログラムを、ネットワークを通して提供することも可能である。
【実施例】
【００６８】
続いて、本発明の実施例を説明する。本実施例は、音声理解装置１００に入力される言語コーパス１０として、鉄道の経路案内のドメイン（分野）を対象とした音声対話システムにより収集された発話を用いている。
【００６９】
なお、前記した音声対話システムでは、yes（肯定）、no（否定）、backchannel（あいづち）、departtime（出発時間：timeの上位クラス）、arrivetime（到着時間：timeの上位クラス）、time（時間（出発・到着の指定なし））、from（出発駅：stationの上位クラス）、to（到着駅：stationの上位クラス）、station（駅名（出発・到着の指定なし））、no＝（Ｘ）（Ｘの否定）等の意味表現が定義されている。
【００７０】
ここでの上位クラスの意味表現は、下位の意味表現を含むものとしている。例えば、単に「東京駅」を指す場合はstation＝（東京）と表され、「出発駅としての東京駅」を指す場合はfrom＝（station＝（東京））と表される。
【００７１】
本実施例で用いる言語コーパス１０は、以下のように、音声ファイル名：書き起こされた文（単語列）：対応する意味表現の列からなる（一部抜粋）。
【００７２】
（言語コーパス）
/norikae/20030807/000/20030807-000-000.wav:竹橋  から  高崎  まで  ：from
=(station=(竹橋)) to=(station=(高崎))
/norikae/20030807/000/20030807-000-001.wav:十八  時  二十  分  到着  ：
arrivetime(hour=(18),minute=(20))
/norikae/20030807/000/20030807-000-002.wav：お願い  し  ます：yes
/norikae/20030807/000/20030807-000-003.wav:竹橋  から  高崎  まで
：from=(station=(竹橋)) to=(station=(高崎))
/norikae/20030807/000/20030807-000-006.wav：十八  時  二十  分  高崎  に  到着  ：to=(station=(高崎)) arrivetime(hour=(18),minute=(20))
/norikae/20030807/000/20030807-000-007.wav：十八  時  二十  分  高崎  に  到着  ：to=(station=(高崎)) arrivetime(hour=(18),minute=(20))
【００７３】
単語・意味組Ｎ−グラムモデル作成部３０は、前記した言語コーパス１０の各単語と意味表現との組に対して、前記した数式（１）の関連度（φ2）を計算し、単語・意味表現組Ｎ−グラムモデルＤＢ２０となる以下のようなファイルを作成する（一部抜粋）。ここでは、ファイルの各行に、言語コーパス１０内の単語と、その単語に対する各意味表現の関連度を示している。ここでの書式は、「意味表現：関連度（φ2）」としている。
【００７４】
（ファイル）
台場
to=(station=(台場))：（0.111038）
station=(台場)：（0.110904）
arrivetime(hour=(9),minute=(40))：（0.002822）
from=(station=(赤羽))：（0.002662）
from=(station=(王子))：（0.000966）
backchannel：(0.000039)
まで
to=(station=(横浜))：(0.001614)
no：（0.01138）
to=(station=(蘇我))：（0．001059）
to=(station=(台場))：（0．000002）
【００７５】
このファイルの２行目から７行目までは、「台場」という単語に対する各意味表現の関連度（φ2）を示している。例えば、「台場」という単語と、「to=(station=(台場))」（目的地としての「台場」）という意味表現とは、「0.111038」の関連度を持っていることを示している（２行目参照）。
【００７６】
また、９行目から１２行目までは、「まで」という単語に対する各意味表現の関連度（φ2）を示している。例えば、「まで」という単語と、「to=(station=(台場))」という意味表現とは、「0.000002」の関連度を持っていることを示している（１２行目参照）。
【００７７】
続いて、単語・意味表現対応付け部３３は、前記したファイルデータを用いて、言語コーパス１０の単語列と意味表現列との最適な対応付けを検索する。ここでの探索は、前記した数式（２）のａ＾を最大にする対応付けの探索問題として解く。つまり、各文中ですべての対応付けの組み合わせに対する関連度の積をそれぞれ求め、それが最大となるものを最適な対応付けとして選択する。
【００７８】
例えば、言語コーパス１０が、
単語列：台場まで、
意味表現列：to=(station=(台場))、
という発話からなるとき、可能な対応付けは、
（１）to=(station=(台場))：台場 <eps>：まで、
（２）<eps>：台場 to=(station=(台場))：まで、
の２種類である。
ここで（１）の関連度の積は「0.11038」であり、（２）の関連度の積は「0.000002」であるので、（１）が最適な対応付けとして選択されることになる。
【００７９】
このような処理の結果、最適な対応付けが行われた単語と意味表現とを組とした新しい記号を用い、言語コーパス１０を以下のように書き換え、単語・意味表現の対応付きコーパス３４を作成する（一部抜粋）。ここでは、単語と意味表現とを組とした記号を空白で区切って表記されている。
なお、
:
は文の開始を示す記号であり、
:
は文の終了を表す記号である。
【００８０】
（単語・意味表現の対応付きコーパス）

:
 from=(station=(横浜))：横浜 <eps>：を <eps>：九 <eps>：時＼＼
departtime=(hour=(9),minute=(45))：四十五 <eps>：分 <eps>：に <eps>：出発＼＼
to=(station=(蘇我))：蘇我 <eps>：まで 
:


:
 departtime=(hour=(21),minute=(50))：二十一 <eps>：時 <eps>：五十＼＼ 
<eps>：分 <eps>：に <eps>：乗車 <eps>：し <eps>：ます 
:


:
 departtime=(hour=(14),minute=(30))：十四 <eps>：時 <eps>：三十 ＼＼
<eps>：分 <eps>：に from=(station=(新宿)) <eps>：を <eps>：出発 <eps>：し＼＼  <eps>：ます 
:

【００８１】
このようにして作成された単語・意味表現の対応付きコーパス３４を、単語・意味組Ｎ−グラムモデル作成部３０が単語・意味表現組Ｎ−グラムモデルＤＢ２０に変換する。
本実施例においては、単語・意味組Ｎ−グラムモデル作成部３０としてフリーウェアとして公開されている技術であるCMU-cambridge SLM Toolkit（P.Clarkson and R.Rosenfeld,"Staistica1 1anguage modeling using the CMU-Cambridgetoolkit",in Proc.EUROSPEECH 1997,pp.2707-2710参照)というＮ−グラム言語モデル作成ソフトウェアを用いた。
【００８２】
このソフトウェアを用いて、単語・意味表現の対応付きコーパス３４を、通常の単語列のみの言語コーパスの場合と同じように処理すると、以下のような形式（ＡＲＰＡ形式）のファイルが出力可能である（一部抜粋）。なお、本実施例では、Ｎ＝３のトライグラムモデルおよびＮ＝２のバイグラムモデルを作成した。以下に、本実施例で作成したＮ＝３のトライグラムモデルの一部を示す。左側の値は、右側の記号の３つの組に対する尤度スコア（対数表記）である。
【００８３】
例えば、以下の単語・意味表現組Ｎ−グラムモデルＤＢ２０において、言語コーパス１０に対する「to=(station=(浅草)):浅草 <eps>:から from=(station=(新宿)):新宿」の３つの組の尤度スコアは、「-0.5661」であることを示す。
【００８４】
（単語・意味表現組Ｎ−グラムモデルＤＢ）
-0.5146 to=(station=(川越)):川越 backchannel:や 

-1.1167 to=(station=(浅草)):浅草 <eps>:から 

-0.5661 to=(station=(浅草)):浅草 <eps>:から from=(station=(新宿)):新宿
-1.1167 to=(station=(浅草)):浅草 <eps>:から from=(station=(大久保)):大久保
-0.2651 to=(station=(浅草)):浅草 <eps>:て <eps>:し
-0.5146 to=(station=(浅草)):浅草 <eps>:発 <eps>:分
【００８５】
このようにして作成された単語・意味表現組Ｎ−グラムモデルＤＢ２０を音声認識装置で利用する。本実施例では、音声理解結果探索部６１として、フリーウェアとして公開されている技術であるJulius(A.Lee et al.,"Julius-an open source real-time large vocabllary recognition engine",in Proc.EUROROSPEECH 2001,p.1691-1694参照)という音声認識ソフトウェアを用いる。
【００８６】
なお、単語・意味表現組の記号は、前記した変換辞書８０に、以下のような形式の語彙ファイルとして単語部分の読み（音素列）を持つ認識語彙として定義する。
【００８７】
from=(station=(竹橋))：竹橋 from=(station=(竹橋)) t a k e b a sh i
from=(station=(高崎))：高崎 from=(station=(高崎)) t a k a s a k i
【００８８】
空白で区切られた各行の１列目は単語・意味表現組の記号であり、２列目は音声認識ソフトウェアが当該記号に対して標準で出力する表記記号であり、３列目は認識語彙の音素列である。
【００８９】
ここで、音声データ４０としてＷＡＶ形式で録音された音声ファイルを前記の認識語彙（変換辞書８０）を持つ音声理解装置１００（本実施例では、従来技術である音声認識装置を利用）に入力すると、この認識語彙と単語・意味表現組Ｎ−グラムモデルＤＢ２０とを参照して、音声理解結果探索部６１は、以下のような認識結果を出力する。この認識結果は、本実施の形態の確信度付き単語・意味表現組記号列６２に相当する。
【００９０】
（確信度付き単語・意味表現組記号列）
sentenceｌ：from=(station=(竹橋)) to=(station=(高崎))
wseq1:
 from=(station=(竹橋)):竹橋 <eps>:から to=(station=(高崎)):高崎       <eps>：まで

phseq1:silB｜t a k e b a sh i|k a r a|t a k a s a ki|m a d e|silE
cmscore1:0.984 0.982 0.955 0.898 0.510 1.000
score1:-5849.820801
【００９１】
この中で、１行目（sentenceｌ）は本実施例で得られる音声理解結果、２行目〜３行目（wseq1）は認識された単語・意味表現組の記号列、４行目（phseq1）は音素列、５行目（cmscore1）は確信度、６行目（score1）は認識スコアである。
【００９２】
次に、出力整形部６３は、確信度付き単語・意味表現組記号列３４の単語・意味表現組の記号列（wseq1）および確信度（cmscore1）を利用し、
（１）文の先頭および末尾を表す記号
,
を取り去る。
（２）あらかじめ設定した確信度の水準（閾値）以下の記号は出力しない（本実施の形態では、確信度の閾値を0.5としている）。
（３）意味表現と単語とを分ける記号「：」で、各記号を分割し、意味表現の記号列と単語列とを分けて出力する。
【００９３】
これにより、
意味表現認識結果として、
【００９４】
from=(station=(竹橋))（確信度0.982）to=(station=(竹橋)）（確信度0.898）
【００９５】
が出力され、
音声認識結果として、
【００９６】
竹橋（確信度0.982）から（確信度0.955）高崎（確信度0.898）まで（確信度0.510）
【００９７】
といったデータが出力される。
【００９８】
以上のようにして、音声理解装置１００は、入力された音声データ４０の音声理解を行うことができる。なお、ここでは、出力整形部６３に設定した確信度の閾値は、前記した記憶部に格納されており、入出力部７０経由で変更可能である。例えば、前記の音声理解結果に対して、確信度の閾値を0.6とすれば、確信度0.6以下の記号は出力しないので、音声認識結果の「まで（確信度0.510）」は出力しないことになる。
つまり、音声理解装置１００の利用者が、より確信度の高い音声理解結果を得たいときには、閾値を高く設定し、確信度の低いものも含めた音声理解結果を得たいときには、閾値を低く設定すればよい。
【００９９】
《実験結果》
本発明によって得られる効果を示すための実験として、同じ言語コーパス（約9000文から成る）を利用して作成した単語Ｎ−グラムモデル（単語Ｎ−グラムモデルＤＢ）および単語・意味表現組Ｎ−グラムモデルＤＢ２０を利用して、約3000文の音声データ４０に対して、以下の各方法を用いて音声理解を行った結果を示す（図２参照）。本実験では以下の（１）〜（４）の４つの方法により音声理解を行い、各方法の性能の比較を行った。ここでは、確信度により音声理解結果の棄却水準を０（一切棄却しない）から１（すべて棄却する）まで変化させて、性能の比較をしている。
（１）単語Ｎ-グラムを用いて音声認識を行い、得られた単語列に対して最も尤度の高い意味表現列を、単語・意味表現組Ｎ−グラムモデルＤＢ２０を用いて探索して出力する方法(baseline)。
（２）単語Ｎ-グラムを用いて音声認識を行い、得られた単語列の中で、確信度の高い単語を棄却して未知語を表す記号に置き換えた後、単語列に対して最も尤度の高い意味表現列を、単語・意味表現組Ｎ−グラムモデルＤＢ２０を用いて探索して出力する方法（単語の確信度を用いて不確かな単語を無視する方法）（WordReject）。
（３）本実施例の音声理解方法（Proposed）。
（４）（比較のため）音声認識がすべて正しく行われた場合を想定し、正しい単語列に対して最も尤度の高い意味表現列を、単語・意味表現組Ｎ−グラムモデルＤＢ２０を用いて探索して出力する方法（Transcription）。
図２の横軸（Precision）は、音声理解結果として出力された意味表現のうち、正解であったものの割合（適合率）を示す。縦軸（Recall）は、音声データ４０に対して得られるべき正解のうち、音声理解結果として出力されたものの割合（再現率）を示す。いずれも単位は％である。
【０１００】
図２に示すように、例えば、（１）〜（３）の方法による出力結果の適合率を、再現率８０％あたりで比較すると、いずれも８０％程度である。しかし、再現率７０％あたりで比較すると、（３）Proposedの方法（本実施例）は、（１）baselineや（２）WordRejectの方法に比べて高い適合率の音声理解を行うことができることが分かる。
【０１０１】
また、例えば、（１）〜（３）の方法による出力結果の再現率を、適合率８６％あたりで比較すると、（１）Precisionの方法は３７％程度であり、（２）WordRejectの方法は３７％〜７０％程度であり、（３）Proposedの方法（実施例）は７８％程度であることが分かる。つまり、（３）Proposedの方法（実施例）は、（１）baselineや（２）WordRejectの方法に比べて高い再現率の音声理解を行うことができることが分かる。
【０１０２】
この結果により、本発明は音声認識と言語理解との過程を統合した上で、確信度を算出し、この確信度の水準を下回る音声理解結果を棄却することにより、他の方法と同程度の再現率を得られるときの適合率を高くすることができることが示された。また、他の方法と同程度の適合率を得られるときの再現率を高くすることができることが示された。
【図面の簡単な説明】
【０１０３】
【図１】本実施の形態の音声理解装置を機能展開して説明したブロック図である。
【図２】確信度により音声理解結果の棄却水準を変化させたときの性能変化を示したグラフである。
【符号の説明】
【０１０４】
１０    言語コーパス
２０    意味・表現組Ｎ−グラムモデルＤＢ（単語・意味表現組データベース）
３０    単語・意味組Ｎ−グラムモデル作成部
３１    単語・意味表現関連度計算部
３２    単語・意味表現関連度ＤＢ
３３    単語・意味表現対応付け部
３４    単語・意味表現の対応付きコーパス
３５    Ｎ−グラムモデル作成部
４０    音声データ
５０    音響モデルＤＢ（音響モデル）
６０    音声理解部
６１    音声理解結果探索部（音声理解処理部）
６２    確信度付き単語・意味表現組記号列
６３    出力整形部
７０    入出力部
８０    変換辞書
１００  音声理解装置
【図１】
2006343405.tif 000010
【図２】
2006343405.tif 000011