以下、図面を参照して、本発明の一実施形態による音声認識システムを説明する。
ここで、本発明が想定する利用形態について説明する。本発明は、音声認識用マイクと発話者が近いケースではなく、比較的遠い場合、具体的には、45センチから数メートル程度の比較的距離があるケースで利用されることを想定している。
想定する周辺状況は、本システム外のテレビ放送、ラジオ放送の声音(アナウンスやセリフ)が数秒から十数秒間隔で流れていたり、案内放送が不定期に流れたりすることなどにより、認識期間中にテレビやラジオや案内放送などの声音がクライアント側装置に入力される音響信号に不定期に入ってしまうケースなどである。
<第1実施形態>
まず、本発明の第1実施形態として、クライアント側装置に入力された発話者の音声を含む音響信号の音声認識結果から、別のクライアント側装置に入力された音響信号の音声認識結果と共通する部分を取り除く形態について説明する。図1は第1実施形態における音声認識システムの構成を示すブロック図である。この図において、符号100は音声認識システムであり、符号11〜1Nは複数個(N個、Nは2以上の整数)のクライアント側装置であり、符号2はクラウド側装置である。クライアント側装置11〜1Nは、利用者が利用する装置であり、例えば、スマートフォン、スマートテレビ、HDMI(登録商標)ドングルSTB(「STB」は「セットトップボックス」)、小型STB、先端家電デバイス、ゲーム機などである。クラウド側装置2は、ネットワーク3を介してクライアント側装置11〜1Nと接続される。ネットワーク3は、音声認識システム100のクライアント側装置11〜1Nとクラウド側装置2とがインターネットの接続プロトコルに従って情報を送受信できるようにするためのものであり、例えばインターネットである。クライアント側装置11〜1Nが最低限含む構成は全て同じであるため、以下では、第1実施形態の音声認識システム100のうちのクライアント側装置11とクラウド側装置2により構成される部分について詳細化したブロック図である図2を用いて説明を行う。
クライアント側装置11は、音声入力部111、ユーザ情報取得部121、音声送出部131、検索結果受信部141、画面表示部151を少なくとも含んで構成される。
クラウド側装置2は、音声受信部21、音声認識部22、音声認識結果保持部23、音声認識結果加工部24、検索処理部25、検索結果送信部26を少なくとも含んで構成される。
次に、第1実施形態の音声認識システムの動作を説明する。
[[第1実施形態の第1動作例]]
第1動作例として、第1〜Nの利用者のそれぞれがクライアント側装置11〜1Nを利用していて、第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話し、当該発話に対応する検索結果をクライアント側装置11の画面表示部151に表示する場合の動作の例を説明する。ここでは、より具体的なケースとして、N=3であり、テレビやラジオの音が流れていたり駅やデパートなどの案内放送が不定期に流れたりする場所に第1の利用者がいて、第1の利用者と同じテレビやラジオや案内放送が流れている場所に第2の利用者がいて、第1の利用者と同じテレビやラジオや案内放送が流れておらず異なる環境音のある場所に第3の利用者がいる場合を例に説明する。
クライアント側装置11の音声入力部111は、クライアント側装置11の周囲で発せられた音響信号を取得し、取得した音響信号を音声送信部131に出力する。第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話した場合には、第1の利用者が発話した音声を含む音響信号を取得して出力する。クライアント側装置11の周囲でテレビやラジオや案内放送などの環境音が発生している場合には、その環境音を含む音響信号を取得して出力する。したがって、上記の具体ケースであれば、第1の利用者が発話した音声と、テレビやラジオなどの音や案内放送などの環境音と、により構成される音響信号を取得して出力する。
クライアント側装置11のユーザ情報取得部121は、クライアント側装置11の音声入力部111が音響信号を取得した時刻情報を得て、当該時刻情報とクライアント側装置11を特定可能な識別情報(以下、「ID」と呼ぶ)とをユーザ情報として音声送信部131に出力する。時刻情報とは、例えば絶対時刻であり、例えばクライアント側装置11がGPS受信部を内蔵するスマートフォンである場合は、音声入力部111であるスマートフォンのマイクが音響信号を取得した際にGPS受信部が受信した絶対時刻を時刻情報とすればよい。また、たとえば、携帯キャリア網の基地局や通信サーバからもらった時刻情報でもよいし、スマートフォンのOSが保持するローカル時計の時刻情報でもよい。なお、第1実施形態においては、時刻情報は、複数のクライアント側装置それぞれで取得された音響信号が発せられた時刻が同一であるか否かを特定するために音声認識結果加工部23が用いるためものであるため、複数のクライアント側装置間で共通の時刻であれば、絶対時刻そのものでなくてもよい。
クライアント側装置11の音声送出部131は、音声入力部111が出力した音響信号とユーザ情報取得部121が出力したユーザ情報とを含む伝送信号をクラウド側装置2に対して送出する。より正確には、音声送出部131は、音声入力部111が出力した音響信号とユーザ情報取得部121が出力したユーザ情報とを含む伝送信号を、クラウド側装置2に伝えるべく、ネットワーク3に対して送出する。伝送信号の送出は、例えば、10msなどの所定時間区間ごとに行われる。また、音声送出部131は、音響信号を所定の符号化方法により符号化して符号列を得て、得られた符号列とユーザ情報とを含む伝送信号を送出してもよい。また、音声送出部131は、音響信号に対して音声認識処理の一部の処理である特徴量抽出などを行い、その処理により得られた特徴量とユーザ情報とを含む伝送信号を送出してもよい。ネットワークを介して別装置に伝送信号を送出する技術や音声認識処理をクライアント側装置とクラウド側装置で分散して行う技術には、多くの公知技術や周知技術が存在しているため、詳細な説明を省略する。
クライアント側装置12〜1Nの音声入力部112〜11N、ユーザ情報取得部122〜12N及び音声送出部132〜13Nも、それぞれ、クライアント側装置11の音声入力部111、ユーザ情報取得部121及び音声送出部131と同じ動作をする。したがって、上記の具体ケースであれば、クライアント側装置12は、第2の利用者が発話した音声と、第1の利用者と同じ環境音と、により構成される音響信号を取得して、当該音響信号とユーザ情報とを含む伝送信号を送出する。また、クライアント側装置13は、第3の利用者が発話した音声と、第1の利用者とは異なる環境音と、により構成される音響信号を取得して、当該音響信号とユーザ情報とを含む伝送信号を送出する。
クラウド側装置2の音声受信部21は、クライアント側装置11〜1Nの音声送出部131〜13Nがそれぞれ送出した伝送信号を受信して、受信したそれぞれの伝送信号から音響信号とユーザ情報との組を取り出して出力する。伝送信号の受信は、例えば、10msなどの所定時間区間ごとに行われる。音声送出部131〜13Nが音響信号を所定の符号化方法により符号化して符号列を得て、得られた符号列を含む伝送信号を送出した場合には、クラウド側装置2の音声受信部21は、受信した伝送信号に含まれる符号列を所定の符号化方法に対応する復号方法により復号することで音響信号を得て、得られた音響信号とユーザ情報との組を出力すればよい。また、音声送出部131〜13Nが音響信号に対して音声認識処理の一部の処理である特徴量抽出などを行い、その処理により得られた特徴量とユーザ情報とを含む伝送信号を送出した場合には、伝送信号から音響信号ではなく特徴量を取り出し、取り出した特徴量とユーザ情報との組を出力すればよい。
クラウド側装置2の音声認識部22は、音声受信部21が出力したそれぞれの音響信号に対して音声認識処理を行い、音響信号に含まれる音声に対応する文字列である音声認識結果を得て、音声認識結果と、当該音声認識結果に対応する時刻情報と、当該音声認識結果に対応するIDとによる組を出力する。なお、時刻情報がなかったり、不適切な値だった場合、受け取った時刻情報を用いず、サーバがデータを受け取ったおよその時刻情報で管理する処理をしてもよい。
音声認識処理は、音響信号の所定の纏まりごとに行われる。例えば、音声認識部22は、音声受信部21が出力した音響信号を音声認識部22内の図示しない記憶部に順次記憶し、記憶した音響信号に対して発話区間検出を行うことで発話区間ごとの音響信号の纏まりを得て、発話区間ごとの音響信号の纏まりに対して音声認識処理を行って、発話区間ごとの音響信号の纏まりに対する文字列である音声認識結果を得る。また、例えば、音声認識部22は、複数の発話区間の音響信号の纏まりに対して音声認識処理を行って、複数の発話区間の音響信号の纏まりに対する文字列である音声認識結果を得てもよい。
したがって、上記の具体ケースであれば、音声認識部22は、クライアント側装置11の音響信号に対する音声認識結果としては、第1の利用者が発話した音声とテレビやラジオや案内放送などの環境音との音声認識結果とから成る文字列を得る。また、音声認識部22は、クライアント側装置12の音響信号に対する音声認識結果としては、第2の利用者が発話した音声と第1の利用者と同じ環境音との音声認識結果から成る文字列を得る。また、音声認識部22は、クライアント側装置13の音響信号に対する音声認識結果としては、第3の利用者が発話した音声と第1の利用者とは異なる環境音との音声認識結果とから成る文字列を得る。
なお、音声認識処理には公知の音声認識技術を用いればよい。すなわち、音響モデル、言語モデル、特徴量の取り方等などの音声認識処理の詳細は、公知のものを用いればよい。また、音声認識処理として、ディープラーニングを用いた一体型の音声認識処理などを用いてもよい。これらの音声認識処理においては、図示しない解析部などで音響信号を規定の区間になるよう解析してから音声認識してもよい。また、音声受信部21が音響信号に代えて特徴量を出力した場合には、音声認識部22はその特徴量を用いて音声認識処理を行えばよい。何れにしろ、音声認識処理自体には、多くの公知技術や周知技術が存在しているため、詳細な説明を省略する。
音声認識処理は音響信号の所定の纏まりごとに行われるため、音声認識結果の文字列は所定の纏まりの音響信号に対応するものである。そこで、音声認識部22は、例えば、音声認識処理の対象にした所定の纏まりの音響信号に対応する複数のユーザ情報に含まれる時刻情報から代表時刻を求め、当該代表時刻を表す時刻情報を当該音声認識結果と組にする。代表時刻は、音声認識結果の文字列に対応する音響信号が発せられた時刻を代表するものであればよい。例えば、音声認識結果の文字列が発せられた始端の時刻を代表時刻とすればよい。また、代表時刻は1つの音声認識結果に複数あってもよい。例えば、音声認識結果に含まれる単語などの部分文字列ごとに、その単語などが発せられた始端の時刻を代表時刻としてもよい。
音声認識結果と組にするIDは、当該音声認識結果に対応するID、すなわち、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれるIDである。
クラウド側装置2の音声認識結果保持部23は、音声認識部22が出力した音声認識結果と時刻情報とIDとの組を記憶する。音声認識結果保持部23の記憶内容は、音声認識結果加工部24が時刻が共通する単語などの部分文字列があるか否かを判定する処理、及び、時刻が共通する単語などの部分文字列があった際に音声認識結果から取り除いて加工済み音声認識結果を得る処理、に用いられる。したがって、音声認識結果保持部23には、音声認識部22が出力した音声認識結果と時刻情報とIDとの組を音声認識結果加工部24の処理が必要とする時間分だけ記憶しておく。また、音声認識結果保持部23に保持した記憶内容は、当該記憶内容を用いる音声認識結果加工部24の処理が終わった時点で削除してよい。
クラウド側装置2の音声認識結果加工部24は、音声認識結果保持部23に記憶された少なくとも1つの音声認識結果と時刻情報とIDとの組について、当該音声認識結果の文字列に含まれる部分文字列それぞれについて、他の音声認識結果と時刻情報とIDとの組の中に、部分文字列と時刻との組が一致するものがあった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。したがって、少なくともある1つのクライアント側装置についての加工済み音声認識結果が出力されることになる。なお、時刻が一致するか否かの判定については、各クライアント側装置における絶対時刻の誤差や音声認識処理における時刻の誤差などを考慮して同じ時刻であると判定してもよい。すなわち、少なくともある1つの処理対象のクライアント側装置については、略同一の時刻に他のクライアント側装置に当該処理対象クライアント側装置と同じ部分文字列(共通する部分文字列)がある場合には、当該処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る。
なお、この処理は、他のクライアント側装置の全てを対象として行ってもよいし、他のクライアント側装置の少なくとも1つを対象として行ってもよい。この場合、音声認識結果加工部24の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部24の処理に不要な音声認識結果を得るための音声受信部21、音声認識部22及び音声認識結果保持部23の動作は省略してもよい。
ここで、上記のN=3の例で、少なくともある1つのクライアント側装置がクライアント側装置11である例について図3と図4を用いて説明する。図3はこの動作例における音声認識結果加工部24の処理フローを説明する図であり、図4はこの例における音声認識結果と加工済み音声認識結果の一例を説明する図である。図3の例は、クライアント側装置11以外の全てのクライアント側装置それぞれを対象として、クライアント側装置12の音声認識結果から順に、クライアント側装置11の音声認識結果と部分文字列と時刻との組が一致するものがあるか否かを探索し、部分文字列と時刻との組が一致するものがあった場合には、部分文字列と時刻との組が一致する部分文字列をクライアント側装置11の音声認識結果の文字列から当該共通部分文字列を取り除いていく例である。
音声認識結果加工部24は、まず、クライアント側装置11の音声認識結果と時刻情報とIDとの組を音声認識結果保持部23から読み出す(ステップS241)。音声認識結果加工部24は、次に、初期値xを2に設定する(ステップS242)。音声認識結果加工部24は、次に、クライアント側装置1xの音声認識結果と時刻情報とIDとの組を音声認識結果保持部23から読み出す(ステップS243)。音声認識結果加工部24は、次に、クライアント側装置11の音声認識結果と時刻情報とIDとの組とクライアント側装置1xの音声認識結果と時刻情報とIDとの組とにおいて、部分文字列とその時刻が一致するものがあるか否かを探索する(ステップS244)。この場合、時刻には誤差が考えられるので、およその時間で一致判定する。これは、例えば、数秒以内である。以後、フロー説明における“時刻の一致”という表現に関しては、特に記載ない限り、同様に扱うものとする。音声認識結果加工部24は、次に、ステップS244において部分文字列とその時刻が一致するものがあった場合には、部分文字列とその時刻が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS245)。ステップS244において部分文字列とその時刻が一致するものがなかった場合には、ステップS246に進む。音声認識結果加工部24は、次に、ステップS243〜ステップS245の処理の対象としていないクライアント側装置が残っているかを判定する(ステップS246)。音声認識結果加工部24は、次に、ステップS246においてステップS243〜ステップS245の処理の対象としていないクライアント側装置が残っていると判定された場合には、xをx+1に置き換える(ステップS247)。ステップS246においてステップS243〜ステップS245の処理の対象としていないクライアント側装置が残っていないと判定された場合には、最後に行ったステップS245で処理済みのクライアント側装置11の音声認識結果の文字列をクライアント側装置11の加工済み音声認識結果の文字列としてIDと組にして出力する(ステップS248)。
次に、図4を参照して、この例における音声認識結果と加工済み音声認識結果の一例を説明する。図4の横軸は時刻であり、矢印の上にある3つは音声認識結果加工部24の入力であるクライアント側装置11〜13それぞれの音声認識結果であり、矢印の下にある1つはクライアント側装置11の加工済み音声認識結果である。クライアント側装置11の音声認識結果には、クライアント側装置11の利用者である第1の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置12の音声認識結果には、クライアント側装置12の利用者である第2の利用者が発した発話である発話3及び発話4の音声認識結果の部分文字列と、クライアント側装置12の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置13の音声認識結果には、クライアント側装置13の利用者である第3の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、クライアント側装置13の周囲でテレビが発した音声であるテレビ音声3及びテレビ音声4の音声認識結果の部分文字列が含まれている。ここで、第1の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、第3の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、はそれぞれ同一であるとする。
なお、図を理解しやすくするために、発話音声例とテレビ音声の文字列の例を図4の音声認識結果の上に併記する。発話例は通常体、テレビ音声例は斜体で表記する。図では、部分文字列は単語毎に書かれているが、実際は1音素等短い部分文字列でもよい。
まず、x=2のときの図3のステップS244とステップS245の処理を説明する。クライアント側装置11の音声認識結果に含まれる部分文字列のうちテレビ音声1及びテレビ音声2の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果にも同時刻で含まれるため、クライアント側装置11の音声認識結果から取り除かれる。クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話1及び発話2の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果には同時刻で含まれないため、クライアント側装置11の音声認識結果から取り除かれない。すなわち、クライアント側装置11の音声認識結果に含まれる部分文字列としては発話1及び発話2の音声認識結果の部分文字列が残された状態となり、x=3のときの処理に進む。
次に、x=3のときの図3のステップS244とステップS245の処理を説明する。クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話1及び発話2の音声認識結果の部分文字列については、クライアント側装置13の音声認識結果に含まれるものの、クライアント側装置13の音声認識結果に同時刻では含まれないため、クライアント側装置11の音声認識結果から取り除かれない。すなわち、クライアント側装置11の音声認識結果に含まれる部分文字列としては発話1及び発話2の音声認識結果の部分文字列が残された状態となる。
x=3のときの図3のステップS244とステップS245の処理を終えると、ステップS246においてステップS243〜ステップS245の処理を完了していないクライアント側装置が残されていないと判定され、ステップS248において、発話1及び発話2の音声認識結果の部分文字列が残された状態である音声認識結果が加工済み音声認識結果として出力される。
クラウド側装置2の検索処理部25は、音声認識結果加工部24が出力した少なくとも1つの加工済み音声認識結果とIDとの組に含まれる加工済み音声認識結果を検索クエリとして用いて、所定の検索データベースや所定の情報検索サイトでの検索を実行し、検索結果を得て、得た検索結果をIDとの組にして検索結果送出部26に対して出力する。上記の例では、音声認識結果加工部24が出力したクライアント装置11の加工済み音声認識結果を検索クエリとして用いて、所定の検索データベースや所定の情報検索サイトでの検索を実行し、加工済み音声認識結果に対応する検索結果を得て、得た検索結果をクライアント装置11のIDと組にして、検索結果送出部26に対して出力する。検索処理は、周知技術であるため、詳細な説明を省略する。
クラウド側装置2の検索結果送出部26は、検索処理部25が出力した検索結果とIDとの組に含まれるIDに対応するクライアント側装置に対し、検索結果を含む伝送信号である第二伝送信号を送出する。上記の例であれば、検索結果を含む伝送信号である第二伝送信号をクライアント側装置11に対して送出する。より正確には、検索結果送出部26は、検索結果を含む伝送信号である第二伝送信号を、クライアント側装置11に伝えるべく、ネットワーク3に対して送出する。
クライアント側装置11の検索結果受信部141は、クラウド側装置2が送出した第二伝送信号を受信して、受信した第二伝送信号から検索結果を取り出して、画面表示部151に対して出力する。すなわち、検索結果受信部141が出力する検索結果は、加工済み音声認識結果に対応する検索結果である。
クライアント側装置11の画面表示部151は、検索結果受信部141が出力した検索結果をクライアント側装置11の画面に表示する。すなわち、画面表示部151が表示する検索結果は、加工済み音声認識結果に対応する検索結果である。
第1実施形態の第1動作例による音声認識システムを用いることによって、課題1の問題を解決することが可能となり、発話者が望む音声認識結果とは異なる音声認識結果が得られる可能性を従来よりも低減し、検索において発話者が望む検索結果とは異なる検索結果が得られる可能性を従来よりも低減することが可能となる。
第1実施形態の第1動作例による音声認識システムを用いることによる効果を、上記の具体ケースで、より詳しく説明する。
クライアント側装置11の周囲でテレビやラジオや案内放送などの環境音が発生している場合には、クライアント側装置12の周囲でもクライアント側装置11の周囲と同じテレビやラジオや案内放送などの環境音が発生している。
この場合、従来技術では、クライアント側装置11の音声認識結果に、第1の利用者の音声の音声認識結果に加えて、テレビやラジオや案内放送などの環境音の音声認識結果が含まれてしまう。クライアント側装置11が得た音響信号に対して雑音抑圧処理を施した上で音声認識処理をする従来技術も存在するが、雑音抑圧処理で抑圧し切れなかった環境音があった場合には、クライアント側装置11の音声認識結果に、抑圧し切れなかった環境音の音声認識結果が含まれてしまう。
クライアント側装置11が取得した音響信号からクライアント側装置12が取得した音響信号を取り除く従来技術も存在する。しかしながら、同一の環境音であっても、クライアント側装置11への伝達特性とクライアント側装置21への伝達特性とは異なるため、クライアント側装置11が取得した音響信号とクライアント側装置12が取得した音響信号とにおいては異なる信号成分として含まれている。このため、クライアント側装置11が取得した音響信号からクライアント側装置12が取得した音響信号を取り除いたところで、クライアント側装置11が取得した音響信号から環境音の全てを取り除くことはできない。したがって、取り除き切れなかった環境音があった場合には、クライアント側装置11の音声認識結果に、取り除き切れなかった環境音の音声認識結果が含まれてしまう。また、クライアント側装置11が取得した音響信号からクライアント側装置12が取得した音響信号を取り除いてしまうと、クライアント側装置11に対して第1の利用者が発した音声に対応する音響信号の成分のうち、クライアント側装置12の音響信号に対応する成分が取り除かれてしまうため、クライアント側装置11に対して第1の利用者が発した音声に対応する音響信号の成分が歪んだ状態となってしまい、クライアント側装置11に対して第1の利用者が発した音声に対する音声認識が正しく行われなくなるという問題が生じる可能性もある。
クライアント側装置11への伝達特性とクライアント側装置21への伝達特性とが異なった場合でも、同一の環境音が比較的大きな音量で存在している場合には、クライアント側装置11が取得した音響信号に対する音声認識結果とクライアント側装置12が取得した音響信号に対する音声認識結果の双方に、テレビやラジオや案内放送などの声音の音声認識結果である部分文字列が同時刻の部分文字列として含まれている。したがって、第1実施形態の第1動作例による音声認識システムによれば、クライアント側装置11が取得した音響信号に対する音声認識結果から、他のクライアント側装置が取得した音響信号に対する音声認識結果に略同一の時刻に含まれる部分文字列を取り除くことで、テレビやラジオや案内放送などの環境音の音声認識結果を取り除くことができる。
一方、クライアント側装置11に対して第1の利用者が発した音声は、クライアント側装置11が取得した音響信号には含まれるものの、クライアント側装置12が取得した音響信号には含まれない。したがって、クライアント側装置11が取得した音響信号に対する音声認識結果から、他のクライアント側装置が取得した音響信号に対する音声認識結果に略同一の時刻に含まれる部分文字列を取り除くことでも、第1の利用者が発した音声の音声認識結果は取り除かれない。
以上のように、第1実施形態の第1動作例による音声認識システムによれば、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を低く抑えながら、発話者が望む音声認識結果とは異なる音声認識結果であるテレビやラジオや案内放送などの環境音の音声認識結果が含まれる可能性を従来よりも低減することができる。
[[第1実施形態の第2動作例]]
第2動作例として、ある1つの処理対象クライアント側装置について、略同一の時刻に予め定めた複数個の他のクライアント側装置に処理対象クライアント側装置と同じ部分文字列(共通する部分文字列)が同時刻にある場合に、処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る例を説明する。第2動作例が第1動作例と異なるのは、クラウド側装置2の音声認識結果加工部24の動作である。以下、第1動作例と異なる部分についてのみ説明する。
クラウド側装置2の音声認識結果加工部24は、音声認識結果保持部23に記憶された少なくとも1つの音声認識結果と時刻情報とIDとの組について、当該音声認識結果の文字列に含まれる部分文字列それぞれについて、他の音声認識結果と時刻情報とIDとの組の中に、部分文字列と時刻との組が一致するものが予め定めた複数個(K個、Kは2以上の整数)あった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。
次に、図5を参照して、この例における音声認識結果と加工済み音声認識結果の一例を説明する。図5の横軸は時刻であり、矢印の上にある3つは音声認識結果加工部24の入力であるクライアント側装置11〜13それぞれの音声認識結果であり、矢印の下にある1つはクライアント側装置11の加工済み音声認識結果である。ここでは、より具体的なケースとして、N=3(クライアント側装置数)及びK=2(同時刻で部分文字列が一致した装置数の許容数)であり、テレビやラジオの音が流れていたり駅やデパートなどの案内放送が不定期に流れたりする場所に第1の利用者がいて、第1の利用者と同じテレビやラジオや案内放送が流れている場所に第2の利用者と第3の利用者がいる場合を例に説明する。
クライアント側装置11の音声認識結果には、クライアント側装置11の利用者である第1の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置12の音声認識結果には、クライアント側装置12の利用者である第2の利用者が発した発話である発話3及び発話4の音声認識結果の部分文字列と、クライアント側装置12の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置13の音声認識結果には、クライアント側装置13の利用者である第3の利用者が発した発話である発話5と発話2の音声認識結果の部分文字列と、クライアント側装置13の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。ここで、第1の利用者が発した発話である発話2の音声認識結果の部分文字列と、第3の利用者が発した発話である発話2の音声認識結果の部分文字列と、は同一であるとする。
クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話1の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果にもクライアント側装置13の音声認識結果にも同時刻で含まれないため、クライアント側装置11の音声認識結果から取り除かれない。クライアント側装置11の音声認識結果に含まれる部分文字列のうちテレビ音声1の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果にもクライアント側装置13の音声認識結果にも同時刻で含まれるため、すなわち、他の2個のクライアント側装置の音声認識結果にも同時刻で含まれるため、一致数はKより大きい3になり、クライアント側装置11の音声認識結果から取り除かれる。クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話2の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果は同時刻で含まれず、クライアント側装置13の音声認識結果には同時刻で含まれるため、すなわち、他の1個のクライアント側装置の音声認識結果にも同時刻で含まれるため、一致数は2となりKを超えないため、クライアント側装置11の音声認識結果から取り除かれない。クライアント側装置11の音声認識結果に含まれる部分文字列のうちテレビ音声2の音声認識結果の部分文字列については、クライアント側装置12の音声認識結果にもクライアント側装置13の音声認識結果にも同時刻で含まれるため、すなわち、他の2個のクライアント側装置の音声認識結果にも同時刻で含まれるため、クライアント側装置11の音声認識結果から取り除かれる。したがって、発話1及び発話2の音声認識結果の部分文字列が残された状態であるクライアント側装置11の音声認識結果が加工済み音声認識結果として出力される。
なお、この処理は、他のクライアント側装置の全てを対象として行ってもよいし、他の一部(ただし、複数個)のクライアント側装置を対象として行ってもよい。この場合、音声認識結果加工部24の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部24の処理に不要な音声認識結果を得るための音声受信部21、音声認識部22及び音声認識結果保持部23の動作は省略してもよい。
第1動作例では、偶然、二人の利用者が同時刻に同一の内容を発話した場合には、利用者が発した音声の音声認識結果は取り除かれてしまう。これに対し、第2動作例では、三人以上(K+1人以上)が同時刻に同一の内容を発話しない限りは、利用者が発した音声の音声認識結果を取り除いてしまうことはない。テレビやラジオや案内放送などの環境音が必ず同時刻に同一の内容であることと比べれば、複数の利用者の発話が同時刻に同一の内容である可能性は極めて低く、それが三人以上となる可能性はさらに低い。したがって、第1実施形態の第2動作例による音声認識システムによれば、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を第1動作例よりも低く抑えながら、発話者が望む音声認識結果とは異なる音声認識結果であるテレビやラジオや案内放送などの環境音の音声認識結果が含まれる可能性を従来よりも低減することができる。
[[第1実施形態の第3動作例]]
第3動作例として、ある1つの処理対象クライアント側装置について、他のクライアント側装置のうち、処理対象クライアント側装置と同じ部分文字列が同時刻に出現することが複数回あるクライアント側装置についてのみを対象として、他のクライアント側装置に処理対象クライアント側装置と同じ部分文字列(共通する部分文字列)が同時刻にある場合に、処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る例を説明する。第3動作例が第1動作例と異なるのは、クラウド側装置2の音声認識結果加工部24の動作である。以下、第1動作例と異なる部分についてのみ説明する。
クラウド側装置2の音声認識結果加工部24は、音声認識結果保持部23に記憶された少なくとも1つの音声認識結果と時刻情報とIDとの組について、他の音声認識結果と時刻情報とIDとの組の中に、部分文字列と時刻との組が一致するものが予め定めた複数個(L個、Lは2以上の整数)あった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。
次に、図6を参照して、この例における音声認識結果と加工済み音声認識結果の一例を説明する。図6の横軸は時刻であり、矢印の上にある3つは音声認識結果加工部24の入力であるクライアント側装置11〜13それぞれの音声認識結果であり、矢印の下にある1つはクライアント側装置11の加工済み音声認識結果である。ここでは、より具体的なケースとして、N=3及びL=2であり、テレビやラジオの音が流れていたり駅やデパートなどの案内放送が不定期に流れたりする場所に第1の利用者がいて、第1の利用者と同じテレビやラジオや案内放送が流れている場所に第2の利用者がいて、第1の利用者とは異なるテレビやラジオや案内放送が流れている場所に第3の利用者がいる場合を例に説明する。
クライアント側装置11の音声認識結果には、クライアント側装置11の利用者である第1の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置12の音声認識結果には、クライアント側装置12の利用者である第2の利用者が発した発話である発話3及び発話4の音声認識結果の部分文字列と、クライアント側装置12の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、クライアント側装置13の音声認識結果には、クライアント側装置13の利用者である第3の利用者が発した発話である発話5と発話2の音声認識結果の部分文字列と、クライアント側装置13の周囲でテレビが発した音声であるテレビ音声3及びテレビ音声4の音声認識結果の部分文字列が含まれている。ここで、第1の利用者が発した発話である発話2の音声認識結果の部分文字列と、第3の利用者が発した発話である発話2の音声認識結果の部分文字列と、は同一であるとする。
クライアント側装置12の音声認識結果には、クライアント側装置11の音声認識結果と同じ部分文字列が同時刻で含まれている部分文字列として、テレビ音声1の音声認識結果の部分文字列と、テレビ音声2の音声認識結果の部分文字列と、の2つの部分文字列がある。クライアント側装置12は、クライアント側装置11と同じ部分文字列が同時刻に出現することが複数回あるクライアント装置であるため、部分文字列の取り除き処理の対象とする。クライアント側装置13の音声認識結果には、クライアント側装置11の音声認識結果と同じ部分文字列が同時刻で含まれている部分文字列として、発話2の音声認識結果の部分文字列がある。クライアント側装置13は、クライアント側装置11と同じ部分文字列が同時刻に出現することが複数回ないクライアント装置であるため、部分文字列の取り除き処理の対象としない。そして、部分文字列の取り除き処理の対象となったクライアント側装置12についてのみ、そのクライアント側装置12の音声認識結果とクライアント側装置11の音声認識結果とで、同じ文字列が同時刻で含まれているものを全て探索して得る。すなわち、テレビ音声1の音声認識結果の部分文字列とテレビ音声2の音声認識結果の部分文字列とを得る。そして、探索された全ての部分文字列、すなわち、テレビ音声1の音声認識結果の部分文字列とテレビ音声2の音声認識結果の部分文字列、をクライアント側装置11の音声認識結果から取り除いたもの、すなわち、発話1及び発話2の音声認識結果の部分文字列が残された状態であるクライアント側装置11の音声認識結果、を加工済み音声認識結果として得る。
なお、この処理は、他のクライアント側装置の全てを対象として行ってもよいし、他の一部のクライアント側装置を対象として行ってもよい。この場合、音声認識結果加工部24の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部24の処理に不要な音声認識結果を得るための音声受信部21、音声認識部22及び音声認識結果保持部23の動作は省略してもよい。
第1動作例では、偶然、二人の利用者が同時刻に同一の内容を発話した場合には、利用者が発した音声の音声認識結果は取り除かれてしまう。これに対し、第3動作例では、二人の利用者が同時刻に同一の内容を発話することを複数回行わない限りは、利用者が発した音声の音声認識結果を取り除いてしまうことはない。テレビやラジオや案内放送などの環境音が必ず同時刻に同一の内容であることと比べれば、二人の利用者の発話が同時刻に同一の内容である可能性は極めて低く、それが複数回となる可能性はさらに低い。したがって、第1実施形態の第3動作例による音声認識システムによれば、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を第1動作例よりも低く抑えながら、発話者が望む音声認識結果とは異なる音声認識結果であるテレビやラジオや案内放送などの環境音の音声認識結果が含まれる可能性を従来よりも低減することができる。
[[第1実施形態の第4動作例]]
第4動作例として、第1動作例の時刻情報に加えて、位置情報も用いる例を説明する。第4動作例が第1動作例と異なるのは、クライアント側装置11〜1Nのユーザ情報取得部121〜12N、クラウド側装置2の音声認識部22、音声認識結果保持部23、音声認識結果加工部24の動作である。以下、第1動作例と異なる部分についてのみ説明する。
クライアント側装置11のユーザ情報取得部121は、クライアント側装置11は音声入力部111が音響信号を取得した時刻情報と位置情報を得て、当該時刻情報と位置情報をユーザ情報として音声送信部131に出力する。位置情報とは、例えば緯度経度などの絶対位置を表す情報であり、クライアント側装置がGPS受信部を内蔵するスマートフォンである場合は、音声入力部111であるマイクが音響信号を取得した際にGPS受信部が測位した緯度経度を位置情報とすればよい。また、Wifi基地局やビーコンによる補助測位機能をもつスマートフォンである場合は、補助測位部が測位した緯度経度を位置情報とすればよい。なお、位置情報は、複数のクライアント側装置それぞれで取得された音響信号が発せられた位置が近傍であるか否かを特定するために音声認識結果加工部24が用いるためものであるため、複数のクライアント側装置間の相対位置関係を表す情報でもよい。例えば、スマートテレビやSTBの場合の、地域コード、郵便番号コード、近傍ビーコンから受信したビーコンコード、あるいは、ジオハッシュIDのような、ある緯度経度のメッシュ状の領域で同一の値を示す地域固有IDを位置情報の相対位置関係を表す情報として用いてもよい。クライアント側装置12〜1Nのユーザ情報取得部122〜12Nも、クライアント側装置11のユーザ情報取得部121と同様に動作する。
クラウド側装置2の音声認識部22は、音声受信部21が出力したそれぞれの音響信号に対して音声認識処理を行い、音響信号に含まれる音声に対応する文字列である音声認識結果を得て、音声認識結果と、当該音声認識結果に対応する時刻情報と、当該音声認識結果に対応する位置情報と、当該音声認識結果に対応するIDとによる組を出力する。音声認識処理やその音声認識結果、音声認識結果に対応する時刻情報、音声認識結果に対応するID、については第1動作例と同様である。音声認識結果と組にする位置情報は、当該音声認識結果に対応する位置情報、すなわち、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれる位置情報である。1つの音声認識結果に対して、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれる位置情報が複数ある場合には、複数の位置情報を代表する1つの位置情報を音声認識結果と組にする。複数の位置情報を代表する1つの位置情報は、音声認識結果に対応する音響信号が発せられた位置を略特定可能とするものであれば何でもよく、例えば、複数の位置情報の何れか1つであってもよいし、複数の位置情報に含まれる緯度の平均値と複数の位置情報に含まれる経度の平均値とを表す位置情報であってもよい。
クラウド側装置2の音声認識結果保持部23は、音声認識部22が出力した音声認識結果と時刻情報と位置情報とIDとの組を記憶する。音声認識結果保持部23の記憶内容は、音声認識結果加工部24が時刻と位置が共通する単語などの部分文字列があるか否かを判定する処理、及び、時刻と位置が共通する単語などの部分文字列があった際に音声認識結果から取り除いて加工済み音声認識結果を得る処理、に用いられる。したがって、音声認識結果保持部23に保持した記憶内容は、当該記憶内容を用いる音声認識結果加工部24の処理が終わり一定時間経過した時点で削除してよい。これは、クライアント側装置の内部処理の所要時間や、クラウド側装置へのデータ送信にかかる時間や誤差、各部分文字列の持つ時間的長さ等を考慮して、例えば、十数秒である。
クラウド側装置2の音声認識結果加工部24は、音声認識結果保持部23に記憶された少なくとも1つのID付き音声認識結果と時刻情報と位置情報とIDとの組について、当該音声認識結果の文字列中の部分文字列と時刻と位置との組それぞれについて、他の音声認識結果と時刻情報と位置情報とIDとの組の中に、部分文字列と時刻と位置との組が一致するものがあった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。したがって、少なくとも1つのあるクライアント側装置についての加工済み音声認識結果が出力されることになる。なお、位置が一致するか否かの判定については、クライアント側装置が厳密に同一位置にあるかどうかを判定するのではなく、クライアント側装置が同一のテレビやラジオなどの音や案内放送などの環境音を音響信号として取得する可能性がある位置にあるかどうかを判定するので、予め定めた距離の範囲内にあるかなどにより、近傍にあるか否かを位置が一致するか否かの判定として用いる。すなわち、少なくともある1つのクライアント側装置については、略同一の時刻に近傍位置にある他のクライアント側装置に当該クライアント側装置と同じ部分文字列(共通する部分文字列)がある場合には、当該クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る。
なお、この処理は、他のクライアント側装置の全てを対象として行ってもよいし、他のクライアント側装置の少なくとも1つを対象として行ってもよい。この場合、音声認識結果加工部24の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部24の処理に不要な音声認識結果を得るための音声受信部21、音声認識部22及び音声認識結果保持部23の動作は省略してもよい。
なお、上記のクラウド側装置2の音声認識結果決定部26の処理フローは図7の通りである。図7の処理フローが図3の処理フローと異なる点は、図3のステップS241に代えてステップS241Aを行い、図3のステップS243に代えてステップS243Aを行い、図3のステップS244に代えてステップS244Aを行い、図3のステップS245に代えてステップS245Aを行う点である。
音声認識結果加工部24は、まず、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組を音声認識結果保持部23から読み出す(ステップS241A)。音声認識結果加工部24は、次に、初期値xを2に設定する(ステップS242)。音声認識結果加工部24は、次に、クライアント側装置1xの音声認識結果と時刻情報と位置情報とIDとの組を音声認識結果保持部23から読み出す(ステップS243A)。音声認識結果加工部24は、次に、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組とクライアント側装置1xの音声認識結果と時刻情報と位置情報とIDとの組とにおいて、部分文字列とそのおよその時刻(例えば数秒)と位置が一致するものがあるか否かを探索する(ステップS244A)。音声認識結果加工部24は、次に、ステップS244Aにおいて部分文字列とその時刻と位置が一致するものがあった場合には、部分文字列とその時刻と位置が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS245A)。ステップS244Aにおいて部分文字列とその時刻と位置が一致するものがなかった場合には、ステップS246に進む。音声認識結果加工部24は、次に、ステップS243、ステップS244A、ステップS245Aの処理の対象としていないクライアント側装置が残っているかを判定する(ステップS246)。音声認識結果加工部24は、次に、ステップS246においてステップS243、ステップS244A、ステップS245Aの処理の対象としていないクライアント側装置が残っていると判定された場合には、xをx+1に置き換える(ステップS247)。ステップS246においてステップS243、ステップS244A、ステップS245Aの処理の対象としていないクライアント側装置が残っていないと判定された場合には、最後に行ったステップS245Aで処理済みのクライアント側装置11の音声認識結果の文字列をクライアント側装置11の加工済み音声認識結果の文字列としてIDと組にして出力する(ステップS248)。
なお、図7のステップS244Aに代えて図8の(1)記載のステップS244A11とステップS244A12を行ってもよい。図7のステップS244Aに代えて図8の(1)記載のステップS244A11とステップS244A12を行えば、ステップS244A2の部分文字列と時刻の組が一致する場合にのみ、クライアント側装置12〜1Nのそれぞれがクライアント側装置11の近傍にあるかの探索を行えばよくなるので、一致する部分文字列が少ない場合に、演算処理量を少なくすることができる。
また、図7のステップS244Aに代えて図8の(2)記載のステップS244A21とステップS244A22を行ってもよい。図7のステップS244Aに代えて図8の(2)記載のステップS244A21とステップS244A22を行えば、クライアント側装置12〜1Nのそれぞれがクライアント側装置11の近傍にある場合にのみステップS244A2の部分文字列と時刻の組が一致するかの探索を行えばよくなるので、近傍にあるクライアント装置が少ない場合に、演算処理量を少なくすることができる。
第1実施形態の第4動作例による音声認識システムを用いることによって、課題2の問題を解決することが可能となり、発話者が望む音声認識結果とは異なる音声認識結果が得られる可能性を従来よりも低減し、検索において発話者が望む検索結果とは異なる検索結果が得られる可能性を従来よりも低減することが可能となる。
[[第1実施形態の第5動作例]]
第4動作例についても、第1動作例から第2動作例への動作の変更と同様の変更をすることができる。これを第5動作例として説明する。すなわち、第5動作例は、ある1つの処理対象クライアント側装置について、略同一の時刻に近傍位置にある予め定めた複数個の他のクライアント側装置に処理対象クライアント側装置と同じ部分文字列(共通する部分文字列)がある場合に、処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る例である。第5動作例が第4動作例と異なるのは、クラウド側装置2の音声認識結果加工部24の動作である。以下、第4動作例と異なる部分についてのみ説明する。
クラウド側装置2の音声認識結果加工部24は、音声認識結果保持部23に記憶された少なくとも1つの音声認識結果と時刻情報と位置情報とIDとの組について、当該音声認識結果の文字列に含まれる部分文字列それぞれについて、他の音声認識結果と時刻情報と位置情報とIDとの組の中に、部分文字列と時刻との組が一致するものが予め定めた複数個(K個、Kは2以上の整数)あった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。
第4動作例では、偶然、二人の利用者が同時刻に近傍位置で同一の内容を発話した場合には、利用者が発した音声の音声認識結果は取り除かれてしまう。これに対し、第5動作例では、三人以上(K+1人以上)の同時刻に近傍位置で同一の内容を発話しない限りは、利用者が発した音声の音声認識結果を取り除いてしまうことはない。テレビやラジオや案内放送などの環境音が必ず同時刻に同一の内容であることと比べれば、複数の利用者の発話が同時刻に近傍位置で同一の内容である可能性は極めて低く、それが三人以上となる可能性はさらに低い。したがって、第1実施形態の第5動作例による音声認識システムによれば、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を第2動作例よりも低く抑えながら、発話者が望む音声認識結果とは異なる音声認識結果であるテレビやラジオや案内放送などの環境音の音声認識結果が含まれる可能性を従来よりも低減することができる。
[[第1実施形態の第6動作例]]
位置情報を用いない第1〜第3の動作例と、位置情報を用いる第4〜第5の動作例と、を組み合わせて動作させてもよく、その一例を第6動作例として説明する。第6動作例は、ある1つの処理対象クライアント側装置について、位置情報から処理対象クライアント側装置と近傍位置にあると判断されたクライアント側装置と、処理対象クライアント側装置と近傍位置にあるとは判断されないものの、音声認識結果の文字列中の複数個の部分文字列について、処理対象クライアント側装置の音声認識結果の文字列と同じ部分文字列が同時刻で出現するクライアント側装置と、について、処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る例である。第6動作例が第4動作例と異なるのは、クラウド側装置2の音声認識結果加工部24の動作である。以下、第4動作例と異なる音声認識結果加工部24の動作について、その処理フローである図9を用いて説明する。
音声認識結果加工部24は、まず、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組を音声認識結果保持部23から読み出す(ステップS241)。音声認識結果加工部24は、次に、初期値xを2に設定する(ステップS242)。音声認識結果加工部24は、次に、クライアント側装置1xの音声認識結果と時刻情報と位置情報とIDとの組を音声認識結果保持部23から読み出す(ステップS243)。音声認識結果加工部24は、次に、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組とクライアント側装置1xの音声認識結果と時刻情報と位置情報とIDとの組とにおいて、部分文字列とその時刻が一致するものが複数個あるか否かを探索する(ステップS244B1)。音声認識結果加工部24は、次に、ステップS244B1において部分文字列とその時刻が一致するものが複数個あった場合には、部分文字列とその時刻が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS245B1)。ステップS244B1において部分文字列とその時刻が一致するものが複数個なかった場合、すなわち、部分文字列とその時刻が一致するものが1個であった場合と部分文字列とその時刻が一致するものがなかった場合には、ステップS244B2に進む。音声認識結果加工部24は、次に、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組とクライアント側装置1xの音声認識結果と時刻情報と位置情報とIDとの組とにおいて、部分文字列とその時刻と位置が一致するものがあるか否かを探索する(ステップS244B2)。音声認識結果加工部24は、次に、ステップS244B2において部分文字列とその時刻と位置が一致するものがあった場合には、部分文字列とその時刻と位置が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS245B2)。ステップS244B2において部分文字列とその時刻と位置が一致するものがなかった場合には、ステップS246に進む。音声認識結果加工部24は、次に、ステップS243、ステップ244B1、ステップ244B2、ステップ245B1、ステップ245B2の何れでも処理の対象としていないクライアント側装置が残っているかを判定する(ステップS246)。音声認識結果加工部24は、次に、ステップS246においてステップS243、ステップ244B1、ステップ244B2、ステップ245B1、ステップ245B2の何れでも処理の対象としていないクライアント側装置が残っていると判定された場合には、xをx+1に置き換える(ステップS247)。ステップS246においてステップS243、ステップ244B1、ステップ244B2、ステップ245B1、ステップ245B2の何れでも処理の対象としていないクライアント側装置が残っていないと判定された場合には、最後に行ったステップS245B1またはS245B2で処理済みのクライアント側装置11の音声認識結果の文字列をクライアント側装置11の加工済み音声認識結果の文字列としてIDと組にして出力する(ステップS248)。
第1実施形態の第6動作例による音声認識システムを用いることによって、複数のクライアント側装置が近傍位置にはないものの同じテレビやラジオが流れている場合と、複数のクライアント側装置が近傍位置あって同じテレビやラジオが流れている場合と、の双方の場合の環境音の音声認識結果の文字列を取り除くことが可能となり、発話者が望む音声認識結果とは異なる音声認識結果が得られる可能性を従来よりも低減し、検索において発話者が望む検索結果とは異なる検索結果が得られる可能性を従来よりも低減することが可能となる。
<第2実施形態>
次に、本発明の第2実施形態として、クライアント側装置に入力された発話者の音声を含む音響信号の音声認識結果から、公共放送の音響信号の音声認識結果と共通する部分を取り除く形態について説明する。図10は、第2実施形態における音声認識システムの構成を示すブロック図である。図10の構成要素のうち図1と同じ構成については同じ符号を付してある。符号100は音声認識システムであり、符号11〜1Nは1個以上(N個、Nは1以上の整数)のクライアント側装置であり、符号2はクラウド側装置である。符号51〜5Mは1局以上(M局、Mは1以上の整数)の公共放送局である。クライアント側装置11〜1Nは、利用者が利用する装置であり、例えば、第1実施形態の説明において例示したものである。公共放送局51〜5Mは音声認識システム100外に存在するものである。クラウド側装置2は、ネットワーク3を介してクライアント側装置11〜1Nと接続される。ネットワーク3は、音声認識システム100のクライアント側装置11〜1Nとクラウド側装置2をインターネットの接続プロトコルに従って情報の送受信をできるようにするためのものであり、例えばインターネットである。クライアント側装置11〜1Nとクラウド側装置2はインターネットの接続プロトコルに従って情報の送受信をできるようにされる。
クラウド側装置2は、ネットワーク4を介して公共放送局51〜5Mと接続される。ネットワーク4は、音声認識システム100のクラウド側装置2と公共放送局51〜5M、をインターネットの接続プロトコルや、映像中継用の専用プロトコルに従って情報の送受信をできるようにするためのものであり、例えば閉域型の専用線インターネットである。
図10の構成では、公共放送局51〜5Mとクラウド側装置2とはネットワーク4を介してインターネットの接続プロトコルに従って接続され、クラウド側装置2が公共放送局51〜5Mの公共放送信号を受信できるようにされる。ただし、クラウド側装置2が図示しない受信機を備えていて、ネットワーク4を介さずに公共放送信号を受信できるようにしてもよい。また、例えば、東京、大阪、名古屋、福山等、各地域によって放送される公共放送の番組構成や放送時刻が変わるため、音響信号も地域により異なることになる。クラウド側装置2を全国各地に多数設置するのはコストがかかるため、公共放送信号の受信機を全国各地に設置し、処理した信号や認識結果をネットワーク3、及びネットワーク4経由でクラウド側装置2に送る構成としてもよい。
公共放送局51〜5Mは、例えば、クライアント側装置が位置する可能性のある地域の全てのまたは主要な公共放送局であり、例えば、クライアント側装置を利用する利用者の居住地域や移動範囲を含む地域において放送されている衛星、地上、主要IP型同報放送/ストリーミング/CATV/有線放送などである。クラウド側装置2は、所望の公共放送局を全て受信できるように、ネットワーク3やネットワーク4や受信設備や受信装置などの必要な設備と接続しておく。
クライアント側装置11〜1Nが最低限含む構成は全て同じであるため、以下では、第2実施形態の音声認識システム100のうちのクライアント側装置11とクラウド側装置2により構成される部分について詳細化したブロック図である図11を用いて説明を行う。図11の構成要素のうち図2と同じ符号を付してある構成要素は、図2と同じ動作を行うものである。
クライアント側装置11は、音声入力部111、ユーザ情報取得部121、音声送出部131、検索結果受信部141、画面表示部151を少なくとも含んで構成される。
クラウド側装置2は、音声受信部21、音声認識部22、放送受信部41、放送音声認識部42、音声認識結果保持部43、音声認識結果加工部44、検索処理部25、検索結果送出部26を少なくとも含んで構成される。クラウド側装置2の音声受信部21、音声認識部22、検索処理部25及び検索結果送出部26は、第1実施形態のクラウド側装置2の音声受信部21、音声認識部22、検索処理部25及び検索結果送出部26と、それぞれ同一の動作をする。
次に、第2実施形態の音声認識システムの動作を説明する。
[[第2実施形態の第1動作例]]
第1動作例として、第1〜Nの利用者のそれぞれがクライアント側装置11〜1Nを利用していて、第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話し、当該発話に対応する検索結果をクライアント側装置11の画面表示部151に表示する場合の動作の例を説明する。ここでは、より具体的なケースとして、2つの公共放送局51〜52の放送を受信できる地域内にある公共放送局51の放送のみが流れている場所に第1の利用者がいる場合を例に説明する。
クライアント側装置11の音声入力部111は、クライアント側装置11の周囲で発せられた音響信号を取得し、取得した音響信号を音声送信部131に出力する。第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話した場合には、第1の利用者が発話した音声を含む音響信号を取得して出力する。クライアント側装置11の周囲でテレビやラジオや案内放送などの環境音が発生している場合には、その環境音を含む音響信号を取得して出力する。したがって、上記の具体ケースであれば、第1の利用者が発話した音声と、公共放送局51の放送の音と、により構成される音響信号を取得して出力する。
クライアント側装置11のユーザ情報取得部121は、クライアント側装置11の音声入力部111が音響信号を取得した時刻情報を得て、当該時刻情報とクライアント側装置11を特定可能な識別情報(以下、「ID」と呼ぶ)とをユーザ情報として音声送信部131に出力する。時刻情報とは、例えば絶対時刻であり、例えばクライアント側装置11がGPS受信部を内蔵するスマートフォンである場合は、音声入力部111であるスマートフォンのマイクが音響信号を取得した際にGPS受信部が受信した絶対時刻を時刻情報とすればよい。また、たとえば、携帯網の基地局や通信サーバからもらった時刻情報でもよいし、OSが保持するローカル時計の時刻情報でもよい。
クライアント側装置11の音声送出部131は、音声入力部111が出力した音響信号とユーザ情報取得部121が出力したユーザ情報とを含む伝送信号をクラウド側装置2に対して送出する。より正確には、音声送出部131は、音声入力部111が出力した音響信号とユーザ情報取得部121が出力したユーザ情報とを含む伝送信号を、クラウド側装置2に伝えるべく、ネットワーク3に対して送出する。伝送信号の送出は、例えば、10msなどの所定時間区間ごとに行われる。また、音声送出部131は、音響信号を所定の符号化方法により符号化して符号列を得て、得られた符号列とユーザ情報とを含む伝送信号を送出してもよい。また、音声送出部131は、音響信号に対して音声認識処理の一部の処理である特徴量抽出などを行い、その処理により得られた特徴量とユーザ情報とを含む伝送信号を送出してもよい。ネットワークを介して別装置に伝送信号を送出する技術や音声認識処理をクライアント側装置とクラウド側装置で分散して行う技術には、多くの公知技術や周知技術が存在しているため、詳細な説明を省略する。
クライアント側装置12〜1Nの音声入力部112〜11N、ユーザ情報取得部122〜12N及び音声送出部132〜13Nも、それぞれ、クライアント側装置11の音声入力部111、ユーザ情報取得部121及び音声送出部131と同じ動作をする。なお、第2〜Nの何れかの利用者の発話に対応する検索結果を得る必要が無い場合には、検索結果を得る必要が無い利用者のクライアント側装置は備えないでよいし、検索結果を得る必要が無い利用者のクライアント側装置を備えていたとしても当該クライアント側装置の音声入力部、ユーザ情報取得部及び音声送出部は動作させないでよい。
クラウド側装置2の音声受信部21は、クライアント側装置11〜1Nの音声送出部131〜13Nがそれぞれ送出した伝送信号を受信して、受信したそれぞれの伝送信号から音響信号とユーザ情報との組を取り出して出力する。伝送信号の受信は、例えば、10msなどの所定時間区間ごとに行われる。音声送出部131〜13Nが音響信号を所定の符号化方法により符号化して符号列を得て、得られた符号列を送出した場合には、クラウド側装置2の音声受信部21は、受信した伝送信号に含まれる符号列を所定の符号化方法に対応する復号方法により復号することで音響信号を得て、得られた音響信号とユーザ情報との組を出力すればよい。また、音声送出部131〜13Nが音響信号に対して音声認識処理の一部の処理である特徴量抽出などを行い、その処理により得られた特徴量とユーザ情報とを含む伝送信号を送出した場合には、伝送信号から音響信号ではなく特徴量を取り出し、取り出した特徴量とユーザ情報との組を出力すればよい。なお、第2〜Nの何れかの利用者の発話に対応する検索結果を得る必要が無い場合には、検索結果を得る必要が無い利用者の音響信号は受信しないでよいし、検索結果を得る必要が無い利用者の音響信号は受信したとしても当該音響信号とユーザ情報との組の出力は行わないでよい。また、第2〜Nの全ての利用者の発話に対応する検索結果を得る必要が無く、第1の利用者以外の音響信号とユーザ情報との組を出力しない場合には、クライアント側装置11のユーザ情報にIDを含めずに出力してもよい。
クラウド側装置2の音声認識部22は、音声受信部21が出力したそれぞれの音響信号に対して音声認識処理を行い、音響信号に含まれる音声に対応する文字列である音声認識結果を得て、音声認識結果と、当該音声認識結果に対応する時刻情報と、当該音声認識結果に対応するIDとによる組を出力する。なお、時刻情報がなかったり、不適切な値だった場合、受け取った時刻情報を用いず、サーバがデータを受け取ったおよその時刻情報で管理する処理をしてもよい。なお、第1の利用者以外についての出力をしない場合には、クライアント側装置11のIDを含めずに、音声認識結果と、当該音声認識結果に対応する時刻情報とによる組を出力してもよい。
音声認識処理は、音響信号の所定の纏まりごとに行われる。例えば、音声認識部22は、音声受信部21が出力した音響信号を音声認識部22内の図示しない記憶部に順次記憶し、記憶した音響信号に対して発話区間検出を行うことで発話区間ごとの音響信号の纏まりを得て、発話区間ごとの音響信号の纏まりに対して音声認識処理を行って、発話区間ごとの音響信号の纏まりに対する文字列である音声認識結果を得る。また、例えば、音声認識部22は、複数の発話区間の音響信号の纏まりに対して音声認識処理を行って、複数の発話区間の音響信号の纏まりに対する文字列である音声認識結果を得てもよい。
したがって、上記の具体ケースであれば、音声認識部22は、クライアント側装置11の音響信号に対する音声認識結果としては、第1の利用者が発話した音声と公共放送局51の放送の音に含まれる音声との音声認識結果とから成る文字列を得て出力する。
なお、第1実施形態と同様に、音声認識処理には公知の音声認識技術を用いればよい。音声受信部21が音響信号に代えて特徴量を出力した場合には、音声認識部22はその特徴量を用いて音声認識処理を行えばよい。
音声認識処理は音響信号の所定の纏まりごとに行われるため、音声認識結果の文字列は所定の纏まりの音響信号に対応するものである。そこで、音声認識部22は、例えば、音声認識処理の対象にした所定の纏まりの音響信号に対応する複数のユーザ情報に含まれる時刻情報から代表時刻を求め、当該代表時刻を表す時刻情報を当該音声認識結果と組にする。代表時刻は、音声認識結果の文字列に対応する音響信号が発せられた時刻を代表するものであればよい。例えば、音声認識結果の文字列が発せられた始端の時刻を代表時刻とすればよい。また、代表時刻は1つの音声認識結果に複数あってもよい。例えば、音声認識結果に含まれる単語などの部分文字列ごとに、その単語などが発せられた始端の時刻を代表時刻としてもよい。
音声認識結果と組にするIDは、当該音声認識結果に対応するID、すなわち、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれるIDである。
クラウド側装置2の放送受信部41は、公共放送局51〜5Mがそれぞれ送出した公共放送信号を受信して、受信したそれぞれの公共放送信号から音響信号と当該音響信号に対応する時刻情報との組を取り出して出力する。その際、公共放送局を特定可能な識別情報(以下、「放送局ID」と呼ぶ)も音響信号と時刻情報と組にして出力してもよい。公共放送信号の受信は、例えば、10msなどの所定時間区間ごとに行われる。公共放送局51〜5Nが音響信号を所定の符号化方法により符号化して符号列を得て、得られた符号列を送出した場合には、クラウド側装置2の放送受信部41は、受信した公共放送信号に含まれる符号列を所定の符号化方法に対応する復号方法により復号することで音響信号を得て、得られた音響信号と当該音響信号に対応する時刻情報との組を出力すればよい。なお、放送受信部41に図示しない時計を備えて絶対時刻を出力可能なようにしておき、公共放送信号がアナログ放送であって公共放送信号から時刻情報を取り出せない場合などには、放送受信部41に備えた時計から得た絶対時刻を公共放送信号から音響信号と組にして出力してもよい。なお、放送受信部41に関しては、例えば、東京、大阪、名古屋、福山等、各地域によって放送される公共放送の音響信号群が変わるため、放送受信部41をクラウド側装置2とは異なる地方において、ネットワーク経由で放送音声認識部42と接続する構成でもよい。また、公共放送局から、ネットワーク経由で直接信号を得られる場合は、それで得られる公共放送の音響信号を直接入力に用いても良い。
クラウド側装置2の放送音声認識部42は、放送受信部41が出力したそれぞれの音響信号に対して音声認識処理を行い、音響信号に含まれる音声に対応する文字列である音声認識結果を得て、音声認識結果と、当該音声認識結果に対応する時刻情報とによる組を出力する。その際、放送局IDも音響信号と時刻情報と組にして出力してもよい。なお、放送受信部41と放送音声認識部42を、クラウド側装置2とは異なる地方において、その出力をネットワーク経由で装置43と接続する構成でもよい。
なお、音響信号の所定の纏まりごとに音声認識処理を行い、得られた音声認識結果の文字列に時刻情報やIDを付与する方法や、音声認識処理に用いる音声認識技術等については、音声認識部22と同様であるので、詳細な説明を省略する。
クラウド側装置2の音声認識結果保持部43は、音声認識部22が出力した音声認識結果と時刻情報とIDとの組と、放送音声認識部42が出力した音声認識結果と時刻情報との組と、を記憶する。放送音声認識部42が音声認識結果と時刻情報と放送局IDとの組を出力した場合には、放送音声認識部42が出力した音声認識結果と時刻情報との組に代えて、音声認識結果と時刻情報と放送局IDとの組を記憶する。音声認識結果保持部43の記憶内容は、音声認識結果加工部44が時刻が共通する単語などの部分文字列があるか否かを判定する処理、及び、時刻が共通する単語などの部分文字列があった際に音声認識結果から取り除いて加工済み音声認識結果を得る処理、に用いられる。したがって、音声認識結果保持部43には、音声認識部22が出力した音声認識結果と時刻情報とIDとの組と放送音声認識部42が出力した音声認識結果と時刻情報と放送局IDとの組とを音声認識結果加工部44の処理が必要とする時間分だけ記憶しておく。また、音声認識結果保持部43に保持した記憶内容は、当該記憶内容を用いる音声認識結果加工部44の処理が終わった時点で削除してよい。
クラウド側装置2の音声認識結果加工部44は、音声認識結果保持部43に記憶された少なくとも1つのクライアント側装置の音声認識結果と時刻情報とIDとの組について、音声認識結果保持部43に記憶された各公共放送の音声認識結果と時刻情報との組の中に、部分文字列と時刻との組が一致するものがあった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。したがって、少なくともある1つのクライアント側装置についての加工済み音声認識結果が出力されることになる。なお、時刻が一致するか否かの判定については、クライアント側装置と公共放送局またはクラウド側装置とにおける絶対時刻の誤差や音声認識処理における時刻の誤差などを考慮して同じ時刻であると判定してもよい。すなわち、少なくともある1つのクライアント側装置については、略同一の時刻に何れかの公共放送に当該クライアント側装置と同じ部分文字列(共通する部分文字列)がある場合には、当該クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る。
なお、この処理は、クライアント側装置が位置する可能性のある地域の公共放送局の全てを対象として行ってもよいし、少なくとも1つの公共放送を対象として行ってもよい。この場合、音声認識結果加工部44の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部44の処理に不要な音声認識結果を得るための放送受信部41、放送音声認識部42及び音声認識結果保持部43の動作は省略してもよい。
ここで、上記のM=2の例で、少なくともある1つのクライアント側装置がクライアント側装置11である例について図12と図13を用いて説明する。図12はこの動作例における音声認識結果加工部44の処理フローを説明する図であり、図13はこの例における音声認識結果と加工済み音声認識結果の一例を説明する図である。図12の例は、全ての公共放送局の音声認識結果を対象として、公共放送局51の音声認識結果から順に、クライアント側装置11の音声認識結果と部分文字列と時刻との組が一致するものがあるか否かを探索し、部分文字列と時刻との組が一致するものがあった場合には、部分文字列と時刻との組が一致する部分文字列をクライアント側装置11の音声認識結果の文字列から当該共通部分文字列を取り除いていく例である。
音声認識結果加工部44は、まず、クライアント側装置11の音声認識結果と時刻情報とIDとの組を音声認識結果保持部43から読み出す(ステップS441)。音声認識結果加工部44は、次に、初期値yを1に設定する(ステップS442)。音声認識結果加工部44は、次に、公共放送局5yの音声認識結果と時刻情報の組を音声認識結果保持部43から読み出す(ステップS443)。音声認識結果加工部44は、次に、クライアント側装置11の音声認識結果と時刻情報とIDとの組と公共放送局5yの音声認識結果と時刻情報との組とにおいて、部分文字列とその時刻が一致するものがあるか否かを探索する(ステップS444)。音声認識結果加工部44は、次に、ステップS444において部分文字列とその時刻が一致するものがあった場合には、部分文字列とその時刻が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS445)。ステップS444において部分文字列とその時刻が一致するものがなかった場合には、ステップS446に進む。音声認識結果加工部44は、次に、ステップS443〜ステップS445の処理の対象としていない公共放送局が残っているかを判定する(ステップS446)。音声認識結果加工部44は、次に、ステップS446においてステップS443〜ステップS445の処理の対象としていない公共放送局が残っていると判定された場合には、yをy+1に置き換える(ステップS447)。ステップS446においてステップS443〜ステップS445の処理の対象としていない公共放送局が残っていないと判定された場合には、最後に行ったステップS445で処理済みのクライアント側装置11の音声認識結果の文字列をクライアント側装置11の加工済み音声認識結果の文字列としてIDと組にして出力する(ステップS448)。
次に、図13を参照して、この例における音声認識結果と加工済み音声認識結果の一例を説明する。図13の横軸は時刻であり、矢印の上にある3つは音声認識結果加工部44の入力であるクライアント側装置11と公共放送局51と公共放送局52のそれぞれの音声認識結果であり、矢印の下にある1つはクライアント側装置11の加工済み音声認識結果である。クライアント側装置11の音声認識結果には、クライアント側装置11の利用者である第1の利用者が発した発話である発話1及び発話2の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、公共放送局51の音声認識結果には、公共放送局51が放送した音響信号に含まれる音声であるテレビ音声1及びテレビ音声2の音声認識結果の部分文字列が含まれている。また、公共放送局52の音声認識結果には、公共放送局52が放送した音響信号に含まれる音声であるテレビ音声3及びテレビ音声4の音声認識結果の部分文字列が含まれている。
まず、y=1のときの図12のステップS444とステップS445の処理を説明する。クライアント側装置11の音声認識結果に含まれる部分文字列のうちテレビ音声1及びテレビ音声2の音声認識結果の部分文字列については、公共放送局51の音声認識結果にも同時刻で含まれるため、クライアント側装置11の音声認識結果から取り除かれる。クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話1及び発話2の音声認識結果の部分文字列については、公共放送局51の音声認識結果には同時刻で含まれないため、クライアント側装置11の音声認識結果から取り除かれない。すなわち、クライアント側装置11の音声認識結果に含まれる部分文字列としては発話1及び発話2の音声認識結果の部分文字列が残された状態となり、y=2のときの処理に進む。
次に、y=2のときの図12のステップS444とステップS445の処理を説明する。クライアント側装置11の音声認識結果に含まれる部分文字列のうち発話1及び発話2の音声認識結果の部分文字列については、公共放送局52の音声認識結果には同時刻で含まれないため、クライアント側装置11の音声認識結果から取り除かれない。すなわち、クライアント側装置11の音声認識結果に含まれる部分文字列としては発話1及び発話2の音声認識結果の部分文字列が残された状態となる。
y=2のときの図12のステップS444とステップS445の処理を終えると、ステップS446においてステップS443〜ステップS445の処理を完了していない公共放送局が残されていないと判定され、ステップS448において、発話1及び発話2の音声認識結果の部分文字列が残された状態である音声認識結果が加工済み音声認識結果として出力される。
第2実施形態の第1動作例による音声認識システムを用いることによって、課題1の問題を解決することが可能となり、発話者が望む音声認識結果とは異なる音声認識結果が得られる可能性を従来よりも低減し、検索において発話者が望む検索結果とは異なる検索結果が得られる可能性を従来よりも低減することが可能となる。
[[第2実施形態の第2動作例]]
第2動作例として、ある1つの処理対象クライアント側装置について、公共放送局のうち、処理対象クライアント側装置と同じ部分文字列が同時刻に出現することが複数回ある公共放送局のみを対象として、公共放送局に処理対象クライアント側装置と同じ部分文字列(共通する部分文字列)が同時刻にある場合に、処理対象クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る例を説明する。第2動作例が第1動作例と異なるのは、クラウド側装置2の音声認識結果加工部44の動作である。以下、第1動作例と異なる部分についてのみ説明する。
クラウド側装置2の音声認識結果加工部44は、音声認識結果保持部43に記憶された少なくとも1つのクライアント側装置の音声認識結果と時刻情報とIDとの組について、音声認識結果保持部43に記憶された公共放送の音声認識結果と時刻情報との組の中に、部分文字列と時刻との組が一致するものが複数個ある公共放送についてのみを対象として、クライアント側装置の音声認識結果の文字列から、部分文字列と時刻との組が当該公共放送の音声認識結果と一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。なお、第1動作例と同様に、時刻が一致するか否かの判定については、クライアント側装置と公共放送局またはクラウド側装置とにおける絶対時刻の誤差や音声認識処理における時刻の誤差などを考慮して同じ時刻であると判定してもよい。すなわち、第2動作例では、少なくともある1つのクライアント側装置については、略同一の時刻に何れかの公共放送に当該クライアント側装置と同じ部分文字列(共通する部分文字列)が複数個ある場合には、当該クライアント側装置の音声認識結果の文字列から共通する部分文字列が複数個ある公共放送についての共通する部分文字列を取り除いたものを加工済み音声認識結果として得る。
第1動作例では、利用者の周囲に環境音として存在していないテレビやラジオの同時刻に同一の内容を利用者が偶然発話した場合には、利用者が発した音声の音声認識結果は取り除かれてしまう。これに対し、第2動作例では、利用者の周囲に環境音として存在していないテレビやラジオの同時刻に同一の内容を利用者が複数回発話しない限りは、利用者が発した音声の音声認識結果を取り除いてしまうことはない。利用者の周囲に環境音として存在していないテレビやラジオの同時刻に同一の内容を利用者が偶然発話する可能性は極めて低く、それが複数回となる可能性はさらに低い。したがって、第2実施形態の第2動作例による音声認識システムによれば、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を第1動作例よりも低く抑えながら、発話者が望む音声認識結果とは異なる音声認識結果であるテレビやラジオや案内放送などの環境音の音声認識結果が含まれる可能性を従来よりも低減することができる。
[[第2実施形態の第3動作例]]
第3動作例として、第1動作例の時刻情報に加えて、位置情報も用いる例を説明する。第3動作例が第1動作例と異なるのは、クライアント側装置11〜1Nのユーザ情報取得部121〜12N、クラウド側装置2の音声認識部22、放送受信部41、放送音声認識部42、音声認識結果保持部43、音声認識結果加工部44の動作である。以下、第1動作例と異なる部分についてのみ説明する。
第3動作例のクライアント側装置11のユーザ情報取得部121は、クライアント側装置11は音声入力部111が音響信号を取得した時刻情報と位置情報を得て、当該時刻情報と位置情報をユーザ情報として音声送信部131に出力する。位置情報は、例えば緯度経度などの絶対位置を表す情報であり、クライアント側装置がGPS受信部を内蔵するスマートフォンである場合は、音声入力部111であるマイクが音響信号を取得した際にGPS受信部が測位した緯度経度を位置情報とすればよい。Wifi基地局やビーコンによる補助測位機能をもつスマートフォンである場合は、補助測位部が測位した緯度経度を位置情報とすればよい。なお、位置情報は、複数のクライアント側装置間の相対位置関係を表す情報でもよい。例えば、スマートテレビやSTBの場合の、地域コード、郵便番号コード、近傍ビーコンから受信したビーコンコード、あるいは、ジオハッシュIDのような、ある緯度経度のメッシュ状の領域で同一の値を示す地域固有IDを位置情報の相対位置関係を表す情報として用いてもよい。クライアント側装置12〜1Nのユーザ情報取得部122〜12Nも、クライアント側装置11のユーザ情報取得部121と同様に動作する。
第3動作例のクラウド側装置2の音声認識部22は、音声受信部21が出力したそれぞれの音響信号に対して音声認識処理を行い、音響信号に含まれる音声に対応する文字列である音声認識結果を得て、音声認識結果と、当該音声認識結果に対応する時刻情報と、当該音声認識結果に対応する位置情報と、当該音声認識結果に対応するIDとによる組を出力する。音声認識処理やその音声認識結果、音声認識結果に対応する時刻情報、音声認識結果に対応するID、については第1動作例と同様である。音声認識結果と組にする位置情報は、当該音声認識結果に対応する位置情報、すなわち、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれる位置情報である。1つの音声認識結果に対して、当該音声認識結果を得る元となった音響信号と組となって音声受信部21から入力されたユーザ情報に含まれる位置情報が複数ある場合には、複数の位置情報を代表する1つの位置情報を音声認識結果と組にする。複数の位置情報を代表する1つの位置情報は、音声認識結果に対応する音響信号が発せられた位置を略特定可能とするものであれば何でもよく、例えば、複数の位置情報の何れか1つであってもよいし、複数の位置情報に含まれる緯度の平均値と複数の位置情報に含まれる経度の平均値とを表す位置情報であってもよい。
第3動作例のクラウド側装置2の放送受信部41が行う動作のうち、第1動作例の放送受信部41が行う動作と異なるのは、放送局IDを必ず出力する点、すなわち、音響信号と時刻情報と放送局IDによる組を出力する点である。これ以外の動作は第1動作例と同じである。
第3動作例のクラウド側装置2の放送音声認識部42が行う動作のうち、第1動作例の放送音声認識部42が行う動作と異なるのは、放送局IDを必ず入出力する点、すなわち、音響信号と時刻情報と放送局IDによる組が入力され、音声認識結果の文字列と時刻情報と放送局IDによる組を出力する点である。これ以外の動作は第1動作例と同じである。
第3動作例のクラウド側装置2の音声認識結果保持部43は、音声認識部22が出力した音声認識結果と時刻情報と位置情報とIDとの組と、放送音声認識部42が出力した音声認識結果と時刻情報と放送局IDとの組と、を記憶する。音声認識結果保持部43の記憶内容は、音声認識結果加工部44が公共放送の受信対象地域にクライアント側装置があるか否かを判定する処理、時刻が共通する単語などの部分文字列があるか否かを判定する処理、及び、時刻が共通する単語などの部分文字列があった際に音声認識結果から取り除いて加工済み音声認識結果を得る処理、に用いられる。したがって、音声認識結果保持部43には、音声認識部22が出力した音声認識結果と時刻情報と位置情報とIDとの組と放送音声認識部42が出力した音声認識結果と時刻情報と放送局IDとの組とを音声認識結果加工部44の処理が必要とする時間分だけ記憶しておく。また、音声認識結果保持部43に保持した記憶内容は、当該記憶内容を用いる音声認識結果加工部44の処理が終わった時点で削除してよい。
第3動作例のクラウド側装置2の音声認識結果加工部44は、音声認識結果保持部43に記憶された少なくとも1つのクライアント側装置の音声認識結果と時刻情報と位置情報とIDとの組について、音声認識結果保持部43に記憶された各公共放送の音声認識結果と時刻情報と放送局IDの組の中に、当該公共放送の受信対象地域にクライアント側装置があり、部分文字列と時刻との組が一致するものがあった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。したがって、少なくともある1つのクライアント側装置についての加工済み音声認識結果が出力されることになる。
クライアント側装置が公共放送の受信対象地域にあるかは、公知の絶対位置を特定可能な情報同士のマッチングにより判定すればよい。例えば、音声認識結果加工部44内の図示しない記憶部に、公共放送の放送局IDの受信対象の国、県、市町村などの情報と、緯度経度は付された地図と、を予め記憶しておき、クライアント側装置の位置情報により特定される緯度経度からクライアント側装置が位置する国、県、市町村などを求め、求めた国、県、市町村などが公共放送の受信対象の国、県、市町村などに対応するかにより判定すればよい。または、例えば、音声認識結果加工部44内の図示しない記憶部に、公共放送の放送局IDの受信対象地域の緯度経度の範囲の情報を予め記憶しておき、クライアント側装置の位置情報により特定される音声認識結果に対応する音響信号が発せられた位置の緯度経度が受信対象地域の緯度経度の範囲内かなどによって判定すればよい。
なお、時刻が一致するか否かの判定については、クライアント側装置と公共放送局またはクラウド側装置とにおける絶対時刻の誤差や音声認識処理における時刻の誤差などを考慮して同じ時刻であると判定してもよい。
すなわち、第3動作例のクラウド側装置2の音声認識結果加工部44は、少なくともある1つのクライアント側装置について、略同一の時刻に、当該クライアント側装置が受信対象地域にある公共放送に、当該クライアント側装置と同じ部分文字列(共通する部分文字列)がある場合には、当該クライアント側装置の音声認識結果の文字列から共通する部分文字列を取り除いたものを加工済み音声認識結果として得る。
なお、共通する部分文字列を取り除く処理は、必ずしもクライアント側装置が受信対象地域である公共放送局の全てを対象として行わなくてもよく、少なくとも1つの公共放送を対象として行ってもよい。この場合、音声認識結果加工部44の処理で必要な音声認識結果だけを前段で得るようにしてもよい。すなわち、音声認識結果加工部44の処理に不要な音声認識結果を得るための放送受信部41、放送音声認識部42及び音声認識結果保持部43の動作は省略してもよい。
ここで、少なくともある1つのクライアント側装置がクライアント側装置11である例について図14の処理フローを用いて説明する。図14の例は、全ての公共放送局の音声認識結果を対象として、公共放送局51から順に、当該公共放送局の受信対象地域にクライアント側装置11があるかを判定し、当該公共放送局の受信対象地域にクライアント側装置11がある場合に、当該公共放送局の音声認識結果に、クライアント側装置11の音声認識結果と部分文字列と時刻との組が一致するものがあるか否かを探索し、部分文字列と時刻との組が一致するものがあった場合には、部分文字列と時刻との組が一致する部分文字列をクライアント側装置11の音声認識結果の文字列から当該共通部分文字列を取り除いていく例である。
音声認識結果加工部44は、まず、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組を音声認識結果保持部43から読み出す(ステップS441A)。音声認識結果加工部44は、次に、初期値yを1に設定する(ステップS442)。音声認識結果加工部44は、次に、公共放送局5yの音声認識結果と時刻情報と放送局IDの組を音声認識結果保持部43から読み出す(ステップS443A)。音声認識結果加工部44は、次に、クライアント側装置11の音声認識結果と時刻情報と位置情報とIDとの組と公共放送局5yの音声認識結果と時刻情報と放送局IDの組とにおいて、クライアント側装置11の音声認識結果と時刻情報と位置情報の組に含まれる位置情報が公共放送局5yの受信対象地域に含まれ、かつ、部分文字列とその時刻が一致するものがあるか、を探索する(ステップS444A)。音声認識結果加工部44は、次に、ステップS444Aの条件を満たす場合には、部分文字列とその時刻が一致する全ての部分文字列をクライアント側装置11の音声認識結果の文字列から取り除く(ステップS445A)。ステップS444Aの条件を満たさなかった場合には、ステップS446に進む。音声認識結果加工部44は、次に、ステップS443、ステップS444A、ステップS445Aの処理の対象としていない公共放送局が残っているかを判定する(ステップS446)。音声認識結果加工部44は、次に、ステップS446においてステップS443、ステップS444A、ステップS445Aの処理の対象としていない公共放送局が残っていると判定された場合には、yをy+1に置き換える(ステップS447)。ステップS446においてステップS443、ステップS444A、ステップS445Aの処理の対象としていない公共放送局が残っていないと判定された場合には、最後に行ったステップS445Aで処理済みのクライアント側装置11の音声認識結果の文字列をクライアント側装置11の加工済み音声認識結果の文字列としてIDと組にして出力する(ステップS448)。
第2実施形態の第3動作例による音声認識システムを用いることによって、発話者が望む音声認識結果である発話者が発した音声の音声認識結果が欠落する可能性を第1動作例よりも低く抑えながら、課題1の問題を解決することが可能となり、発話者が望む音声認識結果とは異なる音声認識結果が得られる可能性を従来よりも低減し、検索において発話者が望む検索結果とは異なる検索結果が得られる可能性を従来よりも低減することが可能となる。
<第3実施形態>
次に、本発明の第3実施形態として、クライアント側装置に入力された発話者の音声を含む音響信号の音声認識結果から、クライアント側装置で再生されている音響信号の音声認識結果と共通する部分を取り除く形態について説明する。第3実施形態における音声認識システムの構成は、第1実施形態の音声認識システムの構成と同様であり、音声認識システムの構成を示すブロック図は図1である。符号100は音声認識システムであり、符号11〜1Nは1個以上(N個、Nは1以上の整数)のクライアント側装置であり、符号2はクラウド側装置である。第3実施形態においては、クライアント側装置11〜1Nは、クライアント側装置に記憶したコンテンツを再生する機能または/及びネットワーク3経由でクライアント側装置がダウンロードしながらコンテンツを再生する機能を有するものである。なお、「記憶したコンテンツ」に関しては、メディアを装着する形でもよい。コンテンツは、少なくともセリフなど日本語、外国語の音声を含む音響信号を含むものであり、例えば、クライアント側装置に録画した映画や、ダウンロード購入したパッケージ番組、クライアント側装置がダウンロードしながら再生するVODなどの映像音響信号である。
クライアント側装置11〜1Nが最低限含む構成は全て同じであるため、以下では、第3実施形態の音声認識システム100のうちのクライアント側装置11とクラウド側装置2により構成される部分について詳細化したブロック図である図15を用いて説明を行う。図15の構成要素のうち図11と同じ符号を付してある構成要素は、図11と同じ動作を行うものである。
クライアント側装置11は、音声入力部111、ユーザ情報取得部121、音声送出部131、検索結果受信部141、画面表示部151、コンテンツ情報取得部161、コンテンツ情報送出部171を少なくとも含んで構成される。クライアント側装置11の音声入力部111、ユーザ情報取得部121、音声送出部131、検索結果受信部141、画面表示部151は、第2実施形態の第1動作例のクライアント側装置11の音声入力部111、ユーザ情報取得部121、音声送出部131、検索結果受信部141、画面表示部151と、それぞれ同一の動作をする。
クラウド側装置2は、音声受信部21、音声認識部22、コンテンツ音声認識結果蓄積部60、コンテンツ情報受信部61、コンテンツ音声認識結果取得部62、音声認識結果保持部63、音声認識結果加工部64、検索処理部25、検索結果送出部26を少なくとも含んで構成される。クラウド側装置2の音声受信部21、音声認識部22、検索処理部25及び検索結果送出部26は、第2実施形態の第1動作例のクラウド側装置2の音声受信部21、音声認識部22、検索処理部25及び検索結果送出部26と、それぞれ同一の動作をする。
以下では、第2実施形態の第1動作例と異なる部分について説明する。
クライアント側装置11のコンテンツ情報取得部161は、クライアント側装置11が現在再生しているコンテンツについて、当該コンテンツを特定可能な識別情報(以下、「コンテンツID」という。なお、同一映画であっても、日本語、外国語等の言語の選択によっては、セリフが異なるが、以下説明では、日本語、外国語等の複数言語の音声に対応したコンテンツの場合、それぞれ異なるコンテンツIDを持たせることとして扱い、省略する)と、当該コンテンツ中における現在再生している箇所を表す相対時刻(いわゆる再生位置である)と、を取得して、コンテンツ情報送出部171に出力する。コンテンツ中における現在再生している箇所を表す相対時刻とは、例えば、コンテンツの先頭開始点から標準速度で再生を行った場合に、その箇所を再生するまでに必要となる秒数や、コンテンツに予め付与されているタイムスタンプなどである。
クライアント側装置11のコンテンツ情報送出部171は、クライアント側装置11を特定可能な識別情報(以下、「ID」と呼ぶ)と、コンテンツ情報取得部161が出力したコンテンツIDと相対時刻と、ユーザ情報取得部121が出力した時刻情報と、を組にして、IDとコンテンツIDと相対時刻と時刻情報との組を含む伝送信号である第三伝送信号をクラウド側装置2に対して送出する。なお、識別情報に関しては、例えば、光メディアの情報データベースや、断片的な音声データからコンテンツIDと相対時刻(再生位置)を取得できる、既存の外部クラウドサービスを用いて特定しても良い。
クラウド側装置2のコンテンツ音声認識結果蓄積部60には、予め、映画などのコンテンツについての、コンテンツIDと、当該コンテンツの音響信号を音声認識して得られた音声認識結果の文字列と、相対時刻と、が対応付けて記憶されている。音声認識結果の文字列と相対時刻とは、音声認識結果の文字列に含まれる各部分文字列ごとに、当該部分文字列と相対時刻とを組にしておくことで記憶されている。
クラウド側装置2のコンテンツ情報受信部61は、クライアント側装置11のコンテンツ情報送出部171が送出した第三伝送信号を受信して、当該第三伝送信号に含まれるIDとコンテンツIDと相対時刻と時刻情報との組を得て、コンテンツ音声認識結果取得部62に出力する。
クラウド側装置2のコンテンツ音声認識結果取得部62は、コンテンツ情報受信部61が出力したコンテンツIDと相対時刻を用いてコンテンツ音声認識結果蓄積部60を探索し、当該コンテンツIDに対応するコンテンツの音声認識結果の文字列に含まれる各部分文字列ごとの当該部分文字列と相対時刻とを組を得て、当該相対時刻を対応するコンテンツ情報受信部61が出力した時刻情報に置き換えて、コンテンツの音声認識結果の文字列に含まれる各部分文字列ごとの当該部分文字列と時刻情報の組を生成し、生成した音声認識結果の文字列に含まれる各部分文字列ごとの当該部分文字列と時刻情報の組と、IDと、を組にして音声認識結果保持部63に出力する。
クラウド側装置2の音声認識結果保持部63は、音声認識部22が出力した音声認識結果と時刻情報とIDとの組と、コンテンツ音声認識結果取得部62が出力した音声認識結果の文字列に含まれる各部分文字列ごとの当該部分文字列と時刻情報の組とIDとを組にしたものと、を記憶する。音声認識結果保持部63の記憶内容は、音声認識結果加工部64が時刻が共通する単語などの部分文字列があるか否かを判定する処理、及び、時刻が共通する単語などの部分文字列があった際に音声認識結果から取り除いて加工済み音声認識結果を得る処理、に用いられる。したがって、音声認識結果保持部63に保持した記憶内容は、当該記憶内容を用いる音声認識結果加工部64の処理が終わった時点で削除してよい。
クラウド側装置2の音声認識結果加工部64は、音声認識結果保持部63に記憶された少なくとも1つのクライアント側装置の音声認識結果と時刻情報とIDとの組について、音声認識結果保持部43に記憶された音声認識結果の文字列に含まれる各部分文字列ごとの当該部分文字列と時刻情報の組とIDとを組にしたものの中に、部分文字列と時刻との組が一致するものがあった場合に、一致した部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。なお、時刻が一致するか否かの判定については、音声認識処理における時刻の誤差などを考慮して同じ時刻であると判定してもよい。少なくともある1つのクライアント側装置がクライアント側装置11である場合の処理フローは図16の通りである。
このように、第三実施形態によれば、例えば、映画やVODを再生している場合、そのコンテンツIDと再生位置の秒数もクライアント側装置が取得した音響信号と共にクラウド側装置2に送る。これによりクラウド側装置6は、コンテンツIDと再生位置の秒数によりコンテンツの音声認識結果が蓄積されたDBを探索してそのコンテンツの声音の音声認識結果(アナウンスやセリフの文字列)を得て、得られたコンテンツの声音の音声認識結果(アナウンスやセリフの文字列)をノイズとして、クライアント側装置が取得した音響信号の音声認識結果の文字列から除外することによって、クライアント側装置の利用者が発した発話に対する音声認識の誤認識の確率を下げることができる。
すなわち、第3の実施形態による音声認識システムを用いることによって、課題3の問題を解決することが可能となる。
<第4実施形態>
次に、本発明の第4実施形態として、検索指示の入力を明示した形態について説明する。ここでは、図11の第2実施形態において検索指示の入力を明示した形態について、図17を用いて説明する。図17は、第2実施形態に対応する第4実施形態の音声認識システム100のうちのクライアント側装置11とクラウド側装置2により構成される部分について詳細化したブロック図である。図17に示す構成が図11に示す構成と異なる点は、クライアント側装置11が検索指示入力部181も少なくとも含んで構成される点である。図17の検索指示入力部181以外の構成要素は図11と同じである。以下では、第2実施形態の記載からの差分を説明する。
[[第4実施形態の動作例]]
第4実施形態の動作例として、第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話し、当該発話に対応する検索結果をクライアント側装置11の画面表示部151に表示する場合の動作の例を説明する。
クライアント側装置11の検索指示入力部181は、第1の利用者が検索結果を得たい文章を発話する際に、検索開始の指示の入力を受け付け、受け付けた検索開始の指示を音声入力部111とユーザ情報取得部121と音声送出部131に出力する。検索開始の指示は、音声認識と検索の双方の開始の指示ともいえる。例えば、クライアント側装置11がスマートフォンである場合は、画面上に表示された音声検索開始ボタンと、その音声検索開始ボタンがタッチされたことを検出する検出手段とが、クライアント側装置11の検索指示入力部181である。
クライアント側装置11の音声入力部111は、検索指示入力部181が出力した検索開始の指示に従って、音響信号を取得して、取得した音響信号を音声送出部131に出力する。例えば、音声入力部111は、検索開始の指示が入力された時点で音響信号の取得を開始し、検索開始の指示が入力された時刻から予め定めた時間が経過した時点で音響信号の取得を終了する。また、例えば、音声入力部111は、図示しない発話有無検出手段を備え、検索開始の指示が入力された時点で音響信号の取得を開始し、発話有無検出手段が発話が無くなったと判断した時点で音響信号の取得を終了する。
クライアント側装置11のユーザ情報取得部121は、検索指示入力部181が出力した検索開始の指示に従って、クライアント側装置11の音声入力部111が音響信号を取得した時刻情報を得て、当該時刻情報とクライアント側装置11を特定可能な識別情報(以下、「ID」と呼ぶ)とをユーザ情報として音声送出部131に出力する。例えば、ユーザ情報取得部121は、音声入力部111が音響信号を取得して出力している間、時刻情報を得て、得た時刻情報とIDとをユーザ情報として音声送出部131に出力する。
クライアント側装置11の音声送出部131は、検索指示入力部181が出力した検索開始の指示に従って、音声入力部111が出力した音響信号とユーザ情報取得部121が出力したユーザ情報とを含む伝送信号をクラウド側装置2に対して送出する。
第4実施形態の動作例の音声認識システム100のこれ以降の動作は、第2実施形態の第1動作例と同様である。
このような構成により、クライアント側装置11の検索指示入力部181が検索開始の指示の入力を受け付けたのを契機に、第1の利用者が発話した検索結果を得たい文章に対応する検索結果をクライアント側装置11の画面表示部151に表示することが可能となる。
なお、第2実施形態の第1動作例以外の動作例、第1実施形態、第3実施形態についても、検索指示の入力を明示した音声認識システム100の動作は上記と同様であるので詳細な説明を省略するが、クライアント側装置の検索指示入力部が検索開始の指示の入力を受け付けたのを契機に、利用者が発話した検索結果を得たい文章に対応する検索結果をクライアント側装置の画面表示部に表示することが可能となる。
<第4実施形態の変形例>
次に、本発明の第4実施形態の変形例として、検索指示の入力時点よりも前の音響信号を用いる形態について、図18を用いて説明する。図18は、図17に示す第4実施形態の変形例の音声認識システム100のうちのクライアント側装置11とクラウド側装置2により構成される部分について詳細化したブロック図である。図18に示す構成が図17に示す構成と異なる点は、クライアント側装置11が音声保持部191も少なくとも含んで構成される点である。図18の音声保持部1以外の構成要素は図11と同じである。以下では、第4実施形態との差分を説明する。
[[第4実施形態の変形例の動作例]]
第4実施形態の変形例の動作例として、第4実施形態の動作例と同じ場合の例、すなわち、第1の利用者がクライアント側装置11に対して検索結果を得たい文章を発話し、当該発話に対応する検索結果をクライアント側装置11の画面表示部151に表示する場合の動作の例を説明する。
クライアント側装置11の音声入力部111は、常に音響信号を取得する。音声入力部111は、検索指示入力部181から検索開始の指示が入力された場合には、検索指示入力部181から入力された検索開始の指示に従って、取得した音響信号を音声送出部131に出力する。例えば、音声入力部111は、検索指示入力部181から検索開始の指示が入力された場合には、検索開始の指示が入力された時点から、検索開始の指示が入力された時刻から予め定めた時間が経過した時点までの、音響信号を音声送出部131に出力する。また、音声入力部111は、取得した全ての音響信号を音声保持部191に出力する。
クライアント側装置11のユーザ情報取得部121は、音声入力部111が音響信号を取得した時刻の時刻情報を常に取得する。ユーザ情報取得部121は、検索指示入力部181から検索開始の指示が入力された場合には、検索指示入力部181から入力された検索開始の指示に従って、クライアント側装置11の音声入力部111が音声送出部131に出力する音響信号の時刻情報と、当該時刻情報とクライアント側装置11を特定可能な識別情報(以下、「ID」と呼ぶ)とをユーザ情報として音声送出部131に出力する。また、ユーザ情報取得部121は、取得した全ての時刻情報を音声保持部191に出力する。
クライアント側装置11の音声保持部191は、音声入力部111から入力された音響信号とユーザ情報取得部121から入力された時刻情報とを組にして図示しない記憶部に記憶し、最新のものから所定時間経過した音響信号と時刻情報との組を記憶部から削除する。すなわち、音声保持部191は、音声入力部111から入力された音響信号とその音響信号に対応する時刻情報を最新のものから所定時間分だけ保持する。所定時間とは、予め設定した時間であり、例えば、十数秒から数分程度である。また、音声保持部191は、検索指示入力部181から検索開始の指示が入力された場合には、記憶部に記憶されている音響信号と時刻情報との組を音声送出部131に出力する。すなわち、音声保持部191は、検索指示入力部181から検索開始の指示が入力された場合には、最新のものから所定時間分の音響信号とその時刻情報を音声送出部131に出力する。
クライアント側装置11の音声送出部131は、検索指示入力部181から入力された検索開始の指示に従って、音声入力部111から入力された音響信号とユーザ情報取得部121から入力されたユーザ情報と音声保持部191から入力された音響信号とその時刻情報とを含む伝送信号をクラウド側装置2に対して送出する。すなわち、音声送出部131は、検索開始の指示が入力された時点から検索開始の指示が入力された時刻から予め定めた時間が経過した時点までの音響信号とその時刻情報と、検索開始の指示が入力された時点よりも過去の所定時間分の音響信号とその時刻情報と、クライアント側装置11のIDと、を含む伝送信号をクラウド側装置2に対して送出する。
クラウド側装置2の音声受信部21、音声認識部22、放送受信部41、放送音声認識部42の動作は、それぞれ、第2実施形態の音声受信部21、音声認識部22、放送受信部41、放送音声認識部42の動作と同じである。
クラウド側装置2の音声認識結果加工部44は、まず、音声認識結果保持部43に記憶された少なくとも1つのクライアント側装置の音声認識結果と時刻情報とIDとの組について、音声認識結果保持部43に記憶された公共放送の音声認識結果と時刻情報との組の中に、部分文字列と時刻との組が一致するものが複数個ある公共放送についてのみを対象として、クライアント側装置の音声認識結果の文字列から、部分文字列と時刻との組が当該公共放送の音声認識結果と一致した部分文字列を取り除き、取り除き後のクライアント側装置の音声認識結果の文字列を得る。音声認識結果加工部44は、さらに、取り除き後のクライアント側装置の音声認識結果の文字列から、検索開始の指示が入力された時点よりも過去の部分文字列を取り除いたものを加工済み音声認識結果とし、加工済み音声認識結果とIDとを組にして出力する。
次に、図19を参照して、この例における音声認識結果と加工済み音声認識結果の一例を説明する。図19の横軸は時刻であり、検索指示が入力された時点の時刻をT0、検索指示が入力された時刻T0から予め定めた時間が経過した時点の時刻をTA、検索指示が入力された時刻T0から所定時間過去の時点の時刻をTB、とする。上側にある太い矢印の上にある3つは音声認識結果加工部44の入力であるクライアント側装置11と公共放送局51と公共放送局52のそれぞれの音声認識結果であり、下側にある太い矢印の下にある1つはクライアント側装置11の加工済み音声認識結果である。
クライアント側装置11の音声認識結果には、検索指示が入力された時刻T0から予め定めた時間が経過した時刻TAまでの時間の音声認識結果として、クライアント側装置11の利用者である第1の利用者が発した発話である発話2の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声2の音声認識結果の部分文字列と、が含まれている。また、クライアント側装置11の音声認識結果には、検索指示が入力された時刻T0の所定時間過去の時刻TBから検索指示が入力された時刻T0までの時間の音声認識結果として、クライアント側装置11の利用者である第1の利用者が発した発話である発話1の音声認識結果の部分文字列と、クライアント側装置11の周囲でテレビが発した音声であるテレビ音声1の音声認識結果の部分文字列と、が含まれている。
公共放送局51の音声認識結果には、検索指示が入力された時刻T0から予め定めた時間が経過した時刻TAまでの時間の音声認識結果として、公共放送局51が放送した音響信号に含まれる音声であるテレビ音声2の音声認識結果の部分文字列が含まれている。また、公共放送局51の音声認識結果には、検索指示が入力された時刻T0の所定時間過去の時刻TBから検索指示が入力された時刻T0までの時間の音声認識結果として、公共放送局51が放送した音響信号に含まれる音声であるテレビ音声1の音声認識結果の部分文字列が含まれている。
公共放送局52の音声認識結果には、検索指示が入力された時刻T0から予め定めた時間が経過した時刻TAまでの時間の音声認識結果として、公共放送局52が放送した音響信号に含まれる音声であるテレビ音声4の音声認識結果の部分文字列が含まれている。また、公共放送局52の音声認識結果には、検索指示が入力された時刻T0の所定時間過去の時刻TBから検索指示が入力された時刻T0までの時間の音声認識結果として、公共放送局52が放送した音響信号に含まれる音声であるテレビ音声3の音声認識結果の部分文字列が含まれている。
クライアント側装置11の音声認識結果の文字列と公共放送局51の音声認識結果の文字列には、時刻TBから時刻TAの間に、部分文字列とその時刻とが一致するものとして、テレビ音声1の音声認識結果とテレビ音声2の音声認識結果の2個の部分文字列がある。したがって、公共放送局51は、複数の部分文字列について、部分文字列とその時刻とが一致しているため、取り除き対象となる。そして、音声認識結果加工部44は、クライアント側装置11の音声認識結果の文字列から、公共放送局51の音声認識結果の文字列にも同じ部分文字列が同時刻で存在している全ての部分文字列であるテレビ音声1の音声認識結果の部分文字列とテレビ音声2の音声認識結果の部分文字列を取り除く。クライアント側装置11の音声認識結果の文字列と公共放送局52の音声認識結果の文字列には、時刻TBから時刻TAの間に、部分文字列とその時刻とが一致する部分文字列はない。したがって、公共放送局52は、複数の部分文字列について、部分文字列とその時刻とが一致していないため、取り除き対象とならない。クライアント側装置11の音声認識結果の文字列に対してここまでの取り除き処理を行った結果が、図19の上側の太い矢印と下側の太い矢印との間に例示したものである。
次に、音声認識結果加工部44は、クライアント側装置11の音声認識結果の文字列から、時刻TBから時刻T0の間の部分文字列である発話1の音声認識結果の部分文字列を取り除く。この結果、発話2の音声認識結果の部分文字列だけが残されたものが、クライアント側装置11の加工済み音声認識結果として出力される。
第4実施形態の変形例の動作例の音声認識システム100のこれ以降の動作は、第4実施形態の動作例と同様である。
なお、第4実施形態の変形例と同様に、第1〜第3実施形態の全ての実施形態その動作例についても、音声保持部191を備える等により、検索開始の指示よりも過去の音響信号を用いて音声認識システム100を動作させてもよい。
第4実施形態の変形例のように検索開始の指示よりも過去の音響信号を用いて動作させる構成とすることにより、特に、第1実施形態の第3動作例や第2実施形態の第2動作例のように複数の部分文字列が共通する他クライアント側装置や公共放送局を対象として音声認識結果の取り除き処理を行う構成において、検索開始の指示よりも過去の音響信号を用いない構成とする場合よりも、応答速度を速めることができる。
<音声認識装置の実施形態>
なお、前述した音声認識システムはクライアント側装置11〜1Nとクラウド側装置2とがネットワーク3で接続された構成であるが、クラウド側装置2は複数のサーバ装置等で構成されていてもよい。また、音声認識システムはクラウド型のシステムでなくともよく、スタンドアローン型の音声認識装置であってもよい。すなわち、クラウド側装置2の構成をクライアント側装置11〜1N内に備えた音声認識装置であってもよい。
また、前述した説明においては、音声認識結果を情報検索に応用した例を説明したが、音声認識結果はどのように利用されてもよい。すなわち、図2及び図11に示したクライアント側装置11とクラウド側装置2により構成される部分のうちの要部のみにより構成される音声認識装置としてもよい。これらの音声認識装置について、図20を用いて説明する。
[[音声認識装置の第1例]]
図20の(A)は、音声認識装置の第1例を示すブロック図である。第1例の音声認識装置700は、音声認識部710と音声認識結果720を少なくとも含んで構成される。
音声認識装置700の音声認識部710は、図2の音声認識部22に対応するものである。例えば、音声認識部710は、音声認識対象の第1の発話者のスマートフォンのマイク等の第1の収音手段で第1の発話者音声を含んで収音された音響信号である第1音響信号と、第1の発話者とは異なる第2〜N(Nは2以上の整数)の利用者それぞれのスマートフォンのマイク等の第1の収音手段とは異なる第2〜Nの収音手段それぞれ収音された音響信号である第2音響信号〜第N音響信号と、のそれぞれの音響信号を音声認識して、それぞれの音響信号に対する音声認識結果である第1音声認識結果〜第N音声認識結果を得る。ここで、第1音響信号〜第N音響信号は、例えば、同一の時刻を含む音響信号である。例えば、第1音響信号は、第1の発話者が音声認識対象として発話した音声を含む音響信号であり、第2音響信号〜第N音響信号は、始端と終端がそれぞれ第1音響信号と同一または近傍の絶対時刻である音響信号である。
音声認識装置700の音声認識結果加工部720は、図2の音声認識結果保持部23と音声認識結果加工部24に対応するものである。例えば、音声認識結果加工部720は、第2音声認識結果〜第N音声認識結果の少なくとも1以上の音声認識結果に含まれる部分音声認識結果と、第1音声認識結果に含まれる部分音声認識結果とが、部分音声認識結果の内容が同一であり、かつ、略同時刻の音響信号に対応する部分音声認識結果である場合に、当該部分音声認識結果を第1音声認識結果から削除したものを第1の発話者の音声認識結果として得る。なお、音声認識結果加工部720は、部分音声認識結果の内容が同一で時刻が略同一であることに加えて、第2〜Nの収音手段の位置が第1の収音手段の近傍にある場合に、部分音声認識結果を第1音声認識結果から削除する構成としてもよい。
[[音声認識装置の第2例]]
図20の(B)は、音声認識装置の第2例を示すブロック図である。第2例の音声認識装置701は、音声認識部711と音声認識結果721を少なくとも含んで構成される。
音声認識装置701の音声認識部711は、図11の音声認識部22と放送音声認識部42に対応するものである。例えば、音声認識部711は、音声認識対象の第1の発話者のスマートフォンのマイク等の第1の収音手段で第1の発話者音声を含んで収音された音響信号である第1音響信号と、1以上の放送の音響信号である第1放送音響信号〜第M放送音響信号(Mは1以上の整数)と、のそれぞれの音響信号を音声認識して、それぞれの音響信号に対する音声認識結果である第1音声認識結果と第1放送音声認識結果〜第M放送音声認識結果を得る。ここで、第1音響信号と第1放送音響信号〜第M放送音響信号は、例えば、同一の時刻を含む音響信号である。例えば、第1音響信号は、第1の発話者が音声認識対象として発話した音声を含む音響信号であり、第1放送音響信号〜第M放送音響信号は、始端と終端がそれぞれ第1音響信号と同一または近傍の絶対時刻である音響信号である。
音声認識装置701の音声認識結果加工部721は、図11の音声認識結果保持部43と音声認識結果加工部44に対応するものである。例えば、音声認識結果加工部721は、第1放送音声認識結果〜第M放送音声認識結果の少なくとも1以上の音声認識結果に含まれる部分音声認識結果と、第1音声認識結果に含まれる部分音声認識結果とが、部分音声認識結果の内容が同一であり、かつ、略同時刻の音響信号に対応する部分音声認識結果である場合に、当該部分音声認識結果を第1音声認識結果から削除したものを第1の発話者の音声認識結果として得る。なお、音声認識結果加工部721は、第1の収音手段が受信対象地域にある第2〜Mの放送の音声認識結果のみを対象として、部分音声認識結果の内容が同一で時刻が略同一である場合に部分音声認識結果を第1音声認識結果から削除する構成としてもよい。
これらの音声認識によれば、テレビやラジオや案内放送などの環境音が比較的大きな音量で存在している環境下で利用者が発話した場合であっても、高精度に環境音の音声認識結果を取り除くことができ、不要な音声認識結果が含まれる可能性を低減することで、発話者の音声に対する音声認識率を向上させることができる。
なお、上述の説明では、音声認識結果が文字列であるとして説明したが、音声認識結果が音素を表す記号の列などで表されている場合は、文字列に代えて音素記号の列を用いてもよい。すなわち、上述の説明における音声認識結果の文字列や部分文字列は、音声認識結果の音素記号列や部分音素記号列などの、音声認識結果やその一部の内容の一例である。
前述した実施形態における音声認識システムの全部または一部をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。
以上、図面を参照して本発明の実施の形態を説明してきたが、上記実施の形態は本発明の例示に過ぎず、本発明が上記実施の形態に限定されるものではないことは明らかである。したがって、本発明の技術思想及び範囲を逸脱しない範囲で構成要素の追加、省略、置換、その他の変更を行ってもよい。