Abstract:
Natural Language interfaces allow people to communicate with machines in a natural language such as English. One application of this is as “front-ends” to databases, enabling non-technical people to directly access information stored in databases. Advantages of front-ends include relieving users of the need to know the structure of the database; relieving users of the need to know a database manipulation language, allowing users to express queries directly without a transformation or mapping to some other representation; and making the system more convenient and flexible for users. This application translates natural languages queries into SQL statements for user who have no knowledge of SQL. Then these statements are used to retrieve data from the database. First the user enters their query with natural language. Then input queries will be checked out with the help of the dictionary file and it can be translated into SQL. Finding these should be connected to database and retrieve the output. Java is used to implement the system. Currently this can translate natural language queries into simple SQL statements with or without a simple condition. These statements are then executed to retrieve and display data from a single table. Thus, it simplifies the data retrieval process. A parser is written to analyze the user queries and display the results from the database with few limitations. The database table names and column names must be valid English words. It cannot determine synonyms for table names column names and therefore user has to manually enter these words.