基于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算法时空复杂度低
距离实用还有一些差距,提高实用性
需要提供多语言支持