0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何优雅地使用bert处理长文本

深度学习自然语言处理 来源:深度学习自然语言处理 作者:wangThr 2020-12-26 09:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

这是今年清华大学及阿里巴巴发表在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

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

截断法;

Pooling法;

压缩法。

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

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

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

1.背景

基于以下情形:

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

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

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

b48db3fa-4690-11eb-8b86-12bb97331649.jpg

2.提出模型

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

b5408b9c-4690-11eb-8b86-12bb97331649.jpg

b5acc258-4690-11eb-8b86-12bb97331649.jpg

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

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

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

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

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

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

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

3.实验

b63a5dd4-4690-11eb-8b86-12bb97331649.jpg

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

参考文献

[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.

责任编辑:xj

原文标题:【NIPS 2020】通过文本压缩,让BERT支持长文本

文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 文本
    +关注

    关注

    0

    文章

    120

    浏览量

    17960
  • nlp
    nlp
    +关注

    关注

    1

    文章

    491

    浏览量

    23401

原文标题:【NIPS 2020】通过文本压缩,让BERT支持长文本

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ADI-BERT:高速串行接口测试的理想解决方案

    ADI-BERT:高速串行接口测试的理想解决方案 在高速串行接口系统的设计、开发和调试过程中,测试模式生成和错误检测是至关重要的功能。ADI-BERT作为一款灵活的连续速率模式发生器和错误检测器,为
    的头像 发表于 05-29 14:50 89次阅读

    效率跃升:将Gemini 3.1 Pro镜像站设为主力后,如何搭建自动化文本处理流水线

    国内AI深度用户早已不满足于“用上模型”,而是追求“用顺模型”。将Gemini 3.1 Pro固化为日常文本处理主力后,下一步自然是将重复性任务串成自动化流水线。目前无需特殊网络环境、每日提供免费
    的头像 发表于 05-06 10:16 499次阅读
    效率跃升:将Gemini 3.1 Pro镜像站设为主力后,如何搭建自动化<b class='flag-5'>文本处理</b>流水线

    《多模态大模型 前沿算法与实战应用 第一季》精品课程简介

    、典型项目场景的技术实践 1. 智能客服系统:文本+语音的多模态交互 输入处理 :语音通过ASR(自动语音识别)转换为文本,同时提取声纹特征(如语速、音调)作为辅助输入。 跨模态理解 :用BE
    发表于 05-01 17:46

    LCD 屏幕上的文本区域和 ddlist 在更新时闪烁是为什么?

    我正在尝试在我的 LCD 处理程序中更新 LCD 屏幕下方的几个文本区域。 val = cJSON_GetObjectItem(root, \"
    发表于 04-13 08:23

    启动屏幕的文本被模糊化,怎么处理

    谁能帮我解决这个问题吗?启动屏幕的文本被模糊化。但在登录页面上,这是正常的。 谁能帮我吗?
    发表于 03-30 07:46

    Linux Shell文本处理神器合集:15个工具+实战例子,效率直接翻倍

    在 Linux 系统中,文本是数据交互的 “通用语言”—— 日志文件、配置文件、数据报表、程序输出几乎都以文本形式存在。手动编辑文本不仅繁琐,还容易出错,而掌握 Shell 文本处理
    的头像 发表于 02-03 15:42 3374次阅读
    Linux Shell<b class='flag-5'>文本处理</b>神器合集:15个工具+实战例子,效率直接翻倍

    自然语言处理NLP的概念和工作原理

    自然语言处理 (NLP) 是人工智能 (AI) 的一个分支,它会教计算机如何理解口头和书面形式的人类语言。自然语言处理将计算语言学与机器学习和深度学习相结合来处理语音和文本数据,这些数
    的头像 发表于 01-29 14:01 718次阅读
    自然语言<b class='flag-5'>处理</b>NLP的概念和工作原理

    详解DBC的Signal与JSON文本结合

    为了优化CAN数据发送与接收的操作流程,更改以前手动输入状态对应数据的模式,采用下拉列表选择内容,但这需要用到超出DBC原有承载能力的信息。因此,将JSON与其结合,采用JSON格式文本写入Signal的Comment属性,将Comment属性的字符串通过JSON文本拓展
    的头像 发表于 01-06 10:57 521次阅读
    详解DBC的Signal与JSON<b class='flag-5'>文本</b>结合

    百度文心大模型5.0 Preview荣登LMArena文本榜国内第一

    12月23日,LMArena大模型竞技场发布最新排名,文心新模型ERNIE-5.0-Preview-1203以1451分登上LMArena文本榜,排名国内第一该模型在创意写作、高难度指令等方面表现突出,超过多款国内外主流模型。
    的头像 发表于 12-23 15:02 764次阅读

    奇异摩尔入选2025中国科创好公司半导体榜单

    Speciale版本则专注于极致推理,二者共同构成一套应对不同场景的“推理底座”。其中V3.2在综合推理能力上已对齐GPT-5,而其稀疏注意力机制(DSA)等技术,更让处理长文本的成本和效率实现了数倍的优化。
    的头像 发表于 12-16 14:22 1025次阅读

    labview怎么读取UTF-16 LE 文本数据

    各位大佬 请问labview怎么读取UTF-16 LE 文本数据 直接读数据出来会有空格 但是空格无法删除,请问怎么获取UTF-16 LE格式数据
    发表于 10-10 11:23

    格灵深瞳突破文本人物检索技术难题

    格灵深瞳参与研究的GA-DMS框架,为攻破上述技术难题提供了全新解决方案。研究团队通过数据构建和模型架构的协同改进,推动CLIP在人物表征学习中的应用,显著提升了基于文本的人物检索效果。该成果已入选EMNLP 2025 主会(自然语言处理领域的顶级国际会议之一)。
    的头像 发表于 09-28 09:42 822次阅读
    格灵深瞳突破<b class='flag-5'>文本</b>人物检索技术难题

    飞书富文本组件库RichTextVista开源

    近日,飞书正式将其自研的富文本组件库 RichTextVista(简称“RTV”)开源,并上线OpenHarmony 三方库中心仓。该组件以领先的性能、流畅的渲染体验与高度的开放性,为鸿蒙生态提供了更高效的富文本解决方案。
    的头像 发表于 07-16 16:47 1260次阅读

    飞书开源“RTV”富文本组件 重塑鸿蒙应用富文本渲染体验

    近日,飞书正式将其自研的富文本组件库 RichTextVista(简称“RTV”)开源,并上线OpenHarmony 三方库中心仓。该组件以领先的性能、流畅的渲染体验与高度的开放性,为鸿蒙生态提供了
    的头像 发表于 07-11 15:20 878次阅读
    飞书开源“RTV”富<b class='flag-5'>文本</b>组件 重塑鸿蒙应用富<b class='flag-5'>文本</b>渲染体验

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)更多系统能力

    NotificationLongTextContent = _NotificationLongTextContent 描述长文本通知。 元服务API: 从API version 12开始,该接口支持在元服务中使
    发表于 06-04 15:43