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。让我们详细讨论一下它们。下面给出了这些方法的表格及其各自的说明。

Sr.No. 方法 &描述
1

displayCy.serve

它将提供依赖解析树。

2

displayCy.render

它将呈现依赖解析树。

displaCy.serve

它是提供依赖解析树/命名实体可视化以在 Web 浏览器中查看的方法。它将运行一个简单的 Web 浏览器。

参数

下表解释了其参数 −

NAME TYPE DESCRIPTION DEFAULT
Docs list, doc, Span 它代表要可视化的文档。
样式 Unicode 我们有两种可视化样式,即"dep"或"ent"。 默认值为"dep"。
页面 bool 它将标记呈现为完整的 HTML 页面。 默认值为 true。
minify bool 此参数将最小化 HTML 标记。 默认值为false。
options dict 它代表可视化器特定的选项。例如,颜色。 {
manual bool 此参数不会解析 Doc,而是需要一个字典或字典列表。 默认值为 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 方法将呈现依赖解析树或命名实体可视化。

参数

下表解释了其参数 −

NAME TYPE DESCRIPTION DEFAULT
Docs list, doc, Span 它代表要可视化。
样式 Unicode 我们有两种可视化样式,即"dep"或"ent"。 默认值为"dep"。
页面 布尔值 它将标记呈现为完整的 HTML 页面。 默认值为 false。
最小化 布尔值 此参数将最小化 HTML 标记。 默认值为false。
options Dict 它表示特定于可视化器的选项。例如,颜色。 {
manual Bool 此参数不会解析文档,而是需要一个字典或字典列表。 默认值为 false。
jupyter Bool 要返回可在笔记本中呈现的标记,此参数将明确启用或禁用 Jupyter 模式。如果我们不提供此参数,它将自动检测。

示例

下面给出了 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 参数允许我们为每个可视化工具、依赖项以及命名实体可视化工具指定其他设置。

依赖项可视化工具选项

下表解释了依赖项可视化工具选项 −

NAME TYPE DESCRIPTION DEFAULT
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 顾名思义,此参数用于文本颜色(HEX、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(紧凑)。

命名实体可视化工具选项

下表解释了命名实体可视化工具选项 −

NAME TYPE DESCRIPTION DEFAULT
ents list 它表示要突出显示的实体类型。所有类型都设置为 None。 默认值为 None。
colors Dict 顾名思义,它用于颜色覆盖。大写的实体类型必须映射到颜色名称。 {