用Python实现概率语言模型(2-元语法模型)

首先构造一个语料库,由6句话组成,每句话3个字。

 corpus = '她很香 她很菜 她很好 他很菜 他很好 菜很好'.split()

构造一个字典,存储一元的字数

Count1={
   }

遍历语料库,把每个字出现的次数存储在字典中。

for sentence in corpus:
	for word in sentence:
		if word in Count1:
			Count1[word]+=1 #如果word在字典中存在
		else:
			Count1[word]=1 #否则就新建一个字典项,键为word,值为1

结果如下:

Count1
{
   '她': 3, '很': 6, '香': 1, '菜': 3, '好': 3, '他': 2}

再构造一个字典P1存储一元概率。

P1={
   }
total=0 #语料库总字数
for key in Count1:
	total+=Count1[key]

语料库中的总字数

total
18

每个字的出现的次数除以语料库总字数

for key in Count1:
	P1[key]=Count1[key]/total
P1
{
   '她': 0.16666666666666666, '很': 0.3333333333333333, '香': 0.05555555555555555, '菜': 0.16666666666666666, '好'

你可能感兴趣的:(python,语言模型)