2017-03-25 10 views
2

내 응용 프로그램의 두 단어 사이의 유사성을 계산하려고합니다. 나는 wordnet 사전을 사용했다. 코드를 실행하는 동안 클래스 경로에 wnjpn.db가 필요합니다. 나는 자바 응용 프로그램으로 코드를 실행하면 I 앱에서 src 폴더에이 DB 파일을 추가 할 때 그것을 잘 작동하지만 웹 페이지에서 실행하는 동안이 오류를 제공하는오류 : NICT wordnet db가 classpath에 저장되어 있는지 확인하십시오. /wnjpn.db

같은

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); 


} 

} 솔루션을 찾을 수

답변

3

.

추가 - 프로젝트 속성으로 이동> - -> 자바 빌드 경로

Image 1

> 자바 자원에 폴더 ---> 일부 폴더

해당 폴더에 wnjpn.db 추가

클릭 폴더를 추가 -> 폴더 선택을 당신의 wnjpn.db 파일에 저장됩니다 -> 확인을 클릭

image 2

런타임시 wnjpn.db 파일을 자동으로로드합니다. 그것은 나를 위해 작동합니다.