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

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

▶ エヌ・ティ・ティ・コムウェア株式会社の特許一覧

特開2024-110090テキスト生成装置、テキスト生成方法、およびプログラム
<>
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図1
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図2
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図3
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図4
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図5
  • 特開-テキスト生成装置、テキスト生成方法、およびプログラム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024110090
(43)【公開日】2024-08-15
(54)【発明の名称】テキスト生成装置、テキスト生成方法、およびプログラム
(51)【国際特許分類】
   G06F 40/56 20200101AFI20240807BHJP
   G06F 40/44 20200101ALI20240807BHJP
【FI】
G06F40/56
G06F40/44
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023014447
(22)【出願日】2023-02-02
(11)【特許番号】
(45)【特許公報発行日】2024-05-23
(71)【出願人】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【弁理士】
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(72)【発明者】
【氏名】川前 徳章
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA21
(57)【要約】
【課題】条件の形式に関わらず、破壊的忘却の影響を受けにくいテキスト生成技術を提供する。
【解決手段】テキスト生成システム1は、学習部10と生成部20を備える。学習部10は、条件が付与されたテキストを入力してテキストから条件及び単語をトークンとして抽出し、マルチビューアテンションメカニズムを導入したTransformerのエンコーダとデコーダのそれぞれに条件と単語をトークンとして入力し、Transformerで予測される条件の予測精度を表す目的関数とテキストと条件との一致度を表す目的関数を最小化するようにTransformerを学習する。学習部は、2つの自己アテンションマスクMC,MSを用いて、トークンの参照範囲を動的に最適化する。生成部20は、テキスト生成の条件とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する。
【選択図】図1
【特許請求の範囲】
【請求項1】
条件に合ったテキストを生成するテキスト生成装置であって、
条件が付与されたテキストを入力して前記テキストから条件及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerのエンコーダとデコーダのそれぞれに前記条件と前記単語をトークンとして入力し、Transformerで予測される条件の予測精度を表す目的関数と前記テキストと前記条件との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、
テキスト生成の条件とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備え、
前記学習部は、2つの自己アテンションマスクを用いて、前記トークンの参照範囲を動的に最適化する
テキスト生成装置。
【請求項2】
請求項1に記載のテキスト生成装置であって、
前記2つの自己アテンションマスクのうち一方の自己アテンションマスクは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクであり、他方の自己アテンションマスクは、条件のトークンは全ての条件のトークンを参照でき、単語のトークンはそれまでに出現した単語のトークンのみを参照できる自己アテンションマスクである
テキスト生成装置。
【請求項3】
請求項1に記載のテキスト生成装置であって、
事前学習済みのTransformerを用い、
前記学習部は、新たに出現した前記条件と前記単語に関するパラメータのみを更新する
テキスト生成装置。
【請求項4】
条件に合ったテキストを生成するテキスト生成方法であって、
コンピュータが、
条件が付与されたテキストを入力して前記テキストから条件及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerのエンコーダとデコーダのそれぞれに前記条件と前記単語をトークンとして入力し、Transformerで予測される条件の予測精度を表す目的関数と前記テキストと前記条件との一致度を表す目的関数を最小化するようにTransformerを学習し、
テキスト生成の条件とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成し、
学習時に、2つの自己アテンションマスクを用いて、前記トークンの参照範囲を動的に最適化する
テキスト生成方法。
【請求項5】
請求項4に記載のテキスト生成方法であって、
前記2つの自己アテンションマスクのうち一方の自己アテンションマスクは、前記条件のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記条件のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクであり、他方の自己アテンションマスクは、条件のトークンは全ての条件のトークンを参照でき、単語のトークンはそれまでに出現した単語のトークンのみを参照できる自己アテンションマスクである
テキスト生成方法。
【請求項6】
請求項4に記載のテキスト生成方法であって、
事前学習済みのTransformerを用い、
学習時は、新たに出現した前記条件と前記単語に関するパラメータのみを更新する
テキスト生成方法。
【請求項7】
請求項1ないし3のいずれかに記載のテキスト生成装置の各部としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト生成装置、テキスト生成方法、およびプログラムに関する。
【背景技術】
【0002】
AIの応用分野の一つである自然言語処理の世界ではテキストの自動生成が登場している。近年のAIで自動生成されたテキストは人間が書いたテキストと見分けるのが難しいぐらいの品質である。次の段階として、条件を与えることで、AIが生成するテキストをコントロールすることが期待されている。例えば、条件として「宛先の人名」と「タイトル」をAIに与えると、その人名及びタイトルに沿ったテキスト(メール)を自動生成することが考えられる。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Fredrik Carlsson, Joey Ohman, Fangyu Liu, Severine Verlinden, Joakim Nivre, and Magnus Sahlgren,“Fine-Grained Controllable Text Generation Using Non-Residual Prompting”, ACL, 2022, pp. 6837-6857.
【非特許文献2】Alvin Chan, Yew-Soon Ong, Bill Pung, Aston Zhang, and Jie Fu, “CoCon: A Self-Supervised Approach for Controlled Text Generation”, ICLR, 2021
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、代表的な条件付きテキスト生成モデルであるNRP(非特許文献1)とCOCON(非特許文献2)は、学習に必要なデータ量が多く、テキスト生成のモデルを学習させるための計算機等のコストが高いという課題がある。また、学習済みのモデルを再学習する際に、破壊的忘却(catastrophic forgetting)が生じる課題がある。さらに、与える条件の形式(属性かフリーテキストか)や学習データに条件となる単語が含まれている単語の有無に応じてモデルを使い分ける必要がある。NRPとCOCONはともにテキスト向きのモデルであり、学習データに条件となる単語が含まれていない場合、学習したモデルの品質は低下する。
【0005】
本開示は、上記に鑑みてなされたものであり、条件の形式に関わらず、破壊的忘却の影響を受けにくいテキスト生成技術を提供することを目的とする。
【課題を解決するための手段】
【0006】
本開示の一態様のテキスト生成装置は、ユーザが入力した条件に合ったテキストを生成するテキスト生成装置であって、条件が付与されたテキストを入力して前記テキストから条件及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerのエンコーダとデコーダのそれぞれに前記条件と前記単語をトークンとして入力し、Transformerで予測される条件の予測精度を表す目的関数と前記テキストと前記条件との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、テキスト生成の条件とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備え、前記学習部は、2つの自己アテンションマスクを用いて、前記トークンの参照範囲を動的に最適化する。
【発明の効果】
【0007】
本発明によれば、条件の形式に関わらず、破壊的忘却の影響を受けにくいテキスト生成技術を提供できる。
【図面の簡単な説明】
【0008】
図1図1は、テキスト生成システムの構成の一例を示す図である。
図2図2は、深層学習モデルの一例を示す図である。
図3図3は、自己アテンションマスクの一例を示す図である。
図4図4は、事前学習済モデルを適用する範囲を示す図である。
図5図5は、テキスト生成システムの学習処理の流れの一例を示すフローチャートである。
図6図6は、テキスト生成システムのテキスト生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0009】
[システム構成]
以下、本発明の実施の形態について図面を用いて説明する。
【0010】
本実施形態のテキスト生成システムは、Transformerを利用し、テキスト生成の条件とシードワード(テキストの最初の数単語)を入力するとテキストを生成するシステムである。条件は、カテゴリ、名称、あるいは数値といった属性だけでなく、「~について」といったフリーテキストを指摘できる。本テキスト生成システムは、入力された条件に合ったテキスト生成をコントロールする。例えば、条件として自分の好みの音楽についてのフリーテキストを入力し、シードワードとして“I like this”を入力すると、“I like this music because I ...”のように、条件にあったテキストを生成する。
【0011】
Transformerは主に自然言語処理分野で用いられる深層学習モデルである。TransformerをLeft-to-Right Language modelとして利用すると、入力した単語からその次に出現する単語を確率的に予測し、これを再帰的に繰り返すことでデキストを生成できる。他方、マルチモーダル検索では検索対象(例えば画像)と単語を同じ意味空間に埋め込み、この空間上での距離に基づいて画像と単語から対象を検索できる。例えば、山の画像と「雪」という単語を入力すると、雪山の画像を検索できる。本実施形態では、条件とテキストのmodalityに着目し、条件となる属性とテキストを構成する単語を同一空間に配置し、その空間でモデルを学習した。より具体的には、Transformerにマルチビューアテンションメカニズムを導入して、一つのモデルの中で属性側と単語側の異なる言語モデルを学習した。提案モデルの詳細については後述する。
【0012】
図1は、本実施形態のテキスト生成システムの構成の一例を示す図である。図1に示すテキスト生成システム1は、学習部10、生成部20、データ保存部30、計算結果記憶部40、および入出力部50を備える。テキスト生成システム1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはテキスト生成システム1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリなどの記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0013】
学習部10は、条件として属性またはフリーテキストが付与されたテキスト群を学習データとして入力し、各テキストから条件(1つ以上の属性またはフリーテキストから抽出した単語)および単語をトークンとして抽出し、条件を単語と同じ意味空間に配置できるようにモデルを学習するとともに、テキストと対応する条件(群)が同じ意味空間に配置できるようにモデルを学習する。
【0014】
生成部20は、テキスト生成の条件およびシードワードを学習済みモデルに入力し、属性に応じたテキストを生成する。
【0015】
データ保存部30は、条件とテキストなどの学習データを保持する。学習データとして用いるテキストのそれぞれにはそのテキストを表す属性またはフリーテキストが付与されている。
【0016】
計算結果記憶部40は、テキストを生成する深層学習モデル、学習によって得られた深層学習モデルのパラメータ、条件や単語の分散ベクトル(分散埋め込み表現)などの計算結果を保持する。
【0017】
入出力部50は、ユーザ端末5から条件(属性でもフリーテキストでもよい)およびシートワードを入力して生成部20へ送信し、生成部20から生成したテキストを受信してユーザ端末5に返却する。
【0018】
[提案モデル]
図2を参照し、本実施形態で提案するモデルについて説明する。図2に示す提案モデルは、Transformer にマルチビューアテンションメカニズムを導入した深層学習モデルである。図2中のattribute partはTransformerのエンコーダ(デコーダあるいはMLPを用いることも出来る)であり、linguistic partはTransformerのデコーダである。attribute partには条件を入力し、linguistic partにはテキストを入力する。どちらの入力も単語あるいはサブワードから構成されるトークンに分割される。分割単位は利用するトークナイザあるいは利用するトークナイザの辞書により変化する。条件が属性で指定された場合は属性をattribute partに入力し、条件がフリーテキストで指定された場合はフリーテキストから抽出した単語をattribute partに入力する。
【0019】
マルチビューアテンションメカニズムは、トークンごとにコンテキスト(他のトークン)へのアクセスを制御するための参照可能な領域が異なる自己アテンションマスクを持つ。これにより、TransformerがBidirectional Language model(attribute part)とLeft-to-Right Language model (linguistic part)として学習しモデル間でパラメータを共有できる。
【0020】
図3に、自己アテンションマスクの一例を示す。図3に示すように、本実施形態では、2つの自己アテンションマスクMC,MSを備える。図3の例では、自己アテンションマスクを、縦方向に参照元の条件のトークンと単語のトークンを並べ、横方向に参照先の条件のトークンと単語のトークンを並べて示した。網掛けしたマスは参照可能なトークンを示す。自己アテンションマスクMCでは、条件のトークンは全ての条件のトークンと全ての単語のトークンを参照でき、単語のトークンは全ての条件のトークンとそれまでに出現した単語のトークンのみを参照できる。自己アテンションマスクMSでは、条件のトークンは全ての条件のトークンを参照でき、単語のトークンはそれまでに出現した単語のトークンのみを参照できる。本実施形態では、2つの自己アテンションマスクMC,MSを用いて、トークンの参照範囲を動的に最適化する。以下、マルチビューアテンションメカニズムを導入したTransformerについて説明する。
【0021】
アテンションとはトークン間(条件間、単語間、条件と単語間)の関連度を表すスコアである。そのスコア計算の際にマスクと呼ばれるトークンの参照の有無を利用する。各トークンがQ(クエリ),K(キー),およびV(バリュー)のベクトルを持つ。次式のように、マルチビューアテンション(MVA)は、Vの加重和であり、その加重はQとKを使って計算される。本実施形態では、同じ入力を2つの自己アテンションマスクMC,MSを用いて学習し、それぞれの学習結果を重みBCで重み付けることで、トークンの参照範囲を動的に最適化する。重みBCは、attribute partとlinguistic partの出力を結合した行列Aをシグモイド関数σに代入して求める。I(σ(A)>μ)は、σ(A)がμより大きければ1、μ以下であれば0となる。トークンの参照範囲を動的に最適化することで、かつ最終ブロックに適用することで破壊的忘却を回避できる。
【0022】
【数1】
【0023】
ここで、Wl Q,Wl K,Wl V∈Rd h ×d kは、Q,K,V∈Rx×d kのそれぞれを計算するための学習可能な重みである。xは入力した条件と単語のトークン数であり、dh及びdkは、クエリとキーの共有次元数である。MC,MS∈Rx×xは自己アテンションマスクである。MCは、単語のトークンについては後続(i<j)の単語を参照しないように無限に小さい値とする。MSは、トークンの種類が異なるときは無限に小さい値とする。
【0024】
HはTransformerを構成する隠れ層(レイヤ)であり、次式で表される。
【0025】
【数2】
【0026】
a 0はTransformerへの入力であって、各トークンについて、条件または単語の分散埋め込み表現(Token Embedding)、位置の分散埋め込み表現(Positional Embedding)、およびデータ形式の分散埋め込み表現(Segment Embedding)を合わせたものである。Ha lはl番目のレイヤの出力であり、次のレイヤへの入力である。
【0027】
なお、図2中の[CLS]は始まりを示すトークンであり、[EOA]は属性の終わりを示すトークンであり、[EOT]はテキストの終わりを示すトークンである。
【0028】
提案モデルは、学習タスクとしてMAMとALMを導入した。MAMによりTransformerのattribute partから予測される条件の予測精度を向上させる。MAMは条件の一部を除いたときの条件の予測精度を表し、MAMによりモデルがマスクした条件を正しく推定できるようにモデルを学習できる。MAMは次式で定義される。
【0029】
【数3】
【0030】
ζは学習するパラメータを表す。eaはマスクした条件のトークンの埋め込み表現であり、Transformerが予測する対象である。ep,enは、同時に入力した条件のトークンのうち、ポジティブなものとネガティブなものである。eaに意味的に近い条件のトークンがポジティブな条件のトークンであり、eaから意味的に遠い条件がネガティブな条件のトークンである。eaとepの差が小さく、eaとenの差が大きくなるほどより精度よくeaを予測できたことになる。MAMにより、全ての条件のそれぞれができるだけ0に近くなるように学習する。
【0031】
ALMは条件群とテキストを構成する単語群とのマッチング度合いを表す。ALMにより、条件群とテキストを構成する単語群とが近くなるように学習し、条件とテキストを同じ意味空間に配置する。ALMは次式で定義される。
【0032】
【数4】
【0033】
aは、条件またはテキストのベクトルの全体を表すベクトルである。例えば、同時に入力した条件またはテキストを構成するトークンのベクトルの平均をとったものである。条件付きテキスト群のそれぞれについて、条件とテキストを分けて、条件の全体とテキストの全体からそれぞれvaを生成する。同じシーケンス(1つの条件付きテキスト)から生成したva同士が近くなるようにALMを学習する。
【0034】
モデルの学習は、以下の目的関数Lを最大化することで実施する。
【0035】
【数5】
【0036】
FCTGは、linguistic partを学習するための目的関数であり、LFCTGを最小化することで、シードワードに続く単語の予測精度を向上させる。Dは学習用のテキスト群全体である。
【0037】
なお、事前に学習済みのTransformerを用いることで、計算量を低減できる。図4に示したlinguistic partの実線で示したTransformer Blockは、事前学習したパラメータで初期化する。破線で示したTransformer Blockは、ランダム値で初期化する。
【0038】
学習で更新したパラメータを次式であらわす。
【0039】
【数6】
【0040】
Q,K,Vは事前学習で求めたパラメータである。Q*,K*,V*は事後学習で更新したパラメータである。Qa,Ka,Vaは事後学習で出現した属性を構成するトークンのパラメータである。事後学習で、新たに出現したQa,Ka,Vaのみを更新することで、モデル学習の計算効率化を実現できる。
【0041】
[動作]
次に、図5のフローチャートを参照し、学習処理について説明する。
【0042】
ステップS11にて、学習部10は、データ保存部30から属性またはフリーテキストが付与された学習用のテキスト群を読み出して、tokenizeによりテキスト群をトークン(条件及び単語)に分割する。
【0043】
ステップS12にて、学習部10は、テキストそれぞれについて、条件と単語群をモデルに入力し、上記で示した目的関数を最小化するようにモデルのパラメータを更新する。
【0044】
次に、図6のフローチャートを参照し、テキスト生成処理について説明する。
【0045】
ステップS21にて、生成部20は、テキスト生成条件(属性またはフリーテキスト)およびシードワードをモデルに入力する。
【0046】
ステップS22にて、生成部20は、シードワードに続く単語をモデルから得る。
【0047】
ステップS23にて、生成部20は、テキストの生成が終了したか否か判定する。例えば、生成部20は、テキストの終了を示す“<end>”が出力された場合、またはテキスト長が所定の最大文字数に達した場合に終了と判定する。
【0048】
テキストの生成を続ける場合、ステップS21に戻り、得られた単語をシードワードの後に繋げてモデルに入力する。
【0049】
テキストの生成が終了した場合、ステップS24にて、生成部20は、シードワードに単語をつなげてテキストを出力する。生成されたテキストは、入出力部50からユーザ端末5へ返却される。
【0050】
以上説明したように、本実施形態のテキスト生成システム1は、学習部10と生成部20を備え、条件に合ったテキストを生成するシステムである。学習部10は、条件が付与されたテキストを入力してテキストから条件及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerのエンコーダとデコーダのそれぞれに条件と単語をトークンとして入力し、Transformerで予測される条件の予測精度を表す目的関数とテキストと条件との一致度を表す目的関数を最小化するようにTransformerを学習する。学習部は、2つの自己アテンションマスクMC,MSを用いて、トークンの参照範囲を動的に最適化する。生成部20は、テキスト生成の条件とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する。これにより、条件の形式に関わらず、破壊的忘却の影響を受けにくいテキスト生成技術を提供できる。
【符号の説明】
【0051】
1 テキスト生成システム
10 学習部
20 生成部
30 データ保存部
40 計算結果記憶部
50 入出力部
5 ユーザ端末
図1
図2
図3
図4
図5
図6