我在www.wordnet.princeton.edu库中使用www.projects.csail.mit.edu/jwi/api/edu/mit/jwi开源词典?
我无法找到一个单词的反义词。人们声称这是一本非常好的词典,但我找不到我的话。我需要反义词和其他相关词。良好的描述和其他词汇信息,但我无法找到我需要的。
这是我的代码:
List<IWordID> wordIDList = indexWordList.get(0).getWordIDs();
for(int idIndex = 0; idIndex < wordIDList.size(); idIndex++)
{
IWordID wordID = wordIDList.get(idIndex);
IWord word = m_Dict.getWord(wordID);
System.out.println("Id = " + wordID);
System.out.println(" Lemma = " + word.getLemma());
System.out.println(" Gloss = " + word.getSynset().getGloss());
ISynset synset = word.getSynset();
String LexFileName = synset.getLexicalFile().getName();
System.out.println("Lexical Name : " + LexFileName);
/** Finding stem for the word. */
WordnetStemmer stem = new WordnetStemmer(m_Dict);
//System.out.println("test" + stem.findStems(key, POS.NOUN));
ArrayList<String> antonymsList = new ArrayList<String>();
List<IWordID> relatedWords = word.getRelatedWords();
Map<IPointer, List<IWordID>> map = word.getRelatedMap();
AdjMarker marker = word.getAdjectiveMarker();
for (IWordID antonym : word.getRelatedWords()) {
String meaning = m_Dict.getWord(antonym).getLemma();
antonymsList.add(meaning);
System.out.println("Antonym: " + meaning);
System.out.println("Antonym POS: " + m_Dict.getWord(antonym).getPOS());
}
}
我真正需要什么? :::
我需要有关如何从WordNet获取相关信息的建议。此外,**I am open to accept any other API or library that will provide me the latest version of Dictionary, antonyms, Synonyms and well written description.**
每个建议都表示赞赏。
答案 0 :(得分:1)
使用IWord#getRelatedMap获取地图java.util.Map<IPointer,java.util.List<IWordID>>
。该地图包含当前引理(单词)与其他单词的关系图。
检查此地图中是否存在Pointer#Antonym。
查看wordnet接口Artha以比较字典查找结果的正确性。
没有直接的方法来列出所有单词。使用过hack:
sed 's/^\ *//' index.adj | cut -f1 -d\
为所有索引文件添加此点:index.adj,index.adv,index.noun,index.sense,index.verb