2012-03-02 2 views
4

스탠포드 nlp를 다운로드했으며 코드가 website 인 경우 실행했습니다. 스탠포드 nlp 코어의 오류

나는이 라인에서 오류가 발생합니다 :

내가 Eclipse를 사용
 Exception in thread "main" java.lang.NoClassDefFoundError: nu/xom/Node 
    at sample1.main(sample1.java:35) 
    Caused by: java.lang.ClassNotFoundException: nu.xom.Node 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.net.URLClassLoader$1.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at java.net.URLClassLoader.findClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    ... 1 more 

, 내가 몇 가지 구성을 수행해야합니다 다음과 같이

 StanfordCoreNLP pipeline = new StanfordCoreNLP(props); 

오류가 무엇입니까? 제발 도와주세요!

+0

클래스 경로를 올바르게 설정 했습니까? –

+0

예. 그것은 맞습니다. – CTsiddharth

+0

stanfordcorenlp 클래스를 사용하지 않는 다른 프로그램에서 시도했습니다. 그러나 imports import edu.stanford.nlp.ling. *; 그건 잘 작동합니다. 나는 무엇이 잘못되었는지 이해하지 못합니다. : – CTsiddharth

답변

29

제공하신 링크에서 stanford-corenlp-2012-01-08.tgz를 다운로드했습니다. 7-zip을 사용하여 압축을 풀고 stanford-corenlp-2012-01-08이라는 이름의 다른 압축 파일을 찾은 다음 7-zip을 사용하여 다시 압축을 해제합니다. 내용은 다음과 같습니다 enter image description here

가 그럼 난 일식의 새로운 자바 프로젝트를 생성하고 해당 프로젝트 내에서 새 폴더 lib 디렉토리를 만들어 넣어

  • joda-time.jar는
  • 스탠포드 - corenlp- 2011-12-27-models.jar
  • 스탠포드 corenlp-2012-01-08.jar
  • xom.jar

항아리가 lib에 있습니다. 그런 다음 프로젝트 Java Build Path를이 jar로 설정하십시오.

enter image description here

다음 I 주요 방법으로 테스트 클래스를 만들었다.

import java.util.Properties; 

import edu.stanford.nlp.pipeline.StanfordCoreNLP; 


public class NLP { 

    /** 
    * @param args 
    */ 
    public static void main(String[] args) { 
     Properties props = new Properties(); 
     props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse, dcoref"); 
     StanfordCoreNLP coreNLP = new StanfordCoreNLP(props); 
    } 

} 

그리고 마지막으로 응용 프로그램을 실행하십시오. 출력은 아래에 묘사된다 :

enter image description here

그것은 성공적으로 실행됩니다.

희망이 도움이 될 것입니다.

+0

덕분에 끝났어!하지만 힙 오버플로가 너무 작아서 props.put ("annotators", "tokenize, ssplit, pos, lemma")로 줄였습니다. :) – CTsiddharth

+3

내 대답이 유용하다면 제발 그것을 upvote. –

+0

이 API를 사용하려면 8GB 메모리와 64 비트 OS가있는 컴퓨터가 최적입니다. –

1

나는 동일한 문제를 스탠포드 - corenlp - 전체 - 2014-10-31을 사용했다.

타파스 보스의 대답은 아주 좋은이지만,이 최신 버전 (그리고 아마도 다른 이전 것)을 위해, 당신은 또한 오류를 제거하는 또 다른 두 개의 jar 파일을 포함해야합니다

  • ejml - 0.23 .JAR
  • jollyday.jar

개발자들은 역시 website에이 정보를 업데이트 :

To process one file using Stanford CoreNLP, use the following sort of command line (adjust the JAR file date extensions to your downloaded release):

java -cp stanford-corenlp-VV.jar:stanford-corenlp-VV-models.jar:xom.jar:joda-time.jar:jollyday.jar:ejml-VV.jar -Xmx2g edu.stanford.nlp.pipeline.StanfordCoreNLP [ -props <YOUR CONFIGURATION FILE> ] -file <YOUR INPUT FILE> 
0

경로를 작성하려면 xom.jar도 추가해야합니다.

0

라이브러리에 ejml-0.23.jar를 포함하십시오.