Este paquete contiene utilidades para visualizar modelos Spacy y construir aplicaciones interactivas con spacy con simplificación. Incluye varios bloques de construcción que puede usar en su propia aplicación aerodinámica, como visualizadores para dependencias sintácticas , entidades nombradas , clasificación de texto , similitud semántica a través de vectores de palabras, atributos de token y más.

Puede instalar spacy-streamlit desde PIP:
pip install spacy-streamlit El paquete incluye bloques de construcción que llaman a simplificar y configurar todos los elementos requeridos para usted. Puede usar los componentes individuales directamente y combinarlos con otros elementos en su aplicación, o llamar a la función visualize para incrustar todo el visualizador.
Descargue el modelo en inglés de Spacy para comenzar.
python -m spacy download en_core_web_smLuego coloque el siguiente código de ejemplo en un archivo.
# 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 ) Luego puede ejecutar su aplicación con streamlit run streamlit_app.py . La aplicación debe aparecer en su navegador web. ?
01_out-of-the-box.pyUse el visualizador integrado con configuraciones personalizadas fuera de la caja.
streamlit run https://raw.githubusercontent.com/explosion/spacy-streamlit/master/examples/01_out-of-the-box.py02_custom.pyUse componentes individuales en su aplicación existente.
streamlit run https://raw.githubusercontent.com/explosion/spacy-streamlit/master/examples/02_custom.py Estas funciones se pueden utilizar en su aplicación de transmisión. Llaman a streamlit debajo del capó y configuran los elementos requeridos.
visualizeIncruste el visualizador completo con componentes seleccionados.
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 )| Argumento | Tipo | Descripción |
|---|---|---|
models | Lista [str] / dict [str, str] | Nombres de modelos Spacy cargables (rutas o nombres de paquetes). Los modelos se vuelven seleccionables a través de un menú desplegable. Puede ser una lista de nombres o los nombres asignados a descripciones para mostrar en el menú desplegable. |
default_text | stri | Texto predeterminado para analizar en la carga. El valor predeterminado es "" . |
default_model | Opcional [STR] | Nombre opcional del modelo predeterminado. Si no se establece, se utiliza el primer modelo en la lista de models . |
visualizers | Lista [STR] | Nombres de visualizadores para mostrar. El valor predeterminado es ["parser", "ner", "textcat", "similarity", "tokens"] . |
ner_labels | Opcional [Lista [STR]] | Etiquetas ner para incluir. Si no se establece, se utilizarán todas las etiquetas presentes en el componente de la tubería "ner" . |
ner_attrs | Lista [STR] | Atributos de SPAN que se muestran en la tabla de entidades nombradas. Consulte visualizer.py para obtener valores predeterminados. |
token_attrs | Lista [STR] | Los atributos del token para mostrar en Token Visualizer. Consulte visualizer.py para obtener valores predeterminados. |
similarity_texts | Tuple [str, str] | Los textos predeterminados para comparar en el visualizador de similitud. El valor predeterminado es ("apple", "orange") . |
show_json_doc | bool | Mostrar botón para alternar la representación JSON del Doc . El valor predeterminado es True . |
show_meta | bool | Mostrar botón para alternar meta.json de la tubería actual. El valor predeterminado es True . |
show_config | bool | Mostrar botón para alternar config.cfg de la tubería actual. El valor predeterminado es True . |
show_visualizer_select | bool | Muestre desplegable de la barra lateral para seleccionar visualizadores para mostrar (según los visualizadores habilitados). El valor predeterminado es False . |
sidebar_title | Opcional [STR] | Título que se muestra en la barra lateral. Predeterminado no a None . |
sidebar_description | Opcional [STR] | Descripción que se muestra en la barra lateral. Acepta texto con formato en formato de Markdown. |
show_logo | bool | Muestre el logotipo de Spacy en la barra lateral. El valor predeterminado es True . |
color | Opcional [STR] | Experimental: color primario para usar para algunos de los principales elementos de la interfaz de usuario ( None para deshabilitar el hack). El valor predeterminado es "#09A3D5" . |
get_default_text | Llamable [[idioma], str] | Callable opcional que toma el objeto nlp cargado actualmente y devuelve el texto predeterminado. Se puede usar para proporcionar textos predeterminados específicos del lenguaje. Si la función no devuelve None , se usa el valor de default_text , si está disponible. Predeterminado no a None . |
visualize_parser Visualice el análisis de dependencia y las etiquetas de parte del discurso utilizando el visualizador displacy de Spacy.
import spacy
from spacy_streamlit import visualize_parser
nlp = spacy . load ( "en_core_web_sm" )
doc = nlp ( "This is a text" )
visualize_parser ( doc )| Argumento | Tipo | Descripción |
|---|---|---|
doc | Doc | El objeto Spacy Doc para visualizar. |
| solo por palabras clave | ||
title | Opcional [STR] | Título del bloque de visualizador. |
key | Opcional [STR] | Clave utilizada para el componente de transmisión para seleccionar etiquetas. |
manual | bool | FLAG Significando si el argumento DOC es un objeto DOC o una lista de dicts que contienen información de análisis. |
displacy_options | Opcional [dict] | Diccionario de opciones que se pasarán al método de renderizado de desplazamiento para generar el HTML que se representará. Ver: https://spacy.io/api/top-level#options-dep |
visualize_ner Visualice las entidades nombradas en un Doc utilizando el visualizador displacy de Spacy.
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 )| Argumento | Tipo | Descripción |
|---|---|---|
doc | Doc | El objeto Spacy Doc para visualizar. |
| solo por palabras clave | ||
labels | Secuencia [str] | Las etiquetas para mostrar en el menú desplegable de etiquetas. |
attrs | Lista [STR] | El SPAN atribuye a mostrar en la tabla Entity. |
show_table | bool | Si mostrar una tabla de entidades y sus atributos. El valor predeterminado es True . |
title | Opcional [STR] | Título del bloque de visualizador. |
colors | Dict [str, str] | Diccionario de colores para que la entidad se extienda visualizar, con teclas como etiquetas y colores correspondientes como valores. Este argumento estará en desuso pronto. En el futuro, los colores arg deben pasar en el arg displacy_options con la clave "Colors".) |
key | Opcional [STR] | Clave utilizada para el componente de transmisión para seleccionar etiquetas. |
manual | bool | FLAG Significando si el argumento DOC es un objeto DOC o una lista de dicts que contienen la amplia intervalo de entidad |
| información. | ||
displacy_options | Opcional [dict] | Diccionario de opciones que se pasarán al método de renderizado de desplazamiento para generar el HTML que se representará. Ver https://spacy.io/api/top-level#display_options-ent. |
visualize_spans Visualice los tramos en un Doc utilizando el visualizador displacy de Spacy.
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" }})| Argumento | Tipo | Descripción |
|---|---|---|
doc | Doc | El objeto Spacy Doc para visualizar. |
| solo por palabras clave | ||
spans_key | Secuencia [str] | Que abarca la clave para renderizar los tramos. El valor predeterminado es "SC". |
attrs | Lista [STR] | Los atributos en el período de la entidad para ser etiquetados. Los atributos se muestran solo cuando el argumento show_table es verdadero. |
show_table | bool | Si mostrar una tabla de tramos y sus atributos. El valor predeterminado es True . |
title | Opcional [STR] | Título del bloque de visualizador. |
manual | bool | FLAG Significando si el argumento DOC es un objeto DOC o una lista de dicts que contienen información de la entidad. |
displacy_options | Opcional [dict] | Diccionario de opciones que se pasarán al método de renderizado de desplazamiento para generar el HTML que se representará. Ver https://spacy.io/api/top-level#display_optionsspan. |
visualize_textcatVisualice las categorías de texto predichas por un clasificador de texto capacitado.
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 )| Argumento | Tipo | Descripción |
|---|---|---|
doc | Doc | El objeto Spacy Doc para visualizar. |
| solo por palabras clave | ||
title | Opcional [STR] | Título del bloque de visualizador. |
visualize_similarityVisualice la similitud semántica utilizando los vectores de palabras del modelo. Mostrará una advertencia si no hay vectores presentes en el modelo.
import spacy
from spacy_streamlit import visualize_similarity
nlp = spacy . load ( "en_core_web_lg" )
visualize_similarity ( nlp , ( "pizza" , "fries" ))| Argumento | Tipo | Descripción |
|---|---|---|
nlp | Language | El objeto nlp cargado con vectores. |
default_texts | Tuple [str, str] | Los textos predeterminados para comparar en la carga. El valor predeterminado es ("apple", "orange") . |
| solo por palabras clave | ||
threshold | flotar | Umbral para lo que se considera "similar". Si la puntuación de similitud es mayor que el umbral, el resultado se muestra como similar. El valor predeterminado es 0.5 . |
title | Opcional [STR] | Título del bloque de visualizador. |
visualize_tokens Visualice los tokens en un Doc y sus atributos.
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_" ])| Argumento | Tipo | Descripción |
|---|---|---|
doc | Doc | El objeto Spacy Doc para visualizar. |
| solo por palabras clave | ||
attrs | Lista [STR] | Los nombres del token atribuyen a usar. Consulte visualizer.py para obtener valores predeterminados. |
title | Opcional [STR] | Título del bloque de visualizador. |
Estos ayudantes intentan almacenar en caché de modelos cargados y crearon objetos Doc .
process_text Procese un texto con un modelo de un nombre de pila y cree un objeto Doc . Llama al ayudante load_model para cargar el modelo.
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 )| Argumento | Tipo | Descripción |
|---|---|---|
model_name | stri | Nombre del modelo de Spacy cargable. Puede ser el nombre de la ruta o el paquete. |
text | stri | El texto para procesar. |
| Devolución | Doc | El documento procesado. |
load_model Cargue un modelo SPacy desde una ruta o paquete instalado y devuelva un objeto nlp cargado.
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 )| Argumento | Tipo | Descripción |
|---|---|---|
name | stri | Nombre del modelo de Spacy cargable. Puede ser el nombre de la ruta o el paquete. |
| Devolución | Language | El objeto nlp cargado. |