-
CréateurSujet
-
octobre 30, 2024 à 1:11 am #43389BotParticipant
salut j’ai fait un code pour une ia en deep learning qui sert de chatbot en python et j’aimerais avoir votre avis dessus
——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
CréateurSujet
-
AuteurRéponses
-
-
octobre 30, 2024 à 1:12 am #43390
voilà le fameux code
——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:13 am #43391
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split
import json# Charger les données (exemple avec un fichier JSON)
with open(‘chat_data.json’) as f:
data = json.load(f)# Séparer les questions et les réponses
questions = []
answers = []
for conversation in data[‘conversations’]:
for exchange in conversation[‘exchange’]:
questions.append(exchange[‘question’])
answers.append(exchange[‘answer’])# Créer un ensemble de données et le diviser en ensemble d’entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(questions, answers, test_size=0.2)——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:14 am #43392
import numpy as np
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from sklearn.model_selection import train_test_split
import json# Charger les données (exemple avec un fichier JSON)
with open(‘chat_data.json’) as f:
data = json.load(f)# Séparer les questions et les réponses
questions = []
answers = []
for conversation in data[‘conversations’]:
for exchange in conversation[‘exchange’]:
questions.append(exchange[‘question’])
answers.append(exchange[‘answer’])# Créer un ensemble de données et le diviser en ensemble d’entraînement et de test
X_train, X_test, y_train, y_test = train_test_split(questions, answers, test_size=0.2)——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:14 am #43393
# Tokenisation et séquençage
tokenizer = keras.preprocessing.text.Tokenizer()
tokenizer.fit_on_texts(X_train)# Convertir le texte en séquences
X_train_seq = tokenizer.texts_to_sequences(X_train)
X_test_seq = tokenizer.texts_to_sequences(X_test)# Padding des séquences
max_length = max(len(x) for x in X_train_seq) # Longueur maximale
X_train_pad = keras.preprocessing.sequence.pad_sequences(X_train_seq, maxlen=max_length)
X_test_pad = keras.preprocessing.sequence.pad_sequences(X_test_seq, maxlen=max_length)# Préparation des réponses
# (vous devrez transformer les réponses de la même manière que les questions)
y_train_seq = tokenizer.texts_to_sequences(y_train)
y_test_seq = tokenizer.texts_to_sequences(y_test)
y_train_pad = keras.preprocessing.sequence.pad_sequences(y_train_seq, maxlen=max_length)
y_test_pad = keras.preprocessing.sequence.pad_sequences(y_test_seq, maxlen=max_length)——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:14 am #43394
# Construire le modèle
model = keras.Sequential([
layers.Embedding(input_dim=len(tokenizer.word_index) + 1, output_dim=128, input_length=max_length),
layers.LSTM(256, return_sequences=True),
layers.LSTM(256),
layers.Dense(128, activation=’relu’),
layers.Dense(len(tokenizer.word_index) + 1, activation=’softmax’) # Sortie pour toutes les classes
])# Compiler le modèle
model.compile(loss=’sparse_categorical_crossentropy’, optimizer=’adam’, metrics=[‘accuracy’])——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:14 am #43395
# Entraîner le modèle
model.fit(X_train_pad, np.array(y_train_pad), epochs=10, batch_size=32)——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:14 am #43396
def chatbot_response(input_text):
# Prétraitement de l’entrée
input_seq = tokenizer.texts_to_sequences([input_text])
input_pad = keras.preprocessing.sequence.pad_sequences(input_seq, maxlen=max_length)# Prédiction
prediction = model.predict(input_pad)
response_index = np.argmax(prediction, axis=-1)
response = tokenizer.sequences_to_texts([response_index])return response[0]
# Exemple d’utilisation
while True:
user_input = input(« Vous: « )
if user_input.lower() == « exit »:
break
response = chatbot_response(user_input)
print(f »Bot: {response} »)——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:17 am #43397
voilà je l’ai diviser en 5 étapes : la première étape préparation des données, deuxième étape Prétraitement des Données , troisième étapes Construction du Modèle , quatrième étapes Entraînement du Modèle et cinquième étapes Déploiement du Chatbot
——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code -
octobre 30, 2024 à 1:19 am #43398
ah oui aussi ce code fonctionne avec TensorFlow et Keras
——————–
alexlebg2.0 – Envoyé depuis le Discord : Culte du code
-
-
AuteurRéponses
- Vous devez être connecté pour répondre à ce sujet.
Sujets récents
-
aide pour vérifier mon code
par Bot
il y a 8 secondes
-
probleme en C calculatrice
par Bot
il y a 3 heures et 44 minutes
-
erreur avec mes tests sur jest projet en symfony et php
par Bot
il y a 12 heures et 58 minutes
-
clavier corsair
par Bot
il y a 1 jour et 7 heures
-
Calculatrice en C
par Bot
il y a 2 jours et 5 heures
Réponses récentes
Statistiques des Forums
- Comptes enregistrés
- 2 576
- Forums
- 51
- Sujets
- 899
- Réponses
- 16 866
- Mot-clés du sujet
- 0