使用StanfordCoreNLPServer将道具(属性)从Java转换为Python3
我正在将使用StanfordCoreNLP的Java代码转换为访问StanfordCoreNLP服务器的Python。我根本不是Java开发人员 java代码使用以下属性实例化一个StanfordCoreNLP使用StanfordCoreNLPServer将道具(属性)从Java转换为Python3,java,python-3.x,stanford-nlp,Java,Python 3.x,Stanford Nlp,我正在将使用StanfordCoreNLP的Java代码转换为访问StanfordCoreNLP服务器的Python。我根本不是Java开发人员 java代码使用以下属性实例化一个StanfordCoreNLP管道 Properties props = new Properties(); props.put("annotators", "tokenize, ssplit, pos, lemma, ner, regexner"); props.put("ner.model"
管道
Properties props = new Properties();
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, regexner");
props.put("ner.model", serializedClassifier);
props.put("pos.model", posModel);
props.put("tokenize.language", "de");
props.put("ssplit.isOneSentence", "true");
props.put("ssplit.language", "de");
props.put("lemma.language", "de");
props.put("regexner.mapping", Init.REGEXNER);
StanfordCoreNLP pipeline = new StanfordCoreNLP(props);
我将按如下方式实例化Python管道:
self.nlp = StanfordCoreNLP(host, port=port, timeout=30000)
self.props = {
'annotators': 'tokenize, ssplit, pos, lemma, ner, regexner',
'pipelineLanguage': 'de',
'tokenizeLanguage': 'de',
'outputFormat': 'json',
}
def annotate(self, sentence):
return json.loads(self.nlp.annotate(sentence, properties=self.props))
问题是,我不确定如何将java属性(如ner.model
)转换为Python dict键。我想它可能是类似于nerModel的东西。。。但是,当传递self.props
对象无意义键时不会出错。所以,我不知道钥匙是否有效
在斯坦福的页面上,我没有看到关于Python属性的文档 启动服务器时,您可以使用
-serverProperties
选项并提交一个属性文件,该文件将自定义服务器使用的管道
详情如下:
您是如何启动服务器的,使用什么库?您可以在启动服务器时提交属性文件。我是用默认设置启动它的。我现在从一个属性文件开始。如果您想将此作为答案发布,我会将其标记为解决方案。谢谢您的帮助。对于如何正确配置
.properties
文件,该页面没有提供很多指导。这可能是因为我不是Java开发人员。从输出结果来看,我不确定服务器是否接收了大量这些设置。我在开始时提出了另一个更具体的问题。是否有其他文档可以为我解答这个问题?