Skip to content

About

The Review Radar an innovative, open-source solution designed to aggregate, process, and analyze vast amounts of review data from various online platforms. It is a powerful tool that leverages cutting-edge technologies to provide insights into consumer sentiments, trends, and feedback patterns

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Repository files navigation

ReviewRadar

How to run the project

Install Python dependencies in the activated Python environment:

pip install -r requirements.txt

Proxy awareness:

pip install --proxy=http://icache.intracomtel.com:80 -r requirements.txt

Specifically for sqlalchemy, do an upgrade if necessary:

pip install --upgrade --force-reinstall flask-sqlalchemy sqlalchemy

Create a new API key and set it to the OPENAI_API_KEY environment variable beforehand.

On Windows:

set OPENAI_API_KEY="sk-..."

Install Tesseract to perform text recognition (OCR = optical character recognition). The latest installer can be downloaded here. Tesseract should be installed in the directory which is suggested during the installation. The path for Tesseract will be:

C:\Program Files\Tesseract-OCR\tesseract.exe
  • Add a new PATH in the environment variables that points to C:\Program Files\Tesseract-OCR
  • Set a new varable named TESSDATA_PREFIX that points to C:\Program Files\Tesseract-OCR\tessdata
  • (You may need to open VSCode in Administrator mode)

Before running the app, run the following command to download individual data packages neccesary for NLTK (if behind a proxy, enable the line in the punkt.py file):

python punkt.py

Run the Streamlit project:

streamlit run app.py

Resources

Future Enhancements:

Files Descriptions

  • Recipes.ipynb Cleans dataset RecipeReviews.csv and add a column in the end with the BERT sentiment analysis (grading 1 to 5). Then saves the new dataset as RecipeReviewsNew.csv

  • app.py Starting point: the main dashboard in Streamlit

  • st_opencv.py OpenCV video in Streamlit connected to smartphone camera

  • views/st_search.py Search with keywords component - based on streamlit-tags

  • views/st_gpt.py Ask OpenAI API for insights on Dataset

  • views/st_createImage.py GenAI image generation, let AI imagine how a dish looks like

  • views/st_menu.py Create your own personalised menu

  • views/st_wordcloud.py Generates a wordcloud on the fly based on reviews' most popular words, also displays top words related to food based on Natural Language Toolkit (NLTK) library

  • views/st_feedback.py Shows rating of 1 to 5 stars for reinforcement learning

  • views/st_insights.py Proposing points of improvement for recipes, showing top recipes, etc

  • views/st_ocr.py OCR reads from mobile camera, matches results with pickle dataset and grades them based on star rating in dataset

  • punkt.py Must run before running main app, to download individual data packages neccesary for NLTK (if behind a proxy, enable the line in the punkt.py file)

  • keywords.py Displays top keywords extracted from the 'text' column of the dataset related to food based on Natural Language Toolkit (NLTK) library

  • ocr.py OCR reads image images/menu.png, matches results with pickle dataset and grades them based on star rating in dataset

  • convert_to_pickle.py Given a .csv file inside /data folder, it converts it to /data/recipes.pkl

Tech Stack

python jupyter flask sqlalchemy pandas numpy opencv

About

The Review Radar an innovative, open-source solution designed to aggregate, process, and analyze vast amounts of review data from various online platforms. It is a powerful tool that leverages cutting-edge technologies to provide insights into consumer sentiments, trends, and feedback patterns

Topics

Resources

Stars

2 stars

Watchers

2 watching

Forks

Used by

Contributors

Languages