通常我可以通过拆分句子并对其进行标记化来做到这一点,但这里有一个示例:
“士兵来了……我……你必须走了。”
标记
那个/DT士兵来了/NN .../: I/NNP。./.
你/PRP必须/MD去/VB./。解析
(根(S (NP (在那里)) (VP (VBZ来) (NP (NP (DT ) (NN士兵) (:...)(NP (NNP I) (..))))
(ROOT (S (NP (PRP you)) (VP (MD必选) (VP (VB Go) (.)))
通用依赖关系
expl(comes-2,There-1) root(ROOT-0,comes-2) det(soldier-4,the-3) dobj(comes-2,soldier 4)dep(soldier 4,I.-6)
nsubj(go-3,you-1) aux(go-3,must-2) root(ROOT-0,go-3)
这句话不是停在第一个“……”,而是停在第二个。因此,在这种情况下,简单地拆分句子和计算标记的数量是没有帮助的。(因为它会认为这是三句话。)
有没有其他方法可以让我知道一个令牌属于哪个解析树?或者解析树是示例的哪个子字符串?或者在本例中直接显示标签的位置(三句话)?
发布于 2015-07-24 03:06:35
斯坦福大学似乎正在将第二个省略号解释为句子边界。我不太确定为什么这个省略号被看作一个句点,但是第一个被正确地解释了。
你可以尝试的一种方法是编写一个脚本,手动对省略进行标记化,即将它们与之前的单词分开。例如,新标记化的句子将是“士兵来了……我……你必须走。”另一种方法是用unicode省略号字符替换三个句点。
https://stackoverflow.com/questions/31590027
复制相似问题