我需要使用Stanford CoreNLP进行浅解析和深度解析。我用谷歌搜索了很多,但没有成功。最后,我发现有2 parser,Constituency parser和Dependency parser。
我的问题是:
选区解析器是浅解析,依赖解析器是深解析吗?
任何人都可以将上述解析器的代码和任何有用的链接放在一起吗?
我需要使用Stanford CoreNLP进行浅解析和深度解析。我用谷歌搜索了很多,但没有成功。最后,我发现有2 parser,Constituency parser和Dependency parser。
我的问题是:
选区解析器是浅解析,依赖解析器是深解析吗?
任何人都可以将上述解析器的代码和任何有用的链接放在一起吗?
区分选区与依赖解析与深度解析与浅层解析的区别无关。它们是完全正交的
选区解析是经典解析,其中单词是树中的叶子,非叶子节点是成分(例如名词短语、动词短语、预备短语等),但不是单词。
依赖解析不会在树中构建组成节点。树中的所有节点都是一个句子单词。树建立了单词之间的层次结构(实际上是依赖关系)。
如果每个规则的头节点都是已知的,则选区树可以确定地转换为依赖树。向后转换是不可能的,因为依赖树没有关于应该创建哪些成分的信息。
另一方面,“深度解析”是指为一个句子构建完整的树(因此,您通常对解析器的期望),而“浅层解析”是一项更容易的任务,包括为一个句子构建一组部分树(例如,仅对名词短语进行分组)
通常,依赖解析会产生完整的树(即深度解析),并且存在用于深度和浅层分析的选区解析器。但是,应该可以构建一个产生部分(或浅层)分析的依赖解析器。
我假设“浅解析器”是指短语分块器,如下所述:https ://en.wikipedia.org/wiki/Shallow_parsing
斯坦福 CoreNLP 不提供浅解析器,依赖解析器也不是。
我使用过OpenNLP的 chunker 和Freeling提供的。
两者都适合我的目的。我发现使用 OpenNLP 更容易起步,尤其是像我一样使用 Clojure 工作,但最终还是使用了 Freeling,因为它有更多工具,当然还有更多语言的访问权限。