Upload
ogushi-masaya
View
767
Download
3
Embed Size (px)
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