/oc_ingenieur-ia_P6-Ameliorez-le-produit-IA-de-votre-start-up

Repository of OpenClassrooms' AI Engineer path, project #6 : use NLP and CV techniques to understand and visualize restaurant reviews data.

Primary LanguageJupyter NotebookGNU General Public License v3.0GPL-3.0

Python application CodeQL Codacy Badge Codacy Badge


Avis Restau : improve the AI product of your start-up

Repository of OpenClassrooms' AI Engineer path, project #6

Goal : use Scikit-Learn and Keras conduct NLP, sentiment analysis and topic modeling on textual reviews, and CV for image classification.

You can see the results here :

Installation

Prerequisites

Virtual environment

# python -m venv env
# > or just :
make venv
source env/bin/activate

Dependencies

# pip install --upgrade jupyterlab ipykernel ipywidgets widgetsnbextension graphviz python-dotenv requests matplotlib seaborn plotly numpy statsmodels pandas sklearn lightgbm nltk spacy gensim pyldavis Pillow scikit-image opencv-python tensorflow
# > or :
# pip install -r requirements.txt
# > or just :
make install

Usage

Run Notebook

jupyter-lab notebooks/main.ipynb

Quality Assurance

# make isort
# make format
# make lint
# make bandit
# make mypy
# make test
# > or just :
make qa

Troubleshooting

  • Fix Plotly issues with JupyterLab

cf. Plotly troubleshooting

jupyter labextension install jupyterlab-plotly
  • If using Jupyter Notebook instead of JupyterLab, uncomment the following lines in the notebook
import plotly.io as pio
pio.renderers.default='notebook'