(57)【要約】【課題】従来、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを容易に削減できなかった。【解決手段】２以上の異なる各単語アライメント手法を用いて、２以上の異なる単語アライメント手法ごとに、２以上のフレーズペアであるフレーズペア集合を、原文と訳文とを有する対訳データから取得するフレーズペア取得部と、２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する積集合取得部と、積集合取得部が取得した１以上のフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部へ蓄積する蓄積部とを具備するフレーズテーブル生成装置により、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを、容易に削減できる。【選択図】図１
2018112801.tif 000002
【特許請求の範囲】
【請求項１】
フレーズペアを有する１以上のエントリを有するフレーズテーブルが格納されるフレーズテーブル格納部と、
２以上の異なる各単語アライメント手法を用いて、前記２以上の異なる単語アライメント手法ごとに、２以上のフレーズペアであるフレーズペア集合を、原文と訳文とを有する対訳データから取得するフレーズペア取得部と、
前記２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する積集合取得部と、
前記積集合取得部が取得した１以上のフレーズペアを有する１以上のエントリを含むフレーズテーブルを前記フレーズテーブル格納部に蓄積する蓄積部とを具備するフレーズテーブル生成装置。
【請求項２】
前記積集合取得部が取得した１以上のフレーズペアを有する１以上のエントリを含むフレーズテーブルを使用して、前記対訳データを構成する原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、１以上の訳文を取得する機械翻訳部と、
前記機械翻訳部が取得した１以上の訳文のうち、前記対訳データに含まれる訳文に対して、予め決められた関係を有する訳文を決定する訳文決定部とをさらに具備し、
前記蓄積部は、
前記積集合取得部が取得した１以上のフレーズペアのうち、前記訳文決定部が決定した訳文の作成に使用されたフレーズペアを有する１以上のエントリを含むフレーズテーブルを前記フレーズテーブル格納部に蓄積する請求項１記載のフレーズテーブル生成装置。
【請求項３】
前記訳文決定部は、
前記機械翻訳部が取得した１以上の訳文のうち、前記対訳データに含まれる訳文との類似度が最大の関係にある一の訳文を決定する請求項２記載のフレーズテーブル生成装置。
【請求項４】
請求項１から請求項３いずれか一項に記載のフレーズテーブル生成装置が生成したフレーズテーブルが格納されるフレーズテーブル格納部と、
原文を受け付ける受付部と、
前記フレーズテーブル格納部のフレーズテーブルを用いて、前記原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、訳文を取得する機械翻訳部と、
前記訳文を出力する出力部とを具備する機械翻訳装置。
【請求項５】
コンピュータを、
２以上の異なる各単語アライメント手法を用いて、前記２以上の異なる単語アライメント手法ごとに、原文と訳文とを有する対訳データから２以上のフレーズペアである２以上のフレーズペア集合を取得するフレーズペア取得部と、
前記２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する積集合取得部と、
前記積集合取得部が取得した１以上のフレーズペアを有するフレーズテーブルをフレーズテーブル格納部に蓄積する蓄積部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、フレーズベース統計的機械翻訳で使用するフレーズテーブルを生成するフレーズテーブル生成装置等に関するものである。
【背景技術】
【０００２】
フレーズベース統計的機械翻訳（以下、適宜「ＰＢＳＭＴ」という。）では、次の２つのステップによりフレーズテーブルを作成する。
（ステップ１）訓練データである対訳データを単語アライメントする。
（ステップ２）単語アライメント結果からフレーズテーブルを作成する。
【０００３】
フレーズテーブルは、原言語のフレーズと対象言語のフレーズからなるフレーズペアとそのフレーズペアについてのスコアの集合であり、スコアは、一般的に、複数個である。すなわち、フレーズテーブルを構成するレコードをエントリと言い、＜原言語フレーズ、対象言語フレーズ、複数個のスコア＞からなる。なお、フレーズとは、１以上の単語の連鎖である。
【０００４】
ＰＢＳＭＴでは、フレーズテーブルが最も重要な知識源であるが、対訳コーパスが大きいとフレーズテーブルのサイズが巨大になる、という問題点があった。
【０００５】
そして、フレーズテーブルの巨大化に対応するために、フレーズテーブルからエントリを削減する方法が多数提案されている。たとえば、非特許文献１では各種の手法を比較している。
【０００６】
また、ＰＢＳＭＴの解析結果を活用して有用なフレーズのみを抽出するという別の方法がある。たとえば、非特許文献２では、訓練データにおける原言語文を翻訳して、翻訳結果をＮ個獲得し、そのＮ個のいずれかに利用されたフレーズペアのみを活用することが提案されている。つまり、原言語文について、ＰＢＳＭＴは、一般にＮ個の翻訳文を出力する。このとき、原文と１つの翻訳文とから、それらを構成するフレーズペアを抽出できる。
【０００７】
非特許文献２において、例えば、「これ  は  ペン  です  。」という文に対して＜これ  は,  This is> <ペン, a pen> <。, .> という３つのフレーズペアが翻訳に利用されたとすると、出力は、「This is a pen.」となる。このようなことを訓練データのすべての文に適用して、そのときに活用されたフレーズペアの集合のみを利用することが提案されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】Richard Zens; Daisy Stanton; Peng Xu, A Systematic Comparison of Phrase Table Pruning Techniques, EMNLP-2012
【非特許文献２】Joern Wuebker; Arne Mauser; Hermann Ney, Training Phrase Translation Models with Leaving-One-Out, ACL-2010
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、非特許文献１で比較されている方法は、フレーズペアのエントリについて、何らかの有用性を示す評価値を付与して、その評価値が低いものはフレーズテーブルから除去するという方法である。この手法では、その評価値に対する閾値を指定する必要がある。しかし、この閾値は、フレーズテーブルを作成した元となる対訳データごとに一般には異なるので、あらかじめ妥当な閾値を指定することが難しいことが、非特許文献１に係る手法の課題である。
【００１０】
また、非特許文献２では、訓練データの原文を翻訳するときに、Leave-One-Out という手法を使っている。この手法を使うためには、通常のＰＢＳＭＴエンジンを大幅に改造する必要がある、という課題がある。さらに詳細には、例えば、訓練データの文集合をＳとして、Ｓにより構築した翻訳モデルをＴ（Ｓ）とする。そして、通常、ＰＢＳＭＴエンジンでは、Ｔ（Ｓ）を活用し、機械翻訳を行う。一方、Leave-one-outでは、訓練データ中で現在翻訳対象の文をｓとすると、Ｔ（Ｓ−｛ｓ｝）を利用して、機械翻訳を行うこととなる。つまり、Leave-one-outでは、モデルの構築方法を工夫することで計算量を抑えてはいるが、概念的には、｜Ｓ｜個のモデルが必要になる。なお、Ｔ（Ｓ−｛ｓ｝）とは、文集合Ｓから文ｓを除去した文集合のことである。
【００１１】
つまり、先行技術において、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを容易に削減できなかった。
【課題を解決するための手段】
【００１２】
本第一の発明のフレーズテーブル生成装置は、原文と訳文とを有する対訳データが格納される対訳データ格納部と、フレーズペアを有する１以上のエントリを有するフレーズテーブルが格納されるフレーズテーブル格納部と、２以上の異なる各単語アライメント手法を用いて、２以上の異なる単語アライメント手法ごとに、２以上のフレーズペアであるフレーズペア集合を対訳データから取得するフレーズペア取得部と、２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する積集合取得部と、積集合取得部が取得した１以上のフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部に蓄積する蓄積部とを具備するフレーズテーブル生成装置である。
【００１３】
かかる構成により、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを容易に削減できる。
【００１４】
また、本第二の発明のフレーズテーブル生成装置は、第一の発明に対して、積集合取得部が取得した１以上のフレーズペアを有する１以上のエントリを有するフレーズテーブルを使用して、対訳データを構成する原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、１以上の訳文を取得する機械翻訳部と、機械翻訳部が取得した１以上の訳文のうち、対訳データに含まれる訳文に対して、予め決められた関係を有する訳文を決定する訳文決定部とをさらに具備し、蓄積部は、積集合取得部が取得した１以上のフレーズペアのうち、訳文決定部が決定した訳文の作成に使用されたフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部に蓄積する請求項１記載のフレーズテーブル生成装置である。
【００１５】
かかる構成により、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを大幅に削減できる。
【００１６】
また、本第三の発明のフレーズテーブル生成装置は、第二の発明に対して、訳文決定部は、機械翻訳部が取得した１以上の訳文のうち、対訳データに含まれる訳文との類似度が最大である一の訳文を決定するフレーズテーブル生成装置である。
【００１７】
かかる構成により、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを大幅に削減できる。
【００１８】
また、本第四の発明の機械翻訳装置は、第一から第三いずれか１つの発明に対して、フレーズテーブル生成装置が生成したフレーズテーブルが格納されるフレーズテーブル格納部と、原文を受け付ける受付部と、フレーズテーブル格納部のフレーズテーブルを用いて、原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、訳文を取得する機械翻訳部と、訳文を出力する出力部とを具備する機械翻訳装置である。
【００１９】
かかる構成により、小さなサイズのフレーズテーブルを用いて、精度を落とさず、または精度を大幅に落とさずに機械翻訳ができる。
【発明の効果】
【００２０】
本発明によるフレーズテーブル生成装置によれば、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを容易に削減できる。
【図面の簡単な説明】
【００２１】
【図１】実施の形態１におけるフレーズテーブル生成装置１のブロック図
【図２】実施の形態１におけるフレーズテーブル生成装置１の第一の動作例について説明するフローチャート
【図３】実施の形態１におけるフレーズテーブル生成装置１の第二の動作例について説明するフローチャート
【図４】実施の形態２における機械翻訳装置２のブロック図
【図５】上記の実施の形態におけるコンピュータシステムの概観図
【図６】同コンピュータシステムの内部構成を示すブロック図
【発明を実施するための形態】
【００２２】
以下、フレーズテーブル生成装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２３】
（実施の形態１）
本実施の形態において、２以上の単語アライメント手段によるアライメント結果から、共通のフレーズペアを取得し、当該フレーズペアからフレーズテーブルを構成するフレーズテーブル生成装置について説明する。なお、このアライメント結果は、同一の対訳データに対するアライメント結果である。
【００２４】
また、本実施の形態において、２以上の機械翻訳結果から予め決められた関係を有する１以上の機械翻訳結果を決定し、当該１以上の機械翻訳結果に採用されているフレーズペアのみを残すフレーズテーブル生成装置について説明する。なお、予め決められた関係は、例えば、訳文に最も類似する関係である。
【００２５】
図１は、本実施の形態におけるフレーズテーブル生成装置１のブロック図である。フレーズテーブル生成装置１は、格納部１１、および処理部１２を備える。
【００２６】
格納部１１は、対訳データ格納部１１１、およびフレーズテーブル格納部１１２を備える。
【００２７】
処理部１２は、フレーズペア取得部１２１、積集合取得部１２２、機械翻訳部１２３、訳文決定部１２４、フレーズテーブル削減部１２５、および蓄積部１２６を備える。
【００２８】
格納部１１は、例えば、対訳データ、フレーズテーブルなどの各種の情報が格納される。
【００２９】
対訳データ格納部１１１には、原文と、その訳文とを有する通常、２以上の対訳データが格納される。原文は、原言語の文であり、訳文は、対象言語の文である。原言語、対象言語は、例えば、日本語、英語、中国語、韓国語、スペイン語、フランス語等であり、その言語は問わない。原言語と対象言語とが異なる言語であることは言うまでもない。
【００３０】
フレーズテーブル格納部１１２は、フレーズペアを持つ１以上のエントリを有するフレーズテーブルが格納される。エントリとは、通常、原言語フレーズと対象言語フレーズとよりなるフレーズペアとスコアとを有する。エントリが有するスコアは、１以上である。原言語フレーズは、原言語のフレーズである。対象言語フレーズは、対象言語のフレーズである。なお、エントリは、フレーズペアだけでも良い。また、スコアは、例えば、フレーズペアが採用され得る確率であり、スコアが高いほど、機械翻訳の際に採用されやすいという性質を有する情報である。また、スコアは、出現頻度でも良い。さらに、一のフレーズペアに対して２以上のスコアが存在する場合、当該２以上のスコアのｌｏｇ値を、重み付きで加算し、一つのスコアが算出され、当該一つのスコアが機械翻訳時に使用される。
【００３１】
処理部１２は、例えば、フレーズペア取得部１２１、積集合取得部１２２、機械翻訳部１２３、訳文決定部１２４、フレーズテーブル削減部１２５、蓄積部１２６のそれぞれが行う各種の処理を行う。
【００３２】
フレーズペア取得部１２１は、２以上の異なる各単語アライメント手法を用いて、単語アライメント手法ごとに、フレーズペア集合を対訳データから取得する。フレーズペア集合は２以上のフレーズペアである。単語アライメント手法は、対訳データが有する原文の単語と訳文の単語との対応を決定する手法である。フレーズペア取得部１２１は、例えば、GIZA++、fast_alignなどの公知の種々の単語アライメント手法を使用できる。但し、フレーズペア取得部１２１が使用する単語アライメント手法は問わない。なお、GIZA++は、インターネットホームページ（URL:http://www.statmt.org/moses/giza/GIZA++.html）を参照のこと。また、fast_alignは、インターネットホームページ（URL:https://github.com/clab/fast_align）を参照のこと。
【００３３】
さらに、フレーズペア取得部１２１は、例えば、第一フレーズペア取得手段、第二フレーズペア取得手段、・・・、第ｎフレーズペア取得手段を有する。第一フレーズペア取得手段から第ｎフレーズペア取得手段（ｎは２以上の整数）の各フレーズペア取得手段は、異なる単語アライメント手法を用いてフレーズペア集合を対訳データから取得する。
【００３４】
積集合取得部１２２は、フレーズペア取得部１２１が取得した２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する。共通するフレーズペアとは、通常、同一の対訳データを用いて取得された２以上の各フレーズペア集合のすべてに出現するフレーズペアである。ただし、共通するフレーズペアは、３以上の各フレーズペア集合の中の２以上に出現するフレーズペアでも良いし、３以上の各フレーズペア集合の中で閾値以上または閾値より多くの割合で出現するフレーズペアでも良いし、３以上の各フレーズペア集合の中で閾値以上または閾値より多数出現するフレーズペア等でも良い。
【００３５】
機械翻訳部１２３は、積集合取得部１２２が取得したフレーズペアを有する１以上のエントリを有するフレーズテーブルを使用して、対訳データを構成する原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、１以上の訳文を取得する。機械翻訳部１２３は、通常、２以上の訳文を取得する。フレーズベース統計的機械翻訳の手法は、公知の手法を利用できるので、詳細な説明は省略する。
【００３６】
機械翻訳部１２３は、蓄積部１２６がフレーズテーブル格納部１１２に蓄積したフレーズテーブルを使用して、対訳データを構成する原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、１以上の訳文を取得しても良い。
【００３７】
訳文決定部１２４は、機械翻訳部１２３が取得した１以上の訳文のうち、対訳データに含まれる訳文に対して、予め決められた関係を有する１または２以上の訳文を決定する。そして、訳文決定部１２４は、決定した１以上の各訳文の作成に使用された１以上のフレーズペアを特定する情報を保持している。
【００３８】
なお、予め決められた関係とは、例えば、類似する関係、類似度が最大（一致も含む）であるという関係、一致する関係などである。つまり、例えば、訳文決定部１２４は、機械翻訳部１２３が取得した１以上の訳文のうち、対訳データに含まれる訳文との類似度が最大である一の訳文を決定する。なお、２つの文の類似度を取得する技術は公知技術であるので、詳細な説明は省略する。
【００３９】
フレーズテーブル削減部１２５は、積集合取得部１２２が取得した１以上のフレーズペアの中から、訳文決定部１２４が決定した訳文で使用されていないフレーズペアを削除する。フレーズテーブル削減部１２５は、積集合取得部１２２が取得したフレーズペアに対応する１以上のエントリの中から、訳文決定部１２４が決定した訳文で使用されていないエントリを削除しても良い。なお、ここで、フレーズペアの削除は、エントリの削除と同意義である、とする。また、削除とは、記録媒体から完全に削除することでも良いし、削除フラグを付し、使用しない状況にすること等でも良い。
【００４０】
蓄積部１２６は、積集合取得部１２２が取得したフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部１１２に蓄積する。
【００４１】
また、蓄積部１２６は、積集合取得部１２２が取得した１以上のフレーズペアのうち、訳文決定部１２４が決定した訳文の作成に使用されたフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部１１２に蓄積する。
【００４２】
また、蓄積部１２６は、フレーズテーブル削減部１２５がフレーズテーブル格納部１１２から訳文決定部１２４が決定した訳文の作成に使用されなかったフレーズペアを含むエントリを削除した結果の１以上のエントリを含むフレーズテーブルをフレーズテーブル格納部１１２に蓄積しても良い。
【００４３】
蓄積部１２６は、結果として、積集合取得部１２２が取得した１以上のフレーズペアのうち、訳文決定部１２４が決定した訳文の作成に使用されたフレーズペアを有する１以上のエントリを有するフレーズテーブルをフレーズテーブル格納部１１２に蓄積すれば良い。蓄積部１２６がフレーズテーブル格納部１１２に蓄積したフレーズテーブルは、積集合取得部１２２が取得した１以上のフレーズペアであり、訳文決定部１２４が決定した訳文の作成に使用されなかったフレーズペアを除く１以上のフレーズペアを有するフレーズテーブルであれば良い。
【００４４】
格納部１１を構成する対訳データ格納部１１１、およびフレーズテーブル格納部１１２は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【００４５】
格納部１１等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部１１等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部１１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１１等で記憶されるようになってもよい。
【００４６】
処理部１２、フレーズペア取得部１２１、積集合取得部１２２、機械翻訳部１２３、訳文決定部１２４、フレーズテーブル削減部１２５、および蓄積部１２６は、通常、ＭＰＵやメモリ等から実現され得る。処理部１２等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【００４７】
次に、フレーズテーブル生成装置１の第一の動作例について、図２のフローチャートを用いて説明する。
【００４８】
（ステップＳ２０１）フレーズペア取得部１２１は、対訳データを指定するカウンタであるカウンタｉに１を代入する。
【００４９】
（ステップＳ２０２）フレーズペア取得部１２１は、ｉ番目の対訳データが対訳データ格納部１１１に存在するか否かを判断する。ｉ番目の対訳データが存在すればステップＳ２０３に行き、存在しなければステップＳ２１０に行く。
【００５０】
（ステップＳ２０３）フレーズペア取得部１２１は、フレーズペア取得手段を指定するカウンタであるカウンタｊに１を代入する。
【００５１】
（ステップＳ２０４）フレーズペア取得部１２１は、ｊ番目のフレーズペア取得手段が存在するか否かを判断する。ｊ番目のフレーズペア取得手段が存在する場合はステップＳ２０５に行き、ｊ番目のフレーズペア取得手段が存在しない場合はステップＳ２０７に行く。なお、ｊ番目のフレーズペア取得手段が存在することは、ｊ番目の単語アライメント手法により、フレーズペアを獲得することと同意義である。
【００５２】
（ステップＳ２０５）ｊ番目のフレーズペア取得手段は、ｉ番目の対訳データに対して単語アライメント処理を行い、１以上のフレーズペアであるフレーズペア集合を取得する。
【００５３】
（ステップＳ２０６）フレーズペア取得部１２１は、カウンタｊを１、インクリメントし、ステップＳ２０４に戻る。
【００５４】
（ステップＳ２０７）積集合取得部１２２は、ステップＳ２０５で取得した２以上のフレーズペア集合から、共通する１以上のフレーズペアを取得する。
【００５５】
（ステップＳ２０８）蓄積部１２６は、ステップＳ２０７で取得された１以上のフレーズペアを、図示しないバッファに蓄積する。
【００５６】
（ステップＳ２０９）フレーズペア取得部１２１は、カウンタｉを１、インクリメントし、ステップＳ２０２に戻る。
【００５７】
（ステップＳ２１０）蓄積部１２６は、フレーズペアの種類を指定するカウンタであるカウンタｋに１を代入する。
【００５８】
（ステップＳ２１１）蓄積部１２６は、ｋ番目の種類のフレーズペアが図示しないバッファに存在するか否かを判断する。ｋ番目の種類のフレーズペアが存在する場合はステップＳ２１２に行き、存在しない場合はステップＳ２１４に行く。なお、ステップＳ２０８でバッファに蓄積したフレーズペアの中には、同一のフレーズペアが存在し得る。そして、ｋ番目の種類のフレーズペアとは、同一の複数のフレーズペアも１種類のフレーズペアとした場合のｋ番目の種類のフレーズペアである。つまり、ｋ番目の種類のフレーズペアは、１つのフレーズペアまたは２以上の同一のフレーズペアである。
【００５９】
（ステップＳ２１２）蓄積部１２６は、ｋ番目の種類のフレーズペアのスコアを算出し、ｋ番目の種類のフレーズペアに対応するエントリを構成する。そして、蓄積部１２６は、当該エントリをフレーズテーブル格納部１１２に蓄積する。なお、スコア算出の技術は公知技術であるので、詳細な説明を省略する。
【００６０】
（ステップＳ２１３）蓄積部１２６は、カウンタｋを１、インクリメントし、ステップＳ２１１に戻る。
【００６１】
（ステップＳ２１４）機械翻訳部１２３は、カウンタｉに１を代入する。
【００６２】
（ステップＳ２１５）機械翻訳部１２３は、ｉ番目の対訳データが対訳データ格納部１１１に存在するか否かを判断する。ｉ番目の対訳データが存在すればステップＳ２１６に行き、存在しなければステップＳ２２０に行く。
【００６３】
（ステップＳ２１６）機械翻訳部１２３は、ｉ番目の対訳データに含まれる原文を機械翻訳し、１以上の訳文を取得する。なお、機械翻訳部１２３は、１以上の各訳文に対して、機械翻訳時に使用したフレーズペアを特定する情報を訳文に対応付けて保持している、とする。フレーズペアを特定する情報は、フレーズペアでも良いし、フレーズペアの識別子等でも良く、フレーズペアを特定できる情報であれば良い。
【００６４】
（ステップＳ２１７）訳文決定部１２４は、ステップＳ２１６で取得された１以上の訳文の中で、ｉ番目の対訳データに含まれる訳文と例えば類似度が最大であるなどの関係を有する訳文を決定する。
【００６５】
（ステップＳ２１８）フレーズテーブル削減部１２５は、ステップＳ２１７で決定された訳文を取得する際に使用された１以上のフレーズペアを特定する情報から、１以上のフレーズペアを取得し、図示しないバッファに蓄積する。
【００６６】
（ステップＳ２１９）機械翻訳部１２３は、カウンタｉを１、インクリメントし、ステップＳ２１５に戻る。
【００６７】
（ステップＳ２２０）フレーズテーブル削減部１２５は、エントリを指定するカウンタであるカウンタｌに１を代入する。
【００６８】
（ステップＳ２２１）フレーズテーブル削減部１２５は、フレーズテーブル格納部１１２に、ｌ番目のエントリが存在するか否かを判断する。ｌ番目のエントリが存在する場合はステップＳ２２２に行き、ｌ番目のエントリが存在しない場合は処理を終了する。
【００６９】
（ステップＳ２２２）フレーズテーブル削減部１２５は、ｌ番目のエントリに含まれるフレーズペアが、図示しないバッファに含まれるか否かを判断する。バッファに含まれる場合はステップＳ２２４に行き、バッファに含まれない場合はステップＳ２２３に行く。
【００７０】
（ステップＳ２２３）フレーズテーブル削減部１２５は、ｌ番目のエントリをフレーズテーブル格納部１１２から削除する。
【００７１】
（ステップＳ２２４）フレーズテーブル削減部１２５は、カウンタｌを１、インクリメントし、ステップＳ２２１に戻る。
【００７２】
なお、図２のフローチャートにおいて、エントリはフレーズペアのみでも良い。かかる場合、ステップＳ２１２において、蓄積部１２６はスコアを算出しない。
【００７３】
次に、フレーズテーブル生成装置１の第二の動作例について、図３のフローチャートを用いて説明する。図３のフローチャートにおいて、図２のフローチャートと同一のステップについては、説明を省略する。
【００７４】
（ステップＳ３０１）蓄積部１２６は、積集合取得部１２２が取得した１以上のフレーズペアのうち、訳文決定部１２４が決定した訳文の作成に使用されたフレーズペアのみを取得する。
【００７５】
（ステップＳ３０２）蓄積部１２６は、ステップＳ３０１で取得した各フレーズペアのスコアを算出し、１以上のエントリを構成する。
【００７６】
（ステップＳ３０３）蓄積部１２６は、当該１以上のエントリをフレーズテーブル格納部１１２に蓄積し、ステップＳ２０９に行く。
【００７７】
なお、図３のフローチャートにおいて、蓄積部１２６がスコアを算出するタイミングは問わない。
【００７８】
以下、本実施の形態におけるフレーズテーブル生成装置１の具体的な動作について説明する。以下、２つの具体例を説明する。具体例１は、２つ以上の単語アライメント結果を活用してのフレーズテーブルを獲得する場合である。具体例２は、具体例１における処理に加えて、通常のＰＢＳＭＴを活用して、フレーズテーブルの削減を行う場合である。
【００７９】
（具体例１）
今、対訳データ格納部１１１には、例えば、原文「This is a ballpoint pen .」、訳文「これ は ボールペン です 。」の対訳データが格納されている、とする。
【００８０】
そして、フレーズペア取得部１２１は、第一の単語アライメント手法Ａ１（例えば、GIZA++）を採用する第一フレーズペア取得手段と、第二の単語アライメント手法Ａ２（例えば、fast_align）を採用する第二フレーズペア取得手段とを有する、とする。また、ここでは、第一フレーズペア取得手段と第二フレーズペア取得手段は、標準的なフレーズ抽出方法を採用し、３単語までのフレーズを抽出する、とする。
【００８１】
そして、第一フレーズペア取得手段は、第一の単語アライメント手法Ａ１を用いて、単語アライメントの結果の情報「０−０  １−３  ３−２  ４−２  ５−４」を取得した、とする。ここで、単語のＩＤが０からスタートしている、とする。つまり、「This（０） is（１） a（２） ballpoint（３） pen（４） .（５）」、「これ（０） は（１） ボールペン（２） です（３） 。（４）」である、とする。また、「.」や「。」もここでは単語とする。
【００８２】
つまり、第一フレーズペア取得手段は、以下のフレーズペア集合Ｐ１を得る。
This    これ
This    これ は
ballpoint pen    は ボールペン
is a    です
a ballpoint pen    は ボールペン
ballpoint pen    ボールペン
is    です
.    。
【００８３】
また、第二フレーズペア取得手段は、第二の単語アライメント手法Ａ２を用いて、単語アライメントの結果の情報「０−０  １−１  ２−１  ３−２  ４−２  ５−３  ５−４」を取得した、とする。
つまり、第二フレーズペア取得手段は、以下のフレーズペア集合Ｐ２を得る。
This    これ
is a    は
ballpoint pen .    ボールペン です 。
This is a    これ は
ballpoint pen    ボールペン
.    です 。
【００８４】
積集合取得部１２２は、取得した２つのフレーズペア集合Ｐ１とＰ２とから、共通する以下の２つのフレーズペアを取得する。この２つのフレーズペアをフレーズペア集合ＰＴ１とする。
This    これ
ballpoint pen    ボールペン
【００８５】
次に、蓄積部１２６は、図示しないバッファの各フレーズペアのスコアを、公知の標準的な手法により取得し、蓄積する。なお、公知の標準的な手法とは、例えば、Moses Toolkit(http://www.statmt.org/moses/)等である。
【００８６】
次に、蓄積部１２６は、取得された２つのフレーズペアと設定したスコアとを有するエントリをフレーズテーブル格納部１１２に蓄積する。
【００８７】
以上の処理を、対訳データ格納部１１１のすべての対訳データに対して行う。以上の処理により、フレーズテーブル格納部１１２にフレーズテーブルが生成される。
【００８８】
なお、フレーズペア集合Ｐ１とＰ２との積集合がＰＴ１である。そして、ＰＴ１に含まれるフレーズペアの数は、一般に、Ｐ１やＰ２の半分以下であることが分かった。
【００８９】
また、具体例１において、非特許文献１で比較されている方法とは異なり、閾値を設定する必要がないため、どのような訓練データ（対訳データ格納部１１１の対訳データ）についても容易に適用可能である。
【００９０】
（具体例２）
具体例２において、具体例１で構成されたフレーズテーブルのサイズの減縮を図るために、エントリを削除する処理について説明する。
【００９１】
機械翻訳部１２３は、具体例１で作成されたＰＴ１（フレーズペア集合）を利用して、通常のＰＢＳＭＴエンジンを動作させ、訓練データの原文（例えば、「This is a ballpoint pen .」）を翻訳してＮ個の翻訳文を得る。なお、ここでは、Ｎは２以上の自然数である、とする。
【００９２】
次に、訳文決定部１２４は、取得されたＮ個の各訳文と、対訳データに含まれる訳文との類似度を算出する。そして、訳文決定部１２４は、最も大きい類似度に対応する訳文を、Ｎ個の訳文から決定する。
【００９３】
次に、フレーズテーブル削減部１２５は、決定された訳文を取得する際に使用された１以上のフレーズペアを特定する情報から、１以上のフレーズペアを取得し、図示しないバッファに蓄積する。
【００９４】
以上の処理を対訳データ格納部１１１のすべての対訳データに対して行う。そして、図示しないバッファに蓄積されたフレーズペアの集合がＰ３であった、とする。
【００９５】
そして、フレーズテーブル削減部１２５は、ＰＴ１のエントリの中から、当該のフレーズペアがＰ３に含まれない場合に、そのエントリを削除する。ここで、ＰＴ１のエントリから、Ｐ３に含まれないフレーズペアを削除して、残ったフレーズペアの集合をＰＴ２とする。なお、ＰＴ２におけるフレーズペアのスコアはＰＴ１のときと同じである。つまり、具体例２において、Ｐ３に存在しないフレーズペアをＰＴ１から削除するだけである。
【００９６】
以上の具体例２において、ＰＴ２の大きさは経験的にはＰＴ１の３０％未満である。なお、実験によれば、ＰＴ２を利用して作成したＰＢＳＭＴエンジンの翻訳精度はＰＴ１より若干落ちる。
【００９７】
以上、本実施の形態によれば、ＰＢＳＭＴにおけるフレーズテーブルの削減が達成できる。また、具体例１で説明したＰＴ１を使用した場合、翻訳精度はほぼそのままでエントリ数は半減以下になる。また、具体例２で説明したＰＴ２を使用した場合、精度はやや落ちるがさらにエントリ数を削減できる。
【００９８】
また、本実施の形態におけるフレーズテーブル生成装置１は、大規模対訳データを利用したＰＢＳＭＴの構築に利用可能である。
【００９９】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをＣＤ−ＲＯＭなどの記録媒体に記録して流布しても良い。なお、このことは、本発明における他の実施の形態においても該当する。なお、本実施の形態におけるフレーズテーブル生成装置１を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、２以上の異なる各単語アライメント手法を用いて、前記２以上の異なる単語アライメント手法ごとに、原文と訳文とを有する対訳データから２以上のフレーズペアである２以上のフレーズペア集合を取得するフレーズペア取得部と、前記２以上のフレーズペア集合の中で共通する１以上のフレーズペアを取得する積集合取得部と、前記積集合取得部が取得した１以上のフレーズペアを有するフレーズテーブルを記録媒体に蓄積する蓄積部として機能させるためのプログラムである。
【０１００】
（実施の形態２）
本実施の形態において、実施の形態１で説明したフレーズテーブル生成装置１が生成したフレーズテーブルを用いた機械翻訳装置２について説明する。
【０１０１】
図４は、本実施の形態における機械翻訳装置２のブロック図である。機械翻訳装置２は、フレーズテーブル格納部１１２、受付部２１、機械翻訳部２２、および出力部２３を備える。
【０１０２】
フレーズテーブル格納部１１２には、フレーズテーブル生成装置１が生成したフレーズテーブルが格納される。
【０１０３】
受付部２１は、原文を受け付ける。原文の言語は問わない。ここで受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。原文の入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部２１は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【０１０４】
機械翻訳部２２は、フレーズテーブル格納部１１２のフレーズテーブルを用いて、原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、訳文を取得する。機械翻訳部２２は、フレーズベース統計的機械翻訳器であり、公知技術を利用できる。
【０１０５】
機械翻訳部２２は、通常、ＭＰＵやメモリ等から実現され得る。機械翻訳部２２の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはＲＯＭ等の記録媒体に記録されている。但し、ハードウェア（専用回路）で実現しても良い。
【０１０６】
出力部２３は、機械翻訳部２２が取得した訳文を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。
【０１０７】
出力部２３は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部２３は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【０１０８】
以上、本実施の形態によれば、小さなサイズのフレーズテーブルを用いて、精度を落とさず、または精度を大幅に落とさずに機械翻訳ができる。
【０１０９】
なお、本実施の形態における機械翻訳装置２を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体を、フレーズテーブル生成装置１が生成したフレーズテーブルが格納されるフレーズテーブル格納部として機能させると共に、コンピュータを、原文を受け付ける受付部と、前記フレーズテーブル格納部のフレーズテーブルを用いて、前記原文をフレーズベース統計的機械翻訳の手法を用いて翻訳し、訳文を取得する機械翻訳部と、前記訳文を出力する出力部として機能させるためのプログラムである。
【０１１０】
また、図５は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態のフレーズテーブル生成装置１等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図５は、このコンピュータシステム３００の概観図であり、図６は、システム３００の内部構成を示すブロック図である。
【０１１１】
図５において、コンピュータシステム３００は、ＣＤ−ＲＯＭドライブを３０１２含むコンピュータ３０１と、キーボード３０２と、マウス３０３と、モニタ３０４とを含む。
【０１１２】
図６において、コンピュータ３０１は、ＣＤ−ＲＯＭドライブ３０１２と、ＭＰＵ３０１３と、バス３０１４と、ＲＯＭ３０１５と、ＲＡＭ３０１６と、ハードディスク３０１７とを含む。ＲＯＭ３０１５は、ブートアッププログラム等のプログラムを記憶している。ＲＡＭ３０１６は、ＭＰＵ３０１３に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供する。ハードディスク３０１７は、通常、アプリケーションプログラム、システムプログラム、及びデータを記憶している。ここでは、図示しないが、コンピュータ３０１は、さらに、ＬＡＮへの接続を提供するネットワークカードを含んでも良い。
【０１１３】
コンピュータシステム３００に、上述した実施の形態のフレーズテーブル生成装置１等の機能を実行させるプログラムは、ＣＤ−ＲＯＭ３１０１に記憶されて、ＣＤ−ＲＯＭドライブ３０１２に挿入され、さらにハードディスク３０１７に転送されても良い。また、プログラムは、図示しないネットワークを介してコンピュータ３０１に送信され、ハードディスク３０１７に記憶されても良い。プログラムは実行の際にＲＡＭ３０１６にロードされる。プログラムは、ＣＤ−ＲＯＭ３１０１またはネットワークから直接、ロードされても良い。
【０１１４】
プログラムは、コンピュータ３０１に、上述した実施の形態のフレーズテーブル生成装置等の機能を実行させるオペレーティングシステム（ＯＳ）、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切なモジュールを呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム３００がどのように動作するかは周知であり、詳細な説明は省略する。
【０１１５】
なお、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【０１１６】
また、上記各実施の形態において、各処理（各機能）は、単一の装置（システム）によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
【０１１７】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【０１１８】
以上のように、本発明にかかるフレーズテーブル生成装置は、フレーズベース統計的機械翻訳で使用するフレーズテーブルのサイズを、容易に削減できる、という効果を有し、フレーズテーブル生成装置等として有用である。
【符号の説明】
【０１１９】
１  フレーズテーブル生成装置
２  機械翻訳装置
１１  格納部
１２  処理部
２１  受付部
２２、１２３  機械翻訳部
２３  出力部
１１１  対訳データ格納部
１１２  フレーズテーブル格納部
１２１  フレーズペア取得部
１２２  積集合取得部
１２４  訳文決定部
１２５  フレーズテーブル削減部
１２６  蓄積部
【図１】
2018112801.tif 000003
【図２】
2018112801.tif 000004
【図３】
2018112801.tif 000005
【図４】
2018112801.tif 000006
【図５】
2018112801.tif 000007
【図６】
2018112801.tif 000008