0% found this document useful (0 votes)
19 views

Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views

Project

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Project:-Chatbot Song Recommender System

Objective:-In this project, we would be combining multiple services and open-source tools to make a
Chatbot that recommends songs based on the tone of the conversation the user is having with the
chatbot

Project Context:-The purpose of chatbots is to support and scale business teams in their relations
with customers. It could live in any major chat applications like Facebook Messenger, Slack, Telegram,
Text Messages, etc. Chatbot applications streamline interactions between people and services,
enhancing customer experience. At the same time, they offer companies new opportunities to
improve the customer engagement process and operational efficiency by reducing the typical cost of
customer service. This project is focused on building a custom chatbot that will be your fundamental
step in the learning curve of building your professional chatbots.

But you must be tired of the weird chatbots out there in the world which are made for mainly
business purposes. In this project, we would be building an extensive Chatbot service, to which you
can talk to. And talking to a chatbot wouldn't be business-driven. It would just be casual
conversations. Further, on top of it, the chatbot would also be recommending songs to the user
based on the tone of the user. This song recommendation feature employs the use of Last.fm API,
very similar to the popular Spotify API. Also for tone/emotion analysis of the conversation, we will be
using the IBM Tone Analyzer API.

Collaborating with these types of APIs is very much critical as in today's world the popular chatbots
do much more than simply have a data-driven conversation; to supplement additional user-oriented
features. Also, the reason for choosing Python to build the chatbot is that Python boasts a wide array
of open-source libraries for chatbots, including sci-kit-learn and TensorFlow. It is great for small data
sets and more simple analyses; Also, Python's libraries are much more practical.

Architecture:-

High-Level Approach:-

• User starts the conversation

• Emotional Analysis of the conversation is done using the IBM Emotional API

• Get the reply to the conversation from the Cakechat Chatbot

• Based on the Emotion that the app perceives, top songs are retrieved using Last. fm songs API
• If a user listens to a particular song for some time, a similar song would be recommended to the
user using Last.fm API.

Primary goals:-

• Setting up an open-source project locally and handling the errors being faced

• Using multiple services to build up a new service over them.

• Having a real-world chatbot, to which you can chat like you chatting to a real person and enjoying
the music recommended by the system.

Task 1:- Setting up the CakeChat Chatbot Server locally.

Since Chatbot is the main part of the project, we would be setting up the Chatbot first. This part
alone would give you a strong understanding of the project. In this milestone, you need to install
Cakechat Chatbot from this GitHub Repository https://github.com/lukalabs/cakechat.

Requirements:-

• Create a virtual environment of python-3.

• Fork and Clone the GitHub repository onto your local machine.

• Install the dependencies as specified here GitHub - lukalabs/cakechat: CakeChat: Emotional


Generative Dialog System.

• Load the pre-trained model by following the steps specified here GitHub - lukalabs/cakechat:
CakeChat: Emotional Generative Dialog System.

• Run and test the Cakechat Server as specified here GitHub - lukalabs/cakechat: CakeChat:
Emotional Generative Dialog System

References:-

• Cakechat Github Repository GitHub - lukalabs/cakechat: CakeChat: Emotional Generative Dialog


System

• Installing the dependencies GitHub - lukalabs/cakechat: CakeChat: Emotional Generative Dialog


System

• Loading the pre-trained model GitHub - lukalabs/cakechat: CakeChat: Emotional Generative Dialog
System

• Running and Testing the Cakechat Server GitHub - lukalabs/cakechat: CakeChat: Emotional
Generative Dialog System

Expected Outcome:-

• By the end, you will be having a running Cakechat Chatbot Server on your system and you would
be able to get a response based on a conversation like shown below:-
python tools/test_api.py -f 127.0.0.1 -p 8080 \ >

-c "Hi, Eddie, what's up?" \ >

-c "Not much, what about you?" \ >

-c "Fine, thanks. Are you going to the movies tomorrow?"

You might also like