rsanjabi / narratives

An implicit recommendation system for AO3-based fanworks.

Home Page:http://fanrecs.com/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

narratives

A fanworks recommender system. Pulls data from Archive of Our Own, including named kudos for works, to create an implicit, item-to-item recommendation. Currently only a sub-network of works have been scraped. See the web page for details.

Elements of architecture:

  • Scrapes a list of all fandoms (not currently used for scraping meta-data, but future releases will use this list for determining what to scrape next)
  • Scrapes meta-data for each individual work, given a fandom
  • Inserts meta-data into a PostgreSQL database.
  • Scrapes the names of kudos for each work in the database.
  • matrix.py generates a recommender model based on implicit library and data in the database at the time.
  • A Flask App does the web-based inference when given a fanworks AO3 ID number, returning a list of 10 IDs (plus meta-data).

Caveats

  • Hosted on Heroku hobby tier, there is a lag when visiting the site for the first time, as the Flask app starts.
  • A

About

An implicit recommendation system for AO3-based fanworks.

http://fanrecs.com/

License:MIT License


Languages

Language:Python 58.9%Language:CSS 26.2%Language:Jupyter Notebook 8.9%Language:HTML 6.0%