首页 > 解决方案 > 使用 Spacy 查找俄语的引理(那些没有模型的语言)

问题描述

我已经下载了 Spacy 英语模型并使用此代码查找引理。

import spacy
nlp = spacy.load('en')
doc = nlp(u'Two apples')
for token in doc:
    print(token, token.lemma, token.lemma_)

输出:

Two 11711838292424000352 two
apples 8566208034543834098 apple

现在我想为俄语做同样的事情。但是 Spacy 没有俄语模型。但我看到了他们的俄语 GitHub 代码,我认为该代码可用于查找引理。

我是 Spacy 的新手。对于那些没有模型的语言,将需要一个起点。我还注意到,对于某些语言,让我们说 URDU,他们提供了用于词形还原的查找字典

我想将这个东西扩展到所有没有模型的语言。

注意:在上面的代码中,我相信它可以进一步改进,因为在我的情况下我只需要引理,那么我可以关闭哪些东西以及如何关闭?

标签: nlpspacy

解决方案


在此处输入图像描述 - spaCy 最近在斯坦福 NLP 上推出了一个方便的包装器,因此您可以在 spaCy 管道中无缝地使用 StanfordNLP 好东西:

https://github.com/explosion/spacy-stanfordnlp

代码看起来像这样(未经测试):

import stanfordnlp
from spacy_stanfordnlp import StanfordNLPLanguage

stanfordnlp.download("ru")

snlp = stanfordnlp.Pipeline(lang="ru")
nlp = StanfordNLPLanguage(snlp)

doc = nlp("Привет мир, это Россия")
for token in doc:
    print(token.text, token.lemma_, token.pos_, token.dep_)

推荐阅读