La predicción estructurada o el aprendizaje estructurado (de salida) es un término general para las técnicas de aprendizaje automático supervisado que implican la predicción de objetos estructurados, en lugar de valores reales o discretos escalares . [1]
De manera similar a las técnicas de aprendizaje supervisado que se utilizan habitualmente, los modelos de predicción estructurados suelen entrenarse mediante datos observados en los que se utiliza el valor de predicción real para ajustar los parámetros del modelo. Debido a la complejidad del modelo y a las interrelaciones de las variables predichas, el proceso de predicción mediante un modelo entrenado y el propio entrenamiento suelen ser computacionalmente inviables y se utilizan métodos de inferencia y aprendizaje aproximados.
Por ejemplo, el problema de traducir una oración en lenguaje natural a una representación sintáctica como un árbol de análisis sintáctico puede verse como un problema de predicción estructurada [2] en el que el dominio de salida estructurada es el conjunto de todos los árboles de análisis sintáctico posibles. La predicción estructurada también se utiliza en una amplia variedad de dominios de aplicación, incluidos la bioinformática , el procesamiento del lenguaje natural , el reconocimiento de voz y la visión artificial .
El etiquetado de secuencias es una clase de problemas que prevalecen en el procesamiento del lenguaje natural , donde los datos de entrada suelen ser secuencias (por ejemplo, oraciones de texto). El problema del etiquetado de secuencias aparece en varias formas, por ejemplo, el etiquetado de partes del discurso y el reconocimiento de entidades con nombre . En el etiquetado POS, por ejemplo, cada palabra de una secuencia debe recibir una "etiqueta" (etiqueta de clase) que exprese su "tipo" de palabra:
El principal desafío de este problema es resolver la ambigüedad : la palabra "sentence" también puede ser un verbo en inglés, y también "tagged".
Si bien este problema se puede resolver simplemente realizando una clasificación de tokens individuales, ese enfoque no tiene en cuenta el hecho empírico de que las etiquetas no ocurren de forma independiente; en cambio, cada etiqueta muestra una fuerte dependencia condicional de la etiqueta de la palabra anterior. Este hecho se puede aprovechar en un modelo de secuencia como un modelo Markov oculto o un campo aleatorio condicional [2] que predice la secuencia de etiquetas completa para una oración, en lugar de solo etiquetas individuales, por medio del algoritmo de Viterbi .
Los modelos gráficos probabilísticos forman una gran clase de modelos de predicción estructurados. En particular, las redes bayesianas y los campos aleatorios son populares. Otros algoritmos y modelos para la predicción estructurada incluyen la programación lógica inductiva , el razonamiento basado en casos , las SVM estructuradas , las redes lógicas de Markov , la lógica blanda probabilística y los modelos condicionales restringidos . Técnicas principales:
Una de las formas más sencillas de entender los algoritmos de predicción estructurada general es el perceptrón estructurado de Collins . [3] Este algoritmo combina el algoritmo del perceptrón para aprender clasificadores lineales con un algoritmo de inferencia (clásicamente el algoritmo de Viterbi cuando se utiliza en datos de secuencia) y se puede describir de forma abstracta de la siguiente manera. Primero defina una "función de característica conjunta" Φ( x , y ) que mapee una muestra de entrenamiento x y una predicción candidata y a un vector de longitud n ( x e y pueden tener cualquier estructura; n depende del problema, pero debe ser fijo para cada modelo). Sea GEN una función que genera predicciones candidatas. Entonces:
En la práctica, para encontrar el argmax se utilizará un algoritmo como Viterbi o un algoritmo como max-sum , en lugar de una búsqueda exhaustiva a través de un conjunto exponencialmente grande de candidatos.
La idea del aprendizaje es similar al perceptrón multiclase .