스탠포드 NLP 3.7.0을 우리 시스템에 통합하기 위해 노력하고 있으며 Linux 시스템에서는 아무런 문제가 없습니다. 그러나 Windows 개발 컴퓨터는 문제. classpath에 Stanford-parser와 Javadoc을 추가했으며 모델은 maven의 일부입니다.자바, 스탠포드 NLP : Windows에서만 countries_of_residence.rules에 대한 유효성을 검사 할 수 없습니다.
오류 로그 :
java.lang.IllegalArgumentException: Unable to validate JAR entry with name edu/stanford/nlp/models/kbp/tokensregex/per:countries_of_residence.rules
at org.apache.catalina.loader.WebappClassLoaderBase.findResourceInternal(WebappClassLoaderBase.java:3359)
at org.apache.catalina.loader.WebappClassLoaderBase.findResource(WebappClassLoaderBase.java:1424)
at org.apache.catalina.loader.WebappClassLoaderBase.getResourceAsStream(WebappClassLoaderBase.java:1652)
at edu.stanford.nlp.io.IOUtils.findStreamInClasspathOrFileSystem(IOUtils.java:407)
at edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem(IOUtils.java:461)
at edu.stanford.nlp.io.IOUtils.readStreamFromString(IOUtils.java:390)
at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromSerializedFile(LexicalizedParser.java:601)
at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromFile(LexicalizedParser.java:405)
at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:187)
at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:166)
at com.tooltank.spring.service.GroupCanvasServiceImpl.<init>(GroupCanvasServiceImpl.java:56)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
Caused by: java.io.IOException: Die Syntax für den Dateinamen, Verzeichnisnamen oder die Datenträgerbezeichnung ist falsch
at java.io.WinNTFileSystem.canonicalize0(Native Method)
at java.io.WinNTFileSystem.canonicalize(WinNTFileSystem.java:428)
at java.io.File.getCanonicalPath(File.java:618)
at org.apache.catalina.loader.WebappClassLoaderBase.findResourceInternal(WebappClassLoaderBase.java:3352)
의 pom.xml :
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-parser</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.7.0</version>
</dependency>
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.7.0</version>
<classifier>models</classifier>
</dependency>
모든 아이디어를 우리는 프로젝트를 시작할 때 우리가 얻을 오류인가? 고맙습니다.
솔루션
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.7.0</version>
<classifier>models</classifier>
<exclusions>
<exclusion>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp-3.7.0-models-kbp</artifactId>
</exclusion>
</exclusions>
</dependency>
이 덕분에 많은 도움이되었습니다. :-) –
안녕하세요, NLP를 사용할 때 GC 오버 헤드가 발생합니다. 동일한 질문을 게시했습니다. 확인할 수 있습니까 : http://stackoverflow.com/questions/42690737/standford-nlp-gc-overhead-limit-excedded-when-using-parser-on-tomcat. 고맙습니다. –
@StanfordNLPHelp 언급 한 솔루션이 나에게 효과적이지 않았습니다. 모델이라는 단일 항아리를 다운로드하고이 kbp 패키지가 그 안에 있습니다. 어떤 제안? – OutOfMind