我是自然语言处理的新手。我需要从文本中提取名词短语。到目前为止,我已经使用 open nlp 的分块解析器来解析我的文本以获取树结构。但我无法从树形结构,open nlp 中是否有任何正则表达式模式,以便我可以使用它来提取名词短语。
下面是我正在使用的代码
InputStream is = new FileInputStream("en-parser-chunking.bin");
ParserModel model = new ParserModel(is);
Parser parser = ParserFactory.create(model);
Parse topParses[] = ParserTool.parseLine(line, parser, 1);
for (Parse p : topParses){
p.show();}
在这里,我得到的输出为
(TOP (S (S (ADJP (JJ 欢迎)) (PP (TO) (NP (NNP Big) (NNP Data.))))) (S (NP (PRP We)) (VP (VP (VBP)) (VP (VBG working) (PP (IN on)) (NP (NNP Natural) (NNP Language) (NNP Processing.can))))) (NP (DT some) (CD one) (NN help)) (NP ( PRP us)) (PP(IN in) (S(VP(VBG提取)) (NP(DT the) (NN名词) (NNS词组)) (PP(IN from) (NP(DT the) (NN tree)) ( WP结构。))))))))))
有人可以帮我获得像 NP、NNP、NN 等名词短语吗?有人可以告诉我是否需要使用任何其他 NP Chunker 来获得名词短语?是否有任何正则表达式模式可以实现相同的目的。
请帮助我。
提前致谢
古斯。