JP2015115007A - 機械翻訳装置及び機械翻訳プログラム - Google Patents

機械翻訳装置及び機械翻訳プログラム Download PDF

Info

Publication number
JP2015115007A
JP2015115007A JP2013258642A JP2013258642A JP2015115007A JP 2015115007 A JP2015115007 A JP 2015115007A JP 2013258642 A JP2013258642 A JP 2013258642A JP 2013258642 A JP2013258642 A JP 2013258642A JP 2015115007 A JP2015115007 A JP 2015115007A
Authority
JP
Japan
Prior art keywords
translation
partial
language
score
machine translation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013258642A
Other languages
English (en)
Inventor
加藤 直人
Naoto Kato
直人 加藤
太郎 宮▲崎▼
Taro Miyazaki
太郎 宮▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Japan Broadcasting Corp
Original Assignee
Nippon Hoso Kyokai NHK
Japan Broadcasting Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Hoso Kyokai NHK, Japan Broadcasting Corp filed Critical Nippon Hoso Kyokai NHK
Priority to JP2013258642A priority Critical patent/JP2015115007A/ja
Publication of JP2015115007A publication Critical patent/JP2015115007A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Machine Translation (AREA)

Abstract

【課題】高精度な翻訳を実現する。
【解決手段】原始言語を目的言語に機械翻訳する機械翻訳装置において、前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をCYKテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記CYKテーブルの前記格納エリアに格納する統計的機械翻訳手段と、前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記CYKテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有する。
【選択図】図1

Description

本発明は、機械翻訳装置及び機械翻訳プログラムに係り、特に高精度な翻訳を実現するための機械翻訳装置及び機械翻訳プログラムに関する。
従来では、用例を用いて原始言語を目的言語に機械翻訳(用例ベース機械翻訳)する手法や、ある単語に続く確率が最も高い単語等を統計的に求め、その情報を用いて原始言語を目的言語に機械翻訳(統計的機械翻訳)する手法等が知られている。例えば、ある原始言語の文章に対して、用例ベース機械翻訳による部分単語列毎の翻訳を行い、用例ベース機械翻訳ができなかった部分に対して統計的機械翻訳を行うことで、文全体の翻訳結果を出力する手法がある(例えば、特許文献1参照)。
例えば、原始言語の一例である日本語の文章「九州と沖縄は夕方から雷雨となりそうです」(以下、上記の文章を「日本語文1」という)を、目的言語の一例である手話の文(単語表記)に機械翻訳することを考える。
この場合、特許文献1に示すような翻訳手法を用いた機械翻訳では、日本語文1の部分単語列「九州と沖縄は」と「雷雨となりそうです」は、用例ベース機械翻訳でそれぞれ手話の部分単語列「九州 N 沖縄」、「雷 雨 夢」と翻訳し、日本語の部分単語列「夕方から」は、統計的機械翻訳で手話の単語列「夕がた から」と翻訳した後、これらの手話の単語列を繋いで文全体の翻訳結果「九州 N 沖縄 夕がた から 雷 雨 夢」としていた(また、上述した手話の表記に含まれる「N」は、非手指動作である「頷き」を示し、意味をもつ単位の切れ目を示す。)。
特開2013−186673号公報
しかしながら、一般に、用例ベース機械翻訳でも統計的機械翻訳でも機械翻訳による部分単語列の翻訳結果は複数ある場合が多い。例えば、上述した日本語文1の例では、各部分単語列はそれぞれ、次のような複数の翻訳結果を持つ。
<部分翻訳結果の例1>
・「九州と沖縄は」の翻訳結果(用例ベース機械翻訳による)
(a1) 翻訳結果1 「九州 N 沖縄」 翻訳スコア=0.95
(a2) 翻訳結果2 「九州 N 沖縄 N」 翻訳スコア=0.85
・「夕方から」の翻訳結果(統計的機械翻訳による)
(b1) 翻訳結果1 「夕がた から」 翻訳スコア=0.85
(b2) 翻訳結果2 「夕がた N」 翻訳スコア=0.8
・「雷雨となりそうです」の翻訳結果(用例ベース機械翻訳による)
(c1) 翻訳結果1 「雷 雨 夢」 翻訳スコア=0.95
(c2) 翻訳結果2 「雷 雨 らしい」 翻訳スコア=0.9
ここで、上述した翻訳スコアは、その翻訳がコーパス(翻訳辞書データベース(DB))中に出現する確率から計算される。上述した特許文献1に示す手法では、各部分単語列の翻訳結果からそれぞれの一番目の翻訳結果(例えば、各翻訳結果1((a1),(b1),(c1)))を繋ぐことで、文全体の翻訳結果を「九州 N 沖縄 夕がた から 雷 雨 夢」としていた。
しかしながら、一番目の翻訳結果を繋いだものが必ずしも文全体として適切な翻訳ではない場合がある。例えば、「九州と沖縄は夕方から」の翻訳は、「九州と沖縄は」の翻訳結果と「夕方から」の翻訳結果とを繋ぐことで得られるが、その翻訳結果は、上述の例によれば、それぞれ2×2通りあるので次の4通りが得られることになる。
<部分翻訳結果の例2>
・「九州と沖縄は夕方から」の翻訳結果
(d1)翻訳結果1((a1)+(b1))
「九州 N 沖縄 夕がた から」 翻訳スコア=0.95+0.85=1.8
(d2)翻訳結果2((a1)+(b2))
「九州 N 沖縄 夕がた N」 翻訳スコア=0.95+0.8=1.75
(d3)翻訳結果3((a2)+(b1))
「九州 N 沖縄 N 夕がた から」 翻訳スコア=0.85+0.85=1.7
(d4)翻訳結果4((a2)+(b2))
「九州 N 沖縄 N 夕がた N」 翻訳スコア=0.85+0.8=1.6
ここで、翻訳スコアはそれぞれの翻訳スコアの和としている。
上述した部分翻訳結果の例2では、2つの翻訳結果を繋げて合成する際に手話単語間の繋がりのよさを考慮していないが、手話単語間の繋がりのよさは、「沖縄」と「夕方」より、「N」と「夕方」の方がよい。そのため、従来手法で翻訳スコアが最も高い翻訳結果を出力しても、その翻訳結果が最適なものではない場合がある。
本発明は、上述した問題点に鑑みなされたものであり、従来手法より的確な翻訳、すなわち高精度な翻訳を実現するための機械翻訳装置及び機械翻訳プログラムを提供することを目的とする。
上記課題を解決するために、本件発明は、以下の特徴を有する課題を解決するための手段を採用している。
本発明は、原始言語を目的言語に機械翻訳する機械翻訳装置において、前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をCYKテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記CYKテーブルの前記格納エリアに格納する統計的機械翻訳手段と、前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記CYKテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有する。
また、本発明は、コンピュータを、上述した機械翻訳装置として機能させるための機械翻訳プログラムである。
本発明によれば、高精度な翻訳を実現することができる。
本実施形態における機械翻訳装置の機能構成の一例を示す図である。 本実施形態における機械翻訳処理の一例を示すフローチャートである。 CYKテーブルを用いた機械翻訳例を説明するための図である。 CYKテーブルを用いた機械翻訳処理の一例を示すフローチャートである。 CYKテーブルを用いた翻訳手法の具体例を示す図である。 本実施形態に対応する翻訳スコアの概要例を示す図である。
<本発明について>
本発明は、例えば用例ベース機械翻訳と統計的機械翻訳とを用いて原始言語を目的言語に機械翻訳する手法に関し、原始言語の文章を節・句単位の文字単語列を基準に用例ベース機械翻訳と統計的機械翻訳とによってそれぞれ翻訳する。また、翻訳された単語列を翻訳スコアや単語間の繋がりやすさを示す指標値(例えば、言語モデル等)によって統合することで、従来手法より的確な翻訳、すなわち高精度な翻訳結果を取得する。
本実施形態では、例えば原始言語の文章を部分翻訳したそれぞれの結果を用いて、連結する部分文字列間の単語の繋がりやすさを数値(例えば、部分翻訳結果を合成する際に連結する単語間の繋がりやすさを示す指標値)等で表し、その結果(言語スコア)を翻訳スコアに反映させる。言語スコアの一例としては、例えばn−gram言語モデル等を用いることができるが、これに限定されるものではない。n−gram言語モデルは、直前の(n−1)個の単語を見て、次の単語を予測するモデルであり、例えば2−gram(n=2)では、直前の単語と次の単語の2つの単語の繋がりやすさを数値(スコア)で表す。本実施形態では、2−gramの言語モデルを用いるが、これに限定されるものではなく、例えば3−gram、5−gram等を用いて言語スコアを取得してもよい。また、n−gramは、予め設定されたコーパス(辞書)から計算することができる。
例えば、予め蓄積された大規模な手話コーパスから2−gramを計算したときに、次のように得られたとする。
・「沖縄 夕がた」→言語スコア=0.1
・「N 夕がた」→言語スコア=0.5
・「から 雷」→言語スコア=0.5
・「N 雷」→言語スコア=0.4
ただし、2−gramの数値は、値が大きいほうが繋がりやすいものとする。上述した例では、「N 夕がた」の方が「沖縄 夕がた」よりも2−gramの値が大きいので、繋がりやすいということを表している。
本実施形態では、翻訳スコアと言語スコアとを用いて、新たな翻訳スコアを定義する。一例としては、「(新たな翻訳スコア)=(翻訳結果Aの翻訳スコア)+(翻訳結果Bの翻訳スコア)+(翻訳結果Aと翻訳結果B間の言語スコア)」と定義することができる。なお、「(翻訳結果Aと翻訳結果B間の言語スコア)=(翻訳結果Aと翻訳結果Bを繋いだ際のn−gram(例えば、n=2))」とする。
この場合、上述した日本語文1に対する部分翻訳結果の例は、以下のようになる。
<部分翻訳結果の例3>
(e1)翻訳結果1((a1)+(b1))
「九州 N 沖縄 夕がた から」 翻訳スコア=0.95+0.85+0.1=1.9
(e2)翻訳結果2((a1)+(b2))
「九州 N 沖縄 夕がた N」 翻訳スコア=0.95+0.8+0.1=1.85
(e3)翻訳結果3((a2)+(b1))
「九州 N 沖縄 N 夕がた から」 翻訳スコア=0.85+0.85+0.5=2.2
(e4)翻訳結果4((a2)+(b2))
「九州 N 沖縄 N 夕がた N」 翻訳スコア=0.85+0.8+0.5=2.1
上述した部分翻訳結果の例3の中で、翻訳スコアが最大となるのは(e3)である。そのため、適切な部分翻訳結果「九州 N 沖縄 N 夕がた から」が得られる。同様にして、「夕方から」の翻訳結果と「雷雨となりそうです」の翻訳結果にn−gram言語モデルを適用すれば、最終的に文全体として最も適切な翻訳結果「九州 N 沖縄 N 夕がた から 雷 雨 夢」が得られる。
上述したように、本実施形態は、用例翻訳及び統計翻訳で機械翻訳を行い、更に言語モデルを使うことにより、用例ベース機械翻訳の翻訳結果と統計的機械翻訳の翻訳結果を適切に融合し、文全体として最も適切な翻訳結果を得ることができる。
<機械翻訳装置:機能構成例>
次に、本実施形態における機械翻訳装置の機能構成例について、図を用いて説明する。図1は、本実施形態における機械翻訳装置の機能構成の一例を示す図である。図1に示す機械翻訳装置10は、形態素解析手段11と、用例ベース機械翻訳手段12と、節・句単位翻訳用例格納手段13と、統計的機械翻訳手段14と、部分翻訳格納手段15と、翻訳スコア取得手段16と、言語スコア取得手段17と、部分翻訳合成手段18とを有するよう構成されている。
形態素解析手段11は、ユーザが手話翻訳したい翻訳対象の文書データ(例えば、文章等)を入力し、入力文に含まれる形態素を解析し、その解析結果から入力文を単語単位に分割する。ここで、形態素解析とは、例えば入力される文章データを意味のある単語に区切ることを意味し、予め設定されたコーパス等を利用して品詞や内容を判別してもよいが、これに限定されるものではない。本実施形態では、形態素解析に利用されるコーパスの一例として、茶筅(http://chasen.naist.jp/)等を用いることができるが、他のコーパスを用いてもよい。形態素解析手段11は、解析結果により得られる文章中の単語列を、用例ベース機械翻訳手段12及び統計的機械翻訳手段14に出力する。
用例ベース機械翻訳手段12は、節・句単位翻訳用例格納手段13に予め格納された翻訳用例を利用して形態素解析手段11により得られる単語列に対する用例ベース機械翻訳を行う。用例ベース機械翻訳手段12は、用例ベースの翻訳ができた単語に対する翻訳結果を、部分翻訳格納手段15に出力する。また、用例ベース機械翻訳手段12は、用例ベースの翻訳ができなかった単語列は、何も処理を行わない。
節・句単位翻訳用例格納手段13は、予め設定された節や句単位の翻訳用例が格納されている。節・句単位翻訳用例格納手段13は、予め設定された大規模なコーパス等を用いてもよく、入力データの内容に対応したコーパス等を用いてもよいが、これに限定されるものではない。
統計的機械翻訳手段14は、節・句単位翻訳用例格納手段13に格納された翻訳用例に基づいて機械学習されたコーパス等を利用して、形態素解析手段11により得られる単語列に対する統計的機械翻訳を行う。なお、コーパスについては、例えば一般的な機械学習により統計的に生成された翻訳辞書等を用いてもよい。
統計的機械翻訳手段14における統計翻訳では、所定の翻訳モデル(例えば、GIZA++)、デコード(例えば、moses)、言語モデル(例えば、SRILM)等を用いて、統計翻訳を行うことができるが、本発明においてはこれに限定されるものではない。
部分翻訳格納手段15は、用例ベース機械翻訳手段12での翻訳結果(例えば、翻訳された手話単語列)及び統計的機械翻訳手段14での翻訳結果(例えば、翻訳された手話単語列)等を記憶する記憶手段である。なお、部分翻訳格納手段15は、例えばCYK(Cocke−Younger−Kasami)テーブル等であるが、これに限定されるものではない。例えば、用例ベース機械翻訳手段12及び統計的機械翻訳手段14は、入力データに含まれる各単語又は単語列に対してそれぞれ部分翻訳を行い、部分翻訳された結果を同一のCYKテーブルに格納し、そのCYKテーブルを用いて翻訳スコアや言語スコアを取得する。
翻訳スコア取得手段16は、部分翻訳格納手段15に記憶された部分単語列の翻訳結果(手話単語列)を用いて、格納された手話単語列のそれぞれの組み合わせに基づく翻訳スコアを取得する。なお、翻訳スコアは、例えばその翻訳がコーパス中に出現する確率から取得することができるが、これに限定されるものではない。
言語スコア取得手段17は、部分翻訳格納手段15に記憶された部分単語列の翻訳結果を用いて、それぞれの組み合わせに基づき、連結する単語間の繋がりやすさを取得する。なお、言語スコア取得手段17は、単語間の繋がりやすさを、例えばn−gram言語モデル(例えば、n=2等)を用いた指標値として取得することができるが、これに限定されるものではない。
部分翻訳合成手段18は、部分単語列の翻訳結果(手話単語列)を入力データの単語列に対応させた順序(語順)で合成し、合成された翻訳結果に対し、翻訳スコア取得手段16で得られた翻訳スコアと、言語スコア取得手段17で得られた言語スコアとを加算し、最終的な翻訳結果を出力する。
なお、部分翻訳合成手段18は、全翻訳結果をスコアを付与して出力してもよく、スコアが最も高い翻訳結果から所定の順位までの翻訳結果を出力してもよい。また、部分翻訳合成手段18は、合成による得られる手話単語列を、予め格納された手話単語に対する映像データを用いて、手話映像に変換して出力してもよい。これにより、本実施形態では、高精度な翻訳を実現することができる。
<本実施形態における機械翻訳処理>
ここで、本実施形態における機械翻訳処理手順について、フローチャートを用いて説明する。図2は、本実施形態における機械翻訳処理の一例を示すフローチャートである。
図2において、機械翻訳処理は、まず原始言語のデータ(例えば、日本語文章データ)が入力されると(S01)、入力された文章データに対して形態素解析を行い、所定の単語毎に分割する(S02)。
次に、機械翻訳処理は、分割された単語毎に用例ベースの機械翻訳を行う(S03)。S03の処理で得られた用例ベース機械翻訳結果は、例えば記憶手段等に記憶される。次に、機械翻訳処理は、分割された単語毎に統計的機械翻訳を行う(S04)。S04の処理で得られた統計的機械翻訳結果は、例えば記憶手段等に記憶される。
次に、機械翻訳処理は、S03及びS04の処理結果から翻訳スコアを取得する(S05)。また、機械翻訳処理は、S03及びS04の処理結果から言語スコアを取得する(S06)。次に、機械翻訳処理は、S03及びS04の処理で得られた翻訳結果を、それぞれの組み合わせで合成し(S07)、合成した内容に対してS05の処理で得られた翻訳スコア及びS06の処理で得られた言語スコアに基づいて、翻訳結果を出力する(S08)。
なお、S07の処理における合成は、部分翻訳された単語(例えば、手話単語)を入力データの順序に対応させて合成する。また、S08の処理では、例えば合成された全ての組み合わせの結果(例えば、手話単語列)と、そのスコア結果とを出力してもよく、予め設定した1以上の結果(例えば、スコアが最大の翻訳結果)を出力してもよい。
また、S08の処理で出力される翻訳結果は、例えば上述した手話単語列に限定されるものではなく、例えば手話単語に対応するモーション映像データを予め用意しておき、手話単語に対応するモーション映像データを連結して手話映像を生成し、生成した手話映像を出力してもよい。
また、機械翻訳処理は、処理を終了するか否かを判断し(S09)、処理を終了しない場合(S09において、NO)、S01に戻り、他のデータを入力して、上述した処理を行う。また、機械翻訳処理は、ユーザ等による終了指示や、入力するデータがない等により処理を終了する場合(S09において、YES)、機械翻訳処理を終了する。
<具体例>
ここで、本実施形態における機械翻訳の具体例について説明する。例えば、上述した日本語文1「九州と沖縄は夕方から雷雨となりそうです」を翻訳することを考える。なお、節・句単位翻訳用例格納手段13には、予め以下に示す[用例1]のデータが格納されているとする。
[用例1](節・句単位)
「九州と」⇔「九州 N」
「沖縄は」⇔「沖縄」
「九州と沖縄は」⇔「九州 N 沖縄」
「雷雨となりそうです」⇔「雷雨 夢 N」
「雷雨となり」⇔「雷雨」
「そうです」⇔「夢 N」
ここで、矢印(⇔)の左辺が日本語を示し、右辺がその手話を示している。また、手話の表記は、一例として全日本ろうあ連盟が発行している「日本語−手話辞典」(米川明彦(監修),日本手話研究所(編),(財)全日本聾唖連盟出版局,2006.)にしたがうものとするが、表記についてはこれに限定されるものではない。
本実施形態における機械翻訳装置10は、まず日本語文1に対して、形態素解析手段11により形態素解析を行い、所定の単語毎に分割する。具体的には、日本語文1は、形態素解析結果により「九州/と/沖縄/は/夕方/から/雷雨/と/なり/そう/です」と11個の単語に分割する(なお、「/」は、単語の区切りを示す)。
次に、用例ベース機械翻訳手段12により用例翻訳を行う。すなわち、入力文の中で節・句用例を適用し、翻訳可能な箇所の用例翻訳を行う。例えば、上述した日本語文1に上述した[用例1]を適用すると、日本語の節「九州と沖縄は」と「雷雨となりそうです」とは、それぞれ「九州 N 沖縄」、「雷雨 夢 N」と翻訳することができる。また、用例にない「夕方から」は、用例翻訳ができないため統計翻訳で翻訳する。なお、「日本語−手話」の翻訳では、語順の入れ替えが少ないので、統計翻訳でも精度よく翻訳可能であることが期待できる。
<用例ベース機械翻訳手段12における用例及び翻訳手法について>
次に、用例ベース機械翻訳手段12における用例及び翻訳手法について説明する。用例は、通常、人手等により節・句単位に分割されている。なお、分割するにあたっては、日本語側の節・句の切れ目と、手話側の意味的単位の切れ目を考慮する。また、手話側での切れ目は、主に「頷き(N)」で判断する。なお、手話側の切れ目の判断が難しい場合には、無理に切らないようにする。
また、用例翻訳において、用例は、なるべくデータが長い方が高精度な翻訳が期待できる。そこで、本実施形態では、一文中で分割した節(句)から、その全ての組み合わせを自動生成し、用例に追加する。例えば、「きょうは雷雨となるでしょう」という入力文(以下、必要に応じて「日本語文2」という)では、人手により節・句単位に分割した場合に、以下に示す[用例2]が得られたとする。また、[用例2]の全ての組み合わせを自動生成すると、以下に示す[用例3]が得られる。したがって、本実施形態では、その全てを用例に追加する。
[用例2](人手による節(句)分割)
「きょうは」⇔「今日 N」
「雷雨となる」⇔「雷雨」
「でしょう」⇔「夢 N」
[用例3](追加された用例)
「きょうは雷雨となる」⇔「今日 N 雷雨」
「雷雨となるでしょう」⇔「雷雨 夢 N」
ここで、[用例2]及び[用例3]を用いた場合、日本語文2の用例翻訳結果は、「今日 N 雷雨 夢 N」となる。本実施形態では、上述した手法を用いることで、例えば気象情報に対して、対訳約3,500文から、約10,000個の節(句)単位の用例を得ることができる。
ここで、本実施形態における機械翻訳は、例えばCYKテーブルを埋めていくことによって行うことができるが、これに限定されるものではない。
<CYKテーブルを用いた機械翻訳例>
ここで、部分翻訳格納手段15の一例であるCYKテーブルを用いた機械翻訳例について説明する。図3は、CYKテーブルを用いた機械翻訳例を説明するための図である。なお、図3に示すCYKテーブル20の配列は、一例でありこれに限定されるものではない。
例えば、形態素解析手段11により、ある入力データを形態素解析した結果、「w,w,…,w,…,w,…,w」が得られたとする(なお、「w」は各単語を示し、「,」は各単語の区切りを示すが、必要に応じて「,」を考慮せずに一文(単語列)として扱うものとする)。なお、この例では、構文解析は行っていないものとする。
本実施形態における機械翻訳では、入力文に一致する用例及び統計的な翻訳結果を見つける。入力される日本語文の単語列「w,…,w」に対して節・句単位の対訳コーパス(用例)と照合し、一致した場合にはその手話単語列をCYKテーブル20の単語の並びに対応させた格納エリアt(j−i+1,j)に格納する。つまり、図3(a)に示すように、CYKテーブル20の格納エリアt(j−1+1,j)には、「w,…,w」の単語列に対する翻訳結果が格納される。
例えば、用例ベース機械翻訳手段12と、統計的機械翻訳手段14とにおける翻訳結果が1又は複数ある場合には、その全てをCYKテーブル20に登録する。つまり、図3(b)に示すように、「w,…,wj+k−1」の翻訳結果は、「WI1,…,WJ1」としてCYKテーブル20の単語の並びに対応する格納エリアに格納し、「wi+k,…,w」の翻訳結果は、「WI2,…,WJ2」としてCYKテーブル20の対応する格納エリアに格納する。ただし、登録の際には、それまでに登録された翻訳結果と照合し、同じものは登録しないようにしてもよい。
例えば、用例ベース機械翻訳手段12や統計的機械翻訳手段14における翻訳処理において、ある日本語の単語列「w,…,w」の翻訳結果は、例えば、2つの連続する部分単語列の翻訳結果を連結することで得ることができる。したがって、本実施形態では、上述したように部分単語列の翻訳結果が複数ある場合には、それらを連結してCYKテーブル20の対応する格納エリアに登録する。例えば、「w,…,w」の翻訳結果(t(j−i+1,j))は、図3(b)に示す「w,…,wi+k−1」の翻訳結果(t(k,i+k−1))と「wi+k,…,w」の翻訳結果(t(j−i+1−k,j))とが両方「空」(なお、「空」とは、その格納エリアに翻訳結果が格納されていない状態を示す)でない場合に、それらを連結することで得ることができる。なお、連結対象の組み合わせは、例えば図3(b)の(1)に示す2つの格納エリア、(2)に示す2つの格納エリア、その後、同様に図3(b)の矢印a,bの方向にずらした2つの格納エリア毎に、順々に対応する部分単語列同士で部分訳を生成していく。なお、部分訳の生成は、これに限定されるものではない。
また、用例ベース機械翻訳手段12や統計的機械翻訳手段14における翻訳処理においては、一文全体の翻訳結果がt(n,n)にまとめて登録される。例えば、t(n,n)の領域に格納されている内容が「空」である場合には、一文全体としては翻訳できなかった場合である。その場合には、部分訳を求める。なお、部分訳を求めるには、CYKテーブル20の中で「空」でない箇所を見つければよい。その際には、図3(c)に示すように、上のテーブルから順に調べることで、より長い部分訳を得ることができる。
ここで、ある単語列「w,…,w,…,w,…,w」に着目したときに、t(j−i+1,j)が「空」でなかったとすると、それが部分単語列「w,…,w」の訳である。また、その前後の単語列「w,…,wi−1」と「wj+1,…,w」とは、翻訳できなかった単語列である。これら2つの単語列のそれぞれに対して、上述と同様な処理を繰り返すことで、図3(c)に示すように用例翻訳された単語列とされなかった単語列を求めることができる。
なお、図3(c)の例では、説明の便宜上、翻訳できなかった単語列が存在する場合を示したが、本実施形態では、用例ベース機械翻訳手段12及び統計的機械翻訳手段14を両方用いるため、翻訳できない単語はほとんどない。また、格納エリアの中には、用例ベース機械翻訳及び統計的機械翻訳の両方の翻訳結果が含まれているエリアや、一方の翻訳結果のみが入っているエリアが存在する。
図4は、CYKテーブルを用いた機械翻訳処理の一例を示すフローチャートである。図4の例において、翻訳処理は、原始言語の文章データ(例えば、日本語文)が入力されると、形態素解析手段11により単語「w,…,w」に分割される(S11)。次に、翻訳処理は、S11により分割された単語から全ての部分単語列「w,…,w(i≦j、i=1,…,n、j=1,…,n)」を生成する。
具体的には、翻訳処理は、i=1を設定し(S12)、j=iを設定し(S13)、単語列「w,…,w」が翻訳用例にあるか否かを判断する(S14)。S14の処理では、例えば単語列「w,…,w」に対して、節・句単位翻訳用例格納手段13に格納された用例(「w,…,w」⇔「W,…W」)の原始言語側単語列「w,…,w」と照合することで、単語列「w,…,w」が翻訳用例にあるか否かを判断することができる。
翻訳処理は、単語列「w,…,w」が翻訳用例にある場合(S14において、YES)、翻訳用例の目的側単語列「W,…,W」を部分翻訳格納手段15のCYKテーブル20に対してt(i,j)=W,…,Wとして翻訳結果をt(j−i+1,j)に格納する(S15)。
次に、翻訳処理は、翻訳用例にない場合(S14において、NO)、又はS15の処理後、jに1を加算し(S16)、jがnより大きいか否かを判断し(S17)、jがnより大きくない場合(S17において、NO)、S14の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を1単語ずつ連結させていき、連結させた単語列毎に上述した用例との照合を行い、対応する翻訳結果があれば、対応するCYKテーブル20の格納エリアに翻訳結果を格納する。
また、翻訳処理は、jがnより大きい場合(S17において、YES)、iに1を加算し(S18)、iがnより大きいか否かを判断し(S19)、iがnより大きくない場合(S19において、NO)、S13の処理に戻る。つまり、上述の処理では、入力された単語列の先頭の単語を1単語ずつずらしながら、上述した用例との照合を行い、対応する翻訳結果があれば、対応するCYKテーブル20の格納エリアに翻訳結果を格納する。
また、翻訳処理は、iがnより大きい場合(S19において、YES)、次の処理として、統計的機械翻訳を行う。具体的には、翻訳処理は、i=1を設定し(S20)、j=iを設定する(S21)。次に、翻訳処理は、単語列w,…,wを統計的機械翻訳し、その結果をt(j−i+1,j)に格納する(S22)。
S22の処理後、jに1を加算し(S23)、jがnより大きいか否かを判断し(S24)、jがnより大きくない場合(S24において、NO)、S22の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を1単語ずつ連結させていき、連結させた単語列毎に統計的機械翻訳を行い、対応する翻訳結果があれば、対応するCYKテーブル20の格納エリアに翻訳結果を格納する。
また、翻訳処理は、jがnより大きい場合(S24において、YES)、iに1を加算し(S25)、iがnより大きいか否かを判断し(S26)、iがnより大きくない場合(S26において、NO)、S21の処理に戻る。つまり、上述の処理では、入力された単語列の先頭の単語を1単語ずつずらしながら、上述した統計的機械翻訳を行い、対応する翻訳結果があれば、対応するCYKテーブル20の格納エリアに翻訳結果を格納する。上述した処理により得られるCYKテーブル20は、部分翻訳格納手段15として記憶される。なお、上述したS12〜S19の処理と、S20〜S26の処理とは、逆の順序で処理されてもよい。
次に、翻訳処理は、各格納エリアに格納された用例ベース機械翻訳結果及び統計的機械翻訳結果のそれぞれを用いて連結時における翻訳スコアと言語スコアを計算し、その結果を用いて翻訳結果を出力する。具体的には、翻訳処理は、i=1を設定し(S27)、j=i+1を設定する(S28)、新たな変数kに1を設定する(S29)。
次に、翻訳処理は、t(i,j)(i=1,…,n、j=1,…,n)に対してk=1,…,j−iを生成し、CYKテーブル(部分翻訳格納手段15)を参照し、t(k,i+k−1)とt(j−i+1−k,j)はそれぞれ「空」でないか否かを判断する(S30)。ここで、翻訳処理は、共に「空」でない場合(S30において、YES)、t(k,i+k−1)とt(j−i+1−k,j)とに格納されている翻訳結果からそれぞれ一つ取り出し、t(k,i+k−1)=WI1,…,WJ1とt(j−i+1−k,j)=WI2,…,WJ2とを連結する(S31)。
次に、翻訳処理は、部分翻訳WI1,…,WJ1,WI2,…,WJ2の翻訳スコアを計算し(S32)、部分翻訳WI1,…,WJ1,WI2,…,WJ2の言語スコアを計算する(S33)。
次に、翻訳処理は、部分翻訳WI1,…,WJ1,WI2,…,WJ2がCYKテーブルのt(j−i+1,j)に格納されているか否かを判断する(S34)。翻訳処理は、部分翻訳WI1,…,WJ1,WI2,…,WJ2がCYKテーブルのt(j−i+1,j)に格納されている場合(S34において、YES)、S32,S33の処理で計算した値から得られる部分翻訳スコアの値が、CYKテーブルのt(j−i+1,j)に格納されている翻訳スコアの値より大きいか否かを判断する(S35)。ここで、部分翻訳スコアとは、S32の処理で得られた翻訳スコアとS33の処理で得られた言語スコアとを加算したものであるが、これに限定されるものではない。
翻訳処理は、S32,S33の処理で計算した値から得られる部分翻訳スコアの値が、CYKテーブルのt(j−i+1,j)に格納されている翻訳スコアの値より大きい場合(S35において、YES)、CYKテーブルのt(j−i+1,j)に格納されている部分翻訳WI1,…,WJ1,WI2,…,WJ2の部分翻訳スコアをS32,S33の処理で得られた値を加算した部分翻訳スコアの値に置き換える(S36)。これにより、t(j−i+1,j)の格納エリアには、部分翻訳スコアの最大値が格納される。
また、S34の処理において、WI1,…,WJ1,WI2,…,WJ2がCYKテーブルのt(j−i+1,j)に格納されていない場合(S34において、NO)、S32,S33の処理対象の部分翻訳WI1,…,WJ1,WI2,…,WJ2と、S32,S33の処理で得られた値を加算した部分翻訳スコアの値をCYKテーブルのt(j−i+1,j)に格納する(S37)。
S36、S37の処理後、S30の処理において、共に「空」でない場合に該当しない場合(S30において、NO)、又は、S35の処理において、S32,S33の処理で計算した値から得られる部分翻訳スコアの値が、CYKテーブルのt(j−i+1,j)に格納されている翻訳スコアの値より大きくない場合(S35において、NO)、翻訳処理は、t(k,i+k−1)とt(j−i+1−k,j)に格納されている全ての部分翻訳の組み合わせを連結したか否かを判断する(S38)。
S38の処理において、t(k,i+k−1)とt(j−i+1−k,j)に格納されている全ての部分翻訳の組み合わせを連結していない場合(S38において、NO)、S31の処理に戻る。また、全ての部分翻訳の組み合わせを連結した場合(S38において、YES)、kに1増加し(S39)、kがj−iの値より大きいか否かを判断する(S40)。
翻訳処理は、kがj−iより大きくない場合(S40において、NO)、S30の処理に戻る。また、翻訳処理は、kがj−iより大きい場合(S40において、YES)、jに1を増加し(S41)、jがnより大きいか否かを判断し(S42)、jがnより大きくない場合(S42において、NO)、S29の処理に戻る。また、翻訳処理は、jがnより大きい場合(S42において、YES)、iに1を加算し(S435)、iがnより大きいか否かを判断し(S44)、iがnより大きくない場合(S44において、NO)、S28の処理に戻る。つまり、上述の処理では、入力された単語列の各単語を1単語ずつ連結させていき、連結させた単語列毎に翻訳スコアと言語スコアとを用いて、その加算値である部分翻訳スコアを格納していく。また、翻訳処理は、iがnより大きい場合(S44において、YES)、最終的にt(n,n)に格納されている翻訳結果を出力する(S39)。
なお、図4の処理は、用例ベース機械翻訳の後、統計的機械翻訳を行っているが、処理の順序は逆でもよい。図4の処理は、翻訳スコアの計算(S32)と言語スコアの計算(S33)を連続して計算しているが、これに限定されるものではなく、異なるタイミングで処理してもよい。
<CYKテーブルを用いた翻訳手法の具体例>
ここで、図5は、CYKテーブルを用いた翻訳手法の具体例を示す図である。なお、図5(a)は、CYKテーブルの一例を示し、図5(b)は、用例翻訳結果の具体例を示し、図5(c)は、部分翻訳の具体例を示している。
ここで、図3のCYKテーブル20の例は、単語に注目してi,jを付与しているのに対し、図5(a)のCYKテーブルの例は、テーブルの格納エリアに注目してi,jと付与している。つまり、図3のCYKテーブル20は、「w,…,wの翻訳結果=t(j−i+1,j)」(以下、(1)式という)として示しているのに対し、図5のCYKテーブルは、「t(i,j)=wj−i+1,…,wの翻訳結果」(以下、(2)式という)を示しており、両者は相互に変換可能である。
具体的には、上述した(1)式で、「x=j−i+1、y=j」とおくと、「j=y、i=j−x+1=y−x+1」となる。したがって、(1)式は、「左辺=w,…,wの翻訳結果=wy−x+1,…,wの翻訳結果」(以下、(3)式という)、「右辺=t(j−i+1,j)=t(x,y)」(以下、(4)式という)となる。ここで、改めてx→i、y→jとおくと、「(3)式=wj−i+1,…,wの翻訳結果」、(4)式=t(i,j)」となり、上述した(2)式が得られる。つまり、本実施形態では、CYKテーブルに対して、例えば単語に注目してi,jを付与することもでき、テーブルの格納エリアに注目してi,jと付与することができる。
<日本語文1に対応した翻訳の具体例>
図5に示すCYKテーブルを用いた用例翻訳手法の具体例は、上述した日本語文1「九州と沖縄は夕方から雷雨となりそうです」に対応した翻訳の具体例を示すものである。日本語文1は、形態素解析結果により「九州/と/沖縄/は/夕方/から/雷雨/と/なり/そう/です」と分割され、分割された単語から全ての部分単語列を生成すると、以下の例のようになる。
「九州」
「九州/と」
「九州/と/沖縄」
「九州/と/沖縄/は」
・・・
「と」
「と/沖縄/」
「と/沖縄/は」
・・・
「そう/です」
「です」
次に、上述した部分単語列のように生成されたある単語列に対して、節・句単位翻訳用例格納手段13に格納された翻訳用例(例えば、上述した[用例1]のデータ)の原始言語側の単語列と照合する。また、機械翻訳により得られた翻訳スコアとの関係は、
(a1)「九州/と/沖縄/は」⇔「九州 N 沖縄」
翻訳スコア=0.95
(a2)「九州/と/沖縄/は」⇔「九州 N 沖縄 N」
翻訳スコア=0.85
(c1)「雷雨/と/なり/そう/です」⇔「雷 雨 夢」
翻訳スコア=0.95
(c2)「雷雨/と/なり/そう/です」⇔「雷 雨 らしい」
翻訳スコア=0.9
となる。なお、翻訳スコアは、例えばその翻訳がコーパス中に出現する確率から取得することができるが、これに限定されるものではない。
本実施形態では、照合の結果、一致した場合には、用例の目的側単語列を部分翻訳格納手段15に格納されたCYKテーブルの対応する格納エリアに格納する。ここで、部分単語列を翻訳用例の日本語側と照合すると、「九州/と」、「沖縄/は」、「雷雨/と/なり/そう/です」、「雷雨/と/なり」、「そう/です」が一致するため、図5(b)に示すように「t(2,2)=九州 N」、「t(2,4)=沖縄」、「t(3,9)=雷 雨」、「t(2,11)=夢 N」、「t(5,11)=雷 雨 夢 N」等と登録する(図5(a))。
次に、部分翻訳格納手段15のCYKテーブルを参照し、t(k,k)とt(4−k,4)が共に「空」でないか否かを判定する。その結果、
k=1のとき、t(1,1)=空、t(3,4)=空
k=2のとき、t(2,2)=九州 N、t(2,4)=沖縄
k=3のとき、t(3,3)=空、t(1,4)=空
となるため、k=2のときに、連結対象の格納エリアは共に「空」でないこととなる。
したがって、t(k,k)とt(4−k,4)が共に「空」でなかった場合に、t(k,k)とt(4−k,4)とに格納されている翻訳結果「t(2,2)=九州 N」と「t(2,4)=沖縄」とを連結し、部分翻訳として、部分翻訳格納手段15のCYKテーブルに、用例ベースによる部分翻訳「t(4,4)=九州 N 沖縄」が格納される。この処理は、t(11,11)まで行われる。
なお、本実施形態では、部分翻訳格納手段15のCYKテーブルに翻訳結果に関係なく、上述した用例ベース機械翻訳と同様に一文全体に統計的機械翻訳を行う。なお、統計的機械翻訳手段14は、予め節・句単位翻訳用例格納手段13に格納されている翻訳用例等を使って学習された翻訳辞書を用いて上述した用例ベース機械翻訳の場合と同様の統計的機械翻訳を行う。
ここで、本実施形態において、例えば、図5(a)に示すt(6,6)にデータを格納する際、それまでの処理で図5(c)に示すように、用例ベース機械翻訳による部分翻訳としてt(4,4)={九州 N 沖縄,九州 N 沖縄 N}、統計的機械翻訳による部分翻訳としてt(3,6)={夕がた から,夕がた N}のそれぞれの2つの翻訳結果が得られているとする。このような場合には、用例ベース機械翻訳結果2つと、統計的機械翻訳結果2つのそれぞれをt(6,6)の格納エリアに格納する。
具体的に説明すると、統計的機械翻訳では、単語列w,・・・,wを統計的機械翻訳し、その結果をt(j−i+1,j)に格納する。例えば、「夕方から」を統計的機械翻訳すると、
(b1) 翻訳結果1 「夕がた から」 翻訳スコア=0.85
(b2) 翻訳結果2 「夕がた N」 翻訳スコア=0.8
の2つの翻訳結果が得られる。ここで、翻訳スコアは、予め設定されたコーパス等からが取得した値である。
次に、S30の処理では、t(k,i+k−1)とt(j−i+1−k,j)がそれぞれ「空」でないか否かを判定する。例えば、i=1,j=6とすると、t(k,k)とt(6−k,6)が共に「空」でないか否かを判定する。例えば、
k=1のとき、t(1,1)=空、t(5,6)=空
k=2のとき、t(2,2)=空、t(4,6)=空
k=3のとき、t(3,3)=空、t(3,6)=空
k=4のとき、t(4,4)={(「九州 N 沖縄」,0,95),(「九州 N 沖縄 N」,0,85)}、t(2,6)={(「夕がた から」,0.85},(「夕がた N」,0.8)})
k=5のとき、t(5,5)=空、t(1,6)=空
とする。この場合、k=4のときに、共に空でないこととなる。
例えば、共に空でなかった場合に、t(k,i+k−1)とt(j−i+1−k,j)とに格納されている翻訳結果からそれぞれ一つ取り出し、t(k,i+k−1)=WI1,・・・,WJ1と、t(j−i+1−k,j)=WI2,・・・,WJ2とを連結する。
例えば、i=1,j=6,k=4とした場合に、t(4,4)に格納されている「九州 N 沖縄」と、t(2,6)に格納されている(「夕がた から」を取り出して連結すると、「(d1)「九州 N 沖縄 夕がた から」」のようになる。
また、上述したS33の処理では、部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2の言語スコアを計算する。例えば、言語スコアを2−gramと定義し、予め次のように計算されていたものとする。
・2−gramの例
「沖縄 夕がた」言語スコア=0.1
「N 夕がた」 言語スコア=0.5
「から 雷」 言語スコア=0.5
「N 雷」 言語スコア=0.4
例えば、上述した(d1)の場合には、その接続部分が「沖縄 夕がた」であるため、S33の処理結果として言語スコア0.1が得られる。
ここで、S32の処理結果と、S33の処理結果とを用いて、部分翻訳スコアを計算する。部分翻訳スコアは、例えば「(新たな翻訳スコア)=(翻訳結果Aの翻訳スコア)+(翻訳結果Bの翻訳スコア)+(翻訳結果Aと翻訳結果B間の言語スコア)」のように定義して計算する。例えば、上述した(d1)の場合には、その接続部分が「沖縄 夕がた」であるため、翻訳スコアは、「(d1)の翻訳スコア=(t(4,4)=「九州 N 沖縄」の翻訳スコア)+(t(2,6)=「夕がた から」の翻訳スコア)+(「沖縄 夕がた」の言語スコア)=0.95+0.85+0.1=1.9」となる。
また、上述したS34の処理では、部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2が部分翻訳格納手段15のt(j−i+1,j)に格納されているか否かを判定する。例えば、部分翻訳(d1)がt(6,6)に格納されているか否かを判定する。
また、上述したS34の処理では、S32,S33の処理で取得した値から得られる部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2の部分翻訳スコアと、既に部分翻訳格納手段15に格納されている部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2の翻訳スコアを比較する。例えば、上述した部分翻訳(d1)の部分翻訳スコア(=1.9)と、t(6,6)に格納されている「九州 N 沖縄 夕がた から」の翻訳スコア(例えば1.8とする)とを比較する。
また、S36の処理では、部分翻訳格納手段15のt(j−i+1,j)に格納されている部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2の翻訳スコアを部分翻訳スコアに置き換える。例えば、t(6,6)に格納されている「九州 N 沖縄 夕がた から」の翻訳スコア(例えば、1.8とする)を、部分翻訳(d1)の翻訳スコア(=1.9)に置き換える。
また、S37の処理では、部分翻訳WI1,・・・,WJ1,WI2,・・・,WJ2とその翻訳スコアを部分翻訳格納手段15のt(j−i+1,j)に格納する。例えば、部分翻訳(d1)と、その翻訳スコア1.9をt(6,6)に格納する。
S38の処理では、t(k,i+k−1)とt(j−i+1−k,j)に格納されている全ての部分翻訳の組み合わせを連結したか否かを判定する。例えば、i=1,j=6,k=4では、全ての組み合わせは、
(d1)「九州 N 沖縄 夕がた から」
(d2)「九州 N 沖縄 夕がた N」
(d3)「九州 N 沖縄 N 夕がた から」
(d4)「九州 N 沖縄 N 夕がた N」
の4つとなる。
S45の処理では、t(n,n)に格納されている翻訳結果の中で、翻訳スコアが最大となる翻訳結果を出力して終了する。t(11,11)には次のf1〜f8の8つの翻訳結果が格納されているとする。
(f1)「九州 N 沖縄 夕がた から 雷 雨 夢」 翻訳スコア=3.35(f2)「九州 N 沖縄 夕がた から 雷 雨 らしい」 翻訳スコア=3.25
(f3)「九州 N 沖縄 夕がた N 雷 雨 夢」 翻訳スコア=3.2
(f4)「九州 N 沖縄 夕がた N 雷 雨 らしい」 翻訳スコア=3.15
(f5)「九州 N 沖縄 N 夕がた から 雷 雨 夢」 翻訳スコア=3.65
(f6)「九州 N 沖縄 N 夕がた から 雷 雨 らしい」 翻訳スコア=3.5
(f7)「九州 N 沖縄 N 夕がた N 雷 雨 夢」 翻訳スコア=3.6
(f8)「九州 N 沖縄 N 夕がた N 雷 雨 らしい」 翻訳スコア=3.45
この中で、翻訳スコアが最大となるのは(f5)の3.65である。したがって、本実施形態では、上述した部分翻訳の翻訳結果を入力データの入力順に出力し、すなわち、「九州 N 沖縄 N 夕がた から 雷 雨 夢」を翻訳結果(手話単語列)として出力して終了する。もし、t(11,11)が空の場合には「翻訳結果なし」として出力してもよい。また、複数ある場合は、上述した(f1)〜(f8)をスコアと共に出力してもよく、スコアの高い順に所定数出力してもよい。これにより、より適切な翻訳結果を出力することができる。
このように本実施形態では、用例ベース機械翻訳及び統計的機械翻訳のそれぞれの結果が格納していき、それぞれの結果を用いて、言語モデルによる他の単語間とのつながりやすさを基準にした指標値(言語スコア)を算出し、翻訳スコアに加算して、最終的な翻訳結果を出力する。
図6は、本実施形態に対応する翻訳スコアの概要例を示す図である。本実施形態では、上述したように日本語文1から手話を生成する場合に、各部分翻訳の多数の候補から、その繋ぎに対するn−gram言語モデルに基づく言語スコアを生成し(図6の例では、2−gram)、その結果を加算することで、翻訳スコアを更新し、適切な候補を出力することができる。
なお、図6の例では、「九州と沖縄は」と「夕方から」との言語スコアを計算しているが、本実施形態では、「夕方から」と「雷雨になりそうです」についても同様に言語スコアを計算して、それぞれの結果を加算して最終的なスコアを取得する。なお、本実施形態におけるスコア計算においては、上述した加算に限定されるものではない。
<重み付けについて>
ここで、本実施形態における機械翻訳では、上述した節・句単位翻訳用例格納手段13により格納されているコーパス(例えば、翻訳用例データ等)を用いているが、1つの単語に複数の翻訳結果が抽出される場合がある。そのような場合には、予めコーパスに翻訳結果毎の出現頻度を設定しておき、翻訳時には、この出現頻度を重み付けとして、複数の翻訳結果が抽出された場合に、最も出現頻度が大きい(重み付けの重い)ものを出力することで、より高精度な翻訳結果を取得することができる。また、本実施形態では、翻訳スコアと言語スコアとの間で重み付けを行い、何れかのスコアの重要度を調整する等の処理を行ってもよい。
<手話CG翻訳システムの概要>
本実施形態では、部分翻訳合成手段18により合成された翻訳結果(手話単語列)を用いて、入力データに対応する手話映像を出力することができる。
手話CG翻訳は大きく分けて、言語翻訳とCG生成の2つの処理から構成されている。言語翻訳では、例えば入力された日本語テキストをgloss表記された手話単語列に変換する。ここで、gloss表記とは、手話動作を単語毎に書き起こしたものである。
次に、CG生成で、言語翻訳で変換された手話単語列を手話辞書を用いてCGに置換し、隣接する単語の手話CGを繋ぐことにより、手話CGの文を生成する。これにより、例えば、気象ニュースやスポーツ等の実況文を手話CGに翻訳して出力することができる。
なお、気象ニュースの場合には、気象ニュースの映像とタイムコード付き字幕を入力されると、映像・字幕・手話CGが同期して出力される。更に、システムにはパラメータ設定インターフェースが用意され、容易に画面レイアウトの変更を行うことができる。したがって,パラメータを変更してTV番組の手話CG翻訳を行うことができる。
なお、手話映像として表示される画像は、光学式モーションキャプチャによって取得した動作データと、骨格構造を持った人体CGモデルで構成されている。また、CGの描画は、映像コンテンツ記述言語TVML(TV program Making Language)を用いているため、容易に動作編集が可能となる。
手話CGの同期は、文全体を一様に短くしていることで、その動作が非常に速く感じられる。そこで、音声の話速変換のように、手話CGでもスピードの強弱をつけて短くすればわかりやすくなる。
また、本実施形態では、日本語から英語への通訳の中で行われているように、日本語の情報を全て翻訳するのではなく、重要な情報のみを翻訳してもよい。
<実行プログラム>
ここで、上述した機械翻訳装置10は、例えばCPU(Central Processing Unit)、RAM(Random Access Memory)等の揮発性の記憶媒体、ROM(Read Only Memory)等の不揮発性の記憶媒体、マウスやキーボード、ポインティングデバイス等の入力装置、画像やデータを表示する表示装置、並びに外部と通信するためのインタフェース装置を備えたコンピュータによって構成することができる。
したがって、機械翻訳装置が有する上述した各機能は、これらの機能を記述したプログラムをCPUに実行させることによりそれぞれ実現可能となる。また、これらのプログラムは、磁気ディスク(フロッピィーディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の記録媒体に格納して頒布することもできる。
つまり、上述した各構成における処理をコンピュータに実行させるための実行プログラム(機械翻訳プログラム)を生成し、例えば汎用のパーソナルコンピュータやサーバ等にそのプログラムをインストールすることにより、機械翻訳処理を実現することができる。なお、本発明における実行プログラムによる処理については、例えば上述した各処理を実現することができる。
上述したように本実施形態によれば、従来手法より的確な翻訳、すなわち高精度な翻訳を実現することができる。具体的には、本実施形態では、用例ベースや統計的な機械翻訳と、言語モデルとを用いた新たなスコアに基づいて、より高精度な機械翻訳を提供することができる。なお、本実施形態では、日本語を手話に翻訳する際の固有名詞の翻訳を自動で行い、手話通訳の支援やCGへの変換に利用する自然言語処理に広く適用することができる。そのため、入力データとしては、上述した気象情報に限定されるものではなく、例えばニュース原稿やスポーツ実況等の定型表現の多いものや、それ以外のあらゆる自然言語にも適用することができる。
また、上述した機械翻訳では、日本語から手話への翻訳例を示したが、本発明においてはこれに限定されるものではなく、例えば原始言語と目的言語との間で語順が同一の言語間の場合(例えば、日本語と韓国語、英語とフランス語等)にも適用することができる。
以上本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形、変更が可能である。
10 機械翻訳装置
11 形態素解析手段
12 用例ベース機械翻訳手段
13 節・句単位翻訳用例格納手段
14 統計的機械翻訳手段
15 部分翻訳格納手段
16 翻訳スコア取得手段
17 言語スコア取得手段
18 部分翻訳合成手段
20 CYKテーブル

Claims (4)

  1. 原始言語を目的言語に機械翻訳する機械翻訳装置において、
    前記原始言語の入力データに含まれる単語毎に、予め格納された前記原始言語に対応する目的言語の節・句単位の翻訳用例データを用いて用例ベース機械翻訳を行い、得られた部分翻訳結果をCYKテーブルの単語の並びに対応させた格納エリアに格納する用例ベース機械翻訳手段と、
    前記原始言語の入力データに含まれる単語毎に、予め機械学習された翻訳辞書を用いて統計的機械翻訳を行い、得られた部分翻訳結果を前記CYKテーブルの前記格納エリアに格納する統計的機械翻訳手段と、
    前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段により、前記CYKテーブルに格納された部分翻訳結果を合成して所定数の翻訳結果を出力する部分翻訳合成手段とを有することを特徴とする機械翻訳装置。
  2. 前記部分翻訳合成手段は、
    前記CYKテーブルに格納された前記用例ベース機械翻訳手段及び前記統計的機械翻訳手段から得たそれぞれの部分翻訳結果に対する翻訳スコアと、前記部分翻訳結果を合成する際に連結する単語間の繋がりやすさを示す指標値とに基づいて前記翻訳結果を出力することを特徴とする請求項1に記載の機械翻訳装置。
  3. 前記目的言語が手話である場合に、
    前記部分翻訳合成手段は、前記合成により得られる手話単語列を、予め格納された手話単語に対する映像データを用いて、手話映像に変換して出力することを特徴とする請求項1又は2に記載の機械翻訳装置。
  4. コンピュータを、請求項1乃至3の何れか1項に記載の機械翻訳装置として機能させるための機械翻訳プログラム。
JP2013258642A 2013-12-13 2013-12-13 機械翻訳装置及び機械翻訳プログラム Pending JP2015115007A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013258642A JP2015115007A (ja) 2013-12-13 2013-12-13 機械翻訳装置及び機械翻訳プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013258642A JP2015115007A (ja) 2013-12-13 2013-12-13 機械翻訳装置及び機械翻訳プログラム

Publications (1)

Publication Number Publication Date
JP2015115007A true JP2015115007A (ja) 2015-06-22

Family

ID=53528702

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013258642A Pending JP2015115007A (ja) 2013-12-13 2013-12-13 機械翻訳装置及び機械翻訳プログラム

Country Status (1)

Country Link
JP (1) JP2015115007A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019124901A (ja) * 2018-01-19 2019-07-25 日本放送協会 手話翻訳装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019124901A (ja) * 2018-01-19 2019-07-25 日本放送協会 手話翻訳装置及びプログラム
JP7072390B2 (ja) 2018-01-19 2022-05-20 日本放送協会 手話翻訳装置及びプログラム

Similar Documents

Publication Publication Date Title
JP4635659B2 (ja) 質問応答システム、およびデータ検索方法、並びにコンピュータ・プログラム
US20110184723A1 (en) Phonetic suggestion engine
KR101762866B1 (ko) 구문 구조 변환 모델과 어휘 변환 모델을 결합한 기계 번역 장치 및 기계 번역 방법
JP5319655B2 (ja) 情報処理装置、情報処理方法、プログラム、およびプログラムを記録したコンピュータ読取り可能な記録媒体
US7197457B2 (en) Method for statistical language modeling in speech recognition
US7742924B2 (en) System and method for updating information for various dialog modalities in a dialog scenario according to a semantic context
JP6817556B2 (ja) 類似文生成方法、類似文生成プログラム、類似文生成装置及び類似文生成システム
Oravecz et al. Semi-automatic normalization of Old Hungarian codices
Al-Mannai et al. Unsupervised word segmentation improves dialectal Arabic to English machine translation
JP2013186673A (ja) 機械翻訳装置及び機械翻訳プログラム
JP5853595B2 (ja) 形態素解析装置、方法、プログラム、音声合成装置、方法、プログラム
Rathod et al. English to Sanskrit translator and synthesizer (ETSTS)
JP6144458B2 (ja) 手話翻訳装置及び手話翻訳プログラム
JP2015115007A (ja) 機械翻訳装置及び機械翻訳プログラム
KR20120045906A (ko) 코퍼스 오류 교정 장치 및 그 방법
JP6619932B2 (ja) 形態素解析装置およびプログラム
JP2014191484A (ja) 文末表現変換装置、方法、及びプログラム
Anto et al. Text to speech synthesis system for English to Malayalam translation
JP4035111B2 (ja) 対訳語抽出装置、及び対訳語抽出プログラム
KR100322743B1 (ko) 음성합성기의 문서해석기에서 사용되는 형태소 해석방법 및 그 장치
JP2006243976A (ja) 頻度情報付き単語集合生成方法、プログラムおよびプログラム記憶媒体、ならびに、頻度情報付き単語集合生成装置、テキスト索引語作成装置、全文検索装置およびテキスト分類装置
WO2024004183A1 (ja) 抽出装置、生成装置、抽出方法、生成方法、及びプログラム
WO2024004184A1 (ja) 生成装置、生成方法、及びプログラム
JP2019159743A (ja) 対応関係生成プログラム、対応関係生成装置、対応関係生成方法、及び翻訳プログラム
JP2010282453A (ja) 機械翻訳方法、及びシステム