SpaGAN / app.py
JasonTPhillipsJr's picture
Update app.py
1aa7dda verified
raw
history blame
1.1 kB
import streamlit as st
import spacy
from transformers import pipeline
from PIL import Image
nlp = spacy.load("./models/en_core_web_sm")
st.title("SpaGAN Demo")
st.write("Enter a text, and the system will highlight the geo-entities within it.")
user_input = st.text_area("Input Text", height=200)
# Process the text when the button is clicked
if st.button("Highlight Geo-Entities"):
if user_input.strip():
# Process the text using spaCy
doc = nlp(user_input)
# Highlight geo-entities
highlighted_text = user_input
for ent in reversed(doc.ents):
if ent.label_ in ["GPE", "LOC"]: # GPE = Geopolitical Entity, LOC = Location
highlighted_text = (
highlighted_text[:ent.start_char] +
f"**:green[{ent.text}]**" +
highlighted_text[ent.end_char:]
)
# Display the highlighted text
st.markdown(highlighted_text)
else:
st.error("Please enter some text.")
st.write("Note: The model identifies and highlights geo-entities.")