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 # Gradio interface iface = gr.Interface( fn=analyze_sentiment, inputs=gr.Textbox(lines=2, placeholder="Ingrese una reseña de Amazon Fashion aquí..."), outputs=[gr.Label(), gr.Textbox()] ) # Añade un bloque para mostrar una muestra del DataFrame iface.add_component(gr.components.Dataframe(), function=show_sample) # Lanza la interfaz if __name__ == "__main__": iface.launch()