0
我正在使用Java8和OpenNLP。我試圖從句子中提取所有名詞詞彙。Java OpenNLP從句子中提取所有名詞
我試過this的例子,但它提取所有名詞短語(「NP」)。有誰知道我怎麼才能提取單個名詞詞?
謝謝
我正在使用Java8和OpenNLP。我試圖從句子中提取所有名詞詞彙。Java OpenNLP從句子中提取所有名詞
我試過this的例子,但它提取所有名詞短語(「NP」)。有誰知道我怎麼才能提取單個名詞詞?
謝謝
你到目前爲止嘗試過什麼?我沒有仔細看過你鏈接到的例子,但我很確定你可以通過修改該例子來獲得你想要的位置。 在任何情況下,這不是很困難:
InputStream modelIn = null;
POSModel POSModel = null;
try{
File f = new File("<location to your tagger model here>");
modelIn = new FileInputStream(f);
POSModel = new POSModel(modelIn);
POSTaggerME tagger = new POSTaggerME(POSModel);
SimpleTokenizer tokenizer= new SimpleTokenizer();
String tokens[] = tokenizer.tokenize("This is a sample sentence.");
String[] tagged = tagger.tag(tokens);
for (int i = 0; i < tagged.length; i++){
if (tagged[i].equalsIgnoreCase("nn")){
System.out.println(tokens[i]);
}
}
}
catch(IOException e){
throw new BadRequestException(e.getMessage());
}
您可以在這裏下載惡搞型號:http://opennlp.sourceforge.net/models-1.5/
我應該說,SimpleTokenizer已被棄用。你可能想看看更復雜一點,但根據我的經驗,來自OpenNLP的更加花哨的人也要慢很多(並且通常令牌無法接受)。