如果要自定义服务器使用的管道,请创建一个名为的文件
server.properties(也可以根据需要调用它)。
然后
-serverProperties server.properties,在使用java命令启动服务器时添加此选项。
在该.properties文件中,您应该包括
ner.model = /path/to/custom_model.ser.gz
通常,您可以在.properties文件中自定义服务器将使用的管道。例如,您还可以在其中用行
annotators =tokenize,ssplit,pos,lemma,ner,parse等设置注释器列表。
更新以解决评论:
在您的Java命令中,您不需要
-ner.model /path/to/custom_model.ser.gz
.properties文件中可以包含无限数量的属性设置,每行一个设置(空白行将被忽略,#号行被忽略)
当您运行Java命令时,默认情况下它将在您正在运行该命令的目录中查找文件。因此,如果您的命令包含
-serverProperties server.properties
该命令,则将假定该文件server.properties
位于该命令运行所在的目录中。如果提供绝对路径,则-serverProperties /path/to/server.properties
可以从任何地方运行命令。因此,为了清楚起见,您可以使用以下命令启动服务器(在包含所有jar的文件夹中运行):
java -Xmx8g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLPServer -port9000 -timeout 15000 -serverProperties server.properties
并且
server.properties应该是这样的文件:
ner.model = /path/to/custom_model.ser.gz
server.properties可能看起来像这样:
annotators = tokenize,ssplit,pos,lemma,ner,depparsener.model = /path/to/custom_model.ser.gzparse.maxlen = 100
仅作为示例…您应将所有设置
server.properties
您似乎正在使用我不太了解的pycorenlp库。另外2个选项是我在该答案或
stanza我们制作的程序包中显示的一些代码。上面那个答案的细节。



