音声認識方法、プログラム、及び音声認識装置
【課題】 ワードスポッティング型の音声認識において、種々の状況であっても高い認識率を獲得できる音声認識方法、プログラム、及び音声認識装置を提供する。
【解決手段】 多重音声認識プログラムが用いられ、音声区間11、12、13、14、15が検出されている。音声区間12、13、14に関しては、終了点は同一であるが、起点については異なっている。すなわち、音声区間12、13、14が多重分割されている。例えば音声認識対象単語(言葉)として「パソコン」「インターネット」「接続できない」が登録されている場合、音声区間11についてはリジェクションとされ、音声区間12については「パソコン」とされ、音声区間13については「インターネット」、音声区間14についてはリジェクションとされ、音声区間15については「接続できない」が得られる。
【解決手段】 多重音声認識プログラムが用いられ、音声区間11、12、13、14、15が検出されている。音声区間12、13、14に関しては、終了点は同一であるが、起点については異なっている。すなわち、音声区間12、13、14が多重分割されている。例えば音声認識対象単語(言葉)として「パソコン」「インターネット」「接続できない」が登録されている場合、音声区間11についてはリジェクションとされ、音声区間12については「パソコン」とされ、音声区間13については「インターネット」、音声区間14についてはリジェクションとされ、音声区間15については「接続できない」が得られる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、音声認識方法、プログラム、及び音声認識装置に関し、特に認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法等に関する。
【背景技術】
【0002】
音声認識の方法として、発話の中から単語辞書に予め登録された単語を認識する手法の一つに、ワードスポッティング型の音声認識方法がある。
【0003】
図10は従来のワードスポッティング型の音声認識エンジンを使用した音声認識の原理を説明するための図である。
【0004】
マイク101或いは電話102から入力された音声がA/D変換部105によりデジタル信号に変換される。このデジタル信号(録音データ103等のデジタル信号を含む。)である音声データは、連続して繋がっている。音声データ入力部106は、取得した音声データを音声認識エンジン111へ渡す。
【0005】
音声認識エンジン111は、音声認識を行うにあたって、音声認識対象区間(以下、「音声区間」ともいう。)を把握する必要がある。音声区間判定部112により、音声データの無音区間の時間を計測し、音声認識終了連続無音時間以上の無音区間を検出したとき、音声認識制御部はそれまでに渡された音声データに対して音声認識を行う。ただし、前述の音声認識終了連続無音時間以上の無音区間を検出する前に、音声認識エンジンに対して、それまでに渡した音声データに対して強制的に音声認識させることも可能である。
【0006】
ここで、ワードスポッティングを説明する。音響モデル部115は音響モデルデータを蓄積しており、辞書部117は認識されるべき対象の単語(比較データ)を登録して認識辞書として機能する。ここでは、辞書部117には、登録単語(言葉)として、例えば「パソコン」「インターネット」「接続できない」が登録されているとする。音声認識制御部113は、得られた音声データに対し、音響モデル部115と辞書部117を用いて、登録されている単語(登録単語)に該当する場合に、その単語を認識結果として出力する。また、得られた音声データに対し、辞書に登録されている単語が該当しない場合は、認識失敗(リジェクション)を認識結果として出力する。
【0007】
図10に戻って、認識結果出力部119は音声認識エンジン111の認識結果を取得し、例えば認識結果が「パソコン」であれば音声認識エンジン111に与えられた音声データが「パソコン」という単語であったことになり、この認識結果をテキストや画面や他のアプリケーション等に出力する。
【0008】
図11は、図10の音声区間判定部112による音声認識対象区間としての音声区間を検出することを説明するための図である。
【0009】
例えば、発話の内容が「インターネットに、」であったとし、その発話に対応する音声データが図11のように得られたとする。音声区間判定部112は、有音/無音を検出することで、音声区間を決定する。認識開始直後は、有音の検出を行う。有音が検出されると、次は無音の検出を行う。音声区間判定部112は、連続する無音時間(連続無音時間)が、設定された音声認識終了連続無音時間を超えた場合、音声区間の終了と認識する。通常、音声認識終了連続無音時間は、任意に調整可能とされる。図11では、最初の連続無音時間監視において検出された連続無音時間が音声認識終了連続無音時間に満たないとされているのに対し、次の連続無音時間監視において検出された連続無音時間が音声認識終了連続無音時間を越えたとされ、音声区間の検出が行われた例が示されている。
【0010】
このようなワードスポッティング型により半永久的な音声データを音声認識するには、認識開始→認識終了→認識開始→認識終了・・・を半永久的に繰返すことが必要となる。
【0011】
なお、上記のようなワードスポッティング型の音声認識の技術水準を示す一例として、特許文献1を挙げる。
【0012】
【特許文献1】特開2002−32094号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
ところが、上記音声区間の検出には、音声認識終了連続無音時間の設定によって、その検出精度が異なってしまうという問題があるばかりか、検出できない事態が下記のように起こってしまうという問題がある。
【0014】
図12は音声認識終了連続無音時間の違いによる認識結果の相違を説明するための図である。図12(A)は音声認識終了連続無音時間が500msecの場合を示し、図12(B)は音声認識終了連続無音時間が200msecの場合を示す。なお、いずれにおいても、辞書には、「パソコン」、「インターネット」、「接続できない」という単語が登録されているものとする。また、いずれにおいても、発話は『あのー パソコンで、インター ネットに、せつぞくできないのですが、』という状況である。
【0015】
図12(A)を参照して、音声認識終了連続無音時間が500msecとした場合、音声区間201、音声区間202、音声区間203が検出されている。その認識結果として、音声区間201についてはリジェクションとされ、音声区間202については「パソコン」とされ、音声区間203については「接続できない」が得られる。
【0016】
ここで、図12(A)では、音声区間202において、「パソコン」と「インターネット」と2つの単語が含まれた音声データを音声認識しているにも関わらず、「パソコン」という結果しか得られていない。これは、「パソコンで、インターネットに、」という音声データを1回の音声認識で行ったからである。その原因は、最初の「パソコン」を認識したため、後の言葉が無視されてしまったからである。
【0017】
図12(B)を参照して、音声認識終了連続無音時間が200msecとした場合、音声区間301、音声区間302、音声区間303、音声区間304、音声区間305が検出されている。その認識結果として、音声区間301についてはリジェクションとされ、音声区間302については「パソコン」とされ、音声区間303についてはリジェクションとされ、音声区間304についてもリジェクションとされ、音声区間305については「接続できない」が得られる。
【0018】
ここで、図12(B)では、音声区間303と音声区間304のように、『インターネット』が、「インター」、「ネットに、」というように単語が分割された音声認識が行われている。
【0019】
このようなことは、例えば意思疎通が必要となるような会話で考えながら話すような音声データの音声認識ではよく起こる現象であり、認識率の低下を招いているという問題がある。
【0020】
また、ワードスポッティング型の音声認識の他に、ディクテーション型の音声認識方法もある。ディクテーション型は音声を全て漢字や英数字混じりのテキストに全変換する方式であるため、膨大な規模の品詞を伴った音声認識辞書が必要となり、その作成と管理に多大な労力を要し、さらに音声認識の動作環境(CPU、メモリ等)には高いスペックが必要等の問題がある。そのため、特定なシーンや目的での利用に限られてしまうという不都合がある。
【0021】
ゆえに、本発明は、ワードスポッティング型の音声認識において、種々の状況であっても高い認識率を獲得できる音声認識方法、プログラム、及び音声認識装置を提供することを目的とする。
【課題を解決するための手段】
【0022】
請求項1に係る発明は、認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法において、音声データ分析処理手段が、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成し、生成された音声ブロックデータを音声認識するものである。
【0023】
このように、二つの基準値を用いて連続無音時間を3つの状態に区別するので、一つの基準値を用いた場合と異なり、二つの基準値間として区別される連続無音時間に対してその際の音声データを起点とする音声ブロックデータを生成できる。また、終了点が同一であるが起点が異なる複数の音声ブロックデータを得ることができる。すなわち、多重分割された音声区間を得ることができる。
【0024】
請求項2に係る発明は、請求項1において、前記音声データ分析処理手段が、処理対象の音声データをスペクトル解析し、ノイズレベルと解析されたスペクトルレベルと比較して、無音と有音を判別することを特徴とするものである。
【0025】
このように、ノイズを考慮するためのスペクトル解析を行って、ノイズを考慮した有音と無音の判別を行うので、種々の環境における音声データの音声認識により適したものとなる。
【0026】
請求項3に係る発明は、請求項1又は2記載の音声認識方法をコンピュータに実行させることが可能なプログラムである。
【0027】
請求項4に係る発明は、認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識装置において、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記算出された連続無音時間を3つの状態に区別し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成する音声ブロック生成手段を備えるものである。
【発明の効果】
【0028】
本発明によれば、終了点が同一であるが起点が異なる複数の音声ブロックデータを得ることができるので、すなわち多重分割された音声認識区間を得ることができるので、基準値が一つでは得られなかった音声認識結果を適切に得ることができ、より高い認識率を獲得できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の実施の形態について説明する。
【実施例1】
【0030】
図1は、本発明の実施の形態にかかる音声認識方法の原理を説明する図である。図2は、図11に対応する図であって図1に示す本発明の実施の形態にかかる音声認識を具体的に説明するための図である。
【0031】
図10と異なる点を記載し、原理の相違を簡単に説明する。ここでは、多重音声認識プログラム1が用いられている。多重音声認識プログラム1には、音声ブロックデータ生成部2と、認識結果制御部6とが含まれる。また、音声ブロックデータ生成部2と音声認識エンジン111とにより、音声データ分析処理部4が構成される。音声ブロックデータ生成部2は、格納部2aと、三状態分析部2bと、読出部2cとを含む。デジタル信号に変換された音声データについては、格納部2aにより音声データを音声データ蓄積バッファ3に記録して蓄積すると共に、三状態分析部2bに対しても音声データを渡す。三状態分析部2bは、詳しくは後述するが、異なる値の二つの基準値を用いて音声区間を検出し、読出部2cが検出された音声区間に対応する音声ブロックデータを音声データ蓄積バッファ3に蓄積された音声データから生成する。そして、音声ブロックデータ生成部2から音声ブロックデータが音声区間データとして音声認識エンジン111に与えられ、ワードスポッティングによる音声認識が行われる。なお、図10の音声区間判定部112の処理は、本実施例では不要である。
【0032】
なお、図1の三状態分析部2bから読出部2cへは音声区間を示すテーブルが渡される。このテーブルは、左列のデータt1,t2,t3がそれぞれの音声区間の起点を表しており、右列のデータteがそれぞれの音声区間の終了点を表している。t1,t2,t3,teは、相対時間でも絶対時間でもバッファ内のポインタのようなものであっても構わないが、t1<t2<t3<teという関係がある。t2,t3がt1,teの間の値であることから、音声区間が多重分割されており、以下、図2を用いてさらに具体的に説明する。
【0033】
図2において、基準値の一つである多重分割開始連続無音時間として200msecが設定され、他の基準値である音声認識終了連続無音時間として500msecが設定されている。辞書には、図11と同様に、「パソコン」、「インターネット」、「接続できない」という単語が登録されているものとする。また、図11と同様に、発話は『あのー パソコンで、インター ネットに、せつぞくできないのですが、』という状況である。
【0034】
図2を参照して、音声区間11、音声区間12、音声区間13、音声区間14、音声区間15が検出されている。音声区間12、13、14に関しては、終了点は同一であるが、起点については異なっている。すなわち、音声認識終了連続時間である500msecを越える連続無音時間が得られれば、音声区間の終了となり、次の有音検出によって次の音声区間の開始となるが、多重分割開始連続無音時間である200msecを越える連続無音時間が得られれば音声区間の起点とする形で、第2、第3・・・の音声区間が重なって得られる。この状態は音声区間が多重分割されていることを表している。このような認識結果として、音声区間11についてはリジェクションとされ、音声区間12については「パソコン」とされ、音声区間13については「インターネット」、音声区間14についてはリジェクションとされ、音声区間15については「接続できない」が得られる。
【0035】
このように、図11の場合と異なって、認識されるべき「パソコン」、「インターネット」、「接続できない」が認識されている。なお、図1では、図2の音声区間12、13、14のデータとその流れを例として記載している。
【0036】
図3は図1の原理における処理フロー図であり、図4は図3のステップST3の詳細を示す処理フロー図である。
【0037】
図3のステップST1において、音声ブロックデータ生成部2に音声データが入力される。ステップST2において、格納部2aが音声データ蓄積バッファ3に音声データを保存する。
【0038】
次に、図3のステップST3において、三状態分析部2bにより、音声データの解析が行われる。以下、図4を参照して、この解析について説明する。図5は図4の処理を具体的に説明するための図であって、図5(A)は低レベルのノイズの場合を示す図であり、図5(B)は高レベルのノイズの場合を示す図である。
【0039】
図4のステップST31において、処理対象の音声データに対して、スペクトルが算出される。ステップST32において、過去の音声データを含めたスペクトルの変化が算出される。ステップST33において、スペクトルレベルの時系列変化が安定しているか否かが判断される。安定している場合にはステップST34に進み、安定していない場合にはステップST36に進む。ステップST34では過去の音声データを含めたスペクトルより算出された値がノイズレベルとして採用され、ステップST36では前回使用したノイズレベルが採用される。このような処理により、ノイズレベルは、処理対象の音声データ毎に得られた全スペクトルが連続したある一定時間の間、一定レベル内で安定している時の各スペクトルの値がノイズレベルとして採用される。図5(A)では、a,b,c,dの4つの帯域のスペクトルが得られている例であり、時間T1の区間で各大域のスペクトルレベルを矢印で表しており、それぞれa1,b1,c1,d1のレベルでほぼ安定しており、この区間をノイズレベルとして採用し、有音と無音の判定を行う。一方、図5(B)では、(A)に対してdの帯域のノイズレベルのみが高く、帯域a,b,cのノイズレベルは(A)と同様であり、音声レベルも(A)と同様の例である。ノイズレベルは、ある一定時間の間、スペクトルレベルが安定していることにより、ノイズレベルの採用を決定しているので、(B)においても時間T1の区間で各帯域のスペクトルレベルがほぼ安定しており、(A)とは異なった各スペクトルレベルa1,b1,c1,d2が(B)の音声データのノイズレベルとなる。このことにより、種々の環境により異なったノイズに対し、自動的にノイズレベルを検出すると同時に、ノイズレベルを考慮した無音区間と有音区間の判定を行うことが可能となる。
【0040】
図4に戻って、ステップST35において、ノイズレベルと処理対象の音声データのスペクトルレベルの比較が行われ、有音か無音かが判定される。
【0041】
図3に戻って、ステップST4において、図4のST35の判定をもとに無音か有音かが判断された結果、有音と判断された場合にはステップST5に進み、無音と判断された場合にはステップST6に進む。ステップST5では最初の有音のとき、音声認識の開始の起点が記憶され、ステップST1に戻る。ステップST6では、連続無音時間の算出が行われる。
【0042】
ステップST6に続くステップST7では、算出された連続無音時間が、「多重分割開始連続無音時間未満」、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」、「音声認識終了連続無音時間以上」の3つの状態に区別される。「多重分割開始連続無音時間未満」の場合にはステップST1に戻り、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」の場合にステップST8において新たな音声区間の起点が記録された後にステップST1に戻る。「音声認識終了連続無音時間以上」の場合には、ステップST9において音声区間の終了点を全ての起点に対応して記録し、ステップST10において全ての音声区間としての音声ブロックデータが作成され、ステップST11において音声ブロックデータの出力が行われ、音声認識エンジンに音声ブロックデータが渡される。
【0043】
図6は図3の処理による図2の音声区間12、13、14を具体的に説明するための図である。
【0044】
図6に示すように、終了点が同一であるが(te)、起点が異なる(識別番号がt1、t2、t3)音声区間が得られている。
【0045】
この処理について、図2を用いてさらに説明すると、音声区間11、12、15の起点は図3のステップST5の処理により記録され、音声区間13、14の起点は図3のステップST8の処理により記録され、音声区間11〜15の終了点は図3のステップST9の処理により記録される。特に、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」についての処理により音声区間13、14が得られているが、「多重分割開始連続無音時間未満」の処理については図2では音声区間15で無音が検出されても多重分割の開始が行われない。
【0046】
図7は図1の認識結果制御部6の動作を説明するための図である。
【0047】
以下、処理を簡単に説明する。図7のステップST12において、図3によって得られる音声区間データがある場合には、ステップST13で音声認識結果の入力が行われ、ステップST12において音声区間データの有無が判断されて、無い場合においてはステップST14において、音声認識結果を全て解析し、有効な全認識結果を出力する。図1では、図2の音声区間12、13、14を用いて説明したように「パソコン」「インターネット」が認識されて出力されている。
【0048】
以上のような多重分割を行うことができるワードスポッティング型の音声認識による効果は以下のとおりである。まず、認識の取りこぼしの削減が可能になり、認識率の向上を図ることができる。また、単語単位の音声認識であることから、文法などの辞書は不要であり、自由な順序での音声認識が可能である。さらに、単語を記述したデータのみで音声認識ができるため、音声認識の知識を持たない一般の方々への普及が容易となる。さらに、ディクテーション型の音声認識エンジンを用いる方法と比較して動作環境(CPU、メモリ等)に高いスペックを必要としないため、アプリケーションへの組み込みや他アプリケーションとの同時作動が容易に行え、幅広いジャンルへの適用が可能となる。
【0049】
図8は図1に示した原理を実現する音声認識装置を示すブロック図である。
【0050】
音声認識装置は、マイク10等から入力される音声を認識可能であり、具体的にはパーソナルコンピュータ(PC)11などによって具体化される。パーソナルコンピュータ11は、CPU13と、オーディオデバイス15と、メモリ17とを備える。メモリ17は、前述してきた音声認識エンジン111と本発明の特徴である多重音声認識プログラム1を有している。オーディオデバイス15によりアナログ/デジタル変換が行われ、CPU13がメモリ17に搭載された多重音声認識プログラム1及び音声認識エンジン111を用いて音声認識を行う。
【0051】
なお、図8ではマイク10による音声の取得を示したが、電話機による音声の取得であってもよい。その場合、パーソナルコンピュータ11は通信ネットワークに接続し、オーディオデバイス15に代えて回線制御ボード或いはLANインターフェイスが用いられる。
【0052】
また、図8ではマイク10による音声の取得を示したが、WAVやMP3などの各種音声ファイルの音声データを記憶した外部記憶装置とパーソナルコンピュータとを情報通信ネットワークを介し或いは直接に接続し、記憶されたデジタル信号が音声認識されてもよい。
【0053】
さらに、音声区間の起点と終了点を、時刻といった時間に関するパラメータではなく、バッファのシーケンス番号やメモリアドレスのようなものでもよく、また、識別可能であればよく、番号に限られない。
【0054】
さらに、上記実施の形態では、「多重分割開始連続無音時間未満」、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」、「音声認識終了連続無音時間以上」の3つの状態としたが、3つの状態を区別できるのであれば「以下」と「未満」と「以上」と「より大きい」との組み合わせは任意に使用されればよい。
【実施例2】
【0055】
図9は、実施例2にかかる音声認識方法の原理を説明する図である。本実施例では、音声データは一定のサイズにまとめた解析単位データで制御される。この場合、音声区間の起点と終了点は解析単位データのサイズにより精度が粗くなるが、一方で処理負荷の軽減が可能である。
【0056】
本実施例では、音声ブロックデータ生成部2の格納部2aが、各解析単位データに識別番号を付与する識別番号付与部5を含み、格納部2aは、識別番号の付与された解析単位データを識別番号と共に音声データ蓄積バッファ3に格納する。そして、三状態分析部2bから読出部2cに対して渡されるテーブルにおいて、音声区間の起点と終了点は、識別番号により表され、読出部2cは、この識別番号に基づいて音声データ蓄積バッファ3より音声ブロックデータを読み出す。
【図面の簡単な説明】
【0057】
【図1】本発明の実施例1にかかる音声認識方法の原理を説明する図である。
【図2】図12に対応する図であって図1に示す本発明の実施の形態にかかる音声認識を具体的に説明するための図である。
【図3】図1の原理における処理フロー図である。
【図4】図3のステップST3の詳細を示す処理フロー図である。
【図5】図4の処理を具体的に説明するための図であって、図5(A)は低レベルのノイズの場合を示す図であり、図5(B)は高レベルのノイズの場合を示す図である。
【図6】図3の処理による音声認識対象区間を具体的に説明するための図である。
【図7】図1の認識結果制御部6の動作を説明するための図である。
【図8】図1に示した原理を実現する音声認識装置を示すブロック図である。
【図9】本発明の実施例2にかかる音声認識方法の原理を説明する図である。
【図10】従来のワードスポッティング型の音声認識エンジンを使用した音声認識の原理を説明するための図である。
【図11】図10の音声区間判定部112による音声認識対象区間としての音声区間を検出することを説明するための図である。
【図12】音声認識終了連続無音時間の違いによる認識結果の相違を説明するための図である。
【符号の説明】
【0058】
1 多重音声認識プログラム、2 音声ブロックデータ生成部
【技術分野】
【0001】
本発明は、音声認識方法、プログラム、及び音声認識装置に関し、特に認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法等に関する。
【背景技術】
【0002】
音声認識の方法として、発話の中から単語辞書に予め登録された単語を認識する手法の一つに、ワードスポッティング型の音声認識方法がある。
【0003】
図10は従来のワードスポッティング型の音声認識エンジンを使用した音声認識の原理を説明するための図である。
【0004】
マイク101或いは電話102から入力された音声がA/D変換部105によりデジタル信号に変換される。このデジタル信号(録音データ103等のデジタル信号を含む。)である音声データは、連続して繋がっている。音声データ入力部106は、取得した音声データを音声認識エンジン111へ渡す。
【0005】
音声認識エンジン111は、音声認識を行うにあたって、音声認識対象区間(以下、「音声区間」ともいう。)を把握する必要がある。音声区間判定部112により、音声データの無音区間の時間を計測し、音声認識終了連続無音時間以上の無音区間を検出したとき、音声認識制御部はそれまでに渡された音声データに対して音声認識を行う。ただし、前述の音声認識終了連続無音時間以上の無音区間を検出する前に、音声認識エンジンに対して、それまでに渡した音声データに対して強制的に音声認識させることも可能である。
【0006】
ここで、ワードスポッティングを説明する。音響モデル部115は音響モデルデータを蓄積しており、辞書部117は認識されるべき対象の単語(比較データ)を登録して認識辞書として機能する。ここでは、辞書部117には、登録単語(言葉)として、例えば「パソコン」「インターネット」「接続できない」が登録されているとする。音声認識制御部113は、得られた音声データに対し、音響モデル部115と辞書部117を用いて、登録されている単語(登録単語)に該当する場合に、その単語を認識結果として出力する。また、得られた音声データに対し、辞書に登録されている単語が該当しない場合は、認識失敗(リジェクション)を認識結果として出力する。
【0007】
図10に戻って、認識結果出力部119は音声認識エンジン111の認識結果を取得し、例えば認識結果が「パソコン」であれば音声認識エンジン111に与えられた音声データが「パソコン」という単語であったことになり、この認識結果をテキストや画面や他のアプリケーション等に出力する。
【0008】
図11は、図10の音声区間判定部112による音声認識対象区間としての音声区間を検出することを説明するための図である。
【0009】
例えば、発話の内容が「インターネットに、」であったとし、その発話に対応する音声データが図11のように得られたとする。音声区間判定部112は、有音/無音を検出することで、音声区間を決定する。認識開始直後は、有音の検出を行う。有音が検出されると、次は無音の検出を行う。音声区間判定部112は、連続する無音時間(連続無音時間)が、設定された音声認識終了連続無音時間を超えた場合、音声区間の終了と認識する。通常、音声認識終了連続無音時間は、任意に調整可能とされる。図11では、最初の連続無音時間監視において検出された連続無音時間が音声認識終了連続無音時間に満たないとされているのに対し、次の連続無音時間監視において検出された連続無音時間が音声認識終了連続無音時間を越えたとされ、音声区間の検出が行われた例が示されている。
【0010】
このようなワードスポッティング型により半永久的な音声データを音声認識するには、認識開始→認識終了→認識開始→認識終了・・・を半永久的に繰返すことが必要となる。
【0011】
なお、上記のようなワードスポッティング型の音声認識の技術水準を示す一例として、特許文献1を挙げる。
【0012】
【特許文献1】特開2002−32094号公報
【発明の開示】
【発明が解決しようとする課題】
【0013】
ところが、上記音声区間の検出には、音声認識終了連続無音時間の設定によって、その検出精度が異なってしまうという問題があるばかりか、検出できない事態が下記のように起こってしまうという問題がある。
【0014】
図12は音声認識終了連続無音時間の違いによる認識結果の相違を説明するための図である。図12(A)は音声認識終了連続無音時間が500msecの場合を示し、図12(B)は音声認識終了連続無音時間が200msecの場合を示す。なお、いずれにおいても、辞書には、「パソコン」、「インターネット」、「接続できない」という単語が登録されているものとする。また、いずれにおいても、発話は『あのー パソコンで、インター ネットに、せつぞくできないのですが、』という状況である。
【0015】
図12(A)を参照して、音声認識終了連続無音時間が500msecとした場合、音声区間201、音声区間202、音声区間203が検出されている。その認識結果として、音声区間201についてはリジェクションとされ、音声区間202については「パソコン」とされ、音声区間203については「接続できない」が得られる。
【0016】
ここで、図12(A)では、音声区間202において、「パソコン」と「インターネット」と2つの単語が含まれた音声データを音声認識しているにも関わらず、「パソコン」という結果しか得られていない。これは、「パソコンで、インターネットに、」という音声データを1回の音声認識で行ったからである。その原因は、最初の「パソコン」を認識したため、後の言葉が無視されてしまったからである。
【0017】
図12(B)を参照して、音声認識終了連続無音時間が200msecとした場合、音声区間301、音声区間302、音声区間303、音声区間304、音声区間305が検出されている。その認識結果として、音声区間301についてはリジェクションとされ、音声区間302については「パソコン」とされ、音声区間303についてはリジェクションとされ、音声区間304についてもリジェクションとされ、音声区間305については「接続できない」が得られる。
【0018】
ここで、図12(B)では、音声区間303と音声区間304のように、『インターネット』が、「インター」、「ネットに、」というように単語が分割された音声認識が行われている。
【0019】
このようなことは、例えば意思疎通が必要となるような会話で考えながら話すような音声データの音声認識ではよく起こる現象であり、認識率の低下を招いているという問題がある。
【0020】
また、ワードスポッティング型の音声認識の他に、ディクテーション型の音声認識方法もある。ディクテーション型は音声を全て漢字や英数字混じりのテキストに全変換する方式であるため、膨大な規模の品詞を伴った音声認識辞書が必要となり、その作成と管理に多大な労力を要し、さらに音声認識の動作環境(CPU、メモリ等)には高いスペックが必要等の問題がある。そのため、特定なシーンや目的での利用に限られてしまうという不都合がある。
【0021】
ゆえに、本発明は、ワードスポッティング型の音声認識において、種々の状況であっても高い認識率を獲得できる音声認識方法、プログラム、及び音声認識装置を提供することを目的とする。
【課題を解決するための手段】
【0022】
請求項1に係る発明は、認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法において、音声データ分析処理手段が、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成し、生成された音声ブロックデータを音声認識するものである。
【0023】
このように、二つの基準値を用いて連続無音時間を3つの状態に区別するので、一つの基準値を用いた場合と異なり、二つの基準値間として区別される連続無音時間に対してその際の音声データを起点とする音声ブロックデータを生成できる。また、終了点が同一であるが起点が異なる複数の音声ブロックデータを得ることができる。すなわち、多重分割された音声区間を得ることができる。
【0024】
請求項2に係る発明は、請求項1において、前記音声データ分析処理手段が、処理対象の音声データをスペクトル解析し、ノイズレベルと解析されたスペクトルレベルと比較して、無音と有音を判別することを特徴とするものである。
【0025】
このように、ノイズを考慮するためのスペクトル解析を行って、ノイズを考慮した有音と無音の判別を行うので、種々の環境における音声データの音声認識により適したものとなる。
【0026】
請求項3に係る発明は、請求項1又は2記載の音声認識方法をコンピュータに実行させることが可能なプログラムである。
【0027】
請求項4に係る発明は、認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識装置において、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記算出された連続無音時間を3つの状態に区別し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成する音声ブロック生成手段を備えるものである。
【発明の効果】
【0028】
本発明によれば、終了点が同一であるが起点が異なる複数の音声ブロックデータを得ることができるので、すなわち多重分割された音声認識区間を得ることができるので、基準値が一つでは得られなかった音声認識結果を適切に得ることができ、より高い認識率を獲得できる。
【発明を実施するための最良の形態】
【0029】
以下、本発明の実施の形態について説明する。
【実施例1】
【0030】
図1は、本発明の実施の形態にかかる音声認識方法の原理を説明する図である。図2は、図11に対応する図であって図1に示す本発明の実施の形態にかかる音声認識を具体的に説明するための図である。
【0031】
図10と異なる点を記載し、原理の相違を簡単に説明する。ここでは、多重音声認識プログラム1が用いられている。多重音声認識プログラム1には、音声ブロックデータ生成部2と、認識結果制御部6とが含まれる。また、音声ブロックデータ生成部2と音声認識エンジン111とにより、音声データ分析処理部4が構成される。音声ブロックデータ生成部2は、格納部2aと、三状態分析部2bと、読出部2cとを含む。デジタル信号に変換された音声データについては、格納部2aにより音声データを音声データ蓄積バッファ3に記録して蓄積すると共に、三状態分析部2bに対しても音声データを渡す。三状態分析部2bは、詳しくは後述するが、異なる値の二つの基準値を用いて音声区間を検出し、読出部2cが検出された音声区間に対応する音声ブロックデータを音声データ蓄積バッファ3に蓄積された音声データから生成する。そして、音声ブロックデータ生成部2から音声ブロックデータが音声区間データとして音声認識エンジン111に与えられ、ワードスポッティングによる音声認識が行われる。なお、図10の音声区間判定部112の処理は、本実施例では不要である。
【0032】
なお、図1の三状態分析部2bから読出部2cへは音声区間を示すテーブルが渡される。このテーブルは、左列のデータt1,t2,t3がそれぞれの音声区間の起点を表しており、右列のデータteがそれぞれの音声区間の終了点を表している。t1,t2,t3,teは、相対時間でも絶対時間でもバッファ内のポインタのようなものであっても構わないが、t1<t2<t3<teという関係がある。t2,t3がt1,teの間の値であることから、音声区間が多重分割されており、以下、図2を用いてさらに具体的に説明する。
【0033】
図2において、基準値の一つである多重分割開始連続無音時間として200msecが設定され、他の基準値である音声認識終了連続無音時間として500msecが設定されている。辞書には、図11と同様に、「パソコン」、「インターネット」、「接続できない」という単語が登録されているものとする。また、図11と同様に、発話は『あのー パソコンで、インター ネットに、せつぞくできないのですが、』という状況である。
【0034】
図2を参照して、音声区間11、音声区間12、音声区間13、音声区間14、音声区間15が検出されている。音声区間12、13、14に関しては、終了点は同一であるが、起点については異なっている。すなわち、音声認識終了連続時間である500msecを越える連続無音時間が得られれば、音声区間の終了となり、次の有音検出によって次の音声区間の開始となるが、多重分割開始連続無音時間である200msecを越える連続無音時間が得られれば音声区間の起点とする形で、第2、第3・・・の音声区間が重なって得られる。この状態は音声区間が多重分割されていることを表している。このような認識結果として、音声区間11についてはリジェクションとされ、音声区間12については「パソコン」とされ、音声区間13については「インターネット」、音声区間14についてはリジェクションとされ、音声区間15については「接続できない」が得られる。
【0035】
このように、図11の場合と異なって、認識されるべき「パソコン」、「インターネット」、「接続できない」が認識されている。なお、図1では、図2の音声区間12、13、14のデータとその流れを例として記載している。
【0036】
図3は図1の原理における処理フロー図であり、図4は図3のステップST3の詳細を示す処理フロー図である。
【0037】
図3のステップST1において、音声ブロックデータ生成部2に音声データが入力される。ステップST2において、格納部2aが音声データ蓄積バッファ3に音声データを保存する。
【0038】
次に、図3のステップST3において、三状態分析部2bにより、音声データの解析が行われる。以下、図4を参照して、この解析について説明する。図5は図4の処理を具体的に説明するための図であって、図5(A)は低レベルのノイズの場合を示す図であり、図5(B)は高レベルのノイズの場合を示す図である。
【0039】
図4のステップST31において、処理対象の音声データに対して、スペクトルが算出される。ステップST32において、過去の音声データを含めたスペクトルの変化が算出される。ステップST33において、スペクトルレベルの時系列変化が安定しているか否かが判断される。安定している場合にはステップST34に進み、安定していない場合にはステップST36に進む。ステップST34では過去の音声データを含めたスペクトルより算出された値がノイズレベルとして採用され、ステップST36では前回使用したノイズレベルが採用される。このような処理により、ノイズレベルは、処理対象の音声データ毎に得られた全スペクトルが連続したある一定時間の間、一定レベル内で安定している時の各スペクトルの値がノイズレベルとして採用される。図5(A)では、a,b,c,dの4つの帯域のスペクトルが得られている例であり、時間T1の区間で各大域のスペクトルレベルを矢印で表しており、それぞれa1,b1,c1,d1のレベルでほぼ安定しており、この区間をノイズレベルとして採用し、有音と無音の判定を行う。一方、図5(B)では、(A)に対してdの帯域のノイズレベルのみが高く、帯域a,b,cのノイズレベルは(A)と同様であり、音声レベルも(A)と同様の例である。ノイズレベルは、ある一定時間の間、スペクトルレベルが安定していることにより、ノイズレベルの採用を決定しているので、(B)においても時間T1の区間で各帯域のスペクトルレベルがほぼ安定しており、(A)とは異なった各スペクトルレベルa1,b1,c1,d2が(B)の音声データのノイズレベルとなる。このことにより、種々の環境により異なったノイズに対し、自動的にノイズレベルを検出すると同時に、ノイズレベルを考慮した無音区間と有音区間の判定を行うことが可能となる。
【0040】
図4に戻って、ステップST35において、ノイズレベルと処理対象の音声データのスペクトルレベルの比較が行われ、有音か無音かが判定される。
【0041】
図3に戻って、ステップST4において、図4のST35の判定をもとに無音か有音かが判断された結果、有音と判断された場合にはステップST5に進み、無音と判断された場合にはステップST6に進む。ステップST5では最初の有音のとき、音声認識の開始の起点が記憶され、ステップST1に戻る。ステップST6では、連続無音時間の算出が行われる。
【0042】
ステップST6に続くステップST7では、算出された連続無音時間が、「多重分割開始連続無音時間未満」、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」、「音声認識終了連続無音時間以上」の3つの状態に区別される。「多重分割開始連続無音時間未満」の場合にはステップST1に戻り、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」の場合にステップST8において新たな音声区間の起点が記録された後にステップST1に戻る。「音声認識終了連続無音時間以上」の場合には、ステップST9において音声区間の終了点を全ての起点に対応して記録し、ステップST10において全ての音声区間としての音声ブロックデータが作成され、ステップST11において音声ブロックデータの出力が行われ、音声認識エンジンに音声ブロックデータが渡される。
【0043】
図6は図3の処理による図2の音声区間12、13、14を具体的に説明するための図である。
【0044】
図6に示すように、終了点が同一であるが(te)、起点が異なる(識別番号がt1、t2、t3)音声区間が得られている。
【0045】
この処理について、図2を用いてさらに説明すると、音声区間11、12、15の起点は図3のステップST5の処理により記録され、音声区間13、14の起点は図3のステップST8の処理により記録され、音声区間11〜15の終了点は図3のステップST9の処理により記録される。特に、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」についての処理により音声区間13、14が得られているが、「多重分割開始連続無音時間未満」の処理については図2では音声区間15で無音が検出されても多重分割の開始が行われない。
【0046】
図7は図1の認識結果制御部6の動作を説明するための図である。
【0047】
以下、処理を簡単に説明する。図7のステップST12において、図3によって得られる音声区間データがある場合には、ステップST13で音声認識結果の入力が行われ、ステップST12において音声区間データの有無が判断されて、無い場合においてはステップST14において、音声認識結果を全て解析し、有効な全認識結果を出力する。図1では、図2の音声区間12、13、14を用いて説明したように「パソコン」「インターネット」が認識されて出力されている。
【0048】
以上のような多重分割を行うことができるワードスポッティング型の音声認識による効果は以下のとおりである。まず、認識の取りこぼしの削減が可能になり、認識率の向上を図ることができる。また、単語単位の音声認識であることから、文法などの辞書は不要であり、自由な順序での音声認識が可能である。さらに、単語を記述したデータのみで音声認識ができるため、音声認識の知識を持たない一般の方々への普及が容易となる。さらに、ディクテーション型の音声認識エンジンを用いる方法と比較して動作環境(CPU、メモリ等)に高いスペックを必要としないため、アプリケーションへの組み込みや他アプリケーションとの同時作動が容易に行え、幅広いジャンルへの適用が可能となる。
【0049】
図8は図1に示した原理を実現する音声認識装置を示すブロック図である。
【0050】
音声認識装置は、マイク10等から入力される音声を認識可能であり、具体的にはパーソナルコンピュータ(PC)11などによって具体化される。パーソナルコンピュータ11は、CPU13と、オーディオデバイス15と、メモリ17とを備える。メモリ17は、前述してきた音声認識エンジン111と本発明の特徴である多重音声認識プログラム1を有している。オーディオデバイス15によりアナログ/デジタル変換が行われ、CPU13がメモリ17に搭載された多重音声認識プログラム1及び音声認識エンジン111を用いて音声認識を行う。
【0051】
なお、図8ではマイク10による音声の取得を示したが、電話機による音声の取得であってもよい。その場合、パーソナルコンピュータ11は通信ネットワークに接続し、オーディオデバイス15に代えて回線制御ボード或いはLANインターフェイスが用いられる。
【0052】
また、図8ではマイク10による音声の取得を示したが、WAVやMP3などの各種音声ファイルの音声データを記憶した外部記憶装置とパーソナルコンピュータとを情報通信ネットワークを介し或いは直接に接続し、記憶されたデジタル信号が音声認識されてもよい。
【0053】
さらに、音声区間の起点と終了点を、時刻といった時間に関するパラメータではなく、バッファのシーケンス番号やメモリアドレスのようなものでもよく、また、識別可能であればよく、番号に限られない。
【0054】
さらに、上記実施の形態では、「多重分割開始連続無音時間未満」、「多重分割開始連続無音時間以上音声認識終了連続無音時間未満」、「音声認識終了連続無音時間以上」の3つの状態としたが、3つの状態を区別できるのであれば「以下」と「未満」と「以上」と「より大きい」との組み合わせは任意に使用されればよい。
【実施例2】
【0055】
図9は、実施例2にかかる音声認識方法の原理を説明する図である。本実施例では、音声データは一定のサイズにまとめた解析単位データで制御される。この場合、音声区間の起点と終了点は解析単位データのサイズにより精度が粗くなるが、一方で処理負荷の軽減が可能である。
【0056】
本実施例では、音声ブロックデータ生成部2の格納部2aが、各解析単位データに識別番号を付与する識別番号付与部5を含み、格納部2aは、識別番号の付与された解析単位データを識別番号と共に音声データ蓄積バッファ3に格納する。そして、三状態分析部2bから読出部2cに対して渡されるテーブルにおいて、音声区間の起点と終了点は、識別番号により表され、読出部2cは、この識別番号に基づいて音声データ蓄積バッファ3より音声ブロックデータを読み出す。
【図面の簡単な説明】
【0057】
【図1】本発明の実施例1にかかる音声認識方法の原理を説明する図である。
【図2】図12に対応する図であって図1に示す本発明の実施の形態にかかる音声認識を具体的に説明するための図である。
【図3】図1の原理における処理フロー図である。
【図4】図3のステップST3の詳細を示す処理フロー図である。
【図5】図4の処理を具体的に説明するための図であって、図5(A)は低レベルのノイズの場合を示す図であり、図5(B)は高レベルのノイズの場合を示す図である。
【図6】図3の処理による音声認識対象区間を具体的に説明するための図である。
【図7】図1の認識結果制御部6の動作を説明するための図である。
【図8】図1に示した原理を実現する音声認識装置を示すブロック図である。
【図9】本発明の実施例2にかかる音声認識方法の原理を説明する図である。
【図10】従来のワードスポッティング型の音声認識エンジンを使用した音声認識の原理を説明するための図である。
【図11】図10の音声区間判定部112による音声認識対象区間としての音声区間を検出することを説明するための図である。
【図12】音声認識終了連続無音時間の違いによる認識結果の相違を説明するための図である。
【符号の説明】
【0058】
1 多重音声認識プログラム、2 音声ブロックデータ生成部
【特許請求の範囲】
【請求項1】
認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法において、
音声データ分析処理手段が、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成し、生成された音声ブロックデータを音声認識する、音声認識方法。
【請求項2】
前記音声データ分析処理手段が、処理対象の音声データをスペクトル解析し、ノイズレベルと解析されたスペクトルレベルと比較して、無音と有音を判別することを特徴とする、請求項1記載の音声認識方法。
【請求項3】
請求項1又は2記載の音声認識方法をコンピュータに実行させることが可能なプログラム。
【請求項4】
認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識装置において、
前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記算出された連続無音時間を3つの状態に区別し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成する音声ブロック生成手段を備えた、音声認識装置。
【請求項1】
認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識方法において、
音声データ分析処理手段が、前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成し、生成された音声ブロックデータを音声認識する、音声認識方法。
【請求項2】
前記音声データ分析処理手段が、処理対象の音声データをスペクトル解析し、ノイズレベルと解析されたスペクトルレベルと比較して、無音と有音を判別することを特徴とする、請求項1記載の音声認識方法。
【請求項3】
請求項1又は2記載の音声認識方法をコンピュータに実行させることが可能なプログラム。
【請求項4】
認識対象である連続する音声をデジタル化した音声データに基づいて音声を認識する音声認識装置において、
前記音声データについて無音であるか又は有音であるかを判別して連続する無音時間を算出し、前記算出された連続無音時間を第1の基準値及び前記第1の基準値とは値が異なる第2の基準値と比較し、前記算出された連続無音時間を3つの状態に区別し、前記第1の基準値と前記第2の基準値との間の値の場合として区別される連続無音時間の状態が得られた際の音声データを起点とする音声ブロックデータを生成する音声ブロック生成手段を備えた、音声認識装置。
【図2】
【図3】
【図4】
【図6】
【図7】
【図8】
【図11】
【図12】
【図1】
【図5】
【図9】
【図10】
【図3】
【図4】
【図6】
【図7】
【図8】
【図11】
【図12】
【図1】
【図5】
【図9】
【図10】
【公開番号】特開2008−241984(P2008−241984A)
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願番号】特願2007−80926(P2007−80926)
【出願日】平成19年3月27日(2007.3.27)
【出願人】(505164645)株式会社ネットワーク応用技術研究所 (9)
【Fターム(参考)】
【公開日】平成20年10月9日(2008.10.9)
【国際特許分類】
【出願日】平成19年3月27日(2007.3.27)
【出願人】(505164645)株式会社ネットワーク応用技術研究所 (9)
【Fターム(参考)】
[ Back to top ]