Voice Enabled Chatbot

MentorSatyam (satyammittal)
Project Websitehttp://scalability4all.github.io/
Project Repositoryhttps://github.com/scalability4all/voice-enabled-chatbot
Suitable for Beginners?yes
TagsPython Machine Learning NLP Information-Retreival AI HTML CSS JS
Applications (1st Choice)0 (0 submitted | 0 in-progress)
Applications (2nd Choice)0 (0 submitted | 0 in-progress)
Code of Conducthttps://github.com/satyammittal/voice-enabled-chatbot/blob/master/CODE_OF_CONDUCT.md
LicenseMIT License (MIT)

Project Description

Implementing a voice enabled chatbot which converses with a user via their voice in natural language. The user should be able to interact with the application like a voice assistant and appropriate responses should be returned by the application (also through voice). The number of topics to converse upon will be fixed however the user should be able to converse through natural language. For further details: Email me with Subject: "RGSoC Project" to satyammittalid@gmail.com.

Project's Requirements

Good Understanding of Machine Learning, specifically NLP.
Experience with HTML, CSS, and JavaScript
Experience with GIT and the command line
Knowledge of Intent, Entity and classification is preferred.
Interest in implementing unit, integration, and acceptance tests
Interest in accessibility in web development and performance optimisation
Interest in data science and learning new techniques.

In the end, a passion for the project and a desire to build and learn are the most important things, so I would very much encourage applicants who have less experience but more excitement about the project!

Tasks And Features

Tasks: Main task is to create open source alternate to Google DialogFlow.
Before starting Conversation, bot will fetch the location of the user and other details to give personalized results.

Step 1: Speech-2-Text: Given a speech through Microphone, Store it and Convert it using SpeechRecognition and PyAudio.

Step 2: Topic Modelling: Get Entity and Intent of chat using model with a corpora. To get the trained model, we will use the classifier to categorize it to weather, location and inventory. After that using RASA-NLU with Spacy library, we will get the entities.

Step 3: After Finding Intent and Entity, we will set model in following method: Intent = Weather: Based on entity specified, We will use weather API to get data about location. Intent = Location: Following Conversation flow: Get Stores located or Any Nearby Stores Choose Store Inventory Details about Store

Step 4: Use cache mechanism to give result about recently used query.

Students will be involved in following features:
a) Completing chat bot so that it works on multiple domain specified through config.
b) Adding classification techniques for intent seperation.
c) Automated method for Entity creation from sentences.
d) Use cache mechanism to give result about recently used query.
e) At the end, the deliverable will be to implement user interface for a sample chatbot implemented.
f) We will also extend it to create plugin for companies requiring chatbot. They can put their domain in config file and data separately to give personalized result.


You must be logged in to comment on this project.

Satyam, Sunday, May 19, 03:31 UTC

To mainstream our discussions for project and org related queries, Please join our slack channel through https://scalability4all.github.io.

jievince, Thursday, May 9, 05:27 UTC

I am interested in it.

Archana Priyadarshani Sahoo, Monday, May 6, 13:52 UTC

Hello Sir,
I and my teammate are interested in your project.

Ashita Gaur, Friday, April 19, 17:00 UTC

Hello sir,
I'm very interested in your project and I have all the required skills for this project.

Satyam, Monday, April 8, 18:11 UTC

Hi, To get started: First try to read README.md of the project. Then you can try running the project on local machine by following installation instructions in readme. Later try to understand main code of the repository.

Kritika Rupauliha, Monday, April 8, 15:43 UTC

Hey Satyam, I would love to contribute to your project. Can you guide me on how to get started?