本周的内容主题是另一个计算语言学领域非常重要的基础概念: n元语法模型(n-gram, 也有翻译为文法模型的)
本部分也非常基础,但是确实统计自然语言处理这一方法论的核心与重中之重。
概念较多,有些容易混淆,但是多多接触之后自然会有更加深刻的理解。
在n元语法模型学习完之后还讲解了对应的数据平滑技术,里面涉及到了一些简单的公式推导
-------------------------------------------------------------------------------------------------------------------
# 语言建模(Language Modeling)
给定自然语言L,对于服从某个未知概率分布的语言L,根据给定的语言样本估计P的过程被称为语言建模
因为从统计角度看,自然语言中的任何句子都可以由任何词串组成。不过所组成的句子概率大小有区别:
S
1: 我刚吃过晚饭
S
2: 刚我过晚饭吃
显然 P(S
1) > P(S
2)
根据语言样本估计出的概率分布
P
就称为语言
L
的语言模
型。
应用:语音识别,OCR,手写体识别,机器翻译,信息检索,切分歧义消解等。
P(s)可有不同的形式,一般写成
其中每个Θ都是模型参数
链式法则:
要估计
p( w
i
| w
1
w
2
…w
i-1
)
,需要考虑词串
( w
1
w
2
…w
i
)
和
(w
1
w
2
…w
i-1
)
的出现频次。
若不限制词串的长度,参数估计存在困难
为了便于估计参数,限定只考虑
n
个词组成的
词串
(w
i-n+1
…w
i
)
,该词串被称作
n
元组。基于
n
元组统计得到的语言模型,称为
n
元语言模型。
n 元模型是一种近似模型, n 的选择需要平衡模型的准确性和可计算性。也即可以通过词频来估计概率
# n元语言模型
unigram (n=1) p(wi) 若语言中有20000个词,则需要估计20000个参数
bigram (n=2) p(wi|wi-1) 若语言中有20000个词,则需要估计200002个参数
trigram (n=3) p(wi|wi-2wi-1) 若语言中有20000个词,则需要估计200003个参数
four-gram(n=4) (有时也称为digram或quadrigram)