Giter Site home page Giter Site logo

jojonki / arxivnotes Goto Github PK

View Code? Open in Web Editor NEW
194.0 194.0 8.0 4 KB

IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).

Home Page: https://github.com/jojonki/arXivNotes/issues

arxivtimes conversational-agents dialogue-systems natural-language-processing natural-language-understanding nlp summary

arxivnotes's Introduction

Junki Ohmura (jojonki)

  • Linkedin
  • Google Scholar
  • Twitter
  • Blog (Japanese)
  • Please feel free to contact me. junki dot ohmura at gmail.
  • Career
    • Waseda University (master's degree in computer science)
    • NTT: Researcher Intern. (Peer-to-Peeer communication)
    • Bizreach: Software Engineer Intern.
    • Sony Interactive Entertainment: Software Engineer (PlayStation 4's voice user interface).
    • LTI, Carnegie Mellon University: Research about dialog systems supervised by Maxine Eskenazi.
    • Sony: NLP Researcher (current).

trophy

arxivnotes's People

Contributors

jojonki avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

arxivnotes's Issues

2017: [RNet] Gated Self-Matching Networks for Reading Comprehension and Question Answering

Gated Self-Matching Networks for Reading Comprehension and Question Answering, ACL 2017
http://www.aclweb.org/anthology/P17-1018
screen shot 2017-11-27 at 3 17 08 pm

事前知識

下記論文からinspireされているので先にこちらのまとめを読むと良いかも.
Machine Comprehension Using Match-LSTM and Answer Pointer, #22

概要

アテンション機構を使ってSQuADを解いたモデル.貢献ポイントは主に下記の2つだと思う.

  • 質問とパッセージのマッチングを得るところ(アテンション計算)で,ゲートを追加して,むやみやたらにアテンションを計算しないようにしたところ
  • self matchingによってパッセージのhidden statesを更新するところ

処理フロー

  1. word/character レベルのembeddingを作る.charレベルのembeddingはトークン内におけるcharレベルで適用される(wordレベルとインデックスを揃えてconcatできるようにするためだと思う)

  2. 質問とパッセージのrepresentationをそれぞれのRNNエンコーダ(bi-directional GRU)を使って作る

  3. gated matching layer(アテンションベースのRNNにゲートを追加したもの)で質問とパッセージのマッチングをとる.質問情報をパッセージ表現に取り込むため.
    基本的にはMatch-LSTMの論文のアテンション機構と同じであるが,重み付けした隠れ状態に対してsigmoidで0~1のゲートをかけるところで異なっている(上がMatch-LSTMの論文の方で,本論文ではこのRNNの中の2項目にゲートを設けるところで異なっている).Match-LSTMではパラグラフ内の全単語に対して,質問と関係があるかを計算していたのに対して,こちらのモデルにするとアテンションしなくて良いようなPassage内の単語は無視できるようになる(のかもしれない).

screen shot 2017-11-27 at 4 33 14 pm

screen shot 2017-12-02 at 1 24 08 pm

下記はMatch-LSTMではやっていないGate
screen shot 2017-11-27 at 4 33 19 pm

  1. self-mathing layerでパッセージ全体から情報を集約.
    自分自身とのマッチングによるquestion-awareなpassage表現を取得する.前層では,各パッセージ単語毎に質問全体とのマッチングを取っていたのに変わって,各パッセージ単語毎に自身であるパッセージ全体に対するアテンションを計算し,新たな表現を獲得している.self-matchingでは,現在のパッセージ単語と質問情報にそってパッセージ全体からのevidenceをダイナミックに取得できる(らしい)

screen shot 2017-11-27 at 5 16 44 pm

このself matchingの導入により、パッセージ内における答えの箇所と,evidence・それ以外の無関係のものを分けられることが下図で確認できる.
screen shot 2017-11-27 at 9 38 48 pm

  1. Pointer Networksを境界モードで動かす(答えのレンジの端を答える)
    Match-LSTMの論文と同じくPointerNetworkを採用し,答えのrangeを答える(boundary mode).つまり3のレイヤーでのシーケンスを受けて.h1a(Start)とh2a(End)の2つを予想する.
    さらに本論文では,下記の質問ベクトルを作成し,PointerNetの初期hidden state (rQ)として利用している.

screen shot 2017-11-27 at 5 31 44 pm

参考

  • Pointer Networksのまとめ, #19

2017: MEMEN: Multi-layer Embedding with Memory Networks for Machine Comprehension

MEMEN: Multi-layer Embedding with Memory Networks for Machine Comprehension
Boyuan Pan, Hao Li, Zhou Zhao, Bin Cao, Deng Cai, Xiaofei He, 2017
https://arxiv.org/abs/1707.09098

memen

概要

複数のEmbeddingレイヤーとアテンションを採用したQAモデル.

ContextとQueryのエンコード

通常のBoWだけでなく,POSタグとNER(Named entity recognition)も入力に利用している.Skip-Gramを用いてPOSとNERのEmbeddingを学習する,元のテキストからはCharacter Level (CNN)とWord Level(Glove)のEmbeddingを学習する.それぞれSyntactic,Semantic,Chalacter Level,Word Levelと4つのEmbedding レイヤーになり,質問及びコンテキスト(Passage)をそのレイヤーに通し,それぞれBiLSTMに投げる.

従来のアテンション(の批判)と本手法Full-orientation Matching

1次元及び2次元のアテンションがあるという.1次元のアテンションとはqueryを1つのembedding vectorにしてしまうもの.複数のキーワードがあったときは難しいかもしれない.2次元のアテンションとはすべての単語に関してembedding vectorを持つもの.これはやりすぎでstopwordsとかも考慮に入れてしまう

アテンションレイヤーにはFull-orientation matchingによるMemoryNetworksを採用する(要理解)
使ったコーパスはSQuADとTriviaQAで,どちらも投稿時点ではState-of-the-art

末尾の関連研究に最近のアテンションを利用したQAネットワークのまとめがあり便利.

2016: Key-Value Memory Networks for Directly Reading Documents

https://arxiv.org/abs/1606.03126 EMNLP 2016
3

概要

End-to-end Memory Networksの亜種.映画ドメインにおけるQA.メモリとして対話履歴ではなく,映画知識情報をKey-Valueのメモリとして扱う.End-to-endで学習できる.知識としてKBだけでなく,IE (Information Extraction),Raw Textを扱い,KBとのギャップを埋めれないか?というのが目標.KB,IE,Raw Textの順でやはり性能は下がっていく.

議論の余地

  • QA文を自動生成してるので,おかしな文法な文がある.また質問文も単純.またコーパスのEntity区切りの方法などにバグがある状態..

🚧 2017: Making Neural QA as Simple as Possible but not Simpler

Making Neural QA as Simple as Possible but not Simpler
Dirk Weissenborn, Georg Wiese, Laura Seiffe
https://arxiv.org/abs/1703.04816

概要

数あるQAのNNモデルは,トップダウン的にその複雑なアーキテクチャを示し,ablationテストをしているが,複雑なアーキテクチャの一部を評価しているにすぎない,と批判.

  • シンプルなヒューリスティックスをガイドとするBoWベースのNeural QAとRNNベースのQAモデル(FastQA)での評価
  • FastQAに複雑性をボトムアップで足していき,question-awarenessについて考察して行く
  • FastQAと他複雑モデルとの比較
  • FastQAの定性分析

FastQAのヒューリスティックス

  • 質問と答えのタイプは関連している(Whenだったら1990-1998とか)
  • 正しい答えは質問に関連するコンテキスト(質問の単語と一致)の近くにある

モデル

  • BowベースのNueral QAモデル
    Lexical Answer type (LAT)を利用する.(途中)

  • FastQA
    途中
    screen shot 2017-12-15 at 2 12 49 pm

一般的なQAモデルがもっとも注力しているInteraction Layer(アテンション計算部)がこのFastQAにはない.
screen shot 2017-12-15 at 2 50 53 pm

2017: A Structured Self-attentive Sentence Embedding

A Structured Self-attentive Sentence Embedding
Zhouhan Lin, Minwei Feng, Cicero Nogueira dos Santos, Mo Yu, Bing Xiang, Bowen Zhou, Yoshua Bengio, ICLR 2017
https://arxiv.org/abs/1703.03130
se

概要

新しいSentence Embedding方法の提案.Embedding表現がベクトルでなく,2次元マトリックスとなるのが特徴.またアテンション機構を自分自身に適用するSelf attentionを提案.通常アテンションはソース・ターゲットのペアにおいて,お互いのアテンションを計算するのに用いるが,この論文では入力単体文に対して適用するのでSelf attention.3つの異なるデータセットで実験し良い結果がでた.
the Age dataset(ツイートから年齢層(5レンジ)の識別), the Yelp dataset(レビューレーティング(5段階)の識別), the Stanford Natural Language Inteference(2つのテキストが与えられた時の関係を求める,entailment, contradiction and neutral)の3つ.

モデル

Bi-LSTMを使って入力文の表現を獲得するところまでは同じであるが,LSTM後のHidden States全体を使ってsoftmaxすることでSelf attentionと呼んでいる.ただ通常のこの方法ではセンテンスの1部分にフォーカスする(Softmax)ようになるので,長い文や'and'とかがある文においては,複数箇所にフォーカスする必要がある.そのため,d次元の重みでなく,rxd次元のWs2を最後にかけることで,アテンションをrxnに拡張できる.つまり長さnのセンテンスに対して,r回分の注目箇所が計算できるということ.下記の式でこれは実現できるが,2レイヤのMLP(biasなし)と同じ数式であるため,MLPの計算でいいというのもミソ.
a
このアテンションは入力センテンスのHidden statesであるHとかけられて(M=AH),Embedding MatrixであるMを取得できる.Mはrx2uの形であり,Embedding vectorでなくMatrixと呼ぶ所以はこれ.(2uはBi-LSTM後のHidden stateの次元数)

Penalization term

r回ホップするが,すべてのホップが似たような値になるリスクがあるので,下記の罰則項を導入する.ポリシーとしては,各レイヤのSoftmaxがなるべく重複しないように(異なる箇所にアテンションするように)できる.各ホップでまったく異なる箇所に注目していれば,AATは単位行列になる.似たようなところにアテンションしてしまうと,対角成分以外のところが罰則値として効いてくるようになっている.(フロベニウスノルム(各項の2乗ルート)で計算).KLダイバージェンス(各ホップが異なるようにするので普通と逆の使い方)などと比べても計算量がかなりお手軽.
p

Ablation

罰則項ありなしとホップ数(1〜30)でも実験してそれぞれの効果を確認している.

2016: LSTM-based Deep Learning Models for Non-factoid Answer Selection

LSTM-based Deep Learning Models for Non-factoid Answer Selection
Ming Tan, Cicero dos Santos, Bing Xiang, Bowen Zhou, ICLR 2016
https://arxiv.org/abs/1511.04108

screen shot 2017-12-18 at 2 42 33 pm
screen shot 2017-12-18 at 2 42 38 pm

概要

Response Selection (QA,質問と回答候補が与えられた時に回答候補から正しい回答を選ぶタスク)タスクにおいて,クエリに対して適切な回答を選ぶ.InsuranceQAとTREQ-QAで評価.

QA-LSTM (basic model,上図の1枚目)
QとAをそれぞれBiLSTMやCNNを利用して,特徴量ベクトルにまとめ,それをcosine similarityで比較して,応答を選択する.特徴量ベクトルにまとめるには,各時間での平均を取ってきたりmaxpoolしたり色々.

学習は,マージンランキング損失で学習.正解ペアに対するcosine simに対して,ランダムにサンプルした非正解ペアに対して十分なマージンを取って差が出るように学習する.

参照

2017: Bidirectional Attention Flow for Machine Comprehension (BiDAF)

Bidirectional Attention Flow for Machine Comprehension
Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hannaneh Hajishirzi, ICLR 2017
https://arxiv.org/abs/1611.01603

1

概要

SQuADのQAデータセットには,Context(質問に対する答えがあるテキスト)とQuery(質問)があるが,ContextとQueryはSimilarity Matrixを中心にアテンションが計算される.Similarity Matrixtとは,ContextとQueryをそれぞれEmbeddingした値をもとに計算されるTxJ (TはContext長,JはQuery長)のContextとQueryの関係性を表すマトリックスである.そのアテンションはContext to Query(C2Q,どのQueryワードが各Contextワードに対して関係しているか)とQuery to Context(Q2C,どのコンテキストワードがQueryワードにもっとも近いか)の両方向のアテンションを使うのが特徴.またAttention Flowとあるように,コンテキストを他の手法のように固定ベクトルに落とさず,シーケンスとして表現しているのも特徴.

code

開発者:https://allenai.github.io/bi-att-flow/
jojonki追試版(学習に時間がかかるため最後まで確認できていない):https://github.com/jojonki/BiDAF

2015: Improved Deep Learning Baselines for Ubuntu Corpus Dialogs

Improved Deep Learning Baselines for Ubuntu Corpus Dialogs
Rudolf Kadlec, Martin Schmid, Jan Kleindienst, NIPS 2015
https://arxiv.org/abs/1510.03753
screen shot 2018-03-07 at 2 50 46 pm
screen shot 2018-03-07 at 4 01 13 pm

概要

Ubuntu Dialogコーパスを使った,次回発話のランキング問題(応答ランキング・応答選択問題).
LSTM, BiLSTM, CNNを使った手法およびそれらのアンサンブル手法を提案.で,アンサンブルでSOTA.
最初の図にあるように,context(これまでの履歴)と予測すべきresponseをRNNとかで表現し,それらをsigmoid(cTMr + b)という形で,正解ペアかそれ以外ペアかの2値判断する

DNNを使った正解・不正解ペアを使った応答選択問題の先駆け的論文(だと思う)

🚧 2017: Query-Reduction Networks for Question Answering

Query-Reduction Networks for Question Answering
Minjoon Seo, Sewon Min, Ali Farhadi, Hannaneh Hajishirzi, ICLR 2017
https://arxiv.org/abs/1606.04582

screen shot 2018-01-02 at 1 10 34 pm

screen shot 2018-01-02 at 1 10 59 pm

概要

QAにおける,複数のfactに対するreasoningを行うモデル,Query-Reduction Network (QRN)の提案(RNNの変化形,上図).QRNは短期・長期のシーケンシャル依存を扱うことができ,QRNはコンテキストをステート変化のトリガーのシーケンスとして扱うことができる.これによりQRNはオリジナルのクエリをよりinformedなものに変形(reduce)していく.実験はbAbI(20 storyとTask 1-6)でSOTA.

2017: Adversarial Examples for Evaluating Reading Comprehension Systems

Adversarial Examples for Evaluating Reading Comprehension Systems
Robin Jia, Percy Liang
https://arxiv.org/abs/1707.07328
https://github.com/robinjia/adversarial-squad

screen shot 2017-12-06 at 7 33 03 pm

概要

SQuADのデータセットに対して,正解は変えず人が読んでも誤解しないような,敵対的な文をインサートするとSOTAなモデルの性能がガクッと下がった.16のモデルの平均F1値が75%から36%に低下.更に文法的に破綻した文を入れると4つのモデルで平均4%にまで正解率が減った.BiDAFやMatch-LSTMなどで実験.
画像認識の分野でも人が知覚できない(あるいはセマンティクスに影響ない)ようなノイズなどを入れて実験しているが,これはその言語版.

  • ADDSENT
    質問に似ている文(文法的に正しく,矛盾のない)をパッセージの最後に付け加える. 質問文から生成.
  • ADDONESENT
    人(クラウドワーカー)が確認した文法的に正しい文を適当な場所にランダムに入れる
  • ADDANY
    文法は無視してd個の連続する単語をローカルサーチしてシーケンスを作る.モデルのF1スコアが低くなるようなところ単語に入れ替えていく.
  • ADDCOMMON
    ADDANYの一般的な単語(Brown corpusでよく出る単語)のみを追加するバージョン

結果

screen shot 2017-12-06 at 11 09 18 pm

2016: Multi-Scale Context Aggregation by Dilated Convolutions

Multi-Scale Context Aggregation by Dilated Convolutions
Fisher Yu, Vladlen Koltun, ICLR 2016
https://arxiv.org/abs/1511.07122
screen-shot-2016-05-12-at-09-47-12

  • dilationを1,2,4とした時に,本データの受容野の計算イメージ(1D版)
    他にも計算方法はあると思うが,片方の幅(中心点除く)をベースに考えるとわかりやすい.dilationを再帰的に足していけば,片方の幅になるのでそれを2倍して1足すだけ.(ただしストライドが1,カーネル幅は3であることに注意)
    dilation

2017: DailyDialog: A Manually Labelled Multi-turn Dialogue Dataset

DailyDialog: A Manually Labelled Multi-turn Dialogue Dataset
Yanran Li, Hui Su, Xiaoyu Shen, Wenjie Li, Ziqiang Cao, Shuzi Niu, IJCNLP
https://arxiv.org/abs/1710.03957
データのダウンロードはこちら:http://yanran.li/dailydialog

screen shot 2018-02-11 at 5 50 56 pm

概要

英語学習者に提供する日々の英対話を提供する複数のサイトからクロール.
1対1対話.

対話行動

4つの対話行動に分類.(Amanovaらの手法をフォロー)

  • Inform
    何かしらの情報を提供
  • Questions
    質問
  • Directives
    要求,指導,提案,受け入れ・拒否など
  • Commissive
    受け入れ・拒否の要求

エモーション

また各発話にエモーションタグも6+1(no emotion)の7種にアノテーションしている(BigSix Theory (Ekman, 1992)に準拠)

  • (no emotion), Anger, Disgust, Fear, Happiness, Sadness, Surprise

screen shot 2018-04-02 at 1 14 43 pm

トピック

screen shot 2018-04-02 at 1 13 59 pm

評価手法

10トピックに分類
既存のアプローチで本体データセットを評価

  1. Embedding-based Similarity for Response Retrieval (Luo and Li, 2016);
  2. Feature-based Similarity for Response Retrieval (Jafarpour et al.,2010);
  3. Feature-based Similarity for Response Retrieval and Reranking (Luo and Li, 2016; Otsuka et al., 2017);
  4. Neural network-based for Response Generation (Shang et al., 2015; Sordoni et al., 2015);
  5. Neural network-based for Response Generation with Labeling Information (Zhou et al., 2017).

参考

Dilafruz Amanova, Volha Petukhova, and Dietrich
Klakow. 2016. Creating annotated dialogue resources:
Cross-domain dialogue act classification.
In LREC.
https://pdfs.semanticscholar.org/118c/401ff2e3ef7ae7f66c845ad8a213f3bbe567.pdf

2015: insuranceQA: Applying Deep Learning to Answer Selection: A Study and An Open Task

Applying Deep Learning to Answer Selection: A Study and An Open Task
Minwei Feng, Bing Xiang, Michael R. Glass, Lidan Wang, Bowen Zhou, ASRU 2015
https://arxiv.org/abs/1508.01585

screen shot 2017-12-19 at 2 14 07 pm

概要

insuranceに関する初めての大規模QAコーパス.答えは回答候補から選ぶAnswerSelectionのタスクとして作られている.
ちゃんと読んでないけど,基本的には適切な回答と不適切な回答のペアに対して,LSTMやCNNを適用し何らかのrepresentationを取得し,そのcosine距離を取る.そして適切な回答であればcosine距離が大きくなるように対して設計されている.(mはハイパーパラメタで0.2とか)
screen shot 2017-12-19 at 2 15 42 pm

学習とテスト

一つの質問に対しては1つか2つぐらいの回答ラベルが付与されている一方,回答候補は500とか1000とかで用意されている.本来は全ての回答(24,981)から選択すべきだが,学習時間が非現実ということで500とかに絞っている(see 1.).また学習に関しては,全ての回答候補のcosine距離をいちいち計算しているのは辛いと思ったら,論文では下記のように計算を打ち切っている.(でもこれだとmini-batch使えないような..)

  1. 質問とポジティブサンプルを1つ取得
  2. 回答候補から1つネガティブをサンプルし,(q, a+), (q, a-)のcosine距離を取得
  3. lossを計算し0以上であればパラメタをアップデート,0であれば2.に戻る(ただし50回以上0であれば打ち切って1に).

テスト時は,qと回答候補(500つ)のcosine距離をそれぞれ計算し,もっとも値が大きいものを正解とする.

データセット

https://github.com/shuzi/insuranceQA

2016: SQuAD: 100,000+ Questions for Machine Comprehension of Text

SQuAD: 100,000+ Questions for Machine Comprehension of Text, 2016 EMNLP
Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, Percy Liang
https://arxiv.org/abs/1606.05250

概要

10万以上のQAペア.500以上のWikipedia記事をもとにクラウドワーカーで作った.QAに加えてPassageがコンテキストとして与えられ,そこから答えを推測できるようになっている.人のパフォーマンスは86.8%(F値).
答えはpassage中のspanを答える.

train/devセットは公開されているが,testセットは公開されておらず,モデルを提出すると運営側がtestセットで実行してくれる.SQuADのページ上でランキングとして公開される(https://rajpurkar.github.io/SQuAD-explorer/)

2017: Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning

Knowing When to Look: Adaptive Attention via A Visual Sentinel for Image Captioning
Jiasen Lu, Caiming Xiong, Devi Parikh, Richard Socher, CVPR 2017 https://arxiv.org/abs/1612.01887

概要

ビジュアルキャプション生成タスク.テキストを生成する際に,いつ・どこにアテンションするかを学習できる.いつ,は生成するテキストの重要な箇所,どこはイメージに対する場所(下図)

sentinel

2017: End-to-End Task-Completion Neural Dialogue Systems

End-to-End Task-Completion Neural Dialogue Systems
Xiujun Li, Yun-Nung Chen, Lihong Li, Jianfeng Gao, Asli Celikyilmaz, 2017 IJCNLP
https://arxiv.org/abs/1703.01008
screen shot 2017-12-14 at 4 21 35 pm

概要

映画チケット購入ドメインにおけるE2E対話システム.ユーザーシミュレータ(アジェンダベース)とRLで対話システムを学習.様々なノイズをLU (Language Understandings)から入れて実験している.

データ

AMTで集めてラベリングした.280対話(平均11ターン),11対話行動,29スロット.
screen shot 2017-12-14 at 4 46 06 pm

実装

https://github.com/MiuLab/TC-Bot/blob/master/README.md

2016: Learning End-to-End Goal-Oriented Dialog

Learning End-to-End Goal-Oriented Dialog
Antoine Bordes, Y-Lan Boureau, Jason Weston, 2017 ICLR
https://arxiv.org/abs/1605.07683
screen shot 2017-12-15 at 10 17 40 am

概要

End-to-Endの対話システムの評価のためのコーパスを公開.

データセット

ここからダウンロードできる
https://research.fb.com/downloads/babi/

手法

  • baseline: ルールベース (see 4.1)
    Task1-5は簡単なのでルールで100%の成功率,ただしTask 6はリアルデータなのでスコアがかなり低い
  • baseline: クラシカルなIRモデル
  1. TF-IDF Match (See 4.2)
    入力と応答候補のTF-IDFで重み付けしたcosine類似度(bow利用)でマッチングを行う.このスコアで応答をランク付けする.入力は最終発話か対話履歴全体であり,validation setで良かったものを選択する(通常後者)
  2. Nearest Neighbor
    学習データの中の入力発話(最終発話)に最も近い(uttr, response)ペアを探しそれを選択する.スコアリングはword overlapを利用.
  • Supervised Embedding Models
  • MemNNs
  • Match type
    OODなどに対応するためにKBのマッチタイプのテキスト(cuisine type, location, price range, party size, rating, phone number and address)が処理テキストに追加される.これはこれまでの手法のオプションとして利用できる

screen shot 2018-05-27 at 12 12 25 pm

2017: Question Answering over Knowledge Base with Neural Attention Combining Global Knowledge Information

https://arxiv.org/abs/1606.00979 ACL 2017

概要

質問に対するアテンションベースなNNモデル.答え候補のAspects(entity, relation, type, context)に対して,質問のどの単語にフォーカスするかを学習できる.
コーパスはWEBQUESTIONS.学習はPair-wise.

議論の余地

Freebaseで質問文からEntity取得及び各Aspects情報を取得しているため,Freebaseに強く依存している.

1
2

2016: A Thorough Examination of the CNN/Daily Mail Reading Comprehension Task

A Thorough Examination of the CNN/Daily Mail Reading Comprehension Task
Danqi Chen, Jason Bolton, Christopher D. Manning
https://arxiv.org/abs/1606.02858 ACL 2016

1

概要

CNN and DailyMailデータセットの考察と分析.及び慣例的なEntityベース分類器とEnd-to-Endのシステム2つを提案.End-to-endのものは人のレベルにすでに肉薄している.
考察をするとデータが思ったより複雑でなく,ベースラインですらDeepMindの元論文の性能を超えており,ほぼ攻略済み.元論文に対してやや攻撃的

2017: Rasa: Open Source Language Understanding and Dialogue Management

Rasa: Open Source Language Understanding and Dialogue Management
Tom Bocklisch, Joey Faulkner, Nick Pawlowski, Alan Nichol, 2017 NIPS
https://arxiv.org/abs/1712.05181
https://github.com/RasaHQ
http://rasa.ai/enterprise/case-studies/

screen shot 2017-12-25 at 9 45 15 pm

概要

Pythonで作られた非専門家のための対話システム開発フレームワーク.Rasa NLU(意味解析)とCore(対話制御)の2モジュールからなる.CambridgeのPyDialと似たような立ち位置だが,Rasaでは非専門家のためにより特化している.

  1. メッセージを受診したらInterpreter(Rasa NLUとか)でIntent,Entity,他構造化情報を抽出
  2. Trackerが現在の対話状態を管理
  3. Policyが現在の対話状態をTrakckerから受け取る
  4. Policyが実行するアクションを選択する
  5. 選択されたアクションはログられる
  6. アクションが実行される

NLU

spaCyを使ってtokenize,posタギング,gloveのpreデファインを使ったり,CRFでエンティティを認識するよう学習できる.
https://nlu.rasa.ai/

Policies

...

Training Data

Markdownかjsonで記述したものを学習データとして利用できる.発話事例とintent, entity情報を記載する.

2015: TickTock: A Non-Goal-Oriented Multimodal Dialog System with Engagement Awareness

TickTock: A Non-Goal-Oriented Multimodal Dialog System with Engagement Awareness
AAAI, 2015
http://www.cs.cmu.edu/afs/cs/user/zhouyu/www/TickTock.pdf
screen shot 2017-12-15 at 9 42 43 am
screen shot 2017-12-15 at 9 52 45 am

概要

ユーザーをセンシングして,エンゲージするような雑談対話システム(フルパイプライン).

  • Question-Answer database
    CNNのインタビュー原稿から取得し,ルールベースで質問タイプを特定している(Howとか)
  • Answer Retrieval
    Google ASRやPOSタギング,NLUなど利用しているが基本ヒューリスティックな感じ.コンテキストを浅く理解することに注力.
  • Conversational Strategies
    こちらもヒューリスティック.
    実験は実ユーザーに5分間システムの前で話してもらう.

screen shot 2017-12-15 at 9 52 12 am

またエンゲージは1−5のレベルで判断される.

2016: Language Modeling with Gated Convolutional Networks

Language Modeling with Gated Convolutional Networks
Yann N. Dauphin, Angela Fan, Michael Auli, David Grangier
https://arxiv.org/abs/1612.08083

screen shot 2017-11-28 at 10 25 30 am

概要

長期依存の言語タスクに対して,リカレントモデルを使わずconvolution networksで competitiveな成果を初めて出した.データセットはGoogle Billion Word BenchmarkとWikiText-103.
テキストは固定長になってしまうが,CNNでの畳み込みを行うが,単純なゲートと組み合わせてスタックしていく.recurrentモデルよりも早い模様(時系列処理をしていないため).またAdaptiveSoftmax(ボキャブラリが多く,登場頻度に偏りがあるようなものに対して適用すると効果があるもの)も利用し,さらに早いらしい(要AdaptiveSoftmax理解)

追試

他の人の:https://github.com/anantzoid/Language-Modeling-GatedCNN
私の適当なやつ:https://github.com/jojonki/Gated-Convolutional-Networks

2016: Ranking Responses Oriented to Conversational Relevance in Chat-bots

Ranking Responses Oriented to Conversational Relevance in Chat-bots
Bowen Wu, Baoxun Wang, Hui Xue, COLING 2016
https://www.semanticscholar.org/paper/Ranking-Responses-Oriented-to-Conversational-Relev-Wu-Wang/50c3dfcfe1442ab0248937c9f8e3438b95c90387

screen shot 2018-03-08 at 11 21 09 am

概要

**のSNSから集めたデータを利用た応答選択研究.コンテキスト(履歴)に対して応答を選択する.アテンションプーリングによるCNN,GRUを使ったアーキテクチャ.QAのアーキテクチャに似ている.
最後は全結合レイヤでクロスエントロピーロスで学習(正しい応答かどうかの2値判断?).

2015: Ask Me Anything: Dynamic Memory Networks for Natural Language Processing

Ask Me Anything: Dynamic Memory Networks for Natural Language Processing
Ankit Kumar, Ozan Irsoy, Peter Ondruska, Mohit Iyyer, James Bradbury, Ishaan Gulrajani, Victor Zhong, Romain Paulus, Richard Socher, 2015
https://arxiv.org/abs/1506.07285

screen shot 2018-01-09 at 2 37 58 pm

概要

Dynamic Memory Networks(DMNs)は(input-question-answer)のトリプルが与えられた時の一般的なQAを解くモデル.

Input Module

コンテキストとなる文を解釈するモジュール.単語毎にGRUをかける(複数文の場合はconcatされる).各センテンスの最後の隠れ状態を出力する.入力が単一文の場合,TC=TI,複数文の場合は,TC=センテンス数となる.

Question Module

これも単語毎にGRUをかける,出力はGRUの最後の隠れ状態となる.このモジュールの出力シーケンスをctとする(tは出力シーケンスのt番目の値)

Episodic Memory Module

Episodic Memory ModuleではInput Moduleの出力を利用して内部のepisodic memoryを更新していく.ややややこしいのだが,E2EのMemNNsでいうところのメモリーがエピソードeに値する.またこのエピソードシーケンスと前段のepisodic memoryをGRUへの入力とし,Episodic memoryを出力する.mi = GRU(ei, mi-1).iはシーケンス番号でなく,ホップの階層を示している.miはこのGRUの最後の出力隠れ状態.

またアテンションの聞こうとして,各エピソードetに対して,ゲートであるgtを求める.gt=G(ct, mi-1, q)と表される.Gは2レイヤーのFC層.c, m, qは,それぞれ引き算したり,要素積にしたり,色々組み合わせたものの巨大なベクトルにする.つまり,gt=Sigmoid(W2(tanh(W1( z(c, m, q) ))という感じ.(bias省略)

QAタスク(babi),sentiment analysis,POSタギングと異なるタスクで実験

2017: Gated-Attention Readers for Text Comprehension

Gated-Attention Readers for Text Comprehension
Bhuwan Dhingra, Hanxiao Liu, Zhilin Yang, William W. Cohen, Ruslan Salakhutdinov, 2017 ACL
https://arxiv.org/abs/1606.01549

1

概要

ドキュメントと質問をEmbeddingしてそれぞれBiGRUする.ドキュメント側の出力はGated-Attentionモジュールを通し,再度質問のEmbeddingと掛け合わされる.MemoryNetworksのクエリ更新のホップ構造と同じ.

Gated-Attentionモジュールは,よくあるアテンション構造(ドキュメントと質問を掛けあわせてSoftmaxしたものを重みとして,質問ベクトルを更新し,それをまたドキュメントと組み合わせる.組み合わせ方として,element-wise,
add,concatなどを試している)
2

最終レイヤでは,クエリ側のBiGRUの出力のうち,穴埋めすべき場所lの中間出力とドキュメントの内積を取り,Softmax,これでドキュメント長のベクトルが取れる(そのドキュメントの単語内のうちどれかの確率になっている).これをすべてのドキュメントに対してやる.

CNN/Daily Mail NewとWho did whatのデータセットで実験.

制約

回答する答え(Entity)がSoftmaxなので1つに限定している及びドキュメントにそのEntityが登場していないとダメ.

ソース

https://github.com/bdhingra/ga-reader

TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension

TriviaQA: A Large Scale Distantly Supervised Challenge Dataset for Reading Comprehension
Mandar Joshi, Eunsol Choi, Daniel S. Weld, Luke Zettlemoyer, 2017
https://arxiv.org/abs/1705.03551

概要

650Kにも及ぶQuestion-Anser-Evidenceのトリプル(QAは95K)のコーパスを公開.クラウドソースでなく,トリビアサイトの質問を利用し,WikipediaとWebを検索しそれをEvidencesとしている.人のスコアが80%ほど,SQuADで良い性能を示しているモデルに対しても40%前後であり,かなり難しいデータセットになっている

2017: Evidence Aggregation for Answer Re-Ranking in Open-Domain Question Answering

Evidence Aggregation for Answer Re-Ranking in Open-Domain Question Answering
Shuohang Wang, Mo Yu, Jing Jiang, Wei Zhang, Xiaoxiao Guo, Shiyu Chang, Zhiguo Wang, Tim Klinger, Gerald Tesauro, Murray Campbell, ICLR 2018 under review
https://arxiv.org/abs/1711.05116

screen shot 2017-12-15 at 10 32 43 am

概要

Open DomainのQAにおいて,複数のソースからのパッセージを集約し,新たな回答をre-rankingして生み出す.strength-basedとcoverage-basedのリランキングモデルを提案.Quasar-T, SearchQAとオープンドメイン版のTrivia QAでSOTA(8%改善).IRとReaderを組み合わせた論文は複数あるが(DrQAとか),それらはそれらのパラグラフを個別に扱っているのに対して,こちらの論文では,アグリゲーションするところで大きく異なる.open-domainでは初の試み(らしい).

2つの観測.

  1. 正しい答えは,不適切な回答よりも複数のパラグラフで繰り返し出てくる(怪しい)
  2. 質問の中には,様々な回答に繋がるものもある.そのため複数のパラグラフから集約した方が良いものもある.

screen shot 2017-12-11 at 1 46 49 pm

本論文では,標準的なRC(Reading Comprehension)モデルを利用し,top-Kの答え候補を取得し,2つのリランカーで各候補のevidenceを異なる形で集約し,スコアリングし直す.既存のRCモデルは再学習不要でそのまま使える.(候補を出してもらうだけなので中身はいじらない)

  • A strength-based re-ranker
    1つめの観測ポイントに準じる.取得したtop-K候補のスパンの中で,答えが出現するたびにその回答のカウンターを増やし,一番カウントが大きいものを選ぶ.学習不要.
  • A coverage-based re-ranker (冒頭の図)
    回答に関連するパッセージを連結した際に,その新しいコンテキストが質問の要素を多くカバーする場合,その候補のランキングをあげる.新しいコンテキストはmatch-LSTMを利用して,そのコンテキストが質問をどの程度伴っているのかを判断する.
  • 上記2つを組み合わせたfull re-rankerも作る.二つのランカーから得たスコアを再度softmaxで正規化してweigted sum upするだけ(これは学習不要)

A coverage-based re-ranker

質問Q,答えA,連結したパッセージPの3つを利用してアテンションを計算し,Top-Kの答え候補に対するスコアを取得する.割と普通なアテンション(Mを作るときのconcatがやや複雑なので色々試したのが読み取れる).ykはラベルなので,1のはず(そうすると損失関数は普通のcategorical cross entropy).
2017 12 15 11 33 office lens
2017 12 15 11 33 office lens 1

The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems

The Ubuntu Dialogue Corpus: A Large Dataset for Research in Unstructured Multi-Turn Dialogue Systems
Ryan Lowe, Nissan Pow, Iulian Serban, Joelle Pineau, SIGDIAL 2015
https://arxiv.org/abs/1506.08909
screen shot 2018-03-08 at 3 02 19 pm

概要

Ubuntu Dialogue コーパスの紹介と,応答選択問題のベースライン(TF-IDFとDNNの2つ)を提供.下記からダウンロードできる.
https://github.com/rkadlec/ubuntu-ranking-dataset-creator

700万発話と1億の語彙になる.また評価はRecallベース(正解を1つ含むk個の応答候補から,n位に正解が入っている確率).
RNN/LSTMベースの応答選択モデルも提案している.各応答候補と履歴のRNNから得られる表現をσ(cTMr)で0-1に落とし,交差エントロピー誤差として学習する.他の応答選択研究の多くが,この手法をベースラインとして採用しているケースが多いように見える.
screen shot 2018-03-08 at 3 02 27 pm

2017: Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning

Hybrid Code Networks: practical and efficient end-to-end dialog control with supervised and reinforcement learning
Jason D. Williams, Kavosh Asadi, Geoffrey Zweig, ACL 2017
https://arxiv.org/abs/1702.03274

screen shot 2017-12-14 at 10 26 06 am

概要

End-to-Endの対話システムに,アプリ仕様に合わせたルールを組み込めることができるモデル.上図のひし形のところがルールを記述するところ.モデルはかなり単純で現在の発話における各特徴量をLSTM & FCに入れてsoftmaxするだけ.またアクションマスクをすることができ,ルールで記述したアクションマスクをsoftmax後の各アクションに対してmultiplyして確率を0にしたりできる.例えばレストラン検索ドメインにおいて,まだユーザーの検索クエリを聞いてない状態の時は,api_callのアクションを0にマスクするなど.また強化学習を利用したアクション選択も実験している(step 12で適用)

データセット

  • bAbI Dialog (Task 5, 6)
  • 商用のカスタマー対話(非公開)

実験

screen shot 2017-12-14 at 10 30 31 am

bAbIのDialogタスクを使っている.Task 5はレストラン検索で合成対話.ボキャブラリも極端に少ないのでAccuracyは1 epochで100%に達する.Task 6(DSTC2 Cambridge レストラン検索)は人ー機械対話なので今度は極端に難易度が上がる.entity trackingおよびcontext updateはストリングマッチングによって行われる(超単純).

追試

https://github.com/jojonki/Hybrid-Code-Networks

2015: Pointer Networks

Pointer Networks
Oriol Vinyals, Meire Fortunato, Navdeep Jaitly, 2015.
https://arxiv.org/abs/1506.03134

hikaku

概要

出力が入力シーケンスに対するインデックスシーケンスになるモデル.学習したいデータのシーケンス長が可変であるときなど便利.例えばSQuADのデータセットでは,答えは与えられたパッセージの中の一部となるが,これは単語のシーケンスであるため,最終レイヤをAffineなどでそのボキャブラリサイズに拡張するのはあまり現実的ではない(組み合わせが爆発しているため).一方PointerNetworksを使えば,答えの場所となるPointerを出力できるので,可変長の出力にも対応できる.
仕組みは,アテンション付きSeq2Seqのアテンションの値を使う.アテンション付きSeq2Seqでは,エンコーダとデコーダのステートからエンコーダ側(入力シーケンス側)のアテンションを計算し,デコーダのステートに流していたが,アテンションを計算した結果をそのまま使うのがPointer Networks.アテンションと入力シーケンスは同じシーケンス長さであるため,これをインデックスとして使える.

  • 通常のアテンション付きSeq2Seq
    attn

  • Pointer Networks
    ptr

実験ではトイタスクとして,ドロネー図や巡回セールスマン問題を解いてる.(シーケンスを入れて任意のシーケンス長のシーケンスが出てくる問題)

参考

コード

出力シーケンス長が,インプット長と同じになるシーケンスモデルと出力がインプットに対する境界インデックスを示す2つのモデルをアップ.
https://github.com/jojonki/Pointer-Networks

2017: Reading Wikipedia to Answer Open-Domain Questions

Reading Wikipedia to Answer Open-Domain Questions
Danqi Chen, Adam Fisch, Jason Weston, Antoine Bordes
https://arxiv.org/abs/1704.00051
https://github.com/facebookresearch/DrQA

screen shot 2017-12-08 at 4 57 12 pm

概要

open domainなQA.一般的なQA論文と異なり,パラグラフ(コンテキスト)がgivenな状態でなく,関連するドキュメントを引っ張ってくるところからやっているのがえらい.Document RetrieverとDocument Readerの2段体制.

  • Document Retriever
    機械学習は使わず,TF-IDFで重み付けされたBoWを利用した検索システム.5件の関連するWikipediaの記事を取得できる.

  • Document Reader
    あとでかく

データセット

  • Wikipediaのdump
  • SQuAD
  • CuratedTREC, WebQuestions and WikiMovies (Open-Domain QAの評価にSQuADと合わせて利用)

Distantly Supervised (DS) Data

SQuAD以外のデータセットではQAペアのみでコンテキストがgiven出ない.そのためDocument Retrieverで関連する5つのwikipedia記事を持って来てフィルタリングする(答えとのexact matchや長さで).またこれはコンテキストがgivenであるSQuADにも適用した.半分ほどの記事はSQuADで使われてる記事以外であることを観測している.

実験

Document RetrieverとDocument Readerは独立したモジュールとしてそれぞれ評価した後に,フルシステム(パイプライン)としてのDrQAを評価した.

  • Retriever
    上位5件に答えのセグメントが現れてるものが出現しているかの割合.Wikipediaの検索エンジンよりも高い性能
  • Reader
    当時のSOTAに逼迫するスコアを出した.
  • フルシステム
    3つのリーダーで評価.
  1. SQuAD: SQuADのtrainingセットのみで学習したモデル
  2. Fine-Tune (DS): 1の学習済みモデルから各データセットのDSに対してそれぞれfine tune
  3. Multitask (DS): SQuADと他の全てのDSでjointly trained

フルシステムでの結果は下記の通り.Finetune,MultitaskによりSQuAD単体よりはマシな状態であるが,given状態からの性能低下はかなり大きい.
screen shot 2017-12-10 at 7 16 59 pm

用語

  • MRS (machine reading at scale)
    質問が与えられた時に5百万のアイテムの中から関連する記事をいくつか見つけ,その中から答えをスキャンする設定.

2017: A review of Evaluation Techniques for Social Dialogue Systems

A Review of Evaluation Techniques for Social Dialogue Systems
Amanda Cercas Curry, Helen Hastie, Verena Rieser, 2017
https://arxiv.org/abs/1709.04409

概要

雑談対話システム(非タスク指向)の評価手法を手短にまとめた論文.たとえば機械翻訳などではBLEUが有効であるが,雑談対話ではそうとは言えない(正解のレスポンスと見た目が異なっていても,雑談の応答としては正しいときがよくある)

  • Word-Overlap Metrics (BLEUとか)
  • 学習ベース(ターンレベルで良い応答を学習しておく)
  • 分類モデル (Twitterなどの大量の対話データを用いてその分散表現をリファレンスとする,など)
  • 報酬ベース (ターンレベルでの報酬など,ヒューリスティックな手法など)

2016: Multi-view Response Selection for Human-Computer Conversation

Multi-view Response Selection for Human-Computer Conversation
Xiangyang Zhou, Daxiang Dong, +5 authors Rui Yan, EMNLP 2016
https://pdfs.semanticscholar.org/2e0b/ed618d023cad81eae218e69afce8bef8e4d6.pdf?_ga=2.201427480.826006096.1520277248-85159479.1520277248

screen shot 2018-03-08 at 10 54 43 am

概要

#46 のようにUbuntu対話コーパスで応答選択したもの.従来の研究は,コンテキストと応答を単語レベルのシーケンスとしてマッチングを行なっていたが,この研究では文レベル(文の意図,確認とか否定とか)の側面も足して応答を選択した.それぞれword sequence view,utterance sequence viewという.マッチング関数自体は既存の研究と同じような形だが,utterance sequenceレベル(文単位)でやっているのがポイント(上図の下側).

ロス関数はの確率がも止まるので,ロス関数は下記のように2つのロスのコンビ.Ldはdisagreement loss,Llはlikelihood lossとしている.前者は,2つの意見は一致したか?後者は,それぞれの確率は十分か?というイメージ.
screen shot 2018-03-08 at 10 54 53 am

wordレベルのマッチングでは,応答に含まれる単語が履歴に多く含まれているやつを選びやすく,utteranceレベルのマッチングでは,発話のコアにおける(意味的な面?)マッチングをしやすかったとのこと.

Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieval-based Chatbots

Sequential Matching Network: A New Architecture for Multi-turn Response Selection in Retrieval-based Chatbots
Yu Wu, Wei Wu, Chen Xing, Ming Zhou, Zhoujun Li, ACL 2017
https://arxiv.org/abs/1612.01627

screen shot 2018-03-08 at 2 05 20 pm

概要

チャットボット対話における複数ターンを考慮した応答選択研究.従来のように履歴ー応答候補のマッチングを行うが,応答候補と各履歴に対するマッチングを最初に行い.アテンションのように使うのが特徴.Sequential Matching Networkと名付けた.
Ubuntuコーパス,Douban Conversationコーパスの2つで実験.後者は**語のopen-domainの対話で,このコーパスの公開もこの論文の貢献に含まれている.

CNNの前段に各応答と各履歴の中の発話とのマッチングを取っている(上図参照).

参考

すでに他の方がまとめていたやつの方が参考になる
ymym3412/acl-papers#59

2017: Fast Reading Comprehension with ConvNets

Fast Reading Comprehension with ConvNets
Felix Wu, Ni Lao, John Blitzer, Guandao Yang, Kilian Weinberger, ICLR 2018 (Under review)
https://arxiv.org/abs/1711.04352

概要

Reading Comprehensionタスクではシーケンシャル構造のRNNがよく貢献してきたが,並列化が難しいなどボトルネックになる(特に長いテキストを処理するとき).そこで本論文ではdilated convolution(畳み込みを疎に広げることで受容体を広げるCNNの1手法,dilated convolution自体はここで提案された)のユニットを使って,リカレント部分を置き換える手法を提案する.BiDAFとDrQAの2モデルのBi-LSTM部分をこのモジュールで置き換えることで学習速度アップしつつ,SOTAにもcomparableなスコアを出した.(データセットはSQuADとTriviaQA)

EMとF値は本論文とほぼ同じでありつつ,様々なドキュメント長においてもスピードアップできた
screen shot 2017-11-29 at 11 43 50 am
screen shot 2017-11-29 at 11 43 55 am

Ref

  • #25 Language Modeling with Gated Convolutional Networks

2016: Machine Comprehension Using Match-LSTM and Answer Pointer

Machine Comprehension Using Match-LSTM and Answer Pointer
Shuohang Wang, Jing Jiang, https://arxiv.org/abs/1608.07905

screen shot 2017-11-22 at 9 58 57 pm

処理ステップ

  1. PassageとQueryは何らかのEmbeddingをする(GloveとかWord2vecとか)
  2. LSTM Preprocessing Layer
    PassageとQueryはそれぞれLSTM(単方向)に入れ,HpとHqを得る

screen shot 2017-11-26 at 6 25 52 pm

  1. Match-LSTM Layer
    アテンションを計算する.Query全体とi番目のPassageの単語で下記のようなGを作り,affine変換+softmaxでi番目のPassageの単語に対するアテンションαiを計算する.第2項のカッコの中の第2項であるhr_i-1は次に説明.⊗ eQはテンソル積で,Query長になるよう第2項の値を繰り返して,第1項と第2項で足し算できるようにしている.

screen shot 2017-11-26 at 6 25 57 pm

i番目のPassageのトークンと,i番目に対するQueryへのアテンションαiをQuery全体のhidden representationsにかけたもの,のconcatしたziを得る
screen shot 2017-11-26 at 6 32 52 pm

これをLSTMに入れる
screen shot 2017-11-26 at 6 32 58 pm
パッセージの逆方向からも同様の処理をする.
screen shot 2017-11-26 at 6 38 10 pm

両方向の長さP(Passage長)の隠れ状態をcocatしてHrを手に入れる
screen shot 2017-11-26 at 6 40 37 pm
screen shot 2017-11-26 at 6 40 43 pm

  1. Answer Pointer Layer
    Pointer Networks(入力シーケンスに対してのインデックスが出力となる構造)で答えを予測する.SQuADはPassageの中のどこが答えか?という問題なので適用できる.Sequence ModelとBoundary Modelがあり,前者は答えのシーケンス(単語idのシーケンス)を出力する(閾値長を超えるか,特殊文字を出力するまでが答え,Passage中の連続する単語を答えるとは限らない).後者は答えのシーケンスの頭とお尻の2つのインデックスを答えるモデル.こちらの方がうまくいった

結果

screen shot 2017-11-26 at 6 46 46 pm

screen shot 2017-11-26 at 6 46 58 pm

2017 Question Answering from Unstructured Text by Retrieval and Comprehension

Question Answering from Unstructured Text by Retrieval and Comprehension
Yusuke Watanabe, Bhuwan Dhingra, Ruslan Salakhutdinov
https://arxiv.org/abs/1703.08885

概要

WIKIMOVIES(Facebookの公開した映画ドメインのQAタスク)を解いたもの.質問に関連するWikipediaの記事を引っ張ってくるRetrievalのフェーズと質問と記事とをアテンションで解くComprehensionの2段構成の論文.WIKIMOVIESの各質問タイプのほぼすべてを改善.SQuADなどでは質問を解くためのコンテキストはコーパスですでに与えられている状態であるが,この論文ではそのコンテキストも検索する部分も提案に含めている.(WIKIMOVIES自体はコンテキストも付いているのでそれをそのまま利用してComprehensionのみに専念してもよい)
ComprehensionフェーズではRNNベースの取得記事あるいはボキャブラリの混合モデルを採用しているのが特徴的.(2枚目の画像).仮説として,登場頻度の少ないEntityはアテンション(記事内から)で,言語やジャンルなどはボキャブラリで拾えるのではないか?としている.

2017: Avoiding Echo-Responses in a Retrieval-Based Conversation System

Avoiding Echo-Responses in a Retrieval-Based Conversation System
Denis Fedorenko, Nikita Smetanin, Artem Rodichev, 2017
https://arxiv.org/abs/1712.05626
https://github.com/lukalabs/replika-research/blob/master/nips2017/avoiding_echo_responses_poster.pdf

  • random sampling (RS)
  • a hard negative mining based on responses only (HN, #41 )
  • a hard negative mining based on both responses and contexts (HNc).

screen shot 2017-12-18 at 10 49 20 am

概要

適切な回答を選ぶ問題." echoing problem " (エージェントが入力と極端に似ていたり一緒の,不適切な回答を選んでしまう)の問題を軽減できた.

Hard Negative Mining

不適切発話を集めるためにはネガティブデータも必要.ランダムサンプリングとhard negative miningの2手法を実践.モデルは下図のQA-LSTMのベーシックなモデルを採用(#40 )

  • ランダムサンプリング
    データセットDからランダムにデータを選択(Dが十分に大きければまず問題ないでしょう)
  • Hard Negative Mining
    ランダムサンプリングした後に,適切発話と不適切発話のcosine距離を計算し,条件を満たせていないものをNegativeとして計算するようにする.新しい手法を提案しているように名前をつけているが,#41 とやっていることは同じ(著者に確認済み).ただ違うのはコンテキスト自身も不適切レスポンスとして学習する手法で(HNc),入力発話と似たようなものは選ばないようにすることができた.
    screen shot 2017-12-20 at 12 20 48 pm

screen shot 2017-12-18 at 10 22 06 am

データセット

training: twitter https://archive.org/details/twitterstream (79M tweet-reply)
test(下図参照): https://github.com/lukalabs/replika-research/tree/master/context-free-dataset(750 context-response pair)
screen shot 2017-12-18 at 10 41 29 am

LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION
https://arxiv.org/pdf/1511.04108.pdf

2015: Effective Approaches to Attention-based NeuralMachine Translation

Effective Approaches to Attention-based NeuralMachine Translation
Minh-Thang Luong Hieu Pham Christopher D.Manning
http://aclweb.org/anthology/D15-1166

概要

アテンションを使った機械翻訳.シンプルなGlobal/Localアテンションモデルを適用して評価した.Bahdanau氏の最初?のアテンションモデルを受けて,アテンション効果及びそのモデル化がしっかりとされてる.
アテンションを計算するとき,ソースとターゲットの隠れ状態hの組み合わせ方もdotやconcatとか色々試して性能を見ている(ノート参照).

  • Globalアテンション
    ソース言語全体とターゲット言語のtにおける単語とのアテンションを計算し,ソース言語全体とそのアテンションでコンテキストベクトルを作る.そしてそのコンテキストベクトルとターゲット言語側のhtを合わせ,ytを予測する.ht->at->ct->ht~の流れ.Bahdanau氏はht-1->at->ct->htとデコーダ側の処理がDeepになってしまうのと比べてシンプル.
    attn

  • Localアテンション
    Globalでは長いテキストの場合,すべてアテンションを適用しているので,コストが高くあまりうまくいかなそう.そこでアテンションをソース言語全体からウインドウサイズで切ったサブセットの中でアテンションを計算するのがこのモデル.ターゲット言語のhtにおいて,ソース言語のウインドウの中心となるptを計算し,その前後の中からアテンションを計算する.ウインドウは[pt-D, pt+D]の2D+1のサイズになる.つまりソースの長さにかかわらず固定長.
    ptの決め方はMonotonic alignmentかPredictive alignmentの2つ.前者はpt=tとソースとターゲットのアラインメントが同じでしょう,と楽観的に決めるパターン(日英翻訳とかだとメタメタになるけど,英独とかアラインメントがにているやつには効果があるのかも).Predictive alignmentはhtを変換して[0,S]の長さが出てくるよう学習するもの(ノートの計算式参照).
    さらにアテンションにはptが中心となるように正規分布をかけておく.Globalではソース全体に対して一様にアテンションをかけていたが,Localではptがもっとも高くなるよう,正規分布というマスクをかけている.
    attention

  • Input-feeding
    通常のMTでは,ソースのどのワードを翻訳したか,を追っているので,このモデルにおいてもアラインメントを伝搬させるようにしたのがInput-feeding.アテンションベクターht~がデコーダーの次のステップの入力とconcatされて入力される.
    if

Ref

Neural Machine Translation by Jointly Learning to Align and Translate
Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio

2009: Zero-Shot Learning with Semantic Output Codes

http://www.cs.cmu.edu/afs/cs/project/theo-73/www/papers/zero-shot-learning.pdf NIPS 2009

概要

trainingデータには含まれていなかった事例を学習できるようにする.画像の問題設定で識別するクラスが大量にあるときなどに有効.Semantic Output Code Classifierで解決する.

  • Semantic Feature Space
    p次元の特徴空間.d次元空間で表された入力xをここに写像する

  • Semantic Knowledge Base
    {f, y} 1:Mであり,fは上記の p次元空間. yはクラスラベル.つまり特徴空間とラベルとの対応付ラベル.

  • Semantic Output Code Classifier
    入力を特徴空間に落としてから,クラスラベルを推測する
    3

9つの単語を被験者に見せて,そのときのfMRIの画像をコーパスとする実験設定(読んでない..)

2017: Question Answering on Knowledge Bases and Text using Universal Schema and Memory Networks

Question Answering on Knowledge Bases and Text using Universal Schema and Memory Networks
Rajarshi Das, Manzil Zaheer, Siva Reddy, Andrew McCallum
https://arxiv.org/abs/1704.08384 ACL 2017 (short)
1

概要

KB(Freebase)と構造化されていないraw text(ClueWeb)の両方を,Universal Schema(2単語とその関係を表すスパースなMatrix(上図))で表現し,共通のEmbedding空間に落とす.Universal Schema上での該当項目はMemoryNetowksのメモリに該当させ,アテンションレイヤーとして学習される.提案手法はEnd-to-Endである.SPADESデータセットを利用して穴埋め(Fill-in-the-blank)を解いている.KBあるいはText単体よりもコンビネーションの方が性能がでている

面白いところ

‘african-american’ presidentという組み合わせが,KBとraw textのコンビネーションより解けている(と思われる)ところ.マルチソースに対するアテンションという意味で参考になる.

  • USA has elected blank , our first african-american president (答えBarack Obama)

2017: Challenging Neural Dialogue Models with Natural Data: Memory Networks Fail on Incremental Phenomena

Challenging Neural Dialogue Models with Natural Data: Memory Networks Fail on Incremental Phenomena
Igor Shalyminov, Arash Eshghi, Oliver Lemon, SemDial 2017
https://arxiv.org/abs/1709.07840

概要

言い直し,言い澱み,ためらい,などの自然対話で起こる現象をFacebookのDialog babi DatasetのTask 1(API_CALL)に付与して,当時SOTAのMemN2Nを動かし現象を確認したところ,劇的にパフォーマンスが低下した.このbabiデータはbabi+として公開されている(下記リンク参照).Task 1に限定しているのはdisfluencyの影響を確認するのが目的であるため(本当か?).

付与した現象

  1. Hesitations(40%)
    “we will be uhm eight”;
  2. Restarts(5%)
    “can you make a restaurant uhm yeah can you make a restaurant reservation for four people with french cuisine in a moderate price range”
  3. Corrections affecting task-specific information(21%)
    – both short-distance ones correcting one token
    “with french oh no spanish food”
  • long-distance NP/PP-level corrections
    “with french food uhm sorry with spanish food”
    1発話としての長い文.

実験

babiで学習したモデルをbabi+でテストすると結果はメタメタに.これを逆にした場合は結構うまく言っている.
またbabi+の学習量を増やすとそれなりに性能は上がっている.(筆者たちはこのdisfluencyを学ぶにはそれなりのデータ量が必要だろうと仮説を立てていた)
screen shot 2017-12-16 at 11 35 36 am

リンク

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.