IssuesにNLPに関連する論文を読んだまとめを書いています.arXivTimesに影響を受けて作りましたが,まとめ方が自分向けでなので,本家を見ることをお勧めします.
またここで読んだ論文の中でも,面白かったものは,私のpodcast,Leading NLP Ninjaでも配信しています.良ければ聞いてみて下さい.
THE CONTENTS OF THIS REPOSITRY ARE WRITTEN IN JAPANESE.
IssuesにNLP(自然言語処理)に関連するの論文を読んだまとめを書いています.雑です.🚧 マークは編集中の論文です(事実上放置のものも多いです).🍡 マークは概要のみ書いてます(早く見れる的な意味で団子).
Home Page: https://github.com/jojonki/arXivNotes/issues
IssuesにNLPに関連する論文を読んだまとめを書いています.arXivTimesに影響を受けて作りましたが,まとめ方が自分向けでなので,本家を見ることをお勧めします.
またここで読んだ論文の中でも,面白かったものは,私のpodcast,Leading NLP Ninjaでも配信しています.良ければ聞いてみて下さい.
THE CONTENTS OF THIS REPOSITRY ARE WRITTEN IN JAPANESE.
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
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に落とし,交差エントロピー誤差として学習する.他の応答選択研究の多くが,この手法をベースラインとして採用しているケースが多いように見える.
Adversarial Examples for Evaluating Reading Comprehension Systems
Robin Jia, Percy Liang
https://arxiv.org/abs/1707.07328
https://github.com/robinjia/adversarial-squad
SQuADのデータセットに対して,正解は変えず人が読んでも誤解しないような,敵対的な文をインサートするとSOTAなモデルの性能がガクッと下がった.16のモデルの平均F1値が75%から36%に低下.更に文法的に破綻した文を入れると4つのモデルで平均4%にまで正解率が減った.BiDAFやMatch-LSTMなどで実験.
画像認識の分野でも人が知覚できない(あるいはセマンティクスに影響ない)ようなノイズなどを入れて実験しているが,これはその言語版.
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
insuranceに関する初めての大規模QAコーパス.答えは回答候補から選ぶAnswerSelectionのタスクとして作られている.
ちゃんと読んでないけど,基本的には適切な回答と不適切な回答のペアに対して,LSTMやCNNを適用し何らかのrepresentationを取得し,そのcosine距離を取る.そして適切な回答であればcosine距離が大きくなるように対して設計されている.(mはハイパーパラメタで0.2とか)
一つの質問に対しては1つか2つぐらいの回答ラベルが付与されている一方,回答候補は500とか1000とかで用意されている.本来は全ての回答(24,981)から選択すべきだが,学習時間が非現実ということで500とかに絞っている(see 1.).また学習に関しては,全ての回答候補のcosine距離をいちいち計算しているのは辛いと思ったら,論文では下記のように計算を打ち切っている.(でもこれだとmini-batch使えないような..)
テスト時は,qと回答候補(500つ)のcosine距離をそれぞれ計算し,もっとも値が大きいものを正解とする.
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
適切な回答を選ぶ問題." echoing problem " (エージェントが入力と極端に似ていたり一緒の,不適切な回答を選んでしまう)の問題を軽減できた.
不適切発話を集めるためにはネガティブデータも必要.ランダムサンプリングとhard negative miningの2手法を実践.モデルは下図のQA-LSTMのベーシックなモデルを採用(#40 )
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)
LSTM-BASED DEEP LEARNING MODELS FOR NONFACTOID ANSWER SELECTION
https://arxiv.org/pdf/1511.04108.pdf
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
ビジュアルキャプション生成タスク.テキストを生成する際に,いつ・どこにアテンションするかを学習できる.いつ,は生成するテキストの重要な箇所,どこはイメージに対する場所(下図)
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
Dynamic Memory Networks(DMNs)は(input-question-answer)のトリプルが与えられた時の一般的なQAを解くモデル.
コンテキストとなる文を解釈するモジュール.単語毎にGRUをかける(複数文の場合はconcatされる).各センテンスの最後の隠れ状態を出力する.入力が単一文の場合,TC=TI,複数文の場合は,TC=センテンス数となる.
これも単語毎にGRUをかける,出力はGRUの最後の隠れ状態となる.このモジュールの出力シーケンスをctとする(tは出力シーケンスのt番目の値)
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タギングと異なるタスクで実験
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
open domainなQA.一般的なQA論文と異なり,パラグラフ(コンテキスト)がgivenな状態でなく,関連するドキュメントを引っ張ってくるところからやっているのがえらい.Document RetrieverとDocument Readerの2段体制.
Document Retriever
機械学習は使わず,TF-IDFで重み付けされたBoWを利用した検索システム.5件の関連するWikipediaの記事を取得できる.
Document Reader
あとでかく
SQuAD以外のデータセットではQAペアのみでコンテキストがgiven出ない.そのためDocument Retrieverで関連する5つのwikipedia記事を持って来てフィルタリングする(答えとのexact matchや長さで).またこれはコンテキストがgivenであるSQuADにも適用した.半分ほどの記事はSQuADで使われてる記事以外であることを観測している.
Document RetrieverとDocument Readerは独立したモジュールとしてそれぞれ評価した後に,フルシステム(パイプライン)としてのDrQAを評価した.
フルシステムでの結果は下記の通り.Finetune,MultitaskによりSQuAD単体よりはマシな状態であるが,given状態からの性能低下はかなり大きい.
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はアテンション(記事内から)で,言語やジャンルなどはボキャブラリで拾えるのではないか?としている.
FusionNet: Fusing via Fully-Aware Attention with Application to Machine Comprehension
Hsin-Yuan Huang, Chenguang Zhu, Yelong Shen, Weizhu Chen
https://arxiv.org/abs/1711.07341
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
複数のEmbeddingレイヤーとアテンションを採用したQAモデル.
通常の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に投げる.
1次元及び2次元のアテンションがあるという.1次元のアテンションとはqueryを1つのembedding vectorにしてしまうもの.複数のキーワードがあったときは難しいかもしれない.2次元のアテンションとはすべての単語に関してembedding vectorを持つもの.これはやりすぎでstopwordsとかも考慮に入れてしまう
アテンションレイヤーにはFull-orientation matchingによるMemoryNetworksを採用する(要理解)
使ったコーパスはSQuADとTriviaQAで,どちらも投稿時点ではState-of-the-art
末尾の関連研究に最近のアテンションを利用したQAネットワークのまとめがあり便利.
Improved Deep Learning Baselines for Ubuntu Corpus Dialogs
Rudolf Kadlec, Martin Schmid, Jan Kleindienst, NIPS 2015
https://arxiv.org/abs/1510.03753
Ubuntu Dialogコーパスを使った,次回発話のランキング問題(応答ランキング・応答選択問題).
LSTM, BiLSTM, CNNを使った手法およびそれらのアンサンブル手法を提案.で,アンサンブルでSOTA.
最初の図にあるように,context(これまでの履歴)と予測すべきresponseをRNNとかで表現し,それらをsigmoid(cTMr + b)という形で,正解ペアかそれ以外ペアかの2値判断する
.
DNNを使った正解・不正解ペアを使った応答選択問題の先駆け的論文(だと思う)
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
Open DomainのQAにおいて,複数のソースからのパッセージを集約し,新たな回答をre-rankingして生み出す.strength-basedとcoverage-basedのリランキングモデルを提案.Quasar-T, SearchQAとオープンドメイン版のTrivia QAでSOTA(8%改善).IRとReaderを組み合わせた論文は複数あるが(DrQAとか),それらはそれらのパラグラフを個別に扱っているのに対して,こちらの論文では,アグリゲーションするところで大きく異なる.open-domainでは初の試み(らしい).
2つの観測.
本論文では,標準的なRC(Reading Comprehension)モデルを利用し,top-Kの答え候補を取得し,2つのリランカーで各候補のevidenceを異なる形で集約し,スコアリングし直す.既存のRCモデルは再学習不要でそのまま使える.(候補を出してもらうだけなので中身はいじらない)
質問Q,答えA,連結したパッセージPの3つを利用してアテンションを計算し,Top-Kの答え候補に対するスコアを取得する.割と普通なアテンション(Mを作るときのconcatがやや複雑なので色々試したのが読み取れる).ykはラベルなので,1のはず(そうすると損失関数は普通のcategorical cross entropy).
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
End-to-Endの対話システムに,アプリ仕様に合わせたルールを組み込めることができるモデル.上図のひし形のところがルールを記述するところ.モデルはかなり単純で現在の発話における各特徴量をLSTM & FCに入れてsoftmaxするだけ.またアクションマスクをすることができ,ルールで記述したアクションマスクをsoftmax後の各アクションに対してmultiplyして確率を0にしたりできる.例えばレストラン検索ドメインにおいて,まだユーザーの検索クエリを聞いてない状態の時は,api_callのアクションを0にマスクするなど.また強化学習を利用したアクション選択も実験している(step 12で適用)
bAbIのDialogタスクを使っている.Task 5はレストラン検索で合成対話.ボキャブラリも極端に少ないのでAccuracyは1 epochで100%に達する.Task 6(DSTC2 Cambridge レストラン検索)は人ー機械対話なので今度は極端に難易度が上がる.entity trackingおよびcontext updateはストリングマッチングによって行われる(超単純).
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/
Pythonで作られた非専門家のための対話システム開発フレームワーク.Rasa NLU(意味解析)とCore(対話制御)の2モジュールからなる.CambridgeのPyDialと似たような立ち位置だが,Rasaでは非専門家のためにより特化している.
spaCyを使ってtokenize,posタギング,gloveのpreデファインを使ったり,CRFでエンティティを認識するよう学習できる.
https://nlu.rasa.ai/
...
Markdownかjsonで記述したものを学習データとして利用できる.発話事例とintent, entity情報を記載する.
Language Modeling with Gated Convolutional Networks
Yann N. Dauphin, Angela Fan, Michael Auli, David Grangier
https://arxiv.org/abs/1612.08083
長期依存の言語タスクに対して,リカレントモデルを使わず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
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)
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のコンビネーションより解けている(と思われる)ところ.マルチソースに対するアテンションという意味で参考になる.
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
CNN and DailyMailデータセットの考察と分析.及び慣例的なEntityベース分類器とEnd-to-Endのシステム2つを提案.End-to-endのものは人のレベルにすでに肉薄している.
考察をするとデータが思ったより複雑でなく,ベースラインですらDeepMindの元論文の性能を超えており,ほぼ攻略済み.元論文に対してやや攻撃的
Attention Strategies for Multi-Source Sequence-to-Sequence Learning,
Jindřich Libovický, Jindřich Helcl, ACL 2017 best short paper, https://arxiv.org/abs/1704.06567
Multimodal Translationタスク
Multi30kデータセット(画像と英語キャプションとドイツ語翻訳のトリプル)
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
Response Selection (QA,質問と回答候補が与えられた時に回答候補から正しい回答を選ぶタスク)タスクにおいて,クエリに対して適切な回答を選ぶ.InsuranceQAとTREQ-QAで評価.
QA-LSTM (basic model,上図の1枚目)
QとAをそれぞれBiLSTMやCNNを利用して,特徴量ベクトルにまとめ,それをcosine similarityで比較して,応答を選択する.特徴量ベクトルにまとめるには,各時間での平均を取ってきたりmaxpoolしたり色々.
学習は,マージンランキング損失で学習.正解ペアに対するcosine simに対して,ランダムにサンプルした非正解ペアに対して十分なマージンを取って差が出るように学習する.
https://arxiv.org/abs/1606.03126 EMNLP 2016
End-to-end Memory Networksの亜種.映画ドメインにおけるQA.メモリとして対話履歴ではなく,映画知識情報をKey-Valueのメモリとして扱う.End-to-endで学習できる.知識としてKBだけでなく,IE (Information Extraction),Raw Textを扱い,KBとのギャップを埋めれないか?というのが目標.KB,IE,Raw Textの順でやはり性能は下がっていく.
Towards Taxonomy of Errors in Chat-oriented Dialogue Systems
Higashinaka, SIGDIAL 2015
http://www.aclweb.org/anthology/W15-4611
日本語雑談対話の対話破綻エラー分類を新たに定義.
日本語の破綻事例を英語に翻訳していたりするので,日本語のペーパーを読んだ方が良いかも.
http://www.anlp.jp/proceedings/annual_meeting/2016/pdf_dir/E2-1.pdf
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
#46 のようにUbuntu対話コーパスで応答選択したもの.従来の研究は,コンテキストと応答を単語レベルのシーケンスとしてマッチングを行なっていたが,この研究では文レベル(文の意図,確認とか否定とか)の側面も足して応答を選択した.それぞれword sequence view,utterance sequence viewという.マッチング関数自体は既存の研究と同じような形だが,utterance sequenceレベル(文単位)でやっているのがポイント(上図の下側).
ロス関数はの確率がも止まるので,ロス関数は下記のように2つのロスのコンビ.Ldはdisagreement loss,Llはlikelihood lossとしている.前者は,2つの意見は一致したか?後者は,それぞれの確率は十分か?というイメージ.
wordレベルのマッチングでは,応答に含まれる単語が履歴に多く含まれているやつを選びやすく,utteranceレベルのマッチングでは,発話のコアにおける(意味的な面?)マッチングをしやすかったとのこと.
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
**のSNSから集めたデータを利用た応答選択研究.コンテキスト(履歴)に対して応答を選択する.アテンションプーリングによるCNN,GRUを使ったアーキテクチャ.QAのアーキテクチャに似ている.
最後は全結合レイヤでクロスエントロピーロスで学習(正しい応答かどうかの2値判断?).
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はクラスラベル.つまり特徴空間とラベルとの対応付ラベル.
9つの単語を被験者に見せて,そのときのfMRIの画像をコーパスとする実験設定(読んでない..)
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になってしまうのと比べてシンプル.
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がもっとも高くなるよう,正規分布というマスクをかけている.
Input-feeding
通常のMTでは,ソースのどのワードを翻訳したか,を追っているので,このモデルにおいてもアラインメントを伝搬させるようにしたのがInput-feeding.アテンションベクターht~がデコーダーの次のステップの入力とconcatされて入力される.
Neural Machine Translation by Jointly Learning to Align and Translate
Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio
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/)
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値は本論文とほぼ同じでありつつ,様々なドキュメント長においてもスピードアップできた
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の影響を確認するのが目的であるため(本当か?).
babiで学習したモデルをbabi+でテストすると結果はメタメタに.これを逆にした場合は結構うまく言っている.
またbabi+の学習量を増やすとそれなりに性能は上がっている.(筆者たちはこのdisfluencyを学ぶにはそれなりのデータ量が必要だろうと仮説を立てていた)
A User Simulator for Task-Completion Dialogues
Xiujun Li, Zachary C. Lipton, Bhuwan Dhingra, Lihong Li, Jianfeng Gao, Yun-Nung Chen
https://arxiv.org/abs/1612.05688
映画チケットの予約と検索
#33 の対話システムと強化学習するエージェント
Group Sparse CNNs for Question Classification with Answer Sets
Mingbo Ma, Liang Huang, Bing Xiang, Bowen Zhou, ACL 2017 https://arxiv.org/abs/1710.02717
質問クラスはしばしば階層的構造を持つ(FAQのジャンルのような),そしてその答え群のボキャブラリは通常質問より大きく,この答え群が質問のRepresentation能力を高めるかもしれない.
Pointer Networks
Oriol Vinyals, Meire Fortunato, Navdeep Jaitly, 2015.
https://arxiv.org/abs/1506.03134
出力が入力シーケンスに対するインデックスシーケンスになるモデル.学習したいデータのシーケンス長が可変であるときなど便利.例えばSQuADのデータセットでは,答えは与えられたパッセージの中の一部となるが,これは単語のシーケンスであるため,最終レイヤをAffineなどでそのボキャブラリサイズに拡張するのはあまり現実的ではない(組み合わせが爆発しているため).一方PointerNetworksを使えば,答えの場所となるPointerを出力できるので,可変長の出力にも対応できる.
仕組みは,アテンション付きSeq2Seqのアテンションの値を使う.アテンション付きSeq2Seqでは,エンコーダとデコーダのステートからエンコーダ側(入力シーケンス側)のアテンションを計算し,デコーダのステートに流していたが,アテンションを計算した結果をそのまま使うのがPointer Networks.アテンションと入力シーケンスは同じシーケンス長さであるため,これをインデックスとして使える.
実験ではトイタスクとして,ドロネー図や巡回セールスマン問題を解いてる.(シーケンスを入れて任意のシーケンス長のシーケンスが出てくる問題)
出力シーケンス長が,インプット長と同じになるシーケンスモデルと出力がインプットに対する境界インデックスを示す2つのモデルをアップ.
https://github.com/jojonki/Pointer-Networks
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テストをしているが,複雑なアーキテクチャの一部を評価しているにすぎない,と批判.
FastQAのヒューリスティックス
一般的なQAモデルがもっとも注力しているInteraction Layer(アテンション計算部)がこのFastQAにはない.
Learning End-to-End Goal-Oriented Dialog
Antoine Bordes, Y-Lan Boureau, Jason Weston, 2017 ICLR
https://arxiv.org/abs/1605.07683
End-to-Endの対話システムの評価のためのコーパスを公開.
ここからダウンロードできる
https://research.fb.com/downloads/babi/
Multi-Scale Context Aggregation by Dilated Convolutions
Fisher Yu, Vladlen Koltun, ICLR 2016
https://arxiv.org/abs/1511.07122
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
ドキュメントと質問をEmbeddingしてそれぞれBiGRUする.ドキュメント側の出力はGated-Attentionモジュールを通し,再度質問のEmbeddingと掛け合わされる.MemoryNetworksのクエリ更新のホップ構造と同じ.
Gated-Attentionモジュールは,よくあるアテンション構造(ドキュメントと質問を掛けあわせてSoftmaxしたものを重みとして,質問ベクトルを更新し,それをまたドキュメントと組み合わせる.組み合わせ方として,element-wise,
add,concatなどを試している)
最終レイヤでは,クエリ側のBiGRUの出力のうち,穴埋めすべき場所lの中間出力とドキュメントの内積を取り,Softmax,これでドキュメント長のベクトルが取れる(そのドキュメントの単語内のうちどれかの確率になっている).これをすべてのドキュメントに対してやる.
CNN/Daily Mail NewとWho did whatのデータセットで実験.
回答する答え(Entity)がSoftmaxなので1つに限定している及びドキュメントにそのEntityが登場していないとダメ.
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
英語学習者に提供する日々の英対話を提供する複数のサイトからクロール.
1対1対話.
4つの対話行動に分類.(Amanovaらの手法をフォロー)
また各発話にエモーションタグも6+1(no emotion)の7種にアノテーションしている(BigSix Theory (Ekman, 1992)に準拠)
10トピックに分類
既存のアプローチで本体データセットを評価
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
Gated Self-Matching Networks for Reading Comprehension and Question Answering, ACL 2017
http://www.aclweb.org/anthology/P17-1018
下記論文からinspireされているので先にこちらのまとめを読むと良いかも.
Machine Comprehension Using Match-LSTM and Answer Pointer, #22
アテンション機構を使ってSQuADを解いたモデル.貢献ポイントは主に下記の2つだと思う.
word/character レベルのembeddingを作る.charレベルのembeddingはトークン内におけるcharレベルで適用される(wordレベルとインデックスを揃えてconcatできるようにするためだと思う)
質問とパッセージのrepresentationをそれぞれのRNNエンコーダ(bi-directional GRU)を使って作る
gated matching layer(アテンションベースのRNNにゲートを追加したもの)で質問とパッセージのマッチングをとる.質問情報をパッセージ表現に取り込むため.
基本的にはMatch-LSTMの論文のアテンション機構と同じであるが,重み付けした隠れ状態に対してsigmoidで0~1のゲートをかけるところで異なっている(上がMatch-LSTMの論文の方で,本論文ではこのRNNの中の2項目にゲートを設けるところで異なっている).Match-LSTMではパラグラフ内の全単語に対して,質問と関係があるかを計算していたのに対して,こちらのモデルにするとアテンションしなくて良いようなPassage内の単語は無視できるようになる(のかもしれない).
このself matchingの導入により、パッセージ内における答えの箇所と,evidence・それ以外の無関係のものを分けられることが下図で確認できる.
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
映画チケット購入ドメインにおけるE2E対話システム.ユーザーシミュレータ(アジェンダベース)とRLで対話システムを学習.様々なノイズをLU (Language Understandings)から入れて実験している.
AMTで集めてラベリングした.280対話(平均11ターン),11対話行動,29スロット.
Bidirectional Attention Flow for Machine Comprehension
Minjoon Seo, Aniruddha Kembhavi, Ali Farhadi, Hannaneh Hajishirzi, ICLR 2017
https://arxiv.org/abs/1611.01603
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とあるように,コンテキストを他の手法のように固定ベクトルに落とさず,シーケンスとして表現しているのも特徴.
開発者:https://allenai.github.io/bi-att-flow/
jojonki追試版(学習に時間がかかるため最後まで確認できていない):https://github.com/jojonki/BiDAF
Query-Reduction Networks for Question Answering
Minjoon Seo, Sewon Min, Ali Farhadi, Hannaneh Hajishirzi, ICLR 2017
https://arxiv.org/abs/1606.04582
QAにおける,複数のfactに対するreasoningを行うモデル,Query-Reduction Network (QRN)の提案(RNNの変化形,上図).QRNは短期・長期のシーケンシャル依存を扱うことができ,QRNはコンテキストをステート変化のトリガーのシーケンスとして扱うことができる.これによりQRNはオリジナルのクエリをよりinformedなものに変形(reduce)していく.実験はbAbI(20 storyとTask 1-6)でSOTA.
https://arxiv.org/abs/1606.00979 ACL 2017
質問に対するアテンションベースなNNモデル.答え候補のAspects(entity, relation, type, context)に対して,質問のどの単語にフォーカスするかを学習できる.
コーパスはWEBQUESTIONS.学習はPair-wise.
Freebaseで質問文からEntity取得及び各Aspects情報を取得しているため,Freebaseに強く依存している.
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%前後であり,かなり難しいデータセットになっている
A Review of Evaluation Techniques for Social Dialogue Systems
Amanda Cercas Curry, Helen Hastie, Verena Rieser, 2017
https://arxiv.org/abs/1709.04409
雑談対話システム(非タスク指向)の評価手法を手短にまとめた論文.たとえば機械翻訳などではBLEUが有効であるが,雑談対話ではそうとは言えない(正解のレスポンスと見た目が異なっていても,雑談の応答としては正しいときがよくある)
An Empirical Analysis of Multiple-Turn Reasoning Strategies in Reading Comprehension Tasks
Yelong Shen, Xiaodong Liu, Kevin Duh, Jianfeng Gao, 2017, https://arxiv.org/abs/1711.03230
Machine Comprehension Using Match-LSTM and Answer Pointer
Shuohang Wang, Jing Jiang, https://arxiv.org/abs/1608.07905
i番目のPassageのトークンと,i番目に対するQueryへのアテンションαiをQuery全体のhidden representationsにかけたもの,のconcatしたziを得る
これをLSTMに入れる
パッセージの逆方向からも同様の処理をする.
両方向の長さP(Passage長)の隠れ状態をcocatしてHrを手に入れる
Convolutional Neural Networks for Sentence Classification, Yoon Kim , EMNLP 2014
https://arxiv.org/abs/1408.5882
CNNと学習済みEmbedding(Glove)でテキストのポジネガ判定
Hierarchical Attention Networks for Document Classification
Zichao Yang, Diyi Yang, Chris Dyer, Xiaodong He, Alex Smola, Eduard Hovy, 2016 NAACL
https://www.cs.cmu.edu/~hovy/papers/16HLT-hierarchical-attention-networks.pdf
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
チャットボット対話における複数ターンを考慮した応答選択研究.従来のように履歴ー応答候補のマッチングを行うが,応答候補と各履歴に対するマッチングを最初に行い.アテンションのように使うのが特徴.Sequential Matching Networkと名付けた.
Ubuntuコーパス,Douban Conversationコーパスの2つで実験.後者は**語のopen-domainの対話で,このコーパスの公開もこの論文の貢献に含まれている.
CNNの前段に各応答と各履歴の中の発話とのマッチングを取っている(上図参照).
すでに他の方がまとめていたやつの方が参考になる
ymym3412/acl-papers#59
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
ユーザーをセンシングして,エンゲージするような雑談対話システム(フルパイプライン).
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
新しい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の計算でいいというのもミソ.
このアテンションは入力センテンスのHidden statesであるHとかけられて(M=AH),Embedding MatrixであるMを取得できる.Mはrx2uの形であり,Embedding vectorでなくMatrixと呼ぶ所以はこれ.(2uはBi-LSTM後のHidden stateの次元数)
r回ホップするが,すべてのホップが似たような値になるリスクがあるので,下記の罰則項を導入する.ポリシーとしては,各レイヤのSoftmaxがなるべく重複しないように(異なる箇所にアテンションするように)できる.各ホップでまったく異なる箇所に注目していれば,AATは単位行列になる.似たようなところにアテンションしてしまうと,対角成分以外のところが罰則値として効いてくるようになっている.(フロベニウスノルム(各項の2乗ルート)で計算).KLダイバージェンス(各ホップが異なるようにするので普通と逆の使い方)などと比べても計算量がかなりお手軽.
罰則項ありなしとホップ数(1〜30)でも実験してそれぞれの効果を確認している.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.