spaCy - 可视化函数



可视化函数主要用于在浏览器或笔记本中可视化依赖关系以及命名实体。从 spacy 2.0 版本开始,有两个流行的可视化工具,即displaCydisplaCyENT

它们都是 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")

输出

这将产生以下输出:

Visualizing the Dependency Parse

我们还可以指定一个设置字典来自定义布局。它将在参数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

可视化命名实体

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")

输出

输出如下所示:

Visualizing Named Entities

我们还可以指定一个设置字典来自定义布局。它将在参数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)

输出

输出如下所示:

Google ORG

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.serve

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")

输出

displaCy.render

可视化工具选项

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 顾名思义,它用于颜色覆盖。大写的实体类型必须映射到颜色名称。 {}
广告