20

Quería escribir un programa para hacer preguntas sobre el clima. ¿Cuáles son los algoritmos y las técnicas que debería comenzar a mirar?Cómo proceder con la tarea de PNL para reconocer intenciones y ranuras

ex: ¿Será soleado este fin de semana en Chicago. Quería saber el intento = consulta del tiempo, fecha = este fin de semana, ubicación = chicago.

El usuario puede expresar la misma consulta en muchas formas.

Me gustaría resolver algunas formas limitadas y buscar ideas sobre cómo comenzar. La solución debe ser lo suficientemente buena.

Respuesta

24

Dado que su entrada es en la forma de lenguaje natural, la mejor manera de empezar a buscar en ella, primero mediante el análisis de la estructura de la oración. y ejecutando la oración a través de NER (Reconocimiento de Entidad Nombrada).

Analizar la frase le permite idear reglas tales como ciertos tipos de dependencias que siempre le dan la intención. La ejecución del NER le permitirá identificar lugares y fechas. Si no es fácil crear reglas para clasificar el intento, también puede usar un clasificador para hacer el mismo uso del vector de características formulado a partir de la oración de entrada. De hecho, algunos de los analizadores pueden entrar en la formulación del vector de características.

Por tanto existe software de Stanford NLP Group

puede ser usted puede buscar en:

Una vez que analizar sintácticamente la frase, usted tiene la intención y el otro la información requiere para responder la pregunta.

Ejemplo: Tomé su oración "¿Será soleado este fin de semana en Chicago". y lo pasó por Online Stanford NER Tagger. Lo que me dio lo siguiente:

Will it be sunny this <DATE>weekend</DATE> in <LOCATION>Chicago</LOCATION> 

Ahora ha identificado la fecha y la ubicación.

Espero que esto ayude. Sé que la respuesta es bastante genérica y puede ser útil para comenzar.

+0

gracias por usar el inglés sencillo! me ayudó mucho también! –

+0

Excelente punto de partida. Aunque estoy interesado en entradas de lenguaje no naturales (acciones, eventos, secuencias, objetos) ... y hacerlo sin heurística. –

+2

Según las explicaciones que se encuentran en esta publicación, parece que la intención es un subproducto del análisis de NLU. Pero debe haber un etiquetado de intención en algún lugar del proceso antes de que el analizador pueda clasificar la intención. ¿Alguna idea de si el etiquetado es un proceso manual, o puede ser completamente automatizado a través de algún conocimiento lingüístico? – bhomass

10

Creo que esta aplicación es exactamente lo que estás buscando. Es fácil de usar.

https://wit.ai/

3

Además, https://www.luis.ai/ es una buena aplicación de un marco PNL. Tienen una API y un Nuget SDK. Los hemos estado utilizando por un tiempo ahora. Eran más baratos que las otras opciones que vimos. es decir, wit.ai.

también lo son su ejemplo -

por ejemplo: ¿Será este fin de semana soleado en Chicago -> podría asignar a una intención LUIS llamada WeatherQuery. fecha -> se asignaría a una entidad LUIS dateTime preconstruida ubicación -> chicago -> se mapearía a una entidad LUIS preconstruida -> geografía o dirección, creo.

Cuestiones relacionadas