spaCy - 容器
在本章中,我们将了解 spaCy 的容器。让我们首先了解具有 spaCy 容器的类。
类
我们有四个由 spaCy 容器组成的类 −
Doc
Doc 是用于访问语言注释的容器,是一系列标记对象。借助 Doc 类,我们可以访问句子以及命名实体。
我们还可以将注释导出到 numpy 数组并序列化为压缩二进制字符串。 Doc 对象保存一个 TokenC 结构数组,而 Token 和 Span 对象只能查看此数组,不能保存任何数据。
Token
顾名思义,它代表一个单独的标记,例如单词、标点符号、空格、符号等。
Span
它是 Doc 对象的一个切片,我们上面讨论过。
Lexeme
它可以定义为词汇表中的条目。与单词标记相反,Lexeme 没有字符串上下文。它是一种单词类型,因此,它没有任何 PoS(词性)标记、依赖解析或词干。
现在,让我们详细讨论所有四个类 −
Doc 类
Doc 类中使用的参数、序列化字段、方法如下 −
参数
下表解释了其参数 −
NAME | TYPE | DESCRIPTION |
---|---|---|
text | unicode | 此属性表示 Unicode 格式的文档文本。 |
mem | Pool | 顾名思义,此属性用于文档的本地内存堆,对于它所包含的所有 C 数据拥有。 |
vocab | Vocab | 它存储所有词汇类型。 |
tensor | ndarray | 在 2.0 版本中引入,它是密集向量表示的容器。 |
cats | dict | 在 2.0 版本中引入,此属性将标签映射到应用于文档的类别的分数。注意标签是字符串,而分数应该是浮点值。 |
user_data | - | 它表示主要用于用户自定义数据的通用存储区域。 |
lang | int | 在 2.1 版中引入,它表示文档词汇表的语言。 |
lang_ | unicode | 在 2.1 版中引入,它表示文档词汇表的语言。 |
is_tagged | bool | 它是一个标志,指示文档是否已被标记或否。如果 Doc 为空,它将返回 True。 |
is_parsed | bool | 它是一个标志,指示文档是否已被语法解析。如果 Doc 为空,它将返回 True。 |
is_sentenced | bool | 这是一个标志,指示句子边界是否已应用于文档。如果文档为空,它将返回 True。 |
is_nered | bool | 此属性是在 2.1 版中引入的。这是一个标志,指示命名实体是否已设置。如果文档为空,它将返回 True。如果任何 token 都设置了实体标签,它也会返回 True。 |
sentiment | float | 它将以浮点数返回文档的积极/消极分数(如果有)。 |
user_hooks | dict | 此属性是一个字典,允许自定义 Doc 的属性。 |
user_token_hooks | dict | 此属性是一个字典,允许自定义 Token 子项的属性。 |
user_span_hooks | dict | 此属性是一个字典允许自定义 Span 子项的属性。 |
_ | 下划线 | 它表示用于添加自定义属性扩展的用户空间。 |
序列化字段
在序列化过程中,为了恢复对象的各个方面,spacy 将导出多个数据字段。我们还可以通过名为 exclude 的参数之一传递名称来从序列化中排除数据字段。
下表解释了序列化字段 −
Sr.No. | 名称 &描述 |
---|---|
1 | Text 表示Doc.text属性的值。 |
2 | Sentiment 表示Doc.sentiment属性的值。 |
3 | Tensor 表示Doc.tensor属性的值。 |
4 | user_data 表示Doc.user_data 字典。 |
5 | user_data_keys 它表示 Doc.user_data 字典的键。 |
6 | user_data_values 它表示 Doc.user_data 字典的值。 |
方法
以下是 Doc 类中使用的方法 −
Sr.No. | 方法 &描述 |
---|---|
1 | Doc._ _init_ _ 构造 Doc 对象。 |
2 | Doc._ _getitem_ _ 获取特定位置的 token 对象。 |
3 | Doc._ _iter_ _ 迭代那些可以轻松访问注释的 token 对象。 |
4 | Doc._ _len_ _ 获取文档中的标记数。 |
类方法
以下是 Doc 类中使用的类方法 −
Sr.No. | 类方法 &描述 |
---|---|
1 | Doc.set_extension 它在 Doc 上定义一个自定义属性。 |
2 | Doc.get_extension 它将按名称查找以前的扩展。 |
3 | Doc.has_extension 它将检查扩展是否已在 Doc 类上注册。 |
4 | Doc.remove_extension 它将删除 Doc 类上先前注册的扩展。 |