(57)【特許請求の範囲】
【請求項１】
入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換する単語表記正規化部と、
述部を構成する少なくとも１つの単語からなる単語列に対して、正規化された述部を構成する単語列に変換するための述部正規化規則に基づいて、前記単語表記正規化部により変換された前記第１言語の文字列に含まれる述部を構成する単語列を、正規化された述部を構成する単語列に変換する述部正規化部と、
前記述部正規化部により変換された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳する機械翻訳部と、
を含む、テキスト変換装置。
【請求項２】
入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換する単語表記正規化部と、
前記第１言語の文字列から、予め定められた非言語パターンを表すパターン文字列を削除するパターン文字列抽出部と、
前記単語表記正規化部により変換され、かつ、前記パターン文字列抽出部によって前記パターン文字列が削除された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳する機械翻訳部と、
予め定められた、パターン文字列及び前記第２言語に対応する翻訳パターン文字列の組み合わせであるパターン文字列変換規則に基づいて、前記パターン文字列抽出部において前記削除された前記パターン文字列に対応する翻訳パターン文字列が存在する場合、前記機械翻訳部の翻訳結果である前記第２言語の文字列に、前記パターン文字列抽出部においてパターン文字列を削除した位置に、前記対応する翻訳パターン文字列を追記するパターン文字列追記部と、
を含み、
前記パターン文字列変換規則は、前記第１言語の文字列中の他の単語と文法的なつながりを持たない所定のパターン文字列と、
前記所定のパターン文字列のうち、前記第２言語において対応する翻訳パターン文字列が明確なパターン文字列についての、当該パターン文字列に対応する翻訳パターン文字列とを対応付けた規則である、テキスト変換装置。
【請求項３】
前記第１言語の文字列から、予め定められた非言語パターンを表すパターン文字列を削除するパターン文字列抽出部と、
予め定められた、パターン文字列及び前記第２言語に対応する翻訳パターン文字列の組み合わせであるパターン文字列変換規則に基づいて、前記パターン文字列抽出部において前記削除された前記パターン文字列に対応する翻訳パターン文字列が存在する場合、前記機械翻訳部の翻訳結果である前記第２言語の文字列に、前記パターン文字列抽出部においてパターン文字列を削除した位置に、前記対応する翻訳パターン文字列を追記するパターン文字列追記部とを更に含み、
前記機械翻訳部は、前記単語表記正規化部により変換され、かつ、前記パターン文字列抽出部によって前記パターン文字列が削除された前記第１言語の文字列を前記第２言語の文字列へと翻訳し、
前記パターン文字列変換規則は、前記第１言語の文字列中の他の単語と文法的なつながりを持たない所定のパターン文字列と、
前記所定のパターン文字列のうち、前記第２言語において対応する翻訳パターン文字列が明確なパターン文字列についての、当該パターン文字列に対応する翻訳パターン文字列とを対応付けた規則である、請求項１記載のテキスト変換装置。
【請求項４】
前記パターン文字列変換規則では、パターン文字列、位置、及び前記第２言語に対応する翻訳パターン文字列の組み合わせが予め定められ、
前記パターン文字列追記部は、前記パターン文字列抽出部において前記削除された前記パターン文字列、及び前記パターン文字列を削除した位置の組み合わせに対応する翻訳パターン文字列が存在する場合、前記機械翻訳部の翻訳結果である前記第２言語の文字列に、前記パターン文字列抽出部においてパターン文字列を削除した位置に、前記対応する翻訳パターン文字列を追記する請求項２又は３記載のテキスト変換装置。
【請求項５】
入力された第１言語の文字列と前記第１言語の文字列を前記第１言語とは異なる第２言語で表現した前記第２言語の文字列との組み合わせの各々について、
前記組み合わせに含まれる第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換する学習用単語表記正規化部と、
前記組み合わせの各々における、前記学習用単語表記正規化部により変換された前記第１言語の文字列と、前記第２言語の文字列とに基づいて、前記第１言語の文字列を前記第２言語の文字列に翻訳するための翻訳モデルを学習する翻訳学習部と、を更に含み、
前記機械翻訳部は、前記翻訳学習部により学習された翻訳モデルに基づいて、前記第１言語の文字列を前記第２言語の文字列へと翻訳する請求項１〜４の何れか１項記載のテキスト変換装置。
【請求項６】
単語表記正規化部と、述部正規化部と、機械翻訳部とを含むテキスト変換装置における、テキスト変換方法であって、
前記単語表記正規化部は、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、
前記述部正規化部は、述部を構成する少なくとも１つの単語からなる単語列に対して、正規化された述部を構成する単語列に変換するための述部正規化規則に基づいて、前記単語表記正規化部により変換された前記第１言語の文字列に含まれる述部を構成する単語列を、正規化された述部を構成する単語列に変換し、
前記機械翻訳部は、前記述部正規化部により変換された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳する、
テキスト変換方法。
【請求項７】
単語表記正規化部と、パターン文字列抽出部と、機械翻訳部と、パターン文字列追記部とを含むテキスト変換装置における、テキスト変換方法であって、
前記単語表記正規化部は、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、
前記パターン文字列抽出部は、前記第１言語の文字列から、予め定められた非言語パターンを表すパターン文字列を削除し、
前記機械翻訳部は、前記単語表記正規化部により変換され、かつ、前記パターン文字列抽出部によって前記パターン文字列が削除された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳し、
前記パターン文字列追記部は、予め定められた、パターン文字列及び前記第２言語に対応する翻訳パターン文字列の組み合わせであるパターン文字列変換規則に基づいて、前記パターン文字列抽出部において前記削除された前記パターン文字列に対応する翻訳パターン文字列が存在する場合、前記機械翻訳部の翻訳結果である前記第２言語の文字列に、前記パターン文字列抽出部においてパターン文字列を削除した位置に、前記対応する翻訳パターン文字列を追記する
ことを含み、
前記パターン文字列変換規則は、前記第１言語の文字列中の他の単語と文法的なつながりを持たない所定のパターン文字列と、
前記所定のパターン文字列のうち、前記第２言語において対応する翻訳パターン文字列が明確なパターン文字列についての、当該パターン文字列に対応する翻訳パターン文字列とを対応付けた規則である、テキスト変換方法。
【請求項８】
コンピュータを、請求項１〜５の何れか１項記載のテキスト変換装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト変換装置、方法、プログラムに係り、特に、入力された文字列を別の言語の文字列に翻訳するテキスト変換装置、方法、プログラムに関する。
【背景技術】
【０００２】
近年、twitter（登録商標）やFacebook（登録商標）等に代表されるSNSや、商品やサービスに関する口コミ掲示板等のインターネットサービスの利用者が爆発的に増加している。
【０００３】
利用者は、興味ある知り合いが発信する情報や商品やサービスのクチコミ情報を収集して利用する一方、利用者自身も積極的につぶやきやクチコミ情報等の情報発信を行う所謂“コンシューマー・ジェネレイテッド・メディア” （以下、「CGM」）に関与していることが特徴的である。
【０００４】
これに伴い、多数の利用者が情報発信する膨大なテキストデータがインターネットに蓄積・アクセスできるようになっている。この中には、例えば、近所の人しか知り得ない地元のレストランやサービス等に関するクチコミ情報が含まれ、その場所に行こうとする観光旅行者等にとって貴重な情報源となっている。
【０００５】
これらのクチコミ情報は、外国から日本を訪問する観光客や日本の商品やサービスに関心がある海外の消費者にとっても有用である。しかしこれらは、地元で居住する人々が使う自然言語で記述されているため、日本語を理解できない人々にとってはアクセスすることが困難である。企業から提供されるサービス・商品情報については、複数の自然言語に翻訳して掲載されているものもあるが、CGMの情報はその規模が莫大であるため、その全てを人が翻訳して掲載することは困難である。
【０００６】
このような状況において、コンピュータでテキストを別の自然言語に翻訳する機械翻訳技術は、言葉に関する大規模情報アクセスの困難を克服する手段として有力視されている。
【０００７】
以下、日本語の文を、英語や中国語等の別の言語に変換する機械翻訳を例として説明する。機械翻訳の技術は種々であり、例えば、２つの言語の単語や句、節の間の変換規則を予め設定しておき、その規則に従って日本語テキストを別の言語のテキストに変換するルールベース翻訳、２つの言語の対訳文を多量に用意しておき、入力に近い対訳文を加工等して出力するメモリーベース翻訳、２つの言語でのテキスト中の単語や単語列の出現確率や対訳文に現れる単語列の出現確率に基づき日本語文を変換する統計機械翻訳等様々提案されている。
【０００８】
過去にはルールベース翻訳が主たる技術であったが、新聞記事や技術文書、特許文では大規模な対訳データが得られるようになったことから、メモリーベース翻訳、さらには統計翻訳技術が多く用いられるようになっている。
【０００９】
対訳データを用いた機械翻訳技術ではその仕組から、入力文と似ている、あるいは、文字列や単語列の傾向が似ている日本語の文の対訳データが存在することが前提である。そのため、CGMのテキストの翻訳では、関わるCGMサービスやトピックに関する対訳データを必要とするが、ローカルな情報に関するテキストにそもそも対訳データが存在しないために、比較的整備されている新聞記事等の対訳データを使用せざるを得ない。
【００１０】
新聞記事は、ニュース等の多くの人が関心あるトピックについて、記事を正しく理解してもらえるように単語や表現を専門家が厳選して執筆し、校正を繰り返して掲載する。一方CGMのテキストは、個々の消費者が自由な表現で執筆した私的な文章や知り合いのみに伝わるような特殊な言語表現が多く含まれる。例えば、「苦手かもしれない」という言語表現がCGMテキストでは、「苦手ぇかもしれねー」、「にがてーかもしれなーい」、「にがーてかもしれないー」のように同一の単語「苦手」と「知れない」が類似した音で異なる文字列「苦手ぇ」「にがてー」「にがーて」や「しれねー」「しれなーい」「しれないー」で表現されていたり、「苦手かも知れないね」「苦手だったりするかも知れない」「苦手であったりするのかもしれないのだ」の様に、ニュアンスは多少異なるが意味内容はほぼ同じとなるような単語を追加/変更して表現されることも考えられる。そのため、新聞記事等をベースとした既存の対訳データでは、CGMでの日本語表現の多くをカバーできない点が問題となる。
【００１１】
また、CGMテキストには文の内容には直接関わらないがニュアンスを伝えるために、アスキーアートや顔文字のような文字で描画するパターン表現が多く含まれている。例えば文「昨日はありがとうございました<(_ _)>」や「今日は宿題を忘れちゃった（＾▽＾；）」中の「<(_ _)>」や「（＾▽＾；）」が顔文字であり、それぞれお辞儀をする様、あせる様を表現している。
【００１２】
このパターン表現は文中では単語として振る舞うことなく、多くは文末に配置される。一方、これまでに整備されている新聞記事等の対訳データには多く含まれていない。このパターンの構成要素の各文字である「;」や「<」などは対訳データ中に現れているので、このままではパターン表現が複数の単語とみなされてしまい、このままでは翻訳結果に誤って現れる可能性があるという問題がある。
【００１３】
上記の問題について、多様な日本語の表現を少数の表現に変換する正規化技術が有用であると期待されている。従来技術においては、例えば、日本語文での「どうした」を表す一連の単語で構成される述部を単純かつ文法的に正しい言い換えを行う（特許文献１）技術がある。
【００１４】
また、CGMテキストデータで多く現れるアスキーアートや顔文字の翻訳については、従来技術において、パターン文字列に対する翻訳先言語のパターン文字列を用意しておく方法が知られている（特許文献２、特許文献３）。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特開２０１２−２０３５８４号公報
【特許文献２】特開２００５−１６７５００号公報
【特許文献３】特開２００２−１８３０６５号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかし、上記特許文献１の技術においては、「苦手なのかも知れないね」という述部が「苦手かも知れない」と変換されることが可能であることから、機械翻訳の前処理としての利用が可能と主張されているが、CGMテキストのような多様な表現が含む翻訳について、入手可能な新聞記事等の対訳データを用いてどのように行うかは不明であるという問題がある。
【００１７】
また、特許文献１の技術においては、述部を構成する単語列のパターンを辞書として予め登録しておき、その単語列と一致した入力に対して正規化処理が行われる。そのため、CGMテキストでの述部「苦手なのかも知れなーぃね」を正規化するときに、単語列「かも」＋「知れ」＋「ない」がパターンとしては登録していても、類似した「かも」＋「知れ」＋「なーい」が登録されていないと、正規化処理を行うことができないという問題がある。
【００１８】
さらに、特許文献２、及び特許文献３の技術においては、パターン文字列の多くは、文中で他の単語と文法的なつながりが有るわけではないため、統計翻訳ではそのまま扱うと別の単語として扱われる可能性があり、機械翻訳結果の低下につながるという問題がある。
【００１９】
本発明では、上記問題点を解決するために成されたものであり、精度良く翻訳を行うテキスト変換装置、方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【００２０】
上記目的を達成するために、第１の発明のテキスト変換装置は、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換する単語表記正規化部と、前記単語表記正規化部により変換された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳する機械翻訳部と、を含んで構成されている。
【００２１】
第２の発明のテキスト変換方法は、単語表記正規化部と、機械翻訳部とを含むテキスト変換装置における、テキスト変換方法であって、前記単語表記正規化部は、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、前記機械翻訳部は、前記単語表記正規化部により変換された前記第１言語の文字列を、前記第１言語とは異なる第２言語の文字列へと翻訳する。
【００２２】
第１及び第２の発明によれば、単語表記正規化部により、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、機械翻訳部により、変換された第１言語の文字列を、第１言語とは異なる第２言語の文字列へと翻訳する。
【００２３】
このように、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、変換された第１言語の文字列を、第１言語とは異なる第２言語の文字列へと翻訳することにより、精度良く翻訳を行うことができる。
【００２４】
また、第１の発明において、前記第１言語の文字列から、予め定められた非言語パターンを表すパターン文字列を削除するパターン文字列抽出部と、前記機械翻訳部は、前記単語表記正規化部により変換され、かつ、前記パターン文字列抽出部によって前記パターン文字列が削除された前記第１言語の文字列を前記第２言語の文字列へと翻訳してもよい。
【００２５】
また、第１の発明において、述部を構成する少なくとも１つの単語からなる単語列に対して、正規化された述部を構成する単語列に変換するための述部正規化規則に基づいて、前記単語表記正規化部により変換された前記第１言語の文字列に含まれる述部を構成する単語列を、正規化された述部を構成する単語列に変換する述部正規化部を更に含み、前記機械翻訳部は、前記述部正規化部により変換された前記第１言語の文字列を前記第２言語の文字列へと翻訳してもよい。
【００２６】
また、第１の発明において、前記機械翻訳部の翻訳結果である前記第２言語の文字列に、前記パターン文字列抽出部においてパターン文字列を削除した位置に、前記パターン文字列に対応する文字列であって、かつ、前記第２言語に対応する文字列を追記するパターン文字列追記部を更に含んでもよい。
【００２７】
また、第１の発明において、入力された第１言語の文字列と前記第１言語の文字列を前記第１言語とは異なる第２言語で表現した前記第２言語の文字列との組み合わせの各々について、前記組み合わせに含まれる第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換する学習用単語表記正規化部と、前記組み合わせの各々における、前記学習用単語表記正規化部により変換された前記第１言語の文字列と、前記第２言語の文字列とに基づいて、前記第１言語の文字列を前記第２言語の文字列に翻訳するための翻訳モデルを学習する翻訳学習部と、を更に含み、前記機械翻訳部は、前記翻訳学習部により学習された翻訳モデルに基づいて、前記第１言語の文字列を前記第２言語の文字列へと翻訳してもよい。
【００２８】
また、第１の発明において、前記組み合わせの各々について、前記組み合わせに含まれる第１言語の文字列から、予め定められた非言語パターンを表すパターン文字列を削除する学習用パターン文字列抽出部を更に含み、前記翻訳学習部は、前記組み合わせの各々における、前記学習用単語表記正規化部により変換され、かつ、前記学習用パターン文字列抽出部により前記パターン文字列が削除された前記第１言語の文字列と、前記第２言語の文字列とに基づいて、前記第１言語の文字列を前記第２言語の文字列に翻訳するための翻訳モデルを学習してもよい。
【００２９】
また、本発明のプログラムは、コンピュータを、上記のテキスト変換装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００３０】
以上説明したように、本発明のテキスト変換装置、方法、及びプログラムによれば、入力された第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、変換された第１言語の文字列を、第１言語とは異なる第２言語の文字列へと翻訳することにより、精度良く翻訳を行うことができる。
【図面の簡単な説明】
【００３１】
【図１】第１の実施形態に係るテキスト変換装置の機能的構成を示すブロック図である。
【図２】入力文の例を示す図である。
【図３】パターン文字列変換規則の一例を示す図である。
【図４】単語表記文字列正規化規則の一例を示す図である。
【図５】述部正規化規則の一例を示す図である。
【図６】対訳データの一例を示す図である。
【図７】第１の実施形態に係るテキスト変換装置におけるテキスト変換処理ルーチンを示すフローチャートである。
【図８】第１の実施形態に係るテキスト変換装置におけるテキスト変換処理ルーチンを示すフローチャートである。
【図９】第１及び第２の実施形態に係るテキスト変換装置におけるテキスト変換処理ルーチンを示すフローチャートである。
【図１０】対訳データの一例を示す図である。
【図１１】第２の実施形態に係るテキスト変換装置の機能的構成を示すブロック図である。
【図１２】第２の実施形態に係るテキスト変換装置における対訳データテキスト変換処理ルーチンを示すフローチャートである。
【図１３】第２の実施形態に係るテキスト変換装置における対訳データテキスト変換処理ルーチンを示すフローチャートである。
【図１４】第２の実施形態に係るテキスト変換装置におけるテキスト変換処理ルーチンを示すフローチャートである。
【図１５】第２の実施形態に係るテキスト変換装置におけるテキスト変換処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００３２】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００３３】
＜第１の実施形態に係るテキスト変換装置の構成＞
次に、第１の実施形態に係るテキスト変換装置の構成について説明する。図１に示すように、第１の実施形態に係るテキスト変換装置１００は、ＣＰＵと、ＲＡＭと、後述するテキスト変換処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。このテキスト変換装置は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを含んで構成されている。
【００３４】
入力部１０は、翻訳元の第１言語である日本語で記述された文字列からなる文を受け付ける。入力部１０は、例えば、図２に示すような入力文を受け付ける。図２に示す入力文に含まれる部分文字列「(ｐ＿；)ヾ(´∀｀)」は、非言語パターンであり、所謂「アスキーアート」や「顔文字」と呼ばれているものの一例である。第１の実施形態では「パターン文字列」と総称する。パターン文字列は、１文字乃至複数で構成され、文末や読点（「、」、「，」等）の後に出現することが多いが、文中の任意の場所に出現することもある。また、パターン文字列は、文の著者や文と関わる人物の情動を文に付与するために用いられるため、文中の他の単語と文法的なつながり無く出現する場合が多い。図２に示す文に含まれるパターン文字列「(ｐ＿；)ヾ(´∀｀)」は、おそらく、入力文中の「彼」が、歌が苦手なことと、歌が苦手なことを慰める著者のイメージと推測されるが、他に多様な解釈をすることもできる。なお、第１の実施形態においては、入力される文は１つで有る場合について説明する。また、第１の実施形態においては、図２の入力文が入力されたとして、以下説明する。
【００３５】
演算部２０は、パターン文字列変換規則記憶部２２と、パターン文字列抽出部２３と、追記対象記憶部２４と、単語表記文字列正規化規則記憶部２６と、単語表記正規化部２８と、述部正規化規則記憶部３０と、述部正規化部３２と、対訳データ記憶部３４と、機械翻訳部３６と、パターン文字列追記部３８と、を含んで構成されている。
【００３６】
パターン文字列変換規則記憶部２２には、例えば、図３に示すように、パターン文字列、位置、及び翻訳パターン文字列の組み合わせがパターン文字列変換規則として記憶されている。パターン文字列変換規則の「位置」の欄の情報は、パターン文字列が存在する位置を表す。また、「翻訳パターン文字列」の欄の情報は、第１言語における対象のパターン文字列に対応する、翻訳先言語である第２言語におけるパターン文字列（削除されたパターン文字列に変換可能なパターン文字列（以下、翻訳パターン文字列とする。））を表す。なお、「翻訳パターン文字列」の欄の情報が「なし」である場合には、当該第１言語のパターン文字列に対応する第２言語のパターン文字列が存在しないことを表す。この場合、後述するパターン文字列追記部３８において、翻訳後の文に翻訳パターン文字列を追記する処理を行わない。なお、以後、各情報の各欄の情報を、各情報の「各欄」として表す。例えば、パターン文字列変換規則の「位置」の欄の情報を、パターン文字列変換規則の「位置」として表す。なお、パターン文字列変換規則のうち、「翻訳パターン文字列」が存在するパターン文字列の「位置」は、文末、又は文頭の何れかである。
【００３７】
パターン文字列抽出部２３は、入力部１０において受け付けた第１言語の入力文について、パターン文字列変換規則記憶部２２に記憶されているパターン文字列変換規則に基づいて、パターン文字列を削除し、単語表記正規化部２８に出力する。具体的には、パターン文字列抽出部２３は、パターン文字列変換規則記憶部２２に記憶されているパターン文字列変換規則の各々について、当該パターン文字列変換規則の「パターン文字列」と一致する文字列が、入力部１０において受け付けた第１言語の入力文の、当該パターン文字列変換規則の「位置」に対応する位置に含まれる場合、当該第１言語の入力文から、当該パターン文字列を削除する。また、パターン文字列抽出部２３は、削除したパターン文字列に対応するパターン文字列変換規則の「翻訳パターン文字列」が存在する場合には、当該パターン文字列変換規則の「位置」に対応する位置と「翻訳パターン文字列」との組み合わせを追記対象として追記対象記憶部２４に記憶する。なお、パターン文字列変換規則の「翻訳パターン文字列」が「なし」であるパターン文字列は、削除処理のみが対象となる。また、第１の実施形態においては、入力文中にパターン文字列「〜(ｐ＿；)ヾ(´∀｀)」が含まれるため、パターン文字列抽出部２３は、入力文から当該パターン文字列を削除し、削除された入力文「彼は歌が苦手なのかも知れないねぇ〜」を単語表記正規化部２８に出力する。
【００３８】
追記対象記憶部２４には、パターン文字列抽出部２３から入力される追記対象が記憶されている。なお、対象の文について、パターン文字列追記部３８の処理が終了した場合、追記対象記憶部２４に記憶されている追記対象は削除されるものとする。
【００３９】
単語表記文字列正規化規則記憶部２６には、例えば、図４に示すように、文字列、及び当該文字列に対して、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換した単語の表記である単語表記文字列の組み合わせが単語表記文字列正規化規則として記憶されている。ここで、正規化表現とは、単語表記を例えば、辞典の見出し語のような「正しい表記」に変換することを表す。また、単語表記文字列正規化規則の「単語表記文字列」は、当該単語表記文字列正規化規則の「文字列」が文に含まれる場合、当該「文字列」と置換する、単語表記文字列を表す。
【００４０】
単語表記正規化部２８は、パターン文字列抽出部２３から入力された第１言語の入力文について、単語表記文字列正規化規則記憶部２６に記憶されている単語表記文字列正規化規則に基づいて、対象となる文字列を、当該文字列に対応する単語表記文字列に変換し、述部正規化部３２に出力する。これは、単語の表記の揺れを正規化する処理となる。具体的には、単語表記正規化部２８は、単語表記文字列正規化規則記憶部２６に記憶されている単語表記文字列正規化規則の各々について、当該単語表記文字列正規化規則の「文字列」と一致する文字列が、パターン文字列抽出部２３から入力された第１言語の入力文に含まれるか否か判定する。次に、単語表記正規化部２８は、単語表記文字列正規化規則の「文字列」と一致する文字列が第１言語の文字列に含まれると判定した場合に、第１言語の当該文字列を、当該単語表記文字列正規化規則の「変換」の単語表記文字列に変換する。なお、第１の実施形態において、パターン文字列抽出部２３から入力された入力文に文字列「ないねぇ〜」が含まれるため、単語表記正規化部２８は、当該文字列を「ないね」に変換し、変換後の入力文「彼は歌が苦手なのかも知れないね」を、述部正規化部３２に出力する。
【００４１】
述部正規化規則記憶部３０には、例えば、図５に示すように、単語列、及び正規化述部の組み合わせが述部正規化規則として記憶されている。ここで、「単語列」は、述部を構成する、少なくとも１つの単語からなる単語列を表す。また、「正規化述部」は、正規化された述部を構成する、少なくとも１つの単語からなる単語列を表す。
【００４２】
述部正規化部３２は、単語表記正規化部２８から入力された第１言語の入力文について、述部正規化規則記憶部３０に記憶されている述部正規化規則に基づいて、対象となる述部を構成する単語列を、正規化された述部を構成する単語列に変換し、機械翻訳部３６に出力する。具体的には、まず、述部正規化部３２は、単語表記正規化部２８から入力された第１言語の入力文について形態素解析を行う。次に、述部正規化部３２は、述部正規化規則記憶部３０に記憶されている述部正規化規則の各々について、当該述部正規化規則の「単語列」と一致する単語列が、単語表記正規化部２８から入力された第１言語の入力文に含まれるか否か判定する。次に、述部正規化部３２は、述部正規化規則の「単語列」と一致する単語列が第１言語の入力文に含まれると判定した場合に、第１言語の当該単語列を、当該述部正規化規則の「正規化述部」の単語列に変換する。なお、述部正規化部３２は、単語表記正規化部２８と異なり、「苦手なのかも知れないね」のような文の「どうした」を表す一連の単語に対する処理である。また、述部正規化部３２は、単語表記正規化部２８と異なり、「苦手かも知れない」のように「なの」や「ね」のように単語の削除が含まれる。また、第１の実施形態において、単語表記正規化部２８から入力された入力文に単語列「なのかも」と「ないね」とが含まれるので、述部正規化部３２は、当該単語列を「かも」と「ない」とに変換し、変換後の入力文「彼は歌が苦手かも知れない」を機械翻訳部３６に出力する。
【００４３】
対訳データ記憶部３４には、例えば、図６に示すように、日本語文、及び対訳文の組み合わせが対訳データとして記憶されている。ここで、「日本語文」は、翻訳元の第１言語である日本語で記載された文を表す。また、「対訳文」は、第１言語で記載された文に対応する、第２言語で記載された文を表す。なお、第１の実施形態において用いる対訳データの「日本語文」は、パターン文字列が存在せず、予め、単語表記と述部とが正規化されているものとする。
【００４４】
機械翻訳部３６は、述部正規化部３２から入力された第１言語の入力文について、対訳データ記憶部３４に記憶されている対訳データに基づいて、第２言語の文に変換し、パターン文字列追記部３８に出力する。具体的には、機械翻訳部３６は、対訳データ記憶部３４に記憶されている対訳データの各々について、当該対訳データの「日本語文」と、述部正規化部３２から入力された第１言語の入力文が一致するか否か判定する。次に、機械翻訳部３６は、当該対訳データの「日本語文」と、第１言語の入力文が一致すると判定した場合に、当該対訳データの「対訳文」の文を、当該第１言語の翻訳文としてパターン文字列追記部３８に出力する。一方、機械翻訳部３６は、対訳データ記憶部３４に記憶されている対訳データの各々の「日本語文」と、第１言語の入力文が一致しないと判定した場合に、翻訳不可の結果を出力部９０に出力する。なお、第１の実施形態において、述部正規化部３２から入力された入力文に対応する日本語文が対訳データに存在するため、当該対訳データの対訳文「He may be bad at singing.」を翻訳文としてパターン文字列追記部３８に出力する。
【００４５】
パターン文字列追記部３８は、機械翻訳部３６から入力された第２言語の文について、追記対象記憶部２４に記憶されている追記対象に基づいて、第２言語におけるパターン文字列を追記し、追記した結果を当該第１言語の入力文の翻訳結果として出力部９０に出力する。具体的には、パターン文字列追記部３８は、追記対象記憶部２４に記憶されている追記対象の各々について、当該追記対象の位置、及び「翻訳パターン文字列」に基づいて、第２言語の翻訳文の対象となる位置に、対象となる翻訳パターン文字列を追記する。なお、第１の実施形態においては、追記対象記憶部２４に追記対象は記憶されていないため、パターン文字列の追記は行わずに、機械翻訳部３６から入力された文「He may be bad at singing.」をそのまま翻訳結果として出力部９０に出力する。
【００４６】
＜第１の実施形態に係るテキスト変換装置の作用＞
次に、第１の実施形態に係るテキスト変換装置１００の作用について説明する。入力部１０において第１言語の入力文を受け付けると、テキスト変換装置１００によって図７、図８、及び図９に示すテキスト変換処理ルーチンを実行する。
【００４７】
まず、図７のステップＳ１００で、パターン文字列抽出部２３は、パターン文字列変換規則記憶部２２からパターン文字列変換規則を読み込む。
【００４８】
次に、ステップＳ１０２で、パターン文字列抽出部２３は、単語表記文字列正規化規則記憶部２６から、単語表記文字列正規化規則を読み込む。
【００４９】
次に、ステップＳ１０４で、パターン文字列抽出部２３は、述部正規化規則記憶部３０から、述部正規化規則を読み込む。
【００５０】
次に、ステップＳ１０６で、パターン文字列抽出部２３は、対訳データ記憶部３４から対訳データを読み込む。
【００５１】
次に、ステップＳ１０８で、パターン文字列抽出部２３は、ステップＳ１００において取得したパターン文字列変換規則に基づいて、入力部１０において受け付けた第１言語の入力文からパターン文字列の抽出を行う。
【００５２】
次に、ステップＳ１１０で、パターン文字列抽出部２３は、ステップＳ１０８においてパターン文字列が抽出されたか否かを判定する。パターン文字列抽出部２３が、パターン文字列が抽出されたと判定した場合には、テキスト変換処理は、ステップＳ１１２へ移行する。一方、パターン文字列抽出部２３が、パターン文字列が抽出されていないと判定した場合には、テキスト変換処理は、ステップＳ１２６へ移行する。
【００５３】
次に、ステップＳ１１２で、パターン文字列抽出部２３は、ステップＳ１０８において抽出されたパターン文字列から、処理対象となるパターン文字列を決定する。
【００５４】
次に、ステップＳ１１４で、パターン文字列抽出部２３は、ステップＳ１００において取得したパターン文字列変換規則に基づいて、処理対象のパターン文字列に「翻訳パターン文字列」が存在するか否かを判定する。パターン文字列抽出部２３が、処理対象のパターン文字列に「翻訳パターン文字列」が存在すると判定した場合には、テキスト変換処理は、ステップＳ１１６へ移行する。一方、パターン文字列抽出部２３が、処理対象のパターン文字列に「翻訳パターン文字列」が存在しないと判定した場合には、テキスト変換処理は、ステップＳ１２２へ移行する。
【００５５】
次に、ステップＳ１１６で、パターン文字列抽出部２３は、処理対象となるパターン文字列の位置を取得する。
【００５６】
次に、ステップＳ１１８で、パターン文字列抽出部２３は、ステップＳ１００において取得したパターン文字列変換規則に基づいて、処理対象となるパターン文字列の「翻訳パターン文字列」を取得する。
【００５７】
次に、ステップＳ１２０で、パターン文字列抽出部２３は、処理対象となるパターン文字列について、ステップＳ１１６において取得した位置と、ステップＳ１１８において取得した「翻訳パターン文字列」との組み合わせを追記対象として追記対象記憶部２４に記憶する。
【００５８】
次に、ステップＳ１２２で、パターン文字列抽出部２３は、処理対象となるパターン文字列を、入力部１０において受け付けた第１言語の入力文から削除する。
【００５９】
次に、ステップＳ１２４で、パターン文字列抽出部２３は、ステップＳ１０８において取得したパターン文字列の全てについて、ステップＳ１１２〜ステップＳ１２２までの処理を終了したか否かを判定する。パターン文字列抽出部２３が、取得したパターン文字列の全てについて、ステップＳ１１２〜ステップＳ１２２までの処理を終了したと判定した場合には、テキスト変換処理は、ステップＳ１２６へ移行する。一方、パターン文字列抽出部２３が、取得したパターン文字列の全てについて、ステップＳ１１２〜ステップＳ１２２までの処理を終了していないと判定した場合には、テキスト変換処理は、ステップＳ１１２へ移行し、処理対象となるパターン文字列を変換し、ステップＳ１１４〜ステップＳ１２４までの処理を繰り返す。
【００６０】
次に、ステップＳ１２６で、単語表記正規化部２８は、ステップＳ１０２において取得した単語表記文字列正規化規則に基づいて、入力部１０において受け付けた第１言語の入力文、又はステップＳ１２２においてパターン文字列が削除された第１言語の入力文から単語表記文字列に変換する文字列を抽出する。
【００６１】
次に、図８のステップＳ１３０で、単語表記正規化部２８は、ステップＳ１２６において単語表記文字列に変換する文字列が抽出されているか否かを判定する。単語表記正規化部２８が、単語表記文字列に変換する文字列が抽出されていると判定した場合には、テキスト変換処理は、ステップＳ１３２へ移行する。一方、単語表記正規化部２８が、単語表記文字列に変換する文字列が抽出されていないと判定した場合には、テキスト変換処理は、ステップＳ１３８へ移行する。
【００６２】
次に、ステップＳ１３２で、単語表記正規化部２８は、ステップＳ１２８において抽出された文字列から、処理対象となる文字列を決定する。
【００６３】
次に、ステップＳ１３４で、単語表記正規化部２８は、ステップＳ１０２において取得した単語表記文字列正規化規則に基づいて、処理対象となる文字列を、当該文字列に対応する単語表記文字列に変換する。
【００６４】
次に、ステップＳ１３６で、単語表記正規化部２８は、ステップＳ１２６において取得した文字列の全てについて、ステップＳ１３２〜ステップＳ１３４までの処理を終了したか否かを判定する。単語表記正規化部２８が、取得した文字列の全てについて、ステップＳ１３２〜ステップＳ１３４までの処理を終了したと判定した場合には、テキスト変換処理は、ステップＳ１３８へ移行する。一方、単語表記正規化部２８が、取得した文字列の全てについて、ステップＳ１３２〜ステップＳ１３４までの処理を終了していないと判定した場合には、テキスト変換処理は、ステップＳ１３２へ移行し、処理対象となる文字列を変換し、ステップＳ１３４〜ステップＳ１３６までの処理を繰り返す。
【００６５】
次に、ステップＳ１３８で、述部正規化部３２は、入力部１０において受け付けた第１言語の入力文、ステップＳ１２２においてパターン文字列が削除された第１言語の入力文、又は、ステップＳ１３４において単語表記文字列に変換された第１言語の入力文を形態素解析する。
【００６６】
次に、ステップＳ１３９で、述部正規化部３２は、ステップＳ１０４において取得した述部正規化規則に基づいて、ステップＳ１３８において形態素解析された第１言語の入力文から正規化対象の述部を構成する単語列を抽出する。
【００６７】
次に、ステップＳ１４０で、述部正規化部３２は、ステップＳ１３９において正規化対象の述部を構成する単語列が抽出されているか否かを判定する。述部正規化部３２が、正規化対象の述部を構成する単語列が抽出されていると判定した場合には、テキスト変換処理は、ステップＳ１４２へ移行する。一方、述部正規化部３２が、正規化対象の述部を構成する単語列が抽出されていないと判定した場合には、テキスト変換処理は、ステップＳ１４８へ移行する。
【００６８】
次に、ステップＳ１４２で、述部正規化部３２は、ステップＳ１３９において取得した正規化対象の述部を構成する単語列から、処理対象となる単語列を決定する。
【００６９】
次に、ステップＳ１４４で、述部正規化部３２は、ステップＳ１０４において取得した述部正規化規則に基づいて、処理対象となる単語列を、当該単語列に対応する述部正規化規則の「正規化述部」である正規化された述部を構成する単語列に変換する。
【００７０】
次に、ステップＳ１４６で、述部正規化部３２は、ステップＳ１３９において取得した単語列の全てについて、ステップＳ１４２〜ステップＳ１４４までの処理を終了したか否かを判定する。述部正規化部３２が、取得した単語列の全てについて、ステップＳ１４２〜ステップＳ１４４までの処理を終了したと判定した場合には、テキスト変換処理は、ステップＳ１４８へ移行する。一方、述部正規化部３２が、取得した単語列の全てについて、ステップＳ１４２〜ステップＳ１４４までの処理を終了していないと判定した場合には、テキスト変換処理は、ステップＳ１４２へ移行し、処理対象となる単語列を変換し、ステップＳ１４４〜ステップＳ１４６までの処理を繰り返す。
【００７１】
次に、ステップＳ１４８で、機械翻訳部３６は、ステップＳ１０６において取得した対訳データに基づいて、入力部１０において受け付けた第１言語の入力文、ステップＳ１２２において取得した第１言語の入力文、ステップＳ１３４において取得した第１言語の入力文、又はステップＳ１４４において取得した第１言語の入力文と一致する、対訳データの「日本語文」があるか否か判定する。機械翻訳部３６は、一致する「日本語文」があると判定した場合には、ステップＳ１５２へ移行する。一方、機械翻訳部３６は、一致する「日本語文」がないと判定した場合には、ステップＳ１５４へ移行する。
【００７２】
次に、ステップＳ１５２で、機械翻訳部３６は、ステップＳ１０６において取得した対訳データに基づいて、ステップＳ１３８、又はステップＳ１４４において取得した第１言語の入力文に対応する対訳データの「対訳文」を翻訳文とする。
【００７３】
ステップＳ１５４で、機械翻訳部３６は、翻訳不可の結果を出力部９０に出力して、テキスト変換処理を終了する。
【００７４】
図９のステップＳ１６０で、パターン文字列追記部３８は、追記対象記憶部２４に追記対象が記憶されているか否か判定する。パターン文字列追記部３８が、追記対象が記憶されていると判定した場合には、テキスト変換処理は、ステップＳ１６２へ移行する。一方、パターン文字列追記部３８が、追記対象が記憶されていないと判定した場合には、テキスト変換処理を終了する。
【００７５】
次に、ステップＳ１６２で、パターン文字列追記部３８は、追記対象記憶部２４から追記対象を読み込む。
【００７６】
次に、ステップＳ１６４で、パターン文字列追記部３８は、処理対象となる追記対象を決定する。
【００７７】
次に、ステップＳ１６６で、パターン文字列追記部３８は、処理対象となる追記対象を、ステップＳ１５２において取得した翻訳文に追記する。
【００７８】
次に、ステップＳ１６８で、パターン文字列追記部３８は、ステップＳ１６２において取得した全ての追記対象についてステップＳ１６４〜ステップＳ１６６までの処理を終了したか否かを判定する。パターン文字列追記部３８が、取得した全ての追記対象についてステップＳ１６４〜ステップＳ１６６までの処理を終了したと判定した場合には、テキスト変換処理は、ステップＳ１７０へ移行する。一方、パターン文字列追記部３８が、取得した全ての追記対象についてステップＳ１６４〜ステップＳ１６６までの処理を終了していないと判定した場合には、テキスト変換処理は、ステップＳ１６４へ移行し、処理対象となる追記対象を変換し、ステップＳ１６６〜ステップＳ１６８までの処理を繰り返す。
【００７９】
次に、ステップＳ１７０で、パターン文字列追記部３８は、追記対象記憶部２４に記憶されている追記対象を削除し、ステップＳ１６６において取得したパターン文字列を追記した翻訳文を、翻訳結果として出力部９０に出力して、テキスト変換処理を終了する。
【００８０】
以上説明したように、第１の実施形態に係るテキスト変換装置によれば、入力された第１言語の文字列から、パターン文字列を削除し、第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより表記を正規化表現に変換可能な部分文字列を、正規化表現に変換し、第１言語の文字列に含まれる述部を構成する単語列を、正規化された述部を構成する単語列に変換し、変換された第１言語の文字列を、第１言語とは異なる第２言語の文字列へと翻訳することにより、精度良く翻訳を行うことができる。
【００８１】
また、CGMテキストのような多様で、非言語的な文字列が多数含まれる言語表現の文を機械翻訳する際に、既存の新聞記事等の対訳データや述部正規化技術を用いて適当に行うことができる。
【００８２】
また、入力文からパターン文字列情報を一時削除し、単語表記を正規化した上で述部を正規化するので、入力文の言語表現が多様であっても適切に機械翻訳処理を行うことができる。
【００８３】
また、入力文の単語の表記の揺れを正規化してから、述部を構成する単語列の表記の揺れを正規化するため、より翻訳の精度を向上させることができる。
【００８４】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８５】
例えば、第１の実施形態においては、入力される文は１つで有る場合について説明したが、これに限定されるものではなく、入力される文が個々に独立な複数の文であってもよい。その場合、テキスト変換装置１００は、１文ずつ読み込み処理を行うものとする。また、複数の文を一括で読み込みテキスト変換装置内部に一時的に蓄積し１文ずつ処理する等の、１文の処理を独立に複数回繰り返す機能を備えておれば、どのようなものであってもよい。
【００８６】
また、第１の実施形態においては、パターン文字列変換規則を固定的な変換規則とし、予めデータとしてテキスト変換装置に記憶されている場合について説明したが、これに限定されるものではない。例えば、パターン文字列変換規則をテキスト変換装置外部から入力、追加してもよく、パターン文字列検出装置を内蔵して利用する方法（特許文献４：特開２０１０−１０８２３９号公報）等、パターン文字列を自動抽出できる手段であればどのようなものであってもよい。
【００８７】
また、第１の実施形態においては、パターン文字列変換規則において、パターン文字列毎に位置を予め設定している場合について説明しているが、これに限定されるものではない。例えば、パターン文字列の多くは文末に出現する可能性が高いので、パターン文字列の全てについて「位置」を「文末」として予め設定する方法や、任意の出現位置とする方法等、位置に関する情報が記載されていればどのようなものであってもよい。
【００８８】
また、第１の実施形態においては、削除したパターン文字列に対応する翻訳パターン文字列が存在する場合にのみ、翻訳後の文に翻訳パターン文字列を追加する場合について説明したが、これに限定されるものではない。例えば、削除したパターン文字列を、翻訳後の文に追加してもよい。
【００８９】
また、第１の実施形態においては、単語表記文字列正規化規則を固定的な変換規則とし、予めデータとしてテキスト変換装置に記憶されている場合について説明したが、これに限定されるものではない。例えば、単語表記文字列正規化規則をテキスト変換装置外部から都度入力、追加してもよい。また、日本語文を単語列に分解する形態素解析プログラムを単語表記正規化部に内蔵しておき入力文を分析し、分析結果中に形態素解析プログラムが内蔵する単語辞書の標準表記がある場合は、これを正規化表記に変換する方法（非特許文献１：MeCab: Yet Another Part-of-Speech and Morphological Analyzer, https://code.google.com/p/mecab/）を用いてもよい。また、機械学習を用いて単語の形態素解析と正規化表記変換を同時に行う方法（非特許文献２：Itsumi Saito, K. Sadamitsu, H. Asano, and Y. Matsuo, “Morphological Analysis for Japanese noisy text based on character-level and word-level normalization,” in COLING 2014, 2014.）を内蔵して用いる方法等、同一の音の単語であるが表記する文字の平仮名・片仮名・漢字の組合せ方が異なる場合や、単語中の読みの撥音や促音化によって類似した音の単語の表記を正規化された表記に変える方法であり単語の追加や削除を行なわない方法であれば、どのようなものを用いてもよい。
【００９０】
また、第１の実施形態においては、述部正規化規則を固定的な変換規則とし、予めデータとしてテキスト変換装置に記憶されている場合について説明したが、これに限定されるものではない。例えば、述部正規化規則をテキスト変換装置外部から都度入力、追加してもよい。
【００９１】
また、第１の実施形態においては、入力文中の文字列が述部正規化規則の「単語列」のいずれかと一致した場合に、テキスト変換装置は、当該述部正規化規則の「正規化述部」で変換を行う場合について説明したが、これに限定されるものではない。例えば、上述の特許文献１のような述部正規化方法等を用いてもよい。
【００９２】
また、第１の実施形態においては、対訳データを固定的な変換規則とし、予めデータとしてテキスト変換装置に記憶されている場合について説明したが、これに限定されるものではない。例えば、対訳データをテキスト変換装置外部から都度入力、追加してもよい。
【００９３】
また、第１の実施形態においては、対訳データに基づいて、第１言語の文を第２言語の文に翻訳する場合について説明したが、これに限定されるものではない。例えば、対訳対と翻訳先言語の文複数を用いて機械学習して言語モデルと対訳モデルを作成し、これを用いて入力文を翻訳する統計機械翻訳システムを用いてもよい（特許文献５：特開２０１３−０５４６０７号公報）。
【００９４】
また、第１の実施形態においては、翻訳元の第１の言語を日本語とし、翻訳先の第２の言語を英語とする場合について説明したが、これに限定されるものではない。例えば、第１言語と第２言語が異なれば、他の言語を用いてもよい。この場合、機械翻訳部が当該言語に対応し、対訳文が当該言語で記述できる必要がある。
【００９５】
また、第１の実施形態においては、パターン文字列抽出部、単語表記正規化部、及び述部正規化部の処理の全てを行った結果に対して、翻訳を行う場合について説明したが、これに限定されるものではない。例えば、パターン文字列抽出部、単語表記正規化部、及び述部正規化部の処理の少なくとも１つの処理を行った結果に対して、翻訳を行うようにしてもよい。
【００９６】
また、第１の実施形態においては、対象となる文字列を対応する単語表記文字列に変換することにより、単語の表記揺れを正規化する場合について説明したが、これに限定されるものではない。例えば、対象となる文字列に含まれる文字又は記号の削除、挿入、または置換を行うことにより、対象となる文字列を対応する単語表記文字列に変換し、単語の表記揺れを正規化してもよい。
【００９７】
次に、第２の実施形態に係るテキスト変換装置について説明する。
【００９８】
第２の実施形態においては、対訳データの第１言語にあたる「日本語文」が、図１０に示すようにパターン文字列、正規化表現に変換した単語の表記でない部分文字列、又は、正規化されていない述部を含む点、及び機械翻訳部が、テキスト変換を行い表記を変換した対訳データを用いる点が第１の実施形態と異なる。なお、第１の実施形態に係るテキスト変換装置と同様の構成及び作用については、同一の符号を付して説明を省略する。
【００９９】
＜第２の実施形態に係るテキスト変換装置の構成＞
次に、第２の実施形態に係るテキスト変換装置の構成について説明する。図１１に示すように、第２の実施形態に係るテキスト変換装置２００は、ＣＰＵと、ＲＡＭと、後述する対訳データテキスト変換処理ルーチン、及びテキスト変換処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することができる。このテキスト変換装置は、機能的には図１１に示すように入力部２１０と、演算部２２０と、出力部９０とを含んで構成されている。
【０１００】
入力部２１０は、翻訳元の第１言語である日本語で記述された文字列からなる文を受け付ける。また、入力部２１０は、図１０に示すような、日本語文、及び対訳文の組み合わせからなる対訳データの各々を受け付け、対訳データ記憶部２２１に記憶する。なお、第２の実施形態においては、入力部２１０において受け付ける対訳データは、当該対訳データの「日本語文」として、パターン文字列を含む場合、文字列が正規化表現に変換した単語の表記でない場合、及び述部が正規化されていない場合の少なくとも１つの場合を含んでもよい。
【０１０１】
演算部２２０は、対訳データ記憶部２２１と、パターン文字列変換規則記憶部２２と、パターン文字列抽出部２３と、学習用パターン文字列抽出部２２３と、追記対象記憶部２４と、単語表記文字列正規化規則記憶部２６と、単語表記正規化部２８と、学習用単語表記正規化部２２８と、述部正規化規則記憶部３０と、述部正規化部３２と、学習用述部正規化部２３２と、変換済み対訳データ記憶部２３３と、翻訳学習部２３５と、機械翻訳部２３６と、パターン文字列追記部３８と、を含んで構成されている。なお、第２の実施形態においては、対訳データの各々について、当該対訳データの「日本語文」について、学習用パターン文字列抽出部２２３、学習用単語表記正規化部２２８、学習用述部正規化部２３２、及び翻訳学習部２３５の処理を行い、当該結果と、対応する対訳文との組み合わせを変換済み対訳データ記憶部２３３に記憶してから、入力部２１０において受け付けた入力文について処理を行うものとする。
【０１０２】
対訳データ記憶部２２１には、入力部２１０において受け付けた対訳データの各々が記憶されている。
【０１０３】
学習用パターン文字列抽出部２２３は、対訳データ記憶部２２１に記憶されている対訳データの各々について、当該対訳データの「日本語文」を、第１の実施形態のパターン文字列抽出部２３と同様に、パターン文字列変換規則記憶部２２に記憶されているパターン文字列変換規則に基づいて、パターン文字列を削除し、単語表記正規化部２８に出力する。第２の実施形態において、図１０の対訳データについて以下説明する。この場合、当該対訳データの日本語文「彼は歌が苦手かも知れないねぇヾ(´∀｀)」にパターン文字列「ヾ(´∀｀)」が含まれているので、当該パターン文字列が削除された日本語文「彼は歌が苦手かも知れないねぇ」と対訳文との組み合わせが、学習用単語表記正規化部２２８に出力される。
【０１０４】
学習用単語表記正規化部２２８は、学習用パターン文字列抽出部２２３から入力された対訳データの「日本語文」について、第１の実施形態における単語表記正規化部２８と同様に、単語表記文字列正規化規則記憶部２６に記憶されている単語表記文字列正規化規則に基づいて、対象となる文字列を、当該文字列に対応する単語表記文字列に変換し、学習用述部正規化部２３２に出力する。第２の実施形態において、学習用パターン文字列抽出部２２３から入力された対訳データの「日本語文」に文字列「ないねぇ」が含まれるため、学習用単語表記正規化部２２８は、当該文字列を「ないね」に変換し、変換後の日本語文「彼は歌が苦手なのかも知れないね」を、対訳データの「日本語文」として学習用述部正規化部２３２に出力する。
【０１０５】
学習用述部正規化部２３２は、学習用単語表記正規化部２２８から入力された対訳データの「日本語文」について、第１の実施形態における述部正規化部３２と同様に、述部正規化規則記憶部３０に記憶されている述部正規化規則に基づいて、対象となる述部を構成する単語列を、正規化された述部を構成する単語列に変換し、翻訳学習部２３５に出力する。第２の実施形態において、学習用単語表記正規化部２２８から入力された対訳データの「日本語文」に単語列「ないね」が含まれるため、学習用述部正規化部２３２は、当該単語列を「ない」に変換し、変換後の日本語文「彼は歌が苦手かも知れない」を、翻訳学習部２３５に出力する。
【０１０６】
翻訳学習部２３５は、学習用述部正規化部２３２から入力された対訳データの「日本語文」と、当該対訳データの「対訳文」との組み合わせを変換済みの対訳データ（翻訳モデル）として、変換済み対訳データ記憶部２３３に記憶する。第２の実施の形態において、学習用述部正規化部２３２から入力された「日本語文」は「彼は歌が苦手かも知れない」であるので、当該「日本語文」と、当該対訳データの「対訳文」「He may be bad at singing.」との組み合わせを変換済みの対訳データとして、変換済み対訳データ記憶部２３３に記憶する。
【０１０７】
機械翻訳部２３６は、述部正規化部３２から入力された入力部２１０において受け付けた第１言語の入力文について、変換済み対訳データ記憶部２３３に記憶されている変換済み対訳データに基づいて、第２言語の文に変換し、パターン文字列追記部３８に出力する。なお、機械翻訳部２３６は、第１の実施形態の機械翻訳部３６と、変換済み対訳データを用いる点のみが異なるため、詳細は省略する。
【０１０８】
＜第２の実施形態に係るテキスト変換装置の作用＞
次に、第２の実施形態に係るテキスト変換装置２００の作用について説明する。まず、入力部２１０において対訳データを受け付け、対訳データ記憶部２２１に記憶する。次に、テキスト変換装置２００によって、対訳データ記憶部２２１から対訳データの各々を読み込むと、図１２、及び１３に示す対訳データテキスト変換処理ルーチンが実行される。対訳データテキスト変換処理ルーチン後に、入力部２１０において第１言語の入力文を受け付けると、テキスト変換装置２００によって図９、１４、及び１５に示すテキスト変換処理ルーチンを実行する。
【０１０９】
まず、図１２、及び図１３に示す対訳データテキスト変換処理ルーチンについて説明する。
【０１１０】
図１２のステップＳ２００で、学習用パターン文字列抽出部２２３は、パターン文字列変換規則記憶部２２からパターン文字列変換規則を読み込む。
【０１１１】
次に、ステップＳ２０２で、学習用パターン文字列抽出部２２３は、単語表記文字列正規化規則記憶部２６から、単語表記文字列正規化規則を読み込む。
【０１１２】
次に、ステップＳ２０４で、学習用パターン文字列抽出部２２３は、述部正規化規則記憶部３０から、述部正規化規則を読み込む。
【０１１３】
次に、ステップＳ２０６で、学習用パターン文字列抽出部２２３は、読み込んだ対訳データの各々のうちから、処理対象となる対訳データを決定する。
【０１１４】
次に、ステップＳ２０８で、学習用パターン文字列抽出部２２３は、ステップＳ２００において取得したパターン文字列変換規則に基づいて、処理対象の対訳データの「日本語文」から、パターン文字列を抽出する。
【０１１５】
次に、ステップＳ２１０で、学習用パターン文字列抽出部２２３は、ステップＳ２０８においてパターン文字列が抽出されたか否かを判定する。学習用パターン文字列抽出部２２３が、パターン文字列が抽出されたと判定した場合には、対訳データテキスト変換処理は、ステップＳ２１２へ移行する。一方、学習用パターン文字列抽出部２２３が、パターン文字列が抽出されなかったと判定した場合には、対訳データテキスト変換処理は、ステップＳ２１８へ移行する。
【０１１６】
次に、ステップＳ２１２で、学習用パターン文字列抽出部２２３は、ステップＳ２０８において取得したパターン文字列から、処理対象となるパターン文字列を決定する。
【０１１７】
次に、ステップＳ２１４で、学習用パターン文字列抽出部２２３は、処理対象となる対訳データの「日本語文」から、処理対象となるパターン文字列を削除する。
【０１１８】
次に、ステップＳ２１６で、学習用パターン文字列抽出部２２３は、ステップＳ２０８において取得したパターン文字列の全てについてステップＳ２１４の処理を終了したか否かを判定する。学習用パターン文字列抽出部２２３が、取得したパターン文字列の全てについてステップＳ２１４の処理を終了したと判定した場合には、対訳データテキスト変換処理は、ステップＳ２１８へ移行する。一方、学習用パターン文字列抽出部２２３が、取得した全てのパターン文字列についてステップＳ２１４の処理を終了していないと判定した場合には、ステップＳ２１２へ移行し、処理対象となるパターン文字列を変換し、ステップＳ２１４〜ステップＳ２１６の処理を繰り返す。
【０１１９】
次に、ステップＳ２１８で、学習用単語表記正規化部２２８は、ステップＳ２０２において取得した単語表記文字列正規化規則に基づいて、処理対象となる対訳データの「日本語文」に含まれる単語表記文字列に対応する文字列を抽出する。
【０１２０】
次に、ステップＳ２２０で、学習用単語表記正規化部２２８は、ステップＳ２１８において単語表記文字列に対応する文字列が抽出されたか否かを判定する。学習用単語表記正規化部２２８が、単語表記文字列に対応する文字列を抽出したと判定した場合には、対訳データテキスト変換処理は、ステップＳ２２２へ移行する。一方、学習用単語表記正規化部２２８が、単語表記文字列に対応する文字列を抽出していないと判定した場合には、対訳データテキスト変換処理は、ステップＳ２２８へ移行する。
【０１２１】
次に、ステップＳ２２２で、学習用単語表記正規化部２２８は、ステップＳ２１８において取得した単語表記文字列に対応する文字列のうち、処理対象となる文字列を決定する。
【０１２２】
次に、ステップＳ２２４で、学習用単語表記正規化部２２８は、ステップＳ２０２において取得した単語表記文字列正規化規則に基づいて、処理対象となる文字列を対応する単語表記文字列に変換する。
【０１２３】
次に、ステップＳ２２６で、学習用単語表記正規化部２２８は、ステップＳ２１８において取得した全ての、処理対象の文字列について、ステップＳ２２４の処理を終了したか否かを判定する。学習用単語表記正規化部２２８が、取得した全ての、処理対象の文字列について、ステップＳ２２４の処理を終了したと判定した場合には、ステップＳ２２８へ移行する。一方、学習用単語表記正規化部２２８が、取得した全ての、処理対象の文字列について、ステップＳ２２４の処理を終了していないと判定した場合には、ステップＳ２２２へ移行し、処理対象となる文字列を変換し、ステップＳ２２４〜ステップＳ２２６までの処理を繰り返す。
【０１２４】
次に、ステップＳ２２８で、学習用述部正規化部２３２は、処理対象となる対訳データの「日本語文」を形態素解析する。
【０１２５】
次に、図１３のステップＳ２３０で、学習用述部正規化部２３２は、ステップＳ２２８において取得した形態素解析済みの対訳データの「日本語文」から、ステップＳ２０４において取得した、述部正規化規則に基づいて、正規化対象の述部の単語列を抽出する。
【０１２６】
次に、ステップＳ２３１で、学習用述部正規化部２３２は、ステップＳ２３０において正規化対象の述部の単語列が抽出されたか否かを判定する。学習用述部正規化部２３２が、ステップＳ２３０において正規化対象の単語列が抽出されたと判定する場合には、対訳データテキスト変換処理は、ステップＳ２３２へ移行する。一方、学習用述部正規化部２３２が、ステップＳ２３０において正規化対象の単語列が抽出されていないと判定した場合には、対訳データテキスト変換処理は、ステップＳ２３８へ移行する。
【０１２７】
次に、ステップＳ２３２で、学習用述部正規化部２３２は、ステップＳ２３０において取得した正規化対象の単語列から、処理対象となる正規化対象の単語列を決定する。
【０１２８】
次に、ステップＳ２３４で、学習用述部正規化部２３２は、ステップＳ２０４において取得した述部正規化規則に基づいて、処理対象となる単語列を、当該単語列に対応する単語列に変換する。
【０１２９】
次に、ステップＳ２３６で、学習用述部正規化部２３２は、ステップＳ２３０において取得した単語列の全てについてステップＳ２３４の処理を終了したか否かを判定する。学習用述部正規化部２３２が、取得した全ての単語列についてステップＳ２３４の処理を終了したと判定した場合には、対訳データテキスト変換処理は、ステップＳ２３８へ移行する。一方、学習用述部正規化部２３２が、取得した全ての単語列についてステップＳ２３４の処理を終了していないと判定した場合には、対訳データテキスト変換処理は、ステップＳ２３２へ移行し、処理対象となる単語列を決定し、ステップＳ２３４〜ステップＳ２３６の処理を繰り返す。
【０１３０】
次に、ステップＳ２３８で、翻訳学習部２３５は、ステップＳ２０８〜ステップＳ２３１、又はステップＳ２３６までの処理が行われた、処理対象となる対訳データの「日本語文」と、当該対訳データの「対訳文」との組み合わせを、変換済み対訳データとして、変換済み対訳データ記憶部２３３に記憶する。
【０１３１】
次に、ステップＳ２４０で、翻訳学習部２３５は、読み込んだ全ての対訳データについて、ステップＳ２０８〜ステップＳ２３８までの処理を終了したか否かを判定する。学習用述部正規化部２３２が、読み込んだ全ての対訳データについて、ステップＳ２０８〜ステップＳ２３８までの処理を終了したと判定した場合には、対訳データテキスト変換処理を終了する。一方、学習用述部正規化部２３２が、読み込んだ全ての対訳データについて、ステップＳ２０８〜ステップＳ２３８までの処理を終了していないと判定した場合には、対訳データテキスト変換処理は、ステップ２０６へ移行し、処理対象となる対訳データを変換し、ステップＳ２０８〜ステップＳ２４０までの処理を繰り返す。
【０１３２】
次に、図９、図１４、図１５のテキスト変換処理について説明する。
【０１３３】
図１４のステップＳ３００で、パターン文字列抽出部２３は、変換済み対訳データを読み込む。
【０１３４】
図１５のステップＳ３０２で、機械翻訳部２３６は、ステップＳ３００において取得した変換済み対訳データに基づいて、入力部２１０において受け付けた第１言語の入力文が変換済み対訳データの「日本語文」と一致する「日本語文」が存在するか否か判定する。機械翻訳部２３６が、入力部２１０において受け付けた第１言語の入力文が変換済み対訳データの「日本語文」と一致する「日本語文」が存在すると判定した場合には、テキスト変換処理は、ステップＳ３０４へ移行する。一方、機械翻訳部２３６は、入力部２１０において受け付けた第１言語の入力文が変換済み対訳データの「日本語文」と一致する「日本語文」が存在しないと判定した場合には、ステップＳ１５４へ移行する。
【０１３５】
次に、ステップＳ３０４で、機械翻訳部２３６は、ステップＳ３００において取得した変換済み対訳データに基づいて、入力部２１０において受け付けた第１言語の入力文に対応する対訳文を翻訳文とする。そして、上記図９のステップＳ１６０へ移行する。
【０１３６】
以上説明したように、第２の実施形態に係るテキスト変換装置によれば、入力された第１言語の文字列から、パターン文字列を削除し、第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより正規化表現に変換可能な部分文字列を、正規化表現に変換し、第１言語の文字列に含まれる述部を構成する単語列を、正規化された述部を構成する単語列に変換し、変換された第１言語の文字列を、対訳データに基づいて、第１言語とは異なる第２言語の文字列へと翻訳することにより、精度良く翻訳を行うことができる
【０１３７】
また、入力された第１言語の文字列と第１言語の文字列を第１言語とは異なる第２言語で表現した第２言語の文字列との組み合わせの各々について、組み合わせに含まれる第１言語の文字列の部分文字列であって、文字又は記号の削除、挿入、又は置換を行うことにより表記を正規化表現に変換可能な部分文字列を、正規化表現に変換し、組み合わせの各々における、変換された第１言語の文字列と、第２言語の文字列とに基づいて、第１言語の文字列を第２言語の文字列に翻訳するための対訳データを学習することにより、精度良く翻訳を行うことができる対訳データを学習することができる。
【０１３８】
また、翻訳処理に用いる対訳データにも正規化されていない表現が含まれている場合には、入力文と同様に正規化処理を行った上で、翻訳処理において用いることにより、新聞記事のような入力文と言語表現の傾向が異なる対訳データでも利用可能となる。
【０１３９】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【０１４０】
例えば、第２の実施形態においては、パターン文字列抽出部、単語表記正規化部、及び述部正規化部の処理の全てを行って、変換済み対訳データを取得する場合について説明したが、これに限定されるものではない。例えば、パターン文字列抽出部、単語表記正規化部、及び述部正規化部の処理の少なくとも１つの処理を行って、変換済み対訳データを取得するようにしてもよい。
【０１４１】
また、第２の実施形態においては、変換済み対訳データをそのまま翻訳モデルとして用いて翻訳する場合について説明したがこれに限定されるものではない。例えば、変換済み対訳データを用いて機械学習して言語モデルと対訳モデルを作成し、これを用いて入力文を翻訳する統計機械翻訳システムを用いてもよい。
【０１４２】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【０１４３】
、
１０   入力部
２０   演算部
２２   パターン文字列変換規則記憶部
２３   パターン文字列抽出部
２４   追記対象記憶部
２６   単語表記文字列正規化規則記憶部
２８   単語表記正規化部
３０   述部正規化規則記憶部
３２   述部正規化部
３４   対訳データ記憶部
３６   機械翻訳部
３８   パターン文字列追記部
９０   出力部
１００ テキスト変換装置
２００ テキスト変換装置
２１０ 入力部
２２０ 演算部
２２１ 対訳データ記憶部
２２３ パターン文字列抽出部
２２８ 単語表記正規化部
２３２ 述部正規化部
２３３ 対訳データ記憶部
２３５ 翻訳学習部
２３６ 機械翻訳部
【図１】
0006373198.tif 000002
【図２】
0006373198.tif 000003
【図３】
0006373198.tif 000004
【図４】
0006373198.tif 000005
【図５】
0006373198.tif 000006
【図６】
0006373198.tif 000007
【図７】
0006373198.tif 000008
【図８】
0006373198.tif 000009
【図９】
0006373198.tif 000010
【図１０】
0006373198.tif 000011
【図１１】
0006373198.tif 000012
【図１２】
0006373198.tif 000013
【図１３】
0006373198.tif 000014
【図１４】
0006373198.tif 000015
【図１５】
0006373198.tif 000016