【问题标题】:Use spacy Spanish Tokenizer使用 spacy 西班牙分词器
【发布时间】:2017-08-14 08:04:06
【问题描述】:

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

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

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

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

python -m spacy download es

然后:

nlp = spacy.load('es')

但显然没有任何成功。

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

【问题讨论】:

    标签: python nlp tokenize spacy


    【解决方案1】:

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

    from spacy.es import Spanish
    nlp = Spanish()
    

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

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

    来源:@honnibal 在 gitter 聊天中

    【讨论】:

    【解决方案2】:

    您必须使用命令行下载西班牙语模型(“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

    【讨论】:

      【解决方案3】:

      这对我有用:

      python -m spacy download es_core_news_sm
      
      
      import spacy
      nlp = spacy.load("es_core_news_sm")
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-01-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-24
        • 2021-05-28
        相关资源
        最近更新 更多