使用 Stanford NLP 进行西班牙语词性标注 - 是否有可能获得 person/number/gender?

Spanish POS tagging with Stanford NLP - is it possible to get the person/number/gender?

我正在使用 Stanford NLP 为西班牙语文本做词性标注。我可以为每个单词获取一个 POS 标签,但我注意到我只得到了 Ancora 标签的前四个部分,它缺少最后三个部分的人、数字和性别。

这是我的代码(请原谅 jruby...):

props = java.util.Properties.new()
props.put("tokenize.language", "es")
props.put("annotators", "tokenize, ssplit, pos, lemma, ner, parse")
props.put("ner.model", "edu/stanford/nlp/models/ner/spanish.ancora.distsim.s512.crf.ser.gz")
props.put("pos.model", "/stanford-postagger-full-2015-01-30/models/spanish-distsim.tagger")
props.put("parse.model", "edu/stanford/nlp/models/lexparser/spanishPCFG.ser.gz")

pipeline = StanfordCoreNLP.new(props)
annotation = Annotation.new("No sé qué estoy haciendo. Me pregunto si esto va a funcionar.")

我得到这个作为输出:

[Text=No CharacterOffsetBegin=0 CharacterOffsetEnd=2 PartOfSpeech=rn Lemma=no NamedEntityTag=O] [Text=sé CharacterOffsetBegin=3 CharacterOffsetEnd=5 PartOfSpeech=vmip000 Lemma=sé NamedEntityTag=O] [Text=qué CharacterOffsetBegin=6 CharacterOffsetEnd=9 PartOfSpeech=pt000000 Lemma=qué NamedEntityTag=O] [Text=estoy CharacterOffsetBegin=10 CharacterOffsetEnd=15 PartOfSpeech=vmip000 Lemma=estoy NamedEntityTag=O] [Text=haciendo CharacterOffsetBegin=16 CharacterOffsetEnd=24 PartOfSpeech=vmg0000 Lemma=haciendo NamedEntityTag=O] [Text=. CharacterOffsetBegin=24 CharacterOffsetEnd=25 PartOfSpeech=fp Lemma=. NamedEntityTag=O]

(我注意到引理也不正确,但这可能是一个单独问题的问题。没关系,我看到 Stanford NLP 不支持西班牙语词形还原。)

Why does Stanford NLP only use a reduced version of the Ancora tag?

这是为确保高标记准确性而做出的实际决定。 (在标签上保留形态信息导致整个标注器遭受数据稀疏性的困扰,并且不仅在形态注释上而且在所有方面都做得更糟。)

Is it possible to get the entire tag using Stanford NLP?

没有。不过,您可以使用一个简单的基于规则的系统来做这件事,或者使用斯坦福分类器来训练您自己的形态注释器。 (如果您选择任何一条路径,请随时分享您的代码!)

如果仅使用 Stanford POS 标注器并不严格,您可能想尝试 POS 和形态标注工具包 RDRPOSTagger。 RDRPOSTagger 支持 40 种不同语言的预训练 POS 和词法标记,包括西班牙语。

对于西班牙语 POS 和词法标记,RDRPOSTagger 使用 IULA 西班牙语 LSP 树库进行训练。 RDRPOSTagger 获得了 97.95% 的标注准确率,标注速度为 200K words/second in [=24] =] 实现(10K words/second in Python 实现),使用电脑Window7 OS 64-bit core i5 2.50GHz CPU 和 6GB 内存。