spacy:为荷兰语(nl)语言添加lemmatizer查找

时间:2018-04-25 07:59:45

标签: python spacy lemmatization

我正在使用Spacy 2.0.11和荷兰语模型nl_core_news_sm(nl)。如何添加类似于德语(de)的实现的词形还原查找?

我尝试了以下步骤:

  • 将查找添加到语言文件夹(nl)
  • 中的 init .py
  • 在语言文件夹(nl)中添加lemmatizer.py

在'nlp = nl_core_news_sm.load()'或'来自spacy.lang.nl import Dutch'之后导致以下错误:

ModuleNotFoundError:没有名为'spacy.lang.nl.lemmatizer'的模块 ImportError:[E048]无法从spacy.lang

导入语言nl

2 个答案:

答案 0 :(得分:1)

理论上,你的方法是正确的 - 如果你准确地复制它是如何用德语和其他实现查找的语言实现的,那么它应该可行。

我怀疑你的问题实际上是另一个问题:根据错误消息,它实际上找不到spacy.lang.nl.lemmatizer模块,因此spaCy现在无法导入Dutch语言类。您确定lemmatizer.py文件是否存在于正确的位置,并且是否正确导入? (如果您还没有这样做,我还建议您在单独的环境中运行开发安装并从源代码构建spaCy,以确保没有奇怪的冲突。)

答案 1 :(得分:0)

我担心这是不可能的,英语模型包括一个lemmatizer(见here)而荷兰人没有(here)。

它是一个基于语言形态手写的组件,所以虽然Spacy有荷兰模型,但这个特定功能不存在。