¿Cómo se pueden usar los modelos ocultos de Markov para reconocer la escritura cursiva?

Esto es bastante similar al problema de reconocimiento de voz. Como ejemplo, supongamos que modela la palabra “hallo” utilizando HMM para “h”, “a”, “l” y “o”. Para cada HMM necesitamos estimar los parámetros para las funciones de densidad de emisión [matemática] p (x | s_ {k, i}) [/ matemática] para cada letra [matemática] k [/ matemática] y cada estado [matemática] i [/mates]. Lo primero que debe averiguar es cuáles son los datos [matemática] x [/ matemática]. Sugeriría en este caso que queremos modelar cada palabra como una serie temporal de vectores de izquierda a derecha y que estos vectores representan segmentos de la palabra. Queremos elegir un modelo para [matemáticas] p (x | s_ {k, i}) [/ matemáticas] como, por ejemplo, un gaussiano (para mantener las cosas simples) y tendremos que estimar la media y la varianza del gaussiano para cada estado y letra. El algoritmo para estimar estos parámetros dados secuencias de vectores de características para cada palabra se llama algoritmo de maximización de expectativa (EM) y este mismo algoritmo también se puede utilizar para estimar las probabilidades de transición. Para aquellos a quienes les importa, EM se encuentra en la categoría de técnicas de estimación de parámetros de máxima verosimilitud. De todos modos, hasta ahora todo bien.

El problema de extraer los vectores de características es en realidad mucho más difícil. Digamos que los datos provienen de imágenes escaneadas. La etapa de extracción de características necesita encontrar palabras y dibujar cuadros a su alrededor y luego estandarizarlas a una resolución común. Los artefactos (manchas de café, arrugas, sombras, deformaciones) deben tratarse de alguna manera. Finalmente, puede haber una mejor representación que los píxeles, como una FFT o DCT, y esto puede necesitar aplicarse a través de una ventana de píxeles a lo largo del eje de tiempo.

Entonces, la buena noticia es que el entrenamiento y modelado de HMM en sí mismo es bastante genérico. La mala noticia es que obtener la extracción de funciones de front-end es casi extremadamente difícil y su rendimiento dependerá en gran medida de qué tan bien lo haga.

El problema es muy similar a un problema de reconocimiento de gestos, donde los HMM son a menudo la primera opción.

En el reconocimiento de gestos (dinámico), un rastreador manual le da un punto (x, y) o (x, y, z) para cada fotograma del video, y la tarea es extraer la forma / letra / gesto que el usuario está haciendo . En esta configuración, no hay trazos explícitos. La trayectoria suele ser continua, similar a su caso.

Eche un vistazo a este video, por ejemplo (esto es para un mouse, pero esencialmente lo mismo):
Los enlaces de youtube tienen un enlace al código fuente.

Hay muchos documentos sobre reconocimiento de escritura manual con HMM y sobre reconocimiento de gestos con HMM.
Un ejemplo relevante:
http://www.hpl.hp.com/techreport

Este es un problema divertido. ¡Disfrutar!

No he hecho esto, pero es una pregunta intrigante.

Creo que comenzaría definiendo los trazos del lápiz, uniendo los trazos del lápiz con las letras y finalmente las letras con las palabras. Una vez que tenga palabras, podrá utilizar las tecnologías existentes.

Los trazos de lápiz básicos probablemente se definirían como vertical, inclinación derecha, inclinación izquierda, horizontal, largo, corto, arco convexo hacia arriba, arco convexo hacia la izquierda, arco convexo hacia abajo, arco convexo hacia la derecha. A diferencia de los caracteres chinos en los que se definen el inicio y el final de los trazos de caracteres, probablemente no pueda hacer estas suposiciones para las letras latinas al principio y al final de un trazado de lápiz completo. Estos identificarían el nivel más bajo de puntos nodales.

Luego identifique bucles, puntos de inicio y puntos finales. A continuación, tendrá que asignar probabilidades. En este caso, dado que tiene una base de datos de escritura, usaría frecuencias de ocurrencias para las probabilidades iniciales en lugar de usar capacitación para establecer las probabilidades. Creo que puedes ver a dónde voy con esto. Espero que esto ayude.

More Interesting

¿Qué significa la afluencia de IA y Machine Learning en productos tecnológicos para los diseñadores de UX?

Cómo saber si estoy hecho para el aprendizaje automático y las estadísticas

¿Dónde puedo encontrar excelentes bibliotecas de aprendizaje automático para Java?

¿Prediciendo compras (en comercio electrónico) a través de modelos estadísticos o de aprendizaje automático?

¿Es posible hacer una selección de características para las tareas de regresión por XGBoost?

Desde un punto de vista práctico, ¿por qué es tan importante saber programar en Machine Learning?

¿Cuál es la mejor manera de analizar y predecir en base a un conjunto de datos que tiene texto y números?

¿Es el aprendizaje automático el único campo de IA de interés para la academia y la industria?

¿Por qué todavía necesitamos aprender Minería de datos cuando tenemos Mahout?

¿Cuál es el lugar de las redes neuronales en una arquitectura más amplia de cognición mecánica?

¿Vale la pena aprender Machine Learning (y AI) si quiero seguir la carrera de Ingeniero Embebido?

Dado que los modelos pueden ser entrenados en datos sintéticos, ¿podemos usar el Entrenamiento Adversario para hacer que las imágenes de prueba sean más sintéticas?

¿Cuáles son los grandes problemas de investigación en el reconocimiento de voz hoy?

¿El uso de memoria aumenta a medida que aumentan los datos de entrenamiento en redes neuronales profundas?

Cómo pasar del desarrollo de pila completa al aprendizaje automático en el trabajo independiente