JP7320248B2 - 興味推定方法、興味推定装置および興味推定プログラム - Google Patents

興味推定方法、興味推定装置および興味推定プログラム Download PDF

Info

Publication number
JP7320248B2
JP7320248B2 JP2019126817A JP2019126817A JP7320248B2 JP 7320248 B2 JP7320248 B2 JP 7320248B2 JP 2019126817 A JP2019126817 A JP 2019126817A JP 2019126817 A JP2019126817 A JP 2019126817A JP 7320248 B2 JP7320248 B2 JP 7320248B2
Authority
JP
Japan
Prior art keywords
topic
interest
word
utterance
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019126817A
Other languages
English (en)
Other versions
JP2020053015A (ja
Inventor
通将 稲葉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Original Assignee
THE UNIVERSITY OF ELECTRO-COMUNICATINS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by THE UNIVERSITY OF ELECTRO-COMUNICATINS filed Critical THE UNIVERSITY OF ELECTRO-COMUNICATINS
Publication of JP2020053015A publication Critical patent/JP2020053015A/ja
Application granted granted Critical
Publication of JP7320248B2 publication Critical patent/JP7320248B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

特許法第30条第2項適用 平成30年7月9日公開 19th Annual Meeting of the Special Interest Group on Discourse and Dialogue公式サイト(https://www.sigdial.org/files/workshops/conference19/index.html) 平成30年7月12日開催 KTH Royal Institute of Technology主催「19th Annual Meeting of the Special Interest Group on Discourse and Dialogue Melbourne」 平成30年11月21日開催 一般社団法人人工知能学会主催 人工知能学会 言語・音声理解と対話処理研究会 第84回研究会「第9回対話システムシンポジウム」 平成31年3月1日発行 一般社団法人人工知能学会刊行「人工知能学会論文誌 2019年34巻2号」
本発明は、興味推定方法、興味推定装置および興味推定プログラムに関し、より詳細には、雑談対話時のユーザの発話からユーザの興味のあるトピックを高精度に推定する方法、装置およびそれを実現するためのコンピュータプログラムに関する。
人と人とのコミュニケーションにおいて雑談は重要であり、人の会話の約62%は雑談であるとの報告がある。また、人とコンピュータとの対話においても雑談は重要であり、ユーザの満足度向上の観点から、システムがユーザの経験や好みに応じてユーザと対話を行う雑談対話システムが求められている。
非特許文献1には、Twitter(登録商標)へ投稿されたテキストデータからユーザの興味を推定する方法が記載されている。すなわち、非特許文献1には、人名、イベント名、音楽グループ名といった固有表現の出現頻度により、Twitter(登録商標)ユーザの興味推定を行った例が記載されている。
Fabian Abel, Qi Gao, Geert-Jan Houben, and Ke Tao. 2011. Analyzing user modeling on twitter for personalized news recommendations. User Modeling, Adaption and Personalization pages 1-12.
しかしながら、Twitter(登録商標)ではユーザの興味のあることが投稿されるのに対して、雑談では相手に話を合わせて対話するため、ユーザは必ずしも興味のあることについてのみ発話するとは限らない。したがって、非特許文献1に示された興味推定の方法を雑談対話に適用することは必ずしも適切ではない。
本発明は、上記問題に鑑み、雑談対話中のユーザの発話からユーザが興味を持っているトピックを高精度に推定することができる興味推定方法、興味推定装置およびそれを実現するためのコンピュータプログラムを提供することを目的とする。
上記課題を解決し、本発明の目的を達成するため、本発明の興味推定方法は、以下、(a)~(e)のステップを含む。
(a)入力された文がどのようなトピックに属するかを、単語系列エンコーダ及びトピック別分類部により事前に推定するための事前学習を行うステップ、
(b)話者の発話に含まれる単語の系列から得られた単語ベクトル系列から、単語系列エンコーダにより隠れ状態ベクトル系列を作成するステップ隠れ状態ベクトル系列を作成するステップ、
(c)単語系列エンコーダにより作成された隠れ状態ベクトル系列から、単語アテンション部により発話ベクトルを作成するステップ、
(d)単語アテンション部により作成された発話ベクトルから、トピック別発話アテンション部により、興味トピックに関するコンテントベクトルを作成するステップ、
(e)トピック別発話アテンション部により作成されたコンテントベクトルから、興味推定部により興味トピックに対する発話者の興味度を求めるステップ。
また、本発明の興味推定装置は、入力された文がどのようなトピックに属するかを事前に推定するための事前学習を行うトピック別分類部と、入力された文がどのようなトピックに属するかを事前に推定するための事前学習を行うとともに、話者の発話に含まれる単語の系列から得られた単語ベクトル系列から隠れ状態ベクトル系列を作成する単語系列エンコーダと、単語系列エンコーダにより作成された隠れ状態ベクトル系列から発話ベクトルを作成する単語アテンション部と、単語アテンション部により作成された発話ベクトルから興味トピックに関するコンテントベクトルを作成するトピック別発話アテンション部と、トピック別発話アテンション部により作成されたコンテントベクトルから興味トピックに対する発話者の興味度を求める興味推定部と、を備える。
本発明の興味推定プログラムは、興味推定方法のステップ(a)~(e)に示される手順をコンピュータに実行させるプログラムである。
本発明によれば、ユーザの発話からユーザの興味を高精度に推定することが可能になる。
本発明の実施の形態例に係る興味推定方法の、ユーザ発話の処理の段階的な工程を示す図である。 本発明の実施の形態例に係る興味推定方法において、事前学習の工程を説明するための図である。 本発明の実施の形態例に係る興味推定方法において、実験で使用する24種類のトピックを示す図である。 本発明の実施の形態例に係る興味推定方法において、興味度を推定するときの実験で使用した実際の対話例を示す図である。 本発明の実施の形態例に係る興味推定方法において、実験で使用した統計情報のテーブルである。 本発明の実施の形態例に係る興味推定方法において、トピックの数1~24に対応するNDCGの値を、本発明の提案手法と他の手法とで比較して示した図である。 本発明の実施の形態例に係る興味推定方法の提案手法と他の手法とで、興味度と正解との間の平均二乗誤差を比較して示した図である。 本発明の実施の形態例に係る興味推定方法において、提案手法のトピック別発話アテンションを可視化した図である。 本発明の実施の形態例に係る興味推定方法の提案手法とは異なる、事前学習なしのトピック別発話アテンションを可視化した図である。 本発明の実施の形態例に係る興味推定方法において、トピックの数1~24に対応する、被験者数全体と被験者数を制限した場合および発話数を制限した場合のNDCGの値を比較して示した図である。 本発明の実施の形態例に係る興味推定方法において、学習データ量を100%から順に制限した場合の提案手法の性能評価(平均二乗誤差:MSE)結果を示す図である。
以下、図面を参照して、本発明の実施の形態例(以下、「本例」ということもある)を説明する。
本発明の実施の形態例では、まず、話者Sが他の話者(雑談対話システムを含む)との対話中に行ったときの、話者Sの発話集合Us=(u1、u2、・・・un)が与えられる。そして、この話者Sの発話集合Us=(u1、u2、・・・un)から、ある興味トピックT=(t1、t2、・・・、tm)に対する、話者Sの興味対象の度合い(興味度)Ys=(y1、y2、・・・、ym)が推定される。ここで、発話集合Usの各要素u1、u2、・・・unは、それぞれが異なる発話文を意味しており、各要素u1~unのそれぞれが後述する1つの発話文のベクトルX=(x1、x2、・・・xk)に相当する。
ここで、興味トピックTの個々の要素t(t~t)は、例えば映画や旅行などに対応する、m個の異なる具体的なトピックである。また、興味度Yの個々の要素である(y、y、・・・、y)は、具体的な一つのトピック「t」に対する話者Sの興味の度合い(興味度)「y」を意味する正解値である。この興味度「y」は、詳しくは後述するが、3段階で定義され、y=0は「興味なし」、y=1は「少し興味あり」、y=2は「興味あり」とされる。
なお、話者Sの発話から興味の推定を行うためには、以下の2つの情報を抽出することが必要である。
(i)その発話はどのようなトピックに関するものであるか
(ii)話者Sはそのトピックについてどの程度興味を持っているか
以上の2点を効率的に行うため、発明者は、ニューラルネットワークモデルと、このモデルの効率的な学習を行うための事前学習の手法を考えた。
図1、図2は、本発明の実施形態例で用いられる、話者Sと他の話者との間の自然言語での雑談対話からの興味推定方法の概要を示す提案モデルの例である。
図1、図2に示すように、本例の興味推定方法は、図1に示す4つの工程と図2に示す事前学習とに分けて説明される。すなわち、図1には、以下の4つの工程が示されている。
(1)単語系列エンコーダにより発話中の単語ベクトル系列から隠れ状態ベクトル系列を作成する工程、
(2)単語アテンション(Attention)部により、隠れ状態ベクトル系列から固定長ベクトルである発話ベクトルを作成する工程、
(3)トピック別発話アテンション(Attention)部により、入力された発話ベクトルからトピックごとに各トピックの重要度を示すコンテントベクトルを作成する工程、
(4)興味推定部により、トピック別発話アテンション部で作成されたコンテントベクトルから、各トピックの興味度を求める工程。
図1に示す上述した4つの工程の他に、さらに、本例の提案方法では、単語系列エンコーダによる事前学習の工程が必要とされる。
図2は、単語系列エンコーダの出力を、別に用意されたニューラルネットワークに供給して、どの発話がどのトピックに近いかを予め学習させるための事前学習の工程を示す。つまり、話者Sの発話から興味度を推定するには、話者Sの発話がどのトピックに対応しているのか予め知っておくとよい。このため事前学習では、入力文がどのトピックに関係しているかを事前に学習させる。この事前学習を導入することにより、後述するように、興味度の推定値が実際のユーザの興味に近いものとなる。
本例の興味推定方法(以下、「本例の提案方法」という)は、単語系列エンコーダ1、単語アテンション(Attention)2、トピック別発話アテンション(Attention)3、興味推定部4の4つニューラルネットワークが順に上述の処理を行い、かつ、図2に示すトピック別分類部5を用いて単語系列エンコーダ1の事前学習を行っている。
以下、単語系列エンコーダ1、事前学習のトピック別分類部5、単語アテンション部2、トピック別発話アテンション部3、興味推定部4の作用、機能等について、項目別に順に説明する。
<単語ベクトル系列の作成>
最初に発話文を単語に分割し、分割されたk個の単語は、Word2Vecによってベクトルに変換され、k個の要素を持つ単語ベクトルの系列X=(x1、x2、・・・、x)が得られる。ここで、Word2Vecは、「Word to Vector」を略記したものであり、単語からベクトルを生成するツールである。
上述の単語ベクトル系列の作成は、本例の提案方法において前処理として行われるものであるが、「話者が発話した発話文を単語に分割し、分割された単語を単語ベクトルに変換することで単語ベクトル系列を作成するステップ」として、また、本例の提案方法を実行する装置としては、「話者が発話した発話文を単語に分割し、分割された単語を単語ベクトルに変換することで単語ベクトル系列を作成する単語ベクトル系列作成部」として、本発明に組み入れられても良い。また、これらのステップを以下に記載の単語系列エンコーダの機能の1つとして組み入れても良い。
<単語系列エンコーダ1の機能>
単語系列エンコーダ1は、話者Sの発話した単語ベクトルの系列X=(x、x、・・・、x)をRNN(Recurrent Neural Network)を用いてエンコードする。
本例の提案方法では、RNNの中間層として双方向GRU(Bidirectional-Gated Recurrent Unit)が用いられる。
図1の単語系列エンコーダ1では、下段に単語ベクトルの系列Xを最初の単語ベクトルxから最後の単語ベクトルxの順に読み込む順方向GRU(forward GRU(GRU(→)))が配置され、上段に単語ベクトルの系列Xを最後の単語ベクトルxから最初の単語ベクトルxの順に読み込む逆方向GRU(backward GRU(GRU(←)))が配置されている。なお、明細書の中では、表記上の制約のため、「→」、「←」を文字の上に付与できないので、例えばGRU(→)のように、文字の後に括弧で示す。なお、「→」は順方向の矢印、「←」は逆方向の矢印を意味する。 話者Sの発話から切り出されたk個の単語の単語ベクトル(x、x、・・・、x)のそれぞれは、順方向GRUと逆方向GRUに同時に供給される。
図1では、順方向GRUと逆方向GRUを点線の枠で囲い、点線の枠に単語ベクトルxが入力され、点線の枠からの順方向GRUと逆方向GRUの合成ベクトルhが出力されるように表示されている。順方向GRUにおける隠れ状態ベクトルh(hidden state hi(→))は数1式により得られる。また、逆方向GRUにおける隠れ状態ベクトルh(hidden state hi(←))も、数式は示されていないが、数1式と同様の式により計算される。
Figure 0007320248000001
ここで、数1式は、単語ベクトルxと一つ前の隠れ状態ベクトルhi―1(→)とを入力とする順方向GRUによって、次の段の隠れ状態ベクトルh(→)を計算していることを意味する。
本例の提案方法では、目的となる隠れ状態ベクトルhiは、順方向GRUと逆方向GRUにそれぞれベクトル「xi」を入力した際の出力を用いて数2式により求められる。
Figure 0007320248000002
ここで、数2式の「{:}」はベクトルの連結を意味する。単語系列エンコーダ1で求められた隠れ状態ベクトルhは、次の処理を行うための単語アテンション部2に送られる。
<トピック別分類部5の機能(事前学習)>
ここで、図2に示されるトピック別分類部5の機能と事前学習について説明する。ユーザがどのトピックにどれだけ興味を持つかを推定するためには、まずユーザからの発話がどのようなトピックに関するものかを予め推定することが重要である。
全ての発話に人手でアノテーションする、つまり注釈をつけることも可能であるが、その作業コストは極めて高いものとなる。また、トピックの情報が明示的に与えられない場合には、ユーザの発話情報と発話したユーザの興味度から間接的にトピックを推定しなければならない。そこで、本例の提案方法では、単語系列エンコーダ1に対して、事前学習の考え方を導入している。
すなわち、発話中のトピックをより効果的に抽出するため、単語系列エンコーダ1とトピック別分類部5が、入力文のトピックの分類を行う。これが事前学習(Pre-training)である。
この事前学習では、分類クラスを本例の興味推定方法の対象とする興味トピックYと同一にすることが重要である。つまり、本例の興味推定方法において対象とする興味トピックYと分類クラスを同一にすることによって、発話と興味推定対象トピックの対応関係を推定するための学習コストが下がり、興味推定によりフォーカスされた適切な学習が可能となる。
例えば、図3で後述するように、旅行、映画、音楽・・・などのトピックを予め決めて、入力される文がどのトピックに属するかを予め学習させておく。すると、新たに入力される文がどのトピックに近いかを推定しやすくなる。「学習コストが下がる」というのは、このことを意味している。この事前学習により、単語エンコーダ1の出力にそれぞれのトピックに関する情報が内包される。これにより、本例の提案手法において、発話とトピックの関連付けが容易になり、興味推定に注力した学習が可能となる。
また、事前学習では、入力文の最後の単語ベクトル「x」を双方向GRUに入力する。そして、双方向GRUの隠れ状態ベクトル「h」を用いて、入力文の各トピックへの所属確率分布pを数3式で計算する。なお、ここでは、後述する単語アテンションは使用していない。また、最後の隠れ状態ベクトル「h」以外の隠れ状態ベクトル「h」は使用していない。
Figure 0007320248000003
ここで、Wc、bcは、事前学習時のみに使用されるトピック別分類のためのニューラルネットワークのパラメータである。ここでは、事前学習の損失関数として交差エントロピー誤差を用いている。
なお、ソフトマックス関数は、それぞれの出力を「0~1」の間の値に落とし込み、出力された値の合計が「1」になる関数である。
以上、本例の提案手法において、重要な役割を担う事前学習について説明したが、この事前学習については、図2を参照してさらに説明する。
図2は、単語アテンション部2で用いられるニューラルネットワークとは別の異なるニューラルネットワークに単語系列エンコーダ1の隠れ状態ベクトル「h」を入力して別の処理を行う事前学習について説明するための図である。
図2に示すように、トピック別分類部5には、単語エンコーダ1の出力のうち、最後の段階の隠れ状態ベクトル「h」が入力される。図1では単語エンコーダ1からk個の隠れ状態ベクトル「h」が出力されているが、数3式の所属確率分布pを求める際には、最終段の隠れ状態ベクトル「h」だけが用いられる。
すなわち、トピック別分類部5は、数3式で計算した所属確率分布pから、入力される隠れ状態ベクトル「h」がどのトピックに近いかを推定する。この事前学習により、入力される発話がどのトピックに近いかを予めニューラルネットワークに学習させることができる。
<単語アテンション部2の機能>
本例の提案手法では、「全ての単語が求めたい結果に平等に貢献するわけではない」という考えに基づき、単語アテンション部2が導入されている。
単語アテンション部2では、アテンション機構により単語ごとに異なる重み付けを行う。ここでアテンション機構とは、重要度が高い単語に注目させるためのニューラルネットワークの構造をいう。例えば、「私は野球が好きです」という発話の意味を理解するためには、「は」や「です」という単語よりも「野球」や「好き」という単語の方が、重要度が高い。したがって、単語アテンション部2は、「野球」や「好き」という単語に大きな重みを与える。
すなわち、図1に示すように、単語系列エンコーダ1の出力である隠れ状態ベクトル「h」は、単語アテンション部2に送られ、単語アテンション部2において、単語ごとに異なる重みづけが行われる。単語アテンション部2で重みづけがされた発話ベクトル「z」は、数4式、数5式、数6式によって求められる。
Figure 0007320248000004
数4式は、単語系列エンコーダ1の出力である隠れ状態ベクトル「h」を、ニューラルネットワークのパラメータWω、bωとハイパボリックタンジェント関数を用いて、異なる別のベクトル「vhi」に変換することを示している。
Figure 0007320248000005
Figure 0007320248000006
数5式の「αhi」は、数4式で求めた単語ベクトル「x」の重要度を示している。ここで、数5式の中の「vω」は、ニューラルネットワークで用いられる単語の重要度を計算するためのパラメータ(文脈ベクトル)である。「T」はベクトル同士の演算を行うときの転置記号である。
なお、単語の重要度を計算するための文脈ベクトル「vω」は、乱数により初期化され、他のパラメータと同様に学習により最適化される。
このように、単語アテンション部2は、入力される隠れ状態ベクトル「h」を基にして変換したすべての「vhi」に対して単一の文脈ベクトル「vω」を用いて、単語ベクトル「x」の重要度「αhi」を求めている。その意味では、単語アテンション部2は、ニューラル翻訳モデルやニューラル対話モデルのようなデコーダを用いて単語系列を生成する場合の通常のアテンションとは異なる。
また、数6式の発話ベクトル「z」は、単語ベクトル「x」を入力した際の隠れ状態ベクトル「h」と、その単語ベクトル「x」の重要度「αhi」との積をすべての単語ベクトル「x」(i=1~k)について加算して計算したベクトルである。この発話ベクトル「z」は、一つの単語ベクトル系列X=(x、x、・・・、x)の特徴を表している。
<トピック別発話アテンション部3の機能>
トピック別発話アテンション部3は、全てのトピック「t」(i=1~m)に関するコンテントベクトル(content vector)「cti」を求める。以下、コンテントベクトル「cti」の生成について説明する。
トピック別発話アテンション部3には、単語系列エンコーダ1及び単語アテンション部2によって、発話集合U=(u、u、・・・u)からエンコードされた発話ベクトル集合Zs=(z、z、・・・z)が供給される。
トピック別発話アテンション部3は、この発話ベクトルZを用いて、m種類(ここではm=24)のトピック「t」に関するコンテントベクトル「cti」を生成する。なお、コンテントベクトル「cti」は、各トピック「t」が埋め込まれたベクトル表現であり、数7式、数8式、数9式によって求められる。なお、数8式に用いられる「vti」は、図1に示すトピックベクトルである。
Figure 0007320248000007
Figure 0007320248000008
Figure 0007320248000009
ここで、数7式から数9式は、単語アテンション部2の機能のところで説明した数4式から数6式と類似している。
すなわち、数7式は、単語アテンション部2の出力である、単語の重要度を表す発話ベクトル「z」(j=1~n)が、別のニューラルネットワークのパラメータW、bとハイパボリックタンジェント関数を用いて、異なる別のベクトル「v」に変換される。
数8式の「αjti」は、数7式で求めた「v」を用いて計算した、トピック別発話アテンション部3のニューラルネットワークから出力される発話ベクトル「z」の重要度を示している。
ここで、図1に示されているトピックベクトル「vti」(i=1~m)は、発話ベクトルZ(z、z、・・・、z)の中のそれぞれの発話のトピック別の重要度を計算するためのベクトルである。このトピックベクトル「vti」は24種類(すなわち、m=24)があり、学習により最適化される。
また、数9式の「cti」は、各発話ベクトル「z」(j=1~n)と、その発話ベクトル「z」の取り得る重要度「αjti」との積をすべての発話ベクトル「z」について加算したものであり、コンテントベクトルといわれる。つまり、このコンテントベクトル「cti」は、一つの発話の重要度を示している。
このトピック別発話アテンション部3のニューラルネットワークに用いられるパラメータWは、24種類のトピック全てに用いられる共通のパラメータである。
<興味推定部4の機能>
トピック別発話アテンション部3で求められた各トピック「t」のコンテントベクトル 「cti」(i=1~m)は、興味推定部4に供給される。
興味推定部4は、このコンテントベクトル「cti」を用いて、トピック「t」に対する興味度「dti」を数10式によって求める。
Figure 0007320248000010
ここで、パラメータ「Wti」と「bti」は、トピック「t」の興味度推定のための新たなニューラルネットワークのパラメータであり、対象となる24種類のトピックごとに異なる。
また、数10式の「+1」は、興味度「dti」を、正解である興味度「y」と同じ「0~2」にスケーリングするための項である。
なお、学習の際の損失関数には、数11式で示されるように、正解である興味度「y」と数10式で求めた興味度「dti」の平均二乗誤差Lを用いることとした。
Figure 0007320248000011
本例の興味推定方法は、機械学習を利用するものであることから、事前学習を含む学習フェーズと学習結果を利用した推定フェーズとに分かれる。学習フェーズでは、学習データ(ユーザの発話とユーザの各トピックについての興味(正解)のデータセット)に基づく学習を行うことで単語系列エンコーダ1、単語アテンション部2、トピック別発話アテンション部3及び興味推定部4のぞれぞれにおいて各種パラメータが決定され、推定フェーズでは、学習フェーズで決定された各種パラメータを固定したうえで、テストデータ(ユーザの発話のみ)に基づいてユーザの興味の推定を行う。
本例の興味推定方法による処理を以下、実験例で示す。
<実験例>
以下、本例の興味推定方法(提案方法)の性能評価のために、2名の被験者が1対1で対話したチャットログから推定した興味度「dti」と、被験者が事前にアンケート回答した正解の興味度「y」との相関性を評価した実験例について説明する。
この実験では、「機械学習用ライブラリチェイナー(Chainer)」を用いて評価した。なお、チェイナー(Chainer)はニューラルネットワークの計算および学習を行うためのオープンソフトウェアライブラリである。
すなわち、本例の提案方法では、図1に示すように、単語系列エンコーダ1、単語アテンション部2、興味推定部4のほかに、新たにトピック別発話アテンション部3を組み込んで、実験用モデルを構築した。
対話を行う前に、各被験者には、図3に示す24種類のトピックそれぞれに対して、自分の興味の度合いを0(興味なし)、1(やや興味あり)、2(興味あり)の3択で選択してもらった。なお、図3のトピックは、Yahoo知恵袋(登録商標)から、被験者2人の初対面の対話で取り上げられやすい話題を中心に設定した。
対話は1回1時間とし、スカイプ(Skype:登録商標)のインスタントメッセンジャーを介して行った。対話を始めるに当たって、各被験者には「話の中で相手と自分の間で共通して興味のあることを見つけ、それについて話を膨らませていくことを心がけてください。」とだけ教示し、話すべき内容・話題についての指示は行わなかった。
図4は、被験者2人の実際の対話例を示す。ここでは、収集したすべてのチャットデータ中の発話を被験者別に分類し、1被験者が行った全ての発話とその被験者のアンケートの結果を1データとして扱った。図5は、データの統計情報を示したものである。
単語ベクトルの獲得は、Word2Vecを用いて、次元数200、ウィンドウサイズ5、最少出現頻度10とし、約100GBのTwitter(登録商標)データで学習を行った。
単語系列エンコーダ1の入力層の次元は200、双方向GRUの出力の次元は400、双方向GRUは1層とした。また、単語アテンション部2とトピック別発話アテンション部3は、入出力ともに400次元、興味推定部4の入力は400次元、出力は1次元とした。トピック別分類部5の入力は400次元、出力は24次元である。
なお、すでに説明したように、事前学習として行うトピック別分類の際には、トピック別分類の決定に用いたのと同じ、図3に示したトピックを使用した。各トピックに対応する質問文および回答文はYahoo知恵袋データ第2版から抽出した。77万文を学習データ、各トピック100文ずつの2400文をテストデータとした。事前学習の結果、テストデータのトピック分類正確率は0.755であった。
評価は、10分割交差検証により行った。なお、対話単位ではなく、データ単位(被験者単位)で交差検証を行ったため、学習データとテストデータの間で、同一の被験者による発話が使用されることはない。
本例の提案方法を、対話システムの話題選択に用いる場合、対話システムがその時点で対応できる話題の中から、より望ましい話題を選択するようにすることが重要である。そこで、本実験例では、推定した興味度「dti」に基づいて、各トピックの順位付けを行った。そして、ユーザが興味を持つトピックを上位に位置付け、興味を持たないトピックを下位に位置付けるように性能評価を行った。順位付けの評価尺度としては、情報検索の分野で広く使用されている指標であるNDCG(Normalized Discounted Cumulative Gain)を用いた。つまり、NDCGは、正規化されたDCGで、0~1の値をとり、1に近いほど順位の正しい予測結果となる。NDCGは、以下の数12式、数13式により計算される。
Figure 0007320248000012
Figure 0007320248000013
数12式で、IDCG(Ideal DCG)は順位リストの適合度が順に正しく並んだ場合のDCG、つまり理想とされるDCGである。IDCGは、上位K位までを考慮したIDCGであり、数12式のNDCGは、DCGはIDCGで正規化した値を示している。
数13式の「rel」は、i番目に順位付けされたターゲットに対する適合度を意味している。つまり、「rel」の適合度が高く、Kの値が大きくなるに従って適合度が小さくなる。「rel」を「logi」で割り算しているのは、「i」が大きくなるほど、適合度を小さくすることを意味している。
本例の実験例では、各トピックに対するユーザ「s」の興味度Yの値(0、1、2)を適合度とした。
本実験例では、初期パラメータを変更して、5回の10分割交差検証を実施した。そして、NDCGが最良の結果になったものを各手法の結果として採用した。ここで、NDCGを選択の基準として用いるのは、NDCGが大きな値であった場合、以降のKにおいてNDCGが高くなる傾向が観察されたためである。
また、各トピックに対するユーザの興味度を正しく推定できるかを評価するため、本例の提案方法とその他の手法で出力した興味度「dti」と正解「y」との平均二乗誤差(数11式)によって評価した。
図6は、本例の提案方法とその他の手法とで計算したK=1~24までのNDCGを示した実験結果である。すなわち、図6に示すように、本例の提案方法だけではなく、比較手法として本例の提案手法の一部を変更した3つの比較例による実験を行った。
1つ目の手法は、本例の提案手法における事前学習を行わないで、単語系列エンコーダ1の初期値を乱数として学習を行った「事前学習なし」である。この「事前学習なし」では、図2で説明した事前学習がないだけで、図1に示す単語系列エンコーダ1、単語アテンション部2、トピック別発話アテンション部3および興味推定部4のすべての処理を実施した。
2つ目の手法では、本例の提案方法における図2に示した事前学習は行ったが、トピック別発話アテンション部3によるコンテントベクトルの取得をせずに、他の手法(発話ベクトルのMax Pooling)の結果を用いてコンテントベクトルを取得して興味推定を行った。図6では、これを「トピック別発話アテンションなし」として示している。
3つ目の手法は、本例の提案手法における事前学習を行わず、かつ発話ベクトルのMax Poolingの結果を用いてコンテントベクトルを取得して興味推定を行う手法であり、図6では、「事前学習なし&トピック別発話アテンションなし」として示した。
また、以下の2つのベースライン手法についても比較の実験を行った。1つ目のベースライン手法は、Twitterユーザの興味推定手法として提案されたもので、図6では「トピック頻度」として示されている。これは、ユーザのツイートに含まれる固有表現を取得し、その頻度ベクトルによりユーザの興味を推定するものである。
2つ目のベースライン手法は、SVR(Support Vector Regression)を用いてユーザの興味度を推定する手法である。素性としては、ユニグラム(unigram)とバイグラム(bigram)が用いられる。ここでは、ユニグラム(unigram)だけを用いた場合と、両方を用いた場合で実験を行った。このSVRモデルでは、トピックごとに個別に学習を行い、各トピックの興味度の推定を行った。具体的には、SVRとしては、「scikit-learn」と呼ばれる機械学習ライブラリを用い、ガウシアンカーネルを用いた。
図6に示すように、NDCGの計算に用いるK=1~24のトピックについてNDCGの値をプロットした。図6から、本例の提案方法が、他の手法と比べて、すべてのKにおいて、NDCGが高いことが分かる。
本例の提案手法の次には、トピック別発話アテンションを適用しないで、事前学習を適用した比較例のNDCGが、良い結果だった。この結果から、トピック別発話アテンションはNDCGの向上に一定の役割を果たしている、つまり有効であると考えられる。
次に、本例の提案方法と事前学習なしの例を比較すると、本例の単語系列エンコーダ1、単語アテンション部2、トピック別発話アテンション部3および興味推定部4のすべてを適用しても、事前学習をしない場合には、本例の提案手法に比べて、NDCGの値が大幅に少なくなることが分かった。すなわち、本例で提案した事前学習の手法は、性能向上に極めて有効であることが理解された。
また、本例の提案方法で用いたトピック別発話アテンションを行なったが、事前学習を行わなかった比較例と、トピック別発話アテンションおよび事前学習の両方とも行わなかった比較例では、あまりNDCGの変化が見られなかった。すなわち、トピック別発話アテンションは事前学習を行わないとNDCGの向上に貢献しないことが分かった。このことからも、本例で提案する事前学習の有効性を確認することができた。
結論としては、事前学習とトピック別発話アテンションを同時に適用した本例の提案手法を使うことで、トピック別発話アテンションがない場合と比べて性能が向上している。このことから、本例の提案手法のように、事前学習を行った上で、トピック別発話アテンションを適用することが重要であることを確認することができた。これは、トピック別分類の事前学習を行うことで、発話ベクトルにトピックの情報が埋め込まれるため、数8式のトピックベクトル「vti」が効率的に学習可能になったためと考えられる。
SVRに関しては、ユニグラム(unigram)とバイグラム(bigram)を用いる場合よりも、ユニグラム(unigram)を単独で用いた方が良いNDCG性能を示した。しかし、本例の提案手法のようなニューラルネットワークベースの結果と比べるとはるかに劣る結果となった。
また、トピック頻度のベースラインは、K=1のときに、SVRよりも高いNDCGを示した。これはユーザが積極的に発言したトピックに対して、興味ありと正しく推定できたためであると考えられる。このトピック頻度のベースラインも、本例の提案手法や他のニューラルネットワークベースと比較すると劣る結果となり、トピック頻度のベースラインは、K≧4では、すべての手法の中で最低のNDCGになった。
図7は、各手法によって出力された興味度と正解との間の平均二乗誤差を(MSE)を計算して示した図である。ただし、図7では、興味度を直接出力しないトピック頻度ベースラインは除いている。図7に示すように、本例の提案手法では「0.533」と最も小さい値になっており、このことから、本例の提案手法によれば、適切な興味度の推定が可能であることが理解できる。言い換えると、本例の提案方法による平均二乗誤差(MSE)が最小になっていることから、本例の提案手法は他の手法と比べて最高の性能を示したということができる。
一方、ニューラルネットワークベース手法の中では、「事前学習なし」が最も性能が低いことから、事前学習とトピック発話アテンションを同時に行うことが重要であることが、図7からも理解することができる。
<トピック別発話アテンションの可視化による分析>
上述したように、本例で提案した、トピック別発話アテンションと事前学習を同時に適応することにより、良い性能(NDCG)とMSEが得られることが判明した。
そこで、次に、トピック別発話アテンションの分析を行うため、数8式で求められる発話文の重要度「αjti」の値をトピック別に計算し、これを可視化した。図8は、事前学習を行った本例の提案手法によるトピック別発話アテンションを可視化したものである。これに対して、図9は事前学習を行わないで、トピック別発話アテンションを可視化したものである。図8、図9とも濃い色であるほど発話文の重要度「αjti」が高いことを示している。
図8に示すように、本例の提案手法では、右側に記載した文(1)から(8)の内容に対応するトピックの重みが高い値(濃い色)になっていることが分かる。図9は、事前学習なしのトピック別発話アテンションを可視化したものである。図9では、発話文とトピックの重みとがほとんど関係していないことが分かる。例えば、文(5)は、興味推定にかかわる文ではないため、「事前学習あり」の図8では、すべてのトピックの重みが小さな値になっている。これに対して、図9では、文(5)に対して、映画、ゲーム、スポーツ、健康が比較的高い値になってしまっている。同様に文(7)、(8)でも、文の内容に関連が薄いトピックが大きな値をとっていることが分かる。
<学習データ量の分析>
ニューラルネットワークモデルの学習において、学習データの量は、モデルの性能を左右する極めて重要な要素の一つである。本例の提案方法を検証する実験(以下、「本実験」と称する)では、163名の被験者による408対話を収集したが、データとしては必ずしも十分な量ではなかった。したがって、学習データを追加することで、さらなる性能向上も期待できると考えられる。特に、学習データを追加するにあたり、1被験者当たりの発話数を増やすのか、もしくは被験者の数を増やすのかという収集方針の決定は、効率的なデータの収集という点で重要である。
そこで、本例の提案手法における学習データの量と性能の関係を分析するに当たって、学習データとして用いる被験者数および発話数を制限して10分割交差検証を行い、性能の変化を分析した。なお、10分割交差検証の際のテストデータとしての被験者数・発話数は制限していない。
図10は、10分割交差検証を行ったときのNDCGの結果を示したものである。図10では、学習に使用する被験者数を全体の10%、50%、90%に制限した結果と、1被験者当たりの発話数を、発話数全体の10%、50%、90%に制限した結果と、全データの結果(図6の提案方法と同じ)を示した。
図10から、発話数を制限するよりも、被験者数を制限した場合の方が、性能が落ちていることが分かる。特に、被験者数10%のNDCGは、性能が著しく低下している。一方、発話数を制限した場合には、全データを使用した場合と比べ、性能が低下しているものの、その影響は比較的小さいことが分かった。
図11は、被験者数と発話数の学習データへの使用率を10%から100%まで10%刻みで変化させた場合の平均二乗誤差をプロットしたものである。図11から分かるように、図10のNDCGの結果と同様に、発話数を制限するよりも、被験者数を制限する方が、平均二乗誤差(MSE)が大きくなっている。つまり、発話数を制限するよりも、被験者数を制限する方が、性能の低下が著しいことが分かる。
以上から、学習データを追加する場合には、1被験者当たりの発話数を増やすよりも、被験者数を増加させることが性能向上に寄与することが確認された。
以上説明したように、本実施の形態例では、雑話対話におけるユーザの発話を入力として、事前に設定したトピックに対するユーザの興味を、ニューラルネットワークモデルを使って推定する興味推定方法を提案した。この提案手法では、双方向GRUを用いた単語系列エンコーダと、単語アテンションによりユーザの発話をエンコードし、発話ベクトルの集合を得る。次に、この発話ベクトル集合からトピック別発話アテンションを用いて、推定対象の各トピックに対応するベクトルを生成する。そして最後に、このベクトルから対応するトピックに対する話者(ユーザ)の興味の度合いを推定する。
さらに、学習時には、単語系列エンコーダに対して、トピック別分類を行う事前学習を実施させてから、興味推定を行うようにした。
実験の結果は、すでに説明したとおり、本例の提案手法がベースライン手法に比べて、より的確に興味度を推定できることが確認された。また、本例で提案したトピック別発話アテンションとトピック別分類の事前学習を併用することが有効であることも確認された。
以上、本発明の実施の形態例について詳細に説明したが、本発明は、ここで説明した実施の形態例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨に逸脱しない限りにおいて、その他の応用例および変形例を含むことは言うまでもない。
1・・・単語系列エンコーダ、2・・・単語アテンション部、3・・・トピック別発話アテンション部、4・・・興味推定部、5・・・トピック別分類部

Claims (7)

  1. 入力された文がどのようなトピックに属するかを、単語系列エンコーダ及びトピック別分類部により事前に推定するための事前学習を行うステップと、
    話者の発話に含まれる単語の系列から得られた単語ベクトル系列から、前記単語系列エンコーダにより隠れ状態ベクトル系列を作成するステップと、
    前記単語系列エンコーダにより作成された前記隠れ状態ベクトル系列から、単語アテンション部により発話ベクトルを作成するステップと、
    前記単語アテンション部により作成された前記発話ベクトルから、トピック別発話アテンション部により、興味トピックに関するコンテントベクトルを作成するステップと、
    前記トピック別発話アテンション部により作成された前記コンテントベクトルから、興味推定部により前記興味トピックに対する発話者の興味度を求めるステップと、を含む
    興味推定方法。
  2. 入力された文のトピック別分類を予め学習する前記事前学習において、前記文のトピックを分類する分類クラスを、興味推定対象のトピックと同じにする、
    請求項に記載の興味推定方法。
  3. 前記隠れ状態ベクトル系列は、双方向GRUからなる前記単語系列エンコーダにより、双方向GRUの中の順方向GRUの出力と逆方向GRUの出力を合成して作成される、
    請求項1に記載の興味推定方法。
  4. 前記発話ベクトルは、単語ごとに異なる重みづけを行う前記単語アテンション部により作成される、
    請求項1に記載の興味推定方法。
  5. 前記コンテントベクトルは、トピック別に発話の重要性を計算する前記トピック別発話アテンション部により作成される、
    請求項1に記載の興味推定方法。
  6. 入力された文がどのようなトピックに属するかを事前に推定するための事前学習を行うトピック別分類部と、
    入力された文がどのようなトピックに属するかを事前に推定するための事前学習を行うとともに、話者の発話に含まれる単語の系列から得られた単語ベクトル系列から隠れ状態ベクトル系列を作成する単語系列エンコーダと、
    前記単語系列エンコーダにより作成された前記隠れ状態ベクトル系列から発話ベクトルを作成する単語アテンション部と、
    前記単語アテンション部により作成された前記発話ベクトルから興味トピックに関するコンテントベクトルを作成するトピック別発話アテンション部と、
    前記トピック別発話アテンション部により作成された前記コンテントベクトルから前記興味トピックに対する発話者の興味度を求める興味推定部と、を備える
    興味推定装置。
  7. 入力された文がどのようなトピックに属するかを、単語系列エンコーダ及びトピック別分類部により事前に推定するための事前学習を行う処理と、
    話者の発話に含まれる単語の系列から得られた単語ベクトル系列から、前記単語系列エンコーダにより隠れ状態ベクトル系列を作成する処理と、
    前記単語系列エンコーダにより作成された前記隠れ状態ベクトル系列から、単語アテンション部により発話ベクトルを作成する処理と、
    前記単語アテンション部により作成された前記発話ベクトルから、トピック別発話アテンション部により興味トピックに関するコンテントベクトルを作成する処理と、
    前記トピック別発話アテンション部により作成された前記コンテントベクトルから前記興味トピックに対する発話者の興味度を求める処理
    をコンピュータに実行させる興味推定プログラム。
JP2019126817A 2018-09-19 2019-07-08 興味推定方法、興味推定装置および興味推定プログラム Active JP7320248B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018174398 2018-09-19
JP2018174398 2018-09-19

Publications (2)

Publication Number Publication Date
JP2020053015A JP2020053015A (ja) 2020-04-02
JP7320248B2 true JP7320248B2 (ja) 2023-08-03

Family

ID=69997467

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019126817A Active JP7320248B2 (ja) 2018-09-19 2019-07-08 興味推定方法、興味推定装置および興味推定プログラム

Country Status (1)

Country Link
JP (1) JP7320248B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112329907A (zh) * 2020-12-24 2021-02-05 北京百度网讯科技有限公司 对话处理方法、装置、电子设备和存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180248895A1 (en) 2017-02-27 2018-08-30 Amazon Technologies, Inc. Intelligent security management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180248895A1 (en) 2017-02-27 2018-08-30 Amazon Technologies, Inc. Intelligent security management

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
奥井 颯平,LSTMを用いたパーソナル対話技術,一般社団法人 人工知能学会 第32回全国大会論文集DVD [DVD-ROM] 2018年度 人工知能学会全国大会(第32回),(一社)人工知能学会,2018年06月05日,4G2-02
田中 昂志,雑談対話システムのための未知語に頑健な興味推定手法,情報処理学会 研究報告 自然言語処理(NL) 2018-NL-235 [online] ,情報処理学会,2018年05月06日,Internet<URL:https://ipsj.ixsq.nii.ac.jp/ej/?action=repository_uri&item_id=187523&file_id=1&file_no=1>
稲葉 通将,雑談対話からのユーザの興味推定,第84回 言語・音声理解と対話処理研究会資料 (SIG-SLUD-B802) ,一般社団法人人工知能学会,2018年11月15日,pp.155~160,SIG-SLUD-B802-39
進藤 智則,パナソニックが深層学習で対話エンジン開発 対話技術コンテストで世界トップ級、ロボに応用へ,NIKKEI Robotics 第18号 ,日経BP社,2016年12月10日,pp.6~9

Also Published As

Publication number Publication date
JP2020053015A (ja) 2020-04-02

Similar Documents

Publication Publication Date Title
Meguro et al. Learning to control listening-oriented dialogue using partially observable markov decision processes
Yoon et al. Speech gesture generation from the trimodal context of text, audio, and speaker identity
US11176330B2 (en) Generating recommendation information
US11823061B2 (en) Systems and methods for continual updating of response generation by an artificial intelligence chatbot
Latif et al. Unsupervised adversarial domain adaptation for cross-lingual speech emotion recognition
Levitan et al. Automatic identification of gender from speech
CN110298436B (zh) 基于指针生成网络的数据到文本的生成模型
Wen et al. Dynamic interactive multiview memory network for emotion recognition in conversation
JP7407968B2 (ja) 音声認識方法、装置、設備及び記憶媒体
CN111159368B (zh) 一种个性化对话的回复生成方法
JP6951712B2 (ja) 対話装置、対話システム、対話方法、およびプログラム
CN109564572A (zh) 生成用于自动聊天的问题-答案对
CN112527966B (zh) 基于Bi-GRU神经网络和自注意力机制的网络文本情感分析方法
WO2018165932A1 (en) Generating responses in automated chatting
US20230121711A1 (en) Content augmentation with machine generated content to meet content gaps during interaction with target entities
CN105654250A (zh) 一种满意度自动测评的方法和装置
CN110008335A (zh) 自然语言处理的方法及装置
CN113326374B (zh) 基于特征增强的短文本情感分类方法及系统
JP5698105B2 (ja) 対話モデル構築装置、方法、及びプログラム
CN110069611B (zh) 一种主题增强的聊天机器人回复生成方法及装置
CN113360610A (zh) 基于Transformer模型的对话生成方法及系统
JP7320248B2 (ja) 興味推定方法、興味推定装置および興味推定プログラム
Huo et al. TERG: topic-aware emotional response generation for chatbot
Chen et al. Neural response generation with relevant emotions for short text conversation
WO2021229643A1 (ja) 音声信号変換モデル学習装置、音声信号変換装置、音声信号変換モデル学習方法及びプログラム

Legal Events

Date Code Title Description
A80 Written request to apply exceptions to lack of novelty of invention

Free format text: JAPANESE INTERMEDIATE CODE: A80

Effective date: 20190726

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220629

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230428

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230626

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20230711

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230714

R150 Certificate of patent or registration of utility model

Ref document number: 7320248

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150