This repository serves as the dedicated space for our contributions to the Transfinitte Hackathon, where we've undertaken the project as part of the sponsored challenge presented by Netcon.
Create a cutting-edge NLP-based AI virtual assistant to interact with users. The goal is to develop a system that not only understands and responds to user queries but also provides a personalized experience. Incorporate voice recognition technology to enhance the assistant's ability to process spoken commands and questions.
Drive Link - https://drive.google.com/drive/folders/1G2nFJJZfAxYumeBHswDUNPAl3IRBWSi1?usp=sharing
- Performs real-time tasks as a user-friendly virtual assistant.
- Understands and interprets user queries in various languages, including English, Tamil, and Hindi, providing accurate responses.
- Implements a feedback mechanism to gather user input for continuous enhancement of performance.
In the client directory, you can run:
npm install
npm run dev
localhost:3001
In the Server directory, you can run:
virtualenv -p python3 env
source ./venv/bin/activate
pip install --upgrade pip
pip install -r requirements.txt
pip install farm-haystack[colab,inference]
Visit the given drive link and download the dbert.pkl
and move it to /server/app/nlp_engine/pickle/dbert.pkl
python main.py
TheDebuggers_NC1
is a 3-tier application built with Flask, React, MongoDB, and Haystack pipeline. the following technologies were used for the application:
- React (Client-side Library)
- Flask (webserver/socket)
- MongoDB (database)
- Haystack (model)
-
The model used is DistilBERT-base-uncased-distilled-squad which belongs to a class of transformers which works on BERT Architecture, available for open use on Hugging Face.
-
It has 40% less parameters than bert-base-uncased, runs 60% faster while preserving 97% of BERT's performances.
-
DistilBERT is trained using knowledge distillation, a technique to compress a large model called the teacher into a smaller model called the student. By distillating Bert, we obtain a smaller Transformer model that bears a lot of similarities with the original BERT model while being lighter, smaller and faster to run. DistilBERT thus seems like an interesting option to put large-scaled trained Transformer model into production.
-
Data Collection has been done using selenium and Beautiful Soup.Wrangled and pre-processed data contains FAQs about NetCon which has been used to Fine-Tune our NLP engine.
-
F1 Score
of the fine-tuned model is86.9
.
- Time constraints
- Choosing the right model
- Web scraping netcontechnology.com, filtering, preprocessing, and gaining valuable insights.
- Incorporating feedback mechanism
- Developed a fully functional, end-to-end chatbot application with an elegant user interface.
- Extracted data from the Netcon website to create a dataset containing 1080 question-answer pairs.
- Enabled both text and voice input options during interactions with the chatbot.
- Provided support for multiple languages for a more versatile user experience.
- Teamwork
- Idea pooling
- NLP
- Creativity
- Problem-Solving
- Feedback and Adaptation
- Working on improving the accuracy of the model even futher, and optimizing the run time.
- Advanced Features: Explore the integration of advanced features such as sentiment analysis, personalized recommendations, or natural language generation for more dynamic interactions.