如何在Stanford Parser的索引依赖中用几个句子得到每个标签的正确位置?

时间:2015-07-23 14:16:03

标签: nlp stanford-nlp

通常我可以通过分割句子并将其标记化来实现,但有一个例子:

“士兵来了......我......你必须去。”

标记

有/ EX 说到/ VBZ 在/ DT 战士/ NN ... /: I./NNP ./。 ./.

你/ PRP 必须/ MD 去/ VB ./。 解析

(ROOT   (S     (NP(EX那里))     (副总裁(VBZ来)       (NP         (NP(DT)(NN士兵))         (:......)         (NP(NNP I.)(。)))))     (。))))

(ROOT   (S     (NP(PRP你))     (VP必须)       (VP(VB go)))     (。))))

普遍依赖

expl(来2,有-1) root(ROOT-0,来-2) det(士兵-4,the-3) dobj(来2,士兵-4) dep(士兵-4,I.-6)

nsubj(go-3,you-1) aux(go-3,must-2) root(ROOT-0,go-3)

句子不会停在第一个“......”,而是停在第二个。因此,在这种情况下,轻松拆分句子并计算令牌数量将无济于事。 (因为它会将此视为三句话。)

我可以知道哪个解析树属于一个令牌吗?或者解析树是这个例子的子串?或者直接在这个例子中标签的位置(三个句子)?

1 个答案:

答案 0 :(得分:0)

似乎斯坦福大学正在将第二个省略号解释为句子边界。我不太清楚为什么这个省略号被视为一个句号,但第一个被正确解释。

你可以尝试的一个黑客就是编写一个脚本来手动标记椭圆,即将它们与前面的单词分开。例如,新标记的句子将是“士兵来了......我......你必须去。”另一种方法是用unicode省略号字符替换三个句点。