(実施の形態1)
以下、図面を参照して本発明の実施の形態について説明する。なお、実質的に同じ構成要素には、同じ符号が付される。
図1は、実施の形態1にかかる字幕生成システム1を示す図である。字幕生成システム1は、入力端末10と、表示端末20と、情報処理装置100とを有する。入力端末10と、表示端末20と、情報処理装置100とは、有線又は無線のネットワーク2を介して互いに通信可能に接続されている。
入力端末10は、映像及び音声等が入力される装置である。入力端末10は、例えば、カメラ、携帯電話、スマートフォン、タブレット端末等である。表示端末20は、例えばパーソナルコンピュータ(PC)、スマートフォン、タブレット端末等である。例えば、表示端末20は、ライブストリーミング等のストリーミング機能を実現可能なアプリケーション又はウェブブラウザ等を有している。情報処理装置100は、例えばサーバ等のコンピュータである。
入力端末10は、音声及び映像を受け付ける。情報処理装置100は、入力端末10に入力された音声つまり入力音声を文字列に変換する。そして、情報処理装置100は、得られた文字列を使用して、入力端末10に入力された映像に付加する字幕を生成する。表示端末20は、入力端末10に入力された映像及び音声を再生する。さらに、表示端末20は、映像に字幕を付加して表示する。ここで、情報処理装置100は、音声の言語をユーザが設定することなしに、入力音声を文字列に変換する。これにより、ユーザの利便性が向上する。
入力端末10は、通信部12と、音声入力部14と、映像入力部16と、位置取得部18とを有する。通信部12は、ネットワーク2を介して情報処理装置100等と通信を行うために必要な処理を行う。音声入力部14は、例えばマイクで構成され得る。音声入力部14は、入力端末10の周囲のユーザが発した音声等を入力する。さらに、音声入力部14は、入力された音声つまり入力音声を示す音声データを生成する。
映像入力部16は、例えばカメラ等の撮像素子で構成され得る。映像入力部16は、映像入力部16の前の映像を撮影する。そして、映像入力部16は、入力された映像つまり入力映像を示す映像データを生成する。位置取得部18は、GPS(Global Positioning System)等によって、入力端末10の位置情報を取得する。
通信部12は、音声データ、位置情報及び映像データを、ネットワーク2を介して、情報処理装置100に対して送信する。なお、以降、用語「入力音声」は、入力音声を示す音声データも意味する。同様に、用語「映像」は、映像を示す映像データも意味する。また、用語「位置」は、位置を示す位置情報も意味する。さらに、用語「文字列」は、文字列を示すテキストデータも意味する。また、用語「字幕」は、字幕を示す字幕データも意味する。
表示端末20は、通信部22と、音声出力部24と、映像表示部26と、字幕出力部28とを有する。通信部22は、ネットワーク2を介して情報処理装置100等と通信を行うために必要な処理を行う。通信部22は、情報処理装置100から、音声データ、映像データ、及び字幕データを受信する。
音声出力部24は、例えばスピーカ等で構成され得る。音声出力部24は、情報処理装置100から受信された音声を再生する。映像表示部26は、例えばディスプレイ等で構成され得る。映像表示部26は、情報処理装置100から受信された映像を再生する。字幕出力部28は、映像表示部26に、音声に対応する字幕を付加して出力する。
図2は、実施の形態1にかかる情報処理装置100の構成を示す図である。情報処理装置100は、主要なハードウェア構成として、制御部102と、記憶部104と、通信部106と、インタフェース部108(IF;Interface)とを有する。制御部102、記憶部104、通信部106及びインタフェース部108は、データバスなどを介して相互に接続されている。
制御部102は、例えばCPU(Central Processing Unit)等のプロセッサである。制御部102は、制御処理及び演算処理等を行う演算装置としての機能を有する。記憶部104は、例えばメモリ又はハードディスク等の記憶デバイスである。記憶部104は、例えばROM(Read Only Memory)又はRAM(Random Access Memory)等である。記憶部104は、制御部102によって実行される制御プログラム及び演算プログラム等を記憶するための機能を有する。また、記憶部104は、処理データ等を一時的に記憶するための機能を有する。
通信部106は、入力端末10及び表示端末20とネットワーク2を介して通信を行うために必要な処理を行う。通信部106は、通信ポートを含み得る。インタフェース部108(IF;Interface)は、例えばユーザインタフェース(UI)である。インタフェース部108は、キーボード、タッチパネル又はマウス等の入力装置と、ディスプレイ又はスピーカ等の出力装置とを有する。なお、入力端末10及び表示端末20も、制御部102、記憶部104、通信部106及びインタフェース部108と同様のハードウェア構成を有しうる。
また、情報処理装置100は、言語判定部110と、字幕生成部130とを有する。言語判定部110は、後述するように、入力音声の言語を判定する。字幕生成部130は、判定された言語で入力音声を文字列に変換して字幕を生成する。そして、字幕生成部130は、生成された字幕を、通信部106を用いて表示端末20に対して送信する。詳しくは後述する。なお、情報処理装置100は、このような構成により、言語判定装置として機能し得る。
なお、言語判定部110及び字幕生成部130は、例えば、制御部102の制御によって、プログラムを実行させることによって実現できる。より具体的には、言語判定部110及び字幕生成部130は、記憶部104に格納されたプログラムを、制御部102が実行することによって実現され得る。また、必要なプログラムを任意の不揮発性記録媒体に記録しておき、必要に応じてインストールすることで、言語判定部110及び字幕生成部130を実現するようにしてもよい。また、言語判定部110及び字幕生成部130の各構成要素は、プログラムによるソフトウェアで実現することに限ることなく、ハードウェア、ファームウェア、及びソフトウェアのうちのいずれかの組み合わせ等により実現してもよい。また、言語判定部110及び字幕生成部130の各構成要素は、例えばFPGA(field-programmable gate array)又はマイコン等の、ユーザがプログラミング可能な集積回路を用いて実現してもよい。この場合、この集積回路を用いて、上記の各構成要素から構成されるプログラムを実現してもよい。以上のことは、後述する他の実施の形態においても同様である。
言語判定部110は、入力音声取得部112と、位置情報取得部114と、候補選択部116と、国/候補テーブル118(第2のテーブル)と、変換部120と、判定部122と、語句テーブル124(第1のテーブル)と、言語決定部126とを有する。これらの言語判定部110の各構成要素については図5等を用いて後で詳述するが、一部の構成要素については以下で説明する。
図3は、実施の形態1にかかる国/候補テーブル118を例示する図である。国/候補テーブル118は、国と、入力音声の言語の候補である言語候補とを対応付けている。言語候補は、国/候補テーブル118において対応する国にいる人が話す可能性の高い言語である。図3に示した例では、国名「日本」が、言語候補として、「日本語」及び「英語」等と対応付けられている。また、国名「米国」が、言語候補として、「英語」及び「スペイン語」等と対応付けられている。つまり、日本では、「日本語」又は「英語」が話される可能性が高い。また、「米国」では、「英語」又は「スペイン語」が話される可能性が高い。
図4は、実施の形態1にかかる語句テーブル124を例示する図である。語句テーブル124は、複数の言語それぞれと、複数の言語それぞれに対応する1つ以上の語句とを対応付けている。ここで、図4に例示した語句は、挨拶等の、入力音声つまり発話の冒頭に発生する可能性の高い語句である。図4に示した例では、言語「日本語」が、語句「おはよう」及び「こんにちは」等と対応付けられている。また、言語「英語」が、語句「Good morning」及び「Hello」等と対応付けられている。「日本語」の発話では、冒頭に「おはよう」又は「こんにちは」等と発せられる可能性が高い。また、「英語」の発話では、冒頭に「Good morning」又は「Hello」等と発せられる可能性が高い。
図5は、実施の形態1にかかる情報処理装置100によって行われる処理を示すフローチャートである。ここで、図5に示すフローチャートのうち、S102〜S114の処理が、言語判定方法に対応する。ステップS102において、入力音声取得部112は、入力端末10から入力音声を取得する。入力音声取得部112は、取得された入力音声を、変換部120に対して出力する。また、位置情報取得部114は、入力端末10から位置情報を取得する。位置情報取得部114は、取得された位置情報を、候補選択部116に対して出力する。
ステップS104において、候補選択部116は、入力音声が発せられた国に対応する言語候補を、複数選択する。候補選択部116は、選択された複数の言語候補を、変換部120に対して出力する。具体的には、候補選択部116は、位置情報取得部114によって取得された位置情報から、入力音声が入力された位置に関する国を判定する。候補選択部116は、国/候補テーブル118において、その国に対応する言語を、言語候補として選択する。例えば、位置情報が日本のある地点を示す場合、候補選択部116は、国/候補テーブル118を用いて、日本語及び英語等を、言語候補として選択する。
次に、ステップS106において、変換部120は、S104の処理で選択された複数の言語それぞれについて、入力音声を文字列に変換する。変換部120は、得られた文字列を、判定部122に対して出力する。具体的には、変換部120は、変換部120は、選択された複数の言語それぞれについて音声認識処理を行い、入力音声から文字列を生成する。言語候補が日本語及び英語である例では、変換部120は、入力音声に対して日本語で音声認識処理を行って、日本語の文字列を取得する。同様に、変換部120は、入力音声に対して英語で音声認識処理を行って、英語の文字列を取得する。
なお、変換部120は、取得された入力音声の全てを、文字列に変換する必要はない。変換部120は、入力音声において冒頭の5個程度の語句が含まれる程度の所定の期間に入力された音声のみ、変換処理を行えばよい。例えば、変換部120は、入力音声の冒頭から10秒程度のみ、変換処理を行えばよい。また、ある言語候補で音声認識処理を行った結果、入力音声にその言語の発音が含まれない等の理由により、テキスト変換が良好に行われないことがある。この場合、文字列が生成されないことがある。
次に、判定部122は、複数の言語候補それぞれについて、語句テーブル124における複数の言語候補それぞれに対応する語句の少なくとも1つがS106の処理で得られた文字列に含まれるか否かを判定する。具体的には、ステップS108において、判定部122は、語句テーブル124から、選択された言語候補それぞれに対応する語句を抽出する。言語候補が日本語及び英語である例では、判定部122は、語句テーブル124において言語候補「日本語」に対応する語句である「おはよう」及び「こんにちは」等を抽出する。同様に、判定部122は、語句テーブル124において言語候補「英語」に対応する語句である「Good morning」及び「Hello」等を抽出する。
次に、ステップS110において、判定部122は、語句テーブル124から抽出された語句がS106のテキスト変換処理で得られた文字列に含まれるか否かを判定する。そして、判定部122は、判定結果を、言語決定部126に対して出力する。抽出された語句の少なくとも1つがS106の処理で得られた文字列に含まれる場合(S110のYES)、処理はS112に進む。一方、抽出された語句の全てがS106の処理で得られた文字列に含まれない場合(S110のNO)、処理はS114に進む。
ステップS112において、言語決定部126は、文字列に含まれる語句に対応する言語候補を、入力音声の言語と決定する。具体的には、入力音声が「こんにちは、今日はいい天気です」である場合、語句テーブル124から抽出された語句「こんにちは」が入力音声に含まれている。そして、語句「こんにちは」は、語句テーブル124において、言語候補「日本語」に対応する。したがって、言語決定部126は、入力音声の言語つまり入力言語を、「日本語」と決定する。
また、入力音声が「Good morning. It's a beautiful day today.」である場合、語句テーブル124から抽出された語句「Good morning」が入力音声に含まれている。そして、語句「Good morning」は、語句テーブル124において、言語候補「英語」に対応する。したがって、言語決定部126は、入力言語を「英語」と決定する。
一方、ステップS114において、言語決定部126は、S104〜S112の処理とは別の方法で、入力音声の言語つまり入力言語を決定する。「S104〜S112の処理とは別の方法」とは、国/候補テーブル118及び語句テーブル124の少なくとも一方を使用しないような方法である。例えば、入力音声がスペイン語である場合、言語候補「英語」及び「日本語」に対応する語句「おはよう」、「こんにちは」、「Good morning」及び「Hello」は、入力音声に含まれない可能性が非常に高い。したがって、この場合、言語決定部126は、S104〜S112の処理とは別の方法で、入力音声の言語つまり入力言語を決定する。また、例えば、入力音声が「みなさん、今日はいい天気ですね」である場合、英語の語句「Good morning」及び「Hello」だけでなく日本語の語句「おはよう」及び「こんにちは」も、入力音声に含まれない。したがって、この場合も、言語決定部126は、S104〜S112の処理とは別の方法で、入力音声の言語つまり入力言語を決定する。
なお、S114の処理つまり「S104〜S112の処理とは別の方法」には、いくつかの方法がある。例えば、言語決定部126は、S104で選択された言語候補以外の言語を言語候補として新たに選択してもよい。つまり、言語決定部126は、国/候補テーブル118を用いないで、言語候補を選択してもよい。そして、言語決定部126は、語句テーブル124において、新たに選択された位置情報とは関連のない言語候補と語句とが対応付けられている場合、その言語候補についてS106〜S110の処理を行ってもよい。そして、語句テーブル124に設定されている全ての言語についてS106〜S110の処理を行っても入力言語が決定されない場合に、以下の方法を行ってもよい。なお、以下の方法は、上記の言語候補を新たに選択する方法を行わないで、行われてもよい。
例えば、言語決定部126は、ユーザが入力音声の言語を設定することで、入力言語を決定してもよい。また、言語決定部126は、入力音声の音韻等を解析することによって、入力言語を決定してもよい。また、言語決定部126は、世界中で使用されている言語全てについて辞書を設けておき、その全ての言語について入力音声を文字列に変換し、その文字列と辞書に登録された単語とを比較して一致する割合の高い言語を、入力音声の言語と決定してもよい。この場合、ユーザが、使用頻度の高い言語の順位が高くなるように優先順位を設定しておき、優先順位の高い言語から、上記の比較を行ってもよい。
言語決定部126は、決定された入力言語を示す信号と、入力音声とを、字幕生成部130に対して出力する。ステップS120,S122において、字幕生成部130は、字幕を生成する。具体的には、字幕生成部130は、言語決定部126によって決定された入力言語で、入力音声を文字列に変換する(S120)。なお、S120の処理における変換方法は、S106の処理における変換方法と実質的に同じでよい。一方、S120の処理は、字幕生成部130が、決定された入力言語のみについて変換を行う点、及び、入力音声の全てについて変換を行う点で、S106の処理と異なる。
字幕生成部130は、変換によって得られた文字列を用いて字幕を生成する(S122)。具体的には、字幕生成部130は、文字列を映像に重畳できる形式に変換することで、字幕を生成する。そして、字幕生成部130は、生成された字幕を表示端末20に対して送信する。そして、音声入力が終了していない場合(ステップS124のNO)、S120〜S122の処理が繰り返される。音声入力が終了すると(ステップS124のYES)、処理は終了する。
図6は、実施の形態1にかかる、字幕を表示している表示端末20を例示する図である。映像表示部26に映像が表示されている。また、音声出力部24から、入力音声「こんにちは、今日はいい天気です」が出力されている。そして、映像表示部26に表示された映像に重畳するようにして、字幕出力部28が、入力音声に対応する字幕を表示している。
上記のように、本実施の形態にかかる情報処理装置100は、音声の言語の候補を複数選択し、選択された複数の候補の言語それぞれについて音声を文字列に変換する。また、情報処理装置100は、複数の候補の言語それぞれについて、語句テーブル124における複数の候補それぞれに対応する語句の少なくとも1つが、得られた文字列に含まれるか否かを判定する。そして、情報処理装置100は、上記語句の少なくとも1つが文字列に含まれる場合に、この含まれる語句に対応する候補の言語を、音声の言語と決定する。
語句テーブル124に含まれる語句が、入力音声を言語候補で変換して得られた文字列に含まれる場合は、入力言語はその語句に対応する言語である可能性が非常に高い。例えば、語句「こんにちは」が入力音声に対応する文字列に含まれる場合、その入力音声は日本語である可能性が非常に高い。したがって、上記のような構成によって、本実施の形態にかかる情報処理装置100は、音声の言語を予め設定することなく、精度よく音声の言語を決定することが可能となる。
また、本実施の形態にかかる情報処理装置100は、言語候補を選択し、その言語候補で入力音声を文字列に変換している。これにより、世界中のあらゆる言語で入力音声を文字列に変換する必要はない。したがって、本実施の形態にかかる情報処理装置100では、処理の量の増加を抑制しつつ、より正確に音声の言語を決定することが可能となる。したがって、本実施の形態にかかる情報処理装置100は、速くかつ正確に、音声の言語を決定することができる。
また、実施の形態1にかかる語句テーブル124は、挨拶等の、発話において冒頭に発生し得る語句を、言語と対応付けている。発話において冒頭に発生し得る語句は、挨拶等の決まり文句に限られることが多い。さらに、冒頭に発生し得る語句を用いることによって、言語候補で入力音声を文字列に変換する際に、入力音声の冒頭の数秒のみを変換するのみでよい。したがって、実施の形態1にかかる情報処理装置100は、冒頭に発生し得る語句を含む語句テーブル124を使用することにより、より速くかつ正確に、入力音声の言語を決定することが可能となる。
また、実施の形態1にかかる情報処理装置100は、国/候補テーブル118を用いて言語候補を選択している。国で主に用いられる言語は、ある程度限られてくる。したがって、国/候補テーブル118を用いて言語候補を選択することで、選択された言語候補に入力言語が含まれる可能性が高くなる。したがって、実施の形態1にかかる情報処理装置100は、国/候補テーブル118を用いることによって、より精度よく、入力音声の言語を決定することが可能となる。さらに、位置情報から国を特定することは、比較的容易であり、短い時間で行うことができる。したがって、国/候補テーブル118を用いて言語候補を選択することで、処理時間の短縮を図ることが可能となる。
(実施の形態2)
次に、実施の形態2について説明する。実施の形態2は、国/候補テーブル118及び語句テーブル124が更新される点で、実施の形態1と異なる。実施の形態2のその他の構成については、実施の形態1と実質的に同様であるので、説明を省略する。
図7は、実施の形態2にかかる情報処理装置100の構成を示す図である。実施の形態2にかかる情報処理装置100のハードウェア構成は、実施の形態1にかかるものと実質的に同様である。実施の形態2にかかる情報処理装置100は、言語判定部210及び字幕生成部130を有する。言語判定部210は、言語判定部110が有する構成要素に加えて、更新部220を有する。
更新部220は、言語決定部126の処理に応じてテーブルを更新する。更新部220は、国/候補テーブル更新部222(第2の更新部)と、語句テーブル更新部224(第1の更新部)とを有する。国/候補テーブル更新部222は、国/候補テーブル118を更新する。語句テーブル更新部224は、語句テーブル124を更新する。以下、テーブルの更新方法について説明する。
図8は、実施の形態2にかかる情報処理装置100によって行われる処理を示すフローチャートである。なお、S102〜S114及びS122〜S124の処理については、図5に示したフローチャートにおける処理と実質的に同様である。S114において、S104〜S112の処理とは別の方法で入力言語が決定されると、国/候補テーブル更新部222は、国/候補テーブル118を更新する(ステップS202)。
具体的には、国/候補テーブル更新部222は、S114の処理において決定された入力言語を、言語候補として国/候補テーブル118に追加する。例えば、S102の処理で取得された位置情報が「日本」に対応したケースについて説明する。このとき、言語候補として、「日本語」及び「英語」が選択されたが、入力言語が「中国語」であったとする。この場合、国/候補テーブル更新部222は、国/候補テーブル118の国名「日本」の言語候補に、「中国語」を追加する。
次に、入力言語で入力音声が文字列に変換された後(S120)、語句テーブル更新部224は、語句テーブル124を更新する(ステップS204)。具体的には、語句テーブル更新部224は、S120の処理で得られた文字列から、冒頭の語句を抽出する。そして、語句テーブル更新部224は、抽出された語句を、入力言語に対応する語句として、語句テーブル124に追加する。例えば、入力言語が「中国語」であり、冒頭の語句が「ニイハオ」であった場合、語句テーブル更新部224は、語句テーブル124の言語「中国語」の語句に「ニイハオ」を追加する。また、例えば、入力言語が「日本語」であり、入力音声が「みなさん、今日はいい天気ですね・・・」である場合、語句テーブル更新部224は、語句テーブル124の言語「日本語」の語句に「みなさん」を追加する。
本実施の形態にかかる情報処理装置100は、図5に示したS104〜S112の処理で入力言語を決定できない場合、S114の処理において、S104〜S112の処理とは別の方法で、入力言語を決定する。一方、S114の処理は、ユーザが入力言語を入力する場合は、ユーザにとって煩わしい作業が追加されることとなる。また、言語候補を新たに選択する方法、入力音声の音韻等を用いる方法、及び言語全てについての辞書との比較を用いる方法では、S104〜S112の処理と比較して、入力言語の決定の精度が悪く、処理時間が長くなるおそれがある。したがって、できるだけ、S104〜S112の処理を用いて入力言語を決定することが望ましい。
一方、実施の形態2にかかる情報処理装置100は、国/候補テーブル118及び語句テーブル124を、自己学習により更新するように構成されている。したがって、図5に示したS104〜S112の処理で入力言語を決定できなかった場合でも、以降、その入力音声と同じ言語で、その入力音声に含まれる語句と同じ語句を含む音声が入力された場合に、図5に示したS104〜S112の処理で入力言語を決定することが可能となる。これにより、情報処理装置100が図8に示した処理を行うほど、S104〜S112の処理を行うことが可能となり、したがって、入力言語の決定の精度を向上させ、処理時間を短縮することが可能となる。
(実施の形態3)
次に、実施の形態3について説明する。実施の形態3は、複数の時間帯それぞれに対応する複数の語句テーブルが設けられている点で、他の実施の形態と異なる。実施の形態3のその他の構成については、他の実施の形態と実質的に同様であるので、説明を省略する。
図9は、実施の形態3にかかる情報処理装置100の構成を示す図である。実施の形態3にかかる情報処理装置100のハードウェア構成は、他の実施の形態にかかるものと実質的に同様である。実施の形態3にかかる情報処理装置100は、言語判定部310及び字幕生成部130を有する。言語判定部310は、語句テーブル124の代わりに、語句テーブル320を有する。語句テーブル320は、時間帯に応じて、複数のテーブルを有する。
図10は、実施の形態3にかかる語句テーブル320を例示する図である。語句テーブル320は、例えば、朝時間帯テーブル322と、昼時間帯テーブル324とを有する。朝時間帯テーブル322は、複数の言語それぞれと、複数の言語それぞれに対応する、朝の時間帯に発せられる可能性が高い語句とを対応付けている。昼時間帯テーブル324は、複数の言語それぞれと、複数の言語それぞれに対応する、昼の時間帯に発せられる可能性が高い語句とを対応付けている。
図10に示した例では、朝時間帯テーブル322において、言語「日本語」が、語句「おはよう」等と対応付けられている。また、朝時間帯テーブル322において、言語「英語」が、語句「Good morning」等と対応付けられている。一方、図10に示した例では、昼時間帯テーブル324において、言語「日本語」が、語句「こんにちは」等と対応付けられている。また、昼時間帯テーブル324において、言語「英語」が、語句「Hello」等と対応付けられている。朝時間帯では、「日本語」の発話で冒頭に「おはよう」等と発せられる可能性が高く、「英語」の発話で冒頭に「Good morning」等と発せられる可能性が高い。一方、昼時間帯では、「日本語」の発話で冒頭に「こんにちは」等と発せられる可能性が高く、「英語」の発話で冒頭に「Hello」等と発せられる可能性が高い。
なお、図10に示した語句テーブル320はあくまでも例示である。語句テーブル320は、夜時間帯に対応する語句テーブルを有してもよい。また、「時間帯」は、一日における期間のみを意味するものではない。例えば、「時間帯」は、春、夏、秋及び冬といった、一年における期間をも意味し得る。
図11は、実施の形態3にかかる情報処理装置100によって行われる処理を示すフローチャートである。実施の形態3にかかる処理は、図5に示したフローチャートのうち、S108の処理が変更されたものである。S108以外の処理については、実施の形態3にかかる処理は、実施の形態1にかかる処理と実質的に同様である。
ステップS300において、判定部122は、入力音声が発せられた時刻を示す時間情報を取得する。時間情報は、入力端末10から取得されてもよい。また、情報処理装置100が入力音声を取得した時刻を、入力音声が発せられた時刻としてもよい。
次に、ステップS302において、判定部122は、音声が発せられた時間帯を判定する。具体的には、判定部122は、S300で取得された時間情報によって示される時刻が、語句テーブル320におけるどの時間帯に含まれるかを判定する。例えば、S300で取得された時間情報によって示される時刻が、5:00〜12:00の時間帯に含まれる場合、判定部122は、音声が発せられた時間帯を「朝時間帯」と判定してもよい。また、例えば、S300で取得された時間情報によって示される時刻が、12:00〜18:00の時間帯に含まれる場合、判定部122は、音声が入力された時間帯を「昼時間帯」と判定してもよい。
次に、ステップS304において、判定部122は、S302の処理で判定された時間帯に対応する語句テーブル320から、選択された言語候補それぞれに対応する語句を抽出する。例えば、言語候補が「日本語」及び「英語」であり、時間帯が「朝時間帯」である場合、判定部122は、朝時間帯テーブル322から、語句「おはよう」及び「Good morning」を抽出する。
実施の形態3にかかる情報処理装置100は、上記のように複数の時間帯それぞれに対応する複数の語句テーブルを有する。したがって、音声が発せられた時間帯に応じて語句テーブルを切り替えることができるので、言語判定の処理を高速化することが可能となる。
(実施の形態4)
次に、実施の形態4について説明する。実施の形態4は、入力音声に関する人の人種から言語候補を選択する点で、他の実施の形態と異なる。実施の形態4のその他の構成については、実施の形態1等と実質的に同様であるので、説明を省略する。
図12は、実施の形態4にかかる情報処理装置100の構成を示す図である。実施の形態4にかかる情報処理装置100のハードウェア構成は、他の実施の形態にかかるものと実質的に同様である。実施の形態4にかかる情報処理装置100は、言語判定部410及び字幕生成部130を有する。
言語判定部410は、入力音声取得部112と、映像取得部412と、人種特定部414と、人種データベース416と、候補選択部418と、人種/候補テーブル420(第3のテーブル)と、変換部120と、判定部122と、語句テーブル124と、言語決定部126とを有する。映像取得部412、人種特定部414、人種データベース416及び候補選択部418については、図14等を用いて後で詳述する。
図13は、実施の形態4にかかる人種/候補テーブル420を例示する図である。人種/候補テーブル420は、人種と、言語候補とを対応付けている。言語候補は、人種/候補テーブル420において対応する人種の人が話す可能性の高い言語であり得る。図13に示した例では、人種A(例えばモンゴロイド等)が、言語候補として、「日本語」及び「中国語」等と対応付けられている。また、人種B(例えばコーカソイド等)が、言語候補として、「英語」及び「フランス語」等と対応付けられている。つまり、人種Aの人は、「日本語」又は「中国語」を話す可能性が高い。また、人種Bの人は、「英語」又は「フランス語」を話す可能性が高い。
図14は、実施の形態4にかかる情報処理装置100によって行われる処理を示すフローチャートである。なお、S106〜S124の処理については、図5に示したフローチャートにおける処理と実質的に同様である。まず、ステップS400において、入力音声取得部112は、入力端末10から入力音声を取得する。また、映像取得部412は、入力端末10から映像情報を取得する。映像取得部412は、取得された映像情報を、人種特定部414に対して出力する。なお、入力端末10から取得される映像情報は、入力音声が入力されたときに撮影された映像を示すことが好ましい。また、この映像は、入力音声の発話者が含まれることが望ましい。
次に、ステップS402において、人種特定部414は、人種データベース416を用いて、映像に含まれる人の人種を特定する。人種特定部414は、特定された人種を示す信号を、候補選択部418に対して出力する。人種データベース416は、様々な人種の人の顔等の身体的特徴を、対応する人種と対応付けている。身体的特徴とは、例えば、肌の色、目の色、髪の毛の色、鼻の高さ、骨格等である。人種特定部414は、映像に含まれる人の顔を認識する。そして、人種特定部414は、人種を特徴づける身体的特徴を検出して、検出された身体的特徴の特徴量と人種データベース416とを用いて、映像に含まれる人の人種を特定する。
次に、ステップS404において、候補選択部418は、特定された人種に対応する言語候補を、複数選択する。候補選択部418は、選択された複数の言語候補を、変換部120に対して出力する。具体的には、候補選択部418は、人種/候補テーブル420において、特定された人種に対応する言語を、言語候補として選択する。例えば、特定された人種が「人種A」である場合、候補選択部418は、「日本語」及び「中国語」を、言語候補として選択する。
実施の形態4にかかる情報処理装置100は、音声に関する人の人種を特定し、特定された人種に対応する言語を、言語候補として選択する。日本のように、日本語が話される可能性が高い国もある一方で、米国のように、多くの言語が話される可能性が高い国もある。したがって、実施の形態4にかかる情報処理装置100は、入力音声に関する人の人種に応じて言語候補を選択することによって、より精度よく、入力言語を決定することが可能となる。
(実施の形態5)
次に、実施の形態5について説明する。実施の形態5は、音声が入力された位置を示す位置情報と入力音声に関する人の人種とから言語候補を選択する点で、他の実施の形態と異なる。実施の形態5のその他の構成については、実施の形態1及び実施の形態4等と実質的に同様であるので、説明を省略する。
図15は、実施の形態5にかかる情報処理装置100の構成を示す図である。実施の形態5にかかる情報処理装置100のハードウェア構成は、他の実施の形態にかかるものと実質的に同様である。実施の形態5にかかる情報処理装置100は、言語判定部510及び字幕生成部130を有する。言語判定部510は、入力音声取得部112と、位置情報取得部114と、国/候補テーブル118と、映像取得部412と、人種特定部414と、人種データベース416と、人種/候補テーブル420と、候補選択部518と、変換部120と、判定部122と、語句テーブル124と、言語決定部126とを有する。候補選択部518については、図16を用いて後述する。
図16は、実施の形態5にかかる情報処理装置100によって行われる処理を示すフローチャートである。なお、S106〜S124の処理については、図5に示したフローチャートにおける処理と実質的に同様である。まず、ステップS500において、入力音声取得部112は、入力端末10から入力音声を取得する。また、位置情報取得部114は、入力端末10から位置情報を取得する。位置情報取得部114は、取得された位置情報を、候補選択部518に対して出力する。さらに、映像取得部412は、入力端末10から映像情報を取得する。映像取得部412は、取得された映像情報を、人種特定部414に対して出力する。
ステップS502において、図14に示したS402の処理と同様にして、人種特定部414は、人種データベース416を用いて、映像に含まれる人の人種を特定する。人種特定部414は、特定された人種を示す信号を、候補選択部518に対して出力する。
ステップS504において、候補選択部518は、国又は人種に対応する言語候補を、複数選択する。具体的には、図5に示したS104の処理と同様にして、候補選択部518は、入力音声が入力された国に対応する言語候補を、複数選択する。また、図14に示したS404の処理と同様にして、候補選択部518は、特定された人種に対応する言語候補を、複数選択する。例えば、図3及び図13に例示したテーブルを用いる例において、音声が入力された国が「日本」であり、人種が「人種A」と特定された場合、候補選択部518は、「日本語」、「英語」及び「中国語」を、言語候補として選択する。
国/候補テーブル118のみを用いて言語候補を選択する場合、発話者の属性を考慮していないので、発話者が旅行者である場合等では、入力言語が言語候補に含まれない可能性が高くなる。また、人種/候補テーブル420のみを用いて言語候補を選択する場合でも、例えば米国に居住するモンゴロイド系住民である場合等では、その人は英語を話す可能性が高いので、入力言語が言語候補に含まれない可能性が高くなる。
これに対し、実施の形態5にかかる情報処理装置100は、国/候補テーブル118及び人種/候補テーブル420の両方を用いて言語候補を選択するように構成されている。したがって、言語候補を多く選択することができ、したがって、入力言語が言語候補に含まれる可能性が高くなる。これにより、図5に示したS104〜S112の処理によって入力言語を決定することができる可能性が高くなる。したがって、実施の形態5にかかる情報処理装置100は、より精度よく、入力言語を決定することが可能となる。
(変形例)
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、上述したフローチャートにおける各処理の順序は、適宜、変更可能である。また、上述した複数の実施の形態は、互いに適用可能である。
例えば、実施の形態2を、実施の形態3に適用してもよい。この場合、更新部220は、入力音声が発せられた時間帯に応じて、語句テーブル320を更新するようにしてもよい。また、実施の形態2を、実施の形態4に適用してもよい。この場合、更新部220は、図8に示したS202と同様の方法で、人種/候補テーブル420を更新してもよい。つまり、更新部220は、S402の処理で特定された人種と、S114で決定された入力言語とを、人種/候補テーブル420において対応付けてもよい。このとき、更新部220は、第3の更新部として機能する。
また、上述した実施の形態では、国/候補テーブル118において、国と言語候補とを対応付けているが、このような構成に限られない。言語候補と国とを対応付けるのではなく、言語候補と地域又は施設等の場所つまり位置とを対応付けてもよい。例えば、観光地及び国際会議場等の、外国人が多く集まる場所では、多くの言語候補を対応付けてもよい。
また、上述した実施の形態においては、語句テーブルに含まれる語句は、入力音声の冒頭に発生し得る語句であるとしたが、このような構成に限られない。語句テーブルに含まれる語句は、冒頭に発生し得るものでなくてもよい。また、この場合、図8に示した実施の形態2にかかるフローチャートにおいて、S110のYESの場合も、語句テーブル124の更新を行ってもよい。つまり、入力音声に含まれる語句のうち、冒頭の語句以外の語句についても、語句テーブル124に追加してもよい。
なお、上述したように、冒頭の語句は、挨拶等、ある程度限られる。そして、冒頭に発生し得る語句を用いることによって、言語候補で入力音声を文字列に変換する際に、入力音声の冒頭の数秒のみを変換するのみでよい。したがって、冒頭に発生し得る語句を含む語句テーブル124を使用することにより、より速くかつ正確に、入力音声の言語を決定することが可能となる。
また、上述した実施の形態において、入力端末10は表示端末20と別個の端末であるとしたが、入力端末10は、表示端末20と一体であってもよい。つまり、情報処理装置100は、入力端末10及び表示端末20が一体となって構成された入出力装置に入力された音声を文字列に変換し、得られた文字列をこの入出力装置に送信してもよい。本発明は、このような構成をも包含する。
また、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。