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 顧名思義,它用於顏色覆蓋。大寫的實體型別必須對映到顏色名稱。 {}
廣告

© . All rights reserved.