Abstract:
Information plays a major role in our lives. It’s a key element in day to day life. We use
databases to store a large amount of data and retrieve it efficiently in less amount of time.
It also plays a major role in computer systems. This information access by technical and
nontechnical users. When it comes to non-technical users they should be able to know
Structured Query Language to access data from databases. The goal of NLP[1] is to allow
communication between people and computers without resorting to memorizing complex
commands and procedures. In other words, NLP is a technique that can make the computer
understand the languages used naturally by humans, but not by artificial language or
created by man, as a programming language This minimize the communication gap
between computer and humans. In order to archive this type of communication, we have
to make the computer to understand what a human asks.
The natural language may be the symbol system easier to learn and use for people, it has
proven to be the most difficult to master for a computer. Despite the challenges, natural
language processing, or NLP, is widely regarded as a promising and critically important
effort in the field of computer research. The general objective for the majority of
computational linguists is to imbue the computer with the ability to understand and
generate language so that, finally, people can approach their computers through text as
although they were addressing another person. The applications that will be possible when
NLP capabilities are fully realized are impressive computers that could process the natural
language, translate languages with precision. and in real time, or extract and summarize
information from a variety of data sources, depending on the requests of the users.
To use store data inside databases or retrieve information from databases, interaction with
the database is important and for this purpose, technical knowledge is required. The
problem is that it restricts the interaction between the naive user and the database. Only a
few people who have knowledge of the formal language of the database can retrieve the
vii
desired information from the database. To overcome this problem, this proposed system
would have the ability to analyze the statements of users written in different ways and,
consequently, gives a response to the user. In this way, it helps a normal educated person
who has no knowledge of the query language to easily interact with the system.
This project proposes a customized solution for avoiding communication gap between nontechnical
user and database. Reducing the time spent on retrieve data is the main objective
of this project which ultimately leads to a software application. The proposed system is
capable of retrieve data from database by understanding human natural language questions.
By keeping real time data structure JSON[2] format it easily adapts every database changes
as well as the provide UI interface to enter questions and display results on the frontend.
Written controllers and models are capable of understanding and generating results based
on the question. Keeping in mind of the latest technologies and the mobile technology
evolvement, Tool is capable of accessing it from desktop or mobile. For better
performance, I have used Python3[3] scripting and flask frontend library for UI generating.
I have tested the system with the collogues at my workplace which all of them are
developers. And currently using the system for generating first and second level
prototypes.
Citation:
Nadeesha, K.D.R. (2019). Natural language based report generator : software tool providing easy report generating for web-based applications [Master’s theses, University of Moratuwa]. Institutional Repository University of Moratuwa. http://dl.lib.mrt.ac.lk/handle/123/15962