萌新只是想做一个chatbot,文本分析时安装spacy时踩了两个小时的坑。终于找到了行之有效的方法。
相信如果按照官方的安装方法安装好了,并且运行没有报错,你就不会来看这篇博客了吧=_=。
我就直接写做法吧。在安装了最新版的spacy库后,点击这个链接。截图如下。
模型开头字母的代表语言,比如en代表英语,es代表西班牙语,zh代表中文。下载后缀为sm的就行,比如需要英语的模型,那么下载en_core_web_sm-2.3.1。这里需要注意,务必下载最新版的语言模型,否则正则表达式模块会报错。
下载下来后,在压缩文件所在目录shift+右键打开powshell,输入pip install <压缩文件名>
(比如我下载的压缩文件为en_core_web_sm-2.3.1.tar.gz,那么输入pip install en_core_web_sm-2.3.1.tar.gz
)安装完后,进入程序。
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(u"I am learning how to build chatbots")
for token in doc:
print(token.text, token.pos_)
输出:
I PRON
am AUX
learning VERB
how ADV
to PART
build VERB
chatbots NOUN
done!(`・ω・´)
我们还可以通过直接导入语言模型的方式实现上述功能:
import en_core_web_sm
nlp = en_core_web_sm.load()
doc = nlp(u"I am learning how to build chatbots")
for token in doc:
print(token.text, token.pos_)
输出效果一样。(`・ω・´)
试试中文的模型。在刚刚的github链接上,下载中文模zh_core_web_sm-2.3.1,pip install zh_core_web_sm-2.3.1
一下(此处会自动安装额外的依赖项cython
和pkuseg
)我们测试一下:
import zh_core_web_sm
nlp = zh_core_web_sm.load()
doc = nlp(u"今天装该死的依赖库装得累死我了QAQ")
for token in doc:
print(token.text, token.pos_)
输出:
今天 NOUN
装 VERB
该死 NOUN
的 PART
依赖 VERB
库装 NOUN
得 PART
累死 VERB
我 PRON
了 PART
QA PROPN
Q NOUN
看样子是没问题了=_=