|
import gradio as gr |
|
import pandas as pd |
|
from transformers import pipeline |
|
|
|
|
|
sentiment_pipeline = pipeline("sentiment-analysis") |
|
|
|
|
|
def load_reviews(): |
|
|
|
df = pd.read_json('AMAZON_FASHION_5.json.gz', lines=True, compression='gzip') |
|
return df |
|
|
|
|
|
def analyze_sentiment(review): |
|
|
|
result = sentiment_pipeline(review) |
|
|
|
return result[0]['label'], round(result[0]['score'], 4) |
|
|
|
|
|
df_reviews = load_reviews() |
|
|
|
|
|
def show_sample(): |
|
return df_reviews.sample(5) |
|
|
|
|
|
with gr.Blocks() as demo: |
|
with gr.Row(): |
|
with gr.Column(): |
|
input_review = gr.Textbox(lines=2, placeholder="Ingrese una reseña de Amazon Fashion aquí...") |
|
analyze_button = gr.Button("Analizar") |
|
output_label = gr.Label() |
|
output_score = gr.Textbox() |
|
with gr.Column(): |
|
show_button = gr.Button("Mostrar Ejemplos") |
|
output_df = gr.Dataframe() |
|
|
|
analyze_button.click(analyze_sentiment, inputs=input_review, outputs=[output_label, output_score]) |
|
show_button.click(show_sample, inputs=None, outputs=output_df) |
|
|
|
|
|
if __name__ == "__main__": |
|
demo.launch() |
|
|
|
|
|
|