原始文本 -> 分词 -> 清洗(去除无用标签,去除听用词,大小写转换等) -> 标准化 -> 特征提取(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(正常|邮件)
所以预判为垃圾邮件