如何将依赖路径编码为分类的特征



我正在尝试实现动词对之间的关系提取。我想使用从一个动词到另一个动词的依赖路径作为分类器的一个特性(预测关系X是否存在)。但是我不确定如何将依赖路径编码为功能。以下是一些依赖路径的例子,如StanfordCoreNLP中以空格分隔的关系注释:

nsubj acl nmod:from acl nmod:by conj:and
nsubj nmod:into
nsubj acl:relcl advmod nmod:of
重要的是要记住,这些路径是可变长度的,关系可以不受任何限制地重新出现

我想到的两种折衷的编码方式是:

1)忽略序列,每个关系只有一个特征,其值为它在路径

中出现的次数

2)有一个长度为n的滑动窗口,每一对可能的关系有一个特征,其值为这两个关系连续出现的次数。我想这就是n图的编码方式。然而,可能关系的数量是50,这意味着我不能采用这种方法。

欢迎提出建议

我们有一个基于依赖路径构建分类器的项目。我问开发这个系统的小组成员,他说:

  1. 全路径指示功能

    如果你有训练数据点(verb1 -e1-> w1 -e2-> w2 -e3-> w3 -e4-> verb2, relation1)特征将是(e1-e2-e3-> w3 -e4)

  2. 他也做了ngram序列,所以对于相同的数据点,你也会有(e1), (e2), (e3), (e4), (e1-e2), (e2-e3), (e3-e4), (e1-e2-e3), (e2- e2-e3), (e2- e2-e3), (e2- e2-e3), (e2- e2-e3), (e2- e2- e4)

    他还建议折叠正边以使路径更小。

另外,我应该注意到,他为每个关系开发了一套高精度的规则,并使用它来创建一个大的训练数据集。

最新更新