依存句法分析简介

依存句法

我们人在理解一个句子的时候,一般有两种方式,一种是句法分析,主谓宾啊等等等,另一种就是凭感觉,说起来可能有点搞笑,但却是大部分都是凭感觉。凭感觉在NLP里面就是语言模型,一个词搭配什么词比较连贯,接下来是什么,这就是语言模型建模的依据,这也是建议在大量数据的基础上的。要有语感我们要多说话,同样语言模型也有大量语料去训练,语料越丰富,效果越好。

但是在学英语时,经常要句子分析,这是因为不熟练,训练的语料太少。中文见过谁理解对方说的话还要分析一下什么词性,漂亮的修饰什么这样愚蠢的问题么。但是对于机器来说,句法分析却是一个很不错的方法,也被研究了很多年。举个例子:

这就是句法分析树,中间的节点叫中间节点,最底下的叫做终端节点,中间的节点是可以进行拆分的。有了这棵树,我们可以使用很多树和图的算法来提取更多特征。常见的特征有最短路径,词性等等。但是似乎从应用的角度,这些特征并没有起到特别好的效果,效果很有限。

这些是如何分类的呢,那就要涉及到语法,根据语法来进行分裂。

这样的形式也分两种—CFG(content free grammar)和PCFG(probability content free grammar):

当然是后者更好,有个概率就可以评估句子,找到最合适的树。其实PCFG也是根据大量的标记数据计算得到的(某些已经做好了依存分析树的句子,统计标签即可)。同一个符号不同生成式的概率之和为1。具体如何找到最好的树呢,一般有两种方法:一是枚举所有可能的树,根据概率计算树的得分,找到最好的树,二就是CKY算法。

还是想再强调一遍,怕我自己下次看又忘了,句法分析本质上是规则和统计的结合,它最开始定义的符号的生成式都是语言学家定义的,但是这样的定义在求最好的树的时候有时候不太方便,其中CKY算法要Binarization,也就是例如VP->V NP这是允许的,但是VP->V NP PP这样有三个不允许,NP->e这样的为空的或者NP->N生成单个的也不允许。因此只是在使用这个算法的时候需要做一些处理。

这样处理之后会生成一些新的规则。之后进一步筛选:

可以看到,移除unaries的时候就是将unaries移除并使用其生成更多的公式。最后就是移除非Binary的。

CKY算法

类似于维特比算法,CKY也是一种动态规划。

这些空格按照对角线按顺序填。就是算法的核心了。但是要注意当填写到第一行第三列时,要考虑的大于两个,到底是((fish people) fish)还是(fish (people fish))呢。

总结

说的很简单,其实句法分析,依存分析是不同的任务,其中也有小的分类,推荐一些博客:

NLP —句法分析

系统学习NLP(五)–句法分析


  转载请注明: April 依存句法分析简介

 上一篇
知识图谱技术综述 知识图谱技术综述
知识图谱最底层的构建就是实体抽取和关系抽取。实体抽取用的主要是命名实体识别的技术,但是由于实体的领域属性,所以很难有一个通用的模型找出所需要的领域实体,需要人为的结合实际情况构建。而关系抽取在实际任务中同样需要人为的定义出关系,之后在文本中
2020-03-18
下一篇 
机器学习 机器学习
发现之前课上学的机器学习太粗糙了,自己学的也不咋样,想好好整理一下。 1.逻辑回归(Logistic regression)Logistic Regression最常见的应用场景就是预测概率。比如知道一个人的 年龄、性别、血压、胆固醇水平、
2020-03-16
  目录