N

noSQL

A natural language interface for SQL databases

N

noSQL

A natural language interface for SQL databases

The problem noSQL solves

noSQL - Not Obligatory SQL - a Natural Language Interface for SQL based databases

Personal Assistance interface applicable for most of the web and application interfaces which allows a user with no previous knowledge about SQL to retrieve data from Relational Databases using Natural language processing.

We investigate avenues of using natural English utterances - a sentence or sentence fragments - to extract data from an SQL, a narrower inspection of the broader natural language to machine language problem. We intend to contribute to the goal of a robust natural language to the data retrieval system.

Implemented a Natural Language interface to access a Relational Database Management System for users who do not have knowledge about SQL. The user can access the database using a chatbot interface where he/she can retrieve data using simple English language rather than using complex SQL queries.

The system takes .sql file as an input and an SQL parser program fetches the tables, attributes, primary keys of each table and the relations between the tables(foreign keys).

Challenges we ran into

We were previously using the django framework but we found that Flask would be a better framework because it is light-weight and is more efficient for out use case. Migration was one of the challenges. The other major challenge we faced was for generating accurate SQL queries using dependency parsing. We used the pattern-based approach to find the queries using different keywords and sentence-formations.

Features of our application -

  • First of a kind chatbot interface which can be integrated with any database system.
  • Access Database from an interactive interface.
  • Give suggestions when user gives input.
  • Give accurate results in spite of grammatical and semantic errors using Deep Learning algorithms.
  • Speech-to-text and text-to-speech conversion

Discussion