0

我想在 java 中使用阿拉伯语 wordnet 找到同义词,我在这里看到过这个问题,我使用了相同的代码源,但它没有用。也许是因为我使用的是阿拉伯语单词 net ?我还发现了一个留置权http://javatutorialandprojects.blogspot.com/2012/10/finding-synonyms-and-hyponyms-for-words.html。我收到一条错误消息:

线程“主”edu.smu.tspell.wordnet.impl.file.RetrievalException 中的异常:打开索引文件时出错:F:\TPRI2\AWN\lib\index.sense (Le chemin d'accès spécifié est introuvable) 这是我使用的代码源

    package lucene.ri;

import edu.smu.tspell.wordnet.NounSynset;
import edu.smu.tspell.wordnet.Synset;
import edu.smu.tspell.wordnet.SynsetType;
import edu.smu.tspell.wordnet.WordNetDatabase;

public class wordnet 
 {

    public static void main(String args[])
    {
        String a[]=new String[2];
        int j=0;
        while(j<2)
        {
            System.setProperty("wordnet.database.dir", "F:\\TPRI2\\AWN\\lib");
            NounSynset nounSynset;
            NounSynset[] hyponyms;
            WordNetDatabase database = WordNetDatabase.getFileInstance();
            Synset[] synsets = database.getSynsets(a[j], SynsetType.NOUN);
             System.out.println("*********************************************");
            for (int i = 0; i < synsets.length; i++)
                {
            nounSynset = (NounSynset)(synsets[i]);
            hyponyms = nounSynset.getHyponyms();

            System.err.println(nounSynset.getWordForms()[0] +": " + nounSynset.getDefinition() + ") has " + hyponyms.length + " hyponyms");

                }
            j++;
        }
         System.out.println("*********************************************");
    }
4

1 回答 1

0

您正在显示的源代码

  System.setProperty("wordnet.database.dir", "F:\\TPRI2\\AWN\\lib");

这意味着:你的代码告诉 WordNet 在哪里寻找东西。因此:您确定该错误消息中提到的索引文件确实直接存在于其中吗?

正如您现在所想的那样:该文件不存在;那么你必须搜索它。

也许你很幸运,有帮助:检查是否有文件 sense.idx;如果是这样,重命名(或创建副本)为 index.sense

于 2016-12-23T09:42:16.923 回答