Natural-SQL Translator A general natural language interface to SQL using the Grammatical Framework programming language
Examensarbete för masterexamen
Databases are powerful tools and the ability to use natural language to query databases makes these tools more accessible. For a natural language-database accessing system to become useful beyond niche applications, it needs to be able to scale and adapt. For that to be the case, it needs to be formulated generically to not require redesign for every new application. The central part of this system needs to be agnostic with regards to what database is to be accessed as well as agnostic with regards to what natural language is to be used. This project has as its goal to create a prototype of such a system for the database query language SQL. A system which is accessible, has a general form and can easily be adapted to new natural languages and databases. To do this the Grammatical Framework (GF) programming language was used, which is designed to enable translations based on an abstract grammar and multiple concrete descriptions of how everything that can be formed in the grammar is expressed in each language. For this project that list of languages includes SQL and natural languages such as English and Swedish. Around the GF grammar, an application was constructed which allows the user to perform translations without much technical skill, no commands need to be entered and nothing needs to be compiled once the system has been set up once. The system which is the result of this project has a general form and allows for easy use with a new database, and a somewhat more involved application to a new natural language. It allows access to databases without requiring any programming knowledge. It permits the user flexibility in their way of expressing themselves when using a natural language.
Grammatical framework , GF , Grammars , Structured Query Language , SQL , Databases , Natural language , Human-computer interaction , User friendly , General