NeurIPS'20 | 通过文本压缩,让BERT支持长文本

作者 | wangThr

来源 | 知乎


这是今年清华大学及阿里巴巴发表在NIPS 2020上的一篇论文《CogLTX: Applying BERT to Long Texts》,介绍了如何优雅地使用bert处理长文本。作者同时开源了不同NLP任务下使用COGLTX的代码:

论文题目

CogLTX: Applying BERT to Long Texts

论文链接

http://keg.cs.tsinghua.edu.cn/jietang/publications/NIPS20-Ding-et-al-CogLTX.pdf

Github

https://github.com/Sleepychord/CogLTX

Arxiv访问慢的小伙伴也可以在 【夕小瑶的卖萌屋】订阅号后台回复关键词 【1216】 下载论文PDF~

bert在长文本处理一般分为三种方法[1]

  • 截断法;

  • Pooling法;

  • 压缩法。

该论文就是压缩法的一种,是三种方法中最好的。我们在科研和工作中都会遇到该问题,例如我最近关注的一个文本分类比赛:

面向数据安全治理的数据内容智能发现与分级分类 竞赛 - DataFountain[2].

其文本数据长度就都在3000左右,无法将其完整输入bert,使用COGLTX就可以很好地处理该问题,那么就一起来看看该论文具体是怎么做的吧。

1.背景

基于以下情形:

  • bert作为目前最优秀的PLM,不用是不可能的;

  • 长文本数据普遍存在,且文本中包含的信息非常分散,难以使用滑动窗口[3]截断。

而由于bert消耗计算资源和时间随着token的长度是平方级别增长的,所以其无法处理太长的token,目前最长只支持512个token,token过长也很容易会内存溢出,所以在使用bert处理长文本时需要设计巧妙的方法来解决这个问题。

2.提出模型

COGLTX模型在三类NLP任务中的结构如下:

首先假设:存在短文本 可以完全表达原长文本 的语义:

那么令 代替 输入原来的模型即可,那么怎么找到这个

1、使用动态规划算法将长文本 划分为文本块集合

2、使用MemRecall对原长句中的子句进行打分,MemRecall结构如图,而表现如下式:

从而选择出分数最高的子句组成 再进行训练,这样一来的话,COGLTX相当于使用了了两个bert,MemRecall中bert就是负责打分,另一个bert执行原本的NLP任务。

可以发现刚才找到 例子将问题Q放在了初始化 的开头,但是并不是每个NLP任务都可以这么做,分类的时候就没有类似Q的监督,这时候COGLTX采用的策略是将每个子句从原句中移除判断其是否是必不可少的(t是一个阈值):

作者通过设计不同任务下的MemRecall实现了在长文本中使用bert并通过实验证明了方法的有效性。

3.实验

通过多维度地对比,证明了本文提出算法的有效性。

后台回复关键词【入群

加入卖萌屋NLP/IR/Rec与求职讨论群

后台回复关键词【顶会

获取ACL、CIKM等各大顶会论文集!

 

[1]https://zhuanlan.zhihu.com/p/88944564

[2]https://www.datafountain.cn/competitions/471

[3]Z. Wang, P. Ng, X. Ma, R. Nallapati, and B. Xiang. Multi-passage bert: A globally normalized bert model for open-domain question answering. arXiv preprint arXiv:1908.08167, 2019.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

福利!Android官方网站出现中文版本!

这两天在Android开发者网站上查东西的时候发现有中文的搜索结果,点开结果全是中文的,以后可以畅通无阻的看文档了,快来围观。

自然场景人脸检测技术实践

一、 背景 人脸检测技术是通过人工智能分析的方法自动返回图片中的人脸坐标位置和尺寸大小,是人脸智能分析应用的核心组成部分,具有广泛的学术研究价值和业务应用价值,比如人脸识别、人脸属性分析(年龄估计、性别识别、颜值打分和…

LeetCode 257. 二叉树的所有路径(DFS)

文章目录1. 题目2. DFS解题1. 题目 给定一个二叉树,返回所有从根节点到叶子节点的路径。 说明: 叶子节点是指没有子节点的节点。 示例:输入:1/ \ 2 3\5输出: ["1->2->5", "1->3"]解释: 所有根节点到叶子节点的路径为: 1->…

JAVA BIO

JAVA BIO深入剖析1. Java BIO 基本介绍2. Java BIO 工作机制3. 传统BIO编程4. BIO模式下的多发和多收消息5. BIO模式下接收多个客户端6. 伪异步I/O编程7. 基于BIO的文件上传8. Java BIO模式下的端口转发9. 基于BIO模式下的即时通信功能清单简单说明项目启动与演示1. Java BIO 基…

速览EMNLP 2020上录取的知识图谱相关论文

文 | 泽宇源 | 知乎前不久,自然语言处理领域三大顶会之一的 EMNLP 2020 发布了论文录取的结果。在EMNLP 2020论文正式出版之前,泽宇搜集了目前Arxiv上已经发布出来的录取在EMNLP 2020上所有和知识图谱相关的论文,下面我们就一起来一睹为快。1…

技术动态 | 数据库研究者视角下的知识图谱研究

本文转载自公众号:图谱学苑 。本次讲解的是数据库领域的三大会(SIGMOD、VLDB、ICDE)近两年关于图数据的研究进展,特别是知识图谱的最新研究。知识图谱是2012年Google为改进其搜索引擎而提出的概念,其本质是一个描述事物…

MultiDex

原文转自:http://coolpers.github.io/multidex/2015/04/13/multidex.html 1.MultiDex的产生背景 当Android系统安装一个应用的时候,有一步是对Dex进行优化,这个过程有一个专门的工具来处理,叫DexOpt。DexOpt的执行过程是在第一次加…

PYTHON得到pdf页数、遍历当前文件夹

#第一步安装PyPDF2 pip install PyPDF2#第二步导入相应的模块 from PyPDF2 import PdfFileReader#第三步:定义相对应的函数 def get_num_pages(file_path):"""获取文件总页码:param file_path: 文件路径:return:"""reader PdfFileRe…

LeetCode 814. 二叉树剪枝(递归)

文章目录1. 题目2. 递归解题1. 题目 给定二叉树根结点 root ,此外树的每个结点的值要么是 0,要么是 1。 返回移除了所有不包含 1 的子树的原二叉树。 把只包含0的子树删除(断开) 来源:力扣(LeetCode&…

怎样缓解灾难性遗忘?持续学习最新综述三篇

本文转载自公众号“夕小瑶的卖萌屋”,专业带逛互联网算法圈的神操作 -----》我是传送门 关注后,回复以下口令: 回复【789】 :领取深度学习全栈手册(含NLP、CV海量综述、必刷论文解读) 回复【入群】&#xf…

美团点评技术年货:900+页电子书,覆盖前端、后台、大数据、算法……

新年将至,年味渐浓。 美团点评技术年货如期而至。 从2013年12月4日发布第一篇文章,一直到今天,美团技术团队官方博客已经走过了6个春秋。 截止目前,我们共发布376篇技术文章,微信公众号(meituantech&#x…

论文浅尝 | 基于用户反馈的交互式自然语言回答系统提升机制

本文转载自公众号:图谱学苑。今天介绍的工作是An Interactive Mechanism to Improve Question Answering Systems via Feedback,作者:张欣勃,邹磊,胡森,被CIKM2019接收。本文是一篇与知识库自然语言问答系统…

Android控件默认风格解析之SeekBar

在我们开发的时候常常需要更改原生控件的默认效果,有时候某些控件改起来挺费劲的,比如SeekBar的背景与其ProgressBar的进度粗细或者thumb居中现实与否如果弄错,都是个大麻烦,我曾经就为thumb的居中显示问题浪费了很多很多的时间&a…

基于模板的文字识别结果结构化处理技术

原文链接:https://cloud.tencent.com/developer/article/1425800 嘉宾 | 向宇波编辑 | suiling来源 | AI科技大本营在线公开课出品 | AI科技大本营(ID:rgznai100)随着行业的发展和技术的成熟,文字识别(OCR&…

LeetCode 1008. 先序遍历构造二叉树(已知先序,求二叉搜索树)

文章目录1. 题目2. 解题1. 题目 返回与给定先序遍历 preorder 相匹配的二叉搜索树(binary search tree)的根结点。 示例:输入:[8,5,1,7,10,12],已知二叉搜索树的先序(根左右) 输出&#xff1a…

美团开源 Logan Web:前端日志在 Web 端的实现

1.前言 Logan 是美团点评推出的大前端日志系统,支持多端环境运行,可为客户端、Web、小程序等用户端环境提供前端日志的存储、收集、上报及分析能力,能够帮助开发人员快速定位并解决端上问题,便于及时响应用户反馈与排除异常。 201…

推荐一个快速定位深度学习代码bug的炼丹神器!

文 | McGL源 | 知乎写深度学习网络代码,最大的挑战之一,尤其对新手来说,就是把所有的张量维度正确对齐。如果以前就有TensorSensor这个工具,相信我的头发一定比现在更浓密茂盛!TensorSensor,码痴教授 Teren…

研讨会 | 知识图谱引领认知智能+

本文转载自公众号:中国计算机学会。本论坛将于 CNCC2019 中国计算机大会第一天(10月17日)在苏州金鸡湖国际会议中心 A102 会议室举行,共邀微软、阿里巴巴、华为、小米、浙江大学、苏州大学等机构的专家与你探讨。知识图谱是一种用…

LeetCode 617. 合并二叉树

文章目录1. 题目2. 递归解题1. 题目 给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。 你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值&…

BIO,NIO,AIO

BIO,NIO,AIO 介绍一、背景1.1 说明1.2 通信技术整体解决的问题二、Java的I/O演进之路2.1 I/O 模型基本说明2.2 I/O模型Java BIOJava NIOJava AIO2.3 BIO、NIO、AIO 适用场景分析三、BIO,NIO,AIO总结一、背景 1.1 说明 ​ 在Java的软件设计开发中,通信架构是不可避…