[第1の実施形態]
図1は、第1の実施形態に係る対訳辞書作成装置の機能的構成を示す図である。
図1に示すように、本実施形態に係る対訳辞書作成装置1は、入力受付部101と、形態素解析部102と、単語分類部103と、コーパス分割部104と、対応確率算出部105と、評価部106と、を備える。また、本実施形態に係る対訳辞書作成装置1は、意味分類対応コーパス111と、対訳辞書112とを含む各種データを記憶する記憶部(図示せず)を備える。
入力部は、対訳辞書の作成に用いる多言語文書群2の入力を受け付ける。多言語文書群2は、内容の主旨が対応する複数種の言語で記載された文書データ(以下、単に「文書」という)の組を1組、或いは複数組含む。図1に示した多言語文書群2は、3個の日本語の文書201〜203と、3個の英語の文書211〜213とを含む。3個の日本語の文書201〜203は、それぞれ、3個の英語の文書211〜213のいずれかと内容の主旨が対応している。例えば、日本語の文書201は、英語の文書211と内容の主旨が対応している。
形態素解析部102は、それぞれの文書に含まれる文章に対する形態素解析を行い、文章中の単語を抽出する。
単語分類部103は、形態素解析の結果に基づいて、文書毎に各単語(形態素)の意味分類を推定する。単語分類部103は、意味分類推定部103Aと、推定結果保持部103Bと、推定結果更新部103Cと、対訳語句リスト103Dと、制御部103Eと、を含む。
コーパス分割部104、対応確率算出部105、及び評価部106は、単語分類部103における各単語の意味分類の推定結果に基づいて、複数種の言語間における単語の対訳関係を登録した対訳辞書112を作成する辞書作成部110として機能する。コーパス分割部104は、単語分類部103による単語の意味分類の推定結果に基づいて、各文書から抽出した単語を意味分類毎に集約した意味分類対応コーパス111を作成する。対応確率算出部105は、意味分類対応コーパスにおける意味分類毎に、複数言語間での単語ペアの対応確率を算出する。評価部106は、単語ペアの対応確率に基づいて、単語ペア毎に対訳語句らしさを表すスコアを算出し、当該スコアが閾値を超えた単語ペアを対訳語句として対訳辞書112に登録する。
本実施形態に係る対訳辞書作成装置1における単語分類部103は、上記のように、意味分類推定部103Aと、推定結果保持部103Bと、推定結果更新部103Cと、対訳語句リスト103Dと、制御部103Eと、を含む。
意味分類推定部103Aは、文書内の単語の意味分類を推定し、意味分類の推定結果を推定結果保持部103Bに保持させる。推定結果保持部103Bが意味分類の推定結果を保持している場合、意味分類推定部103Aは、推定結果保持部103Bが保持している意味分類の推定結果を参照して、文書データ内の各単語の意味分類を推定する。
推定結果保持部103Bは、意味分類の推定結果を保持する。
推定結果更新部103Cは、意味分類推定部103Aによる意味分類の推定結果と、対訳語句リスト103Dに登録された対訳語句とに基づいて、推定結果保持部103Bで保持している意味分類の推定結果を更新する。
対訳語句リスト103Dは、複数言語間における対訳が確定している1組以上の対訳語句を登録したリストである。
制御部103Eは、単語分類部103が行う処理(言い換えると、意味分類推定部103Aと、推定結果更新部103Cとが行う処理)を制御する。
本実施形態に係る対訳辞書作成装置1は、例えば、オペレータが多言語文書群を入力し対訳辞書の作成開始の命令を入力すると、図2に示す処理を行う。
図2は、第1の実施形態に係る対訳辞書作成装置が行う処理を説明するフローチャートである。
図2に示すように、本実施形態の対訳辞書作成装置1は、まず、入力された多言語文書群2に含まれる文書のそれぞれに対し、形態素解析を行う(ステップS1)。ステップS1の処理は、形態素解析部102が行う。対訳辞書作成装置1は、入力受付部101により多言語文書群2の各文書の入力を受け付け、入力された文書を形態素解析部102に渡す。形態素解析部102は、文書に対する既知の形態素解析方法に従って、各文書の文章を形態素(単語)に分割する。
次に、対訳辞書作成装置1は、ステップS1の処理結果に基づいて、文書データ内の単語(形態素)の意味分類を推定する意味分類推定処理(ステップS2)を行う。ステップS2の処理は、単語分類部103が行う。単語分類部103は、1個の文書内の各単語の意味分類を推定する処理を、多言語文書群に含まれる全ての文書に対して行う。単語分類部103は、単語の意味分類を推定する処理として、単語毎に、複数の意味分類のそれぞれについての確率分布を算出する処理を行う。また、単語分類部103は、単語の意味分類の推定結果に基づいて、対応他言語文書における対応単語についての意味分類の推定結果を更新する。ここで、対応他言語文書は、単語の意味分類を推定している文書と内容の主旨が対応する他の言語の文書である。対応単語は、単語の意味分類を推定している文書における単語と対応する、対応他言語文書の単語である。
次に、対訳辞書作成装置1は、ステップS2の処理結果に基づいて、文書内の単語を意味分類毎に集約した意味分類対応コーパス111を作成する(ステップS3)。ステップS3の処理は、コーパス分割部104が行う。
次に、対訳辞書作成装置1は、ステップS3で作成した意味分類対応コーパス111に基づいて、複数言語間での単語ペアの対応確率を算出する(ステップS4)。ステップS4の処理は、対応確率算出部105が行う。対応確率算出部105は、例えば、既知の確率算出方法に従って、各単語ペアの対応確率を算出する。
次に、対訳辞書作成装置1は、ステップS4で算出した単語ペアの対応確率に基づいて、単語ペアの対訳語句らしさを表すスコアを算出する(ステップS5)。ステップS5の処理は、評価部106が行う。評価部106は、既知の算出方法に従って、単語ペアの対訳語句らしさを表すスコア(言い換えると単語ペアが正しい対訳語句であることの確度を表すスコア)を算出する。
次に、対訳辞書作成装置1は、ステップS5で算出したスコアに基づいて、対訳語句を選出し対訳辞書に登録する(ステップS6)。ステップS6の処理は、評価部106が行う。評価部106は、例えば、ステップS5で算出したスコアが閾値以上である単語ペア、或いは算出したスコアが高い所定個数の単語ペアを選出し、当該単語ペアを対訳辞書に登録する。
本実施形態に係る対訳辞書作成装置1が行う上記の処理における意味分類推定処理(ステップS2)は、単語分類部103が行う。単語分類部103は、ステップS2の処理として、例えば、図3、図4A及び図4Bに示す処理を行う。
図3は、意味分類推定処理の内容を説明するフローチャートである。
意味分類推定処理(ステップS2)では、多言語文書群に含まれる全ての文書における全ての単語についての意味分類を推定する処理を複数回繰り返す。すなわち、意味分類推定処理では、図3に示すように、多言語文書群に含まれる全ての文書における全ての単語についての意味分類を推定する処理をN回繰り返すと終了する第1のループ処理(ステップS201〜S210)を行う。
第1のループ処理は、単語分類部103の制御部103Eが制御する。制御部103Eは、例えば、変数nの初期値を1とし、多言語文書データ群に含まれる全ての文書データにおける全ての単語に対するステップS202〜S209の処理(第2のループ処理)が1回終わる毎に変数nをn=n+1に更新する。そして、更新した変数nが所定の回数Nよりも大きくなった場合、単語分類部103の制御部103Eは、第1のループ処理を終了する。
なお、第1のループ処理の終了条件とする処理の回数Nは適宜設定すればよく、予め定めておく固定値であってもよいし、例えば、対訳辞書の作成処理の開始時等にオペレータが設定してもよい。
第1のループ処理では、上記のように、多言語文書群に含まれる文書の言語毎に同一言語の全ての文書における全ての単語についての意味分類を推定する処理を、全ての言語に対して繰り返すと終了する第2のループ処理(ステップS202〜S209)を行う。
第2のループ処理は、単語分類部103の制御部103Eが制御する。制御部103Eは、例えば、変数mの値により処理対象の言語を指定し、変数mと対応付けられた言語の全ての文書における全ての単語に対するステップS203〜S208の処理(第3のループ処理)が終了する毎に、変数mを未選択の値に更新する。変数m(言語を識別する値)は、例えば、1から始まる整数値であってもよいし、各言語の略称等の文字列であってもよい。変数mを更新する際に未選択の値(言語)がない場合、単語分類部103の制御部103Eは、第2のループ処理を終了する。
第2のループ処理では、上記のように、選択した言語の文書毎に一文書の全ての単語についての意味分類を推定する処理を、選択した言語の全ての文書に対して繰り返すと終了する第3のループ処理(ステップS203〜S208)を行う。
第3のループ処理は、単語分類部103の制御部103Eが制御する。制御部103Eは、例えば、変数jの値により処理対象の文書を指定し、変数jと対応付けられた文書における全ての単語に対するステップS204〜S208の処理(第4のループ処理)が終わる毎に変数jをj=j+1に更新する。変数j(文書を識別する値)は、例えば、1から始まる整数値とする。制御部103Eは、例えば、変数jの初期値を1とし、変数jで指定された文書における全ての単語に対するステップS204〜S207の処理(第4のループ処理)が終わる毎に、変数jをj=j+1に更新する。そして、更新した変数jが、選択された言語の文書の数Jよりも大きくなった場合、単語分類部103の制御部103Eは、第3のループ処理を終了する。
第3のループ処理では、上記のように、変数jで指定された文書の単語毎に意味分類を推定する処理を、指定された文書の全ての単語に対して繰り返すと終了する第4のループ処理(ステップS204〜S207)を行う。
第4のループ処理は、単語分類部103の制御部103Eが制御する。制御部103Eは、例えば、変数iの値により処理対象の単語を指定する。変数i(単語を識別する値)は、例えば、1から始まる整数値とする。そして、制御部103Eは、指定された文書における全ての単語に対するステップS205及びS206の処理が終わる毎に変数iをi=i+1に更新する。更新した変数iが、選択された文書の単語数Iよりも大きくなった場合、単語分類部103の制御部103Eは、第4のループ処理を終了する。
第4のループ処理では、現在処理対象である文書データdm jの各単語wm i,jに対し、ステップS205及びS206の処理を行う。
第4のループ処理では、変数iにより処理対象の単語wm i,jを指定した後、指定した単語wm i,jの意味分類kwm i,jを推定し、推定した意味分類kwm i,jを推定結果保持部103Bに格納する(ステップS205)。ステップS205の処理は、単語分類部103の意味分類推定部103Aが行う。意味分類推定部103Aは、例えば、ギブスサンプリング等の既知の統計処理手法に従い、単語wm i,jの意味分類kwm i,jを推定する。
次に、単語分類部103は、現在処理対象となっている文書dm jについての対応他言語文書d−m jに存在する、単語wm i,jと対応する単語w−m i’,jの意味分類の推定結果(意味分類kwm i,j)を更新する推定結果更新処理(ステップS206)を行う。ステップS206の処理は、推定結果更新部103Cが行う。推定結果更新部103Cは、ステップS206の処理として、図4A及び図4Bに示す処理を行う。
図4Aは、推定結果更新処理の内容を説明するフローチャート(その1)である。図4Bは、推定結果更新処理の内容を説明するフローチャート(その2)である。
推定結果更新処理において、推定結果更新部103Cは、まず、図4Aに示すように、配列WLHを初期化し、配列WLH内の要素の数を表す値CountWLHを「0」に初期化する(ステップS206A)。
次に、推定結果更新部103Cは、現在の処理対象である単語wm i,jを検索キーとして対訳語句リスト103Dを検索し(ステップS206B)、単語wm i,jが対訳語句リスト103Dに登録されているか否かを判定する(ステップS206C)。単語wm i,jが対訳語句リスト103Dに登録されていない場合(ステップS206C;No)、推定結果更新部103Cは、図4Bに示すように、推定結果更新処理を終了する。
一方、単語wm i,jが対訳語句リスト103Dに登録されている場合(ステップS206C;Yes)、推定結果更新部103Cは、次に、第5のループ処理(ステップS206D〜S206J)を行う。第5のループ処理は、対応他言語文書から単語wm i,jの対応単語w−m hを抽出する処理(ステップS206E〜S206H)を、全ての対応単語に対して行うと終了する。
第5のループ処理は、推定結果更新部103Cが制御する。推定結果更新部103Cは、例えば、変数hにより単語wm i,jの対応単語w−m hを指定する。変数h(対応単語w−m hを識別する値)は、例えば、1から始まる整数値とする。推定結果更新部103Cは、対応他言語文書から単語wm i,jの対応単語w−m hを抽出する処理が終わる毎に変数hをh+1に更新する。そして、更新した変数hが対応単語w−m hの数Hよりも大きくなった場合、推定結果更新部103Cは、第5のループ処理を終了する。
第5のループ処理において、推定結果更新部103Cは、まず、変数hにより指定した対応単語w−m hを検索キーとして対応他言語文書d−m jの単語を検索する(ステップS206E)。検索した後、推定結果更新部103Cは、対応他言語文書d−m jに対応単語w−m hがあるか否かを判定する(ステップS206F)。
対応他言語文書d−m jに対応単語w−m hがある場合(ステップS206F;Yes)、推定結果更新部103Cは、対応他言語文書d−m jにおける対応単語w−m hの出現箇所(すなわち単語w−m i’,j)を表す情報を配列WLHに格納(ステップS206G)。続けて、推定結果更新部103Cは、配列WLHの要素(単語w−m i’,j)の数を表す値CountWLHをCountWLH+1に更新する(ステップS206H)。
ステップS206Hの後、推定結果更新部103Cは、対応単語w−m hを指定する変数hを更新し、h≦Hであれば第5のループ処理を続ける。そして、ステップS206Hの後で更新した変数hがh>Hとなった場合、推定結果更新部103Cは、第5のループ処理を終了する。
一方、対応他言語文書d−m jに対応単語w−m hがない場合(ステップS206F;No)、推定結果更新部103Cは、ステップS206G及びS206Fをスキップして、対応単語w−m hを指定する変数hを更新する。その後、制御部103Eは、更新した変数hがh≦Hであれば第5のループ処理を続け、更新した変数hがh>Hであれば第5のループ処理を終了する。
第5のループ処理を終えると、推定結果更新部103Cは、次に、図4Bに示すように、配列WLH内の要素の数を表す値CountWLHを読み出し、CountWLH=1であるか否かを判定する(ステップS206K)。CountWLH≠1である場合(ステップS206K;No)、推定結果更新部103Cは、推定結果更新処理を終了する。
一方、CountWLH=1である場合(ステップS206K;Yes)、推定結果更新部103Cは、推定結果保持部103Bにアクセスし、配列WLHに保存した単語w−m i’,jについての意味分類kw−m i’,jを更新する(ステップS206L)。ステップS206Lにおいて、推定結果更新部103Cは、単語w−m i’,jについての意味分類kw−m i’,jを、現在の処理対象である単語wm i,jの意味分類kwm i,jと同じ値に更新する。ステップS206Lの処理を終えると、推定結果更新部103Cは、現在の処理対象である単語wm i,jに対する推定結果更新処理を終了する。
推定結果更新処理が終了すると、単語分類部103の制御部103Eが、第4のループ処理を終了するか否かを判定する処理を行う(図3のステップS207)。単語分類部103の制御部103Eは、選択された文書dm jにおける処理対象の単語wm i,jを指定する変数iを更新する。制御部103Eは、更新した変数iがi≦Iであれば第4のループ処理を続け、更新した変数iがi>Iであれば第4のループ処理を終了する。
第4のループ処理が終了すると、単語分類部103の制御部103Eが、第3のループ処理を終了するか否かを判定する処理を行う(図3のステップS208)。単語分類部103の制御部103Eは、選択された言語の文書から処理対象の文書dm jを指定する変数jを更新する。制御部103Eは、更新した変数jがj≦Jであれば第3のループ処理を続け、更新した変数jがj>Jであれば第3のループ処理を終了する。
第3のループ処理が終了すると、単語分類部103の制御部103Eが、第2のループ処理を終了するか否かを判定する処理を行う(図3のステップS209)。単語分類部103の制御部103Eは、文書の言語を指定する変数mを更新する。制御部103Eは、未処理の言語を表す値に変数mを更新できた場合には第2のループ処理を続け、更新できなかった場合には第2のループ処理を終了する。
第2のループ処理が終了すると、単語分類部103の制御部103Eが、第1のループ処理を終了するか否かを判定する処理を行う(図3のステップS210)。単語分類部103の制御部103Eは、第2のループ処理を行った回数を表す変数nを更新する。更新した変数nがn≦Nであれば第1のループ処理を続け、更新した変数nがn>Nであれば第1のループ処理を終了する。
第1のループ処理が終了すると、単語分類部103の制御部103Eは、推定結果保持部103Bが保持している各単語の意味分類の推定結果をコーパス分割部104に渡し、コーパス分割部104にステップS3の処理を行わせる。
本実施形態に係る意味分類推定処理では、上記のように、現在処理対象である単語の意味分類を推定した後、当該単語の対応単語についての意味分類を更新する推定結果更新処理を行う。推定結果更新処理を行わない場合と推定結果更新処理を行った場合とで意味分類の推定結果に生じる差異を説明するため、まず、図5を参照して推定結果更新処理を行わない場合の意味分類の推定処理について説明する。
図5は、推定結果更新処理を行わない場合の意味分類の推定処理を説明する図である。
単語の意味分類を推定する処理では、一文書中の各単語は潜在的な意味分類(トピック)を持ち、同じ意味分類を持つ単語は同一文書に出現しやすいということを利用する。この際、単語間の意味分類の類似性(距離)は、文書の文脈での共起頻度の統計で表す。
図5の(a)には、日本語の一文書中の3個の単語についての共起頻度の例を示している。図5の(a)において、ブロック301は日本語の「白王」という単語W11を表し、ブロック302は日本語の「モンゴル」という単語W12を表している。また、図5の(a)において、ブロック303は、日本語の「アメリカ」という単語W13を表している。なお、単語W11の「白王(はくおう)」は、架空のモンゴル出身力士の名前である。
ここで、一文書中における単語W11と単語W12との共起頻度、及び単語W12と単語W13との共起頻度がそれぞれ50回であるとすると、単語W12の意味分類は、単語W11と同じ意味分類になる確率と、単語W13と同じ意味分類になる確率とが1:1となる。したがって、1個の文書における単語W11,W12,W13の意味分類を推定する処理を複数回繰り返すと、図5の(b)に示したテーブル401のような推定結果が得られる。なお、テーブル401におけるT1〜T6は、それぞれ、異なる意味分類(トピック)を表している。また、テーブル401には「T1(相撲)」、「T2(政治)」等、各意味分類の具体的な意味を示しているが、これら具体的な意味は、テーブル401の処理結果から推測される意味分類T1〜T6の意味である。
推定結果更新処理を行わない場合、文書中の単語の意味分類を推定する処理は、複数種の言語毎に独立した処理となる。そのため、単語W11の意味分類の推定結果は、図5の(b)に示したように、各回の処理でまちまちの結果となる。よって、単語W11の推定結果の影響を50%の確率で受ける単語W12の意味分類の推定結果も、各回の処理でまちまちの結果となる。
したがって、テーブル401の処理結果に基づいて単語W11,W12,W13のそれぞれにおける意味分類の確率分布を算出すると、図5の(c)に示したテーブル402のような結果となる。すなわち、意味分類を推定する処理を複数回行った場合の単語W11の意味分類及び単語W13の意味分類の推定結果に揺らぎがあるため、単語W12に対する意味分類の推定結果及び確率分布にも揺らぎが生じる。
次に、図6A〜図6C、及び図7を参照して、第1の実施形態に係る意味分類の推定方法及び更新方法を説明する。
図6Aは、第1の実施形態に係る意味分類の推定方法及び更新方法を説明する図(その1)である。図6Bは、第1の実施形態に係る意味分類の推定方法及び更新方法を説明する図(その2)である。図6Cは、第1の実施形態に係る意味分類の推定方法及び更新方法を説明する図(その3)である。図7は、第1の実施形態に係る意味分類推定処理の処理結果を説明する図である。
図6Aの(a)には、1個の日本語文書と1個の英語文書との組に対し、本実施形態に係る意味分類推定処理を行っている途中の意味分類の推定結果を表すテーブル403,404と、対訳語句リスト103Dとを示している。
テーブル403は、日本語文書における3個の単語W11,W12,W13に対する意味分類の推定結果を示している。単語W11,W12,W13の共起頻度には、図5の(a)に示した関係があるとする。
テーブル404は、英語文書における3個の単語W21,W22,W23に対する意味分類の推定結果を示している。英語文書の単語W21は、日本語文書の単語W11と対応する単語である。英語文書の単語W22は、日本語文書の単語W12と対応する単語である。英語文書の単語W23は、日本語文書の単語W13と対応する単語である。単語W21,W22,W23の共起頻度は、図5の(a)に示した関係と同等の関係、すなわち一文書中における単語W11と単語W12との共起頻度、及び単語W12と単語W13との共起頻度が同数であるとする。
更に、対訳語句リスト103Dには、対訳語句として、単語W11と、単語W21との組が登録されているとする。
図6Aの(a)には、2回目の第2のループ処理(ステップS202〜S209)の途中、より具体的には日本語文書に対する第3のループ処理(ステップS203〜S208)が終了した時点での意味分類の推定結果を示している。ここで、テーブル403を見ると、各単語W11、W12,W13の2回目の推定結果は、1回目の推定結果とは異なる意味分類となっている。更に、単語W12の意味分類は、1回目の推定結果では単語W11と同じ意味分類になっているが、2回目の推定結果では単語W13と同じ意味分類になっている。
この後、英語文書に対する第3のループ処理(ステップS203〜S208)を行うと、英語文書の単語W21に対する2回目の意味分類の推定結果は、例えば、図6の(b)のテーブル405のようになる。すなわち、単語W21は、意味分類T1と推定される。
英語文書に対する第3のループ処理(ステップS203〜S208)では、単語毎にステップS205及びステップS206の処理を行う。したがって、例えば、ステップS205で英語文書の単語W21の意味分類を推定した後、対訳辞書作成装置1(意味分類部)は、その推定結果に基づいてステップS206の推定結果更新処理を行う。ステップS206の推定結果更新処理は、推定結果更新部103Cが行う。推定結果更新部103Cは、ステップS206の処理として、図4A及び図4Bに示した処理を行う。
ステップS206では、まず、推定結果更新部103Cが対訳語句リスト103Dを検索し、英語の単語W21が登録されているか否かを判定する(ステップS206B,S206C)。図6の(b)に示したように、単語W21は対訳語句リスト103Dに登録されている。このため、推定結果更新部103Cは、対訳語句リスト103Dにおいて単語W21の対訳語句に指定されている日本語の単語W11が、対応他言語文書内(すなわち日本語文書内)にあるか否かを判定する(ステップS206E,S206F)。図6の(b)のテーブル403に示されているように、日本語文書内には単語W11がある。よって、推定結果更新部103Cは、日本語文書に対する2回目の意味分類の推定処理における単語W11についての意味分類の推定結果の格納場所を表す情報を配列WLHに格納し、値CountWLHを更新する(ステップS206G,S206H)。
その後、図4Aに示した処理では、対訳語句リスト103Dに登録された単語W21の全対応単語を対象としてステップS206E〜S206Hの処理を繰り返している。しかしながら、対訳語句リスト103Dに登録されているのは、日本語の単語W11と英語の単語W21との関係のみである。したがって、推定結果更新部103Cは、第5のループ処理を終了し、図4Bに示したステップS206Lの処理を行う。すなわち、推定結果更新部103Cは、英語文書の単語W21と対応する日本語文書の単語W11についての2回目の意味分類の推定結果の値T3を、単語W21の2回目の意味分類の推定結果の値T1に更新する。このため、2回目の第2のループ処理(ステップS202〜S209)を終えたときの日本語文書の単語及び英語文書の単語についての意味分類の推定結果は、それぞれ、図6Bの(c)に示すテーブル406及びテーブル407のように更新される。
その後、3回目の第2のループ処理(ステップS202〜S209)を行う。ここで、英語文書の単語21の意味分類を推定する処理(ステップS205)が終わると、意味分類の推定結果は、例えば、図6Bの(d)に示したような状態となる。すなわち、日本語文書の単語については、テーブル408のように、単語W11及び単語W12の意味分類が「T5」となり、単語W13の意味分類が「T4」となる。これに対し、英語文書の単語W21については、テーブル409のように、意味分類が「T1」となる。
ここで再び、英語文書の単語W21を処理対象としてステップS206の推定結果更新処理を行うと、推定結果更新部103Cは、日本語文書の単語W11の意味分類を「T5」から英語の単語W21の意味分類と同じ値「T1」に更新する。更に、推定結果更新部103Cは、日本語文書に対する3回目の意味分類の推定結果において単語W11と意味分類が同じ値であった単語W12の意味分類も、「T5」から英語の単語W22の意味分類と同じ値「T1」に更新する。その後、推定結果更新部103Cは、英語文書の単語W22,W23の意味分類を推定するが、単語W22,W23は、対訳語句リスト103Dに登録されていない。よって、3回目の第2のループ処理(ステップS202〜S209)を終えたときの日本語文書の単語の意味分類の推定結果、及び英語文書の単語の意味分類の推定結果は、それぞれ、図6Cの(e)に示すテーブル410,及びテーブル411のようになる。
このように、日本語文書の単語W11と英語文書の単語W21との組が対訳語句リスト103Dに登録されている場合、英語文書の単語W21の意味分類を推定する毎に、推定結果更新部103Cが推定結果に基づいて日本語文書の単語W11等の意味分類を更新する。よって、第1のループ処理(ステップS201〜S210)を終了したときの日本語文書の単語W11,W12,W13についての意味分類の推定結果は、例えば、図7の(a)に示すテーブル412のようになる。すなわち、推定結果更新処理の影響により、単語W11の意味分類の推定結果は「T1」となる回数が多くなり、意味分類の揺らぎが非常に小さくなる。更に、単語W11の意味分類の推定結果の揺らぎが小さくなることで、単語W12の意味分類の推定結果の揺らぎも小さくなる。したがって、第1のループ処理(ステップS201〜S210)を終了したときの日本語文書の単語W11,W12,W13の意味分類の確率分布は、例えば、図7の(b)に示すテーブル412のようになる。推定結果更新処理を行った場合の確率分布(テーブル412)における単語W12の確率分布は、推定結果更新処理を行わない場合の確率分布(図5のテーブル411)とは異なり、意味分類T1の値が最も大きくなる。そのため、テーブル412の確率分布に基づいて意味分類対応コーパス111を作成すると、単語W11,W12は同じ意味分類T1の単語として集約される。
次に、図8〜図14を参照し、推定結果更新処理を行わない場合と推定結果更新処理を行った場合との処理結果の差異について、より具体的に説明する。
図8は、多言語文書群の例を示す図である。
図8には、多言語文書群の例として、3組の文書対21,22,23を含む多言語文書群を示している。1個の文書対は、内容の主旨が対応する日本語の文書と英語の文書とを含む。ここで、1個の文書対における日本語の文書と、英語の文書とは、内容の主旨が対応していれば、各文の内容、各文の記載順等が異なっていてもよい。例えば、第1の文書対21の日本語文書201と、英語文書211とは、いずれも、ラリー・クラプトン氏と春賀富士とがアメリカ相撲協会の設立についての会談を行った、という主旨の文章が記載されている。また、第2の文書対22の日本語文書202と、英語文書212とは、いずれも、アメリカの議会に招待されたため春賀富士が秋場所を欠場した、という主旨の文章が記載されている。更に、第3の文書対23の日本語文書203と、英語文書213とは、いずれも、春賀富士等の力士を輩出したモンゴルの議会で次期駐日大使の人選を承認した、という主旨の文章が記載されている。すなわち、図8に示した多言語文書群に含まれる文書201〜203,211〜213は、いずれも相撲に関連した文章が記載されている。なお、図8に示した日本語文書201〜203、及び英語文書211〜213は、本願発明者が作成した文書であり、各文書の記載内容は架空のものである。図8の日本語文書201における「ラリー・クラプトン氏」は架空のアメリカ人である。また、図8の日本語文書201〜203における「白王」、「春賀富士」、及び「朝雄龍」は、それぞれ架空のモンゴル出身力士の名前である。更に、図8の英語文書212,213における「Harukafuji」は、日本語文書202,203の「春賀富士(はるかふじ)」の英語表記(すなわち対訳)である。
図8に示した3組の文書対21,22,23を含む多言語文書群を本実施形態に係る対訳辞書作成装置1に入力し、対訳辞書の作成処理を開始すると、対訳辞書作成装置1は、各文書201〜203,211〜213に対し形態素解析を行う(ステップS1)。ステップS1の処理の結果、各文書201〜203,211〜213からは、それぞれ、例えば、図9に示すような単語が抽出される。
図9は、形態素解析により抽出された単語を示す図である。
図9には、図8に示した6個の文書201〜203,211〜213のそれぞれから抽出された単語(形態素)を文書毎にまとめたテーブル420を示している。テーブル420において、文書対番号1の日本語文書の単語及び英語文書の単語は、それぞれ、第1の文書対21の日本語文書201及び英語文書211に対する形態素解析で抽出された単語である。テーブル420において、文書対番号2の日本語文書の単語及び英語文書の単語は、それぞれ、第2の文書対22の日本語文書202及び英語文書212に対する形態素解析で抽出された単語である。テーブル420において、文書対番号3の日本語文書の単語及び英語文書の単語は、それぞれ、第3の文書対23の日本語文書203及び英語文書213に対する形態素解析で抽出された単語である。
なお、図9のテーブル420では、1個の文書から抽出された全ての単語のうちの一部の単語のみを、順不同で示している。日本語文書と英語文書とでは、内容が同一の文であっても、一文内で対訳関係にある単語の出現位置が異なる。また、日本語文書と英語文書とが内容の主旨が対応する文書である場合、各文の記載順序等が異なる。このため、各文書に対して形態素解析を行った場合、文書対となる日本語文書の単語の出現順序と英語文書の単語の出現順序とは必ずしも一致しない。
図9に示した形態素解析の結果に基づいて、推定結果更新処理を行わずに全ての単語の意味分類を推定すると、例えば、図10に示したような結果が得られる。
図10は、推定結果更新処理を行わない場合の意味分類の推定結果の例を示す図である。
図10には、意味分類推定処理(ステップS2)において推定結果更新処理(ステップS206)を行わなかった場合の、単語毎の意味分類の確率分布と意味分類の推定結果とを文書毎にまとめたテーブル421を示している。テーブル421において、文書対番号1の日本語文書及び英語文書は、それぞれ、第1の文書対21の日本語文書201及び英語文書211である。テーブル421において、文書対番号2の日本語文書及び英語文書は、それぞれ、第2の文書対22の日本語文書202及び英語文書212である。テーブル421において、文書対番号3の日本語文書及び英語文書は、それぞれ、第3の文書対23の日本語文書203及び英語文書213である。
上記のように、単語の意味分類は、ギブスサンプリング等の既知の統計処理手法に従って推定する。この際、意味分類推定部103Aは、例えば、1文書内の単語は独立に出現しているわけではなく、潜在的なトピック(意味分類)を持ち、同じトピックを持つ単語は同じ文書に出現しやすい、という傾向を利用する。すなわち、意味分類推定部103Aは、単語の出現順を無視し、文書内における単語の出現頻度と、トピック数とに基づいて単語のトピックをモデル化する。
例えば、トピック数を2個とした場合、意味分類推定部103Aは、単語毎に、第1のトピックT1及び第2のトピックT2についての確率分布(PT1,PT2)を算出する。確率分布(PT1,PT2)は、例えば、図3に示したように、多言語文書群に含まれる全ての文書の全ての単語についての意味分類を推定する処理をN回行ったときの各意味分類の出現回数に基づいて算出する。なお、図10に示した確率分布(PT1,PT2)を算出する際には、単語の意味分類の推定のみを行っており、本実施形態に係る推定結果更新処理は行っていない。
単語毎の意味分類の確率分布を算出した後、意味分類推定部103Aは、単語毎に、確率分布の値が最も大きい意味分類(トピック)をその単語の意味分類と推定する。このため、各単語の意味分類の確率分布(PT1,PT2)から、各単語の意味分類は、図10に示すようになる。なお、図10の推定結果では、各単語の後ろに付している(T1)及び(T2)により、各単語の意味分類の推定結果を示している。
図10に示した意味分類の確率分布(PT1,PT2)及び推定結果を見ると、例えば、文書対番号1,2の文書対においては、日本語文書の単語の意味分類と英語文書の単語の意味分類が一致している。ところが、文書対番号3の文書対では、日本語文書の「モンゴル」という単語の意味分類の推定結果が「T1」であるのに対し、英語文書の「Mongolia」という単語の意味分類の推定結果は「T2」となっている。
意味分類推定部103Aにおいて図10に示した意味分類の推定結果が得られた場合、コーパス分割部104は、当該推定結果に基づいて、各文書の単語を意味分類(トピック)毎に集約して意味分類対応コーパス111を作成する。
図11は、推定結果更新処理を行わなかった場合の意味分類対応コーパスの例を示す図である。
図11には、意味分類対応コーパス111の例として、図10のテーブル421における意味分類の推定結果に基づいて各単語を意味分類T1の単語と意味分類T2の単語とに集約したテーブル形式の意味分類対応コーパス111を示している。意味分類対応コーパス111において、文書対番号1の日本語文書の単語及び英語文書の単語は、それぞれ、第1の文書対21の日本語文書201及び英語文書211に対する形態素解析で抽出された単語である。意味分類対応コーパス111において、文書対番号2の日本語文書の単語及び英語文書の単語は、それぞれ、第2の文書対22の日本語文書202及び英語文書212に対する形態素解析で抽出された単語である。意味分類対応コーパス111において、文書対番号3の日本語文書の単語及び英語文書の単語は、それぞれ、第3の文書対23の日本語文書203及び英語文書213に対する形態素解析で抽出された単語である。
図11の意味分類対応コーパス111を見ると、例えば、日本語の「白王」の意味分類の推定結果は第1の意味分類T1となっている。また、日本語の「白王」と対応する英語の「Hakuoh」の意味分類の結果も第1の意味分類T1となっている。更に、第1の意味分類T1に集約された単語は、いずれも相撲を連想させる単語となっている。これに対し、図11の意味分類対応コーパス111において第2の意味分類T2に集約された単語は、相撲以外のトピック(例えば政治)を連想させる選挙や議会等の単語となっている。
図11のような意味分類対応コーパス111に基づいて単語ペアの対応確率を求める場合、対応確率算出部105は、意味分類毎に、集約された日本語文書の単語と英語文書の単語との単語ペアに対する対応確率算出する。意味分類対応コーパス111の第1の意味分類T1における第1の文書対の文書の単語には、日本語の「白王」と、英語の「Hakuoh」とが含まれる。この場合、対応確率算出部105は、日本語文書の「白王」と、英語文書の「Hakuoh」との単語ペアについての単語対応確率を算出する。そのため、日本語文書の単語「白王」と英語文書の単語「Hakuoh」との単語ペアを対訳語句として抽出することが可能となる。
しかしながら、図10のテーブル421の第3の文書対についての意味分類の推定結果では、日本語の「モンゴル」は第1の意味分類T1となり、日本語の「モンゴル」と対応する英語の「Mongolia」は第2の意味分類T2となっている。そのため、コーパス分割部104で作成した意味分類対応コーパス111では、第3の文書対における日本語の「モンゴル」は第1の意味分類T1に集約され、対応する英語の「Mongolia」は第2の意味分類に集約されている。この場合、ステップS4の処理において日本語の「モンゴル」と、英語の「Mongolia」との単語ペアについての単語対応確率は算出されないので、日本語の「モンゴル」と英語の「Mongolia」との単語ペアが対訳語句として抽出されることはない。
一方、本実施形態においては、上記の意味分類の推定結果を更新する推定結果更新処理を行う。推定結果更新処理においては、上記の通り、意味分類を推定した単語が対訳語句リスト103Dに登録されている場合に、当該単語の対応単語に対する意味分類の推定結果を更新する。図9に示した形態素解析の結果に基づいて、推定結果更新処理を行いながら全ての単語の意味分類を推定すると、例えば、図12に示したような結果が得られる。
図12は、第1の実施形態に係る意味分類推定処理による意味分類の推定結果の例を示す図である。
図12には、意味分類推定処理(ステップS2)において推定結果更新処理(ステップS206)を行った場合の、単語毎の意味分類の確率分布と意味分類の推定結果とを文書毎にまとめたテーブル422を示している。テーブル422において、文書対番号1の日本語文書及び英語文書は、それぞれ、第1の文書対21の日本語文書201及び英語文書211である。テーブル422において、文書対番号2の日本語文書及び英語文書は、それぞれ、第2の文書対22の日本語文書202及び英語文書212である。テーブル422において、文書対番号3の日本語文書及び英語文書は、それぞれ、第3の文書対23の日本語文書203及び英語文書213である。
推定結果更新処理を行った場合、図6A〜図6C、及び図7に示したように、ある言語の文書における単語の意味分類の推定結果と、対訳語句リスト103Dとに基づいて、対応他言語文書における対応単語の意味分類の推定結果を更新する。これにより、ある言語の文書における単語の意味分類の推定結果と、対訳語句リスト103Dにおいて当該単語と対応付けられた対応単語の意味分類の推定結果とが同じ値(意味分類)になる。また、対応他言語文書における対応単語の意味分類の推定結果を更新する際には、当該対応単語と意味分類の推定結果が同じ単語の推定結果も更新される。そのため、推定結果更新処理を行った場合、図12に示した意味分類の推定結果のように、文書対番号3における日本語の「モンゴル」の推定結果と英語の「Mongolia」の推定結果とが、ともに第1の意味分類T1となる可能性が非常に高くなる。
意味分類推定部103Aにおいて図12に示した意味分類の推定結果が得られた場合、コーパス分割部104は、各文書の単語を意味分類(トピック)毎に集約し、図13に示したような意味分類対応コーパス111を作成する。
図13は、第1の実施形態に係る意味分類推定処理の結果に基づく意味分類対応コーパスの例を示す図である。
図13には、意味分類対応コーパス111の例として、図12に示したテーブル423における意味分類の推定結果に基づいて各単語を意味分類T1の単語と意味分類T2の単語とに集約したテーブル形式の意味分類対応コーパス111を示している。意味分類対応コーパス111において、文書対番号1の日本語文書の単語及び英語文書の単語は、それぞれ、第1の文書対21の日本語文書201及び英語文書211に対する形態素解析で抽出された単語である。意味分類対応コーパス111において、文書対番号2の日本語文書の単語及び英語文書の単語は、それぞれ、第2の文書対22の日本語文書202及び英語文書212に対する形態素解析で抽出された単語である。意味分類対応コーパス111において、文書対番号3の日本語文書の単語及び英語文書の単語は、それぞれ、第3の文書対23の日本語文書203及び英語文書213に対する形態素解析で抽出された単語である。
図13の意味分類対応コーパス111を見ると、例えば、日本語の「白王」の意味分類の推定結果は第1の意味分類T1となっている。また、日本語の「白王」と対応する英語の「Hakuoh」の意味分類の結果も第1の意味分類T1となっている。更に、第1の意味分類T1に集約された単語は、いずれも相撲を連想させる単語となっている。これに対し、図13の意味分類対応コーパス111において第2の意味分類T2に集約された単語は、相撲以外のトピック(例えば政治)を連想させる選挙や議会等の単語となっている。
図13の意味分類対応コーパス111に基づいて単語ペアの対応確率を求める場合、対応確率算出部105は、意味分類毎に、集約された日本語文書の単語と英語文書の単語との単語ペアに対する対応確率算出する。意味分類対応コーパス111の第1の意味分類T1における第1の文書対の文書の単語には、日本語の「白王」と、英語の「Hakuoh」とが含まれる。この場合、対応確率算出部105は、日本語文書の「白王」と、英語文書の「Hakuoh」との単語ペアについての単語対応確率を算出するので、日本語文書の単語「白王」と英語文書の単語「Hakuoh」とを対訳語句として抽出することが可能となる。
また、推定結果更新処理を行った場合、意味分類対応コーパス111の第1の意味分類T1における第3の文書対の文書の単語には、日本語の「モンゴル」と、英語の「Mongolia」とが含まれる。この場合、対応確率算出部105は、日本語文書の「モンゴル」と、英語文書の「Mongolia」との単語ペアについての単語対応確率を算出する。そのため、日本語文書の単語「モンゴル」と英語文書の単語「Mongolia」との単語ペアを対訳語句として抽出することが可能となる。
図14は、第1の実施形態に係る意味分類推定処理の結果に基づく単語ペアの対応確率の例と対訳語句らしさを表すスコアの例とを示す図である。
図14の(a)には、対応確率算出部105において、図13の意味分類対応コーパス111に基づいて算出した、意味分類毎の単語ペアの対応確率のテーブル425を示している。単語ペアの対応確率は、既知の対応確率の算出方法に従って算出する。図14の(a)のテーブル425では、日本語文書の単語「モンゴル」と英語文書の単語「Mongolia」との単語ペアについての対応確率が算出されている。そのため、テーブル425の対応確率に基づいて算出する日本語文書の単語「モンゴル」と英語文書の単語「Mongolia」との単語ペアの対訳語句らしさを表すスコアが高ければ、「モンゴル」と「Mongolia」との単語ペアは対訳辞書に登録される。
単語ペアの対訳語句らしさを表すスコアは、評価部106が、各単語ペアについての対応確率に基づいて算出する。対訳語句らしさを表すスコアは、例えば、非特許文献2等に記載された既知の算出式を用いて算出する。
図14の(a)に示したテーブル425の各単語ペアについて対訳語句らしさを表すスコアを算出し、スコアが高い順に単語ペアをソートすると、例えば、図14の(b)に示すテーブル426のような結果が得られる。この結果に基づいて、評価部106は、対訳語句として対訳辞書に登録する単語ペアを決定する。対訳辞書に登録する単語ペアは、例えば、スコアが所定の閾値以上である単語ペアとしてもよいし、スコアが高い所定個数の単語ペアとしてもよい。
このように、本実施形態に係る対訳辞書作成装置1では、ある文書における単語の意味分類を推定した際に、対訳語句リスト103Dを参照して当該単語との対訳関係が確定している対応単語の有無を判定する。そして、意味分類を推定した単語の対応単語が対訳語句リスト103Dに登録されている場合、意味分類を推定した単語を含む文書についての対応他言語文書に含まれる対応単語の意味分類の推定結果を、現在の処理において意味分類を推定した単語の意味分類に更新する。すなわち、本実施形態に係る意味分類推定処理では、対訳語句リスト103Dに登録された対訳関係が確定した単語ペアの意味分類を一致させることを制約条件として、対応他言語文書の対応単語の意味分類を更新する。更に、本実施形態に係る対訳辞書作成装置1では、対応他言語文書において意味分類の推定結果が対応単語と同じである単語についても、対応単語と同様に意味分類の推定結果を更新する。すなわち、本実施形態に係る意味分類推定処理では、対応他言語文書において同一の意味分類となる単語同士の意味分類の距離(類似性)を維持した状態で、意味分類の推定結果を更新する。これにより、対訳辞書の作成に用いる多言語文書群において内容に対応関係のある複数言語の文書が、内容の主旨が対応する文書の組である場合に、対訳可能な単語ペアの意味分類の推定結果が一致する可能性を高めることが可能となる。したがって、本実施形態によれば、対訳可能な単語ペアが対訳語句として抽出される可能性が高くなり、対訳語句の抽出精度が向上する。
更に、本実施形態に係る対訳辞書の作成処理においては、単語の潜在的なトピックを利用し、文書内における各単語の出現頻度のみを考慮した統計処理により推定した各単語のトピック(意味分類)に基づいて、対訳語句を抽出する。このため、大規模な対訳辞書(シード辞書)を参照して、内容の主旨が対応する複数の文書を含む多言語文書群から対訳語句を抽出する場合に比べて、対訳語句を抽出するまでの計算量を少なくすることが可能となる。加えて、本実施形態に係る意味分類推定処理で参照する対訳語句リスト103Dは、多言語文書群に含まれる単語についての1組以上の対訳語句が登録されていればよい。よって、本実施形態によれば、内容の主旨が対応する複数の文書を含む多言語文書群から対訳語句を抽出する際の各種コスト(例えば、計算量や、シード辞書等の言語リソース)を低減させることが可能となる。
なお、図2、図3、図4A及び図4Bのフローチャートは、本実施形態に係る対訳辞書作成装置1が行う処理を説明するフローチャートの一例に過ぎない。本実施形態に係る対訳辞書作成装置1が行う処理は、上記の処理に限らず、例えば、意味分類推定処理(ステップS2)における一部の処理の内容を変更する等、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
[第2の実施形態]
図15は、第2の実施形態に係る対訳辞書作成装置の機能的構成を示す図である。
図15に示すように、本実施形態に係る対訳辞書作成装置1は、入力受付部101と、形態素解析部102と、単語分類部103と、コーパス分割部104と、対応確率算出部105と、評価部106と、リスト作成部107と、を備える。また、本実施形態に係る対訳辞書作成装置1は、意味分類対応コーパス111と、対訳辞書112と、既存対訳辞書113と、多言語文書群2の文書と、を含む各種データを記憶する記憶部(図示せず)を備える。
入力受付部101、形態素解析部102、コーパス分割部104、対応確率算出部105、及び評価部106は、それぞれ、第1の実施形態で説明した機能を持つ。コーパス分割部104、対応確率算出部105、及び評価部106は、単語分類部103における各単語の意味分類の推定結果に基づいて、複数種の言語間における単語の対訳関係を登録した対訳辞書112を作成する辞書作成部110として機能する。
単語分類部103は、第1の実施形態で説明した機能を持つ。単語分類部103は、例えば、図3,図4A及び図4Bのフローチャートに従って、単語の意味分類を推定する処理と、対応他言語文書の対応単語の意味分類を更新する処理とを行う。
本実施形態の対訳辞書作成装置1における単語分類部103は、第1の実施形態に係る単語分類部103と同様、意味分類推定部103Aと、推定結果保持部103Bと、推定結果更新部103Cと、対訳語句リスト103Dと、制御部103Eと、を含む。本実施形態の対訳辞書作成装置1における単語分類部103の各部103A〜103C,103Eは、それぞれ、第1の実施形態で説明した機能を持つ。
本実施形態の対訳辞書作成装置1におけるリスト作成部107は、多言語文書群2と、既存対訳辞書113とに基づいて、推定結果更新部103Cが参照する対訳語句リスト103Dを作成する。既存対訳辞書113は、入力された多言語文書群2に基づいて作成する対訳辞書112とは別の、予め用意された対訳辞書である。すなわち、本実施形態では、入力された多言語文書群2に基づいて対訳辞書112を作成する際に、入力された多言語文書群2と、既存対訳辞書113とに基づいて対訳語句リスト103Dを作成する。
本実施形態に係る対訳辞書作成装置1は、例えば、オペレータが多言語文書群を入力し対訳辞書の作成開始の命令を入力すると、図16に示す処理を行う。
図16は、第2の実施形態に係る対訳辞書作成装置が行う処理を説明するフローチャートである。
図16に示すように、本実施形態の対訳辞書作成装置1は、まず、入力された多言語文書群2に含まれる文書のそれぞれに対し、形態素解析を行う(ステップS1)。ステップS1の処理は、形態素解析部102が行う。対訳辞書作成装置1は、入力受付部101により多言語文書群2の各文書の入力を受け付け、入力された文書を形態素解析部102に渡す。形態素解析部102は、文書に対する既知の形態素解析方法に従って、各文書の文章を形態素(単語)に分割する。
次に、対訳辞書作成装置1は、ステップS1の処理結果と、既存対訳辞書113とに基づいて、対訳語句リスト103Dを作成する対訳語句リスト作成処理(ステップS12)を行う。ステップS12の処理は、リスト作成部107が行う。リスト作成部107は、既存対訳辞書113の対訳語句毎に、多言語文書群における統計量と、対訳のあいまい性とを考慮した登録スコアを算出する。登録スコアを算出した後、リスト作成部107は、登録スコアの高い対訳語句を対訳語句リスト103Dに登録する。
次に、対訳辞書作成装置1は、ステップS1及びS12の処理結果に基づいて、文書内の単語(形態素)の意味分類を推定する意味分類推定処理(ステップS2)を行う。ステップS2の処理は、単語分類部103が行う。単語分類部103は、1個の文書内の各単語の意味分類を推定する処理を、多言語文書群に含まれる全ての文書に対して行う。単語分類部103は、単語の意味分類を推定する処理として、単語毎に、複数の意味分類のそれぞれについての確率分布を算出する処理を行う。また、単語分類部103は、単語の意味分類の推定結果に基づいて、対応他言語文書における対応単語についての意味分類の推定結果を更新する。ここで、対応他言語文書は、単語の意味分類を推定している文書と内容の主旨が対応する他の言語の文書である。対応単語は、単語の意味分類を推定している文書における単語と対応する、対応他言語文書の単語である。
本実施形態に係る対訳辞書作成装置1が行う上記の処理における意味分類推定処理(ステップS2)は、単語分類部103が行う。単語分類部103は、ステップS2の処理として、例えば、図3、図4A及び図4Bに示した処理を行う。
次に、対訳辞書作成装置1は、ステップS2の処理結果に基づいて、文書内の単語を意味分類毎に集約した意味分類対応コーパス111を作成する(ステップS3)。ステップS3の処理は、コーパス分割部104が行う。
次に、対訳辞書作成装置1は、ステップS3で作成した意味分類対応コーパス111に基づいて、複数言語間での単語ペアの対応確率を算出する(ステップS4)。ステップS4の処理は、対応確率算出部105が行う。対応確率算出部105は、例えば、既知の確率算出方法に従って、各単語ペアの対応確率を算出する。
次に、対訳辞書作成装置1は、ステップS4で算出した単語ペアの対応確率に基づいて、単語ペアの対訳語句らしさを表すスコアを算出する(ステップS5)。ステップS5の処理は、評価部106が行う。評価部106は、既知の算出方法に従って、単語ペアの対訳語句らしさを表すスコア(言い換えると単語ペアが正しい対訳語句であることの確度を表すスコア)を算出する。
次に、対訳辞書作成装置1は、ステップS5で算出したスコアに基づいて、対訳語句を選出し対訳辞書に登録する(ステップS6)。ステップS6の処理は、評価部106が行う。評価部106は、例えば、ステップS5で算出したスコアが閾値以上である単語ペア、或いは算出したスコアが高い所定個数の単語ペアを選出し、当該単語ペアを対訳辞書に登録する。
本実施形態に係る対訳辞書作成装置1が行う上記の処理における対訳語句リスト作成処理(ステップS12)は、リスト作成部107が行う。リスト作成部107は、ステップS12の処理として、例えば、図17に示す処理を行う。
図17は、対訳語句リスト作成処理の内容を説明するフローチャートである。
対訳語句リスト作成処理(ステップS12)では、既存対訳辞書113の対訳語句毎に、多言語文書群2における統計量と、対訳のあいまい性とを考慮した登録スコアを算出する。対訳語句リスト作成処理において、リスト作成部107は、図17に示すように、まず、既存対訳辞書113の対訳語句を読み出す(ステップS1201)。
次に、リスト作成部107は、読み出した対訳語句毎に、多言語文書群2における統計量と、対訳のあいまい性とを考慮した登録スコアを算出する(ステップS1202)。ここで、多言語文書群2における統計量は、例えば、単語の出現頻度(Term Frequency: tf)と、逆文書頻度(Inverse Document Frequency: idf)との二つの指標に基づいて算出されるtf-idf値である。ステップS1202において、リスト作成部107は、例えば、下記式(1)により、既存対訳辞書113に登録された対訳語句tiの登録スコアSiを算出する。
式(1)において、nl i,j/Σknl k,jは、文書対djの対訳語句tl iのについてのtf値である。nl i,jは、文書対djにおける対訳語句tl iの出現回数であり、Σknl k,jは、文書対djにおける全ての単語の出現回数の和である。また、式(1)におけるlog(|D|/|{d:d∋tl i}|)は、文書対djの対訳語句tl iのについてのidf値である。|D|は文書対の総数であり、|{d:d∋tl i}|は単語tl iを含む文書の数である。更に、式(1)におけるg(tJ i,tE i,dj)は、文書djにおける対訳語句(tJ i,tE i)のあいまい性を表す値である。あいまい性がある場合にはg(tJ i,tE i,dj)=0とし、あいまい性がある場合にはg(tJ i,tE i,dj)=1とする。
登録スコアを算出した後、リスト作成部107は、登録スコアの大きい順に対訳語句をソートし(ステップS1203)、登録スコアが大きい上位U個の対訳語句又は登録スコアが閾値以上の対訳語句を対訳語句リスト103Dに登録する(ステップS1204)。
ステップS1204の処理を終えると、リスト作成部107は、対訳語句リスト作成処理を終了し、単語分類部103の制御部103Eに対して対訳語句リスト103Dの作成が終了したことを通知する。リスト作成部107からの通知を受けた単語分類部103は、例えば、図3、図4A及び図4Bに示した意味分類推定処理を行う。
図18は、既存対訳辞書の例と作成された対訳語句リストの例とを示す図である。
図18の(a)には、対訳関係にある日本語文書における単語と、英語文書における単語との組が登録された既存対訳辞書113を示している。図18の(a)に示した既存対訳辞書113では、例えば、英語の「adult」という単語と対訳関係にある日本語の単語として、「成人」、「大人」、及び「成年」の3個の単語が登録されている。また、英語の「tank」という単語と対訳関係にある日本語の単語として、「(容器としての)タンク」、「戦車」、及び「槽」の3個の単語が登録されている。このように、本実施形態に係る既存対訳辞書113における対訳語句は、1組の対訳語句における日本語の単語と、英語の単語とが1対1になっていなくてもよい。なお、図18の(a)の既存対訳辞書113には示していないが、1組の対訳語句は、1個の日本語の単語と、複数個の英語の単語との組であってもよい。
リスト作成部107は、例えば、式(1)により、既存対訳辞書113に登録された対訳語句tiの登録スコアSiを算出する。上記のように、式(1)におけるg(tJ i,tE i,dj)は、文書djにおける対訳語句(tJ i,tE i)のあいまい性を表す値である。対訳語句(tJ i,tE i)のあいまい性は、1文書における1つの単語に複数通りの対訳関係があるか否かに基づいて判定する。リスト作成部107は、対訳語句tiにあいまい性がある場合にはg(tJ i,tE i,dj)=0とし、対訳語句tiにあいまい性がない場合にはg(tJ i,tE i,dj)=1とする。
例えば、「XXX type of tank is supplied with the tank of 100L.」という英文における2個の「tank」という単語のうち、一方は日本語の「戦車」という意味であり、他方は容器としての「タンク」という意味である。このため、上記の英文「XXX type of tank is supplied with the tank of 100L.」を含む英語文書においては、英語の「tank」と対訳関係にある日本語の単語を一意に決めることができない。よって、リスト作成部107は、上記の英文における英語の「tank」の対訳関係にはあいまい性があると判定し、g(tJ i,tE i,dj)=0として、登録スコアSiを算出する。これに対し、1個の英語文書における「tank」と対訳関係にある日本語の単語が「タンク」、「戦車」、及び「槽」のいずれか1個のみに特定される場合、リスト作成部107は、上記の英文における英語の「tank」の対訳関係にはあいまい性がないと判定する。英語の「tank」の対訳関係にあいまい性がない場合、リスト作成部107は、g(tJ i,tE i,dj)=1として、登録スコアSiを算出する。
このように、既存対訳辞書113の対訳語句毎に、多言語文書群における統計量と、対訳のあいまい性とを考慮して登録スコアを算出し、登録スコアが上位の対訳語句を抽出すると、例えば、図18の(b)に示すような対訳語句リスト103Dが生成される。登録スコアSiを算出する式(1)では、対訳語句(tJ i,tE i)にあいまい性がある場合にはg(tJ i,tE i,dj)=0とし、対訳語句(tJ i,tE i)にあいまい性がない場合にはg(tJ i,tE i,dj)=1とする。そのため、対訳語句にあいまい性のない文書が多いほど、式(1)により算出される登録スコアSiが大きくなる。よって、登録スコアSiが大きい対訳語句のみが登録された対訳語句リスト103Dを参照して多言語文書群の各単語の意味分類を推定することで、1個の単語に対する意味分類の推定結果の揺らぎを抑制することが可能となる。
なお、図16、及び図17のフローチャートは、本実施形態に係る対訳辞書作成装置1が行う処理を説明するフローチャートの一例に過ぎない。本実施形態に係る対訳辞書作成装置1が行う処理は、上記の処理に限らず、例えば、意味分類推定処理(ステップS2)や対訳語句リスト作成処理における一部の処理の内容を変更する等、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
[第3の実施形態]
図19は、第3の実施形態に係る対訳辞書作成装置の機能的構成を示す図である。
図19に示すように、本実施形態に係る対訳辞書作成装置1は、入力受付部101と、形態素解析部102と、単語分類部103と、コーパス分割部104と、対応確率算出部105と、評価部106と、リスト作成部107と、を備える。また、本実施形態に係る対訳辞書作成装置1は、意味分類対応コーパス111と、対訳辞書112と、多言語文書群2の文書と、を含む各種データを記憶する記憶部(図示せず)を備える。
入力受付部101、形態素解析部102、コーパス分割部104、対応確率算出部105、及び評価部106は、それぞれ、第1の実施形態で説明した機能を持つ。コーパス分割部104、対応確率算出部105、及び評価部106は、単語分類部103における各単語の意味分類の推定結果に基づいて、複数種の言語間における単語の対訳関係を登録した対訳辞書112を作成する辞書作成部110として機能する。なお、本実施形態に係る評価部106は、単語ペアの対応確率に基づいて算出した単語ペアの対訳語句らしさを表すスコアに基づいて対訳語句を対訳辞書112に登録するとともに、算出したスコアをリスト作成部107に出力する。
単語分類部103は、第1の実施形態で説明した機能を持つ。単語分類部103は、例えば、図3,図4A及び図4Bのフローチャートに従って、単語の意味分類を推定する処理と、対応他言語文書の対応単語の意味分類を更新する処理とを行う。
本実施形態の対訳辞書作成装置1における単語分類部103は、第1の実施形態に係る単語分類部103と同様、意味分類推定部103Aと、推定結果保持部103Bと、推定結果更新部103Cと、対訳語句リスト103Dと、制御部103Eと、を含む。本実施形態の対訳辞書作成装置1における単語分類部103の各部103A〜103Cは、それぞれ、第1の実施形態で説明した機能を持つ。これに対し、本実施形態に係る制御部103Eは、第1の実施形態で説明した第1のループ処理等の制御に加え、対訳語句リスト103Dについての能動学習の制御を行う。
本実施形態の対訳辞書作成装置1におけるリスト作成部107は、多言語文書群2と、評価部106の評価結果とに基づいて、単語分類部103の推定結果更新部103Cが参照する対訳語句リスト103Dを作成する。本実施形態に係る評価部106は、単語ペアの対応確率に基づいて算出した単語ペアの対訳語句らしさを表すスコアをリスト作成部107に出力する。リスト作成部107は、評価部106から受け取った単語ペアの対訳語句らしさを表すスコアに基づいて、スコアが上位の単語ペアを、対訳語句リスト103Dに登録する。
本実施形態に係る対訳辞書作成装置1は、例えば、オペレータが多言語文書群2を入力し対訳辞書の作成開始の命令を入力すると、図20に示す処理を行う。
図20は、第3の実施形態に係る対訳辞書作成装置が行う処理を説明するフローチャートである。
図20に示すように、本実施形態の対訳辞書作成装置1は、まず、入力された多言語文書群2に含まれる文書のそれぞれに対し、形態素解析を行う(ステップS1)。ステップS1の処理は、形態素解析部102が行う。対訳辞書作成装置1は、入力受付部101により多言語文書群2の各文書の入力を受け付け、入力された文書を形態素解析部102に渡す。形態素解析部102は、文書に対する既知の形態素解析方法に従って、各文書の文章を形態素(単語)に分割する。
次に、対訳辞書作成装置1は、単語の意味分類を推定して対訳語句らしさを表すスコアを算出し、スコアが上位の単語ペアを対訳語句リスト103Dに登録する処理を所定回数繰り返すと終了する第6のループ処理(ステップS21〜S23)を行う。
第6のループ処理は、単語分類部103の制御部103Eが制御する。制御部103Eは、単語の意味分類を推定して対訳語句らしさを表すスコアを算出し、スコアが上位の単語ペアを対訳語句リスト103Dに登録するまでの一連の処理(ステップS2〜S5,及びS22)が終わる毎に処理回数を表す変数に1を加算する。そして、変数の値が所定の値(回数)よりも大きくなった場合、制御部103Eは、第6のループ処理を終了する。なお、第6のループ処理の終了条件とする処理の回数は適宜設定すればよく、予め定めておく固定値であってもよいし、例えば、対訳辞書の作成処理の開始時等にオペレータが設定してもよい。
第6のループ処理では、上記のように、単語の意味分類を推定して対訳語句らしさを表すスコアを算出し、スコアが上位の単語ペアを対訳語句リスト103Dに登録するまでの一連の処理(ステップS2〜S5,及びS22)を、所定の回数だけ繰り返す。
第6のループ処理における1回(1ループ)の処理では、まず、ステップS1の処理結果と、対訳語句リスト103Dとに基づいて、文書内の単語(形態素)の意味分類を推定する意味分類推定処理を行う(ステップS2)。ステップS2の処理は、単語分類部103が行う。単語分類部103は、1個の文書内の各単語の意味分類を推定する処理を、多言語文書群2に含まれる全ての文書に対して行う。単語分類部103は、単語の意味分類を推定する処理として、単語毎に、複数の意味分類のそれぞれについての確率分布を算出する処理を行う。また、単語分類部103は、単語の意味分類の推定結果に基づいて、対応他言語文書における対応単語についての意味分類の推定結果を更新する。ここで、対応他言語文書は、単語の意味分類を推定している文書と、内容の主旨が対応する他の言語の文書である。対応単語は、単語の意味分類を推定している文書における単語と対応する、対応他言語文書の単語である。
本実施形態に係る対訳辞書作成装置1が行う上記の処理における意味分類推定処理(ステップS2)は、単語分類部103が行う。単語分類部103は、ステップS2の処理として、例えば、図3、図4A及び図4Bに示した処理を行う。
次に、対訳辞書作成装置1は、ステップS2の処理結果に基づいて、文書内の単語を意味分類毎に集約した意味分類対応コーパス111を作成する(ステップS3)。ステップS3の処理は、コーパス分割部104が行う。
次に、対訳辞書作成装置1は、ステップS3で作成した意味分類対応コーパス111に基づいて、複数言語間での単語ペアの対応確率を算出する(ステップS4)。ステップS4の処理は、対応確率算出部105が行う。対応確率算出部105は、例えば、既知の確率算出方法に従って、各単語ペアの対応確率を算出する。
次に、対訳辞書作成装置1は、ステップS4で算出した単語ペアの対応確率に基づいて、単語ペアの対訳語句らしさを表すスコアを算出する(ステップS5)。ステップS5の処理は、評価部106が行う。評価部106は、既知の算出方法に従って、単語ペアの対訳語句らしさを表すスコア(言い換えると単語ペアが正しい対訳語句であることの確度を表すスコア)を算出する。
次に、対訳辞書作成装置1は、ステップS5で算出したスコアに基づいて、スコアが上位の単語ペアを対応語句リストに登録する(ステップS22)。ステップS22の処理は、リスト作成部107が行う。リスト作成部107は、例えば、対訳語句リスト103Dに登録されていない単語ペアのうち、対訳語句らしさを表すスコアが最大である単語ペアを対訳語句リスト103Dに登録する。
単語ペアを対応語句リストに登録する処理が終了すると、単語分類部103の制御部103Eは、ステップS2〜S6,及びS22の一連の処理を行った回数を更新する。そして、行った処理の回数が所定の回数よりも少なければ第6のループ処理を続け、行った処理の回数が所定の回数に到達すると第6のループ処理を終了する。
第6のループ処理を終了すると、対訳辞書作成装置1は、ステップS5で算出したスコアに基づいて、対訳語句を選出し対訳辞書に登録する(ステップS6)。ステップS6の処理は、評価部106が行う。評価部106は、例えば、ステップS5で算出したスコアが閾値以上である単語ペア、或いは算出したスコアが高い所定個数の単語ペアを選出し、当該単語ペアを対訳辞書に登録する。
このように、本実施形態に係る対訳辞書作成装置1は、多言語文書群2の文書の単語に対する意味分類の推定処理の結果から算出した単語ペアの対訳語句らしさを表すスコアに基づいて、対訳語句リスト103Dに登録する単語ペア(対訳語句)を決定する。更に、本実施形態に係る対訳辞書作成装置1は、意味分類を推定する処理から、単語ペアを対訳語句リスト103Dに登録する処理までの一連の処理を複数回繰り返した後、対訳辞書に登録する単語ペアを決定する。すなわち、本実施形態に係る対訳辞書作成装置1は、多言語文書群2の文書の単語に対する意味分類の推定処理の結果に基づいて選出した単語ペアを対訳辞書に登録する過程で、対訳語句リスト103Dの対訳語句(単語ペア)を能動学習する。
図21Aは、対訳語句の能動学習の様子を説明する図(その1)である。図21Bは、対訳語句の能動学習の様子を説明する図(その2)である。
図21Aの(a)には、本実施形態に係る対訳辞書の作成処理を開始する時点での対訳語句リスト103Dの例を示している。すなわち、本実施形態に係る対訳辞書の作成処理は、対訳語句リスト103Dに対訳語句が登録されていない状態で開始することが可能である。対訳語句リスト103Dに対訳語句が登録されていない状態で対訳辞書の作成処理を開始した場合、1回目の意味分類推定処理(ステップS2)で行う推定結果更新処理(ステップS206)では、全ての単語に対するステップS206Cの判定結果が「No」となる。すなわち、1回目の意味分類推定処理(ステップS2)では、推定結果更新処理が行われない。
1回目の意味分類推定処理を終了した後、処理結果に基づいてステップS3〜S5の処理を行うと、各単語ペアの対訳語句らしさを表すスコアとして、例えば、図21Aの(b)に示すテーブル431のような結果が得られる。なお、テーブル431では、対訳語句らしさを表すスコアが高い順に単語ペアをソートしてある。
ステップS5の処理が終了すると、評価部106は、各単語ペアの対訳語句らしさを表すスコア(テーブル431)をリスト作成部107に渡す。リスト作成部107は、各単語ペアの対訳語句らしさを表すスコア(テーブル431)を受け取ると、対訳語句リスト103Dに登録されていない単語ペアのうちのスコアが最大である単語ペアを対訳語句リスト103Dに登録する(ステップS22)。1回目のステップS22の処理を行う時点での対訳語句リスト103Dは、図21Aの(a)に示したように、対訳語句が登録されていない。このため、1回目のステップS22の処理では、テーブル431における全ての単語ペアのうちのスコアが最大の単語ペアが、対訳語句リスト103Dへの登録対象となる。よって、1回目のステップS22の処理では、図21Aの(c)に示すように、日本語の「白王」と英語の「Hakuoh」との単語ペアが対訳語句リスト103Dに登録される。
1回目のステップS22の処理が終了すると、対訳辞書作成装置1の単語分類部103は、2回目の単語意味推定処理を行う。2回目の単語意味推定処理における推定結果更新処理では、単語分類部103の推定結果更新部103Cは、図21Aの(c)に示した、日本語の「白王」と英語の「Hakuoh」との単語ペアが登録された対訳語句リスト103Dを参照する。このため、多言語文書群2が「白王」という単語を含む日本語文書と「Hakuoh」という単語を含む英語文書との文書対を含む場合、推定結果更新処理において意味分類が更新される。
2回目の意味分類推定処理を終了した後、処理結果に基づいてステップS3〜S5の処理を行うと、各単語ペアの対訳語句らしさを表すスコアとして、例えば、図21Bの(d)に示すテーブル432のような結果が得られる。なお、テーブル432では、対訳語句らしさを表すスコアが高い順に単語ペアをソートしてある。
2回目のステップS5の処理が終了すると、評価部106は、各単語ペアの対訳語句らしさを表すスコア(テーブル432)をリスト作成部107に渡す。リスト作成部107は、各単語ペアの対訳語句らしさを表すスコア(テーブル432)を受け取ると、対訳語句リスト103Dに登録されていない単語ペアのうちの、スコアが最大である単語ペアを対訳語句リスト103Dに登録する(ステップS22)。2回目のステップS22の処理を行う時点での対訳語句リスト103Dは、図21Aの(c)に示したように、日本語の「白王」と英語の「Hakuoh」との単語ペアが対訳語句リスト103Dに登録されている。このため、2回目のステップS22の処理では、テーブル432における全ての単語ペアのうちの日本語の「白王」と英語の「Hakuoh」との単語ペアが対訳語句リスト103Dへの登録対象から除外される。テーブル432では日本語の「白王」と英語の「Hakuoh」との単語ペアのスコアが最大値となっているが、当該単語ペアはすでに対訳語句リスト103Dに登録されている。そのため、2回目のステップS22の処理において、リスト作成部107は、テーブル432における日本語の「白王」と英語の「Hakuoh」との単語ペアを、対訳語句リスト103Dへの登録対象から除外する。よって、2回目のステップS22の処理において、リスト作成部107は、図21Bの(e)に示すように、テーブル432においてスコアが2番目に大きい、日本語の「春賀富士」と英語の「Harukafuji」との単語ペアを対訳語句リスト103Dに登録する。
2回目のステップS22の処理を終えた後、対訳辞書作成装置1は、ステップS2〜S5,S22の一連の処理を所定回数に到達するまで繰り返す。この間、対訳語句リスト103Dには、ステップS22の処理を終える毎に、新たな対訳語句(単語ペア)が1個追加される。そして、ステップS2〜S5,S22の一連の処理を所定回数繰り返すと、対訳辞書作成装置1の評価部106は、最新のステップS5の処理結果に基づいて、スコアが上位の単語ペアを対訳辞書に登録する。
このように、本実施形態に係る対訳辞書作成装置1は、多言語文書群2の文書の単語に対する意味分類の推定処理の結果に基づいて選出した単語ペアを対訳辞書に登録する過程で、対訳語句リスト103Dの対訳語句(単語ペア)を能動学習する。すなわち、本実施形態によれば、既存対訳辞書113を用いることなく、対訳語句リスト103Dに基づいた意味分類の推定処理及び更新処理を行うことが可能となる。更に、多言語文書群2の文書の単語に対する意味分類の推定処理の結果に基づいて対訳語句リスト103Dの対訳語句を能動学習するので、リスト作成部107は、多言語文書群2の文書における文脈や対応単語の対訳関係の特性を反映した対訳語句リスト103Dを作成することが可能となる。よって、本実施形態によれば、多言語文書群2の文書の内容に応じた、より適切な対訳関係の対訳語句(単語ペア)が登録された対訳辞書112を作成することが可能となる。
なお、図20のフローチャートは、本実施形態に係る対訳辞書作成装置1が行う処理を説明するフローチャートの一例に過ぎない。本実施形態に係る対訳辞書作成装置1が行う処理は、上記の処理に限らず、例えば、意味分類推定処理(ステップS2)や単語ペアを対訳語句リスト103Dに登録する処理の内容を一部変更する等、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
また、本実施形態では、1回のステップS22の処理において1組の単語ペアを対訳語句リスト103Dに登録する例を挙げたが、これに限らず、1回のステップS22の処理において2組以上の単語ペアを対訳語句リスト103Dに登録してもよい。更に、ステップS22の処理では、対訳語句リスト103Dに登録する条件に、例えば、スコアが閾値以上であることを付加してもよい。
[第4の実施形態]
図22は、第4の実施形態に係る対訳辞書作成装置の機能的構成を示す図である。
図22に示すように、本実施形態に係る対訳辞書作成装置1は、入力受付部101と、形態素解析部102と、単語分類部103と、コーパス分割部104と、対応確率算出部105と、評価部106と、リスト作成部107と、を備える。また、本実施形態に係る対訳辞書作成装置1は、意味分類対応コーパス111と、対訳辞書112と、既存対訳辞書113と、多言語文書群2の文書と、を含む各種データを記憶する記憶部(図示せず)を備える。更に、本実施形態に係る対訳辞書作成装置1は、複合名詞抽出部108を備える。
入力受付部101、形態素解析部102、コーパス分割部104、対応確率算出部105、及び評価部106は、それぞれ、第1の実施形態で説明した機能を持つ。コーパス分割部104、対応確率算出部105、及び評価部106は、単語分類部103における各単語の意味分類の推定結果に基づいて、複数種の言語間における単語の対訳関係を登録した対訳辞書112を作成する辞書作成部110として機能する。また、リスト作成部107は、第2の実施形態で説明したように、多言語文書群2の各文書に対する形態素解析で抽出した単語(形態素)と、既存対訳辞書113とに基づいて、対訳語句リスト103Dを作成する。
単語分類部103は、第1の実施形態で説明した機能を持つ。単語分類部103は、例えば、図3,図4A及び図4Bのフローチャートに従って、単語の意味分類を推定する処理と、対応他言語文書の対応単語の意味分類を更新する処理とを行う。
本実施形態の対訳辞書作成装置1における単語分類部103は、第1の実施形態に係る単語分類部103と同様、意味分類推定部103Aと、推定結果保持部103Bと、推定結果更新部103Cと、対訳語句リスト103Dと、制御部103Eと、を含む。本実施形態の対訳辞書作成装置1における単語分類部103の各部103A〜103C,103Eは、それぞれ、第1の実施形態で説明した機能を持つ。
本実施形態の対訳辞書作成装置1における複合名詞抽出部108は、多言語文書群2の各文書に対する形態素解析の結果に基づいて、文書内の複合名詞を抽出する。複合名詞抽出部108は、例えば、複数の連続する単語(形態素)の品詞の関係や、文の意味構造に基づいて、複合名詞に該当する複数の連続する単語を一単語化する。すなわち、本実施形態では、文書中の複合名詞に該当する複数の連続する単語を一個の単語として扱い、対訳語句リスト103Dの作成や意味分類の推定等を行う。
本実施形態に係る対訳辞書作成装置1は、例えば、オペレータが多言語文書群2を入力し対訳辞書の作成開始の命令を入力すると、図23に示す処理を行う。
図23は、第4の実施形態に係る対訳辞書作成装置が行う処理を説明するフローチャートである。
図23に示すように、本実施形態の対訳辞書作成装置1は、まず、入力された多言語文書群2に含まれる文書のそれぞれに対し、形態素解析を行う(ステップS1)。ステップS1の処理は、形態素解析部102が行う。対訳辞書作成装置1は、入力受付部101により多言語文書群2の各文書の入力を受け付け、入力された文書を形態素解析部102に渡す。形態素解析部102は、文書に対する既知の形態素解析方法に従って、各文書の文章を形態素(単語)に分割する。
次に、対訳辞書作成装置1は、ステップS1における全文書の形態素解析の結果に基づいて複合名詞を抽出する(ステップS10)。ステップS10の処理は、複合名詞抽出部108が行う。複合名詞抽出部108は、既知の抽出方法に従って、複合名詞の条件を満たす複数の連続した単語(形態素)の組を抽出する。
ステップS10の後、複合名詞抽出部108は、全文書における、抽出した複合名詞と対応する複数の単語を1単語化する(ステップS11)。ステップS11において、複合名詞抽出部108は、文書中の複合名詞に該当する複数の単語(形態素)を1つの単語(形態素)に結合する。
ステップS10,S11の処理を終えると、対訳辞書作成装置1は、ステップS11の処理結果と、既存対訳辞書113とに基づいて、対訳語句リスト作成処理(ステップS12)を行う。ステップS12の処理は、リスト作成部107が行う。リスト作成部107は、ステップS12の処理として、例えば、図17に示した処理を行う。なお、本実施形態に係るステップS12の処理において、リスト作成部107は、複合名詞の条件を満たす複数の連続した単語の組を1個の単語(複合名詞)として扱う。
次に、対訳辞書作成装置1は、ステップS1の処理結果と、既存対訳辞書113とに基づいて、対訳語句リスト103Dを作成する対訳語句リスト作成処理(ステップS12)を行う。ステップS12の処理は、リスト作成部107が行う。リスト作成部107は、既存対訳辞書113の対訳語句毎に、多言語文書群における統計量と、対訳のあいまい性とを考慮した登録スコアを算出する。登録スコアを算出した後、リスト作成部107は、登録スコアの高い対訳語句を対訳語句リスト103Dに登録する。
次に、対訳辞書作成装置1は、ステップS11及びS12の処理結果に基づいて、文書内の単語(形態素)の意味分類を推定する意味分類推定処理(ステップS2)を行う。ステップS2の処理は、単語分類部103が行う。単語分類部103は、ステップS2の処理として、例えば、図3、図4A及び図4Bに示した処理を行う。なお、本実施形態に係るステップS2の処理において、単語分類部103は、複合名詞の条件を満たす複数の連続した単語の組を1個の単語(複合名詞)として扱う。
ステップS2の処理の後、対訳辞書作成装置1は、第1の実施形態で説明したステップS3〜S6の処理を行う。ステップS3の処理は、コーパス分割部104が行う。ステップS4の処理は、対応確率算出部105が行う。ステップS5及びS6の処理は、評価部106が行う。
図24Aは、複合名詞を抽出して1単語化する処理の例を説明する図(その1)である。図24Bは、複合名詞を抽出して1単語化する処理の例を説明する図(その2)である。
図24Aの(a)には、多言語文書群2に含まれる文書の1つである日本語文書201を示している。この日本語文書201に対し形態素解析を行うと、例えば、図24Aの(b)に示す第1の解析結果451が得られる。第1の解析結果451における「 / 」は、形態素(単語)の区切りを表す。
ステップS10の処理において第1の解析結果451から複合名詞を抽出する場合、複合名詞抽出部108は、例えば、品詞が名詞である単語が複数個連続している箇所等を、複合名詞の条件を満たす単語群として抽出する(ステップS10)。よって、第1の解析結果451からは、例えば、図24Aの(c)に示すテーブル452のように、「次期 / 大統領 / 立候補」、「両国 / 国技館」、及び「アメリカ / 相撲 / 協会」の3組が、複合名詞の条件を満たす単語群として抽出される。
複合名詞の条件を満たす単語群を抽出した後、複合名詞抽出部108は、文書中の、抽出した単語群と対応する箇所を、複数の単語(形態素)から1個の単語に変更する(ステップS11)。テーブル452に基づいて第1の解析結果451に対する変更処理を行うと、図24Aの(d)に示す第2の解析結果453が得られる。第2の解析結果453では、複合名詞の条件を満たす「次期 / 大統領 / 立候補」、「両国 / 国技館」、及び「アメリカ / 相撲 / 協会」の3箇所が、それぞれ、「次期大統領立候補」、「両国国技館」、及び「アメリカ相撲協会」に変更されている。
ステップS11の次に行うステップS12の処理では、リスト作成部107は、第2の解析結果453に基づいて対訳語句リスト103Dを作成する。本実施形態のように文書中の複合名詞を抽出する場合、リスト作成部107が参照する既存対訳辞書113は、複合名詞についての対訳語句(単語ペア)を含む辞書であることが好ましい。ステップS12の処理において、リスト作成部107は、例えば、図17に示したステップS1201〜S1204の処理を行う。第2の解析結果453及び既存対訳辞書113に基づいて作成された対訳語句リスト103Dは、例えば、図24Bの(e)に示したようになる。
ステップS12の処理の後、ステップS2〜S5の処理を行い、単語ペアの対訳語句らしさを表すスコアを算出すると、例えば、図24Bの(f)に示すテーブル454のような結果が得られる。よって、複合名詞の単語ペアのスコアが高い場合、当該複合名詞の単語ペアが対訳辞書に登録される。
このように、本実施形態では、多言語文書群2の文書における複合名詞の条件を満たす複数の連続した単語群を1単語化(複合名詞化)して単語の意味分類を推定し、推定結果に基づいて対訳辞書を作成する。このため、多言語文書群2に含まれる文書が特定の技術分野や業種の文書である場合に、当該技術分野や業種で使用される複合名詞を対訳語句として抽出し対訳辞書に登録することが可能となる。
なお、図23のフローチャートは、本実施形態に係る対訳辞書作成装置1が行う処理を説明するフローチャートの一例に過ぎない。本実施形態に係る対訳辞書作成装置1が行う処理は、上記の処理に限らず、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
[第5の実施形態]
図25は、第5の実施形態に係る翻訳システムの構成例を示す図である。
図25に示すように、本実施形態に係る翻訳システム6は、対訳辞書作成装置1と、文書サーバ7と、辞書サーバ8と、翻訳サーバ9とを含む。
文書サーバ7は、分野毎に用意された多言語文書群2A,2Bを格納するサーバ装置である。辞書サーバ8は、対訳辞書作成装置1で作成した分野毎の対訳辞書112A,112Bを格納するサーバ装置である。翻訳サーバ9は、辞書サーバ8の対訳辞書を用いて第1の言語の文書を第2の言語の文書に翻訳するサーバ装置である。
文書サーバ7及び対訳辞書作成装置1は、インターネット等の通信ネットワーク11を介して、端末装置10A,10B等と通信可能に接続される。例えば、端末10A,10Bは、翻訳システム6の管理やメンテナンスを行うオペレータが操作する端末装置である。オペレータは、端末10A,10Bを操作して文書サーバ7の多言語文書群2A,2Bの更新、新たな多言語文書群の追加、不要となった多言語文書群の削除等を行う。また、オペレータが操作する端末装置10A,10Bは、通信ネットワーク11を介して対訳辞書作成装置1と通信可能に接続される。オペレータが端末10A,10Bを操作し、多言語文書群を指定する情報及び対訳辞書の作成処理の開始命令を対訳辞書作成装置1に送信すると、対訳辞書作成装置1は、第1の実施形態〜第4の実施形態のいずれかで説明した処理を行い、対訳辞書を作成する。その後、対訳辞書作成装置1は、作成した対訳辞書を辞書サーバ8に格納する
図25では省略しているが、辞書サーバ8は、通信ネットワーク11を介して端末装置10A,10B等と通信可能に接続される。オペレータは、端末10A,10Bを操作して辞書サーバ8の対訳辞書112A,112Bのメンテナンス、不要となった対訳辞書の削除等を行う。
翻訳サーバ9は、通信ネットワーク11を介して、端末10Z等と通信可能に接続される。端末10Zのユーザは、例えば、端末10Zを操作して翻訳したい文書や当該文書の分野等の情報を翻訳サーバ9に送信する。端末10Zからの文書を受信した翻訳サーバ9は、文書の分野の情報に従って辞書サーバ8の対訳辞書を選択して文書を翻訳する。翻訳が完了すると、翻訳サーバ9は、翻訳後の文書を端末10Zに送信する。なお、端末10A,10Bも翻訳サーバ9に接続可能であることはもちろんである。
本実施形態に係る翻訳システム6は、例えば、企業内の各部署のオペレータや、各種ネットワーク・コミュニティの参加者が端末10A,10Bを利用して対訳辞書を随時更新することが可能である。また、本実施形態に係る翻訳システム6は、第1の実施形態〜第4の実施形態で説明した対訳辞書作成装置1により対訳辞書を作成する。そのため、翻訳システム6は、特定の分野で用いられる専門用語の対訳が登録された対訳辞書を低コストで作成し、更新することが可能となる。
なお、図25の翻訳システム6は、本実施形態に係る翻訳システムの一例に過ぎない。本実施形態に係る翻訳システム6は、例えば、多言語文書群と辞書データとを1台のサーバ装置に格納する等、本実施形態の要旨を逸脱しない範囲において適宜変更可能である。
上記の各実施形態で説明した処理を行う対訳辞書作成装置1は、例えば、コンピュータと、当該コンピュータに実行させるプログラムとにより実現可能である。以下、図26を参照して、コンピュータとプログラムとを用いて実現される対訳辞書作成装置1について説明する。
図26は、コンピュータのハードウェア構成を示す図である。
図26に示すように、コンピュータ15は、プロセッサ1501と、主記憶装置1502と、補助記憶装置1503と、入力装置1504と、出力装置1505と、入出力インタフェース1506と、通信制御装置1507と、媒体駆動装置1508と、を備える。コンピュータ15におけるこれらの要素1501〜1508は、バス1510により相互に接続されており、要素間でのデータの受け渡しが可能になっている。
プロセッサ1501は、Central Processing Unit(CPU)やMicro Processing Unit(MPU)等である。プロセッサ1501は、オペレーティングシステムを含む各種のプログラムを実行することにより、コンピュータ15の全体の動作を制御する。また、プロセッサ1501は、例えば、図2,図3,図4A及び図4Bに示した各処理を行う。
主記憶装置1502は、図示しないRead Only Memory(ROM)及びRandom Access Memory(RAM)を含む。主記憶装置1502のROMには、例えば、コンピュータ15の起動時にプロセッサ1501が読み出す所定の基本制御プログラム等が予め記録されている。また、主記憶装置1502のRAMは、プロセッサ1501が、各種のプログラムを実行する際に必要に応じて作業用記憶領域として使用する。主記憶装置1502のRAMは、例えば、多言語文書群2、意味分類の推定結果、意味分類対応コーパス111等の記憶に利用可能である。
補助記憶装置1503は、例えば、Hard Disk Drive(HDD)や、フラッシュメモリ等の不揮発性メモリ(Solid State Drive(SSD)を含む)等、主記憶装置1502のRAMと比べて容量の大きい記憶装置である。補助記憶装置1503は、プロセッサ1501によって実行される各種のプログラムや各種のデータ等の記憶に利用可能である。補助記憶装置1503は、例えば、例えば、図2,図3,図4A及び図4Bに示した各処理をプロセッサ1501に実行させるプログラムの記憶に利用可能である。また、補助記憶装置903は、例えば、多言語文書群2、意味分類の推定結果、意味分類対応コーパス111、対訳辞書112等の記憶に利用可能である。
入力装置1504は、例えば、キーボード装置やタッチパネル装置等である。コンピュータ15のオペレータ(利用者)が入力装置1504に対して所定の操作を行うと、入力装置1504は、その操作内容に対応付けられている入力情報をプロセッサ1501に送信する。入力装置1504は、例えば、図3、図16、図20、及び図23に示した処理のいずれかを開始させる命令の入力、多言語文書群の選択等に利用可能である。
出力装置1505は、例えば、液晶表示装置等のディスプレイ装置を含む。出力装置1505は、例えば、多言語文書群2の文書の表示、作成した対訳辞書の表示等に利用可能である。
入出力インタフェース1506は、コンピュータ15と、他の電子機器とを接続する。入出力インタフェース1506は、例えば、Universal Serial Bus(USB)規格のコネクタ等を備える。
通信制御装置1507は、コンピュータ15を通信ネットワークに接続し、通信ネットワークを介したコンピュータ15と他の電子機器との各種通信を制御する装置である。
媒体駆動装置1508は、可搬型記憶媒体16に記録されているプログラムやデータの読み出し、補助記憶装置1503に記憶されたデータ等の可搬型記憶媒体16への書き込みを行う。媒体駆動装置1508には、例えば、光ディスクドライブを利用可能である。媒体駆動装置1508として光ディスクドライブを用いる場合、当該光ディスクドライブで認識可能な各種の光ディスクを可搬型記録媒体16として利用可能である。可搬型記録媒体16として利用可能な光ディスクには、例えば、Compact Disc(CD)、Digital Versatile Disc(DVD)、Blu-ray Disc(Blu-rayは登録商標)等がある。また、媒体駆動装置1508には、例えば、1種類又は複数種類の規格に対応したメモリカード用リーダ/ライタが利用可能である。媒体駆動装置1508としてメモリカード用リーダ/ライタを用いる場合、可搬型記憶媒体16としては、メモリカード用リーダ/ライタが対応している規格、例えば、Secure Digital(SD)規格のメモリカード(フラッシュメモリ)等を利用可能である。また、可搬型記録媒体16としては、例えば、USB規格のコネクタを備えたフラッシュメモリが利用可能である。可搬型記録媒体16は、上記の各実施形態で説明した処理を含むプログラム、多言語文書群、作成した対訳辞書等の記録に利用可能である。
図3、図16、図20、及び図23に示した処理のいずれかを開始する命令をコンピュータ15に入力すると、プロセッサ1501が、補助記憶装置1503等の非一時的な記録媒体に記憶させたプログラムを読み出して実行する。これらの処理において、プロセッサ1501は、音声要約作成支援装置1における形態素解析部102、意味分類推定部103A、推定結果更新部103C、制御部103E、コーパス分割部104、対応確率算出部105、評価部106として機能する(動作する)。また、図16或いは図20の処理を実行する場合、プロセッサ1501は、上記の各部に加え、リスト作成部107としても機能する(動作する)。更に、図23の処理を実行する場合、プロセッサ1501は、複合名詞抽出部108としても機能する(動作する)。また、主記憶装置1502のRAMや補助記憶装置1503等は、対訳辞書作成装置1における対訳語句リスト103D、意味分類対応コーパス111、対訳辞書112等を記憶する記憶部、推定結果保持部103Bとして機能する。
なお、対訳辞書作成装置1として動作させるコンピュータ15は、図26に示した全ての要素1501〜1508を含む必要はなく、用途や条件に応じて一部の要素を省略することも可能である。例えば、コンピュータ15は、媒体駆動装置1508が省略されたものであってもよい。
以上記載した各実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
複数種の言語で記載された内容の主旨が対応する複数の文書のそれぞれに対して形態素解析を行い前記複数の文書のそれぞれから単語を抽出する形態素解析部と、
前記複数の文書のそれぞれに対し、抽出した前記単語の意味分類を推定する推定部と、
推定した前記単語の意味分類を保持する保持部と、
現在処理対象である文書における前記単語の意味分類の推定結果と、対訳語句リストに登録された、前記複数種の言語間における対訳関係が確定した1組以上の単語ペアとに基づいて、現在処理対象である前記文書と内容の主旨が対応する他言語の文書において前記意味分類を推定した前記単語と対応する対応単語の意味分類を、前記単語の意味分類に更新する更新部と、
前記推定部による意味分類の推定及び前記更新部による意味分類の更新を制御する制御部と、
前記推定部による意味分類の推定及び前記更新部による意味分類の更新により得た前記単語の意味分類に基づいて、前記複数種の言語間における単語の対訳関係を登録した対訳辞書を作成する辞書作成部と、
を備えることを特徴とする対訳辞書作成装置。
(付記2)
前記更新部は、現在処理対象である前記文書と内容の主旨が対応する前記他言語の文書において前記意味分類を推定した前記単語と対応する対応単語の意味分類に加え、前記他言語の文書において意味分類が前記対応単語と同じ単語の意味分類を、現在処理対象である前記文書の前記単語の意味分類に更新する、
ことを特徴とする付記1に記載の対訳辞書作成装置。
(付記3)
前記辞書作成部により作成する前記対訳辞書とは異なる、前記複数種の言語間における単語の対訳関係が登録された既存対訳辞書と、
前記既存対訳辞書に登録された対訳語句についての前記複数の文書における出現頻度を含む統計量と、前記対訳語句のあいまい性とに基づいて、前記既存対訳辞書から抽出した前記対訳語句を含む前記対訳語句リストを作成するリスト作成部と、
を更に備えることを特徴とする付記1に記載の対訳辞書作成装置。
(付記4)
前記辞書作成部は、前記複数の文書から抽出した前記単語についての意味分類の推定結果に基づいて、複数言語間で対訳関係を持つ単語ペアについての対訳語句らしさを表す値を算出し、当該対訳語句らしさを表す値が高い単語ペアを前記対訳辞書に登録する、
ことを特徴とする付記1に記載の対訳辞書作成装置。
(付記5)
前記対訳語句らしさを表す値が大きい前記単語ペアを登録した前記対訳語句リストを作成するリスト作成部、
を更に備えることを特徴とする付記4に記載の対訳辞書作成装置。
(付記6)
前記制御部による制御が、前記推定部による意味分類の推定及び前記更新部による意味分類の更新、前記辞書作成部による前記対訳語句らしさを表す値の算出、並びに前記リスト作成部による前記対訳語句リストの作成を所定回数繰り返す制御を含む、
ことを特徴とする付記5に記載の対訳辞書作成装置。
(付記7)
1個の前記文書から抽出した複数の前記単語の並び順に基づいて、複合名詞の条件を満たす連続する複数の前記単語の組を抽出し、当該複数の前記単語の組を1個の単語にする複合名詞抽出部、
を更に備えることを特徴とする付記1に記載の対訳辞書作成装置。
(付記8)
コンピュータが、
複数種の言語で記載された内容の主旨が対応する複数の文書のそれぞれに対して形態素解析を行い前記複数の文書のそれぞれから単語を抽出し、
前記複数の文書のそれぞれに対し、抽出した前記単語の意味分類を推定して保持するとともに、現在処理対象である文書における前記単語の意味分類の推定結果と、対訳語句リストに登録された、前記複数種の言語間における対訳関係が確定した1組以上の単語ペアとに基づいて、現在処理対象である前記文書と内容の主旨が対応する他言語の文書において前記意味分類を推定した前記単語と対応する対応単語の意味分類を、前記単語の意味分類に更新する処理、を複数回繰り返し、
前記単語の前記意味分類の推定する処理及び前記意味分類を更新する処理により得た前記単語の意味分類に基づいて、前記複数種の言語間における単語の対訳関係を登録した対訳辞書を作成する、
処理を実行することを特徴とする対訳辞書作成方法。
(付記9)
前記単語の意味分類を更新する処理において、前記コンピュータは、
現在処理対象である前記文書と内容の主旨が対応する前記他言語の文書において前記意味分類を推定した前記単語と対応する対応単語の意味分類に加え、前記他言語の文書において意味分類が前記対応単語と同じ単語の意味分類を、現在処理対象である前記文書の前記単語の意味分類に更新する、
ことを特徴とする付記8に記載の対訳辞書作成方法。
(付記10)
前記コンピュータは、更に、
前記対訳辞書とは異なる、前記複数種の言語間における単語の対訳関係が登録された既存対訳辞書を参照し、
前記既存対訳辞書に登録された対訳語句についての前記複数の文書における出現頻度を含む統計量と、前記対訳語句のあいまい性とに基づいて、前記既存対訳辞書から抽出した前記対訳語句を含む前記対訳語句リストを作成する、
処理を実行することを特徴とする付記8に記載の対訳辞書作成方法。
(付記11)
前記対訳辞書を作成する処理において、前記コンピュータは、
前記複数の文書から抽出した前記単語についての意味分類の推定結果に基づいて、複数言語間で対訳関係を持つ単語ペアについての対訳語句らしさを表す値を算出し、当該対訳語句らしさを表す値が高い単語ペアを前記対訳辞書に登録する、
ことを特徴とする付記8に記載の対訳辞書作成方法。
(付記12)
前記コンピュータが、更に、
前記対訳語句らしさを表す値が大きい前記単語ペアを登録した前記対訳語句リストを作成する、
処理を実行することを特徴とする付記11に記載の対訳辞書作成方法。
(付記13)
前記コンピュータが、
前記意味分類を推定する処理及び前記意味分類を更新する処理、前記対訳語句らしさを表す値を算出する処理、並びに前記対訳語句リストを作成する処理を含む一連の処理を所定回数繰り返す、
ことを特徴とする付記12に記載の対訳辞書作成方法。
(付記14)
前記コンピュータが、更に、
1個の前記文書から抽出した複数の前記単語の並び順に基づいて、複合名詞の条件を満たす連続する複数の前記単語の組を抽出し、当該複数の前記単語の組を1個の単語にする、
を実行することを特徴とする付記8に記載の対訳辞書作成方法。
(付記15)
複数種の言語で記載された内容の主旨が対応する複数の文書のそれぞれに対して形態素解析を行い前記複数の文書のそれぞれから単語を抽出し、
前記複数の文書のそれぞれに対し、抽出した前記単語の意味分類を推定して保持するとともに、現在処理対象である文書における前記単語の意味分類の推定結果と、対訳語句リストに登録された、前記複数種の言語間における対訳関係が確定した1組以上の単語ペアとに基づいて、現在処理対象である前記文書と内容の主旨が対応する他言語の文書において前記意味分類を推定した前記単語と対応する対応単語の意味分類を、前記単語の意味分類に更新する処理、を複数回繰り返し、
前記単語の前記意味分類の推定する処理及び前記意味分類を更新する処理により得た前記単語の意味分類に基づいて、前記複数種の言語間における単語の対訳関係を登録した対訳辞書を作成する、
処理をコンピュータに実行させる対訳辞書作成プログラム。