StanfordCoreNLP:为什么有两种不同的数据结构。解析和依赖解析?

StanfordCoreNLP: why two different data structures for cons. parse and dependency parse?

为什么 Stanford:CoreNLP 使用不同的数据结构来表示它的树(例如,dep. 树用 'BasicDependenciesAnnotation' 和 cons. 树用 'TreeAnnotation')? 这些注释似乎可以用相同的数据结构表示(就像带有标签的 DAG)。有什么机制可以将它们相互转换吗? (至少对他们中的一些人来说)

LINK: http://nlp.stanford.edu/software/corenlp.shtml

依赖项解析在折叠时不一定是 DAG。来自 Stanford Dependencies manual:

The collapsed and CCprocessed dependencies are not a DAG. The graphs can contain small cycles between two nodes (only). These don’t seem eliminable given the current representational choices. They occur with relative clauses such as the woman who introduced you. The cycles occur once you wish to represent the referent of who. In the basic plus extras representation, you get rcmod(woman, introduced), nsubj(introduced, who), and ref(woman, who). In the collapsing process, ref arcs are collapsed, and so there is then a two node cycle: rcmod(woman, introduced) and nsubj(introduced, woman).