JP2005070330A - 音声認識装置及びプログラム - Google Patents
音声認識装置及びプログラム Download PDFInfo
- Publication number
- JP2005070330A JP2005070330A JP2003299034A JP2003299034A JP2005070330A JP 2005070330 A JP2005070330 A JP 2005070330A JP 2003299034 A JP2003299034 A JP 2003299034A JP 2003299034 A JP2003299034 A JP 2003299034A JP 2005070330 A JP2005070330 A JP 2005070330A
- Authority
- JP
- Japan
- Prior art keywords
- vocabulary
- speech recognition
- word
- word group
- group class
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Abstract
【課題】 キーワードのような必要最小限の語彙を確実に認識する。
【解決手段】 言語モデルデータベースに記憶された言語モデルは、語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成されている。すなわち、言語モデルは、重要語(例えば、機器の制御に必要なキーワード)のつながりをネットワーク文法で記述すると共に、この間に挿入される重要でない語を確率的な文法モデル(統計的言語モデル)で記述したものである。音声認識部は、この言語モデルを用いて音声認識を行うことで、少なくともキーワードについては高精度に音声認識を行うことができる。
【選択図】 図3
【解決手段】 言語モデルデータベースに記憶された言語モデルは、語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成されている。すなわち、言語モデルは、重要語(例えば、機器の制御に必要なキーワード)のつながりをネットワーク文法で記述すると共に、この間に挿入される重要でない語を確率的な文法モデル(統計的言語モデル)で記述したものである。音声認識部は、この言語モデルを用いて音声認識を行うことで、少なくともキーワードについては高精度に音声認識を行うことができる。
【選択図】 図3
Description
本発明は、音声認識装置及びプログラムに係り、特に言語モデルを用いて音声の認識性能を図る音声認識装置及びプログラムに関する。
連続音声認識装置における言語モデルとして、非特許文献1には、従来よく用いられたネットワーク文法モデルと、確率的言語モデル(例えばNグラム(N-gram)モデル)について記載されている。
ネットワーク文法モデルは、単語の並びを正規文法や文脈自由文法などで記述することによって、文の認識を可能とする技術である。本技術は、認識対象の文法を完全に記述することができれば、その順序制約などを満たした正しい文を出力することができる点で優れている。
一方、Nグラムモデルでは、別に用意した発話コーパスから単語の並びの確率的な構造を、多重マルコフモデルを仮定して学習して用いるものである。本技術は、一意に語順を定めないことから、語順の定まらない自然発話文や不要語の挿入された文における認識に対して効果的である。
ところで、従来、音声認識装置は、認識対象の後を予め辞書に登録しなければならなかったため、ユーザが辞書に登録されていない後を発話すると、認識できないという問題があった。一般に、語彙数が増えれば増えるほど、認識性能が低下してしまい、特に、人名や地名などを認識することができない問題があった。
そこで、特許文献1に記載された発明は、地名や人名などのクラスに対してサブワード単位で確率的言語モデルを作成し、クラスに属する後のサブワード列(例えば、モーラ列)の接続確率を求める。そして、これをクラス単位でNグラムモデルにおける通常の単語と同様に扱うことにより、未知語の音声認識を行っている。
特開2001−236089号公報
鹿野清宏他著、「音声認識システム」、情報処理学会編
ネットワーク文法モデルは、非特許文献1に記載されているように、文法によって語順を一意に定めている。このため、語順の定まらない自然発話文や不要語が挿入された文に対して、音声認識を高精度に行うことができなかった。
一方、Nグラムモデルは、語順に対して制約が緩いため、文法的に不正な結果を出力することがしばしばあった。また、文章中重要なキーワードが含まれるような発話においても、辞書中のどの語を認識すべきかが明示的に与えられていないため、キーワード抽出ができなくなるといった問題があった。これらは、特に、音声対話システムへの応用において、意味解釈処理の性能を劣化させる要因の1つになっていた。
また、特許文献1の音声認識装置についても、クラスとクラス外の語の接続に関しては、上記Nグラムモデルの問題と同様の問題があった。
本発明は、上述した課題を解決するために提案されたものであり、例えばキーワードのような必要最小限の語彙を確実に認識する音声認識装置及びプログラムを提供することを目的とする。
請求項1に記載の発明である音声認識装置は、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置であって、語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、前記音声信号の所定箇所について前記第1の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第2の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、を備えている。
請求項7に記載の発明である音声認識装置は、コンピュータを、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置として機能させる音声認識プログラムであって、前記コンピュータを、語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、前記音声信号の所定箇所について前記第1の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第2の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、して機能させる。
言語モデルは、第1の語群クラスと第2の語群クラスとをネットワークで接続して構成されている。ここで、第1の語群クラスは、語順に対して順序制約を有するものであり、文法的制約が強い。第2の語群クラスは、語順に対して確率的な制約を有するものであり、語順の定まらない自然発話文や、意味のない不要語を認識できる。
音声認識手段は、このような言語モデルを用いて、音声信号の所定箇所について第1の語群クラスで語彙を決定し、音声信号の他の箇所について第2の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続する。
したがって、上記発明によれば、音声信号の所定箇所について語順に対して順序制約を有する第1の語群クラスで語彙を決定し、音声信号の他の箇所について語順に対して確率的な制約を有する第2の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続して、音声信号を認識することにより、必要最低限の語彙を確実に認識することができる。
請求項2に記載の発明である音声認識装置は、請求項1に記載の発明であって、前記言語モデル記憶手段は、第1の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも1つが割り当てられている。
請求項8に記載の発明である音声認識装置は、請求項7に記載の発明であって、前記言語モデル記憶手段は、第1の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも1つが割り当てられている。
第1の語群クラスに属する語彙は、文法上正確な語彙であるので、意味解釈上重要な語彙を用いることができる。重要な語彙は、システムの要求によって異なり、音声認識結果に基づいて制御する機器に応じて予め設定されるので、例えば、予め定められた語彙、発話プロトコルに現れる語彙などであってもよい。また、発話プロトコルの制約上、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙、例えば、所定の助詞、助動詞であってもよい。
請求項3に記載の発明である音声認識装置は、請求項1または請求項2に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、前記第1の語群クラスに割り当てられた語彙以外の語彙を割り当てている。
請求項9に記載の発明である音声認識装置は、請求項7または請求項8に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、前記第1の語群クラスに割り当てられた語彙以外の語彙を割り当てている。
第2の語群クラスは、語順に対して確率的な制約を有するため語順の定まらない自然発話文や、意味のない不要語を認識するときに有効であり、語彙辞書の負担が少ない。
そこで、上記発明によれば、第2の語群クラスの語彙として、第1の語群クラスに割り当てられた語彙以外の語彙を割り当てることによって、語彙辞書の負担を抑制しつつ、重要語彙については第1の語群クラスで確実に認識することができる。
請求項4に記載の発明である音声認識装置は、請求項1から請求項3のいずれか1項に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、集合名詞を割り当てている。
請求項10に記載の発明である音声認識装置は、請求項7から請求項9のいずれか1項に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、集合名詞を割り当てている。
集合名詞は、非常に多く存在する。このため、集合名詞を第1の語群クラスで認識すると、語順に対して順序制約を持たせることが困難であり、語彙辞書の負担が大きくなる。
そこで、上記発明によれば、第2の語群クラスの語彙として集合名詞を割り当てることにより、語彙辞書の負担を軽減することができる。
請求項5に記載の発明である音声認識装置は、請求項1から請求項4のいずれか1項に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの単位として、サブワード、単語、形態素の少なくとも1つを割り当てている。
請求項11に記載の発明である音声認識装置は、請求項7から請求項10のいずれか1項に記載の発明であって、前記言語モデル記憶手段は、前記第2の語群クラスの単位として、サブワード、単語、形態素の少なくとも1つを割り当てている。
第2の語群クラスは、文法の制約によらないので、単語だけでなく、単語より小さい音素や音節などの単位、例えばサブワードや形態素を認識するときに用いるとよい。
請求項6に記載の発明である音声認識装置は、請求項1から請求項5のいずれか1項に記載の発明であって、前記音声認識手段の認識結果のうち前記第1の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段を更に備えている。
請求項12に記載の発明である音声認識装置は、請求項7から請求項11のいずれか1項に記載の発明であって、前記コンピュータを、前記音声認識手段の認識結果のうち前記第1の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段として更に機能させる。
第1の語群クラスに属する語彙は、重要な語彙であり、音声認識結果に基づいて機器を制御する場合では、機器を制御するためのキーワードとなり得る。
そこで、上記発明では、音声認識手段の認識結果のうち第1の語群クラスに属する語彙に基づいて、機器の制御対象及び制御内容を把握して、その機器を制御することができる。
本発明に係る音声認識装置及びプログラムは、音声信号の所定箇所について語順に対して順序制約を有する第1の語群クラスで語彙を決定し、音声信号の他の箇所について語順に対して確率的な制約を有する第2の語群クラスで語彙を決定して、決定した語彙をネットワークモデルで接続して、音声信号を認識することにより、必要最低限の語彙を確実に認識することができる。
以下、本発明の好ましい実施の形態について図面を参照しながら詳細に説明する。
[第1の実施形態]
図1は、本発明の実施の形態に係る音声認識システム1の構成を示すブロック図である。音声認識システム1は、例えば車両に搭載され、ドライバの発話指示に従って空調装置19や音響装置20を制御したり、ナビゲーション制御を行うものである。
図1は、本発明の実施の形態に係る音声認識システム1の構成を示すブロック図である。音声認識システム1は、例えば車両に搭載され、ドライバの発話指示に従って空調装置19や音響装置20を制御したり、ナビゲーション制御を行うものである。
(構成1)
音声認識システム1は、ユーザの音声を入力するマイク11と、音声認識開始を指示するためのPTTスイッチ12と、マイク11に入力された音響の分析を行う音響分析部13と、音響モデルを記憶した音響モデルデータベース14と、語彙辞書や言語モデルを記憶した言語モデルデータベース15と、音声認識を行う音声認識部16と、GPS(Global Positioning System)電波を受信して現在の自車位置を検出するGPSセンサ17と、を備えている。
音声認識システム1は、ユーザの音声を入力するマイク11と、音声認識開始を指示するためのPTTスイッチ12と、マイク11に入力された音響の分析を行う音響分析部13と、音響モデルを記憶した音響モデルデータベース14と、語彙辞書や言語モデルを記憶した言語モデルデータベース15と、音声認識を行う音声認識部16と、GPS(Global Positioning System)電波を受信して現在の自車位置を検出するGPSセンサ17と、を備えている。
また、音声認識システム1は、地図データを記憶した地図データベース18と、車内空気を調整する空調装置19と、音楽を出力したりラジオの音声を出力する音響装置20と、空調制御、音響制御、さらにルート探索その他のシステム全体の制御を行う制御部21と、地図やモニタ画面等を表示するタッチパネルディスプレイ22と、音声合成を行う音声合成部23と、音声を出力するスピーカ24と、を備えている。
図2は、タッチパネルディスプレイ22の一部に表示された操作部を示す図である。タッチパネルディスプレイ22には、車内温度を表す車内温度表示部22aと、車内温度を1ステップ上げる温度設定ボタン22bと、車内温度を1ステップ下げる温度設定ボタン22cと、ラジオ聴取モードに設定するラジオ聴取ボタン22dと、CD聴取モードに設定するCD聴取ボタン22eと、が表示されている。
ドライバは、4つのボタンに触れて空調装置19や音響装置20の操作を行うことができる。本実施形態では、ドライバは上記4つのボタンに触れる代わりにマイク11に発話することで同様の操作を行う。
音響分析部13は、PTTスイッチ12がオンになると、マイク11を介して入力された音声信号について音響分析を開始して、ケプストラム系列などの音声特徴量系列を抽出する。
音響モデルデータベース14には、音声特徴量系列を音声の確率的な構造として記述した複数の音響モデルが記憶されている。また、言語モデルデータベース15には、言語的な構造を記述した言語モデルが記憶されている。この言語モデルは、音声認識の対象となる文のパターン(発話プロトコル)に対応するようにネットワーク形式で表されたモデルである。本実施の形態では、「〜を(動詞)たい」という発話プロトコルを使用するものとする。
(発話プロトコル)
本実施の形態では、上記のように、「〜(し)たい」という言い回しで発話するようインタフェースの仕様(発話プロトコル)が定められている。
本実施の形態では、上記のように、「〜(し)たい」という言い回しで発話するようインタフェースの仕様(発話プロトコル)が定められている。
ユーザに完全に自由な表現で発話させると、「えーエアコンの温度を上げてもらいたいんだけどさあ」、「エアコン上げて」、「上げてエアコン」など、発話バリエーションが膨大になり、発話の意味理解処理が複雑になるからである。一方で文末を「〜(し)たい」という表現に制限させて発話させることにより、発話バリエーションを抑えることができる。
なお、「〜(し)たい」という表現は、ユーザの希望を表す表現である。この表現は、システムに対しユーザが依頼をするという立場に立って考えた場合、ユーザ発話の自由度を著しく低下させるような制限ではなく、自然な仮定と考えられる。
図3は、言語モデルデータベース15に記憶された言語モデルを示す図である。言語モデルは、語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成したものである。なお、四角ブロックの語は第1の語群クラスを示し、角丸四角ブロックの語は第2の語群クラスを示している。換言すると、上記言語モデルは、重要語(例えば、機器の制御に必要なキーワード)のつながりをネットワーク文法で記述すると共に、この間に挿入される重要でない語を確率的な文法モデル(例えば、Nグラム(N−gram)モデルなどの統計的言語モデル)で記述したものである。
(統計的言語モデル)
統計的言語モデルは、通常、発話コーパスから統計的な手法によって出現確率の推定を行うものである。このため、「〜(し)たい」という発話プロトコルの制約の元でユーザがどのような発話を行うかを調べるために、予め様々な発話を収集しなければならない。なお、詳細な説明は省略するが、一般的には、ユーザに気付かれないような(システムがユーザの命令を実行していると思わせるような)実験装置を用いて発話の収集を行うWoZ法と呼ばれる方法がとられる。
統計的言語モデルは、通常、発話コーパスから統計的な手法によって出現確率の推定を行うものである。このため、「〜(し)たい」という発話プロトコルの制約の元でユーザがどのような発話を行うかを調べるために、予め様々な発話を収集しなければならない。なお、詳細な説明は省略するが、一般的には、ユーザに気付かれないような(システムがユーザの命令を実行していると思わせるような)実験装置を用いて発話の収集を行うWoZ法と呼ばれる方法がとられる。
このようにして集められた発話コーパス(発話例)を以下に示す。
「寒いのでエアコンの温度を上げたい」
「エアコンえー温度を下げたい」
「えーと室温を上げたい」
「じゃあラジオを聞きたい」
「あのーCDを聞きたい」
「CD聞きたい」
「寒いのでエアコンの温度を上げたい」
「エアコンえー温度を下げたい」
「えーと室温を上げたい」
「じゃあラジオを聞きたい」
「あのーCDを聞きたい」
「CD聞きたい」
図4は、発話例を体系的に表した図である。下線部がキーワード、斜体字がキーワード以外の語を示す。また、語群(1)から語群(3)は、図3のブロック(1)からブロック(3)にそれぞれ対応する。斜体字は、語順に関して規則性をもって出現する語である。例えば、空調装置19(エアコン)を操作する場合、「上げ」又は「下げ」の前に助詞「を」、後に助動詞「たい」が出現する。音響装置20(オーディオ)を操作する場合、「聞き」が「たい」の前に必ず出現し、「上げ」、「下げ」または「聞き」の前に必ず「を」が出現する。ただし、助詞「を」は省略されることがある。言語モデルデータベース15の言語モデルは、このような体系を考慮して作成されたものである。
(構成2)
音声認識部16は、音響分析部13で抽出された音声特徴量系列と、音響モデルデータベース14に記憶された音響モデルとのマッチングを行い、さらに、音声認識データベース13に記憶されている言語モデルを用いて、音響モデル列に対応する語彙を認識する。音声認識部16は、このようにして得られた認識結果を制御部21に供給する。
音声認識部16は、音響分析部13で抽出された音声特徴量系列と、音響モデルデータベース14に記憶された音響モデルとのマッチングを行い、さらに、音声認識データベース13に記憶されている言語モデルを用いて、音響モデル列に対応する語彙を認識する。音声認識部16は、このようにして得られた認識結果を制御部21に供給する。
地図データベース18には、都道府県名、市町村名などの一般的な地図データだけでなく、入力情報に応じて所定位置を検索可能な地図データが記憶されている。地図データベース18には、例えば、料理名に対応する店名及びその位置データも記憶されている。
空調装置19は、制御部21の制御に従って、車内温度を上げたり下げたり調整する。音響装置20は、制御部21の制御に従って、CDを演奏したり、又はラジオの音声を出力する。
制御部21は、GPSセンサ17で検出された現在の自車位置と、地図データベース18に記憶された地図データと、に基づいて、現在の自車位置周辺の地図をタッチパネルディスプレイ22に表示する。さらに、制御部21は、音声認識部16で認識されたユーザの発話指示に従って、目的地を探索して現在の自車位置から目的地までのルートをタッチパネルディスプレイ22に表示する。
また、制御部21は、音声認識部16で得られた音声認識結果からキーワードを抽出するキーワード抽出部17aを有している。キーワード抽出部17aは、音声認識結果から、タッチパネルディスプレイ22に表示された各操作ボタンに対応する語、「エアコン」、「上げる」、「下げる」、「ラジオ」、「CD」をキーワードとして抽出する。なお、これらのキーワードは、第1の語群クラスにより得られた語彙である。そして、制御部21は、抽出したキーワードに基づいて操作対象及び設定内容を判断し、判断結果に従って所定の機器(例えば空調装置19や音響装置20)を制御する。
(システム動作)
図5は、制御部21が機器を制御するときの制御ルーチンを示すフローチャートである。音声認識システム1は、ステップST1からステップST6までの処理を実行する。
図5は、制御部21が機器を制御するときの制御ルーチンを示すフローチャートである。音声認識システム1は、ステップST1からステップST6までの処理を実行する。
ステップST1では、音響分析部13は、PTTスイッチ12が押圧されたか否かを判定し、PTTスイッチ12が押圧されたと判定すると、ステップST2に移行する。
ステップST2では、音響分析部13は、マイク11を介して入力された音声信号を図示しない音声信号メモリに記憶して、ステップST3に移行する。
ステップST3では、音響分析部13は、音声信号の発生レベルが閾値以下であるかを判定し、閾値以下でないときはステップST2に移行し、閾値以下になるとステップST3に移行する。
ステップST4では、音響分析部13は、音声信号メモリに記憶された音声信号について音響分析を開始して、ケプストラム系列などの音声特徴量系列を抽出する。そして、抽出した音声特徴量系列を図示しない音声特徴量メモリに記憶して、ステップST5に移行する。
ステップST5では、音声認識部16は、言語モデル及び音響モデルを設定して音声認識を行う。ここでは、次に説明する音声認識処理ルーチンが実行される。そして、音声認識部16は認識結果を制御部21に供給して、ステップST6に移行する。
(音声認識ルーチン)
図6は、音声認識部16の音声認識処理ルーチンを示すフローチャートである。音声認識部16は、ステップST11からステップST16までの処理を実行することで、音声認識処理を行う。ここでは、予め状態間の接続が有限状態のネットワークとして展開されているものとする。また、音声認識処理において一般に広く知られているleft-to-right型のHMMを仮定する。
図6は、音声認識部16の音声認識処理ルーチンを示すフローチャートである。音声認識部16は、ステップST11からステップST16までの処理を実行することで、音声認識処理を行う。ここでは、予め状態間の接続が有限状態のネットワークとして展開されているものとする。また、音声認識処理において一般に広く知られているleft-to-right型のHMMを仮定する。
ステップST11では、音声認識部16は、初期処理として時刻カウンタtに初期値(1)を代入して、ステップST12に移行する。
ステップST12では、音声認識部16は、ネットワークの初期ノード位置の尤度(認識スコア)1.0を、任意の状態系列における尤度を管理する尤度リストに追加して、ステップST13に移行する。
ステップST13では、音声認識部16は、時刻カウンタtがTになったかを判定し、時刻カウンタtがTになったときはステップST16に移行し、時刻カウンタtがTになっていないときはステップST14に移行する。
ステップST14では、音声認識部16は、時刻tにおける尤度を計算して、ステップST15に移行する。具体的には次のサブルーチンを実行する。
(サブルーチン)
図7は、ステップST14のサブルーチンを示すフローチャートである。
図7は、ステップST14のサブルーチンを示すフローチャートである。
ステップST14では、音声認識部16は、前の時刻尤度リストに登録されているすべてのトークンに対して、自己ループ及び次の遷移先ノードの尤度をすべて計算する。具体的にはステップST21からステップST41までの処理を実行する。
ここで、トークンとは、音声認識結果の候補であって、尤度と履歴(単語の履歴)とを含んだものである。音声認識では、音声データの発声された音につれて、単語から単語へとトークンが「伝達」し、履歴を持つようになり、最終的には、残った最大尤度のトークンに基づいて、音声認識単語列(音声認識結果)が求められる。
図8は、音声認識結果の候補(仮説)をノード間が連結されたツリー構造で示した図である。終端ノードに残ったトークンのうち最大尤度の仮説が、最終的な音声認識結果となる。
図7のステップST21では、時刻(t−1)の尤度リスト内に未処理のトークンがあるかを判定し、肯定判定のときはステップST22に移行し、否定判定のときはステップST41に移行する。
ステップST22では、尤度I=直前(last)尤度、ノード番号(状態番号)i=未処理トークンのノード番号とする。すなわち、変数(I,i)にそれぞれ前時刻までの尤度、未処理トークンのノード番号を代入して、ステップST23に移行する。
ステップST23では、ステップST22で求めた尤度Iに音響尤度を乗じることで新たな尤度Iとして、ステップST24に移行する。ここで、
(音響尤度)=(ノードiの自己遷移確率a[i,i])×
(時刻t及びノードiに対応する状態における出力確率b[t,i])
である。
(音響尤度)=(ノードiの自己遷移確率a[i,i])×
(時刻t及びノードiに対応する状態における出力確率b[t,i])
である。
ステップST24では、(i,I,t)を尤度リストに追加して、ステップST25に移行する。なお、これ以降の処理では、ノード番号iから遷移可能なすべてのノードに対する尤度を計算する。
ステップST25では、未遷移ノードが存在するかを判定し、肯定判定のときは当該未遷移ノードの処理を行うためにステップST26に移行し、否定判定のときはステップST21に移行し、時刻(t−1)の尤度リスト中における他の未処理トークンに対する処理を行う。
ステップST26では、自己ループの処理(ステップST23)と同様に、変数(I,i)にそれぞれ前時刻までの尤度I、遷移先(未遷移ノード)のノード番号iを代入して、ステップST27に移行する。
ステップST27では、ノード番号iが第2の語群クラスのノードであるかを判定し、肯定判定のときはステップST28に移行し、否定判定のときはステップST33に移行する。ステップST28では、ノード番号iが単語終端であるかを判定し、肯定判定のときは尤度を求めるためにステップST29に移行し、否定判定のときはステップST31に移行する。
ステップST29では、語群における過去の単語履歴と現在の単語とを用いて条件付生起確率を求める。そして、尤度Iに上記条件付生起確率を乗じて新たな尤度Iを求めて、ステップST30に移行する。
(生起確率の計算)
ここで、第2の語群クラスにおける各語群の生起確率の計算について説明する。本実施形態では、第2の語群クラスの構成単位としてモーラ単位で生起確率を計算する場合の例を示す。
ここで、第2の語群クラスにおける各語群の生起確率の計算について説明する。本実施形態では、第2の語群クラスの構成単位としてモーラ単位で生起確率を計算する場合の例を示す。
音声認識部16は、第2の語群クラスにおける生起確率を、Nグラムモデルと同様に多重マルコフモデルを想定して計算する。すなわち、モーラ列m1m2…mnが生起する確率を式(1)で計算する。
そして、ステップST30では、単語履歴に現単語を追加して、ステップST37に移行する。
ステップST31では、「ノード番号iが単語先端かつ単語履歴がない」かを判定し、肯定判定のときはステップST32に移行し、否定判定のときはステップST37に移行する。ステップST32では、語群クラスに遷移した直後であるので、単語履歴に単語先端であることを表す「B」を追加して、ステップST37に移行する。
このように、音声認識部16は、ノード番号iが第2の語群クラスのノードでかつ単語終端であれば、その語群における過去の単語履歴と現在の単語とから条件付生起確率を求める。そして、尤度Iに条件付生起確率を乗じて、当該トークンの単語履歴に現単語を追加する。
図9は、図4に示した語群(3)において、行に先行するモーラを、列に後続のモーラをとった場合における先行モーラ→後続モーラが出現する回数を表した図である。また、表中Bは語群先頭を表し、Eは語群後端を表す。すなわち、この出現回数を表した図は、単語履歴を逐次更新することで作成される。
例えば、語群先頭を表す「B」の行には、「の」、「し」、「え(アンダーバー)」のそれぞれの位置に「1」がある。これは、語群文頭に「の」、「し」、「え(アンダーバー)」の各々が1回出現することを意味する。このため、語群先頭に「の」が出現する確率P(の|B)=1/3となる。
同様に、例えば、「の」の次に「お」が出現する確率P(お|の)=1/1=1、「ん」の次に「ど」が出現する確率P(ど|ん)=2/3である。
音声認識部16は、このような条件付き確率をすべての組合せに対して求めることにより、各語群における生起確率を求める。
一方、ステップST33では、ノード番号iが第1及び第2の語群クラスの境界であるかを判定し、肯定判定のときはステップST34に移行し、否定判定のときはステップST37に移行する。
ステップST34では、単語履歴に単語終端であることを表す「E」を追加して、ステップST35に移行する。ステップST35では、ステップST29と同様にして、条件付生起確率及び新たな尤度Iを求めて、ステップST36に移行する。ステップST36では、当該トークンの単語履歴をクリア(消去)して、ステップST37に移行する。
このように、音声認識部16は、ノード番号iのノードが第1の語群クラスのノードであり、かつ境界ノードであるときは、単語履歴に終端を表す「E」を追加すると共に、尤度Iに条件付生起確率を乗じて、当該トークンの単語履歴を消去する。
ステップST37では、ノード番号iのノードが単語先端であるかを判定し、肯定判定のときはステップST38に移行し、否定判定のときはステップST39に移行する。ステップST38では、仮説履歴に現単語を追加して、ステップST39に移行する。
ステップST39では、ステップST23と同様に、直前(last)ノードからの遷移確率a[last,i]に、時刻t及びノード番号iに対応する状態における出力確率b[t,i]を乗じて、音響尤度を求める。そして、音響尤度を尤度Iに乗じて、新たな尤度Iを求めて、ステップST40に移行する。ステップST40では、(i,I,t)を尤度リストに追加して、ステップST25に移行する。
このように、音声認識部16は、第1及び第2の語群クラスによらず、ノード番号iのノードが単語先端であれば、仮説履歴にその単語を登録すると共に、尤度Iに音響尤度を乗じる。
音声認識部16は、以上のように、時刻(t−1)における尤度リスト内のすべての未処理トークンについて尤度を計算した後、ステップST41に移行する。
ステップST41では、時刻tの尤度リストを取得する。そして、トークン数の爆発的増大を防止するために、時刻tにおいて尤度の高い任意の個数(本実施形態では、上位N個)のトークンのみを残して、サブルーチン処理を終了する。
そして、図6に示すステップST15では、時刻カウンタtをインクリメントして(t+=1)、ステップST13に戻る。したがって、音声認識部16は、時刻カウンタtがTになるまで、ステップST13からステップST15までの処理を繰り返し実行する。
ステップST16では、音声認識部16は、終端ノードに残ったトークンのうち最大尤度の仮説を音声認識結果として出力する。
音声認識部16における認識スコア(尤度)の計算方法について説明する。基本的なアルゴリズムは、よく知られたHMM(Hidden Markov Model)を用いた音声認識アルゴリズムに準じる。第1の語群クラスに属する語のスコアは、ネットワーク文法同様に、HMMの状態をSi、音響特徴量ベクトルをxiとする時、式(2)のように計算する。
一方、第2の語群クラスの語群に属する語のスコアは第2の語群クラスのスコアに各語群における語の生起確率を乗じた値となる。すなわち、式(3)となる。
ここで、Pjは語群jにおける生起確率を表す。したがって、言語モデルデータベース15の言語モデルを用いた際のスコアは式(4)となる。
ここで、Cjは第2の語群クラスにおける語群jを指す。
図6に示すステップST6では、制御部21は、音声認識部16による音声認識結果に基づいて機器を制御する。ここでは、制御部21は、音声認識結果からキーワードを抽出し、そのキーワードから対象機器及び設定内容を判定する。
制御部21は、音声認識結果から、キーワードとして例えば「エアコン」、「上げ」を抽出すると、車内温度を上げるように、空調装置19を制御する。また、制御部21は、音声認識結果から、キーワードとして例えば「CD」を抽出するとドライバがCDによる音声を聴取できるように音響装置20を制御する。
ところで、上述した発話コーパスに基づいてネットワーク文法のみで言語モデルが構築された音声認識システムは、ユーザがコーパス中に現れない発話(例えば「じゃあCD聞きたい」)を行った場合は、その発話を認識することができない。一方、Nグラム(N-gram)モデルで言語モデルが構築された場合、音声認識装置は、「を 上げ 上げ 下げ」など意味解釈の上で適切でない語順で、誤認識の結果を出力する可能性があり、望ましくない。
これに対して、本実施形態に係る音声認識システム1は、図3に示す言語モデルを用いて音声認識を行うので、例えば、
「エアコン」「を」「上げ/下げ」「たい」または
「(CD/ラジオ)」「を」「聞き」「たい」
の順で認識結果を出力することを保証している。さらに、音声認識システム1は、文頭に「じゃあ」などの発話が混在しても、その発話内容を正確に認識することができる。
「エアコン」「を」「上げ/下げ」「たい」または
「(CD/ラジオ)」「を」「聞き」「たい」
の順で認識結果を出力することを保証している。さらに、音声認識システム1は、文頭に「じゃあ」などの発話が混在しても、その発話内容を正確に認識することができる。
以上のように、第1の実施形態に係る音声認識システム1は、不要語や未知語など文法上定型的に記述できない発話現象を確率的なモデルで記述し、意味解釈上重要なキーワード列を文法制約が強いモデルで記述し、これら接続した言語モデルを用いて音声認識を行う。さらに、音声認識システム1は、意味解釈上重要でない語列も不要語や未知語と同様に確率的なモデルで記述している。
これにより、音声認識システム1は、発話中において特に焦点を当てたい語列(キーワード)については確実に認識することができ、かつ重要性の低い語列については曖昧性をもたせて認識することができる。すなわち、音声認識システム1は、キーワードとして重要な語のつながりをネットワーク文法で記述し、この間に挿入されるキーワード抽出上重要でない語の列を統計的言語モデルで記述することにより、確実にキーワードが存在するように音声認識結果を得ることができる。
この結果、ドライバが不要語や未知語を含んで発声したり、あるいは多少文法から外れた発話をしても、音声認識システム1は認識に最も必要な語の列を出力することが可能となる。これを音声対話システムに応用することにより、意味解釈においてロバスト性の高い音声対話システムを実現することが可能となる。
[第2の実施形態]
つぎに、本発明の第2の実施形態について説明する。なお、第1の実施形態と同一の部位には同一の符号を付し、その詳細な説明は省略する。
つぎに、本発明の第2の実施形態について説明する。なお、第1の実施形態と同一の部位には同一の符号を付し、その詳細な説明は省略する。
第2の実施形態に係る音声認識システム1は、図1に示すように構成され、地図データベース18に記憶されている地図データと、音声認識部16で得られたキーワードの認識結果と、に基づいて、レストラン検索又は目的地設定を行う。具体的には、制御部21は、音声認識部16によって地名が認識された場合は直接目的地を設定し、料理名が認識された場合はレストランの検索を行う。
図10は、言語モデルデータベース15に記憶された言語モデルを示す図である。なお、本実施形態では、言語モデルは、発話コーパスを用いずに、開発者によって設計されたものとする。
ここでは、発話プロトコルとして、次の2つを定める。
1.<地名> (へ/に) 行き たい
2.<料理> を 食べ たい
1.<地名> (へ/に) 行き たい
2.<料理> を 食べ たい
「へ」、「に」、「を」、「行き」、「食べ」、「たい」は、発話プロトコル中に含まれる語である。このため、言語モデルデータベース15の言語モデルでは、これらの語を第1の語群クラスの語としている。一方、地名に相当する語や料理に相当する語は、語彙数の多い集合名詞である。このため、言語モデルでは、地名や料理に相当する集合名詞を第2の語群クラスの語としている。そして、この順序でネットワーク構成することで、上記の言語モデルが構築されている。
なお、第2の語群クラスの語は、単位構成としてモーラや音節などのサブワードを用いることにより、より効果的な音声認識を行うことができる。すなわち、集合名詞に対してモーラ単位のモデル化を行うとよい。
また、第2の語群クラスに属する地名または料理名の生起確率は、それぞれ全国の市町村名リスト、レストラン情報誌などに記載されている店舗のメニュー例リストなどから、第1の実施形態と同様に、モーラの生起確率を計算することによって得られる。
図11は、制御部21が検索実行するときの検索処理ルーチンを示すフローチャートである。なお、ステップST1からステップST5までは第1の実施形態と同様であるので、ステップST51以降の処理について説明する。
ステップST51では、制御部21は、音声認識部16による認識結果の末部に「食べたい」があるかを判定し、肯定判定のときはステップST52に移行し、否定判定のときはステップST54に移行する。
ステップST52では、制御部21は、音声認識部16による認識結果の前部をメニュー名として抽出して、ステップST53に移行する。そして、ステップST53では、制御部21は、抽出したメニュー名に対応するレストランを地図データベース18から検索し、その検索結果の一覧をタッチパネルディスプレイ22に表示する。
例えば、音声認識部16が「イタリア料理を食べたい」という語を認識した場合、制御部21は、文末の「食べたい」があることを確認し、文の前部にある「イタリア料理」をメニュー名として抽出する。そして、「イタリア料理」を検索キーワードとして有するレストランを地図データベース18から検索する。
一方、ステップST54では、制御部21は、音声認識部16による認識結果の前部を地名名として抽出して、ステップST55に移行する。そして、ステップST53では、制御部21は、抽出した地名を地図データベース18から検索し、その地名を目的地としてタッチパネルディスプレイ22に表示する。
したがって、本実施形態に係る音声認識システム1は、音声認識結果中に「行きたい」もしくは「食べたい」が含まれるか否かを判定することで、目的地設定機能またはレストラン検索機能を使用するかを判定することが可能である。
なお、従来の音声認識装置(例えば、特開2001−236089号公報)は、語順による制約が考慮されない認識結果(例えば、「うどん を 食べ そば」)を出力する可能性がある。また、地名をネットワーク文法で表した場合、モーラ単位で記述すると、ネットワークの複雑性が爆発的に増大し、単語単位で記述すると語彙の大幅な増加が生じるおそれがある。すなわち、認識性能が大幅に低下することが容易に予想される。
これに対して、本実施形態に係る音声認識システム1は、地名や料理名等の集合名詞を統計的言語モデルで記述し、その他の部分をネットワーク文法モデルで記述した言語モデルを用いることにより、ネットワークの複雑化や語彙辞書の増大を抑制しつつ、ナビゲーション制御に十分な音声認識結果を得ることができる。
なお、本発明は、上述した第1及び第2の実施の形態に限定されるものではなく、特許請求の範囲に記載された範囲内で設計上の変更をされたものにも適用可能であるのは勿論である。
例えば、上述した実施形態では簡単のために省略したが、Nグラムモデルと同様に、出現しない組合せの生起確率の推定法としてグッドチューリング法(S.M.Katz, "Estimation of probabilities from sparse data for language model component of a speech recognizer", IEEE Trans. ASPP, Vol.35, pp.400-401(1987))、解説記事として鹿野清宏他著、「音声認識システム」情報処理学会編他)などを用いることが可能である。
また、音声認識システム1は、光ディスクまたは磁気ディスクに記録された音声認識プログラムを読み出して上述した処理を実行してもよいし、ROM等の半導体メモリに記憶された音声認識プログラムを読み出して上述した処理を実行してもよい。
さらに、言語モデルの第2の語群クラスに属する語は、第1の語群クラスに属する語以外の語としてもよい。また、第2の語群クラスに属する語の単位は、音節もしくはモーラなどのサブワードとしてもよいし、単語もしくは形態素としてもよい。これらは、択一的に使用されるものではなく、任意の組合せで使用可能である。
11 マイク
12 PTTスイッチ
13 音響分析部
14 音声認識システム
15 言語モデルデータベース
16 音声認識部
17 GPSセンサ
18 地図データベース
19 空調装置
20 音響装置
21 制御部
21a キーワード抽出部
22 タッチパネルディスプレイ
23 音声合成部
24 スピーカ
12 PTTスイッチ
13 音響分析部
14 音声認識システム
15 言語モデルデータベース
16 音声認識部
17 GPSセンサ
18 地図データベース
19 空調装置
20 音響装置
21 制御部
21a キーワード抽出部
22 タッチパネルディスプレイ
23 音声合成部
24 スピーカ
Claims (12)
- 音声信号に対して言語モデルを用いて音声認識を行う音声認識装置であって、
語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、
前記音声信号の所定箇所について前記第1の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第2の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、
を備えた音声認識装置。 - 前記言語モデル記憶手段は、第1の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも1つが割り当てられている
請求項1に記載の音声認識装置。 - 前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、前記第1の語群クラスに割り当てられた語彙以外の語彙を割り当てている
請求項1または請求項2に記載の音声認識装置。 - 前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、集合名詞を割り当てている
請求項1から請求項3のいずれか1項に記載の音声認識装置。 - 前記言語モデル記憶手段は、前記第2の語群クラスの単位として、サブワード、単語、形態素の少なくとも1つを割り当てている
請求項1から請求項4のいずれか1項に記載の音声認識装置。 - 前記音声認識手段の認識結果のうち前記第1の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段を更に備えた
請求項1から請求項5のいずれか1項に記載の音声認識装置。 - コンピュータを、音声信号に対して言語モデルを用いて音声認識を行う音声認識装置として機能させる音声認識プログラムであって、
前記コンピュータを、
語順に対して順序制約を有する第1の語群クラスと、語順に対して確率的な制約を有する第2の語群クラスと、をネットワークモデルで構成した言語モデルを記憶する言語モデル記憶手段と、
前記音声信号の所定箇所について前記第1の語群クラスで語彙を決定し、前記音声信号の他の箇所について前記第2の語群クラスで語彙を決定して、決定した語彙を前記ネットワークモデルで接続することで、前記音声信号を認識する音声認識手段と、
して機能させる音声認識プログラム。 - 前記言語モデル記憶手段は、第1の語群クラスの語彙として、予め定められた語彙、発話プロトコルに現れる語彙、高頻度で出現しかつ他の語彙との順序関係が固定されている語彙の少なくとも1つが割り当てられている
請求項7に記載の音声認識プログラム。 - 前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、前記第1の語群クラスに割り当てられた語彙以外の語彙を割り当てている
請求項7または請求項8に記載の音声認識プログラム。 - 前記言語モデル記憶手段は、前記第2の語群クラスの語彙として、集合名詞を割り当てている
請求項7から請求項9のいずれか1項に記載の音声認識プログラム。 - 前記言語モデル記憶手段は、前記第2の語群クラスの単位として、サブワード、単語、形態素の少なくとも1つを割り当てている
請求項7から請求項10のいずれか1項に記載の音声認識プログラム。 - 前記コンピュータを、
前記音声認識手段の認識結果のうち前記第1の語群クラスに属する語彙に基づいて、機器を制御する機器制御手段として更に機能させる
請求項7から請求項11のいずれか1項に記載の音声認識プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003299034A JP2005070330A (ja) | 2003-08-22 | 2003-08-22 | 音声認識装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003299034A JP2005070330A (ja) | 2003-08-22 | 2003-08-22 | 音声認識装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005070330A true JP2005070330A (ja) | 2005-03-17 |
Family
ID=34404361
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003299034A Pending JP2005070330A (ja) | 2003-08-22 | 2003-08-22 | 音声認識装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005070330A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100835985B1 (ko) | 2006-12-08 | 2008-06-09 | 한국전자통신연구원 | 핵심어 인식 기반의 탐색 네트워크 제한을 이용한연속음성인식 장치 및 방법 |
JP2008242059A (ja) * | 2007-03-27 | 2008-10-09 | Mitsubishi Electric Corp | 音声認識辞書作成装置および音声認識装置 |
JP2015121707A (ja) * | 2013-12-24 | 2015-07-02 | 株式会社東芝 | デコーダ、デコード方法およびプログラム |
-
2003
- 2003-08-22 JP JP2003299034A patent/JP2005070330A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100835985B1 (ko) | 2006-12-08 | 2008-06-09 | 한국전자통신연구원 | 핵심어 인식 기반의 탐색 네트워크 제한을 이용한연속음성인식 장치 및 방법 |
JP2008242059A (ja) * | 2007-03-27 | 2008-10-09 | Mitsubishi Electric Corp | 音声認識辞書作成装置および音声認識装置 |
JP2015121707A (ja) * | 2013-12-24 | 2015-07-02 | 株式会社東芝 | デコーダ、デコード方法およびプログラム |
US10008200B2 (en) | 2013-12-24 | 2018-06-26 | Kabushiki Kaisha Toshiba | Decoder for searching a path according to a signal sequence, decoding method, and computer program product |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4188989B2 (ja) | 音声認識装置、音声認識方法、及び音声認識プログラム | |
KR100679042B1 (ko) | 음성인식 방법 및 장치, 이를 이용한 네비게이션 시스템 | |
JP4666648B2 (ja) | 音声応答システム、音声応答プログラム | |
JP4412504B2 (ja) | 音声認識装置、音声認識方法、及び音声認識用プログラム | |
JP5040909B2 (ja) | 音声認識辞書作成支援システム、音声認識辞書作成支援方法及び音声認識辞書作成支援用プログラム | |
KR100486733B1 (ko) | 음소 결합정보를 이용한 연속 음성인식방법 및 장치 | |
US7447635B1 (en) | Natural language interface control system | |
JP2008064885A (ja) | 音声認識装置、音声認識方法、及び音声認識プログラム | |
US20010053974A1 (en) | Speech recognition apparatus, speech recognition method, and recording medium | |
JP2012226068A (ja) | 対話装置 | |
JP2001249684A (ja) | 音声認識装置および音声認識方法、並びに記録媒体 | |
US7653541B2 (en) | Speech processing device and method, and program for recognition of out-of-vocabulary words in continuous speech | |
EP1933302A1 (en) | Speech recognition method | |
JP2005227686A (ja) | 音声認識装置、音声認識プログラムおよび記録媒体。 | |
JP2013125144A (ja) | 音声認識装置およびそのプログラム | |
JP2008089625A (ja) | 音声認識装置、音声認識方法及び音声認識プログラム | |
JP2008076811A (ja) | 音声認識装置、音声認識方法及び音声認識プログラム | |
JP4600706B2 (ja) | 音声認識装置および音声認識方法、並びに記録媒体 | |
JP4528540B2 (ja) | 音声認識方法及び装置及び音声認識プログラム及び音声認識プログラムを格納した記憶媒体 | |
JP2009116075A (ja) | 音声認識装置 | |
JP2005070330A (ja) | 音声認識装置及びプログラム | |
JP2006189730A (ja) | 音声対話方法および音声対話装置 | |
JP2006031278A (ja) | 音声検索システムおよび方法ならびにプログラム | |
JP4930014B2 (ja) | 音声認識装置、および音声認識方法 | |
JP2005157166A (ja) | 音声認識装置、音声認識方法及びプログラム |