-
Notifications
You must be signed in to change notification settings - Fork 19
A Deep Reinforcement Learning Chatbot
Higepon Taro Minowa edited this page Apr 10, 2018
·
19 revisions
- Amazon Alexa Prize competition で MILABOT を deep reinforcement learning で開発した。
- よくある small talk topi に対応していて人と会話できる
- bot は
- natural language generation model と retrieval model を組み合わせてつくられている
- template-based model, bag-of-words model, seq2seq, latent variable などなど。
- crowd source と実際のユーザーとのやりとりで、複数のモデルから適切な response を選ぶように reinforcement learning で train した。
略
- rule base は限界があるのでほぼ全て Statistical machine learning にした。
- 全てのコンポーネントが独立して大量データを使って ML で training された
- dialogue manager
- モデルたちから reponse 候補をもらう
- priority response があったら即返す (what's your name?)
- なかったら selection policy で選ぶ
- 22 個のレスポンスモデルを内包している
- retrieval-based
- generation
- knowledge base
- template base
- AIML テンプレートに記述されたレスポンス(会話履歴)からレスポンスを出す
- www.alicebot.org
- priority response ではない
- トレーニング
- string match base template bot
- Rogerian psychotherapis システムをまねしたもの
- 会話を始める starter として使う - 40個のopen questions を用意
- 例: What did you do today?
- interesting fact で会話を始めることも
- 過去2ターンですでに起動しているかも確認
- ユーザーが say/tell というとトリガーされる
- 唯一の会話形ではないボット
- www.evi.com
- Amazon の Q/A web service
- direct question に関しては priority response となる
- evibot に投げる。失敗したら NLTK named entity processor を使ってサブクエリがあるか調べる
- template-based
- movie bot: あらすじ。公開年などのデータ持ってる
- string matching で映画タイトルなどをユーザーのクエリの中で探す
- matching に word embeddingも使ってる
- いくつかの VHRED model がある。VHRED は seq2seq with Gaussian latent variables (論文あり)
- レスポンス生成の方法
- K個のレスポンス候補が、「現時点の会話ヒストリ」と「dataset にある会話ヒストリ」の cosine similarity で得られる。(bag-of-words TF-IDF Glove word embeddingsを使う)
- その 20(K?)個のレスポンスの log-likelifood を VHRED で計算して一番高いやつを return する
- 4つの VHRD モデルが有る。reddit から scrape してる
- BookCorpus でトレーニングしたSkipThought Vector model
- amazon prize の rule で宗教や政治のトピックに関して意見を言ってはいけないというものがあった
- それに対応するもの
- DualEncoderRedditPolitics and DualEncoderRedditNews
- ENC_Q と ENC_R の2つのEncoder で dialogue history と学習して response を返す。
- candidate response の score は bilinear mapping of the dialogue history embedding and the candidate response embedding.
- top K results が TFIDF と Glove word embeddings cosine similarity