Building end to-end dialogue systems

Preview:

Citation preview

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

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

1

自己紹介

大串 正矢 @SnowGushiGit

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

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

Python

2

アウトライン

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

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

3

Abstract

4

5

概要

こんにちは

Neural Networkこんにちは

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

こんにちは 言語理解

こんにちは

対話制御言語生成

今まで

本論文

Why do I choose this paper ?

6

7

この論文を選んだ理由

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

Point of this paper

8

9

この論文のポイント

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

• 事前学習

• データコーパス

Method

10

11

ニューラル対話モデル

意味表現

ニューラルネット

(単語生成)

システム発話

ニューラルネット

(意味解析)

ユーザー発話

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

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

ニューラル対話モデル

12

ニューラル対話モデル

13

デコーダー (RNN)

エンコーダー(RNN)

ユーザー発話

システム発話

14

クエスチョン

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

Recurrent Neural Network Language Model

15

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

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

16

00001:0

出力層

例文: Show me your hair

yourhair隠

れ層

𝑈

変換行列

me の時の

隠れ層

𝑊𝑉

重要

言語モデルの代表例

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

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

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

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

17

Hierarchical Recurrent Encoder-Decoder

18

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

19

デコーダー (RNN)

エンコーダー(RNN)

ユーザー発話

システム発話

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

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

20

メリット!!!

隠れ層のメリット

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

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

21

Device

22

Bidirectional HRED

23

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

24

良い初期値を得るWord2Vec

or対話用コーパスで学習

Bootstrapping from Word Embeddings and

Subtitles Q-A

25

MAP Outputs

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

Experiment Condition

26

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

合はガウシアンで初期化

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

27

Result

28

29

ResultMap 推定

Implement

30

31

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

http://goo.gl/P7OHKO

参考資料• 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

Recommended