neural conversational model - deep learning...

30
Neural Conversational Model 15/09/18 野中 尚輝 Oriol Vinyals, Quoc V.Le

Upload: others

Post on 18-Aug-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Neural Conversational Model

15/09/18 野中 尚輝

Oriol Vinyals, Quoc V.Le

Page 2: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

本論文について

• 発表学会:ICML 2015 workshop • Googleのチーム ‒  ”Sequence to Sequence Learning with Neural Networks” (同グループの先行研究) を応用

• 会話生成について調べていたので選んだ

15/09/18 2

Page 3: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Introduction • NNのEnd-to-end学習 ‒ 複雑な構造を、他の複雑な構造にマッピングする ことができる • 自然言語理解などで用いられる

• 会話モデリングに応用 ‒ これまでの会話モデルはドメインを絞ることが 多かったが、今回はnoisyなドメインでも検証している

15/09/18 3

Page 4: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Related works • Chatter bot ‒ マルコフ型 • 文章から単語を抽出し、その単語に続く確率の高い単語をつなげる ‒  投げかけられた文章と何らかの意味的なつながりがある 可能性が高いので、会話が成立しているように錯覚する。

‒ テンプレート型 • あらかじめ想定される会話文をテンプレートとして保存しておく ‒  IBMのWatsonとかはたぶんこれ

• Neural language modeling ‒ Neural machine translationなど ‒  LSTMを用いたRNNが多い • Word2vec、Sequence to Sequenceなど

15/09/18 4

Page 5: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Chatter bot

15/09/18 5

適当に作ってみても、なんとなく文章っぽいものにはなるが、意味をなさない場合がほとんど

Page 6: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Model • Seq2seq modelを応用 ‒ 著者らのグループがNIPS2014にて発表

15/09/18 6

A,B,C,<EOS>の表現を学習し、それを用いてW,X,Y,Z,<EOS>の確率を計算する

Page 7: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Seq2Seq model • 多層のLSTMを用いて、文章をベクトル化した後、別の多層LSTMを用いてベクトルを文章にデコードする

• 英語-フランス語の翻訳コンテンストでのデータセットに対して用い、検証。 ‒ 4層のLSTM、8つのGPUで学習

15/09/18 7

Page 8: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Dataset • Closed domain ‒  IT Help desk trouble shooting dataset • IT関連のカスタマーサポートでの会話から 作成された会話のデータセット ‒ ユーザからの質問に専門家が対応する

• 学習と評価でのデータサイズ ‒  Train: 30M tokens ‒  Test: 3M tokens

• 一連のやりとりは平均400語程度

15/09/18 8

Page 9: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Dataset • Open domain ‒ Movie transcript dataset • 登場人物による映画内での会話がxml形式で 与えられたデータセット • 学習と評価でのデータサイズ ‒  Train: 62M sentences (923M tokens) ‒  Test: 26M sentences (395M tokens)

• Help deskのものと比べるとnoisyなデータ

15/09/18 9

Page 10: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (IT Helpdesk) • 評価 ‒  Test setにおけるperplexity of the model (モデルに対する当惑度)で評価

• 学習 ‒ 単層のLSTM (1024のメモリーセル) ‒  Gradient clippingを用いたSGD

• 比較 ‒  N-gram model

• 当惑度 ‒  Seq2seq: 8 ‒  N-gram: 18

15/09/18 10

Page 11: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (IT Helpdesk) • 会話の設定 ‒ VPN issues ‒ Browser issues ‒ Password issues

15/09/18 11

Page 12: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (IT Helpdesk)

15/09/18 12

Page 13: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (IT Helpdesk)

15/09/18 13

Page 14: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (IT Helpdesk)

15/09/18 14

Page 15: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles) • 評価 ‒  Test setにおけるperplexity of the model (モデルに対する当惑度)で評価

• 学習 ‒  2層のLSTM (4096のメモリーセル) ‒  Gradient clippingを用いたAdaGrad

• 比較 ‒  5-gram model

• 当惑度 ‒  Seq2seq: 17 ‒  5-gram: 28

15/09/18 15

Page 16: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles) • 会話の設定 ‒ Basic ‒ Simple Q&A ‒ General knowledge Q&A ‒ Philosophical Q&A ‒ Morality ‒ Opinions ‒  Job and Personality

15/09/18 16

Page 17: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 17

Page 18: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 18

Page 19: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 19

Page 20: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 20

Page 21: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 21

Page 22: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (OpenSubtitles)

15/09/18 22

Page 23: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments • まとめ ‒ モデルは事実を記憶しており、文脈を理解し、一般常識に基づく推論を行うことができる ‒ 単純で短い回答しかできず、ときに質問に 対する満足な回答ができない ‒ モデルは一貫した個性を捉えることができない

15/09/18 23

Page 24: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

ダメな例

15/09/18 24

一貫した個性を捉えることができない

Page 25: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (Comparison) • 会話botとの比較を行う ‒ ルールベースで作成されているClever Botが比較対象 ‒ 提案手法に対して行ったのと、同じ質問をし、回答を比較する

15/09/18 25

Page 26: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (Comparison)

15/09/18 26

NCM Clever Bot

Page 27: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Experiments (Comparison)

15/09/18 27

NCM Clever Bot

Page 28: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Human evaluation • Mechanical Turkを使用 ‒ 提案手法(NCM)とCleverBot(CB)に 同じ質問をし、4人の人間が好みの回答を 選択する。 • 3人以上が勝ち判定 -> 勝者とする • 同等の場合は引き分けと判断する • 200の質問について検証した

15/09/18 28

Page 29: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Human evaluation • 評価結果 ‒ NCM: 97/200 ‒ CB: 60/200 ‒ 引き分け: 20/200 ‒ 2対2: 23/200

15/09/18 29

Page 30: Neural Conversational Model - Deep Learning JPdeeplearning.jp/wp-content/uploads/2017/07/150917_DLhacks_nona… · • 登場人物による映画内での会話がxml形式で 与えられたデータセット

Discussion • 単純なモデルであるseq2seqが会話モデルで 使用可能なことが明らかになった ‒ 基礎的で単純な会話を生成することが可能 ‒  Noisyなデータから知識を抽出することが可能

• 現実的な会話を行うには修正が必要 ‒ 一貫した個性がないのでチューリングテストを 通過するのは難しそう

15/09/18 30