代码编织梦想

文本分类中的词袋vs图vs序列:质疑Text-graph的必要性wide MLP的优势

摘要

图神经网络驱动了基于图的文本分类方法,成为了SOTA(state of the art)。本文展示了使用词袋(BoW)的宽多层感知器(MLP)在文本分类中优于基于图的模型TextGCN和HeteGCN,并且与HyperGAT相当。此外,本文对基于序列的BERT和轻量级DistilBERT模型进行了微调,这两种模型都优于所有SOTA模型。这对现代文本分类器中使用的合成图的重要性提出了质疑。就效率而言,DistilBERT仍然是本文基于BoW的wide MLP的两倍,然而基于图的模型如TextGCN需要设置 O ( N 2 ) \mathcal{O}(N^2) O(N2)图,其中 N N N是词汇加语料库大小。最后由于Transformers需要计算序列长度为 L L L O ( N 2 ) \mathcal{O}(N^2) O(N2)注意力权重,MLP模型在具有长序列的数据集上显示出更快的训练和推理速度

1. 引言

文本分类是将主题类别分配给文本单元(如文档、社交媒体帖子或新闻文章)的任务。

基于BoW的模型

一些基于词袋(BoW)的方法纯粹基于多组标记执行文本分类。包括

  • 深度平均网络(DAN)
  • 基于BoW平均的n层深度多层感知(MLP)模型
  • 探索预训练单词嵌入的不同pooling策略的简单单词嵌入模型(SWEM)
  • 在预训练单词嵌入式之上使用线性层的fastText

这些模型统计输入序列中所有token的出现,同时忽略单词位置和顺序,然后依赖单词嵌入和全连接的前馈层。

基于图的模型

最近最流行的文本分类方法是基于图的模型,例如

  • TextGCN首先在语料库上诱导合成单词文档共现图,然后应用图神经网络(GNN)来执行分类任务。
  • HeteGCN
  • TensorGCN
  • HyperGAT

基于序列的模型

还有众所周知的Transformer(V aswani et al,2017)宇宙

  • BERT(Devlin et al,2019)
  • BERT尺寸减小的变体如DistilBERT(Sanh et al,2018)。输入是一个(固定长度)token序列,然后将其送入多个自注意力层。
  • DistilBERT等轻量级版本((Tay et al, 2020; Fournier et al, 2021)使用较少的参数,但使用相同类型的输入。
  • 与LSTM等递归模型。

研究步骤

本文假设通过简单但有效的基于BoW的模型可以很好地进行文本分类。分三个步骤来研究这个问题:

  • 1)对文献进行深入分析。回顾文本分类领域的关键研究。
  • 2)得出了不同的方法族、已建立的基准数据集,并确定了性能最佳的方法。
  • 3)确定从文献中报告哪些模型的数字,以及本文自己运行哪些模型。

总之,比较了基于BoW的模型(8种方法)、基于序列的模型(3种方法)和基于图的模型(5种方法)。在5个文本分类数据集上对其中7种方法进行了自己的实验,同时报告了其余方法的文献结果。

结果

结果令人惊讶:只有一个宽的隐藏层的,基于BoW的MLP的WideMLP,优于最近的许多基于图的归纳文本分类模型。由于没有发现任何基于BERT方法的报告分数。本文微调自己的BERT和DistilBERT。这些模型创造了一个新的SOTA。似乎MLP在文献中已成为基线,而文献主要关注其他高级深度学习架构。然而考虑到强大的基线是争论_true_科学进步的重要手段。在工业中由于较低的操作和维护成本,简单的模型通常是首选。

2. Literature on Text Categorization

方法

image.png

  1. 首先,分析最近关于文本分类和比较研究的综述。这些模型涵盖了从浅到深的分类模型。
  2. 第二,在NLP和AI文献中进行了筛选。
  3. 最后,通过检查paperswithcode.com上的结果和论文来补充本文的搜索。根据这一输入,确定了三个系列的方法和基准数据集(见表2)。

将分析的重点放在确定每一类中表现出色的模型,并选择方法纳入研究。

BoW-based Models

两项综述和其他比较研究广泛讨论了基于BoW输入的经典机器学习模型。

  • Iyyer等人(2015)提出了结合了单词嵌入和深度前馈网络的DAN。DAN是一个具有1-6个隐藏层、非线性激活、droupout和AdaGrad作为优化方法的MLP。结果表明,使用预训练的嵌入作为输入性能由于随机初始化的神经词袋作为输入。
  • fastText中,预训练嵌入顶部的线性层用于分类。
  • Shen等人(2018)探索了嵌入pooling变体,并发现SWEM可以与基于递归(RNN)和卷积神经网络(CNN)的方法相媲美。

在本文比较中,本文对比fastTextSWEM类似DAN的更深层次MLP
注意,那些依赖于逻辑回归的预训练单词嵌入方法,例如fastText,与MLP具有一个隐藏层,共享类似的架构。然而,标准训练方案涉及在大量未标记文本上预训练单词嵌入,然后在训练逻辑回归时冻结单词嵌入(Mikolov等人,2013)。

Graph-based Models

使用从文本中导出的图来完成文本分类任务由来已久。早期的工作是KeyGraph算法的术语共现图。该图分为多个部分,表示文档中的关键概念。共现图也已用于自动关键字提取(在RAKE),也可用于分类(Zhang等人,2021)。
现代方法结合GNN利用了这一思想(Hamilton,2020)。基于GNN的方法在单词文档共现图上运行的示例有TextGCN及其后续TensorGCN以及HeteGCN、HyperGAT和DADGNN。

  • TextGCN:基于窗口的逐点互信息(PMI)和单词文档TF-IDF分数给出的单词-单词连接建立了一个图。他们使用one-hot为节点特征,并在图上应用两层GCN来执行节点分类任务。
  • HeteGCN结合了预测文本嵌入和TextGCN的思想,将邻接矩阵拆分为单词文档和单词子矩阵,并在需要时融合不同层的表示。
  • TensorGCN使用多种方式将文本数据转换为图数据,包括使用LSTM创建的语义图、通过依赖解析创建的语法图以及基于单词共现的序列图。
  • HyperGAT将用于文本分类的文本诱导图的思想扩展到超图。该模型使用图注意力和两种超边。顺序超边表示句子与其单词之间的关系。单词-单词连接的语义超边源自主题模型(Blei等人,2001)。
  • DADGNN是一种基于图的方法,它使用注意力扩散和解耦技术来解决GNN的过平滑,并能够堆叠更多的层。

在TextGCN的原始转导公式中,需要知道包括测试集在内的整个图以进行训练。由于每批新文档都需要重新训练模型,这在实际应用中可能是不行的。当这些方法适用于不可见测试集的归纳学习时,它们的得分明显较低。用于文本分类的GNN使用语料库统计(例如PMI)来连接图中的相关单词。当这些被省略时,GNN将远不如WideMLP。因此,GNN可以获得比BoW MLP更多的信息。GloVe(Pennington等人,2014)还捕获PMI语料库统计数据,这就是在GloVe输入表示上包含MLP的原因。

序列模型:RNN和CNN

递归神经网络(RNN)是NLP任务的自然选择。然而,事实证明在文献中找到可作为参考的文本分类结果是具有挑战性的。

  • 具有二维最大池化的双向LSTM BLSTM-2DCNN已应用于20ng数据集的精简至4类版本。因此4ng的96.5分数不能与整个20ng数据集上的论文进行比较。
  • 结合递归和卷积的TextRCNN模型仅使用20ng数据集中的4个主要类别

TextRCNN的结果与BLSTM-2DCNN相同。对于MR数据集,BLSTM-2DCNN没有提供关于数据集具体分割的信息。

  • RNNCapsulate,一种情感分析方法,在MR数据集上的准确度达到83.8,但具有不同的训练测试分割。
  • Lyu和Liu(2020)将2D-CNN与双向RNN相结合
  • Wang等人(2019b)应用卷积层和LSTM层组合。作者用五个英文和两个中文数据集进行了实验,这些数据集不在确定的代表性数据集中。作者报告称他们的方法在五个英文数据集中的两个和两个中文数据集上都优于fastText等现有模型。

序列模型:Transformers

惊奇的是,只有少数作品考虑Transformer模型用于文本分类。最近的一项研究表明,BERT在英语、中文和葡萄牙语文本分类数据集上优于经典的TF-IDF BoW方法。在基于图方法中常用的文本分类数据集上,没有发现基于Transformer模型的任何结果。
因此,本文自己在这些数据集上微调BERT(Devlin等人,2019)和DistilBERT(Sanh等人,2019年)。

  • BERT是一个基于Transformer的大型预训练语言模型。
  • DistilBERT(Sanh等人,2019)是BERT的一个精简版本,减少了40%的参数,同时保留了BERT 97%的语言理解能力
  • TinyBERT(Jiao等人,2020年)和MobileBERT(Sun等人,2020)将是类似的合适替代方案。

选择DistilBERT的原因,DistilBERT可以独立于BERT teacher进行微调,DistilBERT的推理时间比BERT快60%,这使得DistilBERT更有可能被资源有限的实验室重用。

总结

文献调查发现所有最近的方法都是基于图的。在实验中几乎找不到基于BoW的方法,而同样令人惊讶的是,基于Transformer的序列模型在主题文本分类的文献中极其罕见。最近关于文本分类的研究包括经典和深度学习模型,但除了Li等人(2020)中的DAN(Iyyer等人,2015)外,没有人考虑简单的MLP

3. Models for Text Categorization

介绍了三种文本分类模型,即基于BoW、基于图和基于序列的模型。表1总结了这些方法的关键属性:是否需要人工图,单词位置是否反映在模型中,模型是否能够处理任意长度的文本,以及模型是否能够进行归纳学习
image.png

3.1 基于BoW的文本分类

在纯基于BoW的文本分类下,方法不知道顺序,只对输入文档中的多组单词进行操作。给定成对训练示例 ( x , y ) ∈ D (\mathbf{x}, y)\in \mathcal{D} (x,y)D、 每个由词袋 x ∈ R n vocab \mathbf{x} \in \mathbb{R}^{n_\text{vocab}} xRnvocab组成和类标签 y ∈ Y y \in \mathbb{Y} yY、 目标是学习一个具有参数 θ \theta θ的可推广函数 y ^ = f θ BoW ( x ) \hat{\mathbf{y} } = f_\theta^{\text{BoW}}(\mathbf{x}) y^=fθBoW(x),使得 arg max ( y ^ ) \text{arg max}(\hat{\mathbf{y} }) arg max(y^)等于输入 y ^ \hat{\mathbf{y} } y^的真标签 y y y
作为基于BoW的模型,考虑一个隐藏层WideMLP(即总共两层)。本文使用纯BoW、TF-IDF加权和平均GloVe输入表示进行实验。本文还使用了两个隐藏层WideMLP-2。在比较中列出了Ding等人(2020)的fastText、SWEM和逻辑回归的结果。

3.2 基于Graph的文本分类

基于图的文本分类方法,**首先,**以邻接矩阵 A ^ : =  make-graph  ( D ) \hat{\boldsymbol{A}}:=\text { make-graph }(\mathcal{D}) A^:= make-graph (D)的形式在文本语料库 D \mathcal{D} D的基础上建立人工图。例如,TextGCN图由两部分组成:单词-单词边由PMI建模,单词-文档边是通过文档中出现的单词。**然后,**学习使用图作为输入的参数化函数 f θ ( graph  ) ( X , A ^ ) f_{\theta}^{(\text {graph })}(\mathbf{X}, \hat{\mathbf{A}}) fθ(graph )(X,A^),其中 X \mathbf{X} X是节点特征。图由单词和文档节点组成,通过设置 X = I \mathbf{X} = \mathbf{I} X=I得到每个节点的嵌入。然而在归纳学习中,没有嵌入test文档。
注意,与上述基于BoW的模型类似,当前文献(如TextGCN)中基于图的方法也忽略了单词顺序。附录B中详细讨论了TextGCN和MLP之间的联系。
本文考虑表现最好的基于图的模型,即TextGCN及其继任者HeteGCN、TensorGCN、HyperGAT、DADGNN,以及简化的GCN(SGC)。

3.3 基于序列的文本分类

将RNNs、LSTM和Transformer视为基于序列的模型。这些模型知道输入文本中单词的顺序,因为它们能够利用单词顺序信息。因此与基于BoW和基于图的关键区别在于,基于序列的模型反映了单词顺序。模型为 y ^ = f θ (sequence)  ( ⟨ x 1 , x 2 , … , x k ⟩ ) \hat{y}=f_{\theta}^{\text {(sequence) }}\left(\left\langle x_{1}, x_{2}, \ldots, x_{k}\right\rangle\right) y^=fθ(sequence) (x1,x2,,xk),其中 k k k是序列长度。单词位置通过专用的位置编码来建模。例如,在BERT中,每个位置都与嵌入向量相关联,该嵌入向量被添加到输入级的单词嵌入中。

4. Experimental Apparatus

4.1 数据集

本文使用与TextGCN相同的数据集和train-test split。这些数据集是20ng、R8、R52、ohsumed和MR。表2显示了数据集特征。

  • 20新闻组(20ng)(按日期版本)包含分类为20个新闻组的长帖子。平均序列长度为551个单词,标准差(SD)为2047。
  • R8和R52是Reuters21578新闻数据集的子集,分别有8个和52个类别。R8的平均序列长度和SD为119±128个单词,R52为126±133个单词。平均序列长度为285±123个单词。
  • Ohsumed是MEDLINE数据库中分类为疾病的医学摘要语料库(每个摘要一篇)
  • 电影评论(MR),由Tang等人(2015)拆分,是一个句子层面的二元情感分析数据集(平均序列长度和SD:25±11)。

image.png

4.2 Inductive and Transductive Setups

本文区分了文本分类的transductive和inductive设置。在transductive设置中,如TextGCN测试文档是可见的,并实际用于预处理步骤。在inductive设置中,测试文档不可用于预处理。本文给出了文献中两种设置的基于图模型的结果。基于BoW和基于序列的模型本质上是inductive。Ragesh等人(2021)评估了一种能够进行归纳学习的TextGCN变体,本文也将其纳入了本文的结果中。

4.3 Procedure and Hyperparameter Settings

本文从文献中获得了准确度分数。详细描述了自己运行的模型的程序。使用BERT的tokenization策略及其uncased的词汇。tokenizer主要依靠于WordPiece获得高覆盖率,同时保持少量词汇。

4.3.1 训练自己的BoW模型

本文的WideMLP有一个隐藏层,具有1024个整流线性单元(一个输入到隐藏层,一个隐藏到输出层)。在每个隐藏层应用dropout,特别是在初始嵌入层之后。GloVe+WideMLP中冻结的预训练嵌入中,没有使用dropout和ReLU,而仅在后续层中使用。WideMLP-2变体具有两个ReLU激活的隐藏层(共三个层),每层具有1024个隐藏元。虽然这可能对于具有很少类的单标签文本分类任务过参数化,但即使过参数化会导致更好的泛化。本文使用Adam优化交叉熵,学习率为 1 0 − 3 10^{−3} 103,以及0.5的辍学率。

4.3.2 微调BERT模型

对于BERT和DistilBERT,本文微调了10个epoch,线性衰减学习率为 5 × 1 0 − 5 5 \times 10^{-5} 5×105,通过 8 × 16 8 \times 16 8×16batch的梯度累积,有效批次大小为128。所有输入截断为512个token。
为了隔离语序对BERT性能的影响,执行了两步消融。

  • 首先,将所有位置嵌入设置为0,并禁用其梯度(BERT w/o pos ids)。强制BERT在没有任何单词顺序或位置概念的情况下对词袋进行操作。
  • 第二,本文对每个序列进行shuffle以增加训练数据。使用这种增强策略将训练示例的数量增加两倍(BERT w/ shuf. augm.)。

5 结果

5.1 有效性

表3显示了五个数据集上文本分类模型的准确度。transductive设置中的所有基于图模型显示出相似的准确度(最大差异为2分)。正如预期的那样,inductive设置中的分数会降低,达到与本文的WideMLP相匹配甚至超过的程度。
在inductive设置中,WideMLP模型在BoW模型中表现最好,特别是TFIDF+WideMLP和WideMLP在未加权BoW上。表现最好的基于图的模型是HyperGAT,但DADGNN在R8、R52和MR上稍有优势。基于序列的模型BERT得分最高,紧随其后的是DistilBERT
WideMLP可与所有基于图的术相媲美,尤其是最近发布的图诱导方法。MLP仅落后于HyperGAT,后者依赖于
主题模型来建立图
。另一个观察结果是,1个隐藏层(但很宽)足以完成任务,因为具有2个隐藏层的MLP变体的得分更低。本文进一步观察到,纯BoW和TF-IDF加权BoW都比利用预训练的词嵌入(如GloV e-MLP、fastText和SWEM)的方法产生更好的结果。
凭借其巨大的预训练,BERT获得了最高的整体分数,紧随其后的是DistilBERT。DistilBERT在MR数据集上优于HyperGAT7个点,同时与其他数据集不相上下。BERT在MR上以8分、ohsumed上以1.5分、R52和R8上以1分、20ng上以0.5分的成绩优于最强的图竞争对手HyperGAT。
本文的结果
证实了位置嵌入对于BERT是重要的
。用打乱的序列扩充数据既不会导致性能的持续下降,也不会提高性能。

5.2 效率

模型参数计数

image.png
表4列出了模型的参数计数。尽管MLP在词袋之上与词汇大小的维度完全相连,但它只有DistilBERT的一半参数和BERT的四分之一参数。由于词汇量大,基于GloVe的模型具有大量参数,但其中大多数参数都是冻结的。

模型的运行时性能

image.png
考虑到每个epoch的平均运行时间,所有WideMLP变体都比DistilBERT快一个数量级。DistilBERT的速度是原始BERT的两倍。Transformer仅比MR数据集上的BoW模型更快。这是因为MR数据集中的序列更短,需要计算的 O ( L 2 ) \mathcal{O}(L^2) O(L2)注意力权重少。

6. 讨论

Key Insights

实验表明,使用BoW的MLP模型在inductive文本分类设置中优于基于图的模型TextGCN和HeteGCNMLP模型与HyperGAT相当。只有基于Transformer的BERT和DistilBERT模型优于本文的MLP,并创下了新的SOTA。这一结果之所以重要,有两个原因:

  1. 首先,纯BoW-MLP的质疑了TextGCN等模型中人工图对文本分类任务的作用。HyperGAT使用昂贵的Latent Dirichlet Allocation来计算图,在两个数据集上略优于BoW-WideMLP。因此,使用强基线模型进行文本分类对于评估true科学进步很重要
  2. 第二,发现与使用具有一个宽隐藏层的MLP相比,预训练的嵌入(例如,GloVe)可能会产生不利影响。这样的MLP避免了单词嵌入的小维度的瓶颈,并且具有更高的容量。此外对多隐藏层进行了实验(参见WideMLP-2),发现但当单个隐藏层足够宽时,没有观察到任何改进。一种可能的解释是,根据隐藏层的宽度,单个隐藏层已经足以将任何紧凑函数近似到任意精度
  3. 最后,transformer模型BERT得到了SOTA。然而,正如本文的效率分析所示,MLP只需要一小部分参数,并且除了MR数据集之外,其组合训练和推理时间更快。(标准)transformer的注意力机制在序列长度上是二次的,这导致长序列的处理速度较慢。随着batch的增加,MLP的速度可以进一步提高。

基于结果的详细讨论

基于图的模型具有很高的训练成本,因为不仅必须首先计算图,还必须训练GNN。对于标准GNN方法,整个图必须放进GPU内存,小批量处理是非常重要的,但需要使用GNN专用采样技术(Fey等人,2021)。此外,原始的TextGCN本质上是transductive,即每当出现新文档时,必须对其进行重新训练。严格的transductive模型在实践中实际上是无用的。然而,最近的扩展,如HeteGCN、HyperGAT和DADGNN实现了inductive学习单词文档图需要 O ( N 2 ) \mathcal{O}(N^2) O(N2)空间
还有一些任务是,图数据的自然结构提供了比单纯的文本更多的信息,例如引用网络社交图中的连接。在这种情况下,GNN的性能是最先进的(Kipf和Welling,2017;V elickovic等人,2018),并且优于仅使用节点特征而不使用图结构的MLP(Shchur等人,2018年)。GNN还可用于各种NLP任务(Wu等人,2021)
一个有趣的因素是模型捕捉单词顺序的能力。BoW模型完全忽略了单词顺序,并产生了良好的结果,但仍然落后于顺序感知Transformer模型。在一项广泛的研究中,Conneau等人(2018)已经表明,记忆单词内容(单词出现)最能反映下游任务的表现。Sinha等人(2021)通过在预训练期间禁用词序,对BERT进行了预训练,结果表明,这对微调几乎没有影响。在他们的研究中,单词顺序在微调过程中保持不变。本文进行了补充实验:本文使用了一个BERT模型,该模型用词序进行了预处理但本文在微调期间停用了位置编码。结果表明,性能显著下降,但模型不会完全失败。
其他NLP任务,如问题回答(Rajpurkar等人,2016)或自然语言推理(Wang等人,2019a),也可以被视为技术层面上的文本分类。这里,序列的位置信息比纯主题文本分类更重要。可以预期,基于BoW的模型比基于序列的模型表现更差

通用性

预计其他文本分类数据集也会有类似的观察结果,因为本文已经涵盖了一系列不同的特征:长文本和短文本、主题分类(20ng、Reuters和Ohsumed)以及论坛帖子、新闻、电影评论和医学摘要领域的情感预测(MR)。本文的结果与其他领域的结果一致,这些领域报告了MLP的复苏。例如,在商业预测中,MLP基线优于各种其他深度学习模型(V enugopal等人,2021;Y edida等人,2021)。在计算机视觉方面,Tolstikhin等人(2021)和Melas Kyriazi(2021)提出了与视觉变压器同等的无注意MLP模型(Dosovitskiy等人,2021)。

有效性的威胁

实验数据集仅限于英语。虽然单词顺序在英语中很重要,但值得注意的是,丢弃单词顺序的方法仍然适用于文本分类。另一个可能的偏差是结果的可比性。然而仔细检查了所有相关参数,如训练/测试划分、数据集中的类数,如果数据集已经以某种方式进行了预处理,例如,减少类数、训练程序和报告的评估指标等任务更容易。关于本文的效率分析,本文确保按照Deghani等人(2021)的建议,报告参数计数的数字和FLOP以外的速度度量。由于运行时严重依赖于训练参数,例如批量大小,因此本文用渐近复杂性来补充这一点。

实际影响和未来工作

本文的研究对寻求在研究项目和工业运营环境中使用稳健的文本分类模型的从业者具有直接影响。此外,推荐在未来的文本分类研究中使用MLP基线,为此在附录A中提供了具体指南。作为未来的工作,分析多标签分类任务和比较分层文本分类方法将是很有意思的(Peng等人,2018;Xiao等人,2019)。另一个有趣但具有挑战性的设置是few-shot分类(Brown等人,2020)。

7. 结论

wide MLP应被视为文本分类任务的强基线。实验表明,WideMLP与最近提出的从文本生成图结构的模型不相上下,甚至更好

在这里插入图片描述

中文分词及词袋分类_insert_energy的博客-爱代码爱编程

       中文分词(Chinese Word Segmentation) 指将汉字序列切分成单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。在中文里,“词”和“词组”边界模糊。中文分词是文本挖掘的基础,利于电脑自动识别语句含义。        现有的分词算法可分为三大类:基于字符串匹配的分词方法、基于理解的分词方法和基于统计的分词

深度学习(cnn rnn)在文本分类中的应用_情怀丶的博客-爱代码爱编程

一、文本分类 历史 上世纪 50 年代:专家规则(pattern) 上世纪 80 年代:知识工程建立专家系统 上世纪 90年代后:统计学习方法,人工特征工程 + 浅层分类模型 特征工程 机器学习的目标是把数据

文本分类概述(nlp)_yealxxy的博客-爱代码爱编程_文本分类

文本分类问题: 给定文档p(可能含有标题t),将文档分类为n个类别中的一个或多个 文本分类应用: 常见的有垃圾邮件识别,情感分析 文本分类方向: 主要有二分类,多分类,多标签分类 文本分类方法: 传统机器学习方法(贝叶斯,s

xgboost文本分类实战-爱代码爱编程

本文首发在微信公众号‘java学习每天一个知识点’,更多资源请关注公众号获取。 一、将收集到的语料进行文本预处理 1)train.txt预处理为train.csv,格式为id,内容,标签 使用excel打开train.txt然后选择分隔符为英文逗号,这样内容在一列,然后再为他们添加id,从1-900,接着添加标签,0,1,2分别表示财经,体育,军事。

中文文本分类_pg-man的博客-爱代码爱编程_中文文本分类

文本挖掘与文本分类的概念 文本挖掘(Text Mining)是从一个非机构化文本信息中获取用户感兴趣或者有用的模式过程。文本挖掘的 7 个主要领域如下: 搜索和信息检索:存储和文本文档的检索,包括搜索引擎和文档的检索。文

机器学习实践:中文文本预处理(词袋模型/TF-IDF)-爱代码爱编程

目标:为了实现利用贝叶斯模型进行新闻文本主题分类,对中文文本进行预处理。 步骤 1.准备2.创建停用词词典3.定义Document类(可省)4.序列化标签 载入数据5.创建词典6.文本向量化方法一:词袋模型方法二:TF-IDF7.打乱数据集8.划分训练集、测试集,训练模型。(略) 1.准备 1/ 环境 win10 64位 anaconda3 p

自然语言处理实战:新闻文本分类(附代码)-爱代码爱编程

自然语言处理实战:新闻文本分类 ——本文比赛来源于天池零基础入门NLP - 新闻文本分类。 目录 自然语言处理实战:新闻文本分类一、赛题理解1、学习目标2、赛题数据3、数据标签4、评测指标5、数据读取6、解题思路二、数据读取与数据分析1、学习目标2、数据读取3、数据分析3.1句子长度分析3.2新闻类别分布3.3字符分布统计4、数据分析

klearn 文本分类_详细解析scikit-learn进行文本分类-爱代码爱编程

使用scikit-learn进行文本分类 多标签分类格式 对于多标签分类问题而言,一个样本可能同时属于多个类别。如一个新闻属于多个话题。这种情况下,因变量yy需要使用一个矩阵表达出来。 而多类别分类指的是y的可能取值大于2,但是y所属类别是唯一的。它与多标签分类问题是有严格区别的。所有的scikit-learn分类器都是默认支持多类别分类的。但是

python 文本分类卡方检验_中文文本分类:你需要了解的10项关键内容-爱代码爱编程

文本分类指的是计算机通过算法对输入的文本按照一定的类目体系进行自动化归类的过程。在人工智能浪潮席卷全球的今天,文本分类技术已经被广泛地应用在文本审核、广告过滤、情感分析和反黄识别等NLP领域。本文从达观数据中文文本分类的实践出发,总结了从数据预处理到特征工程、算法选择再到后处理和评价指标等流程中的10项关键内容,希望能对读者有所帮助。 1、数据清洗与

深度学习之文本分类总结-爱代码爱编程

一、文本分类概况 文本分类是NLP中的最基础的一个任务,很多场景中都涉及到,比如对话机器人、搜索推荐、情绪识别、内容理解,企业风控,质量检测等方向。在对话机器人中,一般的文本分类任务主要是解决 用户query 的意图,确定相关domain.在确定的 domain中进行 NLU的语义理解,进而下游更多的任务。针对 内容理解 或者风控,质检方向都是针对于用户

文本分类综述-爱代码爱编程

Deep Learning Based Text Classification: A Comprehensive Review 相关综述Deep Learning Based Text Classification: A Comprehensive Review 文本分类综述 一、介绍 自动文本分类的方法可以分为两类: • Rule-ba

基于标签嵌入注意力机制的多任务文本分类模型_米朵儿技术屋的博客-爱代码爱编程

摘要 【目的】 将文本分类算法根据不同分类任务的特征进行动态调整,使文本分类算法的性能与任务特征紧密相关。【方法】 提出一种基于标签的注意力权重学习,通过标签嵌入的方法同时对文本语义的词向量和文本的TF-IDF分类矩阵进行学习,为文本中的单词赋予不同的权重提取与分类任务更相关的特征,改进文本的注意力权重学习。【结果】 所提方法相比现有的LSTMAtt、L

实战必备!文本分类中的一些经验和 tricks-爱代码爱编程

NewBeeNLP公众号原创出品   公众号专栏作者 @wulc 作者是字节跳动广告算法工程师,个人blog: http://wulc.me 最近在总结之前做的文本分类实验的一些经验和 tricks,同时也参考了网上的一些相关资料(见文末),其中有些 tricks 没尝试过,先在这里记下,或者日后能用上。 这里的经验