Java教程

一份最新的、全面的NLP文本分类综述

本文主要是介绍一份最新的、全面的NLP文本分类综述,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

 

图片

Paper:Deep Learning Based Text Classification: A Comprehensive Review(Computer Science, Mathematics-ArXiv)2020

Link:https://arxiv.org/pdf/2004.03705.pdf

这是一份最新的、全面的NLP文本分类综述,也是在你入门之后,想要进一步挖掘、深入阅读自己感兴趣的领域方向的一份指南。

文本讨论的基于深度学习的模型在各种文本分类任务(包括情感分析,新闻分类,问题回答和自然语言推理)已经超越了基于经典机器学习的方法。

TL; DR

  • 提供了150多个用于文本分类的深度学习模型的详细概述,它们的技术贡献,相似性和优势。

  • 介绍了使用深度学习模型构建文本分类器的方法。

  • 给出了如何给自己的任务选择最佳的神经网络模型的建议。

  • 总结了40多个流行的文本分类数据集。

  • 在16个主流的基准上进行深度学习模型性能的定量分析。

  • 讨论了基于深度学习的文本分类现存的挑战和未来的方向。

其他关键词和短语:文本分类,情感分析,问题解答,新闻分类,深度学习,自然语言推理,主题分类。

1 文本分类任务

  • 情感分析

  • 新闻分类

  • 主题分析

  • 问答系统

  • 自然语言推断(NLI)

2 用于文本分类的深度学习模型

本节回顾了用于文本分类任务提出的150多种DL(深度学习)模型。根据模型结构将这些模型分为几大类:

  • 前馈网络。将文本视为词袋。

  • 基于RNN的模型。将文本视为一系列单词,旨在捕获文本单词依存关系和文本结构。

  • 基于CNN的模型。经过训练,可以识别文本分类的文本模式(例如关键短语)。

  • 胶囊网络(Capsule networks)。解决了CNN在池化操作时所带来的信息丢失问题。

  • 注意力机制。可有效识别文本中的相关单词,并已成为开发DL模型的有用工具。

  • 内存增强网络(Memory-augmented)。将神经网络与某种外部存储器结合在一起,该模型可以读取和写入。

  • 图神经网络。旨在捕获自然语言的内部图结构,例如句法和语义解析树。

  • 暹罗神经网络(Siamese)。专门用于文本匹配,这是文本分类的特殊情况。

  • 混合模型(Hybrid models)。结合了注意力,RNN,CNN等以捕获句子和文档的局部和全局特征。

  • Transformers。比RNN拥有更多并行处理,从而可以使用GPU高效的(预)训练非常大的语言模型。

  • 监督学习之外的建模技术,包括使用自动编码器和对抗训练的无监督学习,以及强化学习。

更多详细模型内容请看原论文。读者应该对基本的DL模型有一定的了解,Goodfellow等人也给读者推荐了DL教科书,了解更多详情看[1]。

图片

2013年至2020年发布的一些最杰出的深度学习文本嵌入和分类模型。

3 如何给自己的任务选择最佳的神经网络模型

对于文本分类任务来说最佳的神经网络结构是什么?这取决于目标任务和领域,领域内标签的可用性,应用程序的延迟和容量限制等,这些导致选择差异会很大。尽管毫无疑问,开发一个文本分类器是反复试错的过程,但通过在公共基准(例如GLUE [2])上分析最近的结果,我们提出了以下方法来简化该过程,该过程包括五个步骤:

  • 选择PLM(PLM,pretraining language model预训练语言模型):使用PLM可以显着改善所有流行的文本分类任务,并且自动编码的PLM(例如BERT或RoBERTa)通常比自回归PLM(例如OpenAI GPT)更好。Hugging face拥有为各种任务开发的丰富的PLM仓库。

  • 领域适应性:大多数PLM在通用领域的文本语料库(例如Web)上训练。如果目标领域与通用的领域有很大的不同,我们可以考虑使用领域内的数据,不断地预训练该PLM来调整PLM。对于具有大量未标记文本的领域数据,例如生物医学,从头开始进行语言模型的预先训练也可能是一个不错的选择[3]。

  • 特定于任务的模型设计。给定输入文本,PLM在上下文表示中产生向量序列。然后,在顶部添加一个或多个特定任务的层,以生成目标任务的最终输出。特定任务层的体系结构的选择取决于任务的性质,例如,需要捕获文本的语言结构。比如,前馈神经网络将文本视为词袋,RNN可以捕获单词顺序,CNN擅长识别诸如关键短语之类的模式,注意力机制可以有效地识别文本中的相关单词,而暹罗神经网络则可以用于文本匹配任务,如果自然语言的图形结构(例如,分析树)对目标任务有用,那么GNN可能是一个不错的选择。

  • 特定于任务的微调整。根据领域内标签的可用性,可以使用固定的PLM单独训练特定任务的层,也可以与PLM一起训练特定任务的层。如果需要构建多个相似的文本分类器(例如,针对不同领域的新闻分类器),则多任务微调[23]是利用相似领域的标记数据的好选择。

  • 模型压缩。PLM成本很高。它们通常需要通过例如知识蒸馏[4,5]进行压缩,以满足实际应用中的延迟和容量限制。

4 文本分类的主流数据集

根据主要目标任务将各种文本分类数据集分为情感分析,新闻分类,主题分类,问答系统和NLI自然语言推断等类别。

情感分析数据集

  • Yelp。Yelp [6]数据集包含两种情感分类任务的数据。一种是检测细粒度的标签,称为Yelp-5。另一个预测负面和正面情绪,被称为“ Yelp评论极性”或“ Yelp-2”。Yelp-5每个类别有650,000个训练样本和50,000个测试样本,Yelp-2包含560,000个训练样本和38,000个针对积极和消极类的测试样本。

  • IMDb。IMDB数据集[7]是为电影评论的二分类情感分类任务而开发的。IMDB由相等数量的正面和负面评论组成。它在训练和测试集之间平均分配,每个测试集有25,000条评论。

  • 电影评论(Movie Review)。电影评论(MR)数据集[8]是电影评论的集合,其目的是检测与特定评论相关的情绪并确定其是负面还是正面的。它包括10,662个句子,带有负面和正面的样本。通常使用10倍交叉验证和随机拆分来对此数据集进行测试。

  • SST。斯坦福情感树库(SST)数据集[9]是MR的扩展版本。有两个版本可用,一个带有细粒度标签(五类),另一个带有二分类的标签,分别称为SST-1和SST-2。SST-1包含11855条电影评论,分为8544个训练样本,1101个开发样本和2210个测试样本。SST-2分为三组,分别为训练集,开发集和测试集,大小分别为6,920、872和1,821。

  • MPQA。多视角问答(MPQA)数据集[10]是具有两个类别标签的观点语料库。MPQA包含从与各种新闻来源相关的新闻文章中提取的10606个句子,这是一个不平衡的数据集,包含3,311个肯定文档和7,293个否定文档。

  • 亚马逊Amazon。这是从亚马逊网站[11]收集的热门产品评论集。它包含用于二分类和多类(5类)分类的标签。Amazon二进制分类数据集包含3,600,000条和40万条评论,分别用于培训和测试。亚马逊5级分类数据集(Amazon-5)分别包含3,000,000条评论和650,000条关于训练和测试的评论。

新闻分类数据集

  • AGNews。AGNews数据集[12]是学术新闻搜索引擎ComeToMyHead从2000多个新闻源收集的新闻文章的集合。该数据集包括120,000个训练样本和7,600个测试样本。每个样本都是带有四类标签的短文本。

  • 20个新闻组。20个新闻组数据集[13]是张贴在20个不同主题上的新闻组文档的集合。此数据集的各种版本用于文本分类,文本聚类等等。最受欢迎的版本之一包含18,821个文档,该文档在所有主题中平均分类。

  • 搜狗新闻。搜狗新闻数据集[14]是搜狗CA和搜狗CS新闻语料的混合。新闻的分类标签由URL中的域名决定。例如,URL为http://sports.sohu.com的新闻被归为体育类。

  • 路透社新闻Reuters。Reuters-21578数据集[15]是用于文本分类的最广泛使用的数据收集之一,它是从1987年建立了路透社金融新闻专线。ApteMod是Reuters-21578的多类版本,具有10,788个文档。它有90个课程,7,769个培训文档和3,019个测试文档。从路透社数据集的子集派生的其他数据集包括R8,R52,RCV1和RCV1-v2。为新闻分类开发的其他数据集包括:Bing新闻[16],BBC [17],Google新闻[18]。

主题分类数据集

  • DBpedia。DBpedia数据集[19]是大规模的多语言知识库,它是根据Wikipedia中最常用的信息框创建的。DBpedia每月发布一次,并且在每个发行版中添加或删除一些类和属性。DBpedia最受欢迎的版本包含560,000个训练样本和70,000个测试样本,每个样本都带有14类标签。

  • Ohsumed。Ohsumed集合[20]是MEDLINE数据库的子集。总计包含7,400个文档。每个文档都是医学摘要,用从23种心血管疾病类别中选择的一个或多个类别来标记。

  • EUR-Lex。EUR-Lex数据集[21]包含不同类型的文档,它们根据几种正交分类方案进行索引,以允许多个搜索设施。该数据集的最流行版本基于欧盟法律的不同方面,有19,314个文档和3,956个类别。

  • WOS。Web Of Science(WOS)数据集[22]是可从以下网站获取的已发表论文的数据和元数据的集合Web of Science,是世界上最受信任的发行商独立的全球引文数据库。WOS已发布三个版本:WOS-46985,WOS-11967和WOS-5736。WOS-46985是完整的数据集。WOS-11967和WOS-5736是WOS-46985的两个子集。

  • PubMed。PubMed [23]是由美国国家医学图书馆为医学和生物科学论文开发的搜索引擎,其中包含文档集合。每个文档都标有MeSH集的类,而MeSH集是PubMed中使用的标签集。摘要中的每个句子均使用以下类别之一标记其摘要中的角色:背景,目标,方法,结果或结论。

  • 其他用于主题分类的数据集包括PubMed 200k RCT [24],Irony(由anno组成)来自社交新闻网站reddit的注解,Twitter数据集(用于推文的主题分类,arXivcollection)[25],仅举几例。

QA问答数据集

  • SQuAD。Stanford问答数据集(SQuAD)[26]是从Wikipedia文章派生的问题-答案对的集合。在SQuAD中,问题的正确答案可以是给定文本中的任何令牌序列。由于问题和答案是由人类通过众包产生的,因此它比其他一些问答数据集更具多样性。SQuAD 1.1包含536篇文章中的107,785个问题-答案对。最新版本的SQuAD2.0将SQuAD1.1中的100,000个问题与超过50,000个由反抗工作者以对抗形式写的对抗性问题相结合[27] 。

  • MS MARCO。此数据集由Microsoft[28]发布。不像SQuAD那样所有的问题都是由编辑产生的;在MS MARCO中,所有的问题都是使用必应搜索引擎从用户的查询和真实的网络文档中抽取的。MS MARCO的一些回答是有创造力的。因此,该数据集可用于生成QA系统的开发。

  • TREC-QA。TREC-QA [29]是用于QA研究的最受欢迎和研究最多的数据集之一。该数据集有两个版本,称为TREC-6和TREC-50。TREC-6分为6个类别的问题,而TREC-50则为20个类别。对于这两个版本,训练和测试数据集分别包含5,452和500个问题。

  • WikiQA。WikiQA数据集[30]由一组问题-答案对组成,它们被收集并注释以用于开放域QA研究。该数据集还包含没有正确答案的问题,使研究人员可以评估答案触发模型。

  • Quora。Quora数据库[31]用于释义识别(检测重复的问题)。为此,作者提出了Quora数据的子集,该子集包含超过40万个问题对。为每个问题对分配一个二进制值,指示两个问题是否相同。其他质量检查数据集包括对抗生成情况(SWAG)[32],WikiQA [30],SelQA [33]。

NLI数据集

  • SNLI。斯坦福自然语言推理(SNLI)数据集[34]被广泛用于NLI。该数据集由550,152、10,000和10,000个句子对组成,分别用于训练,开发和测试。每对使用三个标签之一进行注释:中立,包含,矛盾。

  • Multi-NLI。多体裁自然语言推理(MNLI)数据集[35]是一个433k句子对的集合,这些句子对带有文本包含标签。语料库是SNLI的扩展,涵盖了广泛的口语和书面语体裁,并支持独特的跨体裁概括评估

  • SICK。包含构词知识的句子数据集(SICK)[36]包含大约10,000个英语句子对,并用三个标签进行注释:蕴涵,矛盾和中立。

  • MSRP。MicrosoftResearch Paraphrase(MSRP)数据集[37]通常用于文本相似性任务。MSRP包括用于训练的4,076个样本和用于测试的1,725个样本。每个样本都是一个句子对,并带有二进制标记,指示两个句子是否为释义。其他NLI数据集包括语义文本相似性(STS)[38],RTE [39],SciTail [40],仅举几例。

5 实验性能分析

在本节中,我们首先描述一组通常用于评估文本分类模型性能的指标,然后根据流行的基准对一组基于DL的文本分类模型的性能进行定量分析。

文本分类的流行评估指标

  • 准确性和错误率(Accuracy and Error Rate)。这些是评估分类模型质量的主要指标。令TP,FP,TN,FN分别表示真积极,假积极,真消极和假消极。分类精度和错误率在等式中定义如下:

图片

这篇关于一份最新的、全面的NLP文本分类综述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!