From UBC Wiki


Authors: Maike Basmer, Jamil Koller

What is the problem?

State the general problem. If applicable, tell us what information you will use, e.g., a link to some web site that provides the information you used. What will you do?

On the UBC campus, there is an overwhelming number of possibilities where to go and what to do in between lectures. Especially for new students, it’s difficult to keep the orientation. Our system should help students find the closest building that contains a location according to the preferences of the user. For example, if the user is looking for a quiet space where to learn, the system should return a study room and not a café as an answer. Otherwise, the closest café should be returned if the student wants to grab a coffee or get some food.

What is the something extra?

What is the in-depth aspect you will do? If the problem is related to some other group's project, tell us how they fit together. If in doubt, include the information.

Add location to existing buildings, e.g. newly discovered learning spots or burger places.

What did we learn from doing this?

(This should be written after you have done the work.) What is the bottom-line? Is logic programming suitable for (part-of) the task? Make sure you include the evidence for your claims. We learnt implementing a generic search algorithm and how to use some of Prologs built-in features, especially the heap data structure. In addition to that, we have been confronted with the difficulty of modeling a small section of the real world, naming the entities in this world and modeling the relations between the classes. Using triple relations enabled us to provide an easily extendable knowledge base which works well with our search algorithm as well as natural language processing. Overall, this project provided an insight on how to provide a natural language interface to an underlying search functionality and showed that Prolog serves well for implementing this kind of system since the user can access the search in a natural way. Links to the code: