结果
QA
这是一个自动生成的QA语料库,里面都是一些简单的问答。部分NLP学者很厌恶机器生成的语料,但如果连机器生成的语料都无法解决,何谈解决真实的复杂问题。
情感分析
依然拿到最高分数。
此时问题永远是相同的,其向量是固定的。
遗憾的是,对于不同的任务,超参数依然必须不同才能拿到最佳结果。
Episodes数量
其中task3是三段论,理论只需要3个pass,但模型依然需要5个。考虑到这是个end to end训练,没有监督信号指示那些fact是重要的,所以这个表现还挺好。情感分析的NA是因为,计算复杂度实在太高了。分数已经在降低,所以干脆没跑。
情感分析的一些例子
颜色越深代表模型的attention越强烈。如果只跑一个pass,则模型无法得到整个句子的全文,所以将过多的注意力放到无关紧要的贬义词上。
另一些类似的例子:
然后是PTB上的词性标注:
虽然0.06%的提升不算什么,但考虑到这是一个通用的模型,感觉是非常棒的。
VQA
任何任务都可视作QA任务,所以这个模型也适用于VQA,只需将处理文本的输入模块替换为处理图像的输入模块:
输入模块
由于卷积特征并不是序列的,所以输入模块的输出特征只是所有时刻隐藏状态向量的拼接。
结果
然后就拿到了最高分:
这张表格有个有趣的地方,第二行Image代表只给图片,不给问题,预测答案,第三行则是只给问题不给图片。在缺失如此多的信息的情况下,基线模型依然能拿到不低的分数,说明数据集里面肯定有些奇怪的pattern,或说水分吧。
attention可视化
越亮代表越注意,可以发现模型的确在注意问题相关的部分:
在一些较难的问题上也能较为满意地回答:
比如模型认为女孩穿的是短裤,但问女孩的短裙是什么颜色,它也能知道是白色。这说明模型很健壮。虽然一些问题回答得不好,但Richard认为只是数据量不够的原因。
总结
-
大部分NLP任务都可视作QA
-
DMN可以解决多种QA任务
-
还有可以在问题上也做attention的Dynamic Coattention Networks
分享一个问答语料,方便评测算法和交流,地址:https://github.com/Samurais/insuranceqa-corpus-zh