romanbredehoft-zama's picture
Update Python version
500d90f
metadata
title: Sentiment Analysis on Encrypted Data Using Fully Homomorphic Encryption
emoji: 🥷💬
colorFrom: yellow
colorTo: yellow
sdk: gradio
sdk_version: 3.2
app_file: app.py
pinned: true
tags:
  - FHE
  - PPML
  - privacy
  - privacy preserving machine learning
  - homomorphic encryption
  - security
python_version: 3.10.11

Sentiment Analysis With FHE

Set up the app locally

  • First, create a virtual env and activate it:
python3 -m venv .venv
source .venv/bin/activate
  • Then, install required packages:
pip3 install pip --upgrade
pip3 install -U pip wheel setuptools --ignore-installed
pip3 install -r requirements.txt --ignore-installed
  • (optional) Compile the FHE algorithm:
python3 compile.py

Check it finish well (with a "Done!"). Please note that the actual model initialization and training can be found in the SentimentClassification notebook (see below).

Launch the app locally

  • In a terminal:
source .venv/bin/activate
python3 app.py

Interact with the application

Open the given URL link (search for a line like Running on local URL: http://127.0.0.1:8888/ in the terminal).

Train a new model

The notebook SentimentClassification notebook provides a way to train a new model. Be aware that the data needs to be downloaded beforehand using the download_data.sh file (which requires Kaggle CLI). Alternatively, the dataset can be downloaded manually at https://www.kaggle.com/datasets/crowdflower/twitter-airline-sentiment

bash download_data.sh