textinsight 0.1.0
Library for text analysis including sentiment analysis, topic generation, and text correction
Requires Python: >=3.8

# TextInsight

TextInsight es una biblioteca Python para análisis de texto que combina análisis de sentimientos, generación de temas y corrección de texto utilizando modelos NLP de última generación.

## Características

- **Análisis de Sentimientos**: Analiza emociones en textos usando modelos BERT multilingües
- **Generación de Temas**: Extrae y categoriza temas principales usando GPT-3.5
- **Corrección de Texto**: Corrección inteligente con niveles personalizables de sensibilidad

## Instalación

```bash
pip install textinsight
```

## Inicio Rápido

```python
from textinsight import TextInsight

# Inicializar con API key
insight = TextInsight(api_key="tu-openai-api-key")
# O usando archivo de entorno
insight = TextInsight(api_key_file=".env")

# Ejemplo de análisis
textos = [
    "Este producto es excelente!",
    "El servicio necesita mejorar"
]

resultados = insight.analizar(textos, {
    'sentimientos': True,
    'temas': True,
    'correccion': True
})
```

## Opciones de Configuración

### Configuración de API Key

Puedes proporcionar la API key de OpenAI de tres formas:

1. Inicialización directa:
```python
insight = TextInsight(api_key="sk-...")
```

2. Archivo de entorno:
```python
insight = TextInsight(api_key_file="ruta/al/.env")
```

3. Variable de entorno:
```bash
export OPENAI_API_KEY="sk-..."
```

### Opciones de Análisis

```python
opciones = {
    # Activar/desactivar análisis específicos
    'sentimientos': True,
    'temas': True,
    'correccion': True,
    
    # Configuración de generación de temas
    'num_temas': 3,  # Número de temas a generar
    
    # Sensibilidad de corrección
    'sensibilidad': "Moderado",  # Opciones: "Ninguna", "Leve", "Moderado", "Exhaustivo"
    
    # Contexto para análisis
    'contexto': {
        'proyecto_nombre': "Nombre del Proyecto",
        'proyecto_descripcion': "Descripción del Proyecto",
        'palabras_clave': ["palabras", "clave"],
        'notas_adicionales': "Notas adicionales"
    }
}
```

## Resultados de Análisis

### Análisis de Sentimientos
```python
resultado = insight.analizar(textos, {'sentimientos': True})
sentimientos = resultado['sentimientos']

print(sentimientos.dataframe)  # Resultados de sentimientos por texto
print(sentimientos.metricas)   # Métricas de distribución
```

### Generación de Temas
```python
resultado = insight.analizar(textos, {
    'temas': True,
    'num_temas': 3
})
temas = resultado['temas']

print(temas.dataframe)         # Asignación de temas
print(temas.temas_frecuencia)  # Frecuencia de temas
```

### Corrección de Texto
```python
resultado = insight.analizar(textos, {
    'correccion': True,
    'sensibilidad': 'Moderado'
})
correcciones = resultado['correccion']

print(correcciones.dataframe)  # Textos originales y corregidos
print(correcciones.metricas)   # Métricas de corrección
```

## Niveles de Sensibilidad de Corrección

- **Ninguna**: Sin correcciones
- **Leve**: Solo errores ortográficos evidentes
- **Moderado**: Ortografía, gramática y puntuación estándar
- **Exhaustivo**: Corrección integral incluyendo mejoras de estilo

## Requisitos

- Python ≥ 3.8
- Dependencias:
  - pandas ≥ 1.3.0
  - transformers ≥ 4.0.0
  - python-dotenv ≥ 0.19.0
  - openai = 0.28
  - python-Levenshtein ≥ 0.12.0

## Licencia

Este proyecto es de uso exclusivo interno para Ipsos. Todos los derechos reservados.

© 2024 Ipsos. Este software y su documentación son confidenciales y propietarios. 
Está estrictamente prohibida su distribución, modificación o uso no autorizado fuera de Ipsos.