Spacy 中德语词形还原的惊人结果
Surprising results for German lemmatization in Spacy
我想在 Spacy 中使用德语的词形还原器,但我对结果感到非常惊讶:
import spacy
nlp = spacy.load("de_dep_news_trf")
[token.lemma_ for token in nlp('ich du er sie mein dein sein ihr unser')]
给予
['ich', 'du', 'ich', 'ich', 'meinen', 'mein', 'mein', 'mein', 'sich']
我不确定我是否可以使用它:
vielen dank für deinen sehr guten tweet
变成
viel danken für mein sehr gut tweet
这明显改变了句子的意思。
这是预期的吗?我是否缺少 tuning/configuration 会使词形还原器不那么“激进”?
当前 (v3.1) 默认的德语词形还原器不是很好。这是一个非常简单的查找词形还原器,在其查找 table 中有一些有问题的条目,但是考虑到德国预训练管道的许可限制,没有其他好的选择。 (我们确实有一些关于统计词形还原器的内部工作正在进行中,但我不确定它何时会发布。)
如果引理对您的任务很重要,这里最好的建议是使用不同的词形还原器。根据您的任务/大小/速度/许可证要求,您可以考虑使用来自 spacy-stanza
or a third-party library like spacy-iwnlp
的德国模型(目前仅适用于 spacy v2,但可能不难更新到 v3)。
我想在 Spacy 中使用德语的词形还原器,但我对结果感到非常惊讶:
import spacy
nlp = spacy.load("de_dep_news_trf")
[token.lemma_ for token in nlp('ich du er sie mein dein sein ihr unser')]
给予
['ich', 'du', 'ich', 'ich', 'meinen', 'mein', 'mein', 'mein', 'sich']
我不确定我是否可以使用它:
vielen dank für deinen sehr guten tweet
变成
viel danken für mein sehr gut tweet
这明显改变了句子的意思。
这是预期的吗?我是否缺少 tuning/configuration 会使词形还原器不那么“激进”?
当前 (v3.1) 默认的德语词形还原器不是很好。这是一个非常简单的查找词形还原器,在其查找 table 中有一些有问题的条目,但是考虑到德国预训练管道的许可限制,没有其他好的选择。 (我们确实有一些关于统计词形还原器的内部工作正在进行中,但我不确定它何时会发布。)
如果引理对您的任务很重要,这里最好的建议是使用不同的词形还原器。根据您的任务/大小/速度/许可证要求,您可以考虑使用来自 spacy-stanza
or a third-party library like spacy-iwnlp
的德国模型(目前仅适用于 spacy v2,但可能不难更新到 v3)。