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

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

▶ 日本電信電話株式会社の特許一覧

特開2024-123669文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム
<>
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図1
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図2
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図3
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図4
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図5
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図6
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図7
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図8
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図9
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図10
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図11
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図12
  • 特開-文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024123669
(43)【公開日】2024-09-12
(54)【発明の名称】文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラム
(51)【国際特許分類】
   G06F 40/45 20200101AFI20240905BHJP
【FI】
G06F40/45
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023031278
(22)【出願日】2023-03-01
(71)【出願人】
【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
(74)【代理人】
【識別番号】110004381
【氏名又は名称】弁理士法人ITOH
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100124844
【弁理士】
【氏名又は名称】石原 隆治
(72)【発明者】
【氏名】帖佐 克己
(72)【発明者】
【氏名】福田 りょう
(57)【要約】
【課題】精度の良い文対応付けを実現できる技術を提供すること。
【解決手段】本開示の一態様による文対応付け装置は、与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算部と、前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算部と、を有する。
【選択図】図2
【特許請求の範囲】
【請求項1】
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算部と、
前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算部と、
を有する文対応付け装置。
【請求項2】
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算部と、
前記文脈ベクトルを用いて、第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算部と、
前記スコアと、前記スコアに対する正解を表す正解スコアとの誤差を最小化するように、前記第1のパラメータと前記第2のパラメータとを学習する学習部と、
を有する学習装置。
【請求項3】
与えられた文書対に含まれる文を入力として、第3のパラメータを設定した第3の機械学習モデルにより、前記文を、当該文の特徴を表す文ベクトルに変換する文ベクトル計算部を更に有し、
前記学習部は、
前記誤差を最小化するように、前記第1のパラメータと前記第2のパラメータと前記第3のパラメータとを学習する、請求項2に記載の学習装置。
【請求項4】
前記文脈ベクトルを用いて、1以上の連続する文の文脈ベクトルを表す複数文文脈ベクトルを計算する複数文文脈ベクトル計算部を有し、
前記スコア計算部は、
前記複数文文脈ベクトルを用いて、前記学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記スコアを計算する、請求項1に記載の文対応付け装置。
【請求項5】
前記文脈ベクトルを用いて、1以上の連続する文の文脈ベクトルを表す複数文文脈ベクトルを計算する複数文文脈ベクトル計算部を有し、
前記スコア計算部は、
前記複数文文脈ベクトルを用いて、前記第2のパラメータを設定した第2の機械学習モデルにより、前記スコアを計算し、
前記学習部は、
前記スコアと前記正解スコアとのバイナリ交差エントロピーを前記誤差として前記第1のパラメータと前記第2のパラメータとを学習する、又は、前記文書対に含まれる第1の文書から第2の文書への多クラス分類による文対応付けの損失と前記第2の文書から前記第1の文書への多クラス分類による文対応付けの損失との和を前記誤差として前記第1のパラメータと前記第2のパラメータとを学習する、請求項2に記載の学習装置。
【請求項6】
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算手順と、
前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算手順と、
をコンピュータが実行する文対応付け方法。
【請求項7】
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算手順と、
前記文脈ベクトルを用いて、第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算手順と、
前記スコアと、前記スコアに対する正解を表す正解スコアとの誤差を最小化するように、前記第1のパラメータと前記第2のパラメータとを学習する学習手順と、
をコンピュータが実行する学習方法。
【請求項8】
コンピュータを、請求項1に記載の文対応付け装置又は請求項2に記載の学習装置、として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、文対応付け装置、学習装置、文対応付け方法、学習方法、及びプログラムに関する。
【背景技術】
【0002】
互いに対応関係にある2つの文書において、互いに対応している文又は文集合の対を同定することは文対応付け(sentence alignment;センテンスアラインメント)と呼ばれる。文対応付けを行うための従来技術として、文の多言語埋め込み表現(特徴量)を表す文ベクトルの類似度に基づいて、再帰的なDP(Dynamic Programming;動的計画法)マッチングを行う技術が知られている(非特許文献1)。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Brian Thompson and Philipp Koehn. Vecalign: Improved sentence alignment in linear time and space. In Proceedings of EMNLP-2019, pp. 1342-1348, 2019.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、文脈情報を利用しないため、文対応付けの対象となる文書のドメイン(例えば、文対応付けの対象となる文書の言語)によっては精度が低下することがある。
【0005】
本開示は、上記の点に鑑みてなされたもので、精度の良い文対応付けを実現できる技術を提供する。
【課題を解決するための手段】
【0006】
本開示の一態様による文対応付け装置は、与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算する文脈ベクトル計算部と、前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算するスコア計算部と、を有する。
【発明の効果】
【0007】
精度の良い文対応付けを実現できる技術が提供される。
【図面の簡単な説明】
【0008】
図1】予測時における文対応付け装置のハードウェア構成の一例を示す図である。
図2】予測時における文対応付け装置の機能構成の一例を示す図である。
図3】実施例1における文対応付け予測部の詳細な機能構成の一例を示す図である。
図4】実施例2における文対応付け予測部の詳細な機能構成の一例を示す図である。
図5】本実施形態に係る文対応付け処理の一例を示すフローチャートである。
図6】実施例1における文対応付けスコアの予測処理の一例を示すフローチャートである。
図7】実施例2における文対応付けスコアの予測処理の一例を示すフローチャートである。
図8】学習時における文対応付け装置の機能構成の一例を示す図である。
図9】本実施形態に係る多言語言語モデルの学習処理の一例を示すフローチャートである。
図10】本実施形態に係る文対応付けモデル用学習データの作成処理の一例を示すフローチャートである。
図11】本実施形態に係る文対応付けモデルの学習処理の一例を示すフローチャートである。
図12】学習時における文対応付け装置の機能構成の変形例を示す図である。
図13】予測時における文対応付け装置の機能構成の変形例を示す図である。
【発明を実施するための形態】
【0009】
以下、本発明の一実施形態について説明する。以下では、文脈情報を考慮することにより、精度の良い文対応付けを実現できる文対応付け装置10について説明する。ここで、本実施形態に係る文対応付け装置10は、ニューラルネットワーク等を含む機械学習モデルで実現される文対応付けモデルにより、与えられた文書対の文対応付けを行う。また、本実施形態に係る文対応付け装置10は、与えられた文書対に含まれる各文の多言語埋め込み表現(特徴量)を表す文ベクトルを得るために、ニューラルネットワーク等を含む機械学習モデルで実現される多言語言語モデルを利用する。
【0010】
このため、本実施形態に係る文対応付け装置10には、多言語言語モデル及び文対応付けモデルのパラメータを学習する学習時と、学習済みのパラメータを用いた多言語言語モデル及び文対応付けモデルにより文書対の文対応付けを予測する予測時とが存在する。そこで、以下では、文対応付け装置10の「予測時」と「学習時」について説明する。
【0011】
なお、「予測時」は、例えば、「推論時」等と呼ばれてもよい。また、学習時における文対応付け装置10は、例えば、「学習装置」等と呼ばれてもよい。更に、以下では、予測時における文対応付け装置10と学習時における文対応付け装置10とが同一装置で実現されることを想定して説明するが、予測時と学習時とで異なる装置で実現されてもよい。
【0012】
[予測時]
まず、多言語言語モデル及び文対応付けモデルのパラメータは学習済みであるものとして、学習済みのパラメータを用いて多言語言語モデル及び文対応付けモデルにより文対応付けを行う場合について説明する。ここで、予測時における文対応付け装置10には、文対応付けの対象となる文書対を表すデータ(以下、入力文書対データという。)が与えられる。
【0013】
なお、以下では、入力文書対データが表す文書対は、互いに異なる言語(例えば、日本語と英語)の対訳関係にある文書対であることを想定する。ただし、これは一例であって、入力文書対データが表す文書対は、互いに異なる言語の対訳関係にある文書対に限られるものではなく、例えば、同一言語の異なる方言の対訳関係にある文書対であってもよい。より一般には、入力文書対データが表す文書対として、何等かの異なるドメイン間で対応関係にあり、一方の文書に含まれる文又は文集合と他方の文書に含まれる文又は文集合との対応付けを行いたいものであれば、任意の文書対を用いることができる。
【0014】
<予測時における文対応付け装置10のハードウェア構成例>
予測時における文対応付け装置10のハードウェア構成例を図1に示す。図1に示すように、予測時における文対応付け装置10は、入力装置101と、表示装置102と、外部I/F103と、通信I/F104と、RAM(Random Access Memory)105と、ROM(Read Only Memory)106と、補助記憶装置107と、プロセッサ108とを有する。また、これらの各ハードウェアは、それぞれがバス109を介して通信可能に接続されている。
【0015】
入力装置101は、例えば、キーボード、マウス、タッチパネル、物理ボタン等である。表示装置102は、例えば、ディスプレイ、表示パネル等である。なお、文対応付け装置10は、例えば、入力装置101及び表示装置102のうちの少なくとも一方を有していなくてもよい。
【0016】
外部I/F103は、記録媒体103a等の外部装置とのインタフェースである。文対応付け装置10は、外部I/F103を介して、記録媒体103aの読み取りや書き込み等を行うことができる。記録媒体103aとしては、例えば、フレキシブルディスク、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。
【0017】
通信I/F104は、文対応付け装置10を通信ネットワークに接続させるためのインタフェースである。RAM105は、プログラムやデータを一時保持する揮発性の半導体メモリ(記憶装置)である。ROM106は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ(記憶装置)である。補助記憶装置107は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ等のストレージ装置(記憶装置)である。プロセッサ108は、例えば、CPU(Central Processing Unit)やGPU(Graphics Processing Unit)等の演算装置である。
【0018】
予測時における文対応付け装置10は、図1に示すハードウェア構成を有することにより、後述する各種処理を実現することができる。なお、図1に示すハードウェア構成は一例であって、文対応付け装置10のハードウェア構成はこれに限られるものではない。例えば、文対応付け装置10は、複数の補助記憶装置107や複数のプロセッサ108を有していてもよいし、図示したハードウェアの一部を有していなくてもよいし、図示したハードウェア以外の様々なハードウェアを有していてもよい。
【0019】
<予測時における文対応付け装置10の機能構成例>
予測時における文対応付け装置10の機能構成例を図2に示す。図2に示すように、予測時における文対応付け装置10は、文対応付け問題生成部201と、文変換部202と、文対応付け予測部203と、文対応生成部204とを有する。これら各部は、例えば、文対応付け装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、予測時における文対応付け装置10は、多言語言語モデルパラメータ記憶部205と、文対応付けモデルパラメータ記憶部206とを有する。これら各記憶部は、例えば、補助記憶装置107等により実現可能である。
【0020】
文対応付け問題生成部201は、与えられた入力文書対データを多言語言語モデル及び文対応付けモデルを利用した文対応付け問題に入力可能な形式に変換する。具体的には、文対応付け問題生成部201は、与えられた入力文書対データが表す文書対に含まれる各文書を文単位に区切ったデータ(以下、文単位入力文書対データともいう。)を作成する。
【0021】
以下では、入力文書対データが表す文書対に含まれる1つ目の文書を文単位に区切ったものを文書E={e,e,・・・,e|E|}、2つ目の文書を文単位に区切ったものを文書F={f,f,・・・,f|F|})とする。ここで、e(i=1,2,・・・,|E|)は文書Eに含まれるi番目の文、f(j=1,2,・・・,|F|)は文書Fに含まれるj番目の文を表す。これにより、文単位入力文書対データは(E,F)と表される。
【0022】
文変換部202には、多言語言語モデルMが含まれる。文変換部202は、多言語言語モデルパラメータ記憶部205に記憶されている学習済み多言語言語モデルパラメータを用いて、多言語言語モデルMにより、文単位入力文書対データ(E,F)に含まれる各文をその文の多言語埋め込み表現(特徴量)を表す文ベクトルにそれぞれ変換する。なお、これらの文ベクトルは、各文の各々を特徴量に変換したものであるため、文脈情報は考慮されていないものになる。
【0023】
以下、文e(i=1,2,・・・,|E|)の文ベクトルをh ∈Rとする。同様に、文f(j=1,2,・・・,|F|)の文ベクトルをh ∈Rとする。ここで、dは文ベクトルの次元数である。
【0024】
また、文ベクトルh ∈Rをi番目の行とする|E|行d列の行列をH=[h ,h ,・・・,h|E| ]∈R|E|×dと表す。同様に、文ベクトルh をj番目の行とする|F|行d列の行列をH=[h ,h ,・・・,h|F| ]∈R|F|×dと表す。以下では、これらの行列H,Hを文ベクトル行列と呼ぶ。
【0025】
なお、多言語言語モデルMとして、文を多言語埋め込み表現に変換可能なものであれば任意の言語モデルを用いることが可能である。また、多言語言語モデルMとして、事前学習済み多言語言語モデルを用いてもよい。例えば、LaBSE(参考文献1)、LASER(参考文献2)等といったモデルを多言語言語モデルMとして用いることができる。
【0026】
ただし、文変換部202に含まれる多言語言語モデルMは多言語言語モデルに限定されるものではなく、文対応付けを行いたい文書対に含まれる各文書がそれぞれ属するドメインの文の埋め込み表現を得ることができるものであれば、任意の文埋め込みモデルを用いることが可能である。例えば、同一言語における第1の方言及び第2の方言間の文対応付けを行いたい場合、文変換部202には、当該言語における第1の方言及び第2の方言の文埋め込み表現を得ることができる文埋め込みモデルが含まれるものとしてもよい。
【0027】
文対応付け予測部203には、文対応付けモデルMが含まれる。文対応付け予測部203は、文対応付けモデルパラメータ記憶部206に記憶されている学習済み文対応付けモデルパラメータを用いて、文対応付けモデルMにより、文ベクトル行列H及びHから文脈情報を考慮した文ベクトル(以下、文脈ベクトルともいう。)を計算した上で、これらの文脈ベクトルから文対応付けスコアを予測する。文対応付けスコアとは、文書Eに含まれる文又は文集合と文書Fに含まれる文又は文集合とを対応付けるためのスコアを要素とする行列のことである。なお、文対応付け予測部203の詳細な機能構成については後述する。
【0028】
文対応生成部204は、文対応スコアを用いて、文又は文集合同士を対応付ける既存手法(例えば、DPマッチング、ILP(Integer Linear Programming Problem;整数線形計画問題)によるマッチング、閾値処理等)により、文書Eに含まれる文又は文集合と文書Fに含まれる文又は文集合との対応付けた上で、その対応付け(文アラインメント)を表す文対応データを生成する。
【0029】
多言語言語モデルパラメータ記憶部205は、多言語言語モデルMの学習済みパラメータ(学習済み多言語言語モデルパラメータ)を記憶する。
【0030】
文対応付けモデルパラメータ記憶部206は、文対応付けモデルMの学習済みパラメータ(学習済み文対応付けモデルパラメータ)を記憶する。
【0031】
なお、図2に示す文対応付け装置10の機能構成例では文変換部202と文対応付け予測部203とが別々に存在するが、例えば、文変換部202は文対応付け予測部203に含まれていてもよい。この場合、文対応付けモデルMには、多言語言語モデルMが含まれる。
【0032】
<文対応付け予測部203の詳細な機能構成例>
以下、文対応付け予測部203の詳細な機能構成の実施例1及び2について説明する。
【0033】
≪実施例1≫
実施例1における文対応付け予測部203の詳細な機能構成例を図3に示す。図3に示すように、実施例1における文対応付け予測部203には、文脈ベクトル計算部211と、スコア計算部212とが含まれる。なお、文脈ベクトル計算部211及びスコア計算部212は文対応付けモデルMにより実現される。
【0034】
文脈ベクトル計算部211は、文ベクトル行列H及びHから文脈ベクトルを計算する。より具体的には、文脈ベクトル計算部211は、各文ベクトルに関して、その文ベクトルが属する文書において当該文ベクトルが表す文以外の文に関する情報(つまり、同一文書内の文外文脈情報)と、その文が属しない他方の文書に関する情報(つまり、他ドメイン文書の情報)とを文脈情報として、その文ベクトルから文脈ベクトルを計算する。
【0035】
例えば、文脈ベクトル計算部211は、(C,C,C)=g([H;s;H])により文脈ベクトルを計算する。ここで、g(・)はL層のTransformer Encoderによるself attention(参考文献3)、sは学習済み文対応付けモデルパラメータに含まれる学習済みパラメータである。また、g(・)に含まれる学習可能パラメータは学習済みであり、学習済み文対応付けモデルパラメータに含まれる。C∈R|E|×dはHに対応するg(・)の出力であり、文脈ベクトルを各行とする|E|行d列の行列である。同様に、CはHに対応するg(・)の出力であり、文脈ベクトルを各行とする|F|行d列の行列である。Cはsに対応するg(・)の出力である。なお、文脈ベクトル計算部211は文対応付けモデルに含まれる文脈ベクトル計算モデルにより実現される。また、学習済みパラメータsとg(・)に含まれる学習済みパラメータは文脈ベクトル計算モデルパラメータであり、文対応付けモデルパラメータ記憶部206に含まれる文脈ベクトル計算モデルパラメータ記憶部216に記憶される。
【0036】
これにより、文書Eと文書Fの文脈情報を考慮した文脈ベクトルで構成される行列(以下、文脈ベクトル行列ともいう。)C及びCが得られる。例えば、文ベクトルeに対応する文脈ベクトルをe'、文ベクトルfに対応する文脈ベクトルをf'とすれば、文脈ベクトル行列Cは文脈ベクトルe'をi(1≦i≦|E|)行目とする|E|行d列の行列、文脈ベクトル行列Cは文脈ベクトルf'をj(1≦j≦|F|)行目とする|F|行d列の行列で表される。なお、Cも得られるが、Cは特に利用されない。
【0037】
スコア計算部212は、文脈ベクトル行列C及びCから文対応付けスコア^A∈R|E|×|F|を計算する。なお、予測値(推定値)を表すハット「^」は正確にはAの真上に付与されるが、明細書のテキスト中では、Aの直前に記載するものとする。
【0038】
例えば、スコア計算部212は、文脈ベクトル行列C及びC同士の直積を多層パーセプトロン層に入力することで文対応付けスコア^Aを計算する。すなわち、スコア計算部212は、以下の式(1)により文対応付けスコア^Aを計算する。
【0039】
【数1】
ここで、mlp(・)は多層パーセプトロン層である。mlp(・)には学習済み文対応付けモデルパラメータに含まれる学習済みパラメータ(多層パーセプトロン層を構成する各層の重み)が含まれる。なお、スコア計算部212は文対応付けモデルに含まれるスコア計算モデルにより実現される。また、mlp(・)に含まれる学習済みパラメータはスコア計算モデルパラメータであり、文対応付けモデルパラメータ記憶部206に含まれるスコア計算モデルパラメータ記憶部226に記憶される。
【0040】
上記の文対応付けスコア^Aは、i行j列目の要素^aijが文eと文fとの間の対応付けスコアを表している。この対応付けスコア^aijは、その値が大きいほど文eと文fとが対応付けられ、その値が小さいほど文eと文fとが対応付けられないことを表している。
【0041】
なお、上記の式(1)では一度ですべてのアラインメント候補(つまり、実施例1では文書Eに含まれる文と文書Fに含まれる文)の対応付けスコアを計算できるため、例えば、SpanAlign(参考文献4)等といったスパン予測モデルのスコア計算と比較して、非常に高速に対応付けスコアを計算することができる。
【0042】
≪実施例2≫
実施例2における文対応付け予測部203の詳細な機能構成例を図4に示す。図4に示すように、実施例2における文対応付け予測部203には、文脈ベクトル計算部211と、複数文文脈ベクトル計算部213と、スコア計算部212とが含まれる。なお、文脈ベクトル計算部211、複数文文脈ベクトル計算部213及びスコア計算部212は文対応付けモデルMにより実現される。
【0043】
文脈ベクトル計算部211は、実施例1と同様に、文ベクトル行列H及びHから文脈ベクトル行列C及びCを計算する。
【0044】
複数文文脈ベクトル計算部213は、文脈ベクトル行列C及びCに含まれる文脈ベクトルを1以上の連続する文の文脈ベクトル(以下、複数文文脈ベクトルともいう。)に拡張する。
【0045】
例えば、複数文文脈ベクトル計算部213は、文脈ベクトル行列C及びCに含まれる文脈ベクトルを文n-gramベクトルに拡張し、これら文n-gramベクトルで構成される複数文文脈ベクトル行列を計算する。具体的には、複数文文脈ベクトル計算部213は、以下により複数文文脈ベクトル行列C1:N 及びC1:N を計算する。
【0046】
1:N =[C ;・・・;C
=max_pooling(C
1:N =[C ;・・・;C
=max_pooling(C
ここで、Nは文n-gramの最大文数を表すハイパーパラメータである。max_poolingはカーネルサイズ(n,1)、ストライド1のMaxPooling層を表す。
【0047】
このとき、複数文文脈ベクトル行列C1:N は文脈ベクトル行列Cの文n-gramへの拡張であり、複数文文脈ベクトル(文n-gramベクトル)を各行とする|E1:N|行d列の行列である。同様に、複数文文脈ベクトル行列C1:N は文脈ベクトル行列Cの文n-gramへの拡張であり、複数文文脈ベクトル(文n-gramベクトル)を各行とする|F1:N|行d列の行列である。ただし、|E1:N|=(N(2|E|-N+1))/2、|F1:N|=(N(2|F|-N+1))/2である。
【0048】
例えば、e',・・・,ei+n-1'の文n-gramベクトルをei:i+n-1'と表すことにすれば、複数文文脈ベクトル行列C1:N はe',・・・,e|E|',e1:2',・・・,e|E|-N+1:|E|'をそれぞれ1行目、・・・、|E|行目、|E|+1行目、・・・、|E1:N|行目とする|E1:N|行d列の行列で表される。同様に、f',・・・,fj+n-1'の文n-gramベクトルをfj:j+n-1'と表すことにすれば、複数文文脈ベクトル行列C1:N はf',・・・,f|F|',f1:2',・・・,f|F|-N+1:|F|'をそれぞれ1行目、・・・、|F|行目、|F|+1行目、・・・、|F1:N|行目とする|F1:N|行d列の行列で表される。
【0049】
これにより、多対多の文対応(つまり、文集合同士の文対応)を行うための文対応付けスコアを計算することが可能となる。なお、文脈ベクトル計算部211及び複数文文脈ベクトル計算部213は文対応付けモデルに含まれる文脈ベクトル計算モデルにより実現される。
【0050】
スコア計算部212は、複数文文脈ベクトル行列C1:N 及びC1:N からスコア^A∈R|E_(1:N)|×|F_(1:N)|を計算する。なお、|E_(1:N)|及び|F_(1:N)|はそれぞれ|E1:N|及び|F1:N|を表す。
【0051】
例えば、スコア計算部212は、実施例1と同様に、複数文文脈ベクトル行列C1:N 及びC1:N 同士の直積を多層パーセプトロン層に入力することで文対応付けスコア^Aを計算する。すなわち、スコア計算部212は、上記の式(1)のCの代わりにC1:N 、Cの代わりにC1:N を用いて文対応付けスコア^Aを計算する。
【0052】
なお、実施例1と同様に、上記の式(1)では一度ですべてのアラインメント候補(つまり、実施例1では文書Eに含まれる文の文n-gramと文書Fに含まれる文の文n-gram)の対応付けスコアを計算できるため、例えば、SpanAlign(参考文献4)等といったスパン予測モデルのスコア計算と比較して、非常に高速に対応付けスコアを計算することができる。
【0053】
<文対応付け処理>
以下、本実施形態に係る文対応付け処理について、図5を参照しながら説明する。
【0054】
まず、文対応付け問題生成部201は、与えられた入力文書対データを入力する(ステップS101)。
【0055】
次に、文対応付け問題生成部201は、上記のステップS101で入力した入力文書対データから文対応付け問題を生成する(ステップS102)。すなわち、文対応付け問題生成部201は、当該入力文書対データを、文対応付け問題に入力可能な形式である文単位入力文書対データ(E,F)に変換する。なお、上記のステップS101で入力した入力文書対データが文対応付け問題に入力可能な形式である場合、文対応付け問題生成部201は、この入力文書対データをそのまま文単位入力文書対データとすればよい。
【0056】
次に、文変換部202は、学習済み多言語言語モデルパラメータを用いて、多言語言語モデルMにより、上記のステップS102で得られた文単位入力文書対データ(E,F)に含まれる各文を文ベクトルに変換する(ステップS103)。すなわち、文変換部202は、学習済み多言語言語モデルパラメータを用いて、多言語言語モデルMにより、文単位入力文書対データに含まれる文書Eを文ベクトル行列Hに変換すると共に、文単位入力文書対データに含まれる文書Fを文ベクトル行列Hに変換する。
【0057】
次に、文対応付け予測部203は、学習済み文対応付けモデルパラメータを用いて、文対応付けモデルMにより、文ベクトル行列H及びHから文対応付けスコア^Aを予測する(ステップS104)。なお、本ステップの処理の詳細については後述する。
【0058】
次に、文対応生成部204は、上記のステップS104で予測された文対応スコアを用いて、文対応データを生成する(ステップS105)。例えば、上記のステップS104で実施例1における文対応付け予測部203によって文対応付けスコア^Aが予測された場合、文対応生成部204は、文対応付けスコア^Aの要素^aijと予め決められた所定の閾値とを比較し、当該閾値以上の値を取る要素^aijに対応する文e及びfを対応付ける。一方で、上記のステップS104で実施例2における文対応付け予測部203によって文対応付けスコア^Aが予測された場合、文対応生成部204は、DPマッチングやILPによるマッチングにより、e,・・・,e|E|,e1:2,・・・,e|E|-N+1:|E|とf,・・・,f|F|,f1:2,・・・,f|F|-N+1:|F|とを対応付ける。
【0059】
このように、実施例1における文対応付け予測部203によって文対応付けスコア^Aを予測する場合、連続する文との対応関係を予測する際に文対応付けスコア^Aの各行及び各列で対応付けられるペアが複数個となり得るため、全体最適化が適用できず、閾値処理により文対応を決定することになる。これに対して、実施例2における文対応付け予測部203によって文対応付けスコア^Aを予測する場合、連続する文との対応関係は文対応付けスコア^Aの各行及び各列に値が1の要素が高々1つしか含まれない形で予測することができる。このため、実施例2における文対応付け予測部203によって文対応付けスコア^Aを予測することで、連続する文との対応付けにDPマッチングやILPによるマッチング等といった全体最適化に基づくアラインメントアルゴリズムの適用が可能になる。
【0060】
ステップS105に続いて、文対応生成部204は、上記のステップS105で生成した文対応データを予め決められた所定の出力先に出力する(ステップS106)。なお、所定の出力先としては、例えば、表示装置102、補助記憶装置107、通信ネットワークを介して接続される他の装置等が挙げられる。
【0061】
<文対応付けスコアの予測処理>
以下、上記のステップS104における文対応付けスコア^Aの予測処理の詳細について説明する。
【0062】
≪実施例1における文対応付けスコアの予測処理≫
実施例1における文対応付けスコア^Aの予測処理について、図6を参照しながら説明する。
【0063】
まず、文脈ベクトル計算部211は、文ベクトル行列H及びHを用いて、(C,C,C)=g([H;s;H])により文脈ベクトル行列C及びCを計算する(ステップS201)。
【0064】
そして、スコア計算部212は、上記のステップS201で計算された文脈ベクトル行列C及びCを用いて、上記の式(1)により文対応付けスコア^Aを計算する(ステップS202)。
【0065】
≪実施例2における文対応付けスコアの予測処理≫
実施例2における文対応付けスコア^Aの予測処理について、図7を参照しながら説明する。
【0066】
まず、文脈ベクトル計算部211は、文ベクトル行列H及びHを用いて、(C,C,C)=g([H;s;H])により文脈ベクトル行列C及びCを計算する(ステップS301)。
【0067】
次に、複数文文脈ベクトル計算部213は、上記のステップS301で計算された文脈ベクトル行列C及びCを用いて、複数文文脈ベクトル行列C1:N 及びC1:N を計算する(ステップS302)。
【0068】
そして、スコア計算部212は、上記のステップS302で計算された複数文文脈ベクトル行列C1:N 及びC1:N を用いて、Cの代わりにC1:N 、Cの代わりにC1:N とした式(1)により文対応付けスコア^Aを計算する(ステップS303)。
【0069】
[学習時]
次に、多言語言語モデルM及び文対応付けモデルMのパラメータが学習済みでないものとして、これらのパラメータを学習する場合について説明する。ここで、多言語言語モデルMのパラメータを学習する場合、学習時における文対応付け装置10には、多言語言語モデル用学習データが与えられる。一方で、文対応付けモデルMのパラメータを学習する場合、学習時における文対応付け装置10には、1以上の学習用文書対データが与えられる。
【0070】
多言語言語モデル用学習データとは、多言語言語モデルMを学習するための学習データのことである。多言語言語モデル用学習データには、少なくとも文対応付けの対象となる言語を含む複数の言語における各単言語の文書データ(例えば、文対応付けの対象となる言語が英語と日本語である場合、英語の文書データと日本語の文書データ等)が1つ以上含まれる。なお、多言語言語モデル用学習データには、更に、少なくとも文対応付けの対象となる2言語間(又は、同一言語の異なる方言間でもよい。)の対訳データ(例えば、文対応付けの対象となる言語が英語と日本語である場合、英語と日本語の対訳データ等)が1つ以上含まれていてもよい。
【0071】
学習用文書対データとは、文対応付けモデルMのパラメータ学習に用いられる文対応付けモデル用学習データを作成するための文書対データのことである。学習用文書対データは、文対応付けの対象となる2言語間(又は、同一言語の異なる方言間でもよい。)で何等かの対応関係(例えば、対訳関係)にある文書対のデータである。
【0072】
<学習時における文対応付け装置10のハードウェア構成例>
予測時における文対応付け装置10のハードウェア構成例と同様としてよいため、その説明を省略する。
【0073】
<学習時における文対応付け装置10の機能構成例>
学習時における文対応付け装置10の機能構成例を図8に示す。図8に示すように、学習時における文対応付け装置10は、文変換部202及び文対応付け予測部203に加えて、多言語言語モデル学習部301と、疑似文対応付けデータ作成部302と、文対応付け問題回答生成部303と、文対応付けモデル学習部304とを有する。これら各部は、例えば、文対応付け装置10にインストールされた1以上のプログラムが、プロセッサ108等に実行させる処理により実現される。また、学習時における文対応付け装置10は、多言語言語モデルパラメータ記憶部205と、文対応付けモデルパラメータ記憶部206とを有する。これら各記憶部は、例えば、補助記憶装置107等により実現可能である。
【0074】
多言語言語モデル学習部301は、与えられた多言語言語モデル用学習データを用いて、多言語言語モデルに関する既存の学習手法により、多言語言語モデルパラメータ記憶部205に記憶されている多言語言語モデルパラメータを学習する。
【0075】
疑似文対応付けデータ作成部302は、与えられた学習用文書対データを用いて、既存の文対応付け手法により文対応を求めた上で、この文対応を疑似的な正解データとして当該学習用文書対データに付与した疑似文対応付けデータを作成する。なお、例えば、K個の学習用文書対データが与えられた場合、K個の疑似文対応付けデータが得られる。ただし、例えば、これらの疑似文対応付けデータが人手等で作成され、学習時における文対応付け装置10に与えられてもよい。
【0076】
文対応付け問題回答生成部303は、疑似文対応付けデータに含まれる学習用文書対データを文対応付け問題に入力可能な形式に変換すると共に、当該疑似文対応付けデータに含まれる疑似的な正解データを文対応付けスコア^Aと同様の形式に変換する。すなわち、文対応付け問題回答生成部303は、学習用文書対データが表す文書対に含まれる各文書を文単位に区切ったデータを作成すると共に、疑似的な正解データを文対応付けスコア^Aと同様の行列形式の行列(以下、正解文対応付けスコアといい、Aで表す。)に変換する。
【0077】
以下では、予測時と同様に、学習用文書対データに含まれる1つ目の文書を文単位に区切ったものを文書E={e,e,・・・,e|E|}、2つ目の文書を文単位に区切ったものを文書F={f,f,・・・,f|F|})とする。これにより、疑似文対応付けデータは(E,F,A)との形式に変換される。以下、この形式に変換された疑似文対応付けデータを文対応付けモデル用学習データ(E,F,A)という。なお、K個の学習用文書対データが与えられた場合、K個の疑似文対応付けデータが作成されるため、K個の文対応付けモデル用学習データが得られる。
【0078】
文対応付けモデル学習部304は、文対応付けモデル用学習データ(E,F,A)を用いて、文対応付けモデルパラメータ記憶部206に記憶されている文対応付けモデルパラメータを学習する。ここで、文対応付けモデル学習部304は、既知の教師あり学習の手法により文対応付けモデルパラメータを学習すればよい。
【0079】
このとき、実施例1又は実施例2における文対応付け予測部203が用いられる場合、例えば、以下のBCE(Binary Cross Entropy) lossを損失関数として用いることができる。一方で、実施例2における文対応付け予測部203が用いられる場合、例えば、以下のSCE(Softmax Cross Entropy) lossを損失関数として用いることができる。なお、文対応付けモデルパラメータは、この損失関数の値を最小化するように、勾配法等といった既存の最適化手法を利用して学習(更新)される。
【0080】
・BCE loss
文脈ベクトル又は文n-gramベクトルの文対応を二値分類タスクとして学習する。この場合、式(1)に示すmlpの出力層の活性化関数としてシグモイド関数を用いる。ただし、式(1)に示すmlpの出力層の活性化関数として恒等関数を用いて、文対応付けスコア^Aの各要素^aijに対してシグモイド関数を適用してもよい。
【0081】
損失Lbceは、文対応付け予測部203によって予測された文対応付けスコア^Aと、正解文対応付けスコアAとの間のバイナリ交差エントロピーとして以下の式(2)で定義される。
【0082】
【数2】
ここで、σはシグモイド関数である。また、σ(^aij)(0≦σ(^aij)≦1)は文対応付けスコア^Aの(i,j)成分の要素(又は、式(1)に示すmlpの出力層の活性化関数として恒等関数を用いた場合は文対応付けスコア^Aの(i,j)成分の要素^aijに対してシグモイド関数を適用した値)、aij∈{0,1}は正解文対応付けスコアAの(i,j)成分の要素である。
【0083】
上記の式(2)で定義される損失Lbceによって、文対応付けモデルは多対多の文対応を直接的に学習することが可能となる。
【0084】
なお、実施例1における文対応付け予測部203が用いられる場合、上記の式(2)ではN=1とする。
【0085】
・SCE loss
文n-gramベクトルの文対応を多クラス分類タスクとして学習する。この場合、式(1)に示すmlpの出力層の活性化関数としてソフトマックス関数を用いる。
【0086】
損失Lsceは、参考文献5と同様に、E→F方向の対応付け損失LE→FとF→E方向の対応付け損失LF→Eとの和で定義する。すなわち、損失Lsceは、以下の式(3)~(5)で定義される。
【0087】
【数3】
ここで、mは正例と負例のスコア(対応付けスコア)の分離を促進するためのマージンである。
【0088】
絶対的な文対応付けスコアの予測を学習するBCE lossとは対照的に、SCE lossでは相対的な文対応付けスコアの予測を学習する。そのため、BCE lossで学習する場合と比較して、学習が容易になるという利点がある。
【0089】
<多言語言語モデルの学習処理>
以下、本実施形態に係る多言語言語モデルの学習処理について、図9を参照しながら説明する。
【0090】
まず、多言語言語モデル学習部301は、与えられた多言語言語モデル用学習データを入力する(ステップS401)。
【0091】
そして、多言語言語モデル学習部301は、上記のステップS401で入力した多言語言語モデル用学習データを用いて、既存の学習手法により、多言語言語モデルパラメータを学習する(ステップS402)。例えば、多言語言語モデル学習部301は、各単言語の文書データを用いて、単語穴埋めタスクにより多言語言語モデルパラメータを学習する。また、例えば、対訳データが多言語言語モデル用学習データに含まれる場合、多言語言語モデル学習部301は、対訳データを用いて、対照学習により多言語言語モデルパラメータを学習する。具体例を挙げれば、多言語言語モデルMとしてLaBSEを用いる場合、多言語言語モデル学習部301は、MLM(Masked Language Modeling)と呼ばれる手法により単言語の文書データから多言語言語モデルパラメータを学習すると共に、TLM(Translation Language Modeling)と呼ばれる手法により対訳データから多言語言語モデルパラメータを学習する。これにより、文の多言語埋め込み表現を得るための多言語言語モデルパラメータを学習することができる。
【0092】
<文対応付けモデル用学習データの作成処理>
以下、本実施形態に係る文対応付けモデル用学習データの作成処理について、図10を参照しながら説明する。なお、複数の文対応付けモデル用学習データを作成するには、以下のステップS501~ステップS503を繰り返し実行すればよい。
【0093】
まず、疑似文対応付けデータ作成部302は、与えられた学習用文書対データを入力する(ステップS501)。
【0094】
次に、疑似文対応付けデータ作成部302は、上記のステップS501で入力された学習用文書対データを用いて、既存の任意の文対応付け手法により文対応を疑似的な正解データとして求めた上で、この疑似的な正解データを当該学習用文書対データに付与して疑似文対応付けデータを作成する(ステップS502)。
【0095】
そして、文対応付け問題回答生成部303は、上記のステップS502で作成された疑似文対応付けデータを用いて、文対応付けモデル用学習データを作成する(ステップS503)。すなわち、文対応付け問題回答生成部303は、当該疑似文対応付けデータに含まれる学習用文書対データが表す文書対に含まれる各文書を文単位に区切ったデータと、当該疑似文対応付けデータに含まれる疑似的な正解データを文対応付けスコア^Aと同様の形式の行列に変換したデータとが含まれる文対応付けモデル用学習データ(E,F,A)を作成する。なお、当該学習用文書対データが文対応付け問題に入力可能な形式である場合、文対応付け問題回答生成部303は、この学習用文書対データをそのまま文対応付けモデル用学習データに含めればよい。同様に、当該疑似的な正解データが文対応付けスコア^Aと同様の形式の行列である場合、文対応付け問題回答生成部303は、この疑似的な正解データをそのまま正解文対応付けスコアAとして文対応付けモデル用学習データに含めればよい。
【0096】
<文対応付けモデルの学習処理>
以下、本実施形態に係る文対応付けモデルの学習処理について、図11を参照しながら説明する。
【0097】
まず、文対応付けモデル学習部304は、文対応付けモデル用学習データ(E,F,A)を入力する(ステップS601)。
【0098】
そして、文対応付けモデル学習部304は、上記のステップS601で入力された文対応付けモデル用学習データ(E,F,A)を用いて、文対応付けモデルパラメータ記憶部206に記憶されている文対応付けモデルパラメータを学習する(ステップS602)。すなわち、文対応付けモデル学習部304は、当該文対応付けモデル用学習データに含まれる文書E及びFに含まれる各文を文変換部202に入力し、学習済みの多言語言語モデルパラメータを用いて、予測時と同様に、多言語言語モデルMにより、文ベクトル行列H及びHを得る。次に、文対応付けモデル学習部304は、それらの文ベクトル行列H及びHを文対応付け予測部203に入力し、学習済みでない文対応付けモデルパラメータを用いて、文対応付けモデルMにより、文対応付けスコア^Aを予測する。そして、文対応付けモデル学習部304は、この文対応付けスコア^Aと、当該文対応付けモデル用学習データに含まれる正解文対応付けスコアAとを用いて、上記のBCE loss又はSCE lossを最小化するように、既存の最適化手法を利用して文対応付けモデルパラメータを学習(更新)する。これにより、文対応付けモデルパラメータが学習される。
【0099】
<評価実験>
本実施形態に係る文対応付け装置10(以下、提案手法ともいう。)の有効性を確認するために、日本語と英語の実際の新聞記事の対訳データを用いて文対応付けの精度と速度を評価する実験を行った。この実験により、提案手法では、一定の精度を維持したまま、既存手法と比べて高速な文対応付けを実現できることが確認できた。
【0100】
≪実験設定≫
ベースラインには、対訳コーパス作成の際のデファクト・スタンダードな手法の1つであり計算量が小さいVecalign(非特許文献1)と日英間の文アラインメントで世界最高精度を達成しているSpanAlign(参考文献4)を用いた。評価尺度には、文アラインメントの評価尺度として一般的に用いられている、文アラインメント単位でのF1スコアを採用した。
【0101】
≪データセット≫
学習、開発、及び評価のデータには、日本語の或る新聞記事とその翻訳となっている英字新聞の記事を使用した。学習データには、参考文献6に記載されている手法を利用して自動抽出した対訳文書2,989本とその文書内の文アラインメントを疑似的な正解データとして用いた。これらのデータは、2012年に発行された日本語記事317,491本と英語記事3,878本から抽出した。開発及び評価データには、2013年に発行された記事から人手でアラインメントを行ったものをそれぞれ15本ずつ用いた。以下の表1に各データの平均文数を示す。
【0102】
【表1】
≪モデル≫
提案手法では多言語言語モデルMとして事前学習済みのLaBSEを採用し、そのパラメータを固定して用いた。また、文対応付けモデルMでは、文脈ベクトルを計算するg(・)のTransformer Encoderは1層のencoder layerで構成し、multi-head attentionのhead数を8、隠れ層の次元を768、Feedforward層の次元を2048とした。更に、実施例2における文対応付け予測部203を利用する際は、文n-gramの最大文数Nは2とした。文対応生成部204が実行するアラインメントアルゴリズムとしてはILPを適用し、ILPソルバにはIBM ILOG CPLEX 12.8.0.0を用いた。
【0103】
Vecalignでの文アラインメントには非特許文献1の著者による実装を用いた。アラインメントに含まれる最大文数は8、文埋め込みベクトルを作成する際に結合する最大文数は10とした。また、多言語文埋め込みにはLASER(参考文献2)を用いた。SpanAlignでの文アラインメントについても参考文献4の著者による実装を用いた。更に、各種設定に関しては論文の設定に準拠した。
【0104】
≪実験結果≫
各手法における英日文アラインメントの精度と評価データの推論に要した実行時間を以下の表2に示す。
【0105】
【表2】
提案手法の中で、SCE lossを用いた手法はBCE lossを用いた手法よりも高いF1スコアが得られた。相対的な文対応付けスコアの学習により、スパース性による学習の難しさが緩和されたことが示唆される。
【0106】
また、Vecalignとの比較では、提案手法の文n-gram+BCE lossの方が0.32ptのF1スコアの向上が見られた。文脈ベクトル計算時の文脈情報の利用やILPによる非単調な文対応の抽出が精度向上に寄与したと考えられる。
【0107】
一方で、SpanAlignとの比較では、提案手法の文n-gram+BCE lossの方が0.48pt下回った。SpanAlignはトークン単位の文脈情報を考慮するのに対して、提案手法は文単位に圧縮された文脈情報を利用する。この文脈情報の粒度の違いが精度の差に繋がったと考えられる。評価データの推論に要した実行時間は、提案手法がSpanAlignの1/4程度であった。
【0108】
以上により、提案手法は、実用レベルの精度を維持しつつ、既存手法と比べて高速に文アラインメントを行えると結論づけることができる。
【0109】
次に、文脈情報の有効性を検証するため、文n-gramベクトルを用いた予測の際に、文脈ベクトルを計算するg(・)を除いたモデル(w/o context)を作成した。その際のアラインメントの精度を以下の表3に示す。
【0110】
【表3】
g(・)を除いたことにより文脈情報が用いられないため、大きく精度が低下したことがわかる。このため、文書対に含まれる各文書の両方の言語における文脈情報が精度向上に作用しているといえる。
【0111】
<まとめ>
以上のように、本実施形態に係る文対応付け装置10では、第1のドメインに属する第1の文書と第2のドメインに属する第2の文書とで構成される文書対が与えられたときに、第1の文書及び第2の文書に含まれる各文を同一の埋め込み空間内の埋め込み表現(文ベクトル)に変換した上で、これらの文ベクトルを用いて、その文ベクトルが属する文書において当該文ベクトルが表す文以外の文に関する情報(同一文書内の文外文脈情報)と、その文ベクトルが属しない他方の文書に関する情報(他ドメイン文書の情報)とを文脈情報として考慮した文脈ベクトルを計算する。これにより、第1の文書と第2の文書との間における文対応(文アラインメント)の精度を向上させることが可能となる。
【0112】
また、本実施形態に係る文対応付け装置10では、文脈ベクトルから文対応付けスコアを計算する際に、第1の文書に含まれる文アラインメント候補(文又は文集合)と第2の文書に含まれる文アラインメント候補(文又は文集合)との間のスコアを一度に計算することができる。これにより、文単位での特徴量(文ベクトル)へのダウンサンプリングに加えて、文アラインメントのスコアの計算を一度に行うことができるため、高速な予測を実現することが可能となる。
【0113】
<変形例>
以下、本実施形態の変形例について説明する。
【0114】
・変形例1
学習時における文対応付け装置10は、例えば、図12に示す機能構成例であってもよい。図12に示す文対応付け装置10の機能構成例では、1つの機械学習モデルで実現される文変換部202及び文対応付け予測部203を有する。なお、文対応付けモデルは文脈ベクトル計算モデルとスコア計算モデルにより実現されるため、図12に示す例では、文脈ベクトル計算モデルとスコア計算モデルをそれぞれ「第1のモデル」、「第2のモデル」と表記している。また、文変換部202を実現するモデルは多言語言語モデルに限られないため、図12に示す例では任意の文埋め込みモデルを「第3のモデル」と表記している。
【0115】
また、文変換部202と文対応付け予測部203は1つのモデルMで実現されており、第1のモデル~第3のモデルは当該モデルMに含まれる構成としている。第1のモデルパラメータ及び第2のモデルパラメータは第1・第2のモデルパラメータ記憶部206Aに記憶され、第3のモデルパラメータは第3のモデルパラメータ記憶部205Aに記憶されており、第1・第2のモデルパラメータ記憶部206A及び第3のモデルパラメータ記憶部205Aはモデルパラメータ記憶部207に含まれる構成としている。
【0116】
なお、第3のモデルパラメータを学習する際には、事前学習済みの多言語言語モデルのパラメータを当該第3のモデルパラメータの初期値として学習が行われてもよい。
【0117】
・変形例2
予測時における文対応付け装置10は、例えば、図13に示す機能構成例であってもよい。図13に示す文対応付け装置10の機能構成例は、図12と同様に、文脈ベクトル計算モデルとスコア計算モデルをそれぞれ「第1のモデル」、「第2のモデル」、文変換部202を実現するモデルを「第3のモデル」と表記している。また、文変換部202と文対応付け予測部203は1つのモデルMで実現されており、第1のモデル~第3のモデルは当該モデルMに含まれる構成としており、第1・第2のモデルパラメータ記憶部206A及び第3のモデルパラメータ記憶部205Aはモデルパラメータ記憶部207に含まれる構成としている。
【0118】
なお、上記の実施形態に係る文対応付け装置10は、文対応付けの対象となる文書のドメインによっては精度が低下することがあるという従来手法の課題に対して特定の改善を提供するものであり、文対応付けに係る技術分野の精度向上を示すものである。
【0119】
以上の実施形態に関して、更に以下の付記を開示する。
【0120】
(付記項1)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含む、
前記プロセッサは、
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算し、
前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算する、
文対応付け装置。
(付記項2)
メモリと、
前記メモリに接続された少なくとも1つのプロセッサと、
を含む、
前記プロセッサは、
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算し、
前記文脈ベクトルを用いて、第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算し、
前記スコアと、前記スコアに対する正解を表す正解スコアとの誤差を最小化するように、前記第1のパラメータと前記第2のパラメータとを学習する、
学習装置。
(付記項3)
前記プロセッサは、
与えられた文書対に含まれる文を入力として、第3のパラメータを設定した第3の機械学習モデルにより、前記文を、当該文の特徴を表す文ベクトルに変換し、
前記誤差を最小化するように、前記第1のパラメータと前記第2のパラメータと前記第3のパラメータとを学習する、
付記2に記載の学習装置。
(付記項4)
前記プロセッサは、
前記文脈ベクトルを用いて、1以上の連続する文の文脈ベクトルを表す複数文文脈ベクトルを計算し、
前記複数文文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記スコアを計算する、
付記項1に記載の文対応付け装置。
(付記項5)
前記プロセッサは、
前記文脈ベクトルを用いて、1以上の連続する文の文脈ベクトルを表す複数文文脈ベクトルを計算し、
前記複数文文脈ベクトルを用いて、前記第2のパラメータを設定した第2の機械学習モデルにより、前記スコアを計算し、
前記スコアと前記正解スコアとのバイナリ交差エントロピーを前記誤差として前記第1のパラメータと前記第2のパラメータとを学習する、又は、前記文書対に含まれる第1の文書から第2の文書への多クラス分類による文対応付けの損失と前記第2の文書から前記第1の文書への多クラス分類による文対応付けの損失との和を前記誤差として前記第1のパラメータと前記第2のパラメータとを学習する、
付記項2に記載の学習装置。
(付記項6)
文対応付け処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記文対応付け処理は、
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、学習済みの第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算し、
前記文脈ベクトルを用いて、学習済みの第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算する、
非一時的記憶媒体。
(付記項7)
学習処理を実行するようにコンピュータによって実行可能なプログラムを記憶した非一時的記憶媒体であって、
前記学習処理は、
与えられた文書対に含まれる文の特徴を表す文ベクトルを用いて、第1のパラメータを設定した第1の機械学習モデルにより、前記文ベクトルに対応する文が含まれる文書における他の文に関する情報と、前記文ベクトルに対応する文が含まれない文書に関する情報とを文脈情報として考慮した文脈ベクトルを計算し、
前記文脈ベクトルを用いて、第2のパラメータを設定した第2の機械学習モデルにより、前記文書対に含まれる文書間で文又は文集合を対応付けるためのスコアを計算し、
前記スコアと、前記スコアに対する正解を表す正解スコアとの誤差を最小化するように、前記第1のパラメータと前記第2のパラメータとを学習する、
非一時的記憶媒体。
【0121】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲の記載から逸脱することなく、種々の変形や変更、既知の技術との組み合わせ等が可能である。
【0122】
[参考文献]
参考文献1:Fangxiaoyu Feng, Yinfei Yang, Daniel Cer, Naveen Arivazhagan, and Wei Wang. Language-agnostic BERT sentence embedding. In Proceedings of the 60th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 878-891, Dublin, Ireland, May 2022. Association for Computational Linguistics.
参考文献2:Mikel Artetxe and Holger Schwenk. Margin-based parallel corpus mining with multilingual sentence embeddings. In Proceedings of the ACL-2019, pp. 3197-3203, 2019.
参考文献3:Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, and Illia Polosukhin. Attention is all you need. In Proceedings of the NIPS 2017, pp. 5998-6008, 2017.
参考文献4:Katsuki Chousa, Masaaki Nagata, and Masaaki Nishino. SpanAlign: Sentence alignment method based on cross-language span prediction and ILP. In Proceedings of the 28th International Conference on Computational Linguistics, pp. 4750-4761, Barcelona, Spain (Online), December 2020. International Committee on Computational Linguistics.
参考文献5:Yinfei Yang, Gustavo Hernandez Abrego, Steve Yuan, Mandy Guo, Qinlan Shen, Daniel Cer, Yun-Hsuan Sung, Brian Strope, and Ray Kurzweil. Improving multilingual sentence embedding using bi-directional dual encoder with additive margin softmax. arXiv preprint arXiv:1902.08564, 2019.
参考文献6:Masao Utiyama and Hitoshi Isahara. Reliable measures for aligning japanese-english news articles and sentences. In Proceedings of the ACL-2003, pp. 72-79, 2003.
【符号の説明】
【0123】
10 文対応付け装置
101 入力装置
102 表示装置
103 外部I/F
103a 記録媒体
104 通信I/F
105 RAM
106 ROM
107 補助記憶装置
108 プロセッサ
109 バス
201 文対応付け問題生成部
202 文変換部
203 文対応付け予測部
204 文対応生成部
205 多言語言語モデルパラメータ記憶部
206 文対応付けモデルパラメータ記憶部
207 モデルパラメータ記憶部
211 文脈ベクトル計算部
212 スコア計算部
213 複数文文脈ベクトル計算部
216 文脈ベクトル計算モデルパラメータ記憶部
226 スコア計算モデルパラメータ記憶部
301 多言語言語モデル学習部
302 疑似文対応付けデータ作成部
303 文対応付け問題回答生成部
304 文対応付けモデル学習部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13