Sta*_*och 2 java nlp pos-tagger
我需要用Java构建一个POS标记器,并且需要知道如何开始.是否有代码示例或其他资源来帮助说明POS标记器的工作原理?
您可以检查现有的标记器实现。
例如,请参阅 Java 中的斯坦福大学 POS 标记器(由 Kristina Toutanova),它在 GNU 通用公共许可证(v2 或更高版本)下可用,源代码编写得很好并且文档清晰:
http://nlp.stanford.edu/software/tagger.shtml
关于标记的好书是:Daniel Jurafsky, James H. Martin 的 Speech and Language Processing (2nd Edition)
试试Apache OpenNLP.它包括一个POS Tagger工具.您可以从这里下载即用型英语模型.
该文档提供了有关如何从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) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
实例化POS标记器
POSTaggerME tagger = new POSTaggerME(model);
Run Code Online (Sandbox Code Playgroud)
执行它
String sent[] = new String[]{"Most", "large", "cities", "in", "the", "US", "had", "morning", "and", "afternoon", "newspapers", "."};
String tags[] = tagger.tag(sent);
Run Code Online (Sandbox Code Playgroud)
请注意,POS标记符需要一个标记化的句子.Apache OpenNLP还提供了帮助完成这些任务的工具和模型.
如果您需要训练自己的模型,请参阅此文档.