一般化された巡回セールスマン問題としてのフレーズ−ベースの統計的機械翻訳
【課題】一般化された巡回セールスマン問題としてのフレーズ−ベースの統計的機械翻訳を行う。
【解決手段】統計的機械翻訳(SMT)および一般化された非対称巡回セールスマン問題(GTSP)グラフを使用して2つの言語を翻訳する方法は、SMT問題をGTSPとして定義するステップ(120)と、入力文のブロックを、前記GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して翻訳するステップ(122)と、前記GTSPを解くステップ(124)と、前記GTSPの解によって定義される順序で前記翻訳済みブロックを出力するステップ(126)と、を包含する。
【解決手段】統計的機械翻訳(SMT)および一般化された非対称巡回セールスマン問題(GTSP)グラフを使用して2つの言語を翻訳する方法は、SMT問題をGTSPとして定義するステップ(120)と、入力文のブロックを、前記GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して翻訳するステップ(122)と、前記GTSPを解くステップ(124)と、前記GTSPの解によって定義される順序で前記翻訳済みブロックを出力するステップ(126)と、を包含する。
【発明の詳細な説明】
【技術分野】
【0001】
この出願は、コンピューティング・システム内における統計的機械翻訳(statistical machine translation,SMT)に関する。ここで述べる手法は、このほかの翻訳システム、このほかの統計的マッピング応用、および/またはこのほかの翻訳方法の中にも応用を見つけることができることを理解されたい。
【背景技術】
【0002】
統計的機械翻訳(SMT)に対する古典的アプローチは、「バイ−フレーズ(bi−phrases)」を伴う。「バイ−フレーズ」とは、ソース言語および目標言語の表現またはフレーズのペアであり、この表現またはフレーズのペアは、ソース文から目標(すなわち、翻訳された)文を構成するためのビルディング・ブロックを形成する。
【0003】
N−グラム(N−gram)言語モデルは、シーケンス内の次の項目を予測するための確率論的モデルの一種である。N−グラムは、統計的自然言語処理および遺伝子配列の分析の多様な分野において使用されている。N−グラムは、与えられたシーケンスからのn個の項目のサブシーケンスである。懸案の項目は、音素、音節、文字、単語、塩基対等々とすることができる。
【0004】
与えられたソース文Sを翻訳するために、古典的なフレーズ・ベースのSMTシステムは、次の形式の対数−線形モデル(log−linear model)を用いる。
【数1】
ここで、hkは、「特徴」であり、ソース文字列s、目標文字列t、および配列aの関数である。配列aは、ソース文字列sから目標文字列tを組み立てるのに用いられる、バイ−フレーズのシーケンスの表現である。λkは、重みであり、Zsは、p(t,a|s)がペア(t,a)について適正な条件付き確率分布となることを保証する正規化因子である。
【0005】
一旦、対数−線形モデルが定義されてしまえば(トレーニング段階を伴う;たとえば、参照によりこれに援用される非特許文献1を参照されたい)、デコーダの役割は、条件付き確率p(t,a|s)を最大化するペア(t,a)を見つけること、および対応する目標文字列tを出力することになる。
【0006】
古典的なシステムは、ヒューリスティックな左から右へのサーチの何らかの変形に基づいており、これは、各ステップにおいて、新しいバイ−フレーズを用いて現在の部分翻訳を拡張しつつ、かつ2つのスコア、すなわちこれまでの部分翻訳の既知の要素についてのスコア、および翻訳を完了するための残りのコストのヒューリスティックな評価を計算しつつ、左から右へと漸増的に候補翻訳(t,a)の組み立てを試みる。もっとも頻繁に使用される変形は、いくつかの部分的な候補が並列に維持され、現在の評価が低すぎる候補が取り除かれて、より有望な候補を選ぶビーム−サーチの形式である。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】ロペズ・A(Lopez,A.)著、2008.Statistical Machine Translation.ACM Comput.Surv.40,3(2008年8月)、p.1−49
【発明の概要】
【発明が解決しようとする課題】
【0008】
左から右へのヒューリスティックなサーチによる翻訳を行う従来技術では、サーチの早い段階で生じる誤った選択から過剰な影響を受けることがあり、早い段階での誤りから回復することは困難であり得る。
【課題を解決するための手段】
【0009】
グラフ内のノードとしてバイ−フレーズをモデリングすることによってバイグラム(または、より高いN−グラム)言語モデルを組み込むフレーズ−ベースのモデルのためのSMTを容易にするシステムおよび方法を述べる。たとえば、統計的機械翻訳(SMT)および一般非対称巡回セールスマン問題(generalized asymmetric traveling salesman problem,GTSP)のグラフを使用して2つの言語を翻訳する方法は、GTSPとしてSMTを定義するステップと、GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して入力文のブロックを翻訳するステップと、GTSPを解決するステップと、GTSP解決によって定義される順序で翻訳されたブロックを出力するステップと、を包含する。
【図面の簡単な説明】
【0010】
【図1】GTSPアプローチを使用して言語間の翻訳において使用するためのグラフを生成する、フレーズ−ベースのSMTを実行するためのシステムを図解したブロック図である。
【図2】それぞれの「コスト」に従って0〜6がラベル付けされた複数のエッジを伴う非対称TSP(asymmetric TSP,ATSP)を標準TSPに変換するための第1の変換を図解した説明図である。
【図3】ATSPを標準TSPに変換するための第2の変換を図解した説明図である。
【図4】GTSPをATSPに変換する変換を図解した説明図である。
【図5】既存のエッジのサブセット、すなわちノード「traduction−mt」に入るか、または出るすべてのエッジだけが示された、ソース文「cette traduction automatique est curieuse」についての遷移グラフを図解した説明図である。
【図6A】1つの出力に対応するGTSP巡回を図解した説明図である。
【図6B】他の1つの出力に対応するGTSP巡回を図解した説明図である。
【図7】バイ−フレーズ「i」だけが取り除かれたグラフであって、現在は「i」をカプセル化している拡張バイ−フレーズのいくつかだけがグラフを通る1つの有効な巡回を定義するエッジを伴って示されているグラフを図解した説明図である。
【図8】選択的なオンデマンド絞り込みを図解した説明図である。
【図9A】TSPとしてフレーズ−ベースの統計的機械翻訳を実行するための方法を図解したフローチャートである。
【図9B】TSPとしてフレーズ−ベースの統計的機械翻訳を実行するための代替方法を図解したフローチャートである。
【図10】トリグラム言語モデルを使用してフレーズ−ベースの翻訳を実行するためのグラフを図解した説明図である。
【図11】差がεより大きいか、または等しい場合に得られるグラフを図解した説明図である。
【発明を実施するための形態】
【0011】
グラフ内のノードとしてバイ−フレーズをモデリングすることによってフレーズ−ベースのSMTを容易にするシステムおよび方法を述べる。ここで使用するときの「グラム」は、単語を意味するものであり、バイグラム言語モデルは2語のグループを採用し、トリグラム言語モデルは3語のグループを採用し、以下同様とする。
【0012】
このシステムおよび方法においては、バイ−フレーズが、グラフ内のノードとしてモデル化される。それに加えて翻訳の構成が、グラフ内のノードの間の「巡回」、すなわち各ノードを正確に一度だけ訪問する経路としてモデル化される。巡回の全体的なコストが、その巡回の間に通り抜けたエッジに関連付けされたコストを加算することによって計算される。
【0013】
したがって、ここで述べるシステムおよび方法は、SMT問題をGTSP問題に直接マップし、GTSPとしてフレーズ−ベースの翻訳を表現する。
【0014】
図1を参照すると、GTSPアプローチを使用してフレーズ−ベースのSMTの実行を容易にするシステム10が図解されている。このシステムは、ここで述べる多様な手法、方法、応用、アルゴリズム等を実行するためのコンピュータ実行可能命令を実行するプロセッサ12およびそれらの命令を記憶するメモリ13を含む。
【0015】
メモリ13は、コンピュータ上で実行できるコンピュータ・プログラム製品を包含し得る。コンピュータ・プログラム製品は、コントロール・プログラムが記録されたコンピュータ可読記録媒体(たとえばメモリ13)であってよく、例えば、ディスク、ハード・ドライブ、またはこれらと同種のものであってよい。一例によれば、ここで述べる手法は、1つまたは複数の汎用コンピュータ、専用コンピュータ(1つまたは複数)、プログラムされたマイクロプロセッサまたはマイクロコントローラおよび周辺集積回路素子、ASICまたはそのほかの集積回路、デジタル信号プロセッサ、ハードワイヤードの電子または論理回路、たとえばディスクリート素子回路、プログラマブル論理デバイス、たとえばPLD、PLA、FPGA、グラフィック・カードCPU(GPU)、またはPAL、またはこれらの類の上で実装することができる。
【0016】
システム10は、さらに、ユーザがシステムによる翻訳のための入力文15を入力することができるユーザ・インターフェース14を包含している。入力文15は、コンピュータ実行可能アルゴリズム(1つまたは複数)を使用してプロセッサ12によって処理され、オプションとして、翻訳済みデータ17(たとえば、翻訳された文)がユーザ・インターフェース14に出力されるまで、1つまたは複数の中間データ段階を通過する。
【0017】
メモリ13は、さらに、入力文15を翻訳するための多様な構成要素(たとえば、コンピュータ実行可能インストラクションまたはその類)を記憶する。それに加えて、あらかじめ生成済みのバイ−フレーズがバイ−フレーズ・ライブラリ20内に記憶される。
【0018】
翻訳のための入力文を受け取ると、プロセッサ12は、入力文と両立するバイ−フレーズをバイ−フレーズ・ライブラリ20から検索するとともに、言語モデル19にもアクセスし、検索したバイ−フレーズおよびその言語モデルを利用してGTSPグラフ22を組み立てる。
【0019】
GTSPグラフ22のノードを通る最適巡回を生成するために、プロセッサは、厳密ソルバ・アルゴリズム24、近似ソルバ・アルゴリズム25等々のうちの1つまたは複数であり得るTSPソルバ23を実行する。
【0020】
システム10は、GTSPグラフ22を入力文15に適用することによって入力文のフレーズ−ベースの統計的機械翻訳(phrase based statistical machine translation,PBSMT)を容易にする。プロセッサ12は、GTSPとしてPBSMTタスクを定義する。プロセッサは、入力文と矛盾のない1つまたは複数のバイ−フレーズをバイ−フレーズ・ライブラリ20から検索し、それぞれがバイ−フレーズに対応する複数のノードを包含するGTSPグラフ22を生成する。TSPソルバ23が実行され、GTSPグラフ22の最適巡回が生成される。
【0021】
1つの実施態様においては、バイグラム言語モデルに代えてN−グラム言語モデル(2より大きいNを用いる)を使用するとき、プロセッサは、最適巡回の真のコストCt、最適巡回の見かけのコストCaを計算し、真のコストCtと見かけのコストCaの間の差Dを決定する。プロセッサは、Dがあらかじめ決定済みの閾値εより小さいとき、GTSPに対する解として最適巡回を出力し、出力されるGTSP解を使用して入力文を第1の言語から第2の言語へ翻訳する。
【0022】
プロセッサ12は、Dがあらかじめ決定済みの閾値εに等しいか、またはそれを超える場合に、GTSPグラフ22内の少なくとも1つのノードを絞り込み、絞り込んだノードを包含する絞り込み後のグラフを生成する。プロセッサは、グラフの各絞り込みについて真のコストCtおよび見かけのコストCaの計算、それらの間の差Dの決定、および差Dとあらかじめ決定済みの閾値εの比較を、Dがεより小さくなるまで反復的に継続する。
【0023】
TSPモデルは、次に述べるとおり、4つの主要な変形を含む。対称TSP(symmetric TSP,STSP)は、N個のノードについての無向グラフGを伴い、このグラフは、エッジ(ライン)が実数値コストを持ち、+∞(正の無限大)のコストが許容される。STSP問題は、合計コストが最小となる「巡回」を見つけ出すことにあり、それにおいて巡回(ハミルトン閉路(Hamiltonian Circuit)とも呼ばれる)は、グラフの各ノードを正確に一度だけ訪問するノードX1,X2,...,XN,X1の「循環」シーケンスであり、巡回の合計コストは、対応するエッジの寄与を加算することによって計算される。
【0024】
ATSPはSTSPの変形であり、基礎をなすグラフGが有向であり、グラフの2つのノードaおよびbについて、エッジ(a,b)とエッジ(b,a)とが異なるコストを持っていてよい。
【0025】
一般対称TSP(Generalized Symmetric TSP)またはSGTSPは、エッジが実数値コストを持つN個のノードの無向グラフGを伴う。N個のノードを、M個の空でない共通の要素を持たないサブセット(クラスタと呼ばれる)へ分割することを考えると、目的は、各クラスタが正確に一度だけ訪問される最小合計コストを伴うM個のノードX1,X2,...,XM,X1の循環シーケンスを見つけることとなる。
【0026】
一般非対称TSP(Generalized Asymmetric TSP)またはGTSPは、SGTSPに類似であるが、グラフGが有向グラフである。理解されるものとするが、ここでGTSPを使用して説明する場合には、特に示さない限りは非対称GTSPを意味する。
【0027】
STSPは、しばしば単にTSPと示され、NP困難であることが知られているが、それのための効率的な厳密および近似ソルバの開発には多大な関心が存在し、それにおいては「効率」が、いわゆるTSPLIBライブラリに提供されるような大規模ベンチマーク例を解決するために要する時間によって測定される。
【0028】
ATSP、SGTSP、およびGTSPは、すべて、STSPへの単純な(たとえば、問題のインスタンスのサイズにおける多項式または線形増加)変換によってマップが可能である。たとえば以下に述べるとおり、2つの「変換器」(たとえば、メモリ内に記憶され、プロセッサによって実行されるプログラム)が採用される。このうち1つはGTSPからATSPへの変換のための変換器であり、もう1つはATSPからTSPへの変換のための変換器である。
【0029】
引き続き図1を参照するが、図2に、それぞれの「コスト」に従って0〜6がラベル付けされた複数のエッジを伴う第1の変換30を図解する。たとえばアプリゲート(Applegate)ほかの「The Traveling Salesman Problem: A Computational Study」Princeton UP、2006年、p.126を参照されたい。元の有向グラフ32の各ノードAは、変換された無向グラフ34の3つのノードA、A’、A”によって置換され、2つの「0コスト」のエッジが追加される。無向グラフの任意の巡回に中間ノードA’が存在しなければならないことから、0コストのエッジも存在しなければならない。またこのことが、たとえば、最初にコスト2のエッジを通り、続いてコスト5のエッジ(および、同様に「逆」方向に対応することになるあらゆるエッジのペア)を通る巡回を除外する。これは、その後その巡回がノードAに入射する3つのエッジを含む必要があり、それは不可能であるからである。したがって、無向グラフ34の任意の最適巡回は、元のグラフ32の最適巡回に対応する。
【0030】
図3は、いくつかのエッジへの大きな人工的な重みの導入を対価として、2つのノードを導入するだけで元のグラフの1つのノードを置換する利点を有する第2の変換50を図解している。元のグラフ52の各ノードX(たとえば、ノードA、B、およびC)が、ノードXおよびX’に複製され、大きな負の重み−KでXとX’とを接続し、元のグラフ内の有向エッジ(X,Y)のコストが変換後のグラフ54内のエッジ(X’,Y)上に再現される。Kが充分に大きい(たとえば、元のグラフ52内のすべての有限のコストの合計よりKが大きい)場合には、無向グラフ54内の任意の最適巡回が、ほかのいずれの構成より(X,X’)エッジを通ることを選択する。これらの(X,X’)エッジのうち1つでも通らないことがあれば、少なくともK単位分のコストを失うことを意味するからである。しかしながらこれは、変換後のグラフ54のノードの任意の最適巡回において、XとX’とが常に互いに隣り合い、XとYとの間またはX’とY’との間にリンクが存在しないことから、その種の巡回だけがX1,X’1,X2,X’2,...,XN,X’N,X1、またはX’1,X2,X’2,...,XN,X’N,X1,X’1という形式になることを意味し、これは、元のグラフ52における「方向の変更」を禁止する制約条件に対応する。
【0031】
図4は、GTSPをATSPに変換する変換70を図解している。たとえば、ヌーン(Noon)ほかの「An efficient transformation of the generalized traveling salesman problem」INFOR31(1993年)p.39〜44を参照されたい。この変換においては、元のグラフ74内のY1,...,Ykが与えられたクラスタ72のノードであり、XおよびZがほかのクラスタに属する任意のノードであると仮定する。変換後のグラフ76においては、図に示されるとおりに循環を形成するためにYi’の間にエッジ78が導入され、各エッジは大きな負のコスト−Kを有する。XからYiへ入るエッジはそのまま残され、YiからZへ出るエッジがその起点をYi−1に変更されている。すると、X,Yi,Zを通過する元のGTSP問題における実行可能な巡回は、変換後のグラフ76において最初にXを通り、続いてYi,Yi+1,...,Yk,...,Yi−1を通り、その後Zを通る巡回として「エンコード」される(このエンコードは元のコストから(k−1)Kを減じたコストを有する)。それに加えてKが充分に大きければ、変換後のATSPグラフのためのソルバが、可能な限り多くの−Kエッジを通り抜ける傾向を有することになり、これは、正確にk−1個のその種のエッジ、たとえばそのクラスタに関連付けされた1つのエッジを除くすべてを通り抜けることを意味する(その種のエッジすべてを通り抜けるとグラフ全体のための巡回を見つけることができなくなるため、ソルバがそれを行うことはない)。言い替えると、GTSP問題のいくつかの実行可能な巡回のエンコーディングである巡回を作り出すことになる。
【0032】
以下の例は、巡回セールスマン問題としてフレーズ−ベースのデコーディングを説明する。この例では、フランス語の文「cette traduction automatique est curieuse(この機械翻訳は奇妙である。)」が英語に翻訳される。この文を翻訳のための関連するバイ−フレーズを次の表1に示す。
【表1】
【0033】
このモデルにより、次の翻訳が生成される。
h.mt.i.s → this machine translation is strange(この機械翻訳は奇妙である)
h.c.t.i.a → this curious translation is automatic(この好奇心旺盛な翻訳は自動である)
ht.s.i.a → this translation strange is automatic(この翻訳奇妙は自動である)
…
上記では、各翻訳を導くバイ−フレーズの順序付きシーケンスが、矢印の左側に示されている。そして、デコーディングは、GTSPとして、グラフのノードがすべての可能ペア(w,b)を表す態様で公式化される。ここで、wはソース文s内のソース単語であり、bはこのソース単語を含むバイ−フレーズである。ここでは、同じ単語タイプでも出現が異なれば異なる単語と考える。特別なバイ−フレーズb$=($,$’)が導入され、ここで、$(または$’)はソース(または目標)文の開始を示す特別なソース単語となり、かつ、ペア($,b$)に関連付けられる、対応する追加のグラフ・ノード$$=($,($,$’))が導入される。
【0034】
グラフ・クラスタは、共通のソース単語wを共有するグラフ・ノードのサブセットになり、ノード$$は、ソース単語$に関連付けされたクラスタ内の唯一のノードになる。グラフのノードMとNとの間における遷移のコストは、次のように定義される。Mが(w,b)の形式であり、Nが(w’,b)の形式であり、bが単一のバイ−フレーズで、wおよびw’がb内で連続する単語である場合、遷移コストは0である(遷移コストがない)。直観的に言えば、bの最初の単語の使用に一旦掛かり合えば、bによってカバーされるほかのソース単語に移動するための追加のコストはない。Mが(w,b)の形式であり、wがバイ−フレーズb内の「一番右のソース単語」であり、Nが(w’,b’)の形式であり、w’≠wがb’内の「一番左のソース単語」である場合、遷移コストは、バイ−フレーズbを選択した直後にバイ−フレーズb’を選択する実際のコストに対応する。ソース文から見ると、これはbのソース側を消費した後のb’のソース側の「消費」に対応し(ソース文内のそれらの相対的なポジションによらない)、目標側から見ると、これはbの目標側を生成した直後におけるb’の目標側の生成に対応する。
【0035】
遷移コストは、その場合、バイ−フレーズ・ライブラリ20(図1)内のbに関連付けされた静的コストを含むいくつかの寄与の和になる。このコストは、順方向および逆方向の条件付き確率、バイ−フレーズ内の目標単語の数、およびこれらの類(導入部分の説明を参照されたい)といった構成要素に対応する。「歪み」コストは、ソース単語wを消費した直後にソース単語w’を消費する選択に関連付けされる。w’がソース文内においてwに直接続く単語である場合には、このコストがゼロであり、bおよびb’の目標側の連続性がそれらの目標によって与えられる状況に対応する。そのほかの場合には、ソース文内のwおよびw’のポジションをpos(w)およびpos(w’)とするとき、(pos(w)+1−pos(w’))の絶対値としてコストが計算される。「言語モデル」のコストは、bの目標単語をもたらしたばかりの文脈において目標単語b’をもたらすコストである。バイグラム言語モデルが仮定される場合には、bおよびb’がわかるとすぐにこのコストをあらかじめ計算することが可能になる。というのも、これはbがそれの目標側に少なくとも1つの単語を含み、そのことがbの最後の目標単語を知った上でのb’の最初の目標単語の寄与の計算を可能にするからである。b’の2番目、3番目等々の目標単語については、b’のみを基礎として寄与が計算される。注意されたいが、このバイグラム・モデルの制限は、ここで論じられているほかの手法を使用して克服できる。
【0036】
バイ−フレーズbおよびb’のうちの1つが$$に等しい場合においては、以前の寄与の簡単な適応を容易に実行することができる。ほかのすべての場合には遷移コストが無限となり、換言すればMとNの間のグラフ内にエッジが存在しない。
【0037】
図5は、既存のエッジのサブセット、すなわちノードtraduction−mtに入るか、または出るすべてのエッジ82だけが示された、ソース文「cette traduction automatique est curieuse」についての遷移グラフ80を図解している。注意を要するが、traduction−mtの唯一の後続ノードはautomatique−mtであり、cette−htは、traduction−mtの先行ノードでない。それに代えて、automatique−mおよびautomatique−aからtraduction−mtにエッジを引くことは可能であるが、その種のエッジは、実際のところ、traduction−mtからの唯一の出口がautomatique−mtであり、このノードがそれのクラスタ内のほかのノードと排他であることから、横切ることができない。
【0038】
図6Aおよび図6Bは、示された2つの出力に対応する2つのGTSP巡回を図解している。図6Aにおいては、巡回90が、結果として出力h.mt.i.sをもたらす。図6Bにおいては、巡回92が、結果として出力ht.s.i.aをもたらす。
【0039】
上述の図面に関して述べたモデルは、一般TSPの非対称バージョンに対応する。この再公式化を前提とすると、追随可能ないくつかのストラテジが存在し、GTSP用に特別に設計されたアルゴリズムを使用してもよいし、GTSPをATSPに変換し、ATSP用に設計されたアルゴリズムを使用してもよいし、かつ/またはATSPをSTSPに変換し、STSP用に設計されたアルゴリズムを使用してもよい。各オプションは、それぞれ独自の利点および欠点を有する。コンコード(Concorde)ソルバ(たとえば、www.tsp.gatech.edu/concorde参照)等の既存の効率的なTSP用のソルバが使用される場合には、STSP公式化が採用される。しかしながらATSPがSTSPに変換される場合には、TSPグラフ内の頂点の数が2倍になる。さらにまたGTSPからATSPへの経路は、より一般的な公式化が採用されることから非能率の潜在的原因である。したがって、コンコード・テクニックとともにSTSP再公式化を使用することが望ましい。
【0040】
別の重要な要因は、厳密な解が望ましいか、または近似解で充分とし得るか、ということである。STSPの場合においては、厳密な解法(たとえば、コンコード・ソルバ)を採用すること、または近似アルゴリズム(たとえば、リン・カーニハン(Lin−Kernighan)のヒューリスティック)を使用することができる。
【0041】
言語モデルがバイグラム・タイプである場合、説明してきたモデルは重要な「マルコフの」性質、すなわち経路のコストは、その経路上の2つの連続するノードの間における遷移のコストに関する加法であるという性質を有する。図6Aにおいて、翻訳候補「this.machine translation.is.strange」のコストは、単語「is」に関する単語「strange」の条件付き確率を考慮に入れるだけでよく、単語「translation」および「is」に関しては考慮しなくてよい。
【0042】
別の実施態様においては、モデルの性能が、バイグラム言語モデルの使用から、3−グラム言語モデル等のより強力なn−グラム言語モデルの使用に拡張され、いくつかのアプローチを適用することができる。第1のアプローチは、少なくとも2つの単語の目標側を有するバイ−フレーズだけを保持するために、目標側が1つの単語だけを含むすべてのバイ−フレーズを「編集により除外(compiling out)」することを包含する。この態様においては、2つのバイ−フレーズbおよびb’の目標側が連結されるとき、bが少なくとも2つの単語を含むことから、トリグラム言語モデルが、bに関するb’の寄与の計算に充分な文脈を有する。適正な機能を保証するためにバイ−フレーズの概念の拡張を採用し、ここでバイ−フレーズの順序付きシーケンス
【数2】
として拡張バイ−フレーズを定義する。ここで、k≧1であり、各
【数3】
または、各
【数4】
は、ソース単語または目標単語のリストである。k=1の場合には、この手法はバイ−フレーズのオリジナルの概念に戻る。ソース文sの翻訳のための概念の解釈は、オリジナルの場合といくらか異なる。つまり、それぞれの個別の
【数5】
内のトークンは、s内において連続的にマッチングされる必要があるけれども、
【数6】
が連続的にマッチングされることは必要ないし、あるいは、sの内側におけるその順序でのマッチングさえ必要ない。これに対して目標側においては、
【数7】
内のトークンは、連続的に、かつその順序で作られる。この概念の下に、前述と同じ可能バイ−フレーズの表を使用して、次に示す拡張バイ−フレーズmti、ti、およびsiが提供される。
【0043】
mti=[mt.i]=[(traduction automatique,machine translation).(est,is)]
ti=[t.i]=[(traduction,translation).(est,is)]
si=[s.i]=[(curieuse,strange).(est,is)]
【0044】
これらを使用して、次に示す翻訳を生成することができる。
[h].[mt.i].[s]→this machine translation is strange
[h].[c].[t.i].[a]→this curious translation is automatic
[ht].[s.i].[a]→this translation strange is automatic
【0045】
翻訳プロセスのオリジナルのアカウントと現在のそれの間の主要な相違は、拡張バイ−フレーズが、ユニットのシーケンスを通じて以前に達成できたものを単一のユニットの下にカプセル化することである。GTSPグラフとしての翻訳プロセスのエンコードについては、それが簡単になり、グラフのノードがこの場合はペア(w,b)であり、それにおいてwはソース文の単語、bは拡張バイ−フレーズ、クラスタは同一のwを有するノードのサブセットである。オリジナルの規則に対する拡張によって、wが
【数8】
の最初の単語であり、形式
【数9】
であるノードに入るグラフ内の経路は、それが拡張バイ−フレーズbを「離れる」(この時点において実際の選択、すなわち次の拡張バイ−フレーズの選択がある)前に、
【数10】
のすべての単語を順番に通り、続いて
【数11】
のすべての単語を通り、同様に繰り返して最後に
【数12】
のすべての単語を通らなければならない。拡張バイ−フレーズ
【数13】
の「内側の」コストは、
【数14】
から
【数15】
等のように遷移するときに生じるであろうコスト(歪みコストを含む)を加算することによって事前編集できる。概して言えば、基本バイ−フレーズの構成要素にわたって対応する経路を考慮することにより生じるコストを「回収する」ことによって拡張バイ−フレーズにわたる経路のコストを計算することは簡単である。
【0046】
バイグラム言語モデルからトリグラム言語モデルへの移動の問題に戻るが、バイ−フレーズ・ライブラリから単一単語の目標を有するバイ−フレーズiを取り除くステップ、および拡張バイ−フレーズmti、ti、si等々(たとえば、ライブラリ内のバイ−フレーズのiとの連結からなるすべての拡張バイ−フレーズ)をライブラリに追加するステップが実行される。これらの拡張バイ−フレーズは、すぐ次にもたらされる目標単語(与えられている例においては、それぞれ単語「strange」、「automatic」、および「automatic」)についてのトリグラム確率を計算する充分な文脈を提供する。これらのステップが、iと類似の、すなわち単一単語の目標を有する(手元のソース文に適切な)すべてのバイ−フレーズについて網羅的に実行されると、各ポイントにおいてトリグラム言語モデルの計算を可能にする表現が得られる。
【0047】
図7は、バイ−フレーズ「i」だけが取り除かれた、現在は「i」をカプセル化している拡張バイ−フレーズのいくつかだけがグラフを通る1つの有効な回路または巡回を定義するエッジ102を伴って示されているグラフ100を図解している。気付かれるであろうが、mtiが充分に大きな目標文脈を提供することから、2つのノード(est,mti)および(curieuse,s)を接続するエッジが、ここでトリグラムのコストp(strange|translation is)に関連付けされる。
【0048】
図8は、選択的なオンデマンド絞り込みを伴う第2のアプローチを図解している。今述べたばかりの網羅的な「編集により除外」する方法は、基本的に有効であるが、翻訳されるべき文についてm個の関連するバイ−フレーズがあり、そのうちのk個が単一単語の目標を有している場合には、k.m個の拡張バイ−フレーズが作られ、kがmに関して大きくなれば直ちにTSPソルバについての有意のオーバーヘッドを表すおそれがある。この効果は、編集により除外する方法がn>3を伴うnグラム言語モデルに拡張されると悪化することがある。
【0049】
この効果を緩和するために、第2のアプローチは、2つの構成要素を有する選択的絞り込みを使用する。第1の構成要素は、何らかの広い評価基準(長さ1の目標側を有する等)に関してすべてのノードの文脈を絞り込むのではなく、グラフ内の選択されたノードの文脈を絞り込む能力である。その種の絞り込みは、グラフ内のノードの少数派のためのトリグラム文脈を提供するが、残りのノードについてはバイグラム文脈だけとなる。第2の構成要素は、その種の絞り込みのための最適TSP解と、グラフ内のすべてのノードについてトリグラム文脈が使用された場合に到達する「真の」最適解との間の結合不等式の維持からなり、真の最適解への絞り込みプロセスの収斂を保証する。
【0050】
したがって図8に、GTSPグラフ110の選択的絞り込みを図解する。GTSPグラフ110において、a、b、およびcはグラフ内の、異なるクラスタに属するノードであり、ノードbに出入りするエッジ(ノードを接続するライン)のうちのいくつかが示されている。それに加えて、各エッジについてのコストまたは重みが、α、β、γ、δ、η、およびθとラベル付けされて示されている。変換後のGTSPグラフ112においては、ノードbが、bと同じクラスタに属する(したがって、相互に排他的な)2つの「クローン」ノードb1およびb2に置き換えられ、bのすべての点に関してまったく等しいが、異なる入射エッジを有し、aに関する入射エッジ(そのうちの1つだけが示されている)は変化しないが、新しくcに到来するエッジが追加されている。ここではノードb1を「aの直接の後続ノードであるという文脈におけるb」として解釈することが可能であり、b2は「そのほかの任意の文脈におけるb」として解釈される。
【0051】
この変換において注意する最初の性質は、コストβ1およびβ2がβに等しいと仮定された場合に、変換後のグラフ112が1つのノードおよび3つのエッジをオリジナルより多く有するが、注意深い観察によってわかるとおり、最適巡回は正確に同じであり、同一のコストを伴うことである。しかしながらここでは、b1(またはb2)がaの直接の後続ノードである(または、直接の後続ノードでない)という文脈に特化され、したがってこれらの特化された文脈が、この追加の知識に関してコストβ1およびβ2をより良好に定義するために利用される。特に、この変換がSMTの状況に適用されるとき、β1はaに関連付けされた目標単語を承知しており、cの最初の目標単語を条件付けするためにトリグラム言語モデルを利用することを可能にする。
【0052】
GTSPグラフを前提として、グラフに関する良好に形成された巡回τが考慮される。GTSPグラフのエッジに対して与えられる重みに従って、τが特定のコスト、すなわち見かけのコストを有する。何らかの外部測定に従って、同一の巡回τが異なるコスト、すなわち真のコストを実際に有することがある。この状況の例は、GTSPエッジが言語モデルのためのバイグラム・コストを持つが、真のスコアはトリグラムの知識に従って計算されるべきであるときに生じる。より一般的に言えば、巡回の真のコストは、グラフのエッジに局所的な重みによって計算可能であるより、いくぶん局所的でない巡回の性質に依存し得る。
【0053】
GTSPグラフのエッジに関するコストは、グラフに関して任意の良好に形成された巡回τについて、巡回の見かけのコストが真のコストより小さいか、またはそれに等しい場合に限って「楽観的(optimistic)」と定義することができる。「楽観(optimism)」の概念は、ツリー・サーチにおける許容可能なヒューリスティック(たとえばA*)の概念と何らかの類似性を有し、その場合においては「現実性のある」楽観的エッジのコストが注目される。標準サーチ・ヒューリスティクスは、サーチ・ツリーの拡張における局所的な決定を得るために使用されるが、ここで述べているヒューリスティック手順は、問題グラフのより一層正確な明細の反復的な提供に焦点を当てつつ、TSPソルバの「注意」が焦点されるグラフの部分を強調し、続いて「グローバル」TSPソルバに現在の最良の見かけの解を見つけさせる。この概念を踏まえて、実行される一般的な手順を、次に図9Aおよび図9Bに関して説明する。
【0054】
図9Aは、巡回セールスマン問題としてフレーズ−ベースの統計的機械翻訳を実行するための方法を図解している。120においてSMTがGTSPとして定義され、GTSPグラフが生成される。122においては、ソース文に整合するバイ−フレーズが検索され、検索されたバイ−フレーズは、それぞれGTSPグラフ内のノードに対応する。各バイ−フレーズは、第1の言語のフレーズ(たとえば、入力された文の言語において、入力またはソース文内のフレーズに整合するフレーズ)および第2の言語のフレーズ(たとえば、第2のまたは目標言語に翻訳された入力フレーズ)を含む。124においてはGTSPが解かれる。バイ−フレーズが、GTSPの解の関数として選択され、126において、選択されたバイ−フレーズの目標または第2の言語のフレーズが、GTSPの解によって定義された順序で出力される。
【0055】
1つの実施態様においては、GTSPを解くことは、GTSPをATSPに変換すること、ATSPを標準TSPに変換すること、およびTSPを解決して入力文のブロックを翻訳することを含む。TSPの解決は、コンコード・ソルバまたはリン・カーニハンのヒューリスティックまたはこれらの類を使用して実行される。
【0056】
図9Bは、巡回セールスマン問題としてフレーズ−ベースの統計的機械翻訳を実行するための代替または追加の方法を図解している。130において、それの巡回の真のコストに関して楽観的なGTSPグラフG0の初期仕様が、i=0となるように初期化される。グラフ内のノードは、セグメント化された文のブロックに関連付けされたバイ−フレーズを定義する。132においては、GTSPソルバ・アプリケーション(たとえば、図1のTSPソルバ23)が起動され、このグラフに関する最適巡回τi(または、近似ソルバが使用される場合にはその種の最適巡回の近似)が獲得される。134においては、τiの真のコストが(たとえば、τiのすべてのエッジが既知であることから)計算される。Giが楽観的であることから、Giに関する真のコストは、τiの見かけのコストCaより大きくなる。136においては、見かけのコストと真のコストの間の差Dがあらかじめ定義済みの閾値εより小さいか否かに関しての判定が行われる。
【0057】
これら2つのコストの間の差Dが特定の閾値εより小さい場合には解τiが出力され、138においてこの方法が終了する。そうでなければ140においてGiの少なくとも1つのノード、特に、τi上に(可能性としては、ほかのいくつかにも)現れている特定のノードが、図7の原理に従って絞り込まれる。この種の絞り込みの間はグラフGiが楽観的にとどまるが、より厳しい値が、βによって提供されたβ1およびβ2のために提供される。すなわち、β1>β等の制約が提供され、かつ可能性としてβ2>β等の制約も提供される。142においては、絞り込みの結果として新しいグラフGi+1が獲得される。方法は134に戻るが、i:=i+1を伴う。
【0058】
この図9Bの方法は、いくつかの重要な性質を有する。たとえば、任意の反復において、τiの見かけのコストは、元のグラフにおける真の最適巡回τtrueの新のコストの下限になる。真の最適巡回τtrueは、すなわち、すべての巡回の真のコストにわたって真のコストが最小となる巡回である。厳密TSPソルバの場合においては、true_cost(τ)≧true_cost(τtrue)であり、すべての巡回τについて(τtrueの定義により)、true_cost(τtrue)≧apparent_cost(τi)である。なぜなら、τiは、すべての巡回のコストの楽観的仕様より最適であり、特にtrue_cost(τtrue)≧apparent_cost(τtrue)≧apparent_cost(τi)であるからである。
【0059】
Giおよびτiにおいてアルゴリズムが終了するときは、apparent_cost(τi)+ε≧true_cost(τi)である。したがって、apparent_cost(τi)+ε≧true_cost(τi)≧true_cost(τtrue)≧apparent_cost(τi)である。言い替えると、反復の間に見つけられた巡回τiは、真の最適巡回のそれと無視できる程度に異なる真のコストを伴った真の最適巡回の近似である。
【0060】
アルゴリズムの終了特性については、有限数の絞り込みしか存在しないためにグラフを無限に絞り込むことが不可能であること、および与えられた巡回におけるノードが充分に絞り込まれるとき、巡回の見かけのコスト(β1およびβ2等の絞り込まれた重みに依存する)がそれの真のコストに等しくなることという2つの要因に依存する。
【0061】
図9Aおよび図9Bに図解されている方法は、ここに述べられているほかの手法またはアルゴリズムに加えて、コンピュータ上において実行できるコンピュータ・プログラム製品として実装できる。コンピュータ・プログラム製品は、ディスク、ハード・ドライブ、またはこれらの類といった、コントロール・プログラムが記録されたコンピュータ可読記録媒体(たとえばメモリ13)とすることができる。一般的な形式のコンピュータ可読媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブル・ディスク、ハードディスク、磁気テープまたは任意のそのほかの磁気記憶媒体、CD−ROM、DVDまたは任意のそのほかの光学媒体、RAM、PROM、EPROM、FLASH−EPROMまたはそのほかのメモリ・チップまたはカートリッジまたは任意のそのほかの、コンピュータによる読み出しおよび使用が可能な有体の媒体を含む。それに代えてこの方法を、たとえば無線波および赤外線データ通信の間に生成されるような音響または光の波等の送信媒体およびこれらの類を使用するデータ信号としてコントロール・プログラムが埋め込まれる送信可能な搬送波内において実装することができる。
【0062】
例示的な方法は、1つまたは複数の汎用コンピュータ、専用コンピュータ(1つまたは複数)、プログラムされたマイクロプロセッサまたはマイクロコントローラおよび周辺集積回路要素、ASICまたはそのほかの集積回路、デジタル信号プロセッサ、ハードワイヤード電子または論理回路、たとえばディスクリート素子回路、PLD、PLA、FPGA、グラフィック・カードCPU(GPU)、またはPALといったプログラマブル論理デバイス、またはこれらの類の上において(たとえば、プロセッサ12により)実装できる。概して言えば、有限状態マシンの実装が可能であり、続いてそれが図9Aおよび図9Bに示されたフローチャートを実装できる任意のデバイスを、GTSPモデルを使用するフレーズ−ベースのSMTを実行するための方法の実装に使用することが可能である。
【0063】
図10は、トリグラム言語モデルを使用してフレーズ−ベースの翻訳を実行するためのグラフ150を図解している。認識されることになろうが、同じアプローチを4−グラム、5−グラム等々に簡単に適用することができる。トリグラム言語モデルは、単語zが2つの単語xおよびyに続く確率p(z|xy)の評価を提供する手順を容易にする。1つの実施態様においては、言語モデルがすべての3成分要素(x,y,z)を、それらの確率とともに内部的に記憶する。別の実施態様においては、言語モデルが、明示的に特定のトリグラム、バイグラム、およびユニグラムのためのコーパス・カウントを記憶し、それらのテーブルからp(z|xy)の計算のためにスムージング手法を頼る。
【0064】
このアプローチは次のとおりとなる。p(z|xy)を考慮して目標言語モデルについてのグラウンド・トゥルースが提供される一方、初期グラフのすべてのエッジにトリグラム・コスト
【数16】
がラベル付けされる必要はない。しかし、むしろいくつかのエッジ(ノードが目標側に1つの単語だけを有するエッジ(a,b))に、次のとおりに定義される「バイグラム・プロクシ」bi(z|y)をラベル付けすることができる。
【数17】
言い替えると、プロクシbi(z|y)は、yに先行し得る単語xに関して最大限に楽観的なyとzの間における遷移のコストのための評価である。ここで最小(min)は、翻訳されるべき特定の文に関係するxに関して求められる。たとえば、その文を翻訳するためのバイ−フレーズの最後の目標単語と同一のxに関して求められ、語彙内のすべての可能な単語xに関して求められることはない。注意を要するが、p(z|y)がp(z|xy)から導かれたバイグラム言語モデルを表すとき、bi(z|y)=−log p(z|y)は概して真にならず、したがってbi(z|y)は、その用語の通常の意味におけるバイグラム確率を表さない。
【0065】
したがって、図10のグラフ150は、図5とまったく同じGTSPグラフを伴って開始することによって獲得され、それにおいてエッジ上の言語モデルのコストは、それらのエッジ上で得られる文脈を前提として可能な限り特定的であり、言い替えるとそれらは、先行するバイ−フレーズに応じてtri(z|xy)の形式またはbi(z|y)の形式のいずれかとなる。特定の巡回のためのすべてのエッジが示され、それに加えて説明の焦点が当てられるノードest−i上の入射エッジが略式に(破線で)示されたグラフ150によって一例を示す。
【0066】
TSPソルバが起動され、特定のバイ・コストだけでなくいくつかのトリ・コストも使用して見かけの最適巡回が獲得される。グラフ150内の巡回の真のコストが、すべての真のトリグラム・コストtri(this|$ $)、tri(machine|$ this)、tri(translation|this machine)、tri(is|machine translation)、tri(strange|translation is)、およびtri($|is strange)の計算を伴って計算される。真のコストは(より小さい)見かけのコストと比較され、その差がεより小さければ、それ以上の動作がとられる必要はない。
【0067】
図11は、図7および図9に関して述べた手順を使用し、差がεより大きいか、または等しい場合に得られる、識別された巡回上のノードの少なくとも1つの3成分要素(a,b,c)に適用されるグラフ160を示している。たとえば、図7の手順を、(a,b,c)=(automatique−mt,est−i,curieuse−s)とともに適用してグラフ160を得ることが可能であり、それにおいてcurieuse−sにest−i−1をリンクしているエッジ上には、そのエッジのトリ・コストの計算に充分な文脈が存在する。注意を要するが、bi(strange|is)は、est−i−2をcurieuse−sにリンクしている破線のエッジ上に保持されるが、automatique−mtを除外し、est−i−2に先行できるノードにわたって最小化することによるコストの再計算によって、わずかにより厳しい結合を得ることができる。
【0068】
グラフ160が獲得されると、TSPソルバが、再起動されて手順が反復的に実行される。新しい見かけの最適巡回がエッジ(est−i−1,curieuse−s)を含むときは常に、このエッジのコストが以前のものより正確になる。単に、各反復時に見かけの最適巡回において1つの3成分要素だけを絞り込むことからなるアプローチは、いずれかのポイントで終了する。そうでなければ、いずれかのポイントにおいて、見かけの最適巡回において、必然的に、すべてのエッジがトリ・コストを持つことになり、したがってその見かけのコストが真のコストに等しくなり、そしてε閾値の評価基準を満たすことになるためである。
【0069】
これは、アルゴリズムの収斂の形式的な証明を提供するが、変換されたグラフがコストの真の状態をより迅速に「模する」ためには、各反復において、単一の3成分要素より多くを絞り込むほうがより効率的なことがある。認識されるであろうが、その種のアプローチのすべての可能な変形および/または組み合わせは、この説明の範囲内となることが意図されている。しかしながら、単純な方法は、現在の見かけの最適巡回上に現れるすべての3成分要素(a,b,c)を絞り込むことである(ソース文の長さがnであれば、多くともnのその種の絞り込みを行うことが可能である)。上述した編集により除外する手法は、すべてのトリグラムの網羅的な絞り込みに対応し、したがって選択的な絞り込み手法で行うことが可能な1つの極端な場合であることに注意を要する。
【0070】
この態様においては、SMTの状況で起こりがちなように、新しい見かけの巡回がいくつかの下位経路を以前の見かけの巡回と共有する場合に、それらの経路に関する絞り込み済みの知識を利用することになる。注意されたいが、たとえ以前の巡回においてε閾値条件が満たされていない場合であっても、新しい巡回が実際に以前の巡回とまったく同じであることが可能であり、これは言語モデルのコスト以外のコストが、この経路上におけるバイ・コストからトリ・コストへの移動に関連付けされる補償より大きくなり得ることによる。
【0071】
以上の説明はトリグラムの扱いに焦点を当てたが、選択的絞り込みのアプローチがnグラム(nは整数)に拡張できることは容易に理解される。このアプローチは、トリグラム、4−グラム等々のための拡張された状況の提供に採用可能であり、方法は、巡回のいくつかの部分の言語モデルのコストを絞り込むことが、ほかのすべてのSMT制約を前提に巡回の最適性を先細りにしない限り効果的である。
【符号の説明】
【0072】
10 システム、12 プロセッサ、13 メモリ、14 ユーザ・インターフェース、15 入力文、17 翻訳済みデータ、19 言語モデル、20 バイ−フレーズ・ライブラリ、22 GTSPグラフ、23 GTSPソルバ、24 厳密ソルバ・アルゴリズム、25 近似ソルバ・アルゴリズム。
【技術分野】
【0001】
この出願は、コンピューティング・システム内における統計的機械翻訳(statistical machine translation,SMT)に関する。ここで述べる手法は、このほかの翻訳システム、このほかの統計的マッピング応用、および/またはこのほかの翻訳方法の中にも応用を見つけることができることを理解されたい。
【背景技術】
【0002】
統計的機械翻訳(SMT)に対する古典的アプローチは、「バイ−フレーズ(bi−phrases)」を伴う。「バイ−フレーズ」とは、ソース言語および目標言語の表現またはフレーズのペアであり、この表現またはフレーズのペアは、ソース文から目標(すなわち、翻訳された)文を構成するためのビルディング・ブロックを形成する。
【0003】
N−グラム(N−gram)言語モデルは、シーケンス内の次の項目を予測するための確率論的モデルの一種である。N−グラムは、統計的自然言語処理および遺伝子配列の分析の多様な分野において使用されている。N−グラムは、与えられたシーケンスからのn個の項目のサブシーケンスである。懸案の項目は、音素、音節、文字、単語、塩基対等々とすることができる。
【0004】
与えられたソース文Sを翻訳するために、古典的なフレーズ・ベースのSMTシステムは、次の形式の対数−線形モデル(log−linear model)を用いる。
【数1】
ここで、hkは、「特徴」であり、ソース文字列s、目標文字列t、および配列aの関数である。配列aは、ソース文字列sから目標文字列tを組み立てるのに用いられる、バイ−フレーズのシーケンスの表現である。λkは、重みであり、Zsは、p(t,a|s)がペア(t,a)について適正な条件付き確率分布となることを保証する正規化因子である。
【0005】
一旦、対数−線形モデルが定義されてしまえば(トレーニング段階を伴う;たとえば、参照によりこれに援用される非特許文献1を参照されたい)、デコーダの役割は、条件付き確率p(t,a|s)を最大化するペア(t,a)を見つけること、および対応する目標文字列tを出力することになる。
【0006】
古典的なシステムは、ヒューリスティックな左から右へのサーチの何らかの変形に基づいており、これは、各ステップにおいて、新しいバイ−フレーズを用いて現在の部分翻訳を拡張しつつ、かつ2つのスコア、すなわちこれまでの部分翻訳の既知の要素についてのスコア、および翻訳を完了するための残りのコストのヒューリスティックな評価を計算しつつ、左から右へと漸増的に候補翻訳(t,a)の組み立てを試みる。もっとも頻繁に使用される変形は、いくつかの部分的な候補が並列に維持され、現在の評価が低すぎる候補が取り除かれて、より有望な候補を選ぶビーム−サーチの形式である。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】ロペズ・A(Lopez,A.)著、2008.Statistical Machine Translation.ACM Comput.Surv.40,3(2008年8月)、p.1−49
【発明の概要】
【発明が解決しようとする課題】
【0008】
左から右へのヒューリスティックなサーチによる翻訳を行う従来技術では、サーチの早い段階で生じる誤った選択から過剰な影響を受けることがあり、早い段階での誤りから回復することは困難であり得る。
【課題を解決するための手段】
【0009】
グラフ内のノードとしてバイ−フレーズをモデリングすることによってバイグラム(または、より高いN−グラム)言語モデルを組み込むフレーズ−ベースのモデルのためのSMTを容易にするシステムおよび方法を述べる。たとえば、統計的機械翻訳(SMT)および一般非対称巡回セールスマン問題(generalized asymmetric traveling salesman problem,GTSP)のグラフを使用して2つの言語を翻訳する方法は、GTSPとしてSMTを定義するステップと、GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して入力文のブロックを翻訳するステップと、GTSPを解決するステップと、GTSP解決によって定義される順序で翻訳されたブロックを出力するステップと、を包含する。
【図面の簡単な説明】
【0010】
【図1】GTSPアプローチを使用して言語間の翻訳において使用するためのグラフを生成する、フレーズ−ベースのSMTを実行するためのシステムを図解したブロック図である。
【図2】それぞれの「コスト」に従って0〜6がラベル付けされた複数のエッジを伴う非対称TSP(asymmetric TSP,ATSP)を標準TSPに変換するための第1の変換を図解した説明図である。
【図3】ATSPを標準TSPに変換するための第2の変換を図解した説明図である。
【図4】GTSPをATSPに変換する変換を図解した説明図である。
【図5】既存のエッジのサブセット、すなわちノード「traduction−mt」に入るか、または出るすべてのエッジだけが示された、ソース文「cette traduction automatique est curieuse」についての遷移グラフを図解した説明図である。
【図6A】1つの出力に対応するGTSP巡回を図解した説明図である。
【図6B】他の1つの出力に対応するGTSP巡回を図解した説明図である。
【図7】バイ−フレーズ「i」だけが取り除かれたグラフであって、現在は「i」をカプセル化している拡張バイ−フレーズのいくつかだけがグラフを通る1つの有効な巡回を定義するエッジを伴って示されているグラフを図解した説明図である。
【図8】選択的なオンデマンド絞り込みを図解した説明図である。
【図9A】TSPとしてフレーズ−ベースの統計的機械翻訳を実行するための方法を図解したフローチャートである。
【図9B】TSPとしてフレーズ−ベースの統計的機械翻訳を実行するための代替方法を図解したフローチャートである。
【図10】トリグラム言語モデルを使用してフレーズ−ベースの翻訳を実行するためのグラフを図解した説明図である。
【図11】差がεより大きいか、または等しい場合に得られるグラフを図解した説明図である。
【発明を実施するための形態】
【0011】
グラフ内のノードとしてバイ−フレーズをモデリングすることによってフレーズ−ベースのSMTを容易にするシステムおよび方法を述べる。ここで使用するときの「グラム」は、単語を意味するものであり、バイグラム言語モデルは2語のグループを採用し、トリグラム言語モデルは3語のグループを採用し、以下同様とする。
【0012】
このシステムおよび方法においては、バイ−フレーズが、グラフ内のノードとしてモデル化される。それに加えて翻訳の構成が、グラフ内のノードの間の「巡回」、すなわち各ノードを正確に一度だけ訪問する経路としてモデル化される。巡回の全体的なコストが、その巡回の間に通り抜けたエッジに関連付けされたコストを加算することによって計算される。
【0013】
したがって、ここで述べるシステムおよび方法は、SMT問題をGTSP問題に直接マップし、GTSPとしてフレーズ−ベースの翻訳を表現する。
【0014】
図1を参照すると、GTSPアプローチを使用してフレーズ−ベースのSMTの実行を容易にするシステム10が図解されている。このシステムは、ここで述べる多様な手法、方法、応用、アルゴリズム等を実行するためのコンピュータ実行可能命令を実行するプロセッサ12およびそれらの命令を記憶するメモリ13を含む。
【0015】
メモリ13は、コンピュータ上で実行できるコンピュータ・プログラム製品を包含し得る。コンピュータ・プログラム製品は、コントロール・プログラムが記録されたコンピュータ可読記録媒体(たとえばメモリ13)であってよく、例えば、ディスク、ハード・ドライブ、またはこれらと同種のものであってよい。一例によれば、ここで述べる手法は、1つまたは複数の汎用コンピュータ、専用コンピュータ(1つまたは複数)、プログラムされたマイクロプロセッサまたはマイクロコントローラおよび周辺集積回路素子、ASICまたはそのほかの集積回路、デジタル信号プロセッサ、ハードワイヤードの電子または論理回路、たとえばディスクリート素子回路、プログラマブル論理デバイス、たとえばPLD、PLA、FPGA、グラフィック・カードCPU(GPU)、またはPAL、またはこれらの類の上で実装することができる。
【0016】
システム10は、さらに、ユーザがシステムによる翻訳のための入力文15を入力することができるユーザ・インターフェース14を包含している。入力文15は、コンピュータ実行可能アルゴリズム(1つまたは複数)を使用してプロセッサ12によって処理され、オプションとして、翻訳済みデータ17(たとえば、翻訳された文)がユーザ・インターフェース14に出力されるまで、1つまたは複数の中間データ段階を通過する。
【0017】
メモリ13は、さらに、入力文15を翻訳するための多様な構成要素(たとえば、コンピュータ実行可能インストラクションまたはその類)を記憶する。それに加えて、あらかじめ生成済みのバイ−フレーズがバイ−フレーズ・ライブラリ20内に記憶される。
【0018】
翻訳のための入力文を受け取ると、プロセッサ12は、入力文と両立するバイ−フレーズをバイ−フレーズ・ライブラリ20から検索するとともに、言語モデル19にもアクセスし、検索したバイ−フレーズおよびその言語モデルを利用してGTSPグラフ22を組み立てる。
【0019】
GTSPグラフ22のノードを通る最適巡回を生成するために、プロセッサは、厳密ソルバ・アルゴリズム24、近似ソルバ・アルゴリズム25等々のうちの1つまたは複数であり得るTSPソルバ23を実行する。
【0020】
システム10は、GTSPグラフ22を入力文15に適用することによって入力文のフレーズ−ベースの統計的機械翻訳(phrase based statistical machine translation,PBSMT)を容易にする。プロセッサ12は、GTSPとしてPBSMTタスクを定義する。プロセッサは、入力文と矛盾のない1つまたは複数のバイ−フレーズをバイ−フレーズ・ライブラリ20から検索し、それぞれがバイ−フレーズに対応する複数のノードを包含するGTSPグラフ22を生成する。TSPソルバ23が実行され、GTSPグラフ22の最適巡回が生成される。
【0021】
1つの実施態様においては、バイグラム言語モデルに代えてN−グラム言語モデル(2より大きいNを用いる)を使用するとき、プロセッサは、最適巡回の真のコストCt、最適巡回の見かけのコストCaを計算し、真のコストCtと見かけのコストCaの間の差Dを決定する。プロセッサは、Dがあらかじめ決定済みの閾値εより小さいとき、GTSPに対する解として最適巡回を出力し、出力されるGTSP解を使用して入力文を第1の言語から第2の言語へ翻訳する。
【0022】
プロセッサ12は、Dがあらかじめ決定済みの閾値εに等しいか、またはそれを超える場合に、GTSPグラフ22内の少なくとも1つのノードを絞り込み、絞り込んだノードを包含する絞り込み後のグラフを生成する。プロセッサは、グラフの各絞り込みについて真のコストCtおよび見かけのコストCaの計算、それらの間の差Dの決定、および差Dとあらかじめ決定済みの閾値εの比較を、Dがεより小さくなるまで反復的に継続する。
【0023】
TSPモデルは、次に述べるとおり、4つの主要な変形を含む。対称TSP(symmetric TSP,STSP)は、N個のノードについての無向グラフGを伴い、このグラフは、エッジ(ライン)が実数値コストを持ち、+∞(正の無限大)のコストが許容される。STSP問題は、合計コストが最小となる「巡回」を見つけ出すことにあり、それにおいて巡回(ハミルトン閉路(Hamiltonian Circuit)とも呼ばれる)は、グラフの各ノードを正確に一度だけ訪問するノードX1,X2,...,XN,X1の「循環」シーケンスであり、巡回の合計コストは、対応するエッジの寄与を加算することによって計算される。
【0024】
ATSPはSTSPの変形であり、基礎をなすグラフGが有向であり、グラフの2つのノードaおよびbについて、エッジ(a,b)とエッジ(b,a)とが異なるコストを持っていてよい。
【0025】
一般対称TSP(Generalized Symmetric TSP)またはSGTSPは、エッジが実数値コストを持つN個のノードの無向グラフGを伴う。N個のノードを、M個の空でない共通の要素を持たないサブセット(クラスタと呼ばれる)へ分割することを考えると、目的は、各クラスタが正確に一度だけ訪問される最小合計コストを伴うM個のノードX1,X2,...,XM,X1の循環シーケンスを見つけることとなる。
【0026】
一般非対称TSP(Generalized Asymmetric TSP)またはGTSPは、SGTSPに類似であるが、グラフGが有向グラフである。理解されるものとするが、ここでGTSPを使用して説明する場合には、特に示さない限りは非対称GTSPを意味する。
【0027】
STSPは、しばしば単にTSPと示され、NP困難であることが知られているが、それのための効率的な厳密および近似ソルバの開発には多大な関心が存在し、それにおいては「効率」が、いわゆるTSPLIBライブラリに提供されるような大規模ベンチマーク例を解決するために要する時間によって測定される。
【0028】
ATSP、SGTSP、およびGTSPは、すべて、STSPへの単純な(たとえば、問題のインスタンスのサイズにおける多項式または線形増加)変換によってマップが可能である。たとえば以下に述べるとおり、2つの「変換器」(たとえば、メモリ内に記憶され、プロセッサによって実行されるプログラム)が採用される。このうち1つはGTSPからATSPへの変換のための変換器であり、もう1つはATSPからTSPへの変換のための変換器である。
【0029】
引き続き図1を参照するが、図2に、それぞれの「コスト」に従って0〜6がラベル付けされた複数のエッジを伴う第1の変換30を図解する。たとえばアプリゲート(Applegate)ほかの「The Traveling Salesman Problem: A Computational Study」Princeton UP、2006年、p.126を参照されたい。元の有向グラフ32の各ノードAは、変換された無向グラフ34の3つのノードA、A’、A”によって置換され、2つの「0コスト」のエッジが追加される。無向グラフの任意の巡回に中間ノードA’が存在しなければならないことから、0コストのエッジも存在しなければならない。またこのことが、たとえば、最初にコスト2のエッジを通り、続いてコスト5のエッジ(および、同様に「逆」方向に対応することになるあらゆるエッジのペア)を通る巡回を除外する。これは、その後その巡回がノードAに入射する3つのエッジを含む必要があり、それは不可能であるからである。したがって、無向グラフ34の任意の最適巡回は、元のグラフ32の最適巡回に対応する。
【0030】
図3は、いくつかのエッジへの大きな人工的な重みの導入を対価として、2つのノードを導入するだけで元のグラフの1つのノードを置換する利点を有する第2の変換50を図解している。元のグラフ52の各ノードX(たとえば、ノードA、B、およびC)が、ノードXおよびX’に複製され、大きな負の重み−KでXとX’とを接続し、元のグラフ内の有向エッジ(X,Y)のコストが変換後のグラフ54内のエッジ(X’,Y)上に再現される。Kが充分に大きい(たとえば、元のグラフ52内のすべての有限のコストの合計よりKが大きい)場合には、無向グラフ54内の任意の最適巡回が、ほかのいずれの構成より(X,X’)エッジを通ることを選択する。これらの(X,X’)エッジのうち1つでも通らないことがあれば、少なくともK単位分のコストを失うことを意味するからである。しかしながらこれは、変換後のグラフ54のノードの任意の最適巡回において、XとX’とが常に互いに隣り合い、XとYとの間またはX’とY’との間にリンクが存在しないことから、その種の巡回だけがX1,X’1,X2,X’2,...,XN,X’N,X1、またはX’1,X2,X’2,...,XN,X’N,X1,X’1という形式になることを意味し、これは、元のグラフ52における「方向の変更」を禁止する制約条件に対応する。
【0031】
図4は、GTSPをATSPに変換する変換70を図解している。たとえば、ヌーン(Noon)ほかの「An efficient transformation of the generalized traveling salesman problem」INFOR31(1993年)p.39〜44を参照されたい。この変換においては、元のグラフ74内のY1,...,Ykが与えられたクラスタ72のノードであり、XおよびZがほかのクラスタに属する任意のノードであると仮定する。変換後のグラフ76においては、図に示されるとおりに循環を形成するためにYi’の間にエッジ78が導入され、各エッジは大きな負のコスト−Kを有する。XからYiへ入るエッジはそのまま残され、YiからZへ出るエッジがその起点をYi−1に変更されている。すると、X,Yi,Zを通過する元のGTSP問題における実行可能な巡回は、変換後のグラフ76において最初にXを通り、続いてYi,Yi+1,...,Yk,...,Yi−1を通り、その後Zを通る巡回として「エンコード」される(このエンコードは元のコストから(k−1)Kを減じたコストを有する)。それに加えてKが充分に大きければ、変換後のATSPグラフのためのソルバが、可能な限り多くの−Kエッジを通り抜ける傾向を有することになり、これは、正確にk−1個のその種のエッジ、たとえばそのクラスタに関連付けされた1つのエッジを除くすべてを通り抜けることを意味する(その種のエッジすべてを通り抜けるとグラフ全体のための巡回を見つけることができなくなるため、ソルバがそれを行うことはない)。言い替えると、GTSP問題のいくつかの実行可能な巡回のエンコーディングである巡回を作り出すことになる。
【0032】
以下の例は、巡回セールスマン問題としてフレーズ−ベースのデコーディングを説明する。この例では、フランス語の文「cette traduction automatique est curieuse(この機械翻訳は奇妙である。)」が英語に翻訳される。この文を翻訳のための関連するバイ−フレーズを次の表1に示す。
【表1】
【0033】
このモデルにより、次の翻訳が生成される。
h.mt.i.s → this machine translation is strange(この機械翻訳は奇妙である)
h.c.t.i.a → this curious translation is automatic(この好奇心旺盛な翻訳は自動である)
ht.s.i.a → this translation strange is automatic(この翻訳奇妙は自動である)
…
上記では、各翻訳を導くバイ−フレーズの順序付きシーケンスが、矢印の左側に示されている。そして、デコーディングは、GTSPとして、グラフのノードがすべての可能ペア(w,b)を表す態様で公式化される。ここで、wはソース文s内のソース単語であり、bはこのソース単語を含むバイ−フレーズである。ここでは、同じ単語タイプでも出現が異なれば異なる単語と考える。特別なバイ−フレーズb$=($,$’)が導入され、ここで、$(または$’)はソース(または目標)文の開始を示す特別なソース単語となり、かつ、ペア($,b$)に関連付けられる、対応する追加のグラフ・ノード$$=($,($,$’))が導入される。
【0034】
グラフ・クラスタは、共通のソース単語wを共有するグラフ・ノードのサブセットになり、ノード$$は、ソース単語$に関連付けされたクラスタ内の唯一のノードになる。グラフのノードMとNとの間における遷移のコストは、次のように定義される。Mが(w,b)の形式であり、Nが(w’,b)の形式であり、bが単一のバイ−フレーズで、wおよびw’がb内で連続する単語である場合、遷移コストは0である(遷移コストがない)。直観的に言えば、bの最初の単語の使用に一旦掛かり合えば、bによってカバーされるほかのソース単語に移動するための追加のコストはない。Mが(w,b)の形式であり、wがバイ−フレーズb内の「一番右のソース単語」であり、Nが(w’,b’)の形式であり、w’≠wがb’内の「一番左のソース単語」である場合、遷移コストは、バイ−フレーズbを選択した直後にバイ−フレーズb’を選択する実際のコストに対応する。ソース文から見ると、これはbのソース側を消費した後のb’のソース側の「消費」に対応し(ソース文内のそれらの相対的なポジションによらない)、目標側から見ると、これはbの目標側を生成した直後におけるb’の目標側の生成に対応する。
【0035】
遷移コストは、その場合、バイ−フレーズ・ライブラリ20(図1)内のbに関連付けされた静的コストを含むいくつかの寄与の和になる。このコストは、順方向および逆方向の条件付き確率、バイ−フレーズ内の目標単語の数、およびこれらの類(導入部分の説明を参照されたい)といった構成要素に対応する。「歪み」コストは、ソース単語wを消費した直後にソース単語w’を消費する選択に関連付けされる。w’がソース文内においてwに直接続く単語である場合には、このコストがゼロであり、bおよびb’の目標側の連続性がそれらの目標によって与えられる状況に対応する。そのほかの場合には、ソース文内のwおよびw’のポジションをpos(w)およびpos(w’)とするとき、(pos(w)+1−pos(w’))の絶対値としてコストが計算される。「言語モデル」のコストは、bの目標単語をもたらしたばかりの文脈において目標単語b’をもたらすコストである。バイグラム言語モデルが仮定される場合には、bおよびb’がわかるとすぐにこのコストをあらかじめ計算することが可能になる。というのも、これはbがそれの目標側に少なくとも1つの単語を含み、そのことがbの最後の目標単語を知った上でのb’の最初の目標単語の寄与の計算を可能にするからである。b’の2番目、3番目等々の目標単語については、b’のみを基礎として寄与が計算される。注意されたいが、このバイグラム・モデルの制限は、ここで論じられているほかの手法を使用して克服できる。
【0036】
バイ−フレーズbおよびb’のうちの1つが$$に等しい場合においては、以前の寄与の簡単な適応を容易に実行することができる。ほかのすべての場合には遷移コストが無限となり、換言すればMとNの間のグラフ内にエッジが存在しない。
【0037】
図5は、既存のエッジのサブセット、すなわちノードtraduction−mtに入るか、または出るすべてのエッジ82だけが示された、ソース文「cette traduction automatique est curieuse」についての遷移グラフ80を図解している。注意を要するが、traduction−mtの唯一の後続ノードはautomatique−mtであり、cette−htは、traduction−mtの先行ノードでない。それに代えて、automatique−mおよびautomatique−aからtraduction−mtにエッジを引くことは可能であるが、その種のエッジは、実際のところ、traduction−mtからの唯一の出口がautomatique−mtであり、このノードがそれのクラスタ内のほかのノードと排他であることから、横切ることができない。
【0038】
図6Aおよび図6Bは、示された2つの出力に対応する2つのGTSP巡回を図解している。図6Aにおいては、巡回90が、結果として出力h.mt.i.sをもたらす。図6Bにおいては、巡回92が、結果として出力ht.s.i.aをもたらす。
【0039】
上述の図面に関して述べたモデルは、一般TSPの非対称バージョンに対応する。この再公式化を前提とすると、追随可能ないくつかのストラテジが存在し、GTSP用に特別に設計されたアルゴリズムを使用してもよいし、GTSPをATSPに変換し、ATSP用に設計されたアルゴリズムを使用してもよいし、かつ/またはATSPをSTSPに変換し、STSP用に設計されたアルゴリズムを使用してもよい。各オプションは、それぞれ独自の利点および欠点を有する。コンコード(Concorde)ソルバ(たとえば、www.tsp.gatech.edu/concorde参照)等の既存の効率的なTSP用のソルバが使用される場合には、STSP公式化が採用される。しかしながらATSPがSTSPに変換される場合には、TSPグラフ内の頂点の数が2倍になる。さらにまたGTSPからATSPへの経路は、より一般的な公式化が採用されることから非能率の潜在的原因である。したがって、コンコード・テクニックとともにSTSP再公式化を使用することが望ましい。
【0040】
別の重要な要因は、厳密な解が望ましいか、または近似解で充分とし得るか、ということである。STSPの場合においては、厳密な解法(たとえば、コンコード・ソルバ)を採用すること、または近似アルゴリズム(たとえば、リン・カーニハン(Lin−Kernighan)のヒューリスティック)を使用することができる。
【0041】
言語モデルがバイグラム・タイプである場合、説明してきたモデルは重要な「マルコフの」性質、すなわち経路のコストは、その経路上の2つの連続するノードの間における遷移のコストに関する加法であるという性質を有する。図6Aにおいて、翻訳候補「this.machine translation.is.strange」のコストは、単語「is」に関する単語「strange」の条件付き確率を考慮に入れるだけでよく、単語「translation」および「is」に関しては考慮しなくてよい。
【0042】
別の実施態様においては、モデルの性能が、バイグラム言語モデルの使用から、3−グラム言語モデル等のより強力なn−グラム言語モデルの使用に拡張され、いくつかのアプローチを適用することができる。第1のアプローチは、少なくとも2つの単語の目標側を有するバイ−フレーズだけを保持するために、目標側が1つの単語だけを含むすべてのバイ−フレーズを「編集により除外(compiling out)」することを包含する。この態様においては、2つのバイ−フレーズbおよびb’の目標側が連結されるとき、bが少なくとも2つの単語を含むことから、トリグラム言語モデルが、bに関するb’の寄与の計算に充分な文脈を有する。適正な機能を保証するためにバイ−フレーズの概念の拡張を採用し、ここでバイ−フレーズの順序付きシーケンス
【数2】
として拡張バイ−フレーズを定義する。ここで、k≧1であり、各
【数3】
または、各
【数4】
は、ソース単語または目標単語のリストである。k=1の場合には、この手法はバイ−フレーズのオリジナルの概念に戻る。ソース文sの翻訳のための概念の解釈は、オリジナルの場合といくらか異なる。つまり、それぞれの個別の
【数5】
内のトークンは、s内において連続的にマッチングされる必要があるけれども、
【数6】
が連続的にマッチングされることは必要ないし、あるいは、sの内側におけるその順序でのマッチングさえ必要ない。これに対して目標側においては、
【数7】
内のトークンは、連続的に、かつその順序で作られる。この概念の下に、前述と同じ可能バイ−フレーズの表を使用して、次に示す拡張バイ−フレーズmti、ti、およびsiが提供される。
【0043】
mti=[mt.i]=[(traduction automatique,machine translation).(est,is)]
ti=[t.i]=[(traduction,translation).(est,is)]
si=[s.i]=[(curieuse,strange).(est,is)]
【0044】
これらを使用して、次に示す翻訳を生成することができる。
[h].[mt.i].[s]→this machine translation is strange
[h].[c].[t.i].[a]→this curious translation is automatic
[ht].[s.i].[a]→this translation strange is automatic
【0045】
翻訳プロセスのオリジナルのアカウントと現在のそれの間の主要な相違は、拡張バイ−フレーズが、ユニットのシーケンスを通じて以前に達成できたものを単一のユニットの下にカプセル化することである。GTSPグラフとしての翻訳プロセスのエンコードについては、それが簡単になり、グラフのノードがこの場合はペア(w,b)であり、それにおいてwはソース文の単語、bは拡張バイ−フレーズ、クラスタは同一のwを有するノードのサブセットである。オリジナルの規則に対する拡張によって、wが
【数8】
の最初の単語であり、形式
【数9】
であるノードに入るグラフ内の経路は、それが拡張バイ−フレーズbを「離れる」(この時点において実際の選択、すなわち次の拡張バイ−フレーズの選択がある)前に、
【数10】
のすべての単語を順番に通り、続いて
【数11】
のすべての単語を通り、同様に繰り返して最後に
【数12】
のすべての単語を通らなければならない。拡張バイ−フレーズ
【数13】
の「内側の」コストは、
【数14】
から
【数15】
等のように遷移するときに生じるであろうコスト(歪みコストを含む)を加算することによって事前編集できる。概して言えば、基本バイ−フレーズの構成要素にわたって対応する経路を考慮することにより生じるコストを「回収する」ことによって拡張バイ−フレーズにわたる経路のコストを計算することは簡単である。
【0046】
バイグラム言語モデルからトリグラム言語モデルへの移動の問題に戻るが、バイ−フレーズ・ライブラリから単一単語の目標を有するバイ−フレーズiを取り除くステップ、および拡張バイ−フレーズmti、ti、si等々(たとえば、ライブラリ内のバイ−フレーズのiとの連結からなるすべての拡張バイ−フレーズ)をライブラリに追加するステップが実行される。これらの拡張バイ−フレーズは、すぐ次にもたらされる目標単語(与えられている例においては、それぞれ単語「strange」、「automatic」、および「automatic」)についてのトリグラム確率を計算する充分な文脈を提供する。これらのステップが、iと類似の、すなわち単一単語の目標を有する(手元のソース文に適切な)すべてのバイ−フレーズについて網羅的に実行されると、各ポイントにおいてトリグラム言語モデルの計算を可能にする表現が得られる。
【0047】
図7は、バイ−フレーズ「i」だけが取り除かれた、現在は「i」をカプセル化している拡張バイ−フレーズのいくつかだけがグラフを通る1つの有効な回路または巡回を定義するエッジ102を伴って示されているグラフ100を図解している。気付かれるであろうが、mtiが充分に大きな目標文脈を提供することから、2つのノード(est,mti)および(curieuse,s)を接続するエッジが、ここでトリグラムのコストp(strange|translation is)に関連付けされる。
【0048】
図8は、選択的なオンデマンド絞り込みを伴う第2のアプローチを図解している。今述べたばかりの網羅的な「編集により除外」する方法は、基本的に有効であるが、翻訳されるべき文についてm個の関連するバイ−フレーズがあり、そのうちのk個が単一単語の目標を有している場合には、k.m個の拡張バイ−フレーズが作られ、kがmに関して大きくなれば直ちにTSPソルバについての有意のオーバーヘッドを表すおそれがある。この効果は、編集により除外する方法がn>3を伴うnグラム言語モデルに拡張されると悪化することがある。
【0049】
この効果を緩和するために、第2のアプローチは、2つの構成要素を有する選択的絞り込みを使用する。第1の構成要素は、何らかの広い評価基準(長さ1の目標側を有する等)に関してすべてのノードの文脈を絞り込むのではなく、グラフ内の選択されたノードの文脈を絞り込む能力である。その種の絞り込みは、グラフ内のノードの少数派のためのトリグラム文脈を提供するが、残りのノードについてはバイグラム文脈だけとなる。第2の構成要素は、その種の絞り込みのための最適TSP解と、グラフ内のすべてのノードについてトリグラム文脈が使用された場合に到達する「真の」最適解との間の結合不等式の維持からなり、真の最適解への絞り込みプロセスの収斂を保証する。
【0050】
したがって図8に、GTSPグラフ110の選択的絞り込みを図解する。GTSPグラフ110において、a、b、およびcはグラフ内の、異なるクラスタに属するノードであり、ノードbに出入りするエッジ(ノードを接続するライン)のうちのいくつかが示されている。それに加えて、各エッジについてのコストまたは重みが、α、β、γ、δ、η、およびθとラベル付けされて示されている。変換後のGTSPグラフ112においては、ノードbが、bと同じクラスタに属する(したがって、相互に排他的な)2つの「クローン」ノードb1およびb2に置き換えられ、bのすべての点に関してまったく等しいが、異なる入射エッジを有し、aに関する入射エッジ(そのうちの1つだけが示されている)は変化しないが、新しくcに到来するエッジが追加されている。ここではノードb1を「aの直接の後続ノードであるという文脈におけるb」として解釈することが可能であり、b2は「そのほかの任意の文脈におけるb」として解釈される。
【0051】
この変換において注意する最初の性質は、コストβ1およびβ2がβに等しいと仮定された場合に、変換後のグラフ112が1つのノードおよび3つのエッジをオリジナルより多く有するが、注意深い観察によってわかるとおり、最適巡回は正確に同じであり、同一のコストを伴うことである。しかしながらここでは、b1(またはb2)がaの直接の後続ノードである(または、直接の後続ノードでない)という文脈に特化され、したがってこれらの特化された文脈が、この追加の知識に関してコストβ1およびβ2をより良好に定義するために利用される。特に、この変換がSMTの状況に適用されるとき、β1はaに関連付けされた目標単語を承知しており、cの最初の目標単語を条件付けするためにトリグラム言語モデルを利用することを可能にする。
【0052】
GTSPグラフを前提として、グラフに関する良好に形成された巡回τが考慮される。GTSPグラフのエッジに対して与えられる重みに従って、τが特定のコスト、すなわち見かけのコストを有する。何らかの外部測定に従って、同一の巡回τが異なるコスト、すなわち真のコストを実際に有することがある。この状況の例は、GTSPエッジが言語モデルのためのバイグラム・コストを持つが、真のスコアはトリグラムの知識に従って計算されるべきであるときに生じる。より一般的に言えば、巡回の真のコストは、グラフのエッジに局所的な重みによって計算可能であるより、いくぶん局所的でない巡回の性質に依存し得る。
【0053】
GTSPグラフのエッジに関するコストは、グラフに関して任意の良好に形成された巡回τについて、巡回の見かけのコストが真のコストより小さいか、またはそれに等しい場合に限って「楽観的(optimistic)」と定義することができる。「楽観(optimism)」の概念は、ツリー・サーチにおける許容可能なヒューリスティック(たとえばA*)の概念と何らかの類似性を有し、その場合においては「現実性のある」楽観的エッジのコストが注目される。標準サーチ・ヒューリスティクスは、サーチ・ツリーの拡張における局所的な決定を得るために使用されるが、ここで述べているヒューリスティック手順は、問題グラフのより一層正確な明細の反復的な提供に焦点を当てつつ、TSPソルバの「注意」が焦点されるグラフの部分を強調し、続いて「グローバル」TSPソルバに現在の最良の見かけの解を見つけさせる。この概念を踏まえて、実行される一般的な手順を、次に図9Aおよび図9Bに関して説明する。
【0054】
図9Aは、巡回セールスマン問題としてフレーズ−ベースの統計的機械翻訳を実行するための方法を図解している。120においてSMTがGTSPとして定義され、GTSPグラフが生成される。122においては、ソース文に整合するバイ−フレーズが検索され、検索されたバイ−フレーズは、それぞれGTSPグラフ内のノードに対応する。各バイ−フレーズは、第1の言語のフレーズ(たとえば、入力された文の言語において、入力またはソース文内のフレーズに整合するフレーズ)および第2の言語のフレーズ(たとえば、第2のまたは目標言語に翻訳された入力フレーズ)を含む。124においてはGTSPが解かれる。バイ−フレーズが、GTSPの解の関数として選択され、126において、選択されたバイ−フレーズの目標または第2の言語のフレーズが、GTSPの解によって定義された順序で出力される。
【0055】
1つの実施態様においては、GTSPを解くことは、GTSPをATSPに変換すること、ATSPを標準TSPに変換すること、およびTSPを解決して入力文のブロックを翻訳することを含む。TSPの解決は、コンコード・ソルバまたはリン・カーニハンのヒューリスティックまたはこれらの類を使用して実行される。
【0056】
図9Bは、巡回セールスマン問題としてフレーズ−ベースの統計的機械翻訳を実行するための代替または追加の方法を図解している。130において、それの巡回の真のコストに関して楽観的なGTSPグラフG0の初期仕様が、i=0となるように初期化される。グラフ内のノードは、セグメント化された文のブロックに関連付けされたバイ−フレーズを定義する。132においては、GTSPソルバ・アプリケーション(たとえば、図1のTSPソルバ23)が起動され、このグラフに関する最適巡回τi(または、近似ソルバが使用される場合にはその種の最適巡回の近似)が獲得される。134においては、τiの真のコストが(たとえば、τiのすべてのエッジが既知であることから)計算される。Giが楽観的であることから、Giに関する真のコストは、τiの見かけのコストCaより大きくなる。136においては、見かけのコストと真のコストの間の差Dがあらかじめ定義済みの閾値εより小さいか否かに関しての判定が行われる。
【0057】
これら2つのコストの間の差Dが特定の閾値εより小さい場合には解τiが出力され、138においてこの方法が終了する。そうでなければ140においてGiの少なくとも1つのノード、特に、τi上に(可能性としては、ほかのいくつかにも)現れている特定のノードが、図7の原理に従って絞り込まれる。この種の絞り込みの間はグラフGiが楽観的にとどまるが、より厳しい値が、βによって提供されたβ1およびβ2のために提供される。すなわち、β1>β等の制約が提供され、かつ可能性としてβ2>β等の制約も提供される。142においては、絞り込みの結果として新しいグラフGi+1が獲得される。方法は134に戻るが、i:=i+1を伴う。
【0058】
この図9Bの方法は、いくつかの重要な性質を有する。たとえば、任意の反復において、τiの見かけのコストは、元のグラフにおける真の最適巡回τtrueの新のコストの下限になる。真の最適巡回τtrueは、すなわち、すべての巡回の真のコストにわたって真のコストが最小となる巡回である。厳密TSPソルバの場合においては、true_cost(τ)≧true_cost(τtrue)であり、すべての巡回τについて(τtrueの定義により)、true_cost(τtrue)≧apparent_cost(τi)である。なぜなら、τiは、すべての巡回のコストの楽観的仕様より最適であり、特にtrue_cost(τtrue)≧apparent_cost(τtrue)≧apparent_cost(τi)であるからである。
【0059】
Giおよびτiにおいてアルゴリズムが終了するときは、apparent_cost(τi)+ε≧true_cost(τi)である。したがって、apparent_cost(τi)+ε≧true_cost(τi)≧true_cost(τtrue)≧apparent_cost(τi)である。言い替えると、反復の間に見つけられた巡回τiは、真の最適巡回のそれと無視できる程度に異なる真のコストを伴った真の最適巡回の近似である。
【0060】
アルゴリズムの終了特性については、有限数の絞り込みしか存在しないためにグラフを無限に絞り込むことが不可能であること、および与えられた巡回におけるノードが充分に絞り込まれるとき、巡回の見かけのコスト(β1およびβ2等の絞り込まれた重みに依存する)がそれの真のコストに等しくなることという2つの要因に依存する。
【0061】
図9Aおよび図9Bに図解されている方法は、ここに述べられているほかの手法またはアルゴリズムに加えて、コンピュータ上において実行できるコンピュータ・プログラム製品として実装できる。コンピュータ・プログラム製品は、ディスク、ハード・ドライブ、またはこれらの類といった、コントロール・プログラムが記録されたコンピュータ可読記録媒体(たとえばメモリ13)とすることができる。一般的な形式のコンピュータ可読媒体は、たとえば、フロッピー(登録商標)ディスク、フレキシブル・ディスク、ハードディスク、磁気テープまたは任意のそのほかの磁気記憶媒体、CD−ROM、DVDまたは任意のそのほかの光学媒体、RAM、PROM、EPROM、FLASH−EPROMまたはそのほかのメモリ・チップまたはカートリッジまたは任意のそのほかの、コンピュータによる読み出しおよび使用が可能な有体の媒体を含む。それに代えてこの方法を、たとえば無線波および赤外線データ通信の間に生成されるような音響または光の波等の送信媒体およびこれらの類を使用するデータ信号としてコントロール・プログラムが埋め込まれる送信可能な搬送波内において実装することができる。
【0062】
例示的な方法は、1つまたは複数の汎用コンピュータ、専用コンピュータ(1つまたは複数)、プログラムされたマイクロプロセッサまたはマイクロコントローラおよび周辺集積回路要素、ASICまたはそのほかの集積回路、デジタル信号プロセッサ、ハードワイヤード電子または論理回路、たとえばディスクリート素子回路、PLD、PLA、FPGA、グラフィック・カードCPU(GPU)、またはPALといったプログラマブル論理デバイス、またはこれらの類の上において(たとえば、プロセッサ12により)実装できる。概して言えば、有限状態マシンの実装が可能であり、続いてそれが図9Aおよび図9Bに示されたフローチャートを実装できる任意のデバイスを、GTSPモデルを使用するフレーズ−ベースのSMTを実行するための方法の実装に使用することが可能である。
【0063】
図10は、トリグラム言語モデルを使用してフレーズ−ベースの翻訳を実行するためのグラフ150を図解している。認識されることになろうが、同じアプローチを4−グラム、5−グラム等々に簡単に適用することができる。トリグラム言語モデルは、単語zが2つの単語xおよびyに続く確率p(z|xy)の評価を提供する手順を容易にする。1つの実施態様においては、言語モデルがすべての3成分要素(x,y,z)を、それらの確率とともに内部的に記憶する。別の実施態様においては、言語モデルが、明示的に特定のトリグラム、バイグラム、およびユニグラムのためのコーパス・カウントを記憶し、それらのテーブルからp(z|xy)の計算のためにスムージング手法を頼る。
【0064】
このアプローチは次のとおりとなる。p(z|xy)を考慮して目標言語モデルについてのグラウンド・トゥルースが提供される一方、初期グラフのすべてのエッジにトリグラム・コスト
【数16】
がラベル付けされる必要はない。しかし、むしろいくつかのエッジ(ノードが目標側に1つの単語だけを有するエッジ(a,b))に、次のとおりに定義される「バイグラム・プロクシ」bi(z|y)をラベル付けすることができる。
【数17】
言い替えると、プロクシbi(z|y)は、yに先行し得る単語xに関して最大限に楽観的なyとzの間における遷移のコストのための評価である。ここで最小(min)は、翻訳されるべき特定の文に関係するxに関して求められる。たとえば、その文を翻訳するためのバイ−フレーズの最後の目標単語と同一のxに関して求められ、語彙内のすべての可能な単語xに関して求められることはない。注意を要するが、p(z|y)がp(z|xy)から導かれたバイグラム言語モデルを表すとき、bi(z|y)=−log p(z|y)は概して真にならず、したがってbi(z|y)は、その用語の通常の意味におけるバイグラム確率を表さない。
【0065】
したがって、図10のグラフ150は、図5とまったく同じGTSPグラフを伴って開始することによって獲得され、それにおいてエッジ上の言語モデルのコストは、それらのエッジ上で得られる文脈を前提として可能な限り特定的であり、言い替えるとそれらは、先行するバイ−フレーズに応じてtri(z|xy)の形式またはbi(z|y)の形式のいずれかとなる。特定の巡回のためのすべてのエッジが示され、それに加えて説明の焦点が当てられるノードest−i上の入射エッジが略式に(破線で)示されたグラフ150によって一例を示す。
【0066】
TSPソルバが起動され、特定のバイ・コストだけでなくいくつかのトリ・コストも使用して見かけの最適巡回が獲得される。グラフ150内の巡回の真のコストが、すべての真のトリグラム・コストtri(this|$ $)、tri(machine|$ this)、tri(translation|this machine)、tri(is|machine translation)、tri(strange|translation is)、およびtri($|is strange)の計算を伴って計算される。真のコストは(より小さい)見かけのコストと比較され、その差がεより小さければ、それ以上の動作がとられる必要はない。
【0067】
図11は、図7および図9に関して述べた手順を使用し、差がεより大きいか、または等しい場合に得られる、識別された巡回上のノードの少なくとも1つの3成分要素(a,b,c)に適用されるグラフ160を示している。たとえば、図7の手順を、(a,b,c)=(automatique−mt,est−i,curieuse−s)とともに適用してグラフ160を得ることが可能であり、それにおいてcurieuse−sにest−i−1をリンクしているエッジ上には、そのエッジのトリ・コストの計算に充分な文脈が存在する。注意を要するが、bi(strange|is)は、est−i−2をcurieuse−sにリンクしている破線のエッジ上に保持されるが、automatique−mtを除外し、est−i−2に先行できるノードにわたって最小化することによるコストの再計算によって、わずかにより厳しい結合を得ることができる。
【0068】
グラフ160が獲得されると、TSPソルバが、再起動されて手順が反復的に実行される。新しい見かけの最適巡回がエッジ(est−i−1,curieuse−s)を含むときは常に、このエッジのコストが以前のものより正確になる。単に、各反復時に見かけの最適巡回において1つの3成分要素だけを絞り込むことからなるアプローチは、いずれかのポイントで終了する。そうでなければ、いずれかのポイントにおいて、見かけの最適巡回において、必然的に、すべてのエッジがトリ・コストを持つことになり、したがってその見かけのコストが真のコストに等しくなり、そしてε閾値の評価基準を満たすことになるためである。
【0069】
これは、アルゴリズムの収斂の形式的な証明を提供するが、変換されたグラフがコストの真の状態をより迅速に「模する」ためには、各反復において、単一の3成分要素より多くを絞り込むほうがより効率的なことがある。認識されるであろうが、その種のアプローチのすべての可能な変形および/または組み合わせは、この説明の範囲内となることが意図されている。しかしながら、単純な方法は、現在の見かけの最適巡回上に現れるすべての3成分要素(a,b,c)を絞り込むことである(ソース文の長さがnであれば、多くともnのその種の絞り込みを行うことが可能である)。上述した編集により除外する手法は、すべてのトリグラムの網羅的な絞り込みに対応し、したがって選択的な絞り込み手法で行うことが可能な1つの極端な場合であることに注意を要する。
【0070】
この態様においては、SMTの状況で起こりがちなように、新しい見かけの巡回がいくつかの下位経路を以前の見かけの巡回と共有する場合に、それらの経路に関する絞り込み済みの知識を利用することになる。注意されたいが、たとえ以前の巡回においてε閾値条件が満たされていない場合であっても、新しい巡回が実際に以前の巡回とまったく同じであることが可能であり、これは言語モデルのコスト以外のコストが、この経路上におけるバイ・コストからトリ・コストへの移動に関連付けされる補償より大きくなり得ることによる。
【0071】
以上の説明はトリグラムの扱いに焦点を当てたが、選択的絞り込みのアプローチがnグラム(nは整数)に拡張できることは容易に理解される。このアプローチは、トリグラム、4−グラム等々のための拡張された状況の提供に採用可能であり、方法は、巡回のいくつかの部分の言語モデルのコストを絞り込むことが、ほかのすべてのSMT制約を前提に巡回の最適性を先細りにしない限り効果的である。
【符号の説明】
【0072】
10 システム、12 プロセッサ、13 メモリ、14 ユーザ・インターフェース、15 入力文、17 翻訳済みデータ、19 言語モデル、20 バイ−フレーズ・ライブラリ、22 GTSPグラフ、23 GTSPソルバ、24 厳密ソルバ・アルゴリズム、25 近似ソルバ・アルゴリズム。
【特許請求の範囲】
【請求項1】
統計的機械翻訳(SMT)および一般化された非対称巡回セールスマン問題(GTSP)グラフを使用して2つの言語を翻訳する方法であって、
SMT問題をGTSPとして定義するステップと、
入力文のブロックを、前記GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して翻訳するステップと、
前記GTSPを解くステップと、
前記GTSPの解によって定義される順序で前記翻訳済みブロックを出力するステップと、
を包含する方法。
【請求項2】
前記GTSPを解くステップは、さらに、
前記GTSPを非対称巡回セールスマン問題(ATSP)に変換するステップと、
前記ATSPを標準巡回セールスマン問題(TSP)に変換するステップと、
前記TSPを解決して前記入力文の前記ブロックを翻訳するステップであって、コンコード(Concorde)ソルバおよびリン・カーニハンのヒューリスティックのうちの少なくとも1つを使用する、ステップと、
を包含する請求項1に記載の方法。
【請求項3】
さらに、
GTSPグラフの最適巡回を生成するステップと、
前記最適巡回の真のコストCtを計算するステップと、
前記最適巡回の見かけのコストCaを計算するステップと、
前記真のコストCtと前記見かけのコストCaの間の差Dを判定するステップと、
前記差Dがあらかじめ設定された閾値εより小さいか否かを判定するステップと、
Dが前記あらかじめ設定された閾値εより小さい場合には、前記GTSPの解として前記最適巡回を出力するステップと、
前記出力されたGTSPの解を使用して第1の言語から第2の言語へ前記入力文を翻訳するステップと、
を包含する請求項1に記載の方法。
【請求項4】
さらに、
Dが前記あらかじめ設定された閾値εに等しいか、またはそれを超える場合に、前記グラフ内の少なくとも1つのノードを絞り込み、前記絞り込んだノードを包含する絞り込み済みグラフを生成するステップと、
Dがεより小さくなるまで反復的に、1つまたは複数の絞り込み済みグラフについて前記真のコストCtおよび見かけのコストCaを計算し、それらの間の前記差Dを判定し、かつ前記差Dと前記あらかじめ設定された閾値εを比較するステップと、を包含し、
少なくとも、
前記最適巡回が各ノードを正確に一度だけ訪問し、前記最適巡回内のノードの間の各エッジがそれぞれのバイグラム重みと関連付けられ、かつ前記最適巡回の前記見かけのコストCaが前記巡回内のすべてのエッジの前記バイグラム重みの合計によって計算されることと、
前記最適巡回の前記真のコストCtがトリグラム・コストを使用して計算されることと、のうちの一方を含む、
請求項3に記載の方法。
【請求項1】
統計的機械翻訳(SMT)および一般化された非対称巡回セールスマン問題(GTSP)グラフを使用して2つの言語を翻訳する方法であって、
SMT問題をGTSPとして定義するステップと、
入力文のブロックを、前記GTSPを表すGTSPグラフ内のノードに対応するバイ−フレーズを使用して翻訳するステップと、
前記GTSPを解くステップと、
前記GTSPの解によって定義される順序で前記翻訳済みブロックを出力するステップと、
を包含する方法。
【請求項2】
前記GTSPを解くステップは、さらに、
前記GTSPを非対称巡回セールスマン問題(ATSP)に変換するステップと、
前記ATSPを標準巡回セールスマン問題(TSP)に変換するステップと、
前記TSPを解決して前記入力文の前記ブロックを翻訳するステップであって、コンコード(Concorde)ソルバおよびリン・カーニハンのヒューリスティックのうちの少なくとも1つを使用する、ステップと、
を包含する請求項1に記載の方法。
【請求項3】
さらに、
GTSPグラフの最適巡回を生成するステップと、
前記最適巡回の真のコストCtを計算するステップと、
前記最適巡回の見かけのコストCaを計算するステップと、
前記真のコストCtと前記見かけのコストCaの間の差Dを判定するステップと、
前記差Dがあらかじめ設定された閾値εより小さいか否かを判定するステップと、
Dが前記あらかじめ設定された閾値εより小さい場合には、前記GTSPの解として前記最適巡回を出力するステップと、
前記出力されたGTSPの解を使用して第1の言語から第2の言語へ前記入力文を翻訳するステップと、
を包含する請求項1に記載の方法。
【請求項4】
さらに、
Dが前記あらかじめ設定された閾値εに等しいか、またはそれを超える場合に、前記グラフ内の少なくとも1つのノードを絞り込み、前記絞り込んだノードを包含する絞り込み済みグラフを生成するステップと、
Dがεより小さくなるまで反復的に、1つまたは複数の絞り込み済みグラフについて前記真のコストCtおよび見かけのコストCaを計算し、それらの間の前記差Dを判定し、かつ前記差Dと前記あらかじめ設定された閾値εを比較するステップと、を包含し、
少なくとも、
前記最適巡回が各ノードを正確に一度だけ訪問し、前記最適巡回内のノードの間の各エッジがそれぞれのバイグラム重みと関連付けられ、かつ前記最適巡回の前記見かけのコストCaが前記巡回内のすべてのエッジの前記バイグラム重みの合計によって計算されることと、
前記最適巡回の前記真のコストCtがトリグラム・コストを使用して計算されることと、のうちの一方を含む、
請求項3に記載の方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6A】
【図6B】
【図7】
【図8】
【図9A】
【図9B】
【図10】
【図11】
【公開番号】特開2011−28754(P2011−28754A)
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願番号】特願2010−166695(P2010−166695)
【出願日】平成22年7月26日(2010.7.26)
【出願人】(596170170)ゼロックス コーポレイション (1,961)
【氏名又は名称原語表記】XEROX CORPORATION
【Fターム(参考)】
【公開日】平成23年2月10日(2011.2.10)
【国際特許分類】
【出願日】平成22年7月26日(2010.7.26)
【出願人】(596170170)ゼロックス コーポレイション (1,961)
【氏名又は名称原語表記】XEROX CORPORATION
【Fターム(参考)】
[ Back to top ]