32
Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network Models TIS 株株株株 株株 株株 (@SnowGushiGit) 1

Building end to-end dialogue systems

Embed Size (px)

Citation preview

Page 1: Building end to-end dialogue systems

Building End-To-End Dialogue SystemsUsing Generative Hierarchical Neural Network Models

TIS 株式会社大串 正矢 (@SnowGushiGit)

1

Page 2: Building end to-end dialogue systems

自己紹介

大串 正矢 @SnowGushiGit

TIS 株式会社 戦略技術センター Tech-Circle  運営スタッフ

機械学習/自然言語処理 音声認識

Python

2

Page 3: Building end to-end dialogue systems

アウトライン

• 概要• この論文を選んだ理由• この論文のポイント• 手法概要– リカレントニューラルネットワーク– 階層型リカレントエンコーダーデコーダー– 事前学習

• 実験内容• 結果• 所感• まとめ

3

Page 4: Building end to-end dialogue systems

Abstract

4

Page 5: Building end to-end dialogue systems

5

概要

こんにちは

Neural Networkこんにちは

ニューラルネットワークでダイレクトに対話を学習

こんにちは 言語理解

こんにちは

対話制御言語生成

今まで

本論文

Page 6: Building end to-end dialogue systems

Why do I choose this paper ?

6

Page 7: Building end to-end dialogue systems

7

この論文を選んだ理由

業務で Pepper を使用対話のアルゴリズムを応用できないか?

Page 8: Building end to-end dialogue systems

Point of this paper

8

Page 9: Building end to-end dialogue systems

9

この論文のポイント

• ニューラルネットの構成

• 事前学習

• データコーパス

Page 10: Building end to-end dialogue systems

Method

10

Page 11: Building end to-end dialogue systems

11

ニューラル対話モデル

意味表現

ニューラルネット

(単語生成)

システム発話

ニューラルネット

(意味解析)

ユーザー発話

• Sequence-to-Sequence 対話• 意味の解析・単語生成にニューラルネッ

ト使用–複雑さは従来の対話モデルよりも単純

Page 12: Building end to-end dialogue systems

ニューラル対話モデル

12

Page 13: Building end to-end dialogue systems

ニューラル対話モデル

13

デコーダー (RNN)

エンコーダー(RNN)

ユーザー発話

システム発話

Page 14: Building end to-end dialogue systems

14

クエスチョン

リカレントニューラルネットワーク言語モデル (RNN) が分からない人

Page 15: Building end to-end dialogue systems

Recurrent Neural Network Language Model

15

Page 16: Building end to-end dialogue systems

リカレントニューラル言語モデル

• リカレントニューラル言語モデル

16

00001:0

出力層

例文: Show me your hair

yourhair隠

れ層

𝑈

変換行列

me の時の

隠れ層

𝑊𝑉

重要

Page 17: Building end to-end dialogue systems

言語モデルの代表例

• リカレントニューラル言語モデル–利点• 単語を限定されたベクトル空間に変換可能(計算量が

減る)• 過去の単語を利用して学習し、過去の単語はさらに過

去の単語に影響を受けているので文脈の考慮できる長さが長い

–欠点• ドメインが全く違うデータに弱い可能性• メモリをすごく消費する• 速度が遅い

17

Page 18: Building end to-end dialogue systems

Hierarchical Recurrent Encoder-Decoder

18

Page 19: Building end to-end dialogue systems

階層型リカレントエンコーダーデコーダー

19

デコーダー (RNN)

エンコーダー(RNN)

ユーザー発話

システム発話

リカレントニューラル言語モデルを隠れ層を挟んでつないだもの

Page 20: Building end to-end dialogue systems

階層型リカレントエンコーダーデコーダー

20

メリット!!!

Page 21: Building end to-end dialogue systems

隠れ層のメリット

• メリット–条件付きで Decoding–隠れ層を操作可能(マックスアウト、双極関

数)–トピックとコンセプトをシステム側にシェア–集約のため計算コストが削減される

21

Page 22: Building end to-end dialogue systems

Device

22

Page 23: Building end to-end dialogue systems

Bidirectional HRED

23

長い発話の場合は最初の発話が考慮されない可能性があるため

Page 24: Building end to-end dialogue systems

24

良い初期値を得るWord2Vec

or対話用コーパスで学習

Bootstrapping from Word Embeddings and

Subtitles Q-A

Page 25: Building end to-end dialogue systems

25

MAP Outputs

対話の出力を {, を条件付きとして推定し出力

Page 26: Building end to-end dialogue systems

Experiment Condition

26

Page 27: Building end to-end dialogue systems

Experiment Condition• 詳細は論文で・・• 重要そうな所だけ–Word2Vec に存在しない単語の対応• 存在しない単語がなくなるまで学習。それでもない場

合はガウシアンで初期化

–対話コーパス初期学習• 対話の対応を {, , } で定義して学習• ペアがない最後の部分は Word2Vec で学習した値を使用

27

Page 28: Building end to-end dialogue systems

Result

28

Page 29: Building end to-end dialogue systems

29

ResultMap 推定

Page 30: Building end to-end dialogue systems

Implement

30

Page 31: Building end to-end dialogue systems

31

Implement全ての機能ではないですが、一部機能を実装しました。

http://goo.gl/P7OHKO

Page 32: Building end to-end dialogue systems

参考資料• Building End-To-End Dialogue Systems Using Generative Hierarchical Neural Network

Models http://arxiv.org/pdf/1507.04808.pdf• Chainer で学習した対話用のボットを Slack で使用 +Twitter から学習データを取得して

ファインチューニング http://qiita.com/GushiSnow/items/79ca7deeb976f50126d7• Encoder-decoder 翻訳 (TIS ハンズオン資料 ) http://www.slideshare.net/YusukeOda1/encoderdecoder-tis• NIP2015 読み会「 End-To-End Memory Networks 」 http://www.slideshare.net/unnonouno/nip2015endtoend-memory-networks

32