IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 富士通株式会社の特許一覧

特開2024-62501言い換え文生成プログラム、言い換え文生成方法、および情報処理装置
<>
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図1
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図2
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図3
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図4
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図5
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図6
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図7
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図8
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図9
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図10
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図11
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図12
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図13
  • 特開-言い換え文生成プログラム、言い換え文生成方法、および情報処理装置 図14
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024062501
(43)【公開日】2024-05-10
(54)【発明の名称】言い換え文生成プログラム、言い換え文生成方法、および情報処理装置
(51)【国際特許分類】
   G06F 40/44 20200101AFI20240501BHJP
   G06F 40/295 20200101ALI20240501BHJP
   G06F 40/56 20200101ALI20240501BHJP
【FI】
G06F40/44
G06F40/295
G06F40/56
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2022170361
(22)【出願日】2022-10-25
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】渡邊 大貴
(72)【発明者】
【氏名】岩倉 友哉
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091AA11
5B091AB17
5B091CA21
5B091EA01
5B091EA14
(57)【要約】
【課題】固有表現抽出モデルの精度向上に寄与する言い換え文を生成する。
【解決手段】情報処理装置10は、第1の言語で記述された元文3に含まれる複数の単語それぞれの意味を示すデータを生成する。次に情報処理装置10は、生成したデータのうちの、元文3に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータ3c,3dを、第1のデータ3c,3dとは異なる意味を示す第2のデータ3g,3hに変更する。さらに情報処理装置10は、生成したデータのうちの、第1のデータ3c,3d以外の第3のデータ3a,3b,3e,3fと、変更後の第2のデータ3g,3hとに基づいて、第1の翻訳モデル1を用いて、第2の言語で記述された翻訳文4を生成する。そして情報処理装置10は、翻訳文4に基づいて、第2の翻訳モデル2を用いて、第1の言語で記述された言い換え文5を生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
第1の言語で記述された元文に含まれる複数の単語それぞれの意味を示すデータを生成し、
生成した前記データのうちの、前記元文に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータを、前記第1のデータとは異なる意味を示す第2のデータに変更し、
生成した前記データのうちの、前記第1のデータ以外の第3のデータと、変更後の前記第2のデータとに基づいて、前記第1の言語から第2の言語に変換する第1の翻訳モデルを用いて、前記第2の言語で記述された翻訳文を生成し、
前記翻訳文に基づいて、前記第2の言語から前記第1の言語に変換する第2の翻訳モデルを用いて、前記第1の言語で記述された言い換え文を生成する、
処理をコンピュータに実行させる言い換え文生成プログラム。
【請求項2】
前記第1のデータを前記第2のデータに変更する処理では、前記第1の言語の文から固有表現を抽出する固有表現抽出モデルを用いて、前記元文に含まれる固有表現を特定する、
請求項1記載の言い換え文生成プログラム。
【請求項3】
前記元文と前記言い換え文とのペアを学習データとして、前記第1の言語で記述された第1の文から固有表現を抽出する固有表現抽出モデルの学習と、前記第1の言語で記述された第2の文の言い換え文を生成する言い換えモデルの学習とを連係させたマルチタスク学習を実行する、
処理をコンピュータにさらに実行させる請求項1記載の言い換え文生成プログラム。
【請求項4】
前記複数の単語それぞれの意味を示す前記データを生成する処理では、前記複数の単語それぞれの意味を数値で表した前記データを生成し、
前記第1のデータを前記第2のデータに変更する処理では、前記第1のデータを、前記第1のデータの第1の数値にノイズ値を加算または減算した第2の数値を有する前記第2のデータに変更する、
請求項1記載の言い換え文生成プログラム。
【請求項5】
前記複数の単語それぞれの意味を示す前記データは、単語の意味を示す複数の数値を成分とするベクトルであり、
前記第1のデータを前記第2のデータに変更する処理では、前記第1のデータを示す第1のベクトルと、前記第2のデータを示す第2のベクトルとの距離が第1の閾値を超えるという条件を満たす前記第2のデータを生成する、
処理をコンピュータにさらに実行させる請求項4記載の言い換え文生成プログラム。
【請求項6】
前記第2の言語の単語列に含まれる単語の出現確率を求める言語モデルを用いて、前記翻訳文に含まれる各単語の出現確率を求め、出現確率が第2の閾値以下となる単語がある場合、前記ノイズ値を小さくして、前記第1のデータを前記第2のデータに変更する処理と、前記翻訳文を生成する処理とを再実行する、
請求項4または5に記載の言い換え文生成プログラム。
【請求項7】
第1の言語で記述された元文に含まれる複数の単語それぞれの意味を示すデータを生成し、
生成した前記データのうちの、前記元文に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータを、前記第1のデータとは異なる意味を示す第2のデータに変更し、
生成した前記データのうちの、前記第1のデータ以外の第3のデータと、変更後の前記第2のデータとに基づいて、前記第1の言語から第2の言語に変換する第1の翻訳モデルを用いて、前記第2の言語で記述された翻訳文を生成し、
前記翻訳文に基づいて、前記第2の言語から前記第1の言語に変換する第2の翻訳モデルを用いて、前記第1の言語で記述された言い換え文を生成する、
処理をコンピュータが実行する言い換え文生成方法。
【請求項8】
第1の言語で記述された元文に含まれる複数の単語それぞれの意味を示すデータを生成し、生成した前記データのうちの、前記元文に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータを、前記第1のデータとは異なる意味を示す第2のデータに変更し、生成した前記データのうちの、前記第1のデータ以外の第3のデータと、変更後の前記第2のデータとに基づいて、前記第1の言語から第2の言語に変換する第1の翻訳モデルを用いて、前記第2の言語で記述された翻訳文を生成し、前記翻訳文に基づいて、前記第2の言語から前記第1の言語に変換する第2の翻訳モデルを用いて、前記第1の言語で記述された言い換え文を生成する処理部、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言い換え文生成プログラム、言い換え文生成方法、および情報処理装置に関する。
【背景技術】
【0002】
コンピュータによって、自然文から固有表現を抽出する技術(NER:Named Entity Recognition)がある。固有表現は、組織名、地名、人名などの固有名詞、日付表現、時間表現日時などの総称である。固有表現を適切に抽出することができれば、例えば、その固有表現に適切なタグ付けを行い、自然文をコンピュータで扱いやすい構造化データに変換することができる。
【0003】
固有表現抽出の精度を向上させるために、例えば機械学習におけるマルチタスク学習を利用することができる。マルチタスク学習は、異なる2つのモデルの共通点と相違点を利用して、それらのモデルの学習タスクを同時に行う手法である。
【0004】
例えば化学物質の名前付き固有表現認識と化学物質の言い換えモデルを同時に学習させることにより、化学物質の名前付き固有表現認識を向上させる手法が提案されている。この技術では、NERモデルの学習と機械翻訳モデルの学習とのマルチタスク学習が行われている。
【0005】
その他の技術としては、例えば未登録の固有名詞を効率よく登録することを可能とする翻訳装置が提案されている。また注目すべき用語の視認性を向上させることができる翻訳装置も提案されている。さらに、翻訳および逆翻訳を利用してテキストシーケンス内の文法エラーを修正するためのシステムも提案されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】国際公開第2019/123854号
【特許文献3】国際公開第2018/198806号
【特許文献4】米国特許第09342499号明細書
【非特許文献】
【0007】
【非特許文献1】Taiki Watanabe, Akihiro Tamura, Takashi Ninomiya, Takuya Makino, Tomoya Iwakura, "Multi-Task Learning for Chemical Named Entity Recognition with Chemical Compound Paraphrasing", Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing (EMNLP-IJCNLP), Association for Computational Linguistics, November 2019, pages 6244-6249
【発明の概要】
【発明が解決しようとする課題】
【0008】
マルチタスク学習による固有表現抽出の精度向上のために、例えば機械翻訳により言い換え文の自動生成が行われる。適切な言い換え文を自動生成することができれば、言い換えの元文と言い換え文を新たな入力データとして言い換えモデルの精度を向上させることで、言い換えモデルと共有部分を有する固有表現抽出モデルの精度向上も見込める。
【0009】
機械翻訳で言い換え文を自動生成する場合、元文の記述言語から他言語への翻訳と、翻訳文に対する逆翻訳が行われる。固有表現抽出の精度向上のためには、翻訳前の元文と、翻訳および逆翻訳で得られた言い換え文とで、ある程度異なる文になっていることが望まれる。しかし、機械翻訳による言い換え文のペアを生成しても、ほとんど同じ文になってしまう。元文と変わらない言い換え文を学習用の新たな入力データとしても、固有表現抽出モデルの精度向上にはあまり寄与しない。
【0010】
1つの側面では、本件は、固有表現抽出モデルの精度向上に寄与する言い換え文を生成することを目的とする。
【課題を解決するための手段】
【0011】
1つの案では、以下の処理をコンピュータに実行させる言い換え文生成プログラムが提供される。
コンピュータは、第1の言語で記述された元文に含まれる複数の単語それぞれの意味を示すデータを生成する。コンピュータは、生成したデータのうちの、元文に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータを、第1のデータとは異なる意味を示す第2のデータに変更する。コンピュータは、生成したデータのうちの、第1のデータ以外の第3のデータと、変更後の第2のデータとに基づいて、第1の言語から第2の言語に変換する第1の翻訳モデルを用いて、第2の言語で記述された翻訳文を生成する。そしてコンピュータは、翻訳文に基づいて、第2の言語から第1の言語に変換する第2の翻訳モデルを用いて、第1の言語で記述された言い換え文を生成する。
【発明の効果】
【0012】
1態様によれば、固有表現抽出モデルの精度向上に寄与する言い換え文を生成することができる。
【図面の簡単な説明】
【0013】
図1】第1の実施の形態に係る言い換え文生成方法の一例を示す図である。
図2】第2の実施の形態のシステム構成の一例を示す図である。
図3】機械学習装置のハードウェアの一例を示す図である。
図4】マルチタスク学習の一例を示す図である。
図5】言い換え候補リストの一例を示す図である。
図6】機械翻訳を用いた言い換え文ペア生成の一例を示す図である。
図7】言い換え文生成過程でのノイズ付与方法の一例を示す図である。
図8】機械学習装置の機能を示すブロック図である。
図9】固有表現データセットの一例を示す図である。
図10】マルチタスク学習の処理の手順を示すフローチャートである。
図11】ノイズ付き翻訳によるマルチタスク学習の処理手順の一例を示すフローチャートである。
図12】ノイズの付与方法の一例を示す図である。
図13】ノイズの大きさ適否判定処理の手順の一例を示すフローチャートである。
図14】ノイズ付き翻訳により生成された言い換え文ペアを利用したマルチタスク学習の一例を示す図である。
【発明を実施するための形態】
【0014】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
第1の実施の形態は、マルチタスク学習を用いた固有表現抽出モデルの精度向上に寄与する言い換え文を生成可能な言い換え文生成方法である。
【0015】
図1は、第1の実施の形態に係る言い換え文生成方法の一例を示す図である。図1には、言い換え文生成方法を実施する情報処理装置10が示されている。情報処理装置10は、例えば言い換え文生成プログラムを実行することにより、第1の実施の形態に係る言い換え文生成方法を実施することができる。
【0016】
情報処理装置10は、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリまたはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサまたは演算回路である。
【0017】
記憶部11は、例えば第1の言語から第2の言語に変換する第1の翻訳モデル1と第2の言語から第1の言語に変換する第2の翻訳モデル2とを記憶する。第1の言語は例えば日本語であり、第2の言語は例えば英語である。第1の翻訳モデル1と第2の翻訳モデル2は、例えばニューラルネットワークの学習済みモデルである。
【0018】
処理部12は、言い換え文生成プログラムに従って言い換え文生成方法を実施する。例えば処理部12は、第1の言語で記述された元文3に含まれる複数の単語それぞれの意味を示すデータを生成する。処理部12は、生成したデータのうちの元文3に含まれる固有表現に用いられている第1の単語の意味を示す第1のデータ3c,3dを、第1のデータ3c,3dとは異なる意味を示す第2のデータ3g,3hに変更する。
【0019】
図1の例では、元文3が「私は横浜パンを食べる」であり、「横浜パン」が固有名詞(固有表現の一種)である。そして「横浜」の意味を示す第1のデータ3cが「川崎」の意味を示す第2のデータ3gに変換され、「パン」の意味を示す第1のデータ3dが「ウォーター」の意味を示す第2のデータ3hに変換されている。
【0020】
次に処理部12は、生成されたデータのうちの、第1のデータ3c,3d以外の第3のデータ3a,3b,3e,3fと、変更後の第2のデータ3g,3hとに基づいて、第1の翻訳モデル1を用いて、第2の言語で記述された翻訳文4を生成する。図1の例では翻訳文4として「I drink Kawasaki water」という英文が生成されている。
【0021】
さらに処理部12は、翻訳文4に基づいて、第2の翻訳モデル2を用いて、第1の言語で記述された言い換え文5を生成する。図1の例では、言い換え文5として「私は川崎ウォーターを飲む」という和文が生成されている。
【0022】
このようにして生成された言い換え文5は、固有表現を抽出する固有表現モデルの学習に有効に利用することができ、固有表現の抽出精度の向上に寄与する。固有表現モデルは、例えばニューラルネットワークのモデルである。
【0023】
例えば処理部12は、元文3と言い換え文5とのペア(言い換え文ペア6)を、固有表現抽出モデルの学習と、第1の言語で記述された第2の文の言い換え文を生成する言い換えモデルの学習とを連係させたマルチタスク学習に利用する。言い換えモデルは、例えばニューラルネットワークのモデルである。例えば処理部12は、言い換え文ペア6を学習データとして、固有表現抽出モデルの学習と言い換えモデルの学習とを連係させたマルチタスク学習を実行する。
【0024】
固有表現抽出モデルの学習と言い換えモデルの学習とを連係させたマルチタスク学習では、例えば入力された文を単語に分割するエンコーダが共有される。処理部12は、言い換え文ペア6を用いて、言い換えモデルの学習を行う。言い換えモデルの学習では、固有名詞が異なるだけでなく、その他の単語(例えば動詞)も変更させるような言い換え文ペアを学習データとすることで、多種多様な言い換えが可能な言い換えモデルを生成することができる。それに伴い、エンコーダの精度が向上する。エンコーダの精度が向上することで、エンコーダを共有する固有表現抽出モデルの精度も向上する。
【0025】
しかも第1の翻訳モデル1を用いた翻訳と第2の翻訳モデル2を用いた逆翻訳によって言い換え文5を生成することで、意味が変更された固有表現だけではなく、その単語に関連する別の単語(例えば動詞)も変更される。これにより、多様な言い換え文5の生成が可能となっている。その結果、生成した言い換え文5を用いることで、多様な文から固有表現を正しく抽出することができる固有表現抽出モデルの生成が可能となる。すなわち、固有表現抽出の精度が向上する。
【0026】
なお、元文3に含まれる固有表現の特定には、例えば学習済みの固有表現抽出モデルを使用することができる。例えば処理部12は、第1の言語の文から固有表現を抽出する固有表現抽出モデルを用いて、元文3に含まれる固有表現を特定する。これにより、固有表現を正しく特定し、固有表現の言い換えを適切に行うことができる。
【0027】
なお、第1のデータ3c,3dの第2のデータ3g,3hへの変更は、例えばノイズ値の付与によって実現できる。例えば処理部12は、複数の単語それぞれの意味を示すデータとして、複数の単語それぞれの意味を数値で表したデータを生成する。データは、例えば複数の成分を有するベクトルである。このようなベクトルは分散表現とも呼ばれる。そして処理部12は、第1のデータ3c,3dを、第1のデータ3c,3dの第1の数値にノイズ値を加算または減算した第2の数値を有する第2のデータ3g,3hに変更する。このようにノイズ値の加算または減算によって第2のデータ3g,3hを生成することで、第1のデータ3c,3dと適度に異なる意味を示す第2のデータ3g,3hを生成することができる。
【0028】
例えば複数の単語それぞれの意味を示すデータが、単語の意味を示す複数の数値を成分とするベクトルである場合、処理部12は、変更前後のベクトルを比較することで、ノイズ値が小さすぎないようにすることができる。例えば処理部12は、第1のデータ3cを示す第1のベクトルと、第2のデータ3gを示す第2のベクトルとの距離が第1の閾値を超えるという条件を満たす第2のデータ3gを生成する。同様に、処理部12は、第1のデータ3dを示す第1のベクトルと、第2のデータ3hを示す第2のベクトルとの距離が第1の閾値を超えるという条件を満たす第2のデータ3hを生成する。ベクトル間の距離は、ノイズ値の大きさに依存する。そのため、変更前後のベクトル間の距離が閾値を超えるようにすることで、ノイズ値が小さすぎて、元文3と差異のない言い換え文5が生成されることを抑止できる。
【0029】
また処理部12は、第2の言語の単語列に含まれる単語の出現確率を求める言語モデルを用いて、ノイズ値が大きすぎないようにすることもできる。例えば言語モデルは、ニューラルネットワークのモデルである。
【0030】
例えば処理部12は、言語モデルを用いて翻訳文4に含まれる各単語の出現確率を求める。そして処理部12は、出現確率が第2の閾値以下となる単語がある場合、ノイズ値を小さくして、第1のデータ3c,3dを第2のデータ3g,3hに変更する処理と、翻訳文4を生成する処理とを再実行する。このようにして、ノイズ値が大きすぎて、言い換え文5が不自然な文になってしまうことを抑止することができる。
【0031】
〔第2の実施の形態〕
第2の実施の形態は、マルチタスク学習によって高精度の固有表現抽出モデルを生成するシステムである。
【0032】
図2は、第2の実施の形態のシステム構成の一例を示す図である。機械学習装置100には、ネットワーク20を介して端末30が接続されている。機械学習装置100は、固有表現抽出モデルと、翻訳および逆翻訳による言い換え文生成モデルとのマルチタスク学習を行うコンピュータである。端末30は、機械学習装置100に機械学習を実行させるユーザが使用するコンピュータである。なお、機械学習装置100は、第1の実施の形態に示した情報処理装置10の一例である。
【0033】
図3は、機械学習装置のハードウェアの一例を示す図である。機械学習装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0034】
メモリ102は、機械学習装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0035】
バス109に接続されている周辺機器としては、ストレージ装置103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0036】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、機械学習装置100の補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0037】
GPU104は画像処理を行う演算装置であり、グラフィックコントローラとも呼ばれる。GPU104には、モニタ21が接続されている。GPU104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0038】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0039】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取り、または光ディスク24へのデータの書き込みを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0040】
機器接続インタフェース107は、機械学習装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0041】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。ネットワークインタフェース108は、例えばスイッチやルータなどの有線通信装置にケーブルで接続される有線通信インタフェースである。またネットワークインタフェース108は、基地局やアクセスポイントなどの無線通信装置に電波によって通信接続される無線通信インタフェースであってもよい。
【0042】
機械学習装置100は、以上のようなハードウェアによって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した情報処理装置10も、図3に示した機械学習装置100と同様のハードウェアにより実現することができる。
【0043】
機械学習装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。機械学習装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、機械学習装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また機械学習装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0044】
このようなハードウェアの機械学習装置100に、例えば機械学習プログラムを実行させることで、固有表現抽出モデルを生成させることができる。機械学習装置100は、マルチタスク学習によって、精度の高い固有表現抽出モデルを作成する。なお単純にマルチタスク学習を行っても、固有表現抽出モデルの精度が向上しない場合がある。以下、図4図6を参照し、マルチタスク学習による固有表現抽出モデルの精度向上の困難性について説明する。
【0045】
図4は、マルチタスク学習の一例を示す図である。マルチタスク学習では、固有表現抽出モデル31の学習と言い換えモデル32の学習とが同時に行われる。固有表現抽出モデル31は、エンコーダ(Encoder)33とCRF(Conditional random field)レイヤ(CRF layer)34とを含む。エンコーダ33は、入力された文を解析し、複数の単語に分割する。CRFレイヤ34は、単語の品詞などを解析し、固有表現を抽出する。固有表現の単語には、その単語の属性を示すタグが付与される。
【0046】
例えば固有表現抽出モデル31に、「私はαおにぎりを食べる」という文を入力したものとする。この文のうち「αおにぎり」が固有表現であるものとする。この場合、固有表現抽出モデル31を用いて、例えば「私は、<food>αおにぎり<food>を食べる」という出力が得られる。
【0047】
言い換えモデル32は、エンコーダ33とデコーダ(Decoder)35とを含む。すなわちエンコーダ33は、固有表現抽出モデル31と共通である。デコーダ35は、単語の言い換えを行い、言い換え文を出力する。例えば言い換えモデル32に、「私は、パンを食べる」という元文と「私は、トーストを食べる」という言い換え文との言い換え文ペアを入力したものとする。言い換えモデル32の学習では、元文から言い換え文を生成できるように、言い換えモデル32のパラメータの修正が行われる。
【0048】
学習データとして用いられる言い換え文ペアは、例えば元文の単語を事前に人手で用意した単語に変換することで生成される。例えば「パン」の言い換え先として「トースト」が予め登録されていることで、元文「私は、パンを食べる」の言い換え文「私は、トーストを食べる」を自動生成が可能となる。
【0049】
なお、元の単語の言い換え先の単語としては、例えば言い換え候補リストに複数の候補を設定しておくことができる。言い換え先の単語の候補が複数ある場合、これらのうちの1つの単語への言い換えが行われる。
【0050】
図5は、言い換え候補リストの一例を示す図である。図5には、単語「パン」に対応する言い換え候補リスト36が示されている。言い換え候補リスと36には、言い換え候補の単語として「トースト」、「食パン」などの単語が登録されている。例えば「パン」を含む元文が入力されると言い換え候補リスと36から1つの単語が選択され、元文の「パン」が、選択された単語(例えば「トースト」)に変換された文が出力される。
【0051】
このような言い換え候補リスト36を用いた単語の変換によって言い換え文を自動生成する場合、入力された文中に単語に対応する言い換え候補の単語が登録されていなければ、言い換え文を生成できない。また言い換え候補リスト36を用いた言い換え文の生成では、言い換えの単語のみが変化する。固有表現抽出では、周辺の単語の情報も使用して固有名詞などの特定を行うため、変換した単語しか変化しないと、自動生成した言い換え文ペアを用いてマルチタスク学習を行っても、固有表現抽出の精度向上は見込めない。
【0052】
そこで機械翻訳により、学習用の言い換え文ペアを生成することが考えられる。
図6は、機械翻訳を用いた言い換え文ペア生成の一例を示す図である。例えば英文の元文41を日本語に翻訳後、再度英文に逆翻訳することで言い換え文42を生成することができる。この元文41と言い換え文42との言い換え文ペアを用いて、マルチタスク学習における固有表現抽出モデル31の学習と言い換えモデル32の学習とを行うことができる。
【0053】
図6の例では、元文41の下線を付けた単語が固有表現である。入力された元文41は、エンコーダ33で複数の単語に分解される。その後、固有表現抽出モデル31では、CRFレイヤ34によって固有表現にタグが付与される。他方、言い換えモデル32では、デコーダ35によって、元文41に対応する言い換え文42が生成される。
【0054】
このように単に、元文41の翻訳と逆翻訳によって言い換え文42を生成した場合、元文41と言い換え文42とがほとんど同じ内容の文となる可能性が高い。また元文41と言い換え文42とで、使用されている固有表現も同じとなる。そのため、元文41と生成された言い換え文42との言い換え文ペアを学習用の入力データとしても、固有表現抽出モデル31の大きな精度向上は期待できない。
【0055】
そこで第2の実施の形態に係る機械学習装置100では、機械翻訳を用いた言い換え文の自動生成の際に、翻訳または逆翻訳の途中でノイズを付与する。例えば機械学習装置100は、日英翻訳モデルと英日翻訳モデルを学習する。機械学習装置100は、その2つのモデルを含む言い換えモデルによって言い換え文を自動生成する際、翻訳先の単語を選択に用いるパラメータにノイズを付与する。パラメータにノイズが付与されることで、本来の訳語とは別の単語に翻訳される。機械学習装置100は、ノイズの付与には、例えば翻訳のアテンションと学習済み固有表現抽出モデルの処理結果を用いる。
【0056】
機械学習装置100は、ノイズを付与した機械翻訳によって生成された言い換え文のペアを用いて、マルチタスク学習を行う。これにより、固有表現抽出モデルの精度改善を行うことができる。
【0057】
図7は、言い換え文生成過程でのノイズ付与方法の一例を示す図である。図7の例では、入力される元文43は「私は横浜パンを食べる」(日本語)である。機械学習装置100では、この元文43を日英翻訳モデル112で英語に翻訳し、英日翻訳モデル113で日本語に逆翻訳する。
【0058】
元文43は、エンコーダによって単語に分解され、固有表現抽出モデルのCRFレイヤによって固有名詞が特定される。元文43には固有名詞「横浜パン」が含まれている。元文43を英文に翻訳するための際に用いる日英翻訳モデル112は、アテンション機構を有している。アテンション機構は、例えば入力された単語に対して、注意(attention)の度合いを設定するものである。機械学習装置100は、アテンション機構において固有名詞を処理する際に、その固有名詞の意味を表すデータに対してノイズを付与する。
【0059】
日英翻訳モデル112では、固有名詞にノイズが付与されたことで、その固有名詞が、本来の訳語とは異なる語に変換される。図7の例では、「横浜パン」は「Yokohama bread」ではなく、「Kawasaki water」に変換されている。日英翻訳モデル112では、ノイズ付与後の固有名詞に基づいて、他の単語を適切な訳語に変換する。例えば「食べる」(動詞)は、「eat」ではなく「drink」に変換される。その結果、元文43の翻訳文44は「I drink Kawasaki water」となる。
【0060】
翻訳文44を英日翻訳モデル113で和訳すると、「私は川崎ウォーターを飲む」という言い換え文45が生成される。言い換え文45は、元文43に対して、固有名詞だけでなく、動詞も変更されている。このような言い換え文45と元文43との言い換え文ペアを用いてマルチタスク学習を行うことで、固有表現モデルの精度を向上させることができる。
【0061】
図8は、機械学習装置の機能を示すブロック図である。機械学習装置100は、記憶部110、翻訳モデル学習部120、言い換え文生成部130、固有表現抽出モデル学習部140a、および言い換えモデル学習部140bを有する。
【0062】
記憶部110は、翻訳用データセット111、日英翻訳モデル112、英日翻訳モデル113、テキストデータ114、固有表現抽出モデル115、および固有表現データセット116を有する。
【0063】
翻訳用データセット111は、日英翻訳および英日翻訳の教師あり学習を行うためのデータである。翻訳用データセット111には、例えば和文とその和文に対応する英文との組が多数登録されている。
【0064】
日英翻訳モデル112は、和文を、その和文と同じ意味の英文に変換する学習済みモデルである。日英翻訳モデル112は、例えばニューラルネットワークのデータである。
英日翻訳モデル113は、英文を、その英文と同じ意味の和文に変換する学習済みモデルである。英日翻訳モデル113は、例えばニューラルネットワークのデータである。
【0065】
テキストデータ114は、学習用の言い換え文ペアを自動生成するために用意された文字列のデータである。テキストデータ114は、固有表現を含む多数の文が含まれる。
固有表現抽出モデル115は、自然言語の文から、その文に含まれる固有表現を抽出する学習済みモデルである。例えば固有表現抽出モデル115は、和文から固有表現を抽出するモデルである。固有表現抽出モデル115は、例えばニューラルネットワークのデータである。
【0066】
固有表現データセット116は、複数の文について、各文を構成する要素ごとの品詞、固有表現か否かなどの属性が設定されたデータである。固有表現データセット116は、固有表現抽出モデル115の学習に利用される。
【0067】
翻訳モデル学習部120は、日英翻訳モデル112および英日翻訳モデル113の機械学習を行う。例えば翻訳モデル学習部120は、翻訳用データセット111に登録されている和文と英文との組のうちの和文を入力データとして、その組の英文と同じ翻訳文を出力するように、日英翻訳モデル112のパラメータを修正する。また翻訳モデル学習部120は、翻訳用データセット111に登録されている和文と英文との組のうちの英文を入力データとして、その組の和文と同じ翻訳文を出力するように、英日翻訳モデル113のパラメータを修正する。
【0068】
言い換え文生成部130は、テキストデータ114に含まれる文を元文として、元文の言い換え文を生成する。例えば言い換え文生成部130は、元文に含まれる固有表現を示すデータにノイズを加えて、日英翻訳モデル112を用いて、ノイズ付与後の元文に対する英文の翻訳文を生成する。そして言い換え文生成部130は、生成した翻訳文を、英日翻訳モデル113を用いて、和文の言い換え文に変換する。そして言い換え文生成部130は、元文と言い換え文のペアを言い換えモデル学習部140bに送信する。
【0069】
固有表現抽出モデル学習部140aは、固有表現抽出モデル115の機械学習を行う。固有表現抽出モデル学習部140aは、例えば言い換えモデル学習部140bが生成した言い換え文および固有表現データセット116に登録されている文に基づいて、固有表現抽出モデル115の学習を行う。固有表現抽出モデル学習部140aは、固有表現抽出モデル115の学習のために、エンコーダ141とCRFレイヤ142とを有する。
【0070】
エンコーダ141は、例えば言い換えモデル学習部140bが生成した言い換え文、または固有表現データセット116に登録されている文を、意味のある要素(単語)に分割する。CRFレイヤ142は、単語の品詞などを解析し、固有表現を抽出する。
【0071】
固有表現抽出モデル学習部140aは、入力された文に含まれる固有表現を確実に抽出し、正しくタグ付けができるように、エンコーダ141とCRFレイヤ142とのパラメータを調整する。
【0072】
言い換えモデル学習部140bは、言い換え文生成部130が生成した言い換え文ペアに基づいて、言い換えモデルの学習を行う。言い換えモデル学習部140bは、エンコーダ141を固有表現抽出モデル学習部140aと共有する。また言い換えモデル学習部140bは、さらにデコーダ143を有する。デコーダ143は、エンコーダ141が出力した単語のデータに基づいて、言い換え文を生成する。例えばデコーダ143は、日英翻訳および逆翻訳によって言い換え文を生成する。言い換えモデル学習部140bは、入力された言い換え文ペアの元文から言い換え文を生成できるように、エンコーダ141とデコーダ143とのパラメータを調整する。
【0073】
なお、図8に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図8に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【0074】
機械学習装置100は、図8に示す機能によってマルチタスク学習を行い、学習済みの固有表現抽出モデル115とは別に、固有表現をより高精度に抽出できる固有表現抽出モデルを生成する。なお、生成する固有表現抽出モデルの学習に使用する固有表現データセット116には、例えば複数の和文について、含まれる単語が固有表現か否かが示されている。
【0075】
図9は、固有表現データセットの一例を示す図である。固有表現データセット116は、例えば2列のテーブル形式のデータである。1列目は、文を分割して得られた単語を示す列である。2列目は、対応する単語のタグを示す列である。固有表現データセット116において、文と文との境界には改行が設けられている。
【0076】
タグは、「B」、「I」、「O」などの記号とカテゴリを示す記号で示される。固有表現の1つ目の単語のタグの記号は「B」である。固有表現の2つ目以降の単語のタグの記号は「I」である。固有表現以外の単語のタグの記号は「O」である。
【0077】
例えば固有表現データセット116には、「私は山口にいった」の文が、「私」、「は」、「山口」、「に」、「いった」の5つの単語に分割して登録されている。これらの単語のうち、固有表現は「山口」(固有名詞)だけである。「山口」にはタグ「B-LOC」が設定されている。「LOC」は該当の固有表現が地名であることを示している。
【0078】
また固有表現データセット116には、「私は山口太郎とあった」の文が、「私」、「は」、「山口」、「太郎」、「と」、「あった」の6つの単語に分割して登録されている。これらの単語のうち、固有表現は「山口」と「太郎」である。「山口」にはタグ「B-PER」が設定されている。「太郎」にはタグ「I-PER」が設定されている。「PER」は該当の固有表現が人名であることを示している。タグ「B-PER」と「I-PER」とから、「山口太郎」で1つの固有表現(人名)であることが分かる。
【0079】
なおタグとして、「S」、「E」を加えてもよい。「S」は1単語からなる固有表現を示す。「E」は固有表現の終わりの単語を示す。
次に、マルチタスク学習の処理手順について説明する。
【0080】
図10は、マルチタスク学習の処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS101]翻訳モデル学習部120は、翻訳用データセット111を学習データとして、日英翻訳モデル112と英日翻訳モデル113を生成する。翻訳モデル学習部120は、生成した日英翻訳モデル112と英日翻訳モデル113を記憶部110に格納する。
【0081】
[ステップS102]言い換えモデル学習部140bは、テキストデータ114に基づいて、ノイズ付き翻訳による言い換え文生成処理を行う。ノイズ付き翻訳による言い換え文生成処理の詳細は後述する(図11参照)。言い換えモデル学習部140bは、ノイズ付き翻訳による言い換え文生成処理の結果、元文と言い換え文とのペアを複数生成する。
【0082】
[ステップS103]固有表現抽出モデル学習部140aは、固有表現データセット116に基づいて、固有表現抽出モデルを学習する。例えば固有表現抽出モデル学習部140a内のエンコーダ141が、固有表現データセット116に含まれている文(タグの情報を削除して単語を結合させたもの)を単語に分割する。そしてCRFレイヤ142が、分割された単語から固有表現を抽出し、その固有表現にタグを付与する。
【0083】
[ステップS104]言い換えモデル学習部140bは、言い換え文生成部130が生成した元文と言い換え文とのペアを学習データとして、言い換えモデルを学習する。例えば言い換えモデル学習部140b内のエンコーダ141が、元文を単語に分割する。そしてデコーダ143が、分割された単語の意味を解釈して言い換え文を生成する。
【0084】
[ステップS105]固有表現抽出モデル学習部140aと言い換えモデル学習部140bとは、モデルのパラメータを修正する。例えば言い換えモデル学習部140bは、元文と言い換え文とのペアにおける元文が入力された場合に、その元文とペアとなる言い換え文への言い換えが行われるようにパラメータを修正する。また固有表現抽出モデル学習部140aでは、固有表現データセット116において固有表現を示すタグが付与された単語について、CRFレイヤ142でも同じタグが設定されるように、固有表現抽出モデルのパラメータを修正する。
【0085】
[ステップS106]固有表現抽出モデル学習部140aと言い換えモデル学習部140bとは、生成しているモデルの精度が収束したか否かを判断する。例えば固有表現抽出モデル学習部140aは、所定の検証用のデータを用いて固有表現抽出モデルの精度(例えば固有表現に正しいタグを付与できる確率)を計算する。固有表現抽出モデル学習部140aは、今回計算した精度と前回計算した精度との差が所定の閾値以下となったら、固有表現モデルの精度が収束したと判断する。また言い換えモデル学習部140bは、所定の検証用のデータを用いて言い換えモデルの精度(例えば元文をペアとなる言い換え文に正しく変換できる確率)を計算する。言い換えモデル学習部140bは、今回計算した精度と前回計算した精度との差が所定の閾値以下となったら、言い換えモデルの精度が収束したと判断する。
【0086】
例えば固有表現抽出モデル学習部140aと言い換えモデル学習部140bとの両方で収束したと判断した場合、ステップS106の判断結果が収束「YES」とされる。また固有表現抽出モデル学習部140aと言い換えモデル学習部140bとの少なくとも一方で収束していないと判断された場合、ステップS106の判断結果が収束「NO」とされる。収束判断が「YES」の場合、マルチタスク学習処理が終了する。収束判断が「NO」の場合、処理がステップS103に進められる。
【0087】
このようにしてマルチタスク学習が進められる。このようなマルチタスク学習において、ノイズ付き翻訳による言い換え文生成によって、元文と言い換え文とのペアを生成することで、学習結果として得られるモデルの精度が向上する。
【0088】
図11は、ノイズ付き翻訳によるマルチタスク学習の処理手順の一例を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
[ステップS111]言い換え文生成部130は、テキストデータ114から文を1つ選択する。例えば言い換え文生成部130は、言い換え文が未生成の文のうちの1つを選択する。なお1つの文から複数の言い換え文を生成することも可能である。その場合、例えば言い換え文生成部130は、言い換え文の生成対象として選択された回数が所定回数未満の文のうちの1つを選択する。
【0089】
[ステップS112]言い換え文生成部130は、選択した文から固有表現の単語を抽出する。例えば言い換え文生成部130は、学習済みの固有表現抽出モデル115を用いて固有表現の単語を抽出する。
【0090】
[ステップS113]言い換え文生成部130は、固有表現の単語の意味を示すデータに対してノイズを付与する。例えば言い換え文生成部130は、ノイズの大きさを示す数値(ノイズ値)を決定し、固有表現の単語の意味を示すデータの値に、決定したノイズ値を加算または減算する。ノイズ値は、例えば予め設定された数値である。またノイズ値は、予め設定された数値範囲内の乱数値であってもよい。
【0091】
[ステップS114]言い換え文生成部130は、固有表現の単語にノイズが付与された後の各単語のデータに基づいて、日英翻訳モデル112を用いて日英翻訳を行う。これにより、英語による翻訳文が生成される。
【0092】
[ステップS115]言い換え文生成部130は、ノイズの大きさの適否を判定する。ノイズの大きさ適否判定処理の詳細は後述する(図14参照)。ノイズの大きさ適否判定では判定結果として、ノイズの大きさが適切なのか否か、不適切である場合、ノイズを小さくするべきなのか、あるいはノイズを大きくするべきなのかが得られる。
【0093】
[ステップS116]言い換え文生成部130は、ノイズの大きさ適否判定処理の結果に応じて、以後の処理を分岐させる。言い換え文生成部130は、ノイズの大きさが適切である場合、処理をステップS118に進める。また言い換え文生成部130は、ノイズの大きさが不適切な場合、処理をステップS117に進める。
【0094】
[ステップS117]言い換え文生成部130は、ノイズの大きさ適否判定の結果に応じて、ノイズの大きさを修正する。例えば言い換え文生成部130は、ノイズの大きさを小さくするべきと判定された場合、現在のノイズ値に例えば1より小さい実数を乗算し、新たなノイズ値とする。また言い換え文生成部130は、ノイズの大きさを大きくするべきと判定された場合、現在のノイズ値に例えば1より大きな実数を乗算し、新たなノイズ値とする。言い換え文生成部130は、ノイズの大きさを修正後、処理をステップS114に進める。
【0095】
[ステップS118]言い換え文生成部130は、英日翻訳モデル113を用いて、生成された翻訳文の英日翻訳(逆翻訳)を行う。これにより、日本語の言い換え文が生成される。
【0096】
[ステップS119]言い換え文生成部130は、選択した文を元文とする、元文と言い換え文とのペアを出力する。
[ステップS120]言い換え文生成部130は、言い換え文の生成対象となる文がテキストデータ114内にあるか否かを判断する。言い換え文生成部130は、該当する文がある場合、処理をステップS111に進める。また言い換え文生成部130は、該当する文がなければ、ノイズ付き翻訳による言い換え文生成処理を終了する。
【0097】
このように翻訳時に固有表現にノイズを付与することで、1つの単語の変換だけでなく、その前後の表現も変化させた言い換え文を生成することができる。ノイズは、例えば単語の意味を示すベクトル(分散表現)に対して付与される。単語の意味を示すベクトルは、2つの単語の意味が近ければ、それらの単語のベクトルの成分も近い値となる。
【0098】
図12は、ノイズの付与方法の一例を示す図である。言い換え文生成部130は、例えばノイズの大きさ(ノイズ値)を、言語モデルと、エンコーダから出力された単語ごとのベクトルによって決定する。言語モデルは、機械学習によって単語の出現確率をモデル化したものである。図12においては、単語に対応するベクトルを円形の図形で示している。
【0099】
言い換え文生成部130は、言語モデルによって、次の単語が出力される確率を算出する。言い換え文生成部130は、翻訳モデルによって生成された文の言語モデルの出現確率が閾値より小さい場合、ノイズを小さくする。言い換え文生成部130は、ノイズを付与しない場合に生成された単語のベクトルと、ノイズを付与した場合に生成された単語のベクトルが閾値より近い場合、ノイズ値を大きくする。
【0100】
例えば「私は横浜パンを食べる」を構成する各単語は、エンコーダによって、その意味に対応するベクトルに変換される。学習済み固有表現抽出モデル115によって「横浜パン」が固有表現であると特定されると、言い換え文生成部130は、「横浜」、「パン」それぞれのベクトルにノイズを付与する。
【0101】
言い換え文生成部130は、各単語は、アテンション機構を介して、その単語のベクトルに対応する意味を有する英単語に変換する。変換によって翻訳文が生成される。言い換え文生成部130は、生成された翻訳文「I drink kawasaki water」を言語モデルに入力し、言語モデルによる出現確率(例えば「I drink kawasaki」の次に「Water」となる確率)を計算する。言い換え文生成部130は、言語モデルで得られた確率が予め設定した閾値より小さい場合、ノイズの大きさを小さくして、ノイズ付与からやり直す。
【0102】
得られた確率が閾値より小さい場合とは、ノイズ付与により意味的に離れすぎた単語に変換されてしまい、翻訳文が自然な文とならない場合である。このような場合には、ノイズの大きさを小さくすることで、言い換え後も自然な文となるように調整される。
【0103】
また、言い換え文生成部130は、ノイズを付与せずに翻訳した場合の翻訳後の単語のベクトルと、ノイズを付与した上で翻訳した場合の翻訳後の単語のベクトルとを比較する。例えば「食べる」を翻訳した「eat」のベクトルと、ノイズ付与後の「drink」のベクトルとが比較される。言い換え文生成部130は、ベクトル間の距離が所定の閾値以下の場合、ノイズの大きさを大きくして、ノイズ付与からやり直す。
【0104】
ベクトル間の距離が閾値以下の場合とは、例えばノイズを付与しても付与しなくても、ほとんど同じ意味の単語に変換されている場合である。このような場合には、ノイズの大きさを大きくすることで、元文に対して、似てはいるが異なる内容の言い換え文を生成することができる。
【0105】
図13は、ノイズの大きさ適否判定処理の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS131]言い換え文生成部130は、翻訳で出現した各単語の言語モデルによる出現確率を算出する。
【0106】
[ステップS132]言い換え文生成部130は、出現確率が閾値以下の単語があるか否かを判断する。言い換え文生成部130は、出現確率が閾値以下の単語がある場合、処理をステップS133に進める。出現確率が閾値以下の単語がない場合、処理をステップS134に進める。
【0107】
[ステップS133]言い換え文生成部130は、ノイズを小さくする修正を行うべきとの判定結果を出力し、ノイズの大きさ適否判定処理を終了する。
[ステップS134]言い換え文生成部130は、ノイズ付与前の単語のベクトルと、ノイズ付与後の単語のベクトルとの距離を計算する。
【0108】
[ステップS135]言い換え文生成部130は、ベクトル間の距離が閾値以下か否かを判断する。言い換え文生成部130は、ベクトル間の距離が閾値以下であれば、処理をステップS136に進める。言い換え文生成部130は、ベクトル間の距離が閾値を超えていれば、処理をステップS137に進める。
【0109】
[ステップS136]言い換え文生成部130は、ノイズを大きくする修正を行うべきとの判定結果を出力し、ノイズの大きさ適否判定処理を終了する。
[ステップS137]言い換え文生成部130は、ノイズが適正であるとの判定結果を出力し、ノイズの大きさ適否判定処理を終了する。
【0110】
このようにして、適切な大きさにノイズを調整することができる。その結果、ノイズが小さすぎて、元文と差異のない言い換え文が生成されることが抑止される。またノイズが大きすぎて、言語的に不自然な言い換え文が生成されることも抑止される。すなわち、自然な文を維持できる範囲で、元文と異なる内容の言い換え文を生成することができる。
【0111】
なおノイズを付与した翻訳結果をユーザが確認し、不適切と判断した場合には、ノイズの大きさを示すパラメータをユーザが指定するようにしてもよい。
このようにして適切なノイズを付与することで、元文と似てはいるが異なる内容の言い換え文を生成することができる。例えば、単に固有名詞が異なるだけではなく、固有名詞に合わせて動詞も変更されるような言い換え文の生成が可能となる。
【0112】
適切な言い換え文が生成されることで、元文と言い換え文のペアを用いたマルチタスク学習を効率的に行うことができる。
図14は、ノイズ付き翻訳により生成された言い換え文ペアを利用したマルチタスク学習の一例を示す図である。固有表現抽出モデル51と言い換えモデル52ではエンコーダ141のパラメータが共有される。固有表現抽出モデル51の学習用の固有表現データセット116は人手で作成するものであり、大量のデータを用意するのは困難である。他方、言い換え文ペアは、言い換え文生成部130によって自動生成可能であり、大量に用意することができる。
【0113】
エンコーダ141のパラメータが共有されている。エンコーダ141では、意味の近い単語に対しては、差の小さいベクトルが生成される。そのため、言い換えモデル52用の学習データ内にある食べ物の固有名詞「横浜パン」のベクトルと、固有表現抽出モデル51によって<food>タグが付与された固有名詞「神奈川おにぎり」とのベクトルは、近いベクトルとなる。すなわち、固有表現抽出モデル51に「横浜パン」を含む文が入力された場合に、「横浜パン」を固有名詞として認識し、<food>タグを付与することができるようになる。
【0114】
言い換え文ペアの言い換え文45を言い換えモデル52への入力とすれば「川崎ウォーター」についても、食べ物カテゴリの固有名詞として学習できる。そして適切な言い換え文ペアを自動生成して学習させることにより、固有表現抽出モデル51の学習用のデータが少量でも、多くの固有名詞を学習させることができる。
【0115】
以上説明したように、ノイズ付き翻訳によって言い換え文を自動生成することで、例えば図5に示した言い換え候補リスト36のような言い換え用の辞書が不要となる。辞書を使用しないため、多くの単語を言い換えが可能となる。
【0116】
また翻訳モデルを用いたことで、固有表現の単語を変更すれば、名詞以外の単語も変換することができる。その結果、文全体を変化させた言い換え文の生成が可能である。固有表現抽出では文全体の情報を用いて固有名詞が特定されるため、固有表現以外の単語も言い換えられた文を学習に用いることで、固有表現抽出の精度改善が期待できる。
【0117】
〔その他の実施の形態〕
第2の実施の形態では、日英翻訳およびその逆翻訳により言い換え文を生成しているが、他の言語との間の翻訳および逆翻訳により言い換え文を生成してもよい。
【0118】
また翻訳モデルは、例えばネットワークを介して提供されている翻訳システム上の翻訳モデルを使用してもよい。例えば図8に示した翻訳モデル学習部120を有する第1の情報処理装置と、言い換え文生成部130、固有表現抽出モデル学習部140a、および言い換えモデル学習140bを有する第2の情報処理装置とによって、第2の実施の形態と同様の処理を実施できる。この場合、翻訳用データセット111、日英翻訳モデル112、および英日翻訳モデル113は、第1の情報処理装置が有する記憶部に格納される。またテキストデータ114、固有表現抽出モデル115、および固有表現データセット116は、第2の情報処理装置が有する記憶部に格納される。
【0119】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0120】
1 第1の翻訳モデル
2 第2の翻訳モデル
3 元文
3a,3b,3e,3f 第3のデータ
3c,3d 第1のデータ
3g,3h 第2のデータ
4 翻訳文
5 言い換え文
6 言い換え文ペア
10 情報処理装置
11 記憶部
12 処理部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14