(57)【特許請求の範囲】
【請求項１】
入力音声をサーバに送信する送信部と、
前記送信部により送信された前記入力音声を前記サーバで音声認識した結果である第１の音声認識結果を受信する受信部と、
前記入力音声の音声認識を行ない、第２の音声認識結果を得る音声認識部と、
前記入力音声の発話要素の構成を表現する発話規則を記憶する発話規則記憶部と、
前記発話規則を参照し、前記第２の音声認識結果に合致する前記発話規則を判定する発話規則判定部と、
前記第１の音声認識結果の有無及び前記第２の音声認識結果の有無と、前記発話規則を構成する前記発話要素の有無との対応関係を記憶しており、前記対応関係により、音声認識結果が得られていない前記発話要素を示す音声認識状態を決定する状態決定部と、
前記状態決定部により決定された前記音声認識状態に対応し、音声認識結果が得られていない前記発話要素を問い合わせる応答文を生成する応答文生成部と、
前記応答文を出力する出力部と、
を備える音声認識装置。
【請求項２】
前記発話規則を用いて、前記第１の音声認識結果と前記第２の音声認識結果とを統合して統合結果を出力する統合結果認識部を備え、
前記状態決定部は、前記統合結果に対する前記音声認識状態を決定する請求項１に記載の音声認識装置。
【請求項３】
前記発話規則は、固有名詞とコマンドと自由文とを備えることを特徴とする請求項１または請求項２に記載の音声認識装置。
【請求項４】
前記受信部は、前記サーバで自由文を音声認識した前記第１の音声認識結果を受信し、
前記状態決定部は、前記第１の音声認識結果に対してコマンドの推定を行ない、前記音声認識状態を決定する請求項３に記載の音声認識装置。
【請求項５】
前記音声認識部は、複数の前記第２の音声認識結果を出力し、
前記応答文生成部は、複数の前記第２の音声認識結果のうちいずれかを利用者に選択させる前記応答文を生成する請求項１から請求項４のいずれか１項に記載の音声認識装置。
【請求項６】
送信部と、受信部と、音声認識部と、発話規則判定部と、状態決定部と、応答文生成部と、出力部とを備え、発話要素の構成を表現する発話規則をメモリに記憶する音声認識装置の音声認識方法であって、
前記送信部が、入力音声をサーバに送信する送信ステップと、
前記受信部が、前記送信ステップにより送信された前記入力音声を前記サーバで音声認識した結果である第１の音声認識結果を受信する受信ステップと、
前記音声認識部が、前記入力音声の音声認識を行ない、第２の音声認識結果を得る音声認識ステップと、
前記発話規則判定部が、前記発話規則を参照し、前記第２の音声認識結果に合致する前記発話規則を判定する発話規則判定ステップと、
前記状態決定部が、前記第１の音声認識結果の有無及び前記第２の音声認識結果の有無と、前記発話規則を構成する前記発話要素の有無との対応関係を記憶しており、前記対応関係により、音声認識結果が得られていない前記発話要素を示す音声認識状態を決定する状態決定ステップと、
前記応答文生成部が、前記状態決定ステップにより決定された前記音声認識状態に対応し、音声認識結果が得られていない前記発話要素を問い合わせる応答文を生成する応答文生成ステップと、
前記出力部が、前記応答文を出力するステップと、
を備える音声認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、発話された音声データの認識処理を行なう音声認識装置及び音声認識方法に関する。
【背景技術】
【０００２】
クライアントとサーバで音声認識を行なう従来の音声認識装置は、例えば特許文献１に開示されるように、最初にクライアントで音声認識を行ない、クライアントの音声認識結果の認識スコアが低く、認識精度が悪いと判定した場合に、サーバで音声認識を行なってサーバの音声認識結果を採用するようにしていた。【０００３】
また、クライアントの音声認識とサーバの音声認識を同時並列的に行ない、クライアントの音声認識結果の認識スコアとサーバの音声認識結果の認識スコアを比較して、認識スコアが良好な方を認識結果として採用する方法も特許文献１で開示されている。【０００４】
また、クライアントとサーバで音声認識を行なう他の従来例として、サーバが音声認識結果に加えて、一般名詞、助詞などの品詞情報を送信するようにし、クライアントが受信した品詞情報を用いて認識結果の修正を行なう方法として、例えば、一般名詞を固有名詞に置き換える方法が特許文献２に開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３７４３９号公報
【特許文献２】特許第４９０２６１７号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来のサーバ―クライアント型音声認識装置では、サーバ、クライアントのどちらか一方の音声認識結果が返ってこない場合、利用者に音声認識結果が通知できなかったり、通知できても片側のみの結果であった。この場合、音声認識装置は再度発話を促すことが可能であるが、従来の音声認識装置では、利用者が一から発話する必要があるため、利用者の負担が大きいという課題があった。【０００７】
本発明は上記のような課題を解決するためになされたもので、サーバ、クライアントのどちらか一方の音声認識結果が返ってこない場合であっても、利用者の負担が少ないように、発話の一部に対して再発話を促すことのできる音声認識装置を提供するものである。
【課題を解決するための手段】
【０００８】
上記で述べた課題を解決するため、本発明の音声認識装置は、入力音声をサーバに送信する送信部と、送信部により送信された入力音声をサーバで音声認識した結果である第１の音声認識結果を受信する受信部と、入力音声の音声認識を行ない、第２の音声認識結果を得る音声認識部と、入力音声の発話要素の構成を表現する発話規則を記憶する発話規則記憶部と、発話規則を参照し、第２の音声認識結果に合致する発話規則を判定する発話規則判定部と、第１の音声認識結果の有無及び第２の音声認識結果の有無と、発話規則を構成する発話要素の有無との対応関係を記憶しており、対応関係により、音声認識結果が得られていない発話要素を示す音声認識状態を決定する状態決定部と、状態決定部により決定された音声認識状態に対応し、音声認識結果が得られていない発話要素を問い合わせる応答文を生成する応答文生成部と、応答文を出力する出力部とを備える。
【発明の効果】
【０００９】
本発明は、サーバもしくはクライアントのどちらか一方から音声認識結果が得られない場合でも、音声認識結果が得られない部分を判定して、その部分を再度利用者に発話させることで、利用者の負担を少なくすることができる効果を奏する。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態１に係る音声認識装置を用いた音声認識システムの一構成例を示す構成図である。
【図２】本発明の実施の形態１に係る音声認識装置の処理の流れを示すフローチャート（前半）である。
【図３】本発明の実施の形態１に係る音声認識装置の処理の流れを示すフローチャート（後半）である。
【図４】本発明の実施の形態１に係る音声認識装置の発話規則記憶部が記憶する発話規則の一例である。
【図５】サーバの音声認識結果とクライアントの音声認識結果の統合を説明する説明図である。
【図６】音声認識状態と、クライアントの音声認識結果の有無と、サーバ音声認識結果の有無と、発話規則との対応関係を示す図である。
【図７】音声認識状態と、生成される応答文との関係を示す図である。
【図８】発話規則の発話要素の確定状態と音声認識状態との対応関係を示す図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
図１は、本発明の実施の形態１に係る音声認識装置を用いた音声認識システムの一構成例を示す構成図である。
音声認識システムは、音声認識サーバ１０１およびクライアントの音声認識装置１０２によって構成される。
【００１２】
音声認識サーバ１０１は、受信部１０３、音声認識部１０４、送信部１０５を備える。
【００１３】
受信部１０３は、音声認識装置１０２から音声データを受信する。サーバの音声認識部１０４は、受信した音声データを音声認識して第１の音声認識結果を出力する。送信部１０５は、音声認識部１０４から出力された第１の音声認識結果を音声認識装置１０２へ送信する。
【００１４】
一方、クライアントの音声認識装置１０２は、音声入力部１０６、音声認識部１０７、送信部１０８、受信部１０９、認識結果統合部１１０、状態決定部１１１、応答文生成部１１２、出力部１１３、発話規則判定部１１４、発話規則記憶部１１５を備える。
【００１５】
音声入力部１０６は、利用者が発話した音声をデータ信号、いわゆる音声データに変換するマイク等を有するデバイスである。なお、音声データには、収音機器が取得した音信号をデジタル化したＰＣＭ（Ｐｕｌｓｅ Ｃｏｄｅ Ｍｏｄｕｌａｔｉｏｎ）データなどが用いられる。音声認識部１０７は、音声入力部１０６から入力された音声データを音声認識し、第２の音声認識結果を出力する。音声認識装置１０２は、例えばマイクロプロセッサやＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）によって構成される。音声認識装置１０２は、発話規則判定部１１４、認識結果統合部１１０、状態決定部１１１、応答文生成部１１２などの機能を持つことができる。送信部１０８は、入力された音声データを音声認識サーバ１０１へ送信する送信機である。受信部１０９は、音声認識サーバ１０１の送信部１０５から送信された第１の音声認識結果を受信する受信機である。送信部１０８や受信部１０９は、例えば無線送受信機や有線送受信機が用いられる。発話規則判定部１１４は、音声認識部１０７が出力した第２の音声認識結果からキーワードを抽出して入力音声の発話規則を判定する。発話規則記憶部１１５は、入力音声の発話規則のパターンを格納したデータベースである。
【００１６】
認識結果統合部１１０は、発話規則判定部１１４により判定された発話規則と、受信部１０９が音声認識サーバ１０１から受信した第１の音声認識結果と、音声認識部１０７からの第２の音声認識結果とから、後述する音声認識結果の統合を行なう。そして、認識結果統合部１１０は、音声認識結果の統合結果を出力する。統合結果には、第１の音声認識結果の有無と第２の音声認識結果の有無の情報が含まれる。
【００１７】
状態決定部１１１は、認識結果統合部１１０から出力される統合結果に含まれるクライアント及びサーバの音声認識結果の有無の情報に基づき、システムへのコマンドを確定できるか否かを判定する。システムへのコマンドが確定しない場合には、状態決定部１１１は、統合結果が該当する音声認識状態を決定する。そして、状態決定部１１１は、決定した音声認識状態を応答文生成部１１２に出力する。また、システムへのコマンドが確定した場合には、システムに確定したコマンドを出力する。
【００１８】
応答文生成部１１２は、状態決定部１１１が出力した音声認識状態に対応する応答文を生成し、出力部１１３に応答文を出力する。出力部１１３は、入力された応答文をディスプレイ等に出力するディスプレイ駆動装置、応答文を音声として出力するスピーカ又はインターフェースデバイスである。
【００１９】
次に、実施の形態１に係る音声認識装置１０２の動作について、図２及び図３を参照して説明する。
図２及び図３は、実施の形態１に係る音声認識装置の処理の流れを示すフローチャートである。
まず、ステップＳ１０１において、音声入力部１０６は、利用者が発話した音声をマイク等により音声データに変換した後、音声認識部１０７および送信部１０８へ音声データを出力する。
次に、ステップＳ１０２において、送信部１０８は、音声入力部１０６から入力された音声データを音声認識サーバ１０１へ送信する。
【００２０】
以下、ステップＳ２０１からステップＳ２０３は、音声認識サーバ１０１の処理である。
まず、ステップＳ２０１において、音声認識サーバ１０１は、受信部１０３がクライアントの音声認識装置１０２から送信された音声データを受信すると、受信した音声データをサーバの音声認識部１０４へ出力する。
次に、ステップＳ２０２において、サーバの音声認識部１０４は、受信部１０３から入力された音声データに対して任意の文章を認識対象とする自由文の音声認識を行ない、その結果得られた認識結果のテキスト情報を送信部１０５へ出力する。自由文の音声認識方法は、例えば、Ｎ−ｇｒａｍ連続音声認識によるディクテーション技術を用いる。具体的には、サーバの音声認識部１０４は、クライアントの音声認識装置１０２から受信した音声データ「健児さんにメール、今から帰る」に対して音声認識を行なった後、音声認識結果候補として、例えば「検事さんに滅入る、今から帰る」を含む音声認識結果リストを出力する。なお、この音声認識結果候補で示したように、サーバの音声認識結果は、音声データに人名やコマンド名などが含まれる場合、音声認識が難しいため、認識誤りを含むことがある。
最後に、ステップＳ２０３において、送信部１０５は、サーバ音声認識部１０４が出力した音声認識結果を第１の音声認識結果としてクライアント音声認識装置１０２へ送信し、処理を終了する。
【００２１】
次に、音声認識装置１０２の動作の説明に戻る。
ステップＳ１０３において、クライアントの音声認識部１０７は、音声入力部１０６から入力された音声データに対して、音声操作用コマンドや人名などのキーワードを認識する音声認識を行ない、その結果得られた認識結果のテキスト情報を第２の音声認識結果として、認識結果統合部１１０へ出力する。キーワードの音声認識方法は、例えば、助詞も含めたフレーズを抽出するフレーズスポッティング技術を用いる。クライアントの音声認識部１０７は、音声操作用コマンドと人名情報が登録されてリスト化した認識辞書を記憶している。音声認識部１０７は、サーバのもつ大語彙の認識辞書では認識が難しい音声操作用コマンドと人名情報を認識対象とし、利用者が「健児さんにメール、今から帰る」と音声入力した場合に、音声認識部１０７は音声操作用コマンドの「メール」および人名情報である「健児」を認識し、音声認識結果候補として「健児さんにメール」を含む音声認識結果を出力する。
【００２２】
次に、ステップＳ１０４において、発話規則判定部１１４は、音声認識部１０７から入力された音声認識結果と発話規則記憶部１１５に格納されている発話規則を照合して、音声認識結果に合致する発話規則を判定する。
図４は、本発明の実施の形態１に係る音声認識装置１０２の発話規則記憶部１１５が記憶する発話規則の一例である。
図４には、音声操作用コマンドに対応する発話規則が示されている。発話規則は、人名情報を含む固有名詞とコマンドと自由文、及びその組み合わせパターンにより構成される。発話規則判定部１１４は、音声認識部１０７から入力された音声認識結果候補「健児さんにメール」と、発話規則記憶部１１５に格納されている発話規則のパターンとを比較して、一致する音声操作用コマンド「さんにメール」が見つかった場合は、その音声操作用コマンドに対応する入力音声の発話規則として「固有名詞＋コマンド＋自由文」の情報を取得する。そして、発話規則判定部１１４は、取得した発話規則の情報を認識結果統合部１１０へ出力するとともに、状態決定部１１１へ出力する。
【００２３】
次に、ステップＳ１０５において、受信部１０９はサーバ１０１から送信された第１の音声認識結果を受信すると、第１の音声認識結果を認識結果統合部１１０へ出力する。
【００２４】
次に、ステップＳ１０６において、認識結果統合部１１０は、クライアントの音声認識結果とサーバの音声認識結果が存在するかを確認する。両方の結果がそろっている場合、以下の処理を行なう。
【００２５】
次に、ステップＳ１０７において、認識結果統合部１１０は、発話規則判定部１１４から入力された発話規則を参照して、受信部１０９から入力された音声認識サーバ１０１の第１の音声認識結果と音声認識部１０７から入力された第２の音声認識結果との統合が可能か否かを判定する。統合可能か否かの判定は、発話規則を埋めるコマンドが第１の音声認識結果と第２の音声認識結果に共通に含まれている場合に統合可能と判定し、どちらか一方にコマンドが含まれていない場合に統合不可能と判定する。統合可能な場合は、ＹＥＳの分岐によりステップＳ１０８に進み、統合不可の場合は、Ｎｏの分岐によりステップＳ１１０に進む。
【００２６】
統合可否の判定は、具体的には、以下のように行なう。認識結果統合部１１０は、発話規則判定部１１４が出力した発話規則から文字列の中に「メール」というコマンドが存在することを確認する。そして、サーバの音声認識結果のテキスト中の「メール」の位置を検索し、テキスト中に「メール」が含まれていない場合、統合は不可能と判断する。
例えば、音声認識部１０７の音声認識結果として「メール」が入力され、サーバの音声認識結果
として「滅入る」が入力された場合は、サーバの音声認識結果テキストに「メール」が含まれておらず、発話規則判定部１１４から入力された発話規則に合致しない。そのため、音声認識結果統合部１１０は、統合不可能と判定する。
【００２７】
認識結果統合部１１０は、統合が不可能と判定した場合、サーバからの認識結果が得られなかったものとして扱う。したがって、音声認識部１０７から入力された音声認識結果と、サーバからの情報が得られなかった旨を状態決定部１１１へ送信する。例えば、音声認識部１０７から入力された音声認識結果「メール」、クライアント音声認識結果：あり、サーバ音声認識結果：なしを状態決定部１１１へ送信する。
【００２８】
次に、ステップＳ１０８において、認識結果統合部１１０は、統合が可能と判定した場合、受信部１０９から入力された音声認識サーバ１０１の第１の音声認識結果と、音声認識部１０７から入力された第２の音声認識結果との統合の前処理として、コマンドの位置を特定する。まず、発話規則判定部１１４が出力した発話規則から文字列の中に「メール」というコマンドが存在することを確認し、サーバの音声認識結果のテキスト中の「メール」を検索して、「メール」の位置を特定する。そして、発話規則である「固有名詞＋コマンド＋自由文」に基づき、コマンドの「メール」の位置より後の文字列が自由文であると判断する。
【００２９】
次に、ステップＳ１０９において、認識結果統合部１１０は、サーバの音声認識結果とクライアントの音声認識結果を統合する。認識結果統合部１１０は、まず、発話規則に対して、クライアントの音声認識結果から固有名詞とコマンドを採用し、サーバの音声認識結果から自由文を採用する。次に、発話規則の各発話要素に固有名詞、コマンド、自由文をあてはめる。ここでは、上記の処理を統合するという。
図５は、サーバの音声認識結果とクライアントの音声認識結果の統合を説明する説明図である。
認識結果統合部１１０は、クライアントの音声認識結果が「健児さんにメール」であり、サーバの音声認識結果が「検事さんにメール、今から帰る」であったときに、クライアントの音声認識結果から固有名詞として「健児」を、コマンドとして「メール」を採用し、サーバの音声認識結果から自由文として「今から帰る」を採用する。そして、発話規則の発話要素である固有名詞、コマンド、自由文に採用した文字列をあてはめ、統合結果「健児さんにメール、今から帰る」を得る。
そして、認識結果統合部１１０は、統合結果とクライアント、サーバ両方の認識結果が得られたという情報を状態決定部１１１に出力する。例えば、統合結果「健児さんにメール、今から帰る」、クライアント音声認識結果：あり、サーバ音声認識結果：ありと状態決定部１１１へ送信する。
【００３０】
次に、ステップＳ１１０において、状態決定部１１１は、認識結果統合部１１０が出力したクライアントの音声認識結果の有無、サーバ音声認識結果の有無及び発話規則に基づいて、音声認識状態を決定できるかを判定する。
図６は、音声認識状態と、クライアントの音声認識結果の有無と、サーバ音声認識結果の有無と、発話規則との対応関係を示す図である。
音声認識状態は、発話規則の発話要素に対して、音声認識結果が得られているか否かを示している。状態決定部１１１は、サーバの音声認識結果の有無、クライアントの音声認識結果の有無及び発話規則から一意に音声認識状態が決まる対応関係を図６のような対応表により記憶している。言い換えれば、サーバからの音声認識結果がない場合で、発話規則に自由文が含まれている場合、サーバからの音声認識結果なしの場合は、自由文なしの場合に該当するというように、予めサーバの音声認識結果の有無と発話規則における各発話要素の有無との対応を定めておく。そのため、サーバとクライアントの音声認識結果の有無の情報から、音声認識結果が得られていない発話要素を特定できる。
例えば、状態決定部１１１は、発話規則：固有名詞＋コマンド＋自由文、クライアント音声認識結果：あり、サーバ音声認識結果：ありという情報を得た場合、記憶している対応関係に基づき、音声認識状態はＳ１と判断する。なお、図６において音声認識状態Ｓ４は、音声認識状態が決定できなかったことに対応する。
【００３１】
次に、ステップＳ１１１において、状態決定部１１１は、システムへのコマンドを確定できるかを判定する。例えば、音声認識状態がＳ１である場合、統合結果「健児さんにメール、今から帰る」をシステムのコマンドとして確定し、ＹＥＳの分岐によりステップＳ１１２へ処理を進める。
次に、ステップＳ１１２において、状態決定部１１１は、システムのコマンド「健児さんにメール、今から帰る」をシステムへ出力する。
【００３２】
次に、クライアントの音声認識結果は得られるが、サーバからの音声認識結果が得られない場合の動作について説明する。
ステップＳ１０６において、サーバからの認識結果が得られない場合、例えばサーバからの応答が一定時間Ｔ秒以上ない場合、受信部１０９は、サーバの音声認識結果なしという情報を認識結果統合部１１０へ送る。
認識結果統合部１１０は、クライアントからの音声認識結果とサーバからの音声認識結果がそろっているかを確認し、サーバからの音声認識がない場合は、ステップＳ１０７からＳ１０９の処理を行わず、ステップＳ１１５に進む。
【００３３】
次に、ステップＳ１１５において、認識結果統合部１１０は、クライアントの音声認識結果が存在するか否かを確認し、クライアントの音声認識結果が存在する場合、統合結果を状態決定部１１１に出力して、ＹＥＳの分岐によりステップＳ１１０に進む。ここでは、サーバからの音声認識結果はないため、統合結果はクライアントの音声認識結果となる。例えば、統合結果：「健児さんにメール」、クライアントの音声認識結果：あり、サーバの音声認識結果：なし、を状態決定部１１１に出力する。
【００３４】
次に、ステップＳ１１０において、状態決定部１１１は、認識結果統合部１１０が出力したクライアントの音声認識結果及びサーバの音声認識結果と、発話規則判定部１１４が出力した発話規則を用いて音声認識状態を決定する。ここでは、クライアントの音声認識状態：あり、サーバの音声認識状態：なし、発話規則：固有名詞＋コマンド＋自由文であるから、図６を参照して、音声認識状態はＳ２と決定される。
【００３５】
次に、ステップＳ１１１において、状態決定部１１１は、システムへのコマンドを確定できるか否かを判断する。具体的には、状態決定部１１１は、音声認識状態がＳ１のとき、システムへのコマンドが確定していると判断する。ここでは、ステップＳ１１０で得られた音声認識状態はＳ２であるので、状態決定部１１１は、システムへのコマンドが確定していないと判断し、音声認識状態Ｓ２を応答文生成部１１２に出力する。
また、状態決定部１１１は、システムへのコマンドが確定できない場合、音声認識状態Ｓ２を音声入力部１０６に出力して、Ｎｏの分岐によりステップＳ１１３へ進む。これは、音声入力部１０６に、次の入力音声は自由文であり、サーバに音声データを送信するということを指示するためである。
【００３６】
次に、ステップＳ１１３において、応答文生成部１１２は、状態決定部１１１が出力した音声認識状態に基づき、利用者の返答を促す応答文を作成する。
図７は、音声認識状態と、生成される応答文との関係を示す図である。
応答文は、音声認識結果が得られた発話要素を利用者に示し、音声認識結果が得られていない発話要素について発話を促す内容になっている。音声認識状態Ｓ２の場合は、固有名詞とコマンドは確定しており、自由文の音声認識結果がないため、自由文のみ発話を促す応答文を出力部１１３へ出力する。例えば、図７のＳ２で示すように「健児さんへメールします。本文をもう一度発話ください」という応答文を応答文生成部１１２は、出力部１１３へ出力する。
【００３７】
ステップＳ１１４において、出力部１１３は、応答文生成部１１１が出力した応答文、「健児さんへメールします。本文をもう一度発話ください」を、ディスプレイやスピーカなどから出力する。
【００３８】
応答文を受けて、利用者がもう一度「今から帰る」と発話した場合、前述したステップＳ１０１の処理を行なう。ただし、音声入力部１０６は、状態決定部１１１が出力した音声認識状態Ｓ２を受け取っており、次に来る音声データは自由文であると分かっている。このため、音声入力部１０６は、音声データを送信部１０８に出力し、クライアントの音声認識部１０７には出力しない。したがって、ステップＳ１０３，Ｓ１０４の処理は行われない。
【００３９】
サーバにおけるステップＳ２０１からＳ２０３の処理は、前述と同様であるため、説明を省略する。
ステップＳ１０５において、受信部１０９はサーバ１０１から送信された音声認識結果を受信し、その音声認識結果を認識結果統合部１１０へ出力する。
ステップＳ１０６において、認識結果統合部１１０は、サーバからの音声認識結果は存在するが、クライアントからの音声認識結果は存在しないと判断し、Ｎｏの分岐によりステップＳ１１５へ進む。
次に、ステップＳ１１５において、認識結果統合部１１０は、クライアントの音声認識結果は存在しないので、発話規則判定部１１４にサーバの音声認識結果を出力し、Ｎｏの分岐によりステップＳ１１６へ進む。
次に、ステップＳ１１６において、発話規則判定部１１４は、前述の発話規則の判定を行ない、判定した発話規則を認識結果統合部１１０に出力する。次に、認識結果統合部１１０は、サーバの音声認識結果：あり、と統合結果「今から帰る」を状態決定部１１１に出力する。ここでは、クライアントの音声認識結果がないため、サーバの音声認識結果がそのまま統合結果になる。
【００４０】
次に、ステップＳ１１０において、状態決定部１１１は、再発話以前の音声認識状態を記憶しており、認識結果統合部１１０が出力した統合結果と、サーバからの音声認識結果：ありという情報から、音声認識状態を更新する。以前の音声認識状態がＳ２に対して、サーバからの音声認識結果：ありという情報が加えると、クライアントの音声認識結果とサーバの音声認識結果が両方ありとなるので、図６から、音声認識状態はＳ２からＳ１に更新される。そして、今回の統合結果「今から帰る」を自由文のところにあてはめて、「健児さんにメール、今から帰る」というシステムへのコマンドが確定される。
【００４１】
次に、ステップＳ１１１において、状態決定部１１１は、音声認識状態がＳ１であるため、システムへのコマンドが確定でき、システムへのコマンド出力が可能と判断する。
次に、ステップＳ１１２において、状態決定部１１１は、システムへのコマンド「健児さんにメール、今から帰る」をシステムへ送信する。
【００４２】
なお、ステップＳ１０６において、Ｎ回繰り返しても一定時間Ｔ秒内でサーバの音声認識結果が得られない場合、状態決定部１１１は、ステップＳ１１０において状態を決定できないため、音声認識状態をＳ２からＳ４に更新する。状態決定部１１１は、応答文生成部１１２に音声認識状態Ｓ４を出力するとともに、音声認識状態、統合結果を棄却する。応答文生成部１１２は、図７を参照して、認識結果統合部１１０が出力した音声認識状態Ｓ４に対応する応答文「音声認識できません。」を生成し、出力部１１３に出力する。
次に、ステップＳ１１７において、出力部１１３は、応答文を通知する。例えば、「音声認識できません。」と利用者に通知する。
【００４３】
次に、サーバからの音声認識結果は得られるが、クライアントでの音声認識結果が得られない場合について説明する。
Ｓ１０１〜Ｓ１０４、Ｓ２０１〜Ｓ２０３は、クライアントの音声認識結果は得られるが、サーバからの音声認識結果が得られない場合と同じであるので、説明を省略する。
【００４４】
まず、ステップＳ１０６において、状態決定部１１１は、サーバからの音声認識結果とクライアントの音声認識結果がそろっているかを確認する。ここでは、サーバの音声認識結果は存在するが、クライアントの音声認識結果は存在しないため、認識結果統合部１１０は統合処理を行わない。
次に、ステップＳ１１５において、認識結果統合部１１０はクライアントの音声認識結果があるかを確認する。クライアントの音声認識結果がない場合、認識結果統合部１１０は、サーバの音声認識結果を発話規則判定部１１４に出力し、Ｎｏの分岐によりステップＳ１１６に進む。
次に、ステップＳ１１６において、発話規則判定部１１４は、サーバの音声認識結果に対して発話規則を判定する。例えば、「検事さんに滅入る、今から帰る」に対して、発話規則判定部１１４は、発話規則記憶部１１５に記憶されている音声操作用コマンドと一致するものがないか、もしくは、サーバの音声認識結果リストに対して音声操作用コマンドを検索し、音声操作用コマンドが含まれる確率が高い部分が存在するかを調べ、発話規則を判定する。ここでは、発話規則判定部１１４は、「検事さんに滅入る」「検事さんにメール」などを含む音声認識結果リストから、音声操作用コマンド「さんにメール」である確率が高いとして、発話規則が固有名詞＋コマンド＋自由文であると判定する。
発話規則判定部１１４は、判定した発話規則を認識結果統合部１１０と状態決定部１１１に出力する。認識結果統合部１１０は、クライアントの音声認識結果：なし、サーバからの音声認識結果：あり、統合結果：「検事さんに滅入る、今から帰る。」を状態決定部１１１に出力する。ここで、クライアントの音声認識結果がないため、統合結果は、サーバの音声認識結果そのものである。
【００４５】
次に、ステップＳ１１０において、状態決定部１１１は、発話規則判定部１１４が出力した発話規則と、認識結果統合部１１０が出力したクライアントの音声認識結果の有無、サーバの音声認識結果の有無、統合結果から、音声認識状態を決定できるか判断する。状態決定部１１１は、図６を参照して、音声認識状態を決定する。ここでは、発話規則が固有名詞＋コマンド＋自由文であり、サーバのみ音声認識結果があることから、状態決定部１１１は、音声認識状態をＳ３と決定するとともに記憶する。
次に、ステップＳ１１１において、状態決定部１１１は、システムへのコマンドを確定できるかを判断する。状態決定部１１１は、音声認識状態がＳ１でないため、システムへのコマンドを確定できないとして、音声認識状態を決定して、決定した音声認識状態を応答文生成部１１２に出力する。また、状態決定部１１１は、決定した音声認識状態を音声入力部１０６に出力する。これは、次に入力された音声は、サーバに送信せず、クライアントの音声認識部１０７に出力するようにするためである。
【００４６】
次に、ステップＳ１１３において、応答文生成部１１２は、得られた音声認識状態に対して、図７を参照して応答文を生成する。そして、応答文生成部１１２は、応答文を出力部１１３に出力する。例えば、音声認識状態がＳ３の場合、「今から帰るをどうしますか？」という応答文を作成し、出力部１１３に出力する。
次に、ステップＳ１１４において、出力部１１３は、応答文をディスプレイやスピーカなどから出力し、利用者に音声認識結果が得られていない発話要素の再発話を促す。
【００４７】
利用者に再発話を促して、利用者が「健児さんにメール」と再発話した場合、Ｓ１０１〜Ｓ１０４の処理は前述の通りであるから説明を省略する。なお、音声入力部１０６は、状態決定部１１１が出力した音声認識状態に対応して、再発話の音声をどこに送るかを決定している。Ｓ２の場合は、サーバに送信するために送信部１０８のみに音声データを出力し、Ｓ３の場合はクライアントの音声認識部１０７に音声データを出力する。
【００４８】
次に、ステップＳ１０６において、認識結果統合部１１０は、クライアントの音声認識結果と発話規則判定部１１４が出力した発話規則判定結果を受け取り、クライアントの音声認識結果とサーバの音声認識結果がそろっているかを確認する。
次に、ステップＳ１１５において、認識結果統合部１１０は、クライアントの音声結果が存在するかを確認し、存在する場合、クライアントの音声認識結果：あり、サーバの音声認識結果：なし、統合結果：「健児さんにメール」を状態決定部１１１に出力する。ここで、認識結果統合部１１０は、サーバの音声認識結果がないため、クライアントの音声認識結果を統合結果としている。
【００４９】
次に、ステップＳ１１０において、状態決定部１１１は、記憶していた再発話前の音声認識状態、認識結果統合部１１０が出力したクライアントの音声認識結果、サーバの音声認識結果及び統合結果から、音声認識状態を更新する。再発話前の音声認識状態はＳ３であり、クライアントの音声認識結果はなしであった。しかし、再発話により、クライアントの音声認識結果はありになるため、状態決定部１１１は、音声認識状態をＳ３からＳ１に変更する。また、認識結果統合部１１１が出力した統合結果「健児さんにメール」を、記憶していた発話規則の固有名詞＋コマンドの発話要素にあてはめて、システムへのコマンド「健児さんにメール、今から帰る」を確定する。
以下のステップＳ１１１〜Ｓ１１２は、前述と同様であるため、説明を省略する。
【００５０】
以上のように、実施の形態１の発明によれば、サーバの音声認識結果の有無及びクライアントの音声認識結果の有無と、発話規則の各発話要素との対応関係を決めておき、その対応関係を記憶している。したがって、サーバもしくはクライアントのどちらか一方からの音声認識結果が得られない場合でも、発話規則とその対応関係から音声認識結果が得られていない部分を特定でき、その部分を利用者に再発話を促すことができる。その結果、利用者に一から発話を促す必要がなく、利用者の負担を小さくできるという効果がある。
【００５１】
なお、クライアントからの音声認識結果が得られない場合、応答文生成部１１２は、「今から帰るをどうしますか。」という応答文を作成するとしたが、以下のように、状態決定部１１１が、認識結果の得られた自由文を解析し、コマンドを推定し、推定したコマンド候補を利用者に選択させても良い。状態決定部１１１は、自由文に対して、予め登録してあるコマンドとの親和度が高い文章が含まれているかを検索し、親和度が高い順にコマンドの候補を決定する。親和度は、例えば、過去の発話文の事例を蓄積しておき、事例中に出現するコマンドと、自由文中の各単語との共起確率により定義される。「今から帰る」という文章であれば、「メール」や「電話」との親和度が高いとして、その候補をディスプレイ又はスピーカから出力する。そして「１：メール、２：電話のどちらですか？」などと通知し、利用者に「１」と発話させることが考えられる。選択方法は番号でもよいし、利用者が「メール」もしくは「電話」と再度発話してもよい。このようにすることにより、利用者が再発話する負担をさらに減らすことができる。
【００５２】
また、サーバからの音声認識結果が得られない場合、応答文生成部１１２は「健児さんにメールします。本文をもう一度発話ください」という応答文を作成するとしたが、「健児さんにメールしますか？」という応答文を作成しても良い。出力部１１３は応答文をディスプレイ又はスピーカから出力し、利用者の「はい」という結果を受けた後で、状態決定部１１１において音声認識状態を決定しても良い。
なお、「いいえ」と利用者が発話した時は、状態決定部１１１は音声認識状態が決定できなかったと判断し、音声認識状態Ｓ４を応答文生成部１１２に出力する。その後はステップＳ１１７で示したように、出力部１１３を通して、利用者に音声認識できなかったことを通知する。このように、固有名詞＋コマンドの発話要素を確定して良いかを利用者に問い合わせることで、固有名詞やコマンドの認識間違いを減らすことができる。
【００５３】
実施の形態２
次に、実施の形態２に係る音声認識装置を説明する。実施の形態１では、サーバ及びクライアントのどちらかの音声認識結果がない場合について述べたが、実施の形態２は、サーバ及びクライアントのどちらかの音声認識結果はあるが、音声認識結果にあいまいさがあるため、音声認識結果の一部が確定しない場合について述べる。
【００５４】
実施に形態２に係る音声認識装置の構成は、図１に示す実施の形態１と同じであるため、各部の説明は省略する。
【００５５】
次に、動作について説明する。
音声認識部１０７は、利用者が「健児さんにメール」と発話した音声データに対して、音声認識を行なうが、発話状況により、「健児さんにメール」「健一さんにメール」と複数の音声認識候補がリストアップされ、かつどの音声認識候補も認識スコアが近い可能性がある。認識結果統合部１１０は、複数の音声認識候補がある場合、あいまいな固有名詞部分を利用者に問い合わせるために、音声認識結果として、例えば「？？さんにメール」を生成する。
認識結果統合部１１０は、サーバの音声認識結果：あり、クライアントの音声認識結果：あり、統合結果「？？さんにメール、今から帰る」を状態決定部１１１に出力する。
【００５６】
状態決定部１１１は、発話規則と統合結果から、発話規則のどの発話要素が確定しているかを判断する。そして、状態決定部１１１は、発話規則の各発話要素が確定しているか、未確定なのか、あるいは発話要素がないのかに基づき、音声認識状態を決定する。
図８は、発話規則の発話要素の状態と音声認識状態の対応関係を示す図である。例えば、「？？さんにメール、今から帰る」の場合は、固有名詞の部分が未確定であり、コマンドと自由文は確定しているので、音声認識状態はＳ２と決定される。状態決定部１１１は、音声認識状態Ｓ２を応答文生成部１１２に出力する。
【００５７】
応答文生成部１１２は、音声認識状態Ｓ２に対応して、利用者に固有名詞の再度発話を促す「どなたにメールしますか？」という応答文を作成し、応答文を出力部１１３に出力する。利用者に再発話を促す方法は、クライアントの音声認識結果リストを元に選択肢を示してもよい。例えば、「１：健児さん、２：健一さん、３：健吾さんのうちどなたにメールしますか？」などと通知し、番号を発話させる構成が考えられる。利用者の再発話内容を受け、認識スコアが信頼できるものになった場合、「健児さん」を確定させ、音声操作用コマンドと合わせ「健児さんにメール」という文を確定させ、音声認識結果を出力させる。
【００５８】
以上のように、実施の形態２の発明によれば、サーバもしくはクライアントからの音声認識結果はあるが、認識結果の一部が確定しない場合であっても、利用者にすべてを発話させる必要がなくなり、利用者の負担を減らす効果がある。
【符号の説明】
【００５９】
１０１  音声認識サーバ、１０２  クライアントの音声認識装置、１０３  サーバの受信部、１０４  サーバの音声認識部、１０５  サーバの送信部、１０６  音声入力部、１０７  クライアントの音声認識部、１０８  クライアントの送信部、１０９  クライアントの受信部、１１０  認識結果統合部、１１１  状態決定部、１１２  応答文生成部、１１３  出力部、１１４  発話規則判定部，１１５  発話規則記憶部。
【図１】
0005951161.tif 000002
【図２】
0005951161.tif 000003
【図３】
0005951161.tif 000004
【図４】
0005951161.tif 000005
【図５】
0005951161.tif 000006
【図６】
0005951161.tif 000007
【図７】
0005951161.tif 000008
【図８】
0005951161.tif 000009