我想在java中找到使用阿拉伯语wordnet的同义词,我在here之前看到这个问题,我使用相同的代码源,但它没有用。也许是因为我使用阿拉伯语字网? 我发现了留置权http://javatutorialandprojects.blogspot.com/2012/10/finding-synonyms-and-hyponyms-for-words.html。 我收到一条错误消息:
线程“main”中的异常edu.smu.tspell.wordnet.impl.file.RetrievalException:打开索引文件时出错:F:\ TPRI2 \ AWN \ lib \ index.sense(Le chemin d'accèsspécifiéestintrouvable) 这是我使用的代码源
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("*********************************************");
}
答案 0 :(得分:0)
您要显示的源代码
System.setProperty("wordnet.database.dir", "F:\\TPRI2\\AWN\\lib");
这意味着:您的代码告诉WordNet在哪里寻找东西。因此:您确定该错误消息中提到的索引文件确实存在于该文件中。
正如你现在想的那样:那个文件不存在;好吧,你必须搜索它。
也许你很幸运,line 492有所帮助:检查是否有文件sense.idx;如果是这样,请重命名(或创建副本)作为index.sense