Spacy 简明教程
spaCy - Visualization Function
可视化函数主要用于可视化依赖项,还用于在浏览器或笔记本中可视化命名实体。从spaCy版本2.0开始,有两个流行的可视化器,即 displaCy 和 displaCyENT 。
它们都是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
它提供以下输出 −
我们还可以指定设置的字典以自定义布局。 它将在参数 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
给出以下输出 −
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
输出如下 −
我们还可以指定设置的字典以自定义布局。 它将在参数 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
输出如下:
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.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
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 |
顾名思义,它用于颜色覆盖。大写的实体类型必须映射到颜色名称。 |
{} |