Spacy 简明教程

spaCy - Visualization Function

可视化函数主要用于可视化依赖项,还用于在浏览器或笔记本中可视化命名实体。从spaCy版本2.0开始,有两个流行的可视化器,即 displaCydisplaCyENT

它们都是spaCy内置的可视化套件的一部分。通过使用这个名为displaCy的可视化套件,我们可以可视化文本中的依存句法分析器或命名实体。

displaCy()

在这里,我们将了解displayCy依存项可视化器和displayCy实体可视化器。

Visualizing the dependency parse

displaCy依存项可视化器(dep)将显示POS(词性)标签和句法依赖项。

Example

下面给出使用 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")

Output

它提供以下输出 −

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)

Output

给出以下输出 −

displacy

Visualizing named entities

displaCy 实体可视化器 (ent) 将突出显示文本中的命名实体及其标签。

Example

下面给出使用 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")

Output

输出如下 −

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)

Output

输出如下:

google org

displaCy() methods

从 2.0 版本开始,displaCy() 函数有两种方法,分别是 serve 和 render。 让我们详细讨论一下它们。 下表列出了这些方法及各自的说明。

Sr.No.

Method & Description

1

displayCy.serve 它将提供依赖项分析树。

2

displayCy.render 它将呈现依赖项分析树。

displaCy.serve

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

Arguments

下表解释了它的参数 −

NAME

TYPE

DESCRIPTION

DEFAULT

Docs

list, doc, Span

它表示要可视化的文档。

Style

Unicode

我们有两种可视化样式,即“dep”或“ent”。

默认值是“dep”。

Page

bool

它将呈现标记为完整的 HTML 页面。

它的默认值为真。

minify

bool

此参数将压缩 HTML 标记。

默认值为 false。

options

dict

它表示特定于可视化程序的选项。例如,颜色。

{}

manual

bool

此参数不会解析 Doc,而是希望一个字典或字典列表。

默认值为 false。

Port

int

它是用于提供可视化的端口号。

5000

Host

unicode

它是用于提供可视化的主机号。

'0.0.0.0'

Example

下面给出了 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")

Output

它提供以下输出 −

displacy serve

displaCy.render

此 dispaCy 方法将呈现依存关系解析树或命名实体可视化。

Arguments

下表解释了它的参数 −

NAME

TYPE

DESCRIPTION

DEFAULT

Docs

list, doc, Span

它表示要可视化的文档。

Style

Unicode

我们有两种可视化样式,即“dep”或“ent”。

默认值是“dep”。

Page

Bool

它将呈现标记为完整的 HTML 页面。

默认值为 false。

minify

Bool

此参数将压缩 HTML 标记。

默认值为 false。

options

Dict

它表示特定于可视化程序的选项。例如,颜色。

{}

manual

Bool

此参数不会解析 Doc,而是希望一个字典或字典列表。

默认值为 false。

jupyter

Bool

要返回准备在笔记本中呈现的标记,此参数将明确启用或禁用 Jupyter 模式。如果我们不提供此参数,它将自动检测。

None

Example

下面给出了 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")

Output

displacy render

Visualizer options

dispaCy () 函数的 option 参数允许我们为每个可视化程序指定附加设置,依赖关系以及命名实体可视化程序。

Dependency Visualizer options

下表说明了依存关系可视化程序选项 −

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

如果你认为此参数为真,则可以获得占用空间更小的带有矩形箭头的“紧凑模式”。

默认值为 False。

color

unicode

顾名思义,此参数适用于文本颜色(HEX、RGB 或颜色名称)。

'#000000'

bg

unicode

顾名思义,此参数适用于背景颜色(HEX、RGB 或颜色名称)。

'#ffffff'

font

unicode

适用于字体名称。

Default value is 'Arial'.

offset_x

int

此参数用于 SVG 左侧间距,以像素为单位。

此参数的默认值为 50。

arrow_stroke

int

此参数用于调整箭头路径的宽度,以像素为单位。

此参数的默认值为 2。

arrow_width

int

此参数用于调整箭头头的宽度,以像素为单位。

此参数的默认值为 10/8(紧凑)。

arrow_spacing

int

此参数用于调整箭头的间隔,以避免重叠,以像素为单位。

此参数的默认值为 20/12(紧凑)。

word_spacing

int

此参数用于调整单词和弧线之间的垂直间距,以像素为单位。

此参数的默认值为 45。

distance

int

此参数用于调整单词之间的距离,以像素为单位。

此参数的默认值为 175/150(紧凑)。

Named Entity Visualizer options

下表解释了命名实体可视化程序选项:

NAME

TYPE

DESCRIPTION

DEFAULT

ents

list

它表示要高亮的实体类型。对所有类型均设为无。

默认值为 None。

colors

Dict

顾名思义,它用于颜色覆盖。大写的实体类型必须映射到颜色名称。

{}