NLTK有依赖解析工具吗?
我正在开发一个自然语言处理的应用,之前大部分解析工作都是用斯坦福解析器完成的,但我想开始使用Python。
到目前为止,NLTK看起来是最好的选择,但我还搞不清楚怎么解析语法依赖关系。也就是说,这是一个来自斯坦福解析器的例子。我想用Python在NLTK中从原句“I am switching to Python.”生成这个结果:
nsubj(switching-3, I-1)
aux(switching-3, am-2)
prep_to(switching-3, Python-5)
有没有人能给我一些建议,告诉我怎么解析语法依赖关系呢?
1 个回答
14
NLTK支持使用MaltParser,具体可以查看nltk.parse.malt.MaltParser。
可以在这里找到MaltParser的预训练英语模型,它可以解析成斯坦福基本依赖表示。不过,你还需要调用斯坦福的JavaNLP代码,将基本依赖转换成你在示例解析中提到的CCprocessed表示。