¿Cómo funciona el texto predictivo?

Hay muchas formas de construir un sistema de texto predictivo, pero la mayoría de los sistemas de texto predictivo tienen configuraciones predeterminadas que el usuario puede configurar / cambiar / aprender. En los sistemas basados ​​en el aprendizaje, el sistema aprende que generalmente un conjunto de palabras en una secuencia particular da como resultado una palabra completa particular. Por lo tanto, inicialmente se requiere la desambiguación del usuario, y luego la necesidad de reducirla gradualmente.

Puede haber predictores de texto basados ​​en el diccionario , que se basan en un diccionario (de un idioma en particular) y sugieren palabras / correcciones basadas en este diccionario. Por otro lado, puede haber predictores que no son del diccionario que predicen en función de las estadísticas, la probabilidad de que una determinada letra (o un conjunto de letras) sea un prefijo de una palabra.

Uno de los predictores de texto más populares, el diccionario T9, está diseñado para ser más inteligente a medida que el usuario lo utiliza. Un conjunto específico de combinaciones de teclas puede dar como resultado varias palabras (que se obtienen de su diccionario de acceso rápido) y se selecciona la palabra más probable (la palabra más utilizada por el usuario) (de forma predeterminada). También podría considerar bi-gramos, es decir, la combinación de 2 palabras que ocurren juntas.

Una manera ingenua pero a menudo utilizada para implementar un diccionario se basaría en un trie (árbol de prefijos). Un trie es una estructura de datos que almacena las palabras generalmente en las hojas del árbol, donde los prefijos de las palabras se almacenan en nodos intermedios. Por lo tanto, todos los hijos de un nodo tienen un prefijo común. Tal trie se muestra a continuación:

Un trie para las teclas “A”, “to”, “tea”, “ted”, “ten”, “i”, “in” y “inn”.
(Fuente: Trie)

Tal diccionario puede ser almacenado por el diccionario, y a medida que se agregan / eliminan nuevas palabras, el archivo puede actualizarse adecuadamente.

Otra mejora importante es la de utilizar un ensayo probabilístico . En tal caso, a cada recorrido (tomar el camino de un niño en particular en lugar del otro) se le asigna un valor de probabilidad particular, que se puede aprender del comportamiento del usuario. Por ej. en el ejemplo anterior, si el usuario escribe la palabra “diez” con más frecuencia que “té” o “ted”, entonces la probabilidad de ramificación de “n” después del nodo “te” sería mayor. Por lo tanto, el diccionario sugeriría “diez” como el autocompletado predeterminado.

Creo que esto se enmarca en el modelado de idiomas.

Los RNN (o LSTM) pueden resolverlo eficientemente. Estas son redes neuronales profundas que intentan predecir la siguiente palabra dada la palabra actual y una ventana de palabras anteriores.

El modelado de lenguaje simple basado en redes neuronales (que no considera la secuencia de palabras anteriores) también es a veces eficiente: CBOW y skip-gram.

Básicamente se basa en la cadena de Markov, donde primero se aprende la probabilidad de que una entidad dada (ya sea una letra o una palabra) aparezca después de otra (usando corpus apropiados). Luego, simplemente propone la siguiente entidad con la mayor probabilidad de aparición dado lo que sabe del estado real.

Entrena al clasificador para todas las combinaciones posibles de letras. El clasificador sugiere todas las combinaciones posibles de letras que forman una palabra. Básicamente es entrenar a tu clasificador. La probabilidad de todas las letras también se puede utilizar para sugerir al usuario la letra con mayor probabilidad.

Espero que esto responda tu pregunta 🙂

More Interesting

Estoy aprendiendo aprendizaje profundo, ¿por qué es útil la matriz y qué es el cálculo?

Cómo aprender machine learning para construir startups

Cómo aumentar mis posibilidades de ser seleccionado en un programa de doctorado en aprendizaje automático o inteligencia artificial

Cómo convertirse en un experto en aprendizaje automático y PNL desde principiantes

¿Cuáles son algunos proyectos en Big Data y machine learning?

¿Son los chatbots el comienzo de la verdadera IA?

¿Cuáles son algunos pequeños proyectos iniciales en aprendizaje automático de regresión lineal que un principiante puede hacer en 2-3 días?

¿Por qué funciona la función de costo de regresión logística?

¿Qué enfoques utilizaron los participantes en Quora ML CodeSprint 2013?

¿Por qué la precisión del entrenamiento de la red CNN aumenta rápidamente cuando elijo un tamaño de lote relativamente más pequeño?

En una máquina de vectores de soporte, el número de vectores de soporte puede ser mucho menor que el conjunto de entrenamiento. ¿Cómo puede ser útil esta característica?

¿Cuál puede ser un buen proyecto de curso de 3 meses relacionado con el procesamiento del habla y el aprendizaje automático?

¿Qué piensa Pedro Domingos de la investigación de aprendizaje automático que está ocurriendo en la industria versus la academia?

¿Qué algoritmo de aprendizaje automático debo usar cuando tengo 5-6 valores categóricos independientes y 1 variable continua dependiente?

¿Qué es el algoritmo de descenso de gradiente?