- 问答模型可以概括为 Seq2Seq 模型,但通常会比较复杂
SQuAD文本理解挑战赛十大模型解读_搜狐科技_搜狐网
-
模型共 6 层
-
嵌入层(char + word)
-
记材料(context)和查询(query)分别为
-
词向量使用预训练的 GloVe,OOV 可训练
-
字向量由 CharCNN 训练
NLP-词向量#CharCNN
- CharCNN 负责将每个单词映射到一个向量
- 实际为单词中每个字符向量的叠加平均,具体由一个卷积层和池化层实现
- 字符嵌入层实际上生成的也是一个词向量,但是使用的字符信息,而不是上下文信息
-
每个单词的表示由词向量和字向量拼接而成,然后经过两层 highway 得到 centext vector
-
-
Word Embedding Layer
- 使用预训练好的 GloVe 词向量
NLP-词向量#GloVe
- 默认词向量和字符向量的维度相同
- 输入 Embedding 由 Character Embedding 和 Word Embedding 拼接而成
- 使用预训练好的 GloVe 词向量
-
Contextual Embedding Layer
- 利用周围词语的语境线索(contextual cues)来改善(refine)词的嵌入。
- 双向 LSTM
-
Attention Flow Layer
- 耦合(couple)材料与问题,并为上下文中的每个词生成一组查询感知特征向量(query-aware feature vectors)
-
Modeling Layer
- 使用 RNN 扫描(scan)上下文
-
Output Layer
- 产生问题的答案
- [1611.01603] Bidirectional Attention Flow for Machine Comprehension
- allenai/bi-att-flow (TF1.0+) - GitHub
- BiDAF https://allenai.github.io/bi-att-flow/
- 论文笔记 - Bi-Directional Attention Flow for Machine Comprehension | 徐阿衡
一个模型搞定十大自然语言任务|论文+代码
- [1806.08730] The Natural Language Decathlon: Multitask Learning as Question Answering
- salesforce/decaNLP - GitHub