Un innovador sistema de consulta por lenguaje natural desarrollado por expertos en bases de datos está revolucionando la interacción con los datos. La propuesta ha sido diseñada específicamente para una empresa francesa, Ennov, con el objetivo de proporcionar una interfaz de lenguaje natural para sus clientes. Esta iniciativa se centra en traducir consultas formuladas en lenguaje natural a consultas de bases de datos utilizando un sistema de enriquecimiento de entidades.
La solución permite a usuarios centrarse más en el significado de lo que desean consultar en lugar de la estructura técnica de la consulta, simplificando así el acceso a la información almacenada en bases de datos RDF. Las consultas aceptadas se limitan a ‘factoid queries’, es decir, preguntas orientadas a datos de una sola clase RDF.
Este sistema está basado en un formalismo lógico que permite su adaptación a diferentes modelos de bases de datos. La estructura de estas permite su traducción no solo a SQL sino también a otros lenguajes como SPARQL o CYPHER.
Uno de los principales aportes de este sistema es su enfoque innovador en el enriquecimiento de entidades, transformando una consulta en lenguaje natural a una consulta más estructurada a través del reconocimiento de entidades nombradas, y su posterior enriquecimiento utilizando gramáticas y ontologías previamente definidas.
La arquitectura del sistema comprende dos fases fundamentales: una fase de preprocesamiento específica del dominio y una fase de generación de queries más general. La primera incluye la creación de diccionarios léxicos y gramáticas a partir de la información almacenada en la base de datos. La segunda fase clasifica e integra entidades extraídas para posteriormente transformarlas en queries a las fin de obtener una buena precisión en las respuestas.
Los primeros experimentos han mostrado resultados prometedores, destacando la precisión de las consultas generadas incluso en dominios restringidos. En futuras líneas de trabajo se contempla la adaptación del sistema para tratar consultas más complejas, lo cual podría incluir agregación de datos y procesamiento de búsquedas más relacionadas entre clases diferentes en bases de datos.