【问题标题】:Editing Wordnet Dictionary using EXTJWNL使用 EXTJWNL 编辑 Wordnet 词典
【发布时间】:2012-09-16 20:04:39
【问题描述】:

我想使用extjwnl library 向 Wordnet 添加一个新的同义词集。为此,我编写了以下示例代码。保存后,我观察到确实添加了新的同义词和单词,但创建的语义指针(标识下义关系)没有保存。如何将指针与字典关联?

        JWNL.initialize(new FileInputStream(propsFile));
        Dictionary dictionary = Dictionary.getInstance();
        Iterator<Synset> synsets = dictionary.getSynsetIterator(POS.NOUN);

        dictionary.edit();
        Synset newSynset = new Synset(dictionary, POS.NOUN);
        IndexWord newWord = new IndexWord(dictionary, "hublabooboo", POS.NOUN, newSynset);
        Synset topmostSynset = synsets.next();
        Pointer newPointer = new Pointer(PointerType.HYPONYM, topmostSynset, newSynset);
        dictionary.save();

【问题讨论】:

    标签: java nlp wordnet


    【解决方案1】:

    我建议你添加指向同义词集的指针列表的指针:

      topmostSynset.getPointers().add(newPointer);
    

    如果指针是对称的(如上位词,它有一个镜像:下位词),并且 dictionary.getManageSymmetricPointers() 则自动添加反向指针(例如下位词)。

    顺便说一句,通过这段代码 Synset topmostSynset = synsets.next();看起来您推断从同义词集迭代器返回的第一个同义词集是“实体”。但这在任何地方都不能保证。这是依赖于字典的:可能适用于基于文件,但很可能不适用于基于地图且不可预测的基于数据库。

    来源:SourceForge

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-30
      • 2018-06-07
      • 2017-07-02
      • 1970-01-01
      相关资源
      最近更新 更多