(本開示の基礎となった知見)
上記のように、機械翻訳の性能向上には、翻訳に利用可能な例文が多いほど好ましく、機械翻訳の原文の類似対訳コーパスを自動生成する過程において、原文から換言(言い換
え)により作られた換言文の良否(良し悪し)の判断を効率よく且つ高精度に行うことが
要望されている。
しかしながら、口語表現を多く含むような言語モデルのデータベースの作成には、非常に大きなコストがかかり、逆に、「Twitter」(登録商標)や「Facebook」(登録商標)などの情報を基に言語モデルのデータベースを作成する場合、データの品質が良いものとは言えず、品質の悪いデータも多く含まれることになる。
また、換言文の良否を言語モデル(例えば、汎用N−gram言語モデル)のデータベースで評価する場合、換言文の良否の評価がデータベースに保持されているデータの質や量に大きく依存し、特に、換言文に含まれるフレーズ等がデータベースに含まれていない場合や原文からの置き換え部分付近のフレーズそのものがデータベースに含まれない場合、換言文を評価することができない。さらに、方言や口語表現などを多く含むデータベースは、質が保証できないため、これらのみで換言文の良否を判断することはできない。
本開示の一態様では、例えば、換言文の置き換え部分を含むN−gramにおいて、N−gramの全てはヒットしないが、部分的には一致する場合、汎用N−gramデータベースから一致する部分のみの出現確率を求める。例えば、「その 服 めっちゃ 良い
ね」の文章のうち「めっちゃ」をワイルドカードである「*」に置き換え、「その 服
* 良い ね」の出現確率を求め、未知語「*」については、別に持っている口語表現N−gramデータベースを参照する。
この口語表現N−gramデータベースでは、語の一致まで厳しく見るのではなく、「*」の周辺は、「品詞」レベルでの一致も判定する。例えば、「服」を[名詞]に、「良い」を「形容詞」に置き換え、口語表現N−gramデータベースにおける「名詞 めっちゃ 形容詞」の有無を判定する。このように、本開示の一態様では、言語モデルと、口語表現のデータベースとを合わせて、換言文の良否を判断する。
この結果、本開示の一態様では、既存の言語モデル以外のデータを用いる際、追加のデータ自体の量及び精度が十分でない場合でも、換言文の良否を高精度に判断することができる。すなわち、規模が大きく且つ質の良いデータベース(例えば、汎用N−gram言語モデルのデータベース)の情報を活かしつつ、口語や最近の表現に対応したデータベース(例えば、口語表現N−gramデータベース)も併用しながら、換言文の良否を判断することができる。
したがって、本開示の一態様では、規模が大きく且つ質の良いデータベースと、データの質は保証されないが、口語表現や方言などを含むデータベースとの双方の良い部分を効率よく参照することにより、ハイブリットに換言文の良否を評価することができる。すなわち、文法的に破綻が少ない文語表現のデータベースと、文法的に破綻があるが、多様な表現を含む口語表現のデータベースとを併用することにより、原文から作成された換言文の良否を効率よく且つ高精度に識別することができる。
上記の知見に基づき、本願発明者らは、原文から作成された換言文の良否を如何に識別すべきかについて鋭意検討を行った結果、本開示を完成したものである。
本開示の一態様に係る方法は、対訳コーパスをアップデートする方法であって、前記対訳コーパスは第1言語で記述された文と第2言語で記述された対訳文との対を複数含み、前記対訳コーパスは第1言語で記述された第1文と第2言語で記述された第2文との対を含み、前記第2文は前記第1文に対する対訳文であり、前記第1文を構成する複数の語句のうち第1語句が第2語句に置き換えられた第3文を入力し、第3語句が第1データベースに含まれるか否かを判定し、前記第3語句は少なくとも、前記第3文において前記第2語句と前記第2語句の直前の第4語句、もしくは、前記第3文において前記第2語句と前記第2語句の直後の第5語句を含み、前記第1データベースは書き言葉の文章で用いられた語句を少なくとも含み、前記第3語句が前記第1データベースに含まれていないと判定された場合は、前記第1データベースに基づいて、前記第3語句のうち前記第2語句を第6語句に置き換えた第7語句に対して、前記第1データベースにおける第1評価値を算出し、前記第6語句は前記第2語句とは異なり、前記第3語句が第2データベースに含まれるか否かを判定するとともに、前記第1評価値を基に算出した第2評価値が所定の条件を満たすか否かを判定し、前記第2データベースは話し言葉の文章で用いられた語句を少なくとも含み、前記話し言葉の文章で用いられた語句と前記話し言葉の文章で用いられた語句の前記第2データベースにおける出現頻度とを対応付け、前記第3語句が前記第2データベースに含まれ、且つ前記第2評価値が前記所定の条件を満たすと判定された場合は、前記第3文と前記第2文との対を前記対訳コーパスに追加する。
このような構成により、第1文を構成する複数の語句のうち第1語句が第2語句に置き換えられた第3文を入力し、第3語句が第1データベースに含まれるか否かを判定し、第3語句は少なくとも、第3文において第2語句と第2語句の直前の第4語句、もしくは、第3文において第2語句と第2語句の直後の第5語句を含み、第1データベースは書き言葉の文章で用いられた語句を少なくとも含み、第3語句が第1データベースに含まれていないと判定された場合は、第1データベースに基づいて、第3語句のうち第2語句を第6語句に置き換えた第7語句に対して、第1データベースにおける第1評価値を算出し、第6語句は第2語句とは異なり、第3語句が第2データベースに含まれるか否かを判定するとともに、第1評価値を基に算出した第2評価値が所定の条件を満たすか否かを判定し、第2データベースは話し言葉の文章で用いられた語句を少なくとも含み、話し言葉の文章で用いられた語句と話し言葉の文章で用いられた語句の第2データベースにおける出現頻度とを対応付け、第3語句が第2データベースに含まれ、且つ第2評価値が所定の条件を満たすと判定された場合は、第3文と第2文との対を対訳コーパスに追加しているので、原文である第1文から作成された換言文である第3文の良否を効率よく且つ高精度に識別することができる。
前記第3文は、前記第1語句を、第3データベースに含まれる前記第2語句に置き換えることにより生成され、前記第3データベースは語句と前記語句と同じ意味で表現が異なる語句とを対応付けるようにしてもよい。
このような構成により、第3データベースから換言文となる第3文を作成することができる。
前記第2データベースはソーシャル・ネットワーキング・サービスで用いられた語句に基づき生成されるようにしてもよい。
このような構成により、第2データベースは、第1データベースより口語表現を多く含むデータベースとなる。
前記第3語句が前記第1データベースに含まれていると判定された場合は、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、第1データベースを用いて、原文である第1文から作成された換言文である第3文の良否を効率よく且つ高精度に識別することができる。
前記第3語句が前記第1データベースに含まれていないと判定された場合、前記第7語句のうち前記第6語句を判定対象外にして、前記第7語句が前記第1データベースに存在するか否かを判定し、前記第7語句が前記第1データベースに存在しない場合、前記第3文を前記対訳コーパスに追加しないようにしてもよい。
このような構成により、第3語句が第1データベースに含まれていないと判定された場合、第7語句のうち第6語句を判定対象外にして、第7語句が第1データベースに存在するか否かを判定し、第7語句が第1データベースに存在しない場合、第3文を対訳コーパスに追加しないので、判定基準を緩めて換言文である第3文の良否を判定し、緩めた判定基準を満たさない換言文のみを対訳コーパスに追加しないようにすることができるとともに、緩めた判定基準を満たす換言文に対しては、データの質は保証されないが、口語表現や方言などを含むデータベース等を用いた他の判定基準により換言文の良否をさらに判定することができる。
前記第3語句として、前記第2語句を含むN語のN−gramを用いるとともに、前記第1データベースとして、N−gram言語モデルのデータベースを用い、前記N−gramが前記N−gram言語モデルのデータベースに存在するか否かを判定し、前記N−gramが前記N−gram言語モデルのデータベースに存在する場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、判定対象部分となるN−gramがN−gram言語モデルのデータベースに存在する場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、より多くの換言文を対訳コーパスに追加することができる。
前記第3語句として、前記第2語句を含むN語のN−gramを用いるとともに、前記第1データベースとして、N−gram言語モデルのデータベースを用い、前記N−gram言語モデルのデータベースから前記N−gramの出現確率又は出現頻度を求め、前記N−gramの出現確率又は出現頻度から算出される第3評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、判定対象部分となるN−gramの出現確率又は出現頻度から算出される第3評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加と判定しているので、換言文の良否を高精度に判定し、換言文及び対訳文との対を対訳コーパスに追加することができる。
前記第3語句が前記第1データベースに含まれていないと判定された場合、前記第2語句を判定対象外とする前記N−gramが前記N−gram言語モデルのデータベースに存在するか否かを判定し、前記第2語句を判定対象外とする前記N−gramが前記N−gram言語モデルのデータベースに存在しない場合、前記第3文を前記対訳コーパスに追加しないようにしてもよい。
このような構成により、置き換え部分(第2語句)を判定対象外とするN−gramがN−gram言語モデルのデータベースに存在しない場合、換言文(第3文)を対訳コーパスに追加しないので、通常のN−gram言語モデルより緩めた判定基準を満たさない換言文のみを対訳コーパスに追加しないようにすることができるとともに、通常のN−gram言語モデルより緩めた判定基準を満たす換言文に対しては、他の判定基準により換言文の良否を効率的に且つ高精度に判定することができる。
前記第3語句が前記第1データベースに含まれていないと判定された場合、前記N−gram言語モデルのデータベースから前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度を求め、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される第4評価値が所定の閾値より低い場合、前記第3文を前記対訳コーパスに追加しないようにしてもよい。
このような構成により、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される第4評価値が所定の閾値より低い場合、換言文(第3文)を対訳コーパスに追加しないので、通常のN−gram言語モデルより判定基準を緩めたN−gramの出現確率又は出現頻度から算出される評価値により換言文を否とする判定を高精度に行うことができるとともに、通常のN−gram言語モデルより緩めたN−gramの出現確率又は出現頻度から算出される評価値を満たす換言文に対しては、他の判定基準により換言文の良否を効率的に且つ高精度に判定することができる。
前記第7語句が前記第1データベースに存在する場合、前記N−gramの前記第2語句、前記第4語句及び前記第5語句とからなる表層表現前後部分が前記第2データベースに存在するか否かを判定し、前記表層表現前後部分が前記第2データベースに存在し、且つ、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される表層表現前後評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、置き換え部分(第2語句)と前後の語(第4語句及び第5語句)とからなる表層表現前後部分が第2データベースに存在し、且つ、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される表層表現前後評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、第2データベースのデータ量や精度が十分でない場合でも、置き換え部分と前後の語とからなる表層表現前後部分に基づいて、換言文の良否を効率よく且つ高精度に判断し、換言文及び対訳文との対を対訳コーパスに追加することができる。
前記第7語句が前記第1データベースに存在する場合、前記N−gramの前記第2語句及び前記第4語句からなる表層表現前語部分、又は、前記第2語句及び前記第5語句からなる表層表現後語部分が、前記第2データベースに存在するか否かを判定し、前記表層表現前語部分又は前記表層表現後語部分が前記第2データベースに存在し、且つ、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される表層表現一方評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、前の語(第4語句)と置き換え部分(第2語句)とからなる表層表現前語部分又は置き換え部分(第2語句)と後の語(第5語句)とからなる表層表現後語部分が第2データベースに存在し、且つ、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される表層表現一方評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、第2データベースのデータ量や精度が十分でない場合でも、前の語と置き換え部分とからなる表層表現前語部分又は置き換え部分と後の語とからなる表層表現後語部分に基づいて、換言文の良否を効率よく且つ高精度に判断し、換言文及び対訳文との対を対訳コーパスに追加することができる。
前記表層表現前後評価値は、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から求めた前記第1評価値に所定の第1の重み量を乗算した値であり、前記表層表現一方評価値は、前記第1評価値に前記第1の重み量より小さい第2の重み量を乗算した値であってもよい。
このような構成により、置き換え部分と前後の語とからなる表層表現前後部分、及び、置き換え部分と前の語とからなる表層表現前語部分又は置き換え部分と後の語とからなる表層表現後語部分に基づいて、換言文の良否をより高精度に判断することができる。
前記表層表現前後部分が前記第2データベースに存在しない場合、前記表層表現前後評価値が所定の閾値以上でない場合、前記表層表現前語部分又は前記表層表現後語部分が前記第2データベースに存在しない場合、又は、前記表層表現一方評価値が所定の閾値以上でない場合、前記N−gramの前記第2語句と、前記第4語句を前記第4語句の品詞に置き換えた前品詞部分と、前記第5語句を前記第5語句の品詞に置き換えた後品詞部分とからなる品詞表現前後部分が前記第2データベースに存在するか否かを判定し、前記品詞表現前後部分が前記第2データベースに存在し、且つ、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される品詞表現前後評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、前品詞部分と置き換え部分(第2語句)と後品詞部分とからなる品詞表現前後部分が第2データベースに存在し、且つ、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される品詞表現前後評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、第2データベースのデータ量や精度が十分でない場合でも、前品詞部分と置き換え部分と後品詞部分とからなる品詞表現前後部分に基づいて、換言文の良否を効率よく且つ高精度に判断することができる。
前記表層表現前後部分が前記第2データベースに存在しない場合、前記表層表現前後評価値が所定の閾値以上でない場合、前記表層表現前語部分又は前記表層表現後語部分が前記第2データベースに存在しない場合、又は、前記表層表現一方評価値が所定の閾値以上でない場合、前記N−gramの前記第2語句と、前記第4語句を前記第4語句の品詞に置き換えた前品詞部分とからなる品詞表現前語部分、又は、前記第2語句と、前記第5語句を前記第5語句の品詞に置き換えた後品詞部分とからなる品詞表現後語部分が前記第2データベースに存在するか否かを判定し、前記品詞表現前語部分又は前記品詞表現後語部分が前記第2データベースに存在し、且つ、前記置き換え部分を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される品詞表現一方評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、前品詞部分と置き換え部分(第2語句)とからなる品詞表現前語部分又は置き換え部分(第2語句)と後品詞部分とからなる品詞表現後語部分が第2データベースに存在し、且つ、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される品詞表現一方評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、第2データベースのデータ量や精度が十分でない場合でも、前品詞部分と置き換え部分とからなる品詞表現前語部分又は置き換え部分と後品詞部分とからなる品詞表現後語部分に基づいて、換言文の良否を効率よく且つ高精度に判断することができる。
前記表層表現前後評価値は、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から求めた前記第1評価値に所定の第1の重み量を乗算した値であり、前記表層表現一方評価値は、前記第1評価値に前記第1の重み量より小さい第2の重み量を乗算した値であり、前記品詞表現前後評価値は、前記第1評価値に前記第2の重み量より小さい第3の重み量を乗算した値であり、前記品詞表現一方評価値は、前記第1評価値に前記第3の重み量より小さい第4の重み量を乗算した値であってもよい。
このような構成により、置き換え部分(第2語句)と前後の語とからなる表層表現前後部分、前の語と置き換え部分(第2語句)とからなる表層表現前語部分又は置き換え部分(第2語句)と後の語とからなる表層表現後語部分、前品詞部分と置き換え部分(第2語句)と後品詞部分とからなる品詞表現前後部分、及び、前品詞部分と置き換え部分(第2語句)とからなる品詞表現前語部分又は置き換え部分(第2語句)と後品詞部分とからなる品詞表現後語部分に基づいて、換言文の良否をより高精度に判断することができる。
前記品詞表現前後部分が前記第2データベースに存在しない場合、前記品詞表現前後評価値が所定の閾値以上でない場合、前記品詞表現前語部分又は前記品詞表現後語部分が前記第2データベースに存在しない場合、又は、前記品詞表現一方評価値が所定の閾値以上でない場合、前記第2語句が前記第2データベースに存在するか否かを判定し、前記第2語句が前記第2データベースに存在し、且つ、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から算出される置き換え部分評価値が所定の閾値以上の場合、前記第3文と前記第2文との対を前記対訳コーパスに追加するようにしてもよい。
このような構成により、置き換え部分(第2語句)が第2データベースに存在し、且つ、置き換え部分(第2語句)を判定対象外とするN−gramの出現確率又は出現頻度から算出される置き換え部分評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加しているので、第2データベースのデータ量や精度が十分でない場合でも、置き換え部分に基づいて、換言文の良否を効率よく且つ高精度に判断することができる。
前記表層表現前後評価値は、前記第2語句を判定対象外とする前記N−gramの出現確率又は出現頻度から求めた前記第1評価値に所定の第1の重み量を乗算した値であり、前記表層表現一方評価値は、前記第1評価値に前記第1の重み量より小さい第2の重み量を乗算した値であり、前記品詞表現前後評価値は、前記第1評価値に前記第2の重み量より小さい第3の重み量を乗算した値であり、前記品詞表現一方評価値は、前記第1評価値に前記第3の重み量より小さい第4の重み量を乗算した値であり、前記置き換え部分評価値は、前記第1評価値に前記第4の重み量より小さい第5の重み量を乗算した値であってもよい。
このような構成により、置き換え部分(第2語句)と前後の語とからなる表層表現前後部分、前の語と置き換え部分(第2語句)とからなる表層表現前語部分又は置き換え部分(第2語句)と後の語とからなる表層表現後語部分、前品詞部分と置き換え部分(第2語句)と後品詞部分とからなる品詞表現前後部分、前品詞部分と置き換え部分(第2語句)とからなる品詞表現前語部分又は置き換え部分(第2語句)と後品詞部分とからなる品詞表現後語部分、及び、置き換え部分(第2語句)に基づいて、換言文の良否をより高精度に判断することができる。
前記第2データベースは、前記N−gram言語モデルのデータベースより口語表現を多く含むデータベースであってもよい。
このような構成により、文法的に破綻が少ない文語表現のN−gram言語モデルのデータベースと、文法的に破綻があるが、多様な表現を含む口語表現の第2データベースとを併用することにより、原文から作成された換言文の良否を効率よく且つ高精度に識別することができる。
また、本開示は、以上のような特徴的な処理を実行する換言文識別方法として実現することができるだけでなく、換言文識別方法により実行される特徴的な処理に対応する特徴的な構成を備える換言文識別装置などとして実現することもできる。また、このような換言文識別方法に含まれる特徴的な処理をコンピュータに実行させるコンピュータプログラムとして実現することもできる。したがって、以下の他の態様でも、上記の換言文識別方法と同様の効果を奏することができる。
本開示の他の態様に係る装置は、対訳コーパスをアップデートする装置であって、前記対訳コーパスは第1言語で記述された文と第2言語で記述された対訳文との対を複数含み、前記対訳コーパスは第1言語で記述された第1文と第2言語で記述された第2文との対を含み、前記第2文は前記第1文に対する対訳文であり、前記第1文を構成する複数の語句のうち第1語句が第2語句に置き換えられた第3文を入力する入力部と、第3語句が第1データベースに含まれるか判定する第1データベース判定部と、前記第3語句は少なくとも、前記第3文において前記第2語句と前記第2語句の直前の第4語句、もしくは、前記第3文において前記第2語句と前記第2語句の直後の第5語句を含み、前記第1データベースは書き言葉の文章で用いられた語句を少なくとも含み、前記第3語句が前記第1データベースに含まれていないと判定された場合は、前記第1データベースに基づいて、前記第3語句のうち前記第2語句を第6語句に置き換えた第7語句に対して、前記第1データベースにおける第1評価値を算出する算出部と、前記第6語句は前記第2語句とは異なり、前記第3語句が第2データベースに含まれるか否かを判定するとともに、前記第1評価値を基に算出した第2評価値が所定の条件を満たすか否かを判定する第2データベース判定部と、前記第2データベースは話し言葉の文章で用いられた語句を少なくとも含み、前記話し言葉の文章で用いられた語句と前記話し言葉の文章で用いられた語句の前記第2データベースにおける出現頻度とを対応付け、前記第3語句が前記第2データベースに含まれ、且つ前記第2評価値が前記所定の条件を満たすと判定された場合は、前記第3文と前記第2文との対を前記対訳コーパスに追加する出力部とを備える。
本開示の他の態様に係るプログラムは、対訳コーパスをアップデートする装置として、コンピュータを機能させるためのプログラムであって、前記対訳コーパスは第1言語で記述された文と第2言語で記述された対訳文との対を複数含み、前記対訳コーパスは第1言語で記述された文と第2言語で記述された対訳文との対を複数含み、前記対訳コーパスは第1言語で記述された第1文と第2言語で記述された第2文との対を含み、前記第2文は前記第1文に対する対訳文であり、前記コンピュータに、前記第1文を構成する複数の語句のうち第1語句が第2語句に置き換えられた第3文を入力し、第3語句が第1データベースに含まれるか否かを判定し、前記第3語句は少なくとも、前記第3文において前記第2語句と前記第2語句の直前の第4語句、もしくは、前記第3文において前記第2語句と前記第2語句の直後の第5語句を含み、前記第1データベースは書き言葉の文章で用いられた語句を少なくとも含み、前記第3語句が前記第1データベースに含まれていないと判定された場合は、前記第1データベースに基づいて、前記第3語句のうち前記第2語句を第6語句に置き換えた第7語句に対して、前記第1データベースにおける第1評価値を算出し、前記第6語句は前記第2語句とは異なり、前記第3語句が第2データベースに含まれるか否かを判定するとともに、前記第1評価値を基に算出した第2評価値が所定の条件を満たすか否かを判定し、前記第2データベースは話し言葉の文章で用いられた語句を少なくとも含み、前記話し言葉の文章で用いられた語句と前記話し言葉の文章で用いられた語句の前記第2データベースにおける出現頻度とを対応付け、前記第3語句が前記第2データベースに含まれ、且つ前記第2評価値が前記所定の条件を満たすと判定された場合は、前記第3文と前記第2文との対を前記対訳コーパスに追加する、処理を実行させる。
そして、上記のようなコンピュータプログラムを、CD−ROM等のコンピュータ読み取り可能な非一時的な記録媒体あるいはインターネット等の通信ネットワークを介して流通させることができるのは、言うまでもない。
また、本開示の一実施の形態に係る換言文識別装置の構成要素の一部とそれ以外の構成要素とを複数のコンピュータに分散させたシステムとして構成してもよい。
なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すためのものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態)
以下、本開示の一実施の形態について、図面を参照しながら説明する。図1は、本開示の一実施の形態における換言文識別装置を備える換言文識別システムの構成の一例を示すブロック図である。図1に示す換言文識別システムは、換言文作成装置1及び換言文識別装置2を備える。
換言文作成装置1は、入力部11、換言部12、及び換言DB(データベース)13を備える。換言文作成装置1は、1個の原文から、その一部又は全部を予め設定された所定の規則に従って換言することによって、原文に類似する(同義の)1又は複数の換言文を作成し、作成した換言文を換言文識別装置2に出力する。
入力部11は、ユーザによる所定の操作入力を受け付け、ユーザが入力した原文を換言部12に出力する。換言DB13は、種々の規則に従って、第1素片(第1語句)と、第1素片を他の表現で表した第2素片(第2語句)とを互いに対応付け、これらのデータを複数記憶するデータベースである。例えば、換言DB13として、インターネット上の所定のウェブから収集した同義語又は類似語や、データの質はそれほど良くないが、データの量は多いデータベースを用いることができる。
図2は、図1に示す換言DB13のデータ構成の一例を示す図である。図2に示すように、換言DB13には、換言前の語句と、換言後の語句とが保持されている。例えば、「良い」という換言前の語句に対して、「いい」という換言後の語句が対応付けて記憶されている。このように、換言DB13は、第3データベースの一例であり、語句と、当該語句と同じ意味で表現が異なる語句とを対応付ける。
換言部12は、換言DB13を参照して、予め設定された所定の規則に従って原文を分割することによって形成される複数の素片のうちの1又は複数の素片を他の表現に換言する(置き換える)こと、すなわち、原文の置き換え部分を類似する意味の単語やフレーズに置き換えることにより、1又は複数の換言文を作成し、作成した換言文を換言文識別装置2に出力する。このように、換言文(第3文)は、原文の置き換え部分(第1語句)を、換言DB13(第3データベース)に含まれる置き換え部分(第2語句)に置き換えることにより生成される。
なお、上記の換言文の作成方法として、従来の種々の換言文の作成方法を用いることができ、本実施の形態では、例えば、原文を品詞ごとに区切って分割して、品詞単位の複数の語を作成し、原文内の一つの品詞の語を他の表現の語に書き換えることにより、換言文を作成する。
換言文識別装置2は、汎用N−gram判定部21、汎用N−gramDB(データベース)22、口語表現N−gram判定部23、口語表現N−gramDB(データベース)24、及び出力部25を備える。換言文識別装置2は、換言文作成装置1が作成した換言文の良否を識別し、識別結果を出力する。また、換言文識別装置2は、対訳コーパス(図示省略)をアップデートする装置である。対訳コーパスは、第1言語(例えば、日本語)で記述された文と第2言語(例えば、英語)で記述された対訳文との対を複数含む。すなわち、対訳コーパスは、第1言語で記述された原文(第1文)と第2言語で記述された対訳文(第2文)との対を含み、第2文は、第1文に対する対訳文である。
汎用N−gramDB22は、大規模且つ質の良いN−gram言語モデルの汎用データベースである。ここで、N−gram言語モデルは、人間が用いるであろう「言葉らしさ」を確率としてモデル化した確率的言語モデルである。例えば「今日の夕食はカレーです」という文章S1と、「今日の夕食は野球です」という文章S2とがある場合、文章S1は文章S2より日本語文として尤もらしいと言うことができ、N−gram言語モデルの汎用データベースから取得される文章S1の出現確率は、文章S2の出現確率より大きくなる。
図3は、図1に示す汎用N−gramDB22のデータ構成の一例を示す図である。図3に示すように、汎用N−gramDB22には、表現として、分かち書きされた語と、その語の出現頻度が保持されている。例えば、「その 服 とても」という表現に対して、本データベース内には、1,000回出現しているという意味であり、この出現頻度を基にして、例えば、出現確率を求めることができる。
このように、汎用N−gramDB22は、第1データベースの一例であり、書き言葉の文章で用いられた語句を少なくとも含み、書き言葉の文章で用いられた語句と、書き言葉の文章で用いられた語句の汎用N−gramDB22における出現頻度とを対応付ける。
汎用N−gram判定部21は、換言文作成装置1が作成した換言文を入力され、換言文のうち置き換え部分を含むフレーズの出現確率又は出現頻度を汎用N−gramDB22から取得して換言文の良否を判定し、判定結果等を口語表現N−gram判定部23及び出力部25に出力する。汎用N−gram判定部21は、第1判定部26、及び第2判定部27を備える。
第1判定部26は、換言文のうち、原文から置き換えられた置き換え部分と、置き換え部分の前の部分及び後の部分の少なくとも一方とを含む判定対象部分が、汎用N−gramDB22に存在するか否かを判定し、判定結果を基に換言文の良否を判定し、判定結果を第2判定部27及び出力部25に出力する。
具体的には、第1判定部26は、判定対象部分として、置き換え部分を含むN語のN−gramを用いるとともに、汎用N−gramDB22を用い、N−gramが汎用N−gramDB22に存在するか否かを判定し、N−gramが汎用N−gramDB22に存在する場合、換言文を良と判定し、判定結果を出力部25に出力し、N−gramが汎用N−gramDB22に存在しない場合、判定結果を第2判定部27に出力する。
なお、第1判定部26の判定基準は、上記の例に特に限定されず、汎用N−gramDB22から上記のN−gramの出現確率又は出現頻度を求め、N−gramの出現確率又は出現頻度から算出される評価値が所定の閾値以上の場合、換言文を良と判定するようにしてもよい。
第2判定部27は、第1判定部26が換言文を良と判定できない場合(N−gramが汎用N−gramDB22に存在しない場合)、置き換え部分を判定対象外とするN−gramが汎用N−gramDB22に存在するか否かを判定し、置き換え部分を判定対象外とするN−gramが汎用N−gramDB22に存在しない場合、換言文を否と判定し、判定結果を出力部25に出力する。また、第2判定部27は、置き換え部分を判定対象外にした判定対象部分が汎用N−gramDB22に存在する場合、置き換え部分を判定対象外にしたN−gramの出現確率又は出現頻度を汎用N−gramDB22から取得し、置き換え部分を判定対象外にしたN−gramの出現確率又は出現頻度から求めた判定対象外評価値を口語表現N−gram判定部23に出力する。
なお、第2判定部27の判定基準は、上記の例に特に限定されず、第1判定部26が換言文を良と判定できない場合、汎用N−gramDB22から置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度を求め、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される評価値が所定の閾値より低い場合、換言文を否と判定したり、評価値が所定の閾値以上の場合、換言文を良と判定するようにしてもよい。
口語表現N−gramDB24は、「Twitter」(登録商標)や「Facebook」(登録商標)などの情報を基に作成され、口語表現や方言等を多く含み、必ずしも質が良いとは言えないN−gram言語モデルの口語表現データベースである。
図4は、図1に示す口語表現N−gramDB24のデータ構成の一例を示す図である。図4に示すように、口語表現N−gramDB24には、表現として、分かち書きされた語と、その語の出現頻度が保持されている。例えば、「その 服 めっちゃ」という表現に対して、本データベース内には、200回出現しているという意味であり、この出現頻度を基にして、例えば、出現確率を求めることができる。
このように、口語表現N−gramDB24は、第2データベースの一例であり、SNS(ソーシャル・ネットワーキング・サービス)で用いられた語句に基づき生成され、話し言葉の文章で用いられた語句を少なくとも含み、話し言葉の文章で用いられた語句と話し言葉の文章で用いられた語句の口語表現N−gramDB24における出現頻度とを対応付ける。
口語表現N−gram判定部23は、置き換え部分を含むフレーズに対し、口語表現N−gramDB24から情報を取得し、汎用N−gram判定部21からの情報と合わせて換言文の良否を判定し、判定結果を出力部25に出力する。口語表現N−gram判定部23は、表層表現判定部28、品詞表現判定部29、及び置き換え部分判定部30を備える。
表層表現判定部28は、第2判定部27が換言文を否と判定できない場合、置き換え部分と、N−gramの置き換え部分の前後の語とからなる表層表現前後部分が口語表現N−gramDB24に存在するか否かを判定し、表層表現前後部分が口語表現N−gramDB24に存在し、且つ、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される表層表現前後評価値が所定の閾値以上の場合、換言文を良と判定し、判定結果を出力部25に出力する。
また、表層表現判定部28は、第2判定部27が換言文を否と判定できない場合、置き換え部分と、N−gramの置き換え部分の前の語とからなる表層表現前語部分、又は、置き換え部分と、N−gramの置き換え部分の後の語とからなる表層表現後語部分が、口語表現N−gramDB24に存在するか否かを判定し、表層表現前語部分又は表層表現後語部分が口語表現N−gramDB24に存在し、且つ、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される表層表現一方評価値が所定の閾値以上の場合、換言文を良と判定し、判定結果を出力部25に出力する。
品詞表現判定部29は、表層表現判定部28が換言文を良と判定できない場合、置き換え部分と、N−gramの置き換え部分の前の語を当該前の語の品詞に置き換えた前品詞部分と、N−gramの置き換え部分の後の語を当該後の語の品詞に置き換えた後品詞部分とからなる品詞表現前後部分が口語表現N−gramDB24に存在するか否かを判定し、品詞表現前後部分が口語表現N−gramDB24に存在し、且つ、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される品詞表現前後評価値が所定の閾値以上の場合、換言文を良と判定し、判定結果を出力部25に出力する。
ここで、本実施の形態では、品詞として、例えば、動詞、形容詞、形容動詞、名詞、代名詞、副詞、連体詞、接続詞、感動詞、助動詞、助詞の11種類を用いており、置き換え部分の前の語及び後の語を、上記の11種類のうちの一つに置き換えて判定している。なお、品詞の分類は、上記の例に特に限定されず、代名詞を省略したり、さらに固有名詞を分類したりするようにしてもよい。
また、品詞表現判定部29は、表層表現判定部28が換言文を良と判定できない場合、置き換え部分と、N−gramの置き換え部分の前の語を当該前の語の品詞に置き換えた前品詞部分とからなる品詞表現前語部分、又は、置き換え部分と、N−gramの置き換え部分の後の語を当該後の語の品詞に置き換えた後品詞部分とからなる品詞表現後語部分が口語表現N−gramDB24に存在するか否かを判定し、品詞表現前語部分又は品詞表現後語部分が口語表現N−gramDB24に存在し、且つ、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される品詞表現一方評価値が所定の閾値以上の場合、換言文を良と判定し、判定結果を出力部25に出力する。
置き換え部分判定部30は、品詞表現判定部29が換言文を良と判定できない場合、置き換え部分が口語表現N−gramDB24に存在するか否かを判定し、置き換え部分が口語表現N−gramDB24に存在し、且つ、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度から算出される置き換え部分評価値が所定の閾値以上の場合、換言文を良と判定し、置き換え部分評価値が前記閾値より小さい場合、換言文を否と判定し、判定結果を出力部25に出力する。
出力部25は、換言文の良否すなわち換言文として採用又は不採用の判定結果を外部の機器等に出力する。例えば、出力部25は、良と判定された換言文を類似対訳コーパスに出力し、類似対訳コーパスは、換言文を新たな元の文(原文)として採用してもよい。
なお、換言文識別装置2の構成は、上記のように、機能ごとに専用のハードウエアで構成する例に特に限定されず、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)及び補助記憶装置等を備える1台又は複数台のコンピュータ又はサーバ(情報処理装置)が、上記の処理を実行するための換言文識別プログラムをインストールし、換言文識別装置として機能するように構成してもよい。また、汎用N−gramDB22及び口語表現N−gramDB24は、換言文識別装置2の内部に設ける例に特に限定されず、外部のサーバ等に汎用N−gramDB22及び口語表現N−gramDB24を設け、所定のネットワークを介して換言文識別装置2が必要な情報を取得するようにしてもよい。
次に、上記のように構成された換言文識別装置2による換言文識別処理について、詳細に説明する。換言文識別装置2による換言文識別処理は、汎用N−gram判定部21による汎用N−gram判定処理と、口語表現N−gram判定部23による口語表現N−gram判定処理とから構成される。
図5は、図1に示す汎用N−gram判定部21による汎用N−gram判定処理の一例を示すフローチャートであり、図6は、図1に示す口語表現N−gram判定部23による口語表現N−gram判定処理の一例を示すフローチャートである。なお、以下の処理では、出現確率を用いて種々の評価値を算出しているが、この例に特に限定されず、例えば、出現頻度を用いてもよい。
まず、ステップS101において、汎用N−gram判定部21の第1判定部26は、換言部12から換言文を取得し、置き換え部分を含む汎用N−gramを汎用N−gramDB22から取得する。このように、換言文識別装置2には、原文(第1文)を構成する複数の語句のうち第1語句が置き換え部分(第2語句)に置き換えられた換言文(第3文)が入力される。
例えば、原文が「その服とても良いね」であり、原文の「とても」が「めっちゃ」に換言され、換言文として、「その服めっちゃ良いね」が入力され、N−gramのN(正の整数)を3とした3−gramの場合、第1判定部26は、「その服めっちゃ良いね」を「その」、「服」、「めっちゃ」、「良い」、「ね」に分割し、「めっちゃ」を置き換え部分として、3−gramの出現確率を汎用N−gramDB22から取得する。
ここで、「その」を「W1」、「服」を「W2」、「めっちゃ」を「W3」、「良い」を「W4」、「ね」を「W5」で表すと、第1判定部26は、置き換え部分W3を含む3−gramの出現確率として、「W1 W2 W3」の出現確率R1、「W2 W3 W4」の出現確率R2、「W3 W4 W5」の出現確率R3を汎用N−gramDB22から取得する。
次に、ステップS102において、第1判定部26は、置き換え部分を含むN−gramの出現確率から、置き換え部分を含むN−gramが汎用N−gramDB22に有るか否かを判定する。例えば、第1判定部26は、R1=0、R2=0、R3=0の場合、置き換え部分W3を含む3−gramが汎用N−gramDB22に無いと判定して、ステップS103に処理を移行し、R1、R2及びR3の少なくとも一つが0以外の数値を持つ場合、置き換え部分W3を含む3−gramが汎用N−gramDB22に有ると判定して、ステップS107に処理を移行する。
このように、ステップS102において、判定対象部分となる置き換え部分を含むN−gram(第3語句)が汎用N−gramDB22(第1データベース)に含まれるか判定する。置き換え部分を含むN−gram(第3語句)は少なくとも、換言文(第3文)において置き換え部分(第2語句)と置き換え部分(第2語句)の直前の第4語句、もしくは、換言文(第3文)において置き換え部分(第2語句)と置き換え部分(第2語句)の直後の第5語句を含む。
なお、置き換え部分を含むN−gramが汎用N−gramDB22に有るか否かの判定基準は、上記の例に特に限定されず、例えば、出現確率の平均値又は最大値を所定の閾値と比較し、平均値又は最大値が所定の閾値以上の場合に、置き換え部分を含むN−gramが汎用N−gramDB22に有ると判定してもよい。このように、判定対象部分となる置き換え部分を含むN−gram(第3語句)として、置き換え部分(第2語句)を含むN語のN−gramを用いるとともに、第1データベースとして、汎用N−gramDB22を用い、汎用N−gramDB22からN−gramの出現確率又は出現頻度を求め、N−gramの出現確率又は出現頻度から算出される評価値が所定の閾値以上の場合、換言文(第3文)と対訳文(第2文)との対を前記対訳コーパスに追加するようにしてもよい。
置き換え部分を含むN−gramが汎用N−gramDB22に有る場合(ステップS102でYES)、ステップS107において、第1判定部26は、汎用N−gramDB22での出現確率又は出現頻度が所定の閾値以上であるか否かを判定する。
汎用N−gramDB22での出現確率又は出現頻度が所定の閾値以上でない場合(ステップS107でNO)、ステップS108において、第1判定部26は、汎用N−gramDB22のみの判定結果として、換言文を否(良くない文)と判定して出力部25に出力する。次に、ステップS109において、出力部25は、否(良くない文)と判定された換言文を棄却し、処理を終了する。
このように、置き換え部分を含むN−gram(第3語句)が汎用N−gramDB22(第1データベース)に含まれていないと判定された場合、置き換え部分を判定対象外にした判定対象部分(第7語句)のうちワイルドカード(第6語句)を判定対象外にして、置き換え部分を判定対象外にした判定対象部分(第7語句)が汎用N−gramDB22(第1データベース)に存在するか否かを判定し、置き換え部分を判定対象外にした判定対象部分(第7語句)が汎用N−gramDB22(第1データベース)に存在しない場合、換言文(第3文)を対訳コーパスに追加しない。
具体的に例を挙げて説明する。対訳コーパスが、日本語:「その服とても良いね」と、英語:“That clothes are very good”とであるとする。原文の「とても」が「非常に」に換言され、換言文として「その服非常に良いね」という文が生成されるとする。この良否判定の際、否(良くない文)と判定された場合は、日本語:「その服非常に良いね」と英語:“That clothes are very good”という対訳コーパスが追加されることはなく、棄却される。
一方、汎用N−gramDB22での出現確率又は出現頻度が所定の閾値以上である場合(ステップS107でYES)、ステップS110において、第1判定部26は、汎用N−gramDB22のみの判定結果として、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS111において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
具体的に例を挙げて説明する。対訳コーパスが、日本語:「その服とても良いね」と、英語:“That clothes are very good”とであるとする。原文の「とても」が「非常に」に換言され、換言文として「その服非常に良いね」という文が生成されるとする。この良否判定の際、良(良い文)と判定された場合は、日本語:「その服非常に良いね」と、英語:“That clothes are very good”とが新たな対訳コーパスとして追加される。
なお、上記の例では、第1判定部26は、汎用N−gramDB22での出現確率等の閾値判定により、換言文の良否を判定したが、この例に特に限定されず、第1判定部26は、汎用N−gramDB22のみの判定結果として、換言文を良と判定し、対訳コーパスに追加してもよい。また、本実施の形態は、判定結果として、良の判定結果又は否の判定結果を出力しているが、この例に特に限定されず、判定結果を数値で出力することにより換言文の良否を判定してもよい。
一方、置き換え部分を含むN−gramが汎用N−gramDB22に無い場合(ステップS102でNO)、ステップS103において、第2判定部27は、置き換え部分をワイルドカード(任意の文字)としたN−gramの出現確率を汎用N−gramDB22から取得する。例えば、ワイルドカードを「*」で表すと、「W1 W2 *」の出現確率Q1、「W2 * W4」の出現確率Q2、「* W4 W5」の出現確率Q3を汎用N−gramDB22から取得する。
次に、ステップS104において、第2判定部27は、置き換え部分をワイルドカードとしたN−gramの出現確率から、置き換え部分をワイルドカードとしたN−gramが汎用N−gramDB22に有るか否かを判定する。例えば、第2判定部27は、Q1=0、Q2=0、Q3=0の場合、置き換え部分W3をワイルドカードとした3−gramが汎用N−gramDB22に無いと判定して、ステップS106に処理を移行し、Q1、Q2及びQ3の少なくとも一つが0以外の数値を持つ場合、置き換え部分W3をワイルドカードとした3−gramが汎用N−gramDB22に有ると判定して、ステップS105に処理を移行する。
なお、置き換え部分をワイルドカードとしたN−gramが汎用N−gramDB22に有るか否かの判定基準は、上記の例に特に限定されず、例えば、出現確率の平均値又は最大値を所定の閾値と比較し、平均値又は最大値が所定の閾値以上の場合に、置き換え部分をワイルドカードとしたN−gramが汎用N−gramDB22に有ると判定してもよい。
置き換え部分をワイルドカードとしたN−gramが汎用N−gramDB22に無い場合(ステップS104でNO)、ステップS106において、第2判定部27は、汎用N−gramDB22のみの判定結果として、換言文を否(良くない文)と判定して出力部25に出力する。次に、ステップS109において、出力部25は、否(良くない文)と判定された換言文を棄却し、処理を終了する。
一方、置き換え部分をワイルドカードとしたN−gramが汎用N−gramDB22に有る場合(ステップS104でYES)、ステップS105において、第2判定部27は、置き換え部分をワイルドカードとしたN−gramの出現確率を汎用N−gramDB22から取得し、汎用N−gramの値(判定対象外評価値)として、置き換え部分を判定対象外とするN−gramの出現確率又は出現頻度からワイルドカード出現確率Qを算出する。第2判定部27は、ワイルドカード出現確率Qを口語表現N−gram判定部23に出力し、処理を図6に示すステップS201に移行する。
例えば、第2判定部27は、置き換え部分をワイルドカードとしたN−gramの出現確率の平均値又は最大値(例えば、出現確率Q1〜Q3の平均値又は最大値)を求め、求めた平均値又は最大値をワイルドカード出現確率Qとする。上記の3−gramの例では、「その 服 *」の出現確率が0.05、「服 * 良い」の出現確率が0.12、「
* 良い ね」の出現確率が0.45であった場合、第2判定部27は、これらの出現確率の平均値をワイルドカード出現確率Qとして算出する。なお、ワイルドカード出現確率Qは、上記の平均値又は最大値に特に限定されず、中央値等の他の値であってもよい。
このように、置き換え部分を含むN−gram(第3語句)のうち置き換え部分(第2語句)をワイルドカード(第6語句)に置き換えた、置き換え部分を判定対象外にした判定対象部分(第7語句)に対して、汎用N−gramDB22(第1データベース)におけるワイルドカード出現確率Q(第1評価値)を算出し、ワイルドカード(第6語句)は置き換え部分(第2語句)とは異なる。
次に、図6を参照して、ステップS201において、口語表現N−gram判定部23の表層表現判定部28は、第2判定部27からワイルドカード出現確率Qを取得し、置き換え部分の両側の表層表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した表層表現前後評価値が所定の閾値以上であるか否かを判定する。
具体的には、表層表現判定部28は、置き換え部分付近の両側の表層表現での口語表現N−gramとして、置き換え部分と置き換え部分の前後の語とからなる表層表現前後部分が口語表現N−gramDB24に存在するか否かを確認し、表層表現前後部分が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Qに重み量v1を乗算した表層表現前後評価値を求め、表層表現前後評価値が閾値t1以上であるか否かを判定する。
例えば、置き換え部分が「W3」の場合、表層表現判定部28は、「W2 W3 W4」(置き換え部分の両側)のフレーズが口語表現N−gramDB24に存在するかを確認し、「W2 W3 W4」が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Q(例えば、0.26)に重み量v1(例えば、0.9)を乗算した表層表現前後評価値が閾値t1(例えば、0.15)以上であるかを確認する。この場合、表層表現判定部28は、表層表現前後評価値が0.234となるため、閾値t1以上であると判定する。
置き換え部分付近の両側の表層表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した表層表現前後評価値が所定の閾値以上である場合(ステップS201でYES)、ステップS208において、表層表現判定部28は、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS209において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
具体的に例を挙げて説明する。対訳コーパスが、日本語:「その服とても良いね」と、英語:“That clothes are very good”とであるとする。原文の「とても」が「非常に」に換言され、換言文として「その服非常に良いね」という文が生成されるとする。この良否判定の際、良(良い文)と判定された場合は、日本語:「その服非常に良いね」と、英語:“That clothes are very good”とが新たな対訳コーパスとして追加される。
一方、置き換え部分付近の両側の表層表現での口語表現N−gramが口語表現N−gramDB24に無い場合、又は、ワイルドカード出現確率Qに所定の重みを付与した表層表現前後評価値が所定の閾値以上でない場合(ステップS201でNO)、表層表現判定部28は、処理をステップ202に移行する。
次に、ステップS202において、表層表現判定部28は、置き換え部分付近の片側の表層表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した表層表現一方評価値が所定の閾値以上であるか否かを判定する。
具体的には、表層表現判定部28は、置き換え部分付近の片側の表層表現での口語表現N−gramとして、置き換え部分と置き換え部分の前の語とからなる表層表現前部分、又は、置き換え部分と置き換え部分の後の語とからなる表層表現後部分が口語表現N−gramDB24に存在するか否かを確認し、表層表現前部分又は表層表現後部分が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Qに重み量v2を乗算した表層表現一方評価値を求め、表層表現一方評価値が閾値t1以上であるか否かを判定する。ここで、重み量v2は、重み量v1より小さいことが好ましい。
例えば、置き換え部分が「W3」の場合、表層表現判定部28は、「W2 W3」又は「W3 W4」(置き換え部分の片側)のフレーズが口語表現N−gramDB24に存在するかを確認し、「W2 W3」又は「W3 W4」が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Q(例えば、0.26)に重み量v2(例えば、0.8)を乗算した表層表現一方評価値が閾値t1(例えば、0.15)以上であるかを確認する。この場合、表層表現判定部28は、表層表現一方評価値が0.208となるため、閾値t1以上であると判定する。
置き換え部分付近の片側の表層表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した表層表現一方評価値が所定の閾値以上である場合(ステップS202でYES)、ステップS208において、表層表現判定部28は、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS209において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
上記のように、判定対象部分(第3語句)が口語表現N−gramDB24(第2データベース)に含まれるか否かを判定するとともに、ワイルドカード出現確率Q(第1評価値)を基に算出した表層表現前後評価値及び表層表現一方評価値(第2評価値)が所定の条件を満たすか否かを判定する。判定対象部分(第3語句)が口語表現N−gramDB24(第2データベース)に含まれ、且つ表層表現前後評価値及び表層表現一方評価値(第2評価値)が所定の条件を満たすと判定された場合は、換言文(第3文)と対訳文(第2文)との対を対訳コーパスに追加する。
一方、置き換え部分付近の片側の表層表現での口語表現N−gramが口語表現N−gramDB24に無い場合、又は、ワイルドカード出現確率Qに所定の重みを付与した表層表現一方評価値が所定の閾値以上でない場合(ステップS202でNO)、表層表現判定部28は、処理をステップ203に移行する。
次に、ステップS203において、口語表現N−gram判定部23の品詞表現判定部29は、第2判定部27からワイルドカード出現確率Qを取得し、置き換え部分の両側の品詞表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した品詞表現前後評価値が所定の閾値以上であるか否かを判定する。
具体的には、品詞表現判定部29は、置き換え部分付近の両側の品詞表現での口語表現N−gramとして、置き換え部分と置き換え部分の前の語を品詞に置き換えた前品詞部分と置き換え部分の後の語を品詞に置き換えた後品詞部分とからなる品詞表現前後部分が口語表現N−gramDB24に存在するか否かを確認し、品詞表現前後部分が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Qに重み量v3を乗算した品詞表現前後評価値を求め、品詞表現前後評価値が閾値t1以上であるか否かを判定する。ここで、重み量v3は、重み量v2より小さいことが好ましい。
例えば、「W1」の品詞を「P1」、「W2」の品詞を「P2」、「W3」の品詞を「P3」、「W4」の品詞を「P4」、「W5」の品詞を「P5」で表し、置き換え部分が「W3」の場合、品詞表現判定部29は、「P2 W3 P4」(置き換え部分の両側)のフレーズが口語表現N−gramDB24に存在するかを確認し、「P2 W3 P4」が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Q(例えば、0.26)に重み量v3(例えば、0.7)を乗算した品詞表現前後評価値が閾値t1(例えば、0.15)以上であるかを確認する。この場合、品詞表現判定部29は、品詞表現前後評価値が0.182となるため、閾値t1以上であると判定する。
置き換え部分付近の両側の品詞表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した品詞表現前後評価値が所定の閾値以上である場合(ステップS203でYES)、ステップS208において、品詞表現判定部29は、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS209において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
一方、置き換え部分付近の両側の品詞表現での口語表現N−gramが口語表現N−gramDB24に無い場合、又は、ワイルドカード出現確率Qに所定の重みを付与した品詞表現前後評価値が所定の閾値以上でない場合(ステップS203でNO)、品詞表現判定部29は、処理をステップ204に移行する。
次に、ステップS204において、品詞表現判定部29は、置き換え部分付近の片側の品詞表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した品詞表現一方評価値が所定の閾値以上であるか否かを判定する。
具体的には、品詞表現判定部29は、置き換え部分付近の片側の品詞表現での口語表現N−gramとして、置き換え部分と置き換え部分の前の語を品詞に置き換えた前品詞部分とからなる品詞表現前部分、又は、置き換え部分と置き換え部分の後の語を品詞に置き換えた後品詞部分とからなる品詞表現後部分が口語表現N−gramDB24に存在するか否かを確認し、品詞表現前部分又は品詞表現後部分が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Qに重み量v4を乗算した品詞表現一方評価値を求め、品詞表現一方評価値が閾値t1以上であるか否かを判定する。ここで、重み量v4は、重み量v3より小さいことが好ましい。
例えば、置き換え部分が「W3」、置き換え部分の前の品詞が「P2」、置き換え部分の後の品詞が「P4」の場合、品詞表現判定部29は、「P2 W3」又は「W3 P4」(置き換え部分の片側)のフレーズが口語表現N−gramDB24に存在するかを確認し、「P2 W3」又は「W3 P4」が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Q(例えば、0.26)に重み量v4(例えば、0.6)を乗算した品詞表現一方評価値が閾値t1(例えば、0.15)以上であるかを確認し、この場合、品詞表現判定部29は、品詞表現一方評価値が0.156となるため、閾値t1以上であると判定する。
置き換え部分付近の片側の品詞表現での口語表現N−gramが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した品詞表現一方評価値が所定の閾値以上である場合(ステップS204でYES)、ステップS208において、品詞表現判定部29は、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS209において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
一方、置き換え部分付近の片側の品詞表現での口語表現N−gramが口語表現N−gramDB24に無い場合、又は、ワイルドカード出現確率Qに所定の重みを付与した品詞表現一方評価値が所定の閾値以上でない場合(ステップS204でNO)、品詞表現判定部29は、処理をステップ205に移行する。
次に、ステップS205において、口語表現N−gram判定部23の置き換え部分判定部30は、第2判定部27からワイルドカード出現確率Qを取得し、置き換え部分そのものが口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した置き換え部分評価値が所定の閾値以上であるか否かを判定する。
具体的には、置き換え部分判定部30は、置き換え部分が口語表現N−gramDB24に存在するか否かを確認し、置き換え部分が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Qに重み量v5を乗算した置き換え部分評価値を求め、置き換え部分評価値が閾値t1以上であるか否かを判定する。
例えば、置き換え部分が「W3」の場合、置き換え部分判定部30は、「W3」が口語表現N−gramDB24に存在するかを確認し、「W3」が口語表現N−gramDB24に存在する場合、ワイルドカード出現確率Q(例えば、0.26)に重み量v5(例えば、0.5)を乗算した置き換え部分評価値が閾値t1(例えば、0.15)以上であるかを確認し、この場合、置き換え部分判定部30は、置き換え部分評価値が0.13となるため、閾値t1以上でないと判定する。
ここで、重み量v5は、重み量v4より小さいことが好ましい。したがって、重み量v1>重み量v2>重み量v3>重み量v4>重み量v5であることが好ましい。なお、重み量の大小関係は、上記の例に特に限定されず、他の大小関係を用いてもよい。また、各評価値は、上記の重みの付与に特に限定されず、種々の変更が可能であり、例えば、出現頻度や出現確率などとして求めてもよく、また、それらを汎用N−gramの値(例えば、ワイルドカード出現確率Q)と合わせて判断してもよい。また、各評価値を閾値t1と比較して判定したが、各評価値の判定基準は、この例に特に限定されず、種々の変更が可能であり、例えば、評価値毎に異なる閾値を用いてもよい。
置き換え部分が口語表現N−gramDB24に有り、且つ、ワイルドカード出現確率Qに所定の重みを付与した置き換え部分評価値が所定の閾値以上である場合(ステップS205でYES)、ステップS208において、置き換え部分判定部30は、換言文を良(良い文)と判定して出力部25に出力する。次に、ステップS209において、出力部25は、良(良い文)と判定された換言文と、対となる対訳文(日本語の換言文が生成されている場合は、英語の対訳文)とをセットとして、新たな対訳コーパスとして追加し、処理を終了する。
一方、置き換え部分が口語表現N−gramDB24に無い場合、又は、ワイルドカード出現確率Qに所定の重みを付与した置き換え部分評価値が所定の閾値以上でない場合(ステップS205でNO)、ステップS206において、置き換え部分判定部30は、換言文を否(良くない文)と判定して出力部25に出力する。次に、ステップS207において、出力部25は、否(良くない文)と判定された換言文を棄却し、処理を終了する。
具体的に例を挙げて説明する。対訳コーパスが、日本語:「その服とても良いね」と、英語:“That clothes are very good”とであるとする。原文の「とても」が「非常に」に換言され、換言文として「その服非常に良いね」という文が生成されるとする。この良否判定の際、否(良くない文)と判定された場合は、日本語:「その服非常に良いね」と英語:“That clothes are very good”という対訳コーパスが追加されることはなく、棄却される。
上記の処理により、本実施の形態では、規模が大きく且つ質の良い汎用N−gramDB22と、データの質は保証されないが、口語表現や方言などを含む口語表現N−gramDB24との双方の良い部分を効率よく参照することにより、ハイブリットに換言文の良否を評価することができるので、原文から作成された換言文の良否を効率よく且つ高精度に識別することができる。
なお、本実施の形態では、データベースとして、汎用N−gramDB22と、口語表現N−gramDB24とを用いたが、データベースはこの例に特に限定されず、種々のデータベースを用いることができ、また、一つのデータベース(例えば、汎用N−gramDB22)のみを用いたり、3種類以上のデータベースを用いたりしてもよい。