APP下载

基于贝叶斯决策的极短文本分类模型

2018-09-10张德成赵传信

关键词:特征词分词特征向量

张德成 王 杨 赵传信 甄 磊 李 昌

(1. 蚌埠医学院公共基础学院, 安徽 蚌埠 233000; 2. 安徽师范大学数学计算机科学学院, 安徽 芜湖 241000)

在各种智能终端和社交软件中,用户可以对各类事件发表评判意见,即用户评判。用户评判多以不完整的极短文本来表达,决策者需要从大量的极短文本中快速提取出有价值的信息。通常文本分类方法主要包括聚类词嵌入法和频率加权法。

(1)聚类词嵌入法。将k-均值算法应用到文档的单词向量上,以获得固定大小的集群集合。每个文本被表示为一个超级单词嵌入包,计算每个超级单词嵌入在各自文本中的频率,即可得文本分类结果[1]。

(2)频率加权法。将所缺少的条款计算在内,计算有条款的文本权重,结合SVM分类器,得出性能最优分类结果[2]。极短文本的形式具有碎片化、即时性的特征,运用传统的文本分类方法难以快速提取此类文本中的信息。

在文本分类研究中,贝叶斯理论得到了广泛应用[3-6]。本次研究提出的是一种基于贝叶斯决策的极短文本分类模型。

1 相关概念

1.1 极短文本

狭义文本是指书面语言的表现形式,从文学角度说,通常是具有完整、系统含义的一个句子或多个句子的组合。广义文本是指任何由书写所固定下来的任何话语。在狭义文本的基础上,文本长度不超过160个字符的文本称作短文本[7],比如通过微博、网易云评论,中文垃圾短信,垃圾邮件等形成的文本。他们是目前研究文本分类的主要对象。随着信息技术的发展与生活节奏的加快,出现了一类用更加简洁的文字来描述事物的文本,即极短文本(Extremely Short Text, EST)。

极短文本是指书面语言的表现形式,可能包含某种客观陈述或者评价建议,不一定具有完整、系统含义,由几个词语或者短语组成的文本,句子长度一般不超过15个字。

极短文本主要来源于互联网,具有数量大、噪声强、内容特征极稀疏等特点[8]。生活中诸如共享单车故障的报错描述、淘宝商品的简短评价、全民社管上报案卷等信息都属于极短文本。有效识别并对极短文本进行分类,从而快速处理极短文本的内容[9],在数据应用、公司管理、政府决策等方面有着重要的意义。

1.2 增量特征向量

在分析极短文本时,分词并选取特征词对后续研究尤为重要。由于文本过短,一般仅可从已知内容中提取3到4个关键词。如果仅基于这些特征词建立分类模型,则信息量不足,无法保证分类结果的精确度。针对此情况,我们提出一种特征词增量模型。

下面以社会垃圾信息管理为例,说明该模型中特征词的扩容。首先,分析社会管理上报案卷的极短文本并提取特征词,记为特征词组成的特征向量,此处取值较小,一般不超过4;然后,进一步分析文本可知,“水上漂浮”“绿化带”“路面”等词语描述了垃圾的位置信息,可以将其概括为一个新的特征词;以此类推,即得到增量特征向量。在取值大于等于5时,特征向量就具备了较强的代表性。

1.3 文本预处理

文本预处理分4个步骤进行:

(1) 利用Kettle工具对原始文本清洗并分为3类,即大类序号、小类序号和文本;

(2) 存入数据库;

(3) 利用分词工具—— Jieba分词,对第3个字段的内容(即纯文本)进行分词;

(4) 根据词性将分好的词每行留下3个并存入数据库。

Kettle是一款开源ETL工具,可以接收各种类型的数据输入,并以一种指定的格式流出[10]。该工具允许用户在图形化的工作环境下管理来自不同数据库的数据。Kettle中有transformation和job 2种脚本文件,其中transformation文件用于完成针对数据的基础转换,而job文件则可完成对整个工作流的控制。

Jieba分词是一种使用Python语言开发的中文分词工具。它的主要特点是:(1)支持精确模式、全模式、搜索引擎模式等3种分词模式;(2)支持繁体分词;(3)支持自定义词典。

Jieba分词的实现原理是:(1)基于Trie树结构实现高效的词图扫描,生成句子中的汉字所有可能成词情况所构成的有向无环图(DAG);(2)采用动态规划查找最大概率路径, 找出基于词频的最大切分组合;(3)对于未登录词,采用了Viterbi算法和基于汉字成词能力的HMM模型(隐马尔可夫模型)[11]。

本次研究将采用Jieba分词中的精确模式。该模式是Jieba分词中最基础和自然的模式,它试图尽可能精确地划分语句,因此适合极短文本分析。

2 贝叶斯分类方法

运用贝叶斯分类方法,对极短文本的若干特征词进行分类。先确定新文本中关键词出现在特征词类中的概率,然后利用贝叶斯概率公式求解后验概率,根据概率的大小得出分类结论。

设S是实验E的样本空间,C1,C2,…,Cm为E的1组事件。若

(i)CjCk=Ø,j≠k,j,k=1,2,…,m;

(ii)C1∪C2∪…∪Cm=S;

则称C1,C2,…,Cm是样本空间的一个划分。

记B(B1,B2,…,Bm)为特征向量,C1,C2,…,Cn为n个分类结果;P(Ci|B),i=1,2,…,n表示待分类文本属于第i个分类结果的概率;P(Bj|Ci),j=1,2,…,m,i=1,2,…,n表示第j个特征词属于第i类的概率。

定理1 设实验E的样本空间为S,C为E的事件,C1,C2,…,Cn是样本空间S的一个划分,且

P(Ci)>0,P(B)>0,i=1,2,…,n

则称

(1)

为贝叶斯公式。

当针对新文本进行分类时,只需要计算出n个类别中P(Ci|B)的值,将新的样本判定到概率值最大的类中。其中,概率P(B)是与类别无关的常数,再根据特征向量B(B1,B2,…,Bm)各个特征词之间的独立性,将式(1)简化为:

(2)

3 贝叶斯分类模型的设计与实现

3.1 模型设计

在此,规定N为预测的样本总数,cou(Ci)表示第i个分类在样本中的计数,

(3)

cou(Bij)表示第i个分类中、第j个特征词的个数,则有:

(4)

计算出待分类样本属于各类别的概率,得出最大的概率:

(5)

判断最大概率所属类别,预测出待分类样本归属类别。

3.2 模型算法实现

结合贝叶斯模型,对极短文本进行分类处理(见图1)。

图1 极短文本分类流程

由于某个特征词的计数值可能是0,因此在设计程序时对每个特征词的计数变量作初始化处理:cou(Bij)+1,cou(Ci)+2。 当计算Pi时,最大值的计算公式由概率转换而来,其值非常小,因此,在程序运行中可能出现下溢出问题。对初始化公式两边取自然对数:

(6)

最终,得到式(7)所示的适合编程且不损失结果的判断函数:

(7)

在Python编程环境下,根据以上数学公式,编写程序;同时,输入训练数据,并将待分类样本作为预测数据,对极短文本进行预测,得出实验结果。

4 实验结果分析

选取芜湖市“全民社管”软件采集的实际数据,对模型的可用性进行了进一步检验。所谓“全民社管”,即市民发现本市的不文明现象、安全隐患、损坏的公共设施等问题后,通过手机或终端在网上进行爆料,为政府有关部门提供信息,从而为实现“共建、共治、共享”的社会治理格局作出贡献。运用本次模型针对每条上报的案卷,判别该案卷所属类别,以便快速处理。通过该软件,采集到9 906条极短文本,涉及到6个部门,每个部门下面又有若干个办事处。

实验运用Python语言进行数据分析,将数据随机分为70%的训练集和30%的测试集,针对模型的准确率进行了6次预测实验(见图2)。图2中,6个子图分别代表所预测的归属,所有数据集分成了6个大类,不包括坏数据。在每个大类中,均有数目不等的若干个小类,如第1幅子图中,即第1个大类,有9个小类,6条曲线代表了6次实验,纵坐标表示相应的准确率。大类、小类代表处理文本的机构及下属部门。

图2 模型预测的准确率

在大量训练样本的条件下,模型的准确率较高。对于某个大类中的某个小类,当训练样本不少于800时,模型的准确率约86%。但有的类别预测准确率极低:一是训练样本过少,有的仅有2~3条训练样本;二是个别数据存在归类分歧,在9 906条数据中,有效数据为9 896条。完成20次实验后,模型的准确率稳定在79%左右。

为检验模型的误分度,在不改变训练集的前提下,分别选取了预测集当中的600、1 000、2 000个数据进行实验。在预测集逐渐增大的情况下,误分度有趋近样本数的倒数的趋势;随着样本数的增大,误分度在一条水平直线上波动,该直线略高于样本数的倒数。模型在大规模数据样本的场景下性能较优。

猜你喜欢

特征词分词特征向量
二年制职教本科线性代数课程的几何化教学设计——以特征值和特征向量为例
克罗内克积的特征向量
基于类信息的TF-IDF权重分析与改进①
分词在英语教学中的妙用
结巴分词在词云中的应用
结巴分词在词云中的应用
基于改进TFIDF算法的邮件分类技术
一类特殊矩阵特征向量的求法
产品评论文本中特征词提取及其关联模型构建与应用
EXCEL表格计算判断矩阵近似特征向量在AHP法检验上的应用