Inspiration

In this modern, digital age, insurance providers face an array of challenges not often seen in other industries. As consumers become more empowered through advancements in technology and the ease of access of information, providers will need to look toward innovative directions to improve the relationship between policyholder and provider.

With chatbots and multi-channel integrations, providers can find a powerful way to meet consumers’ expectations and turn the traditional transaction into a two-way interaction.

What it does

It replaces customer agents/representatives for Intact's website. The user doesn't have to go through the whole website to find their answer. They simply get all their answers from the chatbot which gives answers through NLP Technology.

How we built it

Challenges we ran into

  • Python's websocket library was not working with our use case, we created a wrapper library across socket.io and python-websocket-client, to get websockets to work.

  • We could not deploy onto Heroku due to Cross Origin Resource Sharing (CORS) errors as the websockets were not able to integrate with Heroku. We decided to run a local server using ngrok to perform requests.

  • We had issues training the bot due to the limited information on the Intact website. It was very difficult to find information to feed the bot data, to allow it to train and learn.

  • We were unable to scrape Intact website as it blocked BeautifulSoup requests, and their robots.txt disallowed bots from scraping their website. Hence, we had to manually parse the data to train the bot.

Accomplishments that we're proud of

  • We are very proud of creating a beautiful looking frontend, despite our very limited Javascript experience.

  • Although we were unable to deploy, we were able to figure out a work around to keep the chatbot running.

  • We were able to set up the bot and train it, as well as figure out how to set up NLP within our application.

  • We were able to create async requests and threads within Python, to ensure the bot requests to the correct client, so multiple clients can communicate simultaneously.

What we learned

  • Learned how to use websockets, by creating a production-ready library that mimics Vanilla Javascript's WebSocket functionality.

  • Learned how to use NLP technology, by learning how to train and feed data into the bot.

  • Learned how to perform network requests without using a REST API, and learned the intricacies of TCP connection, as well as possible use cases for it.

What's next for Convo Bot

  • Training the backend more, to make the bot learn and store more information.

  • Use Redis to cache responses to common questions, to prevent multiple backend requests.

Share this project:

Updates