views:

230

answers:

1

We would like to include a facility in an ASP.NET web application that will allow a user to type in a natural language (or reasonably close to natural) question about a SQL data set (SQL Server) and get useful information in return. The sort of results required is to include min, max, std deviation, top 10, total for a column, and anything else that makes sense with a bunch of numbers.

What are the tools that are available for this sort of operation, and what are the considerations that we should be aware of?

+1  A: 

The (perhaps too) general name for what you want to build is a Dialog System. Specifically, you are talking about a natural language front end to a database. Here is a paper called Interfacing a Natural Language Front-End to a Relational Database from the University of Edinburgh. A few sources mention using Prolog for this. You can probably roll your own using regular expressions or a simple parser. The Stanford Parser may or may not suit your needs. Consider also using a dependency grammar.

Yuval F