GenaroRocha's picture
m
012c291
raw
history blame
1.71 kB
import gradio as gr
import pandas as pd
from transformers import pipeline
# Inicializa la pipeline de análisis de sentimientos
sentiment_pipeline = pipeline("sentiment-analysis")
# Función para cargar los datos
def load_reviews():
# Asegúrate de usar la ruta correcta al archivo .json.gz en tu espacio de Hugging Face
df = pd.read_json('AMAZON_FASHION_5.json.gz', lines=True, compression='gzip')
return df
# Función para analizar el sentimiento de una reseña
def analyze_sentiment(review):
# Usa la pipeline de transformers para analizar el sentimiento
result = sentiment_pipeline(review)
# Devuelve solo la etiqueta ('LABEL_0' o 'LABEL_1') y el puntaje
return result[0]['label'], round(result[0]['score'], 4)
# Carga los datos (esto puede tardar un poco dependiendo del tamaño del archivo)
df_reviews = load_reviews()
# Función para mostrar una muestra del DataFrame
def show_sample():
return df_reviews.sample(5) # Muestra 5 filas aleatorias del DataFrame
# Crear la interfaz usando gr.Blocks
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)
# Lanza la interfaz
if __name__ == "__main__":
iface.launch()