我有一个文本,我想从中提取名词短语。我可以很容易地为我拥有的文本获取类型化的解析器,但想知道如何提取文本中的名词短语?
问问题
18006 次
3 回答
10
您可以使用以下代码从树中提取名词短语。它假设您已经解析了存储在parse中的句子(即 parse 是 LexicalizedParser 类应用方法的输出)
public static List<Tree> GetNounPhrases()
{
List<Tree> phraseList=new ArrayList<Tree>();
for (Tree subtree: parse)
{
if(subtree.label().value().equals("NP"))
{
phraseList.add(subtree);
System.out.println(subtree);
}
}
return phraseList;
}
于 2013-02-11T04:26:19.017 回答
0
您可以使用 Stanford Core NLP 进行 POS 标记。您可以在http://nlp.stanford.edu/software/corenlp.shtml#Usage找到一个示例代码,这可能是一个很好的实验起点。您需要将 tokenize、split 和 pos 作为属性。这将输出带有相应标签的标记列表。
整个标签列表可以在http://www.ling.upenn.edu/courses/Fall_2003/ling001/penn_treebank_pos.html 查看。所有的名词标签都以 NN 开头。执行此检查将为您提供所需的令牌。
于 2012-06-21T12:55:53.230 回答