原始文本 -> 分词  ->  清洗(去除无用标签,去除听用词,大小写转换等)  -> 标准化  ->  特征提取(tf-idf , word2vec) -> 建模(相似度算法,分类算法等AI算法)

语言模型:

LM

p(是|今天)=0.01

p(今天)=0.002

p(周日|是)=0.001

p(周日|今天)=0.0001

p(周日)=0.02

p(是|周日)=0.0002

比较: 今天是周日   vs   今天周日是

P(今天是周日)=p(今天)*p(是|今天)*p(周日|是)= 0.002 * 0.01*0.001

p(今天周日是)=p(今天)*p(周日|今天)*p(是|周日)

P(今天是周日) > p(今天周日是)

朴素贝叶斯算法:

垃圾邮件(3封)

点击 获取 更多 信息

购买 最新 产品 优惠

优惠 信息 点击 链接

正常邮件(3封)

明天  一起 开会

开会 信息 详见 邮件

最新 竞品 信息

新邮件:

最新 产品 实惠 点击 链接

是属于正常邮件还是垃圾邮件? 

解决思路如下:

训练模型:

v(词库)={点击 获取 更多 信息 购买 最新 产品 优惠 链接 明天  一起 开会 详见 邮件 竞品}   L(v)=15

p(垃圾)=3/6=1/2  p(正常)=1/2

p(点击|垃圾)=(2+1)/(13+15)=3/28     p(点击|正常)=(0+1)/(10+15)=1/25

p(获得|垃圾)=(2+1)/28=3/28        p(获得|正常)=1/25

p(最新|垃圾)=2/28=1/14                 p(最新|正常)=2/25

p(产品|垃圾)=1/14                           p(产品|正常)=1/25

p(实惠|垃圾)=3/28                           p(实惠|正常)=1/25        

p(链接|垃圾)=1/14                        p(链接|正常) = 1/25

预测

最新 产品 实惠 点击 链接

p(垃圾|邮件) = p(邮件|垃圾) p(垃圾)=1/14*1/14*3/28*3/28*1/14 *1/2

p(正常|邮件)=p(邮件|正常)p(正常)=2/25*1/25*1/25*1/25*1/25*1/2

p(垃圾|邮件) > p(正常|邮件)

所以预判为垃圾邮件

 

 

 

 

 

 

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐