We are creating an interface for users to ask questions about canadian political parties such as who is apart of the part, if they are more left or right and some of their main platforms.
What is the problem?
We want to create an NLP interface to guide and educate users about Canadian political parties.
What is the something extra?
- Ask about which parties exist
- Ask about the leader of party
- Ask about about the political alignment
- Ask about the specific platforms
What did we learn from doing this?
What we did
We defined the facts about the parties that we wanted people to be able to query about and we defined a dictionary and relationship between nouns and verbs so that our program could recognize the jargon that we had previously defined.
What we learned
We learned just how powerful Prolog could be for deciphering natural language. Our biggest challenge was learning how to classify the words that were using properly. It forced us to reflect the relations between words in our grammar in order to replicate them with logic and prolog efficiently. The scope of our project was limited, but it helped us to understand how a program that was capable of deciphering a more comprehensive set of questions would be implemented. We found that we had to be very specific when creating the rules for our domain. However our program was less capable of interpreting structures it had not seen before. This is why we believe that natural language processing has focused more on machine learning, which can build a model and generalize new inputs against that model.