Table of Contents
Fetching ...

A Model-based Chatbot Generation Approach to Converse with Open Data Sources

Hamza Ed-douibi, Javier Luis Cánovas Izquierdo, Gwendal Daniel, Jordi Cabot

TL;DR

This paper tackles the barrier that Open Data presents to regular users by proposing a model-driven approach to automatically generate chatbots from Open Data Web APIs. It encodes API descriptions into UML models annotated with Bot and OpenData profiles, enabling automated generation of chatbot intents and executions that query the underlying API via a Xatkit-based runtime. The authors implement a proof-of-concept Eclipse plugin that supports Socrata and can be extended to CKAN, OData, and OpenAPI, illustrating direct and guided conversational modes for data retrieval. By providing end-to-end tooling from API description to runnable chatbots, the work promises to simplify access to Open Data and facilitate citizen engagement with public and corporate data sources.

Abstract

The Open Data movement promotes the free distribution of data. More and more companies and governmental organizations are making their data available online following the Open Data philosophy, resulting in a growing market of technologies and services to help publish and consume data. One of the emergent ways to publish such data is via Web APIs, which offer a powerful means to reuse this data and integrate it with other services. Socrata, CKAN or OData are examples of popular specifications for publishing data via Web APIs. Nevertheless, querying and integrating these Web APIs is time-consuming and requires technical skills that limit the benefits of Open Data movement for the regular citizen. In other contexts, chatbot applications are being increasingly adopted as a direct communication channel between companies and end-users. We believe the same could be true for Open Data as a way to bridge the gap between citizens and Open Data sources. This paper describes an approach to automatically derive full-fledged chatbots from API-based Open Data sources. Our process relies on a model-based intermediate representation (via UML class diagrams and profiles) to facilitate the customization of the chatbot to be generated.

A Model-based Chatbot Generation Approach to Converse with Open Data Sources

TL;DR

This paper tackles the barrier that Open Data presents to regular users by proposing a model-driven approach to automatically generate chatbots from Open Data Web APIs. It encodes API descriptions into UML models annotated with Bot and OpenData profiles, enabling automated generation of chatbot intents and executions that query the underlying API via a Xatkit-based runtime. The authors implement a proof-of-concept Eclipse plugin that supports Socrata and can be extended to CKAN, OData, and OpenAPI, illustrating direct and guided conversational modes for data retrieval. By providing end-to-end tooling from API description to runnable chatbots, the work promises to simplify access to Open Data and facilitate citizen engagement with public and corporate data sources.

Abstract

The Open Data movement promotes the free distribution of data. More and more companies and governmental organizations are making their data available online following the Open Data philosophy, resulting in a growing market of technologies and services to help publish and consume data. One of the emergent ways to publish such data is via Web APIs, which offer a powerful means to reuse this data and integrate it with other services. Socrata, CKAN or OData are examples of popular specifications for publishing data via Web APIs. Nevertheless, querying and integrating these Web APIs is time-consuming and requires technical skills that limit the benefits of Open Data movement for the regular citizen. In other contexts, chatbot applications are being increasingly adopted as a direct communication channel between companies and end-users. We believe the same could be true for Open Data as a way to bridge the gap between citizens and Open Data sources. This paper describes an approach to automatically derive full-fledged chatbots from API-based Open Data sources. Our process relies on a model-based intermediate representation (via UML class diagrams and profiles) to facilitate the customization of the chatbot to be generated.

Paper Structure

This paper contains 16 sections, 6 figures, 1 table.

Figures (6)

  • Figure 1: Overview of our approach.
  • Figure 2: UML model for the running example (our editor can show/hide the stereotypes to show a simplified representation of the diagram).
  • Figure 3: Bot profile.
  • Figure 4: OpenData profile.
  • Figure 5: (a) Conversation path in guided queries. (b) A guided conversation. (c) Showing the results.
  • ...and 1 more figures