2015-04-03 147 views
1

如何从选区分析树中提取不含POS tags的名词短语String/Text从stanford选区分析树中提取名词短语“String”

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

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 The) (NN dog))" and "(NP (DT the) (JJ intruding),但我需要这些名词短语的只是文本作为狗“和”侵入

我曾尝试用树类的yieldWords()方法来构造短语,但它不保证源字符串的真实再现,因为可以用空格,符号等问题..

是否有办法从Parse树中获取确切的源字符串?

+0

您是直接使用斯坦福CoreNLP管道还是斯坦福分析器? – 2015-04-04 03:54:46

+0

我正在使用Stanford CoreNLP管道进行分析。 – Olaf 2015-05-07 05:53:25

回答

1

你是在正确的轨道上。使用Tree.yieldWords提取出产量单词列表后,您可以使用Sentence.listToOriginalTextString生成原始句子子字符串。

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

+0

非常感谢乔恩:) – Olaf 2015-05-18 09:52:27

相关问题