File size: 1,640 Bytes
2dcbc14
2e6248d
2dcbc14
 
 
 
32a09b1
2dcbc14
 
 
500d90f
2dcbc14
 
 
 
68c9ed6
2dcbc14
 
 
 
fee1bf4
2dcbc14
 
 
 
 
 
fee1bf4
2dcbc14
 
 
 
68c9ed6
2dcbc14
 
 
 
 
68c9ed6
 
2dcbc14
68c9ed6
2dcbc14
68c9ed6
2dcbc14
 
 
 
 
 
68c9ed6
2dcbc14
68c9ed6
 
2dcbc14
68c9ed6
2dcbc14
68c9ed6
 
 
 
 
2dcbc14
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
---
title: Sentiment Analysis On Encrypted Data Using Fully Homomorphic Encryption
emoji: 🥷💬
colorFrom: yellow
colorTo: yellow
sdk: gradio
sdk_version: 4.44.0
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:

```bash
python3 -m venv .venv
source .venv/bin/activate
```

- Then, install required packages:

```bash
pip3 install pip --upgrade
pip3 install -U pip wheel setuptools --ignore-installed
pip3 install -r requirements.txt --ignore-installed
```

- (optional) Compile the FHE algorithm:

```bash
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](SentimentClassification.ipynb) (see below).

### Launch the app locally

- In a terminal:

```bash
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](SentimentClassification.ipynb) provides a way to 
train a new model. Be aware that the data needs to be downloaded beforehand using the 
[download_data.sh](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
bash download_data.sh
```