显示斯坦福NER的置信度

我正在使用斯坦福NER CRFC分类器从新闻文章中提取命名实体,为了实现主动学习,我想知道每个标记实体的类的置信度分数。

显示的例子:

位置(0.20)人(0.10)组织(0.60)MISC(0.10)

这是我从文本中提取命名实体的代码:

AbstractSequenceClassifier classifier = CRFClassifier.getClassifierNoExceptions(classifier_path); String annnotatedText = classifier.classifyWithInlineXML(text); 

是否有解决方法来获取值和注释?

我自己发现了它,在CRFClassifier的doc中写道:

可以使用printProbsDocument()getCliqueTrees()方法查询CRF分配的概率。

第一种方法没有用,因为它只在控制台上打印出我想要的内容,但我希望能够访问这些数据,所以我已经阅读了这个方法的编码方式并将其复制了一下,如下所示:

 List classifiedLabels = classifier.classify(sentences); CRFCliqueTree cliqueTree = classifier.getCliqueTree(classifiedLabels); for (int i = 0; i < cliqueTree.length(); i++) { CoreLabel wi = classifiedLabels.get(i); for (Iterator iter = classifier.classIndex.iterator(); iter.hasNext();) { String label = iter.next(); int index = classifier.classIndex.indexOf(label); double prob = cliqueTree.prob(i, index); System.out.println("\t" + label + "(" + prob + ")"); } String tag = StringUtils.getNotNullString(wi.get(CoreAnnotations.AnswerAnnotation.class)); System.out.println("Class : " + tag); }