Dieses Paket enthält Dienstprogramme zur Visualisierung von Spacy-Modellen und zum Erstellen interaktiver, spachanbetriebener Apps mit Strom. Es enthält verschiedene Bausteine , die Sie in Ihrer eigenen streamlit -App verwenden können, z .

Sie können spacy-streamlit von PIP installieren:
pip install spacy-streamlit Das Paket enthält Bausteine , die in Stromversorgung rufen und alle erforderlichen Elemente für Sie einrichten. Sie können entweder die einzelnen Komponenten direkt verwenden und sie mit anderen Elementen in Ihrer App kombinieren oder die visualize aufrufen, um den gesamten Visualizer einzubetten.
Laden Sie das englische Modell von Spacy herunter, um loszulegen.
python -m spacy download en_core_web_smGeben Sie dann den folgenden Beispielcode in eine Datei ein.
# streamlit_app.py
import spacy_streamlit
models = [ "en_core_web_sm" , "en_core_web_md" ]
default_text = "Sundar Pichai is the CEO of Google."
spacy_streamlit . visualize ( models , default_text ) Sie können Ihre App dann mit streamlit run streamlit_app.py ausführen. Die App sollte in Ihrem Webbrowser auftauchen. ?
01_out-of-the-box.pyVerwenden Sie den eingebetteten Visualizer mit benutzerdefinierten Einstellungen außerhalb des Boxs.
streamlit run https://raw.githubusercontent.com/explosion/spacy-streamlit/master/examples/01_out-of-the-box.py02_custom.pyVerwenden Sie einzelne Komponenten in Ihrer vorhandenen App.
streamlit run https://raw.githubusercontent.com/explosion/spacy-streamlit/master/examples/02_custom.py Diese Funktionen können in Ihrer streamlit -App verwendet werden. Sie rufen unter der Motorhaube in streamlit und richten die erforderlichen Elemente ein.
visualizeBetten Sie den vollständigen Visualizer mit ausgewählten Komponenten ein.
import spacy_streamlit
models = [ "en_core_web_sm" , "/path/to/model" ]
default_text = "Sundar Pichai is the CEO of Google."
visualizers = [ "ner" , "textcat" ]
spacy_streamlit . visualize ( models , default_text , visualizers )| Argument | Typ | Beschreibung |
|---|---|---|
models | LISTE [STR] / DICT [STR, STR] | Namen von ladbaren Spacy -Modellen (Pfade oder Paketnamen). Die Modelle werden über einen Dropdown -Bereich ausgewählt. Kann entweder eine Liste der Namen oder die Namen sein, die den Beschreibungen zugeordnet sind, um sie in der Dropdown -Down -Art anzuzeigen. |
default_text | str | Standardtext zum Analysieren des Lasts. Standardeinstellung zu "" . |
default_model | Optional [STR] | Optionaler Name des Standardmodells. Wenn nicht festgelegt, wird das erste Modell in der Liste der models verwendet. |
visualizers | Liste [STR] | Namen von Visualisierern zu zeigen. Standardeinstellungen zu ["parser", "ner", "textcat", "similarity", "tokens"] . |
ner_labels | Optional [Liste [STR]] | Ner Beschriftungen einbeziehen. Wenn nicht eingestellt, werden alle in der "ner" -Pipeline -Komponente enthaltenen Etiketten verwendet. |
ner_attrs | Liste [STR] | Span -Attribute in der Tabelle benannter Entitäten. Siehe visualizer.py für Standardeinstellungen. |
token_attrs | Liste [STR] | Token -Attribute, die im Token Visualizer angezeigt werden. Siehe visualizer.py für Standardeinstellungen. |
similarity_texts | Tuple [STR, STR] | Die Standardtexte, die im Ähnlichkeits -Visualizer verglichen werden sollen. Standardmäßig ("apple", "orange") . |
show_json_doc | bool | Taste anzeigen, um die JSON -Darstellung des Doc umzuschalten. Standardmäßig True . |
show_meta | bool | Taste anzeigen, um meta.json der aktuellen Pipeline umzuschalten. Standardmäßig True . |
show_config | bool | Taste anzeigen, um config.cfg der aktuellen Pipeline umzuschalten. Standardmäßig True . |
show_visualizer_select | bool | SideBar Dropdown anzeigen, um Visualisierer auszuwählen, die angezeigt werden sollen (basierend auf aktivierten Visualisierern). Standardmäßig False . |
sidebar_title | Optional [STR] | Titel in der Seitenleiste gezeigt. Standardmäßig None . |
sidebar_description | Optional [STR] | Beschreibung in der Seitenleiste angezeigt. Akzeptiert Markdown-formatierte Text. |
show_logo | bool | Zeigen Sie das Spacy -Logo in der Seitenleiste. Standardmäßig True . |
color | Optional [STR] | Experimentell: Primärfarbe für einige der Haupt -UI -Elemente ( None , um Hack zu deaktivieren). Standardeinstellungen zu "#09A3D5" . |
get_default_text | Callable [[Sprache], Str] | Optionales Callable, das das aktuell geladene nlp -Objekt nimmt und den Standardtext zurückgibt. Kann verwendet werden, um sprachspezifische Standardtexte bereitzustellen. Wenn die Funktion None zurückgibt, wird der Wert von default_text verwendet, falls verfügbar. Standardmäßig None . |
visualize_parser Visualisieren Sie die Abhängigkeits-Analyse- und Teil-von-Speech-Tags mithilfe von Spacys displacy Visualizer.
import spacy
from spacy_streamlit import visualize_parser
nlp = spacy . load ( "en_core_web_sm" )
doc = nlp ( "This is a text" )
visualize_parser ( doc )| Argument | Typ | Beschreibung |
|---|---|---|
doc | Doc | Das Spacy Doc -Objekt zur Visualisierung. |
| Schlüsselwort nur | ||
title | Optional [STR] | Titel des Visualizer -Blocks. |
key | Optional [STR] | Taste, die für die Streamlit -Komponente zur Auswahl von Etiketten verwendet wird. |
manual | bool | Flag, das bedeutet, ob das DOC -Argument ein DOC -Objekt oder eine Liste von Dikten mit Analyseinformationen ist. |
displacy_options | Optional [Diktat] | Wörterbuch der Optionen, die an die Verdränger -Render -Methode übergeben werden sollen, um die zu rendere HTML zu generieren. Siehe: https://spacy.io/api/top-level#optionsdep |
visualize_ner Visualisieren Sie die genannten Entitäten in einem Doc mit dem displacy Visualizer von Spact.
import spacy
from spacy_streamlit import visualize_ner
nlp = spacy . load ( "en_core_web_sm" )
doc = nlp ( "Sundar Pichai is the CEO of Google." )
visualize_ner ( doc , labels = nlp . get_pipe ( "ner" ). labels )| Argument | Typ | Beschreibung |
|---|---|---|
doc | Doc | Das Spacy Doc -Objekt zur Visualisierung. |
| Schlüsselwort nur | ||
labels | Sequenz [STR] | Die Etiketten werden in den Dropdown -Down -Down -Labels angezeigt. |
attrs | Liste [STR] | Die Span -Attribute, die in der Entitätstabelle angezeigt werden sollen. |
show_table | bool | Ob Sie eine Tabelle von Entitäten und ihre Attribute zeigen sollen. Standardmäßig True . |
title | Optional [STR] | Titel des Visualizer -Blocks. |
colors | DICT [STR, STR] | Das Wörterbuch der Farben für die Entitätsspannweite zur Visualisierung mit Schlüssel als Etiketten und entsprechenden Farben als Werte. Dieses Argument wird bald veraltet sein. In Zukunft müssen die Farben Arg in die displacy_options arg mit den Schlüssel "Farben" übergeben werden.) |
key | Optional [STR] | Taste, die für die Streamlit -Komponente zur Auswahl von Etiketten verwendet wird. |
manual | bool | FLAG |
| Information. | ||
displacy_options | Optional [Diktat] | Wörterbuch der Optionen, die an die Verdränger -Render -Methode übergeben werden sollen, um die zu rendere HTML zu generieren. Siehe https://spacy.io/api/top-level#displacy_options-ent. |
visualize_spans Visualisieren Sie die Spannweiten in einem Doc mit dem Unternehmer von Spacy's displacy Visualizer.
import spacy
from spacy_streamlit import visualize_spans
nlp = spacy . load ( "en_core_web_sm" )
doc = nlp ( "Sundar Pichai is the CEO of Google." )
span = doc [ 4 : 7 ] # CEO of Google
span . label_ = "CEO"
doc . spans [ "job_role" ] = [ span ]
visualize_spans ( doc , spans_key = "job_role" , displacy_options = { "colors" : { "CEO" : "#09a3d5" }})| Argument | Typ | Beschreibung |
|---|---|---|
doc | Doc | Das Spacy Doc -Objekt zur Visualisierung. |
| Schlüsselwort nur | ||
spans_key | Sequenz [STR] | Was sich von den Schlüssel erstattet, um Spannweiten von zu rendern. Standard ist "sc". |
attrs | Liste [STR] | Die Attribute auf der Entitätsspanne werden markiert. Attribute werden nur angezeigt, wenn das Argument show_table wahr ist. |
show_table | bool | Ob Sie eine Tabelle mit Spannweiten und ihre Attribute zeigen sollen. Standardmäßig True . |
title | Optional [STR] | Titel des Visualizer -Blocks. |
manual | bool | Flag, das bedeutet, ob es sich bei dem DOC -Argument um ein DOC -Objekt oder eine Liste von Dikten handelt, die Informationen über Entitätsspannen enthalten. |
displacy_options | Optional [Diktat] | Wörterbuch der Optionen, die an die Verdränger -Render -Methode übergeben werden sollen, um die zu rendere HTML zu generieren. Siehe https://spacy.io/api/top-level#displacy_options-span. |
visualize_textcatVisualisieren Sie die von einem geschulten Textklassifikator vorhergesagten Textkategorien.
import spacy
from spacy_streamlit import visualize_textcat
nlp = spacy . load ( "./my_textcat_model" )
doc = nlp ( "This is a text about a topic" )
visualize_textcat ( doc )| Argument | Typ | Beschreibung |
|---|---|---|
doc | Doc | Das Spacy Doc -Objekt zur Visualisierung. |
| Schlüsselwort nur | ||
title | Optional [STR] | Titel des Visualizer -Blocks. |
visualize_similarityVisualisieren Sie die semantische Ähnlichkeit mit den Wortvektoren des Modells. Wird eine Warnung zeigen, wenn im Modell keine Vektoren vorhanden sind.
import spacy
from spacy_streamlit import visualize_similarity
nlp = spacy . load ( "en_core_web_lg" )
visualize_similarity ( nlp , ( "pizza" , "fries" ))| Argument | Typ | Beschreibung |
|---|---|---|
nlp | Language | Das geladene nlp -Objekt mit Vektoren. |
default_texts | Tuple [STR, STR] | Die Standardtexte zum Vergleich auf dem Laden. Standardmäßig ("apple", "orange") . |
| Schlüsselwort nur | ||
threshold | schweben | Schwelle für das, was als "ähnlich" angesehen wird. Wenn der Ähnlichkeitswert größer als der Schwellenwert ist, wird das Ergebnis ähnlich angezeigt. Standardeinstellung auf 0.5 . |
title | Optional [STR] | Titel des Visualizer -Blocks. |
visualize_tokens Visualisieren Sie die Token in einem Doc und ihre Attribute.
import spacy
from spacy_streamlit import visualize_tokens
nlp = spacy . load ( "en_core_web_sm" )
doc = nlp ( "This is a text" )
visualize_tokens ( doc , attrs = [ "text" , "pos_" , "dep_" , "ent_type_" ])| Argument | Typ | Beschreibung |
|---|---|---|
doc | Doc | Das Spacy Doc -Objekt zur Visualisierung. |
| Schlüsselwort nur | ||
attrs | Liste [STR] | Die Namen der zu verwendenden Token -Attribute. Siehe visualizer.py für Standardeinstellungen. |
title | Optional [STR] | Titel des Visualizer -Blocks. |
Diese Helfer versuchen, geladene Modelle zu zwischenstrahlen und Doc -Objekte zu erstellen.
process_text Verarbeiten Sie einen Text mit einem Modell eines angegebenen Namens und erstellen Sie ein Doc -Objekt. Ruft in den Helfer load_model auf, um das Modell zu laden.
import streamlit as st
from spacy_streamlit import process_text
spacy_model = st . sidebar . selectbox ( "Model name" , [ "en_core_web_sm" , "en_core_web_md" ])
text = st . text_area ( "Text to analyze" , "This is a text" )
doc = process_text ( spacy_model , text )| Argument | Typ | Beschreibung |
|---|---|---|
model_name | str | Ladbarer Spacy -Modellname. Kann Pfad oder Paketname sein. |
text | str | Der zu verarbeitende Text. |
| Zurück | Doc | Das verarbeitete Dokument. |
load_model Laden Sie ein Spacy -Modell aus einem Pfad oder einem installierten Paket und geben Sie ein geladenes nlp -Objekt zurück.
import streamlit as st
from spacy_streamlit import load_model
spacy_model = st . sidebar . selectbox ( "Model name" , [ "en_core_web_sm" , "en_core_web_md" ])
nlp = load_model ( spacy_model )| Argument | Typ | Beschreibung |
|---|---|---|
name | str | Ladbarer Spacy -Modellname. Kann Pfad oder Paketname sein. |
| Zurück | Language | Das geladene nlp -Objekt. |