(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0009】
以下で説明する実施の形態は、いずれも本発明の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本発明を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また全ての実施の形態において、各々の内容を組み合わせることも出来る。
【0010】
(本発明に至った知見)
翻訳機器の開発が盛んに行われている状況において、異なる言語での円滑なコミュニケーションを実現するには、機械翻訳の精度が完全であることが望まれる。しかし、現状の機械翻訳においては、任意の文を誤りなく翻訳することは極めて困難であり、翻訳できる分野(ドメイン)を旅行会話といった形で限定することで翻訳精度を高めているが、完全には程遠い状況である。
【0011】
ここで、機械翻訳技術は大きく3種類に分類される。本編ではそれぞれ、1)ルールベース機械翻訳(RBMT:Rule−Based Machine Translation)、2)統計的機械翻訳(SMT:Stastistical Machine Translation)、3)ディープニューラルネットによるモデル獲得型の機械翻訳(DNNMT:Deep Neural Network Machine Translation)と呼ぶことにする。
【0012】
1)ルールベース機械翻訳(RBMT)
ルールベース機械翻訳(RBMT)は、人手によって構築された変換規則(訳語の対をデータベースとして記憶したもの)を元に翻訳を行うシステムであり、原文と訳文のデータベースは翻訳メモリと表現されることもある。
【0013】
長所として、「規則(翻訳するパターン)を厳密に定義できるため、原文(の一部)が当該規則内に存在する場合には、対応する部分の翻訳の精度が高くなり、規則内の翻訳表現を予め揃えておくことで、翻訳出力の翻訳表現についても一貫性も保ちやすい」ことが挙げられる。
【0014】
短所は、「規則が存在しない場合には翻訳精度が非常に低くなる、もしくは全く翻訳できず、想定以外の業界・分野への適応性も極めて低い」ことが挙げられる。また、基本的には人手によって規則を構築・拡充するため、開発に掛かるコストも高くなる。更に、翻訳性能を向上させるためには規則を追加していく必要があるが、ユーザ側で規則を構築して翻訳システムをカスタマイズするには、規則の設計ルールについて相当の知識が要求されるため、一般ユーザが気軽に使えるものとはなっていない。このため、ルールベース翻訳(RBMT) の主な展開先は、業務用翻訳(特許翻訳など)となっており、市販の業務用翻訳ソフトは、このルールベース翻訳や翻訳メモリを用いているものが多い。
【0015】
2)統計的機械翻訳(SMT)
統計的機械翻訳(SMT)は、RBMTのような規則(ルール)を作成せず、対訳コーパスと呼ばれる「原言語と目的言語双方での訳文対」を大量に準備し、この対訳コーパスから統計的に翻訳確率を計算し訳文を生成する手法である。グーグル(登録商標)やマイクロソフト(登録商標)等がウェブ上で提供する翻訳エンジンに広く用いられている。
【0016】
この手法は、翻訳確率を計算するにあたり、言語モデル(単言語における単語間の出現確率をn−gramモデルで表現するものが一般的)、及び、翻訳モデル(双言語間での、単語もしくはフレーズ単位での対応関係をアライメントモデルとして表現し、各単語間の語彙レベルでの訳語対関係を語彙モデルとして表現するものが一般的である)の2つのモデルについて、それぞれ対訳コーパスから統計的に確率を計算し、各モデルのパラメータ(確率値)を得ることで、統計的な翻訳を実現する手法である。一般的にIBMモデルと呼ばれている。(日本語を含む場合は、「並び替えモデル」と呼ばれるモデルを構文解析等により追加する場合がある)。
【0017】
このSMTの長所として、RBMTのようなルールを用いないことから、「『規則が存在しない場合に翻訳精度が非常に低くなる』と言った問題を未然に回避でき、汎化能力のある翻訳エンジンを構築できる」点が挙げられる。
【0018】
一方、短所として、「確率的な表現に基づくため、確率計算の基となる対訳コーパスを大量に準備する必要がある」点がある。また、汎化性能が高くなる一方で、翻訳結果は「確率的なスコアが高い」出力に過ぎなくなるため、RBMTで上手く翻訳できた事例についてSMTでも同等の翻訳精度が得られる保証は無くなり、「全体/平均としては、比較的良い」翻訳では有るが、個別の翻訳ケースでは確実性に劣る場面も発生する。
【0019】
更に、確率計算を行う際には、各内部モデル(言語モデル、翻訳モデル等)が出力する確率値を掛け合わせる必要がある。この際、SMTの翻訳エンジン全体をチューニングするため、各モデルからの確率値に重み付けをして重みをパラメータとした機械学習を行うが、ここで用いられる機械評価値が文字通り「機械的な評価値(例えば、BLEUと呼ばれる評価値)」となるため、必ずしもユーザの主観評価と一致しないことが報告されている(例えば、非特許文献2参照)。つまり、「機械評価値は高いがユーザの実際の評価とは結びつかない」と言った構造的な欠点も有している。
【0020】
また、ユーザ側やシステム側で性能向上を図ろうとして、仮に対訳コーパスを数文追加したとしても、翻訳出力は、対訳コーパス全体を統計処理した上での確率的な振る舞いに左右されるため、性能向上に直結しない(性能が下がることも有り得る)と言った点も別の構造的な欠点として挙げられる。
【0021】
3)ディープニューラルネットによるモデル獲得型の機械翻訳(DNNMT)
ディープニューラルネットによるモデル獲得型の機械翻訳(DNNMT)は、ディープラーニング(DL:Deep Learning)技術を機械翻訳に適用した比較的新しい翻訳技術である(例えば、非特許文献3,非特許文献4参照)。
【0022】
RBMTやSMTのような「人によって設計されたルールやモデル」に入力文や対訳コーパスを当てはめ/統計処理する翻訳手法とは異なり、システムが適切なモデル自体を学習することを特徴としている。現時点では黎明期の技術であり、機械翻訳としては実用化には至っていないが、類似技術として音声認識では既に、アップル社のSiri(登録商標)などで実用化されている。
【0023】
長所として、適切なモデルの学習に成功した場合には、翻訳性能の向上が期待されており、特にSMTを超える汎化性能や、RBMTやSMTが不得手とする比較的長い文(例えば40以上の単語で構成される文)について翻訳性能をそれほど劣化させずに翻訳結果を出力することが期待されている。
【0024】
短所としては、DNNMT自身がどのようにモデルを学習するかについて、外部制御が困難な点が挙げられる。いわゆる「パラメータを用いたチューニング」に相当するような「パラメータ」が明示的に存在せず、内部の変数は非常に多いものの、どの変数が翻訳性能と直結しているかが不明である。つまり、ニューラルネットワークの構成と入力データ・教師データを決めた後は、どうシステムが学習するか・どのような性能が出るか制御困難であり、原理的にどうすれば性能向上が図れるのかが不明である。一般的なチューニング手法が適用困難であり、SMT以上にユーザ側やシステム側で性能向上を図ろうとしても対応が困難である。仮に対訳コーパスを数文追加したとしても、翻訳出力はニューラルネットの学習に左右され、何が出てくるかはニューラルネットワークの内部変数が決まらないと分からない、という構造的な欠点が存在する。
【0025】
以上が、機械翻訳技術を大きく3種類に分類したときの、それぞれの特徴・長所・短所である。
【0026】
一方でユーザ観点から機械翻訳技術を見ると、翻訳したい言語である目的言語について、ユーザが見識を持っていれば、機械翻訳の精度があまり高くない場合でも、翻訳出力結果を元に会話を進めることができる可能性がある。つまり、機械翻訳の出力について、ユーザが「正しい/正しくない」を判断でき、有用な翻訳部分についてはそれを利用する、といった使い方が期待できる。
【0027】
しかし実際には、機械翻訳の出力結果をユーザが参照したとしても、その翻訳結果が示している内容を理解できないケースも容易に想像される。例えば、ユーザを日本人と想定した場合に、日本語をメジャーな言語(英語など)へ翻訳したいケースも有れば、比較的マイナーな言語(例えば、マレー語やベトナム語など)へ翻訳したいケースも有る。例えば、目的言語が英語である場合、英語に関して知見が有るユーザは、機械翻訳の結果を参考にして自らの英語での会話に役立てることが可能かも知れない。一方で、目的言語がマイナーな言語である場合には、ユーザに目的言語についての知見が全く無いことが多く、ユーザは機械翻訳結果の内容が正しいかどうかについて、何の情報も得ることが出来ない。つまり、目的言語の訳文が機械翻訳によって提示されたとしても、その内容を全く理解することが出来ないケースが発生する。言語は数千種類も存在するとされており、ほとんどのユーザにとって、知見のない言語の方が大多数であるとさえ言える。このように、目的言語の翻訳結果について、その意味内容を理解できない場合には、相手に伝わる意図を確認できないまま訳文を提示してしまうことにもつながり、コミュニケーションが破綻する恐れがある。
【0028】
このような現状の機械翻訳精度を少しでも向上させるためには、機械翻訳システムそのものが自動的に学習し、性能向上していくことが望まれる。機械翻訳システムが自動的に学習する際には、ユーザ(原言語話者)に負担をかけないことが期待され、その上で、ユーザが相手に伝わる意図を簡便な方法で確認しながら翻訳文を生成・利用できるように機械翻訳システムを構築する必要がある。機械翻訳システムには、ユーザの利用結果を用いて、自動学習することが要求される。また、当然のこととして、システムそのものに要求される計算機資源や開発コストを極力少なくすることも同時に求められる。
【0029】
すなわち、機械翻訳システムに求められることは、「(要件1)ユーザに負担を掛けず、ユーザが相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」、「(要件2)ユーザの利用結果を用いて(新たにユーザに負担をかけること無く)、自動的に学習できること」、「(要件3)要件1・要件2の実現と同時に、計算機資源や開発コストを下げること」の3要件である。これらの3要件を同時に満たした機械翻訳システムの実現が課題となっている。
【0030】
この課題を解決する手段として、例えば、RBMTのように、原言語用例と目的言語用例を対応づけた用例をデータベースや規則・ルールとして持っておき、発話された入力文に対して類似する用例を取得し、原言語・目的言語両方で提示するもの(例えば、特許文献1)、入力文と逆翻訳(目的言語から原言語への翻訳)結果の距離を翻訳信頼度として算出し、必要に応じて信頼度と逆翻訳結果をあわせて提示し、ユーザに言い直しや言い換えを行わせるもの(例えば、特許文献4)、統計的機械翻訳(SMT)システムの性能を評価する手法であるBLEU(BiLingual Evaluation Understudy)を用いるもの(例えば、非特許文献1)、入力文に対し、逆翻訳文をN個取得し、入力文と逆翻訳文の比較評価を行うもの(例えば、特許文献2)、対訳語句を対訳辞書に登録する際、対象とする翻訳装置に有効であるか否かを判別した結果を機械学習するもの(例えば、特許文献3)などがある。
【0031】
特許文献1には、予め、原言語の用例と、原言語の用例の翻訳文である目的言語の用例とが対応づけられて用例格納部に格納されている内容が開示されている。
【0032】
また、特許文献1には、前述の用例格納部に格納された情報に基づいて、入力された原言語の文字列と、原言語の文字列に対応する目的言語の文字列とが、表示部において、それぞれ異なる表示エリアに表示される内容が開示されている。
【0033】
具体的には、入力された原言語の文字列に対して、その原言語の文字列に類似する複数の類似用例の文字列が同一の表示エリアに表示され、これに対して、入力された原言語の文字列および複数の類似用例の文字列の各々に対応する目的言語の文字列が、異なる表示エリアに表示される。
【0034】
原言語話者および目的言語話者は、入力文に対して意味を確認したい時に、用例を確認することができる。また、目的言語話者、または原言語話者が選択した類似文用例が相手の話者にもハイライト等で表示される。
【0035】
特許文献1では、入力文である原言語の文字列を取得し、データベース内の対訳例中にある類似用例を検索し、類似度が閾値以上の用例であれば類似用例であると判断して、入力文に対する類似用例として出力する。このとき、出力された類似用例に対するユーザの選択動作が行なわれた場合には、選択された用例をハイライト表示する内容も開示されている。
【0036】
特許文献2には、原文に対して順方向機械翻訳部11で出力された順方向翻訳文を受け、逆方向翻訳部12a、12b、12cにおいて、逆方向翻訳文A、B、Cを評価部13で評価する内容が開示されている。
【0037】
このときの、評価手法としては、非特許文献1に開示されている内容が一般的に知られている。非特許文献1においては、参照訳(人手で作成した正解訳)と機械翻訳で出力された訳との間のN−gramが一致した数を計算した上で、参照訳の長さの影響を加味した補正を行ってBLEU値を取得する。BLEUは翻訳精度の評価手法としてよく用いられているが、特に、日英・英日のような語順が大きく異なる言語間の翻訳においては、人手評価と相関が低いことが知られている(例えば、非特許文献2参照)。
【0038】
特許文献2には、さらに、逆翻訳文A、B、Cと原文のDPマッチングを行なった後に、最大スコアを有する逆方向翻訳文と原文を出力する内容が開示されている。評価者がこれらを比較することによって順方向翻訳文の主観評価が可能となる。
【0039】
以上で述べたように、機械翻訳精度が完全でない状況下において翻訳を行う場合、ユーザ(原言語話者)に繰り返し入力などの負担をかけることなく、簡単にかつ相手に伝わる意図を確認しながら翻訳発話文を生成し、ユーザの選択を評価としてシステムそのものが評価/学習することが必要であった。
【0040】
機械翻訳システムに求められることを再掲すると、「(要件1)ユーザに負担を掛けず、ユーザが相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」、「(要件2)ユーザの利用結果を用いて(新たにユーザに負担をかけること無く)、自動的に学習できること」、「(要件3)要件1・要件2の実現と同時に、計算機資源や開発コストを下げること」、の3要件を同時に満たすことである。
【0041】
この課題を解決する手段として、先に挙げた3種類の技術では次のようなアプローチが取られている。
【0042】
1)ルールベース機械翻訳(RBMT)
前述のように、特許文献1では、入力された原言語の文字列から、類似する原言語の類似文を出力し、出力された原言語の類似文に対しても対応する翻訳文を選択可能に出力する。これによって、例えば、原言語の文字列が音声入力される場合などには、発話入力時の音声認識誤りなどによる入力ミスの影響を減少させ、伝えたい意図を簡便にユーザが選択できる。
【0043】
特許文献1の段落番号[0012]には、「用例格納部105は、原言語の用例(以下、原言語用例ともいう)と目的言語の用例(以下、目的言語用例ともいう)とを関連づけて格納する。」との記述があり、用例格納部105が用例検索を行うデータベースとなって原言語と目的言語の対を格納している。この部分がルールベース翻訳のデータベースに相当している。
【0044】
なお、特許文献1の段落番号[0011]には「機械翻訳部103は、音声認識部102から原言語文字列を受け取り、原言語文字列を目的言語(第2言語ともいう)の文字列に機械翻訳し、翻訳結果の文字列である目的言語文字列を得る。機械翻訳の具体的な処理は、一般的な処理を行えばよいため、ここでの説明を省略する。」との記述があり、ここで機械翻訳部103について、SMTやDNNMTを用いることによる利点や課題は特許文献1で開示されておらず、特許文献1における音声翻訳システム全体としては、用例格納部105によるRBMTとしての働きが特徴的に開示されているに過ぎない。
【0045】
先に挙げたように、RBMTは規則(ルール)に記述されていない入力文や、対応していない業界・分野の入力が有った場合に翻訳精度が著しく低下する、もしくは全く翻訳が出来ないという問題を有している。特許文献1においても、発話入力に対して用例格納部105に類似例が記述されていない場合や分野が異なる場合、翻訳精度が極めて低い翻訳文を提示する可能性が有り、目的言語に関する知識が無いユーザは相手に伝わる意図を確認できないまま訳文を提示してしまう(もしくは相手に伝わる意図を誤解したまま提示してしまう)ことに繋がりかねないが、こういった課題は開示されておらず解決策も記されていない。
【0046】
更に、用例格納部105に類似例が存在しなかった場合は、類似例そのものの提示が為されず、ユーザは音声認識結果の(誤りの多い)入力文を用いる他無い状況となる。翻訳結果についても、音声認識結果による入力文に対する機械翻訳部103の翻訳結果のみとなる。この場合、ユーザは「適切に伝えたい意図に則した文章」を「簡便に選択」することが出来ず、この課題についての解決策も特許文献1では開示されていない。
【0047】
すなわち、(要件1)について、「ユーザが(文章を)簡便に選択」する手段は、複数の類似文検索結果を提示し選択する手段を提供することで部分的に開示されているとも言えるが、RBMTに相当する用例格納部105に類似例が存在しなかった場合は、選択肢そのものが失われる結果となり、完全には「ユーザが(文章を)簡便に選択」する手段は提供されていない。
【0048】
更に「相手に伝わる意図の確認」についても、あくまで用例格納部105が保持している内容に検索がヒットした場合においてのみ限定的に解決されているに過ぎず、機械翻訳部103の翻訳結果出力には触れられていない。すなわち、機械翻訳部103の翻訳結果が、元の原言語文字列の内容に沿っているかどうかについては言及されておらず、(特許文献1の段落番号[0011]に「機械翻訳部103は、音声認識部102から原言語文字列を受け取り、原言語文字列を目的言語(第2言語ともいう)の文字列に機械翻訳し、翻訳結果の文字列である目的言語文字列を得る。機械翻訳の具体的な処理は、一般的な処理を行えばよいため、ここでの説明を省略する。」との記載があり、機械翻訳部103の出力の正当性は担保されていない)、原言語文字列の内容とかけ離れた内容が機械翻訳部103の出力として出てきていたとしても、ユーザはそれを知る由もない。つまり、先の「目的言語の知識がないユーザは相手に伝わる意図を確認できないまま訳文を提示してしまう」という課題について、開示も解決もなされていない。
【0049】
また、(要件2)・(要件3)について、開示も示唆もされていない。特に要件3については、システム全体として軽量化するどころか、機械翻訳部103に加え、新たにRBMTに相当する用例格納部105が必要となっているため、計算機資源的にも開発工数的にも増大している。
【0050】
RBMTにおける「(要件2)ユーザの利用結果を用いて、新たにユーザに負担をかけること無く、自動的に学習できること」への対応については、特許文献3のような、入力文と翻訳文をそれぞれ形態素解析し、対訳語句を対訳辞書に登録する際に、対象とする翻訳装置に有効であるか否かを判別した結果を機械学習するアプローチが開示されている。
【0051】
特許文献3の段落番号[0020]では、「5は機械翻訳エンジンであって、例えば規則主導型機械翻訳では、」として、規則主導型機械翻訳という名称でRBMTを翻訳システムとして例示し、対訳語句を対訳辞書に登録する際の有効性の判別方法を開示している。ここでは、ルールベースの対訳辞書に新たな語句を登録する場合に、その語句を登録することがシステム上有効かどうかを、それまでに登録された対訳対を形態素解析した上で、サポートベクトルマシンを用いて識別した判定空間に照らし合わせることで判断を行っている。すなわち、「ルールベースへの新たな語句の登録」は、ユーザの翻訳利用とは関係なく行われており、ユーザの利用結果を用いた自動学習については課題の開示も解決もなされていない。
【0052】
一般にRBMTは、「規則が存在しない場合には翻訳精度が非常に低くなる、もしくは全く翻訳できず、想定以外の業界・分野への適応性も極めて低い」という短所を有しており、この短所は本質的に解決されていない(例えば特許文献1)。
【0053】
また翻訳性能を向上させるためには規則を追加していく必要があるが、これには開発コストが必要となる。更にユーザ側で規則を構築して翻訳システムをカスタマイズするには、規則の設計ルールについて相当の知識が要求されるため、一般ユーザが気軽に使えるものとはなっていない。すなわち、「RBMTの持つルールが増加するに従い、ルール同士の干渉・副作用が発生する可能性が飛躍的に増大し、ある文例で有効なルールを追記することで、他の文例で不都合が生じるといった現象が頻発するようになる」が、これを回避するためには、「システムが有している全てのルールを把握した上で、新たなルール追記が必要となる」ため、「ユーザの利用結果を用いた自動学習」はおろか、簡便なルール追加すら困難である。例えば、先に挙げた特許文献3では、RBMTが持つ翻訳ルールのうち、単語訳対のみについて、その有効性を自動で判断しようとしているに過ぎず、構文的な翻訳ルールについての干渉回避には至っていない。
【0054】
RBMTはこのような原理的な短所を有しているため、「ユーザによるRBMTのデータベースへの単語・用例登録」の効率化・簡便化がRBMTの課題として開示されている。これらは、ユーザに対して明示的に学習用データの入力や判断を求めるものであり、このような要求をユーザに対して行わないこと、すなわち、先の課題である「ユーザの利用結果を用いた自動学習」については、課題の開示も解決もなされていない状況である。
【0055】
2)統計的機械翻訳(SMT)
SMTでは、入力文と逆翻訳(入力文を目的言語に一旦翻訳し、更に目的言語から原言語に再度翻訳したもの)の結果の距離を翻訳信頼度として算出し、必要に応じて信頼度と逆翻訳結果をあわせて提示し、ユーザに言い直しや言い換えを行わせるもの(例えば、特許文献4参照。ただし特許文献4ではSMTを前提としない場合についても言及されており、RBMTも機械翻訳エンジンとして想定している。RBMTについて、特許文献4では段落番号[0009]にて、「文法規則型翻訳」としている。)、SMTの翻訳精度を評価する手法として、単語n−gram単位での類似度(BLEU値)を用いて自動学習をおこなうもの(非特許文献1参照)、入力文に対して得られた翻訳文に対する逆翻訳文をN個生成し、入力文と逆翻訳文の類似度から翻訳文の良否を比較評価するもの(例えば、特許文献2)、などがある。
【0056】
ここで、「(要件1)ユーザに負担を掛けず、ユーザが相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」について、これらの例では、例えば、ユーザに逆翻訳結果を提示すること(特許文献4)で、「相手に伝わる意図」をユーザに確認する手法を開示している。しかしながら、「簡便な形で翻訳文を生成・利用できること」については、逆翻訳結果に応じてユーザに再入力や言い換えを要求しており、課題解決には至っていない。
【0057】
具体的には、特許文献4の段落番号[0013]では、「適切に翻訳結果に対する信頼度を得ることができ、かつ低信頼度であった場合に入力側ユーザに適切に再入力を促すことができる信頼度算出装置、翻訳信頼度算出利用方法および翻訳エンジン用プログラムを提供する」と開示されている。すなわち、翻訳結果に対する信頼度が低いとシステムが判断した場合、ユーザは原文の再入力を強いられるのみならず、充分に高い信頼度を持つ翻訳文が出力されるまで、原文の表現を変えるなどの試行錯誤を行いながら翻訳システムへの入力と訳文出力の確認作業を実行し続ける必要がある。更にこの時に留意しなければならないことは、使用するユーザにとって、当該翻訳システムが「どういった内部動作で翻訳文を生成」し、「どういった基準で信頼度を算出」し、「どうすれば信頼度が高い翻訳文を得ることができるのか」という点について、何の知見も有していないということである。ユーザは指針も無く、ただ信頼度の高い翻訳結果を得るために、文章を様々に言い換えながらの入力を強いられることとなり、これは実用上の観点から見ると、極めて使いにくいシステムとなってしまう。特許文献4では、これらについての課題提起も解決法も提示されておらず、「簡便な形で翻訳文を生成・利用できること」という点において不十分であると言える。
【0058】
また、「(要件2)ユーザの利用結果を用いて(新たにユーザに負担をかけること無く)、自動的に学習できること」については、これまで「(要件1)ユーザに負担を掛けず、ユーザが相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」に関して述べたように、RBMT・SMT双方において、ユーザが負担を受けずに「相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」が実現されておらず、そのため、(要件1)を満たすような「ユーザの利用結果」を得る手法が開示されていないため、(要件1)を満たす「ユーザの利用結果」を用いた自動的な学習についても、課題の開示や解決法の提示は為されていない。
【0059】
この「(要件1)を満たすようなユーザの利用結果を得る手法が無い」ことを前提とした上で、何らかの別の学習用データが与えられた場合の翻訳システムの自動評価・学習法という観点で、先に述べた、「統計的機械翻訳システムの性能を評価する手法であるBLEU値による自動学習をおこなうもの(非特許文献1参照)」、「入力文に対し、逆翻訳文をN個取得し、入力文と逆翻訳文の類似度から比較評価を行うもの(例えば、特許文献2)、「対訳語句を対訳辞書に登録する際、対象とする翻訳装置に有効であるか否かを判別した結果を機械学習するもの(例えば、特許文献3参照)」等が存在する。
【0060】
非特許文献1は、事前に入力文に対する参照訳(正解データ)を準備し、翻訳エンジンの翻訳出力結果と正解データとを単言語でのn−gramをベースに比較することで、その比較結果を値(BLEUスコア)として機械的に算出し、その値が高くなるようにシステムをチューニングする、というものである。事前に入力文と、正解データとなる参照訳(翻訳文)を準備する必要があり、本質的に翻訳エンジンの内部モデルはこのチューニングによって何ら変化せず単に重みが変わるだけのため、モデルそのものを学習したい場合や、正解データが与えられない・正解データが一意に決定されない場合には、本手法は適用できない。
【0061】
仮に「要件1を満たすユーザの利用結果」が得られたとしても、その結果は「ユーザが、相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用した」結果である。この「結果」のうち、「どれが正解データであるかどうか」、「どう一意に正解データとするか」、「その後どうモデルの学習を行うか」について、何ら課題の開示も解決も示されていない。
【0062】
特許文献2には、翻訳結果を複数の逆方向の翻訳機で原言語に戻し、入力文と複数の逆翻訳文との間で文の類似度を機械的に算出することで、元の翻訳結果の良否を評価する内容が開示されている。特許文献2では、複数の逆翻訳文を生成することで、元の翻訳結果の評価を行うことが開示されているが、特許文献2において解決を図っている課題は、翻訳結果についての何らかの自動的な評価を行うことであり、この点において本質的に先の非特許文献1との差は存在しない。すなわち、特許文献2には、何らかの正解文(非特許文献1では参照訳、特許文献2では入力文に相当)と翻訳結果文(非特許文献1では翻訳文、特許文献2では翻訳結果を逆翻訳した逆翻訳文に相当)との間で、一致もしくは類似度を表すスコア(非特許文献1のBLEU値に代表されるスコア)を算出し、その値で翻訳結果の良否を評価することのみが開示されている。
【0063】
なお、特許文献2では翻訳システム自体の学習には言及されていないが、特許文献2の段落番号[0048]にて、「・・・3つの逆方向翻訳文と原文とのDPマッチングを行ない、最大スコアを順方向翻訳文の自動評価の結果とすることができるので、例文の翻訳文だけでなくすべての翻訳文に対する評価を可能とし、評価の労力を少なくし、かつ評価の信頼性を高くすることできる」と記載されており、その目的を、段落番号[0009]にて、「例文の翻訳文だけでなくすべての翻訳文に対する評価が可能で、評価の信頼性が高く、かつ労力が少ない機械翻訳文の評価方法、および機械翻訳文の評価装置」の構築としている。非特許文献1では事前に必要とされていた正解文(参照訳)が無い場合においても、特許文献2では、逆翻訳文と入力原文との機械的なマッチングスコアによる評価ができることを開示しており、特許文献2では学習について言及されていないが、このスコアを学習に用いることは、非特許文献1との組み合わせにおいて示唆される。
【0064】
しかしながら、特許文献2と非特許文献1を組み合わせた場合においても、モデルそのものを学習したい場合や、マッチングスコアが不正な場合や一意に決定されない場合には、依然としてチューニングすることができない。
【0065】
また、非特許文献1と同様に、仮に「要件1を満たすユーザの利用結果」が得られたとしても、その結果は「ユーザが、相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用した」結果である。このような結果をどう評価値として判断するか、さらにどのようにその評価値でモデルの学習を行うかについては、何ら課題の開示も解決も示されていない。
【0066】
すなわち、「ユーザが、相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用」することについては、課題の開示も解法の開示もなされておらず、それを用いた学習についても、先の非特許文献1と同様に何ら課題の開示も解決も示されていない。
【0067】
また、「(要件3)要件1・要件2の実現と同時に、計算機資源や開発コストを下げること」については、非特許文献1ではBLEU値の算出、特許文献2ではマッチングスコアの算出が新たに必要となり、計算機資源・開発コストは増大している。
【0068】
3)ディープニューラルネットによるモデル獲得型の機械翻訳(DNNMT)
非特許文献3及び非特許文献4は、ニューラルネットによる機械翻訳として、ディープニューラルネット(DNN:Deep Nueral Net)のうちRNN(Recurrent Neural Network)およびRNNの一種とされるLSTM(Long Short Term Memory)を用いたDNNMTを例示している。いずれの手法も、対訳コーパスをニューラルネットの入力層および出力層に対する正解データ(正例や負例)として用い、ニューラルネットの中間層を直接学習させることにより、ニューラルネットの内部に翻訳モデルを直接構築するものである。DNNが内部にどのような形で翻訳モデルを持つかは、学習データの種類や与え方、学習回数、DNN自身のネットワーク構成などに依存する。いずれのケースにおいても、どのように内部状態を変更すると、どのように翻訳性能が変化するのかについては開示されていない(学術的にも解明されていない)。本来、ニューラルネットの特性として、非線形な出力を学習できるという点があるが、DNNとなることで非線形性は飛躍的に増しており、何らかの内部パラメータと出力性能との線形的な因果関係は見いだせていないというのが現状である。
【0069】
言い換えると、DNNMTは「入力文に対して何らかの翻訳結果を返す」という意味では、先のRBMTやSMTと同じである。しかし、「なぜその翻訳結果が得られたのか」に点においては、RBMTはそのルールを記述したデータベースを参照すれば翻訳結果が得られた理由(元となったルール)が分かり、SMTでは翻訳モデル(各単語・句の発生確率、アライメント確率等)と言語モデル(n−gram確率)から最大確率だったものが選ばれた翻訳結果であることが分かるのに対し、DNNMTでは、ルールやモデルに相当するものをニューラルネットが自ら構築するため、ニューラルネットの出力層が出してきた結果が翻訳結果の文であった、ということ以上に内部モデル・動作についての知見は得られない。
【0070】
このため、DNNMTは学術研究が中心となっており、実用フェーズには至っておらず「(要件1)ユーザに負担を掛けず、ユーザが相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用できること」のような、実利用面からの課題にまでは至っていない。
【0071】
また、「(要件2)ユーザの利用結果を用いて(新たにユーザに負担をかけること無く)、自動的に学習できること」についても、仮に「(要件1)を満たすユーザの利用結果」が得られたとしても、その結果を用いて「その後どうモデルの学習を行うか」については、内部動作の解明が必要であり、当然ながら何ら課題の開示も解決も示されていない。
【0072】
以上をまとめると、従来技術では以下の点で課題を有していた。
【0073】
・対訳データベースに類似例や訳文が記述されていない場合、及び、分野が異なる場合に、翻訳精度が極めて低い翻訳文を提示する可能性、もしくは全く翻訳できない可能性が有る。
【0074】
・翻訳文の内容をユーザが簡便に確認し選択する方法がないため、入力文に対する逆翻訳文の提示や翻訳品質(信頼度)の提示と言った方法では、提示内容の品質・信頼度が低かった場合に、ユーザは再入力を強いられるが、再入力によって品質が向上する保証はなく、ユーザは入力を試行錯誤する他ない。
【0075】
・BLUE値など、何らかの方法で機械的に算出したスコアに基づいた翻訳システムの自動チューニングは先行例において開示されているが、「ユーザが、相手に伝わる意図を簡便な形で確認をしながら翻訳文を生成・利用した」場合、その結果に基づく評価、及び、学習をどのように行なうかについては、いずれも課題が開示されておらず、解決法も未開示である。
【0076】
・類似用例やチューニング用のデータ(評価スコアを算出等)を生成する計算機資源が必要である。また類似用例を作成する開発・人的コストも必要となる。
【0077】
そこで、機械翻訳システムの機能向上のため、以下の改善策を検討した。
【0078】
機械翻訳システムの機械翻訳方法の一態様は、言語情報を出力する情報出力装置へ接続し、第1言語と第2言語との間の翻訳処理を行なう機械翻訳システムにおける機械翻訳方法であって、前記第1言語の翻訳対象文を受信し、受信した前記翻訳対象文を前記第2言語へ翻訳した複数の異なる順翻訳文を生成し、前記複数の異なる前記順翻訳文の各々について前記第1言語へ逆翻訳した複数の逆翻訳文を生成し、前記情報出力装置において前記複数の逆翻訳文を出力しているときに、前記複数の逆翻訳文から一の逆翻訳文を選択する操作を受け付けた場合、前記一の逆翻訳文に対応する前記順翻訳文を出力する。
【0079】
上記態様によると、第1言語の翻訳対象文を第2言語へ翻訳した複数の異なる順翻訳文を生成し、複数の順翻訳文の各々について第1言語へ逆翻訳した複数の逆翻訳文を生成し、情報出力装置において複数の逆翻訳文を出力しているときに、複数の逆翻訳文から一の逆翻訳文を選択する操作を受け付けた場合、前記一の逆翻訳文に対応する順翻訳文を出力する。
【0080】
例えば、受信した翻訳対象文に対応する複数の逆翻訳文をユーザへ提示し、その中からユーザに選択された逆翻訳文に対応する順翻訳文を提示する。従って、ユーザは、複数の逆翻訳文の中から、自身が入力した翻訳対象文の意図に一番近い逆翻訳文を選択することとなるため、例えば、第1言語で入力された翻訳対象文を第2言語へ翻訳した一の翻訳文、および当該翻訳文に対応する一の逆翻訳文のみが提示されるシステムと比較すると、逆翻訳文が翻訳対象文の意図する内容と異なることで、翻訳対象文の修正または入力のやり直しなどが求められる場面が少なくなる。
【0081】
また、例えば、ユーザによって複数の逆翻訳文の中から一の逆翻訳文が選択されるため、機械翻訳システムは、入力された翻訳対象文の意図する内容として、提示した複数の逆翻訳文の中ではどの逆翻訳文が一番妥当であるか、もしくはユーザの好みの表現に合うか、などのフィードバックを得ることが可能である。そのため、例えば、上記態様における機械翻訳システムに機械学習を適用する場合には、入力された翻訳対象文に対して提示した逆翻訳文が妥当であるか否かという評価に加えて、提示した複数の逆翻訳文の中ではいずれの逆翻訳文が妥当であるかという評価も得られる。このとき、機械翻訳システムにおける一度の翻訳動作によって、複数の逆翻訳文に対するフィードバックが得られるので、機械翻訳システムの高い学習効率を実現できる。
【0082】
さらに、上記態様によると、機械翻訳システムにおける機械学習について、BLEU値の算出による翻訳精度の評価、または入力された翻訳対象文と逆翻訳文との機械的なマッチングスコアによる翻訳精度の評価などが必要なく、ユーザによる逆翻訳文の選択によって学習用データが生成される。そのため、学習用データの生成に新たな計算機資源を必要とせず、開発コストを抑えることもできる。
【0083】
上記態様において、例えば、前記機械翻訳システムは、さらに、ユーザによる音声入力を受け付ける音声入力装置、およびユーザによるテキスト入力を受け付けるテキスト入力装置と接続し、前記翻訳対象文は、当該翻訳文を表す音声情報、またはテキスト情報の形態で受信し、前記音声情報、または前記テキスト情報のいずれの形態で前記翻訳対象文を受信したかに応じて、前記一の逆翻訳文に対応する前記順翻訳文の出力の形態を変更するとしてもよい。
【0084】
上記態様によると、翻訳対象文を、音声情報、またはテキスト情報のいずれの形態で受信したかに応じて、順翻訳文の出力の形態を変更する。これによって、例えば、入力モーダルに応じて出力のモーダルが決定されるため、ユーザは入力の形態を変えることで出力の形態を自由に決定できる。
【0085】
上記態様において、例えば、前記情報出力装置は、音声出力装置およびディスプレイを有し、前記翻訳対象文を音声情報の形態で受信した場合は、前記一の逆翻訳文に対応する前記順翻訳文を、前記音声出力装置を介して出力し、前記翻訳対象文をテキスト情報の形態で受信した場合は、前記一の逆翻訳文に対応する前記順翻訳文を、前記ディスプレイを介して出力するとしてもよい。
【0086】
これによると、入力の形式と出力の形式がそれぞれ同じモーダルで対応しているため、ユーザは、自身の希望する出力形態で翻訳対象文を入力すれば良く、いずれの入力形態で入力すれば希望する出力形態で翻訳文が出力されるかの混乱が生じない。
【0087】
上記態様において、例えば、前記翻訳対象文は、当該翻訳対象文を示すテキスト情報で受信し、前記テキスト情報に基づいて、前記翻訳対象文を前記第2言語へ翻訳した複数の異なる順翻訳文を生成するとしてもよい。
【0088】
上記態様において、例えば、前記機械翻訳システムは、さらに、ユーザによるテキスト入力を受け付けるテキスト入力装置と接続し、前記翻訳対象文は、前記テキスト入力装置から、当該翻訳対象文を示すテキスト情報で受信するとしてもよい。
【0089】
上記態様において、例えば、前記翻訳対象文は、当該翻訳対象文を表す音声情報で受信し、受信した前記音声情報に対して音声認識処理を行って前記翻訳対象文を示すテキスト情報を生成し、前記テキスト情報に基づいて、前記翻訳対象文を前記第2言語へ翻訳した複数の異なる順翻訳文を生成するとしてもよい。
【0090】
これによって、音声を用いた翻訳対象文の入力が可能となるので、例えば、翻訳対象文をキーボード、タッチディスプレイなどを用いて入力する必要が無いので、ユーザは簡単に翻訳対象文を入力できる。
【0091】
上記態様において、例えば、前記機械翻訳システムは、さらに、ユーザの音声の入力を受け付ける音声入力装置と接続し、前記翻訳対象文は、前記音声入力装置から、当該翻訳対象文を表す音声情報で受信するとしてもよい。
【0092】
上記態様において、例えば、前記情報出力装置はディスプレイを有し、前記複数の逆翻訳文は、前記ディスプレイの第1領域に表示され、前記ディスプレイの第1領域とは異なる第2領域に、前記翻訳対象文が表示されるとしてもよい。
【0093】
上記態様によると、逆翻訳文と翻訳対象文とで表示する領域を分ける。逆翻訳文と翻訳対象文とは同じ言語の文章であるため、ユーザは、いずれが逆翻訳文でいずれが翻訳対象文であるかを簡単に見分けることができ、混同することがない。
【0094】
上記態様において、例えば、前記ディスプレイの第3領域に、前記一の逆翻訳文に対応する前記順翻訳文が表示されるとしてもよい。
【0095】
これによって、逆翻訳文、翻訳対象文、順翻訳文のそれぞれが異なる領域に表示されるため、それぞれいずれの文章であるか、ユーザにとって分かりやすい。
【0096】
上記態様において、例えば、前記情報出力装置に対する操作に応じて、前記一の逆翻訳文に対応する前記順翻訳文の表示の向きが変更されるとしてもよい。
【0097】
これによって、例えば、それぞれ異なる言語を話す、ユーザAおよびユーザBが向かい合って会話をする場合、ユーザAが話す言語で入力した翻訳対象文に対応してユーザBが話す言語で出力された順翻訳文が情報出力装置に表示されているときに順翻訳文の向きを、例えば、逆向きに変更できれば、ユーザAが順翻訳文を読み上げたり、情報出力装置自体の向きを変更したりして、ユーザBに順翻訳文の内容を伝える必要が無く、向かい合った二人のユーザが情報出力装置を上から覗き込むようにして異なる言語間のコミュニケーションを図ることが可能である。
【0098】
上記態様において、例えば、前記順翻訳文の表示の向きは、前記第1領域に表示される前記複数の逆翻訳文の表示の向きとは異なる向きへ変更されるとしてもよい。
【0099】
上記態様において、例えば、前記順翻訳文の表示の向きは、前記第1領域に表示される前記複数の逆翻訳文の表示の向きと同じ向きへ変更されるとしてもよい。
【0100】
上記態様において、例えば、前記一の逆翻訳文に対応する前記順翻訳文は、前記第1領域に表示される前記複数の逆翻訳文とは異なる向きで表示されるとしてもよい。
【0101】
上記態様において、例えば、前記機械翻訳システムは、受信した前記翻訳対象文を前記第2言語へ翻訳した前記順翻訳文の集合であって、前記複数の異なる順翻訳文を含む順翻訳文群を生成し、前記順翻訳文群に含まれる前記順翻訳文の各々について、疑問文、肯定文、否定文、命令文の中のいずれの形態に分類されるかを判断し、前記複数の異なる順翻訳文は、分類された前記形態に基づいて、前記順翻訳文群の中から選択されるとしてもよい。
【0102】
上記態様によると、順翻訳文群の中から、文章の形態に基づいて複数の異なる順翻訳文が選択されるため、例えば、翻訳対象文に基づいて機械的に生成された順翻訳文群から、翻訳対象文の形態と同じ形態である順翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。また、例えば、翻訳対象文の形態と異なる形態である順翻訳文を含んで複数の順翻訳文を選択してもよく、これによって、順翻訳文に基づいて生成され、ユーザに提示される、複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0103】
上記態様において、例えば、前記複数の異なる順翻訳文は、各々異なる前記形態に分類された少なくとも2以上の前記順翻訳文を含むとしてもよい。
【0104】
これによって、順翻訳文に基づいて生成され、ユーザに提示される、複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0105】
上記態様において、例えば、前記機械翻訳システムは、受信した前記翻訳対象文を前記第2言語へ翻訳した前記順翻訳文の集合である順翻訳文群を生成し、前記順翻訳文群は、前記複数の異なる順翻訳文を含み、前記順翻訳文群に含まれる前記順翻訳文各々の主語、または述語を判断し、前記複数の異なる順翻訳文は、判断された前記主語または前記述語に基づいて、前記順翻訳文群の中から選択されるとしてもよい。
【0106】
上記態様によると、順翻訳文群の中から、主語または述語に基づいて複数の異なる順翻訳文が選択されるため、例えば、翻訳対象文に基づいて機械的に生成された順翻訳文群から、翻訳対象文と同じ主語または述語を有する順翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。また、例えば、翻訳対象文と異なる主語または述語を有する順翻訳文を含んで複数の順翻訳文を選択してもよく、これによって、順翻訳文に基づいて生成され、ユーザに提示される、複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0107】
上記態様において、例えば、前記複数の異なる順翻訳文は、各々異なる主語、または述語を含むと判断された少なくとも2以上の順翻訳文を含むとしてもよい。
【0108】
これによって、順翻訳文に基づいて生成され、ユーザに提示される、複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0109】
上記態様において、例えば、前記複数の異なる順翻訳文は、各々同一の主語、または述語を含むと判断された順翻訳文であるとしてもよい。
【0110】
これによって、例えば、翻訳対象文に基づいて機械的に生成された順翻訳文群から、翻訳対象文と同じ主語または述語を有する順翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。
【0111】
上記態様において、例えば、前記機械翻訳システムは、前記複数の異なる前記順翻訳文の各々に対して少なくとも一以上生成した前記逆翻訳文の集合であって、前記複数の逆翻訳文を含む逆翻訳文群を生成し、前記逆翻訳群に含まれる前記逆翻訳文の各々について、前記翻訳対象文との類似度を評価した評価値を算出し、前記複数の逆翻訳文は、前記評価値に基づいて、前記逆翻訳文群の中から選択されるとしてもよい。
【0112】
上記態様によると、逆翻訳文群の中から、翻訳対象文との類似度に基づいて複数の異なる逆翻訳文が選択されるため、例えば、翻訳対象文との類似度が高い逆翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。また、例えば、翻訳対象文との類似度が低い逆翻訳文を含んで複数の逆翻訳文を選択してもよく、これによって、ユーザに提示される、複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0113】
上記態様において、例えば、前記機械翻訳システムは、前記複数の異なる前記順翻訳文の各々に対して少なくとも一以上生成した前記逆翻訳文の集合であって、前記複数の逆翻訳文を含む逆翻訳文群を生成し、前記逆翻訳文群に含まれる前記逆翻訳文の各々について、疑問文、肯定文、否定文、命令文の中のいずれの形態に分類されるかを判断し、前記複数の逆翻訳文は、分類された前記形態に基づいて、前記逆翻訳文群の中から選択されるとしてもよい。
【0114】
上記態様によると、逆翻訳文群の中から、文章の形態に基づいて複数の異なる逆翻訳文が選択されるため、例えば、逆翻訳文群から、翻訳対象文の形態と同じ形態である逆翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。また、例えば、翻訳対象文の形態と異なる形態である逆翻訳文を含んで複数の逆翻訳文を選択してもよく、これによって、ユーザに提示される複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0115】
上記態様において、例えば、前記複数の逆翻訳文は、各々異なる前記形態に分類された少なくとも2以上の前記逆翻訳文を含むとしてもよい。
【0116】
これによって、ユーザに提示される複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0117】
上記態様において、例えば、前記機械翻訳システムは、前記複数の異なる前記順翻訳文の各々に対して少なくとも一以上生成した前記逆翻訳文の集合であって、前記複数の逆翻訳文を含む逆翻訳文群を生成し、前記逆翻訳文群に含まれる前記逆翻訳文各々の主語、または述語を判断し、前記複数の逆翻訳文は、判断された前記主語または前記述語に基づいて、前記逆翻訳文群の中から選択されるとしてもよい。
【0118】
上記態様によると、逆翻訳文群の中から、主語または述語に基づいて複数の異なる逆翻訳文が選択されるため、例えば、逆翻訳文群から、翻訳対象文と同じ主語または述語を有する逆翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。また、例えば、翻訳対象文と異なる主語または述語を有する逆翻訳文を含んで複数の逆翻訳文を選択してもよく、これによって、ユーザに提示される複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0119】
上記態様において、例えば、前記複数の逆翻訳文は、各々異なる主語、または述語を含むと判断された少なくとも2以上の逆翻訳文を含むとしてもよい。
【0120】
これによって、ユーザに提示される複数の逆翻訳文のバリエーションを増やすことができる。そのため、例えば、機械翻訳システムに機械学習を適用させる際には、似通った内容の複数の逆翻訳文からユーザに一の逆翻訳文を選択させると、選択されなかった逆翻訳文でもユーザの入力した翻訳対象文の示す意図を表わせていた場合に、選択されなかったことで間違った逆翻訳文であると機械翻訳システムが学習してしまうことを防止できる。
【0121】
上記態様において、例えば、前記複数の逆翻訳文は、各々同一の主語、または述語を含むと判断された逆翻訳文であるとしてもよい。
【0122】
これによって、例えば、逆翻訳文群から、翻訳対象文と同じ主語または述語を有する逆翻訳文のみを選択することができ、最終的な翻訳精度を向上させることができる。
【0123】
上記態様において、例えば、前記機械翻訳システムは、前記翻訳処理において参照する確率モデルを管理し、前記翻訳処理において、機械学習を適応し、前記複数の逆翻訳文の中のいずれの前記逆翻訳文が前記一の逆翻訳文として選択されたかを示す情報に基づいて、前記機械学習を行なって、前記確率モデルのパラメータを更新するとしてもよい。
【0124】
上記態様によると、前記複数の逆翻訳文の中のいずれの前記逆翻訳文が前記一の逆翻訳文として選択されたかを示す情報に基づいて、前記機械学習を行なって、前記確率モデルのパラメータを更新する。これによって、翻訳対象文に対して提示された複数の逆翻訳文の中のいずれの逆翻訳文が選択されたかを示す情報がシステムに反映されるため、機械翻訳システムが使用されることで翻訳精度を向上させることが可能である。
【0125】
上記態様において、例えば、前記確率モデルは、前記翻訳処理に用いられる単語またはフレーズ毎に付与される重み値を含み、前記機械翻訳システムは、前記一の逆翻訳文に対応する順翻訳文である選択順翻訳文に含まれる単語またはフレーズと、前記一の逆翻訳文以外の逆翻訳文に対応する順翻訳文である非選択翻訳文に含まれる単語またはフレーズと、を比較し、前記選択順翻訳文にのみ含まれる単語またはフレーズと、前記非選択順翻訳文にのみ含まれる単語またはフレーズと、前記選択順翻訳文と前記非選択順翻訳文の双方に含まれる単語またはフレーズとに対して、各々異なる前記重み値の更新方法を適応して前記重み値を更新し、更新された前記重み値と、更新された前記重み値に対応する前記単語または前記フレーズを教師データとして用いて前記機械学習を行なうとしてもよい。
【0126】
これによって、例えば、選択順翻訳文に含まれる単語またはフレーズと、選択順翻訳文に含まれない単語またはフレーズとで、スコアに差を付けて機械学習を行うことができるので、非選択順翻訳文の中に含まれる単語またはフレーズであっても、重み値の更新においてプラスの評価が行なわれる場合がある。そのため、非選択順翻訳文において、部分的に正しい翻訳が行なわれていた場合に、その部分を正しく評価可能であり、ユーザの評価結果を反映できる。
【0127】
さらに、機械学習によって、確率モデルに対して、逐次、単語またはフレーズ単位でユーザの選択結果を反映させながら、学習させることが可能となり、翻訳精度を向上させることができる。
【0128】
上記態様において、例えば、前記確率モデルは、前記翻訳処理に用いられる単語またはフレーズ毎に付与される重み値を含み、前記機械翻訳システムは、前記一の逆翻訳文に含まれる単語またはフレーズと、前記一の逆翻訳文以外の逆翻訳文である非選択逆翻訳文に含まれる単語またはフレーズと、を比較し、前記一の逆翻訳文にのみ含まれる単語またはフレーズと、前記非選択逆翻訳文にのみ含まれる単語またはフレーズと、前記一の逆翻訳文と前記非選択逆翻訳文の双方に含まれる単語またはフレーズとに対して、各々異なる前記重み値の更新方法を適応して前記重み値を更新し、更新された前記重み値と、更新された前記重み値に対応する前記単語または前記フレーズを教師データとして用いて前記機械学習を行なうとしてもよい。
【0129】
これによって、例えば、選択された一の逆翻訳文に含まれる単語またはフレーズと、選択された一の逆翻訳文に含まれない単語またはフレーズとで、スコアに差を付けて機械学習を行うことができるので、非選択逆翻訳文の中に含まれる単語またはフレーズであっても、重み値の更新においてプラスの評価が行なわれる場合がある。そのため、非選択逆翻訳文において、部分的に正しい翻訳が行なわれていた場合に、その部分を正しく評価可能であり、ユーザの評価結果を反映できる。
【0130】
さらに、機械学習によって、確率モデルに対して、逐次、単語またはフレーズ単位でユーザの選択結果を反映させながら、学習させることが可能となり、翻訳精度を向上させることができる。
【0131】
上記態様において、例えば、前記機械翻訳システムは、前記一の逆翻訳文に含まれる単語またはフレーズと、前記一の逆翻訳文以外の逆翻訳文である非選択逆翻訳文に含まれる単語またはフレーズと、を比較し、前記一の逆翻訳文にのみ含まれる単語またはフレーズと、前記非選択逆翻訳文にのみ含まれる単語またはフレーズと、前記一の逆翻訳文と前記非選択逆翻訳文の双方に含まれる単語またはフレーズとに対して、各々異なる前記重み値の更新方法を適応して前記重み値を更新し、更新された前記重み値と、更新された前記重み値に対応する前記単語または前記フレーズを教師データとして用いて前記機械学習を行なうとしてもよい。
【0132】
上記態様において、例えば、前記重み値は、前記一の逆翻訳文のみに対応する前記単語について、正例としての値であり、前記一の逆翻訳文以外の文のみに対応する前記単語について、負例としての値であるとしてもよい。
【0133】
これによって、前記重み値に対して、プラスの評価とマイナスの評価の双方を反映できる。
【0134】
上記態様において、例えば、前記機械学習は、強化学習、識別学習、ニューラルネット学習の中の少なくとも一を用いた学習であるとしてもよい。
【0135】
また、他の態様において、第1言語と第2言語との間の翻訳処理を行う機械翻訳装置であって、前記第1言語の翻訳対象文の入力を受け付ける入力部と、前記翻訳対象文を前記第2言語へ翻訳した順翻訳文、前記順翻訳文を前記第1言語へ逆翻訳した逆翻訳文、を生成する翻訳部と、前記逆翻訳文および前記一の逆翻訳文に対応する前記順翻訳文を出力する出力部と、ユーザの入力を受け付けるユーザ入力部と、を備え、前記翻訳部は、前記翻訳対象文について複数の異なる前記順翻訳文を生成し、前記複数の異なる前記順翻訳文の各々に対応する複数の逆翻訳文を生成し、前記出力部は、前記複数の逆翻訳文を出力しているときに、前記ユーザ入力部において、前記複数の逆翻訳文から一の逆翻訳文を選択する入力を受け付けた場合、前記一の逆翻訳文に対応する前記順翻訳文を出力する。
【0136】
また、第2の他の態様において、情報出力装置へ接続し、第1言語と第2言語との間の翻訳処理を行う機械翻訳装置の動作を制御するプログラムであって、前記機械翻訳装置のコンピュータに対して、前記第1言語の翻訳対象文を受信させ、受信した前記翻訳対象文を前記第2言語へ翻訳した複数の異なる順翻訳文を生成させ、前記複数の異なる前記順翻訳文の各々について前記第1言語へ逆翻訳した複数の逆翻訳文を生成させ、前記情報出力装置において、前記複数の逆翻訳文を表示させているときに、前記複数の逆翻訳文から一の逆翻訳文を選択する操作を受け付けた場合、前記一の逆翻訳文を前記第2言語へ翻訳した順翻訳文を出力させる。
【0137】
(実施の形態)
以下本発明の実施の形態について、図面を参照しながら説明する。
【0138】
なお以下の実施の形態では、翻訳前の言語である原言語を日本語、翻訳後の言語である目的言語を英語として説明している箇所があるが、これらは一例であり、原言語と目的語の対はどのような組み合わせの言語対であっても構わない。
【0139】
原言語から目的言語への翻訳で得られた翻訳文を順翻訳文、目的言語から原言語への翻訳で得られた翻訳文を逆翻訳文と表記する。
【0140】
また、ユーザに提示される逆翻訳文を、ユーザ提示文と表記し、ユーザが選択した文を(ユーザ)選択文、選択しなかった逆翻訳文を(ユーザ)非選択文と表記する。
【0141】
図1は、本実施の形態における、システムの全体構成の一例を示す図である。情報表示端末100、ネットワーク200、翻訳サーバ300、マイク400、スピーカー500を備える。情報表示端末100の例としては、スマートフォンやタブレット端末、専用表示機器端末、パーソナルコンピュータ(PC)などが挙げられる。ここに挙げたもの以外でも、ユーザと情報のやりとりができる端末であれば何でもよい。
【0142】
また、情報表示端末100におけるユーザの入力操作は、テキストでの入力、音声による入力などが想定される。テキストでの入力においては、例えば、タッチパネルによる入力や、キーボードによる入力が考えられる。また、音声による入力の場合、例えば、マイクによる入力が考えられる。この他にも、例えば、ジェスチャによる入力などを用いるとしてもよい。
【0143】
情報表示端末100において、機械翻訳結果等を出力する場合、ディスプレイを介して結果を出力してもよいし、音声を用いて結果を出力するとしてもよい。
【0144】
ネットワーク200は、情報表示端末100、翻訳サーバ300、マイク400、スピーカー500が接続される。接続方法の一例として、有線、無線によるLAN接続などが挙げられるが、各構成要素を通信可能に接続するものであれば、これに限らない。
【0145】
翻訳サーバ300は、情報表示端末100から受信した翻訳対象文に対して機械翻訳処理を行う。例えば、情報表示端末100から入力された原言語の文字列を受信し、機械翻訳処理を行う。また、機械翻訳結果についてユーザからのフィードバックを受けて、機械学習を行なう機能も有する。翻訳サーバ300の詳細な構成は後述する。
【0146】
なお、例えば、情報表示端末100と翻訳サーバ300が一体となって実現されてもよい。
【0147】
マイク400は、機械翻訳システムに対して、音声による入力を行なう。マイク400は、情報表示端末100に付属していてもよいし、単独でネットワーク200に接続する機能を備えているとしてもよい。また、機械翻訳システムに対して、音声による入力が行われない場合は、マイク400の構成は必須ではない。
【0148】
スピーカー500は、機械翻訳システムにおいて、音声による出力を行なう。スピーカー500は、情報表示端末100に付属していてもよいし、単独でネットワーク200に接続する機能を備えているとしてもよい。また、機械翻訳システムにおいて、音声による出力が行われない場合は、スピーカー500の構成は必須ではない。
【0149】
機械翻訳システムの入力・出力モダリティは、音声による入出力、またはテキストでの入出力のいずれか一方のみを備えていてもよいし、両方を備えていてもよい。ユーザから、機械翻訳システムに対して音声による入力が行われた場合、音声による出力を行う。また、ユーザからテキスト形式で入力された場合は、テキスト(画面表示)による出力を行う。
【0150】
図2は、本実施の形態における、情報表示端末100の構成を示すブロック図である。
【0151】
情報表示端末100は、通信部101、入力部102、出力部103、制御部104、選択文検出部105、記憶部106を備える。
【0152】
通信部101は、翻訳サーバ300との通信を行い、情報表示端末100において入力された翻訳対象文の送信、後述する翻訳文および逆翻訳文の受信などを行なう。また、これらの情報に限らず、翻訳サーバ300と各種の情報の送受信を行なう。
【0153】
入力部102は、ユーザからの入力を受け付ける。入力部102は、翻訳対象文の入力、後述する逆翻訳文の選択入力などの入力を受け付ける。入力の形態としては、音声入力、テキスト形式での入力が考えられる。音声入力が用いられる場合、音声によって入力された翻訳対象文に対して音声認識処理が行われ、音声認識処理の結果出力される文字列が入力文として機械翻訳システムに入力される。テキスト形式での入力が用いられる場合、キーボード、マウス、タッチパネルなどによる文字列の入力を受け付ける。
【0154】
出力部103は、入力部102において入力された翻訳対象文、通信部101を介して受信した複数の逆翻訳文、翻訳結果などを出力する。なお、出力部103は、ディスプレイなど、画面表示を実行する表示部として実現されてもよく、例えば、スマートフォン、タブレット端末などに用いられるタッチパネル式のディスプレイまたはモニタが想定される。また、スピーカーなど、音声を出力する音声出力部として実現されてもよい。制御部104は、通信部101、入力部102、出力部103、制御部104、選択文検出部105、記憶部106の動作を制御する。
【0155】
選択文検出部105は、出力部103によって出力された複数の逆翻訳文に対して、ユーザがどの逆翻訳文を選択したかを検出する。例えば、入力部102において、複数の逆翻訳文から一の逆翻訳文を選択する旨の入力が行なわれた場合、どの逆翻訳文が選択されたかを示すユーザ選択情報が選択文検出部105において検出される。検出したユーザ選択情報は、通信部101を介して翻訳サーバ300へ送信される。また、ユーザ選択情報に基づいて、出力部103の出力内容を制御してもよい。例えば、出力部103がディスプレイによって実現されている場合、ユーザが選択した逆翻訳文を強調表示する、もしくは、ユーザが選択しなかった逆翻訳文を表示画面から消去する制御を行なうとしてもよい。
【0156】
ここで、ユーザによって選択された逆翻訳文、およびその逆翻訳文に対応する順翻訳文をユーザ選択文とする。また、ユーザが選択しなかった逆翻訳文、およびその逆翻訳文に対応する順翻訳文をユーザ非選択文とする。
【0157】
記憶部106は、翻訳サーバ300から受信した情報の一時的な記憶、情報表示端末100において実行される各種のアプリケーションプログラムの記憶などを行なう。
【0158】
図3は、本実施の形態における、翻訳サーバ300の構成を示すブロック図である。翻訳サーバ300は、通信部210、制御部220、機械翻訳部230、記憶部240を備える。さらに、機械翻訳部230は、順翻訳部231、順翻訳文選択部232、逆翻訳部233、逆翻訳文選択部234、選択文判断部235、フレーズ分割部236、選択結果評価部237、学習部238を有する。
【0159】
通信部210は、情報表示端末100との通信を行い、情報表示端末100において入力された翻訳対象文の受信、後述する翻訳文および逆翻訳文の送信などを行なう。また、これらの情報に限らず、情報表示端末100と各種の情報の送受信を行なう。
【0160】
制御部220は、通信部210、機械翻訳部230、記憶部240の各種の動作を制御する。
【0161】
記憶部240は、機械翻訳部230が各種の翻訳処理、フレーズ分割処理などにおいて参照するフレーズテーブルを格納する。フレーズテーブルについては後述する。
【0162】
機械翻訳部230は、通信部を介して受信した翻訳対象文に対して機械翻訳処理を実行する。機械翻訳部230では、ルールベース機械翻訳(RBMT)、統計的機械翻訳(SMT)、ディープニューラルネットワークによるモデル獲得型の機械翻訳(DNNMT)などによって機械翻訳が行われる。機械翻訳部230は、翻訳結果を評価して、自動評価スコア(BLEUなど)、内部スコア(人手による評価など)などのスコアを取得する。
【0163】
また、ユーザによる選択結果を機械学習へ反映させるため、翻訳手法によっては必要に応じて
図11に示すような、フレーズの対を予め示した、フレーズテーブルを用意する。
【0164】
ルールベース機械翻訳(RBMT)は、人手によって構築された変換規則(訳語の対をデータベースとして記憶したもの)を元に翻訳を行うため、
図11のようなフレーズテーブルを保持していない可能性がある。ただし、句または単語単位での対訳データベースが存在する場合は、対訳データベースに学習結果を反映してもよいし、フレーズテーブルを別途用意してもよい。
【0165】
統計的機械翻訳(SMT)では、
図11のようなフレーズテーブルを予め保持しているため、これを使用すればよい。
【0166】
ディープニューラルネットによるモデル獲得型の機械翻訳(DNNMT)では、モデル自体を自動で構築するため、フレーズテーブルを保持していないことが多い。よって、別途フレーズテーブルを用意してもよい。
【0167】
さらに、ユーザの選択を学習結果に反映する対象はこれだけに限らず、例えば、原言語同士の言い換えの対を表すようなデータベースを持っていてもよい。なお、機械翻訳処理の詳細については、後述する。
【0168】
順翻訳部231は、通信部210を介して受信した翻訳対象文の言語(原言語)から、翻訳対象文を翻訳した結果出力される言語(目的言語)への機械翻訳処理を実行する。ここで、原言語から目的言語への翻訳を、順翻訳とし、順翻訳によって得られる翻訳文を順翻訳文とする。このとき、順翻訳処理によって、翻訳対象文に対して複数の順翻訳文が生成される。また、順翻訳部231は、記憶部240に格納されているフレーズテーブルを参照して機械翻訳処理を行う。順翻訳部231において生成された複数の順翻訳文を、順翻訳文群とする。順翻訳部231は、生成した順翻訳文群を、順翻訳文選択部232へ出力する。
【0169】
順翻訳文選択部232は、順翻訳部231によって生成された順翻訳文群の中から、N個の順翻訳文を選択する順翻訳文選択処理を行う。この順翻訳文選択処理の詳細については後述する。順翻訳文選択部232は、選択したN個の順翻訳文を逆翻訳部233へ出力する。
【0170】
逆翻訳部233は、順翻訳文選択部232において選択されたN個の順翻訳文の各々について、順翻訳文の言語(目的言語)から、翻訳対象文の言語(原言語)への機械翻訳処理を実行する。ここで、目的言語から原言語への翻訳を、逆翻訳とし、逆翻訳によって得られる翻訳文を逆翻訳文とする。このとき、逆翻訳処理によって、各々の順翻訳文に対して一以上の逆翻訳文が生成される。そのため、結果として、複数の逆翻訳文が生成される。また、逆翻訳部233は、記憶部240に格納されているフレーズテーブルを参照して機械翻訳処理を行う。逆翻訳部233において生成された複数の逆翻訳文を逆翻訳文群とする。逆翻訳部233は、生成した逆翻訳文群を逆翻訳文選択部234へ出力する。
【0171】
逆翻訳文選択部234は、逆翻訳部233によって生成された逆翻訳文群の中から、M個の逆翻訳文を選択する逆翻訳文選択処理を行う。この逆翻訳文選択処理については、後述する。逆翻訳文選択部234は、通信部210を介して、選択したM個の逆翻訳文を情報表示端末100へ送信する。情報表示端末100の出力部103において、M個の逆翻訳文は選択可能に出力される。
【0172】
選択文判断部235は、通信部210を介して情報表示端末100から受信したユーザ選択情報に基づいて、逆翻訳文選択部234において選択されたM個の逆翻訳文の中からユーザがどの逆翻訳文を選択したかを判断し、判断した情報をフレーズ分割部236へ出力する。
【0173】
フレーズ分割部236は、逆翻訳文選択部234から入力された複数の逆翻訳文に基づいて、複数の逆翻訳文の各々について、逆翻訳文を句または単語単位に分割する。また、逆翻訳文に対応する順翻訳分についても、句または単語単位に分割する。このとき、選択文判断部235から入力された複数の逆翻訳文からいずれの逆翻訳文が選択されたかを示す情報もあわせて用いるとしてもよい。また、記憶部240に格納されているフレーズテーブルを用いるとしてもよい。逆翻訳文および順翻訳文を句または単語単位に分割した情報と、ユーザ選択情報とが選択結果評価部237へ出力される。
【0174】
フレーズ分割には、統計的機械翻訳(SMT)に示されるような、双言語間での、句または単語単位での対応関係を示すフレーズテーブルを用いることが多いが、必ずしも決まったフレーズテーブルを用いる必要はなく、それに類するものであってもよい。機械翻訳においてフレーズテーブルが用いられている場合は、そのフレーズテーブルを用いて分割を行ってもよい。または、別途用意したフレーズテーブルなどを用いてもよいし、対訳辞書などがあればそれを用いてもよい。
【0175】
選択結果評価部237では、フレーズ分割部236から入力される情報に基づいて、順翻訳文および逆翻訳文に対して評価を行なう。このとき、ユーザ選択情報に基づいて、ユーザ選択文とユーザ非選択文とで異なる評価を行うとしてもよい。詳細な評価方法については、後述する。選択結果評価部237は、順翻訳文および逆翻訳文を評価した評価情報を学習部238へ出力する。
【0176】
学習部238は、選択結果評価部237から入力された評価情報に基づいて、記憶部240に格納されているフレーズテーブルを更新することで機械翻訳処理における機械学習を行なう。すなわち、評価情報をフレーズテーブルに反映する。機械学習の対象としては、順翻訳部231が参照するフレーズテーブルでもよいし、逆翻訳部233が参照するフレーズテーブルでもよい。また、必ずしも評価情報をフレーズテーブルに反映する必要はなく、例えば、言い換えの辞書や単語の辞書などに結果を反映し、機械翻訳処理における機械学習を行なうとしてもよい。フレーズテーブルに対する評価情報の詳細な反映方法については、後述する。
【0177】
図4は、情報表示端末の各部の機能をプログラムにより実現するコンピュータのハードウェア構成を示す図である。このコンピュータ1000は、入力ボタン、タッチパッドなどの入力装置1001、ディスプレイ、スピーカーなどの出力装置1002、CPU(Central Processing Unit)1003、ROM(Read Only Memory)1004、RAM(Random Access Memory)1005などを備える。また、コンピュータ1000は、ハードディスク装置、SSD(Solid State Drive)などの記憶装置1006、DVD−ROM(Digital Versatile Disk Read Only Memory)、USB(Universal Serial Bus)メモリなどの記録媒体から情報を読み取る読取装置1007、ネットワークを介して通信を行う送受信装置1008を備えるとしてもよい。上述した各部は、バス1009により接続される。
【0178】
そして、読取装置1007は、上記各部の機能を実現するためのプログラムを記録した記録媒体からそのプログラムを読み取り、記憶装置1006に記憶させる。あるいは、送受信装置1008が、ネットワークに接続されたサーバ装置と通信を行い、サーバ装置からダウンロードした上記各部の機能を実現するためのプログラムを記憶装置1006に記憶させる。
【0179】
そして、CPU1003が、記憶装置1006に記憶されたプログラムをRAM1005にコピーし、そのプログラムに含まれる命令をRAM1005から順次読み出して実行することにより、上記各部の機能が実現される。また、プログラムを実行する際、RAM1005または記憶装置1006には、各実施の形態で述べた各種処理で得られた情報が記憶され、適宜利用される。
【0180】
図5は、本実施の形態における、機械翻訳システムの動作を示すフローチャートである。簡単のため、本フローチャートでは、情報表示端末100の入力部102および出力部103は、タッチパネル式ディスプレイによって実現されるとする。情報表示端末100において、タッチパネル式ディスプレイを介して、ユーザの入力および翻訳結果等の出力が行なわれるとするが、例えば、キーボードとディスプレイなど、入力部102と出力部103がそれぞれ独立している構成であってもよい。また、音声による入出力が行なわれてもよい。また説明のため、原言語(母国語)を日本語、目的言語を英語として説明を行っている箇所がある。ただしこれらは一例であり、原言語および目的言語はどのような組合せであっても構わない。
【0181】
まず、ステップS401において、ユーザによって入力された翻訳対象文を取得する。ステップS402において、翻訳対象文に対する機械翻訳処理を行う。ここでの機械翻訳処理は、原言語の翻訳対象文を目的言語の文字列(順翻訳文)に翻訳する順翻訳処理である。このとき、例えば、統計的機械翻訳(SMT)は、翻訳モデルと言語モデルから翻訳としての確からしさをスコア化する。翻訳モデルとは、訳語の尤もらしさを規定する統計モデルであり、言語モデルとは、出力言語の単語の並びの尤もらしさを規定する統計モデルである。これら2つのモデルから、翻訳としての確からしさをスコア化し、そのスコア順に翻訳結果を出力することにより、複数の順翻訳文が生成されるが、この複数の順翻訳文を、説明の便宜上、順翻訳文群とする。
【0182】
本実施の形態における機械翻訳の具体的な処理には、一般的な機械翻訳の処理であるため、ここでの説明は省略する。
【0183】
ステップS403において、順翻訳文群から、所定の基準に基づいてN個の順翻訳文が選択される。例えば、順翻訳文群に含まれる複数の順翻訳文の各々に対して評価スコアを付与し、評価スコアの高いものからN個選択するとしてもよい。また、評価スコアに関係なく、ランダムにN個選択するとしてもよい。などである。また、順翻訳文群に含まれる複数の順翻訳文が示す内容を考慮して、選択したN個の順翻訳文の中に同趣旨のものが含まれないように選択するとしてもよい。また、順翻訳文群に含まれる複数の順翻訳文の中に異なる趣旨のものが少ない場合には、異なる趣旨を持つ順翻訳文を追加する処理を、必要に応じて行ってもよい。順翻訳文の詳細な選択方法については、
図6を用いて後述する。
【0184】
ステップS403の処理が行われたのちに、順翻訳文を増やす必要があると判断された場合(S404のYES)、ステップS402に戻り、再び順翻訳処理を実行する。この時、すでに得られている順翻訳文とは異なる順翻訳文を得るために、先ほどよりもスコアの低いものを選択する。また、別の翻訳指標を用いても良い(例えば、RIBES:rank−based intuitive bilingual evaluation score)。また、原言語の言い換えのデータベースを保持していれば、入力文に対してそれらを適用することで類似文を作成し、再び順翻訳処理を実行することもできる。これにより、表層的には異なるが、入力文と同じ意味を持った文が入力されるため、異なる順翻訳文を得ることができる。
【0185】
再び順翻訳処理が実行されたのちに、ステップS403において順翻訳文選択処理が実行される場合には、前回と異なる基準で順翻訳文を選択してもよいし、同じ基準で順翻訳文を選択してもよい。
【0186】
ステップS403の処理が行われたのちに、順翻訳文を増やす必要がないと判断された場合(S404のNo)、ステップS405の逆翻訳処理へフローを進める。ステップS405では、ステップS403で得られたN個の順翻訳文に対して逆翻訳を行う逆翻訳処理が実行される。原言語から目的言語への翻訳を順方向の翻訳とすると、逆翻訳とは、目的言語から原言語への逆方向の翻訳である。N個の順翻訳文それぞれにおいて、任意の逆翻訳文を生成する逆翻訳処理を行う。任意の逆翻訳文を生成する逆翻訳処理とは、N個の順翻訳文の各々について一対一で対応する逆翻訳文を生成する逆翻訳処理、N個の順翻訳文の中に逆翻訳処理が行われない順翻訳文がある逆翻訳処理、一つの順翻訳文に対して複数の逆翻訳文を生成する逆翻訳処理、などを意味する。この逆翻訳処理によって、複数の逆翻訳文が生成される。この複数の逆翻訳文を、説明の便宜上、逆翻訳文群とする。
【0187】
また、どのような基準で逆翻訳文を出力するかに対しては、何らかのシステムの基準で決めてもよいし、ユーザがそれらを決定してもよい。ここでのシステムの基準とは、BLEUなどの評価や人手評価などを用いて順翻訳文のスコアを算出し、例えば、スコアが低い順翻訳文に関しては逆翻訳処理を行わない(ある順翻訳文に関しては生成する逆翻訳文が0個)、スコアが高い順翻訳文は任意の数の逆翻訳文を得る(ある順翻訳文に関しては逆翻訳文が複数個生成される)などである。ユーザが逆翻訳文の数を決定する場合には、一例として、一つの順翻訳文に対して逆翻訳文をいくつ生成するかを設定する、などが考えられるが、これに限らない。
【0188】
ステップS406は、ステップS405で得られた逆翻訳文群の中からM個の逆翻訳文を選択する逆翻訳文選択処理である。逆翻訳文選択処理では、ステップS403の順翻訳文選択処理とほぼ同様の処理を行う。詳細な選択方法については、
図6、
図7を用いて後述する。
【0189】
ステップS406の逆翻訳文選択処理が実行されたのちに、逆翻訳文を増やす必要があると判断された場合(S407のYES)、ステップS402に戻り、再び順翻訳処理を行う。再び順翻訳処理が実行されたのちに、ステップS403において順翻訳文選択処理が実行される場合には、前回と異なる基準で順翻訳文を選択してもよいし、同じ基準で順翻訳文を選択してもよい。
【0190】
ステップS406の逆翻訳処理が行われたのちに、逆翻訳文を増やす必要がないと判断された場合(S407のNo)、逆翻訳文群から選択されたM個の逆翻訳文がユーザ提示文として次のステップで情報表示端末100において出力される。
【0191】
ステップS408において、M個の逆翻訳文が情報表示端末100へ送信され、タッチパネル式ディスプレイに表示される。
【0192】
ステップS409では、選択文検出部105において、情報表示端末100のタッチパネル式ディスプレイに表示されたM個の逆翻訳文から一の逆翻訳文が選択されたか否かを検出する。
【0193】
一定期間、逆翻訳文の選択がないと判断された場合、機械翻訳システムは初期状態に戻り、ユーザの入力文を受け付ける(S409のNo)。このとき、タッチパネル式ディスプレイの表示画面がリセットされる。
【0194】
また、ユーザが何らかのリセット操作を実行した場合も、機械翻訳システムは同様に初期状態へ戻ってユーザの入力を受け付ける。
【0195】
選択文検出部105において、いずれかの逆翻訳文が選択されたことが検出された場合(S409のYes)、いずれの逆翻訳文が選択されたかを示すユーザ選択情報が翻訳サーバ300へ送信される。
【0196】
ステップS411において、選択文判断部235は、逆翻訳文選択部234からM個の逆翻訳文を取得し、情報表示端末100から受信したユーザ選択情報に基づいて、情報表示端末100においてM個の逆翻訳文の中のいずれの逆翻訳文が選択されたかを判断する。M個の逆翻訳文の中の選択された逆翻訳文を選択翻訳文、選択されなかった逆翻訳文を非選択逆翻訳文として、以降のステップを説明する。選択文判断部235は、選択逆翻訳文および非選択逆翻訳文をフレーズ分割部236へ出力する。
【0197】
ステップS412において、選択逆翻訳文と非選択逆翻訳文、および選択逆翻訳文と非選択逆翻訳文の各々に対応する順翻訳文に対して、フレーズ分割処理を行う。
【0198】
フレーズ分割とは、対象となる文を、より短い単位である句または単語に分割することである。フレーズ分割処理の具体例は後述する。
【0199】
図11は、本実施の形態における、一般的なフレーズテーブルの例である。フレーズテーブルとは、原言語と目的言語の双言語間において、句または単語単位での対応関係を表したテーブルである。
【0200】
図11では、原言語を日本語、目的言語を英語とした場合、左から、日本語のフレーズ、英語のフレーズ、フレーズの英日翻訳確率(英語のフレーズが日本語のフレーズに翻訳される確率)、英日方向の単語の翻訳確率の積(英語が日本語に翻訳される時の、フレーズ内の単語ごとの翻訳確率の積)、フレーズの日英翻訳確率(日本語のフレーズが英語のフレーズに翻訳される確率)、日英方向の単語の翻訳確率の積(日本語が英語に翻訳される時の、フレーズ内の単語ごとの翻訳確率の積)を表している。ただし、フレーズテーブルは、これらすべての情報を必ずしも含んでいる必要はなく、この表記方法に限らない。このフレーズテーブルは、翻訳確率を含むため、広義では確率モデルとも呼ばれる。
【0201】
例えば、
図11に示すフレーズテーブルでは、フレーズPH1が、フレーズPH1へ翻訳される確率が0.38、単語SD3が単語SD1に翻訳される確率と、単語SD4が単語SD4へ翻訳される確率との積が0.04、フレーズPH1がフレーズPH2へ翻訳される確率が0.05、単語SD1が単語SD3へ翻訳される確率と、単語SD2が単語SD4へ翻訳される確率との積が0.02であることを表している。
【0202】
このようなフレーズテーブルを用いて、選択逆翻訳文、非選択逆翻訳文、およびこれらの逆翻訳文の各々に対応する順翻訳文に対してフレーズ分割処理を行なう。
【0203】
図12は、フレーズ分割の概要を表す説明図である。
【0204】
図12には、原言語で表された逆翻訳文RS10、RS20、RS30と、これらの逆翻訳文の各々に対応する目的言語の順翻訳文TS10、TS20、TS30が示されている。原言語の逆翻訳文に対するフレーズ分割処理が実行される場合、例えば、逆翻訳文RS10をフレーズ分割すると、フレーズPH11、PH12、PH12という3つのフレーズに分割される。また、目的言語の順翻訳文に対するフレーズ分割処理が実行される場合、例えば、順翻訳文TS10をフレーズ分割すると、フレーズPH14、PH15、PH16という3つのフレーズ(単語)に分割される。
【0205】
フレーズ分割処理を行なう対象文がどのようなフレーズに分割されるかについては、フレーズテーブルに表記されている原言語および目的言語の文字列に依存するため、一意には決まらないことがある。
【0206】
ステップS413は、フレーズ分割処理によって出力される各フレーズに対して、所定の基準に従ってスコアを評価するフレーズ評価処理である。このフレーズ評価処理の詳細については、後述する。
【0207】
ステップS414では、S411で判断された選択逆翻訳文に対応する順翻訳文を情報表示端末100へ送信し、翻訳結果としてタッチパネル式ディスプレイに表示する。このとき、タッチパネル式ディスプレイに表示されている選択逆翻訳文を強調表示してもよい。また、タッチパネル式ディスプレイにおいて非選択逆翻訳文の表示を消去してもよく、表示された翻訳結果がユーザの選択した選択逆翻訳文に対応する順翻訳文であるということを明示できれば、どのような表示を行っても構わない。
【0208】
なお、ステップS414とステップS412〜S414の一連の処理は、並列的に動作可能であるため、ステップS414はステップS412のフレーズ分割処理の前からステップS415の学習処理の後の間であれば、いずれのタイミングで実行されるとしてもよい。
【0209】
ステップS415において、ステップS413で得られたフレーズ毎のスコアに基づいて、強化学習、識別学習、ニューラルネット学習などの機械学習を行う。この処理の詳細に関しては、
図8、9を用いて説明する。
【0210】
図6は、本実施の形態における、翻訳文選択処理の具体的な動作を示すフローチャートである。
【0211】
図6を用いて、ステップS403において順翻訳文選択部232で実行される順翻訳文選択処理と、ステップS406において逆翻訳文選択部234で実行される逆翻訳文選択処理の具体的な処理を説明する。説明の便宜上、順翻訳文選択処理および逆翻訳文選択処理の2つの処理をまとめて翻訳文選択処理とする。
【0212】
順翻訳文選択部232では、順翻訳部231で生成された順翻訳文群から、N個の順翻訳文を選択する順翻訳文選択処理が実行され、逆翻訳文選択部234では、逆翻訳部233で生成された逆翻訳文群から、M個の逆翻訳文を選択する逆翻訳文選択処理が実行される。順翻訳文群に含まれる複数の順翻訳文の各々の評価スコアに基づいて、N個の順翻訳文が選択され、逆翻訳文群に含まれる複数の逆翻訳文の各々の評価スコアに基づいて、M個の逆翻訳文が選択される。
【0213】
以下の説明は、順翻訳文選択処理、逆翻訳文選択処理のどちらの場合でもあてはまる内容であるため、翻訳文選択処理として説明し、順翻訳文と逆翻訳文とをまとめて翻訳文と表記する。また、順翻訳文群と逆翻訳文群は翻訳文群と表記する。さらに、実際には、順翻訳文はN個選択され、逆翻訳文はM個選択されるが、以下の説明では区別なくN個として表記して説明する。
【0214】
ステップS501において、翻訳文群の中から評価スコアの高い翻訳文をN−k個(1<=N、0<=k<=N)選択する。ここで、評価スコアの例としては、翻訳精度を評価する手法としてよく用いられるBLEUが挙げられる。他にも、翻訳精度を評価する手法として、WER(Word Error Rate)、METEOR(Metric for Evaluation of Translation with Explicit ORdering)、RIBES(Rank−based Intuitive Bilingual Evaluation Score)などがあるが、評価の手法はこれらのいずれを用いてもよいし、これらに限らず他の手法を用いてもよい。
【0215】
翻訳文群の中でステップS501において選択されなかった翻訳文から、残りのk個を選択する(S502)。
【0216】
k個の翻訳文を選択するために、評価スコアが所定の閾値内の翻訳文を抽出し、抽出した翻訳文の中からランダムにk個選択するとしてよい。また、評価スコアが所定の閾値内の翻訳文を抽出し、抽出した翻訳文の中でスコアの低いものから順番にk個を選択するとしてもよい。N−k個の翻訳文を選択する場合は、評価スコアの高い翻訳文を選択したが、k個の翻訳文を選択する場合は、必ずしも評価スコアの高い翻訳文を選択するのではない。特定の評価基準によって機械的に付与される評価スコアの高い翻訳文ばかりを選択すると、選択した翻訳文は全て似通った内容の文章である可能性が高い。情報表示端末100において複数の逆翻訳文をユーザに提示し、そこからユーザに一の逆翻訳文を選択させることを考慮すると、ある程度異なる観点で選択された複数の逆翻訳文を提示することが好ましい。
【0217】
似通った逆翻訳文ばかりを提示して、その中からユーザに選択させると、後述する機械翻訳システムに対する機械学習処理において高い学習効果を得ることが出来ない懸念が生じる。ユーザによって選択された選択逆翻訳文と、ユーザによって選択されなかった非選択逆翻訳文とを教師データとして用いて機械学習処理を実行させる場合に、機械翻訳システムに対して正例(正解)として学習させた選択逆翻訳文と、負例(不正解)として学習させた非選択逆翻訳文とが似通った文章となるため、機械翻訳システムに対して正例と負例の顕著な差を示すことができず、学習の効果を期待することができない。そのため、本実施の形態で説明するように、ある程度異なる観点で複数の逆翻訳文を選択することが好ましい。
【0218】
また、似通った逆翻訳文ばかりを提示すると、ユーザはそれらの逆翻訳文の細かな差異を考慮して一の逆翻訳文を選択する必要が生じるため、直感的に一の逆翻訳文を選択することができず、逆翻訳文の選択に時間がかかってしまうことも懸念される。本実施の形態のように、ある程度異なる観点で選択された複数の逆翻訳文を提示すれば、ユーザはその中から自身の意図する翻訳内容を直感的に選択可能となる。
【0219】
また、逆翻訳文は順翻訳文から生成されるため、順翻訳文を選択する段階においても、同様にある程度異なる観念で複数の順翻訳文を選択しておくことが好ましいと考えられる。
【0220】
また、k個の翻訳文を選択するための異なる手法として、過去のユーザ選択情報に基づいてk個の翻訳文を選択するとしてもよい。例えば、翻訳文毎に、ユーザによって過去に選択された回数などを記憶(逆翻訳文については直接選択された回数を記憶し、順翻訳文については対応する逆翻訳文が選択された回数を記憶する)しておいて、翻訳文群の中で記憶された回数が高いものから順番にk個の翻訳文を選択するとしてもよい。また、このような直接的な回数に基づいて選択するのではなく、ユーザの過去の機械翻訳システムの利用履歴に基づいて、翻訳対象文に対してユーザが選択しやすい翻訳文の傾向を分析し、分析した傾向に基づいてk個の翻訳文を選択するとしてもよい。なお、N−k個の翻訳文を選択する選択基準と異なる選択基準を用いれば、k個の翻訳文を選択する選択手法はこれらに限らない。
【0221】
さらに、これらk個の翻訳文の選択方法においては、N−k個の翻訳文と同じ趣旨の翻訳文を除く処理を行なってもよい。また、k個の翻訳文の中でも同じ趣旨の翻訳文を除く処理を行なってもよい。または、N−k個の翻訳文と異なる趣旨の翻訳文がk個の翻訳文に含まれていない、またはk個の翻訳文の中に少ない場合には、異なる趣旨の翻訳文を追加する処理を行なってもよい。また、逆翻訳文選択処理に関しては、翻訳対象文と比較して、同じ趣旨を有する逆翻訳文を選択するなどの処理を行なってもよい。
【0222】
例えば、翻訳文群に、疑問文・肯定文・否定文・命令文のそれぞれの形態の翻訳文がどれだけ含まれているか(文の異なり数)をカウントし、閾値以下であれば、再度、順翻訳処理または逆翻訳処理を行う。
【0223】
また、翻訳文に対して構文解析を行うなどの手法もある。翻訳文群に含まれる複数の翻訳文それぞれに対して構文解析を行い、それぞれ主語を示す単語が何であるかを判断し、主語を示す単語が何種類あったかを示す主語の異なり数が閾値以下であれば、再度、順翻訳処理または逆翻訳処理を行う。このとき、主語ではなく、述語について異なり数を算出するとしてもよい。また、その両方であってもよい。
【0224】
ここで、文の異なり数、主語の異なり数、動詞または目的語の異なり数などを評価スコアとして、異なり数が所定の数だけ含まれるように、順翻訳文選択処理および/または逆翻訳文選択処理を行うとしてもよい。
【0225】
順翻訳文選択処理を実行する場合に、例えば、「文の異なり数を2以上とする」という評価基準を設け、文の異なり数を評価スコアとして順翻訳文を選択することができる。順翻訳文群に含まれる複数の順翻訳文の各々に対して、順番に構文解析および/または意味解析を用いて解析を行い、疑問文・肯定文・否定文・命令文のうち、いくつの種類が出現したかを文の異なり数としてスコア化し、2種類以上が含まれるl個の小集合を作成しても良い。
【0226】
また例えば、逆翻訳文選択処理を実行する場合に、「主語の異なり数を所定数以下にする」という評価基準を設け、主語の異なり数を評価スコアとして逆翻訳文を選択することもできる。
【0227】
なお、順翻訳文選択処理または逆翻訳文選択処理は、これらの例に限定するものではなく任意の順翻訳文選択または逆翻訳文選択の手法を用いるとしてよい。
【0228】
また、逆翻訳文選択処理に関しては、翻訳対象文との比較評価を行い、比較評価によって得られた値を評価スコアとしてもよい。例えば、翻訳対象文、および逆翻訳文群の中の複数の逆翻訳文に対して構文解析を行い、翻訳対象文と複数の逆翻訳文の各々との類似度を判断し、判断した類似度に基づいて、k個の逆翻訳文を選択するとしてもよい。
【0229】
また、これらの例に限らず、任意の評価スコアを組み合わせて用いても良い。さらに、Nを所定の数として予め設定し、更にそこに含まれる異なり数が所望の数となるようにスコアを組み合わせて用いても良い。
【0230】
上述の翻訳文の選択方法は一例であり、これらに限らない。
【0231】
なお、k=0の場合は、N個すべてが評価スコアの高い翻訳文から順に選択されるものとなる。また、k=Nの場合は、N個の翻訳文すべてが評価スコアの高い翻訳文から順に選択される以外の選択方法によって選択される。
【0232】
ここでのシステムの基準とは、BLEUなどの評価や人手評価などを用いて順翻訳文のスコアを算出し、例えば、スコアが低い順翻訳文に関しては逆翻訳処理を行わない(ある順翻訳文に関しては生成する逆翻訳文が0個)、スコアが高い順翻訳文は任意の数の逆翻訳文を得る(ある順翻訳文に関しては逆翻訳文が複数個生成される)などである。ユーザが逆翻訳文の数を決定する場合には、一例として、一つの順翻訳文に対して逆翻訳文をいくつ生成するかを設定する、などが考えられるが、これに限らない。
【0233】
図7は、本実施の形態における、逆翻訳文選択処理の具体的な動作を示すフローチャートである。
【0234】
図5を用いた逆翻訳処理(ステップS405)の説明にて、逆翻訳文が生成されない順翻訳文が存在してもよいこと、一つの順翻訳文から複数の逆翻訳文が生成されるとしてもよいことなどを述べた。ここでは、一つの順翻訳文から得られた複数の逆翻訳文の中から、一つの逆翻訳文を選択する処理について説明する。
【0235】
順翻訳文選択処理によって選択されたN個の順翻訳文すべてに対して、以下の処理が行われる。
【0236】
ステップS601において、N個の順翻訳文の中の順翻訳文Aに対して生成された逆翻訳文を抽出する。
【0237】
ステップS602において、抽出した逆翻訳文の数を判断する。順翻訳文Aに対して、逆翻訳文が生成されていなかったとき、つまり、順翻訳文Aに対して生成された逆翻訳文が0個であったとき(ステップS602の0個)、順翻訳文Aはユーザに提示されることがないため、削除する(ステップS603)。
【0238】
次に、順翻訳文Aに対して逆翻訳文が一個であるとき(ステップS602の1個)、その逆翻訳文は順翻訳文Aに対応する逆翻訳文として決定される(ステップS604)。
【0239】
最後に、順翻訳文Aに対して逆翻訳文が二個以上生成されているとき(ステップS602の2個以上)、その中から順翻訳文Aに対応する逆翻訳文として最適なものを一つ決定する(ステップS605)。決定方法としては、例えば、自動評価スコアや人手評価によるスコアを参照する方法を用いることによって選ばれる。これらを、順翻訳文N個すべてに対し繰り返す。
【0240】
最後に、これらの処理で得られた逆翻訳文のうち、同趣旨の逆翻訳文を除く、または、異なる趣旨の逆翻訳文が少ない場合に異なる趣旨を持つ翻訳文を追加する、などの処理を必要に応じて行ってもよい(ステップS606)。ここでの処理は、
図5の説明にて述べた処理と同じである。
【0241】
なお、上述の説明では、
図7のステップS605において、一つの順翻訳文に対して一つの逆翻訳文を選択するものとしていた。しかし、一つの順翻訳文に対して、複数個の逆翻訳文が選択される場合があってもよい。この場合、ユーザに提示される複数の逆翻訳文の中に、対応する順翻訳文が同一の逆翻訳文が存在することになる。
【0242】
図8は、本実施の形態における、フレーズ評価処理の具体的な動作を示すフローチャートである。
【0243】
フローの初期状態において、事前にフレーズに分割された、選択逆翻訳文、非選択逆翻訳文、および選択逆翻訳文と非選択逆翻訳文の各々に対応する順翻訳文を取得しているとする。また、これらの逆翻訳文および順翻訳文をフレーズ分割して得られたフレーズに対応するフレーズテーブルも同様に取得しているとする。このフレーズ評価処理は、逆翻訳文および順翻訳文それぞれについて行なわれるが、説明の便宜上、逆翻訳文に対するフレーズ分割処理を例に挙げて説明する。
【0244】
ステップS701において、選択逆翻訳文、および非選択逆翻訳文に対して、これらの逆翻訳文に含まれるフレーズを逆翻訳文毎に比較し、選択逆翻訳文のみに存在するフレーズの有無を確認する。
【0245】
選択逆翻訳文のみに存在するフレーズが有る場合(ステップS701のYes)は、選択逆翻訳文のみに存在するフレーズについては、ユーザ選択スコアを加点する(ステップS702)。このユーザ選択スコアは、選択文のみに現れるフレーズを良いものとするスコアであり、最終的に
図9の処理において、順翻訳文(フレーズ評価処理の対象が順翻訳文の場合は、翻訳対象文)の対応するフレーズとともに、フレーズテーブルの日英翻訳確率または英日翻訳確率に反映される。このときのスコアの加点方法は、どのような方法を用いてもよい。例えば、該当するフレーズに対して一律に加点する、該当するフレーズの長さに依存して加点する、などの方法が想定される。スコアの加点が完了すると、フローをステップS703に進める。選択逆翻訳文のみに存在するフレーズが無い場合(ステップS701のNo)は、特段の処理をせずに、フローをそのままステップS703に進める。
【0246】
同様に、ステップS703において、選択逆翻訳文、および非選択逆翻訳文に対して、これらの逆翻訳文に含まれるフレーズを逆翻訳文毎に比較し、非選択逆翻訳文のみに存在するフレーズの有無を確認する。
【0247】
非選択逆翻訳文のみに存在するフレーズが有る場合(ステップS703のYes)、非選択逆翻訳文のみに存在するフレーズについては、ユーザ選択スコアを減点する(ステップS704)。このときのスコアの減点方法は、どのような方法を用いてもよい。例えば、該当するフレーズに対して一律に減点する、該当するフレーズの長さに依存して減点する、などの方法が想定される。
【0248】
なお、ステップS702とS704において、ユーザ選択スコアの加点、減点は必ずしも必須ではない。つまり、
図8のフローチャートにおいて、選択逆翻訳文のみに存在するフレーズに対してスコアの加点も減点も行わず、非選択逆翻訳文のみに存在するフレーズに対してユーザ選択スコアの減点を行うとしてもよい。または、選択逆翻訳文のみに存在するフレーズに対してユーザ選択スコアの加点を行い、非選択逆翻訳文のみに存在するフレーズに対してユーザ選択スコアの加点も減点も行わないとしてもよい。
【0249】
また、選択逆翻訳文と一部の非選択逆翻訳文に存在するフレーズに関して、スコアの加点を行なっても構わない。この場合、例えば、選択逆翻訳文のみに含まれるフレーズのユーザ選択スコアと、非選択逆翻訳文のみに含まれるフレーズのユーザ選択スコアを考慮した値(例えば、選択逆翻訳文のみに含まれるフレーズのユーザ選択スコアと、非選択逆翻訳文のみに含まれるフレーズのユーザ選択スコアの平均値)を加点することが考えられる。これらのスコアの加点方法については一例であり、これらに限らない。
【0250】
以下、
図12を用いて、具体例を挙げて説明する。例えば、情報表示端末100に3つの逆翻訳文が提示され、その中の1つの逆翻訳文をユーザが選択した場合について説明する。このとき、情報表示端末100に提示される3つの逆翻訳文は、逆翻訳文RS10、RS20、RS30として、ユーザによって選択された逆翻訳文は、逆翻訳文RS10であるとする。また、説明の便宜上、ユーザによって選択された逆翻訳文を選択逆翻訳文、ユーザによって選択されなかった逆翻訳文を非選択逆翻訳文と定義する。フローの初期状態において、選択逆翻訳文である逆翻訳文RS10は、フレーズPH11、PH12、PH13に分割されている。また、非選択逆翻訳文についても同様に、逆翻訳文RS20は、フレーズPH21、PH22、PH23に分割されており、逆翻訳文RS30は、フレーズPH31、PH32、PH33に分割されている。
【0251】
S701において、逆翻訳文RS10、RS20、RS30の中で、選択逆翻訳文である逆翻訳文RS10のみに存在するフレーズの有無を確認する。すると、選択逆翻訳文である逆翻訳文RS10にのみフレーズPH12が含まれるため、フレーズPH12のユーザ選択スコアを加点して、「+1」とする。
【0252】
同様に、S702において、非選択逆翻訳文である逆翻訳文RS20、RS30のみに存在するフレーズの有無を確認する。すると、非選択逆翻訳文にのみフレーズPH22(PH32)とフレーズPH31が含まれるため、フレーズPH22(PH32)とフレーズPH31のユーザ選択スコアをそれぞれ減点して、「−1」とする。
【0253】
ここで、選択逆翻訳文、非選択逆翻訳文の両方に含まれるフレーズPH11(PH21)、PH13(PH23、PH33)に関しては、ユーザ選択スコアの加点または減点を行なわない。
【0254】
上述の処理によって、フレーズ毎の最終的なユーザ選択スコアの加点量または減点量は次の通りである。フレーズPH11(PH21)に対しては「±0」、フレーズPH31に対しては「−1」、フレーズPH22(PH32)に対しては「−1」、フレーズPH12に対しては「+1」、フレーズPH13(PH23、PH33)に対しては「±0」といった加点量または減点量となる。ここでのスコアの加点量および減点量は一例であるため、これよりも大きいオーダーで加点または減点を行なってもよいし、これよりも小さいオーダーで加点または減点を行なってもよい。
【0255】
また、目的言語である順翻訳文に対するフレーズ評価処理について、
図12を用いて、以下に具体例を挙げて説明する。前述した逆翻訳文RS10、RS20、RS30には、それぞれ順翻訳文TS10、TS20、TS30が対応している。フローの初期状態において、順翻訳文TS10は、フレーズPH14、PH15、PH16に分割されている。また、順翻訳文TS20は、フレーズPH24、PH25、PH26に分割されており、TS30は、フレーズPH34、PH35、PH36に分割されている。
【0256】
S701において、選択逆翻訳文1に対応する順翻訳文1にのみ存在するフレーズの有無を確認する。すると、順翻訳文TS10にのみフレーズPH16が含まれるため、フレーズPH16のユーザ選択スコアを加点して、「+1」とする。
【0257】
同様に、S702において、非選択逆翻訳文である逆翻訳文RS20、RS30に対応する順翻訳文TS20、TS30のいずれかにのみ存在するフレーズの有無を確認する。すると、順翻訳文TS20またはTS30にのみ、フレーズPH26(PH36)とフレーズPH34が含まれるため、フレーズPH26(PH36)とフレーズPH34のユーザ選択スコアをそれぞれ減点して、「−1」とする。
【0258】
選択逆翻訳文に対応する順翻訳文TS10に含まれ、非選択逆翻訳文に対応する順翻訳文TS20または順翻訳文TS30のいずれかにも含まれる、フレーズPH24とフレーズPH15(PH25、PH35)に関しては、ユーザ選択スコアの加点または減点を行なわない。
【0259】
上述の処理によって、フレーズ毎の最終的なスコアの加点量または減点量は、フレーズPH24(PH34)に対しては「±0」、フレーズPH34に対しては「−1」、フレーズPH26(PH36)に対しては「−1」、フレーズPH16に対しては「+1」、フレーズPH15(PH25、PH35)に対しては「±0」となる。ここでのユーザ選択スコアの加点量および減点量は一例であるため、これよりも大きいオーダーで加点または減点を行なってもよいし、これよりも小さいオーダーで加点または減点を行なってもよい。
【0260】
図9は、本実施の形態における、学習処理の具体的な動作を示すフローチャートである。
【0261】
ステップS801において、選択逆翻訳文に対応する順翻訳文に含まれるフレーズと、選択逆翻訳文に含まれるフレーズとのフレーズ対、もしくは選択逆翻訳文に対応する翻訳対象文に含まれるフレーズと、選択逆翻訳文に対応する順翻訳文に含まれるフレーズとのフレーズ対を取得する。フレーズ対とは、機械翻訳の際、原言語、目的言語の両言語間でそれぞれ対応が取られた(同じ意味を持つ)2つのフレーズのことである。さらに、
図8の処理で得たユーザ選択スコアも同時に取得する。
【0262】
このフレーズ対において、原言語から目的言語へ翻訳される場合に参照されるフレーズテーブルの値に対するユーザ選択スコアを、
図12に示す例を用いて定義すると、例えば、フレーズPH31→フレーズPH34:−1/フレーズPH22(PH32)→フレーズPH26(PH35):−1/フレーズPH11(PH21)→フレーズPH14(PH24):0/フレーズPH13(PH23、PH33)→フレーズPH15(PH25、PH35):0/フレーズPH12→フレーズPH16:+1のようになる。
【0263】
また、フレーズ対において、目的言語から原言語へ翻訳される場合に参照されるフレーズテーブルの値に対するユーザ選択スコアを定義すると、例えば、フレーズPH34→フレーズPH31:−1/フレーズPH26(PH36)→フレーズPH22(PH32):−1/フレーズPH14(PH24)→フレーズPH11(PH21):0/フレーズPH15(PH25、PH35)→フレーズPH13(PH23、PH33):0/フレーズPH16→フレーズPH12:+1のようになる。
【0264】
ステップS802において、記憶部240に格納されているフレーズテーブルの英日翻訳確率または日英翻訳確率に、上述のユーザ選択スコアを反映する。またユーザ選択スコアに一定の値を乗算してからフレーズテーブルに反映するなど、ユーザ選択スコアに傾斜や重み付けを与えても構わない。
【0265】
これらを用いて、機械翻訳部230や逆翻訳部233において、強化学習や識別学習、ニューラルネット学習などの機械学習を行う。
【0266】
これまでの機械翻訳においては、
図11に示すようなフレーズテーブルの確率値を、対訳コーパス(異なる2つの言語間で、お互いが翻訳となっている文の対を集めたデータ)を元にチューニングすることは行われていたが、ユーザ選択文に含まれるものと含まれないものでスコアに差を付けて機械学習を行う手法はこれまでになく、本開示の機械翻訳システムは、よりユーザの評価結果を反映できる。
【0267】
さらに、機械学習によって、予め用意された対訳コーパスから作成された翻訳モデルや言語モデルなどに対して、逐次、フレーズ単位でユーザの選択結果を混ぜ込みながら、翻訳モデルや言語モデルを学習させることができるため、精度を向上させることができる。
【0268】
さらに、機械学習を行うことで、データを元に最適なパラメータが選択される。これらにより、人(ユーザ)の選択結果が翻訳システム反映されるため、人が使いやすい翻訳システムを構築することができる。
【0269】
なお、これらのような機械学習を行うだけではなく、得られたフレーズから新規コーパスを生成して、翻訳エンジン学習のための対訳コーパスとして利用することもできる。
【0270】
図10は、本実施の形態における、学習部238の具体的な処理を示すフローチャートである。
図12に示す逆翻訳文および順翻訳文を用いて、
図10に示すフローチャートの内容を説明する。
【0271】
ステップS901において、ユーザ選択文とその順翻訳文のフレーズ対を取得する。
【0272】
例えば、ユーザ提示文表示エリア1102に、逆翻訳文RS10、RS20、RS30が表示された状態で、ユーザによって逆翻訳文RS10が選択された場合(逆翻訳文RS10がユーザ選択文である場合)を説明する。逆翻訳文RS10がユーザによって選択されたため、フレーズPH11とフレーズPH14、フレーズPH12とフレーズPH16、フレーズPH13とフレーズPH15といったフレーズ対が取得される。
【0273】
ステップS902において、機械翻訳部230での機械翻訳の際に使われた、入力文とその順翻訳文におけるフレーズ対を取得する。
【0274】
例えば、逆翻訳文RS30の示す内容が入力文である場合には、フレーズPH31とフレーズPH34、フレーズPH32とフレーズPH36、フレーズPH33とフレーズPH35といったフレーズ対が取得される。
【0275】
ステップS903において、入力文とユーザ選択文で取得されたフレーズに対し、目的言語の文字列が同一であるフレーズを取得する。例えば、ユーザ選択文におけるフレーズ対が次の通りであったとする。ユーザ選択文におけるフレーズ対は、フレーズPH11とフレーズPH14、フレーズPH12とフレーズPH16、フレーズPH13とフレーズPH15である。これに対し、入力文のフレーズ対が次の通りであったとする。入力文のフレーズ対は、フレーズPH31とフレーズPH34、フレーズPH32とPH36、フレーズPH41とPH42である。
【0276】
このとき、ユーザ選択文のフレーズと入力文のフレーズにおいて、原言語のフレーズPH33とフレーズPH41は、同じ意味を持つが表現の異なるフレーズである。また、フレーズPH33とフレーズPH41とは、ユーザ選択文のフレーズと入力文のフレーズの間で、それぞれ対応するフレーズである。
【0277】
最後に、目的言語が同一で原言語が異なるかどうかをチェックし、異なるものをパラフレーズ(言い換え)として保持する(S904のYes、S905)。つまり、目的言語が同一でも原言語が異なるということから、これらは原言語における言い換えであるとみなすことができる。
【0278】
例えば、フレーズPH33とフレーズPH41は言い換えとみなすことができ、これらを原言語同士のパラフレーズとして保持する。
【0279】
このパラフレーズは、機械翻訳部230において、機械翻訳をする際に参照する、もしくは翻訳を行う前に、原言語側での言い換えをとして参照することできる。
【0280】
図13は、本実施の形態における、表示画面の一例を示す図である。
【0281】
例えば、
図13(A)に示すように、ユーザから翻訳対象である原文の入力を受け付けると、入力された原文OS1内容が入力文表示エリア1101に表示される。
【0282】
次に、
図13(B)に示すように、原文OS1を翻訳した翻訳文に対する逆翻訳結果がユーザ提示文表示エリア1102に表示される。
【0283】
一例としてここでは、3つの逆翻訳文を出力する形態について説明する。逆翻訳結果として、例えば逆翻訳文RS1、逆翻訳文RS2、逆翻訳文RS3が出力され、ユーザ提示文表示エリア1102に表示される。このとき、
図13(B)のユーザ提示文表示エリア1102に表示されている逆翻訳文RS1〜RS3は、原言語において、それぞれ同様の意味を有する類似文である。逆翻訳処理の特性上、これらは同様の意味を有する類似文であることが期待されるが、それぞれ異なる意味を有する文章を出力するよう実装されてもよい。
【0284】
次に、
図13(C)に示すように、ユーザは、ユーザ提示文表示エリア1102に表示された逆翻訳結果を確認して、自分の意図した入力内容に一番近い逆翻訳文を選択する。ここでは、原文OS1に対して、例えば、逆翻訳文RS1が選択される。
【0285】
ユーザが逆翻訳文を選択すると、選択された逆翻訳文に対応する翻訳文が、翻訳結果表示エリア1103に表示される。ここでは、逆翻訳文RS1に対応する翻訳文である、翻訳文TS1が表示される。
【0286】
なお、画面表示に関しては、
図13(A)、(B)、(C)に示す様なレイアウトに限らない。必要に応じて各種のボタンが配置されてもよく、例えば、翻訳対象の原文を入力した後に、ボタンに対する操作が行なわれると、翻訳処理が実行されるとしてもよい。また、ボタンに対する操作が行なわれることによって、ユーザ提示文表示エリア1102に逆翻訳文が表示されるとしてもよい。また、入力文表示エリア1101、ユーザ提示文表示エリア1102、翻訳結果表示エリア1103の配置や表示される内容、向きは上述の内容に限らない。
【0287】
図14は、本実施の形態における、表示画面の一例を示す図である。
【0288】
図13(C)とは表示が一部異なる。ここでは、翻訳結果表示エリア1201に表示されている文章の向きと、入力文表示エリア1202およびユーザ提示文表示エリア1203に表示されている文章の向きとが異なる。これは、2人のユーザ(原言語話者と目的言語話者)が情報表示端末を挟んで向かい合ってコミュニケーションを行なっている場面を想定している。すなわち、入力文表示エリア1202およびユーザ提示文表示エリア1203に表示されている文章は、原言語話者に合わせた向きで表示され、翻訳結果表示エリア1201に表示されている文章は、目的言語話者に合わせた向きで表示されている。これによって、原言語話者は、入力文に対して出力された翻訳文を目的言語話者に対して読み上げたり、目的言語話者が翻訳文を確認しやすいように情報表示端末の向きを変えたりする必要がないので、情報表示端末などを介して異なる言語を話すユーザ間で円滑なコミュニケーションが可能となる。なお、翻訳結果表示エリア1201の向きは、ユーザによる任意の操作で変更することが可能である。また、
図13同様、各エリアの配置や表示される内容、向きはこれらに限らない。
【0289】
以上、本発明の一態様に係る翻訳方法について、実施の形態に基づいて説明したが、本発明はこれらの実施の形態に限定されるものではない。本発明の主旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したもの、あるいは異なる実施の形態における構成要素を組み合わせて構築される形態も、本発明の範囲内に含まれる。
【0290】
例えば、上述の説明では、情報表示端末100に提示される複数の逆翻訳文の中からユーザによって一つの逆翻訳文が選択されるものとしたが、複数の逆翻訳文が選択されてもよい。例えば、一つはユーザの選択として選ばれ、順翻訳文が提示されるが、その他のユーザ非選択文に対しても評価を行い、その結果を学習結果としてシステムに反映するものでもよい。ここでの評価の方法として、例えば、ユーザ非選択文に対して、ユーザが良い順、悪い順に順位付けを行う、ユーザ選択文と同程度に許容できる非選択文をユーザが選択する、明らかに許容できない非選択文をユーザが選択する、などといった方法で評価を行う。これらを行うことで、選択されなかった文に対しても評価を行うことができ、これらをシステムに反映することで、システムの学習に繋がる。
【0291】
また、上記の説明では、
図13のように入力文に対してテキストによりユーザ提示文や結果の翻訳文が出力されるものとしたが、これらに対して、テキストと音声、または音声のみで提示しても構わない。その場合、ユーザはユーザ提示文に対して、マイクロフォンを通じてユーザ提示文から一つを選択する、という方法で選択しても構わない。