When I was learning about researching better using keywords, something clicked. Instead of just using basic searching tricks to get more out of google's content-browsing algorithm, what if you could use NLP to find very specific articles using synonyms?
What it does
Knowledge bot uses NLP to convert strings of text inputted by the user through Messenger into search query, giving the user informative research suggestions. It calls a thesaurus API in order to have more items for the search query, making the searches even more specific, and offers features such as finding related topics to explore, done with the SERP API
How I built it
I built the webhook using Heroku Server Hosting: link I used node.js as a framework for creating the application, using the following npm packages:
I used the Two Following APIs:
- Thesaurus API: https://dictionaryapi.com/
- Scale Serp: link
- I also used wit, but had a node package called 'node-wit'
Challenges I ran into
One of the biggest challenges I had was creating the webhook. I had no experience of creating servers on express or even with servers at all, and it took a while of looking through a great many tutorials before even creating my first curl request. Another major challenge was getting the API get requests and JSON to format correctly. It was especially frustrating because of how dynamic the APIs were, and with different requests, they had completely different parameters, so adapting was quite difficult.
Accomplishments that I'm proud of
I am especially proud of learning how to use APIs and Webhooks, as it was a new concept for me. I was also very proud of creating a full scale project, using a language I had learned very recently. I also take pride in the fact that I learned how to utilize node.js, as well as how to use an Natural Language Processor.
What I learned
What's next for KnowledgeBot.ai
- Adding more resources (eg. subject based dictionaries)
- Adding more subject classifications, such as classroom topics
- Adding ability to recognize images of content and analyze
- Adding a teacher mode, where they can edit parameters to keep students on task and still learn from a specific part of the web
- Finish Features In-Development currently(eg. study guide creator)