t = nltk.Tree.fromstring(
"""
(NP
(( ()
(NNP Fetchez)
(NNP la)
(NNP vache)
(. .)
() ))
(NN wha)
(. ?))
"""
)
t.productions()
我将这些作品作为输出
[NP -> NN .,
-> ,
-> NNP NNP NNP . ,
-> ,
NNP -> 'Fetchez',
NNP -> 'la',
NNP -> 'vache',
. -> '.',
-> ,
NN -> 'wha',
. -> '?']
这些作品在rhs上缺少(
和)
-> ,
-> NNP NNP NNP . ,
-> ,
-> ,
正确的作品应该是这样的
( -> ,
( -> NNP NNP NNP . ,
( -> ,
) -> ,
这是怎么回事,我该如何解决?还是有解决方法?
答案 0 :(得分:0)
有趣的是,它在执行树fromstring时有效。这实际上是一个错误(不确定此存储库属于什么,但这里也进行了描述:https://github.com/emilmont/pyStatParser/issues/4)。我通常通过在使用nltk解析器进行解析之前将所有括号都消除来解决此问题,这非常乏味(因此,如果有人知道解决此问题的更好方法,我也很乐意听到:)