A product recommendation engine that uses ML models on real Reddit reviews, using Microsoft Azure.
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.
-
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
- 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)
-
Setup database to store reddit data that is fed into ML model (Azure Storage Table)
-
Utilize Azure Cognitive services to extract comments for keywords, sentiment analysis, and identify entities
- Create CI/CD YAML pipeline w/ ARM templates to automatically build, test, and deploy components and Azure resources
-
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
- Create Flask based RESTful API for Redditmends
- Create front-end UI based on Flask API
- Create Doxygen (or similar) API documentation
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.