MrBah commited on
Commit
a1ce860
·
verified ·
1 Parent(s): 774df88

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +0 -58
app.py CHANGED
@@ -1,58 +0,0 @@
1
- import gradio as gr
2
- import tensorflow as tf
3
- import numpy as np
4
- import joblib
5
- from tensorflow.keras.preprocessing.sequence import pad_sequences
6
- from transformers import pipeline
7
-
8
- # Fonction de prédiction pour le lstm
9
- def analyser_sentiment_lstm(tweet):
10
- sequence = tokenizer.texts_to_sequences([tweet])
11
- padded = pad_sequences(sequence)
12
- prediction = model.predict(padded)[0]
13
-
14
- sentiment = "Positif" if prediction[0] >= 0.5 else "Négatif"
15
- return {sentiment: float(prediction[0]) if sentiment == "Positif" else 1 - float(prediction[0])}
16
-
17
- def analyser_sentiment_camembert(tweet):
18
- # charger le modèle
19
- sentiment_pipeline = pipeline("sentiment-analysis", model="cmarkea/distilcamembert-base-sentiment")
20
-
21
- # appliquer le modèle
22
- result = sentiment_pipeline(tweet)[0]['label']
23
- return result
24
-
25
-
26
- # Charger le modèle LSTM
27
- model = tf.keras.models.load_model("lstm_model.h5")
28
-
29
- # Charger le tokenizer utilisé pendant l'entraînement
30
- tokenizer = joblib.load('tokenizer.joblib')
31
-
32
- # définir les blocks
33
- demo = gr.Blocks(theme='shivi/calm_seafoam')
34
-
35
- # Interface Gradio
36
- interface1 = gr.Interface(
37
- fn=analyser_sentiment_lstm,
38
- inputs=gr.Textbox(lines=3, placeholder="Entrez un tweet en français ici..."),
39
- outputs=gr.Label(num_top_classes=3),
40
- title="Analyse de Sentiment avec lstm",
41
- description="Entrez un tweet en français pour obtenir son sentiment (positif, négatif)."
42
- )
43
-
44
- interface2 = gr.Interface(
45
- fn = analyser_sentiment_camembert,
46
- inputs=gr.Textbox(lines=3, placeholder="Entrez un tweet en français ici..."),
47
- outputs=gr.Textbox(label='Output'),
48
- title="Analyse de Sentiment avec camembert",
49
- description="Entrez un tweet en français pour obtenir son sentiment."
50
- )
51
-
52
-
53
- # faire un tabbing des interfaces
54
- with demo:
55
- gr.TabbedInterface([interface1, interface2], ['LSTM_SAM', 'CAMEMBERT_SAM'])
56
-
57
- # lancer l'interface
58
- demo.launch()