问题描述
在我的插件中,我需要实现一个匹配功能。我正在使用 extJWNL
。我拥有的是两组 PosTaggedToken
- 一个带有 net.sf.extjwnl.data.POS
的类和 String
的实际标记。查看 Examples.java 后,我认为我可以使用 Relationship.getDepth()
并计算某种平均相关性指标。
这是我的想法:
public Double match(Set<PosTaggedToken> set1,Set<PosTaggedToken> set2) {
double result = 0.0;
for (PosTaggedToken t1 : set1) {
IndexWord indexedT1 = dictionary.lookupIndexWord(
t1.getPosTag(),t1.getToken());
for (PosTaggedToken t2 : set2) {
IndexWord indexedT2 = dictionary.lookupIndexWord(
t2.getPosTag(),t2.getToken());
RelationshipList list = RelationshipFinder.findRelationships(
indexedT1.getSenses().get(0),indexedT2.getSenses().get(0),PointerType.HYPERNYM);
result += list.get(0).getDepth();
}
}
return result / (double) set1.size();
}
现在我有几个问题:
dictionary.lookupIndexWord(POS.NOUN,"iterator");
返回 null
。
- 如何解释空的
RelationshipList
?
例如
IndexWord w1 = dictionary.lookupIndexWord(POS.NOUN,"result");
IndexWord w2 = dictionary.lookupIndexWord(POS.ADJECTIVE,"double");
RelationshipList list =
RelationshipFinder.findRelationships(
w1.getSenses().get(0),w2.getSenses().get(0),PointerType.HYPERNYM);
返回一个空列表 - 只有在使用两个不同的 POS 标签调用时才会发生这种情况?
感谢任何帮助!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)