我使用核心NLP Parser来标记我的文本。示例“......dempäterenPapstBenedikt XVI。,in der Glaubenskongergation ......”
现在问题是,当我使用解析器来标记我的文本时,我得到一个带有“XVI”的标记。哪个是对的。但是当我将这个令牌与Core NLP Pos Tagger一起使用时,我得到两个令牌[u'XVI',u'NE'],[u'。',u'$。']这是我不想要的。我可以以某种方式将标记器重新标记为原始标记吗?
答案 0 :(得分:0)
如果您在该文本上运行管道,则应正确标记。
以下是示例命令:
java -Xmx8g edu.stanford.nlp.pipeline.StanfordCoreNLP -props StanfordCoreNLP-german.properties -file example-1.txt -outputFormat text
您需要完整的Stanford CoreNLP版本才能执行此操作,并且您需要德国模型jar。
这些资源都在这里提供:https://stanfordnlp.github.io/CoreNLP/download.html
作为参考,这些是德国属性(当您使用上面的命令中的德语属性文件指定时使用它们):
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
上面的命令将创建一个包含解析树和所有pos标记的人类可读输出文件。有多种方法可以运行管道。一个是上面显示的命令行命令,您也可以使用Java API运行一个。
此处有更多详情:https://stanfordnlp.github.io/CoreNLP/cmdline.html 在这里:https://stanfordnlp.github.io/CoreNLP/api.html