nlp - 使用 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,他们提供了用于词形还原的查找字典。
我想将这个东西扩展到所有没有模型的语言。
注意:在上面的代码中,我相信它可以进一步改进,因为在我的情况下我只需要引理,那么我可以关闭哪些东西以及如何关闭?
解决方案
- 如果模型不存在,这在空间上将不是最佳的。
- StanfordNLP 语言覆盖面更广,有俄语语言模型:https ://stanfordnlp.github.io/stanfordnlp/installation_download.html
- 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_)
推荐阅读
- ruby-on-rails - 如何取消订阅模型?
- clang - Clang libtooling:如何打印编译器宏定义
- ios - 如何在 Xcode 中使用 AVFoundation 在 11 个专业相机之间切换
- remote-access - 我们可以从本地通过 azure express 路由访问 azure vm 上的文件吗
- c++ - 错误:无法将“bool&”类型的非常量左值引用绑定到“bool”类型的右值
- javascript - 试图在ajax请求后呈现功能组件?
- javascript - handleAddOption (app.js:64) 处未定义的道具
- performance - 为什么 200 毫秒作为可接受的响应时间很受欢迎?
- javascript - 如何检查html表中的hasClass
- javascript - 如何使用 Python 在 Selenium 和 Web 驱动程序中获取部分文本