spaCy - 架构
本章介绍了 spaCy 中的数据结构,并解释了对象及其作用。
数据结构
spaCy 中的核心数据结构如下 −
Doc − 这是 spaCy 架构中最重要的对象之一,拥有标记序列及其所有注释。
Vocab − spaCy 中心数据结构的另一个重要对象是 Vocab。它拥有一组查找表,使文档之间的公共信息可用。
spaCy 的数据结构有助于集中字符串、词向量和词汇属性,从而避免存储数据的多个副本,从而节省内存。
对象及其作用
spaCy 中的对象及其作用和示例如下 −
Span
它是来自 Doc 对象的切片,我们上面讨论过。我们可以借助以下命令从切片中创建 Span 对象 −
doc[start : end]
示例
下面给出了 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
输出
is my first example.
Token
顾名思义,它代表单个标记,例如单词、标点符号、空格、符号等。
示例
下面列出了 token 的示例 −
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
输出
示例
Tokenizer
顾名思义,tokenizer 类将文本分割成单词、标点符号等。
示例
此示例将创建一个仅包含英语词汇的空白标记器 −
from spacy.tokenizer import Tokenizer from spacy.lang.en import English nlp_lang = English() blank_tokenizer = Tokenizer(nlp_lang.vocab) blank_tokenizer
输出
<spacy.tokenizer.Tokenizer at 0x26506efc480>
语言
这是一个文本处理管道,我们需要每个进程加载一次并将实例传递给应用程序。当我们调用方法 spacy.load() 时,将创建此类。
它包含以下内容 −
共享词汇表
语言数据
从模型包加载的可选模型数据
包含标记器或解析器等组件的处理管道。
示例
此语言示例将初始化英语语言对象
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
输出
运行代码时,您将看到以下输出 −
<spacy.lang.en.English at 0x26503773cf8>