我想使用斯坦福大学的NLP服务器与德语文本。我测试了http://corenlp.run/,它在德语中运行良好。如果我在自己的机器上用
java -mx4g -cp “*” edu.stanford.nlp.pipeline.StanfordCoreNLPServer [port] [超时]
它只适用于英语。如果我选择德语,我会收到错误消息
无法处理传入的注释
命令行显示:
java.util.Properties.load(Properties.java:341)java.util.Properties$LineReader.readLine(Properties.java:434(StanfordCoreNLPServer.java:540),位于com.sun.net.httpserver.ServerImpl$Exchange$LinkHandler.handle(ServerImpl.java:79),位于sun.net.httpser.AuthFilter.doFilter(AuthFisher.java:33),位于com/sun.net:httpserver.Filter$Chain.doFisher(Filter.java:22),位于sun.net.httpserver.ServerImpl$Exchange.run(ServerImpl.java:647)位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPool Executor.java:1142
我想我得加上德语。jar文件在某个地方,但是我怎么也找不到,在哪里?
3.7.0目前处于测试模式。
因此,请确保重新下载3.7.0的最新版本。
如果使用以下命令启动服务器:
java -Xmx8g edu.stanford.nlp.pipeline.StanfordCoreNLPServer
注意:你需要所有的罐子
stanford-corenlp-full-2016-10-31/*
和
stanford-german-corenlp-models-current.jar
以使该命令生效。在德国jar中有一些路径问题,所以也重新下载它,因为我现在刚刚修复了它。
使用以下命令发出请求:
wget --post-data '<insert German text here...>' 'localhost:9000/?properties={"annotators":"tokenize,ssplit,pos,ner,parse","pipelineLanguage":"de","outputFormat":"json"}' -O -
它应该工作得很好!
注意:要将jar放在CLASSPATH中,可以发出以下命令:
export CLASSPATH=/path/to/stanford-corenlp-full-2016-10-31/*:/path/to/stanford-german-corenlp-models-current.jar
(将/path/to替换为计算机上这些资源所在的位置)
或者,当您调用java时,您可以指定一个类路径,如下所示:
java -cp "/path/to/stanford-corenlp-full-2016-10-31/*:/path/to/stanford-german-corenlp-models-current.jar" ...
服务器在加载德语属性的请求中查看“管道语言”属性,因此将“-prop”与 edu.stanford.nlp.管道一起使用将不起作用。
好吧,我解压缩了德语.jar文件,并在那里使用了属性文件,它像这样锁定。
annotators = tokenize, ssplit, pos, ner, parse
tokenize.language = de
pos.model = edu/stanford/nlp/models/pos-tagger/german/german-hgc.tagger
ner.model = edu/stanford/nlp/models/ner/german.conll.hgc_175m_600.crf.ser.gz
ner.applyNumericClassifiers = false
ner.useSUTime = false
parse.model = edu/stanford/nlp/models/lexparser/germanFactored.ser.gz
# depparse
depparse.model = edu/stanford/nlp/models/parser/nndep/UD_German.gz
depparse.language = german
我这样启动服务器
java -mx4g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -props StanfordCoreNLP-german.properties
但德语仍然不起作用。
我找不到如何处理“*”。我也试图添加
<dependency>
<groupId>edu.stanford.nlp</groupId>
<artifactId>stanford-corenlp</artifactId>
<version>3.7.0</version>
<classifier>models-german</classifier>
</dependency>
到pom.xml
我的gradle构建: 处理器不在单独的模块中。 处理器不做任何事情,在< code>#process中,它只是抛出,看看它是否在工作。 但绝对没有发生任何事情。没有错误,什么都没有。我怎样才能使它工作?
我正在使用注释处理器来处理方法参数的注释。 用于参数的注释类型有一个注释@参数 现在,当注释处理器运行时,我想检查参数注释()是否有参数注释。我通过执行以下代码来实现这一点。 由于某种原因,arg始终为空。是否有注释未返回的原因?
需要注释处理器的帮助。我创建了一个简单的注释处理器,它使用@autoservice注释来检查注释的字段是否为最终字段。但它没有显示任何编译时错误。这是我的配置 注释: 注释处理器: pom文件: 测试文件:
但当我尝试构建以下类时,它表示找不到AbstractProcessor类: 如何让它识别这个类? 下面是确切的错误: 我的导入内容如下所示: 这是我的java版本:
我正在使用注释处理来生成一些类...我有两个模块,处理器本身和使用它的“客户端”模块。我想通过客户端向处理器传递一个参数,我可以这样做 如何在处理器端检索此参数?
我写了一个注释处理器,我想把一些信息写入文本文件。在我的类中,我扩展了并重写了 和 方法。 在方法中,我创建了一个新的(例如:) 我使用它在方法中将一些文本打印到一个文件中。