言語処理学会 第26回年次大会 発表論文集 (2020年3月)

対話行為を導入した GPT による対話システムの構築
林益（名古屋工業大学）

田口亮（名古屋工業大学）

y.lin.635@nitech.jp ，taguchi.ryo@nitech.ac.jp

表1 異なる対話行為による応答の生成
1 はじめに発話文：
I really need to start eating healthier.
近年，Apple社の「Siri」，Google社の「Dialogflow」，応答文（Inform）：日本マイクロソフト社の「りんな」などの知能的なI know. I have been on a diet for a long time.
対話システムが提供されている．対話システムを構
応答文（Question）：
築する手法は主に検索ベース手法と生成ベース手
What are you going to do about it?
法がある．検索ベース手法は，あらかじめ用意され応答文（Directive）：
た応答データベースから検索アルゴリズムで発話
You should start eating fewer foods.
文の応答として相応しい応答を抽出する手法であ応答文（Commissive）：る．生成ベース手法は，Seq2Seq[1]などのEncoderI know. I know.
Decoder構造のモデルのEncoder部に発話文を入力し，Sutuskever ら[1]は Seq2Seq（Sequence-to-Sequence）
Decoder部による逐次的な単語選択で応答文を生成という LSTM を用いた系列変換モデルを提案した．
する手法である．本研究では生成ベースの対話シス
Seq2Seq は Encoder と Decoder の二つの RNN から構テムに着目する．
成される．入力系列を Encoder で読み込み，入力系列生成ベースの対話システムは急速に進歩していが読み終わると Decoder の隠れ層の初期値が Encoder
るが，多様性の低い応答文や一般的な応答文（例えの隠れ層の最終値で設定され，Decoder は出力終了をばI don’t knowなど）を生成する傾向があることをLi意味する<eos>を出力するまでに出力系列を逐次的ら[2]が指摘している．この問題は，学習データセッに出力を続ける．Encoder に双方向 RNN を使用する
トに一般的な応答が高頻度で存在し，その応答が多ことで入力系列全体の特徴表現を抽出する性能が向様な発話文に対応できることに起因する．この問題上される．
点を解決するために，近年二つの方向の解決手法が
しかし，Seq2Seq モデルは入力系列を固定長のベク提案されている．一つ目は，生成ベースモデルの改トルでしか表現できないため，入力系列が長いほど良である．元のEncoder-Decoder構造のモデルを，Decoder がデコードするパフォーマンスが悪化する
Serban[3]らは強化学習，Caoら[4]はVAE，Liら[5]はという問題がある．この問題点に対して，Luong ら目的関数の改良により応答の多様性を向上した．二[11]は注意機構を Seq2Seq モデルに応用した．注意機
つ目は，多様な対話情報の入力である．Serbanら[6]構は，Encoder の各時刻の隠れ層値をメモリに保持し，は対話履歴の入力，Zhouら[7]はエモーション情報のDecoder がデコードする時にメモリを参照する機構
入力，Zhangら[8]は話者の個性（personality）の入力，である．注意機構の逐次的なメモリ参照により，モデKumarら[9]は対話行為の入力により応答の多様性をルのデコードする性能を改善した．
向上する．
2.2 GPT
本研究では，(1)現在，自然言語処理研究で注目さRadford ら[10]は GPT（Generative Pre-Training）とれている事前学習モデルのGPT[10]を対話生成タスいう Transformer の Decoder 部を用いた事前学習言語
クにFine-tuningすることで既存のEncoder-Decoderモモデルを提案した．GPT の言語モデルの事前学習はデルより応答性能の向上を示す．さらに，(2)対話行
7000 冊の本から構成される BooksCorpus データで，為情報をGPTモデルに入力することで，GPTモデル次単語を予測できるように学習を行う．の応答生成性能の向上を示す．そして，(3)同じ発話
GPT の Fine-tuning は Multi-task 学習になっており，文に対して，応答文の異なる対話行為を定義するこ
特定タスクのコーパスの言語モデルとタスクラベルとで，表1のような異なる対話行為の応答を生成すの両方を学習する．教師ありデータ𝐶 = {𝑥1 , … , 𝑥𝑚 , 𝑦}ることを目指す．
を与える場合，言語モデルの目的関数𝐿1 は式(1)で表される．Φは GPT のパラメーターを表す．
2 先行研究(1)
𝐿 = ∑ log 𝑃(𝑥 |𝑥 , … , 𝑥 ; Φ)

2.1

Seq2Seq と注意機構

1𝑖

1

𝑖−1𝑖

― 319 ―

Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

タスクラベルの学習は，言語モデルの最終層とタスク固有層を付け加えたニューラルネットワークを使ってラベルありの特定タスクを解き，言語モデルとタスク固有層のパラメーターを適応させる．特定𝑙
タスクの目的関数𝐿2 を式(2)に示す．ℎ𝑚は最終時刻のGPT 最終層の隠れ層，𝑊は固有層のパラメーターを表す．

応答文の条件付き言語モデルの損失と，発話文に対応する応答文の判別損失の重み和となる．

3.3

対話行為を入力した GPT の Fine-tuning

本研究では，TransferTransfo を参考にして，対話行
為情報を入力するために対話行為を表現する対話行
為 Embedding を GPT 入力 Embedding 層に追加した．
入力系列の Embedding は，単語の意味を表現する「単語 Embedding 」 ， 単 語 の 順 番 情 報 を 表 す 「 位 置Embedding」，発話文と応答文の分別する「セグメン𝐿2 = ∑ log 𝑃(𝑦|𝑥1 , … , 𝑥𝑚 )ト Embedding」，対話行為情報を表現する「対話行為
(𝑥,𝑦)
(2)
Embedding」の埋め込みの総和である．対話行為を入𝑙𝑃(𝑦|𝑥1 , … , 𝑥𝑚 ) = 𝑠𝑜𝑓𝑡𝑚𝑎𝑥(ℎ𝑚𝑊)
力する GPT を Fine-tuning する方法を図 2 に示す．
GPT の Fine-tuning 目的関数𝐿3 は，言語モデル目的
Fine-tuning 時の Multi-task 学習は TransferTransfo と同関数𝐿1 と特定のタスクの目的関数𝐿2 の重み和で表す． 様である．
(3)
𝐿3 = 𝜆1 𝐿1 + 𝜆2 𝐿2

3

提案手法

3.1

対話行為

Amanova ら[12]は Inform，Question，Directive，Commissive という 4 つの対話行為を定義した．Informは受け者が知らない情報を話者が提供する行為を表す．Question は質問行為で，話者が知らない，確信していない情報を相手から引き出す行為を表す．
Directive は話者が要求，指導，提案，受け入れ・拒否(accept/reject) を 相 手 に 提 供 す る 行 為 で あ る ．
Commissive は 話 者 が 要 求 ， 受 け 入 れ ・ 拒 否(accept/reject)に対する態度や約束を表す行為である．

3.2

GPT を対話システムへの応用

Wolf ら[17]は GPT を最初に対話システムに応用した TransferTransfo というフレームワークを提案した．
GPT の入力系列は単語 Embedding と位置 Embeddingの埋め込みの総和で処理を行うが，発話者と応答者を分別するために，セグメント Embedding を GPT モデルに加えた．対話データを Fine-tuning する方法を
図 1 に示す．

図 2 対話行為を入力した GPT の Fine-tuning

4 評価実験
4.1

データセット本 研 究 で は 対 話 行 為 を ラ ベ リ ン グ し た Daily
Dialog[13]をデータセットに用いる．本コーパスは，13,118 ラウンドの対話で，シングルラウンドの対話データに変換すると 72,759 ペアになる．データでの各対話行為の割合は Inform（44.7%），Question（28.5%），
Directives（16.9%），Commissive（9.8%）である．全データを学習データ 61528 ペア，検証データ 5794 ペア，テストデータ 5437 ペアに分け使用する．

4.2

評価方法

応答性能は Bleu スコア，distinct-n，センテンスベ
クトルコサイン類似度により評価を行う．
Bleu スコアは，生成文とターゲット文の類似度を両者の n-gram 一致率で計る手法で，式(4)により計算する．𝑝𝑛 は n-gram の一致率，𝐵𝑃は生成文がターゲット文より短い場合のペナルティである．
図 1 対話タスクにおける GPT の Fine-tuning
対話タスクに Fine-tuning する言語モデルは条件付き言語モデルで表され，モデルが発話文を読み込む
場合には次単語予測を行わず，応答文だけ次単語予測を行う．特定タスクの学習では，学習データの中に存在する発話文と応答文のペアを正例，発話文とランダムに抽出した応答文のペアを負例として応答文判別学習を行う．最終的な Fine-tuning の損失関数は，

𝑁

𝐵𝐿𝐸𝑈 = 𝐵𝑃・exp(∑(1/𝑁)𝑙𝑜𝑔𝑝𝑛 )

(4)

𝑛=1

生成文とターゲット文の 3-gram や 4-gram の一致率が低いため，本研究では 1-gram，2-gram の一致率を評価する Bleu-1，Bleu-2 のみを用いる．
Bleu スコアでは“How old are you?”と“What is your― 320 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

age?”のように，意味が同じでも n-gram が一致しな
い と い う 欠 点 が あ る た め ， Universal Sentence
Encoder[14]から出力された生成文とターゲット文のセンテンスベクトルコサイン類似度を計算する評価（USE-sim）も行う．
また，生成文の多様性を評価するために distinctn[5]による評価を行う．distinct-n はテストデータに対して生成文の集合におけるユニークな n-gram の数を全ての n-gram の数でスケーリングした指標である．
本 研 究では 1-gram， 2-gram の 多 様 性 を 評価 する
distinct-1 と distinct-2 のみを用いる．

表 2 生成文とターゲット文の類似度評価結果
Bleu-1
Bleu-2
USE-sim
Seq2Seq0.14800.0156
0.2766
Seq2Seq-bi
0.15240.01200.2846
Attention
0.18010.02610.2957
Attention-bi 0.1855
0.03090.2995GPT-no0.1996
0.06640.3815
GPT-act
0.22530.07210.4207

表 3 生成文の多様性評価結果
distint-1 distinct-2
4.3 実験設定
Seq2Seq0.0046
0.0069比較する既存の Encoder-Decoder モデルは Seq2Seq，Seq2Seq-bi
0.00680.0199Seq2Seq-bi（Encoder 部が双方向 RNN），Attention（注Attention
0.00720.0279意機構を用いた Seq2Seq），Attention-bi（注意機構＋Attention-bi 0.0116
0.0572
Encoder 部が双方向 RNN）である．四つのモデルのGPT-no0.06280.2582
RNN ユニットは LSTM，レイヤ数は 1，隠れ層の次
GPT-act
0.06550.2629
元は 512，
単語 Embedding の次元は 300 に設定した．
る．人で評価すると高いコストがかかるため，事前にトレーニングのバッチサイズは 128，Optimizer はBert[16]を用いた対話行為判別器を学習した．学習しAdam，学習率は 0.01，Seq2Seq と Seq2Seq-bi の epoch
た Bert の対話行為判別器の正解率は 82.6%に達成し数は 30，Att-Seq2Seq と Att-Seq2Seq-bi の epoch 数はた．そして，生成した応答を判別器に入力し，定義し60 に設定した．
た対話行為のラベルと比較し，正解率と誤った応答
GPT を用いたモデルは，GPT-no（対話行為を入力しない場合）と GPT-act（対話行為を入力する場合） 文 を 生 成 す る 割 合 の 分 布 を 求 め た ． そ の 結 果 をConfusion Matrix で表し，図 3 に示す．
を比較する．事前学習した GPT モデルは公開されている gpt-2[15]，トレーニングのバッチサイズは 8，Optimizer は Adam，学習率は 0.001，epoch 数は 10 に設定する．また，式(3)の𝜆1 を 2，応答文判別する時の負例の数を 2 に設定した．

5 実験結果5.1

応答生成性能評価

実験結果を表 2，表 3 に示す．GPT を用いた対話システム GPT-no は最良の既存 Encoder-Decoder モデ
ルの Attention-bi より USE-sim，distinct-2 が大きく上回った．GPT を用いた対話システムは既存 EncoderDecoder より，distinct-1 で 0.0512 ポイント，distinct2 で 0.201 ポイント，応答生成性能（特に多様性）が向上した．
また，対話行為を入力する GPT-act は GPTno より Bleu スコアと USE-sim の改善が見られた，多様性を表す distinct-1，distinct-2 では大きな改善は見られなかった．

5.2

異なる対話行為の応答生成

同じ発話文に対して，応答文の異なる対話行為を定義し，異なる対話行為の応答が生成可能か検討する．評価は 5437 の発話文に対して行い，テストデー
タの生成は，発話文ごとに Inform，Question，Directive，Commissive の対話行為を順番に入力し計 21748 の応答文を生成した．学習したモデルが定義された応答の対話行為により生成した応答文がその対話行為かを評価するためには，対話行為の判別器が必要であ

図 3 全テストデータの Confusion Matrix
図 3 の結果から，Inform と Question の正解率は78.8%と 97.8%となり，モデルが Inform と Question の特徴をよく把握し，文生成できていることがわかる．
一方，Directive と Commissive の場合，正解率は 24.7%と 42.9%で，生成した応答が Inform と誤判定された割合が 45.0%と 51.5%であり，学習データ内の分布の偏りにより，それぞれの文の特徴がうまく学習できていないと考えられる
また，発話の対話行為が異なる対話行為の応答生成に影響するのかを検討するために，発話文の対話行為が Inform，Question，Directive，Commissive の場
合の正解率と誤解の割合分布の Confusion Matrix を
図 4 から図 7 に示す．図 4 から図 7 の結果から，発話文の対話行為がどのような場合でも，対話行為がQuestion の応答文が生成できる．その生成した例を
表 4 に示す．
一方，発話文の対話行為が Directive の場合，対話― 321 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.

図 4 発話文の対話行為
が Inform の場合

図 5 発話文の対話行為
が Question の場合

存の Encoder-Decoder モデルより高い応答生成性能を達成した．さらに，「対話行為 Embedding」を加え，対話行為の学習も可能になった．しかし，同じ発話文に対する異なる対話行為の応答文の生成では，Informと Question の応答文生成は可能だが，Directive とCommissive の応答文生成は困難であることが示された．今後はこの問題点を解決するとともに，他の対話情報（エモーション，トピックなど）も利用できる総合的な対話システムの検討を進める予定である．

参 考 文

図 6 発話文の対話行為
が Directive の場合

図 7 発話文の対話行為
が Commissive の場合

表4

異なる対話行為の発話文に対する対話行為
がQuestionの応答文生成例
発話文(Inform)：
I am sorry I am so late. I had a really bad day.
応答文：
What happened?
発話文（Question）：
That’s excellent. How have you managed that?
応答文：
I have been working very hard. How about you?
発話文（Directive）：
Would you tell me something about your family?
応答文：
I’m not sure. What do you do?
発話文（Commissive）：
Thanks. I will be right back.
応答文：
Do you have any more question?
行為が Inform の応答文を生成する正解率が図 3 ベー
スラインの 78.8%から 45.2%に下がり，対話行為がCommissive の応答文を生成する正解率がベースラインの 42.9%から 62.1%に向上した．この結果より，発話 文の対 話行為 が Directive の 場 合， 対話行 為 がCommissive の応答文生成が可能だが，Inform の応答文生成は困難であることがわかる．
また，発話文の対話行為が Question の場合，対話行為が Commissive と Directive の応答文を生成する
正 解 率 は 18.0% と 16.4% で あ り ， 対 話 行 為 がCommissive と Directive の応答文生成は困難であることがわかる．

6 終わりに献[1] Sutskever，Vinyals，et al.：“Sequence to Sequencelearning with Neural Networks”，arXiv:1409.3215，
2014．
[2] Li，Monroe，et al.：“Deep Reinforcement Learning for
Dialogue Generation”，arXiv:1606.01541，2016．
[3] Serban，Sankar，et al.：“A Deep Reinforcement
Learning Chatbot”，arXiv:1709.02349，2017[4] Cao，Clark，et al.：“Latent Variable Dialogue Models
and their Diversity”，arXiv:1508.04025，2015[5] Li，Galley，et al.：“A Diversity-Promoting Objective
Function for Neural Conversation Models”，
arXiv:1510.03055，2015[6] Serban，Sordoni，et al.：“A Hierarchical Latent
Variable Encoder-Decoder Model for Generating
Dialogues”，arXiv:1605.06069，2016[7] Zhou，Huang，et al.：“Emotional Chatting Machine:
Emotional Conversation Generation with Internal andExternal Memory”，arXiv:1704.01074，2017[8] Zhang，Dinan，et al.：“Personalizing Dialogue Agents:
I have a dog, do you have pets too?”，arXiv:1801.07243，2018[9] Kumar，Agarwal，et al.：“Dialogue-act-driven
conversation model: An experimental study”，Proc，
COLING2018，pp.1246-1256，2018[10] Radford，Narasimhan，et al.：“Improving Language
Understanding by Generative Pre-Training”，2018[11] Luong，Pham，et al.：“Effective Approaches toAttention-based Neural Machine Translation”，
arXiv:1508.04025，2015[12] Amanova，Petukhova，et al.：“Creating annotateddialogue resources: Cross-domain dialogue act
classification”，In LREC，2016[13] Li，Su，et al.：“DailyDialog: A Manually Labelled
Multi-turn Dialogue Dataset”，arXiv:1710.03957，2017[14] Cer，Yang，et al.：“Universal Sentence Encoder”，
arXiv:1803.11175，2018[15] Radford，Wu，et al.：“Language Models areUnsupervised Multitask Learners”，OpenAI Blog，2019[16] Devlin，Chang，et al.：“BERT: Pre-training of Deep
Bidirectional Transformers for Language
Understanding”，arXiv:1810.04805，2018[17] Wolf，Sanh，et al.：“TransferTransfo: A Transfer
Learning Approach for Neural Network Based
Conversational Agents”，arXiv:1901.18149，2019

本研究では，対話行為をラベリングした対話デー
タを用いて GPT を Fine-tuning する手法を提案し，既― 322 ―Copyright(C) 2020 The Association for Natural Language Processing.
All Rights Reserved.