Stanford nlp 提取名词短语";“字符串”;来自斯坦福选区解析树

Stanford nlp 提取名词短语";“字符串”;来自斯坦福选区解析树,stanford-nlp,text-parsing,string-parsing,Stanford Nlp,Text Parsing,String Parsing,如何从选区解析树中提取名词短语String/Text,而不使用POS标记 我能够在不解析注释的情况下提取名词短语,但无法找到仅提取该名词短语文本的方法。 例如: String some_sentence = "The dog ran after the intruding bigger dog"; parse Tree :**(ROOT (S (NP (DT The) (NN dog)) (VP (VBD ran) (PP (IN after) (NP (DT the) (JJ intrudin

如何从选区解析树中提取名词短语
String/Text
,而不使用
POS标记

我能够在不解析注释的情况下提取名词短语,但无法找到仅提取该名词短语文本的方法。 例如:

String some_sentence = "The dog ran after the intruding bigger dog";
parse Tree :**(ROOT (S (NP (DT The) (NN dog)) (VP (VBD ran) (PP (IN after) (NP (DT the) (JJ intruding) (JJR bigger) (NN dog))))))
我可以从这个解析树中提取以下名词短语
(NP(DT)(NN dog))“和”(NP(DT)(JJ入侵)
,但我只需要这些名词短语的文本作为“狗”和“入侵”

我曾尝试使用Tree类的
yieldWords()
方法构造短语,但它不能保证源字符串的精确复制,因为可能存在空格、符号等问题


有没有办法从解析树中获取准确的源字符串???

您的思路是正确的。一旦您使用
树提取了一个生成词列表。yieldWords
,您就可以使用生成原始句子子字符串


我相信这种方法在CoreNLP 3.5.2中是新的,因此请确保安装了最新版本。

您是直接使用斯坦福CoreNLP管道还是斯坦福解析器?我使用斯坦福CoreNLP管道进行解析。