STR. Un generador de etiquetadores supervisados basado en TextRank F. Javier Ortega, P

Tamaño: px
Comenzar la demostración a partir de la página:

Download "STR. Un generador de etiquetadores supervisados basado en TextRank F. Javier Ortega, P"

Transcripción

1 STR. Un generador de etiquetadores supervisados basado en TextRank F. Javier Ortega, P Supervised by Prof. Dr. Jose Antonio Troyano Jiménez Thesis project submitted to the Department of Computer Languages and Systems of the University of Sevilla in partial fullment of the requirements for the degree of Ph.D. in Computer Engineering. (Research report)

2

3 Índice general 1. Introducción El Procesamiento del Lenguaje Natural PLN Estadístico Los modelos de Markov Aprendizaje basado en transformaciones (TBL) Aprendizaje basado en memoria (MBL) Modelo de Máxima Entropía Conditional Random Fields Support Vector Machines Modelos Grácos en el PLN Estadístico Algoritmos de inferencia Algoritmo de Eliminación de Variables Algoritmo de Propagación de Creencias Algoritmo de Unión de Árboles Algoritmos de inferencia por aproximación Algoritmos de ranking Aplicaciones de los modelos grácos al PLN TextRank Supervisado Algoritmo de TextRank Modelo básico de TextRank Supervisado Variantes del TextRank Supervisado La herramienta STR Requisitos Lenguaje de denición de grafos Sintaxis del lenguaje Ejemplos de posibles topologías de grafos Probabilidades y frecuencias Probabilidades léxicas Probabilidades de n-gramas Suavizado de n-gramas y probabilidades para palabras desconocidas Diseño de STR Estructuras de datos Corpus Vocabulario Tabla de Frecuencias El Grafo Diseño de str-train i

4 ii ÍNDICE GENERAL 5.3. Diseño de str-tag Resultados experimentales Corpus utilizados Otras herramientas de etiquetado Diseño de los experimentos Modelos de bigramas Modelos de trigramas Interpolación Lineal Otras topologías Corpus de tres columnas Comparativas Conclusiones Proyecto investigador Entorno Grupos de investigación Revistas Congresos Trabajo Futuro Planicación temporal A. Curriculum vitae 73 B. Gramática del Lenguaje de Denición de Grafos 79

5 Índice de guras 1.1. Grafo de eventos que cumplen la regla de Markov Grafo representativo de un HMM Representación gráca de un CRF sobre una secuencia de datos de entrada, X. Y representa la secuencia de etiquetas Clasicación mediante métodos discriminativos Representación gráca del comportamiento de una SVM Ejemplo de funcionamiento de una función de kernel Ejemplo de modelo gráco dirigido Primer paso del algoritmo de eliminación: quitar el nodo 5, añadiendo una arista entre x 2 y x 4, o cambiando la ponderación de la misma, si ya existía Ejemplo de modelo gráco para el resumen de un texto mediante TextRank Estructura de un nodo de ejemplo Fragmento de grafo para el texto...the base rate Algoritmo para la selección de nodos Posible ranking de nodos, y selección de los mismos Esquema de funcionamiento del Stacking Arquitectura de la herramienta STR Grafo basado en bigramas Un único tipo de nodo y de arco (grafo de la gura 4.2) Distintos tipos de nodos y arcos (grafo de la gura 4.11) Arcos sin dirección (grafo de la gura 4.10) Grafo basado en trigramas Grafo basado en bigramas y trigramas Grafo para un corpus de tres columnas Grafo con distintos tipos de nodos Grafo sin dirección Grafo para corpus de tres columnas, distintos tipos de nodos para cada palabra Corpus sin etiquetar Corpus etiquetado por columnas Diagrama de los principales componentes de str-train Diagrama de clases para str-tag Ejemplo de etiquetado en formato IOB Denición de un grafo bidireccional con bigramas Denición de otro grafo bidireccional con bigramas Denición de un grafo de trigramas iii

6 iv ÍNDICE DE FIGURAS 6.5. Denición de un grafo bidireccional sobre trigramas Segundo grafo bidireccional sobre trigramas Grafo dirigido que utiliza interpolación lineal Grafo bidireccional sobre un modelo de interpolación lineal Grafo bidireccional sobre un modelo de interpolación lineal (segunda versión) Grafo bidireccional sobre un modelo de interpolación lineal (tercera versión) Denición de un grafo con aristas independientes para trigramas Grafo de aristas independientes para trigramas, y una arista en sentido opuesto Grafo de aristas independientes para trigramas, y dos aristas en sentido opuesto Grafo de bigramas sin dirección Topología de un grafo para corpus de tres columnas Denición alternativa de un grafo sobre corpus de tres columnas Denición de un grafo con distintos tipos de nodos para corpus de tres columnas (a) Representación gráca de un HMM. (b) Representación gráca de un MEMM Planicación del Proyecto Investigador

7 Índice de tablas 5.1. Vocabulario Tabla de Frecuencias Grafo Tamaños de los corpus CoNLL00, CLiC-TALP y Penn Tamaños de los corpus Coling04, CoNLL 2000 y CoNLL Tamaños de los corpus CoNLL 2000 y CoNLL 2002 de tres columnas Porcentajes de acierto del experimento Porcentajes de acierto del experimento Porcentajes de acierto del experimento Porcentajes de acierto del experimento Porcentajes de acierto del experimento Comparativa entre algunos etiquetadores y STR Distancia de nuestra herramienta con el resto de etiquetadores, y experimento en el que se obtienen esos resultados v

8 vi ÍNDICE DE TABLAS

9 Agradecimientos A mi familia, amigos y compañeros, por contribuir a que todo sea siempre más fácil. vii

10 viii ÍNDICE DE TABLAS

11 Abstract El presente trabajo consta de tres partes fundamentales. En primer lugar exponemos el estado del arte del aprendizaje automático aplicado al Procesamiento del Lenguaje Natural, haciendo hincapié en las tareas a resolver hoy por hoy en este campo, y en las técnicas estocásticas más utilizadas para ello. En este apartado nos centramos sobre todo en los modelos grácos probabilísticos. En la segunda parte mostramos el trabajo de investigación realizado hasta ahora, consistente en una aplicación que utiliza el algoritmo de TextRank en un esquema supervisado, para etiquetar textos. Este algoritmo es una modicación del PageRank, ideada para su utilización en el Procesamiento del Lenguaje Natural. El TextRank es un algoritmo de ranking que, dado un grafo como dato de entrada, devuelve una ordenación de los nodos del mismo según su importancia dentro del grafo. En el diseño de esta herramienta, que hemos llamado STR (Supervised TextRank), hemos conseguido un alto grado de exibilidad, de manera que resulta sencilla la extensión de la aplicación con nuevas funcionalidades, y la utilización de diversos algoritmos en las distintas partes del proceso de etiquetado. En este documento presentamos los resultados al etiquetar con nuestra herramienta algunos de los corpus más extendidos en PLN, y una comparativa con los etiquetadores más utilizados en este área. En ella se comprueba cómo el comportamiento de STR se asemeja bastante al que presentan estas aplicaciones, llegando incluso a superar el porcentaje de aciertos en algunos corpus. Por último, planteamos las líneas básicas de lo que será el trabajo de investigación a realizar a partir de ahora. En este apartado hacemos una breve descripción del entorno en el que nos movemos, enumerando los congresos, revistas y grupos de investigación más relevantes en este campo. Finalmente exponemos las líneas de trabajo futuro, y presentamos una planicación de dicho trabajo. 1

12 2 ÍNDICE DE TABLAS

13 Capítulo 1 Introducción 1.1. El Procesamiento del Lenguaje Natural El objetivo que persigue el Procesamiento de Lenguaje Natural (en adelante PLN) es el análisis y modelado del lenguaje humano (tanto hablado como escrito), para posibilitar su entendimiento y tratamiento computacionales. El ámbito de aplicación del PLN es muy amplio, y abarca problemas como la traducción automática, la extracción de información, resumen y clasicación de documentos, sistemas de diálogo, sistemas de preguntas y respuestas, etc. El origen del PLN se sitúa entre los años cuarenta y sesenta, enfocando su interés en la traducción de textos. Los primeros intentos en este sector se basaban en la sustitución de palabra por palabra, con resultados obviamente discretos ya que se centraban en el nivel léxico del lenguaje, obviando la sintaxis y la semántica del mismo. Debido a esto surgieron nuevas tareas como la resolución de ambigüedades sintácticas y semánticas, la búsqueda de técnicas y procedimientos para tener en cuenta el contexto de las palabras, o el alineamiento de textos. En los años sesenta los trabajos se centran en técnicas de análisis sintáctico. Es en estos años cuando el PLN se ve inuenciado por los trabajos realizados en inteligencia articial, surgiendo sistemas basados en denición de reglas de decisión sobre los textos de entrada. Como resultado de ello se construyó el primer sistema de preguntas-respuestas basado en lenguaje natural, siempre persiguiendo el objetivo de generar un sistema informático capaz de superar con éxito el conocido test de Turing. Esta prueba es un procedimiento ideado por Alan Turing en 1950 para identicar la existencia de inteligencia en una máquina. Está fundamentado en la hipótesis positivista de que, si una máquina se comporta en todos los aspectos como un humano, entonces debe ser inteligente. La prueba consiste en un desafío. La máquina debe hacerse pasar por humana en una conversación con un hombre a través de una comunicación de texto estilo chat. Al sujeto no se le avisa si está hablando con una máquina o una persona. Si el sujeto es incapaz de determinar si la otra parte de la comunicación es humana o máquina, entonces se considera que la máquina ha alcanzado un determinado nivel de madurez: es inteligente. Entre los años setenta y ochenta resurge con fuerza el interés en la traducción automática. Estos años se caracterizan también por la incorporación de técnicas estadísticas al PLN, ya que hasta entonces todos los estudios y desarrollos se basaban en técnicas basadas en el conocimiento. También surgen intereses en la aplicación del PLN en sistemas de recuperación y extracción de información. En la actualidad, el PLN se aborda mediante una técnica de divide y vencerás, enfocando los esfuerzos de investigación en este área sobre distintas tareas intermedias que vayan acercándonos poco a poco a nuestra meta, o en campos concretos 3

14 4 CAPÍTULO 1. INTRODUCCIÓN sobre los que desarrollar sistemas especícos de PLN centrados en dominios concretos del lenguaje. Entre las tareas más importantes del PLN aplicado a lenguaje escrito caben destacar las siguientes: Part-Of-Speech Tagging (POS): se trata de decidir, para cada palabra de un texto, su categoría gramatical, morfológica y/o sintáctica. Esta tarea la podemos estudiar como un problema de etiquetado secuencial, es decir: dada una secuencia de palabras como entrada, obtener como salida una secuencia de etiquetas para las mismas. Syntactic Analysis (Parsing): esta tarea consiste en estudiar la estructura sintáctica de las frases de un texto. Debido a la naturaleza del análisis sintáctico, la forma más natural de enfrentarnos a este problema sería mediante la construcción de la estructura jerárquica que relaciona los sintagmas de la frase. Desambiguación de signicados (WSD): consiste en resolver el problema de la ambigüedad semántica de las palabras de un texto. Es decir, seleccionar de entre todos los posibles signicados de una palabra, el más acorde según el contexto en el que se encuentra la misma. Shallow Parsing (Chunking): mediante la denición de este subproblema se pretende conseguir un análisis sintáctico supercial de una frase. Esta tarea es una aproximación secuencial al problema del Parsing, suavizando sus exigencias, ya que sólo queremos obtener los sintagmas de primer nivel en que se divide una frase, o sus principales constituyentes sintácticos. Clause splitting: división de una frase en las cláusulas que la componen. A diferencia del chunking, esta tarea no puede verse desde un punto de vista secuencial, ya que las cláusulas de una frase pueden contener a su vez otras cláusulas. Por tanto, se trata de un problema de naturaleza jerárquica y, como tal, no es aconsejable el enfoque secuencial. Semantic Role Labeling (SRL): consiste en la identicación de la palabra o grupo de palabras que conforman los distintos componentes semánticos de una proposición. Tales como quién efectúa la acción, qué acción se realiza, objeto sobre el que se ejecuta la acción, etc. También aquí resulta poco adecuado el tratamiento secuencial del problema. Named Entities Recognition / Extraction (NER / NEE): dado un texto, se pretende extraer o reconocer en él las palabras que participan en la descripción de una entidad. Así como las relaciones existentes entre las distintas entidades. Búsqueda de respuestas: el objetivo que perseguimos aquí sería el de resolver una pregunta dada consultando uno o varios documentos de texto. Como hemos dicho, la resolución de cada uno de estos problemas es más simple que abordar el objetivo nal de cada posible aplicación del PLN. Cada tarea nos resuelve un apartado, y nos acerca a la meta perseguida. La otra cara de esta forma de afrontar las problemas del PLN es que, al resolver cada una de las tareas, cometeremos inevitablemente algún tipo de error que iremos arrastrando a las siguientes fases. De esta forma podemos obtener al nal cotas de error demasiado grandes en nuestras soluciones. Las últimas propuestas realizadas para intentar paliar este problema consisten en cambiar la arquitectura de los sistemas de PLN, pasando del actual pipeline de procesos, a una estructura mediante la cual se resuelvan de forma paralela el mayor número de tareas posible.

15 1.2. PLN ESTADÍSTICO 5 Centrándonos en las tareas comentadas, todas pueden ser planteadas como problemas de clasicación [30], donde a cada palabra o grupo de palabras se le asocia una categoría, identicada mediante una determinada etiqueta. Si bien en muchas de ellas no se trata de problemas de clasicación pura, ya que lo que en realidad se hace es clasicar palabras dentro de un entorno limitado (un sintagma, una cláusula, una frase, etc), mediante clasicadores locales, y luego realizar una inferencia para obtener la solución estructural completa a nuestro problema PLN Estadístico Como hemos comentado, en los años setenta se comenzaron a aplicar métodos estadísticos al Procesamiento del Lenguaje Natural como alternativa a los métodos basados en conocimiento. Se engloban bajo esta denición todas aquellas aproximaciones cuantitativas que se aplican al PLN, como la teoría de la información, el álgebra lineal o las técnicas estocásticas[29]. Los métodos estadísticos se dividen en dos grupos principales, atendiendo a la información que precisan para su aplicación: Métodos supervisados: son aquellos que necesitan una gran cantidad de datos como entrenamiento, para aprender a partir de ellos. Una vez procesados esos datos, el sistema podrá aplicar el conocimiento extraído a nuevos ejemplos de entrada. Estos métodos realizan una fase previa a la resolución del problema concreto, llamada fase de entrenamiento. Sus resultados dependen en gran medida de la calidad de los datos de entrenamiento, medida en función de la cantidad de los mismos y su representatividad del lenguaje, dentro del problema que queramos resolver. Métodos no supervisados: los sistemas no supervisados no necesitan otros datos que no sean los de entrada. Por tanto no realizan ninguna fase previa de entrenamiento, simplemente procesan los datos de entrada recibidos. En general, estos métodos suelen cometer más imprecisiones que los supervisados. Como grandes ventajas frente a los anteriores están la mayor velocidad de los métodos no supervisados ya que, en general, no necesitan fase de entrenamiento; y el hecho de no precisar datos de entrenamiento, aspecto que en algunas tareas e idiomas suele ser un problema importante para los métodos supervisados. En el caso del PLN, cuando hablamos de métodos supervisados, nos referiremos a los datos de entrenamiento como Corpus. Los Corpus no son más que grandes colecciones de textos. Estos textos pueden contener información adicional a las propias palabras, como la categoría gramatical de cada palabra, o posibles traducciones a otros idiomas, o información sintáctica de las frases. En este caso se dice que son Corpus Anotados. El procedimiento habitual de los métodos estadísticos supervisados aplicados al PLN consistiría en procesar un determinado corpus (que llamaremos corpus de entrenamiento o training corpus), del cual inferir algún tipo de comportamiento o extraer algún conocimiento útil para la tarea que nos ocupe. Con este conocimiento, nuestro sistema será capaz de realizar un procesado concreto sobre un nuevo texto de entrada. Existen multitud de técnicas estadísticas aplicadas al PLN. En los puntos siguientes haremos un repaso por las más relevantes Los modelos de Markov Una cadena de Markov modela una serie de eventos en la cual la probabilidad de que ocurra un evento depende del evento inmediato anterior. Si lo representamos

16 6 CAPÍTULO 1. INTRODUCCIÓN mediante un grafo, sería como se muestra en la gura 1.1. Figura 1.1: Grafo de eventos que cumplen la regla de Markov. Una cadena de Markov es una secuencia Y 1, Y 2, Y 3,... de variables aleatorias. El rango de estas variables se llama espacio de estados. El valor de Y n es el estado del proceso en el instante n. Para que una sucesión de eventos pueda ser considerada una cadena de Markov, ha de cumplir las dos propiedades de Markov: Horizonte limitado: un evento Y n sólo dependerá de un conjunto nito de eventos anteriores a él. P (X t+1 = s k X 1,..., X t ) = P (X t+1 = s k X t ) Tiempo estacionario: esa dependencia es invariante respecto al tiempo. P (X t+1 = x X t = y) = P (X t = x X t 1 = y) Si se cumplen dichas propiedades, la distribución de probabilidad condicional de Y n+1 en estados pasados es una función de Y n, por lo que podemos calcularla como: P (Y n+1 = y n+1 Y n = y n, Y n 1 = y n 1,..., Y 1 = y 1 ) = P (Y n+1 = y n+1 Y n = y n )) (1.1) Un modelo oculto de Markov (en adelante HMM, de Hidden Markov Model) es un modelo estadístico que representa un proceso de Markov de parámetros desconocidos. El objetivo es determinar los parámetros ocultos a partir de los parámetros observables. En un modelo de Markov normal el estado es visible para el observador, por tanto las probabilidades de transición de un estado a otro son simplemente parámetros. En el modelo oculto de Markov el estado no es visible directamente, sólo lo son las variables inuidas por dicho estado. Cada estado tiene una distribución de probabilidades sobre los posibles símbolos de salida. De esta manera, la secuencia de símbolos de salida generada por un HMM proporciona cierta información acerca de la secuencia de estados. El modelo oculto de Markov sería grácamente como se observa en la gura 1.2, considerando la secuencia de estados observables X y los estados ocultos Y. En un HMM, si tenemos la secuencia de eventos observables X=x 1,x 2,...,x n, y la secuencia de eventos ocultos Y =y 1,y 2,...,y n, se dene la probabilidad de x t como: P (x t ) = P (x t y t )P (y t ) (1.2) Si ésto lo aplicamos al PLN, por ejemplo a la tarea de etiquetado POS, se reformularía el problema de la siguiente forma: "Dada una secuencia observable de palabras X, hallar la secuencia de etiquetas Y, más probable para dichas palabras." Si desarrollamos esa probabilidad condicionada, según el teorema de Bayes: P (y 1,..., y n x 1,..., x n ) = P (x 1,..., x n y 1,..., y n )P (y 1,..., y n ) P (x 1..., x n ) (1.3)

17 1.2. PLN ESTADÍSTICO 7 Figura 1.2: Grafo representativo de un HMM. Lo que queremos es maximizar esa probabilidad. Al cumplirse la regla de Markov, la probabilidad de una etiqueta y k sólo dependerá de las anteriores (en nuestro caso consideraremos las dos anteriores, por simplicidad y claridad), por tanto lo que en realidad buscamos es: n argmax y1,...,y n k=1 P (x k y k )P (y k y k 1, y k 2 ) (1.4) Según esta formulación, necesitamos estimar la distribución de las llamadas probabilidades de emisión (de una palabra dada una etiqueta), P (x k y k ); también la distribución de las conocidas como probabilidades de transición (de un estado a otro), P (y k y k 1, y k 2 ) (que sería un HMM de segundo orden); y por último la probabilidad inicial, P (y 1 ). Mediante algoritmos de programación dinámica, como el algoritmo de Viterbi, se consigue calcular la secuencia Y que maximiza la expresión anterior en un tiempo lineal, O(n). Aunque en la práctica, la complejidad de este modelo es OrdenM arkov Estados, es decir, directamente proporcional al número de etiquetas que consideremos, y al tamaño del horizonte a la hora de aplicar la regla de Markov. Los modelos de Markov se dice que son modelos generativos, ya que intentan explicar cómo se producen los eventos en el conjunto de entrenamiento Aprendizaje basado en transformaciones (TBL) Este nuevo modelo de aprendizaje (Transformation-Based Learning)[6], a diferencia del de Markov, no se restringe a considerar tan sólo las etiquetas anteriores a una palabra dada, sino también las palabras que la preceden, y las posibles distintas dependencias entre éstas. El mecanismo de este aprendizaje se basa en seleccionar una serie de transformaciones que, partiendo de un etiquetado incorrecto, nos lleve a uno con menos errores. El entrenamiento de un modelo de este tipo requiere considerar un menor número de decisiones que el necesario para estimar los numerosos parámetros de un modelo de Markov. Para ello, como datos de entrada para su entrenamiento, el modelo de aprendizaje basado en transformaciones necesita un corpus etiquetado y un diccionario (o

18 8 CAPÍTULO 1. INTRODUCCIÓN vocabulario). Como punto de partida, a cada palabra le asignamos la etiqueta más frecuente en el diccionario. El algoritmo de aprendizaje genera una lista ordenada de transformaciones que nos lleva a un etiquetado más correcto que el de origen. Aplicando cada transformación al corpus etiquetado inicialmente, y comprobando la reducción de los errores producidos en el etiquetado, podemos seleccionar la transformación más conveniente, y aplicarla a todo el corpus. Dicha transformación sería la primera en orden de prioridad. Si realizamos este proceso de forma iterativa, hasta que el hecho de aplicar una nueva regla de transformación al corpus no produzca ninguna mejora en el error de etiquetado, hemos terminado la fase de entrenamiento. Para aplicar este modelo a un texto sin anotar, en primer lugar realizaríamos un etiquetado inicial tal y como se expuso antes (asignando a cada palabra la etiqueta más frecuente del diccionario), y a continuación aplicaríamos las reglas de transformación aprendidas en el entrenamiento, en el orden obtenido en el mismo Aprendizaje basado en memoria (MBL) El aprendizaje basado en memoria (Memory-Based Learning) engloba a todos aquellos métodos de aprendizaje supervisado que están basados en la utilización de métricas de similitud entre las instancias vistas (almacenadas de alguna forma) para clasicar nuevas instancias[48]. Estos métodos son discriminativos, ya que toman decisiones acerca del parecido o no de los ejemplos con los datos de entrenamiento. Un apartado muy importante dentro de los métodos discriminativos es la denición del concepto de similitud entre ejemplos, y las características utilizadas para medir esa similitud. En general, para decidir si un ejemplo se parece a otro se utilizan funciones que miden de alguna forma dicho parecido, atendiendo a un determinado conjunto de características de los datos. Estas características pueden ser muy diversas y dependen sobre todo del problema que se quiera resolver en cada momento. Lo que sí deben cumplir todas ellas es que puedan ser denidas matemáticamente de forma simple. La manera más sencilla de hacer esto consiste en denir lo que se conocen como features functions, que son de la forma: { 1 si el ejemplo x presenta la característica y f y (x) = 0 en caso contrario De esta forma, para cada dato generaremos un vector de características, que contendrá la información relevante a la hora de calcular la similitud entre dos ejemplos dados. También es interesante resaltar que el número de características a considerar inuye en gran medida en el rendimiento de nuestro modelo discriminativo. Parece obvio que cuantas más características consideremos, más se ajustará nuestro modelo a los datos de entrenamiento (suponiendo que dichas características sean signicativas para el problema a resolver). La contrapartida viene dada por el aumento del tamaño del vector de características que generamos para cada elemento del conjunto de entrenamiento, lo que provoca un aumento del tiempo de procesado. El problema de decidir qué características considerar para un problema determinado constituye por sí mismo una línea de investigación en aprendizaje automático. En el MBL, a la hora de clasicar una nueva instancia, se escogerán de entre todas las instancias almacenadas aquellas relevantes (por similitud con la dada), y la clasicación se realiza por analogías con ellas. Para poder llevar a cabo este proceso, las instancias del entrenamiento se almacenan en memoria, junto con su etiqueta correcta. Dada una nueva instancia a clasicar, utilizando técnicas basadas en los algoritmos del vecino más cercano, seleccionamos las instancias más anes a la dada, según las características consideradas. La etiqueta que se le asigna a la

19 1.2. PLN ESTADÍSTICO 9 instancia nueva se calcula extrapolando de alguna forma el conjunto de etiquetas de las instancias obtenidas anteriormente Modelo de Máxima Entropía El principio de máxima entropía nos dice que la probabilidad de suceso de una serie de eventos, se corresponde con la distribución de probabilidades más uniforme posible[3]. Aplicado, por ejemplo, al POS tagging este principio viene a decir que, dada una sucesión de palabras que queremos etiquetar con un conjunto de etiquetas (por ejemplo {Nombre, Verbo, Adjetivo}), la asignación correcta de etiquetas es aquella que resulte más uniforme, es decir, la que asigne cada etiqueta a un número parecido de palabras. Penalizando además aquellas distribuciones de probabilidades con poca entropía. Con el ejemplo dado, una distribución de etiquetas poco uniforme sería asignar a todas las palabras la etiqueta "Nombre", por lo que esta distribución de etiquetas se consideraría poco probable bajo un modelo de máxima entropía. Al igual que a la hora de describir los HMM, si consideramos una sucesión de eventos X, que producen unos determinados valores de salida Y, mediante esta técnica construiremos un modelo estadístico que represente lo más aproximadamente posible dicha sucesión de eventos. Si lo trasladamos al ámbito de la tarea de POS tagging, lo que queremos es encontrar la distribución de probabilidades de emisión de etiquetas que mejor modele la sucesión de eventos (en este caso serán palabras) de entrada. Para lograr nuestro objetivo, lo primero sería entrenar el modelo. En este caso, al igual que en anteriores ocasiones, el entrenamiento vendrá dado por la observación de un determinado número de ejemplos de eventos y valores asociados, calculando la distribución de probabilidad de los mismos. Es decir, la frecuencia de ocurrencia de los pares [evento, valor], o en nuestro caso [palabra, etiqueta]: p(x, y) = 1 N OcurrenciasDe(x, y) Además de estas estadísticas, también podemos considerar diferentes características que no tienen por qué referirse a la frecuencia de ocurrencia de las palabras, sino aspectos dependientes del contexto de la palabra, o de cualquier información que observemos de forma sencilla como por ejemplo el hecho de que la palabra esté o no en mayúscula, o que sea principio de frase, etc. En general, podemos tener en cuenta los aspectos que consideremos relevantes, siempre y cuando se puedan expresar como una función binaria, de la misma forma que en el aprendizaje basado en memoria: f(x, y) = { 1 si se cumple la condición deseada 0 en caso contrario A estas funciones, o a los aspectos que representan se les denomina características (o features), al igual que hemos comentado en la sección anterior. Para nuestros nes, lo que nos interesa es el valor esperado de f con respecto a la distribución p(x, y), es decir: p(f) = x,y p(x, y)f(x, y) (1.5) A la hora de calcular el modelo que mejor se ajusta a los datos de entrenamiento y a las características que nos interesen, utilizaremos dichas características como restricciones a cumplir por nuestro modelo probabilístico.

20 10 CAPÍTULO 1. INTRODUCCIÓN Conditional Random Fields Los Conditional Random Fields (en adelante CRF) pueden ser descritos como un framework estocástico para el etiquetado de datos secuenciales, mediante la generación de un grafo de dependencias que represente la relación entre las palabras y sus etiquetas[51]. Grácamente podemos considerar un CRF como un grafo no dirigido que dene una distribución de probabilidades sobre una secuencia de etiquetas, dada una secuencia de datos de entrada, como se muestra en la gura 1.3. La existencia de una arista entre dos vértices del grafo indica que esos dos vértices son condicionalmente dependientes. En contraposición a los modelos de Markov, que denen una probabilidad conjunta, los CRF's se basan en el cálculo de probabilidades condicionadas entre las secuencias de datos y etiquetas. Esto permite relajar las restricciones de independencia que imponen los modelos de Markov a los datos para que sean computacionalmente tratables, además de permitir la inclusión en el modelo de cualquier característica que se considere relevante sin necesidad de preocuparse por cómo estén relacionadas dichas características, ya que el propio modelo se encargará de realizar la inferencia. Figura 1.3: Representación gráca de un CRF sobre una secuencia de datos de entrada, X. Y representa la secuencia de etiquetas. Un elemento clave en los CRF's son las llamadas Potential Functions. Cada una de esas funciones operan en un conjunto determinado de vértices del grafo del CRF, de forma que la estructura del CRF se puede utilizar para factorizar una probabilidad conjunta, como un producto de Potencial Functions (que devolverán valores reales y positivos). Para ello debe cumplirse que una Potential Function sólo opere con elementos dependientes entre sí, es decir unidos por una arista en el grafo (a este grupo de nodos se les conoce como clique). Estas funciones representan restricciones sobre los elementos (o variables) sobre los que se denen. A mayor valor de la función, mayor grado de satisfactibilidad tendrá la restricción representada. Por tanto, a la hora de etiquetar una secuencia de datos buscaremos la conguración de variables y etiquetas más probables según las restricciones impuestas por las Potential Functions. Dicha probabilidad vendrá dada por el producto de las Potential Functions, que son de la forma: exp( j λ j t j (y i 1, y i, x, i) + k µ k s k (y i, x, i)) donde t j (y i 1, y i, x, i) es una función de transición entre dos etiquetas, y i 1 e y i, dada la secuencia de datos de entrada, x, y un conjunto de características relevantes para el problema; s k (y i, x, i) es una función análoga a la anterior, pero referida sólo a la etiqueta considerada en cada instante, y i ; y λ j y µ k son parámetros a estimar en la fase de entrenamiento. Si representamos las funciones de características (tanto las de estado como las de transición) como f j (y i 1, y i, x, i) para simplicar la notación, tenemos que la

21 1.2. PLN ESTADÍSTICO 11 probabilidad de una secuencia de etiquetas, y, dada una secuencia de datos, x, quedaría como p(y x, λ) = 1 Z(x) exp( j λ j ( i f j (y i 1, y i, x, i))) Siendo Z(x) un factor de normalización. Se puede comprobar que esta fórmula se fundamenta también en el principio de máxima entropía, comentado en el apartado anterior Support Vector Machines Las máquinas de soporte vectorial (Support Vector Machines o SVMs) son uno de los métodos discriminativos más utilizados en PLN. En contraposición a los métodos generativos, que intentan aprender modelos que expliquen los datos de entrenamiento introducidos, los métodos discriminativos aprenden reglas para decidir si un determinado elemento pertenece o no a un conjunto. Este aprendizaje se realiza a partir de corpus etiquetados donde se distingue entre ejemplos positivos (elementos que pertenecen a dicho conjunto) y ejemplos negativos (elementos que no pertenecen al conjunto dado). Figura 1.4: Clasicación mediante métodos discriminativos. Si representamos los datos como puntos en un espacio, tal y como muestra la gura 1.4, podemos ver grácamente el objetivo de los métodos disciminativos: delimitar de alguna forma las regiones donde los datos pertenecen a una misma clase de forma que, dado un nuevo ejemplo, podamos deducir a qué clase pertenece. Una SVM es una máquina de aprendizaje lineal (Linear Learning Machine, LLM), es decir, que la función que determina la separación entre las clases de ejemplos es lineal. Esta función se calcula de forma que maximice la distancia a la que se encuentran los llamados vectores de soporte, es decir, los ejemplos positivos y negativos más cercanos entre sí. En la gura 1.5 podemos ver una representación gráca de una SVM. El elemento principal de las SVMs es la función de kernel, que mide la similitud entre dos ejemplos dados, haciendo posible la clasicación de los datos según dicha similitud. Las funciones de kernel (kernel functions) son una familia de funciones cuya utilidad principal estriba en detectar patrones complejos en un determinado conjunto de datos, para procesarlos de alguna forma (clasicar, hacer clustering, ranking...). Estos patrones se detectan mediante la denición del concepto de similitud entre los datos. Esta similitud viene denida por una función (función de kernel) que calcula, a partir de un vector formado por un conjunto de características

22 12 CAPÍTULO 1. INTRODUCCIÓN Figura 1.5: Representación gráca del comportamiento de una SVM. relevantes (features), la similitud existente entre los datos, pudiéndose discriminar los que pertenecen o no a una clase determinada, según las características antes mencionadas[7]. Figura 1.6: Ejemplo de funcionamiento de una función de kernel Grácamente, una función de kernel actuaría como se muestra en la gura 1.6, trasladando o proyectando una serie de ejemplos sobre un espacio de N dimensiones (tantas como características consideremos), de forma que sea factible su separación lineal. En general, las funciones de kernel suelen calcularse mediante el producto escalar de los ejemplos, lo que puede resultar potencialmente muy complejo debido al elevado número de componentes de los vectores. Por tanto, un aspecto muy importante en estos algoritmos es la elección de las características relevantes para cada problema a resolver. Aquí se observa la gran ventaja de los métodos de kernel tricks sobre los modelos de Markov, que es la posibilidad de tener en cuenta en la clasicación de ejemplos multitud de características diversas, tanto de índole local como relaciones remotas entre instancias. Para ello tan sólo hay que codicar dichas características en la función de kernel. En general, la manera de incluir características en una función de kernel es denir una función: Φ i (x) = { 0 si x no presenta la característica i 1 si x presenta la característica i (1.6) Por tanto, el tipo de características que podemos incluir en nuestro modelo se restringe a aquellas que podamos formular como propiedades binarias, tal y como se muestra en la fórmula anterior. Las funciones de kernel dotan a los algoritmos de aprendizaje de gran modularidad, ya que por un lado tenemos el algoritmo de propósito general, y del otro la función de kernel especíca para nuestro problema.

23 1.2. PLN ESTADÍSTICO 13 Gracias a estas funciones, las SVMs pueden aplicarse a datos no separables linealmente, ya que utilizan funciones de kernel para proyectar los datos de entrada en un espacio de más dimensiones, haciendo que sean linealmente separables en el nuevo espacio (espacio inducido por el kernel)[22]. En general, una SVM utiliza una función de clasicación de la siguiente forma: f(y) = λ i K(y, x i ) λ i K(y, x i ) (1.7) i:x i X + i:x i X Donde las λ i son los pesos de los ejemplos, calculados en la fase de entrenamiento, X + son los ejemplos positivos (análogamente X ) y la K(..,..) es la función de kernel propiamente dicha.de esta forma, cualquier nuevo ejemplo y, se clasica como positivo o negativo según sea el signo de f(y). A la hora de aplicar SVMs a una tarea de clasicación multiclase, como por ejemplo el POS Tagging, lo que se hace es entrenar una SVM para cada clase distinta. De esta forma para un nuevo ejemplo, cada SVM nos dirá si ese elemento pertenece o no a la clase para la que ha sido entrenada.

24 14 CAPÍTULO 1. INTRODUCCIÓN

25 Capítulo 2 Modelos Grácos en el PLN Estadístico Un modelo gráco es un tipo de modelo probabilístico que representa grácamente (generalmente mediante un grafo) el comportamiento y restricciones de un sistema o conjunto de datos. En la práctica, es el resultado de combinar la teoría de grafos y la teoría del cálculo de probabilidades. De esta forma, un modelo gráco es la representación de una distribución de probabilidades de forma gráca. Estos modelos son muy utilizados en inteligencia articial, control de errores, redes neuronales, PLN, etc. Los modelos grácos probabilísticos proporcionan herramientas matemáticas que nos permiten entender y procesar relaciones complejas en grandes conjuntos de datos[24]. Generalmente, en un modelo gráco los nodos representan conjuntos de variables aleatorias, y las aristas codican las dependencias entre ellas. Es decir, si dos nodos no están conectados mediante una arista, dichos nodos (o las variables aleatorias que representan) son condicionalmente independientes. Todo modelo gráco consta, por tanto, de dos componentes fundamentales: la estructura del grafo en sí, determinada por los nodos y las aristas entre ellos; y los parámetros, o ponderaciones de nodos y aristas, que indica el peso probabilístico de dicha dependencia. Figura 2.1: Ejemplo de modelo gráco dirigido 15

26 16 CAPÍTULO 2. MODELOS GRÁFICOS EN EL PLN ESTADÍSTICO Podemos clasicar los modelos grácos en dos grupos: si el grafo que se obtiene es dirigido (ver gura 2.1), los modelos se suelen calicar como redes bayesianas; de lo contrario hablaremos de Markov random elds. Atendiendo a la forma en la que el modelo se ajusta a los datos, podemos realizar otra clasicación, teniendo modelos generativos (como los modelos de Markov), si lo que intentan es explicar la generación de los datos de ejemplo; o modelos discriminativos (como los Conditional Random Fields), si se basan en discernir la distancia de los datos entre sí, utilizando para ello cualquier conjunto de características que nos permita medir la similitud de los datos entre sí. Cada modelo gráco lleva asociada un familia de distribuciones de probabilidad conjunta. De hecho, una de las formas de especicar un modelo gráco es indicar la factorización de la probabilidad conjunta del mismo, p(x). En general, para un modelo dirigido la factorización será de la forma: p(x) = i p(x i x πi ) donde π i es el conjunto de nodos predecesores del nodo i. Para modelos no dirigidos, tomamos como subconjuntos de nodos aquellos que estén completamente conectados entre sí (cliques). Sobre estos subconjuntos de nodos deniremos funciones potenciales, Ψ c (x c ), que asignen a cada subconjunto, C, un valor real positivo, de forma que la factorización sea: p(x) = c C Ψ c (x c ) Estas funciones de factorización nos indican las dependencias en el modelo grá- co, y el valor o peso probabilístico de las mismas. Estos modelos, como hemos comentado, permiten el tratamiento computacional eciente sobre conjuntos de datos complejos. Existen multitud de algoritmos aplicables a modelos grácos, aunque quizá los más utilizados en PLN sean de dos tipos: los algoritmos de inferencia, que permiten tratar los datos estadísticamente de manera eciente, posibilitando la predicción de futuros comportamientos, o el cálculo de probabilidades sobre nuevos ejemplos; y los algoritmos de ranking, que permiten realizar ordenaciones de los distintos datos del modelo en base a determinados criterios. A continuación veremos ambos tipos de algoritmos con algo más de detalle Algoritmos de inferencia Los algoritmos de inferencia estadística sobre modelos grácos persiguen la obtención de conclusiones relevantes sobre los datos representados por el modelo. En general, lo que pretendemos calcular son las probabilidades marginales de cada una de las variables del modelo (o de alguna variable en particular). En este apartado veremos tres algoritmos básicos para el cálculo exacto de inferencias, y un resumen de métodos aproximativos Algoritmo de Eliminación de Variables Este algoritmo es aplicable tanto a grafos como a árboles. Se fundamenta en aprovechar la propiedad distributiva de la suma sobre el producto para descomponer el cálculo de probabilidades en sumas parciales en un orden determinado. Si tomamos como ejemplo el grafo de la gura 2.1, y queremos calcular la probabilidad marginal p(x 6 ), la fórmula será el producto de las funciones potenciales correspondientes:

27 2.1. ALGORITMOS DE INFERENCIA 17 p(x 6 ) = x 6,x 5,x 4,x 3,x 2 Ψ(x 1, x 2 )Ψ(x 1, x 3 )Ψ(x 2, x 4 )Ψ(x 3, x 4 )Ψ(x 4, x 6 )Ψ(x 2, x 4, x 5 ) = x 2 Ψ 12 (x 1, x 2 ) x 3 Ψ 13 (x 1, x 3 ) x 4 Ψ 34 (x 3, x 4 ) Ψ 46 (x 4, x 6 ) Ψ 24 (x 2, x 4, x 5 ) (2.1) x 6 x 5 El algoritmo consiste en ir eliminando nodos del grafo y añadiendo aristas, agrupando sumandos. De esta forma, si agrupamos el sumatorio sobre la variable 5 de la fórmula anterior el efecto sobre el grafo sería el que se ve en la gura 2.2: eliminar el nodo x 5 y sus aristas, y crear una nueva arista entre los predecesores de x 5, es decir entre x 2 y x 4. Por ello la fórmula anterior quedaría como sigue: Ψ(x 1, x 2 ) Ψ(x 1, x 3 ) Ψ(x 3, x 4 ) Ψ(x 4, x 6 ) Ψ (x 2, x 4 ) x 2 x 3 x 4 x 6 x 5 Donde Ψ (x 2, x 4 ) se corresponde con la nueva ponderación de la arista generada entre x 2 y x 4, representando el efecto que tenía sobre el modelo la presencia del nodo eliminado, x 5. Figura 2.2: Primer paso del algoritmo de eliminación: quitar el nodo 5, añadiendo una arista entre x 2 y x 4, o cambiando la ponderación de la misma, si ya existía. El algoritmo repite este paso hasta obtener el grafo residual más pequeño posible. El tamaño de este grafo depende en gran medida del orden en el que se realicen las eliminaciones. La elección del orden óptimo de eliminaciones es un problema NP-completo, aunque se consiguen buenas aproximaciones con algoritmos voraces Algoritmo de Propagación de Creencias Este algoritmo, conocido también como Sum-Product Algorithm, se basa en el paso de mensajes, consistentes en valores reales, de un nodo a otro del modelo. La ventaja principal de este algoritmo radica en que podemos calcular las probabilidades marginales de todos los nodos con una sola ejecución del mismo. Si queremos el mismo resultado utilizando el algoritmo de eliminación tendríamos que hacer tantas

28 18 CAPÍTULO 2. MODELOS GRÁFICOS EN EL PLN ESTADÍSTICO ejecuciones como nodos tenga el grafo. En principio este algoritmo es sólo aplicable a árboles, si bien es fácilmente extensible a grafos. El funcionamiento básico de este algoritmo es muy sencillo: un nodo, i, enviará un mensaje a un vecino, j, si ha recibido mensajes del resto de nodos vecinos, y aún no le ha enviado ningún mensaje a j. De esta manera, en la primera iteración del algoritmo, sólo los nodos hojas del árbol enviarán mensajes a sus vecinos. En sucesivas iteraciones se irán propagando los mensajes por todo el árbol. El contenido de los mensajes viene dado por la siguiente expresión: m ij (x j ) = Ψ ij (x i, x j ) m ki (x i ) x i k N(i) j donde N(i) j es el conjunto de nodos vecinos de i excepto el j, y m ij (x j ) es el mensaje enviado desde i hasta j. Una vez que un nodo haya recibido todos los mensajes, su probabilidad marginal es el resultado de multiplicar todos los valores recibidos, es decir: p(x i ) = m ki (x i ) k N(i) Como vemos, se envían dos mensajes por cada arista (uno en cada dirección de la misma), antes de poder calcular las probabilidades marginales de cada nodo Algoritmo de Unión de Árboles La principal carencia del algoritmo de propagación de creencias, como hemos visto, es que sólo puede aplicarse a árboles. Para poder extender su uso a grafos con ciclos surge el algoritmo de unión de árboles (Junction Tree Algorithm). Básicamente se trata de obtener, a partir de un grafo con ciclos, una representación del mismo en forma de árbol, de forma que sea posible aplicar al algoritmo de propagación de creencias al árbol, y calcular así las probabilidades marginales de cada nodo del grafo original. El algoritmo consta de 4 pasos básicos: 1. Obtener el Grafo Moral, añadiendo una arista entre dos nodos si ambos tienen hijos comunes, y eliminando la direccionalidad de todas las aristas (si el grafo es dirigido). 2. Triangularizar el grafo, ejecutando el algoritmo de eliminación visto en apartados anteriores. 3. Obtener el árbol de unión, calculando un árbol de expansión maximal para el grafo, es decir, un árbol que contiene todos los vértices del grafo. 4. Aplicar el algoritmo de Propagación de Creencias al grafo anterior. Grácamente, la ejecución de este algoritmo obtiene, a partir de un grafo, un árbol cuyos nodos representan cliques del grafo original. De esta forma, obteniendo un árbol a partir de cualquier grafo, los algoritmos de inferencia aplicables sólo a árboles, también pueden usarse con grafos con ciclos. Bastaría realizar los cuatro primeros pasos del algoritmo, y a continuación ejecutar el algoritmo en cuestión sobre el árbol obtenido. El árbol que se obtiene con este algoritmo depende del orden de triangularización del grafo original, que es el orden elegido en el algoritmo de eliminación. Como ya se comentó en el apartado correspondiente, la elección de un orden óptimo de eliminación es un problema NP-complejo.

29 2.2. ALGORITMOS DE RANKING Algoritmos de inferencia por aproximación En este apartado comentaremos de forma somera las principales familias de algoritmos utilizados para realizar inferencias sobre modelos grácos de forma aproximada. En general, estos métodos se apoyan en las leyes de los grandes números de la teoría de la probabilidad, que vienen a decir que el promedio de una secuencia de variables elegidas al azar con una distribución de probabilidad común, converge a su valor esperado común, en el límite, mientras el tamaño de la secuencia se aproxima al innito. Estos métodos intentan aproximar las complejas fórmulas para el cálculo de probabilidades de forma que se obtengan resultados razonablemente buenos con un menor coste computacional. Uno de los tipos de algoritmos más utilizados en este apartado son los algoritmos de Monte Carlo, basados en la obtención de una distribución aproximada a la real, sobre la cual realizar la inferencia. Los más conocidos son las Cadenas de Markov de Monte Carlo (Markov Chain Monte Carlo o MCMC ), que intentan obtener una cadena de Markov que se aproxime, en el estacionario, a la distribución de probabilidades real después de una serie de iteraciones. Los cálculos de probabilidades se realizan sobre el modelo de Markov obtenido, en lugar de sobre la distribución original. La otra gran familia de algoritmos son los llamados variational methods. Un ejemplo es el método de la media, que intenta aproximar grandes sumas de variables aleatorias mediante sus medias. El funcionamiento básico consiste en introducir en cada nodo del modelo un parámetro de variación, y actualizarlo iterativamente minimizando la distancia media entre la distribución de probabilidades real y la aproximada. Las variaciones de los parámetros son una aproximación de la inferencia Algoritmos de ranking Los algoritmos de ranking sobre modelos grácos no intentan realizar ninguna inferencia probabilística, sino que simplemente tratan de obtener una ordenación de los nodos del grafo según su importancia. Dicha importancia vendrá dada según un criterio calculable a partir de la ponderación de los nodos y aristas del grafo. Son también conocidos como Random Walk Algorithms. A continuación veremos tres de los algoritmos de ranking más conocidos: HITS, Positional Power Function y PageRank En primer lugar hablaremos sobre el HITS (Hyperlinked Induced Topic Search), un algoritmo iterativo diseñado en un principio para valorar la importancia de las páginas web. El modelo gráco es muy sencillo: como nodos se toman las páginas a valorar, y se crea una arista entre dos nodos si existen hiperenlaces de una web a otra. El algoritmo en sí lo que hace es considerar dos tipos de entidades: Authorities: webs con enlaces apuntando hacia ellas. Hubs: webs con enlaces hacia otras páginas. Obviamente, una página web puede jugar ambos roles en un grafo, ya que puede tener enlaces a otras webs (hub), y puede ser enlazada por otras (authority). Para cada nodo, HITS produce dos puntuaciones, una para cada rol posible: HIT S A (V i ) = HIT S H (V j ) HIT S H (V i ) = V j In(V i ) V j Out(V i ) HIT S A (V j )

30 20 CAPÍTULO 2. MODELOS GRÁFICOS EN EL PLN ESTADÍSTICO De esta forma, ambas entidades se refuerzan mutuamente, dando a cada nodo una puntuación indicativa del grado de importancia de cada web con respecto al resto. En cuanto al Positional Power Function, es un algoritmo de ranking que no sólo tiene en cuenta la puntuación de cada nodo en función de las aristas en las que toma parte, sino que también tiene en consideración el número de sucesores de cada nodo. De esta forma, el modo de puntuar cada nodo es el siguiente: P OS P (V i ) = 1 V V j Out(V i ) (1 + P OS P (V j )) Por último, hablaremos del PageRank. Es quizá el algoritmo de ranking más popular, debido a su famosa aplicación en los listados del buscador web Google. Como el HITS, fue concebido para valorar páginas web según su importancia respecto al resto. Se trata de un algoritmo iterativo, y realiza el mismo modelado que comentamos anteriormente (webs como nodos, e hiperenlaces como aristas). La diferencia entre el HITS y el PageRank es que éste último integra en una sola puntuación tanto la valoración de los enlaces entrantes como los salientes. La fórmula sería la siguiente: P R(V i ) = (1 d) + d V j In(V i) P R(V j ) Out(V j) donde d [0, 1], indica la posibilidad de que, estando en una web cualquiera se pase a otra no conectada con la original. Esto es lo que se conoce como paso aleatorio (random walk). En todos los algoritmos que hemos comentado en esta sección, los vértices del grafo se inicializan a un valor inicial por defecto. Tras un número determinado de iteraciones, los valores de los nodos irán convergiendo hacia el resultado nal del algoritmo. Los valores nales de los nodos no dependen de los valores asignados inicialmente, sino del número de iteraciones del algoritmo. Normalmente, este número de iteraciones se ajusta deniendo un umbral de error. Después de ejecutar una iteración sobre el grafo completo, si la diferencia entre los valores previos de los nodos y los valores recién calculados, es menor que el umbral de error, el algoritmo parará Aplicaciones de los modelos grácos al PLN Como hemos visto en el capítulo anterior, desde los años 80 se vienen aplicando métodos estocásticos al procesamiento del lenguaje natural. Muchos de estos métodos, que hoy en día podemos considerar ya clásicos en PLN, se pueden ver también como modelos grácos. Tal es el caso de los modelos de Markov (que representan un texto mediante un grafo de eventos), las máquinas de soporte vectorial (que representan cada ejemplo de un texto como un elemento en un espacio vectorial), o los CRF. Éstos y otros muchos modelos grácos han demostrado su utilidad en el procesamiento del lenguaje natural, debido sobre todo a la posibilidad de representar y tratar computacionalmente las complejas relaciones que se dan entre los distintos elementos de un texto. Las aplicaciones más inmediatas de estos modelos al PLN se han centrado en problemas de clasicación, como el POS Tagging (un ejemplo reciente lo encontramos en [4]) o el reconocimiento de entidades con nombre, aunque últimamente

31 2.3. APLICACIONES DE LOS MODELOS GRÁFICOS AL PLN 21 han aparecido nuevas aplicaciones de estos modelos a tareas más complejas, como la desambiguación de signicados, el etiquetado de roles semánticos, la extracción de información ([19]) o la generación automática de resúmenes [37]. También se han utilizado modelos grácos para la representación y el estudio de diversos rasgos de los lenguajes, o incluso para realizar comparaciones entre idiomas con el n de encontrar similitudes y aspectos comunes entre ambos (un ejemplo lo encontramos en [12]). Aparte de esto, han habido muchas otras aplicaciones de modelos grácos al PLN. Se han desarrollado numerosos modelos especícos para tareas más ligadas a la semántica, como la ya comentada desambiguación de signicados ([11], [38], [36], [35], [14]), la búsqueda de sinónimos[42], el etiquetado de roles semánticos[43], la detección de novedades entre textos [16], la comprobación del grado de relación entre un texto y una entidad[39], la clasicación de documentos[20], o los sistemas de pregunta/respuesta ([40], [41]). Hay trabajos sobre aprendizaje de modelos grácos y transformaciones entre los mismos[23], y también sobre la integración de diversos niveles del lenguaje (morfológico, sintáctico, semántico...) en un mismo modelo gráco ([52], [46]), de forma que se mejoren los resultados en las diversas tareas sin que esto afecte de forma signi- cativa al rendimiento de los algoritmos. Con esta idea también se intenta minimizar el error acumulado al aplicar distintos procesos en cada nivel del lenguaje. Como comentamos en la introducción, se intenta pasar de un pipeline de procesos, a una estructura mediante la cual podamos tratar distintos niveles del lenguaje a la vez. Por otro lado, se han desarrollado estudios sobre modelos grácos ya existentes, como la estructura de grafos de la Wikipedia y su posible aprovechamiento para el PLN[55]. También existen multitud de investigaciones centradas en la tarea de generación automática de resúmenes, aparte de los ya mencionados ([27], [28], [44]), y también sobre alineamiento de textos y/u otras cadenas de datos ([22], [54], [34]). Incluso se han ideado modelos grácos para la Sentiment Categorization [17], es decir, dado un texto de entrada en el que se supone se expresan opiniones, sentimientos u otras manifestaciones subjetivas respecto a algún tema, decidir si dichas opiniones son positivas o negativas, y en ocasiones también el grado en que lo son en una escala numérica. En el capítulo siguiente veremos en profundidad el algoritmo de TextRank, una adaptación del PageRank para tareas de PLN. También expondremos nuestra propuesta para la aplicación del TextRank a tareas de clasicación, como el POS Tagging o el NER, transformando el algoritmo original de manera que siga un esquema de aprendizaje supervisado. De forma que, apoyándonos en lo aprendido a partir de unos datos de entrenamiento, aplicamos TextRank a datos de entrada modelados mediante un grafo.

32 22 CAPÍTULO 2. MODELOS GRÁFICOS EN EL PLN ESTADÍSTICO

33 Capítulo 3 TextRank Supervisado Una de las aplicaciones más importantes de los modelos grácos al Procesamiento del Lenguaje Natural ha sido la adaptación del algoritmo de ranking PageRank a la resolución de tareas como la extracción de palabras clave y el resumen automático de documentos. Este nuevo algoritmo se denomina TextRank, y fue presentado por los investigadores Mihalcea y Tarau en su artículo TextRank: Bringing Order into Texts[37]. Desde la publicación de este artículo se han desarrollado otras muchas aplicaciones del mismo a diversas tareas del PLN, como la desambiguación de signicados, por ejemplo. En este capítulo veremos los fundamentos de esta técnica y sus aplicaciones al PLN. Por último, explicaremos con detalle nuestra propuesta, una herramienta que resuelve tareas de clasicación utilizando una técnica basada en aplicar TextRank en un esquema supervisado Algoritmo de TextRank Los distintos componentes de un texto (palabras, cláusulas, sintagmas, etc) se pueden relacionar entre sí con distintos grados de intensidad. Para modelar esto mediante un grafo en el que los nodos son los componentes del texto y las aristas son las relaciones entre los mismos, lo más lógico es ponderar esas aristas, indicando la fuerza con la que dos componentes se relacionan entre sí. Estas relaciones de las que hablamos pueden ser muy diversas, desde relaciones semánticas hasta una simple coocurrencia de palabras. Por otro lado, supongamos que nos planteamos el problema de encontrar las palabras clave de un texto. Si modelamos el texto como hemos mencionado antes, una manera de resolver esta tarea puede ser calcular el ranking de los nodos de ese grafo. De esta forma, las palabras de los nodos con mayor puntuación serán las palabras más importantes del texto, es decir, las palabras clave. Ahora bien, a la hora de aplicar un algoritmo de ranking a este grafo se nos plantea un problema: ¾cómo tenemos en cuenta la ponderación de las aristas del grafo a la hora de calcular el ranking de los nodos? El TextRank consiste, básicamente, en una extensión del algoritmo de PageRank que posibilita el procesamiento de grafos ponderados. Esta peculiaridad de los grafos a tratar nos obliga, como ya hemos comentado, a tener en cuenta los pesos de las aristas a la hora de calcular la importancia de un nodo dentro del grafo. En otras palabras, la importancia de un nodo en un grafo no dependerá tan sólo del número de nodos que se relacionen con él, sino también de la intensidad de esas relaciones. Así pues, la fórmula que vimos para el algoritmo de PageRank se modica para dar cabida a las nuevas características: 23

34 24 CAPÍTULO 3. TEXTRANK SUPERVISADO W S(V i ) = (1 d) + d V j In(V i) w ji V k Out(V j ) w W S(V j ) (3.1) jk donde w ij es el peso de la arista que va desde el nodo V j hasta el nodo V i. De esta manera, cuanto mayor sea el peso de una arista, mayor puntuación le aportará al nodo correspondiente. Dando un valor inicial a cada nodo del grafo e iterando un número determinado de veces aplicando esta fórmula, se consigue que el grafo converja y, por tanto, obtenemos una puntuación para cada nodo del mismo que indica su ranking con respecto al resto de nodos. Con distintas topologías de grafos, y ponderando de diversas formas las aristas del mismo, podemos aplicar este algoritmo a la resolución de diversas tareas del PLN. En la gura 3.1(tomada del artículo [37]) se observa un posible modelo gráco calculado para resolver la tarea de resumir un texto aplicando TextRank en un esquema no supervisado. En el grafo que se construye, cada nodo representa una frase del texto de entrada, y las aristas representan la relación entre las distintas frases del texto. La forma en que se han ponderado las aristas es mediante el cálculo del solapamiento entre las frases, es decir, el número de palabras comunes de las frases que une cada arista. Una vez obtenido el grafo, si aplicamos el algoritmo de TextRank obtendremos una ordenación de las frases del texto. Tomando los N nodos mejor puntuados, obtendremos las N frases más importantes del texto, según el algoritmo de TextRank. Figura 3.1: Ejemplo de modelo gráco para el resumen de un texto mediante Text- Rank. Como ya se ha comentado, este algoritmo ha sido aplicado con éxito, aparte de a la tarea de resumir textos, a la extracción de palabras clave, la desambiguación de signicados[35], y otras tareas clásicas del PLN.

35 3.2. MODELO BÁSICO DE TEXTRANK SUPERVISADO Modelo básico de TextRank Supervisado Antes de abordar el desarrollo de nuestra herramienta Supervised TextRank (en adelante STR) realizamos una serie de experimentos para valorar la viabilidad del proyecto. Los resultados de estos experimentos fueron presentados en [9] y [8]. En dichos trabajos se investigaba cómo aplicar la idea del algoritmo de TextRank a cualquier tarea que pudiese especicarse mediante un corpus etiquetado, como por ejemplo la tarea POS o la identicación de entidades con nombre. Para ello se denió un método que permitía construir un grafo para cada frase, cuyos arcos contenían probabilidades derivadas de un modelo estadístico calculado a partir del corpus de entrenamiento. No tiene porqué haber una única manera de representar una tarea de PLN en forma de grafo para poder aplicar un algoritmo de ranking como TextRank. Nosotros elegimos una lo sucientemente general como para que pudiera ser utilizada en cualquier tarea en la que se asocien etiquetas a palabras. De manera que los vértices de nuestros grafos están compuestos por dos informaciones V = (w, t), w es una palabra y t una etiqueta. En la gura 3.2 mostramos un ejemplo de un nodo para la palabra base, y una posible etiqueta, ADJ. Figura 3.2: Estructura de un nodo de ejemplo. Si una palabra es ambigua (puede tener varias etiquetas) se crearán tantos vértices como posibles etiquetas pueda tener. La idea principal de nuestra aproximación es construir un grafo con este tipo de vértices para cada frase, aplicar TextRank a dicho grafo y asociar a cada palabra de la frase la etiqueta correspondiente a su vértice mejor puntuado. Si una palabra aparece más de una vez en una frase, se crean vértices diferenciados para que estas múltiples instancias no intereran entre sí. Se establecen arcos entre nodos en función de la coocurrencia, de manera que habrá un arco desde un vértice V i = (w i, t i ) a otro vértice V j = (w j, t j ) si la palabra w j aparece en la frase después de la palabra w i. Por último, la información del corpus de entrenamiento aparecerá en el grafo mediante pesos en los arcos. Después de experimentar con distintas medidas, la que mejor resultado dio fue una combinación de las probabilidades de emisión P (w t) y transición P (t t 1) utilizadas en los modelos ocultos de Markov basados en bigramas. Dichas probabilidades son estimadas a partir de la frecuencia de aparición de etiquetas y palabras en el corpus de entrenamiento: P (w t) = C(w, t) C(t) P (t t ) = C(t, t) C(t ) donde C(t) es el número de veces que aparece la etiqueta t en el corpus de entrenamiento, C(w, t) el número de veces que la palabra w aparece etiquetada con t y C(t, t) el número de ocasiones en las que la etiqueta t aparece antes de la etiqueta t. En el modelo de Markov estas probabilidades se utilizan para calcular el mejor etiquetado para una frase maximizando la siguiente probabilidad:

36 26 CAPÍTULO 3. TEXTRANK SUPERVISADO P (t 1,n w 1,n ) = n P (w i t i )P (t i t i 1 ) i=1 Nosotros utilizamos la probabilidad P (w i t i )P (t i t i 1 ) como peso del arco que va del vértice V i 1 = (w i 1, t i 1 ) al vértice V i = (w i, t i ) del grafo, y dejamos a TextRank que calcule la importancia de cada vértice. A diferencia del modelo de Markov en el que se consideran los distintos caminos como competidores y se busca el que maximice la anterior expresión, la aproximación de TextRank es colaborativa ya que se combinan las probabilidades desde distintos arcos para determinar el ranking de un determinado vértice. Figura 3.3: Fragmento de grafo para el texto...the base rate... La gura 3.3 muestra el fragmento de grafo correspondiente a una secuencia de tres palabras que forma parte de una frase mayor. Para no sobrecargar el gráco sólo se ha indicado la probabilidad asociada a uno de los arcos. Una vez construido el grafo, aplicaríamos el algoritmo de TextRank. Como salida de la ejecución del algoritmo obtendríamos una lista con los nodos del grafo ordenados de mayor a menor puntuación. Para decidir el etiquetado de la frase, se utilizará un sencillo que algoritmo que buscará, para cada palabra, el nodo mejor puntuado donde aparezca la misma. Los pasos del algoritmo de selección de nodos se detallan en la gura 3.4. Si ejecutamos TextRank sobre el grafo dado como ejemplo en la gura 3.3, podríamos obtener un ranking como el de la gura 3.5. En esa gura se resaltan los nodos que escogería el algoritmo de selección explicado anteriormente Variantes del TextRank Supervisado Muchas de las extensiones clásicas de los modelos de Markov pueden ser incluidas en este esquema de grafo de una u otra forma. Por ejemplo, se puede redenir la expresión con la que se calcula el peso de un arco para que incluya la probabilidad de trigramas y unigramas, además de bigramas, o se pueden generar nuevos arcos adicionales que reejen otras relaciones entre las palabras. En nuestros experimentos preliminares hemos probado distintas variantes del modelo básico, de las cuales las más destacables son las siguientes: Uso de probabilidades de trigramas para calcular los pesos de los arcos, con la fórmula P (t t, t ) P (w t). Suavizado mediante interpolación lineal de los trigramas con coecientes jos: P s (t t, t ) = λ 1 P (t) + λ 2 P (t t ) + λ 3 P (t t, t )

37 3.3. VARIANTES DEL TEXTRANK SUPERVISADO 27 Entrada: L = lista de nodos del grafo ordenados de mayor a menor ranking Fentrada = frase a etiquetar Salida : Fetiq = frase etiquetada //Número de nodos de la lista L longitud = Longitud(L); para cada p F entrada hacer etiqueta = 0; indice = 0; mientras indice < longitud Y etiqueta == 0 hacer nodo = L.obtenerN odo(indice); si nodo.palabra == p entonces etiqueta = 1; F etiq.añadir(nodo.etiqueta); si no indice = indice + 1; n si n mientras n para Figura 3.4: Algoritmo para la selección de nodos. Figura 3.5: Posible ranking de nodos, y selección de los mismos.

38 28 CAPÍTULO 3. TEXTRANK SUPERVISADO Modelo inverso, en el que se calculan las probabilidades de los n-gramas de derecha a izquierda. De estas tres variantes la que mejor se comportó fue la de los trigramas suavizados por interpolación. Este modelo de trigramas también es el que se mejor resultado dio en la versión inversa. Otra de las variantes que experimentamos fue el uso de un segundo algoritmo de aprendizaje para combinar los resultados de distintos modelos. Es lo que se denomina stacking, una técnica habitualmente utilizada en el aprendizaje automático en general y también en el procesamiento del lenguaje natural [18], [14], [21] o [13]. Para aplicar stacking se sigue el esquema mostrado en la gura 3.6. Como se ve en la gura, es necesario generar una base de datos de entrenamiento en la que cada registro contiene las etiquetas asignadas por cada modelo a una determinada palabra, así como la etiqueta correcta. A partir de esta base de datos de ejemplos es posible entrenar un clasicador que proponga una etiqueta en función de las propuestas de cada uno de los modelos. En nuestros experimentos previos usamos los modelos de trigramas y trigramas inversos como bases del stacking. Figura 3.6: Esquema de funcionamiento del Stacking.

39 Capítulo 4 La herramienta STR En este capítulo se describe la herramienta STR (Supervised TextRank) desarrollada con una doble nalidad: en primer lugar el hecho de constituir por sí misma una aplicación útil en tareas de clasicación mediante la generación de etiquetadores supervisados basados en grafos; y en segundo lugar servirnos de apoyo en nuestra investigación sobre la aplicación de algoritmos de ranking sobre grafos, a la tarea de etiquetado de textos. En las siguientes secciones describiremos con más detalle la funcionalidad que pretendemos para la herramienta STR. En primer lugar detallaremos los objetivos que perseguimos con la herramienta. Luego expondremos, mediante una serie de grácos, posibles topologías de grafos que la herramienta debería soportar, y el lenguaje que se ha desarrollado para cubrir dicho requisito. El tercer elemento que debemos concretar será el tipo de probabilidades que podremos asignar a los arcos de los grafos, así como las frecuencias que deberemos calcular para estimar dichas probabilidades. Por último también hablaremos de los métodos de suavizado de probabilidades que hemos implementado hasta ahora en STR Requisitos Los requisitos básicos que nos planteamos a la hora de crear esta herramienta son los siguientes: Aplicar el método de TextRank Supervisado (ver capítulo 3) a distintas tareas de etiquetado. Debe ser lo sucientemente exible como para poder construir distintos tipos de grafos. Debe admitir distintos formatos de corpus, desde el básico de dos columnas (palabra-etiqueta) hasta otros más complejos que permitan asociar varias informaciones a una misma palabra (varias columnas). Debe estar abierto a la adición de métodos de suavizado, algoritmos de ranking, implementaciones alternativas de las estructuras de datos utilizadas, etc. Debe ser fácilmente congurable, permitiendo la realización de distintos experimentos modicando los parámetros del algoritmo de TextRank, las diversas técnicas de suavizado, topologías de grafo, etc, de forma sencilla. La herramienta constará de dos programas principales, str-train y str-tag que se encargarán, respectivamente, de entrenar un modelo a partir de un corpus 29

40 30 CAPÍTULO 4. LA HERRAMIENTA STR de entrenamiento y de etiquetar un corpus de test a partir de un modelo. El tipo de grafo a construir será congurable, y será descrito mediante un chero en el que se especicarán la estructura de los nodos, las conexiones mediante arcos y los valores asociados a los arcos. Figura 4.1: Arquitectura de la herramienta STR. En la gura 4.1 se muestra la arquitectura básica de la herramienta, los cheros train y test se corresponden con los corpus de entrenamiento y test, el chero bigram.grs contiene la especicación del tipo de grafo a construir, y el chero test.tgd será el resultado de etiquetar el corpus de test. La fase de entrenamiento generará un chero.frq que contendrá las frecuencias léxicas y las de n-gramas (que variarán según la especicación del grafo), y un chero.voc que contendrá el vocabulario extraído del corpus de entrenamiento Lenguaje de denición de grafos En esta sección presentaremos el lenguaje que se ha diseñado para facilitar la denición de los distintos esquemas de grafos que la herramienta puede procesar. Como se ha comentado en la sección anterior, hemos intentado diseñar nuestra herramienta de forma que sea lo más exible posible en cuanto a topologías de grafos se reere, de manera que podamos denir de forma sencilla distintas formas de modelar un texto como un grafo. En concreto podremos denir qué datos conformarán los nodos, y de qué manera se calcularán los pesos de las aristas. Los esquemas que expondremos son genéricos y reejan fragmentos de grafos, en ellos w denotará la palabra de referencia, w 1, w 2,... las anteriores a ésta y w + 1, w + 2,... las posteriores. Esta notación también será aplicable a las distintas etiquetas utilizadas en los grácos t, p y c Sintaxis del lenguaje El objetivo que perseguimos con este lenguaje es que, dado un posible grafo, como por ejemplo el de la gura 4.2, podamos denirlo de manera sencilla de forma

41 4.2. LENGUAJE DE DEFINICIÓN DE GRAFOS 31 textual, de modo que nuestra herramienta interprete dicha denición y genere grafos con la topología deseada, para modelar los textos de entrada que reciba. Figura 4.2: Grafo basado en bigramas. La gura 4.3 muestra cómo podemos denir con nuestro lenguaje el grafo expuesto en la gura 4.2. Este modelo de bigramas sirvió de inspiración para la creación de nuestro método, y ahora lo utilizaremos para explicar la sintaxis de nuestro lenguaje de denición de grafos. // Bigram model. Two-column corpus Corpus [w,t] Nodes n*: w, t, t-1; Edges n-1 -> n : p(t t-1)*p(w t); Figura 4.3: Un único tipo de nodo y de arco (grafo de la gura 4.2). Como se puede observar en la gura, una denición de un grafo constará de tres partes principales: Corpus: esta sección se corresponde con la denición de las columnas del corpus de entrada. En el ejemplo de la gura 4.3 se puede ver la declaración de un corpus de dos columnas: la primera contendrá la palabra, w, y la segunda la etiqueta, t. Nodes: en la segunda sección indicaremos los distintos tipos de nodos, y el contenido de cada uno. En el ejemplo de la gura 4.3 podemos observar la denición de un grafo con un único tipo de nodo. En la gura 4.4 vemos un ejemplo de la declaración de un corpus de tres columnas (sección Corpus) y dos tipos de nodos: nc, que contendrán las palabras, w, y las etiquetas de chunking, c; y np, que contendrán las palabras y las etiquetas de pos-tagging, p. Edges: por último, para denir la topología de un grafo en nuestra herramienta, es necesario conocer la forma de obtener la ponderación de las aristas. Esto se indica en la última sección, especicando el origen y destino de la arista (mediante el símbolo -> podemos indicar la direccionalidad), y el cálculo de probabilidades que hay que realizar para obtener su peso. Podemos ver en las guras comentadas distintas deniciones de aristas. Mediante este sencillo lenguaje conseguimos especicar completamente la topología de los grafos que manejará STR. Además, con pequeños añadidos a este lenguaje

42 32 CAPÍTULO 4. LA HERRAMIENTA STR básico conseguimos que nuestra herramienta trate con más tipos de grafos. Por ejemplo, como vemos en la gura 4.5, dándole semántica al símbolo <-> conseguimos que nuestra herramienta maneje grafos sin dirección. // Bigramas sobre corpus de tres columnas // p= etiqueta POS, c= etiqueta CHUNK // Distintos tipos de nodos para cada columna Corpus [w,p,c] Nodes nc*: w,c; np: w,p; Edges nc-1 -> nc : p(c c-1)*p(w c); np-1 -> np : p(p p-1)*p(w p); np -> nc : p(c p); np-1 -> nc : p(c p-1); Figura 4.4: Distintos tipos de nodos y arcos (grafo de la gura 4.11). // Bigramas sobre corpus de dos columnas // Arcos sin dirección Corpus [w,t] Nodes n*: w,t; Edges n-1 <-> n : p(w-1 t-1)*p(t-1,t)*p(w t); Figura 4.5: Arcos sin dirección (grafo de la gura 4.10). En la práctica, hemos implementado una serie de analizadores léxicos, sintácticos y semánticos para este lenguaje de denición de grafos, utilizando la API ANTLR para Java. Gracias a este paquete, se pueden denir analizadores descendentes de forma muy sencilla, delegando en dicha API la generación del código Java necesario. En el anexo B mostramos la gramática utilizada para el reconocimiento sintáctico de un archivo de denición de grafos Ejemplos de posibles topologías de grafos Una vez expuesto el lenguaje para especicar grafos que utilizará nuestra herramienta, veremos algunos ejemplos simples de las posibilidades que dicho lenguaje nos ofrece, aparte de las ya vistas en el apartado anterior. La gura 4.6 muestra una generalización del modelo de bigramas para que se tengan en cuenta trigramas de etiquetas. Cada nodo del grafo mantiene además de la palabra y la etiqueta actual, la etiqueta anterior. De esta forma los arcos pueden reejar un trigrama de etiquetas constituido por la etiqueta actual (presente en el nodo actual), la anterior (presente en el nodo actual y el anterior) y la etiqueta dos posiciones anterior (presente en el nodo anterior). El esquema de grafo de la gura 4.7 combina los modelos de bigramas y trigramas. Se vuelve a la representación del modelo de bigramas con nodos que sólo contienen la palabra y la etiqueta, pero se añade la dependencia de una etiqueta

43 4.2. LENGUAJE DE DEFINICIÓN DE GRAFOS 33 Figura 4.6: Grafo basado en trigramas. con la etiqueta dos veces anterior gracias a otro tipo de arco que combina nodos no contiguos. En realidad, no es exactamente un modelo de trigrama ya que la palabra de la etiqueta central de la tripleta es ignorada. La gura 4.8 muestra un grafo que ha sido construido a partir de un corpus de tres columnas. Se trata de un corpus en el que para cada palabra se asocian dos informaciones, la etiqueta POS y la etiqueta CHUNK, siendo esta última la que nos interesa predecir. Introducimos la información de las dos columnas haciendo que los nodos contengan, además de las palabras, las dos etiquetas asociadas. No es la única forma de hacerlo, y en los siguientes modelos veremos otras alternativas con topologías más complejas. Figura 4.7: Grafo basado en bigramas y trigramas. Hasta ahora los modelos presentados tenían una relación más o menos directa con los esquemas clásicos basados en modelos de Markov. Sin embargo, con esta nueva característica se abren nuevas posibilidades tanto en el tipo de relaciones que pueden incluirse en el grafo como en el tipo de tareas a las que el método puede aplicarse. Figura 4.8: Grafo para un corpus de tres columnas. Otra característica que separa los modelos de STR con las aproximaciones basadas en los modelos de Markov es la posibilidad de denir distintos tipos de nodos en el grafo, como ya hemos visto. En la gura 4.9 se muestra un grafo que

44 34 CAPÍTULO 4. LA HERRAMIENTA STR modela los trigramas de la misma forma que en el ejemplo 4.6, y que se apoya en un nuevo tipo de nodo para incluir las relaciones entre bigramas. Todos los nodos serían ordenados mediante el algoritmo TextRank, pero sólo los de trigramas serán utilizados para la toma de decisiones, el papel de los nuevos nodos se limita a apoyar en menor o mayor medida a los nodos principales (los de trigramas). Figura 4.9: Grafo con distintos tipos de nodos. Como vimos anteriormente, otra característica interesante del algoritmo Text- Rank que puede ser incluida en nuestro modelo es la direccionalidad. En los ejemplos anteriores, los arcos son dirigidos, tal y como lo son en en el algoritmo PageRank ya que los arcos reejan enlaces de una página a otra. Sin embargo en el contexto del procesamiento del lenguaje natural, si utilizamos la coocurrencia como base para denir arcos entre nodos, esta relación se puede explotar en dos sentidos, de izquierda a derecha y al revés. La gura 4.10 muestra un grafo no dirigido basado en bigramas. Los pesos de los arcos cambian también con respecto al ejemplo 4.2, usándose en este caso probabilidades conjuntas (p(t 1, t)) en lugar de probabilidades condicionadas (p(t t 1)). Figura 4.10: Grafo sin dirección. El último ejemplo (gura 4.11) rescata de nuevo el corpus de tres columnas y plantea una manera más general de establecer relaciones entre las distintas etiquetas. En el caso de 4.8 lo único que estábamos haciendo era construir un nuevo conjunto de etiquetas mediante el producto cartesiano de los dos conjuntos de etiquetas correspondientes a cada columna. Este tipo de soluciones suelen llevar a problemas de escasez de datos ya que se necesitan corpus más extensos (con más ejemplos) para poder estimar de manera able el modelo estadístico. Sin embargo, con la solución planteada en 4.11 los conjuntos de etiquetas se mantienen y la aportación de las distintas columnas del corpus se lleva a cabo mediante distintos nodos de apoyo.

45 4.3. PROBABILIDADES Y FRECUENCIAS 35 Figura 4.11: Grafo para corpus de tres columnas, distintos tipos de nodos para cada palabra Probabilidades y frecuencias En la sección anterior hemos prestado poca atención a las probabilidades que utilizamos en los pesos de los arcos porque estábamos más interesados en investigar las distintas topologías de grafos que podrían ser entradas interesantes para el algoritmo TextRank, y en el lenguaje necesario para especicarlas. En esta sección nos encargaremos de ese aspecto, analizando qué tipo de probabilidades pueden ser útiles y las frecuencias que deberán ser calculadas para estimar estas probabilidades. En esta sección haremos este análisis teniendo en cuenta los siguientes aspectos: Cálculo de probabilidades léxicas que relacionan palabras con etiquetas. Cálculo de probabilidades de n-gramas correspondientes a secuencias de etiquetas. Cálculo de probabilidades que relacionan etiquetas de distintas columnas, para un corpus de más de dos columnas. Cálculo de probabilidades condicionadas y de probabilidades conjuntas. Partiremos de la enumeración de las distintas probabilidades utilizadas en los ejemplos de la sección anterior y especicaremos la manera de estimarlas a partir de frecuencias calculadas desde el corpus de entrenamiento. De esta forma, daremos una muestra de la expresividad del lenguaje de denición de probabilidades y deniremos qué tipo de frecuencias nos hará falta calcular al implementar el programa de entrenamiento Probabilidades léxicas Las probabilidades léxicas, también conocidas como probabilidades de emisión en los modelos de Markov, establecen la probabilidad de producir una determinada palabra a partir del conocimiento de la etiqueta. En los ejemplos de la sección anterior nos hemos encontrado con las siguientes probabilidades de interés: p(w t) = c(w, t) c(t) p(w p, c) = c(w, p, c)/c(p, c) Las frecuencias que necesitaremos calcular, desde el corpus de entrenamiento, para obtener el estimador de máxima verosimilitud de ambas probabilidades son las siguientes:

46 36 CAPÍTULO 4. LA HERRAMIENTA STR c(w, t) c(w, p, c) Probabilidades de n-gramas Se corresponden con lo que en la terminología de los modelos de Markov se denominan probabilidades de transición, y capturan la relación que existe entre una etiqueta y las etiquetas anteriores. En este tipo de probabilidades no participan las palabras y permiten incluir información acerca de la columna que pretendemos predecir en el proceso de clasicación. En primer lugar analizaremos las probabilidades que involucran secuencias de etiquetas de una misma columna, son los clásicos unigramas, bigramas y trigramas de etiquetas: p(t) = c(t)/ct p(t t 1) = c(t 1, t)/c(t 1) p(t t 1, t 2) = c(t 2, t 1, t)/c(t 2, t 1)p(t t 2) = c(t 2,, t)/c(t 2) Las probabilidades anteriores eran condicionadas, lo que permitía modelar con naturalidad relaciones entre palabras dirigidas. Sin embargo, en los modelos no dirigidos (como el de la gura 4.10) la probabilidad conjunta parece más apropiada para reejar la relación que existe entre dos etiquetas. Serán, por tanto, de interés probabilidades como las siguientes: p(t 1, t) = p(t 1) p(t t 1) = (c(t 1)/Ct) (c(t 1, t)/c(t 1)) p(t 2, t 1, t) = p(t 2) p(t 1 t 2) p(t t 1, t 2) = (c(t 1)/C) (c(t 1, t)/c(t 1)) (c(t 2, t 1, t)/c(t 2, t 1)) Tanto las probabilidades de n-gramas condicionadas como las conjuntas pueden ser estimadas a partir de las siguientes frecuencias: c(t) Ct = t i T c(t) c(t 1, t) c(t 2, t 1, t) c(t 2,, t) = t i T c(t 2, t i, t) Para corpus de más de dos columnas, nos puede interesar tener información que relacione la columna que queremos predecir (en las fórmulas posteriores sería c de chunk) con otras columnas del corpus que no sean las de la palabra (en nuestro caso sería la columna p de POS). En los grafos para corpus de tres columnas de la sección anterior hemos necesitado las siguientes probabilidades: p(c p) = c(p, c)/c(p) p(c p 1) = c(p 1, c)/c(p 1) p(p, c p 1, c 1) = p(p) p(c p, p 1, c 1) = (c(p)/cp) (c(p 1, c 1, p, c)/c(p 1, c 1, p)) Para estimar estas probabilidades, necesitaremos computar frecuencias del siguiente tipo:

47 4.3. PROBABILIDADES Y FRECUENCIAS 37 c(p, c) c(p 1, c) c(p 1, c 1, p) c(p 1, c 1, p, c) Suavizado de n-gramas y probabilidades para palabras desconocidas A la hora de realizar las cuentas de las palabras y etiquetas del corpus de entrenamiento para el cálculo de probabilidades, nos encontramos con un problema habitual en este tipo de sistemas: las palabras desconocidas. Es decir, dada una palabra de entrada que no ha aparecido en la fase de entrenamiento de nuestro modelo, ¾qué etiquetas y qué probabilidades asignarle? Este problema lo hemos afrontado mediante dos métodos distintos: Mediante el estudio de las palabras menos frecuentes: es decir, dada una palabra desconocida, asumimos que su categoría está relacionada con la clasicación de las palabras con menos ocurrencias en el corpus de entrenamiento. En la práctica, consideraremos como posibles etiquetas de la palabra desconocida aquellas que aparezcan acompañando a las palabras menos frecuentes del corpus de entrenamiento. Mediante el estudio de los sujos de las palabras: En general, en lenguajes exivos como el español o el inglés, los sujos de las palabras aportan mucha información sobre la categoría morfosintáctica de la misma, así como de su género y número. Por ello, a la hora de decidir la clasicación de una palabra desconocida, es muy útil estudiar las etiquetas relacionadas con palabras de igual sujo a la dada, y basar en ellas el cálculo de probabilidades. De esta forma, dada una palabra desconocida, consideraremos como posibles etiquetas de la misma todas aquellas etiquetas que aparezcan junto a palabras con igual sujo que la dada. En cuanto al cálculo de las probabilidades, si la palabra es desconocida las cuentas en las que esté implicada serán igual a cero, ya que no se ha visto esa palabra en el corpus de entrenamiento. La consecuencia de este hecho es que nuestro modelo estadístico no sabrá qué etiqueta asignar a la palabra, ya que todas las probabilidades de aparición de dichas etiquetas también serán igual a cero, lo que nos provocará errores en el etiquetado. Para intentar solucionar este problema surgen las técnicas de suavizado o smoothing. Estas técnicas intentan eliminar de alguna forma los ceros del modelo de forma que, dada una palabra desconocida, podamos obtener cierta probabilidad de aparición de la misma que nos permita deducir de alguna manera la clasicación de la palabra dada. Los métodos de suavizado, por tanto, ayudan a ajustar el modelo estadístico para obtener estimaciones de probabilidad más acertadas. Reciben el nombre de técnicas de suavizado porque estos métodos tratan de distribuir más uniformemente la distribución de probabilidad, no sólo eliminando los ceros de la misma, sino también suavizando las probabilidades más altas[25]. De esta forma también se intenta solventar el sobreajuste de los modelos estadísticos a los datos de entrenamiento, que pueden dar lugar a clasicaciones erróneas, incluso de palabras conocidas. En nuestro caso, para asignar las probabilidades a palabras desconocidas hemos operado de dos formas, atendiendo a la manera de obtener el conjunto de etiquetas candidatas a una palabra dada, comentado anteriormente. Los métodos son:

48 38 CAPÍTULO 4. LA HERRAMIENTA STR Si estudiamos las palabras menos frecuentes del corpus de entrenamiento, la frecuencia de aparición de una palabra desconocida y de sus etiquetas candidatas será igual a 1. En otras palabras, simulamos el hecho de haber visto esa palabra en una ocasión en el corpus de entrenamiento. Si estudiamos los sujos de las palabras, las frecuencias de las etiquetas de una palabra desconocida vendrán determinadas por las ocurrencias de esas etiquetas acompañando a las palabras de igual sujo a la dada.

49 Capítulo 5 Diseño de STR Una vez vistos los objetivos que nos planteamos a la hora de desarrollar la herramienta STR, estamos en disposición de concretar los aspectos más relevantes del diseño de la aplicación. En este capítulo, por tanto, veremos las principales estructuras de datos necesarias para la herramienta, así como el modo de almacenar de forma persistente estas estructuras. También daremos una visión global de los componentes principales de nuestra herramienta, y expondremos algunas decisiones tomadas en el desarrollo de STR Estructuras de datos Uno de los aspectos importantes en el diseño de nuestra aplicación ha sido la utilización de estructuras de datos que se adecúen a los requisitos de exibilidad y generalidad de la misma. Al tener que modelar distintas topologías de grafos con una gran variedad de datos en los nodos y de formas de obtener los pesos de los arcos, nuestras estructuras de datos tendrán que ser lo sucientemente generales como para poder cubrir toda esa casuística. A continuación veremos de forma somera estas estructuras de datos, y la manera en la que las almacenaremos para que puedan ser utilizadas en futuras ejecuciones de la herramienta STR Corpus En primer lugar hablaremos sobre los datos de entrada de nuestra herramienta: los corpus. Al ser uno de los objetivos de nuestro trabajo el desarrollo de una herramienta que pueda resolver distintas tareas de clasicación, debemos tener la mayor exibilidad en cuanto al formato de los datos de entrada. De todas las formas posibles en que puede venir dado un corpus, hemos optado por dar soporte en primer lugar a los corpus por columnas, ya que son los más habituales en las tareas de PLN. Si bien hemos dejado nuestra herramienta abierta en este aspecto para poder incluir, en futuras ampliaciones, otros formatos de corpus. En cuanto a los corpus por columnas, se les denomina así porque el texto viene escrito verticalmente, con una palabra por cada línea formando una columna (ver gura 5.1). Si son corpus etiquetados, la información adicional para cada palabra la encontraremos también por columnas. De forma que en cada línea del archivo, habrá una palabra del corpus y toda la información sobre la misma, separadas en distintas columnas, como podemos observar en la gura

50 40 CAPÍTULO 5. DISEÑO DE STR Chancellor of the Exchequer Nigel Lawson 's restated commitment... Confidence NN B-NP in IN B-PP the DT B-NP pound NN I-NP is VBZ B-VP widely RB I-VP expected VBN I-VP to TO I-VP take VB I-VP... Figura 5.1: Corpus sin etiquetar Vocabulario Figura 5.2: Corpus etiquetado por columnas. En el proceso de entrenamiento de cualquier clasicador en PLN es necesario ir almacenando de alguna manera las palabras que aparecen en el corpus de entrenamiento y las etiquetas que las acompañan. Esta información resultará útil en el proceso de etiquetado. Para ello, normalmente se construye un vocabulario o lexicon, que es una estructura que va guardando esos datos conforme se entrena nuestro modelo. En nuestra herramienta hemos modelado un vocabulario como un diccionario cuyas claves son las palabras, y los valores los constituyen el conjunto de etiquetas que aparecen acompañando a dichas palabras en el corpus de entrenamiento. Al tener que estar abiertos a corpus de más de dos columnas, las etiquetas de cada palabra se almacenarán en conjuntos, indexados en un array de tantas posiciones como columnas de etiquetas tenga el corpus. Es decir que, como puede verse en la gura 5.1, en el array de etiquetas de una palabra encontraremos en la posición i-ésima el conjunto de todas las etiquetas de esa palabra que hayan aparecido en la columna i-ésima del corpus. A la hora de almacenar de forma persistente esta estructura de datos hemos considerado varias opciones, decidiéndonos nalmente por aprovechar las facilidades de serialización de objetos que ofrece la API de Java. Este método es sencillo y bastante eciente, permitiéndonos posteriormente leer dicha serialización y recuperar la estructura de datos tal y como la dejamos antes de almacenarla. La contrapartida de utilizar esta utilidad de Java es que los archivos generados sólo son legibles desde la propia aplicación. Por ello hemos dejado abierto este punto de extensión en STR, posibilitando implementaciones alternativas del almacenamiento persistente de los vocabularios.

51 5.1. ESTRUCTURAS DE DATOS 41 Palabra 1 Etiquetas de la Palabra 1 Tag 1 Col 1 Tag 1 Col 2... Tag 1 Col N Tag 2 Col 1 Tag 2 Col 2... Tag 2 Col N Palabra 2 Tag M 1 Col 1 Tag M 1 Col 2... Tag M 1 Col N Etiquetas de la Palabra 2 Tag 1 Col 1 Tag 1 Col 2... Tag 1 Col N Tag 2 Col 1 Tag 2 Col 2... Tag 2 Col N Tag M 2 Col 1 Tag M 2 Col 2... Tag M 2 Col N Palabra K Etiquetas de la Palabra K Tag 1 Col 1 Tag 1 Col 2... Tag 1 Col N Tag 2 Col 1 Tag 2 Col 2... Tag 2 Col N Tag M k Col 1 Tag M k Col 2... Tag M k Col N Tabla 5.1: Representación gráca del Vocabulario extraído de un Corpus de N columnas de etiquetas y K palabras distintas Tabla de Frecuencias Del mismo modo que necesitamos almacenar de alguna forma las etiquetas que aparecen acompañando a cada palabra en el corpus de entrenamiento, también necesitamos guardar las estadísticas o frecuencias de aparición de dichas etiquetas y palabras. Estos datos resultarán imprescindibles en la fase de etiquetado para saber qué nodos crear para cada palabra, y calcular el peso de los arcos. Patrón de Frecuencias 1 (P F 1 ) Cuentas para P F 1 Slot s 1 de P F 1 # de s 1 de P F 1 Slot s 2 de P F 1 # de s 2 de P F Slot s k de P F 1 # de s k de P F 1 Patrón de Frecuencias 2 (P F 2 ) Cuentas para P F 2 Slot s 1 de P F 2 # de s 1 de P F 2 Slot s 2 de P F 2 # de s 2 de P F Slot s l de P F 2 # de s l de P F Patrón de Frecuencias N (P F N ) Cuentas para P F N Slot s 1 de P F N # de s 1 de P F N Slot s 2 de P F N # de s 2 de P F N Slot s m de P F N # de s m de P F N Tabla 5.2: Representación gráca de una Tabla de Frecuencias, donde #... indica el número de veces que aparece el slot indicado en el corpus de entrenamiento. Como se ha comentado en el capítulo anterior, dependiendo de la topología del grafo, la manera de calcular los pesos de los arcos puede ser muy variada y, en consecuencia, las cuentas de palabras y etiquetas serán distintas (ver apartado 4.3). Para ser lo más generalistas posibles hemos considerado cada probabilidad a resolver

52 42 CAPÍTULO 5. DISEÑO DE STR como un patrón de frecuencias, y cada elemento de dicho patrón lo llamaremos slot. Esta estructura genérica se especica en el archivo de denición del grafo, en concreto en el apartado Edges (ver sección 4.2). De esta manera, la forma en que se estructura esta información es similar a la de los vocabularios, como vemos en la gura 5.2. El almacenamiento persistente de la Tabla de Frecuencias se realizará siguiendo la misma estrategia que con los Vocabularios, serializando el objeto en memoria. Si bien dejamos abierta nuestra herramienta en este punto por si necesitamos en un futuro distintas formas de almacenamiento persistente de las estructuras de datos, como ya se comentó El Grafo En esta sección hablaremos sobre la principal estructura de datos de nuestra herramienta, los grafos. Como se ha expuesto anteriormente, la técnica de TextRank consiste en ir calculando de forma iterativa la importancia de los nodos de un grafo. Para ello, el algoritmo de ranking itera sobre todos los nodos, actualizando sus pesos, hasta que se llegue a un determinado umbral de error. En este proceso lo que necesitamos es una estructura de datos que sea fácilmente accesible, y que sea capaz de almacenar los datos que se especiquen en el archivo de denición del grafo. Nodo 1 (N 1 ) Aristas con origen en N 1 Destino Arista 1 de N 1 Peso Arista 1 de N 1 Destino Arista 2 de N 1 Peso Arista 2 de N Destino Arista p de N 1 Peso Arista p de N 1 Nodo 2 (N 2 ) Aristas con origen en N 2 Destino Arista 1 de N 2 Peso Arista 1 de N 2 Destino Arista 2 de N 2 Peso Arista 2 de N Destino Arista q de N 2 Peso Arista q de N Nodo M (N M ) Aristas con origen en N M Destino Arista 1 de N M Peso Arista 1 de N M Destino Arista 2 de N M Peso Arista 2 de N M Destino Arista r de N M Peso Arista r de N M Tabla 5.3: Representación gráca de un Grafo. La manera en la que damos soporte a estas características es haciendo que nuestros grafos estén formados por un diccionario cuyas claves serán los nodos origen de los arcos, y cuyos valores contienen el nodo de destino de la arista, y su peso (como se ve en la gura 5.3). Para dar soporte a la bidireccionalidad de los grafos, utilizamos dos diccionarios de este tipo. En principio estas estructuras no necesitamos almacenarlas de forma persistente, ya que su uso se restringe a la aplicación del algoritmo de ranking para obtener las categorías de cada palabra. Una vez que se ha creado un grafo para una frase dada y se haya ejecutado el algoritmo de ranking, el grafo deja de sernos útil. Por ello no se ha considerado ninguna opción de almacenamiento persistente.

53 5.2. DISEÑO DE STR-TRAIN Diseño de str-train Para tener una visión global de la arquitectura de la aplicación encargada del entrenamiento de nuestra herramienta, explicaremos a continuación sus principales componentes, que se nos muestran de forma esquemática en la gura 5.3. Figura 5.3: Diagrama de los principales componentes de str-train. Como podemos observar en la gura 5.3, la aplicación str-train está compuesta de cuatro unidades funcionales: La clase principal, Str-Train, desde la cual se controla todo el proceso de entrenamiento de nuestro modelo, construyendo los archivos de frecuencias y de vocabulario, a partir del corpus de entrenamiento y la denición del grafo. Un conjunto de clases encargadas de procesar el archivo de denición de grafos. Estas clases se han generado utilizando la API ANTLR (ANother Tool for Language Recognition)[47] para Java, que permite denir fácilmente analizadores léxicos, sintácticos y semánticos para lenguajes sencillos. En la gura 5.3, estas clases son las pertenecientes al recuadro etiquetado como ANTLR. Componentes especializados en la entrada/salida de nuestra herramienta (I/O en la gura). En concreto, la clase CorpusReader será la encargada de leer un corpus de entrada; mediante Serializer almacenaremos de forma persistente el vocabulario y la tabla de frecuencias generados en la fase de entrenamiento; y por último, los MessageHandlers son los encargados de informar al usuario del estado del proceso en cada momento. Estructuras de datos necesarias en el proceso de entrenamiento (en la gura, las recuadradas como ADTS), algunas de las cuales ya hemos visto con mayor detalle en la sección 5.1. Gracias a esta separación de componentes y a la comunicación mediante interfaces, conseguimos una gran exibilidad a la hora de implementar distintos métodos

54 44 CAPÍTULO 5. DISEÑO DE STR de suavizado (en la gura podemos ver la interfaz ISmoother), diferentes formatos de corpus de entrada, y múltiples deniciones de topologías de grafos. De esta forma damos cobertura a los objetivos mencionados al principio del capítulo Diseño de str-tag Una vez entrenado nuestro modelo mediante str-train, aplicaremos nuestro método de Supervised TextRank mediante la herramienta str-tag. El diseño de este componente de STR tiene muchos elementos en común con str-train, como vemos en la gura 5.4. Figura 5.4: Diagrama de clases para str-tag. Lo más novedoso con respecto a la gura 5.3 es la aparición de un conjunto de clases encargadas de la aplicación de nuestro método (en la gura aparecen etiquetadas como Ranking). este conjunto de clases tiene tres componentes básicos: Graph: una clase que modela los grafos. GraphBuilder: clase encargada de construir dichos grafos. IGraphRanker: componente que ejecutará un algoritmo de ranking sobre el grafo generado.

55 5.3. DISEÑO DE STR-TAG 45 Por último, también encontramos un nuevo elemento, llamado CorpusWriter, en el paquete de clases encargadas de la entrada/salida de nuestra herramienta. Esta clase encapsula la funcionalidad de guardar en un archivo el resultado del etiquetado del corpus de entrada. Es decir, es la encargada de crear los archivos.tgd que se muestran en la gura 4.1.

56 46 CAPÍTULO 5. DISEÑO DE STR

57 Capítulo 6 Resultados experimentales Para validar nuestra versión supervisada de TextRank hemos realizado una batería de experimentos, etiquetando una serie de corpus y comparando los resultados de nuestra aplicación con los obtenidos por las herramientas más comúnmente usadas en tareas de etiquetado. En este capítulo expondremos estos resultados, comentando las características de los corpus utilizados en los experimentos y las herramientas con las que nos hemos comparado Corpus utilizados Para obtener resultados signicativos acerca del funcionamiento de la técnica de TextRank Supervisado, se han utilizado algunos de los corpus más conocidos en PLN. Estos corpus son famosos por haber sido propuestos como base para diversas competiciones (o Shared Tasks) en determinadas tareas del PLN (corpus especícos); o por constituir conjuntos genéricos y representativos de un idioma determinado (corpus de propósito general). Un ejemplo de corpus especíco es el relativo a la Shared Task de la CoNLL 2000 (Conference on Computational Natural Language Learning), compilado para resolver la tarea de chunking, o análisis sintáctico. Del otro lado están los corpus de propósito general, como el Penn TreeBank, que se construyó acumulando textos en inglés de diversas fuentes (como el periódico WallStreet Journal o el corpus Brown) y combinando una anotación automática con la revisión manual posterior de la misma. Este corpus intenta ser una representación genérica del inglés, permitiendo su utilización en diversas tareas de PLN. Otro corpus de propósito general utilizado en los experimentos es el conocido como CLiC-TALP, un corpus para el español compilado gracias a los proyectos LexEsp-I y LexEsp-II, formado por textos de diversa naturaleza: novelas, noticias, ensayos, artículos de divulgación cientíca, etc. Entren. Test Etiquetas CoNLL-2000-POS CLIC-TALP PENN-50K PENN-100K PENN-200K PENN-CCO Tabla 6.1: Tamaños de los corpus CoNLL00, CLiC-TALP y Penn. 47

58 48 CAPÍTULO 6. RESULTADOS EXPERIMENTALES Para nuestros experimentos, se han dividido los corpus de manera que una parte de los mismos la hemos utilizado como entrenamiento de nuestra herramienta, y el resto se ha utilizado como corpus de prueba. En la tabla 6.1 se muestran los datos de cada corpus. Como se ve en la tabla, hemos utilizado aparte del propio corpus CoNLL-2000 de tres columnas, dos particiones distinas del mismo: una con las palabras y las etiquetas de POS-Tagging, y otra con las palabras y las etiquetas de chunking. También hemos experimentado con diversos tamaños del corpus de entrenamiento con el Penn TreeBank, entrenando nuestra herramienta con corpus de 50,000, 100,000, 200,000 y 790,000 palabras, respectivamente. La técnica de TextRank Supervisado puede ser aplicada a cualquier tarea de clasicación. Incluso podemos abordar tareas en las que se etiquetan grupos de palabras, mediante la notación IOB. Esta notación consiste en etiquetar la primera palabra del grupo con una etiqueta de inicio, B, y las restantes con etiquetas I, dejando las palabras que no pertenezcan a ningún grupo con la etiqueta O (ver ejemplo en la gura 6.1). Chancellor of the Exchequer Nigel Lawson 's restated commitment to... O B-PP B-NP I-NP B-NP I-NP B-NP I-NP I-NP B-PP Figura 6.1: Ejemplo de etiquetado en formato IOB. De esta forma, gracias a esta notación de corpus hemos podido aplicar nuestro método a tareas que requieren un etiquetado de grupos de palabras, como: Reconocimiento de entidades con nombre (NER), usando el corpus distribuido para la tarea propuesta en CoNLL Reconocimiento de entidades biomédicas (NER-B), usando el corpus distribuido para la tarea propuesta en COLING Análisis sintáctico supercial (Chunking), usando el corpus distribuido para la tarea propuesta en CoNLL 2000, utilizando en este caso las columnas de las palabras y las etiquetas del análisis sintáctico. En la tabla 6.2 se pueden ver los tamaños de las respectivas particiones de entrenamiento y test para estas tareas. En concreto, para la tarea del CoNLL 2002 se han utilizado dos corpus: uno para el español (CoNLL-2002-ESP), y otro para el holandés (CoNLL-2002-NED-NER). De este último se han hecho dos particiones, una con las palabras acompañadas de las etiquetas propias de la tarea de NER, y otra con las etiquetas de POS-Tagging (CoNLL-2002-POS). A pesar de que el conjunto de etiquetas es en todos los casos muy pequeño y que los corpus de entrenamiento son grandes, son tareas tan, o más complejas que las que planteó el corpus Penn ya que presentan un mayor grado de dependencia contextual. Por último, también hemos experimentado con corpus de tres columnas. En concreto hemos utilizado el corpus de la CoNLL 2000 completo, es decir con las

59 6.2. OTRAS HERRAMIENTAS DE ETIQUETADO 49 columnas de palabras, etiquetado morfológico (POS-Tagging), y etiquetado sintáctico (chunking); y el corpus para el holandés de la CoNLL 2002 también añadiéndole el etiquetado POS. Podemos ver los tamaños y número de etiquetas en la tabla 6.3. Entren. Test Etiquetas CoNLL-2000-CHUNK CoNLL-2002-ESP CoNLL-2002-NED-NER CoNLL-2002-POS Coling Tabla 6.2: Tamaños de los corpus Coling04, CoNLL 2000 y CoNLL Entren. Test Etiquetas POS Etiquetas de Clase CoNLL CoNLL Tabla 6.3: Tamaños de los corpus CoNLL 2000 y CoNLL 2002 de tres columnas Otras herramientas de etiquetado Las herramientas con las que hemos comparado los resultados de STR han sido clasicadores muy utilizados en PLN. En concreto, hemos utilizado las siguientes aplicaciones: TnT [5], es uno de los más utilizados, está basado en modelos de Markov, es muy rápido y suele obtener muy buenos resultados. TreeTagger [49], está basado en árboles de decisión, para cada palabra genera un registro de una base de datos que es posteriormente utilizada para la obtención del árbol de decisión. MBT [10], realiza el entrenamiento mediante aprendizaje basado en ejemplos, una implementación eciente de la técnica de los vecinos más cercanos. fntbl [45], es una implementación eciente del método TBL [6] basado en la generación de reglas de transformación guiada por el descubrimiento de errores. MaxEnt [2], que emplea modelado de máxima entropía para integrar, en forma de restricciones, el conocimiento del problema que proporciona el corpus de entrenamiento. Además, implementamos un etiquetador simple que sirvió de línea base para nuestros primeros experimentos. En él, se asocia a cada palabra la etiqueta más repetida para ella en el corpus de entrenamiento Diseño de los experimentos Dada la gran exibilidad de nuestra herramienta en cuanto a topologías de grafos, algoritmos de ranking y métodos de suavizado se reere, se hace necesario

60 50 CAPÍTULO 6. RESULTADOS EXPERIMENTALES utilizar una codicación numérica para organizar los diversos experimentos realizados. En ellos, el cambio fundamental será la denición del grafo utilizado en el proceso de etiquetado, ya que en todos los casos utilizaremos el suavizado mediante sujos, y para realizar el ranking de nodos siempre recurriremos al algoritmo de TextRank. Se han denido grafos (con y sin dirección) para modelos de bigramas y trigramas, y también para distintas combinaciones de los anteriores. A continuación detallamos los grafos que se han utilizado, y los resultados obtenidos para cada uno de los corpus expuestos en el apartado anterior Modelos de bigramas Como comentamos anteriormente, el primer grafo que nos planteamos para diseñar nuestra herramienta fue uno que representase un modelo de bigramas. Esta representación fue, por tanto, el primer objeto de nuestro estudio, constituyendo el Experimento 1. Dentro del cual se han realizado pruebas con dos variaciones del grafo original, contando por tanto con 3 modelos distintos. Experimento 1.1: la denición textual del grafo y su representación gráca ya han aparecido en este documento, en concreto en las guras 4.3 y 4.2, respectivamente. Experimento 1.2: primera versión bidireccional del grafo anterior. En este experimento medimos el comportamiento de nuestra herramienta con un grafo bidireccional aplicado a bigramas. La denición la podemos ver en la gura 6.2 Experimento 1.3: segunda versión bidireccional del grafo sobre bigramas. La denición de este grafo se muestra en la gura 6.3 // Bigram model (Bidir 1st version). Two-column corpus Corpus [w,t] Nodes n*: w, t, t-1; Edges n-1 -> n : p(t t-1)*p(w t); n+1 -> n : p(t t+1)*p(w t); Figura 6.2: Denición de un grafo bidireccional con bigramas. // Bigram model ( Bidir 2nd version). Two-column corpus Corpus [w,t] Nodes n*: w, t, t-1, t-2; Edges n-1 -> n : p(t t-1)*p(w t)*p(t-1 t-2); n -> n-1 : p(w-1 t-1)*p(t-1 t)*p(t-2 t-1); Figura 6.3: Denición de otro grafo bidireccional con bigramas.

61 6.3. DISEÑO DE LOS EXPERIMENTOS 51 Los resultados de aplicar estos grafos a los corpus comentados en secciones anteriores se pueden ver en la tabla 6.4. Corpus Exp. 1.1 Exp. 1.2 Exp. 1.3 CoNLL-2000-POS 94, 94 % 94, 74 % 94, 91 % CoNLL-2000-CHUNK 85, 56 % 86, 51 % 86, 21 % CLIC-TALP 91, 62 % 91, 63 % 91, 65 % PENN-50K 89, 56 % 89, 33 % 89, 71 % PENN-100K 91, 44 % 91, 08 % 91, 49 % PENN-200K 92, 80 % 92, 34 % 92, 77 % PENN-CCO 94, 14 % 93, 82 % 94, 08 % COLING , 89 % 86, 47 % 86, 54 % CoNLL-2002-ESP 93, 49 % 94, 53 % 93, 14 % CoNLL-2002-NED-NER 94, 60 % 93, 11 % 94, 62 % CoNLL-2002-POS 92, 68 % 92, 73 % 92, 37 % Tabla 6.4: Porcentajes de acierto del experimento Modelos de trigramas El siguiente paso en nuestros experimentos fue observar el comportamiento de nuestra herramienta a la hora de considerar modelos de trigramas. En los modelos de trigramas, a la hora de decidir la clasicación de un ejemplo, tenemos en cuenta la clasicación de los dos elementos anteriores en la secuencia de datos. Es decir, se aumenta el horizonte de eventos que inuyen en el estado actual. Estos modelos constituirán el Experimento 2. Al igual que con los modelos de bigramas, tendremos dos versiones bidireccionales del grafo dirigido original. Experimento 2.1: denominamos así a las pruebas realizadas construyendo un grafo dirigido sobre trigramas. La denición del mismo se muestra en la gura 6.4. // Trigram model. Two-column corpus Corpus [w,t] Nodes n*: w,t,t-1; Edges n-1 -> n : p(t t-1,t-2)*p(w t); Figura 6.4: Denición de un grafo de trigramas. Experimento 2.2: primera versión bidireccional del grafo anterior. Al igual que con los bigramas, podemos representar la bidireccionalidad sobre trigramas de muchas formas. Aquí mostramos un posible grafo (ver la gura 6.5). Experimento 2.3: segunda versión bidireccional del grafo sobre trigramas. La denición de este grafo se muestra en la gura 6.6. Utilizando estos grafos sobre los corpus de prueba, obtenemos los resultados mostrados en la tabla 6.5.

62 52 CAPÍTULO 6. RESULTADOS EXPERIMENTALES // Trigram model (Bidir 1st version). Two-column corpus Corpus [w,t] Nodes n*: w,t,t-1,t+1; Edges n-1 -> n : p(t t-1,t-2)*p(w t); n+1 -> n : p(t t+1)*p(w t); Figura 6.5: Denición de un grafo bidireccional sobre trigramas. // Trigram model (Bidir 2nd version). Two-column corpus Corpus [w,t] Nodes n*: w,t,t-1,t+1; Edges n-1 -> n : p(t t-1,t-2)*p(w t); n+1 -> n : p(t t+1,t+2)*p(w t); Figura 6.6: Segundo grafo bidireccional sobre trigramas Interpolación Lineal Tras observar los resultados de las dos series de experimentos anteriores (los modelos de bigramas y trigramas), aplicamos la técnica de Interpolación Lineal que conjuga tres órdenes de N-gramas (unigramas, bigramas y trigramas) para estimar la probabilidad de cada ejemplo[25]. La forma de hacerlo es la siguiente: P (w, t t 1, t 2) = (λ 1 P (t t 1, t 2) + λ 2 P (t t 1) + λ 3 P (t)) P (w t) Donde se cumple que λ i [0, 1] y i λ i = 1. Mediante cada λ i le damos un cierto peso o importancia a cada modelo de N-gramas, incrementando el coeciente correspondiente y decrementando el resto. En nuestros experimentos tan sólo hemos realizado pruebas con valores jos de las λ i si bien también sería posible hacer que dichos coecientes no sean constantes, sino funciones de determinadas características del modelo. Así pues, hemos propuesto cuatro topologías distintas de grafos, utilizando la interpolación lineal de diversas formas. Experimento 3.1: la primera topología que diseñamos utilizando la interpolación lineal en un grafo es la que se muestra en la gura 6.7. Como se puede observar, utilizamos un único tipo de nodo, y aristas dirigidas y ponderadas según la fórmula comentada anteriormente. Experimento 3.2: en este experimento introducimos en nuestro grafo información acerca de los dos eventos siguientes al actual mediante la denición de aristas en sentido contrario (ver la gura 6.8). Experimento 3.3: a continuación probamos el efecto de utilizar la interpolación lineal junto con la información que proporciona el estado inmediatamente posterior al actual (ver la denición del grafo en la gura 6.9). Experimento 3.4: como último experimento de la serie, denimos un grafo que utilice la interpolación lineal en ambos sentidos, mediante la denición de dos tipos distintos de aristas, como se ve en la gura 6.10.

63 6.3. DISEÑO DE LOS EXPERIMENTOS 53 // Trigram model (Linear Interpol.) Corpus [w,t] Nodes n*: w,t,t-1; Edges n-1 -> n : (0.2*p(t)+0.5*p(t t-1)+0.3*p(t t-1,t-2))*p(w t); Figura 6.7: Grafo dirigido que utiliza interpolación lineal. // Trigram model (Linear Interpol. 1st Bidir.) Corpus [w,t] Nodes n*: w,t,t-1,t+1; Edges n-1 -> n : (0.2*p(t)+0.5*p(t t-1)+0.3*p(t t-1,t-2))*p(w t); n+1 -> n : p(t t+1, t+2)*p(w t); Figura 6.8: Grafo bidireccional sobre un modelo de interpolación lineal. // Trigram model (Linear Interpol. 2nd Bidir.) Corpus [w,t] Nodes n*: w,t,t-1,t+1; Edges n-1 -> n : (0.2*p(t)+0.5*p(t t-1)+0.3*p(t t-1,t-2))*p(w t); n+1 -> n : p(t t+1)*p(w t); Figura 6.9: Grafo bidireccional sobre un modelo de interpolación lineal (segunda versión) // Trigram model (Linear Interpol. 3rd Bidir.) Corpus [w,t] Nodes n*: w,t,t-1,t+1; Edges n-1 -> n : (0.2*p(t)+0.5*p(t t-1)+0.3*p(t t-1,t-2))*p(w t); n+1 -> n : (0.2*p(t)+0.5*p(t t+1)+0.3*p(t t+1,t+2))*p(w t); Figura 6.10: Grafo bidireccional sobre un modelo de interpolación lineal (tercera versión)

64 54 CAPÍTULO 6. RESULTADOS EXPERIMENTALES Corpus Exp. 2.1 Exp. 2.2 Exp. 2.3 CoNLL-2000-POS 95, 09 % 93, 93 % 94, 26 % CoNLL-2000-CHUNK 85, 65 % 82, 96 % 83, 88 % CLIC-TALP 92, 22 % 90, 84 % 91, 03 % PENN-50K 88, 94 % 88, 34 % 88, 89 % PENN-100K 91, 17 % 90, 05 % 90, 60 % PENN-200K 92, 69 % 91, 43 % 91, 87 % PENN-CCO 94, 31 % 93, 01 % 93, 30 % COLING , 36 % 83, 46 % 84, 13 % CoNLL-2002-ESP 91, 04 % 91, 06 % 91, 07 % CoNLL-2002-NED-NER 94, 57 % 93, 42 % 93, 63 % CoNLL-2002-POS 92, 94 % 92, 16 % 92, 56 % Tabla 6.5: Porcentajes de acierto del experimento 2. Corpus Exp. 3.1 Exp. 3.2 Exp. 3.3 Exp. 3.4 CoNLL-2000-POS 94, 99 % 94, 00 % 94, 21 % 94, 25 % CoNLL-2000-CHUNK 86, 65 % 83, 99 % 83, 11 % 84, 37 % CLIC-TALP 91, 94 % 90, 48 % 90, 98 % 90, 89 % PENN-50K 89, 02 % 88, 63 % 88, 66 % 88, 81 % PENN-100K 91, 18 % 90, 32 % 90, 36 % 90, 63 % PENN-200K 92, 68 % 91, 74 % 91, 77 % 91, 98 % PENN-CCO 94, 21 % 92, 96 % 93, 22 % 93, 35 % COLING , 98 % 84, 76 % 83, 97 % 86, 04 % CoNLL-2002-ESP 93, 34 % 90, 48 % 90, 48 % 91, 94 % CoNLL-2002-NED-NER 94, 54 % 92, 39 % 93, 53 % 94, 30 % CoNLL-2002-POS 92, 68 % 93, 63 % 92, 59 % 92, 40 % Tabla 6.6: Porcentajes de acierto del experimento 3. En la tabla 6.6 se muestran los resultados de aplicar estas cuatro topologías de grafos a los corpus utilizados en nuestra investigación Otras topologías En esta sección presentaremos el último conjunto de grafos diseñados para probar el funcionamiento de nuestra herramienta. Se trata de una serie de topologías que utilizan diversas características del lenguaje de denición de grafos. Por un lado se utiliza la capacidad de denir grafos sin dirección, mediante la sintaxis <->, mostrada en la gura 4.5. Además, se muestra la capacidad de nuestra herramienta de denir grafos con varios tipos de nodos para incluir información sobre distintos órdenes de N-gramas, con aristas en ambas direcciones, de maneras alternativas a las ya vistas en secciones anteriores. Experimento 4.1: En este experimento utilizamos el grafo que se muestra en la gura Podemos ver que utilizamos dos tipos de aristas: unas aportarán información sobre la palabra anterior a la actual, y otras lo harán de la palabra que se encuentra dos posiciones antes que la dada. Experimento 4.2: para la siguiente prueba le añadimos al grafo anterior una arista que incluya en el modelo información sobre la palabra posterior a la actual (ver la gura 6.12).

65 6.3. DISEÑO DE LOS EXPERIMENTOS 55 Experimento 4.3: como se ve en la gura 6.13, el grafo utilizado en estos experimentos consiste en añadirle al grafo del Experimento 4.1 su imagen especular. Es decir, añadir dos tipos de aristas en sentido opuesto a las anteriores, y ponderadas análogamente. Experimento 4.4: en este experimento utilizamos él grafo mostrado en la gura Así comprobamos el efecto de aplicar el operador <-> a la denición de un grafo. En la tabla 6.7 presentamos los resultados que obtenemos aplicando con nuestra herramienta estas topologías. //TriBigram Model Corpus [w,t] Nodes n*: w,t; Edges n-1 -> n : p(t t-1)*p(w t); n-2 -> n : p(t t-2)*p(w t); Figura 6.11: Denición de un grafo con aristas independientes para trigramas. //TriBigram Model (1st Bidir) Corpus [w,t] Nodes n*: w,t,t+1; Edges n-1 -> n : p(t t-1)*p(w t); n-2 -> n : p(t t-2)*p(w t); n+1 -> n : p(t t+1)*p(w t); Figura 6.12: Grafo de aristas independientes para trigramas, y una arista en sentido opuesto. //TriBigram Model (2nd Bidir) Corpus [w,t] Nodes n*: w,t,t+1; Edges n-1 -> n : p(t t-1)*p(w t); n-2 -> n : p(t t-2)*p(w t); n+1 -> n : p(t t+1)*p(w t); n+2 -> n : p(t t+2)*p(w t); Figura 6.13: Grafo de aristas independientes para trigramas, y dos aristas en sentido opuesto.

66 56 CAPÍTULO 6. RESULTADOS EXPERIMENTALES //Bigram Without Dir. Model Corpus [w,t] Nodes n*: w, t, t-1; Edges n-1 <-> n : p(w-1 t-1)*p(t-1, t)*p(w t); Figura 6.14: Grafo de bigramas sin dirección. Corpus Exp. 4.1 Exp. 4.2 Exp. 4.3 Exp. 4.4 CoNLL-2000-POS 94, 46 % 94, 30 % 94, 27 % 94, 67 % CoNLL-2000-CHUNK 84, 80 % 82, 02 % 83, 28 % 86, 15 % CLIC-TALP 90, 98 % 91, 23 % 90, 70 % 91, 67 % PENN-50K 88, 63 % 88, 62 % 88, 31 % 89, 29 % PENN-100K 90, 53 % 90, 51 % 90, 23 % 90, 98 % PENN-200K 91, 90 % 91, 89 % 91, 58 % 92, 26 % PENN-CCO 93, 37 % 93, 34 % 93, 12 % 93, 75 % COLING , 64 % 86, 68 % 86, 63 % 86, 44 % CoNLL-2002-ESP 91, 07 % 91, 07 % 91, 06 % 89, 86 % CoNLL-2002-NED-NER 94, 12 % 94, 28 % 94, 29 % 94, 24 % CoNLL-2002-POS 92, 26 % 92, 66 % 92, 43 % 92, 55 % Tabla 6.7: Porcentajes de acierto del experimento Corpus de tres columnas Por último, para terminar la serie de experimentos para probar el funcionamiento de nuestra herramienta, hemos aplicado STR a corpus de tres columnas. En concreto hemos utilizado para nuestros experimentos los corpus de la CoNLL de 2000 y El corpus de la CoNLL 2002 consta de dos colecciones de archivos (uno de entrenamiento y dos de test), una para el español y otra para el holandés. Se han diseñado tres topologías de grafos distintas, cada una incluyendo determinados datos del modelo, como vemos a continuación. Experimento 5.1: el primer grafo diseñado para ser aplicado a un corpus de tres columnas es el que mostramos en la gura En cada arista se computa la probabilidad de las palabras, las etiquetas morfológicas, y las sintácticas, siguiendo un modelo de bigramas. Experimento 5.2: En este experimento probamos con un grafo diferente para calcular la probabilidad de cada etiqueta de chunk. También nos basamos en un modelo de bigramas, como se ve en la gura Experimento 5.3: en este caso, utilizamos dos tipos de nodos para incluir las distintas inuencias del modelo sobre cada nodo. La topología la podemos ver en la gura Los resultados de nuestra herramienta con cada topología de grafo se muestra en la tabla 6.8. Podemos observar los resultados para el corpus de la CoNLL 2000, y también para los dos corpus de la CoNLL 2002 con sus dos corpus de test.

67 6.3. DISEÑO DE LOS EXPERIMENTOS 57 // Bigram model (3-columns corpus). // p= POS-tag, c= CHUNK-tag Corpus [w,t,c] Nodes n*: w,t,c; Edges n-1 -> n : p(w c)*p(w t)*p(c t, t-1, c-1); Figura 6.15: Topología de un grafo para corpus de tres columnas. // Bigram model (3-columns corpus, 2nd version). // p= POS-tag, c= CHUNK-tag Corpus [w,t,c] Nodes n*: w,t,c; Edges n-1 -> n : p(w c)*p(w t)*p(c c-1)*p(t c); Figura 6.16: Denición alternativa de un grafo sobre corpus de tres columnas. // Bigram model (3-columns corpus, 3rd version). // p= POS-tag, c= CHUNK-tag Corpus [w,t, c] Nodes np*: w, t, c, c-1; n: w, t, t-1; Edges n-1 -> n : p(t t-1)*p(w t); np-1 -> np : p(c c-1)*p(t c); n-1 -> np : p(c c-1)*p(w c); Figura 6.17: Denición de un grafo con distintos tipos de nodos para corpus de tres columnas.

68 58 CAPÍTULO 6. RESULTADOS EXPERIMENTALES Corpus Exp. 5.1 Exp. 5.2 Exp. 5.3 CoNLL , 99 % 88, 16 % 84, 84 % TEST-A 90, 29 % 89, 85 % 92, 66 % CoNLL-2002-HOLANDÉS TEST-B 91, 50 % 91, 14 % 93, 87 % CoNLL-2002-ESPAÑOL TEST-A 91, 70 % 91, 44 % 88, 64 % TEST-B 93, 29 % 92, 93 % 90, 02 % Tabla 6.8: Porcentajes de acierto del experimento Comparativas A continuación mostramos una comparativa entre los resultados obtenidos por STR y los etiquetadores comentados en la sección 6.2. Tomando las topologías de grafos que mejor modelan cada uno de los corpus utilizados en los experimentos, comparamos nuestra herramienta con otros clasicadores bastante conocidos en nuestro área. En la tabla 6.9 mostramos los porcentajes de aciertos de cada etiquetador con cada uno de los corpus. Corpus TnT TreeTag MBT MaxEnt FNTBL STR CoNLL-2000-POS 97, 32 % 92, 13 % 96, 8 % 97, 07 % 97, 7 % 95, 09 % CoNLL-2000-CHUNK 89, 62 % 84, 4 % 90, 61 % 92, 83 % 86, 88 % 86, 73 % PENN-200K 95, 48 % 94, 28 % 94, 4 % 95, 47 % 95, 04 % 92, 8 % PENN-100K 94, 82 % 93, 11 % 92, 91 % 94, 47 % 93, 88 % 91, 49 % PENN-50K 93, 88 % 91, 73 % 91, 34 % 93, 06 % 92, 93 % 89, 71 % PENN-CCO 96, 21 % 95, 52 % 95, 67 % 96, 41 % 96, 18 % 94, 31 % CoNLL-2002-ESP 94, 78 % 90, 58 % 94, 38 % 95, 03 % 94, 3 % 94, 53 % CoNLL-2002-NED-NER 96, 26 % 88, 37 % 95, 93 % 96, 42 % 95, 41 % 94, 62 % CoNLL-2002-POS 95, 81 % 88, 24 % 95, 38 % 95, 73 % 96, 26 % 93, 63 % COLING , 97 % 84, 79 % 88, 71 % 87, 52 % 90, 37 % 86, 98 % CLIC-TALP 95, 82 % 95, 62 % 94, 8 % 93, 99 % 95, 98 % 92, 22 % Tabla 6.9: Comparativa entre algunos etiquetadores y STR Resumiendo los datos de la comparativa, calculando la diferencia de porcentajes de acierto entre los resultados obtenidos por STR y por el resto de etiquetadores, vemos en la tabla 6.10 la distancia entre unos y otros. Lo que se muestra es la diferencia entre el porcentaje de aciertos de nuestra herramienta y el porcentaje de aciertos del mejor y peor etiquetadores para cada corpus. También se indica en esta tabla los experimentos en los que se han obtenido los mejores resultados de STR para cada corpus. Como se puede ver, nuestra herramienta mejora las clasicaciones realizadas por algunos de los etiquetadores más extendidos en nuestro ámbito, en concreto en los corpus de la CoNLL de 2000 y 2002, y el de COLING Acercándose bastante a los mejores etiquetadores en muchos de ellos. Nuestra herramienta también presenta unos resultados cercanos a los del resto de aplicaciones en los demás corpus.

69 6.4. COMPARATIVAS 59 Corpus Dist. Máxima Dist. Mínima Experimento CoNLL-2000-POS 2, 61 % 2, 96 % Exp. 2.1 CoNLL-2000-CHUNK 6, 10 % 2, 33 % Exp. 4.4 PENN-200K 2, 68 % 1, 48 % Exp. 1.1 PENN-100K 3, 33 % 1, 42 % Exp. 1.3 PENN-50K 4, 17 % 1, 63 % Exp. 1.3 PENN-CCO 2, 10 % 1, 21 % Exp. 2.1 CoNLL-2002-ESP 0, 50 % 3, 95 % Exp. 1.2 CoNLL-2002-NED-NER 1, 80 % 6, 25 % Exp. 1.3 CoNLL-2002-POS 2, 63 % 5, 39 % Exp. 3.2 COLING , 39 % 2, 19 % Exp. 3.1 CLIC-TALP 3, 76 % 1, 77 % Exp. 2.1 Tabla 6.10: Distancia de nuestra herramienta con el resto de etiquetadores, y experimento en el que se obtienen esos resultados.

70 60 CAPÍTULO 6. RESULTADOS EXPERIMENTALES

71 Capítulo 7 Conclusiones En el presente trabajo hemos estudiado el estado del arte del Procesamiento del Lenguaje Natural. Para ello, en primer lugar hemos dado una visión general del campo de aplicación de estas investigaciones, repasando los principales avances desde los problemas que dieron origen al PLN en los años cincuenta, hasta la actualidad. Posteriormente se han enumerado las distintas tareas que se plantean en este ámbito y la manera en que se suelen afrontar. A continuación nos hemos centrado en las técnicas de aprendizaje automático más extendidas y utilizadas en PLN, como los modelos de Markov, el aprendizaje basado en transformaciones, las máquinas de soporte vectorial (SVM ), los modelos de máxima entropía, etc. Para cada una de estas técnicas, hemos expuesto sus fundamentos y aplicaciones más frecuentes, así como sus ventajas e inconvenientes. Por último se ha estudiado algo más en profundidad el uso de los modelos grácos en el PLN, campo en el que se centra nuestra investigación. Un modelo gráco no es más que un modelo probabilístico que representa grácamente (generalmente mediante un grafo) el comportamiento y restricciones de un sistema o conjunto de datos. Hemos repasado los principales algoritmos sobre modelos grácos, tanto de inferencia como de ranking, poniendo especial interés en el algoritmo de TextRank[37], ya que nuestro trabajo de investigación se basa en la modicación y posterior aplicación de este algoritmo a tareas de clasicación. Una vez estudiado el estado del arte del área en la que nos vamos a mover, se ha expuesto todo el trabajo de investigación llevado a cabo hasta la fecha. En concreto, nuestro trabajo consiste en la utilización del algoritmo de TextRank en tareas de clasicación, integrando dicha técnica en un esquema de aprendizaje supervisado. En la fase de entrenamiento de nuestro sistema se calcularán las frecuencias de los datos de ejemplo que nos servirán para construir, en la fase de etiquetado, un modelo gráco de los datos de entrada. Sobre este modelo gráco aplicaremos el algoritmo de TextRank, de forma que obtengamos una clasicación de los datos de entrada. La idea principal de nuestra aproximación es construir un grafo que modele las relaciones existentes en los datos de entrada. Esto lo conseguimos haciendo que los vértices de nuestro grafo estén compuestos por dos informaciones principales: la palabra, w, y la etiqueta de clase asociada a la misma, t. Adicionalmente, los vértices también pueden contener otros datos relevantes que puedan ser utilizados por el TextRank. Si una palabra puede tener varias etiquetas, se creará un vértice por cada una de ellas. Las aristas de nuestro grafo se establecen en función de la coocurrencia de las palabras, aunque nuestra herramienta ofrece la posibilidad de denir las aristas según otras características de los datos. Por último, la información del corpus de entrenamiento aparecerá en el grafo mediante pesos en los arcos. De esta forma, el algoritmo de TextRank realizará una 61

72 62 CAPÍTULO 7. CONCLUSIONES ordenación de los vértices del grafo, seleccionando aquellos nodos de cada palabra con mayor puntuación según el ranking calculado. Con esta técnica se consiguen generar clasicadores generales, aplicables a diversas tareas, simplemente deniendo topologías de grafos que modelen de forma adecuada las dependencias existentes en los datos de entrada. Como se ha mostrado en los resultados obtenidos en los distintos experimentos realizados (ver la sección 6.4), nuestra herramienta consigue resultados similares a los que podemos obtener con algunos de los etiquetadores más utilizados en nuestra área. Incluso llegamos a superar el porcentaje de aciertos de esas aplicaciones sobre algunos corpus. Gracias al tiempo empleado en el diseño de la arquitectura de la aplicación hemos conseguido una gran modularidad. Esto hace que sea muy sencillo cambiar distintas funcionalidades de la misma, como los métodos de suavizado de los modelos de n- gramas, la denición de los grafos, el formato de entrada y salida de los datos, etc. Esta exibilidad también facilita en gran medida la experimentación con STR. Los resultados de los experimentos realizados nos dan una idea también del margen de mejora de nuestra aplicación, y sobre todo en qué aspectos podemos obtener esas mejoras. El más claro es, quizás, el apartado de técnicas de suavizado de los modelos de n-gramas. Como se comenta en la sección 4.3.3, sólo hemos implementado dos mecanismos de suavizado. El primero sería un método ingenuo o trivial, asignando como posibles etiquetas de una palabra desconocida, todas aquellas etiquetas que acompañen a palabras con pocas ocurrencias en el corpus de entrenamiento. El segundo método implementado utiliza los sujos de las palabras desconocidas para estimar su conjunto de etiquetas posibles. Lo que hacemos es asignar como etiquetas posibles, aquellas que acompañen a palabras con el mismo sujo que la dada. El hecho de no haber implementado mecanismos más sosticados de suavizado sobre los modelos de n-gramas, hace que nos planteemos como primera mejora de STR el incluir más técnicas de este tipo, y la posibilidad de seleccionar de entre todas ellas, la que necesitemos en cada momento. También nos planteamos la integración de otros modelos grácos en nuestra herramienta. En nuestra aplicación se manejan probabilidades léxicas y de n-gramas (ver la sección 4.3) de forma similar a lo que hacemos en los modelos de Markov con las probabilidades de emisión y de transición. Un punto de mejora sería el poder incluir otro tipo de características a nuestros modelos, pudiendo capturar otro tipo de dependencias existentes en los datos de entrada. O incluso poder considerar como datos relevantes diversas características de las palabras.

73 Capítulo 8 Proyecto investigador 8.1. Entorno Antes de plantearnos la planicación de nuestro proyecto de investigación, se hace necesario un estudio del entorno en el que vamos a desarrollar nuestro trabajo. En esta sección presentamos una breve descripción de los grupos de investigación más destacados en el campo del Procesamiento del Lenguaje Natural, a nivel nacional e internacional. También repasaremos los congresos más importantes en este área y las revistas de mayor impacto Grupos de investigación A continuación se enumeran algunos de los grupos de investigación cuyos investigadores son referencia obligada en cualquier investigación en PLN. Esta tarea forma parte de un trabajo de documentación llevado a cabo en nuestro grupo de investigación, con el objetivo de ponernos en contacto con algunos de ellos para futuras colaboraciones y, si se dan las condiciones adecuadas, realizar alguna estancia en sus universidades. Language and Information Technologies (Universidad de North Texas): Destacamos este grupo de investigación por pertenecer al mismo Rada Mihalcea, una de las principales impulsoras de la investigación en modelos grácos aplicados al Procesamiento del Lenguaje Natural. Es la autora del artículo en el que se presenta el algoritmo de TextRank[36], que ha dado origen al presente trabajo. Además, Mihalcea es miembro de numerosos comités en diversos congresos internacionales, y forma parte del equipo de editores de importantes revistas, entre ellas Computational Linguistics. Los proyectos de investigación de este grupo se centran en la aplicación de modelos grácos al PLN, el análisis léxico-semántico, sentiment categorization, Computation Humour(reconocimiento y generación de humor), procesamiento multilingüe, etc. The Stanford Natural Language Processing Group (Universidad de Stanford): Uno de los grupos más importantes (si no el más) en todo lo relacionado con el Procesamiento del Lenguaje Natural. Sus dos componentes fundamentales, Chris Manning y Dan Jurafsky, son autores de sendos libros considerados como referencia obligada a todo aquel que desea iniciarse en la disciplina del Procesamiento del Lenguaje Natural (Foundations of Statistical Natural Language Processing[29] y Speech and Language Processing [25], respectivamente). 63

74 64 CAPÍTULO 8. PROYECTO INVESTIGADOR CLAIR. Computational Linguistics And Information Retrieval (Universidad de Michigan): destacamos este grupo de investigación por pertenecer a él Dragomir Radev, otro de los impulsores de la investigación de modelos grácos aplicados al PLN, y organizador junto con Rada Mihalcea de un workshop dedicado a este área. Los proyectos de investigación de este grupo se centran principalmente en la extracción de información, en concreto investigan el análisis de la web mediante grafos, resumen de textos, aprendizaje semisupervisado basado en grafos, análisis de discursos políticos, estudio de redes léxicas, análisis de la red de citas de la base de datos de la ACL (una base de datos de artículos de PLN, llamada ACL Anthology), etc. NLP Research Group (TALP Research Center, Universidad de Cataluña): este grupo de investigación cuenta entre sus integrantes con los dos organizadores de las competiciones de 2004 y 2005 del CoNLL sobre etiquetado de roles semánticos: Lluis Márquez y Xavier Carreras. Lluis Márquez estuvo presente además como participante en la edición de 2005, en la que quedó tercero con su aproximación al etiquetado de roles semánticos como tarea de etiquetado secuencial, lo que puso en evidencia a algunos trabajos presentados cuya complejidad y grado de sosticación no se correspondió con mejores resultados. Linguistica Group (Universidad de Chicago): grupo de investigación en PLN, encabezado por John Goldsmith. Su centro de atención son los métodos no supervisados para el Procesamiento de Lenguaje Natural, aunque no restringe sus investigaciones a éste ámbito. Dentro de este grupo también se encuentra Irina Matveeva, miembro del comité organizador de la segunda edición del workshop sobre modelos grácos aplicados al Procesamiento del Lenguaje Natural, TextGraphs, y autora de numerosos trabajos en éste área [31] relacionados con la aplicación de métodos basados en grafos a tareas semánticas Revistas Una parte muy importante en todo proyecto de investigación la ocupa la documentación. La búsqueda de fuentes ables de las que obtener los mejores trabajos publicados con relación al área en la que nos movemos es esencial para poder hacernos una idea precisa del estado del arte en el campo en el que vamos a encuadrar nuestra investigación. Asimismo, es importante conocer las principales revistas en las que publicar nuestro trabajo para dar a conocer la investigación que llevamos a cabo. Por ello, en nuestro grupo de investigación realizamos una tarea de revisión y actualización de las revistas más importantes en el ámbito del Procesamiento del Lenguaje Natural, para facilitar las dos tareas mencionadas. De esta forma, y mediante la utilización de la herramienta Google Notebooks, mantenemos un archivo bibliográco con datos relevantes de las principales revistas de nuestra área de investigación, compartido y actualizado por los miembros del grupo. Actualmente, la forma más generalmente aceptada de medir la importancia de una revista es mediante su índice de impacto o Journals Citations Report (JCR). Este dato es el que hemos utilizado para discriminar unas revistas de otras. Aunque también es interesante observar el número de artículos recibidos y aceptados por cada revista, lo que nos da una idea de la exigencia de dicha publicación. Valoramos también la cercanía a nuestras investigaciones de los trabajos publicados en cada revista, la existencia o no de números especiales, etc. Tras este estudio, el objetivo que nos planteamos en cuanto a revistas se reere sería publicar nuestros trabajos de investigación en alguna de las que enumeramos a continuación.

75 8.1. ENTORNO 65 Computational Linguistics Descripción: es quizá la revista más importante dentro del Procesamiento de Lenguaje Natural. Es la revista de la ACL (Association for Computational Linguistics), que es una asociación internacional para investigadores y profesionales del PLN. Además de esta publicación, la ACL también organiza diversos congresos de gran importancia que veremos en la siguiente sección. Índice de impacto: 1,8 Periodicidad: Trimestral Tiempo de respuesta: - Languages Resources and Evaluation Descripción: revista centrada en técnicas para la adquisición, creación, anotación y uso de recursos para el PLN, abarcando tanto corpus textuales como corpus para el procesamiento del habla. También acepta trabajos sobre métodos para la evaluación de dichos recursos, y también de aplicaciones y tecnologías. Índice de impacto: 0,25 Periodicidad: 4 números anuales, repartidos entre febrero, mayo y diciembre. Tiempo de respuesta: - Computer Speech and Language Descripción: esta revista publica trabajos sobre el procesamiento de lenguaje natural, tanto oral como escrito. Así, acepta trabajos sobre reconocimiento del habla, análisis de lenguaje natural, recuperación de información, tratamiento digital de señales para el procesamiento del habla, etc. Índice de impacto: 0,689 Periodicidad: 4 números al año. Tiempo de respuesta: 3 meses. Applied Articial Intelligence Descripción: trata de asuntos relacionados con la investigación y las aplicaciones de inteligencia articial. Los artículos tratan básicamente sobre los avances en usos de sistemas de IA para resolver tareas de management, industria, ingeniería, administración y educación; evaluación de sistemas y herramientas de IA existentes, haciendo hincapié en estudios comparativos y experiencias de usuario. También publican artículos orientados a las aplicaciones. Índice de impacto: 0,576 Periodicidad: 10 números al año. Tiempo de respuesta: -

76 66 CAPÍTULO 8. PROYECTO INVESTIGADOR Journal of Universal Computer Science Descripción: revista publicada por la Graz University of Technologies de Austria, con el apoyo del Know-Center, un centro de investigación y desarrollo de aplicaciones para la gestión del conocimiento. Además de las publicaciones periódicas normales, esta revista cuenta con numerosos números especiales, dedicados a temas muy diversos. Índice de impacto: 0,338 Periodicidad: Mensual Tiempo de respuesta: 8 meses Journal of Articial Intelligence Research Descripción: esta revista publica artículos relacionados con cualquier área que se enmarque dentro de la inteligencia articial, incluido por supuesto el PLN. Publican un número especial con los mejores trabajos presentados en el International Planning Competition, una competición bianual sobre planicación. Índice de impacto: 1,795 Periodicidad: Trimestral Tiempo de respuesta: un mínimo de 7-9 semanas Information Sciences Descripción: esta revista publica artículos de temas bastante variados. En general, acepta trabajos sobre procesamiento de información, inteligencia articial, aprendizaje automático, procesamiento del lenguaje natural, bioinformática, etc. También cuenta con números especiales sobre los campos anteriores. Índice de impacto: 1,003 Periodicidad: 24 números al año. Tiempo de respuesta: 10 semanas Congresos A continuación mostramos algunos de los congresos sobre el Procesamiento del Lenguaje Natural más destacados, tanto a nivel nacional como internacional. Congreso de la SEPLN: En este congreso se dan cita los distintos grupos de investigación del Procesamiento del Lenguaje Natural a nivel nacional. Está organizado por la Sociedad Española del Procesamiento del Lenguaje Natural, la cual está formada principalmente por informáticos y lingüistas. Se organiza anualmente, y se publican dos volúmenes en papel al año con los trabajos aceptados. La asistencia a este congreso es obligada para nuestro grupo de investigación, pues nos sirve para mantener el contacto con otros investigadores de nuestra área de conocimiento y tomar el pulso al rumbo que toman las investigaciones sobre Procesamiento del Lenguaje Natural en nuestro país. La edición de 2007 se celebró en Sevilla, en la E.T.S. de Ingeniería Informática, y estuvo organizada por nuestro grupo de investigación, Itálica.

77 8.1. ENTORNO 67 TAL: son congresos organizados bianualmente, cada vez en un país distinto. El último celebrado fue el FinTAL (Finlandia, 2006), en el que publicamos un artículo sobre nuestra versión supervisada del algoritmo de TextRank. El congreso se centra tanto en Procesamiento del Lenguaje Natural como en lingüística computacional. ACL: las siglas corresponden a Association for Computational Linguistics, y constituye la mayor asociación para el Procesamiento del Lenguaje Natural a nivel mundial. Comenzó siendo una asociación para profesionales e investigadores estadounidenses, hasta que a nales de los años 90 se crearon dos delegaciones regionales: la NAACL en Norte-América, y la EACL en Europa. Ambas forman parte de la ACL, si bien cada una organiza una serie de congresos y eventos distintos en cada una de las regiones. Dentro de estos eventos destacamos algunos que nos son de especial interés por ocuparse del enfoque estadístico, como son: NAACL-HLT (North American Association for Computational Linguistics - Human Language Technology): se trata de uno de los congresos más importantes sobre PLN. Lo organiza anualmente la delegación norteamericana de la ACL. Dentro de este congreso se celebran interesantes workshops, como por ejemplo: EMNLP (Empirical Methods in Natural Language Processing): se centra en trabajos que aborden tareas lingüísticas desde un punto de vista empírico, esto es, utilizando técnicas de aprendizaje automático y otras basadas en datos. CoNLL (Computational Natural Language Learning): dentro de este evento se celebra una competición consistente en abordar una tarea concreta del PLN, llamada Shared Task. TextGraphs (Graph-based Algorithms for Natural Language Processing): es uno de los workshops más interesantes para nosotros, por tratar sobre la aplicación de modelos grácos y algoritmos sobre dichos modelos al Procesamiento del Lenguaje Natural. Las primeras ediciones las han organizado Rada Mihalcea y Dragomir Radev, dos de los investigadores más inuyentes en este campo, y cuyas ideas han servido de base para iniciar nuestra investigación, como ya hemos indicado. EACL (European Chapter of the Association for Computational Linguistics): este congreso, organizado por la EACL, se celebra cada tres años (antes bianual) tomando como sede para cada edición un país de Europa. El último congreso se celebró en Trento (Italia) en 2006, y el próximo será en Atenas en Al igual que la edición norteamericana, este congreso incluye multitud de workshops centrados en diversos aspectos del PLN, entre los que cabe mencionar: Knowledge and Reasoning for Language Processing: su principal foco de interés reside en los sistemas de Pregunta/Respuesta, la recuperación de información, la representación del conocimiento, y en las técnicas de evaluación de estos sistemas. ACL-SIGSEM Workshop on Prepositions: en este workshop se presentan trabajos sobre el tratamiento de las preposiciones. En él se tratan técnicas para la traducción automática, phrasal verbs, la semántica asociada a las preposiciones, etc. ROMAND (RObust Methods in Analysis of Natural language Data): nombramos este workshop por tratar la temática de

78 68 CAPÍTULO 8. PROYECTO INVESTIGADOR la robustez, escalabilidad y portabilidad de las aplicaciones desarrolladas para el procesamiento del lenguaje natural. Aspectos quizá poco tratados en general en el área del PLN. Learning Structured Information in Natural Language Applications: este workshop acepta trabajos sobre técnicas de procesamiento del lenguaje que, en lugar de realizar un tratamiento secuencial de los datos de entrada, tratan de aprender o extraer información estructurada de los textos a procesar. De esta forma, al manejar estructuras de datos, podemos enfrentarnos a tareas más complejas, como el etiquetado de roles semánticos, la desambiguación de signicados, etc. IBERAMIA: bajo esta denominación se reúnen una serie de asociaciones iberoamericanas de investigación en Inteligencia Articial, incluyendo a grupos dedicados al Procesamiento del Lenguaje Natural. Bianualmente organiza un congreso que poco a poco se está convirtiendo en un referente para la comunidad cientíca internacional de Inteligencia Articial y en especial para la latinoamericana. En 2006 se celebró la edición décima de este congreso, que tuvo lugar en Brasil. CAEPIA: es el congreso español por excelencia en el área de la Inteligencia Articial. Está organizado por la AEPIA (Asociación Española de Inteligencia Articial), que forma parte a su vez de IBERAMIA. En la edición de 2007 en Salamanca presentamos un trabajo junto con Carlos García Vallejo, compañero del grupo de investigación Itálica, en el cual se muestra la aplicación de un algoritmo similar a TextRank a la técnica de los vecinos más cercanos Trabajo Futuro Expuesto el escenario en el que nos moveremos y el trabajo realizado hasta la fecha, sólo nos queda anticipar en la medida de lo posible los próximos pasos que daremos en nuestra investigación. Gracias al trabajo de documentación realizado, tenemos una perspectiva amplia de los problemas en los que podemos enfocar nuestro trabajo. El hecho de habernos enfrentado al desarrollo de una aplicación que apoye de forma empírica nuestra investigación también nos abre vías para profundizar en lo ya estudiado, y experimentar sobre la base de la herramienta implementada. Esperamos que el tiempo y esfuerzo invertidos en realizar un diseño exible y abierto para la aplicación STR, redunde posteriormente en una mayor facilidad a la hora de llevar a cabo futuros experimentos y ampliaciones de la herramienta. Por supuesto, el trabajo de implementación de la aplicación nos ha enseñado de forma práctica los problemas más habituales en este tipo de sistemas, y las posibles soluciones que pueden adoptarse. También nos ha permitido familiarizarnos con la utilización de diversos algoritmos de suavizado, ranking, etc, lo que ha contribuido a que la labor de documentación no haya sido simplemente la lectura de artículos, sino que también hemos implementado las ideas explicadas en ellos, teniendo un conocimiento más profundo de algunos métodos habituales en PLN. Así pues, con todo este trabajo previo, nuestros próximos pasos en esta investigación será la de hallar topologías de grafos adecuadas a las diversas tareas del PLN, así como integrar en la herramienta STR otros modelos de aprendizaje automático aparte de los utilizados hasta ahora (modelos de Markov y n-gramas). Concretamente, pretendemos integrar en STR el modelo de MEMM (Maximum Entropy Markov Models) propuesto por Andrew McCallum[32].

79 8.2. TRABAJO FUTURO 69 Este modelo consiste en una secuencia de markoviana en la que se permiten incluir características adicionales como la capitalización, la etiqueta morfosintáctica, etc. Al igual que los modelos de Markov, las MEMM denen la probabilidad condicional de la secuencia de estados, dada una secuencia de observaciones. Este cálculo se realiza gracias al framework proporcionado por los Modelos de Máxima Entropía, comentados en la sección Como ya hemos comentado, un HMM es un autómata nito, en el que se de- nen una serie de probabilidades de transición y de emisión. En un HMM tenemos una cierta probabilidad de pasar de un estado, s t 1, al estado s t (probabilidad de transición), produciendo un cierto evento observable o t (probabilidad de emisión), y así sucesivamente. En un MEMM, las funciones de transición y de emisión se sustituyen por una única función, P (s t s t 1, o t ), que nos proporciona información acerca de la probabilidad de estar en el estado s t, siendo s t 1 el estado previo, y o t la observación actual. De esta forma, como observamos en la gura 8.1, cambiamos el sentido de las dependencias, ya que en los HMM las observaciones dependían del estado correspondiente, y ahora es el estado el que depende de las observaciones. Figura 8.1: (a) Representación gráca de un HMM. (b) Representación gráca de un MEMM. El hecho de utilizar una sola función que represente las probabilidades de transición y emisión, permite modelar las transiciones entre estados mediante una serie de características sobre las observaciones (features). Para ello, nos valemos de los modelos de máxima entropía de modo que cada característica, b, que queramos incluir en el modelo debemos poder expresarla en términos de una función binaria de la siguiente forma: { 1 si ot cumple la característica b y s = s f b,s (o t, s t ) = t 0 ecoc El modelo que generemos a partir de las observaciones y las características de las mismas, deberá cumplir el principio de máxima entropía, es decir, que debemos generar un modelo lo más uniforme posible, y que sea consistente con las características observadas. Es decir, que tenga la máxima entropía posible, cumpliendo con las restricciones impuestas por las observaciones y sus características. Como vimos en el apartado 1.2.5, el modelo probabilístico que obtenemos será de la forma:

80 70 CAPÍTULO 8. PROYECTO INVESTIGADOR 1 P s (s o) = Z(o, s) exp( j λ j f j (o, s)) donde P s (s o) = P (s s 1, o), Z(o,s) es un factor de normalización para que sea una distribución de probabilidades, y λ j son los parámetros a estimar. Lo que se persigue es unir las ventajas de las HMM y los MME en un solo modelo que permita que las transiciones entre estados dependan de un conjunto de características (no necesariamente independientes) de la secuencia de observaciones. Es decir, que podemos incluir características en los modelos de Markov como información adicional al modelo, lo que permitirá tener en cuenta ciertos aspectos que en los HMM era imposible incluir. También nos hemos planteado la posibilidad de aplicar la técnica de stacking para mejorar los resultados de nuestra herramienta, ya que en investigaciones anteriores[50] hemos comprobado la validez de esta técnica en tareas de NER (Named Entities Recognition). Este método consiste en aplicar un algoritmo de aprendizaje automático a distintos modelos obtenidos a partir de los mismos datos de entrenamiento. De esta forma, los ejemplos nuevos serán clasicados tomando en cuenta las decisiones de todos los modelos. Los resultados obtenidos con el Stacking son presumiblemente mejores que los que obtendríamos con cada modelo de forma aislada. Otra vía de investigación que nos planteamos es el estudio de otros métodos de suavizado para nuestros modelos. En la sección exponemos los dos métodos de suavizado utilizados en esta primera versión de nuestra herramienta. En los experimentos hemos comprobado cómo la técnica de suavizado mediante sujos mejora los resultados de clasicación, lo que nos lleva a pensar que utilizando métodos más sosticados podremos mejorar el comportamiento de STR. En concreto estamos estudiando la implementación de técnicas basadas en Good Turing[15] y en Back-O [26]. Por último, nos hemos planteado también integrar nuestra aplicación dentro del proyecto de código abierto OpenNLP. Este proyecto pretende aglutinar diversas herramientas en Java para el procesamiento del lenguaje natural, ofreciendo un framework que sirva de infraestructura básica a los desarrolladores de aplicaciones en este área. Dentro de este proyecto existen ya diversas herramientas integradas, entre las que podemos destacar: FreeLing: del grupo de investigación TALP de la universidad de Cataluña[1]. Este paquete contiene clases para el análisis morfológico, el reconocimiento de entidades con nombre (NER), etiquetado PoS, análisis sintáctico supercial basado en tablas, análisis de dependencias, etc. Además de contar, por el momento, con diccionarios para el inglés, español, catalán, italiano y gallego. Weka: de la Universidad de Waitako[53]. Consiste en una serie de componentes con implementaciones en Java de los algoritmos más conocidos dentro del aprendizaje automático para la minería de datos. Incluye algoritmos para el pre-procesado de datos, clasicación, regresión, clustering... Mallet: es un conjunto de utilidades desarrolladas por Andrew McCallum[33]. Ofrece implementaciones de diversos métodos de clasicación, incluyendo Naive Bayes, modelos de máxima entropía, CRF's, etc. También cuenta con una serie de componentes para la evaluación de los resultados obtenidos, mediante el cálculo de la precisión, la cobertura, o la medida F.

81 8.3. PLANIFICACIÓN TEMPORAL 71 MaxEnt: se trata de un paquete Java de utilidades para utilizar modelos de máxima entropía en el PLN. Sus autores son Jason Baldridge, Tom Morton, Gann Bierner y Eric Friedman. El paquete incluye un analizador morfosintáctico que utiliza modelos de máxima entropía, y utilidades para el entrenamiento y prueba de dichos modelos. Más a corto plazo, nuestra siguiente tarea a realizar será la redacción de un artículo en el que se exponga el presente trabajo de investigación (el algoritmo desarrollado, los resultados obtenidos, y las conclusiones a las que hemos llegado) para su publicación en alguna revista con índice de impacto Planicación temporal A continuación exponemos una planicación de las actividades que conformarán nuestro proyecto investigador. Obviamente no podemos ofrecer un detalle demasiado no al tratarse de una estimación a medio-largo plazo, y debido también a la naturaleza del propio trabajo de investigación. La planicación que mostramos nos servirá de hoja de ruta en nuestra labor de investigación, si bien siempre estamos abiertos a modicaciones motivadas por eventos interesantes, avances, derivaciones de nuestra investigación, o nuevas metas que surjan durante el proceso. Figura 8.2: Planicación del Proyecto Investigador. Como se muestra en la gura 8.2, la división temporal del trabajo la hemos realizado en meses. En la misma se presentan las actividades principales que nos proponemos llevar a cabo en los próximos cuatro años, marcando los hitos de lo que esperamos nos lleve a la realización de la tesis doctoral. Podemos describir con mayor precisión el trabajo a realizar dentro del primer año de nuestro proyecto investigador, dejando denidos el resto de periodos de forma algo más vaga para

Curso de Inteligencia Artificial

Curso de Inteligencia Artificial Curso de Inteligencia Artificial Modelos Ocultos de Markov Gibran Fuentes Pineda IIMAS, UNAM Redes Bayesianas Representación gráfica de relaciones probabilísticas Relaciones causales entre variables aleatorias

Más detalles

Bases Formales de la Computación: Sesión 3. Modelos Ocultos de Markov

Bases Formales de la Computación: Sesión 3. Modelos Ocultos de Markov Bases Formales de la Computación: Sesión 3. Prof. Gloria Inés Alvarez V. Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali Periodo 2008-2 Contenido 1 Introducción

Más detalles

Maestría en Bioinformática Probabilidad y Estadística: Clase 13

Maestría en Bioinformática Probabilidad y Estadística: Clase 13 Maestría en Bioinformática Probabilidad y Estadística: Clase 13 Gustavo Guerberoff gguerber@fing.edu.uy Facultad de Ingeniería Universidad de la República Mayo de 2010 Contenidos 1 Hidden Markov Models

Más detalles

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO

Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO Técnicas de Clasificación Supervisada DRA. LETICIA FLORES PULIDO 2 Objetivo El objetivo principal de las técnicas de clasificación supervisada es obtener un modelo clasificatorio válido para permitir tratar

Más detalles

Bases Formales de la Computación: Redes de Bayes (segunda parte)

Bases Formales de la Computación: Redes de Bayes (segunda parte) Bases Formales de la Computación: Redes de Bayes (segunda parte) Departamento de Ciencias e Ingeniería de la Computación Pontificia Universidad Javeriana Cali Periodo 2008-2 Razonamiento en Redes de Bayes

Más detalles

X Y

X Y Capítulo 2 Distribuciones bivariantes Hasta ahora hemos estudiado herramientas que nos permiten describir las características de un único carácter Sin embargo, en muchos casos prácticos, es necesario estudiar

Más detalles

Algebra lineal y conjuntos convexos

Algebra lineal y conjuntos convexos Apéndice A Algebra lineal y conjuntos convexos El método simplex que se describirá en el Tema 2 es de naturaleza algebraica y consiste en calcular soluciones de sistemas de ecuaciones lineales y determinar

Más detalles

Técnicas de Minería de Datos

Técnicas de Minería de Datos Técnicas de Minería de Datos Act. Humberto Ramos S. 1 Qué es Minería de datos? El desarrollo de dispositivos tecnológicos para acumular datos a bajo costo. Acumulación o registro de gran cantidad de datos.

Más detalles

Procesos estocásticos Cadenas de Márkov

Procesos estocásticos Cadenas de Márkov Procesos estocásticos Cadenas de Márkov Curso: Investigación de Operaciones Ing. Javier Villatoro PROCESOS ESTOCASTICOS Procesos estocásticos Es un proceso o sucesión de eventos que se desarrolla en el

Más detalles

Reconocimiento de Patrones DRA. LETICIA FLORES PULIDO

Reconocimiento de Patrones DRA. LETICIA FLORES PULIDO Reconocimiento de Patrones DRA. LETICIA FLORES PULIDO 2 CONTENIDO TEMA1: INTRODUCCIÓN TEMA2: APRENDIZAJE MÁQUINA TEMA3: REDES NEURONALES MULTICAPA TEMA4: PROGRAMACIÓN EVOLUTIVA 3 TEMA 2 : APRENDIZAJE MÁQUINA

Más detalles

Reconocimiento Automático de Voz

Reconocimiento Automático de Voz Reconocimiento Automático de Voz Presentación basada en las siguientes Referencias: [1] Rabiner, L. & Juang, B-H.. Fundamentals of Speech Recognition, Prentice Hall, N.J., 1993. [2] Rabiner, L. & Juang,

Más detalles

Objetivos. 1. Variable Aleatoria y Función de Probabilidad. Tema 4: Variables aleatorias discretas Denición de Variable aleatoria

Objetivos. 1. Variable Aleatoria y Función de Probabilidad. Tema 4: Variables aleatorias discretas Denición de Variable aleatoria Tema 4: Variables aleatorias discretas Objetivos Dominar el uso de las funciones asociadas a una variable aleatoria discreta para calcular probabilidades. Conocer el signicado y saber calcular la esperanza

Más detalles

Complejidad computacional (Análisis de Algoritmos)

Complejidad computacional (Análisis de Algoritmos) Definición. Complejidad computacional (Análisis de Algoritmos) Es la rama de las ciencias de la computación que estudia, de manera teórica, la optimización de los recursos requeridos durante la ejecución

Más detalles

IN34A - Optimización

IN34A - Optimización IN34A - Optimización Complejidad Leonardo López H. lelopez@ing.uchile.cl Primavera 2008 1 / 33 Contenidos Problemas y Procedimientos de solución Problemas de optimización v/s problemas de decisión Métodos,

Más detalles

Aprendizaje Automatizado

Aprendizaje Automatizado Aprendizaje Automatizado Aprendizaje Automatizado Programas que mejoran su comportamiento con la experiencia. Dos formas de adquirir experiencia: A partir de ejemplos suministrados por un usuario (un conjunto

Más detalles

SIMULACION. Urna 1. s(x) h(x) Urna 2. s(x) Dado. Urna /6 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6 Dado 1 1/6 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6

SIMULACION. Urna 1. s(x) h(x) Urna 2. s(x) Dado. Urna /6 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6 Dado 1 1/6 2 1/6 3 1/6 4 1/6 5 1/6 6 1/6 SIMULACION x p(x) x h(x) 6 4 5 2 3 Urna /6 2 /6 3 /6 4 /6 5 /6 6 /6 Dado /6 2 /6 3 /6 4 /6 5 /6 6 /6 x p(x) x h(x) s(x) 4 5 2 3 Urna 2 0.2 2 0.2 3 0.2 4 0.2 5 0.2 6 0.0 Dado /6.2 2 /6.2 3 /6.2 4 /6.2 5

Más detalles

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms)

Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms) PLANIFICACIÓN Y GESTIÓN DE REDES Grado en Ingeniería Telemática Curso 2012-2013 Práctica 2. Algoritmos de búsqueda local (local search algorithms) y algoritmos avariciosos (greedy algorithms) Autor: Pablo

Más detalles

CONTENIDOS. 1. Procesos Estocásticos y de Markov. 2. Cadenas de Markov en Tiempo Discreto (CMTD) 3. Comportamiento de Transición de las CMTD

CONTENIDOS. 1. Procesos Estocásticos y de Markov. 2. Cadenas de Markov en Tiempo Discreto (CMTD) 3. Comportamiento de Transición de las CMTD CONTENIDOS 1. Procesos Estocásticos y de Markov 2. Cadenas de Markov en Tiempo Discreto (CMTD) 3. Comportamiento de Transición de las CMTD 4. Comportamiento Estacionario de las CMTD 1. Procesos Estocásticos

Más detalles

Teoría de probabilidades

Teoría de probabilidades Modelos Probabilistas Teoría de probabilidades Teoría de probabilidades Definiremos como probabilidad a priori (P(a)) asociada a una proposición como el grado de creencia en ella a falta de otra información

Más detalles

Etiquetado gramatical

Etiquetado gramatical Etiquetado gramatical ITALICA Universidad de Sevilla José A. Troyano Índice Introducción Etiquetado con el modelo de Markov Etiquetado con el modelo de Markov oculto Etiquetado transformacional Precisión

Más detalles

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS

Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS Capítulo 6: EVALUACIÓN Y COMPARACIÓN DE MÉTODOS En este capítulo, se realiza la evaluación y comparación de los métodos de paralelización de recurrencias descritos y propuestos en este trabajo. Los resultados

Más detalles

Una pregunta pendiente

Una pregunta pendiente Una pregunta pendiente Cómo podemos construir un generador (casi) uniforme para una relación? Recuerde el problema KS definido en la sección anterior y la relación: R KS = {((~a, b), ~x) ~a 2 N n y ~x

Más detalles

TEMA 6: INTRODUCCIÓN A UML

TEMA 6: INTRODUCCIÓN A UML TEMA 6: INTRODUCCIÓN A UML Por qué modelamos? El modelado es una parte central de todas las actividades que conducen a la producción de un software de calidad. Como tal la ingeniería software debe basarse

Más detalles

Técnicas de aprendizaje sobre series temporales

Técnicas de aprendizaje sobre series temporales Técnicas de aprendizaje sobre series temporales Contenido 1. Motivación. 2. Ejemplo del Problema. 3. Aproximaciones al problema de clasificación de series temporales. 4. Aprendizaje de reglas. 5. Boosting

Más detalles

PROBABILIDAD Y ESTADÍSTICA. Sesión 6 (A partir de tema 5.9)

PROBABILIDAD Y ESTADÍSTICA. Sesión 6 (A partir de tema 5.9) PROBABILIDAD Y ESTADÍSTICA Sesión 6 (A partir de tema 5.9) 5.9 Muestreo: 5.9.1 Introducción al muestreo 5.9.2 Tipos de muestreo 5.10 Teorema del límite central 5.11 Distribución muestral de la media 5.12

Más detalles

Universidad Fermín Toro. Cabudare Lara

Universidad Fermín Toro. Cabudare Lara Universidad Fermín Toro Cabudare Lara Lenguaje Natural y Lenguaje Artificial Autor: Jesús Colmenarez C.I.13.032.160 Sec. SAIA Introducción a la Computación Lenguaje Natural El lenguaje natural es el lenguaje

Más detalles

Introducción a la programación: Contenido. Introducción

Introducción a la programación: Contenido. Introducción Introducción a la programación: Contenido Introducción a la programación:... 1 Introducción... 1 1. Procesamiento automatizado de información... 1 2. Concepto de algoritmo.... 2 3. Lenguajes de programación....

Más detalles

MASTER DE INGENIERÍA BIOMÉDICA. Métodos de ayuda al diagnóstico clínico. Tema 6: Árboles de decisión.

MASTER DE INGENIERÍA BIOMÉDICA. Métodos de ayuda al diagnóstico clínico. Tema 6: Árboles de decisión. MASTER DE INGENIERÍA BIOMÉDICA. Métodos de ayuda al diagnóstico clínico. Tema 6: Árboles de decisión. 1 Objetivos del tema Conocer en qué consiste un árbol de decisión. Aprender los problemas que pueden

Más detalles

Figura 1: Propiedades de textura: (a) Suavidad, (b) Rugosidad y (c) Regularidad

Figura 1: Propiedades de textura: (a) Suavidad, (b) Rugosidad y (c) Regularidad 3 TEXTURA 3.1 CONCEPTO DE LA TEXTURA La textura es una característica importante utilizada en segmentación, identificación de objetos o regiones de interés en una imagen y obtención de forma. El uso de

Más detalles

PROBABILIDAD Y ESTADÍSTICA

PROBABILIDAD Y ESTADÍSTICA PROBABILIDAD Y ESTADÍSTICA Pablo Torres Facultad de Ciencias Exactas, Ingeniera y Agrimensura - Universidad Nacional de Rosario Unidad 2: Probabilidad INTRODUCCIÓN Al lanzar un dado muchas veces veremos

Más detalles

Unidad IV. Una variable aleatoria X es continua si su función de distribución es una función continua.

Unidad IV. Una variable aleatoria X es continua si su función de distribución es una función continua. Unidad IV Distribuciones de Probabilidad Continuas 4.1. Definición de variable aleatoria continúa. Una variable aleatoria X es continua si su función de distribución es una función continua. En la práctica,

Más detalles

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1

Espacios Vectoriales Asturias: Red de Universidades Virtuales Iberoamericanas 1 Espacios Vectoriales 201 6Asturias: Red de Universidades Virtuales Iberoamericanas 1 Índice 1 Espacios Vectoriales... 4 1.1 Definición de espacio vectorial... 4 1.2 Definición de subespacio vectorial...

Más detalles

Máquinas de estado finito y expresiones regulares

Máquinas de estado finito y expresiones regulares Capítulo 3 Máquinas de estado finito y expresiones regulares En este tema definiremos y estudiaremos máquinas de estado finito, llamadas también máquinas de estado finito secuenciales o autómatas finitos.

Más detalles

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute.

Es un conjunto de palabras y símbolos que permiten al usuario generar comandos e instrucciones para que la computadora los ejecute. Los problemas que se plantean en la vida diaria suelen ser resueltos mediante el uso de la capacidad intelectual y la habilidad manual del ser humano. La utilización de la computadora en la resolución

Más detalles

Capítulo 5. Construcción de una Red Neuronal Artificial Asesora

Capítulo 5. Construcción de una Red Neuronal Artificial Asesora Capítulo 5. Construcción de una Red Neuronal Artificial Asesora 53 Capítulo 5. Construcción de una Red Neuronal Artificial Asesora 5.1 Construcción de la red A lo largo de las investigaciones realizadas

Más detalles

Tareas de la minería de datos: clasificación. CI-2352 Intr. a la minería de datos Prof. Braulio José Solano Rojas ECCI, UCR

Tareas de la minería de datos: clasificación. CI-2352 Intr. a la minería de datos Prof. Braulio José Solano Rojas ECCI, UCR Tareas de la minería de datos: clasificación CI-2352 Intr. a la minería de datos Prof. Braulio José Solano Rojas ECCI, UCR Tareas de la minería de datos: clasificación Clasificación (discriminación) Empareja

Más detalles

Redes de Petri Estocásticas

Redes de Petri Estocásticas Redes de Petri Estocásticas Carlos Aguirre Universidad Autonoma de Madrid, Dpto Ingenieria Informatica Redes Estocásticas Definición: Una red de Petri Estocástica es una red de Petri con transiciones con

Más detalles

Text Mining. Laura Alonso i Alemany. Facultad de Matemática, Astronomía y Física UNC, Córdoba (Argentina)

Text Mining. Laura Alonso i Alemany. Facultad de Matemática, Astronomía y Física UNC, Córdoba (Argentina) Text Mining Facultad de Matemática, Astronomía y Física UNC, Córdoba (Argentina) http://www.cs.famaf.unc.edu.ar/~laura SADIO 9 de Abril de 2010 contenidos unidades mínimas de significado contenidos unidades

Más detalles

Tema 2 Primeros Modelos Computacionales

Tema 2 Primeros Modelos Computacionales Universidad Carlos III de Madrid OpenCourseWare Redes de Neuronas Artificiales Inés M. Galván - José Mª Valls Tema 2 Primeros Modelos Computacionales 1 Primeros Modelos Computacionales Perceptron simple

Más detalles

DESARROLLO DE LAS UNIDADES DIDÁCTICAS MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II

DESARROLLO DE LAS UNIDADES DIDÁCTICAS MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II DESARROLLO DE LAS UNIDADES DIDÁCTICAS MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II Según REAL DECRETO 1467/2007, de 2 de noviembre, por el que se establece la estructura del bachillerato y se fijan

Más detalles

Cálculo científico y técnico con HP49g/49g+/48gII/50g Módulo 3: Aplicaciones Tema 3.5 Cadenas de Markov

Cálculo científico y técnico con HP49g/49g+/48gII/50g Módulo 3: Aplicaciones Tema 3.5 Cadenas de Markov Cálculo científico y técnico con HP49g/49g+/48gII/5g Módulo 3: Aplicaciones Tema 3.5 Cadenas de Markov Francisco Palacios Escuela Politécnica Superior de Ingeniería de Manresa Universidad Politécnica de

Más detalles

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos:

1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila 0/1 para los siguientes casos: PROGRAMACIÓN DINÁMICA RELACIÓN DE EJERCICIOS Y PROBLEMAS 1. Diseñe algoritmos que permitan resolver eficientemente el problema de la mochila /1 para los siguientes casos: a. Mochila de capacidad W=15:

Más detalles

Tema 4. Probabilidad Condicionada

Tema 4. Probabilidad Condicionada Tema 4. Probabilidad Condicionada Presentación y Objetivos. En este tema se dan reglas para actualizar una probabilidad determinada en situaciones en las que se dispone de información adicional. Para ello

Más detalles

Introducción. Autoencoders. RBMs. Redes de Convolución. Deep Learning. Eduardo Morales INAOE (INAOE) 1 / 60

Introducción. Autoencoders. RBMs. Redes de Convolución. Deep Learning. Eduardo Morales INAOE (INAOE) 1 / 60 Deep Learning Eduardo Morales INAOE (INAOE) 1 / 60 Contenido 1 2 3 4 (INAOE) 2 / 60 Deep Learning El poder tener una computadora que modele el mundo lo suficientemente bien como para exhibir inteligencia

Más detalles

Teoría de grafos y optimización en redes

Teoría de grafos y optimización en redes Teoría de grafos y optimización en redes José María Ferrer Caja Universidad Pontificia Comillas Definiciones básicas Grafo: Conjunto de nodos (o vértices) unidos por aristas G = (V,E) Ejemplo V = {,,,,

Más detalles

Análisis de Correspondencias Simple

Análisis de Correspondencias Simple 1 Capítulo 4 Análisis de Correspondencias Simple 41 INTRODUCCIÓN El Análisis de Correspondencias Simple permite describir las relaciones entre dos variables categóricas dispuestas en una tabla de contingencia

Más detalles

ESTADISTICA Y PROBABILIDAD ESTADÍSTICA

ESTADISTICA Y PROBABILIDAD ESTADÍSTICA ESTADÍSTICA La estadística trata del recuento, ordenación y clasificación de los datos obtenidos por las observaciones, para poder hacer comprobaciones y sacar conclusiones. Un estudio estadístico consta

Más detalles

Object Recognition as Machine Translation: Learning a Lexicon for a Fixed Image Vocabulary

Object Recognition as Machine Translation: Learning a Lexicon for a Fixed Image Vocabulary Object Recognition as Machine Translation: Learning a Lexicon for a Fixed Image Vocabulary P. Duygulu, K. Barnard, J.F.G. de Freitas, and D.A. Forsyth Dr. Enrique Sucar 1 Victor Hugo Arroyo Dominguez 1

Más detalles

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo

Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Curso: Métodos de Monte Carlo Unidad 3, Sesión 7: Problemas de conteo Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay

Más detalles

Redes de Neuronas de Base Radial

Redes de Neuronas de Base Radial Redes de Neuronas de Base Radial 1 Introducción Redes multicapa con conexiones hacia delante Única capa oculta Las neuronas ocultas poseen carácter local Cada neurona oculta se activa en una región distinta

Más detalles

TEMA 6. SVM Support Vector Machines (Máquinas de Vectores Soporte)

TEMA 6. SVM Support Vector Machines (Máquinas de Vectores Soporte) TEMA 6. SVM Support Vector Machines (Máquinas de Vectores Soporte) Francisco José Ribadas Pena Modelos de Razonamiento y Aprendizaje 5 Informática ribadas@uvigo.es 17 de abril de 2012 FJRP ccia [Modelos

Más detalles

Tema: Programación Dinámica.

Tema: Programación Dinámica. Programación IV. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación IV Tema: Programación Dinámica. Objetivos Específicos Definir el concepto de programación dinámica. Interpretar

Más detalles

Vectores Aleatorios. Definición 1.1. Diremos que el par (X,Y) es un vector aleatorio si X e Y representan variables aleatorias

Vectores Aleatorios. Definición 1.1. Diremos que el par (X,Y) es un vector aleatorio si X e Y representan variables aleatorias Universidad de Chile Facultad De Ciencias Físicas y Matemáticas MA3403 - Probabilidades y Estadística Prof. Auxiliar: Alberto Vera Azócar. albvera@ing.uchile.cl Vectores Aleatorios 1. Vectores Aleatorios

Más detalles

Objetivos. 1. Variable Aleatoria y Función de Distribución. PROBABILIDAD Tema 2.2: Variables aleatorias discretas Denición de Variable aleatoria

Objetivos. 1. Variable Aleatoria y Función de Distribución. PROBABILIDAD Tema 2.2: Variables aleatorias discretas Denición de Variable aleatoria PROBABILIDAD Tema 2.2: Variables aleatorias discretas Objetivos Dominar el uso de las funciones asociadas a una variable aleatoria discreta para calcular probabilidades. Conocer el signicado y saber calcular

Más detalles

Modelos Gráficos Probabilistas L. Enrique Sucar INAOE. Sesión 10: Redes Bayesianas Inferencia. 1era parte. [Neapolitan 90]

Modelos Gráficos Probabilistas L. Enrique Sucar INAOE. Sesión 10: Redes Bayesianas Inferencia. 1era parte. [Neapolitan 90] Modelos Gráficos Probabilistas L. Enrique Sucar INAOE Sesión 10: Redes Bayesianas Inferencia 1era parte [Neapolitan 90] Inferencia en Redes Bayesianas Introducción Clases de algoritmos 1era Parte Propagación

Más detalles

Métodos de Inteligencia Artificial

Métodos de Inteligencia Artificial Métodos de Inteligencia Artificial L. Enrique Sucar (INAOE) esucar@inaoep.mx ccc.inaoep.mx/esucar Tecnologías de Información UPAEP Agentes que Aprenden: Clasificador Bayesiano Clasificación Clasificador

Más detalles

PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO )

PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO ) PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO 2015-2016) CRITERIOS E INDICADORES Se detallan a continuación los criterios de evaluación junto con sus indicadores de contenidos asociados. Criterio 1: Identificar

Más detalles

Tema 7: Problemas clásicos de Programación Lineal

Tema 7: Problemas clásicos de Programación Lineal Tema 7: Problemas clásicos de Programación Lineal 1.- Características generales de un problema de transporte y asignación Surgen con frecuencia en diferentes contextos de la vida real. Requieren un número

Más detalles

PROBABILIDAD. Unidad I Ordenamiento de la Información

PROBABILIDAD. Unidad I Ordenamiento de la Información 1 PROBABILIDAD Unidad I Ordenamiento de la Información 2 Captura de datos muestrales Conceptos básicos de la estadística 3 Población (o universo): Totalidad de elementos o cosas bajo consideración Muestra:

Más detalles

1. Introducción. 1.1 Motivación

1. Introducción. 1.1 Motivación 1. Introducción 1.1 Motivación El Análisis de Componentes Independientes (ICA) y la Factorización No Negativa de Matrices (NMF) representan técnicas de procesamiento de información que permiten extraer

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1.

1. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación Problema de las 8 reinas Problema de la mochila 0/1. Backtracking. Método general. 2. Análisis de tiempos de ejecución. 3. Ejemplos de aplicación. 3.. Problema de las 8 reinas. 3.2. Problema de la mochila 0/. Método general El backtracking (método de retroceso

Más detalles

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III

Complejidad - Problemas NP-Completos. Algoritmos y Estructuras de Datos III Complejidad - Problemas NP-Completos Algoritmos y Estructuras de Datos III Teoría de Complejidad Un algoritmo eficiente es un algoritmo de complejidad polinomial. Un problema está bien resuelto si se conocen

Más detalles

Técnicas de inteligencia artificial. Aprendizaje: Perceptrón multi-capa

Técnicas de inteligencia artificial. Aprendizaje: Perceptrón multi-capa Técnicas de inteligencia artificial Aprendizaje: Perceptrón multi-capa Índice Regla delta Modelo computacional Neuronas e hiperplanos Entrenamiento como ajuste supervisado No-separabilidad lineal Backpropagation

Más detalles

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores

Análisis de Datos. Combinación de clasificadores. Profesor: Dr. Wilfrido Gómez Flores Análisis de Datos Combinación de clasificadores Profesor: Dr. Wilfrido Gómez Flores 1 Introducción Diversos algoritmos de clasificación están limitados a resolver problemas binarios, es decir, con dos

Más detalles

Capítulo 2. Métodos estadísticos Simulación estadística. Simulación univariante

Capítulo 2. Métodos estadísticos Simulación estadística. Simulación univariante Capítulo 2 Métodos estadísticos 21 Simulación estadística La simulación estadística consiste en generar realizaciones de variables aleatorias que siguen unas distribuciones concretas Si esas variables

Más detalles

Esquemas de análisis sintáctico para CFG

Esquemas de análisis sintáctico para CFG Apéndice A Esquemas de análisis sintáctico Los algoritmos de análisis sintáctico de esta memoria se describen utilizando esquemas de análisis sintáctico, una estructura para realizar descripciones de alto

Más detalles

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR

TEMA 1. PROGRAMACIÓN DE UN COMPUTADOR Tema 1. Programación de un computador TEMA 1. CIÓN DE UN COMPUTADOR 1. CONCEPTO DE 2. LENGUAJES DE CIÓN 2.1. LENGUAJE MÁQUINA 2.2. LENGUAJE ENSAMBLADOR 2.3. LENGUAJE DE ALTO NIVEL 3. ALGORITMOS. REPRESENTACIÓN

Más detalles

Conceptos básicos estadísticos

Conceptos básicos estadísticos Conceptos básicos estadísticos Población Población, en estadística, también llamada universo o colectivo, es el conjunto de elementos de referencia sobre el que se realizan las observaciones. El concepto

Más detalles

Algoritmos genéticos

Algoritmos genéticos Algoritmos genéticos Introducción 2 Esquema básico 3 El problema de la mochila 7 Asignación de recursos 0 El problema del viajante 3 Variantes del esquema básico 5 Por qué funciona? 9 Observaciones finales

Más detalles

Primera aproximación al aprendizaje automático.

Primera aproximación al aprendizaje automático. APRENDIZAJE Introducción al aprendizaje algorítmico José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Aprender: Tomar algo en la memoria [...] Adquirir

Más detalles

Procesamiento de voz - Reconocimiento de voz II

Procesamiento de voz - Reconocimiento de voz II Procesamiento de voz - Reconocimiento de voz II Marc S. Reßl Roxana Saint-Nom 2009 Ingeniería Electrónica Instituto Tecnológico de Buenos Aires Reconocimiento de voz Las técnicas que vimos hasta ahora

Más detalles

Ms. C. Marco Vinicio Rodríguez

Ms. C. Marco Vinicio Rodríguez Ms. C. Marco Vinicio Rodríguez mvrodriguezl@yahoo.com http://mvrurural.wordpress.com/ Uno de los objetivos de la estadística es saber acerca del comportamiento de parámetros poblacionales tales como:

Más detalles

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos.

Grafos. Suponiendo que e = [u, v]. Entonces los nodos u y v se llaman extremos de e y u y v se dice que son nodos adyacentes o vecinos. Grafos Los grafos son estructuras que constan de vértices o nodos y de aristas o arcos que conectan los vértices entre sí. Un grafo G consiste en dos cosas: 1. Un conjunto V de elementos llamados nodos

Más detalles

Cristian Blanco

Cristian Blanco UNIDAD DIDÁCTICA 8. ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS. DIAGRAMAS DE COMPORTAMIENTO En el siguiente enlace tienes una descripción y algunos ejemplos de todos los diagramas UML.: http://jms32.eresmas.net/tacticos/uml/umlindex.html

Más detalles

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos Contenidos mínimos 3º ESO. 1. Contenidos. Bloque I: Aritmética y álgebra. 1. Utilizar las reglas de jerarquía de paréntesis y operaciones, para efectuar cálculos con números racionales, expresados en forma

Más detalles

Guía de Ejercicios Aprendizaje de Máquinas Inteligencia Articial (CC52A)

Guía de Ejercicios Aprendizaje de Máquinas Inteligencia Articial (CC52A) Guía de Ejercicios Aprendizaje de Máquinas Inteligencia Articial (CC52A) 6 de noviembre de 2007 1. Arboles de Decision 1. Investigue las ventajas y desventajas de los árboles de decisión versus los siguientes

Más detalles

Uso de cadenas de Markov para la desambiguación morfológica y su aplicación al castellano

Uso de cadenas de Markov para la desambiguación morfológica y su aplicación al castellano Uso de cadenas de Markov para la desambiguación morfológica y su aplicación al castellano JOSÉ LUIS TRIVIÑO RODRIGUEZ RAFAEL MORALES BUENO FRANCISCO TRIGUERO RUÍZ JOSÉ LUIS PÉREZ DE LA CRUZ MOLINA Universidad

Más detalles

3. ESTRUCTURA DE UN CONVERSOR TEXTO-VOZ

3. ESTRUCTURA DE UN CONVERSOR TEXTO-VOZ Capítulo 3. Estructura de un conversor texto-voz Pagina 27 3. ESTRUCTURA DE UN CONVERSOR TEXTO-VOZ 3.1 INTRODUCCIÓN La conversión automática de texto a voz requiere la sucesión de una serie de procesos

Más detalles

Teoría de la decisión

Teoría de la decisión 1.- Un problema estadístico típico es reflejar la relación entre dos variables, a partir de una serie de Observaciones: Por ejemplo: * peso adulto altura / peso adulto k*altura * relación de la circunferencia

Más detalles

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades:

un conjunto cuyos elementos denominaremos vectores y denotaremos por es un espacio vectorial si verifica las siguientes propiedades: CAPÍTULO 2: ESPACIOS VECTORIALES 2.1- Definición y propiedades. 2.1.1-Definición: espacio vectorial. Sea un cuerpo conmutativo a cuyos elementos denominaremos escalares o números. No es necesario preocuparse

Más detalles

Curso: Métodos de Monte Carlo Unidad 4, Sesión 11: Sorteo de variables aleatorias con distribución arbitraria

Curso: Métodos de Monte Carlo Unidad 4, Sesión 11: Sorteo de variables aleatorias con distribución arbitraria Curso: Métodos de Monte Carlo Unidad 4, Sesión 11: Sorteo de variables aleatorias con distribución arbitraria Departamento de Investigación Operativa Instituto de Computación, Facultad de Ingeniería Universidad

Más detalles

INTERVALOS Y SEMIRRECTAS.

INTERVALOS Y SEMIRRECTAS. el blog de mate de aida CSI: Inecuaciones pág 1 INTERVALOS Y SEMIRRECTAS La ordenación de números permite definir algunos conjuntos de números que tienen una representación geométrica en la recta real

Más detalles

Simulación computacional de cadenas de Markov

Simulación computacional de cadenas de Markov Simulación computacional de cadenas de Markov Presentación basada en el capítulo 3 de Finite Markov Chains and Algorithmic Applications (Häggström, 2002) Sebastián Castro Seminario de Probabilidad y Estadística

Más detalles

Ciclos y periodos de la regla 169

Ciclos y periodos de la regla 169 Mario Martínez Molina Centro de Investigación en Computación Instituto Politécnico Nacional mmartinezb8@sagitario.cic.ipn.mx 25 de agosto de 2. Preliminares Un autómata celular está definido por la 4 -

Más detalles

UN ESTUDIO PRELIMINAR SOBRE CONVEXIDAD

UN ESTUDIO PRELIMINAR SOBRE CONVEXIDAD UN ESTUDIO PRELIMINAR SOBRE CONVEXIDAD González, Mirta Susana Profesora Titular Cálculo II Facultad de Ciencias Económicas, UNCuyo Introducción: En diversas áreas de la matemática aplicada un dilema frecuente

Más detalles

CRITERIOS DE EVALUACIÓN DEPARTAMENTO DE MATEMÁTICAS

CRITERIOS DE EVALUACIÓN DEPARTAMENTO DE MATEMÁTICAS 1º ESO CRITERIOS DE EVALUACIÓN DEPARTAMENTO DE MATEMÁTICAS 1. Utilizar numeros naturales, enteros, fracciones y decimales sencillos, sus operaciones y propiedades, para recoger, transformar e intercambiar

Más detalles

ORIENTACIONES PARA LA MATERIA DE MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II. EBAU 2018

ORIENTACIONES PARA LA MATERIA DE MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II. EBAU 2018 ORIENTACIONES PARA LA MATERIA DE MATEMÁTICAS APLICADAS A LAS CIENCIAS SOCIALES II. EBAU 2018 Criterios de evaluación Criterios específicos NÚMEROS Y ÁLGEBRA Matrices 1. Conocer el concepto de matriz y

Más detalles

Tratamiento de Señales Laboratorio 1 (2h) Cadenas de Markov

Tratamiento de Señales Laboratorio 1 (2h) Cadenas de Markov Tratamiento de Señales Laboratorio 1 (2h) Cadenas de Markov Curso 2011/2012 Materiales: (a) Ordenadores equipados con Matlab Objetivos: (a) Estudiar las cadenas de Markov como una familia de secuencias

Más detalles

RÚBRICAS POR ÁREA. Matemáticas Aplicadas a las Cien. Soc.II 2014/2015

RÚBRICAS POR ÁREA. Matemáticas Aplicadas a las Cien. Soc.II 2014/2015 Criterio [BAII02C01]: Utilizar el lenguaje matricial como instrumento para organizar y codificar la información proveniente de situaciones con datos estructurados en forma de tablas o grafos, y aplicar

Más detalles

TECNICAS DE PROCESADO Y REPRESENTACION DE LA SEÑAL DE VOZ PARA EL RECONOCIMIENTO DEL HABLA EN AMBIENTES RUIDOSOS

TECNICAS DE PROCESADO Y REPRESENTACION DE LA SEÑAL DE VOZ PARA EL RECONOCIMIENTO DEL HABLA EN AMBIENTES RUIDOSOS UNIVERSIDAD POLITECNICA DE CATALUÑA Departamento de Teoria de la señal y comunicaciones TECNICAS DE PROCESADO Y REPRESENTACION DE LA SEÑAL DE VOZ PARA EL RECONOCIMIENTO DEL HABLA EN AMBIENTES RUIDOSOS

Más detalles

Modelos del Lenguaje. Qué es un ML? Modelos basados en N-gramas Modelos basados en Gramáticas Propuesta de T.D

Modelos del Lenguaje. Qué es un ML? Modelos basados en N-gramas Modelos basados en Gramáticas Propuesta de T.D Modelos del Lenguaje Qué es un ML? Modelos basados en N-gramas Modelos basados en Gramáticas Propuesta de T.D Modelos De Lenguaje Qué es un modelo de lenguaje? Mecanismo para definir la estructura del

Más detalles

CAPITULO 8 MUESTRAS ALEATORIAS Y NUMEROS ALEATORIOS

CAPITULO 8 MUESTRAS ALEATORIAS Y NUMEROS ALEATORIOS Teoría elemental de muestreo CAPITULO 8 TEORIA DE MUESTREO La teoría de muestreo es el estudio de las relaciones existentes entre una población y las muestras extraídas de ella. Es de gran utilidad en

Más detalles

Inteligencia en Redes de Comunicaciones - 06 Aprendizaje

Inteligencia en Redes de Comunicaciones - 06 Aprendizaje El objetivo de este tema es realizar una introducción a los conceptos, fundamentos y técnicas básicas de aprendizaje computacional. En primer lugar se formalizará el concepto de aprendizaje y se describirán

Más detalles

Resolución de sistemas de ecuaciones lineales

Resolución de sistemas de ecuaciones lineales Tema 2 Resolución de sistemas de ecuaciones lineales 21 Métodos directos de resolución de sistemas de ecuaciones lineales 211 Resolución de sistemas triangulares Definición 211 Una matriz A se dice triangular

Más detalles

J. Vilares El Modelo Probabilístico: Características y Modelos Derivados p. 1

J. Vilares El Modelo Probabilístico: Características y Modelos Derivados p. 1 El Modelo Probabilístico: Características y Modelos Derivados Jesús Vilares Grupo de Lengua y Sociedad de la Información (LYS) Universidade da Coruña jvilares@udc.es J. Vilares El Modelo Probabilístico:

Más detalles

Identificación mediante el método de los mínimos cuadrados

Identificación mediante el método de los mínimos cuadrados Ingeniería de Control Identificación mediante el método de los mínimos cuadrados Daniel Rodríguez Ramírez Teodoro Alamo Cantarero Contextualización del tema Conocimientos relevantes aprendidos previamente:

Más detalles

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional

Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Curso: Teoría de la Computación. Unidad 2, Sesión 7: Complejidad computacional Instituto de Computación, Facultad de Ingeniería Universidad de la República, Montevideo, Uruguay dictado semestre 2-2009

Más detalles

Otras distribuciones multivariantes

Otras distribuciones multivariantes Trabajo A Trabajos Curso -3 Otras distribuciones multivariantes Clase esférica de distribuciones en R p Definición. Dado un vector aleatorio X = X,..., X p t, se dice que se distribuye en la clase esférica

Más detalles

Introducción a Minería de Texto. Fabián Latorre

Introducción a Minería de Texto. Fabián Latorre Introducción a Minería de Texto Fabián Latorre fabian.latorre@quantil.com.co Contenido Qué es la minería de texto? Por qué es relevante? Por qué la estudiamos? Aplicaciones La complejidad del texto no

Más detalles