- spaCy 教程
- spaCy - 首页
- spaCy - 简介
- spaCy - 开始
- spaCy - 模型和语言
- spaCy - 架构
- spaCy - 命令行助手
- spaCy - 顶级函数
- spaCy - 可视化函数
- spaCy - 实用函数
- spaCy - 兼容性函数
- spaCy - 容器
- Doc 类上下文管理器和属性
- spaCy - 容器 Token 类
- spaCy - Token 属性
- spaCy - 容器 Span 类
- spaCy - Span 类属性
- spaCy - 容器 Lexeme 类
- 训练神经网络模型
- 更新神经网络模型
- spaCy 有用资源
- spaCy - 快速指南
- spaCy - 有用资源
- spaCy - 讨论
spaCy - 容器
本章我们将学习 spaCy 的容器。让我们首先了解包含 spaCy 容器的类。
类
我们有四个类包含 spaCy 的容器:
Doc
Doc,用于访问语言注释的容器,是 token 对象的序列。借助 Doc 类,我们可以访问句子和命名实体。
我们还可以将注释导出到 numpy 数组,并序列化为压缩的二进制字符串。Doc 对象保存一个 TokenC 结构数组,而 Token 和 Span 对象只能查看此数组,不能保存任何数据。
Token
顾名思义,它表示单个标记,例如单词、标点符号、空格、符号等。
Span
它是上面讨论过的 Doc 对象的一个切片。
Lexeme
它可以定义为词汇表中的一个条目。与单词标记相反,Lexeme 没有字符串上下文。它是一个词性,因此它没有任何词性 (Part-of-Speech) 标记、依赖解析或词形。
现在,让我们详细讨论所有四个类:
Doc 类
下面解释了 Doc 类中使用的参数、序列化字段和方法:
参数
下表解释了它的参数:
名称 | 类型 | 描述 |
---|---|---|
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 | 这是一个标志,指示是否已将句子边界应用于文档。如果 Doc 为空,它将返回 True。 |
is_nered | bool | 此属性在 2.1 版中引入。这是一个标志,指示命名实体是否已设置。如果 Doc 为空,它将返回 True。如果任何标记都设置了实体标记,它也将返回 True。 |
sentiment | float | 它将返回文档的积极/消极分数(如果可用)为浮点数。 |
user_hooks | dict | 此属性是一个字典,允许自定义Doc 的属性。 |
user_token_hooks | dict | 此属性是一个字典,允许自定义Token 子对象的属性。 |
user_span_hooks | dict | 此属性是一个字典,允许自定义Span 子对象的属性。 |
_ | 下划线 | 它表示用户空间,用于添加自定义属性扩展。 |
序列化字段
在序列化过程中,为了恢复对象的各个方面,spaCy 将导出多个数据字段。我们还可以通过传递名称(通过名为exclude 的参数之一)来从序列化中排除数据字段。
下表解释了序列化字段:
序号 | 名称和描述 |
---|---|
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 类中使用的方法:
序号 | 方法和描述 |
---|---|
1 | Doc._ _init_ _ 构造 Doc 对象。 |
2 | Doc._ _getitem_ _ 获取特定位置的 token 对象。 |
3 | Doc._ _iter_ _ 迭代可以轻松访问注释的 token 对象。 |
4 | Doc._ _len_ _ 获取文档中 token 的数量。 |
类方法
以下是 Doc 类中使用的类方法:
序号 | 类方法和描述 |
---|---|
1 | Doc.set_extension 它在 Doc 上定义自定义属性。 |
2 | Doc.get_extension 它将按名称查找先前扩展。 |
3 | Doc.has_extension 它将检查是否已在 Doc 类上注册扩展。 |
4 | Doc.remove_extension 它将删除先前在 Doc 类上注册的扩展。 |