Inspiration

We know that no one likes to read large paragraphs of text to find something they need quickly. Hence, we built a chatbot which can quickly answer questions based on the paragraph provided to it. Users can enter text from their personal documents or can simply copy and paste an entire wikipedia article. Then users simply have to enter their questions and the chatbot will answer them.

What it does

The chatbot uses transfer learning. We have used an NLP model from AllenNLP which takes a paragraph as an input and can answer any question based on the paragraph

How we built it

We have used Python, Flask, Flask-SocketIO and AllenNLP to build this. On frontend we have used socket.io to communicate data back and forth to the server. The home page is built using bootstrap. On the backend, the server is hosted using Gunicorn and Nginx

Challenges we ran into

We weren't able to deploy the project on Azure, as it uses Socket IO. After reading a lot of tutorials online, we figured out that we can only use Gunicorn with Eventlet to deploy a Socket IO application. This was the trickiest and most time consuming part.

Accomplishments that we're proud of

We are proud that we were able to host our project on the cloud, as that seemed too difficult.

What we learned

We learned about cloud computing, adding custom domains and SSL to our virtual machine. We also learned how to secure our virtual machine by using SSH keys and fail2ban.

What's next for Ask-A-QuesBot

We are planning to add a database and store users entered text permanently so users can also access it later. We are also trying to get the application to run concurrently so that multiple users can use it at the same time. Right now, only one user at a time can use the application

Share this project:

Updates