JP2008089625A - 音声認識装置、音声認識方法及び音声認識プログラム - Google Patents

音声認識装置、音声認識方法及び音声認識プログラム Download PDF

Info

Publication number
JP2008089625A
JP2008089625A JP2006266947A JP2006266947A JP2008089625A JP 2008089625 A JP2008089625 A JP 2008089625A JP 2006266947 A JP2006266947 A JP 2006266947A JP 2006266947 A JP2006266947 A JP 2006266947A JP 2008089625 A JP2008089625 A JP 2008089625A
Authority
JP
Japan
Prior art keywords
recognition
speech
voice
weight
result
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
Application number
JP2006266947A
Other languages
English (en)
Inventor
Masashi Satomura
昌史 里村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Honda Motor Co Ltd
Original Assignee
Honda Motor Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Honda Motor Co Ltd filed Critical Honda Motor Co Ltd
Priority to JP2006266947A priority Critical patent/JP2008089625A/ja
Publication of JP2008089625A publication Critical patent/JP2008089625A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる音声認識装置、音声認識方法及び音声認識プログラムを提供する。
【解決手段】音声認識装置1は、入力音声の認識結果に基づいて制御対象に対する制御処理を行う。言語モデル16を用いて入力音声を言語的な特徴に基づいて認識する第1の音声認識手段31と、入力音声を認識対象語彙と比較して認識する第2の音声認識手段32,33と、制御処理の状態の遷移を検知する状態遷移検知手段34と、状態遷移検知手段34の検知結果に基づいて第1の音声認識手段31の処理に対する第1の重みと、第2の音声認識手段32,33の処理に対する第2の重みとを、それぞれ決定する重み決定手段35と、第1,第2の音声認識手段31,32,33による音声認識処理と第1,第2の重みとを用いて、最終的な認識結果を決定する認識結果決定手段36とを備える。
【選択図】図1

Description

本発明は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置、音声認識方法及び音声認識プログラムに関する。
近年、例えば、使用者が機器の操作等を行うシステムにおいて、使用者により入力される音声を認識して、機器の操作等に必要な情報を取得する音声認識装置が用いられている。このような音声認識装置では、使用者により入力される音声(発話)を認識し、認識した結果に基づいて使用者に応答して使用者の次の発話を促すことで、使用者との対話が行われる。そして、使用者との対話を認識した結果から、機器の操作等を行うために必要な情報が取得される。このとき、例えば、認識対象であるコマンド(認識対象語彙)が予め登録された認識辞書を用いて、入力された発話の特徴量と認識辞書に登録されたコマンドの特徴量とを比較することにより発話が認識される。
この音声認識装置は、例えば車両に装備されて、車両に搭載されたオーディオ、ナビゲーションシステム、エアコンディショナ等の複数の機器が使用者により操作される。さらに、これらの機器は高機能化しており、例えば、ナビゲーションシステムには、地図表示やPOI(Point of Interest)検索等の複数の機能が備えられ、これらの機能が使用者により操作される。しかし、このように多数の操作対象があると、これらを操作するためのコマンドの数が多くなる。そして、認識対象であるコマンドが多くなると、例えばコマンド間で特徴量が類似する場合が増加し、誤認識の可能性が高くなる。
このため、必要に応じて限定したコマンドのみを認識対象として音声認識処理を行うことにより認識精度を向上する技術が知られている。例えば、認識対象のカテゴリに応じて分類されたコマンドの集合から成る複数の認識辞書を備え、これらの認識辞書を必要に応じて選択的に切り換えて、当該選択された認識辞書のみを用いて音声認識処理を行う。しかし、この場合、選択された認識辞書が不適切で実際の発話の内容に合致しないときには、正しい認識が行われず、例えば誤認識が生じたり、使用者に発話の再入力を促すこととなる。これに対して、認識辞書自体を選択的に切り換えるのではなく、全ての認識辞書と各認識辞書用の重みとを用いて音声を認識することで、認識精度を向上する技術が提案されている(例えば、特許文献1参照)。
この特許文献1の音声認識装置は、入力された音声を認識する認識部と、この認識部の認識結果を含む情報を出力する出力部と、認識時に用いられる認識対象語彙が格納された認識語彙格納部と、タイマ部からの時刻信号に基づいて認識対象語彙の切り換えを要求する認識対象語彙切り換え要求部と、タイマ部からの時刻信号に基づいて各認識対象語彙セット用の重みを決定する重み決定部とを備えている。出力部は、複数の出力内容を切り換え出力するようになっており、認識対象語彙は、出力部の出力内容に対応した認識対象語の集合でなる複数の認識対象語彙セットに分類され、認識対象語彙の切り換えは認識対象語彙セットの単位で行われるようになっている。そして、認識部は、全認識対象語彙セットを構成する各語の尤度を算出し、各語の尤度の値に各語が属する認識対象語彙セット用の重みを掛け、その値が最も高い語を入力音声の認識結果とする。
この音声認識装置では、例えば時間の経過と共に自動的に出力部の出力内容が切り換えられ、該出力部の出力内容の切り換えに伴って認識対象語彙の切り換えが行われる。すなわち、タイマ部からの時刻信号に基づいて認識対象語彙の切り換えが要求されると、現在用いられている認識対象語彙セットが、出力部の出力内容の切り換えに応じた認識対象語彙セットに切り換えられる。
その際、重み決定部は、認識対象語彙の切り換えが要求されてから重み決定までの経過時間に応じて、切り換え前の認識対象語彙セット用の重みを低下させる一方、切り換え後の認識対象語彙セット用の重みを上昇させる。このように重みを決定することで、切り換え前の認識対象語彙セット用の重みが小さくなり、出力部の出力内容に対応している切り換え後の認識対象語彙の認識精度が高められる。また、切り換え前の認識対象語彙セットの語をも用いて認識が行われているので、話者が切り換え前の認識対象語彙で発声しても高い認識結果が得られる。
特開2002−41078号公報
しかしながら、上記音声認識装置は、要するに、出力内容の切り換えに伴って認識対象語彙を切り換える際に、認識対象語彙が時間の経過と共に徐々に切り換わるように、出力切り替え前の出力内容に対応した認識対象語彙セットAの重みw2と、出力切り換え後の出力内容に対応した認識対象語彙セットBとの重みw1とを時間変化させるものである。このように重みを決定して音声の認識を行うことは、例えば装置が出力内容を自動的に切り換える場合であれば、出力切り換えに対する使用者からの音声入力の遅れ等を吸収して認識精度が向上されると考えられる。しかし、上記音声認識装置は、例えば装置が使用者からの音声入力に対して逐次出力内容を切り換える(応答する)場合に、使用者と装置との対話の状況を考慮したものではない。すなわち、使用者と装置との対話では、使用者からは様々な言い回しで音声が入力され、且つ、その言い回しは、対話の状況により変化するものである。これに対して、前記音声認識装置のように、単に出力切り換え前後の出力内容に対応した認識対象語彙セットの重みを時間変化させるだけでは、適切に対応することができない。
また、使用者からの音声入力は、必ずしも装置からの出力内容に対応したものとは限らない。例えば、使用者が所定の機器を操作するために音声認識装置との対話を行っている途中で、状況が変化して他の機器の操作を急に指示するといったように、突然話題が変更される場合もある。この場合、使用者からの音声入力は、出力切り換え前後の出力内容のいずれとも関連しないので、前記音声認識装置では適切に対応することができない。
本発明は、上記事情に鑑み、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる音声認識装置、音声認識方法及び音声認識プログラムを提供することを目的とする。
本発明の音声認識装置は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置において、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第1の音声認識手段と、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第2の音声認識手段と、前記制御処理の状態の遷移を検知する状態遷移検知手段と、前記状態遷移検知手段による検知結果に基づいて、前記第1の音声認識手段による音声認識処理に対する第1の重みと、前記第2の音声認識手段による音声認識処理に対する第2の重みとを、それぞれ決定する重み決定手段と、前記第1及び第2の音声認識手段による音声認識処理と、前記重み決定手段により決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定手段とを備えることを特徴とする。
本発明の音声認識装置によれば、使用者からの対象を制御するための発話等についての認識結果に基づいて制御対象に対する制御処理が行われる。この制御処理は、例えば、制御対象である機器や機能を発話から取得された情報に基づいて制御する処理や、使用者への音声や画面表示による応答を制御する処理等である。このとき、例えば使用者の次の発話を促す応答に対して、使用者から次の発話が入力されることにより、使用者との対話を行いながら逐次制御処理が行われる。そして、使用者から入力される音声は、対話の状況に応じて様々な語彙や言い回しとなり得る。
そこで、第1の音声認識手段は、言語モデルを用いて音声を言語的な特徴に基づいて認識する処理を実行する。この音声認識処理により、予め登録された語彙だけでなく、多様な言い回しの発話が認識される。ここで、「言語モデル」は、例えば、認識対象語彙である単語及び単語列の出現確率等に基づいた統計的言語モデルである。また、第2の音声認識手段は、辞書を用いて音声を認識対象語彙と比較して認識する。この音声認識処理により、使用者の発話に予め登録された語彙が含まれている場合に、該発話が精度良く認識される。これらの種類の異なる音声認識処理のいずれをも用いて最終的な認識結果を決定することで、様々な語彙や言い回しを精度良く認識可能となる。
このとき、状態遷移検知手段により制御処理の状態の遷移が検知される。制御処理の状態とは、例えば機器の動作や応答の状況等であり、これらの状態の遷移には使用者との対話の遷移状態が反映されている。この検知結果に基づいて第1及び第2の重みを決定することにより、該第1及び第2の重みが対話の遷移状態に応じた適切なものとなる。したがって、当該第1及び第2の重みを用いて最終的な認識結果を決定することにより、対話の遷移状態に応じて、蓋然性の高い入力音声を様々な語彙や言い回しに適切に対応して高い認識率で認識することができると共に、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも適切に対応して認識することができる。
以上により、本発明の音声認識装置によれば、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
本発明の音声認識装置においては、前記辞書と異なる第2の辞書を用いて、入力された音声を該第2の辞書に登録された認識対象語彙と比較して認識する処理を実行する第3の音声認識手段をさらに備え、前記重み決定手段は、前記状態遷移検知手段による検知結果に基づいて、前記第3の音声認識手段による音声認識処理に対する第3の重みを決定し、前記認識結果決定手段は、前記第1、第2及び第3の音声認識手段による音声認識処理と、前記重み決定手段により決定された第1、第2及び第3の重みとを用いて、最終的な認識結果を決定することが好ましい。
この場合、例えば対話の遷移状態に応じて使用される度合が異なる辞書及び第2の辞書について、当該辞書を用いた音声認識処理と第2の辞書を用いた音声認識処理とで異なる重みを用いて最終的な認識結果を決定可能であるから、対話の遷移状態をより詳細に反映して発話を認識することができる。
また、前記第1の音声認識手段は、前記音声を認識する処理を実行した結果を第1の音声候補群として各音声候補のスコアと共に出力し、前記第2の音声認識手段は、前記音声を認識する処理を実行した結果を第2の音声候補群として各音声候補のスコアと共に出力し、前記認識結果決定手段は、前記第1の音声候補群の各音声候補のスコアに前記第1の重みを乗じた値と、前記第2の音声候補群の各音声候補のスコアに前記第2の重みを乗じた値とに基づいて、該第1及び第2の音声候補群から、前記最終的な認識結果としての音声候補群を決定することが好ましい。
前記第2の辞書を用いる前記第3の音声認識手段を備える場合には、前記第1の音声認識手段は、前記音声を認識する処理を実行した結果を第1の音声候補群として各音声候補のスコアと共に出力し、前記第2の音声認識手段は、前記音声を認識する処理を実行した結果を第2の音声候補群として各音声候補のスコアと共に出力し、前記第3の音声認識手段は、前記音声を認識する処理を実行した結果を第3の音声候補群として各音声候補のスコアと共に出力し、前記認識結果決定手段は、前記第1の音声候補群の各音声候補のスコアに前記第1の重みを乗じた値と、前記第2の音声候補群の各音声候補のスコアに前記第2の重みを乗じた値と、前記第3の音声候補群の各音声候補のスコアに前記第3の重みを乗じた値とに基づいて、該第1、第2及び第3の音声候補群から、前記最終的な認識結果としての音声候補群を決定することが好ましい。
これらの場合、入力音声自体の特徴から算出されるスコアに、対話の遷移状態を反映した重みを乗じた値を用いて、最終的な認識結果としての音声候補群が決定される。ここで、「スコア」とは、音声候補が音響的観点や言語的観点等のさまざまな観点から入力音声に該当するもっともらしさ(尤度、確信度)を表す指数を意味する。このように、入力音声の特徴と対話の状況とのいずれもを考慮して最終的な音声候補群が適切に決定されるので、使用者の発話に該当する音声候補が最終的な音声候補群に含まれる可能性が高くなり、使用者の発話が精度良く認識される。
或いは、前記第2の辞書を用いる前記第3の音声認識手段を備える場合には、前記辞書は、前記制御対象の制御内容を確認する音声入力に応じた語彙を含み、前記第2の辞書は、前記制御対象の制御内容に関する特定の名称を含む音声入力に応じた語彙を含むことが好ましい。
この場合、制御対象の制御内容を確認する音声入力は、例えば、使用者の発話の認識結果に基づいて音声認識装置により決定された制御対象の制御内容について、使用者に対して確認を促す応答が出力された際に、当該応答に対して使用者が肯定又は否定等を指示する音声入力等である。また、制御対象の制御内容に関する特定の名称を含む音声入力は、例えば、使用者の発話の認識結果に基づいて制御対象の制御内容を音声認識装置で決定するために、使用者に対して制御内容に関する詳細な情報の入力を促す応答が出力された際に、当該応答に対して使用者が地名等の固有名詞等を入力して制御内容を詳細に指示する音声入力等である。これらの音声入力に応じた語彙は、それぞれ、対話の遷移状態に応じて使用される度合が異なるので、これらの語彙が含まれる辞書毎に異なる重みを用いて最終的な認識結果を決定することにより、対話の遷移状態をより詳細に反映して発話を精度良く認識することができる。
前記重み決定手段は、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には、前記第2の重みの値を当該関連する度合に応じた所定値に決定すると共に、前記第1の重みの値を0より大きく且つ該第2の重みの値よりも小さい所定値に決定し、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連しない場合には、前記第2の重みの値を0に決定すると共に、前記第1の重みの値を0より大きい所定値に決定することが好ましい。
或いは、前記第2の辞書を用いる前記第3の音声認識手段を備える場合には、前記重み決定手段は、前記第2の重みの値を、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該辞書の認識対象語彙が該検知結果に関連しない場合には0に決定し、前記第3の重みの値を、前記第2の辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該第2の辞書の認識対象語彙が該検知結果に関連しない場合には0に決定すると共に、前記状態遷移検知手段による検知結果に関連する語彙を含む辞書が少なくとも1つある場合には、前記第1の重みの値を、0より大きく且つ当該語彙を含む辞書を用いた音声認識手段の音声認識処理に対する重みの値よりも小さい所定値に決定し、該検知結果に関連する語彙を含む辞書がない場合には、0より大きい所定値に決定することが好ましい。
これらの場合、辞書や第2の辞書の認識対象語彙が状態遷移検知手段による検知結果に関連するときには、当該語彙を含む辞書を用いた音声認識処理に対する重みの値を当該関連する度合に応じた所定値に決定するので、対話の遷移状態に応じて、蓋然性の高い入力音声を高い認識率で認識することができる。また、このとき、言語モデルを用いた音声認識処理に対する第1の重みを、0より大きく且つ当該語彙を含む辞書を用いた音声認識処理に対する重みの値よりも小さい所定値に決定するので、辞書や第2の辞書を用いた音声認識処理による蓋然性の高い入力音声に対する高い認識率を維持しつつ、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも、言語モデルを用いた音声認識処理により適切に対応して認識することができる。さらに、状態遷移検知手段による検知結果に関連する語彙を含む辞書がない場合には、多様な語彙や言い回しを含む音声入力が想定されるため、第1の重みの値を0より大きい所定値に決定することで、言語モデルを用いた音声認識処理により適切に対応して認識することができる。よって、上述のように重みを決定することにより、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
前記制御処理は、音声の入力を使用者に促すように該使用者へ出力される応答を生成する処理を含み、前記状態遷移検知手段により検知される状態の遷移は、逐次出力される前記使用者への応答の変化を含むことが好ましい。
すなわち、制御処理として、例えば、使用者から入力された発話から対象を制御するための情報が十分に取得されない場合に必要な情報の入力を使用者に促すような応答や、決定された制御対象の制御内容についての確認を促す応答や、機器制御の結果を提示して次の制御の指示を促す応答等といった、状況に応じた様々な応答が行われる。そして、これらの応答が出力されている際に、使用者からの音声入力は当該応答に関連した語彙や言い回しである可能性が高い。よって、逐次出力される応答の変化を状態遷移検知手段により検知することで、当該検知結果から適切に対話の遷移状態が把握される。
次に、本発明の音声認識方法は、入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識方法であって、前記制御処理の状態の遷移を検知する状態遷移検知ステップと、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第1の音声認識ステップと、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第2の音声認識ステップと、
前記状態遷移検知ステップによる検知結果に基づいて、前記第1の音声認識ステップでの処理に対する第1の重みと、前記第2の音声認識ステップでの処理に対する第2の重みとを、それぞれ決定する重み決定ステップと、前記第1及び第2の音声認識ステップでの処理と、前記重み決定ステップにより決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定ステップとを備えたことを特徴とする。
本発明の音声認識方法によれば、本発明の音声認識装置に関して説明したように、言語モデル又は辞書を用いた種類の異なる音声認識処理と、状態遷移検知手段による検知結果に基づいて決定された重みとを用いて、最終的な認識結果を決定する。よって、対話の遷移状態に応じて、蓋然性の高い入力音声を様々な語彙や言い回しに適切に対応して高い認識率で認識することができると共に、例えば突然話題が変更された場合等の蓋然性の低い入力音声にも適切に対応して認識することができる。したがって、この音声認識方法によれば、使用者との対話の遷移状態を適切に反映して、使用者の発話を精度良く認識することができる。
次に、本発明の音声認識プログラムは、入力された音声についての認識結果に基づいて制御対象に対する制御処理をコンピュータに実行させる音声認識プログラムであって、前記制御処理の状態の遷移を検知する状態遷移検知処理と、認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する第1の音声認識処理と、認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する第2の音声認識処理と、前記状態遷移検知処理の検知結果に基づいて、前記第1の音声認識処理に対する第1の重みと、前記第2の音声認識処理に対する第2の重みとを、それぞれ決定する重み決定処理と、前記第1及び第2の音声認識処理と、前記重み決定処理により決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定処理とを前記コンピュータに実行させる機能を有することを特徴とする。
この場合、本発明の音声認識装置に関して説明した効果を奏し得る処理をコンピュータに実行させることができる。
図1に示すように、本発明の実施形態の音声認識装置は音声対話ユニット1から成り、車両10に搭載されている。この音声対話ユニット1には、車両10の運転者から発話が入力されるマイク2が接続されると共に、車両10の状態を検出する車両状態検出部3が接続されている。また、音声対話ユニット1には、運転者への応答を出力するスピーカ4と、運転者への表示を行うディスプレイ5とが接続されている。さらに、音声対話ユニット1には、運転者が音声等で操作可能な複数の機器6a〜6cが接続されている。
マイク2は、車両10の運転者の音声が入力されるものであり、車内の所定位置に設置されている。マイク2は、例えば、トークスイッチにより音声の入力開始が指令されると、入力される音声を運転者の発話として取得する。トークスイッチは、車両10の運転者により操作されるON・OFFスイッチであり、押下してON操作されることによって音声の入力開始が指令される。
車両状態検出部3は、車両10の状態を検出するセンサ等である。車両10の状態とは、例えば、車両10の速度や加減速等の走行状態、車両10の位置や走行道路等の走行環境情報、車両10に装備された機器(ワイパー、ウィンカー、ナビゲーションシステム、オーディオ等)の動作状態、或いは車両10の車内温度等の車内の状態をいう。具体的には、例えば、車両10の走行状態を検出するセンサとして、車両10の走行速度(車速)を検出する車速センサ、車両10のヨーレートを検出するヨーレートセンサ、車両10のブレーキ操作(ブレーキペダルが操作されているか否か)を検出するブレーキセンサ等が挙げられる。さらに、車両10の状態として、車両10の運転者の状態(運転者の手掌部の発汗、運転負荷等)を検出してもよい。
スピーカ4は、車両10の運転者への応答(音声ガイド)を出力するものである。なお、このスピーカ4としては、後述のオーディオ6aが有するスピーカを用いることができる。
ディスプレイ5は、例えば、車両10のフロントウィンドウに画像等の情報を表示するHUD(ヘッドアップディスプレイ)、車両10の車速などの走行状態を表示するメータに一体的に設けられたディスプレイ、或いは後述のナビゲーションシステム6bに備えられたディスプレイ等である。なお、ナビゲーションシステム6bのディスプレイは、タッチスイッチが組み込まれたタッチパネルとなっている。
機器6a〜6cは、具体的には、車両10に装備されたオーディオ、ナビゲーションシステム、エアコンディショナである。各機器6a〜6cには、制御可能な構成要素(デバイス,コンテンツ等)、機能、動作等が予め定められている。
例えば、オーディオ6aには、デバイスとして「CD」「MP3」「ラジオ」「スピーカ」等がある。また、オーディオ6aの機能として「音量」等がある。また、オーディオ6aの動作として「変更」「オン」「オフ」等がある。さらに、「CD」「MP3」の動作として、「再生」「停止」等がある。また、「ラジオ」の機能として「選局」等がある。また、「音量」の動作として「上げる」「下げる」等がある。
また、ナビゲーションシステム6bには、コンテンツとして「画面表示」「経路誘導」「POI検索」等がある。さらに、「画面表示」の動作として「変更」「拡大」「縮小」等がある。なお、「経路誘導」は音声ガイド等により目的地へ誘導する機能であり、「POI検索」は、例えばレストラン、ホテル等の目的地を検索する機能である。
また、エアコンディショナ6cには、その機能として「風量」「設定温度」等がある。また、エアコンディショナ6cの動作として「オン」「オフ」等がある。さらに、「風量」「設定温度」の動作として「変更」「上げる」「下げる」等がある。
これらの機器6a〜6cは、対象を制御するための情報(機器や機能の種別、動作の内容等)を指定することにより制御される。制御対象となる各機器6a〜6cのデバイス、コンテンツ、機能は複数のドメインに分類されている。「ドメイン」とは認識対象のカテゴリに応じた分類を意味し、具体的には、制御対象である機器やその機能を表す。ドメインは、例えば「オーディオ」のドメインが、その下位で「CD」「ラジオ」のドメインに分類されるといったように、階層的に指定することができる。
音声対話ユニット1は、詳細の図示は省略するが、A/D変換回路、マイクロコンピュータ(CPU、RAM、ROM)等を含む電子回路により構成され、マイク2の出力(アナログ信号)がA/D変換回路を介してデジタル信号に変換されて入力される。そして、音声対話ユニット1は、入力されたデータに基づいて、運転者から入力された発話を認識する処理、この認識結果に基づいて、スピーカ4やディスプレイ5を介して運転者との対話や運転者への情報提示を行う処理、機器6a〜6cを制御する処理等を実行する。これらの処理は、音声対話ユニット1のメモリに予め実装されたプログラムを音声対話ユニット1により実行することにより実現される。このプログラムは、本発明の音声認識プログラムを含んでいる。なお、当該プログラムはCD−ROM等の記録媒体を介してメモリに格納されてもよい。或いは、当該プログラムは外部のサーバからネットワークや人工衛星を介して配信または放送され、車両10に搭載された通信機器により受信された上でメモリに格納されてもよい。
より詳しくは、音声対話ユニット1は、上記プログラムにより実現される機能として、入力された音声を音響モデル15、言語モデル16、構文モデル17、辞書20、及び固有名詞辞書21を用いて認識して発話の意味を理解する音声認識部11と、音声認識部11による認識結果に基づいてシナリオデータベース18を用いてシナリオを決定し、運転者への応答や機器の制御等を行うシナリオ制御部13と、運転者に出力する音声による応答を音素モデル21を用いて合成する音声合成部14とを備えている。
音声認識部11は、その機能として、図2に示すように、言語モデル16、構文モデル17を用いて音声を言語的な特徴に基づいて認識する処理を実行する第1の音声認識手段31と、音声を辞書20に格納された認識対象語彙と比較して認識する処理を実行する第2の音声認識手段32と、音声を固有名詞辞書21に格納された認識対象語彙と比較して認識する処理を実行する第3の音声認識手段33とを備えている。また、音声認識部11は、シナリオ制御部13の機能である状態遷移検知手段34の検知結果に基づいて第1〜第3の音声認識手段31〜33の処理結果に対する第1〜第3の重み係数α,β,γをそれぞれ決定する重み決定手段35と、第1〜第3の音声認識手段31〜33による処理結果及び第1〜第3の重み係数α,β,γを用いて、最終的な認識結果を決定する認識結果決定手段36とを備えている。
さらに、第1の音声認識手段31は、入力された音声を言語モデル16を用いて認識しテキストとして出力するテキスト変換手段37と、認識されたテキストから構文モデル17を用いて発話の意味を理解する構文解析手段38とを備えている。ここで、「テキスト」とは、単語の列で表現された、所定の意味を有する有意構文である。
なお、図1に示された状態遷移検知手段34は、シナリオ制御部13で行われる運転者への応答や機器の制御等の制御処理の状態の遷移を検知する。
また、図1において、音響モデル15、言語モデル16、構文モデル17、シナリオデータベース18、音素モデル19、辞書20、固有名詞辞書21は、それぞれ、CD−ROM、DVD、HDD等の記録媒体に格納されるデータベースである。
音声認識部11は、マイク2に入力された発話の音声を示す波形データを周波数分析して特徴ベクトルを抽出する。そして、音声認識部11は、抽出された特徴ベクトルに基づいて、入力された音声を認識して発話の意味を理解する「音声認識処理」を実行する。この音声認識処理は、次に説明するような確率統計的な手法を用いて、入力音声の音響的な特徴と言語的な特徴とを総合的に判断することにより実行される。
すなわち、音声認識部11は、まず、音響モデル15を用いて、抽出された特徴ベクトルに応じた発音データの尤度(以下、「音響スコア」という。)を評価し、当該音響スコアに基づいて発音データを決定する。
そして、音声認識部11は、「第1の音声認識処理」として、入力された音声を言語モデル16を用いて認識しテキストとして出力する「テキスト変換処理」と、認識されたテキストから構文モデル17を用いて発話の意味を理解する「構文解析処理」とを実行する。まず、音声認識部11は、テキスト変換処理で、言語モデル16を用いて、決定された発音データに応じた単語列で表現されたテキストの尤度(以下、「言語スコア」という。)を評価し、当該言語スコアに基づいてテキストを決定する。さらに、音声認識部11は、決定された全てのテキストについて、当該テキストの音響スコアと言語スコアとに基づいてテキスト変換の確信度(以下、「テキスト変換スコア」という。)を算出する。そして、音声認識部11は、このテキスト変換スコアが所定の条件を満たす単語列で表現されたテキストを、認識されたテキスト(Recognized Text)として決定する。
さらに、音声認識部11は、構文解析処理で、次に説明するように確率統計的な手法を用いて、認識されたテキストにおける単語間の関係(構文)を解析する。すなわち、音声認識部11は、構文モデル17を用いて、認識されたテキストの尤度(以下、「構文解析スコア」という。)を評価し、当該構文解析スコアに基づいて、当該認識されたテキストの意味に対応するクラスに分類されたテキストを決定する。そして、音声認識部11は、構文解析スコアが所定の条件を満たすクラス分類されたテキスト(Categorized Text)を、第1の音声候補群として、そのスコア(構文解析スコア)と共に出力する。
ここで、「音声候補」は、入力音声を認識して発話の意味を理解することにより得られる、制御対象や制御内容を指すコマンドの候補を示している。また、「クラス」は、認識対象のカテゴリに応じた分類に相当し、具体的には、上述のドメインやタスクに相当するものである。例えば、認識されたテキストが「設定変更」「設定変更する」「設定を変える」「セッティング変更」である場合には、いずれも、クラス分類されたテキストは{setup}となる。
また、音声認識部11は、「第2の音声認識処理」として、辞書20を用いて入力音声を認識して第2の音声候補群を決定する。具体的には、決定された発音データと辞書20に登録された語彙の発音データとの類似の度合に基づいて語彙を認識し、当該語彙の意味に対応するクラス分類されたテキストを決定する。さらに、音声認識部11は、認識された語彙の音響スコアと類似の度合とに基づいて、当該語彙の意味に対応するクラス分類されたテキストのスコアを算出する。そして、音声認識部11は、算出されたスコアが所定の条件を満たすクラス分類されたテキストを、第2の音声候補群としてそのスコアと共に出力する。
また、音声認識部11は、「第3の音声認識処理」として、第2の音声認識処理と同様に、固有名詞辞書21を用いて入力音声を認識してクラス分類されたテキストを決定し、第3の音声候補群としてそのスコアと共に出力する。
そして、音声認識部11は、第1〜第3の音声候補群から、各音声候補のスコアと第1〜第3の重み係数とを用いて、最終的な認識結果(クラス分類されたテキスト)としての音声候補群を決定する。
シナリオ制御部13は、音声認識部11により決定される最終的な音声候補群と、車両状態検出部3から取得される車両10の状態とに基づいて、シナリオデータベース18に記録されたデータを用いて、運転者に対する応答出力や機器制御のシナリオを決定する。シナリオデータベース18には、応答出力や機器制御のための複数のシナリオが、音声候補や車両状態の条件と共に予め記録されている。そして、シナリオ制御部13は、決定されたシナリオに従って、音声や画像表示による応答を制御する処理や、機器を制御する処理を実行する。具体的には、シナリオ制御部13は、例えば、音声による応答では、出力する応答の内容(運転者の次の発話を促すための応答文や、操作の完了等を使用者に報知するための応答文)や、応答を出力する際の速度や音量を決定する。
音声合成部14は、シナリオ制御部13で決定された応答文に応じて、音素モデル19を用いて音声を合成して、音声を示す波形データとして出力する。音声は、例えばTTS(Text to Speech)等の処理を用いて合成される。具体的には、音声合成部14は、シナリオ制御部13で決定された応答文のテキストを音声出力に適した表現に正規化し、この正規化したテキストの各単語を発音データに変換する。そして、音声合成部14は、音素モデル19を用いて発音データから特徴ベクトルを決定し、この特徴ベクトルにフィルタ処理を施して波形データに変換する。この波形データは、スピーカ4から音声として出力される。
音響モデル(Acoustic Model)15には、特徴ベクトルと発音データとの確率的な対応を示すデータが記録されている。詳細には、音響モデル15には、認識単位(音素、形態素、単語等)毎に用意された複数のHMM(Hidden Markov Model、隠れマルコフモデル)がデータとして記録されている。HMMは、音声を定常信号源(状態)の連結で表し、時系列をある状態から次の状態への遷移確率で表現する統計的信号源モデルである。HMMにより、時系列で変動する音声の音響的な特徴を簡易な確率モデルで表現することができる。HMMの遷移確率等のパラメータは、対応する学習用の音声データを与えて学習させることにより予め決定される。また、音素モデル19にも、発音データから特徴ベクトルを決定するための、音響モデル15と同様のHMMが記録されている。
言語モデル(Language Model)16には、認識対象である単語の出現確率や接続確率を示すデータが、この単語の発音データ及びテキストと共に記録されている。認識対象である単語とは、対象を制御するための発話で使用される可能性のある単語として予め定められるものである。単語の出現確率や接続確率等のデータは、大量の学習テキストコーパスを解析することにより統計的に作成される。また、単語の出現確率は、例えば、学習テキストコーパスにおけるその単語の出現頻度等に基づいて算出される。
この言語モデル16には、例えば、特定のN個の単語が連続して出現する確率により表現されるNグラム(N-gram)の言語モデルが用いられる。本実施形態では、言語モデル16には、入力された発話に含まれる単語数に応じたNグラムが用いられる。具体的には、言語モデル16では、Nの値が発音データに含まれる単語数以下のNグラムが用いられる。例えば発音データに含まれる単語数が2である場合、1単語の出現確率で表現されるユニグラム(Uni-gram,N=1)、及び2つの単語の列の生起確率(先行する1単語についての条件付き出現確率)で表現されるバイグラム(Bi-gram,N=2)が用いられる。
さらに、言語モデル16では、Nの値を所定の上限値に制限してNグラムを用いることもできる。所定の上限値としては、例えば、予め定められた所定値(例えばN=2)や、入力された発話に対する音声認識処理の処理時間が所定時間以内になるように逐次設定される値等を用いることができる。例えばN=2を上限値としてNグラムを用いる場合、発音データに含まれる単語数が2より大きいときにも、ユニグラム及びバイグラムのみが用いられる。これにより、音声認識処理の演算コストが過大になることを防止して、運転者の発話に対して適切な応答時間で応答を出力することができる。
構文モデル(Parser Model)17には、認識対象である単語の出現確率や接続確率を示すデータが、この単語のテキスト及びクラスと共に記録されている。この構文モデル17には、例えば、言語モデル16と同様にNグラムの言語モデルが用いられる。本実施形態では、具体的には、構文モデル17では、N=3を上限値として、Nの値が認識されたテキストに含まれる単語数以下のNグラムが用いられる。すなわち、構文モデル17では、ユニグラム、バイグラム、及び3つの単語の列の生起確率(先行する2単語についての条件付き出現確率)で表現されるトライグラム(Tri-gram,N=3)が用いられる。なお、上限値は3以外でもよく、任意に設定可能である。また、上限値に制限せずに、Nの値が認識されたテキストに含まれる単語数以下のNグラムを用いるものとしてもよい。
図3に示すように、言語モデル16と構文モデル17とは、それぞれ、ドメインの種類毎に分類されて作成されている。図3の例では、ドメインの種類は、{Audio,Climate,Passenger Climate,POI,Ambiguous,Navigation,Clock,Help}の8種類である。{Audio}は制御対象がオーディオ6aであること、{Climate}は制御対象がエアコンディショナ6cであること、{Passenger Climate}は制御対象が助手席のエアコンディショナ6cであること、{POI}は制御対象がナビゲーションシステム6bのPOI検索機能であること、{Navigation}は制御対象がナビゲーションシステム6bの経路誘導や地図操作等の機能であること、{Clock}は制御対象が時計機能であること、{Help}は制御対象が機器6a〜6cや音声認識装置の操作方法を知るためのヘルプ機能であること、{Ambiguous}は制御対象が不明であることを、それぞれ示している。
再び図1において、辞書20には、認識対象語彙として、一般的な名詞、動詞、形容詞等の単語と、当該単語を含む単語列の発音データ及びテキストが登録されている。また、固有名詞辞書21には、認識対象語彙として、人名、地名、店名等の特定の名称(固有名詞等)と、当該名称を含む単語列の発音データ及びテキストが登録されている。これらの辞書20及び固有名詞辞書21には、それぞれ、図4に示すように認識対象語彙が複数のカテゴリに分類されて格納されている。格納されている語彙にはタグが付されており、当該タグの内容は、辞書20、固有名詞辞書21に登録された各語彙のクラスを示す。
例えば、辞書20のうち{Set destination}に分類された部分には、<目的地>というタグが付けられた語彙として「そこにいく」が登録され、「そこにいく」という語彙に関連する語彙として「目的地」が登録されている。また、「目的地」という語彙に関連するタグとして<セット><に設定>が登録されている。また、<経由地>というタグが付けられた語彙として「そこに立ち寄る」が登録され、「そこに立ち寄る」に関連する語彙として「ちょっとよる」「途中たちよる」が登録されている。
同様に、辞書20のうち{Affirmation}に分類された部分には、<Yes>というタグが付けられた語彙として「Yes」が登録され、「Yes」に関連する語彙として「はい」「そうして」「ん」が登録されている。また、<No>というタグが付けられた語彙として「No」が登録され、「No」に関連する語彙として「ちがう」「まちがい」「いや」が登録されている。
また、例えば、固有名詞辞書21のうち{POI}に分類された部分には、<POI>というタグが付けられた語彙として「コンビニ」が登録され、「コンビニ」に関連する語彙として「スーパー」「ディスカウントショップ」「レストラン」「ラーメン」が登録されている。
同様に、固有名詞辞書21のうち{コンビニ}に分類された部分には、<コンビニ>というタグが付けられた語彙として「セブン」が登録され、「セブン」に関連する語彙として「セブンマート」「ローストップ」…「トップスパー」が登録されている。さらに、<コンビニ>というタグが付けられた語彙と他の語彙(「に行きたい」「探して」)とを連結した語彙「<コンビニ>に行きたい」「<コンビニ>探して」が登録されている。
次に、本実施形態の音声認識装置の作動(音声対話処理)について説明する。図5に示すように、まず、STEP1で、車両10の運転者から、対象を制御するための発話がマイク2に入力される。具体的には、運転者がトークスイッチをON操作して発話の入力開始を指令し、マイク2に音声を入力する。
次に、STEP2で、音声対話ユニット1は、運転者への応答や機器の制御等の制御処理の状態の遷移を検知する。次に、STEP3で、音声対話ユニット1は、STEP2の検知結果に基づいて、第1〜第3の音声認識処理に対する第1〜第3の重み係数α,β,γを決定する。このとき、音声対話ユニット1は、辞書20,固有名詞辞書21のうちのSTEP2の検知結果に関連する語彙が含まれるカテゴリの部分のデータを有効にする。
ここで、図6を用いてSTEP2〜3の処理について説明する。図6(a)〜(c)には、決定される第1〜第3の重み係数α,β,γの相対的な大きさが示されている。
図6(a)の例は、STEP2での検知結果が、運転者からの音声入力に対して待機している「待機状態」となる場合である。具体的には、運転者から対象を制御するための最初の発話が入力された状態や、運転者からの操作に応じた処理が完了して対話が終了した状態等が該当する。この場合、全ての語彙と言い回しについて入力される可能性があるので、辞書20,固有名詞辞書21に関連する特定のカテゴリの語彙はない。よって、図6(a)に示すように、第1の重み係数αは0より大きい所定値に決定され、第2,第3の重み係数β,γはβ=γ=0に決定される。これにより、後述のSTEP5〜6(第1の音声認識処理)による第1の音声候補群から、多様な語彙や言い回しに対応して発話が適切に認識される。
また、図6(b)の例は、STEP2での検知結果が、所定の制御対象の制御内容等についての確認がなされる「確認状態」となる場合である。具体的には、前回までの発話の認識結果に基づいて決定された制御対象の制御内容について、運転者の確認を促す確認応答(Yes/Noで返答可能な質問文)が出力されている状態等が該当する。この場合、入力音声は確認応答に対する返答である可能性が高い。よって、辞書20のうち制御対象の制御内容を確認する音声入力に応じた語彙({Affirmation}に分類された語彙)に関連する度合が高い。一方、固有名詞辞書21には関連する語彙がない。よって、図6(b)に示すように、第1の重み係数αは比較的低い所定値に決定され、第2の重み係数βは比較的高い所定値に決定され、第3の重み係数γは0に決定される。これにより、蓋然性の高い確認応答への返答が入力された場合には、後述のSTEP7(第2の音声認識処理)による第2の音声候補群から高い認識率で認識されると共に、蓋然性の低い他の発話が入力された場合にも、後述のSTEP5〜6(第1の音声認識処理)による第1の音声候補群から適切に認識される。
また、図6(c)の例は、STEP2での検知結果が、所定の制御対象について詳細な制御内容を問い合わせる「問い合わせ状態」となる場合である。具体的には、所定の制御対象の制御内容に関する詳細な情報の入力を促す応答や、複数の選択候補を提示して選択を促す応答が出力されている状態等が該当する。この場合、入力音声は所定の制御対象の制御内容を詳細に指示する返答であるか、或いは選択候補のうちいずれか又は当該選択候補と同じカテゴリに分類された他の候補を選択する返答である可能性が高い。よって、辞書20のうち所定の制御対象の制御内容を指示する音声入力に応じた語彙に関連する度合と、固有名詞辞書21のうち選択候補と同じカテゴリに分類された特定の名称を含む語彙に関連する度合とが高い。よって、図6(c)に示すように、第1の重み係数αは比較的低い所定値に決定され、第2,第3の重み係数β,γは関連する度合に応じた比較的高い所定値に決定される。これにより、蓋然性の高い上記出力されている応答への返答が入力された場合には、後述のSTEP7,8(第2,第3の音声認識処理)による第2,第3の音声候補群から高い認識率で認識されると共に、蓋然性の低い他の発話が入力された場合にも、後述のSTEP5〜6(第1の音声認識処理)による第1の音声候補群から適切に認識される。
次に、図5のSTEP4で、音声対話ユニット1は、後述の第1〜第3の音声認識処理(STEP5〜8)の前処理として、入力された音声から発音データを決定する。まず、音声対話ユニット1は、マイク2に入力された音声をA/D変換して音声を示す波形データを取得する。次に、音声対話ユニット1は、音声を示す波形データを周波数分析して特徴ベクトルを抽出する。これにより、音声を示す波形データは、例えば短時間スペクトル分析の手法によってフィルタ処理を施され、特徴ベクトルの時系列に変換される。この特徴ベクトルは、各時刻における音声スペクトルの特微量を抽出したもので、一般に10次元〜100次元の範囲の次数(例えば39次元)であり、線形予測分析メルケプストラム(Linear Predictive Coding Mel Cepstrum)係数等が用いられる。
次に、音声対話ユニット1は、抽出された特徴ベクトルに対し、音響モデル15に記録された複数のHMMのそれぞれについて、当該特徴ベクトルの尤度(音響スコア)を評価する。そして、音声対話ユニット1は、当該複数のHMMのうちの音響スコアの高いHMMに対応する発音データを決定する。これにより、例えば「千歳」という発話が入力された場合、その音声の波形データから、「ti-to-se」という発音データがその音響スコアと共に得られる。このとき、例えば「マークセット」という発話が入力された場合、「ma-a-ku-se-t-to」という発音データと共に、「ma-a-ku-ri-su-to」のような音響的に類似の度合が高い発音データがそれぞれ音響スコアと共に得られる。
次に、STEP5〜6で、音声対話ユニット1は、言語モデル16、構文モデル17を用いて発音データから第1の音声候補群を決定する第1の音声認識処理を実行する。
まず、STEP5で、音声対話ユニット1は、言語モデル16全体のデータを用いて、発音データからテキストを決定するテキスト変換処理を実行する。このとき、複数の発音データが決定されている場合には、各発音データについて、それぞれテキストが決定される。
具体的には、まず、音声対話ユニット1は、決定された発音データと言語モデル16に記録された発音データとを比較して、類似の度合の高い単語を抽出する。次に、音声対話ユニット1は、抽出された単語の言語スコアを、発音データに含まれる単語数に応じたNグラムを用いて算出する。そして、音声対話ユニット1は、発音データにおける各単語について、算出した言語スコアが所定の条件(例えば所定値以上)を満たすテキストを決定する。例えば、図7に示すように、入力された発話が「Set the station ninety nine point three FM.」である場合に、この発話から決定された発音データに応じたテキストとして、「set the station ninety nine point three FM」が決定される。
このとき、ユ二グラムでは、「set」「the」…「FM」のそれぞれの出現確率a1〜a8が与えられる。また、バイグラムでは、「set the」「the station」…「three FM」のそれぞれの2単語の生起確率b1〜b7が与えられる。同様に、N=3〜8について、N単語の生起確率c1〜c6,d1〜d5,e1〜e4,f1〜f3,g1〜g2,h1が与えられる。そして、例えばテキスト「ninety」の言語スコアは、発音データに含まれる単語「ninety」と当該単語に先行する単語とを合わせた単語数4に応じて、N=1〜4のNグラムから得られるa4,b3,c2,d1に基づいて算出される。
次に、音声対話ユニット1は、決定された全てのテキストについて、音響スコアと言語スコアとの重み付き和を、テキスト変換スコアとして算出する。なお、重み係数としては、例えば実験的に予め定められた値が用いられる。次に、音声対話ユニット1は、算出したテキスト変換スコアが所定の条件を満たす単語列で表現されるテキストを、認識されたテキストとして決定する。所定の条件は、例えば、テキスト変換スコアが最も高いテキスト、テキスト変換スコアが上位から所定順位までのテキスト、或いはテキスト変換スコアが所定値以上のテキスト等のように予め定められている。
次に、STEP6で、音声対話ユニット1は、認識されたテキストから発話の意味を理解する構文解析処理を実行する。まず、音声対話ユニット1は、構文モデル17を用いて、認識されたテキストからクラス分類されたテキストを決定する。
具体的には、まず、音声対話ユニット1は、構文モデル17全体のデータを用いて、認識されたテキストに含まれる単語について、それぞれ、1単語における各ドメインの尤度を算出する。次に、音声対話ユニット1は、当該尤度に基づいて1単語におけるドメインをそれぞれ決定する。次に、音声対話ユニット1は、構文モデル17のうち決定された種類のドメインに分類された部分のデータを用いて、1単語における各クラスの組(クラス分類されたテキスト)の尤度(単語スコア)を算出する。そして、音声対話ユニット1は、当該単語スコアに基づいて、1単語におけるクラス分類されたテキストを決定する。
同様に、音声対話ユニット1は、認識されたテキストに含まれる2単語列について、それぞれ、2単語における各ドメインの尤度を算出し、当該尤度に基づいて2単語におけるドメインを決定する。さらに、音声対話ユニット1は、2単語における各クラスの組の尤度(2単語スコア)を算出し、当該2単語スコアに基づいて2単語におけるクラスの組(クラス分類されたテキスト)を決定する。また、同様に、音声対話ユニット1は、認識されたテキストに含まれる3単語列について、それぞれ、3単語における各ドメインの尤度を算出し、当該尤度に基づいて3単語におけるドメインを決定する。さらに、音声対話ユニット1は、3単語における各クラスの組の尤度(3単語スコア)を算出し、当該3単語スコアに基づいて3単語におけるクラスの組(クラス分類されたテキスト)を決定する。
次に、音声対話ユニット1は、1単語、2単語、3単語で決定された各クラスの組と当該クラスの組のスコア(1単語スコア、2単語スコア、3単語スコア)とに基づいて、認識されたテキスト全体における各クラスの組の尤度(構文解析スコア)を算出する。そして、音声対話ユニット1は、当該構文解析スコアに基づいて、認識されたテキスト全体におけるクラスの組(クラス分類されたテキスト)を決定する。
次に、音声対話ユニット1は、算出された構文解析スコアが所定の条件を満たすようなクラス分類されたテキスト(Categorized Text)を、第1の音声候補群として決定する。所定の条件は、例えば、構文解析スコアが最も高いテキスト、構文解析スコアが上位から所定順位までのテキスト、或いは構文解析スコアが所定値以上のテキスト等のように予め定められている。これにより、クラス分類されたテキストが、第1の音声候補群としてスコアと共に得られる。例えば、上述のように「AC on floor to defrost」という発話が入力された場合に、第1の音声候補として{Climate_Defrost_Front}が得られる。
このように、入力された発話を、単語毎の確率統計的な言語モデルを用いてテキストとして書き起こす手法(ディクテーション)を用いることで、予め決められた言い回しの発話に限定されない、運転者の自然な発話の認識が可能となる。
ここで、図8に示す例を用いて、構文モデル17を用いてクラス分類されたテキストを決定する処理について説明する。図8の例では、認識されたテキストが「AC on floor to defrost」である。
このとき、構文モデル17全体を用いて、ユニグラムで、「AC」「on」…「defrost」について、それぞれ、1単語における各ドメインの尤度が算出される。そして、当該尤度に基づいて1単語におけるドメインが決定される。例えば、第1位の(尤度の最も高い)ドメインは、「AC」については{Climate}、「on」については{Ambiguous}、「defrost」については{Climate}と決定される。
さらに、構文モデル17のうちの決定されたドメインの種類に分類された部分のデータを用いて、ユニグラムで、「AC」「on」…「defrost」について、1単語における各クラスの組に対する尤度がそれぞれ算出される。そして、当該尤度に基づいて1単語におけるクラスの組が決定される。例えば、「AC」について、第1位の(尤度の最も高い)クラスの組は、{Climate_ACOnOff_On}と決定され、このクラスの組に対する尤度(単語スコア)i1が得られる。同様に、「on」…「defrost」について、クラスの組が決定され、このクラスの組に対する尤度(単語スコア)i2〜i5が得られる。
同様に、バイグラムで、「AC on」「on floor」…「to defrost」について、それぞれ、2単語における各ドメインの尤度が算出され、当該尤度に基づいて2単語におけるドメインが決定される。そして、2単語におけるクラスの組とその尤度(2単語スコア)j1〜j4が決定される。また、同様に、トライグラムで、「AC on floor」「on floor to」「floor to defrost」について、それぞれ、3単語における各ドメインの尤度が算出され、当該尤度に基づいて3単語におけるドメインが決定される。そして、3単語におけるクラスの組とその尤度(3単語スコア)k1〜k3が決定される。
次に、1単語、2単語、3単語で決定された各クラスの組について、例えば、各クラスの組の単語スコアi1〜i5、2単語スコアj1〜j4、3単語スコアk1〜k3の和が、テキスト全体における各クラスの組に対する尤度(構文解析スコア)として算出される。例えば、{Climate_Fan-Vent_Floor}に対する構文解析スコアは、i3+j2+j3+k1+k2となる。また、例えば、{Climate_ACOnOff_On}に対する構文解析スコアは、i1+j1となる。また、例えば、{Climate_Defrost_Front}に対する構文解析スコアは、i5+j4となる。そして、算出された構文解析スコアに基づいて、テキスト全体についてのクラスの組(クラス分類されたテキスト)が決定される。これにより、認識されたテキストから、{Climate_Defrost_Front}{Climate_Fan-Vent_Floor}{Climate_ACOnOff_On}といったクラス分類されたテキストが決定される。
次に、STEP7で、音声対話ユニット1は、辞書20のうちSTEP3で有効にされた部分のデータを用いて、発音データから第2の音声候補群を決定する第2の音声認識処理を実行する。なお、STEP3で決定された第2の重み係数βが0の場合は、このSTEP7の処理は省略される。
具体的には、まず、音声対話ユニット1は、決定された発音データと、辞書20に登録された語彙の発音データとの類似の度合を算出する。そして、登録された複数の語彙のうち、類似の度合が所定の条件を満たす語彙を、認識された語彙として決定する。所定の条件は、例えば発音データが明らかに一致すると考えられる所定値以上等のように予め定められている。
次に、音声対話ユニット1は、認識された語彙、及び当該語彙に付けられたタグの内容に基づいて、クラス分類されたテキストを決定する。このとき、音声対話ユニット1は、認識された語彙の音響スコアと類似の度合とに基づいて、決定されたクラス分類されたテキストの確信度(スコア)を算出する。
次に、音声対話ユニット1は、算出されたスコアが所定の条件を満たすようなクラス分類されたテキストを、第2の音声候補群として決定する。所定の条件は、例えば、スコアが最も高いテキスト、スコアが上位から所定順位までのテキスト、或いはスコアが所定値以上のテキスト等のように予め定められている。これにより、クラス分類されたテキストが、第2の音声候補群としてスコアと共に得られる。このように、辞書20を用いることにより、入力された発話に予め登録された一般的な単語が含まれる場合に、高い認識率で認識することができる。
次に、STEP8で、音声対話ユニット1は、固有名詞辞書21のうちSTEP3で有効にされた部分のデータを用いて、発音データから第3の音声候補群を決定する第3の音声認識処理を実行する。なお、STEP3で決定された第3の重み係数γが0の場合は、このSTEP8の処理は省略される。
具体的には、STEP7と同様に、まず、音声対話ユニット1は、決定された発音データと、固有名詞辞書21に登録された語彙の発音データとの類似の度合を算出する。そして、登録された複数の語彙のうち、類似の度合が所定の条件を満たす語彙を、認識された語彙として決定する。
次に、音声対話ユニット1は、STEP7と同様に、認識された語彙、及び当該語彙に付けられたタグの内容に基づいて、クラス分類されたテキストを決定する。このとき、音声対話ユニット1は、認識された語彙の音響スコアと類似の度合とに基づいて、決定されたクラス分類されたテキストの確信度(スコア)を算出する。
次に、音声対話ユニット1は、STEP7と同様に、算出されたスコアが所定の条件を満たすようなクラス分類されたテキストを、第3の音声候補群として決定する。これにより、クラス分類されたテキストが、第3の音声候補群としてスコアと共に得られる。このように、固有名詞辞書21を用いることにより、入力された発話に予め登録された固有名詞等の特定の名称が含まれる場合に、高い認識率で認識することができる。
次に、STEP9で、音声対話ユニット1は、STEP5〜8でそれぞれ得られた第1〜第3の音声候補群から、STEP3で決定された第1〜第3の重み係数α,β,γを用いて、最終的な認識結果としての音声候補群を決定する。具体的には、まず、音声対話ユニット1は、第1の音声候補群の各音声候補のスコアに第1の重み係数αを乗じた値と、第2の音声候補群の各音声候補のスコアに第2の重み係数βを乗じた値と、第3の音声候補群の各音声候補のスコアに第3の重み係数γを乗じた値とを、それぞれ算出する。そして、算出された値が所定の条件を満たす音声候補を決定する。所定の条件は、例えば、算出された値が最も高い音声候補、算出された値が上位から所定順位までの音声候補、或いは算出された値が所定値以上の音声候補等のように予め定められている。これにより、最終的な認識結果(クラス分類されたテキスト)としての音声候補群が得られる。
次に、STEP10で、音声対話ユニット1は、車両状態検出部3により検出される、車両10の状態(車両10の走行状態、車両10に搭載された機器の状態、車両10の運転者の状態等)の検出値を取得する。
次に、STEP11で、音声対話ユニット1は、STEP9で決定された最終的な音声候補群と、STEP10で検出された車両10の状態とに基づいて、シナリオデータベース18を用いて、運転者への応答や機器の制御を行うためのシナリオを決定する。
まず、音声対話ユニット1は、最終的な音声候補群と車両10の状態とから、対象を制御するための情報を取得する。図9に示すように、音声対話ユニット1には、対象を制御するための情報を格納する複数のフォームが備えられている。各フォームには、必要な情報のクラスに対応した所定数のスロットが設けられている。例えば、ナビゲーションシステム6bを制御するための情報を格納するフォームとして、「Plot a route」「Traffic info.」等が備えられ、エアコンディショナ6cを制御するための情報を格納するフォームとして「Climate control」等が備えられている。また、フォーム「Plot a route」には、4つのスロット「From」「To」「Request」「via」が設けられている。
音声対話ユニット1は、運転者との対話における各回の発話の認識結果から決定された音声候補と車両10の状態とに基づいて、該当するフォームのスロットに値を入力していく。これと共に、各フォームについての確信度(フォームに入力された値の信頼の度合)を算出してフォームに記録する。フォームの確信度は、例えば、各回の発話の認識結果から決定された音声候補のスコアと、各フォームのスロットの埋まり具合とに基づいて算出される。例えば、図9に示すように、「千歳空港まで最短ルートで案内して」という発話が運転者から入力された場合には、フォーム「Plot a route」の3つのスロット「From」「To」「Request」に値「ここ」「千歳空港」「最短」が入力される。また、フォーム「Plot a route」の「Score」に、算出されたフォームの確信度80が記録される。
次に、音声対話ユニット1は、フォームの確信度と、STEP10で検出された車両10の状態とに基づいて、実際の制御処理に用いるフォームを選択する。そして、選択されたフォームに基づいて、シナリオデータベース18に格納されたデータを用いて、シナリオを決定する。図10に示すように、シナリオデータベース18には、例えば運転者へ出力する応答文等が、スロットの埋まり具合やレベル毎に分類されて格納されている。なお、レベルは、例えばフォームの確信度や車両10の状態(車両10の走行状態、運転者の状態等)等に基づいて設定される値である。
例えば、選択されたフォーム内に空きスロット(値が入力されていないスロット)がある場合には、運転者へフォーム内の空きスロットの入力を促すような応答文を出力するシナリオが決定される。このとき、レベルに応じて、すなわちフォームの確信度や車両10の状態を考慮して、運転者の次回の発話を促す適切な応答文が決定される。例えば、運転者の運転負荷に応じて、運転負荷が高いと考えられる状態では、入力を促すスロットの数が少なめに設定された応答文がが決定される。そして、このように決定された応答文の出力により使用者の次の発話を促すことで、効率の良い対話が行われる。
図10に示す例では、フォーム「Plot a route」の第1〜第3のスロット「From」「To」「Request」には値が入力され、第4のスロット「via」には値が入力されていない。また、レベル=2に設定されている。このとき、シナリオデータベース18から応答文「<To>を<Request>設定します」が選択され、「千歳空港を高速優先設定します」という応答文の内容が決定される。
また、例えば、選択されたフォーム内の全てのスロットが全て埋まっている(値が入力されている)場合には、内容を確認するような応答文(例えば各スロットの入力値を運転者に報知して確認を促す応答文)を出力するシナリオが決定される。
次に、STEP12で、音声対話ユニット1は、決定したシナリオに基づいて、機器制御の内容が特定されたか否かを判断する。STEP12の判断結果がNOの場合には、STEP13に進み、音声対話ユニット1は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、次のSTEP14で、生成された応答文(必要な情報の入力を使用者に促すような応答文等)が、スピーカ4から出力される。
次に、STEP1に戻り、2回目の発話が運転者から入力される。以下、STEP12の判断結果がYESとなるまで、上述のSTEP1〜14と同様の処理が繰り返される。
上記STEP12の判断結果がYESの場合(機器制御の内容が特定されている場合)には、STEP15に進み、音声対話ユニット1は、決定されたシナリオに基づいて機器を制御する。このとき、例えば、特定された機器制御の内容等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット1は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、生成された応答文(機器制御の内容等を使用者に報知する応答文等)がスピーカ4から出力される。
次に、STEP16で、音声対話ユニット1は、決定されたシナリオに基づいて、運転者との対話が終了したか否かを判断する。例えば、STEP15の機器制御の結果に関連した次の制御処理の指示や、STEP15の機器制御の結果に対する運転者からの当否確認のために、運転者の次の発話を促す必要がある場合には、対話が終了していないと判断される。STEP16の判断結果がNOの場合には、前述のSTEP13に進み、音声対話ユニット1は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、STEP14で、生成された応答文(機器制御の結果を提示して次の制御の指示を促す応答文等)がスピーカ4から出力される。
その後、STEP1に戻り、次の発話が運転者から入力される。以下、STEP16の判断結果がYESとなるまで、上述のSTEP1〜15と同様の処理が繰り返される。
最後に、STEP16の判断結果がYESの場合には音声対話処理を終了する。このとき、例えば、機器制御の完了等を使用者に報知するシナリオが決定されている場合には、音声対話ユニット1は、決定された応答文の内容や応答文を出力する際の条件に応じて音声を合成する。そして、生成された応答文(機器制御の完了等を使用者に報知する応答文等)がスピーカ4から出力される。
以上の処理によって、制御処理の状態の遷移に基づいて第1〜第3の音声認識処理の重みが決定されて最終的な認識結果が決定され、対話の遷移状態を適切に反映して発話が精度良く認識されるので、効率の良い対話を介して機器の制御が行われる。
[対話例]
次に、上述した音声対話処理について、図11〜図13に示す対話例を用いて具体的に説明する。図11は、対話中に運転者が「話題の変更を行わない」例であり、図12,図13は対話中に運転者が「話題の変更を行う」例である。また、図11,図13は、上述の音声対話処理による対話例を示し、図12は、参考例として、言語モデル16を用いた第1の音声認識処理を行わず、且つ、制御処理の状態遷移に基づいた重みの変更を行わない場合における対話例を示している。また、第1〜第3の重み係数α,β,γは、それぞれ、{0,「低」,「中」,「高」}の4段階の値をとる(0<「低」<「中」<「高」)。
まず、図11の対話例について説明する。まず、実行中の制御処理はなく状態1の「待機状態」にあり、図5のSTEP1で、運転者(ユーザ)から「近くのコンビニ」という最初の発話が入力される。次に、STEP2で、制御処理は「待機状態」と検知され、STEP3で、第1の重み係数αが「低」、第2,第3の重み係数β,γが0と決定される。
次に、STEP4で、入力された音声「近くのコンビニ」の特徴ベクトルから、発音データが音響スコアと共に決定される。
次に、STEP5で、言語モデル16全体のデータを用いて第1の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「近く の コンビニ」が得られる。次に、STEP6で、テキスト「近く の コンビニ」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第1の音声候補群としてスコアと共に得られる。
次に、第2,第3の重み係数β,γは0であるから、STEP7,8の第2,第3の音声認識処理は省略され、STEP9に進む。
次に、STEP9で、第1の音声候補群から、テキスト「近く の コンビニ」の意味に対応する音声候補が、最終的な音声候補群として決定される。このように、多様な語彙と言い回しが想定される最初の発話が適切に認識される。
次に、STEP10で、車両10の状態が検出され、STEP11で、最終的な音声候補群と車両10の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理が「POI検索」となる。具体的には、「ナビゲーションシステム6bのPOI検索機能で、車両10の現在位置から所定距離内のコンビニエンスストアを検索する」「POI検索の結果を運転者に提示する」等の制御処理がシナリオとして決定される。
次に、STEP12で、機器制御の内容は特定されているので判断結果はYESとなり、STEP15で、決定されたシナリオに基づいてナビゲーションシステム6bでPOI検索が実行され、検索結果としてコンビニエンスストアの候補が2つ得られる。検索結果として複数の候補が得られるので、音声対話ユニット1の制御処理は、「検索結果を運転者に提示し、絞込検索等の詳細な制御内容の指示、或いは目的地として検索結果のうち1つの選択を促す」状態(状態2の「問い合わせ状態」)に遷移する。
次に、STEP16に進み、運転者の次の発話を促す必要があるため、対話は終了していないと判断され、STEP13で、音声対話ユニット1(システム)により「ローストップとセブンマートの2つが近いです」という応答文の音声が合成され、STEP14でスピーカ4から出力される。
次に、STEP1に戻り、運転者から「mmショップに行きたい」という2回目の発話が入力される。
次に、STEP2で、制御処理は「問い合わせ状態」と検知される。このとき、実行中の制御処理は「POI検索」であり、検索結果として複数のコンビニエンスストアを提示する応答が出力されているので、入力音声は、「POI検索の詳細入力を指示する」「検索結果として提示したコンビニエンスストアの候補のうち1つを選択して目的地として設定する」等の返答である可能性が高い。よって、辞書20のうちPOI検索の目的地設定を指示する音声入力に応じた語彙{Set destination}に関連する度合と、固有名詞辞書21のうち{コンビニ}{POI}の語彙に関連する度合とが高い。したがって、STEP3で、第1の重み係数αは「低」に決定され、第2,第3の重み係数β,γは「中」に決定される。また、辞書20のうち{Set destination}のデータが有効にされ、固有名詞辞書21のうち{コンビニ}{POI}のデータが有効にされる。
次に、STEP4で、入力された音声「mmショップに行きたい」の特徴ベクトルから、発音データが音響スコアと共に決定される。
次に、STEP5で、言語モデル16全体のデータを用いて第1の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「mmショップ に 行きたい」が得られる。次に、STEP6で、認識されたテキスト「mmショップ に 行きたい」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第1の音声候補群としてスコアと共に得られる。このとき、「mmショップ」という特定のコンビニエンスストアを表す固有名詞は、多様な言い回しがされ易い一般語に比べてテキストコーパスにおける出現頻度が比較的低いので、第1の音声認識処理では、「mmショップ」という単語は認識されにくく、テキスト「mmショップ に 行きたい」の意味に対応する音声候補のスコアは低くなる。
次に、STEP7で、辞書20のうち{Set Destination}のデータを用いて第2の音声認識処理が実行される。これにより、発音データから語彙「行きたい」の意味に対応する音声候補が第2の音声候補群としてスコアと共に得られる。このとき、辞書20には「mmショップ」という固有名詞は登録されていないので、語彙「mmショップ」の意味に対応する音声候補は得られない。
次に、STEP8で、固有名詞辞書21のうち{POI検索}{コンビニ}のデータを用いて第3の音声認識処理が実行される。このとき、固有名詞辞書21には語彙「mmショップ」「mmショップに行きたい」が登録されているので、発音データから語彙「mmショップ」「mmショップに行きたい」の意味に対応する音声候補が第3の音声候補群として高いスコアと共に得られる。
次に、STEP9で、第1〜第3の音声候補群から、スコアと第1〜第3の重み係数α,β,γとに基づいて、最終的な音声候補群が決定される。このとき、発話全体と合致する第3の音声候補群の語彙「mmショップに行きたい」の意味に対応する音声候補のスコアが高く、且つ第3の重み係数γが比較的高いので、当該音声候補が最終的な音声候補群として得られる。
次に、STEP10で、車両10の状態が検出され、STEP11で、最終的な音声候補群と車両10の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「POI検索」が継続し、具体的には、「ナビゲーションシステム6bのPOI検索機能で、車両10の現在位置の周辺のmmショップを検索する」「POI検索の結果を運転者に提示する」等の制御処理がシナリオとして決定される。
次に、STEP12で、機器制御の内容は特定されているので判断結果はYESとなり、STEP15に進み、決定されたシナリオに基づいてナビゲーションシステム6bでPOI検索が実行され、検索結果として車両10の周辺のmmショップとその情報(車両10からの距離等)が得られる。検索結果としてmmショップの候補が得られるので、音声対話ユニット1の制御処理は、「検索結果を運転者に提示し、目的地として設定するか確認を促す」状態(状態3の「確認状態」)に遷移する。
次に、STEP16に進み、運転者の次の発話を促す必要があるため、対話は終了していないと判断され、STEP13で、「1キロ程先ですけどよろしいですか?」という応答文の音声が合成され、STEP14でスピーカ4から出力される。
次に、STEP1に戻り、運転者から「はい」という3回目の発話が入力される。次に、STEP2で、制御処理は「確認状態」と検知される。このとき、検索結果を目的地として設定するか運転者の確認を促す確認応答(Yes/Noで返答可能な質問文)が出力されているので、入力音声は、「Yes」「No」等の返答である可能性が高い。よって、辞書20のうち{Affirmation}に関連する度合が高い。一方、固有名詞辞書21には関連する語彙がない。したがって、STEP3で、第1の重み係数αは「低」に決定され、第2の重み係数βは「高」に決定され、第3の重み係数γは0に決定される。また、辞書20のうち{Affirmation}のデータが有効にされる。
次に、STEP4で、入力された音声「はい」の特徴ベクトルから、発音データが音響スコアと共に決定される。
次に、STEP5で、言語モデル16全体のデータを用いて第1の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「はい」が得られる。次に、STEP6で、認識されたテキスト「はい」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第1の音声候補群としてスコアと共に得られる。このとき、「はい」という音声入力は、1単語なので単語列を反映した言語的な特徴が現れにくいため、第1の音声認識処理では、「はい」という発話は認識されにくく、テキスト「はい」の意味に対応する音声候補のスコアは低くなる。
次に、STEP7で、辞書20のうち{Affirmation}のデータを用いて第2の音声認識処理が実行される。このとき、辞書20には語彙「はい」が登録されているので、発音データから語彙「はい」の意味に対応する音声候補が第2の音声候補群として高いスコアと共に得られる。
次に、第3の重み係数γは0であるから、STEP8の第3の音声認識処理は省略され、STEP9に進む。
次に、STEP9で、第1,第2の音声候補群から、スコアと第1,第2の重み係数α,βとに基づいて、最終的な音声候補群が決定される。このとき、第2の音声候補群の語彙「はい」の意味に対応する音声候補のスコアが高く、且つ第2の重み係数βが比較的高いので、当該音声候補が最終的な音声候補群として得られる。
次に、STEP10で、車両10の状態が検出され、STEP11で、最終的な音声候補群と車両10の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「目的地設定」となり、具体的には、「ナビゲーションシステム6bの目的地設置機能で、mmショップを設定する」「ナビゲーションシステム6bの経路誘導機能で、mmショップに誘導する」等の制御処理がシナリオとして決定される。
次に、STEP12で、機器制御の内容が特定されているので、判断結果はYESとなり、STEP15に進み、決定されたシナリオに基づいてナビゲーションシステム6bで目的地が設定され、経路誘導が開始される。これにより、運転者からの操作に応じた処理が完了して対話が終了するので、音声対話ユニット1の制御処理は、「目的地の設定及び経路誘導の開始を運転者に報知する」状態(状態4の「待機状態」)に遷移する。
次に、STEP16に進み、対話終了と判断され、「目的地に設定しました。あと10分です」という応答文の音声が合成され、スピーカ4から出力されて、音声対話処理が終了される。
次に、図12の対話例について説明する。図12の対話例では、運転者の最初の発話「近くのコンビニ」から、音声対話ユニット1の2回目の応答「1キロ程先ですけどよろしいですか?」までは、図11の対話例と同じである。
図12の対話例では、運転者からの1回目の発話「近くのコンビニ」は辞書20と固有名詞辞書21の全体のデータを用いて認識され、実行中の制御処理は「POI検索」となり、「ローストップとセブンマートの2つが近いです」という応答が出力される。運転者からの2回目の発話「mmショップに行きたい」は、辞書20と固有名詞辞書21の「POI検索」に関連するカテゴリ{Set destination}{POI検索}{コンビニ}のデータを用いて認識され、2回目の応答「1キロ程先ですけどよろしいですか?」が出力される。
しかし、図12の対話例では、運転者から「天気は?」という3回目の発話が入力される。この3回目の発話は、2回目までの発話の話題(実行中の制御処理)「POI検索」とは関連がないものである。このとき、図12の対話例では、3回目の発話「天気は?」は、2回目の発話と同様に、辞書20と固有名詞辞書21の「POI検索」に関連するカテゴリ{Set destination}{POI検索}{コンビニ}のデータを用いて認識される。そして、「天気は?」という入力音声に応じた語彙はこれらのデータには登録されていないので、認識結果が得られず、「認識できませんでした」という応答が出力され、音声対話処理が終了される。
次に、図13の対話例について説明する。図13の対話例では、運転者の最初の発話「近くのコンビニ」から、音声対話ユニット1の2回目の応答「1キロ先ですけどよろしいですか?」までは、図11の対話例と同様に音声対話処理が進む。そして、STEP1に戻り、図12の対話例と同様に、運転者から「天気は?」という3回目の発話が入力される。
このとき、図13の対話例では、STEP2で、図11の対話例と同様に、制御処理は「確認状態」と検知され、STEP3で、第1の重み係数αは「低」に決定され、第2の重み係数βは「高」に決定され、第3の重み係数γは0に決定される。また、辞書20のうち{Affirmation}のデータが有効にされる。
次に、STEP4で、入力された音声「天気は?」の特徴ベクトルから、発音データが音響スコアと共に決定される。
次に、STEP5で、言語モデル16全体のデータを用いて第1の音声認識処理におけるテキスト変換処理が実行され、発音データから認識されたテキスト「天気 は」が得られる。次に、STEP6で、認識されたテキスト「天気 は」について構文解析処理が実行され、当該テキストの意味に対応する音声候補が第1の音声候補群としてスコアと共に得られる。
次に、STEP7で、辞書20のうち{Affirmation}のデータを用いて第2の音声認識処理が実行される。このとき、辞書20のうち{Affirmation}のデータには「天気は」という語彙は登録されていないので、語彙「天気は」の意味に対応する音声候補は得られない。また、第3の重み係数γは0であるから、STEP8の第3の音声認識処理は省略され、STEP9に進む。
次に、STEP9で、第1,第2の音声候補群から、スコアと第1,第2の重み係数α,βとに基づいて、最終的な音声候補群が決定される。このとき、第2の音声認識処理からは音声候補が得られていないが、第1の音声候補群からテキスト「天気 は」の意味に対応する音声候補が最終的な音声候補群として得られる。このように、蓋然性の高い確認応答に対する返答以外の発話(蓋然性の低い発話)が入力されても、適切に認識することができる。
次に、STEP10で、車両10の状態が検出され、STEP11で、最終的な音声候補群と車両10の状態とに基づいてシナリオが決定される。これにより、実行中の制御処理は「天気予報」となり、具体的には、「ナビゲーションシステム6bの天気予報機能で、車両10の走行する地域の天気予報情報を取得する」「取得した結果を運転者に報知する」等の制御処理がシナリオとして決定される。
次に、STEP12で、機器制御の内容が特定されているので、判断結果はYESとなり、STEP13に進み、決定されたシナリオに基づいてナビゲーションシステム6bで天気予報情報が取得される。
これにより、運転者からの操作に応じた処理が完了して対話が終了するので、音声対話ユニット1の制御処理は、「取得した天気予報情報を運転者に報知する」状態(状態4の「待機状態」)に遷移する。
次に、STEP16に進み、対話終了と判断され、「今日は午後から雨です」という応答文の音声が合成され、スピーカ4から出力されて、音声対話処理が終了される。
以上の図11〜図13の対話例で示したように、上述の音声対話処理によれば、図11の対話例のように同じ話題が継続される場合に、発話を精度良く認識できると共に、図13の対話例のように対話中に話題が変換されても、発話を適切に認識できる。このように、本実施形態では、運転者との対話の遷移状態に適切に対応して発話を精度良く認識することが可能となり、効率の良い対話を介して機器の制御が行われる。
なお、本実施形態においては、第3の音声認識手段33を備えるものとしたが、第3の音声認識手段33を備えず、第1,第2の音声認識手段31,32の処理結果のみを用いて最終的な認識手段を決定するものとしてもよい。また、第2の音声認識手段32を備えず、第1,第3の音声認識手段31,33の処理結果のみを用いて最終的な認識手段を決定するものとしてもよい。
また、本実施形態においては、第2の音声認識手段32は一般的な単語が登録された辞書20を用い、第3の音声認識手段33は固有名詞等が登録された固有名詞辞書21を用いるものとしたが、辞書に登録される語彙は任意に変更可能である。
また、本実施形態においては、車両状態検出部3を備え、シナリオ制御部13は、発話の認識結果(制御候補群)と検出した車両状態とに応じてシナリオを決定するものとしたが、車両状態検出部3を備えず、シナリオ制御部13は発話の認識結果から特定される制御候補のみからシナリオを決定するものとしてもよい。
また、本実施形態においては、音声入力する使用者は、車両10の運転者としたが、運転者以外の乗員としてもよい。
また、本実施形態においては、音声認識装置は、車両10に搭載されるものとしたが、車両以外の移動体に搭載されるものとしてもよい。さらに、移動体に限らず、使用者が発話により対象を制御するシステムに適用可能である。
本発明の実施形態である音声認識装置の機能ブロック図。 図1の音声認識装置の音声認識部の構成を示す説明図。 図1の音声認識装置の言語モデル、構文モデルの構成を示す説明図。 図1の音声認識装置の辞書、固有名詞辞書の構成を示す説明図。 図1の音声認識装置の全体的な作動(音声対話処理)を示すフローチャート。 図5の音声対話処理における第1〜第3の重み係数を決定する処理を示す説明図。 図5の音声対話処理における言語モデルを用いた第1の音声認識処理を示す説明図。 図5の音声対話処理における構文解析処理を示す説明図。 図5の音声対話処理におけるシナリオを決定する処理に用いるフォームを示す説明図。 図5の音声対話処理におけるシナリオを決定する処理を示す説明図。 図5の音声対話処理における対話例を示す図。 図5の音声対話処理における他の対話例を示す図。 図5の音声対話処理における他の対話例を示す図。
符号の説明
1…音声対話ユニット、2…マイク、3…車両状態検出部、4…スピーカ、5…ディスプレイ、6a〜6c…機器、10…車両、11…音声認識部、13…シナリオ制御部、14…音声合成部、15…音響モデル、16…言語モデル、17…構文モデル、18…シナリオデータベース、19…音素モデル、20…辞書、21…固有名詞辞書、31…第1の音声認識手段、32…第2の音声認識手段、33…第3の音声認識手段、34…状態遷移検知手段、35…重み決定手段、36…認識結果決定手段、37…テキスト変換手段、38…構文解析手段。

Claims (10)

  1. 入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識装置において、
    認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第1の音声認識手段と、
    認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第2の音声認識手段と、
    前記制御処理の状態の遷移を検知する状態遷移検知手段と、
    前記状態遷移検知手段による検知結果に基づいて、前記第1の音声認識手段による音声認識処理に対する第1の重みと、前記第2の音声認識手段による音声認識処理に対する第2の重みとを、それぞれ決定する重み決定手段と、
    前記第1及び第2の音声認識手段による音声認識処理と、前記重み決定手段により決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定手段と
    を備えることを特徴とする音声認識装置。
  2. 請求項1記載の音声認識装置において、
    前記辞書と異なる第2の辞書を用いて、入力された音声を該第2の辞書に登録された認識対象語彙と比較して認識する処理を実行する第3の音声認識手段をさらに備え、
    前記重み決定手段は、前記状態遷移検知手段による検知結果に基づいて、前記第3の音声認識手段による音声認識処理に対する第3の重みを決定し、
    前記認識結果決定手段は、前記第1、第2及び第3の音声認識手段による音声認識処理と、前記重み決定手段により決定された第1、第2及び第3の重みとを用いて、最終的な認識結果を決定することを特徴とする音声認識装置。
  3. 請求項1記載の音声認識装置において、
    前記第1の音声認識手段は、前記音声を認識する処理を実行した結果を第1の音声候補群として各音声候補のスコアと共に出力し、
    前記第2の音声認識手段は、前記音声を認識する処理を実行した結果を第2の音声候補群として各音声候補のスコアと共に出力し、
    前記認識結果決定手段は、前記第1の音声候補群の各音声候補のスコアに前記第1の重みを乗じた値と、前記第2の音声候補群の各音声候補のスコアに前記第2の重みを乗じた値とに基づいて、該第1及び第2の音声候補群から、前記最終的な認識結果としての音声候補群を決定することを特徴とする音声認識装置。
  4. 請求項2記載の音声認識装置において、
    前記第1の音声認識手段は、前記音声を認識する処理を実行した結果を第1の音声候補群として各音声候補のスコアと共に出力し、
    前記第2の音声認識手段は、前記音声を認識する処理を実行した結果を第2の音声候補群として各音声候補のスコアと共に出力し、
    前記第3の音声認識手段は、前記音声を認識する処理を実行した結果を第3の音声候補群として各音声候補のスコアと共に出力し、
    前記認識結果決定手段は、前記第1の音声候補群の各音声候補のスコアに前記第1の重みを乗じた値と、前記第2の音声候補群の各音声候補のスコアに前記第2の重みを乗じた値と、前記第3の音声候補群の各音声候補のスコアに前記第3の重みを乗じた値とに基づいて、該第1、第2及び第3の音声候補群から、前記最終的な認識結果としての音声候補群を決定することを特徴とする音声認識装置。
  5. 請求項2又は4記載の音声認識装置において、
    前記辞書は、前記制御対象の制御内容を確認する音声入力に応じた語彙を含み、
    前記第2の辞書は、前記制御対象の制御内容に関する特定の名称を含む音声入力に応じた語彙を含むことを特徴とする音声認識装置。
  6. 請求項1又は3記載の音声認識装置において、
    前記重み決定手段は、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には、前記第2の重みの値を当該関連する度合に応じた所定値に決定すると共に、前記第1の重みの値を0より大きく且つ該第2の重みの値よりも小さい所定値に決定し、
    前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連しない場合には、前記第2の重みの値を0に決定すると共に、前記第1の重みの値を0より大きい所定値に決定することを特徴とする音声認識装置。
  7. 請求項2、4又は5記載の音声認識装置において、
    前記重み決定手段は、前記第2の重みの値を、前記辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該辞書の認識対象語彙が該検知結果に関連しない場合には0に決定し、
    前記第3の重みの値を、前記第2の辞書の認識対象語彙が前記状態遷移検知手段による検知結果に関連する場合には当該関連する度合に応じた所定値に決定し、当該第2の辞書の認識対象語彙が該検知結果に関連しない場合には0に決定すると共に、
    前記状態遷移検知手段による検知結果に関連する語彙を含む辞書が少なくとも1つある場合には、前記第1の重みの値を、0より大きく且つ当該語彙を含む辞書を用いた音声認識手段の音声認識処理に対する重みよりも小さい所定値に決定し、該検知結果に関連する語彙を含む辞書がない場合には、0より大きい所定値に決定することを特徴とする音声認識装置。
  8. 請求項1〜7のいずれか記載の音声認識装置において、
    前記制御処理は、音声の入力を使用者に促すように該使用者へ出力される応答を生成する処理を含み、
    前記状態遷移検知手段により検知される状態の遷移は、逐次出力される前記使用者への応答の変化を含むことを特徴とする音声認識装置。
  9. 入力された音声についての認識結果に基づいて制御対象に対する制御処理を行う音声認識方法であって、
    前記制御処理の状態の遷移を検知する状態遷移検知ステップと、
    認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する処理を実行する第1の音声認識ステップと、
    認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する処理を実行する第2の音声認識ステップと、
    前記状態遷移検知ステップによる検知結果に基づいて、前記第1の音声認識ステップでの処理に対する第1の重みと、前記第2の音声認識ステップでの処理に対する第2の重みとを、それぞれ決定する重み決定ステップと、
    前記第1及び第2の音声認識ステップでの処理と、前記重み決定ステップにより決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定ステップと
    を備えたことを特徴とする音声認識方法。
  10. 入力された音声についての認識結果に基づいて制御対象に対する制御処理をコンピュータに実行させる音声認識プログラムであって、
    前記制御処理の状態の遷移を検知する状態遷移検知処理と、
    認識対象語彙についての言語的な特徴を示す言語モデルを用いて、入力された音声を該言語的な特徴に基づいて認識する第1の音声認識処理と、
    認識対象語彙が登録された辞書を用いて、入力された音声を該認識対象語彙と比較して認識する第2の音声認識処理と、
    前記状態遷移検知処理の検知結果に基づいて、前記第1の音声認識処理に対する第1の重みと、前記第2の音声認識処理に対する第2の重みとを、それぞれ決定する重み決定処理と、
    前記第1及び第2の音声認識処理と、前記重み決定処理により決定された第1及び第2の重みとを用いて、最終的な認識結果を決定する認識結果決定処理と
    を前記コンピュータに実行させる機能を有することを特徴とする音声認識プログラム。
JP2006266947A 2006-09-29 2006-09-29 音声認識装置、音声認識方法及び音声認識プログラム Pending JP2008089625A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006266947A JP2008089625A (ja) 2006-09-29 2006-09-29 音声認識装置、音声認識方法及び音声認識プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006266947A JP2008089625A (ja) 2006-09-29 2006-09-29 音声認識装置、音声認識方法及び音声認識プログラム

Publications (1)

Publication Number Publication Date
JP2008089625A true JP2008089625A (ja) 2008-04-17

Family

ID=39373897

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006266947A Pending JP2008089625A (ja) 2006-09-29 2006-09-29 音声認識装置、音声認識方法及び音声認識プログラム

Country Status (1)

Country Link
JP (1) JP2008089625A (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016129A1 (ja) * 2009-08-07 2011-02-10 パイオニア株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
WO2011030404A1 (ja) * 2009-09-09 2011-03-17 トヨタ自動車株式会社 オペレーティングシステム及びオペレーティング方法
JP2011242613A (ja) * 2010-05-19 2011-12-01 Yahoo Japan Corp 音声認識装置、音声認識方法、プログラム、及びプログラムを配信する情報処理装置
WO2015075903A1 (ja) * 2013-11-21 2015-05-28 日産自動車株式会社 音声認識装置
WO2016006038A1 (ja) * 2014-07-08 2016-01-14 三菱電機株式会社 音声認識システム及び音声認識方法
CN105741839A (zh) * 2016-02-17 2016-07-06 陆玉正 一种车载电器语音辅助控制装置
CN112807687A (zh) * 2021-02-08 2021-05-18 网易(杭州)网络有限公司 禁言处理方法、装置、非易失性存储介质及电子装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683388A (ja) * 1992-09-04 1994-03-25 Fujitsu Ten Ltd 音声認識装置
JP2001125591A (ja) * 1999-10-27 2001-05-11 Fujitsu Ten Ltd 音声対話システム
JP2001265382A (ja) * 2000-03-17 2001-09-28 Seiko Epson Corp 音声認識方法および音声認識装置並びに音声認識処理プログラムを記録した記録媒体
JP2003058536A (ja) * 2002-06-14 2003-02-28 Sharp Corp 翻訳装置
JP2004264719A (ja) * 2003-03-04 2004-09-24 Advanced Telecommunication Research Institute International 音声認識装置、及びコンピュータプログラム
JP2005084071A (ja) * 2003-09-04 2005-03-31 Kddi Corp 音声認識装置
WO2005062295A1 (ja) * 2003-12-05 2005-07-07 Kabushikikaisha Kenwood 機器制御装置、音声認識装置、エージェント装置及び機器制御方法
JP2005195834A (ja) * 2004-01-07 2005-07-21 Sony Corp 音声認識装置および方法、並びに、プログラムおよび記録媒体

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683388A (ja) * 1992-09-04 1994-03-25 Fujitsu Ten Ltd 音声認識装置
JP2001125591A (ja) * 1999-10-27 2001-05-11 Fujitsu Ten Ltd 音声対話システム
JP2001265382A (ja) * 2000-03-17 2001-09-28 Seiko Epson Corp 音声認識方法および音声認識装置並びに音声認識処理プログラムを記録した記録媒体
JP2003058536A (ja) * 2002-06-14 2003-02-28 Sharp Corp 翻訳装置
JP2004264719A (ja) * 2003-03-04 2004-09-24 Advanced Telecommunication Research Institute International 音声認識装置、及びコンピュータプログラム
JP2005084071A (ja) * 2003-09-04 2005-03-31 Kddi Corp 音声認識装置
WO2005062295A1 (ja) * 2003-12-05 2005-07-07 Kabushikikaisha Kenwood 機器制御装置、音声認識装置、エージェント装置及び機器制御方法
JP2005195834A (ja) * 2004-01-07 2005-07-21 Sony Corp 音声認識装置および方法、並びに、プログラムおよび記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
佐々木 太良, 河野 隆二, 今井 秀樹: ""自然言語の通信における重要度に応じた誤り制御方式の一検討 An Error-Controling Scheme Based on Diffe", 電子情報通信学会技術研究報告 VOL.89 NO.452 IEICE TECHNICAL REPORT, vol. 第89巻 No.452, JPN6012006498, 15 March 1990 (1990-03-15), JP, pages 5 - 14, ISSN: 0002143794 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011016129A1 (ja) * 2009-08-07 2011-02-10 パイオニア株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
JPWO2011016129A1 (ja) * 2009-08-07 2013-01-10 パイオニア株式会社 音声認識装置、音声認識方法、及び音声認識プログラム
WO2011030404A1 (ja) * 2009-09-09 2011-03-17 トヨタ自動車株式会社 オペレーティングシステム及びオペレーティング方法
JP2011242613A (ja) * 2010-05-19 2011-12-01 Yahoo Japan Corp 音声認識装置、音声認識方法、プログラム、及びプログラムを配信する情報処理装置
WO2015075903A1 (ja) * 2013-11-21 2015-05-28 日産自動車株式会社 音声認識装置
WO2016006038A1 (ja) * 2014-07-08 2016-01-14 三菱電機株式会社 音声認識システム及び音声認識方法
JP5996152B2 (ja) * 2014-07-08 2016-09-21 三菱電機株式会社 音声認識システム及び音声認識方法
CN106663421A (zh) * 2014-07-08 2017-05-10 三菱电机株式会社 声音识别系统以及声音识别方法
US10115394B2 (en) 2014-07-08 2018-10-30 Mitsubishi Electric Corporation Apparatus and method for decoding to recognize speech using a third speech recognizer based on first and second recognizer results
CN105741839A (zh) * 2016-02-17 2016-07-06 陆玉正 一种车载电器语音辅助控制装置
CN112807687A (zh) * 2021-02-08 2021-05-18 网易(杭州)网络有限公司 禁言处理方法、装置、非易失性存储介质及电子装置
CN112807687B (zh) * 2021-02-08 2024-02-23 网易(杭州)网络有限公司 禁言处理方法、装置、非易失性存储介质及电子装置

Similar Documents

Publication Publication Date Title
JP4188989B2 (ja) 音声認識装置、音声認識方法、及び音声認識プログラム
JP4412504B2 (ja) 音声認識装置、音声認識方法、及び音声認識用プログラム
JP4666648B2 (ja) 音声応答システム、音声応答プログラム
JP2008064885A (ja) 音声認識装置、音声認識方法、及び音声認識プログラム
JP2008233678A (ja) 音声対話装置、音声対話方法、及び音声対話用プログラム
US11170776B1 (en) Speech-processing system
US11830485B2 (en) Multiple speech processing system with synthesized speech styles
US9754586B2 (en) Methods and apparatus for use in speech recognition systems for identifying unknown words and for adding previously unknown words to vocabularies and grammars of speech recognition systems
US11538478B2 (en) Multiple virtual assistants
US20060100871A1 (en) Speech recognition method, apparatus and navigation system
US20090112593A1 (en) System for recognizing speech for searching a database
US11715472B2 (en) Speech-processing system
JP2008089625A (ja) 音声認識装置、音声認識方法及び音声認識プログラム
US20240071385A1 (en) Speech-processing system
JP2008076811A (ja) 音声認識装置、音声認識方法及び音声認識プログラム
US11783824B1 (en) Cross-assistant command processing
JP2008268571A (ja) 音声認識装置、その音声認識方法
US20230360633A1 (en) Speech processing techniques
US11763809B1 (en) Access to multiple virtual assistants
US11735178B1 (en) Speech-processing system
JP2008076812A (ja) 音声認識装置、音声認識方法、及び音声認識プログラム
KR20200117317A (ko) 대화 시스템 및 대화 처리 방법
US12001260B1 (en) Preventing inadvertent wake in a speech-controlled device
US11922938B1 (en) Access to multiple virtual assistants
WO2014035437A1 (en) Using character describer to efficiently input ambiguous characters for smart chinese speech dictation correction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20081127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110322

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110517

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120214