作者:杰少

长文本处理上分策略

简 介

在诸多文本相关的问题中,我们不可避免的会遇到很多长短不一的文本,有的文本很短就是一句话,但有的文本则很长,有上好几千的文字甚至上万多文字,

  • 如果我们设置截取的文本长度较长,会浪费非常多的资源,这些长文本往往是长尾分布,出现的不多;

  • 如果我们不考虑这些长文本,依然默认截取长度300的文本,则这些长文本的预测效果可能会较差一些,

那么怎么办呢?本文提供三种长文本的上分技巧。

三种长文本截取策略

01

随机采样

该策略很简单,因为长度很长,那么我们可以从较长的文本中随机采样一定长度的文本来表示我们的当前文本。但是优点和缺点都比较明显。

  • 简单,能近似全局文本的信息,效果有的时候还不错,但也会有波动

02

截取heads & tails的文本

该策略基于下面的假设:

  • 文本的开头和结尾的信息量是非常大的,往往是一些总结性的语句;

所以直接摘取开头或者末尾的文本效果在诸多类的策略中能带来很不错的效果。

03

组合策略

该策略则更为粗暴和高效,既然上面的策略都有一定的缺陷,那么我们干脆直接全部采用,类似于对数据进行扩充,然后预测的时候直接将三者策略的预测结果求均值作为最终的预测结果。

代码

摘取Heads & Tails

'''摘自:https://www.kaggle.com/c/jigsaw-unintended-bias-in-toxicity-classification/discussion/97443
'''def convert_lines(example, max_seq_length, tokenizer, heads = True):max_seq_length -= 2all_tokens = []longer = 0for text in tqdm_notebook(example):tokens_a = tokenizer.tokenize(text)if len(tokens_a) > max_seq_length:if heads:tokens_a = tokens_a[:max_seq_length]else:tokens_a = tokens_a[-1*max_seq_length:]longer += 1one_token = tokenizer.convert_tokens_to_ids(["[CLS]"] + tokens_a + ["[SEP]"]) + [0] * \(max_seq_length - len(tokens_a))all_tokens.append(one_token) return np.array(all_tokens)

适用问题

适用于所有长短文本不一的问题中,经常可以带来较大的提升。

参考文献

  1. 29th LB And LB 0.94376 for single Bert-Base


往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑温州大学《机器学习课程》视频
本站qq群851320808,加入微信群请扫码:

【数据竞赛】长文本竞赛上分的三种策略。相关推荐

  1. 文本分类上分微调技巧实战

    目录 引言 How to Fine-Tune BERT for Text Classification 论文 微调策略 ITPT:继续预训练 学术论文分类挑战赛微调 huggingface工具介绍 b ...

  2. 【直播】闫强:文本分类上分利器 -- Bert微调技巧大全

    文本分类上分利器 – Bert微调技巧大全 直播信息 主讲人:ChallengeHub成员,中国人民大学硕士. 直播时间:2021年07月25日 15:00~16:00 直播内容: 经典论文介绍与解读 ...

  3. 文件上传的三种方式-Java

    前言:负责,因为该项目他(jetty嵌入式开始SpringMvc)实现文件上传的必要性,并拥有java文件上传这一块还没有被曝光.并 Http 更多晦涩协议.因此,这种渐进的方式来学习和实践上载文件的 ...

  4. 2021年大数据Hive(二):Hive的三种安装模式和MySQL搭配使用

    全网最详细的Hive文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 系列历史文章 前言 Hive的三种安装模式和MySQL搭配使用 一.Hive的安装方 ...

  5. 重点归纳:SPOT数据下载、影像波段数据介绍、多光谱数据模拟真彩色的三种方法【转载整合】

    SPOT数据下载.影像波段数据介绍.多光谱数据模拟真彩色的三种方法 前言 课程大作业 红外波段 SPOT卫星参数 SPOT-1,2,3 SPOT-4 SPOT-5 SPOT-6,7 模拟真彩色的三种方 ...

  6. vue获取上传图片的名字和路径_使用Vue实现图片上传的三种方式

    项目中需要上传图片可谓是经常遇到的需求,本文将介绍 3 种不同的图片上传方式,在这总结分享一下,有什么建议或者意见,请大家踊跃提出来. 没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务 ...

  7. 【按键】短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动)--- 矩阵键盘

    请先阅读上篇: 短按,长按,按键释放,三种模式的按键扫描程序(软件消抖动) 上面的程序适用于单个按键,那是不是也可以适用于矩阵键盘呢? 答案是肯定的. 接下来在这里做一个简单的扩展,具体框架不用改变, ...

  8. 【论文解读】文本分类上分利器:Bert微调trick大全

    论文标题:How to Fine-Tune BERT for Text Classification? 中文标题:如何微调 BERT 进行文本分类? 论文作者:复旦大学邱锡鹏老师课题组 实验代码:ht ...

  9. 文本分类上分利器: Bert微调trick大全

    点击下面卡片,关注我呀,每天给你送来AI技术干货! 来自:ChallengeHub 论文标题:How to Fine-Tune BERT for Text Classification? 中文 中文标 ...

最新文章

  1. Java Date类
  2. asp.net三种重定向方法的总结
  3. mysql 匹配 findinset
  4. 在Java中连接字符串时是使用+号还是使用StringBuilder
  5. [软考]信息系统项目管理师考试大纲
  6. 天翼云从业认证(4.9)工业企业上云解决方案
  7. @font-face
  8. oracle导出命令位置,ORACLE 导出导入命令说明
  9. TADVAlertWindow
  10. Linux下挂载NTFS
  11. 微信小程序:强大的多功能图片处理器
  12. matlab2010 simulink,张德丰 (2010) MATLAB/Simulink建模与仿真实例精讲. 机械工业出版社, 北京....
  13. robo3T篇 — robo3T的使用说明
  14. 多人如何通过小程序上传照片、视频、素材、文章,然后点赞投票评选?
  15. 七、决策树算法和集成算法
  16. Ultra Recal 一款DIY的个人管理软件
  17. 【光耦 Normalized...和 CTR 测试条件及测试曲线 解读 : PC817和LTV-1007-TP1-G】
  18. 微信小程序css设置本地背景图片
  19. 韩:已撤销慰安妇财团法人资格 将启动清算程序
  20. ElasticSearch部署架构和容量规划

热门文章

  1. C# 获取并判断操作系统版本,解决Win10、 Windows Server 2012 R2 读取失败的方案
  2. 解决ASP.NET中的各种乱码问题
  3. 二维LIS(CDQ分治)
  4. wifi的基础知识及原理1
  5. gulp+browserSync自动刷新页面
  6. iOS对UIViewController生命周期和属性方法的解析
  7. Angular项目构建指南 - 不再为angular构建而犹豫不决(转)
  8. 如何处理alert、confirm、prompt对话框
  9. 详细讲解JAVA中的IO流
  10. qxidc项目/crtsurfdata程序 杀青总结