Course:CPSC312-2023-Restaurant Recommender

From UBC Wiki

Authors: Aung, Ethan, Timothy

What is the problem?

Choosing a restaurant to eat can be overwhelming as different cities have many options. We would like to provide users with a recommendation systems for given the type of cuisine, price, location, and other preferences

What is the something extra?

Used API call to retrieve restaurant information requested by user. JSON response was parsed and read to filter out useful information

What did we learn from doing this?

- How difficult and complex NLP is.

- Using API and parsing JSON objects with Prolog's HTTP libraries.

- Prolog sometimes returns multiple of the same answer, which can be frustrating to debug. It does take time to get used to but it is rather straightforward after familiarizing with trace and print statements, as the main (and probably only) source of debugging tool need.

- Prolog is flexible and doesn't have types, which makes refactoring and adding new features really quick and easy, but we really have to keep track of what each variable represents with good comments. I was also surprised how simple certain implementations could be (such as finding difference list, switching between strings and numbers, doing fractional arithmetic). There are a lot of useful and multi-functional built in functions, but finding and understanding documentations can be quite difficult, especially since the community for Prolog is small.

Links to code etc.

https://github.com/timo-hash/Restaurant-Recommender