【发布时间】:2016-04-13 09:36:59
【问题描述】:
我尝试从带有Stanford Named Entity Recognizer (NER) 和Stanford Log-linear Part-Of-Speech Tagger 的文本中给出NER 和POS 标签。
让我给你一个邮政标签的例子
import edu.stanford.nlp.tagger.maxent.MaxentTagger;
public class POSTag {
static MaxentTagger tagger = new MaxentTagger("english_language_pos.tagger");
public static void main(String[] args) throws IOException{
String text = "Sarah and I go to Samsung office in Korea."
String tagged = tagger.tagString(text);
System.out.println(tagged);
}
}
输出:
Sarah_NNP and_CC I_PRP go_VBP to_TO Samsung_NNP office_NN in_IN Korea_NNP ._.
对于 NER 斯坦福,我必须在命令行中运行:
java -mx500m -cp stanford-ner-3.5.2.jar edu.stanford.nlp.ie.crf.CRFClassifier -loadClassifier indonesian_language_ner.gz -textFile E:/file.txt > E:/file_ner.txt
我的问题是如何在具有 java 扩展名(file.java)的文件中调用 Stanford NER?除了从命令行之外,还有什么方法可以调用斯坦福 NER 吗? 或者我可以使用任何其他工具或库来提供从 java 文件中调用的 NER?
*****编辑:
我需要NER的输出变成这样:
Sarah_PERSON and_O I_O go_O to_O Samsung_ORGANIZATION office_O in_O Korea_PLACE ._O
*****编辑
**仅供参考:我使用的是 Windows 8.1
【问题讨论】:
标签: java stanford-nlp named-entity-recognition pos-tagger