(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0016】
以下、本発明の複数の実施形態について、図面を参照して説明する。なお、各実施形態は、本発明の原理に則った具体的な例を示しているが、これらは本発明の理解のためのものであり、本発明を限定的に解釈するために用いられるものではない。
【0017】
[第1実施形態]
図1は、第1実施形態に係る音声認識システムのシステム構成及び機能構成の一例を示す図である。
【0018】
音声認識システムは、端末装置102と、音声認識サーバ103とを備える。端末装置102と音声認識サーバ103は、例えば携帯電話網、インターネット等の通信ネットワーク(図示せず)を介して、互いに通信することができる。端末装置102には、内部あるいは外部にマイクロフォン101が接続される。
【0019】
端末装置102は、例えばスマートフォン、フィーチャーフォン、タブレットコンピュータ、PC(Personal Computer)、ウェアラブルデバイス、車載カーナビゲーション機、車載オーディオ機器、車載ECU(Electronic Control Unit)などの情報通信機器である。音声認識サーバ103は、例えばサーバコンピュータなどの情報通信機器である。
【0020】
端末装置102は、マイクロフォン101を介して入力されるユーザの音声データに対する音声認識機能を有する。また、端末装置102は、ユーザの音声データを音声認識サーバ103に送信することにより、音声認識サーバ103の有する音声認識機能を利用することができる。音声認識サーバ103は、端末装置102から受信した音声データに対する音声認識機能を有し、その認識結果を端末装置102に送信する。
【0021】
端末装置102は、音声認識サーバ103と比べて、計算機リソース(例えば、演算処理速度や記憶容量)が少ない。そのため、端末装置102における音声認識機能は、音声認識辞書に登録されている語句数が少ないことや処理速度が遅いことにより、認識能力が低く制限される。一方で、音声認識サーバ103における音声認識機能は、音声認識辞書に登録されている語句数が多いことや処理速度が速いことにより、認識能力が高い。音声認識サーバ103の音声認識辞書は、例えば、正式名称以外にも通称名や省略名称など多様な言い回しを認識できるよう語彙を拡張することが可能である。また、音声認識サーバ103の音声認識辞書は、集中管理によるメンテナンスが可能なため、例えば、新しい施設のオープン、新曲のリリース等に合わせて音声認識辞書の内容を更新することが容易である。ただし、端末装置102と音声認識サーバ103の通信を確立できない場合には、音声認識サーバ103における音声認識機能を利用できないというデメリットはある。
【0022】
そこで、本実施形態の端末装置102は、音声認識サーバ103から受信した音声認識の結果が示す語句を、その音声認識辞書に登録する機能を有する。これにより、端末装置102の音声認識辞書に、ユーザによって使用される可能性の高い語句を効率的に追加し、音声認識サーバ103と通信を確立できない環境でも、ユーザの利便性を向上することができる。
【0023】
端末装置102は、音声認識部104と、システム辞書105及びユーザ辞書106(これらを「音声認識辞書」と呼んでもよい)と、通信制御部107と、認識結果取得部108と、インターフェイス制御部109と、辞書管理部110とを有する。辞書管理部110は、形態素解析部111と、読み選択部112とを有する。
【0024】
音声認識部104は、ユーザの音声データの入力を、マイクロフォン101を介して受け付け、その音声データの音声認識処理を実行し、認識結果として、例えば、認識された語句(文字列)と、認識の信頼度と、その語句の読みデータとを出力する。具体的には、音声認識部104は、システム辞書105及びユーザ辞書106を参照して、それらに登録されている語句の中から、入力された音声に最も類似する読みを持つ語句あるいは複数の語句により表現される語句を推定する。また、音声認識部104は、語句の推定とともに、当該推定の信頼度を算出する。このような音声認識処理は、既存の技術を用いて実現できるため、詳細な説明を省略する。
【0025】
システム辞書105は、予め登録された複数の語句を含む音声認識辞書である。ユーザ辞書106は、システム辞書105に登録されていない、端末装置102のユーザにより使用された新規語句を登録するための音声認識辞書である。これらの辞書には、語句の文字列とともにその語句の読みデータが登録される。
【0026】
通信制御部107は、端末装置102の備える通信装置(図示せず)を介して音声認識サーバ103と通信する。例えば、通信制御部107は、マイクロフォン101を介してユーザの音声データの入力を受け付け、その音声データを音声認識サーバ103に送信する。通信制御部107は、送信する音声データに圧縮処理を施してデータサイズを小さくしてもよい。また例えば、通信制御部107は、送信した音声データに対する音声認識処理の認識結果を、音声認識サーバ103から受信して、認識結果取得部108に出力する。音声認識サーバ103からの認識結果は、例えば、認識された語句(文字列)と、認識の信頼度とを含み、その語句の読みデータを含んでいない。もちろん、通信制御部107は、音声認識サーバ103以外の機器と通信してもよい。
【0027】
認識結果取得部108は、音声認識部104から出力される認識結果を取得する。また、認識結果取得部108は、通信制御部107を介して音声認識サーバ103からの認識結果を取得する。認識結果取得部108は、取得した2つの認識結果のいずれかを選択し、インターフェイス制御部109に出力する。認識結果取得部108は、例えば各認識結果に含まれる信頼度を比較して、信頼度が高い方の認識結果を選択する。
【0028】
また、認識結果取得部108は、音声認識サーバ103による認識結果(「第1の認識結果」ともいう)と音声認識部104による認識結果(「第2の認識結果」ともいう)との両方を、辞書管理部110に出力する。
【0029】
インターフェイス制御部109は、端末装置102に接続されるディスプレイやスピーカ等の出力装置(図示せず)を介してユーザに情報を出力する。また、インターフェイス制御部109は、端末装置102の備えるソフトキーやハードキー等の入力装置(図示せず)を介してユーザからの情報の入力を受け付ける。なお、インターフェイス制御部109は、認識結果取得部108から入力された認識結果をユーザに提示し、当該認識結果を許可するかキャンセルするかをユーザから受け付けてもよい。
【0030】
辞書管理部110は、システム辞書105及びユーザ辞書106を管理する。具体的には、辞書管理部110は、認識結果取得部108により選択された認識結果(音声認識部104による認識結果、又は音声認識サーバ103による認識結果)を参照し、当該認識結果が示す認識語句がシステム辞書105又はユーザ辞書106に登録されているか否かを判定する。辞書管理部110は、認識語句が登録されているか否かを文字列の一致で判定する。認識語句がシステム辞書105及びユーザ辞書106に登録されていない場合、辞書管理部110は、当該認識語句を新規語句としてユーザ辞書106に登録する。
【0031】
ここで、認識結果取得部108により選択された認識結果が音声認識サーバ103による認識結果である場合、その認識結果には、認識語句の読みが含まれていない。この場合、辞書管理部110は、形態素解析部111と読み選択部112を用いて、認識語句に読みデータを付与する。そして、辞書管理部110は、認識語句の文字列とともに付与されたその語句の読みデータを、ユーザ辞書106に登録する。
【0032】
形態素解析部111は、認識語句の文字列に対して形態素解析を実行する。形態素解析とは、テキストデータを、文法や単語の品詞情報等を用いて、形態素と呼ばれる言語の単位に分割し、それぞれの形態素の品詞や読み等の情報を付与する技術である。日本語の形態素解析ツールは、例えば、非特許文献(MeCab: Yet Another Part-of-Speech and Morphological Analyzer, http://taku910.github.io/mecab/)に開示されている「Mecab」が知られており、本実施形態はこれを利用することができる。形態素解析についての詳細な説明は省略する。
【0033】
具体的には、形態素解析部111は、音声認識サーバ103による第1の認識結果が示す語句の文字列に対して形態素解析を実行し、当該語句を複数の形態素に分割するとともに、各形態素に読みを付与する。また、形態素解析部111は、音声認識部104による第2の認識結果が示す語句の文字列に対して形態素解析を実行し、当該語句を複数の形態素に分割する(各形態素に対する読みの付与は必須ではない)。
【0034】
読み選択部112は、第1の認識結果が示す語句を構成する各形態素に対して、付与すべき読みを選択する。具体的には、読み選択部112は、第1の認識結果が示す語句を構成する各形態素(「対象形態素」とも呼ぶ)に対して、文字列の表記が一致する形態素を第2の認識結果が示す語句を構成する各形態素(「候補形態素」とも呼ぶ)の中から特定する。
【0035】
読み選択部112は、表記が一致する候補形態素を特定できた対象形態素に対して、第2の認識結果(読みデータを含む)から当該候補形態素の読みを抽出し、当該対象形態素に付与すべき読みとして選択する。
【0036】
読み選択部112は、表記が一致する候補形態素を特定できなかった対象形態素に対して、形態素解析部111により付与された読みを抽出し、当該対象形態素に付与すべき読みとして選択する。
【0037】
辞書管理部110は、上述のようにして読み選択部112により選択された各対象形態素の読みを取得し、認識語句の文字列とともにその語句の読みデータを、ユーザ辞書106に登録する。
【0038】
音声認識サーバ103は、端末装置102からユーザの音声データを受信し、その音声データの音声認識処理を実行し、認識結果として、例えば、認識された語句(文字列)と認識の信頼度を、端末装置102に送信する。上述したように、認識結果には、読みデータが含まれない。具体的には、音声認識サーバ103は、自装置の備える音声認識辞書(図示せず)を参照して、その中に登録されている語句の中から、入力された音声に最も類似する読みを持つ語句あるいは複数の語句により表現される語句を推定する。また、音声認識サーバ103は、語句の推定とともに、当該推定の信頼度を算出する。このような音声認識処理は、既存の技術を用いて実現できるため、詳細な説明を省略する。
【0039】
なお、音声認識サーバ103の備える音声認識辞書には、予め複数の語句が登録されている。また、当該音声認識辞書には、例えば管理者によってあるいはプログラムによって自動的に新しい語句が追加される。また、当該音声認識辞書に登録されている語句は、例えば管理者によってあるいはプログラムによって自動的に更新することができる。
【0040】
端末装置102は、例えば、演算装置、主記憶装置、外部記憶装置、通信装置、入力装置、出力装置等を備えるコンピュータにより実現することができる。演算装置は、例えば、CPU(Central Processing Unit)などの装置である。主記憶装置は、例えば、RAM(Random Access Memory)などの記憶装置である。外部記憶装置は、例えば、ハードディスクやSSD(Solid State Drive)、あるいはフラッシュROM(Read Only Memory)などの記憶装置である。通信装置は、ネットワークケーブルを介して有線通信を行う通信装置、アンテナを介して無線通信を行う通信装置を含む、情報を送受信する装置である。入力装置は、キーボードやマウスなどのポインティングデバイス、タッチパネル、マイクロフォンなどを含む、入力情報を受け付ける装置である。出力装置は、ディスプレイ、プリンタ、スピーカなどを含む、出力情報を出力する装置である。
【0041】
端末装置102の各機能(
図1参照、これらを1つの制御部と呼んでもよい)は、例えば、演算装置が所定のアプリケーションプログラムを実行することによって実現することができる。このアプリケーションプログラムは、例えば、主記憶装置又は外部記憶装置内に記憶され、実行にあたって主記憶装置上にロードされ、演算装置によって実行される。音声認識辞書は、例えば、主記憶装置及び外部記憶装置の少なくとも一方の記憶部に格納される。音声認識サーバ103も、上述したようなコンピュータにより実現することができる。
【0042】
図2は、第1実施形態に係る端末装置の音声認識処理および認識語句登録処理の一例を示すフローチャートである。本フローチャートは、音声データの入力及びその音声認識処理が実行された後の処理を示している。端末装置102と音声認識サーバ103の通信は確立されているものとする。
【0043】
まず、認識結果取得部108は、入力された音声データの音声認識結果を取得したか否かを判定する(ステップS1)。具体的には、認識結果取得部108は、音声認識部104及び音声認識サーバ103のそれぞれから認識結果を取得したか否かを判定する。2つの認識結果を取得していないと判定した場合(ステップS1:NO)、認識結果取得部108は、ステップS1の処理を継続する。
【0044】
認識結果取得部108は、2つの認識結果を取得したと判定した場合(ステップS1:YES)、認識結果を選択する(ステップS2)。具体的には、認識結果取得部108は、ステップS1で取得した2つの認識結果うち、各認識結果に含まれる信頼度を比較して、信頼度が高い方の認識結果を選択する。信頼度の範囲が最小値0〜最大値1である場合を考える。例えば、音声認識部104から得られた認識結果が「東京国際空港」(信頼度0.92)、音声認識サーバ103から得られた認識結果が「東京国際空港」(信頼度0.97)の場合は、どちらの認識結果も信頼度が高いが、より信頼度が高い方が選択される。また例えば、音声認識部104から得られた認識結果が「成田国際空港」(信頼度0.32)、音声認識サーバ103から得られた認識結果が「セントレア国際空港」(信頼度0.94)の場合は、異なる語句の信頼度ではあるが、音声認識部104の認識結果は誤っている可能性が高いため、信頼度が高い方が選択される。
【0045】
なお、端末装置102と音声認識サーバ103の通信が確立されていない場合、認識結果取得部108は、ステップS1において、音声認識部104から認識結果を取得したか否かを判定し、ステップS2において、信頼度に関わらず音声認識部104の認識結果を選択する。
【0046】
次に、認識結果取得部108は、選択した認識結果がキャンセルされたか否かを判定する(ステップS3)。具体的には、インターフェイス制御部109は、ステップS2で選択された認識結果が示す語句(あるいは当該語句に対応する操作コマンド)を、ディスプレイやスピーカを介してユーザに提示するとともに、当該語句(あるいは操作コマンド)を許可するかキャンセルするかの選択を、入力装置を介してユーザから受け付ける。インターフェイス制御部109は、提示した語句(あるいは操作コマンド)の修正をユーザから受け付けてもよい。
【0047】
インターフェイス制御部109がキャンセルの選択を受け付けた場合、認識結果取得部108は、認識結果がキャンセルされたと判定し(ステップS3:YES)、処理をステップS1に戻し、次の音声データに関する処理を実行する。
【0048】
インターフェイス制御部109が許可の選択を受け付けた場合、認識結果取得部108は、認識結果が許可されたと判定し(ステップS3:NO)、処理をステップS4に進める。このとき、認識結果取得部108は、ステップS2で選択されかつステップS3で許可された認識結果を辞書管理部110に出力する。ステップS3で語句が修正された場合には、認識結果取得部108は、その修正後の認識結果を辞書管理部110に出力すればよい。なお、ユーザに提示した語句(あるいは操作コマンド)が許可された場合、端末装置102の処理部(図示せず)は、当該語句(あるいは操作コマンド)に対応付けられた機能を実行してもよい。
【0049】
次に、辞書管理部110は、認識語句が音声認識辞書に登録済であるか否かを判定する(ステップS4)。具体的には、辞書管理部110は、ステップS3で認識結果取得部108から出力された認識結果を参照し、当該認識結果が示す語句がシステム辞書105又はユーザ辞書106に登録されているか否かを判定する。なお、当該認識結果が音声認識部104による認識結果である場合、当該認識結果が示す認識語句は、システム辞書105又はユーザ辞書106に登録されている。一方、当該認識結果が音声認識サーバ103による認識結果である場合、当該認識結果が示す認識語句は、システム辞書105又はユーザ辞書106に登録されていない場合がある。辞書管理部110は、認識語句がシステム辞書105又はユーザ辞書106に登録済であると判定した場合(ステップS4:YES)、処理をステップS1に戻し、認識結果取得部108は次の音声データに関する処理を実行する。
【0050】
辞書管理部110は、認識語句がシステム辞書105及びユーザ辞書106に登録済でないと判定した場合(ステップS4:NO)、当該認識語句をユーザ辞書106に登録するか否かを判定する(ステップS5)。具体的には、辞書管理部110は、同一の認識語句について、ステップS4で登録されていないと判定した回数を記録する。そして、辞書管理部110は、当該認識語句の回数が所定閾値を超えた場合に、ユーザ辞書106に登録すると判定する。このようにすれば、少ない回数しか認識されていない語句(すなわち、使用頻度が低いと推測される語句)が、即座にユーザ辞書106に登録されてしまうのを避けることができる。
【0051】
ステップS5の判定方法は、上述の例に限られない。例えば、辞書管理部110は、当該認識語句の信頼度を参照してもよい。そして、辞書管理部110は、当該信頼度が所定閾値より大きい場合に、ユーザ辞書106に登録すると判定する。このようにすれば、認識の信頼度が低い語句が、ユーザ辞書106に登録されてしまうのを避けることができる。もちろん、ステップS5の処理を省略して、辞書管理部110は、無条件で認識語句をユーザ辞書106に登録してもよい。
【0052】
辞書管理部110は、認識語句をユーザ辞書106に登録しないと判定した場合(ステップS5:NO)、処理をステップS1に戻し、認識結果取得部108は次の音声データに関する処理を実行する。
【0053】
辞書管理部110は、認識語句をユーザ辞書106に登録すると判定した場合(ステップS5:YES)、当該認識語句に読みを付与する(ステップS6)。ステップS6については、
図3を用いて後に詳述する。
【0054】
辞書管理部110は、ステップS6の処理の後、認識語句を新規語句としてユーザ辞書106に登録する(ステップS7)。具体的には、辞書管理部110は、認識語句の文字列とともにステップS6で付与されたその語句の読みデータを、ユーザ辞書106に登録する。そして、辞書管理部110は、処理をステップS1に戻し、認識結果取得部108は次の音声データに関する処理を実行する。
【0055】
図3は、第1実施形態に係る端末装置の読み付与処理の一例を示すフローチャートである。本フローチャートは、
図2のステップS6の処理の詳細を示している。
【0056】
まず、辞書管理部110は、音声認識サーバ103による第1の認識結果を、認識結果取得部108から取得する(ステップS61)。また、辞書管理部110は、音声認識部104による第2の認識結果を、認識結果取得部108から取得する(ステップS62)。
【0057】
次に、形態素解析部111は、ステップS61で取得された第1の認識結果が示す語句の文字列に対して形態素解析を実行し、当該語句を複数の形態素に分割するとともに、各形態素に読みを付与する(ステップS63)。また、形態素解析部111は、ステップS62で取得された第2の認識結果が示す語句の文字列に対して形態素解析を実行し、当該語句を複数の形態素に分割する(ステップS64)。
【0058】
次に、読み選択部112は、ステップS63で解析された第1の認識結果が示す語句を構成する各対象形態素に対して、文字列の表記が一致する形態素をステップS64で解析された第2の認識結果が示す語句を構成する各候補形態素の中から特定する(ステップS65)。
【0059】
次に、読み選択部112は、ステップS65において表記が一致する候補形態素を特定できた対象形態素に対して、第2の認識結果から当該候補形態素の読みを抽出し、当該対象形態素に付与すべき読みとして選択する(ステップS66)
【0060】
次に、読み選択部112は、ステップS65において表記が一致する候補形態素を特定できなかった対象形態素に対して、ステップS63で形態素解析部111により付与された読みを抽出し、当該対象形態素に付与すべき読みとして選択する(ステップS67)。
【0061】
なお、辞書管理部110は、ステップS66及びステップS67で読み選択部112により選択された各対象形態素の読みを取得し、認識語句に対して付与し、本フローチャートの処理を終了する。
【0062】
以下に、独特の読みを持つ語句やユーザにより誤って使用されている読みを持つ語句に対して適切な読みを付与することができる読み付与の原理について、具体例を用いて説明する。
【0063】
図4は、認識語句に対して形態素解析により付与された読みの例を示す図である。
図4では、符号401は、ユーザが発声した発話内容を示し、符号402は、音声認識サーバ103から得られた認識結果のテキスト文字列を示し、符号403は、テキスト文字列を形態素解析した結果を示す。形態素解析結果において、「」は各形態素の区切り位置を示し、()内は各形態素の読みを示す。
図4では、No.1〜3の例が示されている。
【0064】
例No.1は、形態素解析結果が正しい場合である。例No.1は、「さっぽろぜんくうほてる」というユーザの発話に対して、「札幌全空ホテル」という認識結果が得られ、「札幌(さっぽろ)」「全空(ぜんくう)」「ホテル(ほてる)」という形態素解析結果が得られた場合を示している。認識結果が示す語句「札幌全空ホテル」と、形態素解析結果が示す読み「さっぽろぜんくうほてる」とが併せてユーザ辞書106に追加されれば、その後、「さっぽろぜんくうほてる」というユーザの発話に対しては、端末装置102内の音声認識部104により正しい認識結果「札幌全空ホテル」が得られるようになる。
【0065】
例No.2は、形態素解析結果が誤っている場合である。例No.2は、「じゅーそーしょーてんがい」というユーザの発話に対して、「十三商店街」という認識結果が得られ、「十三(じゅーさん)」「商店街(しょーてんがい)」という形態素解析結果が得られた場合を示している。正しくは「十三」に対して「じゅーそー」読みが付与されるべきところ、誤って「じゅうさん」という読みが付与されている。
【0066】
例No.3は、ユーザが正式な読み方を知らなかった場合である。例No.3は、「さっぽろあかほてる」というユーザの発話に対して、「札幌AKAホテル」という認識結果が得られ、「札幌(さっぽろ)」「AKA(えいけいえー)」「ホテル(ほてる)」という形態素解析結果が得られた場合を示している。「AKA」の正式な読み方は「えいけいえー」であるが、ユーザはそれを知らずに「さっぽろあかほてる」と発話してしまい、形態素解析では正式な「さっぽろえいけいえーほてる」という読みが付与されている。
【0067】
例No.2及び例No.3のいずれの場合も、ユーザの実際の発話と形態素解析により付けられた読みとの間に齟齬が生じている。このような齟齬が解消される原理について
図5を参照して説明する。
【0068】
図5は、第1実施形態に係る認識語句に対する読み付与の例を説明する模式図である。
【0069】
図5の例では、ユーザは「さっぽろあかほてる」と発話し(501)、音声認識サーバ103から「札幌AKAホテル」という認識結果が得られ(502)、音声認識部104からは「AKAプラザホテル」という認識結果が得られている(503)。
【0070】
音声認識サーバ103から得られる認識結果(502)は、テキスト文字列を含むが、読みは含まれていない。一方、音声認識部104から得られる認識結果(503)は、音声認識辞書への参照が可能であるため、読みが含まれている。ここでは、「AKAプラザホテル」に対して「あかぷらざほてる」という読みが付与されている。
【0071】
音声認識サーバ103から得られた認識結果(502)に対して形態素解析が実施されると、各形態素の読みが得られる(504)。ここでは、認識結果は「札幌」「AKA」「ホテル」の3つの形態素に分割され、各形態素にはそれぞれ「さっぽろ」「えいけいえー」「ほてる」という読みが付与されている。
【0072】
同様に、音声認識部104から得られた認識結果(503)に対しても形態素解析が実施される(505)。ここでは、認識結果は「AKA」「プラザ」「ホテル」の3つの形態素に分割される。このとき、各形態素の読みには、認識結果(503)で得られた読みが使用される。従って、各形態素にはそれぞれ「あか」「ぷらざ」「ほてる」という読みが付与されていると扱える。
【0073】
続いて、形態素解析結果(504)に含まれる各形態素のそれぞれに対して、表記が一致する形態素が形態素解析結果(505)に存在するか否かが判定され、一致する形態素の読みが抽出される(506)。ここでは、「AKA」「ホテル」の2つの形態素が対象となる。これらの形態素については、認識結果(503)に基づいた読み(505)が選択される。すなわち、「AKA」の読みには、「えいけいえー」の代わりに「あか」が選択される。「ホテル」の読みには、形態素解析結果(504)と同じ「ほてる」が選択される。一方、表記が一致する形態素が存在しなかった「札幌」の読みには、形態素解析結果(504)に含まれる「さっぽろ」がそのまま選択される。
【0074】
このようにして、形態素解析結果(504)に含まれる各形態素の一部の読みが入れ替えられた結果、「札幌AKAホテル」の読みは、「さっぽろあかほてる」となる(507)。そして、この表記「札幌AKAホテル」と読み「さっぽろあかほてる」のセットが、ユーザ辞書106に新規語句として登録される。その後、「さっぽろあかほてる」というユーザの発話に対しては、端末装置102内の音声認識部104により適切な認識結果「札幌AKAホテル」が得られるようになる。
【0075】
以上、本発明の第1実施形態について説明した。本実施形態の端末装置102は、音声認識サーバ103の認識結果に基づいて端末装置102の音声認識辞書に存在しない語句を新たに登録する際に、音声認識部104の認識結果から得られた読み情報を参照する。これにより、独特の読みを持つ語句やユーザにより誤って使用されている読みを持つ語句に対して適切な読みを付与して、音声認識辞書に新規語句を登録することができる。
【0076】
[第2実施形態]
第1実施形態では、辞書管理部110は、音声認識部104で得られた単一の認識結果を参照して読みを修正している。この場合、音声認識部104の認識結果に、表記が一致する形態素が現れない場合、読みを修正することができない。第2実施形態では、音声認識部104で得られる複数の認識結果を参照する。以下、第1実施形態と異なる点を中心に説明する。
【0077】
一般的な音声認識処理は、入力された音声に対応する文字列の候補として複数の仮説を生成し、それぞれの仮説に付けられたスコア(上述の信頼度)を参照してスコアの一番高い仮説を認識結果として出力する。スコアの高い上位N個の仮説は、認識結果のNベストと呼ばれる。
【0078】
音声認識部104は、NベストのN個の認識結果を生成して、これらの認識結果をスコアとともに認識結果取得部108に出力する。なお、音声認識部104は、Nに定数を設定してN個の認識結果を得るようにしてもよいし、スコアが一定値以上である認識結果の数をNとしてもよい。
【0079】
認識結果取得部108は、
図2のステップS2において、N個の認識結果のうちスコアの一番高い認識結果と、音声認識サーバ103から取得した認識結果とを比較して、いずれかの認識結果を選択する。
【0080】
辞書管理部110は、
図3のステップS62において、音声認識部104によるNベストのN個の第2の認識結果を、認識結果取得部108から取得する。形態素解析部111は、ステップS64において、ステップS62で取得されたN個の第2の認識結果それぞれについて形態素解析を実行する。
【0081】
読み選択部112は、
図3のステップS65において、ステップS63で解析された第1の認識結果が示す語句を構成する各対象形態素に対して、文字列の表記が一致する形態素をステップS64で解析されたN個の第2の認識結果が示す各語句を構成する各候補形態素の中から特定する。なお、読み選択部112は、ステップS66において、ステップS65で表記が一致する複数の候補形態素を特定した場合、スコアが高い(順位が高い)認識結果から当該候補形態素の読みを抽出し、対象形態素に付与すべき読みとして選択する。
【0082】
以下に、Nベストの認識結果を用いた読み付与の原理について、具体例を用いて説明する。
【0083】
図6は、Nベストの認識結果の例を示す図である。
図6は、音声認識部104で得られる認識結果のNベストを示している。
図6では、符号601は、認識結果の順位を示し、符号602は、認識結果を示し、符号603は、スコアを示す。
【0084】
図7は、第2実施形態に係る認識語句に対する読み付与の例を説明する模式図である。
図7は、N=2の場合を示している。
【0085】
図7の例では、ユーザは「さっぽろあかほてる」と発話し(701)、音声認識サーバ103から「札幌AKAホテル」という認識結果が得られ(702)、音声認識部104からは「札幌アサホテル」及び「AKAプラザホテル」の2つの認識結果が得られている(703)。
【0086】
音声認識サーバ103から得られる認識結果(702)は、テキスト文字列を含むが、読みは含まれていない。一方、音声認識部104から得られる2つの認識結果(703)は、音声認識辞書への参照が可能であるため、それぞれ読みが含まれている。ここでは、「札幌アサホテル」に対して「さっぽろあさほてる」という読みが付与され、「AKAプラザホテル」に対して「あかぷらざほてる」という読みが付与されている。
【0087】
音声認識サーバ103から得られた認識結果(702)に対して形態素解析が実施されると、各形態素の読みが得られる(704)。ここでは、認識結果は「札幌」「AKA」「ホテル」の3つの形態素に分割され、各形態素にはそれぞれ「さっぽろ」「えいけいえー」「ほてる」という読みが付与されている。
【0088】
同様に、音声認識部104から得られた2つの認識結果(703)に対しても形態素解析が実施される(705)。ここでは、「札幌アサホテル」は「札幌」「アサ」「ホテル」の3つの形態素に分割され、「AKAプラザホテル」は「AKA」「プラザ」「ホテル」の3つの形態素に分割される。このとき、各形態素の読みには、認識結果(703)で得られた読みが使用される。従って、各形態素「札幌」「アサ」「ホテル」には、それぞれ「さっぽろ」「あさ」「ほてる」という読みが付与され、各形態素「AKA」「プラザ」「ホテル」には、それぞれ「あか」「ぷらざ」「ほてる」という読みが付与されていると扱える。
【0089】
続いて、形態素解析結果(704)に含まれる各形態素のそれぞれに対して、表記が一致する形態素が形態素解析結果(705)に存在するか否かが判定され、一致する形態素の読みが抽出される(706)。ここでは、「札幌」「AKA」「ホテル」の3つの形態素が対象となる。これらの形態素については、認識結果(703)に基づいた読み(705)が選択される。すなわち、「札幌」の読みには、形態素解析結果(704)と同じ「さっぽろ」が選択される。「AKA」の読みには、「えいけいえー」の代わりに「あか」が選択される。「ホテル」の読みには、形態素解析結果(704)と同じ「ほてる」が選択される。
【0090】
このようにして、形態素解析結果(704)に含まれる各形態素の読みが入れ替えられた結果、「札幌AKAホテル」の読みは、「さっぽろあかほてる」となる(707)。そして、この表記「札幌AKAホテル」と読み「さっぽろあかほてる」のセットが、ユーザ辞書106に新規語句として登録される。その後、「さっぽろあかほてる」というユーザの発話に対しては、端末装置102内の音声認識部104により適切な認識結果「札幌AKAホテル」が得られるようになる。
【0091】
なお、
図7では説明を簡単にするため、N=2としているが、Nが3以上の場合も同様の原理で新規語句を登録ことができる。
【0092】
また、Nベストの認識結果から読みを取得することにより、仮に、音声認識部104での2つの認識結果「札幌アサホテル」及び「AKAプラザホテル」のうち、「札幌アサホテル」のスコアの方が高かった場合においても、「AKA」の読み「あか」を取得することが可能となる。
【0093】
ここで、Nベストの認識結果から読みを取得する場合、対象形態素に対して、表記が一致する複数の候補形態素が特定されることがある。このような場合について説明する。
【0094】
図8は、Nベストの認識結果から選択された各形態素と読みの例を示す図である。
図8では、符号801は、認識結果の順位を示し、符号802は、認識結果を示し、符号803は、スコアを示し、符号804は、認識結果を形態素解析した結果を示し、符号805は、選択された形態素と読みを示す。
【0095】
図7と同様に、音声認識サーバ103から得られた認識結果の形態素解析結果が、「札幌」「AKA」「ホテル」である場合を考える。この場合、各対象形態素と表記が一致する候補形態素は、No.1,3,4の「札幌(さっぽろ)」、No.2の「AKA(あか)」、No.4の「AKA(えいけいえー)」、No.1〜4の「ホテル(ほてる)」である。それぞれの対象形態素に対して複数の候補が存在する。
【0096】
対象形態素「札幌」については、いずれの候補形態素も同じ読みを有するため、どの候補を選択しても同じ読みが付与される。同様に、対象形態素「ホテル」についても、いずれの候補形態素も同じ読みを有するため、どの候補を選択しても同じ読みが付与される。一方、対象形態素「AKA」については、異なる読みを有する2つの候補形態素が存在する。No.2の「AKA(あか)」を選ぶか、No.4の「AKA(えいけいえー)」を選ぶかで読みが異なってしまう。そこで、本実施形態では、このような読みの競合を防止するため、表記が一致する候補形態素が複数存在する場合には、スコアが高い方の候補形態素の読みを選択するようにする。
【0097】
図8の例では、対象形態素「札幌」については、No.1の「札幌(さっぽろ)」が選択され、対象形態素「ホテル」についても、No.1の「ホテル(ほてる)」が選択され、対象形態素「AKA」については、No.2の「AKA(あか)」が選択される。この結果、「札幌AKAホテル」には、「さっぽろあかほてる」という読みが付与される。
【0098】
[第3実施形態]
第1実施形態では、
図2のステップS4において、認識語句がシステム辞書105又はユーザ辞書106に登録済である場合は、当該語句はユーザ辞書106に登録されない。第3実施形態では、認識語句がシステム辞書105又はユーザ辞書106に登録済であっても、読みが異なる場合は、当該語句をユーザ辞書106に登録する。以下、第1実施形態と異なる点を中心に説明する。
【0099】
図9は、第3実施形態に係る端末装置の音声認識処理および認識語句登録処理の一例を示すフローチャートである。
図2のフローチャートと異なり、ステップS6の処理が、ステップS3とステップS4の間に挿入されている。
【0100】
認識結果取得部108が認識結果が許可されたと判定した場合(ステップS3:NO)、辞書管理部110は、ステップS6の処理を実行し、その後、ステップS4の処理を実行する。なお、辞書管理部110は、当該認識結果が音声認識部104による認識結果である場合、既に読みが付与されているため、ステップS6の処理をスキップしてステップS4の処理を実行する。辞書管理部110は、認識語句をユーザ辞書106に登録すると判定した場合(ステップS5:YES)、ステップS7の処理を実行する。
【0101】
ステップS4において、辞書管理部110は、認識語句及び当該語句の読みのセットが、システム辞書105又はユーザ辞書106に登録されているか否かを判定する。辞書管理部110は、認識語句及びその読みのセットがシステム辞書105又はユーザ辞書106に登録済であると判定した場合(ステップS4:YES)、処理をステップS1に戻す。辞書管理部110は、認識語句及びその読みのセットがシステム辞書105及びユーザ辞書106に登録済でないと判定した場合(ステップS4:NO)、処理をステップS5に進める。
【0102】
本発明は、上述の実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。実施形態および各変形例を適宜組み合わせることもできる。
【0103】
例えば、上述の実施形態では、読みを付与する処理に形態素解析を利用しているが、この方法に限られない。
【0104】
また例えば、上述の実施形態では、音声認識部104からの認識結果を形態素解析部111により形態素に分割しているが、別の方法により分割してもよい。具体的には、端末装置102の音声認識辞書を、語句の文字列と、その語句の読みデータと、その語句を構成する各形態素の情報とを格納するように構成する。音声認識部104は、音声データに対する音声認識処理において、辞書を参照して認識語句を形態素に分割すればよい。
【0105】
図1の端末装置102の構成は、当該装置の構成を理解容易にするために、主な処理内容に応じて分類したものである。構成要素の分類の仕方や名称によって、本発明が制限されることはない。端末装置102の構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。また、各構成要素の処理は、1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。また、各構成要素の処理又は機能の分担は、本発明の目的及び効果を達成できるのであれば、上述したものに限られない。
【0106】
図2、
図3、及び
図9で示したフローチャートの処理単位は、端末装置102の処理を理解容易にするために、主な処理内容に応じて分割したものである。処理単位の分割の仕方や名称によって、本発明が制限されることはない。端末装置102の処理は、処理内容に応じて、さらに多くの処理単位に分割することもできる。また、1つの処理単位がさらに多くの処理を含むように分割することもできる。さらに、本発明の目的及び効果を達成できるのであれば、上記のフローチャートの処理順序も、図示した例に限られるものではない。
【0107】
上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態や変形例の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態や変形例の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0108】
また、上記の各構成、機能、処理部及び処理手段などは、それらの一部又は全部を、プロセッサが各々の機能を実現するプログラムにより実現しても良い。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記憶装置、又は、ICカード、SD(Secure Digital)メモリカード、DVD(Digital Versatile Disk)などの記憶媒体に置くことができる。なお、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。
【0109】
本発明は、音声認識システム、端末装置に限らず、辞書管理方法、コンピュータ読み取り可能なプログラム等の様々な形態で提供することができる。また、本発明は、日本語に限らず、英語その他の様々な言語の音声認識に適用可能である。