Humble attempt at inducing more emotion-based personalization in playlist recommendation (similar to Spotify's Daylists).
So I developed a RAG using the Langchain LLMs and HuggingFaceHub model to perform sentiment analysis on BTS songs lyrics translations and suggest a playlist and set of quotes from the songs according to the user's emotions.

- Langchain
- NLTK
- HuggingFaceHub
- Streamlit
- Beautifulsoup
- Pandas
- JSON
- Scrape data from
to obtain all BTS songs and their lyrics with translations
- Clean the scraped data and extract only the translations into a JSON
- Create two Langchain LLMs using the HuggingFaceHub model to perform sentimental analysis and obtain
- emotion for every line translation for every song in the JSON
- the overall emotion of each song
- Save the results in a consolidated dataset
- Using Streamlit obtain user input for any emotions and derive the appropriate playlist and quotes for the user based on the emotions
Clone the repository and run the emotion_chatbot.py file using Streamlit
streamlit run emotion_chatbot.py
- Use feedback loop mechanisms to understand user's listening patterns to decipher emotion based recommendation better
- Develop an interactive and fun frontend