(57)【特許請求の範囲】
【請求項１】
入力された文字列に対して生成された、予め定められた辞書に登録された同一の語彙素及び代表表記を持つ見出し語による書き換え候補、前記文字列に対する意味類似度が条件を満たす単語及びフレーズによる書き換え候補、並びに、前記文字列の述部の機能語を書き換えた書き換え候補、を含む書き換え候補の各々について、前記書き換え候補に対して予め定められた言語処理を行った結果に基づいて、前記書き換え候補に対して前記言語処理を行った結果の尤もらしさを評価し、前記文字列と、最も評価が高い前記書き換え候補とのペアを、正解ペアとして選定する評価選定部と、
前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する前処理モデル学習部と、
を含む前処理モデル学習装置。
【請求項２】
前記前処理モデル学習部は、
前記文字列と、前記書き換え候補の各々とを表す各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成し、前記ラティスの各経路のうち、前記前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、前記正解ペアの書き換え候補となるように前記前処理モデルを学習する請求項１に記載の前処理モデル学習装置。
【請求項３】
前記前処理モデル学習部は、前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性と、前記書き換え候補の各々の表記の尤もらしさを表す言語モデルスコアに関する素性と、前記文字列と前記書き換え候補の各々との類似度に関する素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する請求項１又は請求項２に記載の前処理モデル学習装置。
【請求項４】
評価選定部が、入力された文字列に対して生成された、予め定められた辞書に登録された同一の語彙素及び代表表記を持つ見出し語による書き換え候補、前記文字列に対する意味類似度が条件を満たす単語及びフレーズによる書き換え候補、並びに、前記文字列の述部の機能語を書き換えた書き換え候補、を含む書き換え候補の各々について、前記書き換え候補に対して予め定められた言語処理を行った結果に基づいて、前記書き換え候補に対して前記言語処理を行った結果の尤もらしさを評価し、前記文字列と、最も評価が高い前記書き換え候補とのペアを、正解ペアとして選定するステップと、
前処理モデル学習部が、前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習するステップと、
を含む前処理モデル学習方法。
【請求項５】
前記前処理モデル学習部が学習するステップは、
前記文字列と、前記書き換え候補の各々とを表す各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成し、前記ラティスの各経路のうち、前記前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、前記正解ペアの書き換え候補となるように前記前処理モデルを学習する請求項４に記載の前処理モデル学習方法。
【請求項６】
前記前処理モデル学習部が学習するステップは、
前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性と、前記書き換え候補の各々の表記の尤もらしさを表す言語モデルスコアに関する素性と、前記文字列と前記書き換え候補の各々との類似度に関する素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する請求項４又は請求項５に記載の前処理モデル学習方法。
【請求項７】
コンピュータを、請求項１〜請求項３の何れか１項に記載の前処理モデル学習装置の各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、前処理モデル学習装置、方法、及びプログラムに係り、特に、言語処理のために文を書き換える前処理モデル学習装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
従来技術では、書き換え規則に基づいて書き換えを行う手法が複数提案されている（非特許文献１、及び非特許文献２参照）。
【０００３】
また、従来より、特定のドメインテキストを用いてモデルを学習する技術が知られている。特定のドメインテキストとは、例えば、翻訳のモデル学習であれば翻訳モデルの学習時に利用した日本語側の目的コーパスを指す。その他、構文解析や情報抽出のシステム構築時にモデル学習用コーパスとして用いた日本語コーパス若しくは、特定のドメイン（例えば、新聞表記や口語調等）の表記に変換する処理の場合はその特定のドメインのテキストを指す。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】吉見毅彦，佐田いち子，福持陽士，"頑健な英日機械翻訳システム実現のための原文自動前編集"，自然言語処理，2000
【非特許文献２】坂本明子，田中浩之，"話し言葉機械翻訳のための日本語前編集"，言語処理学会第21回年次大会，2015
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、翻訳などの言語処理において、処理対象の入力文の言語表現と、モデル学習用コーパスとして用いた目的コーパスの言語表現とが一致しないために適切に言語処理ができない現象が存在する。
【０００６】
例えば翻訳処理の場合において、入力文「これおいしーい」を翻訳したとき、翻訳結果が「This Oishi-I」となり、「おいしーい」が正しく解析できず誤った翻訳となってしまう。一方、入力文を書き換えて「これおいしい」を翻訳したとすれば、翻訳結果は「It tastes great」となり、「おいしい」が正しく解析され意味の通る翻訳となる。
【０００７】
本発明は、上記問題点を解決するために成されたものであり、高精度な言語処理を行うための前処理モデルを学習することができる前処理モデル学習装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために、第１の発明に係る前処理モデル学習装置は、入力された文字列に対して生成された書き換え候補の各々について、前記書き換え候補に対して予め定められた言語処理を行った結果に基づいて、前記書き換え候補に対して前記言語処理を行った結果の尤もらしさを評価し、前記文字列と、最も評価が高い前記書き換え候補とのペアを、正解ペアとして選定する評価選定部と、前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する前処理モデル学習部と、を含んで構成されている。
【０００９】
また、第１の発明に係る前処理モデル学習装置において、前記前処理モデル学習部は、
前記文字列と、前記書き換え候補の各々とを表す各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成し、前記ラティスの各経路のうち、前記前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、前記正解ペアの書き換え候補となるように前記前処理モデルを学習するようにしてもよい。
【００１０】
第２の発明に係る前処理モデル学習方法は、評価選定部が、入力された文字列に対して生成された書き換え候補の各々について、前記書き換え候補に対して予め定められた言語処理を行った結果に基づいて、前記書き換え候補に対して前記言語処理を行った結果の尤もらしさを評価し、前記文字列と、最も評価が高い前記書き換え候補とのペアを、正解ペアとして選定するステップと、前処理モデル学習部が、前記評価選定部によって選定された前記正解ペアと、前記書き換え候補の各々から抽出される素性とに基づいて、前記言語処理の前処理における書き換え候補を選択するための前処理モデルを学習するステップと、を含んで実行することを特徴とする。
【００１１】
また、第２の発明に係る前処理モデル学習方法において、前記前処理モデル学習部が学習するステップは、前記文字列と、前記書き換え候補の各々とを表す各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成し、前記ラティスの各経路のうち、前記前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、前記正解ペアの書き換え候補となるように前記前処理モデルを学習するようにしてもよい。
【００１２】
第３の発明に係るプログラムは、コンピュータを、第１の発明に係る前処理モデル学習装置の各部として機能させるためのプログラムである。
【発明の効果】
【００１３】
本発明の前処理モデル学習装置、方法、及びプログラムによれば、書き換え候補の各々について、書き換え候補に対して予め定められた言語処理を行った結果と、予め定めた正解データとに基づいて、書き換え候補に対して言語処理を行った結果の尤もらしさを評価し、文字列と、最も評価が高い書き換え候補とのペアを、正解ペアとして選定し、選定された正解ペアと、言語処理のための学習に用いられる目的コーパスから作成された言語モデルにおける部分文字列の各々の言語モデルスコアとに基づいて、言語処理の前処理における書き換え候補を選択するための前処理モデルを学習することにより、高精度な言語処理を行うための前処理モデルを学習することができる、という効果が得られる。
【図面の簡単な説明】
【００１４】
【図１】目的コーパスを用いた言語モデルの一例を示す図である。
【図２】本発明の実施の形態に係る前処理モデル学習装置の構成を示すブロック図である。
【図３】語彙素「御早う」の見出し語集合の一例を示す図である。
【図４】「はらへったー」に対する意味類似度が上位の書き換え候補と意味類似度の値の一例を示す図である。
【図５】書き換え候補テーブルの一例を示す図である。
【図６】ラティスの生成の一例を示す図である。
【図７】素性のスコアの計算例を示す図である。
【図８】本発明の実施の形態に係る前処理モデル学習装置における書き換え候補テーブル作成処理ルーチンを示すフローチャートである。
【図９】本発明の実施の形態に係る前処理モデル学習装置における前処理モデル学習処理ルーチンを示すフローチャートである。
【図１０】本発明の実施の形態に係る前処理モデル学習装置におけるラティス生成処理ルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００１６】
＜本発明の実施の形態に係る概要＞
【００１７】
まず、本発明の実施の形態における概要を説明する。
【００１８】
本発明の実施の形態で提案する技術は、あらかじめ複数の表記ゆれや言い回しの表現を書き換え候補として獲得し、一つのラティスとして展開する。目的文の学習コーパスである目的コーパスから作成した言語モデルのスコアと、書き換え候補の意味的類似度のスコアを用いて言語処理に適した上位Ｎ個の書き換え候補を出力する。目的コーパスは、書き換え対象となるテキストを準備し、テキストを形態素解析したものとする。また、予め目的コーパスを用いて作成した、表記、品詞、及びスコアを組み合わせた言語モデルを作成しておくものとする。図１に目的コーパスを用いた言語モデルの一例を示す。また、最適な書き換え候補は、目的コーパスの言語表現と最も近くなる候補である。そして、上位Ｎ個の書き換え候補を翻訳処理し、正解データを用いて求められた、書き換え前の文字列と書き換え候補との正解ペアを用いて、前処理における書き換え候補を選択するための前処理モデルを学習する。
【００１９】
なお、本発明の実施の形態では、機械翻訳を行うための前処理モデルを学習する場合について説明するが、これに限定されるものではなく、構文解析、自動要約等のあらゆる言語処理に適用することができる。
【００２０】
＜本発明の実施の形態に係る前処理モデル学習装置の構成＞
【００２１】
次に、本発明の実施の形態に係る前処理モデル学習装置の構成について説明する。図２に示すように、本発明の実施の形態に係る前処理モデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述する書き換え候補テーブル作成処理ルーチン及び前処理モデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この前処理モデル学習装置１００は、機能的には図２に示すように入力部１０と、演算部２０と、出力部９０とを備えている。
【００２２】
入力部１０は、テキスト集合として、ＵｎｉＤｉｃ（https://osdn.jp/projects/unidic/）やＪＵＭＡＮ（http://nlp.ist.i.kyoto-u.ac.jp/index.php?JUMAN）等の日本語の辞書と、Ｔｗｉｔｔｅｒ（Ｒ）等のＳＮＳから収集した大規模テキストとを受け付け、書き換え候補獲得部２２に出力する。また、入力部１０は、書き換え対象の文字列を受け付ける。
【００２３】
演算部２０は、書き換え候補獲得部２２と、前処理部２４と、言語モデル２６と、本処理モデル２８と、本処理部６０と、評価選定部６２と、前処理モデル学習部６４とを含んで構成されている。
【００２４】
書き換え候補獲得部２２は、入力部１０で受け付けた辞書及び大規模テキストから、入力表記に対する書き換え候補を格納した書き換え候補テーブルを作成する。
【００２５】
書き換え候補獲得部２２は、辞書候補獲得部３０と、同義フレーズ獲得部３２と、同義述部獲得部３４と、類似度設定部３６とを含んで構成されている。なお、本実施の形態では、書き換え候補獲得部２２の辞書候補獲得部３０、同義フレーズ獲得部３２、及び同義述部獲得部３４の各々で書き換え候補を獲得する場合を例に説明するが、これに限定されるものではなく、例えば、人手で作成した書き換え候補や、読みの類似度を用いた書き換え候補等、他の手法によって書き換え候補を獲得してもよい。
【００２６】
辞書候補獲得部３０は、入力部１０で受け付けた辞書を用いて、入力表記の各々に対して、複数のレベルの書き換え候補を獲得する。具体的には、辞書の語彙素（ＵｎｉＤｉｃを使用）、代表表記（ＪＵＭＡＮを使用）などを見出し語として用いて、辞書に登録された同一の語彙素、及び代表表記をもつ見出し語集合を書き換え候補グループとして定義する。図３にＵｎｉＤｉｃにおける語彙素「御早う」の見出し語集合の一例を示す。作成した書き換え候補グループの各々について、辞書見出し語の各々を入力表記とし、同一のグループの入力表記以外の見出し語の各々を書き換え候補とすればよい。このように辞書候補獲得部３０によって得た書き換え候補によって、単語レベルの表記揺れを吸収することが可能になる。
【００２７】
同義フレーズ獲得部３２は、入力部１０で受け付けた大規模テキストを用いて、意味類似度を用いた単語レベル及びフレーズレベルの文字列のペアを、入力表記に対する書き換え候補として獲得する。具体的には、Ｔｗｉｔｔｅｒ（Ｒ）上の短文（ｎ文字以内）を、句読点、記号などで分割した際に１０文字以内となる文字列のまとまりを辞書に登録し、解析によって、文字列の各々について意味ベクトルを求める。意味ベクトルの計算にはｗｏｒｄ２ｖｅｃ（参考文献１参照）等を用いればよい。そして、文字列の各々の意味ベクトルに基づいて、文字列の各ペアの意味的類似度を、コサイン類似度等を用いて推定し、入力表記に対する書き換え候補を獲得する。
【００２８】
参考文献１：Tomas Mikolov, Kai Chen, Greg Corrado, and Jeffrey Dean. Efficient Estimation of Word Representations in Vector Space. In Proceedings of Workshop at ICLR, 2013.
【００２９】
ここでは、意味類似度が予め定めた閾値以内の文字列のペアを、入力表記に対する書き換え候補として定義する。図４に文字列「はらへったー」に対する意味類似度が上位の書き換え候補と意味類似度の値の一例を示す。同義フレーズ獲得部３２によって得た書き換え候補により、表記が似ていなくても意味的に類似している書き換え候補への書き換えが可能になり、書き換え候補の意味的空間が広がる。
【００３０】
同義述部獲得部３４は、入力部１０で受け付けた大規模テキストを用いて、述語である入力表記に対して、述部の機能語を書き換えた書き換え候補を獲得する。具体的には、大規模テキストに対し、述部正規化解析(参考文献２参照)を行い、同一の意味ラベル、述部を持つ候補を、書き換え候補として定義する。
【００３１】
参考文献２：泉朋子，今村賢治，菊井玄一郎，藤田篤，佐藤理史，"正規化を指向した機能動詞表現の述部言い換え"，第15回言語処理学会年次大会，2009
【００３２】
例えば「みる＋完了」に対して、同一の機能語の意味ラベル及び述語を持つ書き換え候補となる例としては、「みちゃった」、「みた」、「みたよ」、「みちゃいました」が挙げられる。
【００３３】
日本語は特に述部の機能語が冗長で、表現も多様であることから、同義述部獲得部３４によって獲得した書き換え候補によって、このような多様な述部の機能語を書き換え候補として用いることができる。また、機能語の細かな表現は意味類似度のような手法では識別できないことも多いため、述部の機能語に特化したモデルを用いることで、意味的に同一である信頼性が高い多様な述部書き換えバリエーションを取得可能になる。
【００３４】
類似度設定部３６は、辞書候補獲得部３０、同義フレーズ獲得部３２、及び同義述部獲得部３４の各々で獲得した書き換え候補に意味類似度を付与し、入力表記と、書き換え候補と、入力表記に対する書き換え候補の意味類似度との組み合わせの各々からなる書き換えテーブルを書き換え候補ＤＢ３８に格納する。辞書候補獲得部３０、及び同義述部獲得部３４で獲得した書き換え候補には、意味類似度として１の値を付与する。一方、同義フレーズ獲得部３２で獲得した書き換え候補には、意味ベクトルによって算出された意味類似度を付与する。このように類似度設定を行う理由は、辞書候補獲得部３０、及び同義述部獲得部３４では、予め同義判定が人手チェックによってなされた、確実な書き換え候補のみを獲得することになるが、同義フレーズ獲得部３２では、意味類似度の関数によって自動獲得した書き換え候補は必ずしも確実な候補とは限らないためである。意味類似度そのものを素性として用いることで意味の類似の度合いを反映させる。
【００３５】
書き換え候補ＤＢ３８には、書き換え候補獲得部２２で作成された書き換え候補テーブルが格納されている。図５に書き換え候補テーブルの一例を示す。なお、図５のルール１のように、あらかじめ定めたルールを追加することも可能である。また、本実施の形態では、書き換え候補テーブルには、書き換え候補が獲得された由来が更に格納されている。
【００３６】
なお、上記の書き換え候補テーブルでは、表記と品詞をキーとして照合を行うが、品詞は省略可とする。以降の説明では簡単のため品詞を省略した例を示す。
【００３７】
前処理部２４は、ラティス生成部４０と、Ｎｂｅｓｔ解生成部５０とを含んで構成されている。
【００３８】
言語モデル２６は、書き換え先となる特定のドメインテキスト（本実施の形態では、翻訳処理のための学習に用いられる目的コーパス）を用いて表記及び品詞の組み合わせに対して作成したモデルである。ここで、言語モデル２６の言語モデルスコアとは、目的コーパスにおける表記の尤もらしさを表すスコアである。
【００３９】
ラティス生成部４０は、以下の各部の処理によって、入力部１０で受け付けた文字列に対して、書き換え候補獲得部２２によって作成された書き換え候補テーブルを用いて辞書引きを行い、書き換え候補を含む各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成する。
【００４０】
ラティス生成部４０は、形態素解析部４２と、書き換え候補テーブル参照部４４と、書き換え候補ラティス生成部４６とを含んで構成されている。
【００４１】
形態素解析部４２は、入力部１０で受け付けた文字列を形態素解析し、解析により得られた入力形態素を書き換え候補テーブル参照部４４に出力する。
【００４２】
書き換え候補テーブル参照部４４は、形態素解析部４２により得られた入力形態素の各々について、入力形態素を入力表記の参照キーとして書き換え候補ＤＢ３８の書き換え候補テーブルを参照し、書き換え候補集合を取得する。
【００４３】
書き換え候補ラティス生成部４６は、書き換え候補テーブル参照部４４で取得した書き換え候補集合を用いて、入力形態素の各々に対して書き換え候補を展開してラティスを生成する。
【００４４】
具体的には、図６に示すように、左から順に入力形態素とマッチする書き換え候補リストを列挙する。そして、入力形態素と書き換え候補との各々をノードとし、連続するノード間をエッジで結んだグラフ構造を、ラティスとして生成する。
【００４５】
Ｎｂｅｓｔ解生成部５０は、以下の処理によって、ラティス生成部４０によって生成されたラティスと、ラティスにおける各ノードに対応する書き換え候補の意味類似度と、言語モデル２６における部分文字列の各々の言語モデルスコアとに基づいて、ラティスのエッジからなる各経路のうち、スコアが上位Ｎ個の経路が表す文字列を、入力された文字列の書き換え候補の各々として生成する。ここで経路のスコアは、経路上の各ノードの部分文字列に対応する書き換え候補の意味類似度と言語モデルスコアとに基づいて求められる。
【００４６】
Ｎｂｅｓｔ解生成部５０は、まず、ラティス生成部４０で生成されたラティスと、ラティスにおける各ノードに対応する書き換え候補の意味類似度と、言語モデル２６における部分文字列の各々の言語モデルスコアとに基づいて、生成されたラティスにおける各経路について、言語モデルスコア、意味類似度、及び書き換えフラグを用いた当該経路の各素性のスコアを計算する。そして、計算された各素性のスコアに基づいて、例えば動的計画法を用いて、ラティスにおける、以下に示す総スコアが上位Ｎ個となる経路を計算する。
【００４７】
ここで、α、β、及びγは、言語モデルスコア、意味類似度、及び書き換えフラグからなる各素性の重みである。α、及びβの値は、予めデータに基づいて実験的に決定する。書き換えフラグは、書き換えられたノードの場合に１、それ以外のノードの場合に０の値をとる変数である。各素性のスコアを合算することで、総スコアを算出することができる。総スコアは以下（１）式で算出される。なお、α、β、及びγの値は、後述する前処理モデル学習部６４によって予め学習された前処理モデルの値を用いるようにしてもよい。
【００４８】
総スコア=Σｉ（α×言語モデルスコア＋β×(-log(意味類似度))
＋γ×書き換えフラグ）
・・・（１）
【００４９】
ただし、ｉは、経路上のノードの部分文字列を表す。例えば、図７に示すように、各ノードのスコアを、αにノードの部分文字列に対応する言語モデルスコアを掛けることにより、計算する。
【００５０】
例えば入力された文字列に対応する経路が「おっはよう/はら/へっ/た/ー」であれば当該経路の総スコアは「1.2+2.3+2.1+1.9+1.7+5.7=14.9」となる。また、書き換え候補を含む経路１が「おはよう/おなか/すい/た/」であれば当該経路１の総スコアは「1.0+2.1+1.9+1.8+3.8+0.5*(-log(1))+0.5*(-log(0.6))=10.86」となる。他の書き換え候補を含む経路も同様に計算する。上記例の経路では、経路１が最もスコアが小さいため経路１が上位１番目の経路となる。
【００５１】
なお、複数の経路の総スコアが同じ場合は、優先度に従って選択する。例えば、入力表記を最優先とし、次の優先度を、文字コード順などにすればよい。
【００５２】
本処理モデル２８は、原言語の文を目的言語の文へ翻訳するための予め学習された翻訳モデルである。翻訳モデルは原言語を英語、目的言語を日本語として学習されているものとする。なお、翻訳モデルは外部の翻訳システム等を用いるようにしてもよい。なお、本処理モデル２８は、翻訳モデルに限定されるものではなく、前処理モデルの学習対象に応じて、構文解析、自動要約等のあらゆる言語処理モデルにすることができる。
【００５３】
本処理部６０は、前処理部２４のＮｂｅｓｔ解生成部５０によって生成された書き換え候補の各々に対し、本処理モデル２８を用いて翻訳処理を行い、翻訳結果を出力する。例えば、書き換え前の文字列が「おはよーはらへったー」であれば、翻訳結果は「Whoa Hayo belly heh was over」であるが、生成された書き換え候補は次のように翻訳される。書き換え候補「おはようおなかすいた」であれば、翻訳結果は「Good morning hungry」となる。書き換え候補「おはようお腹減った」であれば、翻訳結果は「Good morning I was reduced stomach」となる。書き換え候補「おはよう腹減った」であれば、翻訳結果は「Good morning I was hungry」となる。書き換え候補「お早うおなかすいた」であれば、翻訳結果は「Good morning hungry」となる。また、書き換え前の文字列が「テレビみちゃった」であれば、翻訳結果は「I chat Terebimi」となるが、生成された書き換え候補は次のように翻訳される。書き換え候補「テレビみた」であれば、翻訳結果は「I saw TV」となる。「テレビみちゃいました」であれば、翻訳結果は「It was chai Terebimi」となる。
【００５４】
評価選定部６２は、Ｎｂｅｓｔ解生成部５０で生成された書き換え候補の各々について、本処理部６０で書き換え候補に対して予め定められた翻訳処理を行った結果に基づいて、当該書き換え候補に対して翻訳処理を行った結果の尤もらしさを評価し、入力部１０で受け付けた文字列と、最も評価が高い書き換え候補とのペアを、正解ペアとして選定する。
【００５５】
ここで、翻訳処理の尤もらしさの評価には、入力部１０で受け付けた文字列に対して翻訳処理を行ったときの予め定めた翻訳正解データと、翻訳処理の自動評価システムであるＲＩＢＩＥＳとを用いて、翻訳の評価スコアを付与する。元の書き換え前の文字列の翻訳結果と、書き換え候補の翻訳結果とに対する自動評価における評価スコアを算出し、書き換え前の文字列、及び書き換え候補をランキングする。自動評価における評価スコアが最も高かった書き換え候補を書き換えの正解文とする。元の書き換え前の文字列が最も評価値が高かった場合は、書き換えない文が正解データとなる。なお、ＲＩＢＩＥＳ以外にもＢＬＵＥ等、他の自動評価システムを用いてもよい。
【００５６】
翻訳処理の尤もらしさの評価スコアの例を以下に示す。自動評価における評価スコアは以下のようになる。ここで、正解データとなる参照訳は「Good morning. I am hungry」である。
【００５７】
書き換え候補「おはよう腹減った」の翻訳結果「Good morning I was hungry」については、評価スコアは４．９である。書き換え候補「おはようおなかすいた」の翻訳結果「Good morning hungry」については、評価スコアは４．１である。書き換え候補「お早うおなかすいた」の翻訳結果「Good morning hungry」については、評価スコアは４．１である。書き換え候補「おはようお腹減った」の翻訳結果「Good morning I was reduced stomach」については、評価スコアは４．０である。また、元の書き換え前の文字列「おっはようはらへったー」の翻訳結果「Whoa Hayo belly heh was over」については、評価スコアは３．３である。
【００５８】
上記の評価スコアをランキングし、１位の書き換え候補「おはよう腹減った」を、書き換え正解データ（正例）と決定し、元の書き換え前の文字列「おっはようはらへったー」とのペアを正解ペアとする。
【００５９】
前処理モデル学習部６４は、評価選定部によって選定された正解ペアと、入力部１０で受け付けた文字列、及び書き換え候補の各々から抽出された素性とに基づいて、言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する。ここで、前処理モデル学習部６４は、文字列と、書き換え候補の各々とを表す各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスの各経路のうち、前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、正解ペアの書き換え候補となるように前処理モデルを学習する。
【００６０】
具体的には、前処理モデル学習部６４は、まず、入力部１０で受け付けた文字列について、上記ラティス生成部４０と同様の手法によって、Ｎｂｅｓｔ解生成部５０で得た書き換え候補の各々を用いて辞書引きを行い、ラティスを生成する。あるいはラティス生成部４０で作成したラティスのうち、上記Ｎｂｅｓｔ解生成部５０によって得られた書き換え候補の各々に係る経路を用いるようにしてもよい。このとき形態素情報は予め付与したものを用いるか、解析しなおす。
【００６１】
次に、前処理モデル学習部６４は、評価選定部３６２で得られた正解ペアと、ラティスとに基づいて、パラメータα、β、及びγの学習を行う。前処理モデル学習部３６４で学習する前処理モデルを用いたスコア関数は以下のように定義される。
【００６２】
Ｆ＝α＊ｆ１（書き換え候補素性）+β＊ｆ２（言語モデル素性）+γ＊ｆ３(書き換え候補類似度素性)
【００６３】
ここで、ｆ１(書き換え候補素性)は、該当する書き換え候補が用いられているとき１、それ以外の時は０となるバイナリ素性である。f１(はらへったー→腹減った）、f１(はら→腹)など、各書き換え候補に対して定義される素性である。例えば、「おはよう」を通る経路のとき、ｆ１(おっはよう→おはよう)＝１となる。また、「おはよう」を通らない経路のとき、ｆ１(おっはよう→おはよう)＝０となる。ｆ２(言語モデル素性)とは、言語モデル２６から得られる、該当する経路の言語モデルスコアを表す。ｆ３(書き換え候補類似度素性)とは、該当する経路で採用された書き換え候補の元の書き換え前の文字列との類似度関数値を表す。例えば、経路１「おっはようはらへったー」、経路２「おはようお腹減った」の場合、類似度関数値は、
【００６４】
ｆ３(経路１→経路２)＝０．７(おっはよう→おはよう)＋０．６(はらへったー→お腹へった)＝１．３
【００６５】
となる。生成したラティスに対し、上記のスコア関数を計算した際の最適な経路が表す文が、正解ペアの正解文である書き換え候補と一致する（近くなる）ようにパラメータα、β、及びγの学習を行う。パラメータα、β、及びγの学習は、パーセプトロン学習やＣＲＦを用いて行うことができる。
＜本発明の実施の形態に係る前処理モデル学習装置の作用＞
【００６６】
次に、本発明の実施の形態に係る前処理モデル学習装置１００の作用について説明する。入力部１０において日本語の辞書と、大規模テキストとを受け付け、書き換え候補獲得部２２に出力すると、前処理モデル学習装置１００は、図８に示す書き換え候補テーブル作成処理ルーチンを実行する。
【００６７】
まず、ステップＳ２００では、入力部１０で受け付けた辞書を用いて、入力表記の各々に対して、複数のレベルの書き換え候補を獲得する。
【００６８】
ステップＳ２０２では、入力部１０で受け付けた大規模テキストを用いて、意味類似度を用いた単語レベル及びフレーズレベルの文字列のペアを、入力表記に対する書き換え候補として獲得する。
【００６９】
ステップＳ２０４では、入力部１０で受け付けた大規模テキストを用いて、述語である入力表記に対して、述部の機能語を書き換えた書き換え候補を獲得する。
【００７０】
ステップＳ２０６では、ステップＳ２００〜Ｓ２０４の各々で獲得した書き換え候補に意味類似度を付与し、入力表記と、書き換え候補と、入力表記に対する書き換え候補の意味類似度との組み合わせの各々からなる書き換えテーブルを作成し、書き換え候補ＤＢ３８に格納し、書き換え候補テーブル作成処理ルーチンを終了する。
【００７１】
そして、入力部１０において書き換え対象の文字列を受け付けると、前処理モデル学習装置１００は、図９に示す前処理モデル学習処理ルーチンを実行する。
【００７２】
まず、ステップＳ１０２では、入力部１０で受け付けた文字列に対して、ステップＳ１００で作成された書き換え候補テーブルを用いて辞書引きを行い、書き換え候補を含む各部分文字列に対応するノード及び連結される部分文字列に対応するノードを結んだエッジからなるグラフ構造であるラティスを生成する。
【００７３】
ステップＳ１０４では、ステップＳ１０２で生成されたラティスと、ラティスにおける各ノードに対応する書き換え候補の意味類似度と、言語モデル２６における部分文字列の各々の言語モデルスコアとに基づいて、ラティスのエッジからなる各経路のうち、スコアが上位Ｎ個となる経路が表す文字列を、入力された文字列の書き換え候補の各々として生成する。
【００７４】
ステップＳ１０６では、ステップＳ１０４で生成された書き換え候補の各々に対し、本処理モデル２８を用いて翻訳処理を行い、翻訳結果を得る。
【００７５】
ステップＳ１０８では、ステップＳ１０４で生成された書き換え候補の各々について、ステップＳ１０６で書き換え候補に対して予め定められた翻訳処理を行った結果に基づいて、書き換え候補に対して翻訳処理を行った結果の尤もらしさを評価し、文字列と、最も評価が高い書き換え候補とのペアを、正解ペアとして選定する。
【００７６】
ステップＳ１１０では、入力部１０で受け付けた文字列について、ステップＳ１０４で得た書き換え候補の各々を用いて辞書引きを行い、ラティスを生成する。
【００７７】
ステップＳ１１２では、ステップＳ１０８で選定された正解ペアと、入力部１０で受け付けた文字列、及び書き換え候補の各々から抽出された素性とに基づいて、ラティスの各経路のうち、前処理モデルを用いて計算したスコアが最大となる経路が表す文字列が、正解ペアの書き換え候補となるように言語処理の前処理における書き換え候補を選択するための前処理モデルを学習する。
【００７８】
上記ステップＳ１０２は、図１０に示すラティス生成処理ルーチンによって実現される。
【００７９】
ステップＳ３００では、入力部１０で受け付けた文字列を形態素解析し、解析により得られた入力形態素を書き換え候補テーブル参照部４４に出力する。
【００８０】
ステップＳ３０２では、ステップＳ３００で出力された入力形態素の各々について、入力形態素を入力表記の参照キーとして書き換え候補ＤＢ３８の書き換え候補テーブルを参照し、書き換え候補集合を取得する。
【００８１】
ステップＳ３０４では、ステップＳ３０２で取得した書き換え候補集合を用いて、入力形態素の各々に対して書き換え候補を展開してラティスを生成し、ラティス生成処理ルーチンを終了する。
【００８２】
以上説明したように、本発明の実施の形態に係る前処理モデル学習装置によれば、書き換え候補の各々について、書き換え候補に対して予め定められた言語処理を行った結果に基づいて、書き換え候補に対して言語処理を行った結果の尤もらしさを評価し、文字列と、最も評価が高い書き換え候補とのペアを、正解ペアとして選定し、選定された正解ペアと、書き換え候補の各々から抽出される素性とに基づいて、言語処理の前処理における書き換え候補を選択するための前処理モデルを学習することにより、高精度な言語処理を行うための前処理モデルを学習することができる。
【００８３】
また、自動獲得した複数の書き換え候補とその組み合わせの中から、自動評価に基づいて最適な候補を選択することができる。例えばルールで設定する場合、「みちゃった」→「見た」などの一意の書き換えを規定し、複数の候補の順序を付ける場合はそれぞれ順序関数を規定する必要があるが、本実施の形態の技術では、「みちゃった」→「見た」「見ちゃった」「見たよ」などの中から目的コーパスの言語モデルという基準に基づき最も適した候補を出力することができる。
【００８４】
なお、本発明は、上述した実施の形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００８５】
例えば上述した実施の形態では、前処理モデル学習装置１００は、書き換え候補獲得部２２、前処理部２４の各処理によって書き換え候補を獲得し、本処理部６０で書き換え候補について予め定めた言語処理を行っているが、これに限定されるものではなく、前処理モデル学習装置１００は、書き換え候補獲得部２２、前処理部２４、及び本処理部６０を構成に含まずに、予め入力部１０により書き換え候補の各々、及び言語処理の結果を受け付けて、評価選定部６２、及び前処理モデル学習部６４の各部の処理を行うようにしてもよい。
【符号の説明】
【００８６】
１０   入力部
２０、２２０  演算部
２２   書き換え候補獲得部
２４   前処理部
２６   言語モデル
２８   本処理モデル
３０   辞書候補獲得部
３２   同義フレーズ獲得部
３４   同義述部獲得部
３６   類似度設定部
４０   ラティス生成部
４２   形態素解析部
４４   書き換え候補テーブル参照部
４６   書き換え候補ラティス生成部
５０   Ｎｂｅｓｔ解生成部
６０   本処理部
６２   評価選定部
６４   前処理モデル学習部
９０   出力部
１００ 前処理モデル学習装置
【図１】
0006535607.tif 000002
【図２】
0006535607.tif 000003
【図３】
0006535607.tif 000004
【図４】
0006535607.tif 000005
【図５】
0006535607.tif 000006
【図６】
0006535607.tif 000007
【図７】
0006535607.tif 000008
【図８】
0006535607.tif 000009
【図９】
0006535607.tif 000010
【図１０】
0006535607.tif 000011