用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, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值