ERROR: Make sure the NICT wordnet db is stored in classpath at: /wnjpn.db

ERROR: Make sure the NICT wordnet db is stored in classpath at: /wnjpn.db

我正在为我的应用程序计算两个词之间的相似度。我用过wordnet词典。在执行代码时,它需要 class 路径中的 wnjpn.db。当我将代码作为 java 应用程序执行时,当我将此 db 文件添加到应用程序中的 src 文件夹时它工作正常,但是当我尝试从网页 运行 时它给出错误

 ERROR: Make sure the NICT wordnet db is stored in classpath at: /wnjpn.db 

示例代码看起来像

import edu.cmu.lti.lexical_db.ILexicalDatabase;
import edu.cmu.lti.lexical_db.NictWordNet;
import edu.cmu.lti.ws4j.RelatednessCalculator;
import edu.cmu.lti.ws4j.impl.HirstStOnge;
import edu.cmu.lti.ws4j.impl.JiangConrath;
import edu.cmu.lti.ws4j.impl.LeacockChodorow;
import edu.cmu.lti.ws4j.impl.Lesk;
import edu.cmu.lti.ws4j.impl.Lin;
import edu.cmu.lti.ws4j.impl.Path;
import edu.cmu.lti.ws4j.impl.Resnik;
import edu.cmu.lti.ws4j.impl.WuPalmer;
import edu.cmu.lti.ws4j.util.WS4JConfiguration;

 public class similarity {

public  static ILexicalDatabase db =  new NictWordNet();

/* 
//available options of metrics
private static RelatednessCalculator[] rcs = { new HirstStOnge(db),
        new LeacockChodorow(db), new Lesk(db), new WuPalmer(db),
        new Resnik(db), new JiangConrath(db), new Lin(db), new Path(db) };
*/
public  static double compute(String word1, String word2) {
    WS4JConfiguration.getInstance().setMFS(true);
    double s = new WuPalmer(db).calcRelatednessOfWords(word1, word2);
    return s;
}

public static void main(String[] args) {
    String[] words = {"add", "get", "filter", "remove", "check", "find", "collect", "create"};


            double distance = compute("OTHER OFFENSE","PROSTITUTION");
            System.out.println( distance);


}

}

找到解决方案。

添加-->文件夹到Java资源--->一些文件夹

将 wnjpn.db 添加到该文件夹​​-->转到项目属性--> Java 构建路径

Image 1

点击添加文件夹--> select文件夹中你的wnjpn.db文件被存储-->点击确定

image 2

它将在运行时自动加载 wnjpn.db 文件。它对我有用。