я хочу использовать stanford-parser-full-2015-01-30 в командной строке java - PullRequest
0 голосов
/ 07 февраля 2020

java -mx100m edu.stanford.nlp.trees.EnglishGrammaticalStructure -sentFile input.txt -collapsedTree -CCprocessed -parseTree -parserFile englishPCFG.ser.gz

при использовании этой команды

java -mx100m edu.stanford.nlp.trees.EnglishGrammaticStructure -sentFile input. txt -collapsedTree -CCprocessed -parseTree -parserFile englishPCFG.ser.gz возвращает эту ошибку: невозможно найти или загрузить основной класс edu.stanford.nlp.trees.EnglishGrammaticStructure

и когда я использую эту команду

java -cp "*" edu.stanford.nlp. 1016 *

Loading parser from serialized file englishPCFG.ser.gz ...
java.io.IOException: Unable to resolve "englishPCFG.ser.gz" as either class path, filename or URL
        at edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem(IOUtils.java:463)
        at edu.stanford.nlp.io.IOUtils.readStreamFromString(IOUtils.java:396)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromSerializedFile(LexicalizedParser.java:599)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromFile(LexicalizedParser.java:394)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:181)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:160)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at edu.stanford.nlp.trees.GrammaticalStructure.loadParser(GrammaticalStructure.java:1394)
        at edu.stanford.nlp.trees.GrammaticalStructure.main(GrammaticalStructure.java:1645)
Loading parser from text file englishPCFG.ser.gz java.io.IOException: Unable to resolve "englishPCFG.ser.gz" as either class path, filename or URL
        at edu.stanford.nlp.io.IOUtils.getInputStreamFromURLOrClasspathOrFileSystem(IOUtils.java:463)
        at edu.stanford.nlp.io.IOUtils.readerFromString(IOUtils.java:591)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromTextFile(LexicalizedParser.java:533)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.getParserFromFile(LexicalizedParser.java:396)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:181)
        at edu.stanford.nlp.parser.lexparser.LexicalizedParser.loadModel(LexicalizedParser.java:160)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at edu.stanford.nlp.trees.GrammaticalStructure.loadParser(GrammaticalStructure.java:1394)
        at edu.stanford.nlp.trees.GrammaticalStructure.main(GrammaticalStructure.java:1645)
Exception in thread "main" java.lang.RuntimeException: java.lang.NullPointerException
        at edu.stanford.nlp.trees.GrammaticalStructure.main(GrammaticalStructure.java:1655)
Caused by: java.lang.NullPointerException
        at edu.stanford.nlp.trees.GrammaticalStructure.main(GrammaticalStructure.java:1652)

Я не знаю, в чем проблема и как использовать эту библиотеку

1 Ответ

1 голос
/ 08 февраля 2020

Вы должны указать полный путь ресурса в команде.

edu/stanford/nlp/models/lexparser/englishPCFG.ser.gz

Когда Java пытается что-то найти, он ищет этот путь во всех файлах jar в CLASSPATH. Также -cp "*" будет работать только в том случае, если вы выполняете команду в каталоге со всеми файлами .jar.

...