(58)【調査した分野】(Int.Cl.,DB名)
前記サービス提供設備装置は、前記リクエスト送信手段からのリクエストに応答して、処理対象の言語データを前記言語サービスにより処理した結果と、前記言語資源の内、当該処理の結果を得る過程で使用した言語資源からなる補強用の言語資源とを、ともに、又は別個に、前記ローカル言語資源の補強装置に送信し、
前記言語資源補強手段は、前記サービス提供設備装置と通信可能なときに、前記サービス提供設備装置から送信されてくる前記補強用の言語資源を受信して、前記ローカル言語資源に前記補強用の言語資源を追加するための言語資源追加手段を含む、請求項1に記載のローカル言語資源の補強装置。
前記補強用言語資源作成手段は、さらに、他の端末装置でローカルに使用するローカル言語資源の補強を依頼するリクエストを前記他の端末装置から受信したことに応答して、前記サービス提供手段がサービスを提供する際に使用した部分的な言語資源を用いて前記補強用言語資源を作成するための手段を含む、請求項4に記載のサービス提供設備装置。
前記作成するための手段は、前記予め準備された言語資源の内で、前記他の端末装置からのリクエストに応答して前記サービス提供手段がサービスを提供する際に使用した部分的な言語資源を一時記憶するための一時記憶手段を含み、
前記補強用言語資源送信手段は、前記サービス提供手段により提供されるサービスの処理結果とともに、前記一時記憶手段に記憶されていた前記部分的な言語資源を送信する、請求項5に記載のサービス提供設備装置。
【発明を実施するための形態】
【0026】
以下の説明及び図面では、同一の部品には同一の参照番号を付してある。したがって、それらについての詳細な説明は繰返さない。
【0027】
[第1の実施の形態]
〈概略〉
《全体構成(
図1)》
図1を参照して、この発明に係る音声翻訳システム100は、インターネット102に接続された、音声翻訳クライアント装置からの音声翻訳要求に応答して、言語サービスの一種である音声翻訳サービスを提供する設備装置であるサーバ106と、インターネット102に接続可能で、インターネット102を介してサーバ106と通信可能であればサーバ106により提供される音声翻訳サービスを利用し(
図1(A))、何らかの原因でサーバ106と通信することができないときには(
図1(B))ローカルな環境で音声翻訳サービス(以下、これを「ローカル音声翻訳サービス」と呼ぶ。)112を実行する機能を持つ携帯型端末104とを含む。ローカル音声翻訳サービス112は、オンラインでサーバ106と通信できないときに、ローカルに音声翻訳サービスを提供する機能と考えることができる。
【0028】
サーバ106は、大容量の音声処理用の辞書(大語彙辞書108)を用いて音声翻訳サービスを行なう。大語彙辞書108は、個々の語彙を現すデータ項目(辞書エントリ)を、互いに区別できる形式で多数記憶している。なお、音声翻訳サービスにおいては、音声認識のための統計的モデルである音響モデル及び自動翻訳のための統計的モデルである翻訳モデルに加え、一般に、ソース言語の音声認識のための単語辞書と、翻訳時の目的言語の単語辞書と、ソース言語及び目的言語の組合せに応じた翻訳辞書と、ターゲット言語の音声合成時の単語辞書とが必要とされる。以下の説明では、主として音声認識用及び音声合成用の単語辞書並びに翻訳辞書について、サーバ106が、端末ごと(又はユーザごと)に、ユーザ辞書を補強する処理を行なう場合について説明する。
【0029】
なお、
図1(A)において、携帯型端末104がサーバ106の音声翻訳サービスを利用する場合、以下のような手順で作業が行なわれる。まず、ユーザが発話した音声を携帯型端末104からサーバ106に翻訳要求とともに送る。サーバ106は、この音声に対して大語彙辞書108を用いた音声認識を行ない、ソース言語の形態素列を出力する。サーバ106はさらに、この形態素列を入力とし、翻訳要求に付された言語ペアの情報にしたがった自動翻訳を行なう。この際、大語彙辞書108内のターゲット言語の言語辞書、及び指定された言語ペアの翻訳辞書が使用される。自動翻訳の結果、目的言語の形態素列が得られるので、その形態素列に対する音声合成を行なって合成音声をサーバ106から携帯型端末104に送信する。この音声合成の際、大語彙辞書108内のターゲット言語の音声合成用の単語辞書が使用される。携帯型端末104は、この合成音声をスピーカで発声する。
【0030】
図1(B)を参照して、携帯型端末104は、ローカル音声翻訳サービス112を実行するために用いる、大語彙辞書108よりも小さな音声処理用のローカル辞書110を内蔵している。ローカル辞書110は、互いに区別される語彙を個々のデータ項目として、大語彙辞書108のデータ項目数より小さな数のデータ項目を記憶している。この数が大語彙辞書108のデータ項目数より小さいのは、携帯型端末104のハードウェア上及び性能上の制約による。
【0031】
図1(B)の実施形態では、上記した音声翻訳の過程で、サーバ106が携帯型端末104のローカル辞書110に追加登録すべき単語候補を抽出し、一時的に記憶した後、音声翻訳の結果を送信する際に一緒に携帯型端末104に送る。携帯型端末104では、受信した単語候補の内、ローカル辞書110に存在しないもののみをローカル辞書110に追加登録する。これら処理の詳細については後述する。
【0032】
音声認識用辞書の各エントリは、見出し語である単語(又は形態素)と、その見出し語に対する音声認識を機能させるために必要な情報を含む。
【0033】
翻訳用辞書の各エントリは、見出し語である単語(又は形態素)と、その見出し語に対する言語翻訳を機能させるために必要な情報を含む。
【0034】
音声合成用辞書の各エントリは、見出し語である単語(又は形態素)と、その見出し語に対する音声合成を機能させるために必要な情報を含む。
【0035】
─音声翻訳及び辞書登録のシーケンス(
図2)─
図2を参照して、音声翻訳システム100のサーバ106により提供される音声翻訳サービスを用いた音声翻訳の際の、携帯型端末104とサーバ106との間の典型的な通信シーケンスを説明する。ここで、携帯型端末104がローカルに保持している言語資源であるローカル辞書110は、携帯型端末104でローカルに稼動するローカル音声翻訳サービス112が使用する、基本的な語彙を収めた基本辞書134と、ユーザが独自に語彙を登録できるユーザ辞書130とを含む。本実施の形態に係るローカル辞書110はさらに、サーバ106の機能によって、基本辞書134に含まれず、かつユーザ辞書130にも含まれない単語であって、サーバ106による音声翻訳サービスの過程で使用され一時的に記憶装置に記憶されていた音声認識用、自動翻訳用、及び音声合成用の単語辞書のエントリからなる、ユーザ辞書130を補強するためのパーソナル辞書132を含む。
【0036】
最初に、携帯型端末104において音声入力150を行ない、その音声データと、音声翻訳の言語の組合せ等の情報とを含む音声認識リクエストをサーバ106に送信する。このリクエストは、本実施の形態では、音声認識の依頼であるとともに、ローカルのユーザ辞書130を補強する処理を行なうようサーバ106に対して行なわれる補強依頼でもある。
【0037】
サーバ106は、音声認識リクエストを受信すると、音声認識処理152を行なう。この音声認識の過程で、サーバ106は、大語彙辞書108の内、音声認識処理152により用いられた辞書エントリをパーソナル辞書作成用記憶部380(
図4参照)に一時的に記録する。続いてサーバ106は、音声認識処理152により出力されるソース言語の形態素列に対し、ターゲット言語への自動翻訳154を行なう。この自動翻訳処理の過程でもサーバ106は、大語彙辞書108内の音声認識用辞書の、自動翻訳154で用いられたエントリをパーソナル辞書作成用記憶部380に一時的に記録する。さらにサーバ106は、自動翻訳154により得られたターゲット言語の形態素列に基づいて、図示しない音声合成用のリソースを用いて音声合成156を行なう。この音声合成処理の過程でもサーバ106は、大語彙辞書108内の音声合成用辞書の、音声合成156で用いられたエントリをパーソナル辞書作成用記憶部380に一時的に記憶する。最後に、サーバ106は、音声認識結果、自動翻訳結果、及び合成音声からなるサービスの利用結果、並びにパーソナル辞書作成用記憶部380に一時的に記録されたパーソナル辞書132の補強用言語資源である辞書エントリを携帯型端末104に送信する(処理158)。なお、サーバ106においては、自動翻訳154による翻訳結果をソース言語に逆翻訳し、その結果の形態素列も携帯型端末104に送信する。このように逆翻訳を携帯型端末104で表示することにより、ユーザは自分の意図した内容がターゲット言語に翻訳されたか否かを判断できる。ただし、逆翻訳については本発明に直接関係するわけではないので、以下の説明では逆翻訳についての説明は行なわない。
【0038】
サーバ106からの音声認識結果、自動翻訳結果、合成音声、及び辞書エントリを受信した携帯型端末104は、音声認識と自動翻訳との結果のテキストを画面に表示すると同時に、合成音声をスピーカを用いて発声する(処理160)。この音声を携帯型端末104のユーザと対話している相手に聞かせることで、ユーザと相手との対話を行なうことができる。
【0039】
さらに、続く処理162で、サーバ106から受信したソース言語及びターゲット言語の音声認識用及び音声合成用辞書のエントリと、ソース言語及びターゲット言語の組合せに対応する翻訳辞書のエントリとをパーソナル辞書132のソース言語及びターゲット言語の音声認識用及び音声合成用辞書、並びにソース言語とターゲット言語との組合せに対応する翻訳辞書に追加する。この処理により、ローカルの言語資源であるユーザ辞書130が補強される。ただし、サーバ106から送信された辞書エントリの内、既にユーザ辞書130又は基本辞書134に収められている単語はパーソナル辞書132には追加しない。
【0040】
なお、サーバ106が送出する辞書エントリの作成及び一時的記憶、並びにクライアント装置への送信は、音声翻訳サービスの提供と同時である必要はなく、どのようなタイミングでもよい。例えば、音声翻訳の履歴をクライアント装置ごとに記録しておき、それら履歴に基づいて辞書エントリを作成し記憶してもよい。エントリの送信も音声翻訳サービス提供と同時である必要はなく、サーバ106に保持しておいて何らかのタイミングでクライアント装置に送信してもよい。サーバ106において、携帯型端末104の基本辞書134の語彙が分かっている場合には、処理158で携帯型端末104に送信する辞書エントリの内、基本辞書に搭載されているエントリを除くようにしてもよい。
【0041】
なお、
図2に示したのは典型的な処理シーケンスである。この処理シーケンスと異なるシーケンスであっても、
図2に示したものと本質的に同じ通信を同じ順序で含む処理シーケンスであれば、本実施の形態と同じ効果を得ることができることはいうまでもない。ユーザがさらに音声翻訳サービスを利用する場合には、
図2のシーケンスが繰返し実行される。
【0042】
なお、クライアント装置は、パーソナル辞書に登録されたエントリを、そのクライアント装置において各エントリが使用された頻度にしたがって自動的に保守する機能を持つものとしてもよい。例えば、パーソナル辞書のエントリごとに、音声翻訳サービスにおいて使用された回数を記憶しておき、パーソナル辞書が肥大化して一定の容量を超えると、使用頻度の低いエントリを消去するようにしてもよい。こうすることで、パーソナル辞書の容量を一定以下に維持することができる。
【0043】
〈ハードウェア構成〉
《携帯型端末104(
図3)》
図3を参照して、携帯型端末104は、所定のプログラムを実行して携帯型端末104の各部を制御することにより、種々の機能を実現するためのプロセッサ250と、プロセッサ250が実行する各種プログラム及びデータを記憶するメモリ252と、プロセッサ250のための作業記憶領域を提供するRAM262と、プロセッサ250と後述する各種センサ等との間のインターフェイス254とを含む。以下に説明する構成要素は、いずれも、インターフェイス254を介してプロセッサ250と通信可能である。
【0044】
携帯型端末104はさらに、マイクロフォン256、GPS機能により携帯型端末104の位置の経度及び緯度情報を取得するためのGPS受信機258、各種のセンサ群260、無線通信により図示しない基地局を介してインターネット102に接続可能な通信装置272、タッチパネル274、タッチパネル274とは別に携帯型端末104の筐体に設けられた操作ボタン276、及びスピーカ280を含む。
【0045】
メモリ252は、サーバ106と通信可能なときにサーバ106が提供する音声翻訳サービスを利用するための音声翻訳クライアントアプリケーションプログラム(以下、「音声翻訳クライアント」と呼ぶ。)300と、ローカル音声翻訳サービス112(
図1を参照)を実現するためのアプリケーション群、音響モデル及び翻訳モデル、並びに音声合成のための音響リソース等のローカルプログラム群302と、前述したローカル辞書110に対応する辞書群304と、サーバ106との通信によりパーソナル辞書132にエントリを追加する処理を実行するパーソナル辞書自動登録プログラム306と、ユーザがユーザ辞書130を保守するために使用する辞書保守プログラム308とを記憶する。
【0046】
《サーバ106(
図4)》
上記実施の形態に係るサーバ106は、コンピュータハードウェアと、そのコンピュータハードウェア上で実行されるコンピュータプログラムとにより実現できる。
図4はこのサーバ106を構成するコンピュータの内部構成を示す。
【0047】
図4を参照して、サーバ106は、ルータ376を介してインターネット102に接続されるLAN378と、LAN378に接続され、メモリポート352及びDVD(Digital Versatile Disc)ドライブ350を有するコンピュータ340と、いずれもコンピュータ340に接続されたキーボード346、マウス348、及びモニタ342とを含む。サーバ106はさらに、コンピュータ340に接続されたプリンタを含んでもよい。
【0048】
コンピュータ340は、メモリポート352及びDVDドライブ350に加えて、CPU(中央処理装置)356と、CPU356に接続されたバス366とを含む。メモリポート352及びDVDドライブ350もこのバス366に接続されている。コンピュータ340はさらに、バス366に接続され、ブートアッププログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム、及び作業データ等を一時的に記憶するRAM360とを含む。サーバ106はさらに、CPU356が使用する、音声認識、自動翻訳、音声合成等のためのプログラムと、これらに必要な音響モデル、翻訳モデル、単語辞書、音声合成用の音声素片等の各種データと、コンピュータ340のオペレーティングシステムプログラム等を記憶するハードディスク354と、コンピュータ340に、LAN378上又はルータ376を介してインターネット102上の他端末(例えば携帯型端末104)との接続を提供するネットワークインターフェイスカード(NIC)368と、HDD354に記憶された各種辞書の内、ユーザからの音声翻訳リクエストの処理に参照され使用された辞書エントリを携帯型端末104の端末IDと関連付けて一時的に記憶するための、ハードディスク等からなるパーソナル辞書作成用記憶部380とを含む。
【0049】
ハードディスク354は、音声翻訳サーバの各機能部をサーバ106のコンピュータハードウェアにより実現するためのコンピュータプログラム、オペレーティングシステム(OS)、及び各種モデル等のデータを記憶する不揮発性の補助記憶装置である。このコンピュータプログラムは、DVDドライブ350又はメモリポート352にそれぞれ装着されるDVD362又はリムーバブルメモリ364に記憶され、さらにハードディスク354に転送され記憶される。又は、プログラムはインターネット102、ルータ376及びNIC368を通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。上記各実施の形態の装置及び方法を実現するためのプログラム、及び各種のデータは実行の際に適宜RAM360にロードされる。DVD362から、リムーバブルメモリ364から、又はネットワークを介して、直接にRAM360に各種プログラム及びデータをロードしてもよい。
【0050】
〈ソフトウェア構成〉
《サーバ106(
図5)》
サーバ106で実行される音声翻訳サービスのプログラムの制御構造を
図5に示す。音声翻訳サービスの各機能を実現するためのプログラムは,以下のような制御構造を持つ。なお、このプログラムは、コンピュータ340を、上記実施の形態に係る音声翻訳サーバの各機能部として機能させるための複数の命令を含む。この動作を行なわせるのに必要な基本的機能のいくつかはコンピュータ340上で動作するOS若しくはサードパーティのプログラム、又は、コンピュータ340にインストールされる各種プログラミングツールキットのモジュール若しくはフレームワークにより提供される。したがって、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な命令を必ずしも全て含まなくてよい。このプログラムは、命令の内容にしたがい、所望の結果が得られるように制御されたやり方で適切な機能又はプログラミングツールキット内の適切なプログラムツールを呼出すことにより、上記したシステムとしての機能を実現する命令のみを含んでいればよい。このように、適宜必要な命令又は一連の命令の集合を必要に応じて適宜記憶装置から読出して実行する際のサーバ106の動作は周知である。したがってここではその詳細な説明は繰返さない。
【0051】
図5を参照して、このプログラムは、起動後にまず記憶領域の確保、所定変数の値の初期化、通信状態の確認等の初期化処理を行なうステップ400と、ステップ400の初期化が完了した後、端末からの音声翻訳リクエストの受信等のイベントを待ち受け、イベントが発生するとイベントの種類に応じて制御の流れを分岐させるステップ402とを含む。ステップ402で受ける可能性のあるイベントとしては、携帯型端末104等からの音声翻訳リクエスト、音声認識結果の修正リクエスト、音声翻訳の条件設定リクエスト等、種々のものがあり得る。ここでは本発明に特に関係のある、音声翻訳リクエストに応答してサーバ106が実行する処理部分について説明し、それ以外のリクエストがあったときの処理は
図5においてステップ430としてまとめて示し、その詳細については説明しない。
【0052】
ステップ402で携帯型端末104等のクライアント装置から音声翻訳リクエストを受信すると、制御はステップ404に進む。音声翻訳リクエストは、翻訳対象となる音声データと、翻訳言語の組合せを示す情報と、端末ID及びそのアドレス等とを含む。ステップ404では、このリクエストがクライアント装置との新たなセッションを開くものか否かを判定する。新たなセッションの場合、サーバ106はユニークなセッションIDを生成し、そのセッションIDと、クライアント装置の端末IDとをRAM360(
図4)に保存する(ステップ406)。以後、クライアント装置との通信には必ずこのセッションIDを使用してクライアント装置を区別する。セッションIDと端末IDとを関係付けることにより、各端末に応じた処理をサーバ106で管理することが可能になる。セッション管理自体はよく知られた技術であり、説明及び図面を分かりやすくするため、セッション管理についての詳細は以後の説明では行なわない。
【0053】
なお、ここでいう「新規」とは、過去の一定期間内にこの端末IDから音声翻訳リクエスト等がなかったことをいう。セッションID及び端末IDは、その端末からの通信が所定期間なかったときには自動的に廃棄されるので、その後に同じ端末から音声翻訳リクエストを受信したときには新規のリクエストとして扱われる。
【0054】
この後、ステップ408で、リクエストとともに受信した音声データに対し、音声認識プログラムを実行することにより音声認識を行なう。この音声認識のプロセスでは、音声認識結果の語彙を得るために、ソース言語の単語辞書が使用される。音声認識が終了すると、認識結果の形態素列からなるテキストが得られる。
【0055】
ステップ408に続くステップ410では、音声データと、その認識結果と、音声認識で使用された辞書エントリをパーソナル辞書作成用記憶部380に一時的に記憶する。
【0056】
続くステップ412では、ステップ408で得られた音声認識の結果である形態素列に対し、音声翻訳リクエスト中の設定データにより特定される言語への自動翻訳を実行する。この自動翻訳のプロセスでは、言語の組合せに応じた翻訳辞書と、ターゲット言語の単語辞書とが使用される。
【0057】
ステップ412に続くステップ414で、ステップ412の自動翻訳で使用された辞書エントリをパーソナル辞書作成用記憶部380に一時的に記憶する。
【0058】
ステップ414に続くステップ416では、ステップ412の翻訳結果をソース言語に逆翻訳し、翻訳結果の音声を合成する。最終的に、音声認識の結果である形態素列及びその付属情報と、翻訳結果と、逆翻訳結果と、合成音声とが得られる。ステップ416に続くステップ418において、サーバ106は、これらの情報と、パーソナル辞書作成用記憶部380に一時的に記録されていた音声認識及び自動翻訳の際に使用された各種辞書の辞書エントリ、並びに辞書の種類及び言語を示す情報とともに、音声翻訳リクエストを送信してきた端末装置に送信して制御をステップ402に戻す。なお、ここで送信される辞書エントリは、ほとんどの場合、各辞書について複数存在するが、それらは全て携帯型端末104に送信される。
【0059】
ステップ402で他のイベントが発生した場合には、制御はステップ430に分岐し、そのイベントに対応した処理を実行して制御をステップ402に戻す。
【0060】
《携帯型端末104(
図6)》
携帯型端末104で実行される、音声認識クライアントアプリケーションの内、サーバ106から音声翻訳結果を受信したときに実行されるルーチン部分の制御構造を
図6に示す。音声認識クライアントアプリケーションの内、この部分以外については、本発明とは関係がほとんどないので、ここではその詳細は説明しない。
【0061】
例えば、本実施の形態では、このプログラムを起動するためのアイコンが携帯型端末104のタッチパネル画面に表示され、利用者がそのアイコンにタッチすることにより起動される。画面には音声入力を開始又は終了させるボタン、音声翻訳の組合せを設定するためのボタン等が表示されており、それらボタンを押すことにより、ユーザが望む処理に対応したリクエストが、そのリクエストを処理するために必要とされるデータとともにサーバ106に送信される。
図6に示されるのは、音声翻訳リクエストをサーバ106に送信した後、サーバ106から音声翻訳結果を受信したときに実行されるルーチン部分である。
【0062】
図6を参照して、このルーチンは、サーバ106から受信した音声認識結果のテキスト、自動翻訳結果のテキスト、逆翻訳結果のテキスト、合成音声データ、音声認識用辞書エントリ、及び翻訳用辞書エントリを互いに分離するステップ450と、音声認識結果、翻訳結果、及びその逆翻訳結果を携帯型端末104の画面に表示するステップ452と、自動翻訳結果の合成音声をスピーカ280(
図3)を駆動して発声するステップ454とを含む。スピーカ280を合成音声データにしたがって駆動することで、要求した発話の翻訳結果が音声の形で提示される。
【0063】
続いて、サーバ106から受信した複数の音声認識用辞書エントリに対して以下に述べる処理を実行するステップ456が実行される。
【0064】
ステップ456で音声認識用辞書エントリの各々に対して実行される処理は、ローカル辞書110の内、音声認識用の単語辞書のいずれかに、処理対象の辞書エントリが存在するか否かを判定するステップ458と、ステップ458の判定が否定のときに、処理対象の辞書エントリを音声認識用のパーソナル辞書(パーソナル辞書132の一部)に追加するステップ460とを含む。ステップ458の判定が肯定ならその辞書エントリについては何もされない。
【0065】
このプログラムはさらに、サーバ106から受信した複数の自動翻訳用辞書エントリに対して以下に述べる処理を実行するステップ462を含む。
【0066】
ステップ462で各エントリに対して実行される処理は、処理対象の自動翻訳用辞書エントリが、ローカル辞書110の内、自動翻訳用辞書のいずれかに存在するか否かを判定するステップ464と、ステップ464の判定が否定のときに、処理対象の辞書エントリを自動翻訳用のパーソナル辞書(パーソナル辞書132の一部)に追加するステップ466とを含む。ステップ464の判定が肯定の場合には、その辞書エントリについては何も行なわれない。
【0067】
以上が、携帯型端末104で実行される、サーバ106の音声翻訳サービスを利用するための音声翻訳クライアント300の内、サーバ106から音声翻訳結果と辞書エントリとを受信したときに行なわれるルーチンの制御構造である。
【0068】
〈動作〉
《概要》
─音声翻訳─
携帯型端末104等には、
図3に示すような音声翻訳クライアント300を予め配布しておく。本実施の形態では、携帯型端末104が接続可能なサーバ106は、音声翻訳クライアント300により固定されているものとする。もちろん、サーバ106が複数あるなら、ユーザがそれらの中から所望のものを選択するようにしてもよい。
【0069】
サーバ106の音声翻訳サービスを利用しようとする場合のユーザの操作については前述したとおりである。ユーザによる音声入力が終了すると、収録された音声データが、翻訳言語の組合せを示す情報、携帯型端末104の端末ID及びアドレスとともに、音声翻訳リクエストとしてサーバ106に送信される。なおこれに先立ち、ユーザは、予め定められた手順で設定画面を呼出し、自分が利用しようとするソース言語とターゲット言語との組合せを選択しておく必要がある。
【0070】
サーバ106は、この音声翻訳リクエストを受信すると(
図5のステップ402)、このセッションが新規か否かを判定し(ステップ404)、新セッションのときにはそのセッションのためのユニークなセッションIDを生成し、このセッションIDと相手の端末の端末IDとを記録する。
【0071】
続いてステップ408で、音声認識が行なわれる。この際、ソース言語の音声認識用の単語辞書の辞書エントリが使用される。ステップ408に続くステップ410において、携帯型端末104から受信した音声データと音声認識結果と、どの辞書エントリが使用されたかを示す情報とが端末IDと関連付けられてパーソナル辞書作成用記憶部380(
図3)に一時的に記録される。
【0072】
続くステップ412において、音声翻訳リクエスト中の言語ペア情報にしたがって言語ペアを選択し、その言語ペアに応じた自動翻訳用単語辞書と、ターゲット言語の単語辞書とを用いて自動翻訳をする。ステップ414において、自動翻訳結果の形態素列と、自動翻訳用辞書と、ターゲット言語の単語辞書との内で自動翻訳の過程において使用された辞書エントリを示す情報がパーソナル辞書作成用記憶部380に一時的に記録される。
【0073】
さらに、ステップ416で、翻訳結果に対する逆翻訳と、翻訳結果に関する音声合成とが行なわれる。
【0074】
最後にステップ418で、音声認識結果と、翻訳結果と、その逆翻訳と、翻訳結果の合成音声とが携帯型端末104に送信される。このとき、ステップ410及びステップ414でパーソナル辞書作成用記憶部380に一時的に記録された情報にしたがい、音声翻訳の処理で使用された各辞書のエントリが、辞書の言語及び種類を示す情報とともに携帯型端末104に送信される。
【0075】
ステップ418の処理が終了すると、携帯型端末104からの音声翻訳リクエストの処理は一旦終了し、サーバ106は次のリクエストを待ち受ける状態(ステップ402)に戻る。
【0076】
─パーソナル辞書へのエントリの追加─
ステップ418でサーバ106から送信された情報を受信した携帯型端末104は、以下のように動作する。
図6を参照して、ステップ450,452及び454により、音声認識結果、翻訳結果、及び逆翻訳を表示し、翻訳結果の合成音声を発声させる。さらに、
図6のステップ456を実行することにより、サーバ106から受信した音声認識用辞書のエントリの内、ローカル辞書110中の音声認識用単語辞書(ユーザ辞書130、パーソナル辞書132及び基本辞書134)にないエントリがあれば、そのエントリを追加する。音声認識用単語辞書に既にあるエントリについては何もしない。この処理は、ソース言語の単語辞書と、ターゲット言語の単語辞書の双方について行なう。ステップ462において、ローカル辞書110中の、自動翻訳の言語ペアに応じた自動翻訳用辞書についても同様の処理を行なう。この後、携帯型端末104はユーザによる操作待ちの状態に戻る。
【0077】
以上の処理により、携帯型端末104がサーバ106と通信可能なときにサーバ106の音声翻訳サービスを利用すると、そのとき使用された単語辞書及び翻訳辞書のエントリの内、携帯型端末104のローカル辞書110内に存在していない辞書エントリが、自動的に、携帯型端末104のローカル辞書110内の適切なパーソナル辞書132に追加される。ユーザにより使用された語句は、その後も繰返して使用される可能性が高い。携帯型端末104でローカル音声翻訳サービス112を動作させたときには、パーソナル辞書132が使用されるので、音声認識及び音声翻訳において、正しい単語が使用される可能性を高められる。その結果、携帯型端末104がサーバ106と通信できない状態のときに、携帯型端末104でローカルに実行される音声翻訳サービスの精度を高めることができる。
【0078】
なお、上記した実施の形態では、音声翻訳のソース言語の単語辞書、言語ペアに応じた翻訳辞書、及びターゲット言語の単語辞書について使用されたエントリをパーソナル辞書132に自動的に追加している。しかし、本発明はそのような実施の形態には限定されない。上記した3種類の辞書の全てではなく、一部の辞書についてのみエントリの追加を行なうようにしてもよい。また、サーバ106から送信されてきた辞書エントリをパーソナル辞書132に追加するに先立って、ユーザにその内容を確認させたり、パーソナル辞書132に追加する単語及び追加しない単語を区分させたりしてもよい。
【0079】
[第2の実施の形態]
〈概略〉
上記第1の実施の形態では、携帯型端末104とサーバ106とが通信可能な状態で、携帯型端末104のユーザがサーバ106の音声翻訳サービスを利用したときに、サーバ106での処理で用いられた辞書エントリを携帯型端末104のローカルのパーソナル辞書に登録している。こうすることで、一度使用した語彙が携帯型端末104でローカルに利用できる。携帯型端末104がサーバ106と通信できない場合、携帯型端末104のローカル音声翻訳サービスを使用する場合にも、その語彙を使用して処理の精度を高めることができる。
【0080】
しかしこのような方法によると、ユーザによる音声翻訳リクエストの処理に伴って一度使用した語彙でないと、パーソナル辞書には登録されない。ユーザが頻繁にサーバ106の音声翻訳サービスを利用し、かつその処理に必要な語彙が広範囲にわたる場合には、携帯型端末104のパーソナル辞書も充実することが予測される。しかし、実際にはパーソナル辞書の語彙が十分多くなるほど頻繁に音声翻訳サービスを利用することは難しい。したがって、何らかの方法で携帯型端末104にローカルで準備される辞書を、ユーザによる使用頻度が低くても早く充実させる技術があるとより望ましい。以下に説明する第2の実施の形態に係る音声翻訳システムは、そのようなシステムである。
【0081】
《全体構成》
図7を参照して、この第2の実施の形態に係る音声翻訳システム500は、インターネットを介したオンラインによる音声翻訳サービスを提供する音声翻訳サーバ506と、音声翻訳サーバ506にインターネットを介して通信可能で、音声翻訳システム500による音声翻訳サービスを利用する複数の携帯型端末504、508、及び510を含む。携帯型端末504、508及び510は互いに同じハードウェア及び同じソフトウェア構成である必要はないが、いずれにも、音声翻訳サーバ506による音声翻訳サービスを利用するための、第1の実施の形態の音声翻訳クライアント300と同様の音声翻訳クライアントがインストールされている。以下、これら携帯型端末を代表して、携帯型端末504を例に、音声翻訳サーバ506との間の通信シーケンスについて説明する。
【0082】
この携帯型端末504は、第1の実施の形態のものと同様、音声翻訳サーバ506と通信可能な場合には音声翻訳サーバ506による音声翻訳サービスを利用し、音声翻訳サーバ506と通信ができない場合には、携帯型端末504にローカルに設けられているリソースを利用してローカル音声翻訳サービスを実行する。そのために携帯型端末504には、ローカル辞書520が設けられている。ローカル辞書520は、音声認識のための辞書、自動翻訳のための辞書、及び音声合成用の辞書を含む。以下の説明では、本実施の形態では、説明を簡潔にするため、音声認識のための辞書と自動翻訳のための辞書と音声合成用の辞書とを特に区別せず、単にローカル辞書と呼ぶ。
【0083】
ローカル辞書520は、
図7の左上に示すように、当初は、音声翻訳に必要な基本的語彙を含む基本辞書522と、ユーザがエントリを登録可能なユーザ辞書524とを含む。しかし、本実施の形態に係る処理を実行することにより、
図7の左下に示すように、ローカル辞書520には、基本辞書522及びユーザ辞書524に加え、ユーザ辞書524にも基本辞書522にも登録されていない単語であって、このユーザが使用する可能性の高い語彙を収録したユーザ補充辞書554を含むようになる。このユーザ補充辞書554は、携帯型端末504を含め、多くの携帯型端末508及び510等のユーザ辞書を集積し、携帯型端末504のユーザ辞書524に収録されている語彙を手がかりに、データマイニングの手法を用いて、今後携帯型端末504で使用される可能性の高い語彙を、集積されたユーザ辞書の語彙中から抽出して作成する。データマイニング手法は、最近のインターネットを経由した通信販売等でよく使用される手法である。例えばあるユーザが購入した履歴と、他のユーザの購入履歴とを比較して、そのユーザがさらに購入する可能性の高い物品をそのユーザに推薦したりするときに使用される。
【0084】
データマイニング手法としては、種々のものが存在している。本実施の形態では、その中でも頻出パターンマイニング法を用いる。以下、
図7を参照して全体のデータの流れを述べ、その後に
図8を参照して音声翻訳サーバ506におけるユーザ補充辞書の作成のためのソフトウェア構成について述べる。
【0085】
図7を参照して、携帯型端末504は、あるタイミングでユーザ辞書524を音声翻訳サーバ506に送信する(ステップ530)。この送信は、例えばユーザがユーザ補充辞書を入手又は更新したいと考えたときにある処理を呼出すことにより行なってもよいし、一定の周期(例えば1ヶ月に1回)という周期で行なってもよい。携帯型端末504が自発的にユーザ辞書524を音声翻訳サーバ506に送るのではなく、音声翻訳サーバ506の側から、音声翻訳サーバ506を過去に利用した携帯型端末504に対してユーザ辞書524を送るように定期的に要求してもよい。
【0086】
同様の処理が携帯型端末504のみならず、携帯型端末508、510等についても行なわれる。音声翻訳サーバ506には、このようにして多数の携帯型端末のユーザ辞書が常に集積された状態となる(ステップ532)。ある携帯型端末から再びユーザ辞書が送信されてきた場合には、その携帯型端末からの古いユーザ辞書を新しい辞書で置換するようにする。
【0087】
なお、携帯型端末からユーザ辞書を集めるタイミングは互いに異なっていることが通常である。同じ時期に全ての携帯型端末からユーザ辞書を音声翻訳サーバ506に送信する必要はない。
【0088】
このように集積されたユーザ辞書を保持すると、音声翻訳サーバ506は、定期的(例えば日に1回)に、集積データを頻出パターンマイニング法を用いて解析する(ステップ534)。この手法を実現するソフトウェア構成については後述する。この頻出パターンマイニング法では、ある単語と、その単語と同じユーザ辞書に登録されている単語(すなわち、同一の辞書内に共起する単語ペア)とのペアの内、頻度が高いもののリストが抽出される。抽出された単語ペアを、頻出単語ペアと呼ぶ。
【0089】
さらに、頻出パターンマイニング法を用いて得られた解析結果を用い、音声翻訳サーバ506は、携帯端末ごとにユーザ補充辞書554に登録すべき補充単語を特定する(ステップ536)。具体的には、音声翻訳サーバ506は、頻出パターンマイニング法により抽出された頻出単語ペアの内、そのユーザ辞書に一方の単語のみが登録されているものを探し出す。そして、その頻出単語ペアの他方の単語をその携帯型端末の辞書のための補充単語として選択する。この補充単語の集合は、対象となったユーザ辞書を送信してきた携帯型端末の端末IDとともに保存される。
【0090】
次に、何らかのタイミングで携帯型端末504がユーザ補充辞書の送信リクエストを音声翻訳サーバ506に対して送る(ステップ550)。この送信リクエストは、例えばユーザによる指示に基づくものでもよいし、ステップ530でユーザ辞書を音声翻訳サーバ506に送信してから所定時間(例えば1日)が経過した後に自動的に送信するようにしてもよい。
【0091】
音声翻訳サーバ506は、この送信リクエストを受信すると、携帯型端末504の端末IDに対応する補充単語群を記憶装置から読出し、携帯型端末504に送信する(ステップ538)。
【0092】
この補充単語群を受信した携帯型端末504は、補充単語群からなるユーザ補充辞書をローカル辞書520中に生成する(ステップ552)。既に古いユーザ補充辞書がローカル辞書520内にある場合には、新たなユーザ補充辞書で古い辞書を書換える。
【0093】
〈ソフトウェア構成〉
携帯型端末504で実行される処理はいわゆる当業者であれば容易に実現できる。したがってここでは、音声翻訳サーバ506において実行される処理の内、
図7のステップ534及び536を実現するプログラムの制御構造について説明する。
【0094】
《サーバ》
以下の説明では、音声翻訳サーバ506に既に多数のユーザ辞書が集積されていることを前提とする。
図8を参照して、音声翻訳サーバ506で実行される、ユーザ補充辞書のための単語を抽出するプログラムは、頻出パターンマイニング法により、集積されたユーザ辞書内で頻出する単語ペア(頻出単語ペア)を抽出するステップ534と、ステップ534で抽出された頻出単語ペアの中から、携帯端末ごとに補充辞書のための単語の集合を特定するステップ536とを含む。
【0095】
ステップ534は、全ユーザ辞書について、語彙ペアの組合せを全て抽出し、それらの出現頻度(語彙ペアを構成する単語が同じ辞書内に存在する頻度)を調べるステップ570と、ステップ570で抽出された語彙ペアの内、出現頻度が所定のしきい値未満の語彙ペアを削除するステップ572とを含む。ここでのしきい値は、全ユーザ辞書に含まれる単語数によって異なってくるため、一律に定めるのは難しい。ここではむしろ、しきい値を決めてからそのようなしきい値を充足する出現頻度の単語ペアを求めるのではなく、抽出されるべき単語ペアの最大個数を携帯型端末504で利用可能な記憶容量との比較で予め決め、そのような数の単語ペアが求められるようにしきい値を求める、いわゆる「top-K頻出集合発見」法を用いる。この方法を用いることで、処理時間は多少長くなるが比較的効率よく単語ペアを特定できる。このtop-K頻出集合発見法については、次に記載の参考文献1を参照されたい。
【0096】
[参考文献1]
宇野 毅明、有村 博紀、頻出パターン発見アルゴリズム入門 ─アイテム集合からグラフまで─、人工知能学会全国大会論文集(CD−ROM)、第22巻、22nd 3M1−01、2008年
【0097】
ステップ536は、音声翻訳サーバ506に蓄積されているユーザ辞書の各々について、以下の処理を繰返すステップ580を含む。
【0098】
ステップ580の処理は、補充単語を記憶するための作業領域をクリアするステップ582と、ステップ534で抽出された語彙ペアの各々に対し、その語彙ペアの一方の語彙のみがそのユーザ辞書に登録されているときに、他方の語彙をそのユーザ辞書のための補充語彙として作業領域に保存する処理を繰返して行なうステップ584と、ステップ584で作業領域に保存された語彙群を、処理対象のユーザ辞書を送信してきた端末の端末IDと関連付けて記憶装置に保存するステップ590とを含む。
【0099】
ステップ584は、処理対象の語彙ペアの一方語彙のみが処理対象のユーザ辞書に登録されているか否かを判定するステップ586と、ステップ586の判定が肯定であるときに、処理対象の語彙ペアの他方語彙を作業領域に追加するステップ588とを含む。ステップ586での判定は、語彙ペアを構成する各語彙と、音声翻訳サーバ506に記憶されているユーザ辞書内の語彙とを比較することにより行なえる。
【0100】
〈動作〉
図7を参照して、携帯型端末504をはじめとして、携帯型端末508、510等は、各々、ユーザ辞書をそれぞれのタイミングで音声翻訳サーバ506に送信する(ステップ530)。音声翻訳サーバ506は、ユーザ辞書が送信されてくるたびにそれを記憶装置に一時的に蓄積する(ステップ532)。既にユーザ辞書を送信してきた携帯型端末から重ねてユーザ辞書が送信されてきたときには、音声翻訳サーバ506は、古い辞書を新しい辞書で置換する。
【0101】
例えば1日に一度、音声翻訳サーバ506は集積されたユーザ辞書のデータを、頻出パターンマイニング法を用いて処理し、予め決められた個数の頻出語彙ペア(出現頻度が上位から予め決められた個数の語彙ペア)を抽出する(ステップ534)。具体的には、
図8のステップ570及び572を実行する。
【0102】
続いて音声翻訳サーバ506は、集積されたユーザ辞書の各々について、以下の処理を実行する。まず作業領域をクリアする(
図8のステップ582)。ステップ534で抽出された所定個数の頻出語彙ペアの各々について、その語彙ペアを構成する語彙の内一方のみが処理対象のユーザ辞書に登録されていれば(ステップ586でYES)その語彙を作業領域に追加し(ステップ588)、語彙ペアを構成する双方の語彙が処理対象のユーザ辞書に登録されていないか、双方とも登録されている場合には何もしない。こうした処理を繰返すことにより、処理対象のユーザ辞書に対して補充すべき語彙が作業領域に蓄積される。
【0103】
全ての頻出語彙ペアに対する処理が終了すると、音声翻訳サーバ506は、作業領域に蓄積されていた語彙集を作業対象のユーザIDに対応する端末IDと関連付けて記憶装置に保存する(ステップ590)。
【0104】
音声翻訳サーバ506は、上記したステップ580,582,584及び590の処理を全てのユーザ辞書に対して実行する。したがってステップ538が終了した時点では、ユーザ辞書を送信してきた全ての携帯型端末に対し、ユーザ辞書に補充すべき語彙の集合が、端末IDと関連付けて音声翻訳サーバ506の記憶装置に保存されていることになる。
【0105】
再び
図7を参照して、あるタイミングで携帯型端末504が補充辞書を要求すると(ステップ550)、音声翻訳サーバ506は、携帯型端末504の端末IDと関連付けて記憶装置に保存されていた補充単語群を携帯型端末504に送信する(ステップ538)。これを受けた携帯型端末504は、送信されてきた補充単語群で新たなユーザ補充辞書554を作成し、ローカル辞書520中に保存する。もしも既にローカル辞書520中にユーザ補充辞書554が存在している場合には、携帯型端末504は、古いユーザ補充辞書554を新しい語彙からなるユーザ補充辞書で置換する。
【0106】
《実施の形態の効果》
この第2の実施の形態によれば、多数のユーザ辞書が音声翻訳サーバ506により集積され、その中から頻出単語ペアが抽出される。各ユーザ辞書について、頻出単語ペアの内、一方の語彙のみが登録されているときには、他方の語彙も補充辞書に登録される。そうでないときには補充辞書には語彙は登録されていない。したがって、ユーザ辞書に登録されている語彙とともに辞書に登録される可能性の高い語彙であって、まだユーザ辞書に登録されていない語彙がユーザ補充辞書に登録される。ユーザが音声翻訳サービスの利用時に使用したことのない語彙であっても、ユーザ補充辞書に登録されることになり、ユーザ辞書を効率よく補強できる。さらに、多数のユーザ辞書を集積した結果から頻出単語ペアを抽出するため、ユーザが今までに使用した語彙の範囲に限定されることなく、今後使用する可能性のある単語を効率よく補充できる。さらに、音声翻訳サーバ506に対してユーザ補充辞書の更新を依頼するたびにユーザ補充語彙が増加していくため、ユーザ辞書を補強する速度を速めることができる。
【0107】
なお、頻出パターンマイニングは、上記した手法以外にもアプリオリ法、FP−growth法、相関ルール等を用いて実現することもできる。要するに、この実施の形態は、多数の端末から収集したユーザ辞書データを用いて、特定の端末のユーザ辞書に補充すべき語彙を決定するものであって、そのためのデータ解析の方法としては、ユーザ辞書に登録されている単語と一緒にユーザ辞書に登録される可能性が高い単語を見つけることができる方法ならどのような方法でもよい。
【0108】
[可能な変形例]
第1の実施の形態では、ユーザ辞書ではなくパーソナル辞書に語彙を自動的に登録している。また、第2の実施の形態でも、ユーザ辞書とは別のユーザ補充辞書の語彙を抽出している。しかし本発明はそのような実施の形態に限定されるわけではない。ユーザ辞書と別の辞書ではなく、ユーザ辞書そのものに語彙を追加するようにしてもよい。ただしこの場合、ユーザが意識的に追加した単語との区別ができなくなるため、できれば両者を区別する方策を採ることが望ましい。また、第1の実施の形態におけるパーソナル辞書内の語彙を対象として、第2の実施の形態における語彙補強を適用してもよい。さらに、第1の実施の形態で自動的に語彙が登録される辞書をパーソナル辞書と呼び、第2の実施の形態において自動的に語彙が集積される辞書をユーザ補充辞書と呼んでいる。しかしこれらは単に辞書の名称にすぎず、他の名前を使用してもよいことはいうまでもない。
【0109】
第2の実施の形態では、複数の携帯型端末が単独のサーバを使用してユーザ補充辞書の作成を依頼している。しかし本発明はそのような実施の形態には限定されない。サーバを複数設け、各サーバでは別々の携帯型端末のユーザ補充辞書を作成するようにしてもよい。この場合、各サーバで集積したユーザ辞書データをサーバ同士で共有するようにすれば、語彙の補充という意味ではさらに好ましい。ただし、集積されたユーザ辞書の数があまりに多くなったり、各ユーザ辞書に登録されている語彙があまりに多くなったりすると、サーバでの処理時間に影響する。したがって、各サーバが処理する携帯型端末の数を制限してもよい。
【0110】
第2の実施の形態ではさらに、蓄積されたユーザ辞書データの中で頻出単語ペアをデータマイニングにより抽出している。しかし本発明はそのような実施の形態には限定されない。例えば頻出単語ペアではなく、3つの単語の組で頻出するもの、又は4つ以上の単語の組で頻出するものを抽出するようにしてもよい。
【0111】
上記実施の形態の説明では、使用する言語を特に限定していないが、最初に述べたように、翻訳の際の言語の組合せを指定できるようにしてもよいことはもちろんである。その場合、上記した辞書は、単語辞書については言語ごとに設けられ、翻訳辞書については各言語の組合せとその翻訳方向とに応じて設ける必要があり、その各々について上記した処理を実装する必要がある。
【0112】
上記実施の形態では、音声翻訳サービスを例にしている。しかし本発明はそうしたサービスに限定されるわけではない。例えば音声認識による入力を単独でオンラインにより提供するサービス、テキスト入力に基づくオンラインの翻訳サービス等についても本発明を適用できる。すなわち、本発明が適用可能な言語サービスは、音声を使用するものには限定されない。オンラインでサーバにより提供されるサービスと、端末でローカルに実行する同種のアプリケーションとを切替えて利用できるような言語サービスであり、かついわゆる辞書を利用するサービスであればどのようなものにも適用できる。
【0113】
上記実施の形態では、クライアント装置から何らかの形でローカル辞書の補強依頼があったときに、サーバがローカル辞書の補強用情報を作成してクライアント装置に送信している。しかし本発明はそのような実施の形態には限定されず、ローカルで使用する言語資源を補強するための情報を、サーバで提供しているサービスの結果を用いて作成するようなものであれば、クライアント装置からの要求なしで、サーバからプッシュ型でクライアント装置に配信するようなシステムにも適用できる。
【0114】
今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内での全ての変更を含む。