这页讲 N-gram 模型里,“概率咋具体算出来” ,大白话拆成 “例子 + 步骤”:
用 “统计词或词串出现的次数” 来算概率,简单说就是:
- 想算 “某个词 / 词串的概率”,就看它在大量文本(语料)里 “出现多少次” ,再除以 “总次数 / 相关词串的次数”。
假设我们有一堆文本(比如新闻、小说),当语料,现在要算:
- 公式:
P(今天) = 语料里“今天”出现的次数 / 语料总词数
- 大白话:数一遍所有文本,“今天” 出现了 3 次,总词数是 10 ,那 P (今天)=3/10 。
- 公式:
P(天气|今天) = 语料里“今天 天气”一起出现的次数 / 语料里“今天”出现的次数
- 大白话:数 “今天” 后面跟着 “天气” 的情况,比如 “今天” 出现 3 次,其中 2 次后面跟了 “天气”,那 P (天气 | 今天)=2/3 。
- 公式:
P(不错|今天 天气) = 语料里“今天 天气 不错”一起出现的次数 / 语料里“今天 天气”出现的次数
- 大白话:数 “今天 天气” 后面跟着 “不错” 的情况,比如 “今天 天气” 出现 2 次,其中 1 次后面跟了 “不错”,那 P (不错 | 今天 天气)=1/2 。
- 二元组(2-gram) :两个词一起算,比如 “今天 天气”
- 三元组(3-gram) :三个词一起算,比如 “今天 天气 不错”
- 作用:n 越大,越能体现 “连续词的依赖关系”,但统计起来越麻烦(得数更多组合 )。
总结:N-gram 算概率,就是 “数次数、做除法” 。用大量文本当依据,统计 “词或词串出现的频率”,以此判断一句话的概率高不高、像不像人话~