Análisis Texto Con Redes Bayesianas

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 6

Análisis de texto con redes bayesianas

Desarrollo de análisis de texto (también conocido como minería de texto)


utilizando redes bayesianas.

¿Qué es la analítica de texto?

El análisis de texto permite incluir datos basados en texto (datos no


estructurados) en los modelos. El texto se puede utilizar para realizar la
clasificación, agrupamiento, detección de anomalías e incluso la predicción de
series de tiempo. De hecho, una vez que los datos de texto no estructurados se
han transformado en datos estructurados, se pueden usar igual que los datos
normales para construir una variedad de modelos.

El análisis de texto se puede usar para clasificar documentos en varias


categorías, y se puede usar para agrupar documentos o textos
similares. También se puede utilizar para extraer información del texto contenido
en campos de formulario libre, como notas ingresadas por un cliente.

Datos no estructurados

Consideramos los siguientes datos de capacitación sobre clientes que han


obtenido un préstamo. Contiene tanto datos estructurados (Edad, Género) como
datos no estructurados (Propósito) que queremos usar para predecir el Riesgo.

Identificación Años Género Propósito Riesgo


del cliente
00 37 Masculino Pago parcial por un auto nuevo, Bajo
después de la venta de mi auto
existente.
1 25 Hembra Para pagar mis tarjetas de crédito Alto
2 44 Hembra Para mejoras de la casa y arrendar Bajo
un auto.
3 22 Masculino Depósito por un piso Medio
Plazo de extracción

El primer paso es transformar los datos no estructurados en datos


estructurados. Esto se puede realizar durante una etapa de preprocesamiento
junto con otras tareas, como la limpieza de datos.

En este ejemplo, queremos extraer términos clave de la columna Propósito que


puede contener texto de forma libre.

Para hacer esto, podemos usar una herramienta de extracción de


términos . Existen muchas de estas herramientas, como 'Stanford NLP',
'OpenNLP' o 'Microsoft Sql Server Integration Services (SSIS)' que tiene
transformaciones llamadas Extracción de términos y Búsqueda de términos.

Después de la extracción a término, nuestros datos probablemente estarán en


dos tablas. Los datos anteriores se verían así:

Identificación Años Género Riesgo


del cliente
00 37 Masculino Bajo
1 25 Hembra Alto
2 44 Hembra Bajo
3 22 Masculino Medio

Identificación Término Puntuación


del cliente
00 Coche 2
1 Tarjeta de crédito 1
2 Casa 1
2 Coche 1
3 Depositar 1
3 Plano 1
La segunda tabla contiene términos extraídos de la columna Propósito en los
datos originales. Se pueden asociar varios términos con cada cliente, o puede
que no haya términos asociados con un cliente.
La columna Puntaje contendrá el número de ocurrencias de cada término o una
métrica alternativa utilizada por la herramienta de extracción de términos. En el
ejemplo anterior, la columna Puntaje contiene el número de ocurrencias.

Clasificación de texto

En este punto, hemos transformado los datos no estructurados en datos


estructurados, que ahora se pueden usar para construir un modelo de
clasificación .

El modelo más simple que podemos construir es un ingenuo modelo de Bayes,


cuyo ejemplo se muestra a continuación. También podemos construir modelos
de clasificación más sofisticados como se explica en el artículo
sobre clasificación con redes bayesianas.
Hay varias formas en que podemos incorporar la columna Puntaje :

• Usando una variable discreta con dos estados, el primero que


corresponde a 0 ocurrencias, el segundo a uno o más.
• Usando una variable discreta con múltiples estados, el primero de los
cuales corresponde a 0 ocurrencias, y los estados posteriores
corresponden a intervalos tales como 1-2, 3-5 y> = 6 (tenga en cuenta
que en Bayes Server un estado puede ser un intervalo).
• Usar un modelo de mezcla univariante para aproximar la distribución de
frecuencias. Por ejemplo, una distribución exponencial se puede
aproximar utilizando un modelo de mezcla en el registro (Puntuación).

Aprendizaje
Para aprender el modelo de clasificación de texto a partir de datos, necesitamos
asignar columnas de datos a variables. Los datos anteriores están actualmente
contenidos en dos tablas, por lo que no hay una correspondencia uno a uno entre
una columna de datos y una variable en el modelo.

Podemos proceder de una de las siguientes maneras:

• Acoplar los datos después del proceso de extracción de términos, de


modo que tengamos una columna para cada término (que contiene el
puntaje).
• Use la API de Bayes Server, asignando los términos y sus puntajes a
variables usando código.

Acoplar los datos en el ejemplo anterior se vería así. Cuando el número de


términos es grande, este enfoque no es factible.

Ident Años Género Propósito Propósito Propó Propósit Propósito Riesgo


ificac (Auto) (tarjeta sito o (plano)
ión de (Casa) (Depósit
del crédito) o)
client
e
00 37 Masculino 2 00 00 00 00 Bajo
1 25 Hembra 00 1 00 00 00 Alto
2 44 Hembra 1 00 1 00 00 Bajo
3 22 Masculino 0 0 00 00 1 1 Medio

Cualquiera que sea el método elegido, el aprendizaje del modelo se desarrolla


de la manera habitual.

Inferencia

Una vez que hemos construido nuestro modelo de clasificación, podemos


realizar inferencia (predicciones) de la manera habitual en datos invisibles, es
decir, datos que no incluyen el Riesgo, ya que eso es lo que estamos tratando
de predecir.

Al igual que con el aprendizaje, es necesario aplanar o aplicar datos con la API
de Bayes Server.

Secuencias

Dado que Bayes Server admite series de tiempo y modelos de secuencia, si es


necesario, también podemos modelar secuencias de términos como:

• Secuencias de términos dentro de un elemento de texto en particular.


• La evolución del texto en el tiempo.

También podría gustarte