具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明识别垃圾文本的方法主要分为两大步骤,具体请见图2。
图2是本发明识别垃圾文本的方法流程图,如图2所示,该方法包括:
步骤201,建立垃圾特征库。
本步骤中,提取垃圾样本的特征,按照包含该特征的文本属于垃圾文本的概率从垃圾样本的所有特征中确定出垃圾特征,并为每个垃圾特征赋予垃圾权重,由所有赋予了垃圾权重的垃圾特征组成垃圾特征库。
其中的垃圾样本一般由编辑人员从所有文本中进行人工筛选,然后手动标注得到。
步骤202,根据匹配到的所有垃圾特征判断待处理文本是否是垃圾文本。
本步骤中,首先提取待处理文本的特征,判断待处理文本的各个特征是否在垃圾特征库中,然后根据匹配到的所有垃圾特征的垃圾权重判断待处理文本是否是垃圾文本。
一般来说,不同的处理对象表现出的特征不相同。例如,与新闻类型的文本相比,问答互动平台的文本的长度较短。不同的处理对象中的垃圾文本涵盖的范围也不相同,例如,问答互动平台的垃圾文本中包括威胁国家或社会稳定的反动、色情等特定内容的信息,与问答互动平台的知识性相背离的广告、征友、恶意灌水、恶意辱骂等非问答信息。
问答互动平台的文本的特殊性,给问答互动平台的垃圾文本过滤带来了困难。例如,由于互动问答平台的文本一般较短,比如提问文本一般不超过100个汉字,平均长度是20个汉字,这使得挖掘这类文本的信息的难度加大。
另外,问答互动平台的文本的规范性也很差。例如,在词法上,存在口语、方言、错字、火星文、脑残体等非常规汉字;在表达上,标点符号使用很不规范,有的提问文本甚至没有标点符号。
本发明针对问答互动平台的文本的特殊性,从多个角度提取问答互动平台的文本的特征,从中提取出垃圾特征并建立垃圾特征库,然后根据垃圾特征库识别待处理文本是否是垃圾文本。从本发明提供的任意角度出发,均能够提高识别垃圾文本的准确性,当综合考虑垃圾特征库中从各个角度触发提取的垃圾特征来识别垃圾文本时,识别垃圾文本的准确性会进一步得到提高。另外,针对问答互动平台的文本的不规范性,还可以在从垃圾样本中提取特征和从待处理文本中提取特征之前,对垃圾样本和待处理文本进行预处理,一方面减小垃圾特征库的大小,另一方面也提高识别垃圾文本的速度。
上文所述从多个角度提取问答互动平台的文本的特征主要包括三个角度。角度一,从问答互动平台的文本中可能包括威胁国家或社会稳定的反动、色情等特定内容的信息出发,由编辑人员以手动方式建立敏感词表,将表示该特定内容的敏感词写入敏感词表,并根据当前的社会需求即根据包含该敏感词的文本属于垃圾文本的概率为每个敏感词赋予垃圾权重。角度二,从问答互动平台的文本中可能包括与问答互动平台的知识性相背离的广告、征友、恶意灌水、恶意辱骂等非问答信息出发,利用有监督的机器学习机制从这些非问答信息中学习出垃圾特征,并根据包含该垃圾特征的文本属于垃圾文本的概率为每个垃圾特征赋予垃圾权重。通过角度二可以涵盖角度一所未能涵盖的其他垃圾特征。角度三,从问答互动平台中的垃圾文本的格式角度出发,根据广告、征友、恶意灌水、恶意辱骂等垃圾文本所具有的区别于非垃圾文本的格式信息,提取相应的格式特征。
其中,在从角度一或角度二出发识别垃圾文本时,还可以将同时出现在同一垃圾样本中的概率大于第一预定阈值的两个以上的特征组合为组合垃圾特征,将该组合垃圾特征确定为用于组成垃圾特征库的特征并写入垃圾特征库。由于通常情况下,当某些特征同时出现在待处理文本中时,待处理文本是垃圾文本的概率较大,而当该某些特征中只有一个特征出现在待处理文本中时,其是垃圾文本的概率则大大减小,因此,通过组合出组合垃圾特征并将其写入垃圾特征库,日后根据垃圾特征库识别待处理文本是否含有所述组合垃圾特征,从而识别待处理文本是否是垃圾文本,能够提高识别垃圾文本的准确性。
下面对从上述三个角度出发识别垃圾文本的方法分别予以说明。
图3是从本发明角度一出发识别垃圾文本的方法流程图,如图3所示,该方法包括:
步骤301,建立敏感词表。
本步骤中,由编辑人员根据问答互动平台的文本中涉及反动、色情等特定内容的信息中,将能够表达该特定内容的敏感词编辑进敏感词表。其中,该敏感词可以是单个词,也可以是两个以上的词的组合,还可以是短语或者句子。
当敏感词是两个以上的词的组合(下文简称组合敏感词)时,该组合敏感词能够表达出上下文的语义联系,如果待处理文本中含有该组合敏感词,则该待处理文本是垃圾文本的概率较大,因此,可以为组合敏感词赋予不低于其他非组合敏感词的垃圾权重。例如,当待处理文本中包含敏感词“炸药”时,待处理文本可能是“炸药在何时发明”,也可能是“如何制造炸药”,而如果将“制造”和“炸药”这两个词组合为组合敏感词“制造炸药”,由于组合敏感词“制造炸药”体现了上下文的语义联系,因此,当待处理文本中包含“制造炸药”这一组合敏感词时,其属于垃圾文本的概率较大,因此,可以为“制造炸药”赋予较高的垃圾权重,其中,组合成组合敏感词的各个词可以相邻也可以不相邻,例如,当待处理文本为“炸药如何制造”时,其也包含组合敏感词“制造炸药”。由于组合敏感词能够表达出上下文的语义联系,因此,能够降低把非垃圾文本识别为垃圾文本的误判率,例如,如果只要待处理文本中出现“炸药”这一敏感词,则将其识别为垃圾文本,那么,“炸药在何时发明”这一非垃圾文本将被误判为垃圾文本,相应地,如果需要出现“制造炸药”这个组合敏感词,才将其识别为垃圾文本时,就不会将“炸药在何时发明”这一非垃圾文本误判为垃圾文本。
步骤302,对待处理文本与敏感词表中的敏感词进行匹配。
本步骤中,可以利用现有技术中的搜索树等数据结构或者字符串匹配算法来对待处理文本与敏感词表中的敏感词进行匹配,从而匹配出待处理文本中的所有敏感词。
其中,对于组合敏感词,可以根据组合敏感词的标识识别待处理文本中是否包含组合敏感词,例如,如果待处理文本中含有“制造”和“炸药”这两个词,而敏感词表中含有“制造&炸药”,其中的字符“&”是组合敏感词标识,则可以匹配出待处理文本中包含“制造炸药”这一组合敏感词。
步骤303,根据匹配到的所有敏感词的垃圾权重判断待处理文本是否是垃圾文本。
本步骤中,根据匹配到的所有敏感词的垃圾权重计算待处理文本的第一垃圾权重。本步骤可以在第一垃圾权重大于第二预定阈值时,判定待处理文本是垃圾文本,例如,当组合敏感词的垃圾权重大于所述第二预定阈值时,如果待处理文本中包含组合敏感词,则将待处理文本直接判定为垃圾文本。本步骤还可以将待处理文本的第一垃圾权重作为判定待处理文本是否是垃圾文本的一个因素。
将待处理文本的第一垃圾权重作为判定待处理文本是否是垃圾文本的一个因素时,识别垃圾文本的具体方法请见后文相关叙述。
图3所示方法中,组合敏感词实际上是一种组合垃圾特征,即由两个以上的特征组合而成。这种组合垃圾特征能够体现出上下文的语义联系,从而提高识别出垃圾文本的概率。
还可以通过建立敏感词的上下文特征库来实现根据上下文的语义联系识别垃圾文本,从而提高识别垃圾文本的准确性。下面对通过建立敏感词的上下文特征库来实现根据上下文的语义联系识别垃圾文本的方法进行详细介绍。
图4是本发明通过建立敏感词的上下文特征库来实现根据上下文的语义联系识别垃圾文本的方法流程图,如图4所示,该方法包括训练和识别两个阶段,其中训练阶段是预先完成的,具体请见步骤401~402,识别阶段是根据训练得到的垃圾特征库对待处理文本进行处理的阶段,具体请见步骤403~406:
步骤401,建立敏感词表。
本步骤建立敏感词表的方法与步骤301相同。
步骤402,建立敏感词表中每个敏感词的上下文特征库。
本步骤中,首先建立第一垃圾样本训练库和第一非垃圾样本训练库。
对于每个敏感词,统计第一垃圾样本训练库中包含该敏感词的垃圾样本,对各个垃圾样本进行分词处理,提取包含该敏感词的各个垃圾样本中除该敏感词外的其他特征,判断每个所述其他特征在包含该敏感词的所有垃圾样本中的出现概率是否大于预定值,由出现概率大于预定值的所述其他特征组成该垃圾特征的正向上下文特征库。
对于每个敏感词,统计第一非垃圾样本训练库中包含该敏感词的非垃圾样本,对各个非垃圾样本进行分词处理,提取包含该敏感词的各个非垃圾样本中除该敏感词外的其他特征,判断每个所述其他特征在包含该敏感词的所有非垃圾样本中的出现概率是否大于预定值,由出现概率大于预定值的所述其他特征组成该垃圾特征的负向上下文特征库。
其中,通常从垃圾样本和非垃圾样本中与敏感词的距离在一定范围内的字符中提取所述其他特征,这样可以保证提取的该其他特征与该敏感词有上下文语义联系。例如,当从距离敏感词前后各3个词以内的文本中提取除该敏感词以外的其他特征,例如,对于垃圾样本“海淀区哪里有卖~~~~的商店”这一非垃圾样本,其中的“~~~”代表敏感词,如果从距离敏感词前后各3个词以内的文本中提取除该敏感词以外的其他特征,则需要从“哪里”、“有”、“卖”和“的”、“商店”中提取其他特征。
步骤403,对待处理文本与敏感词表中的敏感词进行匹配。
本步骤同步骤302。
步骤404,根据匹配到的各个敏感词对应的上下文特征库,计算该各个敏感词的当前垃圾权重。
本步骤中,需要预先确定正向权重因子取值和负向权重因子取值。
对于待处理文本中的每个敏感词,将待处理文本中除该敏感词以外的其他特征与该敏感词对应的正向上下文特征库和负向上下文特征库进行匹配,根据正向权重因子取值、负向权重因子取值以及匹配到的正向上下文特征和负向上下文特征得到敏感词的当前垃圾权重。
本步骤中预先确定正向权重因子α取值和负向权重因子β取值可以包括:
预先建立权重因子训练集,其由垃圾样本和非垃圾样本组成,其中的垃圾样本和非垃圾样本可以由编辑人员手工标注得到。
随机或者按照预定规则初始化正向权重因子α和负向权重因子β,其中α+β=1。根据正向权重因子α和负向权重因子β的当前值判断权重因子训练集中的各个样本是否是垃圾样本,根据判断结果得到误判率和漏检率,当误判率和漏检率不在预设范围内时,更新正向权重因子α的取值和负向权重因子β的取值并保证α+β=1,直至漏检率和误判率在预设范围内,将正向权重因子α和负向权重因子β的当前值作为预先确定的正向权重因子α取值和负向权重因子β取值。
根据正向权重因子α取值、负向权重因子β取值以及匹配到的正向上下文特征和负向上下文特征得到该垃圾特征的当前垃圾权重可以包括:
将预先确定的正向权重因子α取值与所述正向上下文特征的数目相乘得到正向权重更新值,将预先确定的负向权重因子β取值与所述负向上下文特征的数目相乘得到负向权重更新值,将该垃圾特征在垃圾特征库的初始垃圾权重值加上所述正向权重更新值,将所得和减去所述负向权重更新值。对所得差进行归一化处理,即,当所得差小于等于0时,将垃圾权重最小门限值作为该垃圾特征的当前垃圾权重,当所得差大于等于1时,将垃圾权重最大门限值作为该垃圾特征的当前垃圾权重,当所得差在0和1之间时,将该所得差作为该垃圾特征的当前垃圾权重。
假设,敏感词Wi的垃圾权重为Scorei(0<Scorei<1),如果在待处理文本中匹配到敏感词Wi,根据敏感词Wi索引到其对应的正向上下文特征库和负向上下文特征库,与待处理文本中与敏感词Wi的距离在一定范围内的字符中提取其他特征与该正向上下文特征库和负向上下文特征库中的特征进行匹配,假设在正向上下文特征库中匹配到的特征组成的集合是{Cpi1,Cpi2,...,Cpik},在负向上下文特征库中匹配到的特征组成的集合是{Cnj1,Cnj2,...,Cnjt},则Wi未经归一化的当前垃圾权重为
对Scorenewi进行归一化处理,即令
,(0<Scoremin<1,0<Scoremax<1,)
其中的Scoremin是垃圾权重最小门限值、Scoremax是垃圾权重最大门限值,Scorenormi是该垃圾特征的当前垃圾权重。
其中,在计算Wi未经归一化的当前垃圾权重Scorenewi时,还可以考虑区分正向上下文特征库和负向上下文特征库中不同的上下文特征对Wi的影响程度的不同,具体地,为每个正向上下文特征设置正向分值梯度Vp,为每个负向上下文特征设置负向分值梯度Vn,其中0<Vp<1,0<Vn<1,分别用于表示各个上下文特征的权重更新程度。根据 计算Scorenewi。
正向分值梯度Vp和负向分值梯度Vn的具体取值可以通过预先建立分值梯度训练集,然后利用神经网络训练方法进行训练得到。
步骤405,根据匹配到的所有敏感词的当前垃圾权重计算待处理文本的第一垃圾权重。
本步骤中,所述根据匹配到的所有敏感词的当前垃圾权重计算待处理文本的第一垃圾权重包括:
将匹配到的所有垃圾特征的当前垃圾权重相乘得到负向权重值,用1减去每一垃圾特征的当前权重得到每一垃圾特征的当前非垃圾权重,将所有垃圾特征的当前非垃圾权重值相乘得到正向权重值,将负向权重值除以正向权重值与负向权重值的和,将所得商作为该待处理文本的第一垃圾权重值。
例如,如果待处理文本中包含的所有敏感词组成的集合是{W1,W2,...,Wy},则待处理文本的第一绝对垃圾权重值为 第一绝对非垃圾权重值为 则待处理文本的第一垃圾权重值为
步骤406,根据待处理文本的第一垃圾权重判断待处理文本是否是垃圾文本。
本步骤可以在第一垃圾权重大于第二预定阈值时,判定待处理文本是垃圾文本,还可以将待处理文本的第一垃圾权重作为判定待处理文本是否是垃圾文本的一个因素。
图5是从本发明角度二出发识别垃圾文本的方法流程图。
图5所示方法中,通过有监督的机器学习机制从大量的垃圾样本中学习出垃圾特征,并且学习出的垃圾特征能够体现出待处理文本上下文语义之间的联系,从而提高识别垃圾文本的准确性。
在图5所示方法中,需要预先建立第二垃圾样本训练库和第二非垃圾样本训练库,其中的垃圾样本和非垃圾样本可以由编辑人员手工标注得到。如图5所示,该方法包括训练和识别两个阶段,其中训练阶段是预先完成的,具体请见步骤501~502,识别阶段是根据训练得到的垃圾特征库对待处理文本进行处理的阶段,具体请见步骤503~506:
步骤501,从第二垃圾样本训练库中提取待选的顺序组合垃圾特征。
本步骤中,对第二垃圾样本训练库中的垃圾样本进行分词处理,将同时出现在同一垃圾样本中的两个以上的词按照该两个以上的词在该同一垃圾样本中出现的先后顺序组合为待选的顺序组合垃圾特征。
本步骤中用于组成待选的顺序组合垃圾特征的两个以上的词在所述同一垃圾样本中相邻或者至少有两个词之间存在间隔。例如,假设对待处理样本进行分词处理后,得到待处理样本由w1至wm组成的词序列(如表一所示),当用于组成待选的顺序组合垃圾特征的两个以上的词在所述同一垃圾样本中相邻时,待选的顺序组合垃圾特征fi为fi={wj,...,wj+k},0<k<φ(如表二所示),当用于组成待选的顺序组合垃圾特征的两个以上的词在所述同一垃圾样本中不相邻时,待选的顺序组合垃圾特征ti为ti={wj,wj+k},1<k<θ(如表三所示其中,φ和θ是上下文窗口大小,即是用于组成待选的顺序组合垃圾特征的词之间间隔的最大距离。
例如,表二中,φ=2,以词w1开始的待选的顺序组合垃圾特征为f1={w1,w2}、f2={w1,w2,w3},以词w2开始的待选的顺序组合垃圾特征为f3={w2,w3}、f4={w2,w3,w4},以此类推。
表三,θ=3,以词w1开始的待选的顺序组合垃圾特征为t1={w1,w3}、t2={w1,w3,w4},t3={w1,w4},词w2开始的待选的顺序组合垃圾特征为t4={w2,w4}、t5={w2,w4,w5},t6={w2,w5},以此类推。
表一
表二
表三
步骤502,根据待选的顺序组合垃圾特征在第二垃圾样本训练库和第二非垃圾样本训练库中的出现概率,从待选的顺序组合垃圾特征中确定出顺序组合垃圾特征。将顺序组合垃圾特征写入垃圾特征库。
本步骤中,统计待选的顺序组合垃圾特征在第二垃圾样本库的所有垃圾样本中出现的文档频度DF值,提取DF值在预设区间内的待选的顺序组合垃圾特征,按照 计算该DF值在预设区间内的待选的顺序组合垃圾特征与垃圾类别的相关度χ2(f,ci)值,将χ2(f,ci)值大于预定值的待选的顺序组合垃圾特征确定为顺序组合垃圾特征。
其中,N是第二垃圾样本库和第二非垃圾样本库中所有样本的数目,A是第二垃圾样本库中包含待选的顺序组合垃圾特征f(f可以是fi,也可以是ti)的垃圾样本数,B是第二非垃圾样本库中包含待选的顺序组合垃圾特征f的非垃圾样本数,C是第二垃圾样本库中不包含待选的顺序组合垃圾特征f的垃圾样本数,D是第二非垃圾样本库中不包含待选的顺序组合垃圾特征f的非垃圾样本数。
每个顺序组合垃圾特征的垃圾权重值可以设置为每个顺序组合垃圾特征属于垃圾类别的最大似然统计值P(f/c),该最大似然统计值P(f/c)可以根据第二垃圾样本库和第二非垃圾样本库计算得到。具体地, 其中,T(c)表示第二垃圾样本库中的样本数,T(f,c)表示第二垃圾样本库中具备顺序组合垃圾特征f的样本数。
步骤503,从待处理文本中提取顺序组合特征。
本步骤从待处理文本中提取顺序组合特征的方法与步骤501中从第二垃圾样本训练库中提取待选的顺序组合垃圾特征的方法相同。
步骤504,根据匹配到的所有顺序组合垃圾特征得到该待处理文本的垃圾特征向量F,计算垃圾特征向量F属于垃圾类别的概率值P(F/c)。
本步骤中,垃圾特征向量F的元素包括fi和ti。其中,如果待处理文本中包含多个具有相同起点的fi,则只将该多个具有相同起点的fi中长度最长的fi作为垃圾特征向量F的元素,例如,如果待处理文本中包括f1={w1,w2}和f2={w1,w2,w3},则只将f2={w1,w2,w3}作为垃圾特征向量F的元素,因此,在垃圾特征向量F的元素中,其所包含的各个fi元素的起点不同。而对于ti,无论待处理文本中包含的各个ti是否具有相同的起点,均将其作为垃圾特征向量F的元素。
本步骤中,将各个顺序组合垃圾特征f的垃圾权重值相乘,所得乘积是垃圾特征向量F属于垃圾类别的概率值P(F/c)。
步骤505,根据垃圾特征向量F属于垃圾类别的概率值P(F/c)计算待处理文本属于垃圾文本的第二垃圾权重。
本步骤中,根据第二垃圾样本库和第二非垃圾样本库计算垃圾类别的最大似然概率P(C)和非垃圾类别的最大似然概率
按照
和
计算包含垃圾特征向量F的待处理样本属于垃圾文本的概率P(C/F),将P(C/F)作为待处理文本的第二垃圾权重。
步骤506,根据待处理文本的第二垃圾权重判断待处理文本是否是垃圾文本。
本步骤可以在第二垃圾权重大于第二预定阈值时,判定待处理文本是垃圾文本,还可以将待处理文本的第二垃圾权重作为判定待处理文本是否是垃圾文本的一个因素。
图5所示方法实际上利用的是Bayes概率统计方法,其需要满足条件独立性假设前提。当垃圾特征向量F包含的各个ti具有相同的起点时,各个ti之间不满足独立性假设前提,则采用Bayes概率统计方法中的独立性概率公式计算垃圾特征向量F属于垃圾类别的概率P(F/c)会导致各个ti的相同起点的垃圾程度被多次放大,使得分类后的数据两端分布比较严重,影响准确率。例如,垃圾特征向量F为{f1,f2,t1,t2,t3},其中的t1={w1,w3}、t2={w1,w4}、t3={w1,w5},t1、t2和t3具有相同的起点w1,如果采用 计算垃圾特征向量F属于垃圾类别的概率P(F/c),会导致顺序组合垃圾特征t1、t2和t3共同的起点w1的垃圾程度被多次放大。
对此,本发明提出一种平滑式处理方法,具体为:预设加权因子λ和θ,λ和θ满足λ+θ=1,将待处理样本X的垃圾特征向量F划分为F′和T′两个子向量,其中的子向量F′中的各个元素是由相邻词组成的顺序组合特征,向量T′中的各个元素是由不相邻词组成的顺序组合特征。
分别计算这两个子向量属于垃圾类别的概率P(F′/c)和P(T′/c),进而计算包含子向量F′的待处理文本属于垃圾类别的概率P(C/F′)和包含子向量T′的待处理文本属于垃圾类别的概率P(C/T′),根据P(X/C)=λP(C/F′)+θP(C/T′)计算待处理样本X的第二垃圾权重P(X/C)。
具体地,在计算子向量F′属于垃圾类别的概率P(F/c)时,将子向量F′中各个元素属于垃圾类别的概率相乘,所得乘积是P(F′/c)。
在计算子向量T′属于垃圾类别的概率P(T′/c)时,先计算起始于相同起点wk的所有顺序组合垃圾特征同时在垃圾类别中出现的概率P(Wk/c),然后根据 计算P(T′/c),n是子向量T′中的起点个数。
起始于相同起点wk的所有顺序组合垃圾特征同时在垃圾类别中出现的概率P(Wk/c)的计算公式为:
其中,各个顺序组合垃圾特征
具有相同的起点w
k。
包含子向量F′的待处理文本属于垃圾类别的概率P(C/F′)为:
其中,
包含子向量T′的待处理文本属于垃圾类别的概率P(C/T′)为
其中,
这种平滑式处理方法能够综合考虑应用Bayes概率统计方法时的条件独立性前提和各个具有相同起点的顺序组合垃圾特征对起点词的概率加强过程。
其中加权因子λ和θ的具体取值可以预先通过测试得到。具体地,预先建立加权因子测试集,其由垃圾样本和非垃圾样本组成。随机或者按照预定规则初始化加权因子λ和θ,根据加权因子λ和θ的当前值判断加权因子测试集中的各个样本是否是垃圾样本,根据判断结果得到误判率和漏检率,当误判率和漏检率不在预设范围内时,更新加权因子λ和θ的取值,直至漏检率和误判率在预设范围内,将加权因子λ和θ的当前值作为预先确定的加权因子λ和θ取值。
图5所示利用Bayes概率统计识别垃圾文本的方法,其通过有监督的机器学习方法学习出由相邻词组成的顺序组合垃圾特征和由非相邻词组成的顺序组合垃圾特征,根据由相邻词组成的顺序组合垃圾特征和由非相邻词组成的顺序组合垃圾特征对待处理文本进行分类的分类器可以称之为Bayes分类器,这种Bayes分类器能够将所有的待处理文本分为垃圾文本和非垃圾文本两类文本,并且由于利用了由相邻词组成的顺序组合垃圾特征和由非相邻词组成的顺序组合垃圾特征,因此,能够提高分类的准确性。
在图3、图4和图5所示方法中,其中的组合敏感词、上下文特征库以及顺序组合垃圾特征均可以体现出垃圾文本的上下文语义联系,从而使得根据组合敏感词、上下文特征库以及顺序组合垃圾特征识别垃圾文本的准确性较好。
本发明从角度三出发识别垃圾文本的方法中,从问答互动平台中的垃圾文本的格式角度出发,根据广告、征友、恶意灌水、恶意辱骂等垃圾文本所具有的区别于非垃圾文本的格式信息,提取相应的格式特征作为垃圾格式特征,将该垃圾格式特征写入垃圾特征库中。提取待处理文本的格式信息,将提取的格式信息与垃圾特征库中的垃圾格式特征进行匹配,根据匹配到的所有垃圾特征的垃圾权重计算待处理文本的第三垃圾权重,根据第三垃圾权重判断待处理文本是否是垃圾文本,例如,在第三垃圾权重大于第二预定阈值时,将待处理文本判定为垃圾文本,或者,将第三垃圾权重作为待处理文本是否是垃圾文本的因素之一。
其中,所述的垃圾格式特征可以是文本长度短于预定长度(例如,文本长度为2个字符)、和/或文本中含有联系方式信息、和/或文本中含有生僻字、和/或文本中含有重复字符串信息、和/或文本中含有无意义的回答信息(例如“不知道”)。第三垃圾权重可以是匹配到的各个垃圾格式特征的垃圾权重的乘积。
为了进一步提高识别垃圾文本的准确性,本发明可以综合从多个角度出发得到的垃圾权重,计算出综合垃圾权重,根据综合垃圾权重判断待处理文本是否是垃圾文本,例如,在综合垃圾权重大于第二预定阈值时,判定待处理文本是垃圾文本。
当综合考虑从角度一、角度二和角度三触发得到的第一垃圾权重、第二垃圾权重和第三垃圾权重时,垃圾特征库中包括敏感词表、顺序组合垃圾特征和垃圾格式特征,综合垃圾权重根据第一垃圾权重、第二垃圾权重和第三垃圾权重计算得到。例如,将第一垃圾权重、第二垃圾权重和第三垃圾权重这三者中的最大值作为综合垃圾权重,或者,将这三者的平均值作为综合垃圾权重。
为了减小垃圾特征库占用的存储空间,同时提高识别垃圾文本的速度,在上述识别垃圾文本的方法中,可以在提取待处理文本的特征之前,对待处理文本进行预处理,即,将待处理文本转化为统一的表述方式,例如,将全角字符和半角字符统一为半角字符或全角字符,将大写字符和小写字符统一为小写字符或大写字符,去除待处理文本中的空格,提取出待处理文本中的广告核心串,和将带有跳转字符的网址处理成正常的网址形式。
上文提到的第一预定阈值、第二预定阈值以及建立正向上下文特征库用到的预定值、建立负向上下文特征库用到的预定值、确定顺序组合垃圾特征用到的预定值,均可以由本领域技术人员依据经验而定,或者,通过建立相应的参数测试样本库进行测试得到。所述测试样本库由预定数目的垃圾样本和预定数目的非垃圾样本组成。具体如何根据参数测试样本库测试得到最佳参数取值属于现有技术。
图6是本发明提供的识别垃圾文本的系统结构图,如图6所示,该系统包括垃圾特征库601和垃圾文本识别装置602。
垃圾特征库601,存储有赋予了垃圾权重的垃圾特征。
垃圾文本识别装置602,接收待处理文本,将待处理文本与垃圾特征库601中的垃圾特征进行匹配,根据匹配到的所有垃圾特征的垃圾权重判断待处理文本是否是垃圾文本。
垃圾特征库中存储的垃圾特征包括有敏感词和/或顺序组合垃圾特征和/或垃圾格式特征。
当垃圾特征库中存储的垃圾特征包括敏感词时,垃圾特征库还可以进一步存储有每个敏感词的正向上下文特征库和负向上下文特征库。
其中,每个敏感词的所述正向上下文特征库,通过统计预先建立的第一垃圾样本训练库中包含该敏感词的垃圾样本,提取包含该敏感词的各个垃圾样本中除该敏感词外的其他特征,判断每个所述其他特征在包含该敏感词的所有垃圾样本中的出现概率是否大于预定值,由出现概率大于预定值的所述其他特征组成得到。
每个敏感词的所述负向上下文特征库,通过统计预先建立的第一非垃圾样本训练库中包含该敏感词的非垃圾样本,提取包含该敏感词的各个非垃圾样本中除该敏感词外的其他特征,判断每个所述其他特征在包含该敏感词的所有非垃圾样本中的出现概率是否大于预定值,由出现概率大于预定值的所述其他特征组成得到。
相应地,垃圾文本识别装置602用于,在匹配到敏感词时,将该敏感词的正向上下文特征库和负向上下文特征库与待处理文本进行匹配,根据匹配到的正向上下文特征和负向上下文特征计算该敏感词的当前垃圾权重,根据匹配到的敏感词的当前垃圾权重判断待处理文本是否是垃圾文本。
垃圾文本识别装置还可以进一步用于,在将待处理文本与垃圾特征库601中的垃圾特征进行匹配之前,将待处理文本转化为统一表述方式。
由上述技术方案可见,由于本发明在识别垃圾文本之前,预先建立垃圾特征库,在识别垃圾文本时,首先提取待处理文本的特征,根据匹配到的所有垃圾特征的垃圾权重判断待处理文本是否是垃圾文本,与现有技术中只要匹配到垃圾特征,就将其判定为垃圾文本相比,由于本发明考虑了匹配到的所有垃圾特征,并根据所有垃圾特征的垃圾权重判断待处理文本是否是垃圾文本,因此,能够提高识别垃圾文本的准确性。
本发明针对问答互动平台的垃圾文本的多样性,从多个角度提出识别各种垃圾文本的方案。从本发明的任意角度出发,都能够提高识别垃圾文本的准确性。
当本发明从角度一和/或角度二出发识别垃圾文本时,由于角度一中的组合敏感词和上下文特征库以及角度二中的顺序组合垃圾特征均可以体现出垃圾文本的上下文语义联系,即体现出待处理文本中同时出现某些特征时是垃圾文本的概率,因而使得识别垃圾文本的准确性进一步提高。
当本发明综合从多个角度出发得到的垃圾权重,计算出综合垃圾权重,根据综合垃圾权重判断待处理文本是否是垃圾文本时,提高识别垃圾文本的准确性可以得到进一步提高。
当本发明在提取待处理文本的特征之前,对待处理文本进行预处理,即,将待处理文本转化为统一的表述方式时,还可以为了减小垃圾特征库占用的存储空间,同时提高识别垃圾文本的速度。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。