Natural Calculator

From UBC Wiki

What is the problem?

We will use Prolog to create a calculator that interfaces with natural language input. The natural language input from the user is translated into prolog commands and the computation is run, with the numerical result returned.

What is the something extra?

The calculator capable of solving somewhat basic equations ( +/-/*/div/pow/sqrt ) is the base of our project. The extra is the interface that understands English representations of these mathematical concepts, and is capable of translating the user's approximate intention into calculatable form.

What did we learn from doing this?

Prolog provides a very nice framework in which to work on tasks in both natural language processing, and probabilistic models. When programming our sequence correction generator, we realized that what would be a complex system of loops in another language translated to two simple predicates in Prolog.

Links to code etc

Github