一种基于变体词识别技术的垃圾短信分类引擎转让专利

申请号 : CN201910157774.8

文献号 : CN109873755B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 毛华阳江舟聂传阳古元华仲锋于龙林飞王娜熊翱

申请人 : 北京亚鸿世纪科技发展有限公司北京邮电大学

摘要 :

一种基于变体词识别技术的垃圾短信分类引擎涉及信息安全技术领域。本发明由文本预处理模块,分词模块,特征选择模块,垃圾短信分类器模块组成;本发明利用字符结合度的“交叉结合度”分词模块提高了短信文本分词后的文本特征的质量,结合变体词识别技术的短信分类引擎模块可以很好地解决含有生僻字、同音字、象形字、火星文等变体词的垃圾短信分类问题,分类效果较一般分类引擎而言,准确率更高。

权利要求 :

1.一种基于变体词识别技术的垃圾短信分类引擎,其特征在于由文本预处理模块,分词模块,特征选择模块,垃圾短信分类器模块组成;实现本发明的具体步骤包括:

1)文本预处理;

由文本预处理模块去除初始短信文本中的停用词、乱码、短链接,生成文本预处理后的短信文本并将文本预处理后的短信文本发送给分词模块;去除停用词所用的停用词表由哈工大停用词库加四川大学机器学习智能实验室停用词库加百度停用词表经过整合去重后得到;

2)交叉结合度分词,输出词组;

分词模块接收文本预处理后的短信文本,并将文本预处理后的短信文本加入到语料库中;语料库由不断加入的文本预处理后的短信文本加上在先收集的短信文本集合组成;

使用下列公式:

其中,wi-1wiwi+1wi+2表示短信文本中连续的4个字符;

表示语料库中,含有字符wi的总短信条数;

Nall表示语料库中,所有短信数据的总条数;

表示语料库中,含有字符串wiwi+1的总短信条数;

p(wi)表示字符wi在语料库中的经验概率,为含有字符wi的总短信条数占短信数据条数总和的比例;

p(wiwi+1)表示字符串wiwi+1在语料库中的经验概率,为含有字符串wiwi+1的总短信条数占短信数据条数总和的比例;

Ii(wi;wi+1)表示两个连续字符wi和wi+1之间的字符结合度;

表示间隔wi的wi-1和wi+1之间的字符结合度;

表示间隔wi+1的wi和wi+2之间的字符结合度;

表示间隔wi和wi+1的wi-1和wi+2之间的字符结合度;

分词模块对文本预处理后的短信文本中的连续字符依次计算相邻字符结合度Ii(wi;

wi+1);

分词模块对文本预处理后的短信文本中的连续字符依次计算设定交叉字符结合度

分词模块引入Sigmoid函数进行正规化,使Ii(wi;wi+1)和Ri域转化为(0,1),即计算综合结合度 综合结合度根据 与 的大小动态调整它们的占比,始终受 与 中的较大值影响较大;

当综合结合度 的值大于阈值时,分词模块将生成 的字符组成词组,输出分词结果;

3)特征选择模块采用TF-IDF方法生成最终的分类特征;

4)垃圾短信分类器模块采用向量机模型根据最终的分类特征对文本预处理后的短信文本进行分类,输出短信类别;向量机模型称作SVM;

向量机模型的原理如下:

训练样本集 其中xi为样本点,yi∈{1,-1}为类别标签,i=1,...,l,l为训练样本个数;若训练样本是线性可分的,SVM找到w,b,使对任意i=1,...,l,有wTxi+b>0,若yi=1wTxi+b<0,若yi=-1

此时称wTx+b=0为分类超平面,求解w,b可通过如下优化模型得出:s.t.在数学公式表示时,表示为受限于;

上式是一个凸二次优化问题,可求得最优解(w*,b*),可得分类超平面为(w*)Tx+b*=0,最终得分类决策函数为:f(x)=sgn((w*)Tx+b*);

向量机模型分类的伪代码是:

for each message msgiin data dolabel(msgi)←SVM_Classifier(msgi)end for

msgi代表经过文本处理和特征选择后的文本特征向量;

SVM_Classifier(msgi)代表对特征文本msgi使用SVM分类器得到的结果;

label(msgi)代表特征文本msgi对应的短信被分为的类别。

说明书 :

一种基于变体词识别技术的垃圾短信分类引擎

技术领域

[0001] 本发明涉及信息技术领域,尤其是信息安全技术领域。

背景技术

[0002] 随着手机等便携式移动终端的普及,短信由于其发送畅通、操作简便而被广泛应用,逐渐成为用户基础最为广泛的移动增值业务之一。然而,短信在方便人们的同时,伴随而来的是日趋泛滥的广告短信、诈骗短信等垃圾短信,这影响了用户的正常工作和生活,甚至给用户带来了经济损失。这些短信严重地损害了用户的切身利益,如何应对这些垃圾短信逐渐成为了困扰运营商和手机用户的严重问题。故为了解决上述问题,对用户收到的短信进行分类以便对垃圾短信进行过滤的方法也应运而生。
[0003] 目前,主要有以下两种短信分类的技术手段,一种是基于人工提炼的关键词来进行匹配以分类,另一种是基于机器学习等算法来对短信文本内容进行识别和分类:
[0004] 基于人工提炼的关键词来进行匹配以分类大致包括:首先由人工提炼生成一个敏感关键词列表,并对每个关键词配以不同的权重,然后让短信文本和关键词进行匹配,若匹配关键词的最终权重总和超过一定的阈值则认为当前短信为垃圾短信。这种方法虽然简单、处理效率较高,但是分类效果却不太理想,主要是因为这种方式不能识别短信文本内容,垃圾短信可以通过添加一些特殊字符来躲避关键词的匹配,如“赌*博”,因此对垃圾短信的拦截率较低;此外,该方法存在对正常短信误拦截,如正常用户的短信可能也存在一些敏感关键词,如“你不要赌博”,就有可能被判为垃圾短信而被拦截。
[0005] 基于机器学习等算法来对短信文本内容进行识别和分类已有较多的研究,方法也有很多种,如K-均值、层次聚类等聚类算法和朴素贝叶斯、SVM等分类算法。它们利用分词工具来对训练样本集分词而得到一系列的特征词,然后利用这些特征词来学习最终得到分类器以识别垃圾短信。这些算法准确率比较高,可以较好地完成短信分类的任务,但是违规短信的发送者为了防止所发短信被识别拦截,常使用各种生僻字、同音字、象形字、火星文、拆分字、特殊符号等表达违规违法信息,而一般短信文本内容本来就较短,还添加了这些干扰信息会使传统分词手段几乎失去了作用,割裂了原有的语义,导致得到的特征词毫无意义,由此训练得到的分类器也无法很好地识别垃圾短信。因此为了提高分词的准确性,较好地还原文本原语义,针对垃圾短信分类的分词技术手段是值得研究的。
[0006] 短信的分类技术主要是依据对构成短信的文字本身进行判断,目前主要采用基于关键词或基于机器学习等算法的垃圾短信分类方法。
[0007] 基于关键词的垃圾短信分类是设置一些敏感关键词,并对关键词配以不同的权重,然后让短信文本和关键词进行匹配,若匹配关键词的最终权重总和超过一定的阈值则认为当前短信为垃圾短信,这种方法存在漏判或误判等缺陷,准确率不高。
[0008] 基于机器学习等算法的垃圾短信分类是采用文本分类的方法把短信自动分为正常短信和垃圾短信。基于算法的垃圾短信分类与基于关键词的垃圾短信分类相比,其准确率更高,但违规短信的发送者为了防止所发短信被识别拦截,常使用各种生僻字、同音字、象形字、火星文、拆分字、特殊符号等表达违规违法信息,这导致文本分词后的特征向量偏少且含义变得无意义,影响了文本分类算法的效果。
[0009] 因此一种基于变体词识别技术的垃圾短信分类引擎正被应用于解决上述问题。本发明提出了一种新的变体词识别技术,优化了短信文本的特征处理过程,解决了传统分词方法提取特征质量低下的问题,此外,本发明采用了支持向量机来对文本进行分类,可以很好地保证分类的效率和准确率,克服了传统短信分类的不足。
[0010] 共有技术
[0011] 停用词是指文本中出现频率很高,但实际意义不大的,或者对分类结果造成干扰的词。停用词包括:a)独立呈现无意义且只有放在上下文环境中才有一定意义和作用的词,包括语气助词、副词、介词等,如“的”、“和”等;b)使用频繁,广泛用于各种语境的词,如“我”,“他”等。大量停用词会影响分词效果,降低分词效率。
[0012] 乱码是指短信在传播和采集的过程中产生的部分或所有字符无法被阅读的一系列字符,这些字符会严重影响分类的准确性,需要在预处理的时候去除掉。正常的中文字符的编码集在U+4E00~U+9FCC之间,无法识别的乱码字符在这个之外,所以用正则表达式"/[\x{4e00}-\x{9fc2}]/iu"就可以去除乱码字符。
[0013] 短链接是嵌在短信文本中的网站地址,这类字符对分类引擎而言是噪音干扰,因此在文本预处理阶段也要过滤掉。可以通过正则表达式匹配来去除链接。
[0014] 语料库的定义为按照某种标准收集的特殊文本材料,在本发明中,语料库即指的是所有短信样本的文本内容数据的总和。国家语委现代汉语语料库是一个大规模的平衡语料库,语料选材类别广泛,时间跨度大。
[0015] 随着时代的发展,为了应对一般的垃圾短信过滤系统,垃圾短信的内容越来越变化莫测。垃圾短信的发送者常使用各种生僻字、同音字、象形字、火星文、特殊符号等表达违规违法信息。采用通常的分词手段不能将这些变体词进行符合人们理解的语义而切分,这对后续算法的识别造成了不利的影响,故本发明提出了一种基于字符结合度的“交叉结合度”分词算法,该方案能结合更多的语境来消除因变体词产生的歧义进而增加分词算法的鲁棒性。具体的,在自然语言处理中,互信息(Mutual Information,MI)用来衡量两个字符之间的结合度,MI越高,即两字符在语料库(语料库也即短信样本数据集)中共同出现的概率也就越高,则基于传统的统计分词法也就会大概率将其分为一个词。但通过将“赌博”改为“赌傅”,这一对词在垃圾短信中传达了相同的意思,但可以使传统的分词手段失效,从而丢失了对分类很关键的特征词,而大量垃圾短信的半结构化特征的特点是这些相似变体的上下文信息通常是相同或相近的,也即“赌博”语义的形式是多变的,但其上下文要表达的意思却大体相同。
[0016] TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。字词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。

发明内容

[0017] 为克服现有技术的不足,实现本发明的本发明的一种基于变体词识别技术的垃圾短信分类引擎由文本预处理模块,分词模块,特征选择模块,垃圾短信分类器模块组成;实现本发明的具体步骤包括:
[0018] 1)文本预处理;
[0019] 由文本预处理模块去除初始短信文本中的停用词、乱码、短链接,生成文本预处理后的短信文本并将文本预处理后的短信文本发送给分词模块;去除停用词所用的停用词表由哈工大停用词库加四川大学机器学习智能实验室停用词库加百度停用词表经过整合去重后得到;
[0020] 2)交叉结合度分词,输出词组;
[0021] 分词模块接收文本预处理后的短信文本,并将文本预处理后的短信文本加入到语料库中;语料库由不断加入的文本预处理后的短信文本加上在先收集的短信文本集合组成;
[0022] 使用下列公式:
[0023]
[0024]
[0025]
[0026]
[0027]
[0028]
[0029] 其中,wi-1wiwi+1wi+2表示短信文本中连续的4个字符;
[0030] 表示语料库中,含有字符wi的总短信条数;
[0031] Nall表示语料库中,所有短信数据的总条数;
[0032] 表示语料库中,含有字符串wiwi+1的总短信条数;
[0033] p(wi)表示字符wi在语料库中的经验概率,为含有字符wi的总短信条数占短信数据条数总和的比例;
[0034] p(wiwi+1)表示字符串wiwi+1在语料库中的经验概率,为含有字符串wiwi+1的总短信条数占短信数据条数总和的比例;
[0035] Ii(wi;wi+1)表示两个连续字符wi和wi+1之间的字符结合度;
[0036] 表示间隔wi的wi-1和wi+1之间的字符结合度;
[0037] 表示间隔wi+1的wi和wi+2之间的字符结合度;
[0038] 表示间隔wi和wi+1的wi-1和wi+2之间的字符结合度;
[0039] 分词模块对文本预处理后的短信文本中的连续字符依次计算相邻字符结合度Ii(wi;wi+1);
[0040] 分词模块对文本预处理后的短信文本中的连续字符依次计算Icrossi(wi-1;wi+1),设定交叉字符结合度
[0041] 分词模块引入Sigmoid函数进行正规化,使Ii(wi;wi+1)和Ri域转化为(0,1),即计算综合结合度 综合结合度根据 与 的大小动态调整它们的占比,始终受 与 中的较大值影响较大;
[0042] 当综合结合度 的值大于阈值时,分词模块将生成 的字符组成词组,输出分词结果;
[0043] 3)特征选择模块采用TF-IDF方法生成最终的分类特征;
[0044] 4)垃圾短信分类器模块采用向量机模型根据最终的分类特征对文本预处理后的短信文本进行分类,输出短信类别;向量机模型称作SVM;
[0045] 向量机模型的原理如下:
[0046] 训练样本集 其中xi为样本点,yi∈{1,-1}为类别标签,i=1,...,l,l为训练样本个数。若训练样本是线性可分的,SVM找到w,b,使对任意i=1,...,l,有[0047] wTxi+b>0,若yi=1
[0048] wTxi+b<0,若yi=-1
[0049] 此时称wTx+b=0为分类超平面,求解w,b可通过如下优化模型得出:
[0050]
[0051] s.t.yi(wTxi+b)≥1,i=1,2,...,l
[0052] 上式是一个凸二次优化问题,可求得最优解(w*,b*),可得分类超平面为(w*)Tx+b*=0,最终得分类决策函数为:
[0053] f(x)=sgn((w*)Tx+b*);
[0054] 向量机模型分类的伪代码是:
[0055] for each message msgi in data do
[0056] label(msgi)←SVM_Classifier(msgi)
[0057] end for
[0058] msgi代表经过文本处理和特征选择后的文本特征向量;
[0059] SVM_Classifier(msgi)代表对特征文本msgi使用SVM分类器得到的结果;
[0060] label(msgi)代表特征文本msgi对应的短信被分为的类别。
[0061] 有益效果
[0062] 1)利用字符结合度的“交叉结合度”分词模块提高了短信文本分词后的文本特征的质量;
[0063] 2)结合变体词识别技术的短信分类引擎模块可以很好地解决含有生僻字、同音字、象形字、火星文等变体词的垃圾短信分类问题,分类效果较一般分类引擎而言,准确率更高。

附图说明

[0064] 图1是本发明的系统结构图;
[0065] 图2是本发明的分词模块的分词流程图。
[0066] 具体实现方式
[0067] 参看图1和图2,本发明的一种基于变体词识别技术的垃圾短信分类引擎由文本预处理模块1,分词模块2,特征选择模块3,垃圾短信分类器模块4组成;实现本发明的具体步骤包括:
[0068] 1)文本预处理;
[0069] 由文本预处理模块1去除初始短信文本01中的停用词、乱码、短链接,生成文本预处理后的短信文本03并将文本预处理后的短信文本03发送给分词模块2;去除停用词所用的停用词表由哈工大停用词库加四川大学机器学习智能实验室停用词库加百度停用词表经过整合去重后得到;
[0070] 2)交叉结合度分词,输出词组;
[0071] 步骤S01,分词模块2接收文本预处理后的短信文本03,并将文本预处理后的短信文本03加入到语料库中;语料库由不断加入的文本预处理后的短信文本03加上在先收集的短信文本集合组成;
[0072] 使用下列公式:
[0073]
[0074]
[0075]
[0076]
[0077]
[0078]
[0079] 其中,wi-1wiwi+1wi+2表示短信文本中连续的4个字符;
[0080] 表示语料库中,含有字符wi的总短信条数;
[0081] Nall表示语料库中,所有短信数据的总条数;
[0082] 表示语料库中,含有字符串wiwi+1的总短信条数;
[0083] p(wi)表示字符wi在语料库中的经验概率,为含有字符wi的总短信条数占短信数据条数总和的比例;
[0084] p(wiwi+1)表示字符串wiwi+1在语料库中的经验概率,为含有字符串wiwi+1的总短信条数占短信数据条数总和的比例;
[0085] Ii(wi;wi+1)表示两个连续字符wi和wi+1之间的字符结合度;
[0086] 表示间隔wi的wi-1和wi+1之间的字符结合度;
[0087] 表示间隔wi+1的wi和wi+2之间的字符结合度;
[0088] 表示间隔wi和wi+1的wi-1和wi+2之间的字符结合度;
[0089] 步骤S02,分词模块2对文本预处理后的短信文本03中的连续字符依次计算相邻字符结合度Ii(wi;wi+1);
[0090] 步骤S03,分词模块2对文本预处理后的短信文本03中的连续字符依次计算设定交叉字符结合度
[0091] 步骤S04,分词模块2引入Sigmoid函数进行正规化,使Ii(wi;wi+1)和Ri域转化为(0,1),即 计算综合结合度 综合结合度根据 与
的大小动态调整它们的占比,始终受 与 中的较大值影响较大;
[0092] 步骤S05,当综合结合度 的值大于阈值时,分词模块2将生成 的字符组成词组,输出分词结果04;
[0093] 3)特征选择模块3采用TF-IDF方法生成最终的分类特征;
[0094] 4)垃圾短信分类器模块4采用向量机模型根据最终的分类特征对文本预处理后的短信文本进行分类,输出短信类别02;向量机模型称作SVM;
[0095] 向量机模型的原理如下:
[0096] 训练样本集 其中xi为样本点,yi∈{1,-1}为类别标签,i=1,...,l,l为训练样本个数。若训练样本是线性可分的,SVM找到w,b,使对任意i=1,...,l,有[0097] wTxi+b>0,若yi=1
[0098] wTxi+b<0,若yi=-1
[0099] 此时称wTx+b=0为分类超平面,求解w,b可通过如下优化模型得出:
[0100]
[0101] s.t.yi(wTxi+b)≥1,i=1,2,...,l
[0102] 上式是一个凸二次优化问题,可求得最优解(w*,b*),可得分类超平面为(w*)Tx+b*=0,最终得分类决策函数为:
[0103] f(x)=sgn((w*)Tx+b*);
[0104] 向量机模型分类的伪代码是:
[0105] for each message msgi in data do
[0106] label(msgi)←SVM_Classifier(msgi)
[0107] end for
[0108] msgi代表经过文本处理和特征选择后的文本特征向量;
[0109] SVM_Classifier(msgi)代表对特征文本msgi使用SVM分类器得到的结果;label(msgi)代表特征文本msgi对应的短信被分为的类别。