在上一篇博客里,简单的介绍了语言模型,其中举了一个例子,这里就用代码来实现实现目标句子出现概率的求值。

回顾
如果想再一次回顾语言模型的理论知识,可以直接点击语言模型(N-Gram)
语料库:
研究生物很有意思。
他是研究应用。
踏实研究生物的。
他实验救生物的。
他大学时代是研究生物的。
生物专业是他的首选目标。
- 目标实现:使用二元模型以分词模式”<BOS> 他 是 研究 生物 的 <EOS>”计算出现句子“他是研究生物的”的概率。
P(s) = P(他|<BOS>)P(是|他)P(研究|是)P(生物|研究)P(的|生物)P(<EOS>|的)
= 3/6 * 1/4 * 2/3 * 3/4 * 3/5 * 3/4
代码展示
1、导入包
import jieba
import re
from zhon.hanzi import punctuation
from _overlapped import NULL
2、将句子变为"BOSxxxxxEOS"这种形式
def Modify(s):
#将结尾标点符号截掉
if s

这篇博客通过代码展示了如何利用二元模型计算特定句子在语料库中出现的概率。首先回顾了语言模型的基本概念,然后提供了将句子转换为特定格式、分词、统计词频、计算二元语法频率以及最终求解句子概率的步骤。示例中计算了句子'他是研究生物的'的概率,结果为0.028124999999999997。

1247

被折叠的 条评论
为什么被折叠?



