所谓搭配,感性理解可以认为搭配就是自然语言中经常联合一起使用的词。比如我们小学英语经常被的词组等,这章讨论的问题便是如何通过一些技术手段找到常用搭配。
1. 频率
最简单的方法,统计二元词序列出现频率。但是效果并不好,出现频率高的往往是一些虚词。但通过使用词性过滤器就有了很好的效果,如规定一个标记模式为AN(即一个形容词加一个名词)。
可见,简单的计量技术和一些语言学知识结合起来效果可能很好。
2. 均值和方差
虽然频率能挺好地解决二元词序列的搭配问题,但是在英文当中往往有很多搭配,词与词之间并非紧挨一起的。比如:knocking on/at door.
she knocked on hist door
they knocked at the door
100 women knocked on Donaldson's door
a man knocked on the metal front door.
此处定义了一个搭配窗口(通常包括3到4个词),把窗口中的第一个词和窗口中其他词进行统计,然后窗口往后移动一位。这样就可以得到一个词和其他词同时出现在一起的频率了。
通过计算词与词同时出现时的偏移量均值和方差。这时候,偏移量方差较小的词能显示两个词之间存在着某种相对固定的出现模式,可以认为是存在搭配现象,高方差则没有。
Smadja(1993)把该方法用在术语抽取(估计有80%的准确率)和自然语言生成中确定合适短语。
3. 假设检验
这一节以搭配为例子,介绍了4种在自然语言处理中使用到的统计学的假设检验方法。
我们发现的搭配是否真的是搭配呢?
我们可以假设H0:p(w1w2) = p(w1) * p(w2)
即词1和词2的出现事件是独立的。
3.1 t检验
常见的分布统计检验,用我们给予假设H0所求得的w1与w2同时出现的概率。如果实际样本的频率与这个接近,并且t值在置信区间内即为假设H0成立。
3.2 差异的假设检验
t检验可以很好地用来区分细微差异的搭配。比如两个词strong和powerful,意义相近,它们的同现模式可以很好地区分两个词的差异。
比如我们比较感兴趣strong和powerful搭配computers哪个更合适。
设strong 为 v1,powerful为2,computers为w
通过使用t检验看两个搭配是否以比较接近的概率使用。
3.3 皮卡逊卡方检验
t检验假设了数据的先验分布为正态分布,而一般情况下并非正态分布。卡方检验可以很好地验证数据是否独立。
其中O是观察值,E为期望值。比如在假设H0的情况下,w1,w2单独出现,同时出现,同时不出现的概率都应该和整个文本w1,w2有关,而且可以算出期望值。
3.4 似然比
现有的N个样本中我们可以得出对一些参数的似然函数。其中根据假设H0,H1我们可以得到似然函数L0,L1。
似然比就是,L0/L1。似然比越大表示,L0越可信。
4. 互信息
互信息在很多地方都有很好地用处。此处定义的互信息在nlp中经常用到,但是和信息论里面的互信息有所不同。在搭配这个课题可以度量一个词和其他词有多大的联系。
但数据稀疏的时候对这个方法的结果影响非常大,因此只能考虑出现频率大于3的词