jueves, 4 de octubre de 2012

Normalización del Texto => Segmentación de oraciones y arboles de decisión

El tercer paso es la identificación de las oraciones en un texto para poder analizarlas como elementos separados.

Antes, una definición que puede sernos útil:

 Corpus Lingüístico: conjunto, habitualmente muy amplio, de ejemplos reales de uso de una lengua. Estos ejemplos pueden ser textos (lo más común) o muestras orales (generalmente transcritas). Por ejemplo todos los textos de Shakespare constituyen un corpus lingüístico.

Lo más simple es localizar los símbolos: ".", "?" o "!" que por lo general suelen identificar el fin de una oración.
Sin embargo estos símbolos pueden ser ambiguos o no estar presentes



El caso del "."
   - puede ser el fin de una oración
   - puede ser una abreviatura: etc. Dr.
   - puede ser parte de un número: .02% ó 4.5

Entonces, para mejorar la identificación de un fin de oración podemos construir un árbol de decisión como el que se muestra:

Pero se pueden hacer árboles más sofisticados, hay condiciones que no miramos como por ejemplo:
-Después del "." viene una mayúscula?
-Después del "." viene un número?
-Antes del "." viene un mayúscula?
-Antes del "." viene un número?
-Longitud de la palabra pegada al "." (si es corta es posible sea una abreviatura o sigla)

También podemos evaluar las posibilidades que tiene una palabra de ser el fin o el comienzo de una oración. (o de estar después del ".") Por ejemplo las palabras: "El", "La", "Los"  son muy comunes al principio de una oración.



Implementación de árboles de decisión

    Un árbol de decisión no es más que una serie de sentencias de tipo: "IF-THEN-ELSE", lo importante es escoger bien que es lo que se evaluará en cada nodo.

   Muchas veces setear a mano un árbol de decisión es muy costoso, en general tiene sentido solo con dominios acotados y evaluaciones evidentes. Para tener en cuenta características numéricas (como la probabilidad de ocurrencia de una palabra) se utilizan métodos de aprendizaje automático (machine learning) a partir de un corpus de entrenamiento.

   De todas formas no necesariamente las oraciones tienen que ser identificadas por un árbol de decisión, se podrían utilizar otros clasificadores: Regresión logística, SVM, Redes Neuronales, etc.



No hay comentarios:

Publicar un comentario