如何防止Core NLP Pos Tagger进行令牌化?

时间:2017-11-13 05:58:46

标签: stanford-nlp

我使用核心NLP Parser来标记我的文本。示例“......dempäterenPapstBenedikt XVI。,in der Glaubenskongergation ......”

现在问题是,当我使用解析器来标记我的文本时,我得到一个带有“XVI”的标记。哪个是对的。但是当我将这个令牌与Core NLP Pos Tagger一起使用时,我得到两个令牌[u'XVI',u'NE'],[u'。',u'$。']这是我不想要的。我可以以某种方式将标记器重新标记为原始标记吗?

1 个答案:

答案 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