Skip to content

A product recommendation engine using ML models on real Reddit reviews.

License

Notifications You must be signed in to change notification settings

AndrewMcClelland/Redditmends

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redditmends

A product recommendation engine that uses ML models on real Reddit reviews, using Microsoft Azure.

Purpose

Redditmends bot is a reddit bot that will parse Reddit submissions, comments, and private messages for users requesting a reccomendation for a certain product and return reccomendations using ML models based on real reddit data.

To-Do

Core

  • Setup connection to PRAW
  • Implement functionality for calling [pushshift.io] API
  • RSS reading for subreddits
  • Parse bot inbox for private message reccomendation requests
  • Send message and comment replies with recommendations

WebApp Crawler

  • Create Azure WebApp to crawl Subreddits on a TimeTrigger basis to store recommendations and associated keywords in storage table (information fetch from Reddit will be independent from client side calls now)

Database

  • Setup database to store reddit data that is fed into ML model (Azure Storage Table)

ML Model

  • Utilize Azure Cognitive services to extract comments for keywords, sentiment analysis, and identify entities

DevOps

  • Create CI/CD YAML pipeline w/ ARM templates to automatically build, test, and deploy components and Azure resources

Add-Ons

  • Implement Azure Keyvault to store and access secrets
  • Custom logger (Azure Log Analytics)
  • Custom exception handler and trace events (Azure App Insights)
  • Bot stats (number of searches, accuracy, uptime, etc.)
  • Requirements file to easily install package dependencies

Web App

  • Create Flask based RESTful API for Redditmends
  • Create front-end UI based on Flask API
  • Create Doxygen (or similar) API documentation

Acknowledgements

Special thanks to Watchful1's RemindMeBot and TylerBrockett's Alert-Bot-Reddit for the inspiration, and to dwyl's english-words for the English dictionary json.