(57)【特許請求の範囲】
【請求項１】
音声入力手段と、
前記音声入力手段から受け取った入力データから音声を検出する手段と、
先頭のノードから終端のノードに繋がる一本のアークで表され、各々に識別子が付与されたコマンド語を登録する認識辞書と、
前記認識辞書のコマンド語を発声を受け付ける所定単位に分解すると共に、前記所定単位が各々独立したアークとなるようにネットワーク文法を変更し、且つ、前記コマンド語の各アークに対して、元のアークの識別子と元のアークが何個のアークに区切られたかを示す個数とそのアークが元のアークの先頭から何番目のアークであるかを示す順番とを含む識別子を対応させたテーブルを作成する手段と、
前記検出手段により検出された音声に対して認識を行い、認識結果を保持する手段と、
前記テーブルを参照して前記認識結果に対して可能性のある識別子を保存する手段と、
前記保存された識別子を組み合わせ、その組み合わせ結果が前記認識辞書に登録されている元のコマンド語と一致した時に当該コマンド語を認識する手段とを備えたことを特徴とする音声認識システム。
【請求項２】
前記認識辞書のコマンド語を分解する所定単位は、単語単位、音節単位、文節単位、或いは予め定義された語句の単位であることを特徴とする請求項１に記載の音声認識システム。
【請求項３】
前記検出手段により検出された音声に対して複数の候補を認識結果として保持し、前記複数の候補に基づいて元のコマンド語に一致するかどうかを判断することを特徴とする請求項１又は２に記載の音声認識システム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、音声認識システムに関し、特に、音声検出誤りによる誤認識を改良した音声認識システムに関するものである。
【０００２】
【従来の技術】
従来の音声認識システムとしては、例えば、日本電気株式会社より発売されているパソコン用音声認識ソフト「SmartVoice」や日本アイ・ビー・エム株式会社より発売されているパソコン用音声認識ソフト「ViaVoice」等が挙げられる。図１０は従来例の音声認識システムを示すブロック図である。図１０において、音声入力装置１は、例えば、マイクロフォンを用いて音声を受け取り、マイクロフォンの音声信号のＡ／Ｄ変換等の処理を行う。音声入力装置１でデジタル化された入力データは音声検出部２に渡される。音声検出部２は受け取った入力データに関し、データのパワーの変化等に基づいてユーザが発声した音声データがその中に存在するかどうかを判断し、ユーザが発声したと判断した音声データを切り出して音声認識部３に渡す。
【０００３】
音声認識部３は受け取った音声データと認識辞書４を用いて音声認識処理を行い、認識結果を認識結果処理部８に渡す。認識辞書４は音声認識システムが受け付けるコマンド語を登録した辞書である。認識結果処理部８は受け取った認識結果に基づいた処理を行う。
【０００４】
具体的に説明すると、例えば、認識辞書４に「ファイルを開く」というコマンド語が登録されていて、ユーザが音声入力装置１を通して「ファイルを開く」と発声したとする。音声入力装置１はユーザの発声を含む音声を受け取り、Ａ／Ｄ変換等の処理を行い、入力データを音声検出部２に渡す。音声検出部２は入力データに関しパワーの変化等を調べ、ユーザが発声した「ファイルを開く」の部分の入力データが、発声された音声データであると判断して、その部分を音声データとして切り出し、音声認識部３に渡す。
【０００５】
音声認識部３はユーザが「ファイルを開く」と発声した音声データと、認識辞書４に登録されているコマンド語を比較して音声認識処理を行い、音声データが認識辞書４に登録されている「ファイルを開く」というコマンド語と一致するため、「ファイルを開く」が発声されたと判断する。音声認識部３は認識結果を「ファイルを開く」として認識結果処理部８に渡す。認識結果処理部８は受け取った「ファイルを開く」という認識結果に基づいて実際にファイルを開くといった処理を行う。
【０００６】
【発明が解決しようとする課題】
しかしながら、上述した従来の音声認識システムでは、次のような２つの問題点があった。即ち、音声検出部２はユーザの発声を１発声毎に検出・音声データの切り出しを行い、音声認識部３は受け取った音声データと認識辞書４とを比較してどのコマンド語が発声されたかを判断しているため、ユーザは認識辞書４に格納されているコマンド語の通りに、間を空けずに１発声で発声しなければならない。そのため、間を空けずに１発声で発声しないと正しく認識されない。
【０００７】
例えば、「ファイルを開く」の代わりに「ファイルオープン」と発声したり、間を空けて「ファイルを」と「開く」の２発声で発声した場合は、それぞれ、「ファイルオープン」の音声データと認識辞書４、「ファイルを」の音声データと認識辞書４、「開く」の音声データと認識辞書４とで認識処理を行うため、正しく認識されなかった。
【０００８】
また、音声検出部２はユーザが１発声と意識した音声の範囲に拘わらず、音声検出部２自身の判断により１発声の範囲を検出し、音声認識部３は受け取ったその音声データ毎に認識処理を行うため、ユーザが迷ったり言いよどんだために発声に間が空いて、音声検出が誤ってユーザの１発声を複数の発声に分割してしまった場合は、正しく認識されないことがあった。例えば、ユーザが迷って「ファイルを・・・開く」と発声し、音声検出部２が「ファイルを」の音声データと「開く」の音声データを別々に切り出してしまった場合には、正しく認識されなかった。
【０００９】
一方、音声検出で誤って発声が分割されたり、途切れたりする問題に対処する方法としては、例えば、特開平９−１９８０７７号公報に記載の音声認識システムがある。しかし、同公報の音声認識システムは、音声検出が無音で区切られてしまうのを防ぐ方法であり、仮に、ユーザがシステムの想定を超えた一定時間以上の無音を発声中に入れた場合には、分割されて音声が検出されるため、対処することができなかった。
【００１０】
また、言いよどみが入力された場合への対処方法としては、例えば、特開平６−１１８９８９号公報に記載の連続音声認識方法があるが、同公報の方法の場合も、発声中に無音が入り、分割されて音声検出された場合には対処することができなかった。
【００１１】
本発明は、上記従来の問題点に鑑みなされたもので、その目的は、ユーザがコマンド語を発声する時に間を空けて発声しても正しく認識できる音声認識システムを提供することにある。
【００１２】
【課題を解決するための手段】
本発明の音声認識システムは、音声入力手段と、前記音声入力手段から受け取った入力データから音声を検出する手段と、先頭のノードから終端のノードに繋がる一本のアークで表され、各々に識別子が付与されたコマンド語を登録する認識辞書と、前記認識辞書のコマンド語を発声を受け付ける所定単位に分解すると共に、前記所定単位が各々独立したアークとなるようにネットワーク文法を変更し、且つ、前記コマンド語の各アークに対して、元のアークの識別子と元のアークが何個のアークに区切られたかを示す個数とそのアークが元のアークの先頭から何番目のアークであるかを示す順番とを含む識別子を対応させたテーブルを作成する手段と、前記検出手段により検出された音声に対して認識を行い、認識結果を保持する手段と、前記テーブルを参照して前記認識結果に対して可能性のある識別子を保存する手段と、前記保存された識別子を組み合わせ、その組み合わせ結果が前記認識辞書に登録されている元のコマンド語と一致した時に当該コマンド語を認識する手段とを備えたことを特徴とする。
【００１３】
本発明においては、コマンド語が複数の発声に分割して発声された場合においても、そのコマンド語を正しく認識できるという効果が得られる。
【００１４】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【００１５】
（第１の実施形態）
図１は本発明の音声認識システムの第１の実施形態の構成を示すブロック図である。なお、図１では図１０の従来の音声認識システムと同一部分は同一符号を付している。図１において、音声入力装置１はマイクロフォン等を用いて音声を受け取り、マイクロフォンからの音声信号のＡ／Ｄ変換等を行い、入力された音声をデジタルの入力データとして生成する。音声検出部２は音声入力装置１から受け取った入力データに対し、データのパワーの変化等を計算することによりユーザの発声した音声が含まれているかどうかを判断し、ユーザの発声した音声が含まれていると判断した場合、その部分を音声データとして切り出して音声認識部３に渡す。
【００１６】
音声認識部３は受け取った音声データと認識辞書変更部５から渡された認識辞書とを用いて音声認識処理を行い、認識結果を認識結果保持部６に格納する。認識辞書４は認識対象となるコマンド語が登録された辞書である。認識辞書変更部５は詳しく後述するように認識辞書４に対し、登録されているコマンド語を単語或いは音節等の所定の単位に分解し、その単語列／音節列／その他の単位による列の部分列も認識対象となるように認識辞書４を変更する。
【００１７】
認識結果保持部６は音声認識部３より認識結果を受け取り、複数の認識結果を保持する。認識結果制御部７は認識結果保持部６に保持されている認識結果を参照し、それらの組み合わせが元の認識辞書４に格納されているコマンド語になるかどうかを判断し、認識結果の組み合わせがコマンド語になると判断した場合は、そのコマンド語を認識結果処理部８に渡し、認識結果保持部６に格納されている内容を空にする。認識結果処理部８は認識結果のコマンド語を受け取り、そのコマンド語に対応した処理を行う。
【００１８】
次に、本実施形態の動作を具体例を挙げて詳細に説明する。まず、認識辞書４は図２（ａ）に示すようなネットワーク文法で与えられているとする。即ち、この認識辞書４は先頭のノード１０１から終端のノード１０２までを繋ぐパスが認識対象となるコマンド語を表しており、「ファイル を 開く」、「ファイル を 閉じる」、「図 を 開く」、「図 を 閉じる」の４通りのコマンド語が認識対象となっている。また、認識辞書４はネットワーク文法の各アークが単語で構成されている。
【００１９】
認識辞書変更部５はこの４通りのコマンド語に対し、単語を境界として部分的に発声したものも受け付けるようにするため、先頭のノード１０１と終端のノード１０２以外のノードに対し、先頭のノード１０１及び終端のノード１０２に繋がるアークを作成する。例えば、図２（ａ）に示すネットワーク文法の場合、図２（ｂ）に示すようにアーク１０５、１０６、１０７、１０８の４つのアークを追加する。
【００２０】
これらの追加されたアークは、認識されるコマンド語はなし（図２（ｂ）ではφで表現する）となっている。これにより、図２（ｂ）のネットワーク文法では、「ファイル」、「ファイル を」、「図」、「図を」、「開く」、「を開く」、「閉じる」、「を 閉じる」等、元のコマンド語を部分的に発声したものも受け付けられる。
【００２１】
ここで、ユーザが音声入力装置１を通して、まず、「ファイルを」と発声したとする。この発声は音声検出部２を通して処理され、音声検出部２では「ファイルを」が発声された音声データと判断し、その部分を音声認識部３に渡す。一方、認識辞書変更部５は図２（ｂ）に示すように変更した認識辞書を作成しており、音声認識部３では変更した認識辞書を用いて認識処理を行う。この場合、図２（ｂ）の認識辞書では「ファイルを」のコマンド語が受け付けられるため、音声認識部３は「ファイルを」を認識し、認識結果保持部６に「ファイルを」が認識結果として保持される。
【００２２】
認識結果保持部６に認識結果が保持されると、認識結果制御部７は認識結果保持部６に保持されている認識結果の組み合わせが、元の認識辞書４により受け付けられるかどうかを調べる。この時点では、「ファイルを」は図２（ａ）のネットワーク文法では受け付けられないため、元のコマンド語はまだ認識されていないと判断し、認識結果処理部８には何も渡さない。
【００２３】
次に、ユーザが続けて音声入力装置１を通して「開く」と発声したとする。この時、同様に音声検出部２、音声認識部３により処理され、この時も、図２（ｂ）の認識辞書では「開く」のコマンド語が受け付けられるため、音声認識部３は「開く」を認識し、これが認識結果として認識結果保持部６に保持される。認識結果制御部７は認識結果保持部６に認識結果が追加されたため、再度、認識結果の組み合わせが、元の認識辞書４により受け付けられるかどうかを調べる。
【００２４】
今回は、「ファイルを」と「開く」を組み合わせた「ファイルを開く」が図２（ａ）のネットワーク文法で受け付けられるため、認識結果処理部８に「ファイルを開く」を認識結果として渡す。また、認識結果保持部６に保持されている内容を空にする。このように本実施形態では、ユーザが「ファイルを」、「開く」と区切って発声したものを「ファイルを開く」のコマンド語として正しく認識することができる。
【００２５】
（第２の実施形態）
次に、本発明の第２実施形態について説明する。第２の実施形態の基本的構成は図１の第１の実施形態と同様であるが、認識辞書４の構造が異なっている。それに伴い、認識辞書変更部５、認識結果制御部７の動作が異なっている。本実施形態では、認識辞書４が図３（ａ）に示すように与えられているとする。この認識辞書４では、コマンド語が先頭のノードから終端のノードに繋がる一本のアークで表されている。また、各コマンド語には、#W001、#W002、#W003の識別子が付与されている。
【００２６】
認識辞書変更部５は、まず、認識辞書４のコマンド語を発声を受け付ける単位に分解する。この場合は、単語単位の区切りを受け付けるものとし、コマンド語を形態素解析する等の手段により単語単位に分解する。そして、図３（ｂ）に示すように各単語が独立したアークとなるようにネットワーク文法を変更する。その際、元のアークに付与されていた識別子を残しておくため、各アークに対し元となったアークの識別子と、そのアークが元のアークの先頭から何番目かと、いくつのアークに区切られたかの情報を付与する。
【００２７】
例えば、図３（ｂ）において「保存」というアークの「#W003#3#4」のうち「#W003」は、元のアークが「#W003」であることを表し、「#3#4」は４つのアークに分解されたうちの先頭から３番目であることを表している。
【００２８】
このようにして変更された図３（ｂ）のネットワーク文法に対し、認識辞書変更部５は、更に、第１の実施形態と同様に先頭と終端以外の各ノードに対し先頭のノード及び終端のノードに繋がるコマンド語のないアークを追加する。図４は図３（ｂ）に対してこの処理を行ったネットワーク文法を示す。また、この際、同じコマンド語が複数のアークに出現する可能性もあるため、認識辞書変更部５は、図５に示すように認識されるコマンド語とアークに付与された識別子のテーブル５１を保持する。
【００２９】
ここで、まず、ユーザが音声入力装置１を通して「ファイルを」と発声したとする。この音声は、音声検出部２、音声認識部３を通して処理され、音声認識部３では「ファイル を」が認識結果として得られる。この認識結果は、認識結果保持部６に保持される。この時点では、図６に示すように認識結果保持部６に“ファイルを”が保持される。
【００３０】
認識結果制御部７は、認識結果保持部６に保持されている認識結果が、元の認識辞書４で受け付けられるかどうかを調べる。まず、図５のテーブル５１を参照し、認識結果に対し可能性のある識別子を調べ、認識結果保持部６に追加情報として保持する。この時の認識結果保持部６には、図６に１１１として示すように「#W001#1#3」、「#W001#2#3」、「#W002#1#3」、「#W002#2#3」、「#W003#2#4」が保持された状態となる。この状態では、１１１に保持されている識別子を組み合わせても、元の識別子にならないため、まだ元のコマンド語は認識されていないと判断し、認識結果処理部８には何も通知しない。
【００３１】
次に、ユーザが続けて「保存」と発声したとする。この「保存」はユーザが言い間違えて発声したものとする。この場合も同様に入力音声が処理され、図６に示すように認識結果保持部６に“保存”の認識結果が保持される。認識結果制御部７は、同様にテーブル５１の識別子の情報を認識結果保持部６に追加し、図６に１１２として示すように保存に対応する識別子「#W003#3#4」が保持される。この時の認識結果保持部６の状態は、図６の１１１と１１２を合わせたものになる。認識結果制御部７はこの状態でも元の識別子を構成できないため、まだ元のコマンド語は認識されていないと判断する。
【００３２】
次いで、ユーザが「閉じる」と発声したとする。同様に入力音声が認識され、図６に示すように認識結果保持部６に“閉じる”の認識結果が保持される。認識結果制御部７は、同様にテーブル５１の識別子の情報を認識結果保持部６に追加し、図６に１１３として示すように認識結果保持部６に「閉じる」に対応する識別子「#W002#3#3」が追加される。この時の認識結果保持部６の状態は、図６の１１１、１１２、１１３を合わせたものになる。
【００３３】
この時、認識結果保持部６に付与された識別子を見ると、先頭から「#W002#1#3」、「#W002#2#3」、「#W002#3#3」の３つを繋げて「#W002」が完成する。よって、この時点で認識結果制御部７は、「#W002」のコマンド語、即ち「ファイルを閉じる」のコマンド語を認識できたと判断し、認識結果処理部８に「ファイルを閉じる」の認識結果を渡す。また、認識結果制御部７は認識結果保持部６に保持している内容を空にする。
【００３４】
このように本実施形態では、ユーザが「ファイルを」、「保存」、「閉じる」のように途中で言い間違いや言いよどみ等余計な発声も含めて、区切って発声したものを、「ファイルを閉じる」のコマンド語として正しく認識することができる。
【００３５】
また、以上の実施形態では、コマンド語を単語を境界として区切って発声できると説明したが、本発明は、単語ではなく、例えば、音節を境界として区切って発声できるシステムとしてもよい。例えば、図７（ａ）に示すような認識辞書があった場合、コマンド語の読みを音節単位に分解し、図７（ｂ）に示すようにネットワーク文法の各アークも音節単位に分解する。以降の処理は図３の認識辞書に対して行った処理と同様である。このような実施形態では、「さく」、「せい」や「へん」、「こう」のようにコマンド語を音節部分で区切って発声しても認識することが可能である。
【００３６】
更に、単語単位や音節単位以外にも、システムで定義した語句を部分的に発声できる境界としてもよい。例えば、２音節程度からなる語句を定義し、その語句によりコマンド語を分解するという方法や、文節によりコマンド語を分解するという方法等である。前者の方法としては、例えば、「おう」、「こう」、「そう」、「とう」等の２音節程度の語句を定義する。そして、例えば、これらの定義された語句を単位とすることで、「応答」というコマンド語は「おう」と「とう」に分解される。
【００３７】
また、このようにネットワーク文法を拡張すると、ネットワーク文法が複雑になり、処理速度や認識性能に影響を与えることも考えられる。そのため、例えば、図３（ｂ）のネットワーク文法に対し、同じコマンド語の付いたアークをまとめることにより、図８に示すようにネットワーク文法を単純化するという方法も考えられる。
【００３８】
また、このようにコマンド語を部分的に発声したものも受け付けるように認識辞書を変更した場合、コマンド語の数の増加や、似たコマンド語の増加により誤認識が増えることが考えられる。例えば、図９（ａ）のような認識辞書の場合、「ファイル」と「入る」というコマンド語が受け付けられ、「ファイル」と「入る」は音響的に似ているため、「ファイル」と発声しても「入る」と誤認識されてしまうことが考えられる。このような問題の対策として、例えば、認識結果の第１位候補だけでなく、第２位以降の候補も使用するという方法がある。これは、音声認識手段３が音声認識時に複数の候補を認識結果保持部６に保持しておく。
【００３９】
図９（ｂ）はこの場合の認識結果保持部６に保持された認識結果の例を示す。ここでは、ユーザが「ファイル」と発声したものが、第１位候補では「入る」と認識され、「ファイル」は第２位候補として認識されたものとする。このような場合、図９（ｂ）に示すように認識結果保持部６に第１位候補の他に第２位候補も含めて保持し、認識結果制御部７が第２位候補も含めて元のコマンド語の完成を判断することで正しく認識でき、誤認識が増える場合に対処できる。また、図９（ｂ）に示すように「を」と「と」、「開く」と「入る」等のような場合も、同様に第１位候補、第２位候補を保持し、第２位候補も含めて元のコマンド語になるかを判断することで正しく認識できる。
【００４０】
【発明の効果】
以上説明したように本発明によれば、認識辞書に登録されているコマンド語を所定の単位に分解し、複数の認識結果が得られた時にそれらの組み合わせが元のコマンド語になるかどうかを判断しているので、ユーザがコマンド語を発声する時に元々定義されているコマンド語の通りに１発声で発声するのではなく、長いコマンド語や１発声では言いにくいコマンド語を分割して発声した場合であっても、音声を正しく認識することができる。
【００４１】
また、ユーザの意図とは関係なく音声検出部自身で１発声の範囲を判断し、音声データを切り出すが、音声検出部がユーザの意図しないように１発声を複数の発声に分けて切り出した場合でも、元のコマンド語を部分的に発声したものも受け付けられるようになり、認識結果保持部には元のコマンド語が認識されるまで複数の認識結果が保持され、それらの複数の認識結果を組み合わせて元のコマンド語になるかを判断するため、ユーザが発声の途中で言いよどんだり、詰まったりし、音声検出で区切られるくらいの大きな間が空いてしまった場合でも正しく認識することができる。
【図面の簡単な説明】
【図１】本発明による音声認識システムの第１の実施形態の構成を示すブロック図である。
【図２】図１の実施形態に用いる認識辞書のネットワーク文法の一例及びそれを認識辞書変更部により変更した認識辞書を示す図である。
【図３】本発明の第２の実施形態で用いる認識辞書のネットワーク文法の一例及びそれを認識辞書変更部により変更した認識辞書を示す図である。
【図４】図３のネットワーク文法に対しコマンド語がなしのアークが付与された認識辞書を示す図である。
【図５】コマンド語と識別子の対応を示すテーブルの図である。
【図６】認識結果保持部に保持された認識結果の例を示す図である。
【図７】認識辞書のコマンド語を音節単位で分解する場合の例を説明する図である。
【図８】コマンド語が分解された認識辞書に対し、同じコマンド語のアークをまとめて単純化した例を示す図である。
【図９】複数の認識候補を用いて認識処理を行う場合の例を説明する図である。
【図１０】従来例の音声認識システムの構成を示すブロック図である。
【符号の説明】
１    音声入力装置
２    音声検出部
３    音声認識部
４    認識辞書
５    認識辞書変更部
６    認識結果保持部
７    認識結果制御部
８    認識結果処理部
【図１】
0003962904.tif 000002
【図２】
0003962904.tif 000003
【図３】
0003962904.tif 000004
【図４】
0003962904.tif 000005
【図５】
0003962904.tif 000006
【図６】
0003962904.tif 000007
【図７】
0003962904.tif 000008
【図８】
0003962904.tif 000009
【図９】
0003962904.tif 000010
【図１０】
0003962904.tif 000011