Java で POS タガーを構築する必要があり、開始方法を知る必要があります。POS タガーの仕組みを説明するのに役立つコード例やその他のリソースはありますか?
3 に答える
Apache OpenNLPを試してください。POS タガー ツールが含まれています。ここからすぐに使える英語モデルをダウンロードできます。
ドキュメントには、Java アプリケーションから使用する方法の詳細が記載されています。基本的に、次のものが必要です。
POS モデルを読み込む
InputStream modelIn = null;
try {
modelIn = new FileInputStream("en-pos-maxent.bin");
POSModel model = new POSModel(modelIn);
}
catch (IOException e) {
// Model loading failed, handle the error
e.printStackTrace();
}
finally {
if (modelIn != null) {
try {
modelIn.close();
}
catch (IOException e) {
}
}
}
POS タガーをインスタンス化する
POSTaggerME tagger = new POSTaggerME(model);
実行する
String sent[] = new String[]{"Most", "large", "cities", "in", "the", "US", "had", "morning", "and", "afternoon", "newspapers", "."};
String tags[] = tagger.tag(sent);
POS タガーは、トークン化された文を想定していることに注意してください。Apache OpenNLP は、これらのタスクを支援するツールとモデルも提供します。
独自のモデルをトレーニングする必要がある場合は、このドキュメントを参照してください。
既存のタガーの実装を調べることができます。
たとえば、Stanford University POS tagger in Java (by Kristina Toutanova) を参照してください。これは GNU General Public License (v2 以降) の下で利用でき、ソース コードは適切に記述され、明確に文書化されています。
http://nlp.stanford.edu/software/tagger.shtml
タグ付けについて読むのに適した本: Speech and Language Processing (2nd Edition) by Daniel Jurafsky, James H. Martin