我试图实现动词对之间的关系提取.我想使用从一个动词到另一个动词的依赖关系路径作为我的分类器的一个特征(预测关系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,这意味着我不能用这种方法.
欢迎任何建议.
我们有一个基于依赖路径构建分类器的项目.我问发展系统的小组成员,他说:
原文链接:https://www.f2er.com/javaschema/281765.html>整个路径的指标特征
所以如果你有训练数据点(动词1 -e1-> w1 -e2-> w2 -e3-> w3 -e4->动词2,则关系1)特征将是(e1-e2-e3-e4)
而且他也有ngram序列,所以对于同样的数据点,你也可以有(e1),(e2),(e3),(e4),(e1-e2),(e2-e3),(e3- e4),(e1-e2-e3),(e2-e3-e4)
他还建议塌缩的边缘使路径更小.
另外,我也应该注意到,他为每个关系开发了一套高精度的规则,并用它来创建一大堆训练数据.