JP4581549B2 - 音声処理装置および方法、記録媒体、並びにプログラム - Google Patents

音声処理装置および方法、記録媒体、並びにプログラム Download PDF

Info

Publication number
JP4581549B2
JP4581549B2 JP2004233007A JP2004233007A JP4581549B2 JP 4581549 B2 JP4581549 B2 JP 4581549B2 JP 2004233007 A JP2004233007 A JP 2004233007A JP 2004233007 A JP2004233007 A JP 2004233007A JP 4581549 B2 JP4581549 B2 JP 4581549B2
Authority
JP
Japan
Prior art keywords
word
intention
score
intention information
acoustic
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.)
Expired - Fee Related
Application number
JP2004233007A
Other languages
English (en)
Other versions
JP2006053203A (ja
Inventor
活樹 南野
敬一 山田
一美 青山
厚夫 廣江
康広 小玉
康治 浅野
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2004233007A priority Critical patent/JP4581549B2/ja
Publication of JP2006053203A publication Critical patent/JP2006053203A/ja
Application granted granted Critical
Publication of JP4581549B2 publication Critical patent/JP4581549B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は音声処理装置および方法、記録媒体、並びにプログラムに関し、特に、入力音声から、ユーザの発話の意思を抽出する場合に用いて好適な音声処理装置および方法、記録媒体、並びにプログラムに関する。
昨今、音声認識を応用した製品やサービスの実用化が、盛んに行われるようになってきた。
音声認識とは、音響的な特徴を表す特徴量の出現確率などによって、入力音声に対応する単語の系列を推定し、推定された単語の系列によって音声を認識する技術のことである。音声認識技術およびアプリケーションプログラムを組み合わせることで、様々な製品やサービスの提供が可能になる。
従来の音声認識装置は、図1で示されるように構成される。
図1において、ユーザが発した音声は、マイクロフォン11に入力(取得)され、マイクロフォン11では、入力された入力音声が、電気信号としての音声信号に変換される。変換によって生成された音声信号は、AD(Analog Digital)変換部12に供給される。AD変換部12では、マイクロフォン11からのアナログ信号である音声信号が、サンプリングされて、量子化され、デジタル信号である音声データに変換される。この音声データは、特徴抽出部13に供給される。
特徴抽出部13は、AD変換部12から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。
特徴抽出部13において生成された特徴量はマッチング部14に供給される。マッチング部14は、特徴抽出部13から供給された特徴量を基に、音響モデルデータベース15、辞書データベース16、および文法データベース17を必要に応じて参照しながら、マイクロフォン11に入力された入力音声を認識する。
すなわち、音響モデルデータベース15は、音声認識する音声の言語における個々の音素や音節などの所定の単位(PLU(Phoneme Like Units))ごとの音響的な特徴を表す音響モデルを記録している。音響モデルとして、HMM(Hidden Markov Model)が用いられる。辞書データベース16は、認識対象の各単語(語彙)について、各単語ごとの発音に関する情報(音韻情報)が記述された単語辞書、および各音響モデルから特徴量が観測される確率を記録している。文法データベース17は、辞書データベース16の単語辞書に登録されている各単語が、どのように連鎖する(つながる)かを記述した文法規則を記録している。
マッチング部14は、辞書データベース16の単語辞書を参照することにより、音響モデルデータベース15に記録されている音響モデルを接続して、単語の音響モデル(単語モデル)を構成する。さらに、マッチング部14は、いくつかの単語モデルを、文法データベース17に記録された文法規則を参照することにより接続し、そのようにして接続された単語モデルを用いて、特徴量の時系列に基づき、マイクロフォン11に入力された音声を認識する。すなわち、マッチング部14は、上述したようにして構成された各単語モデルの系列(以下、単語モデル系列と称する)から、特徴量の時系列が観測される尤度を表すスコアを計算する。そして、マッチング部14は、そのスコアが最も高い単語モデル系列を検出し、その単語モデル系列に対応する単語系列を、音声の認識結果として出力する。以下、マッチング部14による音声認識の処理をマッチング処理とも称する。
スコア計算は、一般に、音響モデルデータベース15に記録された音響モデルによって与えられる音響的なスコア(以下、適宜、音響スコアと称する。)と、文法データベース17に記録された文法規則によって与えられる言語的なスコア(以下、適宜、言語スコアと称する。)とを総合評価することで行われる。
すなわち、音響スコアは、単語モデルを構成する音響モデルから、特徴抽出部13が出力する特徴量の系列が観測される確率(出現確率)に基づいて、単語ごとに計算される。また、言語スコアは、例えば、バイグラムによる場合には、注目している単語と、その単語の直前の単語とが連鎖(連接)する確率に基づいて、求められる。そして、各単語についての音響スコアと言語スコアとを総合評価して得られる最終的なスコア(以下、総合スコアと称する)に基づいて、音声認識結果が確定される。
例えば、ユーザが、「今日はいい天気ですね。」と発声した場合、「今日」、「は」、「いい」、「天気」、「ですね」のような単語の系列が、音声認識結果として得られることになる。このとき、各単語に対して、音響スコアおよび言語スコアが与えられる。
また、従来、音声認識装置として、計算効率を高めるために、マッチング処理を並列して行うものもある(例えば、特許文献1参照)。この音声認識装置においては、複数の言語モデルが用いられ、言語モデルごとにマッチング処理が行われる。そして、入力音声に最も適合する単語系列が決定される。なお、ここで、言語モデルとは、マッチング処理に用いられる単語辞書および文法規則をいう。
さらに、アプリケーションプログラムごとに、異なる言語モデルを用いてマッチング処理を行い、音声認識の結果としての単語系列を決定する音声認識装置もある。
上述した音声認識の技術は、製品やサービスに応用することができる。例えば、予めロボットに単語「立って」を登録しておくことによって、ユーザがロボットに対して「立って」と発話した場合、ロボットが、ユーザによって発声された音声を認識し、認識された単語「立って」に対応して、ロボットが立ち上がるように制御することができる。このとき、ロボットは、音声として認識した単語「立って」に対して、対応する動作を直接関係付けることになる。
また、音声として認識された単語を基に、予め登録されている複数の意思から、ユーザの発話に含まれる意思を選択(抽出)し、選択された意思に対して、対応する動作を関係付けるようにすることができる。
ここで、意思とは、ユーザの発話に含まれる発話目的であり、例えば、ユーザが、音声を認識することができるロボットに対して「立って」と発話した場合、発話には、ユーザが、ロボットを立たせようとする意思(目的)が含まれている。したがって、例えば、単語「立って」、「起きて」、または「立ち上がって」が音声として認識された場合、ロボットが、ユーザの発話に含まれる意思として、意思「立って下さい」を選択するように予め登録しておくことによって、認識された単語を基に、意思「立って下さい」が選択されたとき、ロボットが立ち上がるように制御することができる。
また、例えば、ユーザが、音声を認識するロボットに対して、「今日は暑いですね」と発話した場合、発話には、ユーザが今日は暑いと感じている旨をロボットに対して伝えようとする意思が含まれている。したがって、例えば、単語系列「今日は暑いですね」が音声として認識された場合、ロボットが、ユーザの発話に含まれる意思として、意思「今日は暑いですね」を選択するように予め登録しておくことによって、認識された単語系列を基に、意思「今日は暑いですね」が選択されたとき、例えば、ロボットが音声「そうですね」を出力するように制御することができる。
一般に、同一の意思の発話は、数多く存在するため、認識された音声に対応して、動作を関係付ける方法としては、音声として認識された1つの単語系列に対して、1つの動作を対応させるよりも、音声として認識された単語系列に対応するユーザの意思に対して、1つの動作を対応させる方が、1つの意思に対して、複数の単語系列を対応させることができるため、単語系列に対応する動作(処理)の割り当ては、容易である。
音声として認識された単語系列に対応する意思を選択する方法としては、ユーザが発声した音声に対して、音声認識処理を行い、1または複数の単語モデル系列を構成し、構成された単語モデル系列に対応する単語系列に対して、形態素解析、構文解析、句構造解析、または意味解析などの言語処理を行うことによって、ユーザの発話に含まれる意思を抽出する方法が提案されている。このように、音声認識の結果として得られた単語系列に言語処理を適用することによって、ユーザの発話に含まれる意思を抽出する技術は、一般に音声理解と称され、ユーザの発話に含まれる意思を抽出する装置は、音声理解装置と称されている。
従来の音声理解装置は、音声認識結果として得られた単語系列に対して、構文解析および意味解析を適用することによって、特定のまとまった意味を持つ語句である概念要素を抽出し、抽出された概念要素を基に、発話の意思を選択する(例えば、特許文献2参照)。
また、音声認識結果として得られた単語系列に対して構文解析を適用し、構文解析を適用することによって得られた構文情報を基に、ユーザの意思を選択するものもある(例えば、特許文献3参照)。
さらに、キーワードに対応するユーザの意思をあらかじめ登録しておき、音声認識結果として得られた単語系列に含まれるキーワードを抽出する装置もある(例えば、特許文献4参照)。この装置においては、抽出されたキーワードを基に、意思が選択される。
しかしながら、上述したユーザの意思を選択する方法においては、音声認識処理および言語処理は、それぞれ独立して処理が行われるため、それぞれの処理において異なる文法データベースおよび辞書データベースが必要であった。また、辞書データベースに記録している語彙(単語)に変更があった場合、音声認識処理に用いられる文法データベースと、言語処理に用いられる文法データベースとを調和(整合)をとりながら変更しなければならなかった。
この問題を解決する方法として、ユニファイされた文法コンパイラを用いることにより、音声認識処理に用いられる文法と、言語処理に用いられる文法とを統一的に扱う音声理解装置もある(例えば、特許文献5参照)。この装置においては、ユニファイされた文法コンパイラによってコンパイルされた音声認識処理用の文法が、言語処理用の文法として用いられる。
また、従来、音声認識の結果として得られた単語を他の単語に置き換えて出力する音声認識置もある。この装置においては、音声認識の結果として「立って」、「起きて」、または「立ち上がって」が得られた場合、単語「立ってください」を出力することができる。この場合、音声認識に用いる辞書データベースの出力を調整することで、ユーザの発話の意思を抽出することができ、後段において、抽出した意思に対応する動作を割り当てることができる。
しかしながら、ユーザが、「明日の東京の天気を教えてください」、「東京の明日の天気は」、「明日の天気東京の教えてくれる」などと発話し、音声認識装置が、ユーザが発話した音声を複数の単語を組み合わせた単語系列として認識する場合、音声認識の結果として得られた単語を他の単語に置き換えて出力するだけでは、ユーザの発話の意思を抽出することは困難である。
そこで、「明日の東京の天気を教えてください」、「東京の明日の天気は」、および「明日の天気東京の教えてくれる」のそれぞれを1つの単語とし、それぞれの出力を全て同一の意思として「明日の東京の天気を教えてください」と置き換え、置き換えた意思「明日の東京の天気を教えてください」を出力することにより、ユーザの発話の意思を抽出することができる。
特表2003−515778号公報
国際公開第99/63425号パンフレット
特開平7−219961号公報
特開2001−13992号公報
特開平8−63181号公報
しかしながら、上述した、音声認識の結果として得られた単語を他の単語に置き換えて出力する方法においては、単語系列を1つの単語として認識することで、ユーザの発話の意思を抽出することができるが、単語の組み合わせが異なるだけの単語系列、単語の配置が異なるだけの単語系列など、同一の意思の単語系列は数多く存在するため、単語系列の数が多くなると、厖大な処理が必要となってしまうという問題があった。
また、上述した技術においては、入力音声からユーザの発話の意思を抽出する場合、音声認識処理の結果を基に、さらに言語処理を行う必要があった。さらに、この場合、音声認識処理において、正確な結果が得られないときには、後段の言語処理において、入力音声からユーザの発話の意思を正確に抽出することができなかった。また、言語処理に用いる文法データベースおよび辞書データベースとして、音声認識処理に用いる文法データベースおよび辞書データベースとは異なるものが必要であった。
したがって、音声処理装置を構成するシステムが煩雑になってしい、その結果、音声処理装置の開発および設計における負担が大きくなってしまうという課題があった。
本発明は、このような状況に鑑みてなされたものであり、より簡単な構成で、ユーザの発話の意思を抽出することができるようにするものである。
本発明の音声処理装置は、音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出手段と、音響モデルを記憶する音響モデル記憶手段と、1つの意思を示す意思情報ごとに、意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とから構成される言語モデルを記憶する言語モデル記憶手段と、意思情報に対応する文法規則および単語辞書に基づいて構成された単語系列と、入力された音声信号との音響的な類似度を示す音響スコアを、特徴量を基に算出する音響スコア算出手段と、意思情報に対応する単語系列と、音声信号との言語的な類似度を示す言語スコアを、単語系列に対応する意思情報の言語モデルを用いて算出する言語スコア算出手段と、意思情報ごとに、特徴量、音響モデル、および意思情報の言語モデルを用いて、1または複数の単語系列を構成するとともに、音響スコアおよび言語スコアを基に、単語系列の音声認識結果としての尤度を示す総合スコアを算出し、意思情報に対応する1または複数の単語系列のうち、総合スコアが最も高い単語系列の総合スコアを、対応する意思情報の総合スコアとするマッチング手段と、複数の意思情報のうち、総合スコアが最も高い意思情報をユーザの意思を示す意思情報として選択する選択手段とを備えることを特徴とする。
選択手段は、複数の意思情報のうち、総合スコアの高い順に、所定の順位までの意思情報をユーザの発話の意思の候補として選択するようにすることができる。
言語モデル記憶手段は、所定の単語が、他の単語と置き換え可能なクラスを用いて表された文法規則と、単語辞書とから構成された、意思情報ごとの言語モデルを記憶し、マッチング手段は、構成した単語系列に含まれるクラスに属する単語のうち、音響スコアの最も高い単語を、クラスに最も適合する単語としてさらに選択するようにすることができる。
本発明の音声処理方法、記録媒体のプログラム、またはプログラムは、音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出ステップと、1つの意思を示す意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とに基づいて構成された単語系列と、入力された音声信号との音響的な類似度を示す音響スコアを、特徴量を基に算出する音響スコア算出ステップと、意思情報に対応する単語系列と、音声信号との言語的な類似度を示す言語スコアを、単語系列に対応する意思情報の文法規則および単語辞書から構成される言語モデルを用いて算出する言語スコア算出ステップと、意思情報ごとに、特徴量、音響モデル、および意思情報の言語モデルを用いて、1または複数の単語系列を構成するとともに、音響スコアおよび言語スコアを基に、単語系列の音声認識結果としての尤度を示す総合スコアを算出し、意思情報に対応する1または複数の単語系列のうち、総合スコアが最も高い単語系列の総合スコアを、対応する意思情報の総合スコアとするマッチングステップと、複数の意思情報のうち、総合スコアが最も高い意思情報をユーザの意思を示す意思情報として選択する選択ステップとを含むことを特徴とする。
本発明の音声処理装置および方法、記録媒体、並びにプログラムにおいては、音声信号の音響的な特徴を示す特徴量が抽出され、音響モデルが記憶され、1つの意思を示す意思情報ごとに、意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とから構成される言語モデルが記憶され、意思情報に対応する文法規則および単語辞書に基づいて構成された単語系列と、入力された音声信号との音響的な類似度を示す音響スコアが、特徴量を基に算出され、意思情報に対応する単語系列と、音声信号との言語的な類似度を示す言語スコアが、単語系列に対応する意思情報の言語モデルが用いられて算出され、意思情報ごとに、特徴量、音響モデル、および意思情報の言語モデルが用いられて、1または複数の単語系列が構成されるとともに、音響スコアおよび言語スコアを基に、単語系列の音声認識結果としての尤度を示す総合スコアが算出され、意思情報に対応する1または複数の単語系列のうち、総合スコアが最も高い単語系列の総合スコアが、対応する意思情報の総合スコアとされ、複数の意思情報のうち、総合スコアが最も高い意思情報がユーザの意思を示す意思情報として選択される。
本発明によれば、より簡単な構成で、入力音声からユーザの発話の意思を抽出することができる。
まず、本発明を適用した第1の実施の形態について説明する。
図2は、本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。
音声理処理置は、マイクロフォン31、AD変換部32、特徴抽出部33、マルチマッチング部34、音響モデルデータベース35、意思情報保持部36−1乃至意思情報保持部36−N、および意思選択部37を含むように構成される。
マイクロフォン31はユーザによって発声された、単語または単語系列を含む音声を入力音声として取得する。マイクロフォン31は、取得した入力音声を、電気信号である音声信号に変換する。マイクロフォン31は、音声信号をAD変換部32に供給する。マイクロフォン31からAD変換部32に供給される音声信号は、いわゆるアナログ信号である。
AD変換部32は、マイクロフォン31から供給された音声信号にAD変換処理を適用して、アナログの音声信号を、デジタルの音声データに変換する。すなわち、AD変換部32は、音声信号をサンプリングして、量子化することにより、デジタルの音声データを生成する。AD変換部32は、音声データを特徴抽出部33に供給する。
特徴抽出部33は、AD変換部32から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析処理を適用し、特徴量を生成することによって、音声データの特徴を抽出する。特徴抽出部33は、生成した特徴量をマルチマッチング部34に供給する。
マルチマッチング部34は、特徴抽出部33から供給された特徴量を基に、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している、発話の意思を示す意思情報のそれぞれの総合スコアを求める(算出する)。マルチマッチング部34は、算出した意思情報の総合スコアおよび意思情報を意思選択部37に供給する。なお、意思情報の総合スコアの詳細は後述するが、意思情報の総合スコアは、マルチマッチング部34によって構成された単語モデル系列に対応する単語系列の音響スコアおよび言語スコアを基に算出される。
マルチマッチング部34は、辞書データベース53−1に記録されている単語辞書を参照することにより、音響モデルデータベース35に記録されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成(決定)する。さらに、マルチマッチング部34は、構成したいくつかの単語モデルを、文法データベース54−1に記録されている文法規則を参照することにより接続し、単語モデル系列を構成(決定)する。
マルチマッチング部34は、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。マルチマッチング部34は、音響スコア算出部51および言語スコア算出部52を備えている。
マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した、単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれの音響スコアを算出する。
例えば、マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
マルチマッチング部34の言語スコア算出部52は、マルチマッチング部34が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
マルチマッチング部34は、マルチマッチング部34の音響スコア算出部51が算出した音響スコアと、マルチマッチング部34の言語スコア算出部52が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
マルチマッチング部34は、音響モデルデータベース35、辞書データベース53−1、および文法データベース54−1を参照して構成した単語モデル系列に対応する単語系列のうち、最も総合スコアの高い単語系列の総合スコアを、意思情報保持部36−1が保持している意思情報の総合スコアとして、意思情報および意思情報の総合スコアを意思選択部37に供給する。以下、マルチマッチング部34による、単語系列を構成する処理をマッチング処理とも称する。
マルチマッチング部34は、同様にして、意思情報保持部36−2乃至意思情報保持部36−Nのそれぞれが保持している意思情報の総合スコアを求め、求めた意思情報の総合スコアおよび意思情報を意思選択部37に供給する。
音響モデルデータベース35は、意思を抽出する音声の言語における個々の音素や音節などの所定の単位(PLU)ごとの音響的な特徴を表す音響モデルを記録している。
意思情報保持部36−1は、発話の意思を示す意思情報を保持している。意思情報保持部36−1は、辞書データベース53−1および文法データベース54−1を備えている。意思情報保持部36−1の辞書データベース53−1は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部36−1の文法データベース54−1は、意思情報保持部36−1の辞書データベース53−1の単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
意思情報保持部36−2は、意思情報保持部36−1が保持している意思情報とは異なる発話の意思を示す意思情報を保持している。意思情報保持部36−2は、辞書データベース53−2および文法データベース54−2を備えている。意思情報保持部36−2の辞書データベース53−2は、予め登録されている各単語について、各単語の発音に関する情報が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部36−2の文法データベース54−2は、意思情報保持部36−2の辞書データベース53−2の単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
意思情報保持部36−3乃至意思情報保持部36−N(意思情報保持部36−3乃至意思情報保持部36−(N−1)は図示せず)のそれぞれは、それぞれ異なる発話の意思を示す意思情報を保持している。意思情報保持部36−3乃至意思情報保持部36−Nのそれぞれは、辞書データベース53−3乃至辞書データベース53−Nのそれぞれおよび文法データベース54−3乃至文法データベース54−Nのそれぞれを備えている。辞書データベース53−3乃至辞書データベース53−Nのそれぞれは、予め登録されている各単語について、各単語の発音に関する情報が記述された単語辞書、および各単語モデルから特徴量の系列が観測される確率を保持している。文法データベース54−3乃至文法データベース54−Nのそれぞれは、辞書データベース53−3乃至辞書データベース53−Nのそれぞれの単語辞書に登録されている各単語が、どのように連鎖するかを記述した文法規則を記録している。
すなわち、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれは、それぞれ異なる意思情報、単語辞書、および文法規則を保持(記録)している。
以下、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれを個々に区別する必要のない場合、単に意思情報保持部36と称する。また、以下、辞書データベース53−1乃至辞書データベース53−Nのそれぞれを、個々に区別する必要のない場合、単に、辞書データベース53と称する。さらに、以下、文法データベース54−1乃至文法データベース54−Nのそれぞれを、個々に区別する必要のない場合、単に、文法データベース54と称する。
さらに、以下、辞書データベース53が記録している単語辞書と、文法データベース54が記録している文法規則とから構成されるデータを、必要に応じて言語モデルと称する。
意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、入力音声に最も適合した言語モデル(すなわち、辞書データベース53および文法データベース54)を選択する。すなわち、意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、マルチマッチング部34から供給された意思情報のうち、最も総合スコアの高い意思情報を選択する。意思選択部37は、選択した意思情報を、ユーザの発話の意思を示す情報(音声理解結果)として、後段に出力する。
図3のフローチャートを参照して、音声理解の処理を説明する。
ステップS11において、マイクロフォン31は、入力された入力音声を、電気信号としての音声信号に変換し、変換によって生成された音声信号をAD変換部32に供給する。例えば、ステップS11において、マイクロフォン31は、ユーザによって発声された、単語または単語列を含む音声を入力音声として取得し、取得した入力音声を、アナログ信号である音声信号に変換し、音声信号をAD変換部32に供給する。
ステップS12において、AD変換部32は、マイクロフォン31から供給された音声信号のAD変換処理を行う。すなわち、ステップS12において、AD変換部32は、マイクロフォン31から供給された音声信号を、サンプリングして、量子化し、デジタル信号である音声データに変換する。AD変換部32は、AD変換した音声データを特徴抽出部33に供給する。
ステップS13において、特徴抽出部33は、AD変換部32から供給された音声データについて、所定のフレームごとに(微小時間毎に)音響分析を適用し、特徴量としての、特徴量からなる時間的な系列(特徴量の系列)を生成することによって、音声データの特徴を抽出する。特徴抽出部33は、生成された特徴量の系列をマルチマッチング部34に供給する。
例えば、ステップS13において、特徴抽出部33は、1フレームである所定の期間の音声データに、音響分析として、DFT(Discrete Fourier Transform)などの周波数分析の処理を適用し、周波数分析に基づく周波数帯域ごとのエネルギー、いわゆるパワースペクトル(以下、単にスペクトルと称する)などの特徴を示す特徴量の系列を生成する。
なお、特徴抽出部33は、その他、例えば、零交差数、または信号のエネルギーなどの特徴を示す特徴量の系列を生成するようにしてもよい。また、特徴抽出部33は、音声データに、ベクトル量子化の処理を適用することにより特徴量を求めるようにしてもよい。特徴量の方式は、本発明を限定するものではない。
ステップS14において、マルチマッチング部34は、マッチング処理を行う。なお、マッチング処理の詳細は後述するが、マッチング処理において、マルチマッチング部34は、特徴抽出部33から供給された特徴量の系列を基に、意思情報保持部36が記録している言語モデルごとにマッチング処理を行い、意思情報保持部36が保持している意思情報の総合スコアを算出する。マルチマッチング部34は、意思情報および算出した意思情報の総合スコアを意思選択部37に供給する。
ステップS15において、意思選択部37は、マルチマッチング部34から供給された意思情報および意思情報の総合スコアを基に、入力音声に最も適合した言語モデルを選択する。すなわち、ステップS15において、意思選択部37は、マルチマッチング部34から供給された意思情報のうち、最も総合スコアの高い意思情報を、ユーザの発話の意思を示す意思情報として選択する。意思選択部37は、選択した意思情報を、入力音声から抽出された、ユーザの発話の意思を示す情報(音声理解結果)として後段に出力し、音声理解の処理は終了する。
例えば、ステップS15において、意思選択部37は、マルチマッチング部34から意思「明日の天気を教えてください」を示す意思情報および意思情報の総合スコアと、意思「今の時間を教えてください」を示す意思情報および意思情報の総合スコアとが供給された場合、意思「明日の天気を教えてください」を示す意思情報の総合スコアおよび意思「今の時間を教えてください」を示す意思情報の総合スコアのうち、総合スコアの高い意思情報を、音声理解結果として、後段に出力する。
例えば、意思「今の時間を教えてください」を示す意思情報の総合スコアよりも意思「明日の天気を教えてください」を示す意思情報の総合スコアが高い場合、意思選択部37は、意思「明日の天気を教えてください」を示す意思情報を音声理解結果として、後段に出力する。
これにより、後段において、意思「明日の天気を教えてください」を示す意思情報を基に、天気予報のデータベースを検索し、天気の情報を出力する処理を行うことが容易にできる。したがって、ユーザの音声「明日の天気教えて」に対して、天気の情報を出力するシステムを容易に構築することができる。
このようにして、音声処理装置は、予め保持している意思情報に対応する言語モデルごとにマッチング処理を行い、意思情報の総合スコアを算出する。そして、音声処理装置は、複数の意思情報のうち、最も総合スコアの高い意思情報を選択し、選択した意思情報を音声理解結果として出力する。
以上のように、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
次に、図4のフローチャートを参照して、図3のステップS14の処理に対応するマッチング処理について説明する。
ステップS31において、マルチマッチング部34は、音響モデルデータベース35、辞書データベース53、および文法データベース54を参照しながら、単語モデル系列を構成する。
この場合、音響モデルデータベース35に記録されている音響モデルは、例えば、図5で示される、日本語の音素に対する隠れマルコフモデル(HMM)である。図5において「:」は、長音の音響モデルである。なお、音響モデルとしては、その他、例えば、トライフォンHMMや、PHMM(Partly Hidden Markov Model)などの音響モデルを用いることが可能である。
また、辞書データベース53および文法データベース54には、意思情報保持部36に保持されている意思情報が示す意思に対応する例文を基に生成された、単語辞書および文法規則が記録されている。
例えば、図6に示すように、意思情報保持部36−1が意思「明日の天気を教えてください」を示す意思情報を保持している場合、辞書データベース53−1および文法データベース54−1には、意思「明日の天気を教えてください」に対応する例文「明日の天気を教えてください」、「明日の天気は」、「明日の天気を教えてくれる」、および「えーと明日の天気が聞きたい」を基に生成された単語辞書および文法規則が記録されている。
したがって、例えば、辞書データベース53−1には、図7に示すように、発音(情報)および単語(情報)が単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「えーと」に対応する発音情報「e:to」、単語「の」に対応する発音情報「no」、単語「は」に対応する発音情報「wa」、単語「を」に対応する発音情報「o」、単語「が」に対応する発音情報「ga」、および単語「明日」に対応する発音情報「asita」が、それぞれ登録されている。
また、発音情報として、単語「天気」に対応する発音情報「tenki」、単語「教えて」に対応する発音情報「osiete」、単語「ください」に対応する発音情報「kudasai」、単語「くれる」に対応する発音情報「kureru」、および単語「聞きたい」に対応する発音情報「kikitai」が、それぞれ登録されている。ここで、発音情報とは、各単語に対応する音響モデルの接続情報である。
また、例えば、文法データベース54−1には、図7に示す各単語が、どのように連鎖(つながる)かを記述した、単語連鎖率(N‐gram)などに基づく文法規則が記録されている。
同様に、例えば、図8に示すように、意思情報保持部36−2が意思「今の時間を教えてください」を示す意思情報を保持している場合、辞書データベース53−2および文法データベース54−2には、意思「今の時間を教えてください」に対応する例文「今何時ですか」、「今何時」、「今何時かな」、「今の時間が聞きたい」、および「時間を教えて」を基に生成された単語辞書および文法規則が記録されている。
したがって、例えば、辞書データベース53−2には、図9に示すように、発音(情報)および単語(情報)が単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「今」に対応する発音情報「ima」、単語「です」に対応する発音情報「desu」、単語「か」に対応する発音情報「ka」、単語「かな」に対応する発音情報「kana」、単語「の」に対応する発音情報「no」、および単語「が」に対応する発音情報「ga」が、それぞれ登録されている。
また、発音情報として、単語「を」に対応する発音情報「o」、単語「何時」に対応する発音情報「nanji」、単語「聞きたい」に対応する発音情報「kikitai」、および単語「教えて」に対応する発音情報「osiete」が、それぞれ登録されている。
また、例えば、文法データベース54−2には、図9に示す各単語が、どのように連鎖(つながる)かを記述した、単語連鎖率(N‐gram)などに基づく文法規則が記録されている。
マルチマッチング部34は、音響モデルデータベース35、並びに意思情報保持部36が保持している意思情報に対応する辞書データベース53および文法データベース54を必要に応じて参照しながら、意思情報ごとに単語モデル系列を構成する。
したがって、例えば、意思情報保持部36−1が意思「明日の天気を教えてください」を示す意思情報を保持しており、意思情報保持部36−2が意思「今の時間を教えてください」を示す意思情報を保持している場合、マルチマッチング部34は、音響モデルデータベース35、辞書データベース53−1、および文法データベース54−1を参照しながら、意思「明日の天気を教えてください」を示す意思情報に対応する単語モデル系列を構成し、音響モデルデータベース35、辞書データベース53−2、および文法データベース54−2を参照しながら、意思「今の時間を教えてください」を示す意思情報に対応する単語モデル系列を構成する。
図4のフローチャートの説明に戻り、例えば、ステップS31において、マルチマッチング部34は、辞書データベース53に記録されている単語辞書を参照することにより、音響モデルデータベース35に記録されている音響モデルを接続することで、単語の音響モデルを構成する。そして、マルチマッチング部34は、構成した単語モデルを、文法データベース54に記録されている文法規則を参照することにより接続し、単語モデル系列を構成する。
したがって、この場合、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している意思情報のそれぞれに対応する、1または複数の単語モデル系列が構成される。
ステップS32において、マルチマッチング部34の音響スコア算出部51は、マルチマッチング部34が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
例えば、ステップS32において、マルチマッチング部34の音響スコア算出部51は、ビタビサーチと称される処理を施すことにより、音響スコアを算出する。
ステップS33において、マルチマッチング部34の言語スコア算出部52は、マルチマッチング部34が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
例えば、ステップS33において、バックオフスムージング法と称される方法により、3つの単語の連鎖確率であるトライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明する。
この場合、文法データベース54−1には、文法規則として、例えば、図10乃至図12に示すトライグラム表、バイグラム表、およびユニグラム表が記録されている。
ここで、図10は、トライグラム表を説明する図である。
トライグラム表には、連鎖する3つの単語およびトライグラム確率が含まれている。より、具体的には、例えば、トライグラム確率として、連鎖する単語「えーと」、「明日」、および「の」に対するトライグラム確率「0.003」が含まれている。この場合、トライグラム確率「0.003」は、単語「えーと」、「明日」、および「の」が、「えーと」、「明日」、および「の」の順番で連鎖する確率を示している。
同様に、トライグラム表には、連鎖する単語「の」、「天気」、および「を」に対するトライグラム確率「0.01」が含まれており、連鎖する単語「の」、「天気」、および「が」に対するトライグラム確率「0.008」が含まれており、連鎖する単語「を」、「教えて」、および「ください」に対するトライグラム確率「0.007」が含まれている。また、トライグラム表には、連鎖する単語「天気」、「を」、および「教えて」に対するトライグラム確率「0.009」が含まれており、連鎖する単語「天気」、「が」、および「聞きたい」に対するトライグラム確率「0.007」が含まれており、連鎖する単語「明日」、「の」、および「天気」に対するトライグラム確率「0.009」が含まれている。
図11は、バイグラム表を説明する図である。
バイグラム表には、連鎖する2つの単語、2つの単語が連鎖する確率(以下、バイグラム確率と称する)、およびバイグラムバックオフ係数が含まれている。ここで、バイグラムバックオフ係数とは、バイグラム確率を基に、トライグラム確率を算出する場合に用いる係数であり、確率の総和が1を超過しないようにするための係数である。
バイグラム表には、例えば、バイグラム確率として、連鎖する単語「えーと」および「明日」に対するバイグラム確率「0.02」が含まれている。この場合、バイグラム確率「0.02」は、単語「えーと」および「明日」が、「えーと」および「明日」の順番で連鎖する確率を示している。
同様に、バイグラム表には、連鎖する単語「の」および「天気」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラム確率「0.08」が含まれており、連鎖する単語「が」および「聞きたい」に対するバイグラム確率「0.07」が含まれている。また、バイグラム表には、連鎖する単語「天気」および「を」に対するバイグラム確率「0.09」が含まれており、連鎖する単語「天気」および「が」に対するバイグラム確率「0.07」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラム確率「0.09」が含まれている。
さらに、バイグラム表には、例えば、バイグラムバックオフ係数として、連鎖する単語「えーと」および「明日」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「の」および「天気」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラムバックオフ係数「0.02」が含まれている。
同様に、バイグラム表には、バイグラムバックオフ係数として、連鎖する単語「が」および「聞きたい」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「天気」および「を」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「天気」および「が」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラムバックオフ係数「0.01」が含まれている。
図12は、ユニグラム表を説明する図である。
ユニグラム表には、単語、単語の生起確率(以下、ユニグラム確率と称する)、およびユニグラムバックオフ係数が含まれている。ここで、ユニグラムバックオフ係数とは、ユニグラム確率を基に、バイグラム確率を算出する場合に用いる係数であり、確率の総和が1を超過しないようにするための係数である。
より具体的には、ユニグラム表には、例えば、単語「えーと」に対するユニグラム確率「0.04」およびユニグラムバックオフ係数「0.02」が含まれており、単語「の」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、単語「は」に対するユニグラム確率「0.08」およびユニグラムバックオフ係数「0.04」が含まれている。
また、ユニグラム表には、単語「を」に対するユニグラム確率「0.09」およびユニグラムバックオフ係数「0.04」が含まれており、単語「が」に対するユニグラム確率「0.06」およびユニグラムバックオフ係数「0.03」が含まれており、単語「天気」に対するユニグラム確率「0.2」およびユニグラムバックオフ係数「0.08」が含まれており、単語「聞きたい」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれている。
なお、ユニグラム確率、バイグラム確率、およびトライグラム確率の計算方法、並びにスムージングの方法については、例えば、北研二、中村哲、「音声言語処理‐コーパスに基づくアプローチ」、森北出版株式会社などにその詳細が記載されている。
マルチマッチング部34の言語スコア算出部52は、文法データベース53−1が記録している、トライグラム表、バイグラム表、およびユニグラム表を参照して、言語スコアを算出する(求める)。
例えば、3つの単語の連鎖「明日」、「の」、および「天気」に対する言語スコア、すなわち、3つの単語「明日」、「の」、および「天気」が、「明日」、「の」、および「天気」の順番で連鎖する場合における単語「天気」の言語スコアを算出する場合、図10に示すトライグラム表から、単語「天気」の言語スコアは、「0.009」と求まる。
また、例えば、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対する言語スコア、すなわち、3つの単語「天気」、「を」、および「聞きたい」が、「天気」、「を」、および「聞きたい」の順番で連鎖する場合における単語「聞きたい」の言語スコアを算出する場合、図10に示すトライグラム表には、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対するトライグラム確率が含まれていないので、図11に示すバイグラム表に含まれるバイグラム確率を基に、トライグラム確率を算出する。
この場合、トライグラム確率は、例えば、式(1)により算出される。
(トライグラム確率)=(最初の2つの単語のバイグラムバックオフ係数)
×(最後の2つの単語のバイグラム確率) ・・・(1)
すなわち、3つの単語の連鎖「天気」、「を」、および「聞きたい」を2つの単語の連鎖「天気」および「を」と、「を」および「聞きたい」とに分ける。したがって、この場合、最初の2つの単語のバイグラムバックオフ係数は、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数であり、最後の2つの単語のバイグラム確率は、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率である。
ここで、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数は、図11に示すバイグラム表より、「0.02」と求まる。
一方、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、図11に示すバイグラム表には、含まれていないので、さらに、図12に示すユニグラム表に含まれるユニグラム確率を基に、バイグラム確率を算出する。
この場合、バイグラム確率は、例えば、式(2)により算出される。
(バイグラム確率)=(最初の単語のユニグラムバックオフ係数)
×(最後の単語のユニグラム確率) ・・・(2)
すなわち、2つの単語の連鎖「を」および「聞きたい」を、2つの単語「を」と、「聞きたい」とに分ける。したがって、この場合、最初(先頭)の単語のユニグラムバックオフ係数は、単語「を」に対するユニグラムバックオフ係数であり、最後(終端)の単語のユニグラム確率は、単語「聞きたい」に対するユニグラム確率である。
ここで、単語「を」に対するユニグラムバックオフ係数は、図12に示すユニグラム表より、「0.04」と求まる。
一方、単語「聞きたい」に対するユニグラム確率は、図12に示すユニグラム表より、「0.1」と求まる。したがって、式(2)より、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、0.004(0.04×0.1)と算出される。
2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率が「0.004」と算出され、2つの単語の連鎖「天気」および「を」に対するバイグラムバックオフ係数が、「0.02」と求められたので、3つの単語の連鎖「天気」、「を」、および「聞きたい」に対する言語スコアは、式(1)より、0.0008(0.2×0.004)と算出される。
このようにして、マルチマッチング部34の言語スコア算出部52は、単語系列を構成する単語ごとに言語スコアを算出する。なお、バックオフスムージング法により、トライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明したが、スムージングの方法は、線形補間法、ワンカウント法などとすることもできる。また、言語スコアの算出は、トライグラム確率に限らず、ユニグラム確率やバイグラム確率などにより算出するようにしてもよい。
図4のフローチャートの説明に戻り、ステップS34において、マルチマッチング部34は、マルチマッチング部34の音響スコア算出部51が算出した音響スコアと、マルチマッチング部34の言語スコア算出部52が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
したがって、この場合、意思情報に対応する、1または複数の単語系列のそれぞれの総合スコアが、意思情報保持部36が保持している意思情報ごとに算出される。
例えば、ステップS34において、マルチマッチング部34は、式(3)を計算することによって、単語系列の総合スコアを算出する。
(単語系列の総合スコア)=Σ(AK+CK×LK) ・・・(3)
ここで、AKは、単語系列を構成する単語のうち、先頭からK番目の単語の音響スコアであり、CKは、先頭からK番目の単語の言語スコアにかける重みであり、LKは、先頭からK番目の単語の言語スコアである。また、Σは、単語系列がN個の単語からなるとすると、Kを1からNに変えてのサメーションをとることを表す。なお、言語スコアにかける重みは、単語辞書に登録されている単語ごとに予め定められている。また、単語系列に対して所定の単語が挿入された場合に、ペナルティースコア(挿入ペナルティー)を付与するようにしてもよい。
ステップS35において、マルチマッチング部34は、算出した、意思情報に対応する単語系列の総合スコアのうち、最も高い単語系列の総合スコアを意思情報の総合スコアとする。そして、マルチマッチング部34は、意思情報および意思情報の総合スコアを意思選択部37に供給し、処理は終了する。
したがって、この場合、意思情報保持部36−1乃至意思情報保持部36−Nのそれぞれが保持している意思情報のそれぞれと、各意思情報の総合スコアとが意思選択部37に供給される。すなわち、意思選択部37には、N個の意思情報および意思情報の総合スコアが供給される。
このようにして、マルチマッチング部34は、マッチング処理を行い、意思情報保持部36が保持している意思情報の総合スコアを算出し、意思情報および算出した意思情報の総合スコアを意思選択部37に供給する。なお、音響スコアまたは言語スコアを算出する場合、その過程において得られる音響スコアまたは言語スコアが所定の閾値以下となったときに、そのスコア計算を打ち切る、枝刈りなどの処理を行うようにしてもよい。
このように、1つの意思情報に対して、1または複数の単語モデル系列を構成し、各単語モデル系列に対応する単語系列の総合スコアのうち、最も高い総合スコアを意思情報の総合スコアとすることで、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
以上のように、音声処理装置は、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
なお、マルチマッチング部34が、言語モデルごとにマッチング処理を行うと説明したが、言語モデルごとにマッチング部を設け、並列してマッチング処理を行うようにしてもよい。また、複数の意思情報のうち、最も総合スコアが高い意思情報を、ユーザの発話の意思を示す情報として出力すると説明したが、総合スコアの高い順に、所定の順位までの意思情報を、ユーザの発話の意思を示す情報の候補として出力するようにしてもよい。
ここで、本発明に係る音声処理装置を用いて行った、ユーザの発話から意思を抽出させる実験の結果について説明する。
実験には、本明細書の実施の形態において説明した構成を有する音声処理装置を用いた。26種類の意思および意思に対応する例文を準備し、その例文を基に、トライグラムに基づく言語モデル(単語辞書および文法規則)を生成した。そして、それぞれの意思に対応する入力音声として、合計367回の発話を行い、発話から抽出させた意思が正解であるか否かを調べた。
その結果、正解率は、91.3%であった。この結果から、本発明によれば、ユーザの発話から意思の抽出を極めて正確に行うことができることが分かる。
次に、本発明を適用した第2の実施の形態について説明する。
図13は、本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。
音声処理装置は、マイクロフォン71、AD変換部72、特徴抽出部73、マルチマッチング部74、音響モデルデータベース75、意思情報保持部76−1乃至意思情報保持部76−N、および意思選択部77を含むように構成される。
なお、マイクロフォン71、AD変換部72、特徴抽出部73、および音響モデルデータベース75のそれぞれは、図2におけるマイクロフォン31、AD変換部32、特徴抽出部33、および音響モデルデータベース35のそれぞれと同様なので、その説明は、省略する。
マルチマッチング部74は、特徴抽出部73から供給された特徴量の系列を基に、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している、発話の意思を示す意思情報のそれぞれの総合スコアを求める(算出する)。ここで、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している意思情報のそれぞれは、置き換え可能な単語の集合を表すクラスを基に記述された、クラスベースの意思情報である。なお、クラスについての詳細は後述するが、クラスベースの意思情報は、クラスを表す記号であるシンボルを用いて記述される。
マルチマッチング部74は、意思情報、意思情報の総合スコアを含むスコア情報、および意思情報に含まれるシンボルに最も適合する単語を示す単語情報を意思選択部77に供給する。なお、意思情報の総合スコアの詳細は後述するが、意思情報の総合スコアは、マルチマッチング部74によって構成された単語モデル系列に対応する単語系列の音響スコアおよび言語スコアを基に算出される。
マルチマッチング部74は、辞書データベース93−1に記録されている単語辞書を参照することにより、音響モデルデータベース75に記録されている音響モデルを接続することで、単語の音響モデル(単語モデル)を構成する。さらに、マルチマッチング部74は、構成したいくつかの単語モデルを、文法データベース94−1に記録されている文法規則を参照することにより接続し、単語モデル系列を構成する。
ここで、辞書データベース93−1に記録されている単語辞書は、クラスを表すシンボルが含まれる、クラスベースの単語辞書であり、また、文法データベース94−1に記録されている文法規則は、文法規則の記述にクラスを表すシンボルを含むクラスベースの文法規則である。なお、クラスベースの単語辞書およびクラスベースの文法規則の詳細は、後述する。
マルチマッチング部74は、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。マルチマッチング部74は、音響スコア算出部91および言語スコア算出部92を備えている。
マルチマッチング部74の音響スコア算出部91は、マルチマッチング部74が構成した、単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれの音響スコアを算出する。
例えば、マルチマッチング部74の音響スコア算出部91は、マルチマッチング部74が構成した単語モデル系列に含まれる各単語モデルから、特徴量の系列が観測される確率(出現確率)に基づいて、単語系列を構成する単語ごとに音響スコアを算出する。
マルチマッチング部74の言語スコア算出部92は、マルチマッチング部74が構成した単語モデル系列に含まれる、単語モデルのそれぞれに対応する単語が連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。なお、言語スコアの算出の詳細は後述するが、単語系列を構成する単語が何れかのクラスに属する場合、クラスに属する単語においては、単語が属するクラスのシンボルが、他のシンボルまたは単語と連鎖する確率に基づいて、言語スコアが算出される。
マルチマッチング部74は、マルチマッチング部74の音響スコア算出部91が算出した音響スコアと、マルチマッチング部74の言語スコア算出部92が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。
マルチマッチング部74は、音響モデルデータベース75、辞書データベース93−1、および文法データベース94−1を参照して構成した単語モデル系列に対応する単語系列のうち、最も総合スコアの高い単語系列の総合スコアを、意思情報保持部76−1が保持しているクラスベースの意思情報の総合スコアとして、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
マルチマッチング部74は、同様にして、意思情報保持部76−2乃至意思情報保持部76−Nのそれぞれが保持している意思情報の総合スコアを求め、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
意思情報保持部76−1は、意思情報として、クラスベースの意思情報を保持している。意思情報保持部76−1は、辞書データベース93−1および文法データベース94−1を備えている。意思情報保持部76−1の辞書データベース93−1は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部76−1の文法データベース94−1は、意思情報保持部76−1の辞書データベース93−1が記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
意思情報保持部76−2は、意思情報として、意思情報保持部76−1が保持している意思情報とは異なるクラスベースの意思情報を保持している。意思情報保持部76−2は、辞書データベース93−2および文法データベース94−2を備えている。意思情報保持部76−2の辞書データベース93−2は、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。意思情報保持部76−2の文法データベース94−2は、意思情報保持部76−2の辞書データベース93−2が記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
意思情報保持部76−3乃至意思情報保持部76−N(意思情報保持部76−3乃至意思情報保持部76−(N−1)は図示せず)のそれぞれは、意思情報として、それぞれ異なるクラスベースの意思情報を保持している。意思情報保持部76−3乃至意思情報保持部76−Nは、辞書データベース93−3乃至辞書データベース93−Nのそれぞれおよび文法データベース94−3乃至文法データベース94−Nのそれぞれを備えている。
辞書データベース93−3乃至辞書データベース93−Nのそれぞれは、予め登録されている各単語(語彙)について、各単語の発音に関する情報(発音情報)および各単語の属するクラスを表すシンボルを含むクラスベースの単語辞書、並びに各単語モデルから特徴量の系列が観測される確率を保持している。文法データベース94−3乃至文法データベース94−Nのそれぞれは、辞書データベース93−3乃至辞書データベース93−Nのそれぞれが記録している単語辞書に登録されている各単語または各単語が属するクラスのシンボルが、どのように連鎖するかを記述したクラスベースの文法規則を記録している。
すなわち、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれは、それぞれ異なる意思情報、単語辞書、および文法規則を保持(記録)している。
以下、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれを個々に区別する必要のない場合、単に意思情報保持部76と称する。また、以下、辞書データベース93−1乃至辞書データベース93−Nのそれぞれを、個々に区別する必要のない場合、単に、辞書データベース93と称する。さらに、以下、文法データベース94−1乃至文法データベース94−Nのそれぞれを、個々に区別する必要のない場合、単に、文法データベース94と称する。
さらに、以下、辞書データベース93が記録しているクラスベースの単語辞書と、文法データベース94が記録しているクラスベースの文法規則とから構成されるデータを、必要に応じて言語モデルとも称する。
意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、入力音声に最も適合した言語モデル(すなわち、辞書データベース93および文法データベース94)を選択する。すなわち、意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、マルチマッチング部74から供給された意思情報のうち、最も総合スコアの高い意思情報を選択する。意思選択部77は、選択した意思情報、スコア情報、および単語情報を、ユーザの発話の意思を示す情報(音声理解結果)として、後段に出力する。
ところで、意思「明日の東京の天気を教えてください」、「今日の大阪の天気を教えてください」、および「明後日の京都の天気を教えてください」のそれぞれにおいては、意思に含まれる日時を表す単語「今日」、「明日」、および「明後日」、並びに意思に含まれる場所を表す単語「東京」、「大阪」、および「京都」の組み合わせだけが異なる。
このような場合、意思に含まれる日時または場所を表す単語の組み合わせが異なるだけで、類似した複数の意思に対して、それぞれの意思に対応する複数の言語モデルを用いて、マッチング処理を行う方法は、あまり効率的ではない。
そこで、音声処理装置の構成を図13に示す構成とし、クラスベースの単語辞書およびクラスベースの文法規則からなる言語モデルを用いることによって、より効率的にユーザの発話の意思を抽出することができる。以下、図を参照して、具体的な処理を説明する。
図14のフローチャートを参照して、音声理解の処理を説明する。なお、ステップS51の処理乃至ステップS53の処理のそれぞれは、図3におけるステップS11の処理乃至ステップS13の処理のそれぞれと同様なので、その説明は省略する。
ステップS54において、マルチマッチング部74は、マッチング処理を行う。なお、マッチング処理の詳細は、後述するが、マッチング処理において、マルチマッチング部74は、特徴抽出部73から供給された特徴量の系列を基に、意思情報保持部76が記録している言語モデルごとにマッチング処理を行い、意思情報保持部76が保持している意思情報の総合スコアを算出する。マルチマッチング部74は、意思情報、算出した意思情報の総合スコアを含むスコア情報、および単語情報を意思選択部77に供給する。
ステップS55において、意思選択部77は、マルチマッチング部74から供給された意思情報、スコア情報、および単語情報を基に、入力音声に最も適合した言語モデルを選択する。すなわち、ステップS55において、意思選択部77は、マルチマッチング部74から供給された意思情報のうち、最も総合スコアの高い意思情報を、ユーザの発話の意思を示す意思情報として選択する。意思選択部77は、選択した意思情報、スコア情報、および単語情報を、入力音声から抽出された、ユーザの発話の意思を示す情報(音声理解結果)として後段に出力し、音声理解の処理は終了する。
例えば、ステップS55において、意思選択部77は、図15に示す音声理解結果を出力する。
この場合、音声理解結果には、意思情報として、意思「<日時>の<場所>の天気を教えてください」を示す意思情報が含まれている。ここで、「<日時>」は、日時を表すクラス「日時」を表すシンボルであり、同様に、「<場所>」は、場所を表すクラス「場所」を表すシンボルである。
また、音声理解結果には、単語情報として、シンボル「<日時>」に最も適合する単語が単語「明日」であり、シンボル「<場所>」に最も適合する単語が単語「東京」であることを示す情報が含まれている。
さらに、音声理解結果には、スコア情報として、意思情報の総合スコアと、意思「<日時>の<場所>の天気を教えてください」に対応する単語系列のうち、最も総合スコアが高い単語系列を構成する各単語の音響スコアおよび言語スコアとを示す情報が含まれている。
すなわち、スコア情報として、意思情報の総合スコアがM1であり、意思「<日時>の<場所>の天気を教えてください」に対応する単語系列のうち、最も総合スコアが高い単語系列が「明日の東京の天気教えて」であることを示す情報が含まれている。
また、スコア情報として、単語系列「明日の東京の天気教えて」を構成する単語「明日」の音響スコアがA1であり、単語「の」の音響スコアがA2であり、単語「東京」の音響スコアがA3であり、単語「の」の音響スコアがA4であり、単語「天気」の音響スコアがA5であり、単語「教えて」の音響スコアがA6であることを示す情報が含まれている。
さらに、スコア情報として、単語系列「明日の東京の天気教えて」を構成する単語「明日」の言語スコアがL1であり、単語「の」の言語スコアがL2であり、単語「東京」の言語スコアがL3であり、単語「の」の言語スコアがL4であり、単語「天気」の言語スコアがL5であり、単語「教えて」の言語スコアがL6であることを示す情報が含まれている。
また、例えば、ユーザが「大阪の天気教えて」と発話し、音声理解結果として、意思「<日時>の<場所>の天気を教えてください」を示す意思情報と、シンボル「<日時>」に適合する単語がなく、シンボル「<場所>」に適合する単語が「大阪」であることを示す単語情報とが出力された場合、後段において、「いつの天気ですか」または「明日の天気でよろしいですか」などの音声を、ユーザに対して出力するシステムを容易に構築することができる。
このようにして、音声処理装置は、予め保持しているクラスベースの意思情報に対応するクラスベースの言語モデルごとにマッチング処理を行い、意思情報の総合スコアを算出する。そして、音声処理装置は、複数の意思情報のうち、最も総合スコアの高い意思情報を選択し、選択した意思情報、スコア情報、および単語情報を音声理解結果として出力する。
以上のように、クラスベースの言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。また、クラスベースの言語モデルを用いることで、マッチング処理に用いる言語モデルの数を削減することができ、より効率よくユーザの意思を抽出することができる。
なお、音声理解結果として、スコア情報を含む情報を出力すると説明したが、スコア情報を含まない、意思情報および単語情報のみを含む情報を音声理解結果として出力するようにしてもよい。
次に、図16のフローチャートを参照して、図14のステップS54の処理に対応するマッチング処理について説明する。なお、ステップS71の処理、ステップS72の処理、およびステップS74の処理のそれぞれは、図4におけるステップS31の処理、ステップS32の処理、およびステップS34の処理のそれぞれと同様なので、その説明は省略する。
ステップS73において、マルチマッチング部74の言語スコア算出部92は、マルチマッチング部74が構成した単語モデル系列に含まれる単語モデルのそれぞれに対応する単語のそれぞれが連鎖(連接)する確率に基づいて、単語系列を構成する単語ごとに言語スコアを算出する。
より詳細には、マルチマッチング部74は、単語系列を構成する単語のうち、何れかのクラスに属する単語においては、単語が属するクラスのシンボルが連鎖する確率に基づいて、言語スコアを算出する。換言すれば、マルチマッチング部74は、単語系列を構成する単語のうち、何れかのクラスに属する単語を、単語が属するクラスのシンボルに置き換えた、クラスベースの単語系列を構成する単語またはシンボルごとに言語スコアを算出する。
例えば、ステップS73において、バックオフスムージング法と称される方法により、3つの単語またはシンボルの連鎖確率であるトライグラム確率の確率値の補正を行いながら言語スコアを算出する場合について説明する。
この場合、辞書データベース93および文法データベース94には、意思情報保持部76に保持されているクラスベースの意思情報が示す意思に対応する例文を基に生成された、単語辞書および文法規則が記録されている。
例えば、図17に示すように、意思情報保持部76−1が意思「<日時>の<場所>の天気を教えてください」を示す意思情報を保持している場合、辞書データベース93−1および文法データベース94−1には、意思「<日時>の<場所>の天気を教えてください」に対応する例文「<日時>の<場所>の天気を教えてください」、「<場所>の<日時>の天気を教えてください」、「<日時>の<場所>の天気は」、「<日時>の<場所>の天気を教えてくれる」、および「えーと<日時>の<場所>の天気が聞きたい」を基に生成されたクラスベースの単語辞書および文法規則が記録されている。
ここで、「<日時>」は、日時を表すクラス「日時」を表すシンボルであり、クラス「日時」に属する単語として、単語「今日」、「明日」、および「明後日」が与えられている。同様に、「<場所>」は、場所を表すクラス「場所」を表すシンボルであり、「場所」に属する単語として、単語「東京」、「大阪」、および「京都」が与えられている。
したがって、例えば、辞書データベース93−1には、図18に示すように、発音(情報)、単語(情報)、および単語の属するクラスを表すシンボルが単語辞書として記録されている。より具体的には、例えば、発音情報としては、単語「えーと」に対応する発音情報「e:to」、単語「の」に対応する発音情報「no」、単語「は」に対応する発音情報「wa」、単語「を」に対応する発音情報「o」、単語「が」に対応する発音情報「ga」、および単語「天気」に対応する発音情報「tenki」が、それぞれ登録されている。
また、発音情報として、単語「教えて」に対応する発音情報「osiete」、単語「ください」に対応する発音情報「kudasai」、単語「くれる」に対応する発音情報「kureru」、および単語「聞きたい」に対応する発音情報「kikitai」が、それぞれ登録されている。
さらに、発音情報として、単語「今日」に対応する発音情報「kyou」、単語「明日」に対応する発音情報「asita」、単語「明後日」に対応する発音情報「asatte」、単語「東京」に対応する発音情報「toukyou」、単語「大阪」に対応する発音情報「oosaka」、および単語「京都」に対応する発音情報「kyouto」が、それぞれ登録されている。ここで、発音情報とは、各単語に対応する音響モデルの接続情報である。
さらにまた、単語の属するクラスを表すシンボルとして、単語「えーと」の属するクラスを表すシンボル「えーと」、単語「の」の属するクラスを表すシンボル「の」、単語「は」の属するクラスを表すシンボル「は」、および単語「が」の属するクラスを表すシンボル「が」が、それぞれ登録されている。
さらにまた、単語の属するクラスを表すシンボルとして、単語「天気」の属するクラスを表すシンボル「天気」、単語「教えて」の属するクラスを表すシンボル「教えて」、単語「ください」の属するクラスを表すシンボル「ください」、単語「くれる」の属するクラスを表すシンボル「くれる」、および単語「聞きたい」の属するクラスを表すシンボル「聞きたい」が、それぞれ登録されている。
さらにまた、単語の属するクラスを表すシンボルとして、単語「今日」の属するクラスを表すシンボル「<日時>」、単語「明日」の属するクラスを表すシンボル「<日時>」、単語「明後日」の属するクラスを表すシンボル「<日時>」、単語「東京」の属するクラスを表すシンボル「<場所>」、単語「大阪」の属するクラスを表すシンボル「<場所>」、および単語「京都」の属するクラスを表すシンボル「<場所>」が、それぞれ登録されている。なお、ここで、何れのクラスにも属していない単語においては、単語そのものが、単語の属するクラスを表すシンボルとして登録されている。
また、例えば、文法データベース94−1には、文法規則として、例えば、図19乃至図21に示すトライグラム表、バイグラム表、およびユニグラム表が記録されている。
ここで、図19は、トライグラム表を説明する図である。
トライグラム表には、連鎖する3つの単語またはシンボルと、トライグラム確率とが含まれている。より、具体的には、例えば、トライグラム確率として、連鎖する単語「えーと」、シンボル「<日時>」、および単語「の」に対するトライグラム確率「0.003」が含まれている。この場合、トライグラム確率「0.003」は、単語「えーと」、シンボル「<日時>」、および単語「の」が、「えーと」、「<日時>」、および「の」の順番で連鎖する確率を示している。
同様に、トライグラム表には、連鎖する単語「の」、「天気」、および「を」に対するトライグラム確率「0.01」が含まれており、連鎖する単語「の」、「天気」、および「が」に対するトライグラム確率「0.008」が含まれており、連鎖する単語「の」、シンボル「<日時>」、および単語「の」に対するトライグラム確率「0.009」が含まれている。また、トライグラム表には、連鎖する単語「の」、シンボル「<場所>」、および単語「の」に対するトライグラム確率「0.001」が含まれており、連鎖する単語「天気」、「を」、および「教えて」に対するトライグラム確率「0.009」が含まれており、連鎖するシンボル「<日時>」、単語「の」、およびシンボル「<場所>」に対するトライグラム確率「0.01」、並びに連鎖するシンボル「<日時>」、単語「の」、および単語「天気」に対するトライグラム確率「0.008」が含まれている。
図20は、バイグラム表を説明する図である。
バイグラム表には、連鎖する2つの単語またはシンボル、2つの単語またはシンボルが連鎖する確率(以下、バイグラム確率と称する)、およびバイグラムバックオフ係数が含まれている。
バイグラム表には、例えば、バイグラム確率として、連鎖する単語「えーと」およびシンボル「<日時>」に対するバイグラム確率「0.02」が含まれている。この場合、バイグラム確率「0.02」は、単語「えーと」およびシンボル「<日時>」が、「えーと」および「<日時>」の順番で連鎖する確率を示している。
同様に、バイグラム表には、連鎖する単語「の」および「天気」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「の」およびシンボル「<場所>」に対するバイグラム確率「0.1」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラム確率「0.08」が含まれており、連鎖する単語「が」および「聞きたい」に対するバイグラム確率「0.07」が含まれている。また、バイグラム表には、連鎖する単語「天気」および「を」に対するバイグラム確率「0.09」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラム確率「0.09」が含まれており、連鎖するシンボル「<日時>」および単語「の」に対するバイグラム確率「0.16」が含まれており、連鎖するシンボル「<場所>」および単語「の」に対するバイグラム確率「0.17」が含まれている。
さらに、バイグラム表には、例えば、バイグラムバックオフ係数として、連鎖する単語「えーと」およびシンボル「<日時>」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「の」および「天気」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「の」およびシンボル「<場所>」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「を」および「教えて」に対するバイグラムバックオフ係数「0.02」が含まれている。
同様に、バイグラム表には、バイグラムバックオフ係数として、連鎖する単語「が」および「聞きたい」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖する単語「天気」および「を」に対するバイグラムバックオフ係数「0.02」が含まれており、連鎖する単語「教えて」および「ください」に対するバイグラムバックオフ係数「0.01」が含まれており、連鎖するシンボル「<日時>」および単語「の」に対するバイグラムバックオフ係数「0.03」が含まれており、連鎖するシンボル「<場所>」および単語「の」に対するバイグラムバックオフ係数「0.03」が含まれている。
図21は、ユニグラム表を説明する図である。
ユニグラム表には、単語またはシンボル、単語またはシンボルの生起確率(以下、ユニグラム確率と称する)、およびユニグラムバックオフ係数が含まれている。
より具体的には、ユニグラム表には、例えば、単語「えーと」に対するユニグラム確率「0.04」およびユニグラムバックオフ係数「0.02」が含まれており、単語「の」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、単語「は」に対するユニグラム確率「0.08」およびユニグラムバックオフ係数「0.04」が含まれており、単語「を」に対するユニグラム確率「0.09」およびユニグラムバックオフ係数「0.04」が含まれている。
また、ユニグラム表には、単語「が」に対するユニグラム確率「0.06」およびユニグラムバックオフ係数「0.03」が含まれており、単語「天気」に対するユニグラム確率「0.2」およびユニグラムバックオフ係数「0.08」が含まれており、単語「聞きたい」に対するユニグラム確率「0.1」およびユニグラムバックオフ係数「0.06」が含まれており、シンボル「<日時>」に対するユニグラム確率「0.18」およびユニグラムバックオフ係数「0.09」が含まれており、シンボル「<場所>」に対するユニグラム確率「0.23」およびユニグラムバックオフ係数「0.13」が含まれている。
マルチマッチング部74の言語スコア算出部92は、辞書データベース93−1が記録している単語辞書、並びに文法データベース94−1が記録している、トライグラム表、バイグラム表、およびユニグラム表を参照して、言語スコアを算出する(求める)。
例えば、3つの単語の連鎖「明日」、「の」、および「天気」に対する言語スコア、すなわち、3つの単語「明日」、「の」、および「天気」が、「明日」、「の」、および「天気」の順番で連鎖する場合における単語「天気」の言語スコアを算出する場合、マルチマッチング部74の言語スコア算出部92は、単語辞書を参照することによって、単語「明日」は、クラス「日時」に属していることが分かるので、シンボル「<日時>」、単語「の」、および単語「天気」が連鎖する確率(トライグラム確率)を求める。
この場合、図19に示すトライグラム表から、シンボル「<日時>」、単語「の」、および単語「天気」に対するトライグラム確率は「0.008」なので、単語「天気」の言語スコアは、「0.008」と求まる。
また、例えば、3つの単語の連鎖「東京」、「を」、および「聞きたい」に対する言語スコア、すなわち、3つの単語「東京」、「を」、および「聞きたい」が、「東京」、「を」、および「聞きたい」の順番で連鎖する場合における単語「聞きたい」の言語スコアを算出する場合、マルチマッチング部74の言語スコア算出部92は、単語辞書を参照することによって、単語「東京」は、クラス「場所」に属していることが分かるので、シンボル「<場所>」、単語「を」、および単語「聞きたい」が連鎖する確率(トライグラム確率)を求める。
この場合、図19に示すトライグラム表には、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」に対するトライグラム確率が含まれていないので、図20に示すバイグラム表に含まれるバイグラム確率を基に、トライグラム確率を算出する。
この場合、トライグラム確率は、式(4)により算出される。
(トライグラム確率)=
(最初の2つの単語またはシンボルのバイグラムバックオフ係数)
×(最後の2つの単語またはシンボルのバイグラム確率) ・・・(4)
すなわち、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」を2つの単語またはシンボルの連鎖「<場所>」および「を」と、「を」および「聞きたい」とに分ける。したがって、この場合、最初の2つの単語またはシンボルのバイグラムバックオフ係数は、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数であり、最後の2つの単語またはシンボルのバイグラム確率は、2つの単語またはシンボルの連鎖「を」および「聞きたい」に対するバイグラム確率である。
ここで、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数は、図20に示すバイグラム表にはないので、例えば、「0.1」と近似される。
一方、2つの単語またはシンボルの連鎖「を」および「聞きたい」に対するバイグラム確率は、図20に示すバイグラム表には、含まれていないので、さらに、図21に示すユニグラム表に含まれるユニグラム確率を基に、バイグラム確率を算出する。
この場合、バイグラム確率は、式(5)により算出される。
(バイグラム確率)=
(最初の単語またはシンボルのユニグラムバックオフ係数)
×(最後の単語またはシンボルのユニグラム確率) ・・・(5)
すなわち、2つの単語またはシンボルの連鎖「を」および「聞きたい」を、2つの単語「を」と、「聞きたい」とに分ける。したがって、この場合、最初(先頭)の単語またはシンボルのユニグラムバックオフ係数は、単語「を」に対するユニグラムバックオフ係数であり、最後(終端)の単語またはシンボルのユニグラム確率は、単語「聞きたい」に対するユニグラム確率である。
ここで、単語「を」に対するユニグラムバックオフ係数は、図21に示すユニグラム表より、「0.04」と求まる。
一方、単語「聞きたい」に対するユニグラム確率は、図21に示すユニグラム表より、「0.1」と求まる。したがって、式(5)より、2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率は、0.004(0.04×0.1)と算出される。
2つの単語の連鎖「を」および「聞きたい」に対するバイグラム確率が「0.004」と算出され、2つの単語またはシンボルの連鎖「<場所>」および「を」に対するバイグラムバックオフ係数が、「0.1」と求められたので、3つの単語またはシンボルの連鎖「<場所>」、「を」、および「聞きたい」に対する言語スコアは、式(4)より、0.0004(0.1×0.004)と算出される。
図16のフローチャートの説明に戻り、ステップS74において、マルチマッチング部74は、マルチマッチング部74の音響スコア算出部91が算出した音響スコアと、マルチマッチング部74の言語スコア算出部92が算出した言語スコアとを基に、構成した単語モデル系列に対応する単語系列の総合スコアを算出する。なお、ステップS74の処理は、図4のステップS34の処理と同様なので、その説明は省略する。
ステップS75において、マルチマッチング部74は、算出した、意思情報に対応する単語系列の総合スコアのうち、最も高い単語系列の総合スコアを意思情報の総合スコアとする。そして、マルチマッチング部74は、意思情報、スコア情報、および単語情報を意思選択部77に供給し、処理は終了する。
したがって、この場合、意思情報保持部76−1乃至意思情報保持部76−Nのそれぞれが保持している意思情報のそれぞれ、並びに各意思情報に対応するスコア情報および単語情報が意思選択部77に供給される。すなわち、意思選択部77には、N個の意思情報、スコア情報、および単語情報が供給される。
このようにして、マルチマッチング部74は、マッチング処理を行い、意思情報保持部76が保持している意思情報の総合スコアを算出し、意思情報、スコア情報、および単語情報を意思選択部77に供給する。
このように、1つの意思情報に対して、1または複数の単語モデル系列を構成し、各単語モデル系列に対応する単語系列の総合スコアのうち、最も高い総合スコアを意思情報の総合スコアとすることで、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
また、クラスベースの単語辞書およびクラスベースの文法規則からなる言語モデルを用いることによって、言語モデルの数を削減することができ、その結果、より効率的にユーザの発話の意思を抽出することができる。
以上のように、音声処理装置は、言語モデルごとにマッチング処理を行い、音声認識結果としての総合スコアを基に、ユーザの発話の意思を示す意思情報を選択するようにしたので、意味解析処理などの言語処理を行うことなく、より簡単な構成で、ユーザの発話の意思を抽出することができる。
本発明によれば、マッチング処理を行うようにしたので、音声データに対応する単語モデル系列を構成することができる。また、本発明によれば、音声認識結果としての総合スコアを基に、意思情報を選択するようにしたので、より簡単な構成で、ユーザの発話の意思を抽出することができる。
本発明は、音声による地名の問い合わせに対して、対応する地図情報を表示するデータベース検索装置、音声による命令に対して荷物の仕分けを行う産業用ロボット、音声の指令によって所定の処理を実行するコンピュータのアプリケーションプログラム、キーボードに代えて音声を入力してテキストデータを生成するディクテーションシステム、またはユーザと会話するロボット対話システムなどに適用することができる。
上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。この場合、例えば、音声処理装置は、所定のプログラムを実行するパーソナルコンピュータで実現することができる。
図22はパーソナルコンピュータの構成の例を示すブロック図である。CPU(Central Processing Unit)121は、ROM(Read Only Memory)122、または記録部128に記録されているプログラムに従って各種の処理を実行する。RAM(Random Access Memory)123には、CPU121が実行するプログラムやデータなどが適宜記憶される。これらのCPU121、ROM122、およびRAM123は、バス124により相互に接続されている。
CPU121にはまた、バス124を介して入出力インタフェース125が接続されている。入出力インタフェース125には、マイクロフォン、キーボード、マウス、スイッチなどよりなる入力部126、ディスプレイ、スピーカ、ランプなどによる出力部127が接続されている。CPU121は、入力部126から入力される指令に対応して各種の処理を実行する。
入出力インタフェース125に接続されている記録部128は、例えばハードディスクなどで構成され、CPU121が実行するプログラムや各種のデータを記録する。通信部129は、図示せぬインターネット、その他のネットワークなどの通信網を介して、外部装置と通信する。
また、通信部129を介してプログラムを取得し、記録部128に記録してもよい。
入出力インタフェース125に接続されているドライブ130は、磁気ディスク151、光ディスク152、光磁気ディスク153、或いは半導体メモリ154などが装着されたとき、それらを駆動し、そこに記録されているプログラムやデータなどを取得する。取得されたプログラムやデータは、必要に応じて記録部128に転送され、記録される。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
この記録媒体は、図22に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク151(フレキシブルディスクを含む)、光ディスク152(CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む)、光磁気ディスク153(MD(Mini-Disc)(商標)を含む)、若しくは半導体メモリ154などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM122や、記録部128に含まれるハードディスクなどで構成される。
なお、上述した一連の処理を実行させるプログラムは、必要に応じてルータ、モデムなどのインタフェースを介して、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の通信媒体を介してコンピュータにインストールされるようにしてもよい。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
また、本明細書において、記録媒体に格納されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
従来の音声認識装置の構成を示すブロック図である。 本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。 音声理解の処理を説明するフローチャートである。 マッチング処理を説明するフローチャートである。 音響モデルを説明する図である。 意思および意思に対応する例文を説明する図である。 単語辞書を説明する図である。 意思および意思に対応する例文を説明する図である。 単語辞書を説明する図である。 トライグラム表を説明する図である。 バイグラム表を説明する図である。 ユニグラム表を説明する図である。 本発明に係る音声処理装置の一実施の形態の構成を示すブロック図である。 音声理解の処理を説明するフローチャートである。 音声理解結果を説明する図である。 マッチング処理を説明するフローチャートである。 意思および意思に対応する例文を説明する図である。 単語辞書を説明する図である。 クラストライグラム表を説明する図である。 クラスバイグラム表を説明する図である。 クラスユニグラム表を説明する図である。 パーソナルコンピュータの構成の例を示すブロック図である。
符号の説明
33 特徴抽出部, 34 マルチマッチング部, 35 音響モデルデータベース, 36−1乃至36−N,36 意思情報保持部, 37 意思選択部, 51 音響スコア算出部, 52 言語スコア算出部, 53−1乃至53−N,53 辞書データベース, 54−1乃至54−N,54 文法データベース, 73 特徴抽出部, 74 マルチマッチング部, 75 音響モデルデータベース, 76−1乃至76−N,76 意思情報保持部, 77 意思選択部, 91 音響スコア算出部, 92 言語スコア算出部, 93−1乃至93−N,93 辞書データベース, 94−1乃至94−N,94 文法データベース, 121 CPU, 122 ROM, 123 RAM, 128 記録部, 151 磁気ディスク, 152 光ディスク, 153 光磁気ディスク, 154 半導体メモリ

Claims (6)

  1. 入力された音声信号から、ユーザの発話の意思を抽出する音声処理装置において、
    前記音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出手段と、
    音響モデルを記憶する音響モデル記憶手段と、
    1つの意思を示す意思情報ごとに、前記意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とから構成される言語モデルを記憶する言語モデル記憶手段と、
    前記意思情報に対応する前記文法規則および前記単語辞書に基づいて構成された単語系列と、入力された前記音声信号との音響的な類似度を示す音響スコアを、前記特徴量を基に算出する音響スコア算出手段と、
    前記意思情報に対応する前記単語系列と、前記音声信号との言語的な類似度を示す言語スコアを、前記単語系列に対応する前記意思情報の前記言語モデルを用いて算出する言語スコア算出手段と、
    前記意思情報ごとに、前記特徴量、前記音響モデル、および前記意思情報の前記言語モデルを用いて、1または複数の前記単語系列を構成するとともに、前記音響スコアおよび前記言語スコアを基に、前記単語系列の音声認識結果としての尤度を示す総合スコアを算出し、前記意思情報に対応する1または複数の前記単語系列のうち、前記総合スコアが最も高い前記単語系列の前記総合スコアを、対応する前記意思情報の前記総合スコアとするマッチング手段と、
    複数の前記意思情報のうち、前記総合スコアが最も高い前記意思情報を前記ユーザの意思を示す意思情報として選択する選択手段と
    を備えることを特徴とする音声処理装置。
  2. 前記選択手段は、複数の前記意思情報のうち、前記総合スコアの高い順に、所定の順位までの前記意思情報を前記ユーザの発話の意思の候補として選択する
    ことを特徴とする請求項1に記載の音声処理装置。
  3. 前記言語モデル記憶手段は、所定の単語が、他の単語と置き換え可能なクラスを用いて表された前記文法規則と、前記単語辞書とから構成された、前記意思情報ごとの前記言語モデルを記憶し、
    前記マッチング手段は、構成した前記単語系列に含まれる前記クラスに属する単語のうち、音響スコアの最も高い単語を、前記クラスに最も適合する単語としてさらに選択する
    ことを特徴とする請求項1に記載の音声処理装置。
  4. 入力された音声信号から、ユーザの発話の意思を抽出する音声処理方法において、
    前記音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出ステップと、
    1つの意思を示す意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とに基づいて構成された単語系列と、入力された前記音声信号との音響的な類似度を示す音響スコアを、前記特徴量を基に算出する音響スコア算出ステップと、
    前記意思情報に対応する前記単語系列と、前記音声信号との言語的な類似度を示す言語スコアを、前記単語系列に対応する前記意思情報の前記文法規則および前記単語辞書から構成される言語モデルを用いて算出する言語スコア算出ステップと、
    前記意思情報ごとに、前記特徴量、音響モデル、および前記意思情報の前記言語モデルを用いて、1または複数の前記単語系列を構成するとともに、前記音響スコアおよび前記言語スコアを基に、前記単語系列の音声認識結果としての尤度を示す総合スコアを算出し、前記意思情報に対応する1または複数の前記単語系列のうち、前記総合スコアが最も高い前記単語系列の前記総合スコアを、対応する前記意思情報の前記総合スコアとするマッチングステップと、
    複数の前記意思情報のうち、前記総合スコアが最も高い前記意思情報を前記ユーザの意思を示す意思情報として選択する選択ステップと
    を含むことを特徴とする音声処理方法。
  5. 入力された音声信号から、ユーザの発話の意思を抽出する音声処理用のプログラムであって、
    前記音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出ステップと、
    1つの意思を示す意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とに基づいて構成された単語系列と、入力された前記音声信号との音響的な類似度を示す音響スコアを、前記特徴量を基に算出する音響スコア算出ステップと、
    前記意思情報に対応する前記単語系列と、前記音声信号との言語的な類似度を示す言語スコアを、前記単語系列に対応する前記意思情報の前記文法規則および前記単語辞書から構成される言語モデルを用いて算出する言語スコア算出ステップと、
    前記意思情報ごとに、前記特徴量、音響モデル、および前記意思情報の前記言語モデルを用いて、1または複数の前記単語系列を構成するとともに、前記音響スコアおよび前記言語スコアを基に、前記単語系列の音声認識結果としての尤度を示す総合スコアを算出し、前記意思情報に対応する1または複数の前記単語系列のうち、前記総合スコアが最も高い前記単語系列の前記総合スコアを、対応する前記意思情報の前記総合スコアとするマッチングステップと、
    複数の前記意思情報のうち、前記総合スコアが最も高い前記意思情報を前記ユーザの意思を示す意思情報として選択する選択ステップと
    を含むことを特徴とするコンピュータが読みとり可能なプログラムが記録されている記録媒体。
  6. 入力された音声信号から、ユーザの発話の意思を抽出する音声処理を、コンピュータに行わせるプログラムにおいて、
    前記音声信号の音響的な特徴を示す特徴量を抽出する特徴量抽出ステップと、
    1つの意思を示す意思情報に対応する複数の例文から生成されたN‐gramに基づく文法規則と、単語辞書とに基づいて構成された単語系列と、入力された前記音声信号との音響的な類似度を示す音響スコアを、前記特徴量を基に算出する音響スコア算出ステップと、
    前記意思情報に対応する前記単語系列と、前記音声信号との言語的な類似度を示す言語スコアを、前記単語系列に対応する前記意思情報の前記文法規則および前記単語辞書から構成される言語モデルを用いて算出する言語スコア算出ステップと、
    前記意思情報ごとに、前記特徴量、音響モデル、および前記意思情報の前記言語モデルを用いて、1または複数の前記単語系列を構成するとともに、前記音響スコアおよび前記言語スコアを基に、前記単語系列の音声認識結果としての尤度を示す総合スコアを算出し、前記意思情報に対応する1または複数の前記単語系列のうち、前記総合スコアが最も高い前記単語系列の前記総合スコアを、対応する前記意思情報の前記総合スコアとするマッチングステップと、
    複数の前記意思情報のうち、前記総合スコアが最も高い前記意思情報を前記ユーザの意思を示す意思情報として選択する選択ステップと
    を含むことを特徴とするプログラム。
JP2004233007A 2004-08-10 2004-08-10 音声処理装置および方法、記録媒体、並びにプログラム Expired - Fee Related JP4581549B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004233007A JP4581549B2 (ja) 2004-08-10 2004-08-10 音声処理装置および方法、記録媒体、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004233007A JP4581549B2 (ja) 2004-08-10 2004-08-10 音声処理装置および方法、記録媒体、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006053203A JP2006053203A (ja) 2006-02-23
JP4581549B2 true JP4581549B2 (ja) 2010-11-17

Family

ID=36030744

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004233007A Expired - Fee Related JP4581549B2 (ja) 2004-08-10 2004-08-10 音声処理装置および方法、記録媒体、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4581549B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4689497B2 (ja) * 2006-02-28 2011-05-25 三菱電機株式会社 音声認識装置
JP2010224194A (ja) * 2009-03-23 2010-10-07 Sony Corp 音声認識装置及び音声認識方法、言語モデル生成装置及び言語モデル生成方法、並びにコンピューター・プログラム
JP2011033680A (ja) * 2009-07-30 2011-02-17 Sony Corp 音声処理装置及び方法、並びにプログラム
JP2012047924A (ja) * 2010-08-26 2012-03-08 Sony Corp 情報処理装置、および情報処理方法、並びにプログラム
WO2014125736A1 (ja) 2013-02-14 2014-08-21 ソニー株式会社 音声認識装置、および音声認識方法、並びにプログラム
CN103578465B (zh) * 2013-10-18 2016-08-17 威盛电子股份有限公司 语音辨识方法及电子装置
WO2016151698A1 (ja) * 2015-03-20 2016-09-29 株式会社 東芝 対話装置、方法及びプログラム
JP6954549B1 (ja) * 2021-06-15 2021-10-27 ソプラ株式会社 エンティティとインテントとコーパスの自動生成装置及びプログラム
CN117672227B (zh) * 2024-01-25 2024-04-05 深圳市音随我动科技有限公司 基于智能音箱的问答控制方法、装置、计算机设备和介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03273298A (ja) * 1990-03-22 1991-12-04 Nec Corp 音声認識方式
JP2000259628A (ja) * 1999-03-08 2000-09-22 Atr Interpreting Telecommunications Res Lab 音声理解装置及び音声理解システム
JP2001228891A (ja) * 2000-02-16 2001-08-24 Mitsubishi Electric Corp 音声対話装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03273298A (ja) * 1990-03-22 1991-12-04 Nec Corp 音声認識方式
JP2000259628A (ja) * 1999-03-08 2000-09-22 Atr Interpreting Telecommunications Res Lab 音声理解装置及び音声理解システム
JP2001228891A (ja) * 2000-02-16 2001-08-24 Mitsubishi Electric Corp 音声対話装置

Also Published As

Publication number Publication date
JP2006053203A (ja) 2006-02-23

Similar Documents

Publication Publication Date Title
Xiong Fundamentals of speech recognition
US10347244B2 (en) Dialogue system incorporating unique speech to text conversion method for meaningful dialogue response
US10140973B1 (en) Text-to-speech processing using previously speech processed data
Mao et al. Speech recognition and multi-speaker diarization of long conversations
Gaurav et al. Development of application specific continuous speech recognition system in Hindi
Alghamdi et al. Arabic broadcast news transcription system
Bai et al. A Hybrid Approach to Acoustic Scene Classification Based on Universal Acoustic Models.
Shivakumar et al. Kannada speech to text conversion using CMU Sphinx
WO2004047075A1 (ja) 音声処理装置および方法、記録媒体並びにプログラム
JP4581549B2 (ja) 音声処理装置および方法、記録媒体、並びにプログラム
Ali Multi-dialect Arabic speech recognition
Kayte et al. Implementation of Marathi Language Speech Databases for Large Dictionary
Nguyen et al. Development of a Vietnamese speech recognition system for Viettel call center
Kumar et al. Automatic spontaneous speech recognition for Punjabi language interview speech corpus
Allauzen et al. A Hybrid Seq-2-Seq ASR Design for On-Device and Server Applications.
Luong et al. Tonal phoneme based model for Vietnamese LVCSR
Biswas et al. Speech Recognition using Weighted Finite-State Transducers
Patel et al. An Automatic Speech Transcription System for Manipuri Language.
Tarján et al. Improved recognition of Hungarian call center conversations
Valizada Subword speech recognition for agglutinative languages
Mansikkaniemi Acoustic model and language model adaptation for a mobile dictation service
Nga et al. A Survey of Vietnamese Automatic Speech Recognition
Garud et al. Development of hmm based automatic speech recognition system for Indian english
Tun et al. A speech recognition system for Myanmar digits
Vancha et al. Word-level speech dataset creation for sourashtra and recognition system using kaldi

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100405

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100602

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100803

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100816

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130910

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees