初衷
- P(c), 文章中出现一个正确拼写词 c 的概率, 也就是说, 在英语文章中, c 出现的概率有多大
- P(w|c), 在用户想键入 c 的情况下敲成 w 的概率. 因为这个是代表用户会以多大的概率把 c 敲错成 w
- argmaxc, 用来枚举所有可能的 c 并且选取概率最大的
step1:导入相关库
import re,collections
step2:将语料库中的数据全部转换为小写且去除其他字符
def words(text):
return re.findall('[a-zA-Z]+',text.lower())
#re.findall() 返回text中所有的大小写字母相匹配的全部字串
#'[a-zA-Z]+' 不分大小写字母的英文单词(无限字母)并且最少是一个字母
step3:统计词在语料库中出现的频率
def train(features):
model=collections.defaultdict(lambda: