【新規性喪失の例外の表示】特許法第30条第2項適用 平成24年6月29日 http://interspeech2012.org/accepted−abstract.html?id=194を通じて発表 平成24年9月11日 International Speech Communication Association 主催の「インタースピーチ2012(Interspeech,2012)」において文書をもって発表 平成24年9月11日 一般社団法人日本音響学会発行の「日本音響学会2012秋季研究発表会 講演論文集」に発表
【文献】
堀 貴明 Takaaki HORI,音声情報処理技術の最先端 State-of-the-art Technology of Speech Information Processing,情報処理 第45巻 第10号 IPSJ MAGAZINE,日本,社団法人情報処理学会 Information Processing Society of Japan,2004年10月15日,第45巻,p.1020-1026
(58)【調査した分野】(Int.Cl.,DB名)
トライフォン音素列を単音素列に変換するための重み付き有限状態トランスデューサ(WFST)である音素環境依存WFST(C)と、単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したCLのWFSTを格納し得るCLWFST格納部と、
単語と重みとを有する言語モデルのWFST(G)であるGのWFSTを格納し得るGWFST格納部と、
単語の単音素列と当該単語の文字列とを受け付ける受付部と、
前記受付部が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記GのWFSTに追加する新規単語蓄積部とを具備するWFST作成装置。
原言語のトライフォン音素列を単音素列に変換するための重み付き有限状態トランスデューサ(WFST)である音素環境依存WFST(C)と、原言語の単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したCLのWFSTを格納し得るCLWFST格納部と、
原言語の単語列から原言語のフレーズ列を取得するためのWFSTであるPのWFSTを格納し得るPWFST格納部と、
原言語のフレーズ列から目的言語のフレーズ列を取得するためのWFSTであるTのWFSTを格納し得るTWFST格納部と、
目的言語のフレーズ列から1以上の単語の並びである単語列を取得するためのWFSTであるRのWFSTを格納し得るRWFST格納部と、
目的言語の単語と重みとを有する言語モデルのWFST(G')であるG'のWFSTを格納し得る第二GWFST格納部と、
原言語の単語の単音素列と当該単語の文字列とを受け付ける受付部と、
前記受付部が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記PのWFSTに追加する新規単語蓄積部とを具備するWFST作成装置。
請求項5から請求項8いずれか一項に記載のWFST作成装置が具備するPWFST格納部に格納されているPのWFSTと、請求項5から請求項8いずれか一項に記載のWFST作成装置が具備するTWFST格納部に格納されているTのWFSTと、請求項5から請求項8いずれか一項に記載のWFST作成装置が具備するRWFST格納部に格納されているRのWFSTと、
請求項5から請求項8いずれか一項に記載のWFST作成装置が具備する第二GWFST格納部に格納されているG'のWFSTとを合成したPTRG'のWFSTを格納し得るWFSTPTRG格納部と、
請求項5記載の音声認識装置と、
前記音声認識装置が出力した原言語の文字列を、前記PTRG'のWFSTを用いて機械翻訳し、目的言語の文字列を取得する機械翻訳部と、
前記目的言語の文字列を出力する翻訳結果出力部とを具備する音声翻訳装置。
【発明を実施するための形態】
【0029】
以下、WFST作成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0030】
(実施の形態1)
本実施の形態において、音素環境依存WFST(C)と単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したWFSTであるCLのWFST、および単語と重みとを有する言語モデルのWFST(G)であるGのWFSTとを有する環境において、新規単語の登録指示を受け付けた場合、CLのWFST内に、新規単語を登録するWFST作成装置1について説明する。
【0031】
また、本実施の形態において、新規単語の部分と同じ発音になる単語の系列を任意の基準で選択し、既登録単語を入力、新規単語を出力とする状態遷移をCLのWFST内に追加するWFST作成装置1について説明する。なお、単語の系列の選択に関して、最少単語数基準で行われる例について説明する。
【0032】
また、本実施の形態において、新たな単語とクラスとを受け付けるWFST作成装置1について説明する。
【0033】
図1は、本実施の形態におけるWFST作成装置1のブロック図である。WFST作成装置1は、CLWFST格納部11、GWFST格納部12、受付部13、および新規単語蓄積部14を備える。
【0034】
CLWFST格納部11は、CLのWFSTを格納し得る。CLのWFSTとは、音素環境依存WFSTと、単語辞書WFSTとを合成したWFSTである。なお、音素環境依存WFSTは、トライフォン音素列を単音素列に変換するためのWFSTであり、適宜、「C」とする。音素環境依存WFSTは、通常、HMM(隠れマルコフモデル)を入力とし、単音素列を出力とするWFSTである。また、単語辞書WFSTは、単音素列を単語列に変換するためのWFSTであり、適宜、「L」とする。単語辞書WFSTは、通常、単音素列と単語列と重みを有するWFSTである。さらに、CとLとを合成したWFSTとは、CとLとを連結したWFSTである。また、CLのWFSTは、最適化されているWFSTであることは好適である。WFSTを最適化する技術は公知技術であるので、詳細な説明を省略する。なお、WFSTを最適化する技術は、非特許文献4等に記載されている。
【0035】
GWFST格納部12は、GのWFSTを格納し得る。GのWFSTは、単語と重みとを有する言語モデルである。また、GのWFSTは、単語と重みとを有するWFSTである。さらに、GのWFSTとは、単語と単語が属するクラスと重みとを有するクラス言語モデルのWFSTであることは好適である。
【0036】
受付部13は、単語の単音素列と単語の文字列とを受け付ける。また、受付部13は、単語の単音素列と単語の文字列と単語のクラスとを受け付けても良い。なお、この単語は、WFSTに登録する新規単語である。
【0037】
また、受付部13は、単語の文字列を受け付け、当該文字列から単音素列を生成して、単語の単音素列と単語の文字列とを取得しても良い。かかる場合も、受付部13は、単語の単音素列と単語の文字列とを受け付けたこととなる。なお、文字列から単音素列を生成する技術は公知技術であるので、説明を省略する。
【0038】
また、受付部13は、単語の単音素列を受け付け、当該単音素列から文字列を取得しても良い。かかる場合も、受付部13は、単語の単音素列と単語の文字列とを受け付けたこととなる。なお、単音素列から文字列を取得する技術は公知技術であるので、説明を省略する。
【0039】
ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0040】
受付部13が受け付ける情報の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部13は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0041】
新規単語蓄積部14は、受付部13が受け付けた単語の単音素列を入力とし、受付部13が受け付けた単語の文字列を出力とする状態遷移を構成し、当該状態遷移をGのWFSTに追加する。
【0042】
なお、状態遷移とは、状態の遷移を示す情報である。また、新規単語蓄積部14が状態遷移を構成する場合、状態の識別子は、例えば、使用されていない識別子(例えば、数値)を生成することにより、取得される。そして、新規単語蓄積部14は、入力の情報と出力の情報と状態の識別子とを用いて、状態遷移を構成する。また、ここで、新規単語蓄積部14は、追加する状態遷移に対応するクラスのWFSTを取得し、当該WFSTに状態遷移を追加する。その際、新規単語蓄積部14は、例えば、現在使われている状態識別子(数値)の最大値+1から、必要になった順に数値を増やして割り当て、当該割り当てた状態識別子を使用して、WFSTに状態遷移を追加する。また、新規単語蓄積部14は、追加する状態遷移が有する入力に対応する状態識別子と出力に対応する状態識別子とを生成し、当該状態遷移をWFSTに追加しても良い。また、新規単語蓄積部14における本処理を処理1とする。つまり、処理1は、新規単語の発音(単音素列)を入力、新規単語を出力とする状態遷移を言語モデルWFST G(GのWFST)に追加する処理である、とも言える。なお、新規単語蓄積部14が、状態遷移をWFSTに追加する処理は公知技術であるので、詳細な説明を省略する。
【0043】
また、新規単語蓄積部14は、受付部13が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得し、単語列を入力とし、単語(この単語は「新規単語」である。)の文字列を出力とする状態遷移を構成し、GのWFSTに追加する。新規単語蓄積部14における本処理を処理2とする。つまり、処理2は、既登録単語の中から、新規単語と同じ発音になる単語(または音素)の系列を任意の基準(例えば最少単語数基準)で選び、選んだ既登録単語列を入力、新規単語を出力とする状態遷移を言語モデルWFST G(GのWFST)に追加する処理である。なお、状態遷移をGのWFSTに追加する場所を決定する処理は、上述した処理と同様である。
【0044】
また、新規単語蓄積部14は、受付部13が受け付けた単語の単音素列と同一の単音素列を構成する単語列が2以上存在する場合、単語列を構成する単語の数が最少である単語列をCLのWFSTから取得し、単語列を入力とし、単語の文字列を出力とする状態遷移を構成し、GのWFSTに追加することは好適である。なお、状態遷移をGのWFSTに追加する場所を決定する処理は、上述した処理と同様である。また、本処理は、処理2をさらに適切な処理に限定した処理であり、処理2'とする。
【0045】
新規単語蓄積部14は、処理1のみを行っても良いし、処理2または処理2'のみを行っても良いが、処理1と、処理2または処理2'とを行うことは好適である。
【0046】
また、受付部13が単語の単音素列と単語の文字列と単語のクラスとを受け付けた場合、新規単語蓄積部14は、受付部13が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得し、単語列を入力とし、単語の文字列を出力とする状態遷移を構成する。そして、新規単語蓄積部14は、GのWFSTに対して、受付部13が受け付けたクラスに対応する状態遷移の始端・終端の状態間に追加しても良い。
【0047】
CLWFST格納部11、GWFST格納部12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0048】
CLWFST格納部11等にCLのWFST等が記憶される過程は問わない。例えば、記録媒体を介してCLのWFST等がCLWFST格納部11で記憶されるようになってもよく、通信回線等を介して送信されたCLのWFST等がCLWFST格納部11等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたCLのWFST等がCLWFST格納部11等で記憶されるようになってもよい。
【0049】
新規単語蓄積部14は、通常、MPUやメモリ等から実現され得る。新規単語蓄積部14の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0050】
次に、WFST作成装置1の第一の動作について、
図2のフローチャートを用いて説明する。第一の動作は、上記の処理1である。
【0051】
(ステップS201)受付部13は、単語等を受け付けたか否かを判断する。単語等を受け付ければステップS202に行き、単語等を受け付けなければステップS201に戻る。なお、単語等とは、単語の単音素列と単語の文字列である。
【0052】
(ステップS202)新規単語蓄積部14は、ステップS201で受け付けられた単語等から、単音素列を取得する。
【0053】
(ステップS203)新規単語蓄積部14は、ステップS201で受け付けられた単語等から、文字列を取得する。なお、この文字列は、登録される新規な単語である。
【0054】
(ステップS204)新規単語蓄積部14は、ステップS202で取得した単音素列を入力とし、ステップS203で取得した文字列を出力とする状態遷移を構成する。
【0055】
(ステップS205)新規単語蓄積部14は、ステップS204で構成した状態遷移を、GWFST格納部12のGのWFSTに追加し、ステップS201に戻る。
【0056】
なお、
図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0057】
次に、WFST作成装置1の第二の動作について、
図3のフローチャートを用いて説明する。第二の動作は、上記の処理2'である。
図3のフローチャートにおいて、
図2のフローチャートと同一のステップ(S201−S203)については、説明を省略する。
【0058】
(ステップS301)新規単語蓄積部14は、ステップS201で受け付けられた文字列と同じ発音になる2以上の単語の並びである単語列を取得する。なお、ここで、新規単語蓄積部14は、2以上の単語列を取得する場合もあり得る。
【0059】
(ステップS302)新規単語蓄積部14は、ステップS301で取得した単語列が2以上、存在するか否かを判断する。2以上存在する場合はステップS303に行き、1つしか存在しない場合はステップS304に行く。なお、単語列が1つしか存在しない場合は、その単語列は既に予め決められたバッファに格納される、とする。
【0060】
(ステップS303)新規単語蓄積部14は、ステップS301で取得した2以上の単語列のうち、最小の単語数の単語列を取得し、予め決められたバッファに蓄積する。なお、最小の単語数の単語列が2以上、存在する場合は、新規単語蓄積部14は、当該2以上の単語列から、任意の一つを取得して良い。
【0061】
(ステップS304)新規単語蓄積部14は、予め決められたバッファに格納されている単語列を入力とし、ステップS201で受け付けられた文字列を出力とする状態遷移を構成する。
【0062】
(ステップS305)新規単語蓄積部14は、ステップS304で構成された状態遷移を、GWFST格納部12のGのWFSTに追加し、ステップS201に戻る。
【0063】
なお、
図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0064】
また、ステップS303において、単語列が2以上、存在する場合、新規単語蓄積部14は、最小の単語数の単語列ではない任意の単語列を取得しても良い。
【0065】
以下、本実施の形態におけるWFST作成装置1の2つの具体的な動作について説明する。また、以下の具体例において、単語「都電荒川線」をWFSTに登録するものとする。
【0066】
(具体例1)
まず、ユーザは、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とをWFST作成装置1に入力する。
【0067】
次に、受付部13は、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とを受け付ける。
【0068】
次に、新規単語蓄積部14は、単音素列「t o d e ng a r a k a w a s e ng」を入力とし、文字列「都電荒川線」を出力とする状態遷移を、
図4のように構成する。
図4において、ノード(○)の中の数値は状態の識別子である。また、
図4において、新規単語蓄積部14は、状態識別子を順に自動生成していくものとする。また、
図4における「t:都電荒川線」は、「t」を入力とし、「都電荒川線」を出力とすることを示す。また、「o:-」は、「o」を入力とし、出力は無い「-」ことを示す。つまり、
図4の状態遷移の全体は、単語の単音素列「t o d e ng a r a k a w a s e ng」が入力で、単語の文字列「都電荒川線」が出力である旨を示す。
【0069】
次に、新規単語蓄積部14は、構成した
図4の状態遷移を、GWFST格納部12のGのWFSTに追加する。
【0070】
次に、新規単語蓄積部14は、受け付けられた文字列「都電荒川線」と同じ発音になる2以上の単語の並びである単語列を取得する。ここで、新規単語蓄積部14は、「都電,荒川,線」「都,電,荒川,線」「都,電,荒,川,線」等を取得した、とする(
図5参照)。
【0071】
次に、新規単語蓄積部14は、取得した単語列が2以上、存在する、と判断する。そして、新規単語蓄積部14は、取得した上記の2以上の単語列のうち、最小の単語数の単語列「都電,荒川,線」を取得し、予め決められたバッファに蓄積する。
【0072】
次に、新規単語蓄積部14は、予め決められたバッファに格納されている単語列「都電,荒川,線」を入力とし、受け付けられた文字列「都電荒川線」を出力とする状態遷移を、
図6のように構成する。
【0073】
次に、新規単語蓄積部14は、
図6の状態遷移を、GWFST格納部12のGのWFSTに追加する。
【0074】
以上の処理により、新規な単語に対応出来る状態遷移がWFSTに登録された。
【0075】
(具体例2)
具体例2は、クラス言語モデルWFSTへ、単語を受け付ける状態遷移が追加される場合である。つまり、ここでは、新規単語蓄積部14は、受付部13が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得し、当該単語列を入力とし、単語の文字列を出力とする状態遷移を構成し、受付部13が受け付けたクラスに対応するGのWFSTに追加する。
【0076】
今、GWFST格納部12のGのWFSTは、例えば、
図7である。
図7のWFSTは、例えば、
図8に示すように、図示しないGWFST生成手段が、単語−クラス対応リスト(71、72、および73)から、重みをキーとしてソートしたリスト(74)を構成する。そして、GWFST生成手段が、リスト(74)から状態遷移(GのWFST)を構成する。なお、
図9のクラス連鎖WFST(92)は有っても無くとも構成することができる。
【0077】
なお、GのWFST(
図7,
図9の93)は、
図9に示すように、単語−クラス対応WFST(91)とクラス連鎖WFST(92)とを合成して、図示しないGWFST生成手段が取得しても良い。かかる場合、単語−クラス対応WFST(91)とクラス連鎖WFST(92)とは、予め図示しない記憶手段に格納されている。
【0078】
次に、ユーザは、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」と、クラス<place_name>とをWFST作成装置1(
図1)に入力した、とする。
【0079】
次に、
図1において、受付部13は、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」と、クラス<place_name>とを受け付ける。
【0080】
次に、具体例1と同様に、新規単語蓄積部14は、単音素列「t o d e ng a r a k a w a s e ng」を入力とし、文字列「都電荒川線」を出力とする状態遷移を、
図4のように構成する。次に、新規単語蓄積部14は、構成した
図4の状態遷移を、GWFST格納部12のGのWFSTに追加する。
【0081】
次に、具体例1と同様に、新規単語蓄積部14は、受け付けられた文字列「都電荒川線」と同じ発音になる2以上の単語の並びである単語列の中で、最小の単語数の単語列「都電,荒川,線」を取得し、予め決められたバッファに蓄積する。
【0082】
次に、新規単語蓄積部14は、予め決められたバッファに格納されている単語列「都電,荒川,線」を入力とし、受け付けられた文字列「都電荒川線」を出力とする状態遷移を、
図6のように構成する。
【0083】
次に、新規単語蓄積部14は、受け付けられたクラス<place_name>に対応するGのWFSTに、構成した状態遷移を追加し、
図10の101に示すGのWFSTを得る。
【0084】
以上の処理により、クラス言語モデルWFSTへ単語に対応出来る状態遷移が追加された。なお、
図10の101のグレイの領域が追加された状態遷移である。
【0085】
以上、本実施の形態によれば、WFSTに新しい単語を簡単に追加できる。さらに具体的には、WFSTに新しい単語を追加する場合に、CLの再構築が不要である。また、本実施の形態によれば、上記の処理2で説明したように、WFSTに新しい単語を追加する場合に、主として、既登録の単語列を見つける処理が必要なだけであり、極めて高速に新しい単語を追加できる。
【0086】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるWFST作成装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、トライフォン音素列を単音素列に変換するためのWFSTである音素環境依存WFST(C)と単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したCLのWFSTを格納し得るCLWFST格納部と、単語と重みとを有する言語モデルのWFST(G)であるGのWFSTを格納し得るGWFST格納部とを具備し、コンピュータを、単語の単音素列と当該単語の文字列とを受け付ける受付部と、前記単語の単音素列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記GのWFSTに追加する新規単語蓄積部として機能させるためのプログラムである。
【0087】
また、上記プログラムにおいて、前記新規単語蓄積部は、前記受付部が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記GのWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0088】
また、上記プログラムにおいて、前記新規単語蓄積部は、前記受付部が受け付けた単語の単音素列と同一の単音素列を構成する単語列が2以上存在する場合、当該単語列を構成する単語の数が最少である単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記GのWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0089】
また、上記プログラムにおいて、前記GのWFSTは、単語と当該単語が属するクラスと重みを有するクラス言語モデルのWFSTであり、前記受付部は、単語の単音素列と当該単語の文字列と当該単語のクラスとを受け付け、前記新規単語蓄積部は、前記受付部が受け付けた単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記受付部が受け付けたクラスに対応するGのWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0090】
(実施の形態2)
本実施の形態において、WFST作成装置1を用いて作成したWFSTを用いた音声認識装置2について、
図11を用いて説明する。
【0091】
図11は、本実施の形態における音声認識装置2のブロック図である。音声認識装置2は、CLWFST格納部11、GWFST格納部12、音声受付部23、音声認識部24、出力部25を備える。
【0092】
CLWFST格納部11は、上述したWFST作成装置1が具備するものと同様である。また、GWFST格納部12も、上述したWFST作成装置1が具備するものと同様である。
【0093】
音声受付部23は、音声を受け付ける。この音声は、音声認識の対象の音声である。音声の入力手段は、通常、マイクである。音声受付部23は、ディジタル化された音声信号を出力する。
【0094】
音声認識部24は、CLWFST格納部11に格納されているCLのWFST、およびGWFST格納部12に格納されているGのWFSTを用いて、デジタル化された音声信号に対して音声認識処理を行い、文字列を取得する。つまり音声認識部24は、例えば、受け取った音声信号に対して、WFSTの各トライフォン音素に対応する隠れマルコフモデルを用いて音響スコア(音声と各トライフォンとの近さを表すスコア)を計算し、これを状態遷移の重みとしてWFSTの中からスコアの総和が最大となる単語列を探し出し、文字列として出力する。なお上記の、CLのWFST、およびGのWFSTを用いて、音声認識を行う技術は公知技術であるので、詳細な説明を省略する。
【0095】
音声認識部24は、通常、MPUやメモリ等から実現され得る。音声認識部24の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0096】
出力部25は、音声認識部24が取得した文字列を出力する。出力部25は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。すなわち出力部25は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0097】
次に、音声認識装置2の動作について説明する。音声認識装置2の音声受付部23は、音声を受け付ける。そして、音声認識部24は、CLWFST格納部11に格納されているCLのWFST、およびGWFST格納部12に格納されているGのWFSTを用いて、音声受付部23が受け付けた音声に対して音声認識処理を行い、文字列を取得する。次に、出力部25は、音声認識部24が取得した文字列を出力する。
【0098】
以上、本実施の形態によれば、WFST作成装置1で作成したWFSTを用いて音声認識できる。そして、かかる音声認識装置2が行う音声認識処理を、CLの再構築を行って作成したWFSTを用いて音声認識した場合と比較して、認識の速度およびメモリ使用量はあまり変わらない、と言える。
【0099】
なお、本実施の形態における音声認識装置2を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、トライフォン音素列を単音素列に変換するためのWFSTである音素環境依存WFST(C)と、単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したCLのWFSTを格納し得るCLWFST格納部と、単語と重みとを有する言語モデルのWFST(G)であるGのWFSTを格納し得るGWFST格納部とを具備し、コンピュータを、音声を受け付ける音声受付部と、前記CLWFST格納部に格納されているCLのWFST、および前記GWFST格納部に格納されているGのWFSTを用いて、前記音声に対して音声認識処理を行い、文字列を取得する音声認識部と、前記音声認識部が取得した文字列を出力する出力部として機能させるためのプログラムである。
【0100】
(実施の形態3)
本実施の形態において、機械翻訳のために使用するWFSTを作成するWFST作成装置3について、
図12を用いて説明する。
【0101】
図12は、本実施の形態におけるWFST作成装置3のブロック図である。WFST作成装置3は、CLWFST格納部11、PWFST格納部32、TWFST格納部33、RWFST格納部34、第二GWFST格納部35、受付部36、新規単語蓄積部37を備える。
【0102】
PWFST格納部32は、PのWFSTを格納し得る。PのWFSTとは、原言語の単語列から原言語のフレーズ列を取得するためのWFSTである。つまり、PのWFSTは、原言語の単語列を入力とし、原言語のフレーズ列を出力とする状態遷移の集合である。
【0103】
TWFST格納部33は、TのWFSTを格納し得る。TのWFSTとは、原言語のフレーズ列から目的言語のフレーズ列を取得するためのWFSTである。つまり、PTのWFSTは、原言語のフレーズ列を入力とし、目的言語のフレーズ列を出力とする状態遷移の集合である。
【0104】
RWFST格納部34は、RのWFSTを格納し得る。RのWFSTとは、目的言語のフレーズ列から1以上の単語の並びである単語列を取得するためのWFSTである。RのWFSTは、目的言語のフレーズ列を入力とし、目的言語の単語列を出力とする状態遷移の集合である。
【0105】
第二GWFST格納部35は、目的言語の単語と重みとを有する言語モデルのWFST(G')であるG'のWFSTを格納し得る。なお、G'のWFSTとは、目的言語の単語と単語が属するクラスと重みを有するクラス言語モデルのWFSTである。
【0106】
受付部36は、原言語の単語の単音素列と単語の文字列とを受け付ける。また、受付部36は、原言語の単語の単音素列と単語の文字列と単語のクラスとを受け付けても良い。受付部36が受け付ける情報の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部36は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0107】
新規単語蓄積部37は、受付部36が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得する。次に、新規単語蓄積部37は、当該単語列を入力とし、単語の文字列を出力とする状態遷移を構成し、状態遷移をPのWFSTに追加する。かかる処理を処理31とする。
【0108】
また、新規単語蓄積部37は、受付部36が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得する。そして、新規単語蓄積部37は、当該単語列を構成する2以上の各単語に対応する目的言語の単語を、TのWFSTから取得する。次に、新規単語蓄積部37は、受付部36が受け付けた原言語の文字列を入力とし、2以上の目的言語の単語の列を出力とする状態遷移を構成し、状態遷移をTのWFSTに追加するようにしても良い。かかる処理を処理32とする。
【0109】
また、新規単語蓄積部37は、受付部36が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得する。そして、新規単語蓄積部37は、当該単語列を構成する2以上の各単語に対応する目的言語の単語を、TのWFSTから取得する。次に、新規単語蓄積部37は、取得した2以上の目的言語の単語の列からなるフレーズを入力とし、2以上の目的言語の単語の列を出力とする状態遷移を構成し、状態遷移をRのWFSTに追加しても良い。かかる処理を処理33とする。
【0110】
さらに、新規単語蓄積部37は、受付部36が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列をCLのWFSTから取得する。そして、新規単語蓄積部37は、当該単語列を構成する2以上の各単語に対応する目的言語の2以上の単語の列を、TのWFSTから取得する。次に、新規単語蓄積部37は、当該2以上の目的言語の単語の列をG'のWFSTに追加しても良い。かかる処理を処理34とする。
【0111】
なお、新規単語蓄積部37は、処理31から処理34のすべての処理を行うことは好適であるが、一部の処理を行っても良い。
【0112】
PWFST格納部32、TWFST格納部33、RWFST格納部34、および第二GWFST格納部35は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0113】
PWFST格納部32等にPのWFST等が記憶される過程は問わない。例えば、記録媒体を介してPのWFST等がPWFST格納部32等で記憶されるようになってもよく、通信回線等を介して送信されたPのWFST等がPWFST格納部32等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたPのWFST等がPWFST格納部32等で記憶されるようになってもよい。
【0114】
新規単語蓄積部37は、通常、MPUやメモリ等から実現され得る。新規単語蓄積部37の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0115】
次に、WFST作成装置3の動作について、
図13のフローチャートを用いて説明する。
図13のフローチャートにおいて、
図2または
図3のフローチャートと同一のステップ(S201−S304)について、説明を省略する。
【0116】
(ステップS1301)新規単語蓄積部37は、単語列を入力とし、単語の文字列を出力とする状態遷移をPのWFSTに追加する。
【0117】
(ステップS1302)新規単語蓄積部37は、原言語の単語列を構成する2以上の各単語に対応する目的言語の2以上の単語を、TのWFSTから取得する。次に、新規単語蓄積部37は、受付部36が受け付けた原言語の文字列を入力とし、2以上の目的言語の単語の列を出力とする第二の状態遷移を構成する。
【0118】
(ステップS1303)新規単語蓄積部37は、ステップS1302で構成した第二の状態遷移を、TのWFSTに追加する。
【0119】
(ステップS1304)新規単語蓄積部37は、取得した2以上の目的言語の単語の列からなるフレーズを入力とし、2以上の目的言語の単語の列を出力とする第三の状態遷移を構成する。
【0120】
(ステップS1305)新規単語蓄積部37は、ステップS1304で構成した第三の状態遷移を、RのWFSTに追加する。
【0121】
(ステップS1306)新規単語蓄積部37は、目的言語の2以上の単語の列(フレーズ)をG'のWFSTに追加する。ステップS201に戻る。
【0122】
なお、
図13のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0123】
以下、本実施の形態におけるWFST作成装置3の具体的な動作について説明する。以下の具体例において、日英翻訳システムで、単語「都電荒川線」を新規に追加する場合について説明する。
【0124】
(具体例1)
具体例1は、単語列を入力とし、新規登録する単語の文字列を出力とする状態遷移を構成し、当該状態遷移をPのWFSTに追加する場合である。
【0125】
まず、ユーザは、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とをWFST作成装置3に入力する。
【0126】
次に、受付部36は、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とを受け付ける。
【0127】
次に、新規単語蓄積部37は、受け付けられた単語等から、単音素列「t o d e ng a r a k a w a s e ng」を取得する。また、新規単語蓄積部37は、文字列「都電荒川線」を取得する。
【0128】
次に、新規単語蓄積部37は、受け付けられた文字列「都電荒川線」と同じ発音になる2以上の単語の並びである単語列を取得する。ここで、新規単語蓄積部37は、「都電,荒川,線」「都,電,荒川,線」「都,電,荒,川,線」等を取得した、とする(
図5参照)。
【0129】
次に、新規単語蓄積部37は、取得した単語列が2以上、存在する、と判断する。そして、新規単語蓄積部37は、取得した上記の2以上の単語列のうち、最小の単語数の単語列「都電,荒川,線」を取得し、予め決められたバッファに蓄積する。
【0130】
次に、新規単語蓄積部37は、予め決められたバッファに格納されている単語列「都電,荒川,線」を入力とし、受け付けられた文字列「都電荒川線」を出力とする状態遷移を構成する。
【0131】
次に、新規単語蓄積部37は、構成した状態遷移を、PWFST格納部32のPのWFSTに追加する(
図14参照)。
図14において、網掛けの状態遷移が追加した状態遷移である。
【0132】
以上の処理により、新規な単語を受け付けられる状態遷移がWFSTに登録された。
【0133】
(具体例2)
具体例2は、受付部36が受け付けた原言語の文字列を入力とし、2以上の目的言語のフレーズを出力とする状態遷移をTのWFSTに追加する場合である。
【0134】
まず、ユーザは、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とをWFST作成装置3に入力する。
【0135】
次に、受付部36は、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とを受け付ける。
【0136】
次に、新規単語蓄積部37は、受け付けられた単語等から、単音素列「t o d e ng a r a k a w a s e ng」を取得する。また、新規単語蓄積部37は、文字列「都電荒川線」を取得する。
【0137】
次に、新規単語蓄積部37は、受け付けられた文字列「都電荒川線」と同じ発音になる2以上の単語の並びである単語列を取得する。ここで、新規単語蓄積部14は、「都電,荒川,線」「都,電,荒川,線」「都,電,荒,川,線」等を取得した、とする(
図5参照)。
【0138】
次に、新規単語蓄積部37は、取得した単語列が2以上、存在する、と判断する。そして、新規単語蓄積部37は、取得した上記の2以上の単語列のうち、最小の単語数の単語列「都電,荒川,線」を取得する。
【0139】
次に、新規単語蓄積部37は、各単語「都電」「荒川」「線」に対応する目的言語の単語「Toden」「Arakawa」「Line」を、TのWFSTから取得する。
【0140】
次に、新規単語蓄積部37は、目的言語の単語「Toden」「Arakawa」「Line」を連結し、目的言語のフレーズ「Toden_Arakawa_Line」を構成する。
【0141】
次に、新規単語蓄積部37は、受付部36が受け付けた原言語の文字列「都電荒川線」を入力とし、2以上の目的言語のフレーズ「Toden_Arakawa_Line」を出力とする状態遷移を構成し、状態遷移をTのWFSTに追加する(
図15参照)。
図15において、51の部分の状態遷移が追加した状態遷移である。
【0142】
以上の処理により、新しいフレーズの翻訳ルールがWFSTに登録された。
【0143】
(具体例3)
具体例3は、2以上の目的言語の単語の列からなるフレーズを入力とし、2以上の目的言語の単語の列を出力とする状態遷移をRのWFSTに追加する場合である。
【0144】
まず、ユーザは、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とをWFST作成装置3に入力する。
【0145】
次に、受付部36は、単語の単音素列「t o d e ng a r a k a w a s e ng」と、単語の文字列「都電荒川線」とを受け付ける。
【0146】
次に、新規単語蓄積部37は、受け付けられた単語等から、単音素列「t o d e ng a r a k a w a s e ng」を取得する。また、新規単語蓄積部37は、文字列「都電荒川線」を取得する。
【0147】
次に、新規単語蓄積部37は、受け付けられた文字列「都電荒川線」と同じ発音になる2以上の単語の並びである単語列を取得する。ここで、新規単語蓄積部14は、「都電,荒川,線」「都,電,荒川,線」「都,電,荒,川,線」等を取得した、とする(
図5参照)。
【0148】
次に、新規単語蓄積部37は、取得した単語列が2以上、存在する、と判断する。そして、新規単語蓄積部37は、取得した上記の2以上の単語列のうち、最小の単語数の単語列「都電,荒川,線」を取得する。
【0149】
次に、新規単語蓄積部37は、各単語「都電」「荒川」「線」に対応する目的言語の単語「Toden」「Arakawa」「Line」を、TのWFSTから取得する。
【0150】
次に、新規単語蓄積部37は、目的言語の単語列を連結し、フレーズ「Toden_Arakawa_Line」を取得する。
【0151】
次に、新規単語蓄積部37は、フレーズ「Toden_Arakawa_Line」を入力とし、2以上の目的言語の単語の列「Toden」「Arakawa」「Line」を出力とする状態遷移を構成し、状態遷移をRのWFSTに追加する(
図16参照)。
図16において、網掛けの状態遷移が追加した状態遷移である。また、
図16は、「Toden_Arakawa_Line」が目的言語の言語モデルWFST G'に存在しない場合である。
【0152】
なお、「Toden_Arakawa_Line」が目的言語の言語モデル(G'のWFST)に存在するか、G'がクラス言語モデルで「Toden_Arakawa_Line」を登録可能な場合は、新規単語蓄積部37は、
図17に示すように、フレーズ「Toden_Arakawa_Line」を入力とし、フレーズ「Toden_Arakawa_Line」を出力とする状態遷移を、G'のWFSTに追加する。
【0153】
以上の処理により、目的言語の新規なフレーズ列を単語列に分割するための状態遷移が登録された。
【0154】
以上、本実施の形態によれば、機械翻訳で用いるWFSTに新しい単語を受け付ける状態遷移が簡単に追加できる。
【0155】
なお、本実施の形態におけるWFST作成装置3を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、原言語のトライフォン音素列を単音素列に変換するためのWFSTである音素環境依存WFST(C)と、原言語の単音素列を単語列に変換するためのWFSTである単語辞書WFST(L)とを合成したCLのWFSTを格納し得るCLWFST格納部と、原言語の単語列から原言語のフレーズ列を取得するためのWFSTであるPのWFSTを格納し得るPWFST格納部と、原言語のフレーズ列から目的言語のフレーズ列を取得するためのWFSTであるTのWFSTを格納し得るTWFST格納部と、目的言語のフレーズ列から1以上の単語の並びである単語列を取得するためのWFSTであるRのWFSTを格納し得るRWFST格納部と、目的言語の単語と重みとを有する言語モデルのWFST(G')であるG'のWFSTを格納し得る第二GWFST格納部とを具備し、コンピュータを、原言語の単語の単音素列と当該単語の文字列とを受け付ける受付部と、前記受付部が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を入力とし、前記単語の文字列を出力とする状態遷移を構成し、当該状態遷移を前記PのWFSTに追加する新規単語蓄積部として機能させるためのプログラムである。
【0156】
また、上記プログラムにおいて、前記新規単語蓄積部は、前記受付部が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を構成する2以上の各単語に対応する目的言語の単語を、前記TのWFSTから取得し、前記受付部が受け付けた原言語の文字列を入力とし、前記2以上の目的言語の単語の列を出力とする状態遷移を構成し、当該状態遷移を前記TのWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0157】
また、上記プログラムにおいて、前記新規単語蓄積部は、前記2以上の目的言語の単語の列からなるフレーズを入力とし、前記2以上の目的言語の単語の列を出力とする状態遷移を構成し、当該状態遷移を前記RのWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0158】
また、上記プログラムにおいて、前記G'のWFSTは、目的言語の単語と当該単語が属するクラスと重みを有するクラス言語モデルのWFSTであり、前記受付部は、原言語の単語の単音素列と当該単語の文字列と当該単語のクラスとを受け付け、前記新規単語蓄積部は、前記受付部が受け付けた原言語の単語の単音素列と同一の単音素列を構成する2以上の単語からなる単語列を前記CLのWFSTから取得し、当該単語列を構成する2以上の各単語に対応する目的言語の単語を、前記TのWFSTから取得し、前記2以上の目的言語の単語の列を前記G'のWFSTに追加するものとして、コンピュータを機能させることは好適である。
【0159】
(実施の形態4)
本実施の形態において、音声認識装置2を用いた音声翻訳装置4について、
図18を用いて説明する。
図18は、本実施の形態における音声翻訳装置4のブロック図である。音声翻訳装置4は、PTRGWFST格納部41、音声認識装置2、機械翻訳部42、翻訳結果出力部43を備える。
【0160】
PTRGWFST格納部41は、PTRG'のWFSTを格納し得る。PTRG'のWFSTは、原言語の単語列を原言語のフレーズ列に変換するためのWFST(P)と、フレーズ翻訳に用いるWFST(T)と、目的言語のフレーズ列を単語列に変換するためのWFST(R)と、目的言語の単語と重みとを有する言語モデルのWFST(G')とを合成したWFSTである。
【0161】
PTRGWFST格納部41は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0162】
PTRGWFST格納部41にPTRG'のWFSTが記憶される過程は問わない。例えば、記録媒体を介してPTRG'のWFSTがPTRGWFST格納部41で記憶されるようになってもよく、通信回線等を介して送信されたPTRG'のWFSTがPTRGWFST格納部41で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたPTRG'のWFSTがPTRGWFST格納部41で記憶されるようになってもよい。
【0163】
音声認識装置2は、実施の形態2で説明した。
【0164】
機械翻訳部42は、音声認識装置2が出力した原言語の文字列を、PTRG'のWFSTを用いて機械翻訳し、目的言語の文字列を取得する。なお、PTRG'のWFSTを用いて機械翻訳する処理は公知技術であるので、詳細な説明を省略する。なお、かかる技術は、非特許文献5等に記載されている。
【0165】
機械翻訳部42は、通常、MPUやメモリ等から実現され得る。機械翻訳部42の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0166】
翻訳結果出力部43は、機械翻訳部42が取得した目的言語の文字列を出力する。翻訳結果出力部43は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。翻訳結果出力部43は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0167】
次に、音声翻訳装置4の動作について説明する。音声認識装置2は、音声を受け付ける。そして、音声認識装置2は上述したように、受け付けた音声を音声認識処理し、文字列を取得する。なお、この文字列は、原言語の文字列である。次に、音声認識装置2は、原言語の文字列を機械翻訳部42に渡す。次に、機械翻訳部42は、PTRG'のWFSTを用いて、文字列に対して機械翻訳の処理を行い、目的言語の文字列を取得する。次に、翻訳結果出力部43は、機械翻訳部42が取得した目的言語の文字列を出力する。
【0168】
以上、本実施の形態によれば、WFST作成装置3で作成されたWFSTを用いて、音声翻訳が可能になる。その結果、精度の高い音声翻訳が実現できる。
【0169】
なお、本実施の形態における音声翻訳装置4を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、PWFST格納部に格納されているPのWFSTと、TWFST格納部に格納されているTのWFSTと、RWFST格納部に格納されているRのWFSTと、第二GWFST格納部に格納されているG'のWFSTとを合成したPTRG'のWFSTを格納し得るWFSTPTRG格納部を具備し、コンピュータを、音声認識装置と、前記音声認識装置が出力した原言語の文字列を、前記PTRG'のWFSTを用いて機械翻訳し、目的言語の文字列を取得する機械翻訳部と、前記目的言語の文字列を出力する翻訳結果出力部として機能させるためのプログラムである。
【0170】
また、
図19は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のWFST作成装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図19は、このコンピュータシステム300の概観図であり、
図20は、コンピュータシステム300のブロック図である。
【0171】
図19において、コンピュータシステム300は、CD−ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304と、マイク305とを含む。
【0172】
図20において、コンピュータ301は、USBポート3011、CD−ROMドライブ3012に加えて、MPU3013と、バス3014と、ROM3015と、RAM3016と、ハードディスク3017とを含む。なお、バス3014は、MPU3013やCD−ROMドライブ3012に接続されている。また、ROM3015には、ブートアッププログラム等のプログラムが記憶されている。また、RAM3016は、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのものである。また、ハードディスク3017は、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのものである。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0173】
コンピュータシステム300に、上述した実施の形態のWFST作成装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、もしくはUSBメモリ3102に記憶され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、USBメモリ3102、CD−ROM3101またはネットワークから直接、ロードされても良い。
【0174】
プログラムは、コンピュータ301に、上述した実施の形態のWFST作成装置等の機能を実行させるオペレーティングシステム、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0175】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0176】
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0177】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。