Los CRF, MEMM son modelos utilizados tradicionalmente para el etiquetado de secuencias, es decir, la entrada es una secuencia de símbolos (palabras), x [matemática] = (x_1, \ ldots, x_n) [/ matemática] con una secuencia de etiquetas correspondientes, [matemática] y = (y_1, \ ldots, y_n) [/ math]. Las tareas de modelado de secuencia incluyen tareas como etiquetado de parte del discurso, fragmentación, reconocimiento de entidades con nombre.
Estos son modelos discriminativos en oposición a los modelos generativos como HMM.
- ¿Qué es la traducción automática estadística?
- Cómo calcular la similitud de coseno entre tweets
- ¿Cómo debo entender el marco experto en aprendizaje en línea?
- ¿Aprendizaje automático en una caja negra / prueba de conocimiento cero?
- ¿Qué tan lejos estamos de usar el reconocimiento de voz como interfaz de usuario en un teléfono para cerca del 100% de todas las funciones (sin entradas de teclado o deslizamiento)?
Las figuras anteriores ilustran los supuestos de independencia condicional realizados en cada uno de los modelos si está familiarizado con los modelos gráficos. Las ecuaciones correspondientes a cada uno de estos modelos: HMM, MEMM y CRF se dan a continuación.
En la figura anterior, las entradas se denotan por [math] o = (o_1, \ ldots, o_n) [/ math] (o y x parecen haberse usado indistintamente) y las etiquetas se denotan por [math] s = (s_1 , \ ldots, s_n) [/ math]. Aquí, [math] g_k (s_t, x_t) [/ math] denota la función de función k [math] ^ {th} [/ math] que se parecería a [math] g_1 (s_t, x_t) = \ {\ textrm {word} x_t \ textrm {= Chicago y etiqueta} s_t \ textrm {= B-Location} \} [/ math] o [math] g_2 (s_t, x_t) = \ {\ textrm {word} x_t \ textrm {is en mayúscula y etiqueta} s_t \ textrm {= B-Person} \} [/ math]. [math] f_j (s_ {t-1}, s_t) [/ math] es una función característica entre etiquetas [math] f_1 (s_ {t-1}, s_t) = \ {\ textrm {label} s_ {t- 1} \ textrm {= B-Person y etiqueta} s_t \ textrm {= I-Person} \} [/ math] (B-Person, I-Person denota la posición inicial e intermedia de una persona, respectivamente). Principio: esquema de etiquetas de Wikipedia para más información).
[math] \ lambda_j, \ mu_k [/ math] denota los pesos correspondientes asociados con las características discutidas anteriormente. La diferencia entre MEMM y CRF es que en MEMM la normalización ocurre en cada paso de tiempo / en cada palabra, mientras que la normalización CRF ocurre para toda la secuencia.
El problema con MEMM es que, dado que la normalización ocurre en cada paso de tiempo, termina tomando decisiones en cada paso de forma independiente, lo que lleva a este problema llamado sesgo de etiqueta [1]. El CRF supera este problema tomando el puntaje de toda la secuencia antes de normalizar para convertirlo en una distribución de probabilidad.
La inferencia se realiza mediante el algoritmo de Viterbi en ambos casos. [2].
Entrenar MEMM es bastante fácil. Simplemente entrena una regresión logística de varias clases para una palabra dada a la etiqueta. Use este clasificador en cada paso de palabra / tiempo para predecir la secuencia completa.
El entrenamiento de CRF es un poco complicado. El objetivo generalmente utilizado es maximizar la probabilidad logarítmica de la secuencia más probable [3].
Al llegar a los RNN, pueden considerarse simplemente como extractores de funciones en aras de esta respuesta. Esencialmente, las funciones de función f y g discutidas anteriormente se reemplazan con el estado oculto de un LSTM / LSTM bidireccional y el resto de la discusión se aplica como es. Consulte este documento sobre los mismos [1508.01991] Modelos LSTM-CRF bidireccionales para etiquetado de secuencia.
La ventaja obvia con el uso del RNN es la parte de extracción automática de características. Si bien MEMM y CRF son modelos log-lineales que los hacen más fáciles de entrenar, LSTM-CRF es una red neuronal recurrente compleja que aumenta la complejidad computacional.
Crédito de imágenes: todas las imágenes de la publicación se toman de HMM vs MEMM y MEMM vs CRF.
Notas al pie
[1] Modelo de Markov de máxima entropía – Wikipedia
[2] Algoritmo de Viterbi – Wikipedia
[3] https://people.cs.umass.edu/~mcc…