Word of mouth is meant to be a recommendation engine powered by social recommendations. The first milestone in this direction will be to parse recommendations on r/ifyoulikeblank similar to:
[IIL] Alt-J, Glass Animals, Florence + The Machine, [WEWIL?]
Which should be read as If I like Alt-J, Glass Animals and Florence + The Machine, what else will I like. The community than answer with band or songs recommendations. You can see this thread for yourself here.
This is my playground to explore:
- Modern python development environment;
- Crawler and dataset generation;
- Semi-automatic label annotation;
- Leveraging an external onthology of artists and songs;
- Tagging and hopefully attention models;
- Writing a reddit bot for the sake of it.
And now I just started a detour toward text generation to build a band name generator.
You can look in src/crawler.py
to see how to crawl a subreddit using
the pushshift api (more details in this post.
You can look in wordofmouth/gazetteer.py
to see how to generate datasets
from wikidata (more details in this post).
You can look in wordofmouth/dagster/bandaid.py
to see how to generate band
names using a recurrent neural network. More details in this post.
This repo uses poetry and pre-commit. The first time you check out the
repository, please run poetry run pre-commit install
to make sure
only valid code is pushed.