首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >麻省理工学院Java WordNet接口:获取WordNet词典编写器类或超意义

麻省理工学院Java WordNet接口:获取WordNet词典编写器类或超意义
EN

Stack Overflow用户
提问于 2012-11-23 16:29:31
回答 1查看 2.9K关注 0票数 2

我有一个项目,我需要得到一个单词的词义。我正在考虑使用WordNet,因为它有自己的词典编写器类,也称为超感觉。我刚刚下载了MIT JWI,试着看看这个JWI是否支持它。该手册没有提到任何关于返回任何附加到单词的词汇信息。

代码语言:javascript
复制
import java.io.File;
import java.io.IOException;
import java.io.ObjectInputStream.GetField;
import java.net.URL;
import edu.mit.jwi.*;
import edu.mit.jwi.item.IIndexWord;
import edu.mit.jwi.item.ILexFile;
import edu.mit.jwi.item.ISenseKey;
import edu.mit.jwi.item.IWord;
import edu.mit.jwi.item.IWordID;
import edu.mit.jwi.item.POS;

public class MITJavaWordNetInterface {

    public static void main(String[] args) throws IOException{

        //construct URL to WordNet Dictionary directory on the computer
        String wordNetDirectory = "WordNet-3.0";
        String path = wordNetDirectory + File.separator + "dict";
        URL url = new URL("file", null, path);      

        //construct the Dictionary object and open it
        IDictionary dict = new Dictionary(url);
        dict.open();

        // look up first sense of the word "dog "
        IIndexWord idxWord = dict.getIndexWord ("dog", POS.NOUN );
        IWordID wordID = idxWord.getWordIDs().get(0) ;
        IWord word = dict.getWord (wordID);         
        System.out.println("Id = " + wordID);
        System.out.println(" Lemma = " + word.getLemma());
        System.out.println(" Gloss = " + word.getSynset().getGloss());      
    }    
}

我设法运行了MIT提供的示例。关于如何使用MIT JWI或任何其他工具获取提交的单词的词法信息的任何线索或建议都将是非常好的。有关如何调用该方法的示例也将不胜感激。

代码语言:javascript
复制
An example word: dog
Desired results: noun.animal
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-06 11:37:17

您应该能够使用上面提到的相同代码,并添加更多行

代码语言:javascript
复制
    IIndexWord idxWord = dict.getIndexWord("dog", POS.NOUN);
    IWordID wordID = idxWord.getWordIDs().get(0);
    IWord word = dict.getWord(wordID);
    ISynset synset = word.getSynset();
    String LexFileName = synset.getLexicalFile().getName();
    System.out.println("Lexical Name : "+ LexFileName);
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13525372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档