(58)【調査した分野】(Int.Cl.,DB名)
第一の言語である第一言語の文である第一言語文と第二の言語である第二言語の文である第二言語文との対であり、第一の閾値(N1)未満の数の対訳文を有する小規模な対訳データである小規模対訳データを格納し得る小規模対訳データ格納部と、
前記小規模対訳データから取得される単語のアライメントモデルであり、第一言語の単語である第一単語と第二言語の単語である第二単語とを有する単語対と、前記第一単語と前記第二単語とが対応する確率に関する対応確率情報である第一対応確率情報とを有する複数の単語アライメントデータを有する小規模単語アライメントモデルを格納し得る小規模単語アライメントモデル格納部と、
第二の閾値(N2,N2>N1)以上の数の対訳文を有する大規模な対訳データである大規模対訳データから取得された単語のアライメントモデルであり、第一単語と第二単語とを有する単語対と、前記第一単語と前記第二単語とが対応する確率に関する対応確率情報である第二対応確率情報とを有する複数の単語アライメントデータを有する大規模単語アライメントモデルを格納している大規模単語アライメントモデル格納部と、
1以上の対訳文から取得された情報であり、第一言語文の中における第一単語の位置を示す第一単語位置、当該第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報ごとに、対訳文単語位置情報に合致する確率に関する対訳文単語位置確率情報を格納し得る対訳文単語位置確率情報格納部と、
前記小規模対訳データに含まれる対訳文が有する単語対ごとに、一の単語対に対して、初期値または前回のループにおいて算出した第一対応確率情報と、前記大規模単語アライメントモデルが有する前記一の単語対と対になる第二対応確率情報と、前記対訳文の中における前記一の単語対に対応する対訳文単語位置確率情報とを用いて、2回以上ループを繰り返して、前記一の単語対と対になる第一対応確率情報を算出する確率情報算出部と、
単語対ごとに、前記確率情報算出部が最終的に算出した第一対応確率情報を、前記単語対に対応付けて、前記小規模単語アライメントモデル格納部に蓄積する対応確率情報蓄積部とを具備し、
前記確率情報算出部は、
前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、当該一の単語対に対応する初期値の第一対応確率情報または前回のループにおいて算出した第一対応確率情報を取得する前回第一対応確率情報取得手段と、
前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、当該一の単語対に対応する第二対応確率情報を、前記大規模単語アライメントモデル格納部から取得する第二対応確率情報取得手段と、
前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置、当該第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報を取得する対訳文単語位置情報取得手段と、
前記対訳文単語位置情報取得手段が取得した対訳文単語位置情報に対応する対訳文単語位置確率情報を、前記対訳文単語位置確率情報格納部から取得する対訳文単語位置確率情報取得手段と、
前記前回第一対応確率情報取得手段が取得した第一対応確率情報と前記第二対応確率情報取得手段が取得した第二対応確率情報とを予め決められた割合で加算し、当該加算した結果と、前記対訳文単語位置確率情報取得手段が取得した対訳文単語位置確率情報とを乗算し、中間確率値を算出する中間確率値算出手段と、
単語対ごとに、前記中間確率値算出手段が算出した一の単語対の中間確率値を、単語対に対する中間確率値を累積加算した値で除算した値を、前回の正規化前の第一対応確率情報に加算し、正規化前の第一対応確率情報を取得する正規化前第一対応確率情報取得手段と、
単語対ごとに、前記正規化前第一対応確率情報取得手段が取得した正規化前の第一対応確率情報に対して、正規化の処理を行い、第一対応確率情報を取得する正規化手段と、
終了条件を満たすまで、前記前回第一対応確率情報取得手段、前記第二対応確率情報取得手段、前記対訳文単語位置情報取得手段、前記対訳文単語位置確率情報取得手段、前記中間確率値算出手段、前記正規化前第一対応確率情報取得手段、および前記正規化手段の処理を繰り返して行わせる制御手段とを具備する単語アライメントモデル構築装置。
【背景技術】
【0002】
統計的機械翻訳(SMT)では、対訳データDataBから、翻訳モデルModelBを作成する。そして、ModelBを利用して、入力文を翻訳する。このとき、入力文がDataBと同様な分野の文である場合には、その翻訳結果は高精度であることが期待できる。けれども、入力文がDataBとは異なる分野の文であるときには、その翻訳精度は低下する。
【0003】
この対策として、DataBと異なる分野の対訳データDataSを利用することにより、翻訳モデルModelSを作成し、ModelBとModelSの双方を利用することにより、DataSと同分野の文の翻訳精度の高精度化を達成可能である。
【0004】
このModelBとModelSの双方を利用する方法としては、非特許文献1等に記載されている。なお、この方法をSMTの分野適応と呼ぶ。
【0005】
分野適応のときの問題点としては、DataBが大規模(10-1000万文程度)であるのに対して、DataSが小規模(100文程度のこともある)であることがある。こうした場合には、DataBからModelBを作成するのは、問題なく高精度に行えるが、DataSからModelSを作成するのを高精度に行うのは困難である。
【0006】
その理由としては、ModelSを作る過程としては、通常、次のステップがとられるからである。
ステップ1.DataSを単語アライメントする
ステップ2.単語アライメントの結果から ModelSを構築する。
【0007】
上記ステップ1の単語アライメントにおいて、オープンソースツールである GIZA++(非特許文献2参照)や fast_align(非特許文献3参照)が利用されることが多い。しかし、これらのツールは、小規模の対訳データにおける単語アライメントは精度よく実行できない。
【0008】
上記の問題設定において、小規模対訳データDataSを単語アライメントする従来技術には、以下の(あ)〜(え)の4つがある。
(あ)DataBから単語アライメントのための単語アライメントモデルAlignBを構築し、AlignBを利用してDataSをアライメントする。
(い)DataSから単語アライメントモデルAlignSを構築し、AlignSを利用してDataSをアライメントする。
(う)DataBとDataSを一つにまとめて、そこから単語アライメントモデル AlignBSを構築し、AlignBSを用いて DataSをアライメントする。
(え)DataBから単語アライメントモデル AlignBを構築する。そして、AlignBを初期モデルとして、 DataSから AlignBSを構築し、AlignBSを利用して DataSをアライメントする(非特許文献4参照)。ただし、AlignBを初期モデルとすることは、単語アライメントの十分統計量のみを AlignBから抽出して、その十分統計量を、DataSを利用して更新することをいう。
【発明を実施するための形態】
【0025】
以下、単語アライメントモデル構築装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0026】
(実施の形態1)
本実施の形態において、2つの言語の単語アライメントモデルを作成する装置であって、大規模データの単語アライメントの確率と小規模データの単語アライメントの確率との両方を用いて、最終的な小規模データの単語アライメントの確率の情報を取得する単語アライメントモデル構築装置について説明する。
【0027】
図1は、本実施の形態における単語アライメントモデル構築装置1のブロック図である。
【0028】
単語アライメントモデル構築装置1は、格納部11、確率情報算出部12、および対応確率情報蓄積部13を備える。
【0029】
格納部11は、小規模対訳データ格納部111、小規模単語アライメントモデル格納部112、大規模単語アライメントモデル格納部113、および対訳文単語位置確率情報格納部114を備える。
【0030】
確率情報算出部12は、前回第一対応確率情報取得手段121、第二対応確率情報取得手段122、対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124、中間確率値算出手段125、正規化前第一対応確率情報取得手段126、正規化手段127、および制御手段128を備える。
【0031】
格納部11は、各種の情報を格納し得る。各種の情報とは、例えば、後述する小規模対訳データ、小規模単語アライメントモデル、大規模単語アライメントモデル、対訳文単語位置確率等である。
【0032】
小規模対訳データ格納部111は、小規模対訳データを格納し得る。小規模対訳データは、1以上の対訳文を有する。対訳文は、第一言語文と第二言語文との対である。第一言語文は、第一の言語である第一言語の文である。第二言語文は、第二の言語である第二言語の文である。第二言語文は、第一言語文を第二言語に翻訳した結果である。小規模対訳データは、少ない数の対訳文を有する。小規模対訳データは、通常、第一の閾値(N1)未満の数の対訳文を有する。小規模対訳データは、例えば、10〜10万程度の数の対訳文を有する。
【0033】
また、第一言語と第二言語とは異なる言語であれば、どの言語でも良い。第一言語、第二言語は、例えば、英語、日本語、中国語、フランス語、ドイツ語、スペイン語、韓国語等である。
【0034】
小規模単語アライメントモデル格納部112は、小規模単語アライメントモデルを格納し得る。小規模単語アライメントモデルは、小規模対訳データを用いて取得される単語のアライメントモデルである。小規模単語アライメントモデルは、複数の単語アライメントデータを有する。単語アライメントデータは、単語対と、第一対応確率情報とを有する。単語対は、第一言語の単語である第一単語と第二言語の単語である第二単語とを有する。第一対応確率情報は、第一単語と第二単語とが対応する確率に関する情報である対応確率情報である。
【0035】
大規模単語アライメントモデル格納部113は、大規模単語アライメントモデルを格納している。大規模単語アライメントモデルは、大規模な対訳データである大規模対訳データから取得された単語のアライメントモデルである。単語のアライメントモデルは、第一単語と第二単語とを有する単語対と、第一単語と第二単語とが対応する確率に関する対応確率情報である第二対応確率情報とを有する。大規模対訳データは、通常、第二の閾値(N2,N2>N1)以上の数の対訳文を有する。通常、N2は、N1と比較して、1桁以上大きい(10倍以上である)。なお、N1、N2は自然数である。
【0036】
対訳文単語位置確率情報格納部114は、1以上の対訳文単語位置情報ごとに、対訳文単語位置確率情報を格納し得る。対訳文単語位置情報は、1以上の対訳文から取得された情報であり、第一単語位置、第二単語位置、第一文単語数、および第二文単語数を有する。第一単語位置は、第一言語文の中における第一単語の位置を示す情報である。第二単語位置は、第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す情報である。第一文単語数は、第一言語文の単語数である。第二文単語数は、第二言語文の単語数である。対訳文単語位置確率情報は、対訳文単語位置情報に合致する確率に関する情報である。通常、対訳文単語位置確率情報は、対訳文単語位置情報に合致する確率である。
【0037】
対訳文単語位置確率情報格納部114は、大規模対訳データが有する1以上の対訳文から取得された対訳文単語位置情報と対訳文単語位置確率情報との組を、2以上、格納していることは好適である。
【0038】
対訳文単語位置確率情報格納部114に格納されている対訳文単語位置情報と対訳文単語位置確率情報との組は、大規模対訳データを用いて、後述する対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124が取得した情報であることは好適である。
【0039】
対訳文単語位置確率情報格納部114は、大規模対訳データと小規模対訳データとが有する1以上の対訳文から取得された対訳文単語位置情報と対訳文単語位置確率情報との組を、2以上、格納していても良い。
【0040】
対訳文単語位置確率情報格納部114に格納されている対訳文単語位置情報と対訳文単語位置確率情報との組は、大規模対訳データと小規模対訳データとを用いて、後述する対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124が取得した情報であっても良い。
【0041】
確率情報算出部12は、小規模対訳データに含まれる対訳文が有する単語対ごとに、一の単語対に対して、初期値または前回のループにおいて算出した第一対応確率情報と、大規模単語アライメントモデルが有する一の単語対と対になる第二対応確率情報と、対訳文の中における一の単語対に対応する対訳文単語位置確率情報とを用いて、2回以上ループを繰り返して、一の単語対と対になる第一対応確率情報を算出する。
【0042】
前回第一対応確率情報取得手段121は、小規模対訳データが有する対訳文ごとに、かつ対訳文が有する単語対ごとに、一の単語対に対して、一の単語対に対応する初期値の第一対応確率情報または前回のループにおいて算出した第一対応確率情報を取得する。
【0043】
具体的には、例えば、前回第一対応確率情報取得手段121は、第一言語(e)のi番目の単語e(i)と第二言語(f)のj番目の単語f(j)とに対応する初期値の第一対応確率情報または前回のループにおいて算出した第一対応確率情報「θS(e(i)|f(j))」を取得する。かかる第一対応確率情報は、通常、格納部11に少なくとも一時的に格納されている。
【0044】
第二対応確率情報取得手段122は、小規模対訳データが有する対訳文ごとに、かつ対訳文が有する単語対ごとに、一の単語対に対して、一の単語対に対応する第二対応確率情報を、大規模単語アライメントモデル格納部113から取得する。
【0045】
具体的には、例えば、第二対応確率情報取得手段122は、第一言語(e)のi番目の単語e(i)と第二言語(f)のj番目の単語f(j)とに対応する第二対応確率情報「θB(e(i)|f(j))」を大規模単語アライメントモデル格納部113から取得する。
【0046】
対訳文単語位置情報取得手段123は、小規模対訳データが有する対訳文ごとに、かつ対訳文が有する単語対ごとに、一の単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置、第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報を取得する。
【0047】
具体的には、例えば、対訳文単語位置情報取得手段123は、一の対訳文の中の一の単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置(i)、第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置(j)、第一言語文の単語数である第一文単語数(m)、および第二言語文の単語数である第二文単語数(n)を、一の対訳文と一の単語対とから取得する。なお、(i) (j)は、通常、文の中の何番目の単語であるかを示す情報である。
【0048】
対訳文単語位置情報取得手段123は、大規模対訳データが有する各単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置、第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報を取得する。
【0049】
対訳文単語位置確率情報取得手段124は、対訳文単語位置情報取得手段123が取得した対訳文単語位置情報に対応する対訳文単語位置確率情報を、対訳文単語位置確率情報格納部114から取得する。
【0050】
具体的には、例えば、対訳文単語位置確率情報取得手段124は、対訳文単語位置情報取得手段123が取得した対訳文単語位置情報(i,j,m,n)に対応する対訳文単語位置確率情報「δS(j|i,m,n)」を、対訳文単語位置確率情報格納部114から検索する。
【0051】
対訳文単語位置確率情報取得手段124は、大規模対訳データが有する各単語対に対して、対訳文単語位置情報取得手段123が取得した対訳文単語位置情報に対応する対訳文単語位置確率情報を、対訳文単語位置確率情報格納部114から取得することは好適である。
【0052】
中間確率値算出手段125は、前回第一対応確率情報取得手段121が取得した第一対応確率情報と、第二対応確率情報取得手段122が取得した第二対応確率情報と、対訳文単語位置確率情報取得手段124が取得した対訳文単語位置確率情報とを用いて、中間確率値を算出する。
【0053】
具体的には、例えば、中間確率値算出手段125は、前回第一対応確率情報取得手段121が取得した第一対応確率情報と第二対応確率情報取得手段122が取得した第二対応確率情報とを予め決められた割合で加算し、加算した結果と、対訳文単語位置確率情報取得手段124が取得した対訳文単語位置確率情報とを乗算し、中間確率値を算出する。
【0054】
さらに具体的には、例えば、中間確率値算出手段125は、演算式「p(i|j)=(λθB(e(i)|f(j)) +(1-λ)θS(e(i)|f(j)))*δS(j|i,m,n)」により、中間確率値p(i|j)を算出する。ここで、定数λは、「0<λ<1」を満たす数値であり、通常、「0.5」である。
【0055】
正規化前第一対応確率情報取得手段126は、単語対ごとに、中間確率値算出手段125が算出した中間確率値を用いて、正規化前の第一対応確率情報を取得する。
【0056】
具体的には、例えば、正規化前第一対応確率情報取得手段126は、単語対ごとに、中間確率値p(i|j)を用いて、演算式「C(e(i)|f(j))+= p(i|j)/sum」により、正規化前の第一対応確率情報「C(e(i)|f(j))」を算出する。なお、「sum」は、単語対に対応する中間確率値を累積加算した情報である。
【0057】
正規化手段127は、単語対ごとに、正規化前第一対応確率情報取得手段126が取得した正規化前の第一対応確率情報「C(e(i)|f(j))」に対して、正規化の処理を行い、第一対応確率情報を取得する。
【0058】
具体的には、例えば、正規化手段127は、単語対ごとに、正規化前の第一対応確率情報「C(e(i)|f(j))」を平均場近似で正規化して、第一対応確率情報「θS(e(i)|f(j))」を取得する。なお、平均場近似は公知技術であるので、詳細な説明は省略する。
【0059】
また、例えば、正規化手段127は、以下の数式1により、正規化前の第一対応確率情報「C(e(i)|f(j))」を正規化し、第一対応確率情報「θS(e(i)|f(j))」を取得しても良い。
【0061】
なお、数式1において、kは任意の単語の添え字である。すなわち、数式1の分母は、全ての単語対についての和をとることを示している。
【0062】
制御手段128は、終了条件を満たすまで、前回第一対応確率情報取得手段121、第二対応確率情報取得手段122、対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124、中間確率値算出手段125、正規化前第一対応確率情報取得手段126、および正規化手段127の処理を繰り返して行わせる。つまり、制御手段128は、終了条件を満たすまで、前回第一対応確率情報取得手段121、第二対応確率情報取得手段122、対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124、中間確率値算出手段125、正規化前第一対応確率情報取得手段126、および正規化手段127の処理をループさせる制御を行う。ここで、終了条件とは、例えば、予め決められたループ回数になったことである。また、予め決められたループ回数は、例えば、4回から6回のいずれかである。
【0063】
対応確率情報蓄積部13は、単語対ごとに、確率情報算出部12が最終的に算出した第一対応確率情報を、単語対に対応付けて、小規模単語アライメントモデル格納部112に蓄積する。なお、確率情報算出部12が最終的に算出した第一対応確率情報とは、制御手段128が終了条件を満たすとして、ループの処理を終了した場合の、最終的な第一対応確率情報である。
【0064】
格納部11を構成している小規模対訳データ格納部111、小規模単語アライメントモデル格納部112、大規模単語アライメントモデル格納部113、および対訳文単語位置確率情報格納部114は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0065】
格納部11に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部11で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部11で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部11で記憶されるようになってもよい。
【0066】
確率情報算出部12を構成している前回第一対応確率情報取得手段121、第二対応確率情報取得手段122、対訳文単語位置情報取得手段123、対訳文単語位置確率情報取得手段124、中間確率値算出手段125、正規化前第一対応確率情報取得手段126、正規化手段127、制御手段128、および対応確率情報蓄積部13は、通常、MPUやメモリ等から実現され得る。確率情報算出部12等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0067】
次に、単語アライメントモデル構築装置1の動作について、
図2のフローチャートを用いて説明する。なお、
図2のフローチャートは、2以上の全単語対についての処理である。つまり、
図2のフローチャートにおける、E-Stepが全単語対について処理され、次に、M-Stepが全単語対について処理される。
【0068】
(ステップS201)確率情報算出部12は、初期化処理を行う。初期化処理は、例えば、各種の変数に初期値を代入する処理である。初期化処理は、例えば、正規化前の第一対応確率情報「C(e(i)|f(j))」に「0」を代入する処理である。また、初期化処理は、例えば、第一対応確率情報「θS(e(i)|f(j))」に「0」を代入する処理である。
【0069】
(ステップS202)確率情報算出部12は、E−stepを行い、正規化前の第一対応確率情報「C(e(i)|f(j))」を取得する。そして、確率情報算出部12は、各単語対に対応付けて、正規化前の第一対応確率情報「C(e(i)|f(j))」を図示しないバッファまたは格納部11に一時蓄積する。E−stepの詳細について、
図3のフローチャートを用いて後述する。
【0070】
(ステップS203)正規化手段127は、M−stepを行い、第一対応確率情報「θS(e(i)|f(j))」を取得する。そして、確率情報算出部12は、各単語対に対応付けて、第一対応確率情報「θS(e(i)|f(j))」を図示しないバッファまたは格納部11に一時蓄積する。
【0071】
なお、M−stepとは、正規化前の第一対応確率情報「C(e(i)|f(j))」を正規化する処理である。正規化手段127は、例えば、上述した平均場近似を用いて、正規化前の第一対応確率情報「C(e(i)|f(j))」を正規化し、第一対応確率情報「θS(e(i)|f(j))」を取得する。
【0072】
(ステップS204)確率情報算出部12は、終了条件に合致するか否かを判断する。終了条件に合致する場合は処理を終了し、終了条件に合致しない場合はステップS202に戻る。なお、終了条件とは、上述したように、例えば、予め決められたループ回数になったこと等である。
【0073】
次に、ステップS202のE−stepの詳細について、
図3のフローチャートを用いて説明する。
【0074】
(ステップS301)制御手段128は、カウンタsに1を代入する。
【0075】
(ステップS302)制御手段128は、小規模対訳データ格納部111に、s番目の対訳文が存在するか否かを判断する。s番目の対訳文が存在する場合はステップS303に行き、s番目の対訳文が存在しない場合は上位処理にリターンする。
【0076】
(ステップS303)制御手段128は、カウンタiに1を代入する。
【0077】
(ステップS304)制御手段128は、変数sumに0を代入する。
【0078】
(ステップS305)制御手段128は、カウンタjに0を代入する。
【0079】
(ステップS306)確率情報算出部12は、中間確率値「p(i|j)」を算出する。中間確率値「p(i|j)」を算出する処理の詳細について、
図4のフローチャートを用いて後述する。
【0080】
(ステップS307)制御手段128は、変数sumに中間確率値「p(i|j)」を加算する。
【0081】
(ステップS308)制御手段128は、jがnと一致するか否かを判断する。jがnと一致する場合はステップS309に行き、jがnと一致しない場合はステップS316に行く。
【0082】
(ステップS309)制御手段128は、カウンタjに0を代入する。
【0083】
(ステップS310)正規化前第一対応確率情報取得手段126は、現在の正規化前第一対応確率情報に、中間確率値をsumで除算した値を加算し、新しい正規化前第一対応確率情報を取得し、バッファまたは格納部11に蓄積する。つまり、正規化前第一対応確率情報取得手段126は、演算式「C(e(i)|f(j))← C(e(i)|f(j))+ p(i|j)/sum」により、新しい正規化前の第一対応確率情報「C(e(i)|f(j))」を算出し、バッファまたは格納部11に蓄積する。
【0084】
(ステップS311)制御手段128は、jがnと一致するか否かを判断する。jがnと一致する場合はステップS312に行き、jがnと一致しない場合はステップS315に行く。
【0085】
(ステップS312)制御手段128は、iがmと一致するか否かを判断する。iがmと一致する場合はステップS313に行き、iがmと一致しない場合はステップS314に行く。
【0086】
(ステップS313)制御手段128は、カウンタsを1、インクリメントし、ステップS302に戻る。
【0087】
(ステップS314)制御手段128は、カウンタiを1、インクリメントし、ステップS304に戻る。
【0088】
(ステップS315)制御手段128は、カウンタjを1、インクリメントし、ステップS310に戻る。
【0089】
(ステップS316)制御手段128は、カウンタjを1、インクリメントし、ステップS306に戻る。
【0090】
次に、ステップS306の中間確率値「p(i|j)」を算出する処理の詳細について、
図4のフローチャートを用いて説明する。
【0091】
(ステップS401)前回第一対応確率情報取得手段121は、s番目の対訳文における、第一言語(e)のi番目の単語e(i)と第二言語(f)のj番目の単語f(j)とに対応する初期値の第一対応確率情報「θS(e(i)|f(j))」または前回のループにおいて算出した第一対応確率情報「θS(e(i)|f(j))」を取得する。
【0092】
(ステップS402)第二対応確率情報取得手段122は、s番目の対訳文における、第一言語(e)のi番目の単語e(i)と第二言語(f)のj番目の単語f(j)とに対応する第二対応確率情報「θB(e(i)|f(j))」を、大規模単語アライメントモデル格納部113から取得する。
【0093】
(ステップS403)対訳文単語位置情報取得手段123は、s番目の対訳文における、第一言語(e)のi番目の単語e(i)と第二言語(f)のj番目の単語f(j)の対訳文単語位置情報(i,j,m,n)を取得する。
【0094】
(ステップS404)対訳文単語位置確率情報取得手段124は、対訳文単語位置情報取得手段123が取得した対訳文単語位置情報(i,j,m,n)に対応する対訳文単語位置確率情報「δS(j|i,m,n)」を、対訳文単語位置確率情報格納部114から取得する。
【0095】
(ステップS405)中間確率値算出手段125は、前回第一対応確率情報取得手段121が取得した第一対応確率情報「θS(e(i)|f(j))」と、第二対応確率情報取得手段122が取得した第二対応確率情報「θB(e(i)|f(j))」と、対訳文単語位置確率情報取得手段124が取得した対訳文単語位置確率情報「δS(j|i,m,n)」とを用いて、中間確率値を算出し、上位処理にリターンする。
【0096】
以下、本実施の形態における単語アライメントモデル構築装置1の具体的な動作について説明する。
【0097】
単語アライメントモデル構築装置1は、例えば、
図5に示すプログラムのように動作する。また、ここで述べる具体例は、非特許文献5で述べられた方法を拡張したものである。
【0098】
また、単語アライメントモデル構築装置1のポイントは、
図5の501である。501は、確率情報算出部12の処理である。
【0099】
501は、小規模対訳データが有する対訳文ごとに、かつ対訳文が有する単語対ごとに、一の単語対に対して、初期値または前回のループにおいて算出した第一対応確率情報と、大規模単語アライメントモデルが有する一の単語対と対になる第二対応確率情報と、対訳文の中における一の単語対に対応する対訳文単語位置確率情報とを用いて、2回以上ループを繰り返して、一の単語対と対になる第一対応確率情報を算出する処理である。
【0100】
さらに具体的には、501は、中間確率値算出手段125が行う処理であり、前回第一対応確率情報取得手段121が取得した第一対応確率情報と第二対応確率情報取得手段122が取得した第二対応確率情報とを予め決められた割合で加算し、加算した結果と、対訳文単語位置確率情報取得手段124が取得した対訳文単語位置確率情報とを乗算し、中間確率値を算出する処理である。
すなわち、単語アライメントモデル構築装置1においては、大規模データDataBから求めた確率θB(e(i)|f(j))を利用して、p(i|j)を求めることにより、大規模データの確率を「θS(e(i)|f(j))」の推定に利用している。
【0101】
以上、本実施の形態によれば、小規模対訳コーパスの単語アライメントを精度よく実行できる。
【0102】
さらに具体的には、本実施の形態によれば、従来技術(え)と同様に、θSを推定するときの計算量は、DataSを利用するときと同程度でありながら、DataBで推定された確率を利用可能である。また、本実施の形態によれば、従来技術(え)とは異なり、上記定数λ「0<λ<1」(
図5の501)を適切に設定することにより、小規模データDataSにおける特徴的な単語アライメントが打ち消されることを防ぐことが可能となる。
【0103】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における単語アライメントモデル構築装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータがアクセス可能な記録媒体は、第一の言語である第一言語の文である第一言語文と第二の言語である第二言語の文である第二言語文との対であり、第一の閾値(N1)未満の数の対訳文を有する小規模な対訳データである小規模対訳データを格納し得る小規模対訳データ格納部と、前記小規模対訳データから取得される単語のアライメントモデルであり、第一言語の単語である第一単語と第二言語の単語である第二単語とを有する単語対と、前記第一単語と前記第二単語とが対応する確率に関する対応確率情報である第一対応確率情報とを有する複数の単語アライメントデータを有する小規模単語アライメントモデルを格納し得る小規模単語アライメントモデル格納部と、第二の閾値(N2,N2>N1)以上の数の対訳文を有する大規模な対訳データである大規模対訳データから取得された単語のアライメントモデルであり、第一単語と第二単語とを有する単語対と、前記第一単語と前記第二単語とが対応する確率に関する対応確率情報である第二対応確率情報とを有する複数の単語アライメントデータを有する大規模単語アライメントモデルを格納している大規模単語アライメントモデル格納部と、1以上の対訳文から取得された情報であり、第一言語文の中における第一単語の位置を示す第一単語位置、当該第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報ごとに、対訳文単語位置情報に合致する確率に関する対訳文単語位置確率情報を格納し得る対訳文単語位置確率情報格納部とを具備し、コンピュータを、前記小規模対訳データに含まれる対訳文が有する単語対ごとに、一の単語対に対して、初期値または前回のループにおいて算出した第一対応確率情報と、前記大規模単語アライメントモデルが有する前記一の単語対と対になる第二対応確率情報と、前記対訳文の中における前記一の単語対に対応する対訳文単語位置確率情報とを用いて、2回以上ループを繰り返して、前記一の単語対と対になる第一対応確率情報を算出する確率情報算出部と、単語対ごとに、前記確率情報算出部が最終的に算出した第一対応確率情報を、前記単語対に対応付けて、前記小規模単語アライメントモデル格納部に蓄積する対応確率情報蓄積部として機能させるためのプログラムである。
【0104】
また、上記プログラムにおいて、前記確率情報算出部は、前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、当該一の単語対に対応する初期値の第一対応確率情報または前回のループにおいて算出した第一対応確率情報を取得する前回第一対応確率情報取得手段と、前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、当該一の単語対に対応する第二対応確率情報を、前記大規模単語アライメントモデル格納部から取得する第二対応確率情報取得手段と、前記小規模対訳データが有する対訳文ごとに、かつ当該対訳文が有する単語対ごとに、一の単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置、当該第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報を取得する対訳文単語位置情報取得手段と、前記対訳文単語位置情報取得手段が取得した対訳文単語位置情報に対応する対訳文単語位置確率情報を、前記対訳文単語位置確率情報格納部から取得する対訳文単語位置確率情報取得手段と、前記前回第一対応確率情報取得手段が取得した第一対応確率情報と前記第二第一対応確率情報取得手段が取得した第二対応確率情報とを予め決められた割合で加算し、当該加算した結果と、前記対訳文単語位置確率情報取得手段が取得した対訳文単語位置確率情報とを乗算し、中間確率値を算出する中間確率値算出手段と、単語対ごとに、前記中間確率値算出手段が算出した中間確率値を用いて、正規化前の第一対応確率情報を取得する正規化前第一対応確率情報取得手段と、単語対ごとに、前記正規化前第一対応確率情報取得手段が取得した正規化前の第一対応確率情報に対して、正規化の処理を行い、第一対応確率情報を取得する正規化手段と、終了条件を満たすまで、前記前回第一対応確率情報取得手段、前記第二対応確率情報取得手段、前記対訳文単語位置情報取得手段、前記対訳文単語位置確率情報取得手段、前記中間確率値算出手段、前記正規化前第一対応確率情報取得手段、および前記正規化手段の処理を繰り返して行わせる制御手段とを具備するものとして、コンピュータを機能させるプログラムであることは好適である。
【0105】
また、上記プログラムにおいて、前記対訳文単語位置確率情報格納部に格納されている対訳文単語位置確率情報は、前記大規模対訳データを用いて取得された対訳文単語位置確率情報であるものとして、コンピュータを機能させるプログラムであることは好適である。
【0106】
また、上記プログラムにおいて、コンピュータを、前記大規模対訳データが有する各単語対に対して、第一言語文の中における第一単語の位置を示す第一単語位置、当該第一単語に対応する第二単語の位置であり第二言語文の中における位置を示す第二単語位置、第一言語文の単語数である第一文単語数、および第二言語文の単語数である第二文単語数を有する対訳文単語位置情報を取得する対訳文単語位置情報取得手段と、前記大規模対訳データが有する各単語対に対して、前記対訳文単語位置情報取得手段が取得した対訳文単語位置情報に対応する対訳文単語位置確率情報を、前記対訳文単語位置確率情報格納部から取得する対訳文単語位置確率情報取得手段としてさらに機能させ、前記対訳文単語位置確率情報格納部に格納されている対訳文単語位置確率情報は、前記対訳文単語位置確率情報取得手段が取得した対訳文単語位置確率情報であるものとして、コンピュータを機能させるプログラムであることは好適である。
【0107】
(実施の形態2)
本実施の形態において、実施の形態1で構成された単語アライメントモデルを用いた機械翻訳装置について説明する。
【0108】
図6は、本実施の形態における機械翻訳装置2のブロック図である。機械翻訳装置2は、例えば、第二言語文を翻訳し、第一言語文を得る装置である。
【0109】
機械翻訳装置2は、小規模単語アライメントモデル格納部112、対訳文単語位置確率情報格納部114、受付部21、および翻訳部22を備える。
【0110】
受付部21は、第二言語文を受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、音声のマイクによる受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0111】
第二言語文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部21は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0112】
翻訳部22は、小規模単語アライメントモデル格納部112に格納されている小規模単語アライメントモデル、および対訳文単語位置確率情報格納部114に格納されている1以上の対訳文単語位置情報ごとの対訳文単語位置確率情報を用いて、受付部21が受け付けた第二言語文から第一言語文を取得する。なお、翻訳部22は公知技術であるので詳細な説明は省略する。
【0113】
翻訳部22は、通常、MPUやメモリ等から実現され得る。翻訳部22の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0114】
以下、本実施の形態における機械翻訳装置2の具体的な動作について説明する。
【0115】
対訳データDataXについて、その中の対訳文を<e,f>とし、e = e(1) e(2) … e(m), f= f(1) f(2) … f(n)のように、m単語とn単語からなるとする。ここで、eは第一言語文、fは第二言語文である、とする。また、e(i)はeのi番目の単語であり、f(j)はfのj番目の単語である。なお、特別な単語NULLとして f(0)を導入する。これは、e中の単語がf中の単語のいずれにも対応しない場合に有用である。
【0116】
次に、DataXにおけるfを条件とするeの確率を「PX(e|f)」とする。
【0117】
また、DataXにおいて、eの単語数が m、fの単語数がnのときに、文eのi番目にある単語が、文fのj番目の単語とアライメントされる確率を「δX(j|i,m,n)」とする。
【0118】
また、DataXにおいて、e(i)がf(j)にアライメントされる確率を「θX(e(i)|f(j))」とする。
【0121】
また、これらの確率、δX、θXは、データXから上記非特許文献5の手法を利用して推定可能である。なお、PXについては、δXとθXから一意的に計算可能である。
【0122】
ここで、まず、δSの推定法を述べる。それは次のものである。
【0124】
すなわち、δSとしてはδBと同じ確率を用いる。その理由は、この確率の推定方法として上記非特許文献5で述べられている方法を、100文程度の対訳データに対して適用すると、この確率分布のパラメータが発散してしまい、有効な確率を推定不可能だからである。また、この確率は、単に、i, j, m, nという単語の数のみから決定可能なものであるので、対訳データが異なったとしても、同じ確率が精度よく利用できるからである。
【0125】
次に、θSの推定方法は、
図5のプログラムである。これは、上記非特許文献5と同様にEM法に基づくものである。
【0126】
そして、PS(e|f)が、「δS(j|i,m,n)」「「θS(e(i)|f(j))」より算出される。
【0127】
そして、PS(e|f)の確率値が最も大きい第一言語文eが第二言語文fの翻訳結果である。
【0128】
以上、本実施の形態によれば、小規模対訳コーパスの単語アライメントを精度よく実行できる結果、精度の良い翻訳結果が得られる。
【0129】
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムにおいて、コンピュータがアクセス可能な記録媒体は、単語アライメントモデル構築装置が有する小規模単語アライメントモデル格納部と、単語アライメントモデル構築装置が有する対訳文単語位置確率情報格納部とを具備し、コンピュータを、第二言語文を受け付ける受付部と、前記小規模単語アライメントモデル格納部に格納されている小規模単語アライメントモデル、および前記対訳文単語位置確率情報格納部に格納されている1以上の対訳文単語位置情報ごとの対訳文単語位置確率情報を用いて、前記受付部が受け付けた第二言語文から第一言語文を取得する翻訳部として機能させるプログラムである。
【0130】
また、
図7は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の単語アライメントモデル構築装置等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図7は、このコンピュータシステム300の概観図であり、
図8は、システム300のブロック図である。
【0131】
図7において、コンピュータシステム300は、CD−ROMドライブ3012を含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0132】
図8において、コンピュータ301は、CD−ROMドライブ3012に加えて、MPU3013と、MPU3013、CD−ROMドライブ3012に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0133】
コンピュータシステム300に、上述した実施の形態の単語アライメントモデル構築装置等の機能を実行させるプログラムは、CD−ROM3101に記憶されて、CD−ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD−ROM3101またはネットワークから直接、ロードされても良い。
【0134】
プログラムは、コンピュータ301に、上述した実施の形態の単語アライメントモデル構築装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0135】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0136】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0137】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
【0138】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【0139】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。