¿Hay alguna biblioteca de código abierto de PNL que pueda enseñarle qué oraciones deberían desencadenar qué acción en cualquier lenguaje?

Es un poco difícil de responder sin conocer un poco más de antecedentes. Supongo que no solo desea asignar un conjunto fijo de oraciones a ciertas acciones, sino aprender un mapeo de un conjunto de oraciones – pares de acciones para poder analizar una nueva oración en el futuro.

Si ese es el caso, entonces la palabra clave que está buscando es el análisis semántico . Este sigue siendo un problema muy difícil y su rendimiento puede depender en gran medida de cuán abierto sea su dominio (piense en cuántas acciones diferentes puede haber) y cuán complejas sean sus oraciones.

Para los diferentes idiomas, probablemente sea mejor aprender un modelo separado para cada idioma. Aunque una idea alternativa sería utilizar primero un sistema de traducción automática para traducir al único idioma para el que tiene un analizador sintáctico. Esto tendría sentido si solo tiene datos de capacitación en un idioma.

Configurar un analizador funcional en un nuevo dominio ciertamente requerirá un poco de esfuerzo y, por lo que sé, no hay una biblioteca como tal. Sin embargo, hay un paquete de software que le brinda un marco de análisis semántico, escrito en Java (Artzi, Y., y Zettlemoyer, L. (2013). UW SPF: Marco de análisis semántico de la Universidad de Washington). Puedes encontrarlo aquí: yoavartzi / spf – Bitbucket

También para un buen documento general de análisis semántico, recomendaría el artículo de Percy Liang “Aprendizaje de analizadores semánticos ejecutables para la comprensión del lenguaje natural” de este año, se puede encontrar aquí: http://cs.stanford.edu/~pliang/p …