自然语言处理NLP(二)

(续)

几个NLP工作中的重要问题

1.词的计数(token+type)出现次数与排序位置

2. 词的搭配(二元、n元)

3. 词汇索引 语法框架

----词的计数

当我们下载了一些文本之后,底层如何表示?如何分类和处理这些文本都是我们感兴趣的事情。目前,我们假设这些文本都被表示成单词序列。

首先,有一些明显的问题需要解决。文本中最常用的词是什么?得到的结果依赖于所用的语料库和样本。

在一篇文本中有多少个单词?这个问题可以有两种解释。有多少词次(word token)可以解答文本长度的问题。问题的另一个解释是,问有多少不同的词。所以一般用token和type来回答。token是出现的总次数,type是出现的不同事物的个数。可以计算token对type的比值,可以表示每个type平均出现次数。

自然语言处理的一个主要问题是,词汇的出现次数非常不平均。对于在语料库中没有出现或者几乎不会出现的词,我们很难预测它们的行为。

-----Zipf法则--针对稀有词问题

最小精力付出原理,它在本质上是整个人类活动的基础。最小精力付出原理认为人类将会尽可能最小化他们可能的平均工作率。目的是为了揭示语言中的某些概率分布

著名的Zipf法则

如果我们能够统计一种语言中所有的词在一个大型语料库中出现的次数,并且按它们的出现次数的大小顺序把这些词排列起来,会发现一个词出现的频率f和它的排列位置之间的关系,设排列位置为r。那么Zipf法则可以表示为:

词频f与1/r成正比

或者可以表示为存在一个常数 f*r=k

可以这样说排在第50位的词的出现次数大约是排在第150位的词的出现次数的3倍。出现次数和位置之间确实存在关系。

Zipf法则的主要结果就是解决了一个实际问题:大部分词汇在我们使用的数据中是极端稀少的,我们仅仅对于少量的词汇有大量的实例。

排列和出现次数的另一种关系

-----词的搭配

一个搭配是一个短语或者一个可接受的习惯用法。并且整体意思并不是部分意思的简单合并。

为了识别搭配对,我们首先的想法是在文本中简单地寻找最常出现的词序列。但是这样的效果并不一定好,是因为of the,in the 出现的词频很高,但不是我们所要寻找的搭配对。

没有把组成搭配对的词汇频率归一化可能就是产生这样结果的原因。在搭配的获取中,下一步明显需要做的就是用某种方法把每个词的频率都考虑进去。

还有一个非常有效的改进是过滤这些搭配,删除这些和我们感兴趣的搭配结构不一致的候选。我们不感兴趣的搭配有很多,比如一个介词+定冠词。两种最常使用的是“形容词+名词”和“名词+名词”

搭配识别= 带有特殊词性标注模型的频繁出现的二元组

------词汇索引

假设我们对于含有动词的句法框架感兴趣。为了寻找动词框架,人们通常使用上下文关键词(KWIC)索引程序来产生数据表示。通常LWIC程序允许按照左边或者右边的上下文对匹配词汇进行分类。如果我们感兴趣的是语法框架,而不是具体的词汇,那么这种分类就会有限制。

自然语言处理NLP(二)_第1张图片
show的句法模式

收集这些动词出现模式的信息,不仅可以作为外语学习者的词典数据,而且还可以用来指导统计句法分析。在NLP的工作中,主要的任务就是对大规模数据(如词汇索引和搭配候选列表)进行统计。在一个语言工程开始的时候,这些工作有助于理解重要的语言现象,然后可以精炼最初的模型,并且在最后评价得到的结果。

自然语言处理NLP(二)_第2张图片
show的句法结构

你可能感兴趣的:(自然语言处理NLP(二))