首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

使用Spacy 进行自然语言处理

Spacy的github地址:https://github.com/explosion/spaCy

主页:https://spacy.io/

一、什么是Spacy

Spacy在它的主页上说它是Python里面的一个工业级别的自然语言处理工具,足见其在自然语言处理方面的优势,所以我们有必要去了解,学习它。Spacy的功能包括词性标注,句法分析,命名实体识别,词向量,与深度学习无缝对接,以及它支持三十多种语言等等。

二、安装

这部分包括Spacy包的安装和它的模型的安装,针对不同的语言,Spacy提供了不同的模型,需要分别安装。

1、Spacy的安装

一般通过pip就可以正常安装

pip install spacy

详细的安装介绍参考:https://spacy.io/usage/

Spacy也是跨平台的,支持windows、Linux、macOS等。

2、模型的安装

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

对于英语:

python -m spacy download en

或者

python -m spacy download en_core_web_lg

还可以通过URL地址来安装,下面两个都可以,如果pip安装速度慢,可以先下载到本地,使用下面的第一种方法。

pip install /你的/文件目录/en_core_web_sm-2.0.0.tar.gzpip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0.tar.gz

另外这里提一下,我们每次从github上面clone代码的时候,速度有时候很慢,大概就几十k,我就觉得这太不能让人接受了,小点的项目还可以等,稍微大点的项目可能就要几个小时了,所以就随手百度了一下,还真有提速的办法,下面给个链接,跟着步骤稍稍设置一下,你就看到效果了,这里我就不多说了。

三、一个例子

导入模型

importspacy

nlp = spacy.load('en_core_web_sm')

或者

importen_core_web_sm

nlp = en_core_web_sm.load()

1、实体识别

text = (u"When Sebastian Thrun started working on"

u" self-driving cars at Google in 2007, "

u"few people outside of the company took"

u" him seriously. “I can tell you very "

u"senior CEOs of major American car companies"

u" would shake my hand and turn away because"

u" I wasn’t worth talking to,” said Thrun, "

u"now the co-founder and CEO of online higher"

u" education startup Udacity, in an interview"

u" with Recode earlier this week.")

doc = nlp(text)

print("########################################")

forentityindoc.ents:

print("{}:{}".format(entity.text,entity.label_))

print("########################################")

########################################

Sebastian Thrun:PERSON

Google:ORG

2007:DATE

American:NORP

Thrun:PERSON

Recode:ORG

earlier this week:DATE

########################################

下面这张表是Spacy里面实体的标签及其表示的含义

2、文本相似度

doc1= nlp(u"my fries were super gross")

doc2 = nlp(u"such disgusting fries")

similarity =doc1.similarity(doc2)

print(similarity)

今天先这样,后面还会继续介绍Spacy的其他功能,敬请期待~

加快git clone的方法:http://blog.51cto.com/11887934/2051323

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180822G1RQDU00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券