自然语言处理-第7章 二义性的消除:使用统计方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。



7.2
概率估计
★ 当我们用概率来解决二义性的问题时,通常用的是估计的概率。 ★ 一个估计方法是用单词在文集中出现的频率来代替它的概率。这种简单的 概率估计叫极大似然估计量(MLE 或 maximum likelihood estimator) 。 ★ 统计理论中的大数定律(the law of large numbers)表明:如果你有无 穷多的数据的话,你的估计值可以达到任意的精度。不过,如果只用到极 少的几个例子,那么估计值将变得非常不可靠。 ★ 考虑抛一枚硬币的情形,我们来估计正面朝上的概率。我们知道答案应该 是 0.5,所以当概率落在 0.25 与 0.75 之间时,我们认为估计值是可接受 的,其中区间 0.25 到 0.75 我们称之为误差限(margin of error) 。如果 你只做了两次试验,那么将有 4 种可能的结果——两次正面朝上,一次 正面一次反面,一次反面一次正面或者两次反面,如表 7.1 所示。
7.7
探索了建立概率驱动 获得词汇的概率 介绍了一种上下文相关的 的最佳优先剖析。 概率估计,它在上下文自由 概率性的上下文自由文法 文法里取得了很好的效果。
最佳优先剖析
一个简单的上下文相关的最佳优先剖析
概率方法提出的背景:
第六章介绍了一种启发式算法,它可以在句法分析出现 二义时用来作为选择的依据。 但是, 建立这样一个启发式算法, 是一项既困难又耗时的工作。进一步说,实际上,不存在一个 系统的方法可以用来评价启发式算法的优劣。 在这一章里, 我 们将在基于概率论的基础上探索解决这些问题的方法。 在最近 几年,由于一些关于自然语言的大型数据库,或称为文集 (corpus) , 都已经达到实用的阶段, 所以这些方法非常流行。 这些数据允许你使用一些基于统计的方法, 自动地推导出所需 的概率。最常使用的文集,是布朗文集(Brown corpus) 。 它包含了大约 100 万个词条。
随机函数的性质
★ 随机函数 PROB,对每一个随机变量都指派了一个值。 ★ 任意一个随机函数都具有下列性质(这里 e 1,…,e n 是随机变量 E 可能 取到的不同值) : 1. PROB(e i)≥0 2. PROB(e i)≤1 3. ∑i=1,n PROB(e i)=1 ★ 考虑一个特殊的例子。一头很特别的马,Harry,在它的生涯中跑了 100 次。 把它每次跑的结果作为一个随机变量 R,那么 R 将只有两个值,赢(Win) 或输(Lose) 。假定 Harry 总共赢了 20 次。于是,Harry 赢得比赛的概率是 PROB(R=Win)=0.2,而它失败的概率是 PROB(R=Lose)=0.8。 ★ 请注意这些取值满足上述定义的三个条件。
稀量数据的估计
★ 自然语言应用中,需要估计的地方太多了,而与此相反的是,可资利用的 数据却不多。这就是稀量数据(sparse data)问题。例如,布朗文集包 含了大约 100 万个单词,但是扣除重复的情形,实际只有 49000 个不同 的单词。其中超过 40000 个单词只出现了 5 次或不到 5 次。 ★ 当一个低频词(low-frequency word)不出现在文集中时,则它出现在 任何分类当中的概率将被估计为 0。这种情况在自然语言的应用当中是经 常出现的,因而如何对低频词作一个可靠的估计是我们算法的关键所在。 ★ 对一个特定的随机变量 X,极大似然估计技术用 V i 表示式子 X=x i 成立的 次数,即 V i=|x i|。当对所有的 x i 都求出对应的 V i 之后,概率估计可 以用下式来确定: PROB(X=x i)≈V i/∑iV i 注意到这里的分母保证了估计的概率能够满足概率函数的三个性质。 ★ 为了解决 0 概率问题,我们可以为每一个计数加上一个很小的数 0.5,让 V i=|x i|+0.5;这样仍然保持了概率与出现频率的相关性。这种估计技 术叫作期望似然估计量(ELE 或 expected likelihood estimator) 。


评价
★ 如何来评价一个估计方法的好坏呢?通常的作法,是将文集分为两部 分:训练集(training set)和测试集(test set) 。典型的测试集包含 10%~20%的总数据量。训练集用来估计概率,然后在测试集上运行 算法,来看看它对新数据的处理能力如何。 ★ 不过,在训练集上运行这个算法并不是一个可靠的评价方法。 ★ 你完全可以死记所有出现在训练集上的答案,然后只需在测试集上简单 重复就可以了! ★ 一个更加彻底的方法叫交叉检验(cross-validation) 。即重复移走文集 的不同部分作为测试集,然后在文集的剩余部分上做训练,接着又在新 的测试集上做评价。
Results HH HT TH TT
Estimate of Prob(H) 1.0 0.5 0.5 0
Acceptable Estimate? NO YES YES NO
Figure 7.1 Possible estimates of Prob(H) given two flips
Results HHH HHT HTH HTT THH THT TTH TTT
7.1 概率论基础
★ 在直觉上,所谓概率就是事件发生的可能性。概率为 1 意味着事件必定会 发生,而概率为 0 意味着事件一定不会发生。任何一个在 0 和 1 之间的数 都表明了某种程ห้องสมุดไป่ตู้的不确定性。 ★ 更正式的,概率可以用一个术语——随机变量(random various)来定义, 它可以在一个预先定义的集合中取值。虽然随机变量可以在一个无限集中 连续取值,但在这里我们只会用到在有限集当中取值的随机变量。 ★ 考虑抛硬币的情形:随机变量 TOSS 代表抛硬币的结果,它有两个可能的 取值:heads(h)和 tails(t) 。一种可能的情形是硬币正面朝上——TOSS =h;另一种情形是反面朝上——TOSS=t 。 ★ 通常,我们都不直接提到随机变量,而是说 TOSS=h 的概率,用来简单表 达事件 h 的概率。
MLE 与 ELE
★ ★ ★ MLE: V i=|x i| ELE: V i=|x i|+0.5 PROB(X=x i)≈V i/∑iV I 我们考虑一个没有在文集中出现的单词 W。为了估计 W 出现在 40 个词 类 L 1,…,L 40 中的概率,我们引入一个随机变量 X,仅当 W 属于分类 L i 时,X=x i 成立。MLE 对于 PROB(X=x i)将无法定义,因为公式 的分母为 0;而 ELE 则可以给每一个分类估计出一个相等的概率。 例如,在这 40 个分类中,每个 V i 将为 0.5,于是 PROB(L i|W)=0.5/20=0.25。 当我们没有关于一个词的任何信息时,这个估计就要来得更好; 但在另一方面,ELE 又是非常保守的。如果 W 在文集中出现了 5 次,其 中一次作动词,4 次作名词,那么 MLE 估计的 PROB(N|W)将是 0.8, 而 ELE 则将估计为 4.5/(4.5+1.5+0.5*38)=4.5/25=0.18,同直觉比起 来,实在是一个很小的数字。

实际生活中,我们经常对随机变量之间的相互关系很感兴趣。继续上面 的赛马例子,考虑另外一个随机变量 W,它是代表天气状况的随机变量,取 值为 Rain 或 Shine。我们假定在 100 次的赛马中,有 30 次在下雨。在这 30 次当中,Harry 赢了 15 次。
条件概率
★ 直觉上,当你看到上述事实的时候,你会感到当下雨(W=Rain)的时候, R=Win 的概率是 0.5(15/30) 。这种直觉使用到了条件概率(conditional probability)的概念。通常它写作 PROB(Win|Rain) ,用于描述 Win 相 对于 Rain 的概率。
贝叶斯公式及事件的独立性
★ 关于条件概率的一个重要定律叫贝叶斯公式(Bayes'rule) 。它给出了事 件 A 相对事件 B 的条件概率和事件 B 相对事件 A 的条件概率的关系: PROB(A|B)=PROB(B|A)* PROB(A)/PROB(B) 我们用赛马的例子来解释这条公式。 使用贝叶斯公式我们可以计算出 Harry 获胜的时候下雨的概率: PROB(Rain|Win)=(PROB(Win|Rain)* PROB(Rain) )/PROB(Win) =(0.5 * 0.3)/0.20=0.75 概率论中另外一个重要的概念是独立性(independence) 。当一个事件的 发生并不影响另一事件的概率时,这两个事件就是相互独立的。 更一般地,事件 A 和 B 相互独立,当且仅当 PROB(A|B)=PROB(A) 利用条件概率的定义,上式还可以写成 PROB(A & B)=PROB(A)* PROB(B)




词性标注与概率
★ 什么是词性标注(part-of-speech)? 给定一个任意长度的句子,对每一个词确定一个最可能的词汇分类。 比方说,你要确定一个既是动词又是名词的单词的词性。这可以用两个随 机变量来表示:一个是 C,表示词性(取值为名词 N 或动词 V) ;另一个 是 W,表示所有可能的单词。 考虑一个当 W=flies 时的例子。为判断 flies 的词性,我们考虑: 1. PROB(N|flies)=PROB(flies & N)/PROB(flies) 2. PROB(V|flies)=PROB(flies & V)/PROB(flies) 怎样才能得到这些概率呢? 假定我们已经有一个包含简单句子的文集,它有 1,273,000 个单词。 里面共有 1000 处用到了 flies。其中 400 个是 N,600 个是 V。则: PROB(flies)≈1000/1,273,000=0.0008 PROB(flies & N)≈400/1,273,000=0.0003 PROB(flies & V)≈600/1,273,000=0.0005 于是, PROB(V |flies)=0.005/0.008=0.625 PROB(N |flies)=0.003/0.008=0.375 ★
7.3
词性标注
★ 分词的标记涉及到在一个句子中,为每个单词选择在词法分类上最有可 ★能的序列。 分词的标记就是在一个句子中,为每个单词选择在词法分类上最有可 能的序列。一个典型的标签集如表 7.3 所示。 ★ 考虑这个问题最一般的情况。令 W 1,…,W T 是一个单词序列。我们想 找到这样一个词法分类序列 C 1,…,C T,以使下式取到最大值: PROB(C 1,…,C T|W1,…,WT) ★ 使用贝叶斯公式: PROB(C 1,…,C T)* PROB(W1,…,WT| C 1,…,C T)/PROB(W1,…,WT) ★ 只考虑:PROB(C 1,…,C T)* PROB(W1,…,WT|C 1,…,C T) ★ 如何计算这个式子? 双词模型(bigram model)使用词类Ci 跟在词类 Ci-1 后面的条件概率, 写作 PROB(Ci | Ci-1) ;三词模型(trigram model)使用了词类跟在前 两词类之后的条件概率,也就是 PROB(Ci | Ci-2Ci-1) 。这些模型统称为 n 词模型(n-gram model) ,这里n代表在公式中使用的单词数目。
Estimate of Prob(H) 1.0 0.66 0.66 0.33 0.66 0.33 0.33 0
Acceptable Estimate? NO YES YES YES YES YES YES NO
Figure 7.2
Possible estimates of Prob(H) given three flips
第七章
二义性的消除: 使用统计方法
目录:
7.1 7.2 7.3 概率论基础 概率估计 词性标注
介绍了概率论的一些关键 思想,并尝试如何将它应 用于自然语言应用程序。 考虑了一些从文集来估计概率的技术。
发展了词性标注技术。 定义了计算词汇的概率的技术。 介绍了概率性的上下文自由文法。
7.4 7.5 7.6
★ 条件概率由下式定义: PROB(e|e')=PROB(e & e')/PROB(e') 这里 PROB(e & e')是指事件 e 和 e' 同时发生的概率。 ★ 当你知道了 PROB(Rain)=0.3 ,PROB( Win & Rain )=0.15 ,利 用条件概率的定义,你就可以计算出概率 PROB( Win|Rain )了: PROB( Win|Rain )= PROB( Win &Rain )/PROB(Rain) = 0.15/0.30 = 0.5
相关文档
最新文档