(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023135186
(43)【公開日】2023-09-28
(54)【発明の名称】テキスト生成装置、テキスト生成方法、およびプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20230921BHJP
G06F 40/44 20200101ALI20230921BHJP
【FI】
G06F40/56
G06F40/44
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2022040270
(22)【出願日】2022-03-15
(71)【出願人】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100083806
【弁理士】
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【弁理士】
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【弁理士】
【氏名又は名称】伊藤 正和
(72)【発明者】
【氏名】川前 徳章
【テーマコード(参考)】
5B091
【Fターム(参考)】
5B091CA21
5B091EA01
(57)【要約】
【課題】複数の条件を与えてもモデルの学習精度が落ちず、テキスト生成の条件を与える順序によらずモデルの学習結果は変化しないテキスト生成技術を提供する。
【解決手段】テキスト生成システム1は学習部10と生成部20を備える。学習部10は、属性が付与されたテキストを入力してテキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに属性と単語をトークンとして入力し、属性の一部を除いたときの属性の予測精度を表す目的関数とテキストと属性との一致度を表す目的関数を最小化するようにTransformerを学習する。生成部20は、テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する。
【選択図】
図2
【特許請求の範囲】
【請求項1】
条件に合ったテキストを生成するテキスト生成装置であって、
属性が付与されたテキストを入力して前記テキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、
テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備える
テキスト生成装置。
【請求項2】
請求項1に記載のテキスト生成装置であって、
前記マルチビューアテンションメカニズムは、前記属性のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記属性のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備える
テキスト生成装置。
【請求項3】
請求項1または2に記載のテキスト生成装置であって、
事前学習済みのTransformerを用い、
前記学習部は、新たに出現した前記属性と前記単語に関するパラメータのみを更新する
テキスト生成装置。
【請求項4】
条件に合ったテキストを生成するテキスト生成方法であって、
コンピュータが、
属性が付与されたテキストを入力して前記テキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習し、
テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する
テキスト生成方法。
【請求項5】
請求項4に記載のテキスト生成方法であって、
前記マルチビューアテンションメカニズムは、前記属性のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記属性のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備える
テキスト生成方法。
【請求項6】
請求項4または5に記載のテキスト生成方法であって、
事前学習済みのTransformerを用い、
学習時は、新たに出現した前記属性と前記単語に関するパラメータのみを更新する
テキスト生成方法。
【請求項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に前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備える。
【発明の効果】
【0007】
本発明によれば、複数の条件を与えてもモデルの学習精度が落ちず、条件が同じであればそれらを与える順序によらずモデルの学習結果は変化しないテキスト生成技術を提供することができる。
【図面の簡単な説明】
【0008】
【
図1】
図1は、本実施形態のテキスト生成システムの構成の一例を示す図である。
【
図2】
図2は、本実施形態で提案する深層学習モデルの一例を示す図である。
【
図3】
図3は、本実施形態のテキスト生成システムの学習処理の流れの一例を示すフローチャートである。
【
図4】
図4は、本実施形態のテキスト生成システムのテキスト生成処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【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は、属性が付与されたテキスト群を学習データとして入力し、各テキストから属性および単語をトークンとして抽出し、属性を単語と同じ意味空間に配置できるようにモデルを学習するとともに、テキストと対応する属性(群)が同じ意味空間に配置できるようにモデルを学習する。
【0014】
生成部20は、テキスト生成の条件となる属性およびシードワードを学習済みモデルに入力し、属性に応じたテキストを生成する。
【0015】
データ保存部30は、属性とテキストなどの学習データを保持する。学習データとして用いるテキストのそれぞれにはそのテキストを表す属性が付与されている。
【0016】
計算結果記憶部40は、テキストを生成する深層学習モデル、学習によって得られた深層学習モデルのパラメータ、属性や単語の分散ベクトル(分散埋め込み表現)などの計算結果を保持する。
【0017】
入出力部50は、ユーザ端末5から属性およびシートワードを入力して生成部20へ送信し、生成部20から生成したテキストを受信してユーザ端末5に返却する。
【0018】
[提案モデル]
図2を参照し、本実施形態で提案するモデルについて説明する。
図2に示す提案モデルは、Transformerにマルチビューアテンションメカニズムを導入した深層学習モデルである。
図2中の点線の枠はTransformerのデコーダの範囲を示す。
【0019】
マルチビューアテンションメカニズムは、トークン(属性および単語)ごとにコンテキスト(他のトークン)へのアクセスを制御するための参照可能な領域が異なる自己アテンションマスクを持つ。これにより、TransformerがBidirectional Language model(属性側)とLeft-to-Right Language model(単語側)として学習しモデル間でパラメータを共有できる。
図2の例では、自己アテンションマスクを、縦方向に参照元の属性aと単語tを並べ、横方向に参照先の属性aと単語tを並べて示した。
図2中のaはattribute tokenに相当し、tはtext tokenに相当する。黒丸は参照可能なトークンを示す。属性aは、全ての属性aと全ての単語tを参照できる。単語tは、全ての属性aとそれまでに出現した単語tのみを参照できる。Bidirectional Language modelに属性を入力し、Left-to-Right Language modelに単語を入力する。モデルには複数の属性を入力でき、属性の順序は問わない。以下、マルチビューアテンションメカニズムを導入したTransformerについて説明する。
【0020】
アテンションとはトークン間(属性間、単語間、属性と単語間)の関連度を表すスコアである。各トークンがQ(クエリ),K(キー),およびV(バリュー)のベクトルを持つ。次式のように、アテンションは、Vの加重和であり、その加重はQとKを使って計算される。本実施形態では、アテンションの計算にマルチビューアテンションメカニズムを導入し、コンテキストへのアクセスを制御した。
【0021】
【0022】
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を構成する隠れ層(レイヤ)であり、次式で表される。
【0023】
【0024】
H
a
0はTransformerへの入力であって、各トークンについて、属性または単語の分散埋め込み表現(Token Embedding)、位置の分散埋め込み表現(Positional Embedding)、およびデータ形式の分散埋め込み表現(Segment Embeding)を合わせたものである。H
a
lはl番目のレイヤの出力であり、次のレイヤへの入力である。なお、
図2中の[CLS]は始まりを示すトークンであり、[EOA]は属性の終わりを示すトークンであり、[EOT]はテキストの終わりを示すトークンである。
【0025】
提案モデルは、学習タスクとしてMAMとALMを導入した。MAMにより属性を単語と同じ意味空間に配置できるようにモデルを学習する。MAMは次式で定義される。
【0026】
【0027】
ζは学習するパラメータを表す。j番目のテキストにおける属性群をaj={aj,1,・・・,aj,i}、単語群をwj={wj,1,・・・,wj,i}とする。バックスラッシュを付したmはm番目の属性をマスクしたことを表す。MAMは属性の一部を除いたときの属性の予測精度を表し、MAMによりモデルがマスクした属性を正しく推定できるようにモデルを学習できる。
【0028】
ALMは次式で定義される。
【0029】
【0030】
単語群と属性群のスコアリング関数をsζ(w,a)とする。ALMは属性群とテキストを構成する単語群とのマッチング度合いを表す。ALMによりテキストと対応する属性(群)が同じ意味空間に配置できるようにモデルを学習できる。
【0031】
モデルの学習は、以下の目的関数Lを最小化することで実施する。
【0032】
【0033】
LCTGNはLeft-to-Right Language modelを学習するための目的関数であり、LCTGNを最小化することで、シードワードに続く単語の予測精度を向上させる。Dは学習用のテキスト群全体である。
【0034】
なお、事前に学習済みのTransformerを用いることで、計算量を低減できる。学習で更新したパラメータを次式であらわす。
【0035】
【0036】
Q,K,Vは事前学習で求めたパラメータである。Q*,K*,V*は事後学習で更新したパラメータである。Qa,Ka,Vaは事後学習で出現した属性および単語のパラメータである。事後学習で、新たに出現したQa,Ka,Vaのみを更新することで、モデル学習の計算効率化を実現できる。
【0037】
[動作]
次に、
図3のフローチャートを参照し、学習処理について説明する。
【0038】
ステップS11にて、学習部10は、データ保存部30からテキスト群を読み出して、tokenizeによりテキスト群をトークン(属性及び単語)に分割する。
【0039】
ステップS12にて、学習部10は、テキストそれぞれについて、属性群と単語群をモデルに入力し、上記で示した目的関数を最小化するようにモデルのパラメータを更新する。
【0040】
次に、
図4のフローチャートを参照し、テキスト生成処理について説明する。
【0041】
ステップS21にて、生成部20は、テキスト生成条件となる属性およびシードワードをモデルに入力する。
【0042】
ステップS22にて、生成部20は、シードワードに続く単語をモデルから得る。
【0043】
ステップS23にて、生成部20は、テキストの生成が終了したか否か判定する。例えば、生成部20は、テキストの終了を示す“<end>”が出力された場合、またはテキスト長が所定の最大文字数に達した場合に終了と判定する。
【0044】
テキストの生成を続ける場合、ステップS21に戻り、得られた単語をシードワードの後に繋げてモデルに入力する。
【0045】
テキストの生成が終了した場合、ステップS24にて、生成部20は、シードワードに単語をつなげてテキストを出力する。生成されたテキストは、入出力部50からユーザ端末5へ返却される。
【0046】
以上説明したように、本実施形態のテキスト生成システム1は、学習部10と生成部20を備え、条件に合ったテキストを生成するシステムである。学習部10は、属性が付与されたテキストを入力してテキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに属性と単語をトークンとして入力し、属性の一部を除いたときの属性の予測精度を表す目的関数とテキストと属性との一致度を表す目的関数を最小化するようにTransformerを学習する。生成部20は、テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する。これにより、複数の条件を与えてもモデルの学習精度が落ちず、条件を与える順序によらずモデルの学習結果は変化しないテキスト生成技術を提供できる。
【符号の説明】
【0047】
1 テキスト生成システム
10 学習部
20 生成部
30 データ保存部
40 計算結果記憶部
50 入出力部
5 ユーザ端末
【手続補正書】
【提出日】2023-07-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
条件に合ったテキストを生成するテキスト生成装置であって、
属性が付与されたテキストを入力して前記テキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、
テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備え、
前記マルチビューアテンションメカニズムは、前記属性のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記属性のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする
テキスト生成装置。
【請求項2】
請求項1に記載のテキスト生成装置であって、
事前学習済みのTransformerを用い、
前記学習部は、新たに出現した前記属性と前記単語に関するパラメータのみを更新する
テキスト生成装置。
【請求項3】
条件に合ったテキストを生成するテキスト生成方法であって、
コンピュータが、
属性が付与されたテキストを入力して前記テキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習し、
テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成し、
前記マルチビューアテンションメカニズムは、前記属性のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記属性のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする
テキスト生成方法。
【請求項4】
請求項3に記載のテキスト生成方法であって、
事前学習済みのTransformerを用い、
学習時は、新たに出現した前記属性と前記単語に関するパラメータのみを更新する
テキスト生成方法。
【請求項5】
請求項1または2に記載のテキスト生成装置の各部としてコンピュータを動作させるプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
本発明の一態様のテキスト生成装置は、条件に合ったテキストを生成するテキスト生成装置であって、属性が付与されたテキストを入力して前記テキストから属性及び単語をトークンとして抽出し、トークンの種別ごとに他のトークンへのアクセスを制御するマルチビューアテンションメカニズムを導入したTransformerに前記属性と前記単語をトークンとして入力し、前記属性の一部を除いたときの前記属性の予測精度を表す目的関数と前記テキストと前記属性との一致度を表す目的関数を最小化するようにTransformerを学習する学習部と、テキスト生成の条件となる属性とシードワードをTransformerに入力し、Transformerから再帰的に出力される単語をつなげてテキストを生成する生成部を備え、前記マルチビューアテンションメカニズムは、前記属性のトークンについては全てのトークンへのアクセスを可能とし、前記単語のトークンについては前記属性のトークンの全てと当該単語よりも前に出現した単語のトークンへのアクセスを可能とする自己アテンションマスクを備えて、Transformerがアテンションを求める際に、単語のトークンについては後続の単語のトークンを参照しないようにアテンションを無限に小さい値とする。