Si tiene suficientes datos etiquetados de “texto-> intención”, puede usar redes neuronales que alimenten la red neuronal con incrustaciones de palabras en los datos. Algunos buenos algoritmos:
- Redes neuronales convolucionales. Algunos papeles interesantes:
Redes neuronales convolucionales para la clasificación de oraciones, Yoon Kim (2014)
Una red neuronal convolucional para modelar oraciones, Kalchbrenner et al., (2014)
- ¿Cuál es la forma correcta de escribir un algoritmo? ¿Podemos usar la sintaxis del lenguaje en el que estamos escribiendo?
- ¿Cuál fue tu algoritmo favorito del que aprendiste mucho?
- ¿Cuál es la complejidad del tiempo para la escalera de palabras?
- ¿Cuál es la forma más eficiente de detectar, si una cadena es un anagrama de un palíndromo?
- ¿Cómo podemos resolver el siguiente problema en O (n)?
Redes neuronales convolucionales aumentadas por justificación para la clasificación de texto, Zhang et al., 2016
- Redes neuronales recurrentes / LSTM
Red neuronal recurrente y modelos LSTM para clasificación de expresión léxica, Ravuri et al., 2016
Mapeo de características basado en Deep LSTM para la clasificación de consultas, Shi et al., 2016
También hay implementaciones en Tensorflow, por ejemplo, aquí puede encontrar LSTM. En nuestra experiencia, necesita MUCHOS datos etiquetados para que funcione, varios miles no han funcionado bien para nuestros casos de uso en el pasado, pero pueden haber sido demasiado escasos.
Pero, si no tiene suficientes datos etiquetados y necesita utilizar un enfoque “sin supervisión”:
- LDA se usa generalmente para modelar temas y luego analizar los grupos principales (debe predefinir el número de grupos y es posible que no se asignen a los intentos)
- Word2vec / doc2vec para mapear palabras / textos en un espacio vectorial. El desafío nuevamente es que debe mirar los resultados y traducirlos a las intenciones de su elección, pero puede obtener fácilmente algún tipo de clústeres.
- En lang.ai, la primera IA no supervisada para la comprensión del lenguaje, tenemos una tecnología patentada para generar los intentos de texto automáticamente de una manera no supervisada, pudiendo generar los nombres que también representan el intento, en lugar de solo técnicas de agrupamiento puro. Nuestros clientes lo utilizan como el cerebro semántico detrás de los chatbots, entre otras aplicaciones, y yo soy uno de los fundadores y CEO de la compañía, así que si necesita algo de nosotros, ¡no dude en ponerse en contacto conmigo!