本文整理汇总了Java中se.lth.cs.srl.corpus.Predicate.getArgMap方法的典型用法代码示例。如果您正苦于以下问题:Java Predicate.getArgMap方法的具体用法?Java Predicate.getArgMap怎么用?Java Predicate.getArgMap使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类se.lth.cs.srl.corpus.Predicate
的用法示例。
在下文中一共展示了Predicate.getArgMap方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: parse
import se.lth.cs.srl.corpus.Predicate; //导入方法依赖的package包/类
@Override
public void parse(Sentence s) {
for(Predicate pred:s.getPredicates()){
Map<Word,String> argMap=pred.getArgMap();
for(Word arg:argMap.keySet()){
Integer label=super.classifyInstance(pred,arg);
argMap.put(arg, argLabels.get(label));
}
}
}
示例2: score
import se.lth.cs.srl.corpus.Predicate; //导入方法依赖的package包/类
public static double score(Sentence gold, Sentence parsed) {
if (gold.getPredicates().size() == 0
&& parsed.getPredicates().size() == 0)
return 1;
int tp = 0, fp = 0, fn = 0;
for (Predicate pred : gold.getPredicates()) {
Map<Word, String> goldmap = pred.getArgMap();
Map<Word, String> predmap = ((Predicate) parsed.get(pred.getIdx()))
.getArgMap();
for (Word w : goldmap.keySet()) {
int index = w.getIdx();
// if(!predmap.containsKey(w)) {
// fn++;
// } else
if (goldmap.get(w).equals(predmap.get(parsed.get(index)))) {
tp++;
} else {
fp++;
}
}
// for(Word w : predmap.keySet()) {
// if(!goldmap.containsKey(w))
// fp++;
// }
}
double p = (double) tp / (tp + fp);
double r = (double) tp / (tp + fp);
if (p + r > 0)
return 2 * p * r / (p + r);
else
return 0;
}