Spacy 简明教程
spaCy - Architecture
本章介绍了 spaCy 中的数据结构,并解释了对象及其作用。
Data Structures
spaCy 中的中心数据结构如下: −
-
Doc − 它是 spaCy 架构中最重要的对象之一,拥有标记序列及其所有注释。
-
Vocab − spaCy 中心数据结构的另一个重要对象是词库。它拥有一个查找表集合,使常见信息可在文档中获得。
spaCy 的数据结构有助于集中字符串、字向量和词汇属性,通过避免存储数据的多个副本从而节省内存。
Objects and their role
下文解释了 spaCy 中的对象及其作用以及一个示例 −
Span
它是 Doc 对象的切片,我们已在上面讨论过。借助以下命令,我们可以从该切片创建 Span 对象 −
doc[start : end]
Example
下面给出了 span 的示例 −
import spacy
import en_core_web_sm
nlp_example = en_core_web_sm.load()
my_doc = nlp_example("This is my first example.")
span = my_doc[1:6]
span
Output
is my first example.
Token
顾名思义,它表示单个标记,如单词、标点符号、空格、符号等。
Example
下面给出了标记的示例 −
import spacy
import en_core_web_sm
nlp_example = en_core_web_sm.load()
my_doc = nlp_example("This is my first example.")
token = my_doc[4]
token
Output
example
Tokenizer
顾名思义,分词器类将文本细分为单词、标点符号等。
Example
此示例将创建一个仅使用英语词表的空白分词器 −
from spacy.tokenizer import Tokenizer
from spacy.lang.en import English
nlp_lang = English()
blank_tokenizer = Tokenizer(nlp_lang.vocab)
blank_tokenizer
Output
<spacy.tokenizer.Tokenizer at 0x26506efc480>
Language
它是一个文本处理管道,我们每次仅需加载一个进程并将其实例传递给应用程序。当我们调用方法 spacy.load() 时,将创建一个此类。
它包含以下内容 −
-
Shared vocabulary
-
Language data
-
从模型包加载的可选模型数据
-
包含标注器或解析器等组件的处理管道。
Example
此语言示例将初始化英语语言对象
from spacy.vocab import Vocab
from spacy.language import Language
nlp_lang = Language(Vocab())
from spacy.lang.en import English
nlp_lang = English()
nlp_lang
Output
运行代码后,你将看到以下输出 −
<spacy.lang.en.English at 0x26503773cf8>