本发明涉及铁路接触网检测领域,具体地,涉及一种基于朴素贝叶斯的文本分类方法。
背景技术:
电力客服部门每天都要面对大量用户的诉求信息。传统模式下,接线员将用户的诉求信息通过主观判断进行分类,之后交付给相应部门进行处理。这种方式需要人工逐条查看确认,信息化、智能化严重不足。
电力用户诉求文本分类方面的内容非常丰富,这些内容常见于信息检索、机器学习、知识挖掘与发现、模式识别、智能电网、电力科学与应用等各种国际会议及相关的期刊或杂志。比较有代表性的综述文章有sebastiani的“machinelearninginautomatedtextcategorization"和aas的“textcategorization:asurvey"。目前最常使用的文本分类算法有:knn分类算法、朴素贝叶斯分类算法、支持向量机、神经网络等。其中,朴素贝叶斯算法由于其良好的执行速率和低复杂度而成为最为流行的数据挖掘算法之一。然而,朴素贝叶斯算法有一个严重的缺点:假设各属性之间相互独立。但是在电力行业的用户诉求文本中,各属性之间往往存在依赖关系。因此,传统的朴素贝叶斯算法并不能在电力行业的客户诉求信息分类问题中取得理想效果。
技术实现要素:
本发明提供了一种基于朴素贝叶斯的文本分类方法,解决了现有的文本分类算法效果不理想的技术问题,本申请中的方法克服电力用户诉求信息难以满足传统朴素贝叶斯中属性独立假设这一不足,方法的性能更好,在电力用户诉求文本分类问题中具备很好的实践应用价值。
本发明提出的基于朴素贝叶斯的文本分类方法可以解决现有技术中缺点,能够用于对海量用户诉求进行实时的自动舆情分析、舆情汇总,并识别其中的关键舆情信息,及时反馈到相关人员建立应急响应,为正确舆论导向及收集用户意见提供直接支持的一套信息化平台。
为实现上述发明目前,本申请提供了一种基于朴素贝叶斯的文本分类方法,所述方法包括:
步骤1:将待分类文本利用分词工具形成特征向量,将特征向量与常用词进行比较,去掉待分类文本中无意义的词语;对待分类文本中出现的每一个单词si进行权重wi设置;
步骤2:通过对p(w1,...,wn)属性w1,...,wn在训练文本集di中进行查找,计算出p(w1,...,wn)在训练文本集di中出现的次数集n(y1,...yn),n(y1,...yn)属性除以训练文本集di中经过剔除无意义词预处理之后关键字的总数量,得到p(w1,...,wn)在训练文本集di中出现的概率集q(w1,...,wn);将q(w1,...,wn)中属性相乘得到p(w1,...,wn)在训练文本集di中出现的先验概率p(w|di),p(w1,...,wn)为:待分类文本,wn为:文本p(w1,...,wn中的属性,yn为:属性wn在训练文本集di中出现的次数;
步骤3:训练文本集di中的文件数量除以整个训练文本集的总数得到先验概率p(di),p(di)*p(x|di)得到p(w1,...,wn)在训练文本集di中的后验概率p(di|w),p(x|di)为:…;
步骤4:重复步骤2、3,计算出所有后验概率;
步骤5:在步骤4的结果中比较出最大的后验概率p(di),di类为p(w1,...,wn)所属类别。
进一步的,对待分类文本中出现的每一个单词si进行权重wi设置,具体包括:
决策树中没有出现的特征权重设为1;
将最小深度为d的特征权重设为
待分类文本中出现的每一个单词si均定义了它的权重wi:
其中,di为si的最小深度,wi没有出现在决策树中时wi等于1,wi出现在决策树中时,wi等于
进一步的,所述方法具体包括:
输入:训练文本库d、测试文本d;
建立一个未修剪二叉树,使用规定的增益比公式作为分割准则,增益比公式(2)如下:
其中,c为待分割数据,h(wi)为:wi的信息熵;ig(c,wi)为c与wi的基尼不纯度;
遍历决策树,并记录每个词si的最小深度di(i=1,2,3,...,m);
通过公式(1)对计算每个词si的权重wi(i=1,2,3,...,m);
通过公式(3)计算测试文档d的p(c);
先验概率:
其中,j为公式中的计数字母,n为属性个数,m为决策树中词的总数,cj为文档d的第j个属性;
根据上式(3),将条件概率公式
通过公式(4)计算测试文档d的p(si|c);
通过公式(5)预测测试文档的类值c(d):
s306:返回d的类值c(d)。本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:
传统的朴素贝叶斯算法基于一个基本假设:属性之间相互独立。如果这一假设不能达成,则分类器的查全率和查准率将远低于预期。而在电力行业的用户诉求信息中,属性之间关联性强,因此传统朴素贝叶斯算法并不适用。本发明克服电力用户诉求信息难以满足传统朴素贝叶斯中属性独立假设这一不足,提出一种新颖的基于朴素贝叶斯算法的文本分类方法。新方法的性能更好,在电力用户诉求文本分类问题中具备很好的实践应用价值。本方法继承了电力文本特征加权方法的简单性。并且本方法将决策树中没有出现的电力文本特征权重设为1(而不是0),使得不重要的特征也可以为电力用户文本分类做出贡献。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定;
图1是本申请中基于朴素贝叶斯的文本分类方法的流程示意图;
图2为本发明数据设置权重的子流程图。
具体实施方式
本发明提供了一种基于朴素贝叶斯的文本分类方法,解决了现有的文本分类算法效果不理想的技术问题,本申请中的方法克服电力用户诉求信息难以满足传统朴素贝叶斯中属性独立假设这一不足,方法的性能更好,在电力用户诉求文本分类问题中具备很好的实践应用价值。
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
请参考图1-图2,本发明的目的是通过以下技术方案来实现电力用户文本分类的,我们将设置电力用户文本内容权重分为以下几个步骤:
s101:树中没有出现的电力文本特征权重设为1。
s102:将最小深度为d的电力文本特征权重设为
这样,电力用户文本中出现的每一个单词si均定义了它的权重wi
其中,di为si的最小深度,wi没有出现在决策树中时wi等于1,wi出现在决策树中时,wi等于
朴素贝叶斯分类器算法假定各待分类电力用户文本特征向量相互独立。相互独立表明所有特征向量之间的表述没有关联,有利于运算。朴素贝叶斯分类器算法包括以下步骤:
s201:将待分类电力用户文本利用分词工具形成特征向量,之后将特征向量与常用停用词进行比较,去掉电力用户文档中无意义的词语。
s202:通过对p(w1,...,wn)属性w1,...,wn在电力用户训练文本集di中进行查找,计算出p(w1,...,wn)在电力用户训练文本集di中出现的次数集n(y1,...yn),n(y1,...yn)属性分别除以电力用户训练文本集di总文本数和电力用户训练文本集中经过剔除无用词去除文本预处理之后关键字的总数量,得到p(w1,...,wn)在电力用户训练文本集di中出现的概率集q(w1,...,wn)。把q(w1,...,wn)中属性相乘得到p(w1,...,wn)在电力用户训练文本集di中出现的先验概率p(w|di)。
s203:电力用户训练文本集di中的文件数量除以整个电力用户训练文本集的总数得到先验概率p(di),p(di)*p(x|di)得到p(w1,...,wn)在电力用户训练文本集di中的后验概率p(di|w)。
s204:重复步骤2、3,计算出所有后验概率。
s205:在步骤4的结果中比较出最大的后验概率p(di),di类就是p(w1,...,wn)所属类别。
根据权利1所述的要求的新的基于朴素贝叶斯算法的文本分类方法包括以下步骤:
s301:输入:电力用户训练文本库d、电力用户测试文本d;
s302:建立一个未修剪二叉树(每个词的价值分为零和非零)使用规定的增益比公式作为分割准则,增益比公式如下:
s303:遍历决策树,并记录每个词si的最小深度di(i=1,2,3,...,m)
s304:通过公式对计算每个词si的权重wi(i=1,2,3,...,m)
s305:通过以下公式计算电力用户测试文档d的p(c);
先验概率:
通过以下公式计算电力用户测试文档d的p(si|c);
根据上式,可以将条件概率公式修改为:
通过以下公式预测电力用户测试文档的类值c(d)
s306:返回d的类值c(d)。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。