- 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 2.0 版本开始,有两个流行的可视化工具,即displaCy 和displaCyENT。
它们都是 spacy 内置可视化套件的一部分。通过使用此可视化套件(即 displaCy),我们可以可视化文本中的依赖关系解析器或命名实体。
displaCy()
在这里,我们将学习有关 displayCy 依赖关系可视化工具和 displayCy 实体可视化工具的信息。
可视化依赖关系解析
displaCy 依赖关系可视化工具 (dep) 将显示 POS(词性)标签和句法依赖关系。
示例
下面给出了使用 displaCy() 依赖关系可视化工具可视化依赖关系解析的示例:
import spacy from spacy import displacy nlp = spacy.load("en_core_web_sm") doc = nlp("This is Tutorialspoint.com.") displacy.serve(doc, style="dep")
输出
这将产生以下输出:
我们还可以指定一个设置字典来自定义布局。它将在参数option下(稍后我们将详细讨论)。
带选项的示例如下所示:
import spacy from spacy import displacy nlp = spacy.load("en_core_web_sm") doc = nlp("This is Tutorialspoint.com.") options = {"compact": True, "bg": "#09a3d5", "color": "red", "font": "Source Sans Pro"} displacy.serve(doc, style="dep", options=options)
输出
以下是输出:
可视化命名实体
displaCy 实体可视化工具 (ent) 将突出显示文本中的命名实体及其标签。
示例
下面给出了使用 displaCy 实体可视化工具可视化命名实体的示例:
import spacy from spacy import displacy text = "When Sebastian Thrun started working on self-driving cars at Google in 2007, few people outside of the company took him seriously. But Google is starting from behind. The company made a late push into hardware, and Apple's Siri has clear leads in consumer adoption." nlp = spacy.load("en_core_web_sm") doc = nlp(text) displacy.serve(doc, style="ent")
输出
输出如下所示:
我们还可以指定一个设置字典来自定义布局。它将在参数option下(稍后我们将详细讨论)。
带选项的示例如下所示:
import spacy from spacy import displacy text = "When Sebastian Thrun started working on self-driving cars at Google in 2007, few people outside of the company took him seriously. But Google is starting from behind. The company made a late push into hardware, and Apple's Siri has clear leads in consumer adoption." nlp = spacy.load("en_core_web_sm") doc = nlp(text) colors = {"ORG": "linear-gradient(90deg, #aa9cfc, #fc9ce7)"} options = {"ents": ["ORG"], "colors": colors} displacy.serve(doc, style="ent", options=options)
输出
输出如下所示:
displaCy() 方法
从 2.0 版本开始,displaCy() 函数有两个方法,即 serve 和 render。让我们详细讨论一下。下面给出了一个表格,其中包含这些方法及其各自的描述。
序号 | 方法及描述 |
---|---|
1 | displayCy.serve 它将提供依赖关系解析树。 |
2 | displayCy.render 它将呈现依赖关系解析树。 |
displaCy.serve
此方法将提供依赖关系解析树/命名实体可视化,以便在 Web 浏览器中查看。它将运行一个简单的 Web 浏览器。
参数
下表解释了其参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
Docs | list, doc, Span | 它表示要可视化的文档。 | |
Style | Unicode | 我们有两个可视化样式,即“dep”或“ent”。 | 默认值为“dep”。 |
Page | bool | 它将渲染标记为完整的 HTML 页面。 | 默认值为 true。 |
minify | bool | 此参数将缩小 HTML 标记。 | 默认值为 false。 |
options | dict | 它表示可视化工具特定的选项。例如,颜色。 | {} |
manual | bool | 此参数不会解析 Doc,而是期望一个 dict 或 dict 列表。 | 默认值为 false。 |
Port | int | 它是提供可视化的端口号。 | 5000 |
Host | unicode | 它是提供可视化的主机号。 | '0.0.0.0' |
示例
下面给出了displayCy.serve 方法的示例:
import spacy from spacy import displacy nlp = spacy.load("en_core_web_sm") doc1 = nlp("This is Tutorialspoint.com") displacy.serve(doc1, style="dep")
输出
这将产生以下输出:
displaCy.render
此 displaCy 方法将呈现依赖关系解析树或命名实体可视化。
参数
下表解释了其参数:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
Docs | list, doc, Span | 它表示要可视化的文档。 | |
Style | Unicode | 我们有两个可视化样式,即“dep”或“ent”。 | 默认值为“dep”。 |
Page | Bool | 它将渲染标记为完整的 HTML 页面。 | 默认值为 false。 |
minify | Bool | 此参数将缩小 HTML 标记。 | 默认值为 false。 |
options | Dict | 它表示可视化工具特定的选项。例如,颜色。 | {} |
manual | Bool | 此参数不会解析 Doc,而是期望一个 dict 或 dict 列表。 | 默认值为 false。 |
jupyter | Bool | 要返回准备在笔记本中呈现的标记,此参数将显式启用或禁用 Jupyter 模式。如果我们不提供此参数,它将自动检测。 | None |
示例
下面给出了displaCy.render 方法的示例:
import spacy from spacy import displacy nlp = spacy.load("en_core_web_sm") doc = nlp("This is Tutorialspoint.") html = displacy.render(doc, style="dep")
输出
可视化工具选项
dispaCy() 函数的option参数允许我们为每个可视化工具(依赖关系和命名实体可视化工具)指定其他设置。
依赖关系可视化工具选项
下表解释了依赖关系可视化工具选项:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
fine_grained | bool | 如果要使用细粒度的词性标签 (Token.tag_) 而不是粗粒度的标签 (Token.pos_),则将此参数的值设置为 True。 | 默认值为 False。 |
add_lemma | bool | 此参数在 2.2.4 版本中引入,它在标记文本下方单独一行打印词形。 | 默认值为 False。 |
collapse_punct | bool | 它将标点符号附加到标记。 | 默认值为 True。 |
collapse_phrases | bool | 此参数将名词短语合并为一个标记。 | 默认值为 False。 |
compact | bool | 如果将此参数设为 true,则将获得使用占用空间较小的方形箭头表示的“紧凑模式”。 | 默认值为 False。 |
color | unicode | 顾名思义,此参数用于文本颜色(十六进制、RGB 或颜色名称)。 | '#000000' |
bg | unicode | 顾名思义,此参数用于背景颜色(十六进制、RGB 或颜色名称)。 | '#ffffff' |
font | unicode | 它用于字体名称。 | 默认值为“Arial”。 |
offset_x | int | 此参数用于调整 SVG 左侧的间距(以 px 为单位)。 | 此参数的默认值为 50。 |
arrow_stroke | int | 此参数用于调整箭头路径的宽度(以 px 为单位)。 | 此参数的默认值为 2。 |
arrow_width | int | 此参数用于调整箭头头的宽度(以 px 为单位)。 | 此参数的默认值为 10/8(紧凑)。 |
arrow_spacing | int | 此参数用于调整箭头之间的间距(以 px 为单位),以避免重叠。 | 此参数的默认值为 20/12(紧凑)。 |
word_spacing | int | 此参数用于调整单词和弧线之间的垂直间距(以 px 为单位)。 | 此参数的默认值为 45。 |
distance | int | 此参数用于调整单词之间的距离(以 px 为单位)。 | 此参数的默认值为 175/150(紧凑)。 |
命名实体可视化工具选项
下表解释了命名实体可视化工具选项:
名称 | 类型 | 描述 | 默认值 |
---|---|---|---|
ents | list | 它表示要突出显示的实体类型。对于所有类型,请设置为 None。 | 默认值为 None。 |
colors | Dict | 顾名思义,它用于颜色覆盖。大写的实体类型必须映射到颜色名称。 | {} |