java - WordNet(JWI 麻省理工学院): Antonyms of a word?

标签 java dictionary wordnet jwi

我正在使用 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 获取相关信息的建议。此外,**我愿意接受任何其他 API 或库,它们会为我提供最新版本的词典、反义词、同义词和写得很好的描述。**感谢每一个建议。

最佳答案

使用 IWord# getRelatedMap获取 map java.util.Map<IPointer,java.util.List<IWordID>> .该映射包含当前引理(词)与其他词的关系图。

检查 Pointer#Antonym 是否存在在这张 map 上。

看看wordnet界面Artha比较字典查找结果的正确性。

没有直接的方法来获得所有单词的列表。使用了黑客:

sed 's/^\ *//' index.adj | cut -f1 -d\ 

为所有索引文件点此:index.adj、index.adv、index.noun、index.sense、index.verb

关于java - WordNet(JWI 麻省理工学院): Antonyms of a word?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21266379/

相关文章:

python - 使用 WN-Affect 检测字符串的情绪/心情

java - 使用 JFreeChart 的故障绘图

java - 如何在没有 HashMap 或数组的情况下用 Java 创建词频计数器?

java - 如何使用正则表达式删除引号

recursion - F# 迭代嵌套字典

python - 从字典中调用特定值

java - 这是Monster Builder的一个很好的Builder/Factory模式,用于抽象混合有setter的长构造函数吗?

Python 是 'key in dict' 与 'key in dict.keys()' 不同/更快

python - 将 Wordnet 语义映射到 Verbnet

java - 使用wordnet api检查地名、人名或组织名