Java 如何从Wordnet中获取按出现概率排序的同义词

Java 如何从Wordnet中获取按出现概率排序的同义词,java,nlp,wordnet,Java,Nlp,Wordnet,我正在Wordnet中搜索大量单词的同义词。按照我的方式,当某个单词有多个同义词时,结果将按字母顺序返回。我需要的是按照它们的发生概率对它们进行排序,我只取前1个同义词 我使用了prolog wordnet数据库和Syns2Index将其转换为Lucene类型索引以查询同义词。有没有一种方法可以让它们以这种方式按概率排序,或者我应该使用另一种方法 速度不重要,此同义词查找不会在线完成。我认为您应该再做一步(前提是速度不重要) 从Lucene索引中,您应该构建另一个字典,其中每个单词都映射到一个小

我正在Wordnet中搜索大量单词的同义词。按照我的方式,当某个单词有多个同义词时,结果将按字母顺序返回。我需要的是按照它们的发生概率对它们进行排序,我只取前1个同义词

我使用了prolog wordnet数据库和Syns2Index将其转换为Lucene类型索引以查询同义词。有没有一种方法可以让它们以这种方式按概率排序,或者我应该使用另一种方法


速度不重要,此同义词查找不会在线完成。

我认为您应该再做一步(前提是速度不重要)

从Lucene索引中,您应该构建另一个字典,其中每个单词都映射到一个小对象,该对象包含唯一一个同义词,其含义具有较高的出现概率、含义和出现概率。即,给定此代码:

class Synonym {
public:
    String name;
    double probability;
    String meaning;
}

Map<String, Synonym> m = new HashMap<String, Synonym>();
类同义词{ 公众: 字符串名; 双重概率; 字符串意义; } Map m=新的HashMap();
。。。您只需从Lucene索引中填写即可。

如果有人无意中发现了这条线索,这是一条路(至少是我需要的):


tagCount方法为每个单词提供最可能的语法集组。同样的问题是,概率很高的语法集可以有几个词。但我想这是无法避免的

这是非常具体的。我发现了这一点:但你可能已经意识到了。@Baltarsarq:thanx,是的,我用它将WordNet prolog数据库转换为lucene synonim indexI理解这个想法,就像你之前所说的,我需要的似乎是明确的:我知道在线查询WordNet按概率返回synonim,但我不明白这个概率信息是如何存储在这个prolog数据库中的(我将它转换为索引,您之前已经链接了Syns2Index),如何检索概率信息(是否存在?)并将其映射到您提议的eg类中??Thanx!!你看过这个医生了吗?以防有一天你需要它:链接断开了,但出现了一些搜索,更具体地说,