(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-08-31
(45)【発行日】2022-09-08
(54)【発明の名称】テキスト生成装置、テキスト生成方法、およびプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20220901BHJP
G06F 16/906 20190101ALI20220901BHJP
【FI】
G06F40/56
G06F16/906
(21)【出願番号】P 2021121372
(22)【出願日】2021-07-26
【審査請求日】2021-07-26
(73)【特許権者】
【識別番号】397065480
【氏名又は名称】エヌ・ティ・ティ・コムウェア株式会社
(74)【代理人】
【識別番号】100083806
【氏名又は名称】三好 秀和
(74)【代理人】
【識別番号】100101247
【氏名又は名称】高橋 俊一
(74)【代理人】
【識別番号】100095500
【氏名又は名称】伊藤 正和
(72)【発明者】
【氏名】川前 徳章
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2019-049980(JP,A)
【文献】中国特許出願公開第112667780(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
アイテムの識別子、ユーザの識別子、ユーザによるアイテムに対するレビュー、およびユーザのアイテムに対する評価を学習データとして、アイテムの識別子とユーザの識別子を入力すると入力した識別子に相当するユーザによる入力した識別子に相当するアイテムに対するレビューを生成するとともに、同ユーザによる同アイテムに対する評価を生成するように学習した深層学習モデルと、
アイテムの識別子とユーザの識別子を前記深層学習モデルに入力し、前記ユーザによる前記アイテムに対するレビューと評価を出力する生成部を備え、
前記深層学習モデルは、アイテムと単語の分散ベクトルを入力して当該アイテムと単語に基づく第1ベクトルを出力するアスペクト層、ユーザと単語の分散ベクトルを入力して当該ユーザと単語に基づく第2ベクトルを出力するプリファレンス層、前記第1ベクトルと前記第2ベクトルを入力してトピックベクトルを出力するトピック層、前記第1ベクトルと前記第2ベクトルを入力し、前記第1ベクトルと前記第2ベクトルに重み付けして足し合わせた第3ベクトルを出力するゲート層、および前記第3ベクトルと前記トピックベクトルと一つ前の単語に基づいて次の単語を選択するテキスト生成層を備え、さらに、前記ユーザによるアイテムに対する評価を予測する評価予測層を備える
テキスト生成装置。
【請求項2】
請求項1に記載のテキスト生成装置であって、
前記深層学習モデルの出力する予測評価の誤差を最小化するとともに、前記深層学習モデルの出力する単語の確率関数の対数尤度を最大化するように前記深層学習モデルを学習する学習部を備える
テキスト生成装置。
【請求項3】
コンピュータが、
アイテムの識別子、ユーザの識別子、ユーザによるアイテムに対するレビュー、およびユーザのアイテムに対する評価を学習データとして、アイテムの識別子とユーザの識別子を入力すると入力した識別子に相当するユーザによる入力した識別子に相当するアイテムに対するレビューを生成するとともに、同ユーザによる同アイテムに対する評価を生成するように学習した深層学習モデルを保持して、
アイテムの識別子とユーザの識別子を前記深層学習モデルに入力し、前記ユーザによる前記アイテムに対するレビューと評価を出力し、
前記深層学習モデルは、アイテムと単語の分散ベクトルを入力して当該アイテムと単語に基づく第1ベクトルを出力するアスペクト層、ユーザと単語の分散ベクトルを入力して当該ユーザと単語に基づく第2ベクトルを出力するプリファレンス層、前記第1ベクトルと前記第2ベクトルを入力してトピックベクトルを出力するトピック層、前記第1ベクトルと前記第2ベクトルを入力し、前記第1ベクトルと前記第2ベクトルに重み付けして足し合わせた第3ベクトルを出力するゲート層、および前記第3ベクトルと前記トピックベクトルと一つ前の単語に基づいて次の単語を選択するテキスト生成層を備え、さらに、前記ユーザによるアイテムに対する評価を予測する評価予測層を備える
テキスト生成方法。
【請求項4】
請求項3に記載のテキスト生成方法であって、
コンピュータが、
前記深層学習モデルの出力する予測評価の誤差を最小化するとともに、前記深層学習モデルの出力する単語の確率関数の対数尤度を最大化するように前記深層学習モデルを学習する
テキスト生成方法。
【請求項5】
請求項1または2に記載のテキスト生成装置の各部としてコンピュータを動作させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、テキスト生成装置、テキスト生成方法、およびプログラムに関する。
【背景技術】
【0002】
商品を実際に手にとって確認できないECサイトなどでは、ユーザは商品のレビューを参考にして購入する商品を選ぶことが多い。商品のレビューを数多く用意することで、売上増加に貢献できる。
【0003】
機械学習したモデルを用いてテキストを生成する技術が知られている。従来のテキスト生成モデルは、テキスト集合からテキストを構成する単語の統計的パターンを学習し、テキスト生成モデルにいくつかの単語を与えると、与えられた単語に続く単語を統計的パターンに基づいて予測する。
【先行技術文献】
【非特許文献】
【0004】
【文献】Quoc-Tuan Truong and Hady W. Lauw, "Multimodal Review Generation for Recommender Systems", WWW'19, 2019, pp. 1864-1874
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来方法では同じようなテキストばかりが生成されるため、ユーザおよびアイテムごとに異なる多彩なレビューを生成することが難しいという問題があった。
【0006】
本発明は、上記に鑑みてなされたものであり、多彩なレビューを自動生成することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一態様のテキスト生成装置は、アイテムの識別子、ユーザの識別子、ユーザによるアイテムに対するレビュー、およびユーザのアイテムに対する評価を学習データとして、アイテムの識別子とユーザの識別子を入力すると入力した識別子に相当するユーザによる入力した識別子に相当するアイテムに対するレビューを生成するとともに、同ユーザによる同アイテムに対する評価を生成するように学習した深層学習モデルと、アイテムの識別子とユーザの識別子を前記深層学習モデルに入力し、前記ユーザによる前記アイテムに対するレビューと評価を出力する生成部を備え、前記深層学習モデルは、アイテムと単語の分散ベクトルを入力して当該アイテムと単語に基づく第1ベクトルを出力するアスペクト層、ユーザと単語の分散ベクトルを入力して当該ユーザと単語に基づく第2ベクトルを出力するプリファレンス層、前記第1ベクトルと前記第2ベクトルを入力してトピックベクトルを出力するトピック層、前記第1ベクトルと前記第2ベクトルを入力し、前記第1ベクトルと前記第2ベクトルに重み付けして足し合わせた第3ベクトルを出力するゲート層、および前記第3ベクトルと前記トピックベクトルと一つ前の単語に基づいて次の単語を選択するテキスト生成層を備え、さらに、前記ユーザによるアイテムに対する評価を予測する評価予測層備える。
【0008】
本発明の一態様のテキスト生成方法は、コンピュータが、アイテムの識別子、ユーザの識別子、ユーザによるアイテムに対するレビュー、およびユーザのアイテムに対する評価を学習データとして、アイテムの識別子とユーザの識別子を入力すると識別子に相当するユーザによる識別子に相当するアイテムに対するレビューを生成するとともに、同ユーザによる同アイテムに対する評価を生成するように学習した深層学習モデルを保持して、アイテムの識別子とユーザの識別子を前記深層学習モデルに入力し、前記ユーザによる前記アイテムに対するレビューと評価を出力し、前記深層学習モデルは、アイテムと単語の分散ベクトルを入力して当該アイテムと単語に基づく第1ベクトルを出力するアスペクト層、ユーザと単語の分散ベクトルを入力して当該ユーザと単語に基づく第2ベクトルを出力するプリファレンス層、前記第1ベクトルと前記第2ベクトルを入力してトピックベクトルを出力するトピック層、前記第1ベクトルと前記第2ベクトルを入力し、前記第1ベクトルと前記第2ベクトルに重み付けして足し合わせた第3ベクトルを出力するゲート層、および前記第3ベクトルと前記トピックベクトルと一つ前の単語に基づいて次の単語を選択するテキスト生成層を備え、さらに、前記ユーザによるアイテムに対する評価を予測する評価予測層を備える。
【発明の効果】
【0009】
本発明によれば、多彩なレビューを自動生成できる。
【図面の簡単な説明】
【0010】
【
図1】
図1は、本実施形態のテキスト生成システムの構成の一例を示す図である。
【
図2】
図2は、本実施形態で提案する深層学習モデルの一例を示す図である。
【
図3】
図3は、学習処理の流れの一例を示すフローチャートである。
【
図4】
図4は、テキスト生成処理の流れの一例を示すフローチャートである。
【
図5】
図5は、テキスト生成アルゴリズムの一例を示す図である。
【発明を実施するための形態】
【0011】
[システム構成]
以下、本発明の実施の形態について図面を用いて説明する。
【0012】
図1は、本実施形態のテキスト生成システムの構成の一例を示す図である。同図に示すテキスト生成システム1は、学習部10、生成部20、データ保存部30、および計算結果記憶部40を備える。テキスト生成システム1が備える各部は、演算処理装置、記憶装置等を備えたコンピュータにより構成して、各部の処理がプログラムによって実行されるものとしてもよい。このプログラムはテキスト生成システム1が備える記憶装置に記憶されており、磁気ディスク、光ディスク、半導体メモリなどの記録媒体に記録することも、ネットワークを通して提供することも可能である。
【0013】
テキスト生成システム1は、客観的要素(aspect)と主観的要素(preference)をテキスト生成モデルに組み込み、客観的要素と主観的要素をテキストの生成に反映する。例えば、客観的要素はアイテム(商品)であり、主観的要素はユーザである。テキスト生成システム1に、ユーザの識別子(以下、ユーザと称する)とアイテムの識別子(以下、アイテムと称する)を入力すると、当該ユーザが当該アイテムについて書きそうなレビューを生成する。これにより、画一的なレビューでなく、ユーザおよびアイテムに応じた多彩なレビューを自動生成できる。
【0014】
学習部10は、ユーザ、アイテム、ユーザによるアイテムに対するレビュー(テキスト)、およびユーザによるアイテムに対する評価を学習データとして入力し、テキスト生成条件(ユーザとアイテム)とテキストの客観的要素/主観的要素との対応を学習して、テキスト生成条件に合ったレビューを自動生成する深層学習モデルを構築する。
【0015】
生成部20は、サービス事業者5から受け付けたユーザおよびアイテムをテキスト生成条件として深層学習モデルに入力し、ユーザのアイテム対するレビューを生成するとともに、ユーザのアイテム対する評価を予測する。サービス事業者5は、例えば、ECサイトの運営事業者である。
【0016】
データ保存部30は、ユーザ、アイテム、レビュー、および評価などの学習データを保持する。学習データは、実際にユーザがアイテムに対して記載したレビューおよび評価であり、サービス事業者5によって収集される。
【0017】
計算結果記憶部40は、学習によって得られた深層学習モデルのパラメータ、ユーザやアイテムの分散ベクトル(分散埋め込み表現)などの計算結果を保持する。
【0018】
[提案モデル]
図2を参照し、本実施形態で提案するテキスト生成モデル(深層学習モデル)について説明する。同図に示すテキスト生成モデルは、長・短期記憶(LSTM)で構成されてテキストを生成するとともに、アイテムに対する評価を予測する。テキスト生成モデルは、アスペクトレイヤー、プリファレンスレイヤー、トピックコンポーネント、ゲートレイヤー、およびテキスト生成評価予測レイヤーを備える。
【0019】
アスペクトレイヤーは、アイテムとt番目の単語(文字列)の分散ベクトルの直和を入力し、式(1)により、LSMTの隠れ状態htを求める。
【0020】
【0021】
ここで、W*はプロジェクション行列であり、b*はバイアスである。σはシグモイド関数であり、φはtanh関数である。ft,it,ot,ctは、それぞれLSMTの忘却ゲート、入力ゲート、出力ゲート、記憶セルである。ew∈EWは単語の分散ベクトルであり、iei∈EIはアイテムの分散ベクトルである。
【0022】
また、アスペクトレイヤーは、アテンションメカニズムを適用し、LSTMの出力ha,tをまとめて、式(2)により、アスペクトベクトルaa,tを計算する。
【0023】
【0024】
ここで、vaはプロジェクションベクトルであり、Wa1,Wa2∈Rn×n、Wai∈Rn×n+Mはプロジェクション行列であり、baはバイアスである。ht∈Rnは位置tのLSTMの隠れ状態であり、ht(hのうえに~)∈Rnは位置tより前の位置<t(=1,2,…,t-1)のLSTMの隠れ状態である。
【0025】
プリファレンスレイヤーは、上記式(1)のieiを式(3)のようにユーザの分散ベクトルueu∈EUに置き換えて、ユーザと単語の分散ベクトルの直和を入力し、プリファレンスベクトルap,tを計算する。
【0026】
【0027】
なお、aa,tは、アスペクト観点の単語の分散ベクトルに相当し、ap,tは、プリファレンス観点の単語の分散ベクトルに相当する。
【0028】
トピックコンポーネントは、式(4)により、アスペクトレイヤーとプリファレンスレイヤーで得られたaa,tとap,tを用いて、位置tのトピックベクトルztを計算する。
【0029】
【0030】
ここで、Wzh∈R^k×2nはプロジェクション行列であり、bhz∈Rkはバイアスである。
【0031】
ゲートレイヤーは、式(5)により、アスペクトレイヤーとプリファレンスレイヤーで得られたaa,tとap,tをγu,tで重み付けして足し合わせてau,i,tを計算する。
【0032】
【0033】
ここで、Wγu∈R1×M、Wγa∈R1×nはプロジェクション行列であり、bγはバイアスである。γu,tが増加すれば、後段のテキスト生成において、プリファレンス(ユーザの主観)の影響が増加する。人手でγu,tを操作すると、生成されるテキストの主観的要素と客観的要素の影響度合いを変えることができる。
【0034】
テキスト生成評価予測レイヤーは、式(6)により、ゲートレイヤーで得られたau,i,t、トピックコンポーネントで得られたトピックzt、および前の位置の単語ewt-1を用いて、位置tの単語wtの出現確率を計算し、式(7)により、最も出現確率の高い単語を選択する。
【0035】
【0036】
【0037】
ここで、Wd∈RV×n、Wda∈Rn×n、Wdw∈Rn×Mはプロジェクション行列であり、bdはバイアスである。
【0038】
また、テキスト生成評価予測レイヤーは、式(8)により、ユーザuによるアイテムiへの評価ru,i(rの上に^)を計算する。
【0039】
【0040】
ここで、φはtanh関数である。Wl、blは、評価を予測するl番目のニューラル層のプロジェクション行列とバイアスである。Wr、brは、出力層のプロジェクション行列とバイアスである。評価の予測には、多層パーセプトロン(MLP)を利用でき、テキスト生成評価予測レイヤーは、アイテムに対する評価を予測するMLPを含む。
【0041】
[動作]
次に、
図3のフローチャートを参照し、学習処理について説明する。
【0042】
ステップS11にて、学習部10は、データ保存部30に保存されたユーザのアイテムに対するレビューと評価を取得し、レビューを単語に分割する。学習部10は、アイテム、ユーザ、およびユーザのアイテムに対するレビューと評価を学習データとして用いる。
【0043】
ステップS12にて、学習部10は、評価予測に関する二乗誤差を最小化し、式(6)の確率関数の対数尤度を最大化するように、モデルのパラメータを更新する。具体的には、学習部10は、式(9)の目的関数が最小となるように、モデルのパラメータを更新する。
【0044】
【0045】
ここで、二重線の“1”は、ユーザuがアイテムiに評価を付けていたときは1、評価を付けていないときは0となるインジケータ関数である。λrとλdは評価を予測するコンポーネントとテキストを生成するコンポーネントとの間の重要性のバランスをとるためのハイパーパラメータである。Θrp,Θdpは評価を予測するコンポーネントとテキストを生成するコンポーネントのパラメータの集合である。“||・||”は、行列のフロベニウスノルムを示す。Rは、ユーザ-アイテム評価マトリックスである。ru,iは、ユーザuがアイテムiに実際に付けた評価である。ru,i(rの上にハット)は、評価の予測値である。du,iは、ユーザuのアイテムiに対するレビューである。λrp,λdp,λu,λiはオーバーフィッティングを防止するための正則化パラメータである。
【0046】
学習部10は、評価予測とテキスト生成を同時に学習するので、予測評価に応じたレビューを生成できる。
【0047】
次に、
図4および
図5を参照し、テキスト生成処理について説明する。
図4は、生成部20の処理の流れの一例を示すフローチャートである。
図5は、テキスト生成処理のアルゴリズムの一例である。
【0048】
ステップS21にて、生成部20は、テキスト生成条件となるユーザuとアイテムiの識別子を入力し、ユーザの分散ベクトルueuとアイテムの分散ベクトルieiを求める。
【0049】
ステップS22にて、生成部20は、シードとなる最初の単語を数語入力する。例えば、最初は、テキストの始まりを示す“<str>”を入力する。シードとなる単語の後は、生成部20の出力した単語を入力する。
【0050】
生成部20は、ユーザ、アイテム、および単語の分散ベクトルをモデルに入力すると、ステップS23にて、アスペクトレイヤーとプリファレンスレイヤーにおいて、aa,tとap,tが求められる。
【0051】
ステップS24にて、トピックコンポーネントにおいて、ztが求められる。
【0052】
ステップS25にて、ゲートレイヤーにおいて、au,i,tが求められる。
【0053】
ステップS26にて、テキスト生成評価予測レイヤーおいて、単語が出力される。
【0054】
ステップS27にて、生成部20は、テキストの生成が終了したか否か判定する。生成部20は、テキストの終了を示す“<end>”が出力された場合、または出力されたテキストが最大文字数Tに達した場合に、終了と判定する。テキストの生成が終了していない場合は、ステップS22に戻り、次の単語の予測を開始する。
【0055】
ステップS28にて、モデルから出力された単語が順につなげられて、レビューd(うえに^)が生成される。
【0056】
ステップS29にて、テキスト生成評価予測レイヤーおいて、ユーザがアイテムに付ける予測評価r(うえに^)が計算される。
【0057】
以上の処理により、ユーザとアイテムを条件としたレビューと評価が得られる。
【0058】
以上説明したように、本実施形態のテキスト生成システム1は、アイテムi、ユーザu、ユーザによるアイテムに対するレビューd、およびユーザのアイテムに対する評価rを学習データとして、ユーザuとアイテムiを入力するとユーザによるアイテムに対するレビューを生成するとともに、ユーザによるアイテムに対する評価を生成するように学習したテキスト生成モデルと、アイテムとユーザをテキスト生成モデルに入力し、ユーザによるアイテムに対するレビューと評価を出力する生成部20を備える。テキスト生成モデルは、アイテムと単語の分散ベクトルを入力してaa,tを出力するアスペクトレイヤー、ユーザと単語の分散ベクトルを入力してap,tを出力するプリファレンスレイヤー、aa,tとap,tを入力してztを出力するトピックコンポーネント、aa,tとap,tを入力し、aa,tとap,tに重み付けγu,tして足し合わせたau,i,tを出力するゲートレイヤー、およびau,i,tとztと一つ前の単語ewt-1に基づいて次の単語を選択するとともに、ユーザによるアイテムに対する評価を予測するテキスト生成評価予測レイヤーを備える。これにより、テキスト生成条件として入力したユーザとアイテムに応じた多彩なレビューを自動生成できる。
【0059】
本実施形態のテキスト生成システム1は、学習部10が、予測評価の誤差を最小化するとともに、単語の確率関数の対数尤度を最大化するように、テキスト生成モデルを学習することにより、予測評価に応じたレビューを生成でき、生成するレビューの質の向上が期待できる。
【符号の説明】
【0060】
1 テキスト生成システム
10 学習部
20 生成部
30 データ保存部
40 計算結果記憶部
5 サービス事業者
【要約】 (修正有)
【課題】多彩なレビューを自動生成するテキスト生成装置、テキスト生成方法及びプログラムを提供する。
【解決手段】テキスト生成システム1は、アイテム、ユーザ、ユーザによるアイテムに対するレビュー及びユーザのアイテムに対する評価を学習データとして、ユーザとアイテムを入力するとユーザによるアイテムに対するレビューを生成するとともに、ユーザによるアイテムに対する評価を生成するように学習した生成モデルと、アイテムとユーザを生成モデルに入力し、ユーザによるアイテムに対するレビューと評価を出力する生成部20を備える。生成モデルは、アスペクト層、プリファレンス層、トピックコンポーネント、ゲート層及びテキスト生成評価予測層を備える。
【選択図】
図1