以下に本発明の実施の形態について図面を参照しながら詳細に説明する。
図1は、本実施形態における音声認識システム100の構成例を示す図である。音声認識システム100は、図1に示すように、一又は複数の情報端末装置1とサーバ装置2とを含んでおり、情報端末装置1とサーバ装置2との間は、ネットワークNWを介して相互に通信可能に接続されている。
図2は、本実施形態における情報端末装置1の構成例を示す機能ブロック図である。本実施形態における情報端末装置1は、音声入力された音声認識の対象となる一文の中に、ユーザ特有のくせやなまりを考慮した音声認識が必要な単語(例えば、同音異義語)が存在する場合に、それらの単語の音声認識などを行う第1の音声認識装置である。なお、以下において、ユーザ特有のくせやなまりを考慮した音声認識が必要な単語は、同音異義語が存在する単語として説明するが、これに限定されるものではなく、同音異義語が存在しない単語であってもよい。
本実施形態における情報端末装置1は、例えば、スマートフォン、タブレット型携帯端末、カーナビゲーション、パーソナルコンピュータなどにより実現可能であり、図2に示すように、入力部11と、記憶部12と、表示部13と、出力部14と、通信部15と、制御部16と、を備えている。
入力部11は、例えば、オーディオインターフェースなどを備え、接続されている音声取得装置(例えば、マイクロフォンなど)から音声区間を含む信号(以下、音声データという)を受け付ける。そして、入力部11は、受け付けた音声データを、制御部16に出力する。この際、入力部11は、受け付けた音声データをバッファメモリ(不図示)に一時的に格納し、制御部16が処理のタイミングに合わせて音声データをバッファメモリから順次取得するようにしてもよい。
記憶部12は、例えば、Random Access Memory(RAM)、Read Only Memory(ROM)、フラッシュメモリなどを備えている。記憶部12は、制御部16が備える、例えば、Central Processing Unit(CPU)のワークエリア、情報端末装置1全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、推測結果(詳しくは後述)などの各種のデータを格納するデータエリアとして機能する。
また、記憶部12は、図2に示すように、ユーザ特有単語辞書121、ユーザ特有文辞書122、として機能する。
ここで、図3と図4を参照して、ユーザ特有単語辞書121とユーザ特有文辞書122について、それぞれ、説明する。図3は、本実施形態におけるユーザ特有単語辞書121の構成例を示す図である。図4は、本実施形態におけるユーザ特有文辞書122の構成例を示す図である。
本実施形態におけるユーザ特有単語辞書121は、ユーザ特有のアクセント(声調)で発音される単語を、単語読みごとに管理している。本実施形態におけるユーザ特有単語辞書121は、一例では、図3に示すように、「単語読みID」ごとに、「声調」と「意味」とが対応付けられている。ユーザ特有単語辞書121は登録処理部166(詳しくは後述)により管理されており、「単語読みID」欄には、ユーザ特有のアクセント(声調)で発音される単語の単語読みIDが格納される。また、「意味」欄には、対応する「単語読みID」の単語読みを有する単語(同音異義語)の中で、ユーザ特有のアクセント(声調)で発音される単語(意義語)が格納される。
また、「声調」欄には、対応する単語(意義語)のユーザ特有のアクセント(声調)を表す情報(以下、声調情報という)が格納される。声調情報は、例えば、単語読みを構成する各音節文字(日本語の場合は、仮名文字、平仮名文字)のアクセント(声調)パターンである。本実施形態におけるアクセント(声調)パターンは、音節文字のアクセントが高いことを表す“↑”、音節文字のアクセントが低いことを表す“↓”、直前の音節文字に対してアクセント(声調)の高低の変化が無いことを表す“−”の3種類とする。しかしながら、これに限定されるものではなく、上記以外のバリエーションのアクセント(声調)パターンを用いてもよい。また、音声認識の対象とする言語に応じてその他の種類のアクセント(声調)パターンが用いられても良い。例えば、音声認識の対象とする言語が英語である場合には、高低アクセントパターンではなく、一例として、強弱アクセントパターンを用いることが可能である。
本実施形態におけるユーザ特有文辞書122は、ユーザ特有のイントネーション(音調)で発音されることがある文を管理している。本実施形態におけるユーザ特有文辞書122は、一例では、図4に示すように、「文ID」ごとに、「文種別」と「音調」と「フラグ」とが対応付けられている。ユーザ特有文辞書122は登録処理部166により管理されており、「文ID」欄には、ユーザ特有のイントネーション(音調)で発音されることがある文の文IDが格納される。「文種別」欄には、対応する文において想定される、ユーザがその文を発話する際の目的(意図)を示す情報である文種別が格納される。文種別としては、「質問」、「確認」、「指示」、「否定」などが想定される。
「音調」欄には、ユーザが、対応する文を対応する「文種別」で発話する際のイントネーション(音調)を表す情報(以下、音調情報という)が格納される。イントネーション(音調)としては、上昇調、下降調などが想定される。「フラグ」は、対応する文を対応する「文種別」でユーザが発話する際に、ユーザ特有のイントネーション(音調)で発音されるか否かを示すフラグである。本実施形態においては、フラグ値“0”は標準的なイントネーション(音調)で発音されることを示し、フラグ値“1”はユーザ特有のイントネーション(音調)で発音されることを示している。
図2に戻り、表示部13は、Liquid Crystal Display(LCD)や有機Electro−Luminescence(EL)などの表示装置などを備えている。表示部13は、例えば、図5と図6に例示するような表示画面などの各種の画面や各種機能ボタンなどを表示画面上に表示する。
図2に戻り、出力部14は、例えば、オーディオインターフェースなどを備え、接続されている音声出力装置(例えば、スピーカなど)を介して、例えば、音声解析結果(詳しくは後述)に応じた応答文を音声出力させる。
通信部15は、例えば、通信モジュールなどを備えており、ネットワークNWを介して接続されているサーバ装置2との間で通信を行う。通信部15は、例えば、サーバ装置2から送信される音声解析結果などを受信する。
制御部16は、例えば、CPUなどを備えており、記憶部12のプログラムエリアに格納されている動作プログラムを実行して、図2に示すように、音声入力処理部161と、特有単語特定部162と、特有文種別特定部163と、対話処理部164と、出力処理部165と、登録処理部166としての機能を実現する。また、制御部16は、動作プログラムを実行して、情報端末装置1全体を制御する制御処理や詳しくは後述の音声認識処理などの処理を実行する。
ここで、制御部16の各機能部が果たす役割の概要について説明する。なお、詳細な役割については、後述する各種の処理の説明の中で説明することとする。
音声入力処理部161は、表示部13を制御して、図5に例示するような音声入力画面を表示画面上に表示させる。音声入力画面は、図5に示すように、ユーザに音声入力を指示するための表示画面である。そして、音声入力処理部161は、入力された音声データを、ユーザ(情報端末装置1)を一意に識別可能なユーザIDと共に、通信部15を介して、サーバ装置2に送信する。また、音声入力処理部161は、出力部14に接続されている音声出力装置を介して、音声入力画面の表示内容、例えば、「話してください」を音声出力させてもよい。なお、音声入力の指示は、画面の表示又は音声の出力のいずれか一方であってもよいし、両方であってもよい。また、音声入力の指示は、その他の報知手段を用いて行ってもよい。ここで、図5は、表示画面の例を示す図である。
図2に戻り、特有単語特定部162は、ユーザ特有のアクセント(声調)を考慮して、同音異義語の中から、ユーザが意図する意味の単語を特定する。つまり、特有単語特定部162は、ユーザ特有単語辞書121に基づいて、同音異義語の中から、ユーザが意図する意味の単語を特定する。特有文種別特定部163は、ユーザ特有のイントネーション(音調)を考慮して、ユーザが意図する文種別を特定、又は、推測する。つまり、特有文種別特定部163は、ユーザ特有文辞書122に基づいて、ユーザが意図する文種別を特定、又は、推測する。対話処理部164は、音声データの音声解析結果に基づいて、音声入力に対する応答文を生成する処理部である。なお、音声解析結果は、音声データを解析した結果を通知するための通知である。音声解析結果には、音声データを解析して得られた、ユーザが音声入力したと推測される文と文種別とが含まれている。
出力処理部165は、応答文に基づいて応答画面を生成し、表示部13を制御して、生成した応答画面を表示画面上に表示させる。例えば、出力処理部165は、図6に例示するような応答画面を表示画面上に表示させる。応答画面は、図6に示すように、応答文を表示する画面である。ここで、図6は、表示画面の別の例を示す図である。また、出力処理部165は、出力部14に接続されている音声出力装置から、応答文を音声出力させる。なお、応答内容の報知は、画面の表示又は音声の出力のいずれか一方であってもよいし、両方であってもよい。
図2に戻り、登録処理部166は、ユーザ特有単語辞書121とユーザ特有文辞書122を管理する処理部である。より具体的には、登録処理部166は、同音異義語の中で、標準的なアクセント(声調)とは異なるアクセント(声調)で発音される単語(異義語)をユーザ特有単語辞書121に登録する。また、登録処理部166は、ユーザ特有のイントネーション(音調)で発音されることがある文をユーザ特有文辞書122に登録する。
図7は、本実施形態におけるサーバ装置2の構成例を示す機能ブロック図である。本実施形態におけるサーバ装置2は、音声入力された音声認識の対象となる一文の、ユーザ特有のくせやなまりを考慮する必要がない単語に対する音声認識などを行う第2の音声認識装置である。
本実施形態におけるサーバ装置2は、図7に示すように、通信部21と、記憶部22と、制御部23と、を備えている。
通信部21は、例えば、通信モジュールなどを備えており、ネットワークNWを介して接続されている情報端末装置1との間で通信を行う。通信部21は、例えば、情報端末装置1から送信される音声データなどを受信する。
記憶部22は、例えば、RAM、ROM、Hard Disk Drive(HDD)などを備えている。記憶部22は、制御部23が備える、例えば、CPUのワークエリア、サーバ装置2全体を制御するための動作プログラムなどの各種プログラムを格納するプログラムエリア、推測結果(詳しくは後述)などの各種のデータを格納するデータエリアとして機能する。
また、記憶部22は、図7に示すように、共通単語辞書221、共通文辞書222、特有声調管理記憶部223、音調管理記憶部224、特有音調管理記憶部225、として機能する。
図8は、本実施形態における共通単語辞書221の構成例を示す図である。本実施形態における共通単語辞書221は、各種の単語を管理していると共に、同音異義語が存在する各単語の標準的なアクセント(声調)を管理している。共通単語辞書221は、一例では、図8に示すように、「単語読みID」ごとに、「単語読み」と、「声調」と、「意味」と、「フラグ」と、が対応付けられている。意味が異なるが同一の「単語読み」を有する単語が複数存在する場合、つまり、同音異義語が存在する場合には、図8に示すように、「単語読み」に対して複数の「意味」が対応付けられ、「意味」ごとに「声調」が対応付けられている。
「単語読みID」は、「単語読み」を一意に識別可能な識別子であり、本実施形態においては、同一の「単語読み」に対しては同一の「単語読みID」が割り当てられている。「単語読み」は、単語の読みを示した情報である。「意味」は、単語を書き表した情報、つまり、単語表記である。つまり、同音異義語が存在する場合であっても、「単語読み」と「意味」とに基づいて、単語を特定することができる。
「声調」は、対応する「意味」の標準的なアクセント(声調)の声調情報である。声調情報は、例えば、「単語読み」を構成する各音節文字(日本語の場合は、仮名文字、平仮名文字)のアクセント(声調)パターンである。本実施形態におけるアクセント(声調)パターンは、音節文字のアクセントが高いことを表す“↑”、音節文字のアクセントが低いことを表す“↓”、直前の音節文字に対してアクセント(声調)の高低の変化が無いことを表す“−”の3種類とする。しかしながら、これに限定されるものではなく、上記以外のバリエーションのアクセント(声調)パターンを用いてもよい。また、音声認識の対象とする言語に応じてその他の種類のアクセント(声調)パターンが用いられても良い。例えば、音声認識の対象とする言語が英語である場合には、高低アクセントパターンではなく、一例として、強弱アクセントパターンを用いることが可能である。
「フラグ」は、対応する「単語読み」の単語に対して、標準的なアクセント(声調)以外で発音するユーザが存在するか否かを示すフラグである。「フラグ」は、登録処理部235(詳しくは後述)により管理されており、本実施形態においては、フラグ値“0”は標準的なアクセント(声調)以外で発音するユーザが存在しないことを示し、フラグ値“1”は標準的なアクセント(声調)以外で発音するユーザが存在することを示している。
図9は、本実施形態における共通文辞書222の構成例を示す図である。本実施形態における共通文辞書222は、音声対話方式においてユーザが一般的に発話すると想定される文ごとに、その文が発話された場合に想定されるユーザの意図(文種別)が対応付けられて登録されている。本実施形態における共通文辞書222は、一例では、図9に示すように、各文が「単語」と「接続助詞」と「前段単語」と「後段単語」とに分割された状態で登録され、各文に対して「文種別」と「フラグ」が対応付けられている。なお、図9の例は、「単語」が“以外”の部分を抜粋した例である。なお、共通文辞書222に登録されている各文には、各文を一意に識別可能な識別子である文IDが対応付けられているものとする。このように、音声対話方式においてユーザが一般的に発話すると想定される各文を「単語」と「接続助詞」と「前段単語」と「後段単語」とに分割した状態で登録することで、不明瞭になりがちな接続助詞を前後関係で補完することも可能となる。よって、音声認識の精度を向上させることができる。
「単語」は、単語特定部232などにより特定、又は、推測された単語の中から、任意に選択された単語(以下、注目単語という)である。「接続助詞」は、対応する「単語」に接続する接続助詞である。例えば、“中華以外のランチ”という文の注目単語を“以外”とした場合、「接続助詞」は“の”となる。
「前段単語」は、注目単語より前の単語である。例えば、“中華以外のランチ”という文の注目単語を“以外”とした場合、「前段単語」は“中華”となる。なお、「前段単語」の欄の数字列は、分野・分類を表すコードである。「後段単語」は、「接続助詞」に続く単語である。例えば、“中華以外のランチ”という文の注目単語を“以外”とした場合、「後段単語」は“ランチ”となる。
「フラグ」は、本実施形態においては、図9に示すように、「後段単語」ごとに対応付けられている。本フラグは、対応する「後段単語」を含む文の中に、標準的なイントネーション(音調)とは異なるイントネーション(音調)で発音される文が存在するか否かを示すフラグである。「フラグ」は、登録処理部235により管理されており、本実施形態においては、フラグ値“0”は標準的なイントネーション(音調)とは異なるイントネーション(音調)で発音される文が存在しないことを示し、フラグ値“1”は標準的なイントネーション(音調)とは異なるイントネーション(音調)で発音される文が存在することを示している。
「文種別」は、対応する文に想定される、ユーザがその文を発話する際の目的(意図)の種別であり、「質問」、「確認」、「指示」、「否定」などが想定される。
図10は、本実施形態における特有声調管理記憶部223の構成例を示す図である。特有声調管理記憶部223は、ユーザ特有のアクセント(声調)で発音される単語を、ユーザごとに管理している記憶部である。本実施形態における特有声調管理記憶部223は、一例では、図10に示すように、「ユーザID」ごとに、「単語読みID」と「意味」とが対応付けられている。特有声調管理記憶部223は登録処理部235により管理されており、「単語読みID」欄には、ユーザ特有のアクセント(声調)で発音される単語の単語読みIDが格納される。また、「意味」欄には、対応する「単語読みID」の単語読みを有する単語(同音異義語)の中で、ユーザ特有のアクセント(声調)で発音される単語(意義語)が格納される。
図11は、本実施形態における音調管理記憶部224の構成例を示す図である。音調管理記憶部224は、「文種別」ごとに、標準的なイントネーション(音調)を管理している記憶部である。本実施形態における音調管理記憶部224は、一例では、図11に示すように、「文種別」ごとに「音調」が対応付けられている。「音調」欄には、対応する「文種別」の標準的なイントネーション(音調)の音調情報が格納されている。
図12は、本実施形態における特有音調管理記憶部225の構成例を示す図である。特有音調管理記憶部225は、ユーザ特有のイントネーション(音調)で発音される文を、ユーザごとに管理している記憶部である。本実施形態における特有音調管理記憶部225は、一例では、図12に示すように、「ユーザID」ごとに、「文ID」が対応付けられている。特有音調管理記憶部225は登録処理部235により管理されており、「文ID」欄には、ユーザ特有のイントネーション(音調)で発音される文の文IDが格納される。
図7に戻り、制御部23は、例えば、CPUなどを備えており、記憶部22のプログラムエリアに格納されている動作プログラムを実行して、図7に示すように、音声認識部231と、単語特定部232と、声調・音調検出部233と、文種別特定部234と、登録処理部235としての機能を実現する。また、制御部23は、動作プログラムを実行して、サーバ装置2全体を制御する制御処理や詳しくは後述の音声認識処理などの処理を実行する。
ここで、制御部23の各機能部が果たす役割の概要について説明する。なお、詳細な役割については、後述する各種の処理の説明の中で説明することとする。
音声認識部231は、既存の技術を用いて、受信した音声データを文字列に変換し、アクセント句を抽出する。例えば、音声の小さい途切れを検出することでアクセント句を抽出する。また、音声認識部231は、例えば、音声の大きい途切れ検出することで一文を抽出する。
単語特定部232は、共通単語辞書221に基づいて、解析対象の文に含まれる各「単語読み」に対応する単語(意味)を特定、又は、推測する。この際、「単語読み」に対応する単語に同音異義語が存在する場合であっても、それらの同音異義語がユーザ特有のアクセント(声調)で発音されることがない場合には、単語特定部232は、標準的なアクセント(声調)に基づいて、同音異義語の中から、ユーザが意図する意味の単語を特定、又は、推測する。
声調・音調検出部233は、解析対象の文の中に、同音異義語が存在する単語が含まれている場合に、同音異義語が存在する単語のアクセント(声調)パターンを検出する。また、声調・音調検出部233は、解析対象の文のイントネーション(音調)を検出する。文種別特定部234は、解析対象の文がユーザ特有のイントネーション(音調)で発音されることがない場合には、共通文辞書222に基づいて、解析対象の文の文種別を特定、又は、推測する。
登録処理部235は、共通単語辞書221と共通文辞書222などを管理する処理部である。より具体的には、登録処理部235は、同音異義語の中に、標準的なアクセント(声調)とは異なるアクセント(声調)で発音されることがある同音異義語が存在することが検出された場合に、共通単語辞書221の対応するフラグのフラグ値を“1”に設定する。また、登録処理部235は、標準的なイントネーション(音調)とは異なるイントネーション(音調)で発音される文が存在することが検出された場合に、共通文辞書222の対応するフラグのフラグ値を“1”に設定する。
また、登録処理部235は、ユーザが標準的なアクセント(声調)とは異なるアクセント(声調)で同音意義語を発音することが検出された場合に、その同音異義語と単語読みIDをユーザIDに対応付けて、特有声調管理記憶部223に格納する。また、登録処理部236は、ユーザが標準的なイントネーション(音調)とは異なるイントネーション(音調)で文を発音することが検出された場合に、その文の文IDをユーザIDに対応付けて、特有音調管理記憶部225に格納する。
次に、図13乃至図15を参照して、本実施形態における情報端末装置1で実行される音声認識処理の流れについて説明する。図13乃至図15は、ぞれぞれ、本実施形態における情報端末装置1で実行される音声認識処理のフローを説明するためのフローチャートの例の第1部、第2部、第3部である。本音声認識処理は、例えば、音声認識用のアプリケーションが起動されることで開始される。
音声入力処理部161は、表示部13を制御して、例えば、図5に例示するような音声入力画面を表示画面上に表示させる(ステップS001)。そして、音声入力処理部161は、音声入力がされたか否かを判定する(ステップS002)。音声入力処理部161により、音声入力がされていないと判定された場合には(ステップS002;NO)、処理はステップS002の処理を繰り返して、音声入力がされるのを待つ。一方、音声入力がされたと判定した場合には(ステップS002;YES)、音声入力処理部161は、入力された音声データをユーザIDと共に、通信部15を介して、サーバ装置2に送信する(ステップS003)。
そして、対話処理部164は、音声解析結果を受信したか否かを判定する(ステップS004)。音声解析結果を受信したと判定した場合には(ステップS004;YES)、対話処理部164は、音声解析結果に基づいて、音声入力に対する応答文を生成する(ステップS005)。そして、出力処理部165は、例えば、応答文に基づいて応答画面を生成し、表示部13を制御して、生成した応答画面を表示画面上に表示させる(ステップS006)。
そして、出力処理部165は、応答内容に誤りがないか否かを判定する(ステップS007)。例えば、応答画面を表示させた場合には、出力処理部165は、応答画面上のOKボタンが選択されたか否かを判定する。OKボタンが選択されたと判定した場合には(ステップS007;YES)、出力処理部165は、応答内容に誤りがないことを示す応答成功通知をサーバ装置2に送信する(ステップS008)。なお、応答成功通知には、ユーザIDが含まれている。
そして、登録処理部166は、音声解析結果に推測情報が含まれているか否かを判定する(ステップS009)。推測情報が含まれていると判定した場合には(ステップS009;YES)、登録処理部166は、詳しくは後述の登録処理を実行する(ステップS010)。そして、処理はステップS001の処理へと戻り、前述の処理を繰り返す。なお、推測情報は、サーバ装置2において、共通単語辞書221と共通文辞書222とに基づく、単語及び/又は文種別の推測が行われたことを示す情報である。
一方、推測情報は含まれていないと判定した場合には(ステップS009;NO)、登録処理部166は、更に、記憶部12のデータエリアに推測結果(選択した文種別)が保存されているか否かを判定する(ステップS011)。推測結果が保存されていると判定した場合には(ステップS011;YES)、登録処理部166は、推測結果の内容をユーザ特有文辞書122に登録する(ステップS012)。この場合、登録処理部166は、ユーザ特有文辞書122における推測結果(選択した文種別)に対応するフラグ値を“1”に設定すると共に、ユーザ特有文辞書122における対応する「音調」欄を、文種別解析要求に含まれる音調情報で更新する。そして、処理はステップS001の処理へと戻り、前述の処理を繰り返す。一方、登録処理部166により、推測結果は保存されていないと判定された場合には(ステップS011;NO)、処理はステップS001の処理へと戻り、前述の処理を繰り返す。
ここで、文種別解析要求は、情報端末装置1に対して、ユーザ特有文辞書122に基づく文種別の解析を要求するための通知ある。ユーザが標準的なイントネーション(音調)以外のイントネーション(音調)で解析対象の文を発音することがある場合に、文種別解析要求は、サーバ装置2から対象ユーザの情報端末装置1に送信される。なお、文種別解析要求には、ユーザが音声入力したと推測される文とその文の文IDと対応する音調情報とが含まれている。
ステップS004の処理において、対話処理部164により、音声解析結果を受信していないと判定された場合には(ステップS004;NO)、特有単語特定部162は、単語解析要求を受信したか否かを判定する(ステップS013)。
ここで、単語解析要求は、情報端末装置1に対して、ユーザ特有単語辞書121に基づく単語(同音異義語が存在する単語)の解析を要求するための通知ある。解析対象の文の中に同音異義語が存在する単語に対応する「単語読み」が存在する場合であって、ユーザが標準的なアクセント(声調)以外のアクセント(声調)で、それらの同音異義語のいずれかを発音することがある場合に、単語解析要求は、サーバ装置2から対象ユーザの情報端末装置1に送信される。なお、単語解析要求には、解析要求対象の「単語読み」に対応する「単語読みID」と対応する声調情報とが含まれている。
ステップS013の処理において、単語解析要求を受信したと判定した場合には(ステップS013;YES)、特有単語特定部162は、ユーザ特有単語辞書121を参照して、単語解析要求に基づいて、解析要求対象の「単語読み」に対応する単語を特定する(ステップS014)。より具体的には、特有単語特定部162は、ユーザ特有単語辞書121の「単語読みID」欄を検索して、単語解析要求に含まれる「単語読みID」と一致するエントリを特定する。そして、特有単語特定部162は、特定したエントリに対応する声調情報の中から、単語解析要求に含まれる声調情報と一致する単語(意味)を特定する。
そして、特有単語特定部162は、全て特定できたか否かを判定する(ステップS015)。全て特定できたと判定した場合には(ステップS015;YES)、特有単語特定部162は、特定単語通知をサーバ装置に送信する(ステップS016)。そして、処理はステップS004の処理へと戻り、前述の処理を実行する。なお、特定単語通知は特定した単語を通知するための通知である。特定単語通知には、ユーザIDと、特定した単語と、が含まれている。
一方、少なくとも一部特定できなかったと判定した場合には(ステップS015;YES)、特有単語特定部162は、単語推測要求をサーバ装置2に送信する(ステップS017)。そして、処理はステップS004の処理へと戻り、前述の処理を実行する。なお、単語推測要求は、特定できた単語を通知すると共に、共通単語辞書221に基づいて特定できなかった単語を推測するように要求するための通知である。単語推測要求には、ユーザIDと、特定した単語と、が含まれている。
ここで、ステップS013の処理において、特有単語特定部162により、単語解析要求を受信していないと判定された場合には(ステップS013;NO)、特有文種別特定部163は、文種別解析要求を受信したか否かを判定する(ステップS018)。
文種別解析要求を受信したと判定した場合には(ステップS018;YES)、特有文種別特定部163は、ユーザ特有文辞書122を参照して、文種別解析要求に基づいて、解析対象の文の文種別を特定する(ステップS019)。より具体的には、特有文種別特定部163は、ユーザ特有文辞書122の「文ID」欄を検索して、文種別解析要求に含まれる「文ID」と一致するエントリを特定する。そして、特有文種別特定部163は、特定したエントリに対応する音調情報の中から、文種別解析要求に含まれる音調情報と一致する文種別を特定する。
そして、特有文種別特定部163は、特定できたか否かを判定する(ステップS020)。特定できなかったと判定した場合には(ステップS020;NO)、特有文種別特定部163は、更に、ユーザ特有文辞書122を参照して、文種別解析要求に基づいて、解析対象の文の文種別を推測する(ステップS021)。より具体的には、特有文種別特定部163は、ユーザ特有文辞書122の「文ID」欄を検索して、文種別解析要求に含まれる「文ID」と一致するエントリを特定する。そして、特有文種別特定部163は、特定したエントリに対応する文種別の中から、未選択の文種別を選択する。
そして、特有文種別特定部163は、推測結果(選択した文種別)を記憶部12のデータエリアに一時的に保存する(ステップS022)。そして、特有文種別特定部163は、選択した文種別を含む音声解析結果を対話処理部164に出力する(ステップS023)。そして、処理はステップS005の処理へ進み、前述の処理を実行する。一方、ステップS020の処理において、特定できたと判定した場合には(ステップS020;YES)、特有文種別特定部163は、特定した文種別を含む音声解析結果を対話処理部164に出力する(ステップS023)。そして、処理はステップS005の処理へと進み、前述の処理を実行する。
ここで、ステップS007の処理において、出力処理部165により、NGボタンが選択されたと判定された場合には(ステップS007;NO)、特有文種別特定部163は、保存されている推測結果を削除し(ステップS024)、文種別解析を行ったか否かを判定する(ステップS025)。文種別解析を行っていないと判定した場合には(ステップS025;NO)、特有文種別特定部163は、再解析要求をサーバ装置2に送信する(ステップS026)。そして、処理はステップS004の処理へと戻り、前述の処理を実行する。なお、再解析要求は、共通単語辞書221と共通文辞書222とに基づく音声データの再解析を要求するための通知であり、再解析要求には、ユーザIDが含まれている。
一方、文種別解析を行ったと判定した場合には(ステップS025;YES)、特有文種別特定部163は、更に、未選択の文種別が有るか否かを判定する(ステップS027)。特有文種別特定部163により、未選択の文種別は無いと判定された場合には(ステップS027;NO)、処理はステップS026の処理へと進む。一方、未選択の文種別が有る判定した場合には(ステップS027;YES)、特有文種別特定部163は、未選択の文種別を選択する(ステップS028)。
そして、特有文種別特定部163は、推測結果(選択した文種別)を記憶部12のデータエリアに一時的に保存する(ステップS029)。そして、特有文種別特定部163は、選択した文種別を含む音声解析結果を対話処理部164に出力する(ステップS030)。そして、処理はステップS005の処理へ進み、前述の処理を実行する。
次に、図16を参照して、本実施形態における情報端末装置1で実行される登録処理の流れについて説明する。図16は、本実施形態における登録処理のフローを説明するためのフローチャートの例である。本登録処理は、上述の音声認識処理にステップS010の処理に対応する処理である。
登録処理部166は、推測内容要求をサーバ装置2に送信する(ステップS101)。推測内容要求は、共通単語辞書221と共通文辞書222とに基づく、単語及び/又は文種別の推測結果の内容を要求するための通知である。応答内容に誤りがないとされた音声解析結果に推測情報が含まれている場合、あるいは、推測情報を含む文種別解析要求に基づく音声解析結果に対応した応答内容に誤りがないとされた場合に、推測内容要求は、サーバ装置2に送信される。なお、推測内容要求には、ユーザIDが含まれている。
そして、登録処理部166は、推測内容通知を受信したか否かを判定する(ステップS102)。推測内容通知は、推測内容要求に応答して、サーバ装置2から送信される通知であり、推測結果の内容を通知するための通知である。推測内容通知には、サーバ装置2での推測結果の内容が含まれている。例えば、応答内容に誤りが無いとされた音声解析結果の文に含まれる単語の中に、サーバ装置2で推測された同音異義語が有る場合には、サーバ装置2で推測された同音異義語と対応する「単語読みID」と対応する声調情報とが、推測内容通知に含まれる。また、例えば、応答内容に誤りが無いとされた音声解析結果の文の文種別が、サーバ装置2で推測された場合には、応答内容に誤りが無いとされた音声解析結果の文の文IDと、文IDに対応付けられている文種別と、応答内容に誤りが無いとされた音声解析結果の文の文種別と、対応する音調情報とが、推測内容通知に含まれる。
登録処理部166により、推測内容通知を受信していないと判定された場合には(ステップS102;NO)、処理はステップS102の処理を繰り返して、推測内容通知の受信を待つ。一方、推測内容通知を受信したと判定した場合には(ステップS102;YES)、登録処理部166は、推測内容通知に含まれる推測結果の内容をユーザ特有単語辞書121及び/又はユーザ特有文辞書122に登録する(ステップS103)。そして、本処理は終了して、上述の音声認識処理のステップS001の処理へと移行する。
次に、図17を参照して、本実施形態におけるサーバ装置2で実行される音声認識処理の流れについて説明する。図17は、本実施形態におけるサーバ装置2で実行される音声認識処理のフローを説明するためのフローチャートの例である。本音声認識処理は、音声データの受信をトリガとして開始される。
音声認識部231は、音声データを受信したか否かを判定する(ステップS201)。音声認識部231により、音声データを受信していないと判定された場合には(ステップS201;NO)、処理はステップS201の処理を繰り返して、音声データの受信を待つ。一方、音声データを受信したと判定した場合には(ステップS201;YES)、音声認識部231は、受信した音声データを文字列に変換し、文字列をアクセント句に分割する(ステップS202)。
そして、単語特定部232は、声調・音調検出部233と連係して、単語解析処理を実行し、共通単語辞書221に基づいて、解析対象の文に含まれる各単語を特定、又は、推測する(ステップS203)。そして、声調・音調検出部233は、解析対象の文のイントネーション(音調)を検出する(ステップS204)。そして、文種別特定部234は、文種別解析処理を実行して、共通文辞書222に基づいて、解析対象の文の種別を特定、又は、推測する(ステップS205)。
そして、文種別特定部234は、再解析要求を受信したか否かを判定する(ステップS206)。再解析要求を受信していないと判定した場合には(ステップS206;NO)、文種別特定部234は、更に、応答成功通知を受信したか否かを判定する(ステップS207)。文種別特定部234により、応答成功通知を受信したと判定された場合には(ステップS207;YES)、応答成功通知に含まれるユーザIDに対応する音声認識処理を終了する。
一方、文種別特定部234により、応答成功通知を受信していないと判定された場合には(ステップS207;NO)、処理はステップS206の処理へと戻り、前述の処理を繰り返す。ステップS206の処理において、再解析要求を受信したと判定した場合には(ステップS206;YES)、文種別特定部234は、更に、未選択の文種別が有るか否かを判定する(ステップS208)。
未選択の文種別は無いと判定した場合には(ステップS208;NO)、文種別特定部234は、更に、解析対象の文に含まれる単語の中に同音異義語が存在する単語が有り、未選択の同音異義語が有る否かを判定する(ステップS209)。文種別特定部234により、未選択の同音異義語は無いと判定された場合には(ステップS209;NO)、処理はステップS202の処理へと戻り、前述の処理を実行する。一方、未選択の同音異義語が有ると判定した場合には(ステップS209;YES)、文種別特定部234は、単語特定部232と連係して、再解析処理を実行する(ステップS210)。そして、処理はステップS206の処理へと戻り、前述の処理を繰り返す。
一方、ステップS208の処理において、未選択の文種別が有ると判定された場合には(ステップS208;YES)、文種別特定部234は、単語特定部232と連係して、再解析処理を実行する(ステップS210)。そして、処理はステップS206の処理へと戻り、前述の処理を実行する。
次に、図18乃至図20を参照して、本実施形態における単語解析処理の流れについて説明する。図18乃至図20は、それぞれ、本実施形態における単語解析処理のフローを説明するためのフローチャートの例の第1部、第2部、第3部である。本単語解析処理は、サーバ装置2で実行される音声認識処理のステップS203の処理に対応する処理である。
単語特定部232は、解析対象の文の各アクセント句を、単語と接続助詞とに分割する(ステップS301)。そして、単語特定部232は、共通単語辞書221に基づいて、解析対象の文に含まれる各「単語読み」に対応する単語(意味)を、それぞれ、特定する(ステップS302)。より具体的には、単語特定部232は、共通単語辞書221の「単語読み」欄を検索して、処理対象の「単語読み」と一致するエントリを特定する。そして、単語特定部232は、特定したエントリの「意味」欄に登録されている単語が一つである場合には、同音異義語が存在しない単語なので、処理対象の「単語読み」に対応する単語として、特定したエントリの「意味」欄に登録されている単語を特定する。
そして、単語特定部232は、解析対象の文に含まれる各「単語読み」に対応する単語(意味)を全て特定できたか否かを判定する(ステップS303)。全て特定できたと判定した場合には(ステップS303;YES)、単語特定部232は、特定(又は、推測)した単語の中から注目単語を任意に選択する(ステップS304)。そして、本処理は終了し、サーバ装置2で実行される音声認識処理のステップS204の処理へと移行する。
ステップS303の処理において、特定できなかった「単語読み」が有ると判定した場合には(ステップS303;NO)、単語特定部232は、特定できなかった「単語読み」の中に、同音異義語に対応する「単語読み」が有るか否かを判定する(ステップS305)。単語特定部232により、同音異義語に対応する「単語読み」は無いと判定された場合には(ステップS305;NO)、処理は後述のステップS320の処理へと進む。
一方、単語特定部232により、同音異義語に対応する「単語読み」が有ると判定された場合には(ステップS305;YES)、声調・音調検出部233は、同音異義語に対応する「単語読み」のアクセント(声調)を検出する(ステップS306)。そして、単語特定部232は、対応するフラグ値が“1”の同音異義語に対応する「単語読み」が有るか否かを判定する(ステップS307)。
対応するフラグ値が“1”の同音異義語に対応する「単語読み」は無いと判定した場合には(ステップS307;NO)、単語特定部232は、同音異義語に対応する「単語読み」に対し、共通単語辞書221に基づいて、対応する声調情報が検出された声調と一致する単語を特定する(ステップS308)。より具体的には、単語特定部232は、共通単語辞書221の「単語読み」欄を検索して、同音異義語に対応する「単語読み」のエントリを特定する。そして、単語特定部232は、特定したエントリの意味(同音異義語)の中から、対応する声調情報が、検出した声調(つまり、声調情報)と一致する意味(意義語)を特定する。なお、同音異義語に対応する「単語読み」が複数有る場合には、上述の処理が、それぞれに対して実行される。
そして、単語特定部232は、同音異義語に対応する「単語読み」の単語(異義語)が全て特定できたか否かを判定する(ステップS309)。単語特定部232により、同音異義語が全て特定できたと判定された場合には(ステップS309;YES)、処理は後述のステップS319の処理へと進む。
一方、単語特定部232により、特定できなかった同音異義語に対応する「単語読み」があると判定した場合には(ステップS309;NO)、単語特定部232は、特定できなかった同音異義語に対応する「単語読み」に対し、共通単語辞書221に基づいて、対応する声調情報が検出された声調に最も似ている単語を選択する(ステップS310)。より具体的には、単語特定部232は、共通単語辞書221の「単語読み」欄を検索して、特定できなかった同音異義語に対応する「単語読み」のエントリを特定する。そして、単語特定部232は、特定したエントリの意味(異義語)の中から、対応する声調情報が、検出した声調に最も似ている意味(意義語)を選択する。なお、特定できなかった同音異義語に対応する「単語読み」が複数有る場合には、上述の処理が、それぞれに対して実行される。
そして、単語特定部232は、推測結果(選択した同音異義語)をユーザIDと対応付けて、記憶部22のデータエリアに一時的に保存する(ステップS311)。そして、処理はステップS304の処理へと進み、前述の処理を実行する。
ステップS307の処理において、対応するフラグ値が“1”の同音異義語に対応する「単語読み」が有ると判定した場合には(ステップS307;YES)、単語特定部232は、対応するフラグ値が“1”の「単語読み」に対応する同音異義語の中から、特有声調管理記憶部223に登録されている単語と一致する同音異義語を抽出する(ステップS312)。そして、単語特定部232は、抽出できたか否かを判定する(ステップS313)。単語特定部232により、抽出できなかったと判定された場合には(ステップS313;NO)、処理は後述のステップS315の処理へと進む。
一方、抽出できたと判定した場合には(ステップS313;YES)、単語特定部232は、音声データを送信した情報端末装置1に、単語解析要求を送信する(ステップS314)。この際の単語解析要求には、抽出した同音異義語の「単語読み」に対応する「単語読みID」と対応する声調情報とが含まれる。このような場合に単語解析要求を情報端末装置1に送信するのは、特有声調管理記憶部223に登録されている「単語読み」の単語はユーザ特有のアクセント(声調)で発音されるからである。
そして、単語特定部232は、特定単語通知を受信したか否かを判定する(ステップS315)。特定単語通知を受信していないと判定した場合には(ステップS315;NO)、単語特定部232は、更に、単語推測要求を受信したか否かを判定する(ステップS316)。単語特定部232により、単語推測要求も受信していないと判定された場合には(ステップS316;NO)、処理はステップS315の処理へと戻り、前述の処理を繰り返す。
一方、特定単語通知を受信したと判定した場合には(ステップS315;YES)、単語特定部232は、抽出できなかった「単語読み」に対し、共通単語辞書221に基づいて、対応する声調情報が検出された声調と一致する単語を特定する(ステップS317)。より具体的には、単語解析要求の対象となった全ての「単語読み」に対し、ユーザ特有単語辞書121に基づく単語の特定(あるいは、共通単語辞書221に基づく単語の特定、又は、推測)ができたので、単語特定部232は、共通単語辞書221の「単語読み」欄を検索して、抽出できなかった「単語読み」のエントリを特定する。そして、単語特定部232は、特定したエントリの意味(異義語)の中から、対応する声調情報が、検出した声調(つまり、声調情報)と一致する意味(意義語)を特定する。なお、抽出できなかった「単語読み」が複数有る場合には、上述の処理が、それぞれに対して実行される。
そして、単語特定部232は、抽出できなかった「単語読み」に対し、単語を全て特定できたか否かを判定する(ステップS318)。単語特定部232により、単語が特定できなかった「単語読み」が有ると判定された場合には(ステップS318;NO)、処理はステップS310の処理へと進み、前述の処理を実行する。一方、抽出できなかった「単語読み」に対し、単語を全て特定できたと判定した場合には(ステップS318;YES)、単語特定部232は、更に、解析対象の文に含まれる「単語読み」の中に、単語が特定されていない「単語読み」が有るか否かを判定する(ステップS319)。単語特定部232により、単語が特定されていない「単語読み」は無いと判定された場合には(ステップS319;NO)、処理はステップS304の処理へと進み、前述の処理を実行する。
一方、単語が特定されていない「単語読み」が有ると判定した場合には(ステップS319;YES)、単語特定部232は、単語が特定されていない「単語読み」に対し、共通単語辞書221に基づいて、最適な単語を推測する(ステップS320)。この場合、解析対象の文に含まれる「単語読み」の中に、共通単語辞書221に登録されている「単語読み」と一致しない「単語読み」が存在するということなので、単語特定部232は、例えば、そのような「単語読み」に対し、共通単語辞書221に基づいて、「単語読み」が最も似ている単語を推測する。そして、処理はステップS304の処理へと進み、前述の処理を実行する。
ここで、ステップS316の処理において、単語推測要求を受信したと判定した場合には(ステップS316;YES)、単語特定部232は、単語解析要求の対象となった「単語読み」の中で単語推測要求に含まれる単語以外の「単語読み」に対し、共通単語辞書221に登録されている同音異義語から特有声調管理記憶部223に登録されている同音異義語を除いた同音異義語の中から、対応する声調情報が検出された声調と一致する同音異義語を特定する(ステップS321)。例えば、図8と図10を参照して、単語解析要求の対象となった「単語読み」の中で単語推測要求に含まれる単語以外の「単語読み」が“イガイ”であり、ユーザのユーザIDが“UID0001”であるとした場合、特有声調管理記憶部223には、「単語読み」が“イガイ”である単語(意外と以外)が登録されている。また、共通単語辞書221に登録されている「単語読み」が“イガイ”である単語は、意外、以外、遺骸、貽貝、固有名詞1である。したがって、この場合、単語特定部232は、遺骸、貽貝、固有名詞1の中から、対応する声調情報が検出された声調と一致する単語(異義語)を特定する。
そして、単語特定部232は、特定できたか否かを判定する(ステップS322)。単語特定部232により、特定できたと判定された場合には(ステップS322;YES)、処理はステップS317の処理へと進み、前述の処理を実行する。一方、特定できなかったと判定した場合には(ステップS322;NO)、単語特定部232は、単語を特定できなかった「単語読み」に対し、共通単語辞書221に登録されている同音異義語から、特有声調管理記憶部223に登録されている同音異義語を除いた同音異義語の中から、同音異義語を選択する(ステップS323)。そして、単語特定部232は、推測結果(選択した同音異義語)をユーザIDと対応付けて、記憶部22のデータエリアに一時的に保存する(ステップS324)。そして、処理はステップS317の処理へと進み、前述の処理を実行する。
次に、図21と図22を参照して、本実施形態における文種別特定処理の流れについて説明する。図21と図22は、それぞれ、本実施形態における文種別解析処理のフローを説明するためのフローチャートの例の一部と、他の一部である。本文種別特定処理は、サーバ装置2で実行される音声認識処理のステップS205の処理に対応する処理である。
文種別特定部234は、共通文辞書222を参照して、特定、又は、推測された単語で構成された解析対象の文と一致する文を特定する(ステップS401)。より具体的には、文種別特定部234は、共通文辞書222の「単語」欄を検索して、注目単語と一致する単語のエントリを特定する。そして、文種別特定部234は、特定したエントリに登録されている文の中から、解析対象の文と一致する文を特定する。この際、特定したエントリに登録されている文の中から、解析対象の文と一致する文が特定できない場合であって、解析対象の文に含まれる単語読みに対応する単語の中に、同音異義語が存在する単語が有る場合には、未選択の同音異義語の中から、同音異義語を再選択する処理を、解析対象の文と一致する単語(異義語)が特定できるまで繰り返す。こうすることで、音声対話方式においてユーザが一般的に発話すると想定されている文を特定することができ、音声認識の精度を向上させることができる。
そして、文種別特定部234は、特定した文の「後段単語」に対応付けられているフラグ値が“1”であるか否かを判定する(ステップS402)。特定した文の「後段単語」に対応付けられているフラグ値が“1”であると判定した場合には(ステップS402;YES)、文種別特定部234は、特定した文を特有音調管理記憶部225に登録されている文と照合する(ステップS403)。より具体的には、文種別特定部234は、特有音調管理記憶部225の「ユーザID」欄を検索して、音調データと共に受信したユーザIDと一致するエントリを特定する。そして、文種別特定部234は、特定した文の文IDを、特定したエントリに登録されている文IDと照合する。
そして、文種別特定部234は、照合できたか否かを判定する(ステップS404)。文種別特定部234により、照合できなかったと判定された場合には(ステップS404;NO)、処理は後述のステップS408の処理へと進む。一方、照合できたと判定した場合には(ステップS404;YES)、文種別特定部234は、更に、解析対象の文の中に推測された単語が含まれているか否かを判定する(ステップS405)。
解析対象の文の中に推測された単語が含まれていると判定した場合には(ステップS405;YES)、文種別特定部234は、推測情報を含む文種別解析要求を送信する(ステップS406)。そして、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。一方、解析対象の文の中に推測された単語は含まれていないと判定した場合には(ステップS405;NO)、文種別特定部234は、推測情報を含まない文種別解析要求を送信する(ステップS407)。同様に、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。このような場合に文種別解析要求を情報端末装置1に送信するのは、特有音調管理記憶部225に登録されている文はユーザ特有のイントネーション(音調)で発音される場合があるからである。
ステップS402の処理において、特定した文の「後段単語」に対応付けられているフラグ値は“1”ではないと判定した場合には(ステップS402;NO)、文種別特定部234は、共通文辞書221に基づいて、解析対象の文の文種別を特定する(ステップS408)。より具体的には、文種別特定部234は、音調管理記憶部224を参照して、特定した文に対応付けられている文種別の中から、対応する音調情報が検出されたイントネーション(音調)と一致する文種別を特定する。
そして、文種別特定部234は、特定できたか否かを判定する(ステップS409)。特定できたと判定した場合には(ステップS409;YES)、文種別特定部234は、更に、解析対象の文の中に推測された単語が含まれているか否かを判定する(ステップS410)。
解析対象の文の中に推測された単語が含まれていると判定した場合には(ステップS410;YES)、文種別特定部234は、推測情報を含む音声解析結果を送信する(ステップS411)。そして、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。一方、解析対象の文の中に推測された単語は含まれていないと判定した場合には(ステップS410;NO)、文種別特定部234は、推測情報を含まない音声解析結果を送信する(ステップS412)。同様に、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。
ステップS409の処理において、特定できなかったと判定した場合には(ステップS409;NO)、文種別特定部234は、共通文辞書221に基づいて、解析対象の文の文種別を推測する(ステップS413)。より具体的には、文種別特定部234は、音調管理記憶部224を参照して、特定した文に対応付けられている文種別の中から、対応する音調情報が検出されたイントネーション(音調)と最も似ている文種別を選択する。あるいは、文種別特定部234は、特定した文に対応付けられている文種別の中から、未選択の文種別を選択してもよい。
そして、文種別特定部234は、推測結果(選択した文種別)をユーザIDと対応付けて、記憶部22のデータエリアに一時的に保存し(ステップS414)、推測情報を含む音声解析結果を情報端末装置1に送信する(ステップS415)。そして、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。
次に、図23を参照して、本実施形態における再解析処理の流れについて説明する。図23は、本実施形態における再解析処理のフローを説明するためのフローチャートの例である。本再解析処理は、サーバ装置2で実行される音声認識処理のステップS210の処理に対応する処理である。
文種別特定部234は、特定した文に対応付けられている文種別の内で未選択の文種別が有るか否かを判定する(ステップS501)。特定した文に対応付けられている文種別の内で未選択の文種別が有ると判定した場合には(ステップS501;YES)、文種別特定部234は、共通文辞書222に基づいて、特定した文に対応付けられている文種別の中から、未選択の文種別を推測する(ステップS502)。より具体的には、文種別特定部234は、音調管理記憶部224を参照して、特定した文に対応付けられている文種別の内で未選択の文種別の中から、対応する音調情報が検出されたイントネーション(音調)と最も似ている文種別を選択する。あるいは、文種別特定部234は、特定した文に対応付けられている文種別の中から、未選択の文種別を選択してもよい。
そして、文種別特定部234は、推測結果(選択した文種別)をユーザIDと対応付けて、記憶部22のデータエリアに一時的に保存し(ステップS503)、推測情報を含む音声解析結果を情報端末装置1に送信する(ステップS504)。そして、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。
ステップS501の処理において、文種別特定部234により、特定した文に対応付けられている文種別の内で未選択の文種別は無いと判定された場合には(ステップS501;NO)、単語特定部232は、共通単語辞書221に基づいて、未選択の同音異義語の中から単語(異義語)を推測する(ステップS505)。より具体的には、単語特定部232は、未選択の同音異義語の中から、対応する声調情報が検出された声調に最も似ている同音異義語を選択する。
そして、単語特定部232は、推測結果(選択した同音異義語)をユーザIDと対応付けて、記憶部22のデータエリアに一時的に保存し(ステップS506)、注目単語を任意に選択する(ステップS507)。この際、単語特定部232は、注目単語として、前回選択した単語が存在する場合には、前回選択した単語を選択する。そして、文種別特定部234は、声調・音調検出部233と連係して、上述の文種別解析処理を実行する(ステップS508)。そして、本処理は終了して、サーバ装置2で実行される音声認識処理のステップS206の処理へと移行する。
次に、図24を参照して、本実施形態における推測内容送信処理の流れについて説明する。図24は、本実施形態における推測内容送信処理のフローを説明するためのフローチャートの例である。本推測内容送信処理は、推測内容要求の受信をトリガとして開始される。
登録処理部235は、推測内容要求を受信したか否かを判定する(ステップS601)。登録処理部235により、推測内容要求を受信していないと判定された場合には(ステップS601;NO)、処理はステップS601の処理を繰り返して、推測内容要求の受信を待つ。一方、推測内容要求を受信したと判定した場合には(ステップS601;YES)、登録処理部235は、推測内容通知を情報端末装置1に送信する(ステップS602)。
そして、登録処理部235は、推測結果の内容に応じた登録処理を行い(ステップS603)、処理対象の音声データに対応する推測結果を記憶部22のデータエリアから削除する(ステップS604)。そして、処理はステップS601の処理へと戻り、前述の処理を繰り返す。
なお、単語特定部232による同音異義語の推測精度を向上させるために、種々の既存の技術を適用してもよい。例えば、同音異義語を推測する際に、単語特定部232は、類語相違の最強調部分を含む声調情報の同音異義語から、単語(異義語)を選択するようにしてもよい。図25は、この場合の共通単語辞書221の例を示す図である。また、例えば、同音異義語を推測する際に、単語を構成する各音節文字(日本語の場合は、仮名文字、平仮名文字)を発音する際の標準的な周波数が用いられてもよい。図26は、この場合の共通単語辞書221の例を示す図である。
次に、ユーザが“中華以外のランチ”と音声入力した場合の具体例にしたがって、上述したフローチャートなどを参照し、音声認識システム全体における音声認識処理の概略的な流れについて、更に、説明する。
ユーザが、“中華以外のランチ”と、情報端末装置1に音声入力すると、情報端末装置1は、対応する音声データをサーバ装置2に送信する。サーバ装置2は、音声データを受信すると、音声データを文字列“チュウカイガイノランチ”に変換し、更に、文字列を、“チュウカ”,“イガイ”,“ノ”,“ランチ”に分割する。
そして、サーバ装置2は、共通単語辞書221に基づいて、各単語読み、つまり、“チュウカ”,“イガイ”,“ランチ”に対応する意味(単語)を特定する。ここで、単語読みが“イガイ”の単語に同音異義語(例えば、意外、以外、遺骸、貽貝、固有名詞1)が存在し、特有声調管理記憶部223にその同音異義語(例えば、意外と以外)が登録されているとする。この場合、サーバ装置2は、単語読み“チュウカ”の声調を検出し、情報端末装置1側で単語読み“イガイ”の単語解析を行わせるために、単語解析要求を送信する。
情報端末装置1は、単語解析要求を受信すると、ユーザ特有単語辞書121(図3に例示)に基づいて、単語読み“イガイ”の単語を特定する。ここで、単語読み“イガイ”の音声データにおける声調情報が(↑↓↓)であるとすると、情報端末装置1は、単語“以外”を特定する。そして、情報端末装置1は、特定単語通知をサーバ装置2に送信し、特定した単語“以外”を通知する。ここで、図8を参照すると、単語読み“イガイ”の一般的な声調情報は(↑↓―)であるため、単語読み“イガイ”の音声データにおける声調情報が(↑↓↓)である場合、共通単語辞書221に基づいて、単語“以外”を特定することができないことが分かる。
一方、残りの単語読み“チュウカ”と“ランチ”に対して、サーバ装置2は、共通単語辞書221に基づく単語の特定を行う。ここで、単語読みが“チュウカ”の単語は“中華”のみであり、単語読みが“ランチ”の単語は“ランチ”(昼食)のみであるとすると、サーバ装置2は、単語読み“チュウカ”に対して単語“中華”を、単語読み“ランチ”に対して単語“ランチ”(昼食)を特定する。
そして、サーバ装置2は、単語(“中華”、“以外”、“ランチ”)の中から、注目単語を選択する。ここで、サーバ装置2は、単語“以外”を注目単語として選択したとする。この場合、サーバ装置2は、共通文辞書222の「単語」欄を検索して、注目単語“以外”のエントリを特定し、特定したエントリに登録されている文の中から、文“中華以外のランチ”と一致する文を特定する。ここで、図9を参照して、特定した文の後段単語“ランチ”に対応付けられているフラグ値が“1”であることから、文“中華以外のランチ”がユーザ特有のイントネーション(音調)で発音されることがあることが分かる。また、ユーザIDが“UID0001”、文“中華以外のランチ”の文IDが“SID00001”であるとする。この場合、特有音調管理記憶部225(図12に例示)のユーザID“UID0001”のエントリには、文ID“SID00001”が登録されていることから、サーバ装置2は、文“中華以外のランチ”の文種別を情報端末装置1で特定させるために、文種別解析要求を情報端末装置1に送信する。
そして、情報端末装置1は、文種別解析要求を受信すると、ユーザ特有文辞書122に基づいて、文“中華以外のランチ”の文種別を特定する。ここで、文種別解析要求に含まれる音調情報が“音調11”であるとすると、情報端末装置1は、文種別“質問”を特定する。そして、情報端末装置1は、文“中華以外のランチ”と文種別“質問”を、音声解析結果として、対応する応答文を生成する。文“中華以外のランチ”と文種別“質問”により、情報端末装置1は、文“中華以外のランチ”を目的語としてとらえることができるため、中華以外のランチを食べることができる場所を案内するような応答文を生成することが可能となる。例えば、情報端末装置1がカーナビゲーションである場合には、位置情報に基づいて、例えば、応答文“中華以外のランチでは500m直進でステーキ屋が開店しています”を生成することができる。このように、音声入力された文の文種別を特定(又は、推測)することができるので、文“中華以外のランチを食べれるレストランを検索する”のように、動詞まで含む形で音声入力されるのではなく、文“中華以外のランチ”のように動詞が省略された形で音声入力されたとしても、音声対話を成立させることができる。ここで、図11を参照すると、文種別“質問”の標準的な音調は“音調01”である。したがって、共通文辞書222に基づいて、文“中華以外のランチ”の文種別として文種別“質問”を特定することができないことが分かる。
以上に説明したように、ユーザ特有のアクセント(声調)で発音される同音異義語の関する声調情報を情報端末装置1側で保持することで、ユーザ特有のアクセント(声調)で発音される同音異義語を正確に特定することが可能となる。つまり、ユーザのなまりやユーザ特有のくせなどを考慮した音声認識が可能となる。また、ユーザ特有のイントネーション(音調)で発音される文の関する文種別の音調情報を情報端末装置1側で保持することで、ユーザ特有のイントネーション(音調)で発音される文の文種別を正確に特定することが可能となる。したがって、音声認識の精度を向上させることができる。また、情報端末装置1に処理を分散させることで、サーバ装置2の処理負荷を軽減させることができる。
上記実施形態によれば、情報端末装置1は、入力された音声データに基づいて特定される文を構成する単語の内で同音異義語が存在する単語に対し、同音異義語が存在する単語の音声データにおけるアクセント(声調)に基づいて、同音異義語が存在する単語に対応する同音異義語の中から、同音異義語を特定する。そして、情報端末装置1は、文を構成する単語の中に同音異義語が存在する単語が有る場合に、文の音声データにおけるイントネーション(音調)に基づいて、サーバ装置2により特定された単語と情報端末装置1が特定した同音異義語とにより構成される文に対する、応答文を生成する。これにより、ユーザのなまりやユーザ特有のくせなどを考慮した音声認識が可能となると共に、情報端末装置1とサーバ装置2に処理を分散することで、一の装置(例えば、サーバ装置2)で全ての処理を行う場合と比較して、装置の処理負荷を軽減することが可能となる。
また、上記実施形態によれば、情報端末装置1は、同音異義語のユーザのアクセント(声調)が標準的なアクセント(声調)とは異なることが検出された際に、同音異義語のユーザのアクセント(声調)を当該同音異義語に対応付けてユーザ特有単語辞書121に登録する。これにより、ユーザ特有のアクセント(声調)で発音される同音異義語が蓄積されていくので、使用される程、音声認識の精度を向上させることができる。よって、音声認識の失敗により繰り返される処理を軽減させることができる。
また、上記実施形態によれば、情報端末装置1は、入力された音声データに基づいて特定される文のユーザの音調が、同一の文種別で当該文を発話した際の標準的な音調とは異なることが検出された際に、音声データにおける音調を文種別と対応付けて、ユーザ特有文辞書122に登録する。これにより、ユーザ特有のイントネーション(音調)で発音される文が蓄積されていくので、使用される程、音声認識の精度を向上させることができる。よって、音声認識の失敗により繰り返される処理を軽減させることができる。
図27は、本実施形態における情報端末装置1のハードウェア構成の例を示す図である。図2に示す情報端末装置1は、例えば、図27に示す各種ハードウェアにより実現されてもよい。図27の例では、情報端末装置1は、CPU201、RAM202、ROM203、フラッシュメモリ204、オーディオインターフェース205、通信モジュール206、読取装置207を備え、これらのハードウェアはバス208を介して接続されている。
CPU201は、例えば、フラッシュメモリ204に格納されている動作プログラムをRAM202にロードし、RAM202をワーキングメモリとして使いながら各種処理を実行する。CPU201は、動作プログラムを実行することで、図2に示す制御部16の各機能部を実現することができる。
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、Compact Disk−Read Only Memory(CD−ROM)、Digital Versatile Disk(DVD)、Magneto Optical disk(MO)などのコンピュータで読み取り可能な記録媒体209に記憶して配布し、これを情報端末装置1の読取装置207で読み取ってコンピュータにインストールすることにより、上述の処理を実行するようにしてもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、通信モジュール206を介して、情報端末装置1のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
なお、実施形態に応じて、RAM202、ROM203、フラッシュメモリ204以外の他の種類の記憶装置が利用されてもよい。例えば、情報端末装置1は、Content
Addressable Memory(CAM)、Static Random Access Memory(SRAM)、Synchronous Dynamic Random Access Memory(SDRAM)などの記憶装置を有してもよい。
なお、実施形態に応じて、情報端末装置1のハードウェア構成は図27とは異なっていてもよく、図27に例示した規格・種類以外のその他のハードウェアを情報端末装置1に適用することもできる。
例えば、図2に示す情報端末装置1の制御部16の各機能部は、ハードウェア回路により実現されてもよい。具体的には、CPU201の代わりに、Field Programmable Gate Array(FPGA)などのリコンフィギュラブル回路や、Application Specific Integrated Circuit(ASIC)などにより、図2に示す制御部16の各機能部が実現されてもよい。もちろん、CPU201とハードウェア回路の双方により、これらの機能部が実現されてもよい。
図28は、本実施形態におけるサーバ装置2のハードウェア構成の例を示す図である。図7に示すサーバ装置2は、例えば、図28に示す各種ハードウェアにより実現されてもよい。図28の例では、サーバ装置2は、CPU301、RAM302、ROM303、HDD304、通信モジュール305、読取装置306を備え、これらのハードウェアはバス307を介して接続されている。
CPU301は、例えば、HDD304に格納されている動作プログラムをRAM302にロードし、RAM302をワーキングメモリとして使いながら各種処理を実行する。CPU301は、動作プログラムを実行することで、図7に示す制御部23の各機能部を実現することができる。
なお、上記動作を実行するための動作プログラムを、フレキシブルディスク、CD−ROM、DVD、MOなどのコンピュータで読み取り可能な記録媒体308に記憶して配布し、これをサーバ装置2の読取装置306で読み取ってコンピュータにインストールすることにより、上述の処理を実行するようにしてもよい。さらに、インターネット上のサーバ装置が有するディスク装置等に動作プログラムを記憶しておき、通信モジュール305を介して、サーバ装置2のコンピュータに動作プログラムをダウンロード等するものとしてもよい。
なお、実施形態に応じて、RAM302、ROM303、HDD304以外の他の種類の記憶装置が利用されてもよい。例えば、サーバ装置2は、CAM、SRAM、SDRAMなどの記憶装置を有してもよい。
なお、実施形態に応じて、サーバ装置2のハードウェア構成は図28とは異なっていてもよく、図28に例示した規格・種類以外のその他のハードウェアをサーバ装置2に適用することもできる。
例えば、図7に示すサーバ装置2の制御部23の各機能部は、ハードウェア回路により実現されてもよい。具体的には、CPU301の代わりに、FPGAなどのリコンフィギュラブル回路や、ASICなどにより、図7に示す制御部23の各機能部が実現されてもよい。もちろん、CPU301とハードウェア回路の双方により、これらの機能部が実現されてもよい。
以上において、いくつかの実施形態について説明した。しかしながら、実施形態は上記の実施形態に限定されるものではなく、上述の実施形態の各種変形形態及び代替形態を包含するものとして理解されるべきである。例えば、各種実施形態は、その趣旨及び範囲を逸脱しない範囲で構成要素を変形して具体化できることが理解されよう。また、前述した実施形態に開示されている複数の構成要素を適宜組み合わせることにより、種々の実施形態を成すことができることが理解されよう。更には、実施形態に示される全構成要素からいくつかの構成要素を削除して又は置換して、或いは実施形態に示される構成要素にいくつかの構成要素を追加して種々の実施形態が実施され得ることが当業者には理解されよう。