以下、認識辞書作成装置の実施形態について、図面を用いて説明する。なお、実施形態では、認識辞書作成装置とこの装置で作成された音声認識辞書を使用する音声認識装置とを組み合わせた音声認識システムについて説明する。
[第1の実施形態]
はじめに第1の実施形態について、図1〜図6を用いて説明する。
図1は、第1の実施形態である音声認識システム100の構成を示すブロック図である。音声認識システム100は、認識辞書作成装置110と音声認識装置120とを備える。認識辞書作成装置110と音声認識装置120とは、それぞれが単体の装置として独立しており、必要に応じてLAN(Local Area Network)等のネットワークで接続される。あるいは、認識辞書作成装置110と音声認識装置120とは、一つの装置として一体化されており、認識辞書作成モードと対話モードとを切換えられるようになっている。本実施形態では、説明の便宜上、認識辞書作成装置110と音声認識装置120とが一体化され、ユーザによって認識辞書作成モードと対話モードとが切換えられるタイプの音声認識システム100とする。
認識辞書作成装置110は、シナリオ読込部111と、辞書作成部112と、シナリオ編集部113と、同義語辞書114の保存部115とを有する。シナリオ読込部111、辞書作成部112及びシナリオ編集部113は、コンピュータの主体をなすプロセッサと、このプロセッサによって実行されるプログラムと、プロセッサによってデータの書込み及び読出しが行われるメモリと、で構成される。
保存部115は、HDD(Hard Disk Drive)装置またはSSD(Solid State Drive)装置等の補助記憶部に形成される。なお、保存部115は、認識辞書作成装置110の側ではなく、音声認識装置120の側の補助記憶部に形成されていてもよい。あるいは、認識辞書作成装置110及び音声認識装置120に対して外部接続された記憶装置上に形成されていてもよい。この場合、記憶装置は、インターネット上にあるWebサーバに実装され、認識辞書作成装置110がWebブラウザを起動して、記憶装置上の同義語辞書114にアクセスするように、音声認識システム100を構築するとよい。
同義語辞書114は、図2に示すように、同義語を有する複数の語彙に対してそれぞれ同義語となる語彙を設定したものである。例えば、語彙「男性用」に対しては、同義語として「メンズ」、「男」、「紳士物」などが設定されている。語彙「女性用」に対しては、同義語として「レディース」、「女」、「婦人物」等が設定されている。語彙「和食」に対しては、同義語として「日本食」等が設定されている。
シナリオ読込部111は、対話シナリオ130に記述されたテキストデータを読み込む(シナリオ読込手段)。対話シナリオ130は、所定の文法に従ってシーン毎に対話の進行手順がテキストデータによって記述されたデータファイルである。対話シナリオ130のデータファイルにはファイル名が付されており、このファイル名が対話シナリオ130の識別データとなる。あるいは、対話シナリオ130のデータファイルにはヘッダデータとして固有のIDが設定されており、このIDが対話シナリオ130の識別データとなる。
辞書作成部112は、シナリオ読込部111で読み込んだ対話シナリオ130からユーザが発話する語彙を抽出する(語彙抽出手段)。また、辞書作成部112は、同義語辞書114を参照して、抽出された語彙に対して予め設定されている同義語の語彙(関連語彙)を取得する(関連語彙取得手段)。そして辞書作成部112は、対話シナリオ130から抽出された語彙と同義語辞書114から取得した同義語としての語彙とを、それぞれ音声認識対象の語彙として含む音声認識辞書140を作成する(辞書作成手段)。
また、辞書作成部112は、シナリオ読込部111で読み込まれた対話シナリオ130から抽出された語彙を含む対話と同じ内容で、当該語彙を同義語辞書114から取得した同義語としての語彙に置換した対話データを生成し、この対話データをシナリオ編集部113に出力する。シナリオ編集部113は、シナリオ読込部111で読み込まれた対話シナリオ130に、辞書作成部112から与えられる対話データを追加して、当該対話シナリオ130を編集する(対話シナリオ編集手段)。そしてシナリオ編集部113は、編集後の対話シナリオ130′を、後述するシナリオ保存部150に出力する。
音声認識装置120は、音声入力部であるマイク121、音声出力部であるスピーカ122、タッチパネル等の入力装置123の他、シナリオ選択部124、辞書切替部125、音声認識部126、シナリオ再生部127、音声合成部128を有する。また音声認識装置120は、前記シナリオ編集部113にて編集された対話シナリオ130′のデータファイルを保存するシナリオ保存部150と、前記辞書作成部112で作成された対話シナリオ130別の音声認識辞書140を保存する認識辞書保存部160とを有する。
シナリオ選択部124、辞書切替部125、音声認識部126、シナリオ再生部127、音声合成部128は、コンピュータの主体をなすプロセッサと、このプロセッサによって実行されるプログラムと、プロセッサによってデータの書込み及び読出しが行われるメモリとで構成される。
シナリオ保存部150と認識辞書保存部160とは、HDD装置またはSSD装置等の補助記憶部上に形成される。なお、シナリオ保存部150と認識辞書保存部160とは、音声認識装置120の側ではなく、認識辞書作成装置110の側に形成されていてもよい。あるいは、音声認識装置120及び認識辞書作成装置110に対して外部接続された記憶装置上に形成されていてもよい。この場合、記憶装置は、インターネット上にあるWebサーバに実装され、認識辞書作成装置110と音声認識装置120とがそれぞれWebブラウザを起動して、記憶装置上のシナリオ保存部150または認識辞書保存部160にアクセスするように、音声認識システム100を構築してもよい。
シナリオ選択部124は、シナリオ保存部150に保存されている対話シナリオ130′群の中から、入力装置123を介して入力されるシナリオ識別データで特定される対話シナリオ130′のデータファイルを選択する。辞書切替部125は、シナリオ保存部150に保存されている各対話シナリオ130′と認識辞書保存部160に保存されているシナリオ別音声認識辞書140とを関連付けた対応表に相当するデータテーブルを備えている。辞書切替部125は、このデータテーブルを参照して、認識辞書保存部160に保存されているシナリオ別音声認識辞書140の中から、シナリオ選択部124で選択された対話シナリオ130′に対応するシナリオ別音声認識辞書140を選択する。
音声認識部126は、マイク121を介して入力された音声を、辞書切替部125によって選択されたシナリオ別音声認識辞書140を用いて認識する。シナリオ再生部127は、シナリオ選択部124によって選択された対話シナリオ130′に従って、音声認識部126によって認識された音声に対する応答(発話)を得る。音声合成部128は、シナリオ再生部127によって得られた応答(発話)の音声を合成し、合成された音声をスピーカ122から出力する。
所定のシナリオ記述文法に従った対話シナリオ130の一記述例を図3に示す。図3に示す対話シナリオ130Aは、複数のシーンA1,A2,A3,…の組合せからなる。なお、1つのシーンだけで対話シナリオ130Aが構成されていてもよい。
シーンA1には、イベント「HUMAN_DETECT」(人物を検出)に対して、アクション「SPEAK(音声合成により発話)[何を探していますか]」を実行し、イベント「VOICE_RECOG(音声認識結果)[洋服]」に対して、アクション「SPEAK(音声合成により発話)[男性用ですか、女性用ですか]」を実行し、イベント「VOICE_RECOG(音声認識結果)[レストラン]」に対して、アクション「SPEAK(音声合成により発話)[何が食べたいですか]」を実行するシナリオが記述されている。また、イベント「VOICE_RECOG(音声認識結果)[洋服]」に対しては発話後にシーンA2に移行し、イベント「VOICE_RECOG(音声認識結果)[レストラン]」に対しては発話後にシーンA3に移行することも、シーンA1に記述されている。
シーンA2には、イベント「VOICE_RECOG(音声認識結果)[男性用]」に対して、アクション「SPEAK(音声合成により発話)[男性用ならAAAがお勧めです]」を実行し、イベント「VOICE_RECOG(音声認識結果)[女性用]」に対して、アクション「SPEAK(音声合成により発話)[女性用ならBBBがお勧めです]」を実行するシナリオが記述されている。また、発話後、あるいはイベント「BOTTON_PUSH[n](nボタン押下)」に対してはシーンA1に戻ることも、シーンA2に記述されている。
シーンA3については説明を省略する。
本実施形態の音声認識システム100においては、認識辞書作成モードが選択されると、認識辞書作成装置110が動作する。このとき、辞書作成部112は、図4の流れ図に示す手順の情報処理を実行する。この手順は、装置内のプログラム記憶部、例えばROM(Read Only Memory)に記憶される認識辞書作成プログラムにより制御される。
先ず、辞書作成部112は、シナリオ読込部111によって対話シナリオ130が読み込まれるのを待機する(ST1)。対話シナリオ130が読み込まれたならば(ST1にてYES)、辞書作成部112は、この対話シナリオ130を解析する(ST2)。そして辞書作成部112は、対話シナリオ130からユーザが発話する語彙、いわゆる音声認識語彙を抽出する(ST3)。
図3に示す対話シナリオ130Aのシナリオ記述文法によると、イベント「VOICE_RECOG」に続く文字列が音声認識語彙に相当する。そこで辞書作成部112は、ステップST2,ST3にて対話シナリオ130を解析して、イベント「VOICE_RECOG」に続く文字列を、音声認識語彙として抽出する(語彙抽出手段)。
辞書作成部112は、対話シナリオ130から音声認識語彙を抽出する毎に、その音声認識語彙で同義語辞書114を検索する(ST4)。そして辞書作成部112は、当該音声認識語彙が同義語を有しているか否かを確認する(ST5)。同義語辞書114に当該音声認識語彙が登録されていない場合、当該音声認識語彙は同義語を有していない(ST5にてNO)。この場合、辞書作成部112は、対話シナリオ130から抽出した音声認識語彙を、図5に示す語彙リスト170の音声語彙エリア171と認識語彙エリア172とにそれぞれ登録する(ST6)。
同義語辞書114を検索した結果、同義語辞書114に当該音声認識語彙が登録されていた場合には、当該音声認識語彙は同義語を有する(ST5にてYES)。この場合、辞書作成部112は、同義語辞書114から当該音声認識語彙に対する同義語の語彙を全て取得する(ST7:関連語彙取得手段)。そして辞書作成部112は、対話シナリオ130から抽出した音声認識語彙と同義語辞書114から取得した同義語の語彙とを、前記語彙リスト170の音声語彙エリア171と認識語彙エリア172とにそれぞれ登録する(ST8)。
また辞書作成部112は、対話シナリオ130から音声認識語彙が抽出された対話データを、同義語辞書114から取得した同義語の数だけコピーする。そして辞書作成部112は、コピーした対話データの音声認識語彙を、それぞれ同義語の語彙に置換して、対話データを生成する。辞書作成部112は、同義語の語彙数分の対話データをシナリオ編集部113に出力して、対話シナリオ130に追加するように指示する(ST9)。
シナリオ編集部113は、シナリオ読込部111で読み込まれた対話シナリオ130の音声認識語彙が抽出された対話データの後に、辞書作成部112から与えられる同義語の語彙数分の対話データを追加して、対話シナリオ130を編集する。
辞書作成部112は、対話シナリオ130の解析を終了したか否かを確認する(ST10)。終了していない場合(ST10にてNO)、辞書作成部112は、ステップST2に戻って対話シナリオ130の解析を継続する。そして、音声認識語彙を抽出したならば(ST3にてYES)、辞書作成部112は、その語彙が同義語を有するか否かを確認し(ST4,5)、同義語を有さない場合にはステップST6の処理を、同義語を有する場合にはステップST7,8,9の処理を実行する。
対話シナリオ130の解析が終了すると(ST10にてYES)、辞書作成部112は、前記語彙リスト170に登録された音声語彙と認識語彙とから、既知の語彙/音声データ変換技術を利用して、シナリオ別の音声認識辞書140を作成する(ST11:辞書作成手段)。また辞書作成部112は、シナリオ読込部111によって読み込まれた対話シナリオ130の識別データ(例えばファイル名またはヘッダデータのID)を認識する(ST12)。なお、先に対話シナリオ130の識別データを認識し、続いてシナリオ別音声認識辞書140を作成してもよい。
しかる後、辞書作成部112は、ステップST11の処理で作成したシナリオ別音声認識辞書140のデータファイルを、ステップST12の処理で認識したシナリオ識別データとともに,認識辞書保存部160に出力する(ST13)。以上で、1種類の対話シナリオ130に対する辞書作成部112の情報処理が終了する。
今、図3に示す内容が記述された対話シナリオ130Aをシナリオ読込部111が読み込んだとする。そうすると、辞書作成部112は、対話シナリオ130の解析を開始する。そして辞書作成部112は、先ず、シーンA1の2行目の対話データ[VOICE_RECOG 洋服,SPEAK 男性用ですか、女性用ですか; CHANGE_SCENEA2]から、音声認識語彙[洋服]を抽出する。
本実施形態において音声認識語彙[洋服]は、同義語辞書114に登録されていない。このため、辞書作成部112は、語彙リスト170の音声語彙エリア171と認識語彙エリア172とに、それぞれ語彙[洋服]を追加する。
次に、辞書作成部112は、シーンA1の3行目の対話データ[VOICE_RECOG レストラン,SPEAK 何が食べたいですか; CHANGE_SCENEA3]から、音声認識語彙[レストラン]を抽出する。
本実施形態において音声認識語彙[レストラン]は、同義語辞書114に登録されていない。このため、辞書作成部112は、語彙リスト170の音声語彙エリア171と認識語彙エリア172とに、それぞれ語彙[レストラン]を追加する。
次に、辞書作成部112は、シーンA2の2行目の対話データ[VOICE_RECOG 男性用,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]から、音声認識語彙[男性用]を抽出する。
本実施形態において音声認識語彙[男性用]は、同義語辞書114に登録されており、同義語の語彙として[メンズ]、[男]、[紳士物]の3種類が設定されている。このため、辞書作成部112は、先ず、語彙リスト170の音声語彙エリア171と認識語彙エリア172とに、それぞれ語彙[男性用]を追加する。次いで、辞書作成部112は、各同義語の語彙[メンズ]、[男]、[紳士物]についても同様に、語彙リスト170の音声語彙エリア171と認識語彙エリア172とにそれぞれ追加する。
また、辞書作成部112は、音声認識語彙[男性用]を含む対話データ[VOICE_RECOG 男性用,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]を、同義語の語彙の数(この場合は3)だけコピーする。そして辞書作成部112は、コピーした各対話データの音声認識語彙[男性用]を、それぞれ同義語の語彙[メンズ]、[男]、[紳士物]に置換して、同義語の語彙数分の対話データ[VOICE_RECOG メンズ,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 男,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 紳士物,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]を作成する。
作成された各対話データは、シナリオ編集部113に出力される。これにより、シナリオ編集部113では、対話シナリオ130AのシーンA2における1行目の対話データ[VOICE_RECOG 男性用,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]の後に、作成された各対話データ[VOICE_RECOG メンズ,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 男,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 紳士物,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]が追加される。
一方、辞書作成部112は、次に、シーンA2の3行目の対話データ[VOICE_RECOG 女性用,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]から、音声認識語彙[女性用]を抽出する。
本実施形態において音声認識語彙[女性用]は、同義語辞書114に登録されており、同義語の語彙として[レディース]、[女]、[婦人物]の3種類が設定されている。このため、辞書作成部112は、先ず、語彙リスト170の音声語彙エリア171と認識語彙エリア172とに、それぞれ語彙[女性用]を追加する。次いで、辞書作成部112は、各同義語の語彙[レディース]、[女]、[婦人物]についても同様に、語彙リスト170の音声語彙エリア171と認識語彙エリア172とにそれぞれ追加する。
また、辞書作成部112は、音声認識語彙[女性用]を含む対話データ[VOICE_RECOG 女性用,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]を、同義語の語彙の数(この場合は3)だけコピーする。そして辞書作成部112は、コピーした各対話データの音声認識語彙[女性用]を、それぞれ同義語の語彙[レディース]、[女]、[婦人物]に置換して、同義語の語彙数分の対話データ[VOICE_RECOG レディース,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 女,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 婦人物,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]を作成する。
作成された各対話データは、シナリオ編集部113に出力される。これにより、シナリオ編集部113では、対話シナリオ130AのシーンA2における2行目の対話データ[VOICE_RECOG 女性用,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]の後に、作成された各対話データ[VOICE_RECOG レディース,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 女,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 婦人物,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]が追加される。
こうして、対話シナリオ130Aの解析が終了すると、図5に示す内容の語彙リスト170から対話シナリオ130Aに対応した音声認識辞書140Aが作成され、この音声認識辞書140Aが認識辞書保存部160に保存される。かくして音声認識辞書140Aには、対話シナリオ130Aから抽出された音声認識語彙[男性用]に加えて、同義語の語彙[メンズ]、[男]、[紳士物]も登録される。同様に、対話シナリオ130から抽出された音声認識語彙[女性用]に加えて、同義語の語彙[レディース]、[女]、[婦人物]も登録される。
また、図3に示した対話シナリオ130Aは、シナリオ編集部113によって、図6に示す内容の対話シナリオ130A′に編集される。すなわち、同義語を含む音声認識語彙が設定されたシーンA2の対話データ[VOICE_RECOG 男性用,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]の後に、辞書作成部112で作成された各対話データ[VOICE_RECOG メンズ,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 男,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 紳士物,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]が追加される。
同様に、同義語を含む音声認識語彙が設定されたシーンA2の対話データ[VOICE_RECOG 女性用,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]の後に、辞書作成部112で作成された各対話データ[VOICE_RECOG レディース,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 女,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]、[VOICE_RECOG 婦人物,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]が追加される。
シナリオ編集部113によって編集された対話シナリオ130A′は、シナリオ保存部150に保存される。
その後、音声認識システム100において、対話モードが選択されると、音声認識装置120が作動する。そして入力装置123から、図3に示す内容が記述された対話シナリオ130Aを選択するコマンドが入力されると、シナリオ選択部124により、シナリオ保存部150に保存されている対話シナリオ130群の中から対話シナリオ130A′が選択される。また、辞書切替部125により、認識辞書保存部160に保存されているシナリオ別の音声認識辞書140の中から対話シナリオ130Aに対応した音声認識辞書140Aが選択される。
この状態において、図示しない人物検出手段によりユーザが検出されると、音声認識装置120では、シナリオ再生部127及び音声合成部128の作用により「何を探していますか」という音声が合成されて、スピーカ122から発話される。
ここで、ユーザがマイク121から「洋服」と発話すると、音声認識部126では、音声認識辞書140Aを参照して音声認識が行われる。このとき、音声認識辞書140Aには語彙「洋服」が登録されているので、ユーザの音声「洋服」は確実に認識される。その結果、音声認識装置120では、「男性用ですか、女性用ですか」という音声が合成されて、スピーカ122から発話される。
この発話を聞いたユーザは、「男性用」か「女性用」のいずれかを発話することとなる。また、ユーザによっては「男性用」ではなく同義語の[メンズ]、[男]または[紳士物]と発話する場合もある。同様に、ユーザによっては「女性用」ではなく同義語の[レディース]、[女]または[婦人物]と発話する場合もある。
しかし、いずれの語彙も、音声認識辞書140Aに登録されているので、ユーザの音声は確実に認識される。例えばユーザが「男性用」と発話した場合には、音声認識装置120では、「男性用ならAAAがお勧めです」という音声が合成されて、スピーカ122から発話される。また、ユーザが「メンズ」と発話した場合にも、音声認識装置120では、「男性用ならAAAがお勧めです」という音声が合成されて、スピーカ122から発話される。
このように、認識辞書作成装置110に対話シナリオ130を読み込ませることによって、認識辞書作成装置110では、当該対話シナリオ130のイベント「音声認識結果[文字列]」から語彙[文字列]が自動的に抽出され、この語彙[文字列]を音声認識語彙とする音声認識辞書140がシナリオ別に作成される。また、語彙[文字列]が同義語を有する場合には、この同義語の語彙も同義語辞書114から取得され、シナリオ別の音声認識辞書140に自動的に登録される。
したがって、音声認識辞書140を作成する場合において、辞書作成者は、音声認識語彙に対して同義語となる語彙を意識することなく同義語としての語彙を含む音声認識辞書140を作成することができるので、辞書作成者の負担を軽減できる。しかも、認識辞書作成装置110で作成される音声認識辞書140は、音声認識装置120に設定される対話シナリオ130と関連性を持たせることができるので、対話シナリオ130に対して想定外の語彙が音声認識結果として出力されることがなく、高性能の音声認識を実現できる音声認識システム100を提供することができる。
[第2の実施形態]
次に、第2の実施形態について、図7,図8を用いて説明する。
前記第1の実施形態では、認識辞書作成装置110は、辞書作成部112において、同義語を有する音声認識語彙を含む対話データについて、音声認識語彙を同義語の語彙に置換した対話データを作成した。そして認識辞書作成装置110は、シナリオ編集部113において、作成された対話データを対話シナリオ130に追加するべく対話シナリオ130の編集を行い、編集後の対話シナリオ130′をシナリオ保存部150に出力した。
第2の実施形態では、認識辞書作成装置110は、対話シナリオ130を編集しない。シナリオ保存部150には、シナリオ読込部111によって読み込まれた対話シナリオ130のデータファイルがそのまま保存される。
認識辞書作成装置110は、図7に示す語彙リスト180のように、音声認識語彙に対して同義語となる語彙については、認識語彙を音声認識語彙に一致させる。つまり、音声認識装置120において、マイク121から音声[男性用]が入力された場合だけでなく、この語彙[男性用]に対して同義語の語彙[メンズ]、[男]、[紳士物]のいずれが入力された場合も、音声認識部126は入力語彙を語彙[男性用]と認識する。したがって、第1の実施形態のように、対話シナリオ130に、同義語の語彙を含む対話データを追加する必要はなくなる。
第2の実施形態において、音声認識システム100の構成は、認識辞書作成装置110がシナリオ編集部113を省略できる点を除いて第1の実施形態と同様なので、図1を用いるものとし、その説明を省略する。
図8は、第2の実施形態において、認識辞書作成装置110の辞書作成部112が実行する情報処理の要部手順を示す流れ図である。なお、第1の実施形態と共通する処理ステップには同一符号を付しており、その詳しい説明は省略する。
辞書作成部112は、認識辞書作成モードが選択されると、動作を開始する。先ず、辞書作成部112は、シナリオ読込部111によって対話シナリオ130が読み込まれるのを待機する(ST1)。対話シナリオ130が読み込まれたならば(ST1にてYES)、辞書作成部112は、この対話シナリオ130を解析する(ST2)。そして辞書作成部112は、対話シナリオ130からユーザが発話する語彙、いわゆる音声認識語彙を抽出する(ST3)。
辞書作成部112は、対話シナリオ130から音声認識語彙を抽出する毎に、その音声認識語彙で同義語辞書114を検索する(ST4)。そして辞書作成部112は、当該音声認識語彙が同義語を有しているか否かを確認する(ST5)。同義語を有していない場合(ST5にてNO)、辞書作成部112は、対話シナリオ130から抽出した音声認識語彙を、図7に示す語彙リスト170の音声語彙エリア171と認識語彙エリア172とにそれぞれ登録する(ST6)。
これに対し、当該音声認識語彙が同義語を有する場合には(ST5にてYES)、辞書作成部112は、同義語辞書114から当該音声認識語彙に対する同義語の語彙を全て取得する(ST7:関連語彙取得手段)。そして辞書作成部112は、対話シナリオ130から抽出した音声認識語彙と同義語辞書114から取得した同義語の語彙とを、前記語彙リスト170の音声語彙エリア171にそれぞれ登録する(ST21)。また、辞書作成部112は、ステップST21の処理で音声認識語彙と同義語の語彙とを登録した音声語彙エリア171にそれぞれ対応する認識語彙エリア182に、対話シナリオ130から抽出した音声認識語彙を登録する(ST22)。
辞書作成部112は、対話シナリオ130の解析を終了したか否かを確認する(ST10)。終了していない場合(ST10にてNO)、辞書作成部112は、ステップST2に戻って対話シナリオ130の解析を継続する。そして、音声認識語彙を抽出したならば(ST3にてYES)、辞書作成部112は、その語彙が同義語を有するか否かを確認し(ST4,5)、同義語を有さない場合にはステップST6の処理を、同義語を有する場合にはステップST21,22の処理を実行する。
対話シナリオ130の解析が終了すると(ST10にてYES)、辞書作成部112は、第1の実施形態のステップST11〜ST13の処理と同様の処理を実行する。その結果、前記語彙リスト180に登録された音声語彙と認識語彙とからシナリオ別の音声認識辞書140が作成されて、認識辞書保存部160に保存される。
今、図3に示す内容が記述された対話シナリオ130Aをシナリオ読込部111が読み込んだとする。そうすると、辞書作成部112は、対話シナリオ130の解析を開始する。そして辞書作成部112が、シーンA2の2行目の対話データ[VOICE_RECOG 男性用,SPEAK 男性用ならAAAがお勧めです; CHANGE_SCENEA1]から、同義語を有する音声認識語彙[男性用]を抽出すると、辞書作成部112は、先ず、語彙リスト180の音声認識エリア181に、音声認識語彙[男性用]と、その同義語の語彙[メンズ]、[男]、[紳士物]とを追加する。また、辞書作成部112は、語彙[男性用]、[メンズ]、[男]及び[紳士物]が追加された音声語彙エリア171に対応する認識語彙エリア182に、音声認識語彙[男性用]を追加する。
同様に、辞書作成部112が、シーンA2の3行目の対話データ[VOICE_RECOG 女性用,SPEAK 女性用ならBBBがお勧めです; CHANGE_SCENEA1]から、同義語を有する音声認識語彙[女性用]を抽出すると、辞書作成部112は、先ず、語彙リスト180の音声認識エリア181に、音声認識語彙[女性用]と、その同義語の語彙[レディース]、[女]、[婦人物]とを追加する。また、辞書作成部112は、語彙[女性用]、[レディース]、[女]及び[婦人物]が追加された音声語彙エリア171に対応する認識語彙エリア182に、音声認識語彙[女性用]を追加する。
そして、対話シナリオ130Aの解析が終了すると、図7に示す内容の語彙リスト180から対話シナリオ130Aに対応した音声認識辞書140Aが作成され、この音声認識辞書140Aが認識辞書保存部160に保存される。すなわち、音声認識辞書140Aには、対話シナリオ130Aから抽出された音声認識語彙[男性用]に加えて、同義語の語彙[メンズ]、[男]、[紳士物]も登録される。同様に、対話シナリオ130から抽出された音声認識語彙[女性用]に加えて、同義語の語彙[レディース]、[女]、[婦人物]も登録される。しかも、音声認識語彙[男性用]に対して同義語の語彙[メンズ]、[男]、[紳士物]については全て、音声認識語彙[男性用]として認識される。同様に、音声認識語彙[女性用]に対して同義語の語彙[レディース]、[女]、[婦人物]については全て、音声認識語彙[女性用]として認識される。
したがって、第2の実施形態においても、音声認識辞書140の作成に要する手間を軽減しつつ音声認識の性能向上を図ることができる。また、前述したように、認識辞書作成装置110において対話シナリオ130を編集する必要がないので、第1の実施形態と比較して認識辞書作成装置110の処理負荷を軽減できる効果を奏する。
なお、本発明は、前記実施形態に限定されるものではない。
例えば、前記各実施形態では、対話シナリオ130別に音声認識辞書140を作成したが、シナリオ読込部111で複数の対話シナリオ130を読み込み、各対話シナリオ共通の音声認識辞書140を作成する場合においても、本発明を適用することができる。
また、前記各実施形態では、同義語辞書14に登録される関連語彙を同義語を有する語彙に限定したが、同じ意味を表わす言葉として方言や子供言葉がある語彙についても、関連語彙として同義語辞書14に登録することで、音声認識辞書140の作成に要する手間を軽減できる効果を奏し得る。
また、前記各実施形態は、装置内部のプログラム記憶部に発明の機能を実現させる制御プログラムが予め記録されているものとした。しかしこれに限らず、同様のプログラムがネットワークから装置にダウンロードされてもよい。あるいは、記録媒体に記録された同様のプログラムが、装置にインストールされてもよい。記録媒体は、CD−ROM,メモリカード等のようにプログラムを記憶でき、かつ装置が読み取り可能であれば、その形態は問わない。また、プログラムのインストールやダウンロードにより得る機能は、装置内部のOS(オペレーティング・システム)等と協働してその機能を実現させるものであってもよい。
この他、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。