如何将Stanford NLP(english.all.3class.distsim.crf.ser.gz)提供的默认模型与我的自定义模型(ner-model.ser.gz)结合使用?我想将丰田视为“PERS'实体和句子的其余部分作为默认' O'实体。它必须被认为是一个PERS'实体由发动机用于后来的用法(Sentiment / Concept)由StanfordNLP。
我已按照http://nlp.stanford.edu/software/crf-faq.html#a中的说明训练了自定义模型。我使用以下代码来组合分类器:
String serializedClassifier = "ner-model.ser.gz";
String serializedClassifier2 = "edu/stanford/nlp/models/ner/english.all.3class.distsim.crf.ser.gz";
try {
NERClassifierCombiner classifier = new NERClassifierCombiner(false,
false, serializedClassifier, serializedClassifier2);
String ss = "Toyota is not an organisation, it is a person's name.";
System.out.println("---");
List<List<CoreLabel>> out = classifier.classify(ss);
for (List<CoreLabel> sentence : out) {
for (CoreLabel word : sentence) {
System.out.println(word.word() + '('
+ word.get(AnswerAnnotation.class) + ')');
}
System.out.println();
}
} catch (ClassCastException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
结果如下:
Toyota(PERS)
is(O)
not(PERS)
an(O)
organization(PERS)
,(O)
it(PERS)
is(O)
a(PERS)
person(O)
's(PERS)
name(O)
.(PERS)
如果我只使用默认模型(ner-model.ser.gz),我会得到
Toyota(ORGANIZATION)
is(O)
not(O)
an(O)
organization(O)
,(O)
it(O)
is(O)
a(O)
person(O)
's(O)
name(O)
.(O)
提前感谢您的帮助。