以下、本発明の実施の形態について図面を参照して説明する。
まず、図1を用いて、本発明の実施の形態として示す音声対話装置の構成について説明をする。図1に本発明の実施の形態として示す音声対話装置は、車両などの移動体に搭載されるナビゲーション装置に適用した場合の構成である。ナビゲーション装置は、例えば、移動体である車両に搭載された場合、車両の現在位置を検出し、地図データから表示された車両の現在位置に対応する地図を表示しながら所望の目的地までの経路案内をすることができる。
この音声対話装置をナビゲーション装置に適用すると、ナビゲーション装置で要求される各種機能を、ユーザとシステムとの対話によってインタラクティブに動作させることができる。
図1に示すように、音声対話装置は、スイッチ10と、マイク20と、メモリ30と、経路案内に用いる地図データや、ガイダンス音声の音声データなどを格納するディスク40と、ディスク40に格納された各種データを読み取るディスク読み取り装置41と、マイク20を介して入力された音声を音声認識し、音声認識結果の内容を理解してシステム応答を生成する制御装置50と、経路探索結果を示す地図、メニュー画面、制御装置50による音声認識結果などを表示する、例えば液晶ディスプレイといったモニタ60と、ガイダンス音声やユーザとの対話におけるシステム応答音声(以下、単にシステム応答と呼ぶ。)などを出力するスピーカ70とを備えている。
スイッチ10は、ユーザの押下により、ユーザによって発話されマイク20を介して入力された音声に対する音声認識処理を開始させるよう後述する制御装置50の入力制御部51に指示をする。
マイク20は、ユーザによって発話された音声を、後述する制御装置50の音声認識部52に入力する。例えば、ユーザは、ナビゲーション装置の操作に使用される語句及び文、すなわち操作コマンド及び地名や施設名、道路名などの固有名詞及びこれらの語句を含む文を発話して、マイク20からその音声を入力する。
メモリ30は、ランダムアクセス可能なRAM(Random Access Memory)などであり、音声認識処理が実行される場合に、ディスク読み取り装置41によってディスク40から読み出される音声認識用辞書・文法を記憶する記憶領域31と、後述する制御装置50の言語理解部54から出力される現時点までの発話の理解結果を格納する記憶領域32とを備えている。
メモリ30の記憶領域32に格納される現時点までの発話の理解結果は、今回の発話の次に発話が入力された際に、この新たに入力された発話の理解を過去の発話理解結果と合わせて理解するために用いられる。
ディスク40は、音声認識に使用する音声認識用辞書・文法、地図データベース、固有名詞データベース、一般データベース、読みデータベースなどを格納した記憶媒体である。
一般に、音声認識用辞書・文法を用いて音声認識をするシステムでは、この音声認識用辞書・文法に記述されている認識対象語と文法とを用いた入力文だけを音声認識結果として受理することができる。この認識対象語に関する情報は、固有名詞データベース、一般データベース、読みデータベースでも管理されている。
例えば、ナビゲーション装置のメインタスクを経路探索をする際の目的地設定とすると、ユーザによってマイク20から入力される入力文として、「神奈川県」「横浜駅」などといった施設に関する単語のみの入力と「神奈川県の横浜駅」「東海道線の横浜駅」などといった複数のキーワードを組み合わせた文章による入力との両方を想定することができる。
したがって、ディスク40に格納される音声認識用辞書・文法は、このような単語のみの入力と複数のキーワードを含んだ文書の両方に対応することができる構成となっている。
地図データベースには、地図表示や経路探索に使用する地図データが収録されている。
固有名詞データベースには、「追浜駅」「東京○×パーク」といった施設を示す固有名詞や、「埼玉県」「多摩市」といった場所を示す固有名詞などが、各固有名詞に関する詳細情報と対応付けられて格納されている。
一般データベースには、「駅」「ガソリンスタンド」などの施設種別を示す一般名詞、「県」「市」「町」などの行政区画を表す一般名詞、「はい」「いいえ」などの肯定語や否定語、「行く」「探す」「帰る」などの動詞、「1」…「1000」といった数字、「そう」などの助詞、「です」などの助動詞などが、それぞれの詳細情報と対応付けられて格納されている。
固有名詞データベース、一般データベースの詳細情報とは、例えば、単語が施設の場合には表示用のカナ漢字表記と施設の所在地、飲食店やガソリンスタンドなどといった属性情報、その他の単語の場合には、その意味などを示す属性情報である。
図2に、固有名詞データベースの一例を示す。図2に示すように、固有名詞データベースは、「追浜駅」「東京○×パーク」「埼玉県」「多摩市」といった各固有名詞を、これらを一意に特定する単語ID毎に、各固有名詞の表記形態を示す“表記”、各固有名詞の種別を示す“種別”、各固有名詞の所在を都道府県、市区町村単位で特定する“住所”、別途用意される各固有名詞の読み方を格納した読みデータベースへとリンクする読みIDを示す“読みリスト”といった情報で管理している。
また、図2に示すように、固有名詞のうち“種別”が駅とされる固有名詞は、“路線”として路線情報でも管理される。図示しないが、“種別”がインターチェンジとされる固有名詞にも“路線”として道路情報が与えられる。
図3に、一般データベースの一例を示す。図3に示すように、一般データベースは、「駅」「県」「市」「町」「はい」「いいえ」「そう」「です」「行く」「探す」「帰る」、「1」…「1000」といった固有名詞以外の一般名詞、動詞、助詞、助動詞などを、これらを一意に特定する単語ID毎に、各単語の表記形態を示す“表記”、各単語を大まかに分類した“カテゴリ”、“カテゴリ”の下位概念である“種別”、別途用意される各単語の読み方を格納した読みデータベースへとリンクする読みIDを示す“読みリスト”といった情報で管理している。
読みデータベースは、固有名詞データベース、一般データベースに分類されている各単語とリンクしており各単語の読み方を格納している。
固有名詞データベース、一般データベースに格納されている単語は、同じ意味を示す単語であっても表記及び読み方が異なる場合がある。例えば、図2の固有名詞データベースに登録された単語IDが5201の「東京○×パーク」は、正式な表記である「東京○×パーク」に対して、これを短縮した「○×パーク」と表記され、単に、「まるばつぱーく」と呼ばれることも多い。この「東京○×パーク」と「○×パーク」とは、同一の施設としてユーザに認知されているが、表記及び読み方が異なっている。
また、図3の一般データベースに登録された単語IDが0704の「町」と表記される単語は、場合に応じて「まち」又は「ちょう」のいずれかの読み方がなされる。
したがって、このような単語の言い換えに対応するために、固有名詞データベース、一般データベースに対して、別途、読みデータベースを設けている。
図4に、図2に示した固有名詞データベース、図3に示した一般データベースに対応した読みデータベースを示す。
図4に示すように、読みデータベースは、固有名詞データベース、一般データベースに格納されている単語の全ての読み方を一意に特定する読みID毎に、読み方を示した“読み”と、この読み方をする単語の固有名詞データベース、一般データベースにおける表記と単語IDとを“意味リスト”として保持している。また、図4に示すように、読みデータベースは、“類似単語読みリスト”として、自身と誤認識されやすい読み方をする単語の読みIDと、この読みIDで一意に読み方が特定される単語と、どの程度、誤認識されやすいかを数値化した類似度をリスト形式で保持している。
続いて、制御装置50について説明する。制御装置50は、入力制御部51と、音声認識部52と、単語信頼度演算部53と、言語理解部54と、応答生成部55と、GUI表示制御部56と、音声合成部57とを備え、マイク20を介して入力された音声に対して、音声認識処理をし、音声認識結果に応じたシステム応答を行う。
入力制御部51は、ユーザによってスイッチ10が押下されたことに応じて、音声認識部52に対して音声認識処理を開始するよう指示をする。
音声認識部52は、入力制御部51の指示に応じて、マイク20から入力されるユーザによって発話され、図示しないA/Dコンバータでデジタル化された音声信号を取り込み音声認識処理を実行する。
音声認識部52は、取り込んだデジタル化された音声信号と、メモリ30の記憶領域31に構築された音声認識用辞書・文法が保持する認識対象語からなる待ち受け文とのマッチング処理により音声認識を行い、音声認識結果を言語理解部54に出力する。
音声認識部52は、マッチング処理の際に、音声特徴データと各待ち受け文との音響的な近さである尤度を計算し、この尤度が一定の値以上のものを音声認識結果の認識結果候補とする。
音声認識部52は、認識結果候補として、尤度が高い音声認識結果の上位N個の認識結果候補(以下、N−best候補とも呼ぶ。)とその尤度とを単語信頼度演算部53に出力する。この認識結果候補は、当該認識結果候補に含まれる各単語の読み方毎に与えられた、ディスク40に格納されている図4に示す読みデータベースにおける識別コードである読みIDを尤度の高い順に並べた単語列として表される。
単語信頼度演算部53は、音声認識部52から音声認識結果として出力された認識結果候補に含まれる全ての単語に対して、各単語の読み方毎に単語信頼度を算出する。つまり、単語信頼度演算部53は、同じ意味を示す単語であっても読み方が異なれば、異なる単語であるとして扱い、その単語信頼度を算出する。
したがって、単語信頼度は、ディスク40に格納されている図4に示す読みデータベースの読みID単位で算出されることになる。単語信頼度とは、単一の発話において、その読み方で単語が発話された可能性を示す値であり、ある単語Wの読みIDWに対する単語信頼度をConf(W)、N−best候補それぞれに対する対数尤度をLiとすると、以下に示す(1)式によって求めることができる。
単語信頼度演算部53によって算出された読みID毎の単語信頼度は、全て“認識結果候補中に含まれる単語の読みIDリスト”としてメモリ30に保存される。なお、単語信頼度演算部53による単語信頼度の演算については、特開2004−251998号公報で開示されている。
言語理解部54は、まず、音声認識部52の音声認識結果である認識結果候補と読み方が類似しており、誤認識されやすい読み方をする類似単語に対して単語信頼度を演算し、音声認識部52による音声認識処理の結果、認識結果候補とされた単語と同じように、認識結果候補として扱えるようにする。なお、類似単語に対する単語信頼度の設定手順については、後で詳細に説明をする。
さらに、言語理解部54は、類似単語も含めた認識結果候補に含まれる単語を意味上のまとまりであるカテゴリに分類し、同一カテゴリ内に属する単語の単語信頼度を足し合わることでカテゴリスコアを算出する。
ナビゲーション装置のメインタスクを経路探索をする際の目的地設定とすると、ユーザによって発話される音声の種類から、カテゴリは、例えば、「都道府県カテゴリ」「市区町村カテゴリ」「路線名カテゴリ」「施設名カテゴリ」などが考えられる。例えば、「都道府県カテゴリ」には「東京都」「神奈川県」などの都道府県名が分類され、「施設名カテゴリ」には「横浜駅」「横浜青葉インター」などの目的地設定における最終目的である目的地名が分類されることになる。
言語理解部54は、カテゴリスコアが所定の閾値を超えているカテゴリから、理解結果として出力させる単語を一つずつ選択して、全ての組み合わせを検証する。言語理解部54は、意味的に整合性のとれる組み合わせだけを理解結果候補とし、この理解結果候補を構成する単語の信頼度を足し合わせ、足し合わせた結果に理解結果候補を構成する単語数に応じた補正をして理解結果スコアを算出する。
言語理解部54は、理解結果スコアが最大となる理解結果候補を理解結果として応答生成部55に出力する。
応答生成部55は、言語理解部54から出力された理解結果に基づいて応答文を生成し、GUI表示制御部56、音声合成部57に出力する。
GUI表示制御部56は、必要に応じて、ディスク読み取り装置41を制御してディスク40に格納されている地図データを読み出し、モニタ60を介して地図を表示させたり、応答生成部55で生成された応答文に即した応答内容をモニタ60を介して表示させる。
音声合成部57は、応答生成部55によって生成される応答文に応じて、応答文に即したデジタル音声信号を合成し、当該音声合成部57が備える図示しないD/Aコンバータ、出力増幅器を介してスピーカ70に出力する。
続いて、図5に示すフローチャートを用いて、制御装置50による音声認識処理を開始してから応答文を出力するまでの処理動作について説明をする。なお、本フローチャートでは、ナビゲーション装置のメインタスクを経路探索をする際の目的地設定として説明をする。
まず、ステップS1において、ナビゲーション装置が起動されると、制御装置50は、ディスク読み取り装置41を制御してディスク40から音声認識用辞書・文法を読み出し、メモリ30の記憶領域31に格納させる。
そして、ユーザがスイッチ10を押下することで、入力制御部51により音声認識開始が指示され、音声認識部52は音声認識可能状態となる。これに応じて、音声認識部52は、ユーザによって発話されマイク20を介して入力され、図示しないA/Dコンバータでデジタル化された音声信号の取り込みを開始する。
音声認識部52は、スイッチ10が押下されるまでは、デジタル化された音声信号(以下、単にデジタル信号とも呼ぶ。)の平均パワーの演算を継続している。スイッチ10が押下された後、この平均パワーに較べてデジタル信号の瞬時パワーが所定値以上に大きくなった時、ユーザが発話したと判断して、デジタル化された音声信号の取り込みが開始される。
ステップS2において、音声認識部52は、取り込んだデジタル化された音声信号と、メモリ30の記憶領域31に構築された音声認識用辞書・文法が保持する待ち受け文とを比較して、音響的な尤度を計算することで音声認識処理を実行する。
音声認識部52は、音響的な尤度の高い上位N個の認識結果候補とその尤度とを音声認識結果として単語信頼度演算部53に出力する。この認識結果候補は、当該認識結果候補に含まれる各単語の読み方毎に与えられた、ディスク40に格納されている図4に示す読みデータベースにおける識別コードである読みIDを尤度の高い順に並べた単語列として表される。
ステップS3において、単語信頼度演算部53は、認識結果候補と各認識結果候補の尤度から、認識結果候補に含まれる全ての単語、つまり読みID毎の単語信頼度を算出する。
ステップS4において、言語理解部54は、読みIDを用いて、単語信頼度演算部53によって単語信頼度を算出された認識結果候補に含まれる全ての単語の詳細情報を、ディスク40に格納されている固有名詞データベース、一般データベースから取り出す。
また、言語理解部54は、ディスク40に格納された読みデータベースの読みID毎に設定された類似単語読みリストから、単語信頼度を算出した単語の読みと、誤認識されやすい読み方をする類似単語の読みIDと、その誤認識されやすい程度を示した類似度とを取り出す。
ステップS5において、言語理解部54は、ディスク40の読みデータベースから取り出した類似単語の読みIDと類似度とを用いて、類似単語に対する単語信頼度を算出し、各類似単語に設定をする。これにより、言語理解部54は、類似単語を、音声認識部52による音声認識処理の結果、認識結果候補とされた単語と同じように、認識結果候補として扱えるようにする。
なお、言語理解部54による類似単語への単語信頼度の設定手順については後で詳細に説明をする。
ステップS6において、言語理解部54は、この時点までの対話の中で発話された可能性のある全ての単語の単語信頼度を修正する。
単語信頼度の修正は、認識結果候補中の他の単語との意味上の上下関係の有無や整合性などに応じて、ステップS3で算出した単語信頼度を上下させることで実行される。
例えば、第1の発話の認識結果候補中に「東京駅(とうきょうえき)」という単語があり、第2の発話の認識結果候補中に「東京都(とうきょうと)」がある場合、「東京都」と「東京駅」の間には上下関係が成り立つため、お互いの単語信頼度が強められ、単語信頼度が上がる方向で修正される。また、第1の発話の認識結果候補中に「東京駅(とうきょうえき)」ではなく、「京都駅(きょうとえき)」があった場合は、「東京都」と「京都駅」の間には上下関係が成り立たないため、お互いの単語信頼度が弱められ、単語信頼度が下がる方向で修正される。
ステップS7において、言語理解部54は、類似単語も含めた認識結果候補に含まれる単語を意味上のまとまりであるカテゴリに分類し、同一カテゴリ内に属する単語の単語信頼度を足し合わることでカテゴリスコアを算出する。
ステップS8において、言語理解部54は、算出したカテゴリスコアが所定の閾値を超えているカテゴリを選択する。
ステップS9において、言語理解部54は、ステップS8において選択された各カテゴリから、理解結果となる単語を一つずつ選択して全ての組み合わせを検証し、理解結果の候補として出力する意味的に整合性のとれる組み合わせを探す。
ステップS10において、言語理解部54は、理解結果候補となる意味的に整合性の取れる組み合わせが一つ以上見つかったかどうかを判定する。言語理解部54は、意味的に整合性の取れる組み合わせが一つ以上見つかった場合は、ステップS11へと進め、一つも見つからなかった場合は、ステップS8へと戻り、再度カテゴリ選択をやり直す。
ステップS11において、言語理解部54は、各カテゴリから選択された単語の意味的に整合性の取れる組み合わせである各理解結果候補を構成する単語の単語信頼度を足し合わせ、足し合わせた結果に理解結果候補を構成する単語数に応じた補正をして理解結果スコアを算出する。そして、言語理解部54は理解結果スコアが最大となる理解結果候補を、最良の理解結果として選択し応答生成部55に出力する。
なお、言語理解部54によるステップS6から、ステップS11までの処理内容は、特開2004−251998号公報で開示されている。
ステップS12において、応答生成部55は、言語理解部54で生成された理解結果に基づいて応答表示内容及び応答文を生成し、それぞれGUI表示制御部56、音声合成部57に出力する。
応答生成部55は、理解結果に応じて、例えば、目的地設定のために必要な情報が不足していれば不足する情報の入力を促す応答文を生成し、選択された理解結果を構成する単語の単語信頼度が低く、確認が必要と判断される場合には、理解内容の確認のための応答文を生成する。また、応答生成部55は、目的地が確定した際には、目的地までの地図を検索し、表示させる旨を伝える応答文を生成する。
ステップS13において、音声合成部57は、応答生成部55によって生成される応答文に応じて、応答文に即したデジタル音声信号を合成し、当該音声合成部57が備える図示しないD/Aコンバータ、出力増幅器を介してスピーカ70に出力する。
ステップS14において、GUI表示制御部56は、応答生成部55によって生成される応答表示内容をモニタ60上に表示するとともに、地図表示が必要であればディスク読み取り装置41を使ってディスク40から地図データを読み出し、モニタ60に地図を表示させて一連の入力処理を終える。
(類似単語Wnの単語信頼度設定手順:単語Wの単語信頼度から求める場合)
次に、図6に示すフローチャートを用いて、図5に示したフローチャートのステップS5における類似単語に単語信頼度を設定する際の手順について説明をする。
類似単語の単語信頼度を設定する手順について説明する前に、図5に示したフローチャートのステップS2において、音声認識部52が音声認識処理を行った結果である認識結果候補リストLr1の一例を図7に示す。図7に示すように、認識結果候補リストLr1は、認識結果候補順位毎に、認識結果とその尤度とが記述されている。認識結果には、読みIDと単語の読み方とが示されている。
図7に示す例では、認識結果候補の第1位として、尤度が60の認識結果「11041(おくたま)」が選択されており、認識結果候補の第2位として、尤度が40の認識結果「11041(おくたま)+17011(えき)」が選択されている。
これに対して、図5に示したフローチャートのステップS3において、単語信頼度演算部53が単語信頼度を計算した結果である単語信頼度リストLcの一例を図8に示す。図8に示すように、単語信頼度リストLcには、認識結果候補リストLr1に記述された認識結果候補である単語の読みIDと単語の読み方と、計算された単語信頼度とが記述されている。
図8に示す例では、認識結果候補である「11041(おくたま)」の信頼度が1.0、「17011(えき)」の信頼度が0.4となっている。
図6に示すフローチャートでは、図5に示すフローチャートのステップS2おいて、図7に示すような認識結果候補リストLr1が得られ、図8に示すような単語信頼度リストLcが得られたとして、ステップS5における類似単語の単語信頼度を設定する手順について説明をする。
まず、ステップS21において、言語理解部54は、単語信頼度演算部53から出力された単語信頼度リストLcから、認識結果候補である単語を一つ取り出す。
例えば、本ステップで取り出した単語が、図8に示す単号信頼度リストLcの「11041(おくたま)」であったとし、これを単語Wとする。
ステップS22において、言語理解部54は、ディスク40に格納されている読みデータベースを参照し、ステップS21で取り出した認識結果候補である単語(単語W)の類似単語の読みIDと、類似度とをリストにした類似単語読みリストLwを取り出す。
ステップS23において、言語理解部54は、取り出した類似単語読みリストLwから、類似単語Wnを一つ取り出す。
図4に示す読みデータベースには、単語Wである「11041(おくたま)」の類似単語リストとして、類似度が0.5の「11061(おっぱま)」と、類似度が0.4の「11031(たま)」が登録されているので、ここでは「11061(おっぱま)」を類似単語Wnとして取り出すことにする。
ステップS24において、言語理解部54は、ステップS23で取り出した類似単語Wnが単語信頼度リストLcに登録されているかどうかを判断する。ステップS23において、「11061(おっぱま)」を類似単語Wnとして取り出した場合、言語理解部54は、単語信頼度リストLcを参照して、読みIDが11061の単語が既に登録されているかどうかを判断する。
言語理解部54は、類似単語Wnが単語信頼度リストLcに既に登録されている場合は、ステップS22へと戻り、次の類似単語Wnに関する処理を実行する。また、言語理解部54は、類似単語Wnが類似単語リストLcに登録されていない場合は、ステップS25へと進める。
このステップS24において、類似単語Wnが、単語信頼度リストLcに存在するかどうかを調べる目的は、認識結果候補リストLr1の中に現れなかったけれど、認識結果中に現れた単語に誤認識されやすい単語の可能性を調べることにあるため、認識結果候補リストLr1から得られた単語信頼度リストLcに既に登録されていれば、この類似単語Wnに関しては調べる必要がない。そのため、単語信頼度リストLcの中に同じ読みIDの単語が登録されていれば、次の類似単語Wnを調べる。
ステップS25において、言語理解部54は、ステップS23で取り出した類似単語Wnが、単語リストLcに登録されていないことに応じて、今度は、この類似単語Wnが、他の単語の類似単語Wnとして既に類似単語WnリストLnに登録されているかどうかを判断する。
言語理解部54は、類似単語WnリストLnに類似単語Wnが登録されていない場合、ステップS26へと進み、登録されている場合、ステップS29へと進む。
ステップS26において、言語理解部54は、ステップS23で取り出した類似単語Wnが、類似単語リストLnに登録されていないことに応じて、ディスク40の固有名詞データベース、一般データベースを参照し、この類似単語Wnの詳細情報を取り出す。
ステップS27において、言語理解部54は、ディスク40のデータベースから類似単語Wnの詳細情報を取り出した後、この類似単語Wnに対して単語信頼度を設定する。類似単語Wnとして、読みIDが11061の単語である「おっぱま」が選択されている場合、言語理解部54は、この「おっぱま」に対して単語信頼度を設定することになる。
類似単語Wnの単語信頼度は、図5に示すフローチャートのステップS3において求められた単語Wの単語信頼度を用い、さらに単語Wと類似単語Wnの類似度をβとすると、以下に示す(2)式のように表すことができる。
類似単語Wnの単語信頼度 = 単語Wの単語信頼度 × β ・ ・ ・ (2)
単語Wとして、読みIDが11041の単語である「おくたま」が選択され、この単語Wと読み方が類似する類似単語Wnとして、読みIDが11061の「おっぱま」が選択され、単語信頼度演算部53によって「おくたま」の単語信頼度が1.0と計算されたとする。このときの、類似単語Wnである「おっぱま」の単語信頼度は、「おくたま」と「おっぱま」との類似度が、図4に示す読みデータベースより0.5であることから、(2)式を用いて、以下のように算出することができる。
「おっぱま」の単語信頼度=「おくたま」の単語信頼度(1.0)×「おくたま」と「おっぱま」の類似度(0.5)=0.5
ステップS28のおいて、言語理解部54は、単語信頼度を算出した類似単語Wnの読みIDを、ディスク40から取得した詳細情報と単語信頼度と共に類似単語リストLnに追加する。
ステップS29において、言語理解部54は、類似単語リストLnに、既に他の単語の類似単語として、類似単語Wnが登録されていたことに応じて、類似単語リストLnの中の類似単語Wnの単語信頼度を更新する。
言語理解部54は、類似単語リストLnに既に登録されている類似単語Wnの更新前単語信頼度を、図5に示すフローチャートのステップS3において求められた単語Wの単語信頼度、さらに単語Wと類似単語Wnの類似度βを用いて、以下に示す(3)式により更新することができる。
Wnの更新後単語信頼度 = Wnの更新前単語信頼度 + Wの単語信頼度 × β ・ ・ ・ (3)
右辺におけるWnの更新前単語信頼度とは、類似単語リストLnに登録されている類似単語のもつ単語信頼度で、βは単語Wと類似単語Wnの類似度である。
(3)式に示すように、類似単語Wnが、既に他の単語の類似単語Wnとして類似単語リストに登録されている場合、その単語信頼度に今回の類似度の分を加算することで、新たな単語信頼度、つまり更新後の単語信頼度を計算することができる。
ステップS30において、言語理解部54は、類似単語Wnに対して単語信頼度を設定した後、ステップS22で取得された単語Wの類似単語読みリストLwを参照し、単語Wに対する全ての類似単語について単語信頼度を設定したかどうかを判定する。
言語理解部54は、全ての類似単語Wnの単語信頼度を設定した場合は、ステップS31へと進み、まだ単語信頼度が設定されていない類似単語Wnがある場合には、ステップS22へと戻り、類似単語Wnに対する単語信頼度の計算又は単語信頼度の更新処理を実行する。
ステップS31において、言語理解部54は、単語信頼度リストLcに登録されている全ての単語Wに対する類似単語Wnについて単語信頼度を設定したかどうかを判定する。
言語理解部54は、全ての単語Wに対する類似単語Wnについて単語信頼度を設定した場合は、ステップS32へと進む。また、言語理解部54は、まだ類似単語Wnに対する処理がなされていない単語Wが存在する場合には、ステップS21へと戻り、ステップS21〜ステップS31までを繰り返す。
ステップS32において、言語理解部54は、単語信頼度リストLcに登録されている全ての単語Wに対する類似単語Wnについて単語信頼度の設定が終了すると、類似単語リストLnの中身を単語信頼度リストLcに追加する。
図9に、図8で一例として示した単語信頼度リストLcに登録されている全ての単語Wに対応した類似単語の類似単語リストLnを示す。
図7に示した単語信頼度リストLcにおいて、読みIDが11041の単語である「おくたま」には、図4に示す読みデータベースから分かるように、読みIDが11061の単語である「おっぱま」と、読みIDが11031の単語である「たま」との2つの類似単語が存在している。
また、図8に示した単語信頼度リストLcにおいて、読みIDが17011の単語である「えき」には、図4に示す読みデータベースから分かるように、読みIDが11051の単語である「うえき」という一つの類似単語が存在している。
これらは、図8に示す単語信頼度リストLcには登録されてない単語であるので、図9に示すように全て類似単語リストLnに追加されている。
図10に、図9に示した類似単語リストLnの中身を、図8に示す単語信頼度リストLcに追加した例を示す。これにより、図5に示したフローチャートのステップS5よりも後の、ステップS6以降において、認識結果候補リストLr1中の全ての単語Wに対する類似単語Wnは、認識結果候補リストLr1中の単語Wと同等に扱うことができるようになる。
このように、音声認識結果として得られる単語Wだけではなく、音声認識部52による音声認識処理では漏れてしまったが、単語Wとは誤認識されやすい読み方をする類似単語Wnを最終的な認識結果候補として扱うことができる。したがって、ユーザによる正当な発話であるのにも関わらず、認識結果候補を選択する過程で排除されてしまった場合でも、理解結果として選択される可能性を残すことができる。
また、認識対象語に、どの程度、誤認識されやすいかを数値化した類似度を用いて類似単語と、認識対象語の音響的な近さを示すことで、ユーザによって類似単語が発話された可能性を類似度に基づいて判断することができるため、正確な理解結果を生成することができる。
さらに、認識結果候補に含まれる単語の単語信頼度と、類似単語の単語信頼度をそれぞれ求めることで、同一の判断基準により各単語の発話可能性を判断することができるため、例えば、類似度が高い類似単語が認識結果候補に含まれていた場合に、その単語信頼度の高低に応じて発話された可能性を検証することができるため、より正確な理解結果を生成することができる。
(類似単語Wnの単語信頼度設定手順:尤度から求める場合)
続いて、類似単語Wnの単語信頼度を設定する際の別の手順について説明をする。上述した例では、認識結果候補リストLr1中の単語Wとの類似度が高い類似単語Wnの単語信頼度を、認識結果候補リストLr1中の単語Wの単語信頼度から、(2)式又は(3)式を用いて算出していた。
これに対し、ユーザによって発話されマイク20を介して入力された音声に対して、再度音声認識処理を実行し、音響的な尤度を求め、この尤度から類似単語Wnの単語信頼度を算出する手法について説明をする。
図11に示すフローチャートを用いて、図5に示したフローチャートのステップS5における類似単語Wnの単語信頼度を設定する際の別な手順について説明をする。
なお、図11において、類似単語Wnが、類似単語リストLnに登録されているかどうかを調べるステップS41〜ステップS45までのステップは、上述した図6に示すフローチャートにおけるステップS21〜ステップS25までと全く同じであるため説明を省略する。
また、図11に示したステップS41〜ステップS52までのステップの前段である図5に示すフローチャートのステップS1において、ユーザにより発話されマイク20を介して入力されデジタル化された音声信号は、例えば、メモリ30などに一時的にバッファリングされているものとする。
ステップS46において、言語理解部54は、ステップS23で取り出した類似単語Wnが、類似単語リストLnに登録されていないことに応じて、ディスク40の固有名詞データベース、一般データベースを参照し、この類似単語Wnの詳細情報を取り出す。
ステップS47において、言語理解部54は、この類似単語Wnを類似単語リストLnに追加する。
ステップS48において、言語理解部54は、ディスク読み取り装置41を制御して、この類似単語リストLnに追加された類似単語Wnを必ず認識することができる文法を、ディスク40から読み取りメモリ30の記憶領域31に格納させる。
これに応じて、音声認識部52は、メモリ30に一時的にバッファリングされているデジタル化された音声信号を読み出し、さらにメモリ30の記憶領域31に格納された類似単語Wnを認識することができる文法と比較して、音響的な尤度を計算することで音声信号の認識処理を再度実行する。
ステップS49において、言語理解部54は、音声認識部52によりデジタル化された音声信号に対する2度目の音声認識処理によって認識結果が得られたことに応じて、認識結果を尤度と共に認識結果リストLr2に追加する。
ステップS50において、言語理解部54は、ステップS42で取得された単語Wの類似読みリストLwを参照し、単語Wに対する全ての類似単語にWnについて単語信頼度を設定したかどうか判定をする。
言語理解部54は、全ての類似単語Wnの単語信頼度を設定した場合は、ステップS51へと進み、まだ単語信頼度が設定されていない類似単語Wnがある場合には、ステップS42へと戻る。
なお、ステップS45において、言語理解部54は、類似単語Wnが類似単語リストLnに存在すれば、既に類似単語Wnを必ず受理する文法を用いた音声認識部52による音声認識処理は行なわれているので、本ステップS50へと進むことになる。
ステップS51において、言語理解部54は、単語信頼度リストLcに登録されている全ての単語Wに対する類似単語Wnについて単語信頼度を設定したかどうかを判定する。
言語理解部54は、全ての単語Wに対する類似単語Wnについて単語信頼度を設定した場合は、ステップS52へと進む。また、言語理解部54は、まだ類似単語Wnに対する処理がなされていない単語Wが存在する場合には、ステップS41へと戻り、ステップS41〜ステップS51までを繰り返す。
ステップS52において、単語信頼度演算部53は、最初に音声信号を音声認識部52で音声認識処理した結果である認識結果候補リストLr1と、同じ音声信号を2回目に音声認識処理した結果である認識結果候補リストLr2とを合わせた認識結果候補列から単語信頼度を算出する。
このようにして、音声対話装置は、ユーザによって発話されマイク20を介して入力された音声に対して、再度音声認識処理を実行し、音響的な尤度を求め、この尤度から類似単語Wnの単語信頼度を算出する。
これにより、音声対話装置は、最初の認識結果に含まれる認識結果候補中の単語の単語信頼度と、類似単語Wnの単語信頼度とを比較しながら最適な理解結果を選択することができる。
(認識結果候補の拡張)
上述したように、本発明の実施の形態として示す音声対話装置は、単語Wと誤認識されやすい読み方をする類似単語Wnを最終的な認識結果候補として扱うことができるが、単語Wと1対1で対応する類似単語Wnばかりではなく、読み方の組み合わせによって単語Wと誤認識されやすい読み方となる類似句を用いることで、最終的な認識結果候補から漏れ出てしまう語句を低減させることができる。
図12に、図4で示した読みデータベースを拡張し、読みIDごとの単語に対する類似句読みリストを付加した様子を示す。類似句とは、2語以上の単語を組み合わせた際の読み方が、対象となる単語の読み方と誤認識されやすく、類似度を有する単語列のことである。
例えば、図12に示すように、読みIDが11051の単語である「うえき」に対する類似句は、読みIDが11071の単語である「しんぐう」と、読みIDが17011の単語である「えき」とを組み合わせてなる「しんぐうえき」という単語列である。図12に示すように、この類似句の類似度は、0.8となっている。
これにより、「うえき」という認識結果が得られた場合、「しんぐう」と「えき」が最終的な認識結果候補となる可能性があり、類似度より単語信頼度を算出し、その発話可能性を検証することができる。
したがって、ユーザによる正当な発話であるのにも関わらず、認識結果候補を選択する過程で排除されてしまった場合でも、理解結果として選択される可能性を残すことができる。
これとは逆に、認識結果候補に含まれる2語以上で構成される単語列と類似度の高い類似単語を用いることで、最終的な認識結果候補から漏れ出てしまう語句を低減させることもできる。
例えば、図13に示すように、読みIDが11071の単語である「しんぐう」と、読みIDが17011の単語である「えき」とを組み合わせた単語列に対して、類似度の高い類似単語として、読みIDが11051の単語である「うえき」を登録しておく。図13に示すように、この類似単語の類似度は0.8となっている。
これにより、「しんぐう」「えき」という認識結果が得られた場合、単語列の一部である「うえき」が最終的な認識結果候補となる可能性があり、類似度より単語信頼度を算出し、その発話可能性を検証することができる。
したがって、この場合も、ユーザによる正当な発話であるのにも関わらず、認識結果候補を選択する過程で排除されてしまった場合でも、理解結果として選択される可能性を残すことができる。
なお、図13に示すような2語以上で構成される単語列の類似度は、実際に認識し得る単語の組み合わせのみについてあらかじめ算出しておく。
なお、上述の実施の形態は本発明の一例である。このため、本発明は、上述の実施形態に限定されることはなく、この実施の形態以外であっても、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論である。