Analyze-Text / app.py
FahadAlam's picture
Update app.py
c149088
import gradio as gr
import os
os.system('python -m spacy download en_core_web_sm')
import spacy
from spacy import displacy
import pandas as pd
nlp = spacy.load("en_core_web_sm")
def text_analysis(text):
doc = nlp(text)
dependency_parsing = displacy.render(doc, style="dep", page=True)
visual1 = (
"<div style='max-width:100%; overflow:auto'>"
+ dependency_parsing
+ "</div>"
)
rows = []
for token in doc:
rows.append((token.text, token.lemma_, token.pos_, token.tag_, token.dep_,
token.shape_, token.is_alpha, token.is_stop))
table = pd.DataFrame(rows, columns = ["TEXT", "LEMMA","POS","TAG","DEP","SHAPE","ALPHA","STOP"])
return table, visual1
with gr.Blocks() as demo:
with gr.Row():
inp = gr.Textbox(placeholder="Enter text to analyze...", label="Input")
btn = gr.Button("Analyze Text")
gr.Markdown("""
# Analysis""")
with gr.Row():
table = gr.Dataframe()
gr.Markdown("""## Dependency Parsing""")
with gr.Row():
visual1 = gr.HTML()
with gr.Row():
gr.Examples(
examples=[
["Data Science Dojo is the leading platform providing training in data science, data analytics, and machine learning."],
["It's the best time to execute the plan."],
], fn=text_analysis, inputs=inp, outputs=[table, visual1], cache_examples=True)
btn.click(fn=text_analysis, inputs=inp, outputs=[table, visual1])
demo.launch()