基于Winnow的中文邮件分类器的设计

1背景:

电子邮件的广泛应用,垃圾邮件泛滥,垃圾邮件具有危害性,适合英文邮件的分类算法并不一定都适合中文的环境

2邮件语料的特征:

半结构化,词汇更生活化,需要个人隐私保护

3Winnow分类器:

线性分类器,错误驱动的反馈机制,训练和分类过程比较简单,易于计算,可以在线学习

4分类过程:

接受邮件后,解码,提取有效信息,分词处理,得到该邮件的特征集合。假设每个类别特征空间的大小相等并且都是n,邮件类别数为k,该邮件就表示为k个n维向量x=(x1,x2,…,xn ) ,  xi∈{0,1},(1≤i≤n),如果对应类别特征空间中的特征在该邮件的特征集合中则xi =1,如果不在则xi =0.

每类有一个训练好的权重向量w=(w1,w2,…wn),被分类邮件先要计算其相应的∑wi∗xi 值。如果∑wi∗xi> θ,则表明该邮件属于该类。反之则表明该邮件不属于该类。(θ为阈值)

Winnow是错误驱动的反馈机制,只有当实际结果与预测结果矛盾时才调整类别的权重向量wi 。
(a)如果∑wi∗xi > θ ,但样本不属于该类,则要降低权重, wi =α* wi 。(0<α<1)

(b)如果∑wi∗xi  <θ ,但样本属于该类,则要增加权重,wi =β* wi 。(β>1)

5Balanced winnow

用w+和w-代替w,允许出现负的权值(w+和w-的值可能为负)

(a)如果∑(wi+-wi-)∗xi > θ ,但样本不属于该类,则要降低权重, wi+=α* wi ,wi-=wi-*β。(0<α<1)(β>1)

(b)如果∑(wi+-wi-)∗xi  <θ ,但样本属于该类,则要增加权重,wi+ =β* wi+,wi-=wi-*α 。(β>1)(0<α<1)

6系统设计流程:

(a)对能凭借某些特定词语或句子判定类别的邮件,合理的运用特征精确匹配规则.建立“特征--类别”精确匹配库,提高分类的速度和精度。例如将标题中含有“特卖”邮件归入广告类。

(b)针对太过短小的邮件,根据历史记录中该发信人的历史记录情况确定类别。
(b)针对有一定长度但还是不够内容分析的邮件,采用“同义词库”的方法来扩充特征.这里的同义词典是一个简单的文本文件,比如“计算机、电脑、手提、台式机”。

(d)针对群发邮件和标题中含有“Re:”的邮件等,进行加权处理,具体做法是在判断条件是否成立时,有选择地乘以一个合适的系数λ,形如λ ∑wi∗xi ;(λ >0),加强权重时取λ >l,削减权重时取0<λ <1。群发邮件一般不属于私人信件范畴,当与私人信件的权重向量组合时有意地削减权重;而标题中含“Re:”的邮件一般属于工作信件或私人邮件,所以当与对应权重向量组合时则加强权重。

 (e) 系统在匹配了上述所有规则,使用Winnow时确保∑wi∗xi> θ后,依然没有确定类别的邮件,都归入召回率高的类。

7流程图:

8总结:

中文邮件语料库存在不足

Winnow算法时空复杂度低

距离实用还有一些差距,提高实用性

需要提供多语言支持

posted on 2015-11-15 02:33  固执的淡水鱼  阅读(560)  评论(0编辑  收藏  举报

导航