spaCy教程学习
作者|PRATEEK JOSHI 编译|VK 来源|Analytics Vidhya
介绍
spaCy是我的自然语言处理(NLP)任务的必备库。我冒昧地说,大多数专家都是这样!
如今,在众多的NLP库中,spaCy确实独树一帜。如果你在NLP上用过spaCy,你就会知道我在说什么。如果你对spaCy的强大功能还不熟悉,你会被这个库的多功能性和灵活性所吸引。
spaCy的优点是它提供一系列优良的特性,库也是易用的,以及库总是保持最新。
spaCy入门
如果你对spaCy还不熟悉,你应该注意以下几点:
spaCy的统计模型
spaCy的处理管道
让我们详细讨论一下每一个问题。
spaCy的统计模型
这些模型是spaCy的核心。这些模型使spaCy能够执行一些与NLP相关的任务,例如词性标记、命名实体识别和依存关系解析。
下面我列出了spaCy中的不同统计模型及其规范:
en_core_web_sm:英语多任务CNN,在OntoNotes上训练,大小为11 MB
en_core_web_md:英语多任务CNN,在OntoNotes上训练,并且使用Common Crawl上训练的GLoVe词嵌入,大小为91 MB
en_core_web_lg:英语多任务CNN,在OntoNotes上训练,并且使用Common Crawl上训练的GLoVe词嵌入,大小为789 MB
导入这些模型非常容易。我们可以通过执行spacy.load(‘model_name’) 导入模型,如下所示:
import spacy
nlp = spacy.load('en_core_web_sm')
spaCy的处理管道
使用spaCy时,文本字符串的第一步是将其传递给NLP对象。这个对象本质上是由几个文本预处理操作组成的管道,输入文本字符串必须通过这些操作。
如上图所示,NLP管道有多个组件,如标记生成器、标签器、解析器、ner等。因此,在处理输入文本字符串之前,必须先通过所有这些组件。
让我演示如何创建nlp对象:
import spacy
nlp = spacy.load('en_core_web_sm')
# 创建nlp对象
doc = nlp("He went to play basketball")
你可以使用以下代码找出活动的管道组件:
nlp.pipe_names
输出:['tagger','parser'&#x