在 java 中使用阿拉伯语 Wordnet 查找同义词

Find Synonyms using Arabic Wordnet in java

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

Exception in thread "main" edu.smu.tspell.wordnet.impl.file.RetrievalException: Error opening index file: F:\TPRI2\AWN\lib\index.sense (Le chemin d’accès spécifié est introuvable) This is the code source i used

    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("*********************************************");
    }

您显示的源代码

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

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

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

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