awacke1's picture
Update app.py
1a4340b
import spacy
import streamlit as st
from spacy_streamlit import visualize_ner
try:
spacy.load("en_core_web_sm")
except:
spacy.cli.download("en_core_web_sm")
st.write("""
## NER AI/NLP for Technology and Science
""")
nlp = spacy.load("en_core_web_sm")
ruler = nlp.add_pipe("entity_ruler", before="ner")
#ruler.from_disk("tokens.json")
ruler.from_disk("tokens.jsonl")
description = "Engineering Jobs Salary, Job Growth Rate, Petroleum Engineers $137,330 8%, Computer Hardware Engineers $119,560 2%, Aerospace Engineers $118,610 8%, Nuclear Engineers $116,140 -8%, Chemical Engineers $108,540 9%, Electrical and Electronics Engineers $103,390 7%, Materials Engineers $95,640 8%, Marine Engineers $95,440 4%, Health and Safety Engineers $94,240 6%, Mining and Geological Engineers $93,800 4%, Biomedical Engineers $92,620 6%, Environmental Engineers $92,120 4%, Mechanical Engineers $90,160 7%, Industrial Engineers $88,950 14%, Civil Engineers $88,570 8%, Agricultural Engineers $84,410 5%"
text = st.text_area(label='Engineering Description', value=description, placeholder='Enter Text for Technology or Engineering')
doc = nlp(text)
visualize_ner(doc, labels=nlp.get_pipe("ner").labels)
st.subheader('Keywords')
st.json(
[{'label': entity.label_, 'text': entity.text, 'start': entity.start, 'end': entity.end} \
for entity in doc.ents if entity.ent_id_ == 'SKILLS']
)