我正在尝试通过斯坦福解析器从给定文本中提取所有名词和形容词。
我目前的尝试是在 Tree-Object 的 getChildrenAsList() 中使用模式匹配来定位以下内容:
(NN paper), (NN algorithm), (NN information), ...
并将它们保存在一个数组中。
输入语句:
在本文中,我们提出了一种从任意文本中提取语义信息的算法。
结果 - 字符串:
[(S (PP (IN In) (NP (DT this) (NN paper))) (NP (PRP we)) (VP (VBP present) (NP (NP (DT an) (NN algorithm)) (SBAR (WHNP (WDT that)) (S (VP (VBD extracts) (NP (JJ semantic) (NN information)) (PP (IN from) (NP (DT an) (ADJP (JJ arbitrary)) (NN text)))))))) (. .))]
我尝试使用模式匹配,因为我在斯坦福解析器中找不到返回所有单词类(例如名词)的方法。
有没有更好的方法来提取这些词类或者解析器是否提供特定的方法?
public static void main(String[] args) {
String str = "In this paper we present an algorithm that extracts semantic information from an arbitrary text.";
LexicalizedParser lp = new LexicalizedParser("englishPCFG.ser.gz");
Tree parseS = (Tree) lp.apply(str);
System.out.println("tr.getChildrenAsList().toString()"+ parseS.getChildrenAsList().toString());
}
}