(57)【要約】【課題】比較的長い語句に対しても、高精度かつ高速な音声テキスト入力を実現することができる音声認識装置を提供すること。【解決手段】音声認識装置１００は、複数のテキスト配列を記述した辞書１１３を格納する音声認識データベース１１０と、音声を入力する音声入力部１３０と、音声のうち既に入力されている音声部分に対して音声認識を行い、複数のテキスト配列のうちの１つを選択して音声に対する暫定の音声認識結果とする、音声認識処理を行う音声認識処理部１４０と、暫定の音声認識結果が、前方に複数の音節配列の間で一意となる排他区間を有する排他テキスト配列であるとき、当該排他テキスト配列を音声に対する確定の音声認識結果とする確定処理部１７０とを有する。【選択図】図１
2014206677.tif 000002
【特許請求の範囲】
【請求項１】
複数のテキスト配列を記述した辞書を格納する音声認識データベースと、
音声を入力する音声入力部と、
前記音声のうち既に入力されている音声部分に対して音声認識を行い、前記複数のテキスト配列のうちの１つを選択して前記音声に対する暫定の音声認識結果とする、音声認識処理を行う音声認識処理部と、
前記暫定の音声認識結果が、前方に前記複数のテキスト配列の間で一意となる排他区間を有する排他テキスト配列であるとき、当該排他テキスト配列を前記音声に対する確定の音声認識結果とする確定処理部と、を有する、
音声認識装置。
【請求項２】
前記暫定の音声認識結果を表示する表示部と、
前記表示部に表示されている前記暫定の音声認識結果に対する決定操作を受け付ける操作入力部と、を更に有し、
前記確定処理部は、
前記決定操作が行われたとき、当該決定操作が行われた前記暫定の音声認識結果を前記確定の音声認識結果とし、前記暫定の音声認識結果が前記排他テキスト配列であるとき、前記決定操作が行われていなくても、当該排他テキスト配列を前記確定の音声認識結果とする、
請求項１に記載の音声認識装置。
【請求項３】
前記音声認識処理部は、
前記音声認識処理を所定の周期で繰り返し行い、
前記確定処理部は、
前記暫定の音声認識結果が前記排他テキスト配列であり、かつ、直近に連続して得られた所定数の他の前記暫定の音声認識結果の全てと前方一致となることを条件として、当該排他テキスト配列を前記確定の音声認識結果とする、
請求項１に記載の音声認識装置。
【請求項４】
前記所定数は、２である、
請求項３に記載の音声認識装置。
【請求項５】
前記音声認識処理部は、
前記暫定の音声認識結果毎に、当該暫定の音声認識結果の確からしさを示す確信度を算出し、
前記確定処理部は、
前記確信度が所定値未満の前記暫定の音声認識結果については、前記条件の判断の対象外とする、
請求項３に記載の音声認識装置。
【請求項６】
前記テキスト配列は、音節テキスト配列であり、
前記確定処理部は、
前記所定数以上の音節で前記排他テキスト配列と前方一致とならないテキスト配列は、前記条件の判断の対象外とする、
請求項３に記載の音声認識装置。
【請求項７】
前記排他テキスト配列は、前記排他区間の末尾位置を示すマーカが挿入された音節テキスト配列であり、
前記複数のテキスト配列のうち、前記排他テキスト配列以外のテキスト配列は、当該テキスト配列の末尾位置を示すマーカが挿入された音節テキスト配列であり、
前記確定処理部は、
前記暫定の音声認識結果が、前記マーカが挿入されていないものであるとき、当該暫定の音声認識結果については、前記条件の判断の対象外とする、
請求項３に記載の音声認識装置。
【請求項８】
前記辞書に記述される複数のテキスト配列を、前方一致の順序でソートし、隣接する前記テキスト配列のペアのそれぞれに対して前方一致の範囲を判定する処理を行うことにより、前記排他テキスト配列に前記マーカを挿入するマーカ挿入部、を更に有する、
請求項７に記載の音声認識装置。
【請求項９】
複数のテキスト配列を記述した辞書を格納する音声認識データベースと、音声を入力する音声入力部と、前記音声のうち既に入力されている音声部分に対して、前記複数のテキスト配列のうちの１つを選択して前記音声に対する暫定の音声認識結果とする、音声認識処理を行う音声認識処理部と、を有する音声認識装置における音声認識結果確定方法であって、
前記暫定の音声認識結果が、前方に前記複数のテキスト配列の間で一意となる排他区間を有する排他テキスト配列であるか否かを判断するステップと、
前記暫定の音声認識結果が前記排他テキスト配列であるとき、当該排他テキスト配列を前記音声に対する確定の音声認識結果とするステップと、を有する、
音声認識結果確定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声認識処理を行う音声認識装置、および、この装置において用いられる音声認識結果確定方法に関する。
【背景技術】
【０００２】
音声認識技術を用いてテキスト入力を音声入力により行うこと（以下「音声テキスト入力」という）が、広く行われている。近年、用途の拡大に伴い、音声テキスト入力の高速化および高精度化が求められている。
【０００３】
特許文献１に記載の技術（以下「従来技術」という）は、文を単語毎に区切り、２段階の言語モデルおよび音響モデルを用いて、文頭から（前方から）音声認識結果を単語単位で順次確定する。このような従来技術を用いることにより、１段階の言語モデルおよび音響モデルを用いて文単位で音声認識結果を確定する場合に比べて、高精度な音声テキスト入力を、より高速に行うことが可能となる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−１４０６８５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来技術は、比較的長い語句に対しては、高精度かつ高速な音声テキスト入力を実現することが難しいという課題を有する。
【０００６】
理由は、以下の通りである。長い語句は、発話の開始から完了までに時間が掛かるだけでなく、音声認識処理の開始から完了までに時間が掛かる。したがって、比較的長い語句を入力しようとする場合、発話が開始されてから音声認識結果が確定するまでには、比較的長い時間を要する。
【０００７】
本発明の目的は、比較的長い語句に対しても、高精度かつ高速な音声テキスト入力を実現することである。
【課題を解決するための手段】
【０００８】
本発明の音声認識装置は、複数のテキスト配列を記述した辞書を格納する音声認識データベースと、音声を入力する音声入力部と、前記音声のうち既に入力されている音声部分に対して音声認識を行い、前記複数のテキスト配列のうちの１つを選択して前記音声に対する暫定の音声認識結果とする、音声認識処理を行う音声認識処理部と、前記暫定の音声認識結果が、前方に前記複数のテキスト配列の間で一意となる排他区間を有する排他テキスト配列であるとき、当該排他テキスト配列を前記音声に対する確定の音声認識結果とする確定処理部と、を有する。
【０００９】
本発明の音声認識結果確定方法は、複数のテキスト配列を記述した辞書を格納する音声認識データベースと、音声を入力する音声入力部と、前記音声のうち既に入力されている音声部分に対して、前記複数のテキスト配列のうちの１つを選択して前記音声に対する暫定の音声認識結果とする、音声認識処理を行う音声認識処理部と、を有する音声認識装置における音声認識結果確定方法であって、前記暫定の音声認識結果が、前方に前記複数のテキスト配列の間で一意となる排他区間を有する排他テキスト配列であるか否かを判断するステップと、前記暫定の音声認識結果が前記排他テキスト配列であるとき、当該排他テキスト配列を前記音声に対する確定の音声認識結果とするステップと、を有する。
【発明の効果】
【００１０】
本発明によれば、比較的長い語句に対しても、高精度かつ高速な音声テキスト入力を実現することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の一実施の形態に係る音声認識装置の構成の一例を示すブロック図
【図２】本実施の形態におけるマーカ挿入動作の一例を示すフローチャート
【図３】本実施の形態におけるマーカ挿入動作前の登録単語群の一例を示す図
【図４】本実施の形態における音節行列の一例を示す図
【図５】本実施の形態における一致文字列リストの一例を示す図
【図６】本実施の形態におけるマーカ挿入動作後の登録単語群の一例を示す図
【図７】本実施の形態における音声認識動作の一例を示すフローチャート
【図８】本実施の形態における確定結果取得までに要する時間の一例を説明する図
【図９】本実施の形態における結果確定の様子の一例を示す図
【図１０】本実施の形態における結果確定の様子の他の例を示す図
【発明を実施するための形態】
【００１２】
以下、本発明の一実施の形態について、図面を参照して詳細に説明する。
【００１３】
まず、本実施の形態に係る音声認識装置の構成について説明する。
【００１４】
図１は、本発明の一実施の形態に係る音声認識装置の構成の一例を示すブロック図である。本実施の形態に係る音声認識装置は、例えば、携帯電話機である。
【００１５】
図１において、音声認識装置１００は、音声認識データベース（ＤＢ）１１０、マーカ挿入部１２０、音声入力部１３０、音声認識処理部１４０、表示部１５０、操作入力部１６０、確定処理部１７０、および確定結果使用部１８０を有する。
【００１６】
音声認識データベース１１０は、音声認識処理に用いられる情報である、音響モデル１１１、言語モデル１１２、および辞書１１３を、予め格納する。音響モデル１１１は、音声の特徴量と発音記号との確率的な対応付けをデータ化したものである。辞書１１３は、音声認識処理による音声認識結果の候補群として、複数のテキスト配列を記述したものである。言語モデル１１２は、辞書１１３に記述されたテキスト配列のそれぞれについて、出現確率や接続確率をデータ化したものである。
【００１７】
なお、本実施の形態において、辞書１１３が記述するテキスト配列は、カタカナの単語をカタカナで表記した音節テキスト配列（以下「単語」という）であるものとする。
【００１８】
また、辞書１１３が記述する複数の単語（以下「登録単語群」という）の中には、前方に登録単語群の間で一意となる排他区間を有する単語（排他テキスト配列、以下「排他単語」という）が存在するものとする。また、登録単語群のうち、排他区間を有さない単語（以下「非排他単語」という）の中に、所定数以上の音節でいずれかの排他単語と前方一致となる単語（以下「前方一致単語」という）が存在するものとする。本実施の形態において、この所定数は、３とする。
【００１９】
マーカ挿入部１２０は、辞書１１３に記述される単語のうち、排他単語に対して、その単語の排他区間の末尾位置に、マーカを挿入する。また、マーカ挿入部１２０は、辞書１１３に記述される単語のうち、非排他単語に対して、その単語の末尾位置に、マーカを挿入する。なお、このマーカ挿入処理は、音声認識処理が開始される前に行われる。
【００２０】
すなわち、辞書１１３は、初期状態では、マーカが挿入されていない単語を記述している。その後、辞書１１３は、マーカ挿入部１２０の機能により、マーカが挿入された排他単語を記述した状態となる。そして、挿入されたマーカは、排他単語の排他区間の末尾位置、あるいは、非排他単語の末尾位置を示す。
【００２１】
音声入力部１３０は、周囲の音声を入力し、音声信号に変換して、音声認識処理部１４０へ出力する。周囲の音声にユーザの発話音声が含まれる場合、音声信号には、ユーザの発話音声の信号が含まれることになる。音声入力部１３０は、例えば、上記携帯電話機に供えられたマイクロフォンである。
【００２２】
音声認識処理部１４０は、音声入力部１３０から入力された音声信号に対して、音声認識処理を、所定の周期で繰り返し行う。この音声認識処理は、既に入力されている音声データ部分（音声部分）に対して音声認識を行い、１つまたは複数の音節から成るテキスト配列、あるいは、辞書１１３の登録単語を、音声データ（音声）に対する暫定の音声認識結果とする処理である。音声認識処理部１４０は、音響分析部１４１および認識デコーダ部１４２を有する。
【００２３】
音響分析部１４１は、音声信号を分析し、音声データに含まれる音声の特徴量（以下「音声特徴量」という）を抽出する。具体的には、音響分析部１４１は、音声信号に対してフレーム処理を行い、フレームごとにフーリエ解析を含む所定の処理を行って、ケプストラムパラメータ等を抽出する。そして、音響分析部１４１は、解析結果から、発話音声が含まれている音声区間を検出し、音声区間の音声特徴量のみによる時系列データを生成する。
【００２４】
認識デコーダ部１４２は、音響分析部１４１が生成した音声特徴量の時系列データに基づき、音声認識データベース１１０の音響モデル１１１、辞書１１３、および言語モデル１１２を参照して、暫定の音声認識結果を決定する。
【００２５】
より具体的には、認識デコーダ部１４２は、音声特徴量の時系列データを、まず、１つまたは複数の音節から成るテキスト配列に変換する。そして、得られたテキスト配列が辞書１１３に存在しない場合、当該テキスト配列を暫定の音声認識結果として決定する。一方、得られたテキスト配列が辞書１１３に存在する場合、対応する単語（マーカが挿入された単語）を、暫定の音声認識結果として決定する。そして、認識デコーダ部１４２は、決定した暫定の音声認識結果（以下「暫定結果」という）を、表示部１５０および確定処理部１７０へ出力する。
【００２６】
すなわち、音声認識処理部１４０からは、例えば、ユーザが上述のマイクロフォンに対して発話している間、音声テキスト入力の暫定結果が所定の周期で出力される。例えば、ユーザが音声テキスト入力を行おうとしている単語（以下「所望の単語」という）が比較的長い単語である場合、その単語の発話が完了する前に、数回の暫定結果が得られることになる。また、暫定結果としては、登録単語ではないテキスト配列、排他区間の末尾位置にマーカが挿入された排他単語、および単語の末尾位置にマーカが挿入された非排他単語、の３種類のうちのいずれかが得られることになる。
【００２７】
なお、音声認識処理部１４０は、暫定結果毎に、その暫定結果の確からしさを示す確信度を算出する。そして、音声認識処理部１４０は、確定処理部１７０に対して出力する暫定結果に、算出した確信度を付加する。確信度の算出は、例えば、音声特徴量に対する発音記号の確率、および、発音記号に対する単語の出現確率や接続確率に基づき、最良パス（第１候補）の確率、および、その他のパス（第２候補以降）の確率差等の情報を利用して、行われる。
【００２８】
表示部１５０は、音声認識処理部１４０から入力された暫定結果を表示する。また、表示部１５０は、新たな暫定結果が入力される毎に、新たな暫定結果により表示内容を更新する。表示部１５０は、例えば、上記携帯電話機に供えられた液晶ディスプレイである。
【００２９】
操作入力部１６０は、表示部１５０に表示されている暫定結果に対する決定操作を受け付ける。そして、操作入力部１６０は、決定操作が行われた時、その旨を、確定処理部１７０へ通知する。操作入力部１６０は、例えば、上記携帯電話機に供えられたタッチパネルである。
【００３０】
すなわち、ユーザは、最新の暫定結果が所望の単語である場合、その暫定結果に対する決定操作を行うことができる。
【００３１】
確定処理部１７０は、操作入力部１６０において上記決定操作が行われたとき、その決定操作が行われた暫定結果を、音声入力部１３０が入力する上記音声に対する確定の音声認識結果（以下「確定結果」という）とする。
【００３２】
また、確定処理部１７０は、暫定結果が排他単語であるとき、操作入力部１６０において上記決定操作が行われていなくても、その排他単語を確定結果とする。すなわち、確定処理部１７０は、暫定結果が排他区間を有するテキスト配列であるとき、決定操作が行われる前に、その暫定結果を確定結果として決定する。
【００３３】
但し、本実施の形態において、確定処理部１７０は、直近に連続して得られた所定数の他の暫定結果の全てと前方一致となることを条件として、その排他単語を確定結果とする。本実施の形態において、この所定数は、２とする。すなわち、確定処理部１７０は、３回連続して前方一致となる暫定結果が得られたとき、その３回目の暫定結果を、確定結果とする。これは、音声の不明瞭さ等に起因して誤認識が発生し得ることを、考慮したものである。
【００３４】
更に、確定処理部１７０は、暫定結果が非排他単語であるときも、直近に連続して得られた所定数の他の暫定結果の全てと前方一致となったとき、その３回目の暫定結果を、確定結果とする。これは、単語を発話し終えたときを考慮したものである。
【００３５】
すなわち、確定処理部１７０は、確からしい暫定結果として登録単語が得られたとき、決定操作を待たずに、その暫定結果を確定結果として決定する。そして、確定処理部１７０は、決定した確定結果を、確定結果使用部１８０へ出力する。
【００３６】
また、確定処理部１７０は、前方一致単語以外の単語、つまり、排他単語と前方一致とならない単語および２以下の音節でしか排他単語と前方一致とならない単語については、上記条件の判断の対象外とする。
【００３７】
暫定結果が排他単語であるか否かは、例えば、上述のマーカの有無により判断される。また、暫定結果が前方一致単語であるか否かは、例えば、上述のマーカの有無により判断される。
【００３８】
確定結果使用部１８０は、入力された確定結果を使用して、所定の処理を行う。確定結果使用部１８０は、例えば、上記携帯電話機に搭載された電子メールアプリである。この場合、上記所定の処理は、例えば、入力された確定結果を、電子メールの宛先に入力しつつ、その入力内容を表示部１５０に表示させる処理である。
【００３９】
また、音声認識装置１００は、図示しないが、例えば、ＣＰＵ（central processing unit）、制御プログラムを格納したＲＯＭ（read only memory）等の記憶媒体、およびＲＡＭ（random access memory）等の作業用メモリ等を有する。この場合、上記した各部の機能は、ＣＰＵが制御プログラムを実行することにより実現される。
【００４０】
このような構成を有する音声認識装置１００は、確からしい暫定結果が得られた段階で、決定操作を待たずに、その暫定結果を確定結果とすることができる。
【００４１】
比較的長い単語は、排他区間を有することが多く、更に、排他区間の末尾から単語の末尾までの距離（発話に要する時間、音声認識処理に要する時間）が長いことが多い。また、所望の単語が排他単語である場合、排他区間の音声部分に対する音声認識処理が完了した時点で、所望の単語が暫定結果として決定されることが多い。
【００４２】
したがって、音声認識装置１００は、所望の単語が比較的長い単語である場合、単語全体の音声に対する音声認識処理が完了する前に、正しい確定結果を得ることができる。すなわち、音声認識装置１００は、比較的長い単語に対しても、高精度かつ高速な音声テキスト入力を実現することができる。
【００４３】
更に、上記構成を有する音声認識装置１００は、直近に連続して得られた２つの他の暫定結果の全てが当該排他単語についての前方一致単語ではない場合、当該排他単語を確定結果としないようにすることができる。
【００４４】
単語全体の音声に対する音声認識処理が完了する前に確定結果を決定すると、発話の状態および入力音声の状態によっては、誤った確定結果を得るおそれがある。一方で、直近に連続して得られた２つの他の暫定結果の全てが最新の暫定結果についての前方一致単語である場合には、その最新の暫定結果が正しい可能性が非常に高い。
【００４５】
したがって、音声認識装置１００は、誤認識が発生する可能性を、低減することができる。すなわち、音声認識装置１００は、更に認識精度を向上させた状態で、高速な音声テキスト入力を実現することができる。
【００４６】
また、音声認識装置１００は、非排他単語が暫定結果として得られた場合についても、直近に連続して得られた２つの他の暫定結果の全てと前方一致となる場合、その暫定結果を確定結果とすることができる。これにより、音声認識装置１００は、単語を言い終えて所定の時間（同一の暫定結果が３回得られるのに要する時間）が経過した段階で、決定操作を待たずに、その暫定結果を確定結果とすることができる。
【００４７】
以上で、音声認識装置１００の構成についての説明を終了する。
【００４８】
次に、音声認識装置１００の動作について説明する。音声認識装置１００は、まず、初期設定動作としてマーカ挿入動作を行い、その後、音声認識動作を行う。
【００４９】
マーカ挿入動作は、辞書１１３に格納された登録単語群に対して、マーカを挿入する動作である。音声認識動作は、マーカの挿入が行われた辞書１１３を用いて、高精度かつ高速な音声テキスト入力を実現する動作である。
【００５０】
まず、マーカ挿入動作について説明する。
【００５１】
図２は、音声認識装置１００のマーカ挿入動作の一例を示すフローチャートである。
【００５２】
まず、ステップＳ１０１０において、マーカ挿入部１２０は、登録単語群の各単語を、音節で分割する。そして、マーカ挿入部１２０は、音節で分割された各単語を、５０音順でソートして、仮想の記憶領域である音節行列に格納する。
【００５３】
図３は、マーカ挿入動作前の登録単語群の一例を示す図である。
【００５４】
図３に示すように、マーカ挿入動作前の登録単語群２１０は、複数の単語の集合である。各単語は、カタカナの音節テキスト配列である。
【００５５】
図４は、登録単語群が格納された音節行列の一例を示す図である。
【００５６】
図４に示すように、音節行列２２０は、登録単語群を、音節の位置を揃えた状態で、５０音順に並べたリストである。例えば、音節行列において、「イグザタブレット」という単語が格納された行の「タ」という音節が格納された列と、次の「イグザフォン」という単語が格納された行の「フォン」という音節が格納された列とは、同一の列に属している。
【００５７】
そして、図２のステップＳ１０２０において、マーカ挿入部１２０は、音節行列から、行（単語）を１つ選択する。ここでは、マーカ挿入部１２０は、音節行列の上から下へと、順に選択していくものとする。例えば、マーカ挿入部１２０は、「アドバンス」という単語が格納された行を選択する。
【００５８】
そして、ステップＳ１０３０において、マーカ挿入部１２０は、選択中の行を、次の行と列（音節）毎に比較し、少なくとも１つ以上の列で前方一致となっているか否かを判断する。前方一致となっている範囲とは、２つの配列の間で、それぞれの配列の前方を基準として一致する範囲のうち、最大の範囲をいうものとする。
【００５９】
マーカ挿入部１２０は、選択中の行と次の行との間で前方一致となっている場合（Ｓ１０３０：ＹＥＳ）、後述のステップＳ１０５０へ進む。また、マーカ挿入部１２０は、選択中の行と次の行との間で前方一致となっていない場合（Ｓ１０３０：ＮＯ）、ステップＳ１０４０へ進む。
【００６０】
例えば、「イグザフォントリプルエックス」という単語が選択されている場合、次の行の単語「ウニ」との間では、前方一致となっていない。したがって、このような場合、処理は、ステップＳ１０４０へ進む。
【００６１】
そして、ステップＳ１０４０において、マーカ挿入部１２０は、前回の比較でも前方一致していた場合（Ｓ１０４０：ＹＥＳ）、後述のステップＳ１０５０へ進む。また、マーカ挿入部１２０は、前回の比較で前方となっていない場合（Ｓ１０４０：ＮＯ）、後述のステップＳ１０６０へ進む。
【００６２】
前回の比較でも前方一致していた場合とは、つまり、選択中の行の単語が、前後の行の両方の単語と前方一致となっている場合である。例えば、「イグザタブレット」という単語が格納された行が選択された場合、前の行の単語「イグザ」、および、次の行の単語「イグザフォン」との間では、「イ」、「グ」、「ザ」が格納された３つの列で前方一致となっている。したがって、この場合、処理は、ステップＳ１０５０へ進む。
【００６３】
ステップＳ１０５０において、マーカ挿入部１２０は、選択中の行に格納された単語の次の行の単語との前方一致部分を、一致文字列リストに追加する。一致文字列リストは、前後２つの単語との間で前方一致となる単語を構成する文字列のうち、次の単語と前方一致となる部分（つまり、共通部分）をリスト化したものとなる。
【００６４】
図５は、一致文字列リストの一例を示す図である。
【００６５】
図５に示すように、一致文字列リスト２３０は、前後２つの単語との間で前方一致となる単語を構成する文字列のうち、次の単語と前方一致となる部分のみを記述する。したがって、例えば、図３に示す登録単語群２１０のうち、「アドバンス」に対応する文字列は、一致文字列リスト２３０には記述されていない。
【００６６】
そして、ステップＳ１０６０において、マーカ挿入部１２０は、選択中の行が音節行列の最後の行（単語）であるか否かを判断する。
【００６７】
マーカ挿入部１２０は、選択中の行が音節行列の最後の行ではない場合（Ｓ１０６０：ＮＯ）、ステップＳ１０２０へ戻り、次の行に対する処理へ移る。また、マーカ挿入部１２０は、音節行列の全ての行について処理が完了すると（Ｓ１０６０：ＹＥＳ）、ステップＳ１０７０へ進む。
【００６８】
そして、図２のステップＳ１０７０において、マーカ挿入部１２０は、再び、音節行列から、行（単語）を１つ選択する。ここでは、マーカ挿入部１２０は、音節行列の上から下へと、順に選択していくものとする。例えば、マーカ挿入部１２０は、「アドバンス」という単語が格納された行を選択する。
【００６９】
そして、ステップＳ１０８０において、マーカ挿入部１２０は、選択中の行の単語の前方部分が、一致文字列リスト（図５参照）に含まれているか否かを判断する。この判断は、つまり、単語が、排他単語および前方一致文字列のいずれかであるか否かの判断である。
【００７０】
マーカ挿入部１２０は、選択中の行の単語が一致文字列リストに含まれている場合（Ｓ１０８０：ＹＥＳ）、後述のステップＳ１０９０へ進む。また、マーカ挿入部１２０は、選択中の行の単語が一致文字列リストに含まれていない場合（Ｓ１０８０：ＮＯ）、後述のステップＳ１１１０へ進む。
【００７１】
例えば、「アドバンス」という単語が選択されている場合、この単語の前方部分は、図５に示す一致文字列リスト２３０には含まれていない。したがって、この場合、処理は、ステップＳ１１１０へ進む。また、例えば、「イグザ」という単語が選択されている場合、この単語の前方部分は、図５に示す一致文字列リスト２３０に含まれている。したがって、この場合、処理は、ステップＳ１０９０へ進む。
【００７２】
ステップＳ１０９０において、マーカ挿入部１２０は、選択中の行と次の行とを列（音節）毎に比較し、所定数（３）以上の列で前方一致となっているか否かを判断する。
【００７３】
マーカ挿入部１２０は、所定数（３）以上の列で前方一致となっている場合（Ｓ１０９０：ＹＥＳ）、ステップＳ１１００へ進む。また、マーカ挿入部１２０は、所定数（３）以上の列で前方一致となっていない場合（Ｓ１０９０：ＮＯ）、後述のステップＳ１１１０へ進む。
【００７４】
例えば、「イグザタブレット」という単語が格納された行が選択されている場合を想定する。この行は、「イグザ」の範囲で、次の行の「イグザフォン」という単語が格納された行と一致する。言い換えると、少なくとも、「イグザ」は、「イグザフォン」に包含されている。したがって、この場合、処理は、ステップＳ１１００へ進む。
【００７５】
また、例えば、「イカ」という単語が格納された行が選択されている場合を想定する。この行は、「イ」の範囲において、次の行の「イグザ」という単語が格納された行と一致するが、音素数が所定数（３）に満たない。このため、処理は、ステップＳ１１１０へ進む。
【００７６】
ステップＳ１１００において、マーカ挿入部１２０は、辞書１１３に記述された登録単語群のうち、選択中の単語に対応するものに対して、マーカを挿入して、ステップＳ１１２０へ進む。より具体的には、マーカ挿入部１２０は、選択中の行が次の行と一致しない列（音節）のうち、最も前方に位置する列の直前の位置に、マーカを挿入する。
【００７７】
一方、ステップＳ１１１０において、マーカ挿入部１２０は、辞書１１３に記述された登録単語群のうち、選択中の単語に対応するものに対して、マーカを挿入して、ステップＳ１１２０へ進む。より具体的には、マーカ挿入部１２０は、単語の末尾位置に、マーカを挿入する。
【００７８】
ステップＳ１１２０において、マーカ挿入部１２０は、選択中の行が音節行列の最後の行（単語）であるか否かを判断する。
【００７９】
マーカ挿入部１２０は、選択中の行が音節行列の最後の行ではない場合（Ｓ１１２０：ＮＯ）、ステップＳ１０７０へ戻り、次の行に対する処理へ移る。そして、音声認識装置１００は、音節行列の全ての行について処理が完了すると（Ｓ１１２０：ＹＥＳ）、マーカ挿入動作を終了する。
【００８０】
このようなマーカ挿入動作により、音声認識装置１００は、辞書１１３に記述された登録単語群のうち、排他単語を、排他区間の末尾位置にマーカが挿入された状態のものにし、非排他単語を、単語の末尾位置にマーカが挿入された状態のものにすることができる。すなわち、登録単語については全てマーカが挿入された状態となる。
【００８１】
なお、音声認識装置１００は、マーカとして、例えば、「＠」＋読みその他の付加情報＋「＠」という文字列を用いる。この付加情報は、例えば、確定結果使用部１８０で用いられる。
【００８２】
図６は、マーカ挿入動作後の登録単語群の一例を示す図である。
【００８３】
図６に示すように、マーカ挿入動作後の登録単語群２４０は、マーカが挿入された状態となる。例えば、「イグザタブレット」という単語には、「タ」と「ブ」との間に、「＠ｉｘａｔａｂｌｅｔ＠」というマーカが挿入されている。
【００８４】
以上で、マーカ挿入動作についての説明を終える。
【００８５】
次に、音声認識動作について説明する。
【００８６】
図７は、音声認識動作の一例を示すフローチャートである。ここでは、音声入力部１３０は、継続的に、音声入力を行い、音声データを音声認識処理部１４０へ出力しているものとする。また、音声認識装置１００は、上述の音声区間が開始される毎に、および、音声区間中に確定結果が得られる毎に、以下に説明する音声認識動作を行うものとする。
【００８７】
まず、ステップＳ２０１０において、音声認識処理部１４０は、今回の音声認識動作が開始されてから既に入力されている音声データの部分（以下「既入力データ部分」という）に対して、上述の音声認識処理を行う。すなわち、音声認識処理部１４０は、音声認識の暫定結果を決定し、その過程において、当該暫定結果の確信度を算出する。そして、音声認識処理部１４０は、決定した暫定結果を表示部１５０へ出力し、表示部１５０に表示させる。
【００８８】
なお、表示部１５０には、マーカが除去された状態で、単語が表示されるものとする。マーカの除去は、例えば、表示部１５０が行う。また、音声認識処理部１４０は、決定した暫定結果を、その確信度と併せて、確定処理部１７０へ出力する。
【００８９】
音声認識処理部１４０は、後述のステップＳ２１００からの処理の戻りにより、ステップＳ２０１０の処理を、所定の周期（例えば、１００ｍｓｅｃ）で行う。したがって、発話が行われている間、暫定結果は、繰り返し得られる。また、確定結果が得られていない既入力データ部分は、時間の経過と共に長くなる。したがって、得られる暫定結果は、時間の経過と共に変化し得る。
【００９０】
そして、ステップＳ２０２０において、確定処理部１７０は、入力された確信度が第１の所定値以上であるか否かを判断する。この所定値は、例えば、音声テキスト入力に求められる精度および速度に基づいて、実験等により決定された値である。
【００９１】
確定処理部１７０は、確信度が所定値以上である場合（Ｓ２０２０：ＹＥＳ）、ステップＳ２０３０へ進む。また、確定処理部１７０は、確信度が所定値未満である場合（Ｓ２０２０：ＮＯ）、後述のステップＳ２０５０へ進む。
【００９２】
ステップＳ２０３０において、確定処理部１７０は、暫定結果が、マーカを含むものであるか否かを判断する。すなわち、確定処理部１７０は、暫定結果が、登録単語であるか否かを判断する。
【００９３】
確定処理部１７０は、暫定結果がマーカを含むものである場合（Ｓ２０３０：ＹＥＳ）、後述のステップＳ２０４０へ進む。また、確定処理部１７０は、暫定結果がマーカを含まないものである場合（Ｓ２０３０：ＮＯ）、ステップＳ２０５０へ進む。
【００９４】
例えば、入力音声の品質が低い場合や、暫定結果が「イ」である場合、処理は、後述のステップＳ２０５０へ進む。また、例えば、入力音声の品質が高く場合や、暫定結果が「イグザ＠ｉｘａ＠」や「イグザタ＠ｉｘａｔａｂｌｅｔ＠ブレット」である場合、処理はステップＳ２０４０へ進む。
【００９５】
ステップＳ２０４０において、確定処理部１７０は、今回の暫定結果が、前回記録と前方一致となっているか否かを判断する。ここで、前回記録とは、過去に後述のステップＳ２０９０において記録され、その記録が維持されている、過去の暫定結果のうち、直近のものである。なお、確定処理部１７０は、音声区間の初回の暫定結果については、ステップＳ２０２０〜Ｓ２０８０を実行せず、ステップＳ２０９０に進んでもよい。
【００９６】
確定処理部１７０は、今回の暫定結果が前回記録と前方一致となっている場合（Ｓ２０４０：ＹＥＳ）、ステップＳ２０６０へ進む。また、確定処理部１７０は、今回の暫定結果が前回記録と前方一致となっていない場合（Ｓ２０４０：ＮＯ）、後述のステップＳ２０７０へ進む。
【００９７】
例えば、前回記録が「イグザ＠ｉｘａ＠」であり、今回の暫定結果が「イグザタ＠ｔａｂｌｅｔ＠ブレット」である場合、処理は、ステップＳ２０６０へ進む。
【００９８】
ステップＳ２０６０において、確定処理部１７０は、前方一致パラメータをインクリメントする。前方一致パラメータは、所定数（３）以上の音節で前方一致となる暫定結果が連続して得られた回数（以下「連続前方一致回数」という）を示すパラメータであり、初期値は０である。
【００９９】
例えば、前々回の暫定結果が「イカ＠烏賊＠」であり、前回の暫定結果が「イグザ＠ｉｘａ＠」であり、今回の暫定結果が「イグザタ＠ｔａｂｌｅｔ＠ブレット」である場合を想定する。この場合、前方一致パラメータは、「１」となる。
【０１００】
そして、ステップＳ２０８０において、確定処理部１７０は、前方一致パラメータが所定値（２）に到達したか否かを判断する。すなわち、確定処理部１７０は、最新の暫定結果が、直近に連続して得られた２以上の他の暫定結果の全てと前方一致となっているという条件（以下「カウント条件」という）が満たされるか否かを判断する。
【０１０１】
確定処理部１７０は、前方一致パラメータが所定値（２）に到達した場合（Ｓ２０８０：ＹＥＳ）、後述のステップＳ２１１０へ進む。また、確定処理部１７０は、前方一致パラメータが所定値（２）に到達していない場合（Ｓ２０８０：ＮＯ）、ステップＳ２０９０へ進む。
【０１０２】
ステップＳ２０９０において、確定処理部１７０は、今回の暫定結果を記録する。
【０１０３】
一方、ステップＳ２０５０において、確定処理部１７０は、前回記録が存在する場合には、これをクリアして、後述のステップＳ２１００へ進む。すなわち、確定処理部１７０は、暫定結果の確信度が低い場合や、暫定結果が登録単語ではない場合、前回と今回の暫定結果を、上述のカウント条件の判断の対象外とする。
【０１０４】
また、ステップＳ２０７０において、確定処理部１７０は、前方一致パラメータを初期化して、ステップＳ２１００へ進む。すなわち、確定処理部１７０は、今回の暫定結果が前回記録と前方一致となっていない場合、連続前方一致回数のカウントの起点を、次回の暫定結果にシフトさせる。
【０１０５】
そして、ステップＳ２１００において、確定処理部１７０は、今回の暫定結果に対して、決定操作が行われたか否かを判断する。すなわち、確定処理部１７０は、操作入力部１６０から、決定操作が行われた旨が通知されたか否かを判断する。
【０１０６】
確定処理部１７０は、決定操作が行われていない場合（Ｓ２１００：ＮＯ）、ステップＳ２０１０へ戻り、新たに入力されたデータ部分を含む既入力データ部分に対する処理へ移る。また、確定処理部１７０は、決定操作が行われた場合（Ｓ２１００：ＹＥＳ）、ステップＳ２１１０へ進む。
【０１０７】
例えば、連続前方一致回数が２回に到達した場合、決定操作が行われていなくても、処理はステップＳ２１１０へ進む。これは、排他単語の排他区間の認識が完了した可能性、あるいは、単語全体の認識が完了した可能性が、十分に高いことを示す。
【０１０８】
また、決定操作が行われた場合、連続前方一致回数が２回に到達していなくても、処理はステップＳ２１１０へ進む。
【０１０９】
ステップＳ２１１０において、確定処理部１７０は、今回の暫定結果を、確定結果に決定し、確定結果を確定結果使用部１８０へ出力する。そして、音声認識装置１００は、音声認識動作を終了する。
【０１１０】
なお、確定結果使用部１８０は、マーカが除去された状態の確定結果を使用してもよいし、マーカが含まれる状態の確定結果を使用してもよい。マーカの除去は、確定処理部１７０が行ってもよいし、確定結果使用部１８０が行ってもよい。
【０１１１】
このような音声認識動作により、音声認識装置１００は、マーカが挿入された単語を登録した辞書１１３を用いて、発話中に、暫定結果を周期的に得ることができる。また、音声認識装置１００は、排他単語の排他区間の発話が終了した可能性、あるいは、単語全体の発話が終了した可能性が、十分に高いとき、決定操作が行われていなくても、その時点で得られた暫定単語を、確定結果とすることができる。
【０１１２】
以上で、音声認識動作についての説明を終える。
【０１１３】
次に、発話内容および暫定結果の具体例を挙げて、確定結果が得られるまでの動作の様子および本発明の効果について説明する。
【０１１４】
図８は、比較的長い単語の音声が入力された場合の、発話が開始されてから確定結果が得られるまでに要する時間の一例を説明する図である。
【０１１５】
図８の上側に示すように、「イグザフォントリプルエックス」という単語が発話されたとする。そして、その発話開始時刻は、時刻ｔ０であり、発話終了時刻ｔ２であるとする。すなわち、「イグザフォントリプルエックス」という単語は、発話に、時間ｔ２を要するものとする。また、音声の入力が開始されてから対応部分の暫定結果が得られるまでには、音声データのバッファリング等の処理により、時間ｔ１を要するものとする。
【０１１６】
「イグザフォントリプルエックス」という単語の発話音声の音声データ全体に基づいて確定結果を得る場合、当該確定結果の精度は高い。ところが、この場合、確定結果が得られるのは、時刻ｔ０から時間ｔ１＋ｔ２が経過した時刻ｔ１＋ｔ２となる。すなわち、従来では、発話者は、時刻ｔ１＋ｔ２の後まで、暫定結果が表示されるのを待ってから、確定操作を行う。
【０１１７】
ここで、「イグザフォントリプルエックス」は、図６に示すように、「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」という排他単語であったとする。この場合、図８の下側に示すように、音声認識装置１００は、「ト」の位置までの既入力データ部分に対する暫定結果が得られた時刻ｔｅの段階で、暫定結果を確定結果とすることができる。「イグザフォント」という排他区間は、他のいずれの単語とも一致しない。したがって、音声認識装置１００は、時刻ｔ１＋ｔ２よりも早い時刻である時刻ｔｅに、比較的高い精度で、音声認識結果を確定させることができる。
【０１１８】
但し、音声データの一部のみを用いる場合の音声認識精度は、音声データ全体を用いる場合の音声認識精度に比べて低い。そこで、上述の通り、音声認識装置１００は、暫定結果が排他単語であり、かつ、直近に連続して得られた所定数の他の暫定結果の全てと前方一致となることを、暫定結果を確定させるための条件とする。
【０１１９】
図９および図１０は、各時刻で得られる暫定結果一例および結果確定の様子の一例を示す図である。図９は、入力音声の品質が良好である場合の例であり、図１０は、入力音声の品質が良好ではない場合の例である。いずれの場合も、所望の単語は、「イグザフォントリプルエックス」であるものとする。
【０１２０】
図９に示すように、時刻ｔ１１〜ｔ１４において、それぞれ、「イカ＠烏賊＠」、「イグザ＠ｉｘａ＠」「イグザフォン＠ｉｘａｐｈｏｎｅ＠」、および「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」という暫定結果が得られたものとする。入力音声の品質が良好である場合、このように、所望の単語と前方一致となる単語が暫定結果となることが多い。
【０１２１】
「イグザ＠ｉｘａ＠」「イグザフォン＠ｉｘａｐｈｏｎｅ＠」、および「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」では、図９に下線で示すように、「イグザ」の部分が一致する。また、これらの暫定結果は連続しており、「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」は排他単語である。
【０１２２】
したがって、時刻ｔ１４に「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅ＠リプルエックス」が得られた時点で、音声認識結果は確定される。これは、「イグザフォントリプルエックス」という単語の発話音声の音声データ全体に基づいて確定結果が得られる時刻ｔｅよりも早い時刻である。
【０１２３】
また、図１０に示すように、時刻ｔ１１〜ｔ１６において、それぞれ、「イカ＠烏賊＠」、「イグザ＠ｉｘａ＠」、「イ」、「イカ＠烏賊＠」、「イグザフォンス＠ｉｘａｐｈｏｎｅｓｐｏｒｔｓ＠ポーツ」、「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」という暫定結果が得られたものとする。また、時刻ｔ１４の「イカ＠烏賊＠」という暫定結果の確信度は低いものとする。入力音声の品質が良好ではない場合、このように、所望の単語と前方一致とならない単語が暫定結果となったり、確信度が低くなったりすることが多い。
【０１２４】
「イグザ＠ｉｘａ＠」は、「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」の前方一致単語であるが、「イ」は、「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」の前方一致単語ではない。ところが、「イ」の記録は、次の「イカ＠烏賊＠」の確信度が低いために、クリアされる。また、「イカ＠烏賊＠」は、記録されない。したがって、これらは、上記条件の対象外となる。
【０１２５】
したがって、「イグザフォンス＠ｉｘａｐｈｏｎｅｓｐｏｒｔｓ＠ポーツ」に続けて、時刻ｔ１６に「イグザフォント＠ｉｘａｐｈｏｎｅｔｒｉｐｌｅＸ＠リプルエックス」が暫定結果として得られた時点で、音声認識結果は確定される。これは、「イグザフォントリプルエックス」という単語の発話音声の音声データ全体に基づいて確定結果が得られる時刻ｔｅよりも早い時刻である。
【０１２６】
すなわち、音声認識装置１００は、発話者が所望の単語の全てを発話し終える前に、音声認識結果を１つに絞り込めたとき、当該音声認識結果で確定を行うことができる。すなわち、音声認識装置１００は、高速レスポンスの音声認識を実現することができる。
【０１２７】
但し、入力音声の品質が劣悪であるような場合には、暫定結果の揺らぎが大きくなり、時刻ｔｅになっても上記条件が満たされないことがある。このような場合には、例えば、ユーザの決定操作、あるいは、修正操作により、音声認識結果が確定されることになる。
【０１２８】
このように、音声認識装置１００は、暫定結果の揺らぎが小さい場合には、早期の結果確定を行いつつ、暫定結果の揺らぎが大きい場合には、暫定認識結果の信頼度が十分に高くなってから、結果確定を行う。したがって、音声認識装置１００は、特に比較的長い単語について、音声テキスト入力の高速化と高精度化とを、バランス良く実現することができる。
【０１２９】
以上、具体例による動作および効果についての説明を終える。
【０１３０】
以上説明したように、本実施の形態の音声認識装置１００は、暫定結果が排他単語であり、かつ、直近に連続して得られた所定数の他の暫定結果の全てと前方一致となることを条件として、その排他単語を確定結果とする。これにより、音声認識装置１００は、比較的長い語句に対しても、高精度かつ高速な音声テキスト入力を実現することができる。
【０１３１】
なお、以上説明した実施の形態では、マーカを用いて登録単語を判定するようにしたが、これらの単語の判定手法は、これに限定されない。例えば、音声認識装置は、単語のグルーピングや、他の付加情報を用いて、登録単語の判別を行うようにしてもよい。
【０１３２】
また、図１に示す各機能部は、必ずしも、１つの装置に一体的に設けられている必要はない。例えば、音声認識データベースおよびマーカ挿入部を、インターネット上のサーバに配置し、その他の機能部を、携帯電話機に配置してもよい。
【０１３３】
また、排他単語との前方一致判断の閾値（所定値）、および、連続前方一致回数の判断の閾値（所定値）は、上述の例に限定されない。これらの値は、例えば、音声テキスト入力に求められる精度および速度に基づいて、実験等により決定される。
【０１３４】
また、音声認識結果の候補として辞書に記述されるテキスト配列の形式および内容は、上述の例に限定されない。例えば、テキスト配列は、仮名漢字文字列であってもよい。また、テキスト配列は、単語および文章（語句）であってもよい。
【０１３５】
また、本発明が適用される装置は、上述の例に限定されない。本発明は、タブレット端末、パーソナルコンピュータ等、各種の電子機器に適用することができる。
【産業上の利用可能性】
【０１３６】
本発明は、比較的長い語句に対しても、高精度かつ高速な音声テキスト入力を実現することができる音声認識装置および音声認識結果確定方法として有用である。
【符号の説明】
【０１３７】
１００  音声認識装置
１１０  音声認識データベース
１１１  音響モデル
１１２  言語モデル
１１３  辞書
１２０  マーカ挿入部
１３０  音声入力部
１４０  音声認識処理部
１４１  音響分析部
１４２  認識デコーダ部
１５０  表示部
１６０  操作入力部
１７０  確定処理部
１８０  確定結果使用部
【図１】
2014206677.tif 000003
【図２】
2014206677.tif 000004
【図３】
2014206677.tif 000005
【図４】
2014206677.tif 000006
【図５】
2014206677.tif 000007
【図６】
2014206677.tif 000008
【図７】
2014206677.tif 000009
【図８】
2014206677.tif 000010
【図９】
2014206677.tif 000011
【図１０】
2014206677.tif 000012