This web page presents a demo of the current version of a natural language interface to databases (NLIDB). It is convenient to mention that there are two old versions not available on this web page, which are described in Pazos et al., 2005 and Pazos et al., 2010 (see bibliography below). Though, the current version has been developed for querying databases (DBs) in Spanish, this demo and the corpora of queries have been prepared so that English-speaking people can easily test the NLIDB.
The NLIDB has been pre-customized for the ATIS database. We decided to use the ATIS database for testing because it is an example of complex medium-size databases that can be found in real-life applications. The ATIS benchmark consists of 28 tables, 125 columns, and a corpus with 85% of elliptical queries.
The customization was performed in two steps: first an automatic customization was carried out, and afterwards the initial customization was manually fine-tuned. The automatic customization was carried out using the descriptions of the DB tables and columns, which can be found in the document Description of the ATIS database above. The manual fine-tuning was carried out using the Domain editor utility of the NLIDB, which has been partially disabled in this demo. This utility allows looking at the descriptors of DB tables and columns, but it does not allow modifying the customization.
The link Corpora of test queries leads to a web page that allows accessing two query corpora for testing the effectiveness of the NLIDB for solving two types of problems that occur in queries: basic translation problems and the problem of semantically implied entities.
Each query is written both in Spanish and also in English so that English-speaking people can understand its meaning. Since the NLIDB has been developed for Spanish, users are advised to copy the Spanish version of a query from a corpus and paste it in the text field of the NLIDB below the label Enter the natural language query. After clicking the Send button, the NLIDB translates the query to SQL (which is displayed under the label SQL translation) and shows the results obtained from the DB server.
Unlike other NLIDBs, the translation process of this NLIDB from natural language to SQL does not look into the database for search values in order to determine the columns needed for generating the SQL statement. This enables this NLIDB to correctly translate the queries in the corpora into SQL even though the search value is not stored in the database. For example, query number 24 from the corpus for basic translation problems may be modified as follows: Tarifa de viaje redondo para el vuelo desde XXX (Round-trip airfare for the flight from XXX. In this case, the NLIDB will correctly translate the query, but it will show the message There are no records for this query, since XXX is not the code of any airport.