2013-04-17 3 views
3

stanford-corenlp-1.3.5.jar에 제공된 Charniak 파서를 실행하려고합니다. 레코드의 패키지는 edu.stanford.nlp.parser.charniak이고 클래스는 CharniakParser입니다.스탠포드 Charniak 파서 종속성을 해결하는 방법

그래서 난 그냥 완전성을 위해 사용하려고 방법에 대한 코드 예제 줄 것이다 : 내가 얻을이 코드를 실행할 때이 마지막 줄에

CharniakParser cp = new CharniakParser(); 
PTBTokenizer<HasWord> ptbt = new PTBTokenizer(new FileReader("sample1.txt"), new WordTokenFactory(), ""); 
List<Word> tokens = new ArrayList<Word>(); 
for (Word token; ptbt.hasNext();) { 
    token = (Word) ptbt.next(); 
    tokens.add(token); 
} 
Tree t = cp.getBarseParse(tokens); 

cannot run program "/u/nlp/packages/bllip-parser/reranking-parser.sh" ... The system cannot find the specified file

문제는 사람이 지정된 파일을 찾을 수 없다는 것입니다. 배포판에 포함 된 것을 보지 못했고 그 이름으로 다운로드해야 할 종속성을 찾을 수 없습니다. 구글 검색은 'reranking-parser.sh'가 존재하는 유일한 장소가 스탠포드의 Charniak 파서 버전의 실제 소스 코드에 있음을 보여줍니다 (Stanford가 원래 Charniak 파서를 작성하지 않았다는 것을 알고 있기 때문에 분명히 밝히려고 노력하고 있습니다. 브라운 출신).

누구나이 파서를 사용해 본 경험이 있습니까? 없어진 물건 있어요? 나는 기회가 더 좋아서 여기서 물어 본다.

+0

[tag : charniak-parser]에 짧은 태그 wiki를 작성 하시겠습니까? 그것은 좋은 태그입니다. 단지 자기 설명력이 아닙니다. – Zyerah

+0

@ 텔 티엔 예, 실제로 내 마음이 미끄러졌습니다 ... 덕분에 그것을 할 것입니다 – demongolem

+0

굉장, 고마워! – Zyerah

답변

2

좋아요, @DMoses et al. 나는 메일 링리스트에 가입했고,해야 할 일에 대한 대답을 얻었다. 그래서는 (지금까지) 문서화되지 않기 때문에 나에게 미래의 방문자 대답으로 함께 통과하자

파일 reranking-parser.sh은 차니 파서의 특정 버전에 속한다. 따라서 을 gthub에 있고 "bllip-parser"라고하는 파서의 버전으로 가져와야합니다. Charniak 파서의 경우 CoreNLP에 대한 공식적인 지원은 없으며, 제공되는 기능은 독립형으로 제공된다는 의미가 아니라 오히려 github의 외부 파서와 함께 작동하는 학생용 확장 기능입니다.

실제로 C++ 실행 파일을 가리키는 아주 간단한 프로 시저이지만,이 시점에서 Python을 사용하여 Java를 호출하여 C++을 호출하기 때문에 이것이 작동하지 않습니다.

관련 문제