Full-stack developer with a DevOps profile in projects centered around data analysis, machine learning, natural language processing, ETL processes, web scraping, APIs development and RESTful clients. Microservices architect, deploying and operating services on AWS. Technical and functional analysis in software consultancy.
Numerous public administrations, organisations and institutions have joined Open Data initiatives in recent years to promote the reuse of their information, to harmonise it between organisations at different levels or counterparts and to improve transparency towards citizens. It is in this last area that administrations must make an effort to improve the User Experience in order to facilitate the access and consultation of this data.
A large volume of the data to be consulted by users has a geospatial component and is usually used in cartographic visualisations composed of several layers in order to generate a specific report. A geospatial query over a geographic region by aggregating the relevant services or layers can be a complex task for someone who is not an expert user of the data available in a Spatial Data Infrastructure.
In this project we present the development of a chatbot to assist the user in the generation of maps, guiding the user through the creation process and allowing the user to generate queries using metadata that describe the services or datasets within a conversational framework.
This conversational framework is established both textually and by voice, through the use of a speech to text module.
The chatbot relies on the open source framework RASA to develop the NLP module and elaborate the responses to the user. This framework offers the possibility to train the assistant using a knowledge base in which user intentions are defined with example messages, together with entity recognition in text and the ability to work in a conversational framework. The system is trained with service metadata and data from various SDIs to respond to user queries about geographic regions using both vector and raster data. The API-CNIG map visualisation tool is used to generate the map.
This tool allows to create a map in the browser client through information structured by parameters in URL, and to carry out a rendering of layers hosted in different services or generated directly in the client. The chatbot will translate and map the user's input to these parameters and return the georeferenced data to the client, obtaining the desired map in a simple way.