File size: 2,473 Bytes
dd7a54d
 
 
 
 
 
 
 
 
 
 
 
4a00e9c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5d00495
4a00e9c
5d00495
4a00e9c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5d00495
4a00e9c
 
5d00495
 
4a00e9c
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
---
tags:
- sentiment-analysis
- spanish
- NLP
- analisis de sentimiento
- analisis de reseñas español
---




Análisis de Sentimientos en Español con Hugging Face Transformers

Este proyecto contiene un script en Python para realizar análisis de sentimientos sobre textos en español. Utiliza un modelo preentrenado de Hugging Face para clasificar cada texto en una escala de 1 a 5 estrellas y luego lo categoriza como negativo, neutral o positivo.

Características:

Procesa archivos CSV con textos en español.

Añade dos columnas nuevas con el resultado del análisis de sentimiento:

sentiment_detail: etiqueta detallada tipo "1 star", "5 stars".

sentiment: categoría simple "negativo", "neutral" o "positivo".

Fácil de ejecutar desde línea de comandos con opciones para indicar archivos y columna de texto.

Requisitos
Python 3.7 o superior
Paquetes Python:
pandas
transformers
torch

Instalación rápida de dependencias:


pip install pandas transformers torch

Coloca tu archivo CSV con los textos en español en una ruta accesible. El CSV debe tener al menos una columna con texto (por defecto se espera que se llame text).

Ejecuta el script desde la terminal:

python sentiment_analysis_es.py --input "ruta/a/tu/archivo.csv" --output "ruta/a/resultado.csv" --text_column nombre_columna_texto
Parámetros
--input: Ruta al archivo CSV de entrada.

--output: Ruta donde se guardará el CSV con los resultados.

--text_column: Nombre de la columna en el CSV que contiene el texto (por defecto text).

Ejemplo
Dado un archivo analisis.csv con esta estructura:

id,text
1,"Me encanta este producto, es excelente."
2,"No me gustó para nada."
3,"Es más o menos, no sé qué pensar."

Ejecuta:

python sentiment_analysis_es.py --input "C:/Users/Usuario/Desktop/Poetry/sentimiento/analisis.csv" --output "C:/Users/Usuario/Desktop/Poetry/sentimiento/resultados_esp.csv" --text_column text

El archivo resultados_esp.csv tendrá columnas nuevas:

id	text	sentiment_detail	sentiment
1	Me encanta este producto, es excelente.	5 stars	positivo
2	No me gustó para nada.	1 star	negativo
3	Es más o menos, no sé qué pensar.	3 stars	neutral

Notas
El modelo usado es nlptown/bert-base-multilingual-uncased-sentiment, que soporta múltiples idiomas incluyendo español.

El análisis devuelve etiquetas de 1 a 5 estrellas, luego convertidas en categorías simples.

Es necesario tener conexión a internet la primera vez que se ejecuta para descargar el modelo.