使用 spacy Spanish Tokenizer

Use spacy Spanish Tokenizer

我总是使用带有英语或德语的 spacy 库。

要加载我使用此代码的库:

import spacy
nlp = spacy.load('en')

我想使用西班牙语分词器,但我不知道该怎么做,因为 spacy 没有西班牙语模型。 我试过这个

python -m spacy download es

然后:

nlp = spacy.load('es')

但显然没有成功。

有人知道如何以正确的方式用西班牙语标记西班牙语句子吗?

对于 1.6 之前的版本,这段代码可以正常工作:

from spacy.es import Spanish
nlp = Spanish()

但在 1.7.2 版本中需要进行一些改动:

from spacy.es import Spanish
nlp = Spanish(path=None)

来源:gitter 聊天中的@honnibal

这对我有用:

python -m spacy download es_core_news_sm


import spacy
nlp = spacy.load("es_core_news_sm")

您必须使用命令行下载西班牙语模型(“es”代表西班牙语,'md' = 中等模型大小,'sm' = 小模型大小)。目前有两种预训练的西班牙语模型可用:

  • es_core_news_sm
  • es_core_news_md

选择中小型版本,使用命令行下载:

python -m spacy download es_core_news_sm
python -m spacy download es_core_news_md

然后使用模型名称加载 python 中选择的模型:

import spacy
nlp = spacy.load("es_core_news_sm") # or spacy.load("es_core_news_md")

# do something with the model, e.g. tokenize the text
doc = nlp(text_in_spanish)
for token in doc:
   print(token.text)

查看模型更新文档: https://spacy.io/models/es