论文笔记整理:王春培,天津大学硕士。


链接:https://arxiv.org/pdf/1911.04118.pdf

动机

这篇文章聚焦的是问答系统(Q&A)中的一个问题:回答句子选择(Answer Sentence Selection,AS2),给定一个问题和一组候选答案句子,选择出正确回答问题的句子(例如,由搜索引擎检索)。AS2 是目前虚拟客服中普遍采用的技术,例如 Google Home、Alexa、Siri 等,即采用搜索引擎+AS2 的模式。

亮点

BERT的亮点主要包括:

(1)提出一种基于变压器(Transformer-based)的 AS2 模型,为解决 AS2 的数据稀缺性问题和精调步骤的不稳定性提供了有效的解决方案。

(2)构建了一个应用于 AS2 的数据库 ASNQ(Answer Sentence Natural Questions)。

概念及模型

本文提出了一种用于自然语言任务的预训练变换模型精调的有效技术-TANDA( Transfer AND Adapt)。首先通过使用一个大而高质量的数据集对模型进行精调,将一个预先训练的模型转换为一个用于一般任务的模型。然后,执行第二个精调步骤,以使传输的模型适应目标域

  • 模型体系结构

TANDA 架构如下图所示(以BERT为例):

  • AS2任务:

给定问题 q 和答案句子库 S={s1,...,sn},AS2 任务目的是找到能够正确回答 q 的句子 s_k,r(q,S)=s_k,其中 k=argmax p(q,s_i),使用神经网络模型计算 p(q,s_i)。

  • 变压器模型 (Transformer Model)

变压器模型的目的是捕获单词间的依赖关系,下图为文本对分类任务的变压器模型架构:

输入包括两条文本,由三个标记 [CLS]、[SEP] 和 [EOS] 分隔。将根据令牌、段及其位置编码的嵌入向量作为输入,输入到transformer模型中。输出为嵌入向量 x,x 描述单词、句子分段之间的依赖关系。将 x 输入到全连接层中,输出层用于最终的任务。

  • TANDA

在经典的任务中,一般只针对目标任务和域进行一次模型精调。对于AS2,训练数据是由问题和答案组成的包含正负标签(答案是否正确回答了问题)的句子对。当训练样本数据较少时,完成 AS2 任务的模型稳定性较差,此时在新任务中推广需要大量样本来精调大量的变压器参数。本文提出,将精调过程分为两个步骤:转移到任务,然后适应目标域。

首先,使用 AS2 的大型通用数据集完成标准的精调处理。这个步骤应该将语言模型迁移到具体的 AS2 任务。由于目标域的特殊性(AS2),所得到的模型在目标域的数据上无法达到最佳性能,此时采用第二个精调步骤使分类器适应目标域。

  • ASNQ

本文构建了一个专门适用于 AS2 任务的通用数据库 ASNQ。ASNQ 基于经典 NQ 语料库建设,NQ 是用于机器阅读(Machine Reading,MR)任务的语料库,其中每个问题与一个 Wiki 页面关联。

实验

不同模型在WikiQA数据集上的性能如下图所示:

不同模型在treco - qa数据集上的性能如下图所示:

对于简单的FT和TANDA, wiki - traindata上的MAP和MRR随着微调次数的变化而变化,如下图所示:

FT与TANDA在Alexa虚拟助手流量数据集上的比较如下图所示:

总结

本文的工作将经典的精调(fine-tuning)过程拆成了两次,其中一次针对通用数据集,另一次针对目标数据集,此外,还专门构建了适用于AS2任务的通用数据集ASNQ。本文在两个著名的实验基准库:WikiQA和TREC-QA上进行实验,分别达到了 92% 和 94.3% 的 MAP 分数,超过了近期获得的 83.4% 和 87.5% 的最高分数。本文还讨论了 TANDA 在受不同类型噪声影响的 Alexa 特定数据集中的实验,确认了 TANDA 在工业环境中的有效性。


OpenKG

开放知识图谱(简称 OpenKG)旨在促进中文知识图谱数据的开放与互联,促进知识图谱和语义技术的普及和广泛应用。

点击阅读原文,进入 OpenKG 博客。

论文浅尝 | TANDA: Transfer and Adapt Pre-Trained Transformer Models相关推荐

  1. 论文浅尝 | Zero-Shot Transfer Learning for Event Extraction

    事件抽取的目标是在非结构化的文本中确认事件的触发词(Eventtrigger)和参与者(Event argument),并判断触法词的事件类型(Eventtype),判断参与者在事件中的扮演的角色(A ...

  2. 论文浅尝 | 当知识图谱遇上零样本学习——零样本学习综述

    随着监督学习在机器学习领域取得的巨大发展,如何减少人工在样本方面的处理工作,以及如何使模型快速适应层出不穷的新样本,成为亟待解决的问题.零样本学习(Zero-Shot Learning, ZSL)的提 ...

  3. 论文浅尝 | 利用多语言 wordnet 上随机游走实现双语 embeddings

    论文笔记整理:谭亦鸣,东南大学博士生,研究方向为知识图谱问答. 来源:Knowledge Based System 链接:https://www.sciencedirect.com/science/a ...

  4. 论文浅尝 | 图神经网络综述:方法及应用

    论文链接:https://arxiv.org/pdf/1812.08434.pdf GNN相关论文列表链接:https://github.com/thunlp/GNNPapers 近日,清华刘知远老师 ...

  5. 论文浅尝 | 近期论文精选

    本文转载自公众号 PaperWeekly, 对我们近期的论文浅尝进行了精选整理并附上了相应的源码链接,感谢 PaperWeekly! TheWebConf 2018 ■ 链接 | https://ww ...

  6. 论文浅尝 | 从 6 篇顶会论文看「知识图谱」领域最新研究进展 | 解读 代码

    本文内容源自往期「论文浅尝」,由 PaperWeekly 精选并重新排版整理,感谢 PaperWeekly. ISWC 2018 ■ 链接 | http://www.paperweekly.site/ ...

  7. ###好好好#######论文浅尝 | 基于图注意力的常识对话生成

    论文浅尝 | 基于图注意力的常识对话生成 OpenKG 祝各位读者新春快乐,猪年吉祥! 来源:IJCAI 2018. 论文下载地址:https://www.ijcai.org/proceedings/ ...

  8. 论文浅尝 - IJCAI | Knowledge is NOT always you need: 外部知识注入预训练模型的利与弊...

    转载公众号 | 浙大KG 论文题目:Drop Redundant, Shrink Irrelevant: Selective Knowledge Injection for Language Mode ...

  9. 论文浅尝 | 神经协同推理

    论文笔记整理:叶橄强,浙江大学计算机学院,知识图谱和知识推理方向. Paper link: https://arxiv.org/abs/2005.08129 Github link: https:// ...

最新文章

  1. AVPlayer播放视频
  2. bingmaps rest 中文化服务
  3. JVM调优总结(九)-新一代的垃圾回收算法
  4. HDU 2818 Building Block
  5. 使用框架开发的优势和劣势
  6. 使用Sqlserver事务发布实现数据同步(转)
  7. HTML5学习笔记简明版(1):HTML5介绍与语法
  8. leetcode Generate Parentheses python
  9. PostgreSQL内核扩展之 - ElasticSearch同步插件
  10. vc++HOOK详细讲解
  11. Python--随机森林模型
  12. PSFTP工具传输文件的命令使用方法
  13. Macbook pro M1使用免费的方法读写NTFS的折腾之路
  14. 一点点读懂cpufreq(二)
  15. D3D9利用顶点缓冲区绘制三角形
  16. 雷军:企业如何渡过寒冬?你需要学会这5招
  17. 红石外汇|每日汇评:鲍威尔讲话助推黄金走出困境
  18. Linux网络操作系统期末系统复习题
  19. ubuntu 18.04 安装
  20. 初识iPhone基带通讯

热门文章

  1. error_reporting()的用法
  2. C++ 中的 #pragma warning(push) 和 #pragma warning(pop)有什么用
  3. SkipList 以及高度的确定
  4. Linux进程调度器-基础
  5. jsp项目开发案例_Laravel 中使用 swoole 项目实战开发案例一 (建立 swoole 和前端通信)life...
  6. 二叉树先序遍历,中序遍历,后序遍历,层次遍历学习总结及完整C/C++代码
  7. Unknown encoder ‘libx264‘的解决方法
  8. Linux命令行调用动态库,Linux动态链接库的使用
  9. React中的受控组件和非受控组件
  10. 五、scrapy爬虫框架——logging 模块的使用