垃圾邮件过滤中的中文分词技术的研究与实现

(整期优先)网络出版时间:2009-08-18
/ 2

垃圾邮件过滤中的中文分词技术的研究与实现

刘妍

(黑龙江司法警官职业学院,黑龙江哈尔滨150000)

摘要:首先研究了垃圾邮件过滤技术中的中文分词技术,分析并比较了现有的分词方法的各自特点;通过分析,最终采用了正向最大匹配法设计并实现了对邮件内容的分词。

关键词:垃圾邮件过滤;文本分类;中文分词

引言

随着互联网的快速发展,电子邮件已经成为互联网不可缺少的重要组成部分。但是垃圾邮件的出现和不断泛滥,严重干扰了人们正常的网络活动,给广大用户带来了大量的麻烦。

旨在研究垃圾邮件过滤技术中的中文分词技术,并通过实验实现了对邮件内容的分词。

1中文分词技术的研究

由于电子邮件是一个半结构化的文本,所以可以将电子邮件经过预处理提取出邮件正文的文本内容,利用中文分词技术对文本内容进行分词,通过分析,以识别出垃圾邮件。现有的中文分词方法可分为三大类:基于词典的字符串匹配的分词方法、基于理解的分词方法和基于统计的分词方法。

1.1基于词典的字符串匹配分词方法

这种方法又叫做机械分词方法,它是按照一定的策略将待分析的汉字串与一个充分大的机器词典中的词条进行匹配,若在词典中找到某个字符串,则匹配成功。按照扫描方向的不同,字符串匹配分词方法可以分为正向匹配和逆向匹配;按照不同长度优先匹配的情况,可以分为最大匹配和最小匹配。常用的两种分词方法如下:

(1)正向最大匹配法。正向最大匹配法目的是将最长的复合词分离出来。它的基本思想是:假定分词词典中的最长词条所含汉字个数为n,则用被处理文档的当前字串中的前n个字作为匹配字段,查找字典。若字典中存在这样的一个字词,则匹配成功,匹配字段被作为一个词切分出来。如果词典中找不到这样的一个字词,则匹配失败,将匹配字段中的最后一个字去掉,对剩下的字串重新进行匹配处理……如此进行下去,直到匹配成功,切分出一个词或剩余字串的长度为零为止。这样就完成了一轮匹配,然后取下一个n字字串进行匹配处理,直到文档被扫描完为止。

(2)逆向最大匹配法。逆向最大匹配法的基本原理和正向最大匹配法相同,不同的是分词切分的方向与正向最大匹配法相反,并且使用的分词词典也不同。在实际处理时,先将文档进行倒排处理,生成逆序文档。然后,根据逆序词典,对逆序文档用正向最大匹配法处理即可。

1.2基于理解的分词方法

这种分词方法是通过让计算机模拟人对句子的理解,达到识别词的效果。其基本思想就是在分词的同时进行句法、语义分析,利用句法信息和语义信息来处理歧义现象。它通常包括三个部分:分词子系统、句法语义子系统、总控部分。在总控部分的协调下,分词子系统可以获得有关词、句子等的句法和语义信息来对分词歧义进行判断,即它模拟了人对句子的理解过程。

1.3基于统计的分词方法

从形式上看,词是稳定的字的组合,因此在上下文中,相邻的字同时出现的次数能够较好的反映出构成词的可能性。对字与字同时出现的频率或概率进行统计,次数越高的就越有可能构成一个词。因此利用词频统计的结果帮助分词,会产生一定的效果。这种方法只需对语料中的字组频度进行统计,不需要切分词典,因而又叫做无词典分词法或统计取词方法。

1.4几种中文分词方法的比较

(1)基于词典的字符串匹配分词方法。这种分词方法算法简单,在分词前要先建立分词词典。正向最大匹配法使用的分词词典是常规词典,而逆向最大匹配法使用的分词词典是逆序词典,处理时要先将文档进行倒排处理,生成逆序文档再处理。

(2)基于理解的分词方法。这种分词方法需要使用大量的语言知识和信息,利用句法信息和语义信息进行分词。由于汉语语言知识的笼统、复杂性,难以将各种语言信息组织成机器可直接读取的形式,因此目前基于理解的分词系统还处在试验阶段。

(3)基于统计的分词方法。基于统计的分词方法会经常抽出一些相邻出现频度高、但并不是词的常用字组,例如“许多的”、“有的”、“我的”、“之一”等,并且对常用词的识别精度差,时空开销大。另外一个明显缺点是对出现频度较低的词,永远被错误切分。

基于以上分析比较,正向最大匹配方法具有算法简单、便于实现等特点,所以这里倾向于采用正向最大匹配法对邮件内容进行分词,并对该方法进行改进来实现这一功能。

2中文分词技术的设计与实现

中文分词在垃圾邮件过滤中担当着数据预处理的角色。分词的结果可以与垃圾邮件特征词相匹配,直接判断其是否为垃圾邮件,因此中文分词的准确性直接影响电子邮件分类的准确度。这一部分的主要功能是选取中文邮件训练样本集(包括垃圾邮件和正常邮件),对垃圾邮件和正常邮件的文本内容进行分词,存入数据库。

2.1中文分词的设计

2.1.1存在问题

采用正向最大匹配方法对邮件分词时有如下问题:

(1)分词词典是中文自动分词系统的一个基本组成部分,中文分词需要以分词词典为依据,对中文句子进行适当的切分。词典的好坏直接影响分词的效果。

从人民日报语料库获取的词典含108782个词条及频次信息。通过对该词典中的不同词长的词语数进行了统计,统计结果发现,词典中1个字节和2个字节的词语数所占比例非常小,而且都与垃圾邮件的分类无关。另外发现该词典对一些最近出现新词收集得不够全面。

(2)由于分词对象是邮件文本,往往带有一些格式信息,同时中文邮件里也经常含有英文和数字;另外,一些狡猾的垃圾邮件文本中还经常夹杂着一些标志符号,例如“免&费注*册”,在垃圾邮件特征词之间加入其他符号,如果简单地采用正向最大匹配方法,分词效果不太理想。

(3)正向最大匹配法实现简单,但是需要频繁进行数据库查找。若能在匹配过程中减少数据库操作,将会大大提高分词速度。

因为存在如上几个问题,在进行分词过程中,对分词词典、邮件文本、词典数据库操作及分词后结果做了相应的处理。

2.1.2处理方法

(1)对词典的组织加工。使用的词典来自两部分,一个是人民日报语料库获取的词典,另一个是中科院基于互联网网页的词语自动抽取统计得到的高频词词典。

由于从邮件中的提取的特征词至少为二字词,所以将分词词典中1个字节和2个字节的记录删除。又从中科院的高频词词典中选择了最大长度不超过四字词的一些新词和搭配词。

(2)对邮件文本的处理。除邮件文本中的中文、西文空格。除邮件文本中的英文字符、数字和特殊的标志符号,如“~”、“※”、“-”、“#”等。保留句子的切分标志如“,”、“。”、“!”、“?”、“;”等。

(3)对词典数据库操作的改进。为了减少分词对词典数据库的频繁操作,较大的提高分词效率。在实现正向最大匹配法时,对词典建立了索引,使用二分查找算法与词条匹配,并将匹配操作放在记录集中进行,可以避免正向最大匹配方法频繁查找词典的缺陷。可以减少查找数据库的时间,特别是在词典庞大的情况下,能使分词速度有较明显的提高。

(4)去除停用词。实际应用中,文本中的很多词与内容无关,这里采用了“停用词表”的方法,将300多个与分类关系不大的停用词存入停用词表,将前面的分词结果和停用词表进行对照,去除其中的停用词,以便于进行后面的2.2中文分词的实现

中文分词的基本流程如图1所示。一个邮件首先通过文本处理删除了对分词有影响的中英文空格和各种符号,然后采用正向最大匹配方法结合二分查找算法进行分词,再查找停用词表去除停用词,获得分词词库。

结束语

对于中文邮件来说,邮件内容涉及到的中文分词技术在垃圾邮件过滤技术中起着非常重要的作用,采用较有效的分词技术是保证垃圾邮件过滤的前提条件。通过对实验结果的分析,正向最大匹配法对邮件内容进行分词是行之有效的方法之一。

参考文献

[1]潘文峰.基于内容的垃圾邮件过滤研究[M].北京:中国科学院计算技术研究所,2004,7.

[2]孙宾.现代汉语文本的词语切分技术[M].北京:北京大学计算语言学研究所,2004.

[3]林珊,宁国宁,赵之霖.中文分词在垃圾邮件过滤系统中的作用[J].华南理工大学学报(自然科学报),2004,11:112-116.

[4]赵伟,戴新宇,尹存燕.一种规则与统计相结合的汉语分词方法[J].计算机应用研究,2004,3:23-25.

[5]林鸿飞,杨志豪.基于内容和合作模式的信息推荐机制[J].中文信息学报,2005,1:48-55.