私はStanford NLPを使用しましたが、より厳格なライセンス条項(GPLとして記載されていますが、非営利プロジェクトのみに使用できる)のため、Apache Open NLPを評価しています。ApacheオープンNLP POS不適切なタグ付け
私は基本的なサンプルテストを試して、品詞がOpen NLPで間違ってタグ付けされていることがわかりました。 例:「load」、「loading」のような言葉は、実際には動詞のようにNNとしてマークされています。
誰もがこの問題に直面しましたか?私はオープンNLPの辞書をチェックし、それが予測の方法論を使用していますaccuracy.Because OpenNLPが100%を保証するものではありませんので、私は、NN
サンプルコード
InputStream inputStream = getClass().getResourceAsStream("/opennlp/en-pos-maxent.bin");
System.out.println(" inputStream " + inputStream);
POSModel posModel = null;
try {
posModel = new POSModel(inputStream);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
POSTaggerME posTaggerME = new POSTaggerME(posModel);
String whitespaceTokenizerLine[] = WhitespaceTokenizer.INSTANCE.tokenize("Chair damaged during loading:");
String[] tags = posTaggerME.tag(whitespaceTokenizerLine);
IntStream.range(0, tags.length).forEach(i -> System.out.println(" POS " + tags[i]));
どのようにこれらの単語をテストしましたか?別の文字列として?部分的な文字列を渡すと、スタンフォードNLPでさえ間違えてしまいます。 –
私は文書の中で示唆されているようにStringの配列として渡しました – lives
あなたのコードを共有できますか? 1.5.xまたは1.6を使用していますか? –