垃圾短信过滤方法

文档序号:7761850阅读:1085来源:国知局
专利名称:垃圾短信过滤方法
技术领域
本发明涉及文本信息处理技术领域,特别涉及一种垃圾短信的过滤方法。
背景技术
短信是人们经常使用的信息交流方式之一,与此同时,垃圾短信也开始逐步泛滥。 统计显示,在数量庞大的短信中,约30%属于垃圾短信。对普通用户而言,垃圾短信严重干 扰日常生活;对运营商而言,垃圾短信占据大量流量空间,降低信息传送效率。垃圾短信的主要内容包括广告信息、色情信息、假中奖信息、欺诈信息和恶作剧 等,其中尤以色情信息和假中奖信息最为常见。现有技术中,最常见的过滤方法包括1、基于敏感词的垃圾短信过滤通过在服务器端布置敏感词表并通过模式匹配的方法来过滤垃圾短信。基于敏 感词和串匹配的方法是最通用的垃圾短信过滤方法,该方法往往作为其它方法的预处理步 骤。基于敏感词和串匹配的过滤方法的最大优点在于执行效率比较高,对输入消息扫描一 遍即可。在线系统中常常使用。该方法的最大缺陷在于(1) “误杀率”较高,无论是进行分词或者不进行分词,基于匹配的垃圾短信过滤都 会造成不小的“误杀”。(2)不能灵活应对垃圾短信的变化。垃圾短信的发送者往往会不断变化可能的敏 感词形式,以期绕过敏感词过滤机制。例如朱容基、朱溶剂、朱榕基、朱镕基等。通过敏感词列举的方式无法穷尽所有的敏感词形式,这种方法永远滞后于垃圾短 信的传播。2、基于分类模型的垃圾短信过滤基于分类模型的垃圾短信过滤方法主要是基于内容比较。通过把短信分割为独立 的部分,并计算这些部分与分类之间的关系来判断是否为垃圾短息。常见的分类一般包括 两类正常短信和垃圾短信。一般,短信分割为字、词或者短语。常见的分类模型包括朴素贝叶斯模型、向量空间模型、最大熵模型、支持向量机模 型等等。一般的分类模型都可以用来判断是否为垃圾短息。通过引入分类模型,可以很大程度上避开敏感词过滤的缺陷,可以从整体内容上 判断消息是否为垃圾短信。尽管基于分类模型可以从内容上计算消息的可靠程度,但该方法存在自身的缺 陷(1)需要构建一定规模的训练语料库。主流的分类模型往往需要构建一定规模的训练语料来得到分类用的参数,一般情 况下,训练语料库规模越大,分类准确率越高。为了构建一定规模的训练语料库,需要花费 极大的代价,而且,训练语料库必须不断更新,否则难以跟上垃圾短信息变化的步伐。(2)垃圾短信过滤效率较低,不适合实时性较高的场合。
基于分类模型的过滤效率较低的原因在于计算复杂度较高。在上述诸种分类模型 中,除了贝叶斯模型外,其它模型的参数规模均比较大,而且计算复杂度比较高。在对效率 要求很高的垃圾短信过滤上面,基于分类模型的方法并不适合。3、基于行为模式的垃圾短信过滤与基于内容的垃圾过滤思路不同,基于社会网络的垃圾短信过滤方法侧重利用短 信发送模式和接收模式来进行短信过滤。垃圾短信的发送往往在陌生人之间进行,即发送方和接收方过去没有在语音上建 立过联系,相互之间几乎没有通信记录。普通用户在接收到垃圾短信后,往往不会回复消息,即垃圾短信的接收往往不会 有回复。通过垃圾短信的发送和接收方式的特点可以发现绝大多数垃圾短信。该方法的缺 陷表现在(1)社会网络规模太大,建模比较困难,且存储和计算复杂度均较大。(2)并非陌生人短信都是垃圾短信,也并非所有不回复的短信息都是垃圾短信。4、基于客户端描述的垃圾短信过滤与服务器端的短信过滤不同,可以预先在客户端部署过滤模块。在客户端部署的 垃圾短息过滤模块往往利用用户的通讯簿和其它特征来过滤垃圾消息。这种方法不仅加重 了客户端的计算压力,而且极容易过滤陌生人的消息。综上所述,现有技术中的垃圾短信过滤方法,要么只基于垃圾短信的内容进行过 滤,要么只基于垃圾短信的传播方式进行过滤,不能有效地识别并过滤垃圾短信。

发明内容
(一)要解决的技术问题本发明要解决的技术问题是如何提供一种垃圾短信过滤方法,在对垃圾短信进 行过滤时既考虑垃圾短信的内容又考虑垃圾短信的传播方式,从而能够实时高效地识别并 过滤垃圾短信。(二)技术方案为解决上述技术问题,本发明提供了一种垃圾短信过滤方法,该方法包括步骤10、删除短信中与短信内容无关的字词;步骤20、计算删除与短信内容无关的字词后的短信的文件指纹;步骤30、如果删除与短信内容无关的字词后的短信的文件指纹的个数超过了第一 预设阈值,则判定该短信为垃圾短信。优选地,所述步骤10和步骤20之间,该方法进一步包括步骤11、对短信进行汉语分词;步骤12、删除分词后的短信中与短信内容无关的字词。优选地,所述步骤11具体包括步骤101、对短信进行最大匹配粗切分,如果遇到歧义,则进行步骤102 ;步骤102、对短信进行歧义和未登录词识别。优选地,所述步骤12具体包括删除分词后的短信中权重低于第二预设阈值的字
4词。优选地,所述字词的权重为字词的逆文档频次IDF ;所述IDF的计算公式为
NIDF(W)=——
dfiyv)其中,w为短信中的字词;N为预先设定的短信库的短信总数;df (W)为预先设定的 短信库中包含w的短信数目。优选地,所述步骤12具体包括根据词性删除分词后的短信中与短信内容无关的字词。优选地,所述步骤30具体包括在内存中维护一个固定大小的缓存空间作为比对 窗口,所有短信均出现在该比对窗口内;划分一个固定大小的缓存空间作为短信缓冲区,保 存同一时间段内出现在比对窗口的所有短信的文件指纹;将同一时间段内的任意短信的文 件指纹与缓冲区保存的文件指纹进行比对,如果该短信的文件指纹的个数超过第一预设阈 值时,则判定该短信为垃圾消息。优选地,所述步骤10中短信中与短信内容无关的字词包括控制字符、表形符号 和不可见字符中的一个或多个。优选地,所述步骤20中计算文件指纹的方法为MD5算法。(三)有益效果本发明提出了一种垃圾短信过滤方法。该方法基于文件指纹的过滤方法既考虑到 了垃圾短信内容上的相似性,也考虑到了垃圾短信的传播方式,基于这两个主要特征来识 别垃圾短信。在垃圾短信过滤过程中,通过维护一个固定大小的缓存空间作为比对窗口,所 有短信内容均出现在该比对窗口内。通过给每条短消息计算一个唯一的文件指纹,可以快 速地找到是否存在垃圾短信。本发明所示垃圾短信过滤方法的优点在于(1)垃圾短信识别和过滤的速度快,可以用在对实时性有较高要求的场合。(2)不会受到垃圾短信中非本质内容变化的影响,可以有效应对垃圾消息不断变 化的情况。


图1是本发明实施例的垃圾短信过滤方法的流程图;图2是本发明所述方法中对短信进行汉语分词的方法流程图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施 例用于说明本发明,但不用来限制本发明的范围。本发明的核心思想是对输入或存储的短信进行汉语分词,并删除与一般短信内 容表达无关的字词,对保留的短信计算其文件指纹。如果该短信的文件指纹在缓存中出现 的次数超过预设阈值,则可以判断该短信为垃圾短信,否则为正常短信。图1是本发明实施例的基垃圾短信过滤方法的流程图;如图1所述,所述方法包 括步骤A、删除短信中与短信内容无关的字词;
5
在本步骤中,直接删除与输入或存储的短信内容无关的字词。所述与输入或存储 的短信内容无关的字词包括控制字符(如回车符、换行符、制表符、全角半角空格等)、表 形符号(如·、◎、 、 、-_-、()( η _ η )ο等等)、不可见字符(字符编码中很多位置的字 符不可见,或者没有编码)。无论是控制字符,还是表形符号或者不可见字符,一般情况下均 与短信内容没有太大联系,完全可以不必考虑这些字符的意义。步骤B、对短信进行汉语分词。汉语分词是指把短信中的词语切分出来。汉语分词的重要指标是分词的准确率和 速度。在短信过滤的环境中,切分速度非常重要,本步骤中采用的汉语分词工具是基于最大 匹配和字本位最大熵模型,分词准确率达到95. 4%,切分速度达到每秒2MB,完全满足实时 性的要求。图2是本发明所述方法中对短信进行汉语分词的方法流程图;参见图2,该过程 包括以下两个步骤步骤101、对短信进行最大匹配粗切分,如果遇到歧义,则进行步骤102 ;在本步骤中,仅使用正向最大匹配策略分词。为了缓解最大匹配过程中的错误切 分,在分词中辅以海量分词资源,例如歧义库、人名词典、地名词典和组织机构名词典。利用 海量分词资源辅助最大匹配的分词策略,既可以提高分词准确率,又不会降低分词速度。步骤102、对短信进行歧义和未登录词识别。在本步骤中使用了字本位的最大熵的歧义和未登录词识别策略,即采取回退一字 的策略,然后利用字本位的最大熵模型判断歧义的切分方式。这在一定程度上可以弥补歧 义库的不足。同时在切分过程中遇到姓氏的话,则根据姓氏及其上下文来判断是否姓名或 其它未登录词。步骤C、删除分词后的短信中与短信内容无关的字词。在本步骤中,所述删除分词后的短信中与短信内容无关的字词具体包括删除分 词后的短信中权重低于预设阈值的字词。所述字词的权重可以根据IDF(inverse document frequency,逆文档频次)公式 计算得到。IDF是信息检索和数据挖掘中常用的词语权重计算方法,其计算字词权重的根 据为包含字词的短信越多,则其区分能力越有限,即字词的权重越低。本步骤中用字词的 IDF值表示字词的权重,IDF的计算公式为
NIDF(W) = --(1)
df(w)其中w为短信中的字词;N 指预先设定的短信库的短信总数;df (W)指预先设定 的短信库中包含w的短信数目。IDF对于领域内独有的字词赋予较高的权重,适合用来进行文本相关性计算,而对 于那些在所有或大部分文本中都出现的字词,则赋予较低的权重,这些词对相关性计算的 重要性较低。利用IDF公式,提取了大约300个常用词,这些词在所有文本中的权重最低,例如 的了在我是一和不有你人为要就上中好对也这到都多年天说与等大地来会着将自己以还 去新我们想从很能用两得把又经济而下后们已并没有但本报最进行于被啊次真时给向让 种可以起由之电更使重要心等等。在本步骤中,所述删除分词后的短信中与短信内容无关的字词具体还可以包括
6根据词性删除分词后的短信中与短信内容无关的字词。不同词性的字词能够表达不同的内容,具有不同的权重。名词和动词往往是文本 表达的重点,副词和形容词往往仅表示名词和动词的属性和状态。这些属性和状态并不影 响文本基本内容的表达。例如1、红色的苹果在桌子上。绿色的苹果在桌子上。2、我非常爱你。我很爱你。3、我爱你。我恨你。在第1个例子里,前后句子的内容基本一样,因为前后句子的名词“苹果”相同。在 第2个句子里,前后句子也基本一样,因为前后句子的动词“爱”相同。在第3个例子里,前 后句子的基本内容很不一样,因为前后句子的动词“爱”和“恨”不相同。从自动句法分析来看,能够成为句子中心成分的词往往能够影响基本内容的表 达,反之,不能成为句子中心成分的词并不会影响基本内容。从这个判断出发,本方法对词 性的权重进行了分组
下列词性的词会影响基本内容 名形词 简称略语 用语 人名 处所词 动词
名词
其他专名 动语素
名语素 机构团体 时间词 名动词
地名 时语素 副动词
下列词性的词不会影响基本内容(主要是虚词) 数词 标点 语气词 叹词 形容词 副词 介词 量词 助词 成语 习用语 连词 区别词 方位词 代词 状态词 步骤D、计算删除与短信内容无关的字词后的短信的文件指纹。 由于短信的长度不一,这对给短信存储和查找带来不便。为了更方便的存储和查 找短信,本方法将每条短信赋予一个唯一的编码,即文件指纹标识,文件指纹标识的长度大 大小于文本长度,且长度固定,易于存储和计算。本步骤中采用MD5算法(Message Digest Alg0rithm5,消息摘要算法第五版)来给删除与短信内容无关的字词后的每条短信计算唯 一的文件指纹标识。步骤E、如果删除与短信内容无关的字词后的短信的文件指纹的个数超过了预设 阈值,则判定该短信为垃圾短信。在垃圾短信过滤过程中,通过给每条短消息计算一个唯一的文件指纹,可以快速 地找到是否存在相同或相似的短消息。一般情况下,垃圾短信往往在同一段时间内群发,且 在内容上相同或者相似。只要在一段时间内发现多条相同的指纹即可以判断这些消息是垃 圾消息。由于短信的规模非常大,因此存储所有短信来进行短信比对的方案并不可行。鉴 于垃圾短信发送的这种特点,本步骤在内存中维护一个固定大小的缓存空间作为比对窗 口,所有短信内容均会出现在该比对窗口内;划分一个固定大小的缓存空间作为短信缓冲 区,保存同一时间段内出现在比对窗口的所有短信的文件指纹,所有输入或存储的短信在计算了文件指纹之后,都将文件指纹与缓冲区的已有文件指纹进行比对,如果发现了个数 超过预设阈值时,则该消息被判定为垃圾消息。在文件指纹缓冲区中,文件指纹比对的速度对系统的影响很大。有鉴于此,本步骤 采用树形结构来表示短信的文件指纹缓冲区。给定一个新的文件指纹,最多只要对该文件 指纹扫描一遍即可确定是否在缓冲区中出现过。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通 技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有 等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
一种垃圾短信过滤方法,其特征在于,该方法包括步骤10、删除短信中与短信内容无关的字词;步骤20、计算删除与短信内容无关的字词后的短信的文件指纹;步骤30、如果删除与短信内容无关的字词后的短信的文件指纹的个数超过了第一预设阈值,则判定该短信为垃圾短信。
2.如权利要求1所述的方法,其特征在于,所述步骤10和步骤20之间,该方法进一步 包括步骤11、对短信进行汉语分词;步骤12、删除分词后的短信中与短信内容无关的字词。
3.如权利要求2所述的方法,其特征在于,所述步骤11具体包括步骤101、对短信进行最大匹配粗切分,如果遇到歧义,则进行步骤102 ;步骤102、对短信进行歧义和未登录词识别。
4.如权利要求2所述的方法,其特征在于,所述步骤12具体包括删除分词后的短信 中权重低于第二预设阈值的字词。
5.如权利要求4所述的方法,其特征在于,所述字词的权重为字词的逆文档频次IDF; 所述IDF的计算公式为
6.如权利要求2所述的方法,其特征在于,所述步骤12具体包括根据词性删除分词 后的短信中与短信内容无关的字词。
7.如权利要求1所述的方法,其特征在于,所述步骤30具体包括在内存中维护一个 固定大小的缓存空间作为比对窗口,所有短信均出现在该比对窗口内;划分一个固定大小 的缓存空间作为短信缓冲区,保存同一时间段内出现在比对窗口的所有短信的文件指纹; 将同一时间段内的任意短信的文件指纹与缓冲区保存的文件指纹进行比对,如果该短信的 文件指纹的个数超过第一预设阈值时,则判定该短信为垃圾消息。
8.如权利要求1-7中任一项所述的方法,其特征在于,所述步骤10中短信中与短信内 容无关的字词包括控制字符、表形符号和不可见字符中的一个或多个。
9.如权利要求1-7中任一项所述的方法,其特征在于,所述步骤20中计算文件指纹的 方法为MD5算法。
全文摘要
本发明公开了一种垃圾短信过滤方法,该方法包括步骤10、删除短信中与短信内容无关的字词;步骤20、计算删除与短信内容无关的字词后的短信的文件指纹;步骤30、如果删除与短信内容无关的字词后的短信的文件指纹的个数超过了第一预设阈值,则判定该短信为垃圾短信。该方法基于文件指纹的过滤方法既考虑到了垃圾短信内容上的相似性,也考虑到了垃圾短信的传播方式,本发明所示垃圾短信过滤方法的优点在于(1)垃圾短信识别和过滤的速度快,可以用在对实时性有较高要求的场合。(2)不会受到垃圾短信中非本质内容变化的影响,可以有效应对垃圾消息不断变化的情况。
文档编号H04W4/14GK101977360SQ20101050400
公开日2011年2月16日 申请日期2010年9月30日 优先权日2010年9月30日
发明者牟小峰, 陈鹏 申请人:北京新媒传信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1