中文短文本分类研究介绍

一、如何研究文本分类?

  1. 文本数据预处理
  2. 研究不同文本表示方法下的文本分类
    例:Word2vec模型
    优点:应用广泛、适用性强、纬度低、能理解词的上下语义
    缺点:无法赋予结构化后的关键词更高的维度
    例:传统TF-IDF模型
    缺点:无法区分特征间在类间、类中的分布问题
  3. 研究不同深度学习模型下的文本分类
    例:Bert模型后接入LSTM模型能增强文本的序列信息,并引入Attention机制突出文本关键信息,可以使模型提取出的文本特征更加丰富。

二、短文本分类的核心任务

设有短文本集合W={w1,w2,w3,…,wi,…,wn},类别集合L={l1,l2,l3,…,li,…,lm},wi是指段文本集合W中的第i段文本,n代表该类别集合中的类别总数,把短文本集合W中的wi经过分类器函数映射到类别集合L中,这就使短文本分类的数学思想。其分类过程如图所示。
在这里插入图片描述

文本预处理方法

中文文本分词的难题:
能够合理的分词并准确表达原文语义。
1、文本分词——主流的分词法
(1)基于词典的分词。 例如词袋法。
此方法根据已建立的匹配规则,将字符串与预先定义的字典进行比较。若这个字符串的部分内容中在字典中,则说明匹配成功。
优点:逻辑简单、匹配速度快。
缺点:需预先建立一个较大的词典;无法匹配未收录的词;存在产生歧义的词。
(2)基于理解的分词法。 又叫做基于只是理解的分词法。
此方法指在分词过程中对句子进行语义分析和语法分析,提取文段中句子的语义特征和语法特征,学习这些深层特征来解决可能出现的歧义问题,同时识别新的词。
优点:就能够解决词语残剩的歧义问题。
缺点:需建立十分庞大的语料库,实现难度大。
(3)基于统计的分词法。
该方法基于组合句子中各个字符的出现频率于这些字符串能否组成词语的概率进行实现的。计算机通过计算标记后的文本内容中各个句子之间的隐形关系,来判断两个或多个字符串能否组合在一起。长于基于词典的分词法结合使用完成较高精度的文本分类任务。
2、文本表示——文本表示模型
不同领域面对不同类型的数据时,应选择与数据适配度较高的文本表示模型。
(1)布尔模型:本质是一个二值模型。简单但不支持部分匹配。
在这里插入图片描述

(2)空间向量模型VSM):在模型中,一些关键字词甚至关键的词组通常看作向量空间模型的特征项,且为模型中最小的组成元素。模型将文本的内容转换为特征项的集合,表示为q=q(w1,w2,w3,…,wn),其中wi是文本特征项,1≤i≤n。计算公式如下:
在这里插入图片描述
上式中,tw(w,q)代表文本q中的特征词w出现的次数;nw代表包含特征词的文本数量;N为文本集中的文本总数。
通过VSM算法进行文本表示,就是提取并计算出文本的特征和权重,并将文本中信息转换为高维向量空间中的向量。其原则是更具两份文本中相同特征词的而数量来判断二者是否相似。它是一种基于词频信息,采取处理关键字词的文本表示方法。不能解决一词多义的问题。

(3)Word2Vec模型
Word2Vec即词向量模型,是在一个单层的神经网络上,将one-hot形式的稀疏词向量映射成为一个高维向量的过程。
核心思想:将文本映射到向量空间中,相似语义或语境的字或词在向量空间中有更近的距离。
特点:将所有的词向量化,方便用户去度量词与词之间的关系。
优点:可以联系特征词的上下文,纬度低,文本表示效果较好,适用于大多数自然语言处理任务中。
缺点:词与映射到向量空间中的向量是一一对应的关系,无法解决中文词语中一词多义的问题,也无法做针对性的动态优化。
两个重要的模型:连续词袋模型(Continuous Bag-of-Words Model,CBOW)和连续跳字模型(Continuous Skip-gram Model, Skip-gram在这里插入图片描述从图上可以看出,两个模型都包含了INPUT、PROJECTION、OUTPUT三个层。
· CBOW模型是通过输入某个特征词的上下文在向量空间中对应的词向量,来预测出该特征词所对应的词向量,即先验概率。
· Skip-gram模型是通过输入某个特征词在向量空间中的词向量,来输出预测该特征词的上下文对应的词向量,即后验概率。

用先验概率、后验概率来表述,一段话有5个词组成: Wt-2 Wt-1 Wt Wt+1 Wt+2
对于Wt来说,先验概率指的是Wt-2、Wt-1、Wt+1、Wt+2出现后Wt出现的概率,即P(Wt |
Wt-2,Wt-1,Wt+1,Wt+2),可以将Wt用Wt-2、Wt-1、Wt+1、Wt+2出现的概率来表示: C(Wt)= [P(Wt |
Wt-2),P(Wt | Wt-1),P(Wt | Wt+1),P(Wt | Wt+2)]
后验概率指的是Wt出现后Wt-2、Wt-1、Wt+1、Wt+2出现的概率,即P(Wt-2,Wt-1,Wt+1,Wt+2 | Wt
),可以用Wt-2、Wt-1、Wt+1、Wt+2出现的概率来表示: S = [P(Wt-2 | Wt),P(Wt-1 |
Wt),P(Wt+1 | Wt),P(Wt+2 | Wt)]

特征选择

文本特征处理的过程。
在这里插入图片描述
在对文本数据进行预处理后,计算机将根据特定算法,在预处理后的文本数据集上进行计算并选择特征词,同时将帅选后的特征词采取降序排序,排名靠前的此作为该文本的特征词,计算并确定每个特征词的权重以及概率,最后纯输出为该文本的特征集合。
对文本进行特征选取本质上是一种特征降维的过程,有利于后续文本分类准确度的提高,提高文本分类的效率。

常用的特征选择方法:文档频率法、互信息、卡方统计量等。
1、 文档频率法
文档频率(Document Frequency)是较为简单直接的一种特征选择算法,通过计算特征词出现的频率来进行特征选择。
频率计算方式分为两种,一种是目标词语在某一类文本中出现的次数与该类文本词语总数的比值,另一种是某一类文本中包含目标词语的文本书与某一类文本总量的壁纸。
也可以使用**词频-逆文本频率(TF-IDF)**来提取文本特征词。其中,TF只某个词与在文本中出现的次数,IDF指文本内某个词语的出现次数越低,该词语对文本有更好的区分能力。公式如下:
在这里插入图片描述
值得注意的是,在进行词频统计前要对文本数据进行预处理,进行文本分词并删除停用词等,这将会影响使用TF-IDF进行特征选择的准确度。
TF-IDF的缺点:
(1)无法考虑特征词在各个类别文本中的分布
(2)无法考虑特征词在类内部文本中的分布。
2、互信息法
互信息法,即当某个词的互信息值很大时,说明该词在一个标签内出现的很频繁,且在其他标签内几乎不出现。其计算公式为:
在这里插入图片描述
其中,P(t)指的是特征词在整个文本数据集中出现的概率;P(Ci)指的是整个文本数据集中文本属于类别Ci的概率;P(t,Ci)指在类别Ci中出现特征词t的文本数与整个文本数据集文本数的比值。
在自然语言处理领域中,一般采用互信息作为特征词和类别之间的测度,如果词语w与类别c的互信息量最大,则说明词语w为类别c的特征词。
互信息法的优点:不需要对特征词和类别之间关系的性质做任何假设
互信息法的缺点:其得分受词语边缘概率影响严重,仅用于某特定类别或局部信息与整体信息之间的特征选择工作。
3、卡方统计
卡方统计量在统计学中一般用于检验两个事件的独立性。
在文本的特征选择任务中,卡方统计量的工作原理不变,两个事件则为检验过程中某个词的出现和某个类别的出现。其定义公式为:
在这里插入图片描述
其中,N11表示包含词语t且属于类别c的文本数,N10表示包含词语t且不属于类别c的文本数,N00不包含词语t且不属于类别c的文本数,N01不包含词语t且属于类别c的文本数。
在文本分类的特征选择任务中,通常采用“词语t与类别c不相关”来做原假设,计算出的卡方值越大,说明对原假设的偏离程度越大,越倾向于拒绝原假设。

文本特征选择中,卡方检验存在一个著名的“低词频缺陷”,指的是只统计文本中是否出现的词,却不计算词语出现的频率,会导致该方法对低频词有所偏袒,甚至会产生一些极端的情况,例如某个词在一类文本的每篇文档都中只出现了一次,而该词语无法作为这类文本的特征词。由于出现该词的文本数量比其他词少了“1”,在特征选择时该方法可能会选择这个词而筛掉后者。

深度学习下的文本分类主流算法

深度学习在NLP领域的主要贡献体现在文本表示特征提取两个方面。
1、文本表示。将不同的文本(如字符、词、句子等)高效的转化为向量形式。
2、特征提取。深度学习基于神经网络模型对文本数据中特征向量的处理,获取更加丰富的特征向量,从而挖掘出文本的深层含义。深度学习模型如下。
在这里插入图片描述
不同于传统的机器学习模型,深度学习模型在处理文本数据时,通过深度神经网络结构记忆前后文语境,更高效提取出更为抽象的文本特征,挖掘文本数据中的深层语义。

循环神经网络(RNN)
RNN也被称为递归神经网络模型,不光读取这一时刻下输入的数据,同时对之前一个(多个)时刻输入或输出的数据做一定程度的保留,所以RNN是一种短期记忆神经网络。RNN示意图所下。
在这里插入图片描述
箭头左边是最简单的RNN示意图,右边是将RNN模型的结构展开,可以发现,RNN中包含输入层、隐藏层和输出层三部分。其中,Xt代表RNN模型在t时刻输入Xt,Ot代表RNN模型在t时刻输出Ot,ht代表t时刻隐藏层的状态,U代表输入层到隐藏层的权重,V达标隐藏层到输出层的权重,W代表前一个隐藏层在这一次输入的权重。
当在t时刻输入Xt时,循环神经网络模型中t时刻隐藏层的状态ht和输出层结果Ot分别为:
在这里插入图片描述
其中,由公式可以看出t时刻下隐藏层的状态ht是由t-1时刻隐藏层的状态ht-1和输入层的Xt所决定的,f是非线性激活函数,bh代表t时刻下隐藏层的偏置项。
输出层Ot是由t时刻下隐藏层的状态ht所决定的,g同样是激活函数,一般使用sigmoid函数,bo代表的是t时刻下输出层的偏置项。
RNN的优点:对输入数据长度没有要求,能保留历史信息,模型隐藏层的计算权重随着时间是共享的。
RNN的缺点:计算速度缓慢,大多数情况下只能考虑局部历史信息,反向传播时容易梯度消失或爆炸。且随着数据的输入量不断增大,RNN无法对很久以前的信息保持记忆性。

长短期记忆网络(LSTM)
LSTM在RNN模型的基础上,设置了“输入门”、“输出门”和“遗忘门”对历史信息进行记忆和遗忘。LSTM模型也是有一个个链式单元组成的,每个单元内布都含有“输入门”、“输出门”和“遗忘门”三个门控结构。如下图所示。
在这里插入图片描述
遗忘门:根据前一时刻隐藏层状态的输出ht-1和当前时刻下输入的Xt来计算遗忘门的输出值ft。通过计算遗忘门的输出值来决定丢掉一些重要程度较低的信息。其中σ代表sigmoid函数。
在这里插入图片描述
输入门:根据前一时刻隐藏层状态的输出ht-1和当前时刻下输入的Xt来计算输入门的输出值it,同时再通过tanh层计算临时的细胞状态St。
在这里插入图片描述
计算出临时细胞状态后,通过输入门的值it、临时的细胞状态St和前一时刻下的细胞状态St-1来计算这一时刻下的细胞状态St。
在这里插入图片描述
输出门:通过当前时刻下输入的Xt、更新后的细胞状态St和前一时刻的隐藏层状态输出值ht-1来计算当前时刻下输出门的输出值Ot,再由Sigmoid层对输出值进行过滤,决定部分信息被输出。
在这里插入图片描述
BERT模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据集的预处理

对数据的预处理主要采取去除特殊字符、转换英文大小写、分词和去除停用词等操作。主要过程如下图。

特殊字符一般可通过正则表达式将其去除;文本中的英语表达具有不确定性,可以将其统一转换为小写;可以使用jieba分词工具对处理后的文本进行分词处理;可使用网上开源的停词表和python中的自定义函数,实现停用词去除。

模型的评价指标

查准率(Precision)、召回率(Recall)、准确率(Accuracy)、F1值(F1-score)在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

模型调参

超参数的调试时进行文本分类前的一个重要步骤,目的是为了使模型的效果发挥到最优。

结果分析

采取多项对比。

最后总结在这个项目上都做了什么工作,发现不足展望未来。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值