(58)【調査した分野】(Int.Cl.,DB名)
前記第1受付手段と前記第2受付手段が、同じ翻訳手段から前記文と前記第1翻訳文を受け付けた場合は、前記翻訳制御手段は、該翻訳手段に対して翻訳をさせないように制御する
請求項1又は2に記載の情報処理装置。
【発明を実施するための形態】
【0022】
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(「ソフトウェア」の解釈として、コンピュータ・プログラムを含む)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、それらのモジュールとして機能させるためのコンピュータ・プログラム(例えば、コンピュータにそれぞれの手順を実行させるためのプログラム、コンピュータをそれぞれの手段として機能させるためのプログラム、コンピュータにそれぞれの機能を実現させるためのプログラム)、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するという意味である。また、モジュールは機能に一対一に対応していてもよいが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(例えば、データの授受、指示、データ間の参照関係、ログイン等)の場合にも用いる。「予め定められた」とは、対象としている処理の前に定まっていることをいい、本実施の形態による処理が始まる前はもちろんのこと、本実施の形態による処理が始まった後であっても、対象としている処理の前であれば、そのときの状況・状態にしたがって、又はそれまでの状況・状態にしたがって定まることの意を含めて用いる。「予め定められた値」が複数ある場合は、それぞれ異なった値であってもよいし、2以上の値(「2以上の値」には、もちろんのことながら、全ての値も含む)が同じであってもよい。また、「Aである場合、Bをする」という記載は、「Aであるか否かを判断し、Aであると判断した場合はBをする」の意味で用いる。ただし、Aであるか否かの判断が不要である場合を除く。また、「A、B、C」等のように事物を列挙した場合は、断りがない限り例示列挙であり、その1つのみを選んでいる場合(例えば、Aのみ)を含む。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(「ネットワーク」には、一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。もちろんのことながら、「システム」には、人為的な取り決めである社会的な「仕組み」(つまり、社会システム)にすぎないものは含まない。
また、各モジュールによる処理毎に又はモジュール内で複数の処理を行う場合はその処理毎に、対象となる情報を記憶装置から読み込み、その処理を行った後に、処理結果を記憶装置に書き出すものである。したがって、処理前の記憶装置からの読み込み、処理後の記憶装置への書き出しについては、説明を省略する場合がある。なお、ここでの記憶装置としては、ハードディスクドライブ、RAM(Random Access Memoryの略)、外部記憶媒体、通信回線を介した記憶装置、CPU(Central Processing Unitの略)内のレジスタ等を含んでいてもよい。
【0023】
本実施の形態である言語処理装置100は、翻訳文の修正機能を有しており、
図1の例に示すように、受付モジュール105、翻訳制御モジュール120、言語処理モジュール130、修正モジュール135、出力モジュール140を有している。
外国語を習得するため、又は、自分の思いを相手に伝える等のために、翻訳システムを用いた単なる翻訳ではなく、自分で翻訳することが行われている。その場合、母国語以外の外国語であるため、その外国語で違和感のない文であるか否かの判別がつきにくい。そこで、翻訳文を添削してもらうことが行われている。例えば、翻訳文の添削の内容として、文法のチェック、スペルチェック、表現チェック等が行われている。また、翻訳文の言語を用いる者によるチェック(いわゆるネイティブチェック)も行われている。
【0024】
受付モジュール105は、第1言語文受付モジュール110、第2言語文受付モジュール115を有している。受付モジュール105は、第1言語で記載された原文と第2言語で記載された翻訳文を受け付ける。
第1言語文受付モジュール110は、翻訳制御モジュール120と接続されている。第1言語文受付モジュール110は、第1言語で記載された文を受け付ける。
第2言語文受付モジュール115は、修正モジュール135と接続されている。第2言語文受付モジュール115は、第2言語で記載された、第1言語文受付モジュール110が受け付けた文の翻訳文として作成された文である第1翻訳文を受け付ける。
第1言語文受付モジュール110と第2言語文受付モジュール115が受け付ける文又は翻訳文は、同じユーザー又は翻訳システムによって入力されたものである。ここでの文又は翻訳文を入力するユーザーは、翻訳文の添削依頼者である。また、ここでの文又は翻訳文を入力する翻訳システムは、その翻訳システムの管理者が翻訳の実力を知りたい、又は、翻訳精度を向上させたい場合に利用される。例えば、翻訳システムによる翻訳文の添削された量が多い場合は、翻訳の実力は低いと判断でき得る。また、添削結果を利用して、翻訳システムにおける翻訳プログラム、辞書等を調整して、翻訳精度を向上させることができる。
「文」は、1文であってもよいし、複数の文(いわゆる文章)であってもよい。
第1言語は、翻訳対象の言語であり、一般的にはユーザーの母国語である。なお、母国語として2カ国語以上の言語を扱える人(いわゆるマルチリンガル)に対応するために、第1言語文受付モジュール110は、複数の言語で記載された文を受け付けるようにしてもよい。原文に関する情報が増えるので、より的確な修正を行うことができる。例えば、日本語と英語を用いることができるバイリンガルのユーザーが、中国語で手紙を書くために利用する場合が該当する。なお、「修正」という用語は、校正、添削、訂正、加筆、補正等の概念を含む用語として用いる。
第2言語は、第1翻訳文に用いられている言語であり、第1言語とは異なる言語である。以下の説明で、例示する場合は、第1言語として日本語、第2言語として英語の場合を示す。
第1翻訳文は、添削対象の文である。つまり、第1言語で記載された文を、ユーザー又は翻訳システムが第2言語に翻訳した文である。
【0025】
翻訳制御モジュール120は、第1翻訳処理モジュール125A、第2翻訳処理モジュール125B、第3翻訳処理モジュール125C等を有しており、受付モジュール105の第1言語文受付モジュール110、言語処理モジュール130と接続されている。翻訳制御モジュール120は、第1言語文受付モジュール110が受け付けた文を、複数の翻訳処理モジュール125に翻訳させる制御を行う。
複数の翻訳処理モジュール125(
図1では、第1翻訳処理モジュール125A、第2翻訳処理モジュール125B、第3翻訳処理モジュール125C等)は、第1言語文受付モジュール110が受け付けた文を翻訳して、第2翻訳文を生成する。ここでの翻訳は、言語処理装置100が有している翻訳モジュールが行ってもよいし、外部にある翻訳システムに行わせてもよいし、また、翻訳担当者に行わせてもよい。外部にある翻訳システムに行わせる場合は、その翻訳システムと通信を行い、翻訳の依頼、翻訳対象である文の入力、第2翻訳文を受け付ける。翻訳担当者に行わせる場合は、その翻訳担当者に対してのユーザーインタフェース処理を行う。具体的には、その翻訳担当者が用いている端末に、電子メール等を用いて翻訳依頼の通知を行い、翻訳対象である文を提示し、第2翻訳文の入力を促して、第2翻訳文を受け付ける。もちろんのことながら、この翻訳処理モジュール125による翻訳は、第1言語の文を第2言語の文に翻訳することである。
【0026】
言語処理モジュール130は、翻訳制御モジュール120、修正モジュール135と接続されている。言語処理モジュール130は、複数の翻訳処理モジュール125によって翻訳された結果である複数の第2翻訳文から、第2言語文受付モジュール115が受け付けた第1翻訳文を修正するための情報を抽出する。
言語処理モジュール130は、例えば、複数の第2翻訳文を構成している単語又はフレーズの統計的処理を行い、翻訳文を生成してもよい。統計的処理として、品詞も含めた単語の出現順の統計処理があり、例えば、単語又はフレーズの出現回数を計数し、最も多い出現回数である単語又はフレーズを用いて、翻訳文を生成してもよい。また、言語処理モジュール130は、予め機械学習を行った学習モデルを用いて、複数の第2翻訳文から翻訳文を生成するようにしてもよい。なお、フレーズは、複数語よりなる単語の集まりをいい、例えば、句、成句、慣用句、決まり文句等が該当する。
さらに、言語処理モジュール130は、複数の第2翻訳文から生成した翻訳文に対して、自然言語処理を行い、第2言語として通用する文であるように修正することを行ってもよい。例えば、形態素解析等を行い、第2言語の文法的に適合する文に修正してもよいし、第2言語のコーパスを用いて機械学習を行った学習モデルを用いて、文を修正するようにしてもよい。
【0027】
修正モジュール135は、受付モジュール105の第2言語文受付モジュール115、言語処理モジュール130、出力モジュール140と接続されている。修正モジュール135は、言語処理モジュール130によって抽出された情報を用いて、第1翻訳文を修正する。
修正モジュール135は、例えば、言語処理モジュール130が翻訳文を生成した場合は、その翻訳文と第1翻訳文を比較して、異なっている部分を抽出してもよい。
【0028】
出力モジュール140は、修正モジュール135と接続されている。出力モジュール140は、修正モジュール135によって修正された第1翻訳文を出力する。出力モジュール140は、例えば、修正モジュール135によって抽出された異なっている部分を他の部分(その翻訳文と第1翻訳文とが同じ部分)とは異なる形態で表示するようにしてもよい。ここで「異なる形態」として、文字の色を赤色等に変更させること、文字の大きさ、書体等を変更させること、下線等を付加すること、動的に変化させること(例えば、フラッシュ、アニメーション等)、点滅させること(点滅における変更対象は、点滅を行うか否か、点滅を行っている期間、点滅の間隔等がある)、又は、これらの組み合わせであってもよい。
なお、出力モジュール140による出力先は、第1言語文受付モジュール110と第2言語文受付モジュール115に対して入力を行ったユーザー又は翻訳システムであってもよいし、添削担当者であってもよい。ユーザー又は翻訳担当者である場合は、その者が用いている端末の表示装置に出力する。添削担当者は、修正モジュール135による修正結果を見て、その修正のコメントを入力したり、さらに、修正を行ったりしてもよい。そして、その結果を第1言語文受付モジュール110と第2言語文受付モジュール115に対して入力を行ったユーザーに提示する。
【0029】
また、出力モジュール140は、第2言語文受付モジュール115が受け付けた第1翻訳文内の単語又はフレーズを採用する度合いに応じて、修正結果を出力するようにしてもよい。また、複数の修正結果を出力するようにしてもよい。
ここで「フレーズ」とは、複数の単語からなるものをいい、その単語群を1つのかたまりとして文を構成する単位となるものである。
また「度合い」として、例えば、(1)原文尊重型の校正、(2)大幅変更を希望の校正、のように2段階以上あればよい。2段階の場合は、2つの修正結果を出力可能である。もちろんのことながら、3段階以上であってもよい。また、ユーザーの指示に応じて、いずれかの度合いの修正結果を1つ出力してもよいし、複数の修正結果を出力してもよい。
(1)の「原文尊重型の校正」とは、第2言語として通用する限りにおいて、第1言語文受付モジュール110が受け付けた文内の単語又はフレーズを残存するように修正するものである。もちろんのことながら、3つ以上の修正結果の文を出力するようにしてもよい。
【0030】
また、翻訳制御モジュール120は、第1言語文受付モジュール110が受け付けた文のカテゴリを抽出するようにしてもよい。
ここで「カテゴリ」とは、文の分類のことであり、例えば、論文、契約書、ラブレター、日記、小説等がある。
このカテゴリの抽出は、第1言語文受付モジュール110が受け付けた文から自動的に決定してもよいし、第1言語文受付モジュール110が受け付けた文を入力したユーザー又は翻訳システムが指定したものを利用してもよい。前者として、例えば、予め定められた単語又はフレーズとカテゴリの組み合わせのテーブル(例えば、「愛している」とカテゴリ「ラブレター」を組み合わせたテーブル)を用意しておき、文内にある単語又はフレーズがそのテーブルにある場合は、その単語又はフレーズに対応するカテゴリであると判断してもよいし、文とカテゴリの組み合わせによって機械学習を行った学習モデルを用いて、判断するようにしてもよい。後者として、ユーザー又は翻訳システムに対象となる文とともにカテゴリを入力させるようにしてもよい。後者として、例えば、予め定められた複数のカテゴリから選択させるようにしてもよい。
翻訳処理モジュール125は、それぞれ得意とするカテゴリを有している。つまり、翻訳処理モジュール125は、カテゴリ毎にランク付け(順位付け)されている。例えば、論文用にカスタマイズされた翻訳処理モジュール125は、カテゴリ「論文」のランクは高いが、「ラブレター」のランクは低い。
このランク付けは、過去の言語処理装置100による処理によって、度合いが高い場合に採用された翻訳処理モジュール125を高くランク付けするようにしてもよい。「度合いが高い場合」とは、第2言語文受付モジュール115が受け付けた第1翻訳文内の単語又はフレーズをできるだけ採用し、修正箇所を少なくするものであり、例えば、前述の(1)原文尊重型の校正、が該当する。つまり、そのような場合であっても、修正する単語又はフレーズとして採用された翻訳を行った翻訳処理モジュール125を用いるべきだからである。
そして、翻訳制御モジュール120は、抽出したカテゴリに対応するランクに応じて翻訳を行わせる翻訳処理モジュール125を選択する。ただし、選択する翻訳処理モジュール125の数は複数である。例えば、受付モジュール105がカテゴリAの文を受け付けた場合、カテゴリAにおいてランクが高い翻訳処理モジュール125を選択して、翻訳処理を行わせるようにする(逆に、カテゴリAにおいてランクが低い翻訳処理モジュール125を除外して、その他の翻訳処理モジュール125に翻訳処理を行わせるようにする)。具体的には、翻訳処理モジュール125を選択するのに、予め定められたランク(閾値)より高位又は以上である翻訳処理モジュール125を選択すればよい。これによって、そもそも採用される可能性の低い翻訳処理モジュール125に翻訳処理をさせずに済むこと、そして、質の悪い翻訳文による悪影響を排除することができる。
【0031】
また、第1言語文受付モジュール110と第2言語文受付モジュール115が、同じ翻訳処理モジュール125から文と第1翻訳文を受け付けた場合は、翻訳制御モジュール120は、その翻訳処理モジュール125に対して翻訳をさせないよう制御するようにしてもよい。
前述したように、翻訳システムAの精度を向上させるために利用する場合は、翻訳依頼先である複数の翻訳システムに、その翻訳システムAを含めないようにしている。翻訳システムAの翻訳精度を向上させることを目的としているのに、その翻訳システムAによる翻訳結果を含めてしまうことは、自らが教師になっているのに等しく、翻訳精度の向上に寄与しないからである。
【0032】
図2は、本実施の形態を利用したシステム構成例を示す説明図である。
言語処理装置100、ユーザー端末210、翻訳システム220A、翻訳システム220B、翻訳システム220C、翻訳者端末230A、翻訳者端末230Bは、通信回線290を介してそれぞれ接続されている。通信回線290は、無線、有線、これらの組み合わせであってもよく、例えば、通信インフラとしてのインターネット、イントラネット等であってもよい。また、言語処理装置100、翻訳システム220による機能は、クラウドサービスとして実現してもよい。
例えば、ユーザー端末210、翻訳者端末230に搭載されているインターネットブラウザを介して、第1言語文受付モジュール110、第2言語文受付モジュール115による受け付け、出力モジュール140による出力を行うようにしてもよい。また、各翻訳処理モジュール125が翻訳を依頼する先として、各翻訳システム220、各翻訳者端末230を有している翻訳者がある。
【0033】
以下に利用例を説明する。
(1)ユーザー端末210のユーザーが、言語処理装置100にアクセスして、原文と翻訳文を入力し、添削依頼を行う。言語処理装置100は、複数の翻訳システム220を用いて、原文の翻訳を行って、その翻訳結果を受け取り、ユーザーの翻訳文を修正して、ユーザー端末210に提示する。
(2)ユーザー端末210のユーザーが、言語処理装置100にアクセスして、原文と翻訳文を入力し、添削依頼を行う。言語処理装置100は、複数の翻訳システム220を用いて、原文の翻訳を行って、その翻訳結果を受け取り、ユーザーの翻訳文を修正して、添削担当者が利用している翻訳者端末230に提示する。そして、添削担当者が、言語処理装置100による翻訳文の修正を確認して、さらなる修正又はコメントを付加して、言語処理装置100に返送する。言語処理装置100は、添削担当者による確認結果を、依頼したユーザーのユーザー端末210に提示する。
(3)ユーザー端末210のユーザーが、言語処理装置100にアクセスして、原文と翻訳文を入力し、添削依頼を行う。言語処理装置100は、複数の翻訳担当者の翻訳者端末230に対して、原文の翻訳を依頼し、その翻訳結果を受け取り、ユーザーの翻訳文を修正して、ユーザー端末210に提示する。
(4)翻訳システム220Aが、言語処理装置100にアクセスして、原文と翻訳文を入力し、添削依頼を行う。言語処理装置100は、翻訳システム220A以外の複数の翻訳システム220を用いて、原文の翻訳を行って、その翻訳結果を受け取り、翻訳システム220Aの翻訳文を修正して、翻訳システム220Aに送信する。
【0034】
図3は、本実施の形態による処理例を示すフローチャートである。添削依頼をするものは、ユーザー又は翻訳システムである。
ステップS302では、第1言語文受付モジュール110は、原文である母国語文を受け付ける。ユーザー又は翻訳システムから、母国語文が入力される。
ステップS304では、第2言語文受付モジュール115は、添削対象の翻訳文を受け付ける。ユーザー又は翻訳システムから、翻訳文が入力される。
【0035】
ステップS306では、翻訳制御モジュール120は、全翻訳システム220での処理が終了したか否かを判断し、終了した場合はステップS312へ進み、それ以外の場合はステップS308へ進む。
ステップS308では、翻訳制御モジュール120は、第N番目の翻訳システム220に、母国語文の翻訳依頼を行う。「N」は、ステップS306からステップS310のループ処理において、1から依頼を行う翻訳システム220の数までインクリメントされた値となる。
【0036】
ステップS310では、翻訳制御モジュール120は、翻訳結果を受け取り、ステップS306へ戻る。
ステップS312では、言語処理モジュール130は、翻訳結果総括処理を行う。ステップS312の詳細な処理については、
図5〜
図7の例に示すフローチャートを用いて後述する。
【0037】
ステップS314では、修正モジュール135は、前ステップの処理結果と添削対象の翻訳文との整合処理を含む添削処理を行う。例えば、ステップS312の処理結果としての翻訳文と、ステップS304で受け付けた翻訳文(添削対象の翻訳文)とを比較して、修正箇所等を指摘する添削を行う。
ステップS316では、出力モジュール140は、添削結果を依頼者に通知する。
【0038】
図3の例に示した処理によって、例えば、翻訳文管理テーブル400を生成する。
図4は、翻訳文管理テーブル400のデータ構造例を示す説明図である。翻訳文管理テーブル400は、文ID欄405、ユーザーID欄410、母国語欄415、母国語文欄420、翻訳言語欄425、翻訳文欄430、添削文欄435、コメント欄440を有している。文ID欄405は、本実施の形態において、文を一意に識別するための情報(具体的には、文ID:IDentification)を記憶している。ユーザーID欄410は、本実施の形態において、ユーザーを一意に識別するための情報(具体的には、ユーザーID)を記憶している。母国語欄415は、母国語を記憶している。例えば、日本語等と記載される。母国語文欄420は、翻訳対象の母国語文を記憶している。例えば、日本語で記載された文である。翻訳言語欄425は、翻訳言語を記憶している。例えば、英語等と記載される。翻訳文欄430は、添削対象の翻訳文を記憶している。母国語文欄420内の文の翻訳文として作成された文であり、例えば、英語で記載された文である。添削文欄435は、添削文を記憶している。コメント欄440は、コメントを記憶している。
文ID欄405から翻訳文欄430は、ステップS302、ステップS304の処理によって記載され、添削文欄435、コメント欄440は、ステップS312、ステップS314の処理によって記載される。
【0039】
図5は、本実施の形態による処理例を示すフローチャートである。ステップS312の処理の一例であり、統計的処理を利用したものである。
ステップS502では、各翻訳システム220の翻訳文を、単語又はフレーズに分割する。
ステップS504では、単語又はフレーズの出現頻度を算出する。
【0040】
ステップS506では、出現頻度の最も多い単語又はフレーズで文を構成する。
ステップS508では、ステップS506で生成した文は、言語処理により誤りのある文と判断されたか否かを判断し、判断された場合はステップS510へ進み、それ以外の場合は処理を終了する(ステップS599)。例えば、第2言語の文法に適合しているか否かの判断を行えばよい。
【0041】
ステップS510では、誤りのある部分を次に多い出現頻度の単語又はフレーズに変換して、文を構成し、ステップS508へ戻る。
【0042】
また、
図7の例に示す処理はステップS312の機械学習処理の一例であるが、その前に学習モデルを生成する処理として、
図6の例に示す処理を行う。
図6は、本実施の形態による処理例を示すフローチャートである。
ステップS602では、教師データとして、(1)母国語文、(2)複数の翻訳結果、(3)正式翻訳文を入力する。教師データとして、さらに、(4)ユーザーの翻訳文(添削対象の文)、(5)添削結果(例えば、修正結果、添削のコメント等)、を加えてもよい。例えば、翻訳の添削サービスを行っている場合、これらのデータを入手することができる。具体的には、ユーザーから「(1)母国語文」のデータを入手し、現存する複数の翻訳システム220から「(2)複数の翻訳結果」のデータを入手し、添削者から「(3)正式翻訳文」のデータを入手し、ユーザーから「(4)ユーザーの翻訳文」のデータを入手し、添削者から「(5)添削結果」のデータを入手することができる。
【0043】
ステップS604では、機械学習を行う。例えば、学習アルゴリズムとして、決定木、Naive Bayes モデル、決定リスト、サポートベクターマシン、最大エントロピー法、条件付き確率場、EMアルゴリズム等を用いればよい。
ステップS606では、学習モデルを出力する。この学習モデルは、
図7の例で示すフローチャートで用いられる。
【0044】
図7は、本実施の形態による処理例を示すフローチャートである。
ステップS702では、翻訳制御モジュール120から、母国語文、複数の翻訳結果を受け付ける。
ステップS704では、機械学習された学習モデルを用いて翻訳文を生成する。教師データとして、(4)ユーザーの翻訳文、(5)添削結果も用いた場合は、さらに、添削結果を出力するようにしてもよい。
【0045】
図8は、本実施の形態によるユーザーインタフェース例を示す説明図である。
言語処理装置100は、ユーザー端末210のインターネットブラウザを介して、画面800を表示させ、依頼者であるユーザーの入力を促す。
画面800には、タイトル欄810、翻訳文欄820、翻訳対象文(母国語文)欄830、添削依頼ボタン840を表示する。
タイトル欄810には、ユーザーが任意のタイトルを付す。
翻訳文欄820には、添削対象の翻訳文(英文)を記載する。
翻訳対象文(母国語文)欄830には、原文(日本語文)を記載する。
添削依頼ボタン840が選択されると、タイトル欄810、翻訳文欄820、翻訳対象文(母国語文)欄830の内容が、ユーザー端末210から言語処理装置100に送信され、言語処理装置100による処理が開始される。
【0046】
図9は、本実施の形態によるユーザーインタフェース例を示す説明図である。
言語処理装置100は、ユーザー端末210のインターネットブラウザを介して、画面900を表示させ、依頼者であるユーザーに対して添削結果等の処理結果を提示する。
画面900には、タイトル欄910、あなたの翻訳文欄920、翻訳対象文(母国語文)欄930、添削後の翻訳文欄940、添削コメント欄950を表示する。
タイトル欄910は、
図8の例に示したタイトル欄810に対応するものである。
あなたの翻訳文欄920は、
図8の例に示した翻訳文欄820に対応するものである。
翻訳対象文(母国語文)欄930は、
図8の例に示した翻訳対象文(母国語文)欄830に対応するものである。
添削後の翻訳文欄940には、言語処理装置100の処理結果である添削後の翻訳文を提示する。なお、翻訳対象文(母国語文)欄830に対しての修正がわかるように、修正箇所の形態を異ならせるようにしてもよい。また、ユーザーの翻訳文内の単語又はフレーズを採用する度合いに応じて、複数の修正結果を出力するようにしてもよい。前述したように、(1)原文尊重型の校正、(2)大幅変更を希望の校正、の2つの添削例を出力するようにしてもよい。
添削コメント欄950には、添削のコメントを提示する。添削者がいる場合は、添削者によるコメントを提示し、コメントも機械学習している場合は、学習モデルが出力するコメントを提示してもよい。
【0047】
図10から
図12は、翻訳文のみを対象とした場合の処理例と本実施の形態による処理例との比較を示す説明図である。
各図(a)の例は、ユーザーから入力される翻訳文(これらの例では英文)のみである場合の添削処理例を示すものである。つまり、既存の校正システム又は添削者(人間)が行った添削処理例である。
各図(b)の例は、言語処理装置100による処理例を示すものである。
【0048】
図10(a)に示す例は、あなたの翻訳文欄1020a内の文のみによって添削を行った例を示すものである。
あなたの翻訳文欄1020aには、ユーザーによって「I have a dog.」と入力される。この文のみでは、文法的にも、スペルも誤りはないので、添削結果としても、添削後の翻訳文欄1040aに、添削後の文である「I have a dog.」と出力することになる。
【0049】
図10(b)に示す例は、あなたの翻訳文欄1020bと翻訳対象文(母国語文)欄1030b内の文を用いて、言語処理装置100が添削を行った例を示すものである。
あなたの翻訳文欄1020bには、ユーザーによって「I have a dog.」と入力される。
さらに、翻訳対象文(母国語文)欄1030bには、ユーザーによって「私は猫を飼っています。」と入力される。
添削後の翻訳文欄1040aには、言語処理装置100による添削後の文である「I have a cat.」が出力される。ユーザーは、「猫」を「dog」と翻訳してしまったので、添削結果として「dog」を「cat」と修正している。
【0050】
図11(a)に示す例は、あなたの翻訳文欄1120a内の文のみによって添削を行った例を示すものである。
あなたの翻訳文欄1120aには、ユーザーによって「Please send me the documents.」と入力される。この文のみでは、文法的にも、スペルも誤りはないので、添削結果としても、添削後の翻訳文欄1140aに、添削後の文である「Please send me the documents.」と出力することになる。
【0051】
図11(b)に示す例は、あなたの翻訳文欄1120bと翻訳対象文(母国語文)欄1130b内の文を用いて、言語処理装置100が添削を行った例を示すものである。
あなたの翻訳文欄1120bには、ユーザーによって「Please send me the documents.」と入力される。
さらに、翻訳対象文(母国語文)欄1130bには、ユーザーによって「その資料をお送りいただければ助かります。」と入力される。
添削後の翻訳文欄1140aには、言語処理装置100による添削後の文である「It would be helpful if you could send me the documents.」が出力される。つまり、母国語によって記載された原文を基に校正を行っている。これによって、英文の表現をより豊かにすることができている。
【0052】
図12は、翻訳文のみを対象とした場合の処理例と本実施の形態による処理例との比較を示す説明図である。
図12(a)に示す例は、あなたの翻訳文欄1220a内の文のみによって添削を行った例を示すものである。
あなたの翻訳文欄1220aには、ユーザーによって「Dish too good because, I became go that restoran very much.」と入力される。この文は、基本的な文構造やスペルに問題があり、原文なしでは添削が困難である。したがって、この文に対して、既存の校正システムでは校正できない。
図12の翻訳文欄1240a、翻訳文欄1245a内に示す英文例は、添削者(人間)が行った添削例である。
例えば、添削後の翻訳文欄1240aに、添削後の文である「The dish was very good. I like that restaurant very much.」と出力することになる。例えば、翻訳文は「その食事はとてもおいしかったです。私はそのレストランがとても好きです。」であることを記載したかったと添削者が解釈した場合の翻訳文になっている。そもそも翻訳文の繋がりが分からず、接続詞や細かな意味の部分が削除されてしまう。したがって、日本語のニュアンスとは異なる意味に推測して添削されることになってしまう。
又は、例えば、添削後の翻訳文欄1245aに、添削後の文である「Because the dish was good, too, I came/started to go to Restoran very often.」と出力することになる。例えば、翻訳文は「その料理「も」おいしかったので、Restoranに頻繁に通うようになりました(通い始めました)。」であることを記載したかったと添削者が解釈した場合の翻訳文になっている。理由として、ユーザーの意図としては「とても」という意味で使用された「too」であるが、「〜も」と解釈されており、英文の単語が別の意味で使用されてしまっているからである。そして、「restaurant」を「restoran」としたスペルミスにより、固有名詞や別の単語と誤って解釈されてしまっているからである。
【0053】
図12(b)に示す例は、あなたの翻訳文欄1220bと翻訳対象文(母国語文)欄1230b内の文を用いて、言語処理装置100が添削を行った例を示すものである。
あなたの翻訳文欄1220bには、ユーザーによって「Dish too good because, I became go that restoran very much.」と入力される。
さらに、翻訳対象文(母国語文)欄1230bには、ユーザーによって「その料理があまりにおいしかったので、私はそのレストランに頻繁に通うようになった。」と入力される。
添削後の翻訳文欄1240aには、言語処理装置100による添削後の文である「Because the dish was so good, I came/started to go to that restaurant very often.」が出力される。
翻訳対象文(母国語文)欄1230b内の文を校正に使用することで、解読不可能な低品質な英文を美しく校正することができている。
【0054】
図13は、本実施の形態による処理例を示す説明図である。
図10(b)の例に対応する処理例を示すものである。つまり、誤植を検知する例を示すものである。
ユーザーによって、翻訳対象文1330、翻訳文(本人)1320が入力される。
翻訳対象文1330である「私は猫を飼っています。」を入力し、翻訳エンジンA:1380Aは翻訳文1385Aである「I have a cat.」を出力する。同様に、翻訳エンジンB:1380Bは翻訳文1385Bである「I have a cat.」を出力する。翻訳エンジンC:1380Cは翻訳文1385Cである「I have a cat.」を出力する。
そして、比較モデル1390(言語処理モジュール130に相当)は、単語毎の出現頻度を計算する。この例では、「I」は3回、「have」は3回、「cat」は3回である。各単語は、出現頻度の最も多い単語であるので、これらから「I have a cat.」を生成する。
そして、修正モジュール135は、この文と翻訳文(本人)1320を比較する。そして出力モジュール140は、、誤り指摘文1340、添削後翻訳文1342を出力する。誤り指摘文1340では、誤りがある「dog」の部分に下線を施している。なお、文字色で誤り部分を指摘するようにしてもよい。例えば、ブルーは比較モデル1390に生成された翻訳文との相違により誤りの可能性は低い部分とし、赤は誤りの可能性が高い部分であると表現してもよい。
【0055】
図14は、本実施の形態による処理例を示す説明図である。
図11(b)の例に対応する処理例を示すものである。つまり、表現についての提案の例を示すものである。
ユーザーによって、翻訳対象文1430、翻訳文(本人)1420が入力される。
翻訳対象文1430である「その資料をお送りいただければ助かります。」を入力し、翻訳エンジンA:1380Aは翻訳文1485Aである「I would be very helpful if you could send me the materials.」を出力する。同様に、翻訳エンジンB:1380Bは翻訳文1485Bである「It would be very helpful if you could send me the material.」を出力する。翻訳エンジンC:1380Cは翻訳文1485Cである「It is saved if you can send the document.」を出力する。
そして、翻訳結果を学習させた学習モデル(比較モデル1390)を用いて、翻訳文(本人)1420の文と比較する。ここでの学習モデルは、特に文の丁寧さの特徴を学習したものであってもよい。翻訳対象文1430の文に含まれている単語又はフレーズから、用いる学習モデルを選択してもよい。この例では、「助かります」という単語から、「丁寧さ」を学習した学習モデルを選択している。
そして、添削結果として、例えば、添削後翻訳文1440、添削後翻訳文1442、添削後翻訳文1444のいずれか1つ以上を出力する。添削後翻訳文1440では、「Please send me the documents.」の「Please」の部分を修正すべきであることを示している。この例では、「Please」の部分を削除線で消す表示にしている。また、添削後翻訳文1442では、「It would be helpful if you could send me the documents.」とし、「It would be helpful if you could」の部分に下線を施し、この部分が原文から修正したことを示している。また、添削後翻訳文1444では、「It would be helpful if you could send me the materials.」とし、「It would be helpful if you could」と「materials」の部分に下線を施し、この部分が原文から修正したことを示している。前述したように、文字色で修正部分を指摘するようにしてもよい。例えば、グリーンは比較モデル1390により修正した方がよいと判定された部分とする。
【0056】
図15は、本実施の形態による処理例を示す説明図である。
図12(b)の例に対応する処理例を示すものである。つまり、稚拙な文章の校正の例を示すものである。
ユーザーによって、翻訳対象文1530、翻訳文(本人)1520が入力される。
翻訳対象文1530である「その料理があまりにおいしかったので、私はそのレストランに頻繁に通うようになった。」を入力し、翻訳エンジンA:1380Aは翻訳文1585Aである「The food was so tasty that I went to the restaurant frequently.」を出力する。同様に、翻訳エンジンB:1380Bは翻訳文1585Bである「The dish was too good, so I came frequently to go to the restaurant.」を出力する。翻訳エンジンC:1380Cは翻訳文1585Cである「The food was so good that I went to the restaurant often.」を出力する。
そして、翻訳結果を学習させた学習モデル(比較モデル1390)を用いて、翻訳文(本人)1520の文と比較する。ここでの学習モデルは、特に翻訳結果を自然言語処理し、接続詞を用いた文章構造を学習させ、特徴に適した結果を優先的に学習したものであってもよい。前述と同様に、翻訳対象文1530の文に含まれている単語又はフレーズから、用いる学習モデルを選択してもよい。この例では、「ので、」という単語から、接続詞を用いた文章構造を学習した学習モデルを選択している。
そして、添削結果として、例えば、ユーザーの要望に応じて、最小限の変更、大幅な変更等のように出力させることが可能である。例えば、最小限の変更が指定された場合は添削後翻訳文1540を出力し、大幅な変更が指定された場合は添削後翻訳文1542を出力する。なお、添削後翻訳文1540として「The dish was too good, so I went to the restaurant often.」を出力している。添削後翻訳文1542として「The food was so tasty that I went to the restaurant frequently.」を出力している。また、両者を出力してもよい。このように、ユーザーの要望に応じて、柔軟に対応可能にする。なお、具体的な処理として、比較モデル1390は、複数の翻訳文を出力し、翻訳文(本人)1520に対しての修正度合いが少ない翻訳文、多い翻訳文を選択すればよい。
【0057】
図16は、本実施の形態による処理例を示すフローチャートである。添削依頼をするものは、ユーザー又は翻訳システムである。
ステップS1602では、第1言語文受付モジュール110は、原文である母国語文を受け付ける。ユーザー又は翻訳システムから、母国語文が入力される。
ステップS1604では、第2言語文受付モジュール115は、添削対象の翻訳文を受け付ける。ユーザー又は翻訳システムから、翻訳文が入力される。
【0058】
ステップS1606では、翻訳制御モジュール120は、ステップS1602で受け付けられた母国語文からカテゴリを抽出する。例えば、ユーザー又は翻訳システムがカテゴリを指定する。
ステップS1608では、翻訳制御モジュール120は、カテゴリに応じて、翻訳システムを選択する。例えば、翻訳システム・カテゴリテーブル1700を用いて選択すればよい。
図17は、翻訳システム・カテゴリテーブル1700のデータ構造例を示す説明図である。翻訳システム・カテゴリテーブル1700は、翻訳システムID欄1705、カテゴリ数欄1710、カテゴリ欄1715、ランク欄1720等を有している。翻訳システムID欄1705は、本実施の形態において、翻訳システム220を一意に識別するための情報(具体的には、翻訳システムID)を記憶している。カテゴリ数欄1710は、その翻訳システムに付与されているカテゴリ数を記憶している。カテゴリ数欄1710内の数だけ、カテゴリ数欄1710の後にカテゴリ欄1715とランク欄1720の組が続く。カテゴリ欄1715は、カテゴリを記憶している。ランク欄1720は、そのカテゴリにおける、その翻訳システムのランクを記憶している。例えば、ステップS1606で抽出されたカテゴリにおいて、閾値ランクT以上の翻訳システム220を選択すればよい。なお、ランク付けは、
図15の例で説明した最小限の変更の際に採用された翻訳文に類似する翻訳を行った翻訳システム220のランクを高くするように行う。
【0059】
ステップS1610では、添削依頼をするものは、翻訳システムであるか否かを判断する。添削依頼をするものが翻訳システムである場合はステップS1612へ進み、それ以外の場合はステップS1614へ進む。
ステップS1612では、添削依頼をするものである翻訳システムを、ステップS1608で選択した翻訳システムから除外する。自分自身を添削する側の翻訳システムに含めないようにするためである。もちろんのことながら、ステップS1608で選択した翻訳システムに、添削依頼をした翻訳システムが含まれていなければ、除外することは不要である。
【0060】
ステップS1614では、翻訳制御モジュール120は、選択された翻訳システム220での処理が終了したか否かを判断し、終了した場合はステップS1620へ進み、それ以外の場合はステップS1616へ進む。
ステップS1616では、翻訳制御モジュール120は、第N番目の翻訳システム220に、母国語文の翻訳依頼を行う。「N」は、ステップS1614からステップS1618のループ処理において、1から依頼を行う翻訳システム220の数までインクリメントされた値となる。
【0061】
ステップS1618では、翻訳制御モジュール120は、翻訳結果を受け取り、ステップS1614へ戻る。
ステップS1620では、言語処理モジュール130は、翻訳結果総括処理を行う。ステップS1620の詳細な処理については、
図5〜
図7の例に示すフローチャートを用いて前述した。
【0062】
ステップS1622では、修正モジュール135は、前ステップの処理結果と添削対象の翻訳文との整合処理を含む添削処理を行う。例えば、ステップS1620の処理結果としての翻訳文と、ステップS1604で受け付けた翻訳文(添削対象の翻訳文)とを比較して、修正箇所等を指摘する添削を行う。
ステップS1624では、出力モジュール140は、添削結果を依頼者に通知する。
【0063】
なお、本実施の形態(言語処理装置100、ユーザー端末210、翻訳システム220、翻訳者端末230)としてのプログラムが実行されるコンピュータのハードウェア構成は、
図18に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなり得るコンピュータ等である。つまり、具体例として、処理部(演算部)としてCPU1801を用い、記憶装置としてRAM1802、ROM1803、HDD1804を用いている。HDD1804として、例えば、HDD(Hard Disk Driveの略)、フラッシュ・メモリであるSSD(Solid State Driveの略)等を用いてもよい。受付モジュール105、第1言語文受付モジュール110、第2言語文受付モジュール115、翻訳制御モジュール120、翻訳処理モジュール125、言語処理モジュール130、修正モジュール135、出力モジュール140等のプログラムを実行するCPU1801と、そのプログラムやデータを記憶するRAM1802と、本コンピュータを起動するためのプログラム等が格納されているROM1803と、原文、翻訳文等を記憶する機能を有する補助記憶装置であるHDD1804と、キーボード、マウス、タッチスクリーン、マイク、カメラ(視線検知カメラ等を含む)等に対する利用者の操作(動作、音声、視線等を含む)に基づいてデータを受け付ける受付装置1806と、液晶ディスプレイ、有機ELディスプレイ、スピーカー等の出力装置1805と、ネットワークインタフェースカード等の通信ネットワークと接続するための通信回線インタフェース1807、そして、それらをつないでデータのやりとりをするためのバス1808により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
【0064】
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、
図18に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、
図18に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、プロセッサーとして、GPU(Graphics Processing Unitの略、GPGPU(General−Purpose computing on Graphics Processing Unitsの略)を含む)を用いてもよいし、一部のモジュールを専用のハードウェア(例えば特定用途向け集積回路(具体例として、ASIC(Application Specific Integrated Circuitの略)等がある)や再構成可能な集積回路(具体例として、FPGA(Field−Programmable Gate Arrayの略)等がある)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続している形態でもよく、さらに
図18に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、携帯情報通信機器(携帯電話、スマートフォン、モバイル機器、ウェアラブルコンピュータ等を含む)、情報家電、ロボット等に組み込まれていてもよい。
【0065】
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通等のために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blu−ray(登録商標) Disc)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM(登録商標))、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)、SD(Secure Digitalの略)メモリーカード等が含まれる。
そして、前記のプログラムの全体又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、又は無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分若しくは全部であってもよく、又は別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して記録されていてもよい。また、圧縮や暗号化等、復元可能であればどのような態様で記録されていてもよい。
【課題】翻訳文だけでなく、原語による文も受け付け、原語による文を複数の翻訳手段を用いて翻訳することによって、1つの翻訳手段を用いた場合よりも、翻訳文を的確に修正できるようにした情報処理装置を提供する。
【解決手段】情報処理装置の第1受付手段は、第1言語で記載された文を受け付け、第2受付手段は、第2言語で記載された、前記第1受付手段が受け付けた文の翻訳文として作成された文である第1翻訳文を受け付け、翻訳制御手段は、前記第1受付手段が受け付けた文を、複数の翻訳手段に翻訳させる制御を行い、抽出手段は、複数の前記翻訳手段によって翻訳された結果である複数の第2翻訳文から、前記第1翻訳文を修正するための情報を抽出し、出力手段は、前記抽出手段によって抽出された情報を用いて、前記第1翻訳文を修正した結果を出力する。