(57)【要約】【課題】発明が解決しようとする課題は、応答性が高く高精度な音声認識装置を開発することである。【解決手段】実施形態の音声認識装置は、認識手段と、送信手段と、受信手段と、認識結果生成手段と、認識結果記憶手段と、辞書更新手段とを備える。認識手段は、クライアント認識辞書を用いて、第１の認識結果を生成する。送信手段は、音声信号あるいは特徴量をサーバに送信する。受信手段は、サーバから第２の認識結果を受信する。認識結果生成手段は、第２の認識結果よりも先に第１の認識結果を取得した場合は、第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも第２の認識結果を利用して第３の認識結果を生成する。辞書更新手段は、第３の認識結果の履歴に第１の語彙と第１の語彙より過去に生成された第２の語彙とが含まれる場合、第１の語彙が第２の語彙よりも優先的に含まれるようにクライアント認識辞書を更新する。【選択図】図１
2014063088.tif 000002
【特許請求の範囲】
【請求項１】
認識可能な語彙を定義したクライアント認識辞書を用いて、音声信号を認識して第１の認識結果を生成する認識手段と、
前記第１の認識結果が生成される前に、前記音声信号あるいは前記音声信号から抽出された特徴量をサーバに送信する送信手段と、
前記サーバで前記音声信号を認識した結果である第２の認識結果を受信する受信手段と、
前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも前記第２の認識結果を利用して前記第３の認識結果を生成する認識結果生成手段と、
前記第３の認識結果を記憶する認識結果記憶手段と、
前記第３の認識結果の履歴を利用して前記クライアント認識辞書を更新する辞書更新手段とを備え、
前記辞書更新手段が、前記第３の認識結果の履歴に第１の語彙と前記第１の語彙より過去に生成された第２の語彙とが含まれる場合、前記第１の語彙が前記第２の語彙よりも優先的に前記クライアント認識辞書に含まれるように、前記クライアント認識辞書を更新する音声認識装置。
【請求項２】
前記辞書更新手段が、前記認識記憶手段に記憶された直近の過去Ｎ回（Ｎ≧１）の前記第３の認識結果を利用して前記クライアント認識辞書を更新する請求項１に記載の音声認識装置。
【請求項３】
前記認識結果記憶手段が、前記第３の認識結果と前記第３の認識結果が生成された時刻情報とを関連づけて記憶し、
前記辞書更新手段は、前記時刻情報が所定の時刻以降である前記第３の認識結果を利用して前記クライアント認識辞書を更新する請求項１または請求項２に記載の音声認識装置。
【請求項４】
前記辞書更新手段が、前記第３の認識結果に含まれる語彙の出現頻度を算出し、前記出現頻度が所定の閾値を超える語彙が前記クライアント認識辞書に含まれるように前記クライアント認識辞書を更新する請求項１乃至請求項３のいずれかに記載の音声認識装置。
【請求項５】
前記認識手段が、認識結果の尤もらしさを表す信頼度スコア付きで前記第１の認識結果を生成し、
前記認識結果生成手段が、前記第２の認識結果よりも先に前記第１の認識結果を取得し、かつ前記信頼度スコアが所定の閾値以上である場合、前記第１の認識結果を利用して前記第３の認識結果を生成し、それ以外の場合は、少なくとも前記第２の認識結果を利用して前記第３の認識結果を生成する請求項１乃至請求項４のいずれかに記載に記載の音声認識装置。
【請求項６】
前記クライアント認識辞書が、前記辞書更新手段で更新可能な可変辞書と更新不可能な固定辞書とで構成され、
前記認識手段が、前記可変辞書と前記固定辞書の両方を用いて前記音声信号を認識し、
前記辞書更新手段が、前記可変辞書を更新する請求項１乃至請求項５のいずれかに記載の音声認識装置。
【請求項７】
前記辞書更新手段が、前記第３の認識結果の履歴に含まれる語彙のうち前記固定辞書に含まれる語彙以外の語彙を用いて、前記可変辞書を更新する請求項６に記載の音声認識装置。
【請求項８】
利用者に前記第３の認識結果を提示する出力手段を更に備え、
前記認識結果生成手段が、前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第Ｍ位候補（Ｍ≧２）までの認識結果を含む第３の認識結果を生成し、
前記認識結果生成手段が、前記第３の認識結果を生成後、前記第２の認識結果を取得した場合は、前記第３の認識結果に含まれる第２位候補以下を、前記第２の認識結果と入れ替えた第４の認識結果を生成し、
前記出力手段が、前記第３の認識結果を提示した後に前記第４の認識結果を提示する請求項１に記載の音声認識装置。
【請求項９】
認識可能な語彙を定義したクライアント認識辞書を用いて、音声信号を認識して第１の認識結果を生成する認識手段と、
前記第１の認識結果が生成される前に、前記音声信号あるいは前記音声信号から抽出された特徴量をサーバに送信する送信手段と、
前記サーバで前記音声信号を認識した結果である第２の認識結果を受信する受信手段と、
前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも前記第２の認識結果を利用して前記第３の認識結果を生成する認識結果生成手段と、
利用者に前記第３の認識結果を提示する出力手段とを備え、
前記認識結果生成手段が、前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第Ｍ位候補（Ｍ≧２）までの認識結果を含む第３の認識結果を生成し、
前記認識結果生成手段が、前記第３の認識結果を生成後、前記第２の認識結果を取得した場合は、前記第３の認識結果に含まれる第２位候補以下を、前記第２の認識結果と入れ替えた第４の認識結果を生成し、
前記出力手段が、前記第３の認識結果を提示した後に前記第４の認識結果を提示する音声認識装置。
【請求項１０】
前記認識結果生成手段が、前記第２の認識結果から前記第３の認識結果に含まれる第１位候補を除いて、前記第４の認識結果を生成する請求項８または請求項９に記載の音声認識装置。
【請求項１１】
請求項１乃至請求項１０のいずれかに記載の音声認識装置と、
前記音声認識装置とネットワークを介して接続する前記サーバと、
を備える音声認識システム。
【請求項１２】
認識可能な語彙を定義したクライアント認識辞書を用いて、音声信号を認識して第１の認識結果を生成するステップと、
前記第１の認識結果が生成される前に、前記音声信号あるいは前記音声信号から抽出された特徴量をサーバに送信するステップと、
前記サーバで前記音声信号を認識した結果である第２の認識結果を受信するステップと、
前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも前記第２の認識結果を利用して前記第３の認識結果を生成するステップと、
前記第３の認識結果の履歴に第１の語彙と前記第１の語彙より過去に生成された第２の語彙とが含まれる場合、前記第１の語彙が前記第２の語彙よりも優先的に前記クライアント認識辞書に含まれるように、前記クライアント認識辞書を更新するステップと、
を備える音声認識方法。
【請求項１３】
音声認識装置に、
認識可能な語彙を定義したクライアント認識辞書を用いて、音声信号を認識して第１の認識結果を生成する機能と、
前記第１の認識結果が生成される前に、前記音声信号あるいは前記音声信号から抽出された特徴量をサーバに送信する機能と、
前記サーバで前記音声信号を認識した結果である第２の認識結果を受信する機能と、
前記第２の認識結果よりも先に前記第１の認識結果を取得した場合は、前記第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも前記第２の認識結果を利用して前記第３の認識結果を生成する機能と、
前記第３の認識結果の履歴に第１の語彙と前記第１の語彙より過去に生成された第２の語彙とが含まれる場合、前記第１の語彙が前記第２の語彙よりも優先的に前記クライアント認識辞書に含まれるように、前記クライアント認識辞書を更新する機能と、
を実現させるための音声認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、音声認識装置、音声認識システム、音声認識方法および音声認識プログラムに関する。
【背景技術】
【０００２】
サーバとクライアントのそれぞれが認識機能を備えた音声認識システムが提案されている。この音声認識システムでは、まず、入力された音声信号に対して、ネットワーク通信が不要なクライアント側で音声認識を行う。そして、クライアントで認識できなかった場合、大規模な演算リソースを利用可能なサーバ側で音声認識を行う。更に、この音声認識システムでは、サーバでの認識結果に含まれる語彙をクライアント側の認識辞書に登録することにより、クライアントで認識できる語彙の割合を増やし、音声認識システム全体としての応答性の改善を図っている。
【０００３】
しかしながら、従来技術では、クライアントでの認識精度が低い場合、常にサーバでの認識処理が必要になり、音声認識システム全体としての応答性が悪くなるという問題があった。また、従来技術では、利用者の発声頻度に応じてクライアント側の認識辞書に登録する語彙を決定しており、過去に何度も発声された語彙があった場合、最近発声された語彙がクライアント側の認識辞書に登録され辛くなるという問題があった。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００４−１２６５３号公報
【特許文献２】米国特許第７９３３７７７号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００５】
発明が解決しようとする課題は、応答性が高く高精度な音声認識装置を開発することである。
【課題を解決するための手段】
【０００６】
実施形態の音声認識装置は、認識手段と、送信手段と、受信手段と、認識結果生成手段と、認識結果記憶手段と、辞書更新手段とを備える。認識手段は、クライアント認識辞書を用いて、第１の認識結果を生成する。送信手段は、音声信号あるいは特徴量をサーバに送信する。受信手段は、サーバから第２の認識結果を受信する。認識結果生成手段は、第２の認識結果よりも先に第１の認識結果を取得した場合は、第１の認識結果を利用して第３の認識結果を生成し、それ以外の場合は、少なくとも第２の認識結果を利用して第３の認識結果を生成する。辞書更新手段は、第３の認識結果の履歴に第１の語彙と第１の語彙より過去に生成された第２の語彙とが含まれる場合、第１の語彙が第２の語彙よりも優先的に含まれるようにクライアント認識辞書を更新する。
【図面の簡単な説明】
【０００７】
【図１】第１の実施形態の音声認識装置を示すブロック図。
【図２】実施形態の音声認識装置のハードウェア構成を示す図。
【図３】実施形態の音声認識装置のフローチャート。
【図４】実施形態の音声認識装置のフローチャート。
【図５】実施形態の音声認識装置のフローチャート。
【図６】実施形態の音声認識装置のフローチャート。
【図７】実施形態の音声認識装置のフローチャート。
【図８】実施形態の認識結果管理表の一例を示す図。
【図９】実施形態の認識結果管理表の一例を示す図。
【図１０】第２の実施形態の音声認識装置のフローチャート。
【図１１】実施形態の認識結果の出力の一例を示す図。
【発明を実施するための形態】
【０００８】
以下、本発明の実施形態について図面を参照しながら説明する。
【０００９】
（第１の実施形態） 
第１の実施形態では、利用者の音声を、サーバを用いて認識する音声認識装置（クライアント）について説明する。この音声認識装置は、ネットワーク通信が不要な自装置内で認識処理を実行すると共に、音声信号をサーバに送信しサーバ側でも認識処理を実行させる。そして、音声認識装置での認識結果が先に生成された場合、サーバでの認識結果を待たずに認識結果を利用者に提示する。さらに、本実施形態の音声認識装置は、利用者が最近発声した語彙が自装置で認識され易くなるように、自装置側の認識辞書を更新する。これにより、応答性が高く高精度な音声認識装置を実現することができる。
【００１０】
図１は、第１の実施形態にかかる音声認識システムの構成を示すブロック図である。この音声認識システムは、音声認識装置１００（クライアント）とサーバ３００とで構成される。音声認識装置１００とサーバ３００はネットワークを介して通信する。図１では、音声認識装置１００とサーバ３００が一対一で通信しているが、サーバ３００が複数台の音声認識装置と通信してもよい。
【００１１】
サーバ３００は、音声認識装置１００と比較して大規模な演算リソースを有しており、高精度な認識精度を実現できる。一方、サーバ３００はネットワークを介したデータ通信が必須になるため、音声認識装置１００がサーバ３００の認識結果を受信するまでには遅延が生じる。
【００１２】
図１の音声認識装置１００は、認識部１０１と、クライアント認識辞書１０２と、クライアント送信部１０３と、クライアント受信部１０４と、認識結果生成部１０５と、認識結果記憶部１０６と、辞書更新部１０７と、出力部１０８とで構成される。認識部１０１は更に、音声入力部１０９と、クライアント認識処理部１１０とで構成される。
【００１３】
図１のサーバ３００は、サーバ受信部３０１と、サーバ認識処理部３０２と、サーバ認識辞書３０３と、サーバ送信部３０４とで構成される。
【００１４】
（ハードウェア構成）
本実施形態の音声認識装置１００およびサーバ３００は、図２に示すような通常のコンピュータ端末を利用したハードウェアで構成されており、装置全体を制御するＣＰＵ（Central Processing Unit）等の制御部２０１と、各種データや各種プログラムを記憶するＲＯＭ（Read Only Memory）やＲＡＭ（Random Access Memory）等の第１記憶部２０２と、各種データや各種プログラムを記憶するＨＤＤ（Hard Disk Drive）やＣＤ（Compact Disk）ドライブ装置等の第２記憶部２０３と、キーボード、マウス、タッチパネル等の操作部２０４と、外部装置との通信を制御する通信部２０５と、音声を取得するマイク２０６と、音声を再生するスピーカ２０７と、映像を表示するディスプレイ２０８と、これらを接続するバス２０９とを備えている。本実施形態の音声認識装置１００は、携帯型あるいは据え置き型のコンピュータ端末のどちらであってもよい。
【００１５】
このようなハードウェア構成において、制御部２０１がＲＯＭ等の第１記憶部２０２や第２記憶部２０３に記憶された各種プログラムを実行することにより、後述する各ブロックの機能が実現される。
【００１６】
（各ブロックの機能）
音声認識装置１００における各ブロックの機能を説明する。
【００１７】
認識部１０１は、音声入力部１０９とクライアント認識処理部１１０とで構成されており、クライアント認識辞書１０２を用いて、音声入力部１０９で取得した利用者の音声を認識する。
【００１８】
音声入力部１０９は、マイク２０６で取得した利用者の音声をＡＤ変換することにより音声信号を取得する。音声入力部１０９は、取得した音声信号に圧縮処理を適用してもよい。さらに、音声入力部１０９は、音声信号からＭＦＣＣ（Mel Frequency Cepstral Coefficient）などの音声認識に用いる特徴量を抽出する。
【００１９】
クライアント送信部１０３は、音声信号あるいは特徴量を、通信部２０５を介してサーバ３００に送信する。ここで、クライアント送信部１０３は、認識部１０１での認識処理が終了する前に、音声信号あるいは特徴量をサーバ３００に送信する。
【００２０】
クライアント受信部１０４は、通信部２０５を介してサーバ３００における音声信号の認識結果を受信する。サーバ３００での認識処理は後述する。
【００２１】
クライアント認識処理部１１０は、音声入力部１０９で抽出した特徴量とクライアント認識辞書１０２とを照合することにより認識処理を行う。照合の結果、適当な認識結果が得られない場合は認識不可能である通知（リジェクト）を、認識結果が得られた場合は認識結果を信頼度スコア付きで出力する。ここで、信頼度スコアは、認識結果の尤もらしさを表す指標であり、その値が大きいほど認識結果の信頼度が高いことを表している。クライアント認識処理部１１０は、信頼度スコア付きで第Ｍ位候補（Ｍ≧１）までの認識結果を生成することができる。
【００２２】
クライアント認識辞書１０２は、音素の音響的特徴を捉えた音響モデルと、発声内容の言語的特徴すなわち、認識可能な語彙、その語彙の発音を構成する音素の並び方や単語の並び方を表した言語モデルとで構成される。音響モデルとしては、例えば、特徴量の混合正規分布を出力確率とする隠れマルコフモデルを用いる。言語モデルとしては、単語や、単語のつながりの出現し易さを統計的に表現した統計言語モデル、あるいは単語のつながりを単語接続ネットワークで明に表現したルールグラマーを用いる。クライアント認識辞書１０２は、第１記憶部２０２あるいは第２記憶部２０３に記憶する。
【００２３】
認識結果生成部１０５は、音声認識装置１００での認識結果とサーバ３００での認識結果のうち少なくとも１つを利用して、音声認識装置１００が出力する認識結果を生成する。認識結果生成部１０５の処理は後述する。
【００２４】
認識結果記憶部１０６は、認識結果生成部１０５で生成された認識結果を記憶する。認識結果記憶部１０６は、第１記憶部２０２あるいは第２記憶部２０３で実現できる。
【００２５】
辞書更新部１０７は、認識結果記憶部１０６に記憶された認識結果の履歴を利用してクライアント認識辞書１０２を更新する。辞書更新部１０７は、利用者が最近発声した語彙がクライアント認識処理部１１０で認識され易くなるように、クライアント認識辞書１０２を更新する。認識結果の履歴は、認識結果生成部１０５が過去に生成した認識結果の系列を表しており、認識結果記憶部１０６に記憶されている。さらに、本実施形態では、過去に生成された認識結果の系列から抽出した出現頻度や発声時刻に関する情報なども認識結果の履歴と呼ぶ。
【００２６】
出力部１０８は、認識結果生成部１０５で生成された認識結果を出力する。ここで、出力部１０８は、認識結果をディスプレイ２０８に表示する。出力部１０８は、音声合成技術を用いて認識結果を合成音声に変換しスピーカ２０７から再生してもよいし、認識結果を別のアプリケーションに出力してもよい。
【００２７】
次に、サーバ３００における各ブロックの機能を説明する。
【００２８】
サーバ受信部３０１は、音声認識装置１００から送信された音声信号または特徴量を受信する。
【００２９】
サーバ認識処理部３０２は、サーバ受信部３０１で取得した音声信号または特徴量とサーバ認識辞書３０３とを照合することにより、サーバ３００の認識結果を生成する。サーバ受信部３０１が音声信号を受信した場合は、サーバ認識処理部３０２は、音声信号から特徴量を抽出し、サーバ認識辞書３０３と照合する。サーバ認識処理部３０２もクライアント認識処理部１１０と同様に信頼度スコア付きで第Ｍ位候補（Ｍ≧１）までの認識結果を生成することができる。
【００３０】
サーバ認識処理部３０２は、大規模な演算リソースを利用できるため、サーバ認識辞書３０３と特徴量の照合をより詳細に実行できる。これにより、サーバ認識処理部３０２は、クライアント認識処理部１１０と比較して高精度な認識精度を実現できる。
【００３１】
サーバ認識辞書３０３は、クライアント認識辞書１０２と同様な構成である。サーバ認識辞書３０３の言語モデルには、サーバ３００で認識可能な語彙が定義されている。一般に、認識可能な語彙の数が増えるほど特徴量と認識辞書との照合回数は増える。また、語彙の数が増えるほど、サーバ認識辞書３０３の容量が大きくなる。サーバ３００は、携帯端末などで構成される音声認識装置１００と比較して、大規模な演算リソースおよび記憶容量を利用することができる。サーバ認識辞書３０３には、クライアント認識辞書１０２と比較して多くの認識可能な語彙が定義されている。
【００３２】
サーバ送信部３０４は、サーバ認識処理部３０２で生成された認識結果を音声認識装置１００に送信する。
【００３３】
（フローチャート）
図３のフローチャートを利用して、本実施形態にかかる音声認識システムの処理を説明する。ステップＳ１からＳ６は音声認識装置１００での処理を、ステップＳ７からＳ９はサーバ３００での処理をそれぞれ表している。
【００３４】
ステップＳ１では、音声入力部１０９は、音声信号を取得し、この音声信号からＭＦＣＣなどの音声認識に用いる特徴量を抽出する。
【００３５】
ステップＳ２では、クライアント送信部１０３は、音声信号または特徴量をサーバ３００に送信する。ここで、クライアント送信部１０３は、後述するクライアント認識処理部１１０での認識処理が終了する前に、音声信号あるいは特徴量をサーバ３００に送信する。
【００３６】
ステップＳ３では、クライアント認識処理部１１０は、ステップＳ１で抽出された特徴量を用いて認識処理を実行する。
【００３７】
ステップＳ７では、サーバ受信部３０１は、音声認識装置１００が送信した音声信号または特徴量を受信する。
【００３８】
ステップＳ８では、サーバ認識処理部３０２は、ステップＳ７で受信した音声信号または特徴量を用いて認識処理を実行する。
【００３９】
ステップＳ９では、サーバ送信部３０４は、サーバ認識処理部３０２で得られた認識結果を音声認識装置１００に送信する。
【００４０】
ステップＳ４では、認識結果生成部１０５は、ステップＳ３で生成されたクライアント認識処理部１１０での認識結果とステップＳ８で生成されたサーバでの認識結果のうち少なくとも１つを利用して、音声認識装置１００が出力する認識結果を生成する。ステップＳ４の詳細は後述する。
【００４１】
ステップＳ５では、辞書更新部１０７は、ステップＳ４で生成された認識結果の履歴を利用して、クライアント認識辞書１０２を更新する。辞書更新部１０７は、利用者が最近発声した語彙がクライアント認識処理部１１０で認識され易くなるように、クライアント認識辞書１０２を更新する。ステップＳ５の詳細は後述する。
【００４２】
ステップＳ６では、出力部１０８は、認識結果をディスプレイ２０８に表示する。
【００４３】
（ステップＳ４のフローチャート）
図４のフローチャートを利用して、ステップＳ４における認識結果生成部１０５の処理を説明する。
【００４４】
ステップＳ４１では、認識結果生成部１０５は、クライアント受信部１０４がサーバ３００からの認識結果を受信しているか否かを判別する。受信している場合は、ステップＳ４２に移行する。
【００４５】
ステップＳ４２では、認識結果生成部１０５は、サーバ３００からの認識結果を利用して音声認識装置１００が出力する認識結果を生成する。認識結果生成部１０５は、サーバ３００の認識結果をそのまま音声認識装置１００が出力する認識結果としてもよい。また、サーバ３００が第Ｍ位候補（Ｍ≧１）までの認識結果を生成している場合は、信頼度スコアが最も高い第１位候補を音声認識装置１００が出力する認識結果としてもよい。
【００４６】
クライアント受信部１０４がサーバ３００からの認識結果を受信していなかった場合（ステップＳ４１のNo）は、ステップＳ４３に移行する。
【００４７】
ステップＳ４３では、認識結果生成部１０５は、クライアント認識処理部１１０での認識処理が終了しているか否かを判別する。終了していない場合は、ステップＳ４１に移行し、サーバ３００からの認識結果の受信状況を再度確認する。終了している場合は、ステップＳ４４に移行する。
【００４８】
ステップＳ４４では、認識結果生成部１０５は、クライアント認識処理部１１０で音声信号の認識が可能であったか否かを判別する。ここで、認識が可能であるとは、クライアント認識処理部１１０で、リジェクトではなく認識結果が出力されたことを表している。クライアント認識処理部１１０での認識が不可能であった場合は、サーバ３００での認識結果を取得するためにステップＳ４１に移行する。可能であった場合はステップＳ４５へ移行する。
【００４９】
ステップＳ４５では、認識結果生成部１０５は、クライアント認識処理部１１０での認識結果を利用して、音声認識装置１００が出力する認識結果を生成する。ここで、認識結果生成部１０５は、クライアント認識処理部１１０での認識結果をそのまま音声認識装置１００が出力する認識結果としてもよい。また、クライアント認識処理部１１０が第Ｍ位候補（Ｍ≧１）までの認識結果を生成している場合は、信頼度スコアが最も高い第１位候補を音声認識装置１００が出力する認識結果としてもよい。
【００５０】
このように、本実施形態の音声認識装置１００は、クライアント認識処理部１１０での認識処理がサーバ３００での認識処理より早く終了し、かつクライアント認識処理部１１０で音声信号の認識が可能であった場合、サーバ３００からの認識結果を待たずに音声認識装置１００が出力する認識結果を生成する。これにより、クライアント認識処理部１１０で認識可能な発声に対する応答性を高めることができる。
【００５１】
図３のステップＳ４は、図５に示すフローチャートに沿って実行することもできる。図５は、ステップＳ４６が挿入されている点が図４とは異なる。
【００５２】
ステップＳ４６において、認識結果生成部１０５は、信頼度スコアが所定の閾値を超えた場合、クライアント認識処理部１１０の認識結果を利用する。信頼度スコアが所定の閾値以下になる場合は、音声認識装置１００がサーバ３００からの認識結果を受信するまで待機する。
【００５３】
クライアント認識処理部１１０では、認識可能な語彙が小規模であり、認識可能な語彙に対しては高精度な認識を実行し、そうでない語彙に対しては認識不可能（リジェクト）を出力することが期待される。しかし、実際には認識できない語彙を認識不可能と高精度に判別することは難しく、認識できない語彙であっても誤った認識結果を出力する場合がある。図５のように、信頼度スコアを用いた閾値処理を導入することにより、クライアント認識処理部１１０での認識結果のうち信頼度が高い認識結果のみが音声認識装置１００が出力する認識結果として利用されるようなる。
【００５４】
（ステップＳ５のフローチャート）
図６のフローチャートを利用して、図３のステップＳ５の処理を説明する。
【００５５】
まず、ステップＳ５１では、認識結果生成部１０５は、認識結果記憶部１０６に図３のステップＳ４で生成された認識結果を記憶できる容量があるか否かを判別する。容量がある場合は、ステップＳ５３に移行し、認識結果を認識結果記憶部１０６に記憶する。容量がない場合は、ステップＳ５２で認識結果記憶部１０６に記憶された認識結果のうち最も古い認識結果を削除した後、ステップＳ５３で認識結果を認識結果記憶部１０６に記憶する。このような認識結果の履歴の管理は、リングバッファを用いることで容易に実現できる。
【００５６】
ステップＳ５４では、辞書更新部１０７は、認識結果記憶部１０６に記憶された認識結果の履歴を用いて新たな認識辞書を作成する。具体的には、認識結果記憶部１０６に記憶された認識結果の履歴に含まれる語彙を、クライアント認識処理部１１０で認識可能な語彙として言語モデルを構築する。あるいは、その語彙の出現し易さが高くなるように言語モデルを構築する。辞書更新部１０７は、言語モデルの適応技術を用いることもできる。
【００５７】
ステップＳ５５では、辞書更新部１０７は、既存のクライアント認識辞書１０２をステップＳ５４で作成した認識辞書で置き換える。
【００５８】
認識結果生成部１０５は、認識結果記憶部１０６が記憶可能な認識結果を過去Ｎ回（Ｎ≧１）のように決めることができる。Ｎを適切な値に制御することにより、過去Ｎ回の認識結果の履歴を利用してクライアント認識辞書１０２を更新することができる。これにより、利用者が何度も発声した語彙が過去Ｎ回より前にあったとしても、その影響を無視することができ、最近発声した語彙がクライアント認識処理部１１０で認識され易くなる。利用者がよく発声する語彙に関しては、サーバ３００での認識結果を待つことなくクライアント認識処理部１１０での認識結果が用いられ、それ以外の語彙に関しては、サーバ３００での認識結果が用いられることになり、応答性が高く高精度な音声認識装置１００を実現することができる。
【００５９】
なお、認識結果生成部１０５が、過去Ｋ回（Ｋ＞Ｎ）の認識結果を認識結果記憶部１０６に記憶しておき、辞書更新部１０７が、Ｋ回の認識結果のうち直近の過去Ｎ回の認識結果を用いて認識辞書を作成するようにしてもよい。
【００６０】
図３のステップＳ５は、図７に示すフローチャートに沿って実行することもできる。
【００６１】
まず、ステップＳ７１では、認識結果生成部１０５は、図３のステップＳ４で生成された認識結果を認識結果記憶部１０６に記憶する。
【００６２】
ステップＳ７２では、辞書更新部１０７は、認識結果の系列から認識結果管理表を作成する。認識結果管理表は、認識結果の出現頻度および最後に発声された時刻に関する情報を有している。
【００６３】
図８に、認識結果の系列および認識結果管理表の一例を示す。この例では、過去１０回の認識結果の系列８０１が認識結果記憶部１０６に記憶されており、新たに認識結果８０２が１１回目の認識結果として認識結果記憶部１０６に記憶されることを表している。認識結果の系列８０１の「番号」は何番目の認識結果であるかを示すシーケンシャルな番号を、「発声時刻」は認識結果に対応する音声が発声された時刻を表している。「発声時刻」は、音声入力部１０９で音声信号を取得した時刻でもよいし、認識結果生成部１０５で認識結果が生成された時刻でもよい。この例では、２０１２年８月１０日１８時１６分に「グループＡ」という発声があったことを表している。
【００６４】
ステップＳ７２において、辞書更新部１０７は、認識結果の系列８０１から認識結果管理表８０３を作成する。認識結果管理表８０３の「出現頻度」は認識結果の系列８０１で出現する回数を、「最後の発声時刻」は最後に発声された際の時刻を表している。この例では、「グループＢ」という発声が認識結果の系列８０１に４回出現し、最後の発声時刻が２０１２年８月２５日２１時１６分であったことを表している。
【００６５】
ステップＳ７３では、辞書更新部１０７は、認識結果管理表から認識辞書の作成に利用する認識結果を選別する。具体的には、辞書更新部１０７は、最後の発声時刻が所定の時刻より過去であり、かつ、その出現頻度が所定の閾値より小さい認識結果を、認識辞書を作成する際に使用する認識結果から除外する。例えば、最後の発声時刻が２０１２年８月１１日の１２時００分より過去であり、かつ、出現頻度が２回より小さい認識結果を除外するとした場合、図８では、「女優Ａ」が認識辞書の作成には用いられないことになる。
【００６６】
出現頻度に関する閾値を０にした場合は、最後の発声時刻のみで認識結果を選別することができる。また、時刻情報として、「最後の発声時刻」ではなく認識結果が生成された順番を表す「番号」を用いて認識結果を選別してもよい。この場合は、例えば、過去５回より前の認識結果を削除、のように選別することができる。また、出現頻度として、認識結果の系列から統計的に算出された出現確率を用いることもできる。
【００６７】
ステップＳ７４では、辞書更新部１０７は、ステップＳ７３で選別された認識結果を利用して新たな認識辞書を作成する。
【００６８】
ステップＳ７５では、辞書更新部１０７は、既存のクライアント認識辞書１０２をステップＳ７４で作成した認識辞書で置き換える。
【００６９】
以上のように、最後の発声時刻が所定の時刻より過去にある認識結果を削除することにより、最近発声した語彙がクライアント認識処理部１１０で認識され易くなるようにすることができる。
【００７０】
図７のフローチャートでは、認識結果の系列から認識結果管理表を作成したが、認識結果管理表を認識結果記憶部１０６に記憶しておき、新たな認識結果が生成されるたびに更新するようにしてもよい。例えば、図９において認識結果管理表９０１が既に認識結果記憶部１０６に記憶されており、認識結果生成部１０５にて新たな認識結果９０２が生成されたとする。認識結果記憶部１０６における記憶容量の制限により、認識結果権利表９０１で管理可能な認識結果数が６である場合、認識結果生成部１０５は、前述のように最後の発声時刻が２０１２年８月１１日の１２時００分より過去であり、かつ、出現頻度が２回より小さい認識結果である「女優Ａ」を認識結果管理表９０１から削除し、「コメディアンＢ」を追加した新たな認識結果管理表９０３を作成する。そして、辞書更新部１０７は認識結果管理表９０３に含まれる認識結果を利用してクライアント認識辞書１０２を更新する。
【００７１】
なお、新たな認識結果が認識結果管理表に既に登録されている場合は、認識結果生成部１０５は、出現頻度および最後の発声時刻をそれぞれ更新する。
【００７２】
（変形例１）
クライアント認識辞書１０２が、辞書更新部１０７で更新可能な可変辞書と更新不可能な固定辞書とで構成されてもよい。ここで、固定辞書には、別のアプリケーションに対するコマンドの起動など、応答性を重視したい語彙を登録しておく。
【００７３】
辞書更新部１０７は、認識結果の履歴に含まれる語彙のうち固定辞書に含まれる語彙以外の語彙を用いて、可変辞書を更新することができる。これにより、応答性を重視したい語彙がクライアント認識辞書１０２に登録される状態を担保したうえで、最近発声された語彙をクライアント認識辞書１０２に新たに登録することができる。
【００７４】
本実施形態の音声認識装置では、ネットワーク通信が不要な自装置内で認識処理を実行すると共に、音声信号をサーバに送信しサーバ側でも認識処理を実行させる。そして、音声認識装置での認識結果が先に生成された場合、サーバでの認識結果を待たずに認識結果を利用者に提示する。さらに、本実施形態の音声認識装置は、利用者が最近発声した語彙が自装置で認識され易くなるように、自装置側の認識辞書を更新する。これにより、応答性が高く高精度な音声認識装置を実現することができる。
【００７５】
（第２の実施形態）
第２の実施形態にかかる音声認識装置について説明する。本実施形態の音声認識装置は、複数の認識結果を利用者に提示する機能を有しており、利用者は提示された認識結果から正しい認識結果を選択することにより、音声を利用したアプリケーションの起動やコンテンツの検索等を実行できる。
【００７６】
本実施形態の音声認識装置は、まず、クライアント認識処理部１１０での認識結果を１次の認識結果として利用者に提示する。その後、サーバ３００での認識結果が得られた時点で、１次の認識結果における２位候補以下をサーバ３００での認識結果と入れ替えた２次の認識結果を利用者に提示する。これにより、応答性が高く高精度な音声認識装置を実現することができる。
【００７７】
本実施形態の音声認識装置のブロック構成およびハードウェア構成は、第１の実施形態にかかる音声認識装置１００と同様である。
【００７８】
（フローチャート）
図１０のフローチャートを利用して、本実施形態にかかる音声認識装置１００の処理を説明する。本実施形態のクライアント認識処理部１１０は、信頼度スコア付きで第Ｌ位候補（Ｌ≧２）までの認識結果を生成するものとする。
【００７９】
ステップＳ１０１からＳ１０３までの処理、およびステップＳ１１０の処理は第１の実施形態と同様であるため説明を省略する。
【００８０】
ステップＳ１０４では、認識結果生成部１０５は、クライアント受信部１０４がサーバ３００からの認識結果を受信しているか否かを判別する。受信している場合は、ステップＳ１０５に移行する。
【００８１】
ステップＳ１０５では、認識結果生成部１０５は、サーバ３００からの認識結果を音声認識装置１００が出力する認識結果とする。そして、出力部１０８は認識結果生成部１０５が生成した認識結果をディスプレイ２０８に表示する。
【００８２】
クライアント受信部１０４がサーバ３００からの認識結果を受信していなかった場合（ステップＳ１０４のNo）は、ステップＳ１０６に移行する。
【００８３】
ステップＳ１０６では、クライアント認識処理部１１０での認識処理が終了しているか否かを判別する。終了していない場合は、ステップＳ１０４に移行しサーバ３００の認識結果の受信状況を再度確認する。一方、終了している場合は、ステップＳ１０７に移行する。
【００８４】
ステップＳ１０７では、認識結果生成部１０５は、クライアント認識処理部１１０からの認識結果を音声認識装置１００が出力する１次の認識結果とする。そして、出力部１０８は、１次の認識結果をディスプレイ２０８に表示する。
【００８５】
ステップＳ１０８では、認識結果生成部１０５は、クライアント受信部１０４がサーバ３００からの認識結果を受信しているか否かを判別する。受信していない場合は、サーバ３００からの認識結果を受信するまで待機する。受信している場合は、ステップＳ１０９に移行する。
【００８６】
ステップＳ１０９では、認識結果生成部１０５は、ステップＳ１０７で生成された１次の認識結果の第２位候補以下を、サーバ３００の認識結果と入れ替えて２次の認識結果を生成する。そして、出力部１０８は、１次の認識結果を表示後、２次の認識結果をディスプレイ２０８に表示する。
【００８７】
なお、サーバ３００の認識結果に１次の認識結果の第１位候補（例えば、「俳優Ａ」）が含まれる場合、認識結果生成部１０５は、１次の認識結果の第２位候補以下を、この認識結果（「俳優Ａ」）を除くサーバ３００の認識結果と入れ替えて２次の認識結果を生成する。同じ認識結果が重複して出力されることを防止するためである。
【００８８】
図１１に、本実施形態にかかる音声認識装置１００の処理の一例を示す。この例では、利用者が「邦画」と発声した場合を想定している。まず、クライアント認識処理部１１０において認識結果９１１（１位候補：洋画、２位候補：動画、３位候補：豪華）が生成され、これが１次の認識結果９１２としてディスプレイに２０８に表示される。この時点では、クライアント受信部１０４は、サーバ３００から認識結果を受信していない。
【００８９】
その後、クライアント受信部１０４がサーバ３００からの認識結果９１３（１位候補：邦画、２位候補：洋画、３位候補：動画）を受信した場合、認識結果生成部１０５は、２次の認識結果９１４を生成する。
【００９０】
ここで、認識結果生成部１０５は、１次の認識結果９１２の２位候補以下「動画、豪華」を、サーバ３００の認識結果９１３から１次の認識結果９１２の１位候補である「洋画」を除いた「邦画、動画」で置き換えることで２次の認識結果９１４を生成する。そして、出力部１０８は、１次の認識結果９１２を表示後、２次の認識結果９１４をディスプレイ２０８に表示する。
【００９１】
一般に、サーバ３００の方がクライアント認識処理部１１０よりも認識精度が高いため、認識精度の観点ではサーバ３００の認識結果を利用した方がよい。しかし、応答性を確保するためには、クライアント認識処理部１１０での認識結果を利用した方がよい。
【００９２】
本実施形態の音声認識装置は、まず、クライアント認識処理部１１０での認識結果を１次の認識結果として利用者に提示する。その後、サーバ３００での認識結果が得られた時点で、１次の認識結果における２位候補以下をサーバ３００での認識結果と入れ替えた２次の認識結果を利用者に提示する。これにより、応答性が高く高精度な音声認識装置を実現することができる。
【００９３】
なお、本実施形態の認識結果生成部１０５は、１次の認識結果の１次候補は入れ替えず、２位候補以下を入れ替えるため、利用者とのインタラクションを妨げることはない。利用者は、１次の認識結果における１位候補が間違っていると判断した場合、認識精度が高いサーバ３００の認識結果含まれた２次の認識結果の中から正解を選択することができる。
【００９４】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００９５】
以上説明した本実施形態における一部機能もしくは全ての機能は、ソフトウェア処理により実現可能である。
【符号の説明】
【００９６】
１００  音声認識装置、１０１  認識部、１０２  クライアント認識辞書、１０３  クライアント送信部、１０４  クライアント受信部、１０５  認識結果生成部、１０６  認識結果記憶部、１０７  辞書更新部、１０８  出力部、１０９  音声入力部、１１０  クライアント認識処理部、２０１  制御部、２０２  第１記憶部、２０３  第２記憶部、２０４  操作部、２０５  通信部、２０６  マイク、２０７  スピーカ、２０８  ディスプレイ、２０９  バス、３００  サーバ、３０１  サーバ受信部、３０２  サーバ認識処理部、３０３  サーバ認識辞書、３０４  サーバ送信部、８０１  認識結果の系列、８０２  認識結果、８０３  認識結果管理表、９０１  認識結果管理表、９０２  認識結果、９０３  認識結果管理表、９１１  クライアント認識処理部での認識結果、９１２  １次の認識結果、９１３  サーバでの認識結果、９１４  ２次の認識結果
【図１】
2014063088.tif 000003
【図２】
2014063088.tif 000004
【図３】
2014063088.tif 000005
【図４】
2014063088.tif 000006
【図５】
2014063088.tif 000007
【図６】
2014063088.tif 000008
【図７】
2014063088.tif 000009
【図８】
2014063088.tif 000010
【図９】
2014063088.tif 000011
【図１０】
2014063088.tif 000012
【図１１】
2014063088.tif 000013