Skip to content

Search Engine that returns list of songs and lyrics matching a user's inputted mood

Notifications You must be signed in to change notification settings

LikitaR/Search-Engine

Repository files navigation

Search-Engine

A python base web search engine to generate list of songs and lyrics based on user's mood.

The project objective is to create a search engine that takes user input in the form of an emotion that the user is feeling and lists out songs and corresponding lyrics which match that emotion. User can enter their mood and get corresponding songs and lyrics accordingly.

Sections




Picked a data source that would guarantee to have all songs ever made and that it is frequently updated so that we have an updated repository as well. www.azlyrics.com

Techniques Used

back to top

  • Scraping the site to get all the song and lyrics --> SiteSucker

  • Cleaning the data --> Spacy

  • Tf-idf and vectorization --> Spacy

  • Array of all songs --> Numpy.array()

  • Cosine Similarity for matching query and results -->sklearn.metrics

  • Integration with HTML webpage as Frontend --> Flask

  • User Testing



Search Algorithm

back to top

The search algorithm is based on mapping vector values

The user input is converted into its vector representation.

All the songs in the database are vectorized and stored in an array.

The cosine similarity is calculated between the user query and the available songs vector matrix.

The closest matching values and hence the corresponding songs are returned to the user on the web page.



Results

back to top

The search engine looks as follows:

The results displayed as below:

About

Search Engine that returns list of songs and lyrics matching a user's inputted mood

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published