如何解决使用 extJWNL 匹配一组令牌
在我的插件中,我需要实现一个匹配功能。我正在使用 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 举报,一经查实,本站将立刻删除。