abdoulayee commited on
Commit
7afc718
·
verified ·
1 Parent(s): 8f47fed

Update app.py

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