一种基于多词的文本表示策略的文本分类方法与流程

文档序号:15445925发布日期:2018-09-14 23:21阅读:129来源:国知局
本发明涉及文本分类
技术领域
,特别是涉及一种基于多词的文本表示策略的文本分类方法。
背景技术
:随着在线信息的快速增长,文本分类已成为处理和组织文本数据的关键技术之一。智能文本分类是利用监督式学习方法,根据一组标签文本数据通过训练给新的文本数据分配预定义的类别标签。文本分类需要文本挖掘技术,而支持文本挖掘的主题之一就是文本表示。文本表示是将非结构化文本转化为结构化数据作为数据挖掘技术可以处理的数值向量的过程,对学习系统的泛化精度影响很大。通常,词袋模型(bag-of-worlds,bow)被用于文本分类,用来表示从给定的文本数据集获得的单个词统计的文本表示方法。作为一种简单直观的方法,bow使得表示和学习变得简单和高效,因为它忽略了单个词组的顺序和含义。但也有人批评bow发现的信息是不可理解的,因为语义和语义没有被整合到文档的表示中。为了解决这个问题,近期提出了三种不同语义层次的表示方法。本体增强表示。也就是说,使用本体来捕获文档中的概念,并将单个词组的领域知识整合到文本表示的术语中。例如,hotho等人在2003proceedingsofthe3rdieeeinternationalconferenceondatamining,pp.541-544中开发了不同类型的方法,将本体中包含的背景知识编译成文本文档表示,提高了文档聚类的性能。语言单位增强代表性。该方法利用短语的词法和句法规则,从文档中提取名词短语和实体等术语,并利用这些丰富语言单元进行文本表示。例如,刘易斯在1992proceedingsofthe15thannualinternationalacmsigirconferenceonresearchanddevelopmentininformationretrieval,pp.37-50中比较了基于短语的索引和基于词的索引来表示文档分类的任务。其结果表明,由于大多数短语的频率低,所以短语索引不能改进大多数情况下的分类。字序列增强表示。这个方法忽略了文档中的语义,并把这些单个词组当作字符串序列。使用这种方法的文本表示既可以是基于共现的单个词组,也可以是通过传统的字符串匹配方法从文档中提取的单个词组序列。文本分类的一个主要困难是特征空间的高维度,并且大多数特征(即术语)与分类任务无关或冗余,这使得非常希望在不牺牲分类准确性的情况下减少计算成本。技术实现要素:本发明所要解决的技术问题是提供一种基于多词的文本表示策略的文本分类方法,能够减少计算量。本发明解决其技术问题所采用的技术方案是:提供一种基于多词的文本表示策略的文本分类方法,包括以下步骤:(1)选取公开文本分类数据集并进行处理;(2)对数据集中的文本进行多词提取,储存到语料库;(3)用不同的文本表示策略对多词处理,形成文本完整的特征集,最后评估多词在不同策略中表征的有效性。所述步骤(1)中处理公开文本分类数据集时,采用信息增益参数去除非信息词汇,降低空间维度,构建较低空间维度级别的正交维度新特征。所述步骤(1)中公开文本分类数据集采用reuters-21578。所述步骤(2)中多词提取采用正则表达式,并采用重复模式算法减少计算复杂度,提高分类精度,具体步骤如下:(21)从训练集中取出两个单个句子s1和s2;(22)抽取单个句子s2中的一个词组;(23)将抽取的词组与单个句子s1里的词组逐词对比;(24)当单个句子s1中的词组和单个句子s2中对照的词组一致时,则储存到语料库;(25)重复步骤(22),直到单个句子s2中的词组全部选取完毕;(26)重复步骤(21),直到训练集中的单句全部选取完毕;(27)将以上步骤提取出的重复词组,送入正则表达式,提取出多词,其正则表达式计算式为((a|b)+|((a|n)*(np)?(a|n)*)n,其中,其中a是形容词,n是名词,p是介词,“|”表示将两个匹配条件进行逻辑“或”运算,“+”表示匹配前面的子表达式一次或多次,“*”表示匹配前面的子表达式任意次,“?”表示匹配前面的子表达式零次或一次。所述步骤(3)中多词处理的策略为分解策略,在这个策略中,只有短多字用来表示文本的一般概念,提出k-mismatch算法;所述分解策略的具体步骤如下:从语料库中逐个获取多词;将复合长多词分解为词组;计算词组出现频率,词组权重为词组的出现频率;将带权重的词组送入支持向量机进行文本分类。所述步骤(3)中多词处理的策略为组合策略,在这个策略中,只有长多字用来表示文本的一般概念,设置两个参数以确定文档中是否出现能够代替组合单个词组的多词;所述组合策略的具体步骤如下:将语料库所有的多词分解成单个词组,设为s={s1,...,sn},s是单个词组序列集合,si是第i个单个词组;从语料库中取出一个多词,设为w={w1,...,wm},w是一个多词,wi是w中的第i个单个词组,并定义lm={am,1,am,2,…,am,tm},其中am,i表示集合s中的第m个出现wm的位置;遍历该多词w的所有单个词组wi,如果单个词组wi出现在集合s中,则把单个词组wi存入集合w0,计算比率or=|w0|/|w|,|w0|表示集合w0单个词组个数,|w|表示多次w单个词组个数;遍历集合w0中所有的单个词组wi,计算单个词组出现的距离,公式如下:|li|=max{a1,i,a2,*i,…,am,*i}-min{a1,i,a2,*i,…,am,*i};计算最小范围ms=min|li|,其中1≤i≤|w0|;取语料库的下一个多词,重复上述步骤,直到计算出所有多词的比率or和最小范围ms。有益效果由于采用了上述的技术方案,本发明与现有技术相比,具有以下的优点和积极效果:本发明利用多词为基准进行文本分类。首先,多词的维度低于单个词,其性能是可以接受的。其次,通过语料库学习可以很容易地从文档中获取多词,而不需要任何词典。第三,多词包含更多的语义,是一个比单个词更有意义的单位。本发明利用正则表达式匹配以提取多词和提取重复模式的技术,减少了文本分类的计算量。本发明给出了两种文本表示策略,试验表明,组合策略比分解策略更精确,这使得组合策略比分解策略能更好地识别文本类别。附图说明图1是实施例1中的多词提取算法流程图;图2是实施例1中的分解策略流程图;图3是实施例2中的组合策略流程图。具体实施方式下面结合具体实施例,进一步阐述本发明。应理解,这些实施例仅用于说明本发明而不用于限制本发明的范围。此外应理解,在阅读了本发明讲授的内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。实施例1一种基于文本表示策略的文本分类方法,包括如下步骤:步骤1:选取公开文本分类数据集并利用信息增益(ig)降低文本维度,通过去除非信息类单个词组的百分比,测试不同分类方法的鲁棒性。步骤2:对数据集中的文本进行多词提取,储存到语料库;步骤3:用不同的文本表示策略对多词处理,形成文本完整的特征集,最后评估多词在不同策略中表征的有效性;上述步骤1中,公开文本分类数据集选取reuters-21578,它总共包含19403个有效文本,每个文本平均有5.4个句子,为方便起见,将“谷物”,“原油”,“交易”和“兴趣”四个类别的文本作为目标数据集,把252个来自“粮食”的文本,208个来自“粗略”的文本,133个来自“有趣”的文本和171个来自“贸易”的文本分配为我们的目标数据集,并且从每个类别中分配2/3的文本作为训练数据,其中1/3为随机抽样的测试数据;上述步骤2中,如图2所示,多词提取采用正则表达式匹配和提取重复模式相结合的技术;由于符合正则表达式的多词过多,而与文档主题多词应是经常出现的,所以提出一种重复模式算法,旨在减少减少计算复杂度,提高分类精度,具体步骤如下:步骤2.1:从训练集中取出两个单个句子s1和s2;步骤2.2:抽取s2一个词组;步骤2.3:将s2与s1里的词组逐词对比;步骤2.4:当s1中的词组和s2中对照的词组一致时,则储存到语料库;步骤2.5:重复步骤2.2,直到s2中的词组全部选取;步骤2.6:重复步骤2.1,直到训练集中的单句全部选取;步骤2.7:将以上步骤提取出的重复词组,送入正则表达式,提取出多词,其正则表达式计算式如下所示:((a|b)+|((a|n)*(np)?(a|n)*)n其中a是形容词,n是名词,p是介词,“|”表示将两个匹配条件进行逻辑“或”运算,“+”表示匹配前面的子表达式一次或多次,“*”表示匹配前面的子表达式任意次,“?”表示匹配前面的子表达式零次或一次。上述步骤3中,文本分类采用分解策略。将上述步骤2提取出的多词全部分解成单个词组,把单个词组出现的频率设置成单个词组权重,送入支持向量机进行文本分类。上述步骤3中,支持向量机选取线性核作为分类器。如图2所示,在这个策略中,只有短多字用来表示文本的一般概念,提出k-mismatch算法;所述分解策略的具体步骤如下:从语料库中逐个获取多词;将复合长多词分解为词组;计算词组出现频率,词组权重为词组的出现频率;将带权重的词组送入支持向量机进行文本分类。实施例2本实施例与实施例1基本相同,其区别在于:步骤3中,文本分类采用组合策略。在这个策略中,只有长多字用来表示文本的一般概念,设置两个参数以确定文档中是否出现可以代替组合单个词组的多词。给定一个模式p,一个文本t和一个固定数量k,k与p和t的长度无关,p中的k-不匹配是|p|-t的子串匹配p的(|p|-k)个字符。也就是说,它匹配p与k不匹配。算法的主要思想是根据模式p的长度将k设置为动态阈值截止值,并寻找t中模式p中词出现的最小范围。具体而言,设置两个参数以确定文档中是否出现多词。第一个是出现比率(or),它是模式p的当前单个词组的数量与p的单个词组的总数的比例。第二个是最小范围(ms),它是包含在所有呈现的单个词组的序列中的最小单个词组数量。计算出所有多词的or和ms。如图3所示,所述组合策略的具体步骤如下:将语料库所有的多词(一个多词至少包含两个单个词组)分解成单个词组,设为s={s1,...,sn},s是单个词组序列集合,si是第i个单个词组;从语料库中取出一个多词,设为w={w1,...,wm},w是一个多词,wi是w中的第i个单个词组,并定义lm={am,1,am,2,…,am,tm},其中am,i表示集合s中的第m个出现wm的位置;遍历w中所有的wi,如果wi出现在s中,则把wi存入集合w0;计算or=|w0|/|w|,|w0|表示w0单个词组个数,|w|表示w单个词组个数;遍历w0中所有的wi,计算单个词组出现的距离,公式如下:|li|=max{a1,i,a2,*i,…,am,*i}-min{a1,i,a2,*i,…,am,*i}计算ms=min|li|,其中1≤i≤|w0|;取语料库的下一个多词,重复上述步骤,直到计算出所有多词的or和ms。实施例1与实施例2的验证结果比较从训练文档集中提取1514个多词,并在分解策略中进行处理,得到984个短多词,并将其用作策略1中的完整特征集。在组合策略中,获得1037个长多词,并作为策略2中的完整特征集使用。设置or为0.5,设置ms为包含在多字匹配中词的数量的两倍。具体来说,对于每个分类任务,以表1所示的通过去除非信息类单个词组的百分比,获得不同维度的特征,共进行11次测试。表1每次测试对应的去除率的百分比测试编号1234567891011去除率(%)050707580859092959899表2每种分类方法的平均精确度和标准偏差分类方法平均精确度(%)标准偏差平均计算时间(s)单个词组0.91680.0068774多词-分解策略0.75070.0751352多词-组合策略0.80770.0488387为了更好地说明每种分类方法的有效性,使用经典的t检验来分析性能。表3示出了t检验的结果,并且使用了p-值的编码表示范围:“>>”意味着p-值小于等于0.01,表明系统产生错误分类的概率极小。表3关于每种分类方法对文本分类性能的t检验结果分类方法单个词组多词-分解策略多词-组合策略单个词组表示->>>>多词-分解策略-->>多词-组合策略---从表1、表2和表3可以看出,单个词组是最好的分类方法,多词-组合策略次之。这一点很容易理解,因为单个词组的维度是多词的维数的10倍左右。表2显示了3种分类方法的平均精确度及其标准偏差。在设计分类任务的平均性能上得出单个词组>多词-组合策略>多词-分解策略,标准偏差分别表示分类方法的稳定性:单个词组>多词-组合策略>多词-分解策略,表示单个词组是最稳定的表示方式,多词-分解策略在分类性能的鲁棒性方面不太理想。在平均计算时间上可以看出多词-分解策略>多词-组合策略>>单个词组,多词-分解策略和多词-组合策略计算时间成本差不多,但单个词组表示策略计算时间成本较大。综上,组合策略综合性能优于分解策略和单个词组表示策略,组合策略在不失准确度的基础上极大降低了文本分类的计算成本。从另一个方面可以看出,更具体的概念表示可以产生比一般概念所能产生的更理想的文本表示。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1