(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135193
(43)【公開日】2023-09-28
(54)【発明の名称】テキスト変換装置、テキスト変換方法、およびプログラム
(51)【国際特許分類】
G06F 40/151 20200101AFI20230921BHJP
【FI】
G06F40/151
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022040280
(22)【出願日】2022-03-15
(71)【出願人】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【弁理士】
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(72)【発明者】
【氏名】川前 徳章
【テーマコード(参考)】
5B109
【Fターム(参考)】
5B109TA11
(57)【要約】
【課題】学習データと計算コストを抑えて条件に沿ったテキストを生成する。
【解決手段】テキスト変換システム1は、学習部10と生成部20を備え、条件に従ってテキスト変換する。学習部10は、変換元テキストと変換後テキストと条件を入力して単語を抽出し、Transformerにモディファイドアテンションメカニズムを導入した深層学習モデルに変換元テキストと変換後テキストの単語と条件を学習データとして入力し、条件の一部を除いたときの条件の予測精度を表す目的関数と変換元テキストと変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する。生成部20は、変換元テキストと条件を学習済みのモデルに入力し、モデルから再帰的に出力される単語をつなげて変換後テキストを生成する。学習部10は、さらに、変換元テキストの示す評価値を入力し、変換後テキストの内容が評価値に合うようにモデルを学習し、生成部20は、変換後テキストの示す評価値を生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
条件に従ってテキストを変換するテキスト変換装置であって、
変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する学習部と、
変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成する生成部を備える
テキスト変換装置。
【請求項2】
請求項1に記載のテキスト変換装置であって、
前記学習部は、前記変換元テキストの示す評価値を入力し、前記変換後テキストの内容が当該評価値に合うように前記深層学習モデルを学習し、
前記生成部は、前記変換後テキストの示す評価値を生成する
テキスト変換装置。
【請求項3】
請求項1または2に記載のテキスト変換装置であって、
前記モディファイドアテンションメカニズムは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記変換後テキストの単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備える
テキスト変換装置。
【請求項4】
条件に従ってテキストを変換するテキスト変換方法であって、
コンピュータが、
変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習し、
変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成する
テキスト変換方法。
【請求項5】
請求項4に記載のテキスト変換方法であって、
学習時、前記変換元テキストの示す評価値を入力し、前記変換後テキストの内容が当該評価値に合うように前記深層学習モデルを学習し、
生成時、前記変換後テキストの示す評価値を生成する
テキスト変換方法。
【請求項6】
請求項4または5に記載のテキスト変換方法であって、
前記モディファイドアテンションメカニズムは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記変換後テキストの単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備える
テキスト変換方法。
【請求項7】
請求項1ないし3のいずれかに記載のテキスト変換装置の各部としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト変換装置、テキスト変換方法、およびプログラムに関する。
【背景技術】
【0002】
AIの応用分野の一つである自然言語処理の世界ではテキストの自動生成が登場している。近年のAIで自動生成されたテキストは人間が書いたテキストと見分けるのが難しいぐらいの品質である。次の段階として、条件を与えることで生成するテキストをコントロールすることが期待されている。例えば、条件として「宛先の人名」「タイトル」を与えると、その人名及びタイトルに沿ったテキストを自動生成することが考えられる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Nitish Shirish Keskar, Bryan McCann, Lav R. Varshney, Caiming Xiong, and Richard Socher, "CTRL: A CONDITIONAL TRANSFORMER LANGUAGE MODEL FOR CONTROLLABLE GENERATION", CoRR abs/1909.05858 (2019).
【非特許文献2】Sumanth Dathathri, Andrea Madotto, Janice Lan, Jane Hung, Eric Frank, Piero Molino, Jason Yosinski, and Rosanne Liu, "Plug and Play Language Models: A Simple Approach to Controlled Text Generation", In ICLR 2020.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、条件付テキストの生成は、モデルの学習に必要なデータが多く、そのモデルを学習させるための計算機等のコストが高いという課題がある。
【0005】
本発明は、上記に鑑みてなされたものであり、学習データと計算コストを抑えて条件に沿ったテキストを生成することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一態様のテキスト変換装置は、条件に従ってテキストを変換するテキスト変換装置であって、変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する学習部と、変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成する生成部を備える。
【発明の効果】
【0007】
本発明によれば、学習データと計算コストを抑えて条件に沿ったテキストを生成できる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施形態のテキスト変換システムの構成の一例を示す図である。
【
図2】
図2は、本実施形態で提案する深層学習モデルの一例を示す図である。
【
図3】
図3は、自己アテンションマスクの一例を示す図である。
【
図4】
図4は、学習処理の流れの一例を示すフローチャートである。
【
図5】
図5は、テキスト変換処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
[システム構成]
以下、本発明の実施の形態について図面を用いて説明する。
【0010】
本実施形態のテキスト変換システムは、変換の条件と変換元テキストを入力すると、入力した条件に応じて変換元テキストを変換するとともに、変換後のテキストのメタデータ(評価値)を生成する。例えば、“I like this music because the artist・・・”というテキストと「映画」という条件をテキスト変換システムに入力すると、テキスト変換システムは、条件に応じてテキストを変換した“I like this movie because the director・・・”というようなテキストと「0.6」という評価値を生成する。評価値は、変換後テキストの示す対象に対する評価である。例えば、変換後テキストが映画に対するレビューの場合、評価値はその映画に対する評価である。変換元テキストが好意的なレビューであれば変換後テキストも好意的なレビューとなり、良い評価値が出力される。評価値は、数値でもよいし、評価を示すクラスでもよい。
【0011】
図1は、本実施形態のテキスト変換システムの構成の一例を示す図である。
図1に示すテキスト変換システム1は、学習部10、生成部20、データ保存部30、計算結果記憶部40、および入出力部50を備える。テキスト変換システム1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはテキスト変換システム1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリなどの記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0012】
学習部10は、条件、変換元テキスト、条件に基づいて変換された変換後テキスト、および評価値を学習データとして入力し、条件とテキストを構成する単語を同じ意味空間に配置できるようにモデルを学習すると同時に、変換元テキストと変換後テキストとの間の編集距離が短くなるようにモデルを学習する。学習部10は、さらに、変換後テキストの内容が評価値に合うようにモデルを学習する。
【0013】
生成部20は、条件と変換元テキストを学習済みモデルに入力して変換元テキストを条件に従って変換し、変換後テキストと評価値を生成する。
【0014】
データ保存部30は、学習用データを保存する。学習データは、変換元テキスト、条件付きテキスト(条件と変換後テキスト)、および評価値を含む。
【0015】
計算結果記憶部40は、テキストを変換する深層学習モデル、学習によって得られた深層学習モデルのパラメータ、条件や単語の分散ベクトル(分散埋め込み表現)などの計算結果を保持する。
【0016】
入出力部50は、ユーザ端末5から条件および変換元テキストを入力して生成部20へ送信し、生成部20から変換後テキストと評価値を受信してユーザ端末5に返却する。
【0017】
[提案モデル]
図2および
図3を参照し、本実施形態で提案するモデルについて説明する。
図2に示す提案モデルは、Transformerにモディファイドアテンションメカニズムを導入した深層学習モデルであり、条件に従ってテキスト(SOURCE)を変換し、変換後のテキスト(TARGET)と評価値を生成する。Transformerは主に自然言語処理分野で用いられる深層学習モデルである。TransformerをLeft-to-right Language modelとして利用すると、入力した単語からその次に出現する単語を確率的に予測し、これを再帰的に繰り返すことでデキストを生成できる。モディファイドアテンションメカニズムは、単語間、条件間、または単語と条件間の関連度(Attention)を計算する際に、条件は双方向で参照でき、単語は条件とテキスト内で以前に出現した単語のみを参照できるようにする仕組みである。モディファイドアテンションメカニズムは、トークン(条件および単語)ごとにコンテキストへのアクセスを制御するための異なる自己アテンションマスクを持つことで、Transformerが条件側と単語側とでパラメータを共有できる。
【0018】
図3にモディファイドアテンションメカニズムで利用する自己アテンションマスクの一例を示す。
図3の例では、自己アテンションマスクを、縦方向に参照元の条件c、単語s、単語tを並べ、横方向に参照先の条件c、単語s、単語tを並べて示した。
図3中のcは条件のトークンに相当し、sは変換元テキストを構成する単語のトークンに相当し、tは変換後テキストを構成する単語のトークンに相当する。黒丸は参照可能なトークンを示す。単語sに関しては入力のみで出力がないので、単語s,tと条件cを参照しない。条件cは、単語s,tと条件cの全てを参照できる。単語tは、単語sの全てと条件cの全てと変換後テキストにおいてそれまでに出現した単語tのみを参照できる。以下、Transformerにモディファイドアテンションメカニズムを導入した提案モデルについて説明する。
【0019】
アテンションとはトークン間(条件間、単語間、条件と単語間)の関連度を表すスコアである。各トークンがQ(クエリ),K(キー),およびV(バリュー)のベクトルを持つ。次式のように、アテンションは、Vの加重和であり、その加重はQとKを使って計算される。本実施形態では、アテンションの計算にモディファイドアテンションメカニズムを導入し、別のトークンへのアクセスを制御した。
【0020】
【0021】
Wl
Q,Wl
K,Wl
V∈Rd
h
×d
kは、Q,K,V∈Rx×d
kのそれぞれを計算するための学習可能な重みである。xは入力したトークンの数、dh及びdkは、クエリとキーの共有次元数である。M∈Rx×xは自己アテンションマスクである。アテンションを求める際に、単語のトークンについては後続(i<j)の単語を参照しないように無限に小さい値とする。HはTransformerを構成する隠れ層(レイヤ)であり、次式で表される。
【0022】
【0023】
H
a
0はTransformerへの入力であって、各トークンについて、条件または単語の分散埋め込み表現(Token Embedding)、位置の分散埋め込み表現(Positional Embedding)、およびデータ形式の分散埋め込み表現(Segment Embeding)を合わせたものである。H
a
lはl番目のレイヤの出力であり、次のレイヤへの入力である。なお、
図2中の[CLS]は始まりを示すトークンであり、[EOC]は条件の終わりを示すトークンであり、[EOS]は変換元テキストの終わりを示すトークンであり、[EOT]は変換後テキストの終わりを示すトークンである。
【0024】
提案モデルは、学習タスクとしてSupervisionとMCCを導入した。
【0025】
Supervisionにより変換後テキストに対応する評価値を出力するようにモデルを学習する。提案モデルの備えるマルチレイヤパーセプトロン(MLP)でSupervisionが計算される。次式でMLPの各レイヤの出力Zが求められる。
【0026】
【0027】
ここで、cCはC番目の条件であり、Wlとblは、l番目のレイヤの学習されるプロジェクション行列とバイアスであり、φはハイパボリックタンジェント関数である。
【0028】
次式で、評価の予測値r(rのうえに^)を求める。
【0029】
【0030】
ここで、hTは最後の隠れ層のエッジの重みであり、σはシグモイド関数であり、HはMLPのレイヤ数である。評価の予測値r(rのうえに^)が学習データとして入力した評価値rに近くなるようにモデルを学習する。
【0031】
MCCにより属性を単語と同じ意味空間に配置できるようにモデルを学習する。MCCは次式で定義される。
【0032】
【0033】
ここで、ζは学習するパラメータを表す。j番目の入力における条件群をcj={cj,1,・・・,cj,i}、単語群をwj={wj,1,・・・,wj,i}とする。単語群は、変換元テキスト(SOURCE)と変換後テキスト(TARGET)の単語を含む。バックスラッシュを付したmはm番目の条件をマスクしたことを表す。MCCは条件の一部を除いたときの条件の予測精度を表し、MCCによりマスクした属性を正しく推定できるようにモデルを学習できる。
【0034】
また、変換の評価尺度として編集距離を導入し、次式で表されるレーベンシュタイン距離が近くなるようにモデルを学習する。
【0035】
【0036】
ここで、xは変換元テキスト、yは変換後テキストである。
【0037】
モデルの学習は、以下の目的関数を最小化することで実施する。
【0038】
【0039】
LCTSはTransformerデコーダを学習するための目的関数であり、LCTSを最小化することで、自己回帰的に生成する単語の予測精度を向上できる。
【0040】
なお、事前に学習済みのTransformerを用いることで、計算量を低減できる。学習で更新したパラメータを次式であらわす。
【0041】
[動作]
次に、
図4のフローチャートを参照し、学習処理について説明する。
【0042】
ステップS11にて、学習部10は、データ保存部30から学習用データを取得する。
【0043】
ステップS12にて、学習部10は、学習用データに含まれる変換前のテキストと変換後のテキストのそれぞれを形態素解析により単語に分割する。
【0044】
ステップS13にて、学習部10は、条件、変換前のテキストの単語、変換後のテキストの単語をモデルに入力し、上記で示した目的関数を最小化するようにモデルのパラメータを更新する。具体的には、
図2のモデルのCONDITIONSに条件、SOURCEに変換前のテキストの単語、TARGETに変換後のテキストの単語を入力し、目的関数を最小化するようにモデルのパラメータを更新する。
【0045】
次に、
図5のフローチャートを参照し、テキスト変換処理について説明する。
【0046】
ステップS21にて、生成部20は、元になるテキスト、条件、およびシードワードをモデルに入力する。シードワードはユーザ端末5から受信してもよいし、元になるテキストの最初の数ワードを利用してもよい。
【0047】
ステップS22にて、生成部20は、シードワードに続く単語をモデルから得る。
【0048】
ステップS23にて、生成部20は、テキストの生成が終了したか否か判定する。例えば、生成部20は、テキストの終了を示す“<end>”が出力された場合、またはテキスト長が所定の最大文字数に達した場合に終了と判定する。
【0049】
テキストの生成を続ける場合、ステップS21に戻り、得られた単語をシードワードの後に繋げてモデルに入力する。
【0050】
テキストの生成が終了した場合、ステップS24にて、生成部20は、シードワードに単語をつなげて変換後のテキストを出力するとともに、モデルから得られる評価値を出力する。生成されたテキストと評価値は、入出力部50からユーザ端末5へ返却される。
【0051】
以上説明したように、本実施形態のテキスト変換システム1は、学習部10と生成部20を備え、条件に従ってテキスト変換するシステムである。学習部10は、変換元テキストと変換後テキストと条件を入力して単語を抽出し、Transformerにモディファイドアテンションメカニズムを導入した深層学習モデルに変換元テキストと変換後テキストの単語と条件を学習データとして入力し、条件の一部を除いたときの条件の予測精度を表す目的関数と変換元テキストと変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する。生成部20は、変換元テキストと条件を学習済みのモデルに入力し、モデルから再帰的に出力される単語をつなげて変換後テキストを生成する。これにより、学習データと計算コストを抑えて条件に沿ったテキストを生成できる。
【0052】
学習部10は、さらに、変換元テキストの示す評価値を入力し、変換後テキストの内容が評価値に合うようにモデルを学習し、生成部20は、変換後テキストの示す評価値を生成する。
【符号の説明】
【0053】
1 テキスト変換システム
10 学習部
20 生成部
30 データ保存部
40 計算結果記憶部
50 入出力部
5 ユーザ端末
【手続補正書】
【提出日】2023-07-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
条件に従ってテキストを変換するテキスト変換装置であって、
変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する学習部と、
変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成する生成部を備え、
前記モディファイドアテンションメカニズムは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記変換後テキストの単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする
テキスト変換装置。
【請求項2】
請求項1に記載のテキスト変換装置であって、
前記学習部は、前記変換元テキストの示す評価値を入力し、前記変換後テキストの内容が当該評価値に合うように前記深層学習モデルを学習し、
前記生成部は、前記変換後テキストの示す評価値を生成する
テキスト変換装置。
【請求項3】
条件に従ってテキストを変換するテキスト変換方法であって、
コンピュータが、
変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習し、
変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成し、
前記モディファイドアテンションメカニズムは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記変換後テキストの単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする
テキスト変換方法。
【請求項4】
請求項3に記載のテキスト変換方法であって、
学習時、前記変換元テキストの示す評価値を入力し、前記変換後テキストの内容が当該評価値に合うように前記深層学習モデルを学習し、
生成時、前記変換後テキストの示す評価値を生成する
テキスト変換方法。
【請求項5】
請求項1または2に記載のテキスト変換装置の各部としてコンピュータを動作させるプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
本発明の一態様のテキスト変換装置は、条件に従ってテキストを変換するテキスト変換装置であって、変換元テキストと変換後テキストと条件を入力し、前記変換元テキストと変換後テキストから単語を抽出し、Transformerにトークンの種別ごとに他のトークンへのアクセスを制御するモディファイドアテンションメカニズムを導入した深層学習モデルに前記変換元テキストと変換後テキストの単語と前記条件を学習データとして入力し、前記条件の一部を除いたときの前記条件の予測精度を表す目的関数と前記変換元テキストと前記変換後テキストとの間の編集距離を最小化するように深層学習モデルを学習する学習部と、変換元テキストと条件を前記深層学習モデルに入力し、前記深層学習モデルから再帰的に出力される単語をつなげて変換後テキストを生成する生成部を備え、前記モディファイドアテンションメカニズムは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記変換後テキストの単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする。