Pour créer un bot Python qui répond à des questions sur le module lunaire en espagnol avec un ton narrateur, nous pouvons utiliser des bibliothèques comme `chatterbot` pour la gestion des réponses et `translate` pour la traduction. Voici un exemple de code pour construire ce bot :
« `python
from chatterbot import ChatBot
from chatterbot.trainers import ChatterBotCorpusTrainer
from googletrans import Translator
# Initialisation du traducteur
translator = Translator()
# Initialisation du bot
chatbot = ChatBot(
‘Module Lunaire’,
storage_adapter=’chatterbot.storage.SQLStorageAdapter’,
input_adapter=’chatterbot.input.TerminalAdapter’,
output_adapter=’chatterbot.output.TerminalAdapter’,
logic_adapters=[
‘chatterbot.logic.BestMatch’
],
database_uri=’sqlite:database.sqlite3′
)
# Entraînement du bot avec des phrases en anglais
trainer = ChatterBotCorpusTrainer(chatbot)
trainer.train(« chatterbot.corpus.english »)
# Fonction pour traduire les réponses en espagnol
def traducir_al_espanol(texto):
traducido = translator.translate(texto, dest=’es’)
return traducido.text
# Fonction pour répondre avec un ton narrateur
def responder_como_narrador(pregunta):
respuesta = chatbot.get_response(pregunta)
respuesta_traducida = traducir_al_espanol(str(respuesta))
return f »{respuesta_traducida}. »
# Boucle pour interagir avec le bot
print(« Bienvenido al bot del módulo lunar. Puede hacer preguntas sobre el módulo lunar en español. »)
while True:
pregunta = input(« \nPregunta: « )
if pregunta.lower() in [‘salir’, ‘exit’]:
break
respuesta = responder_como_narrador(pregunta)
print(respuesta)
print(« Hasta luego! »)
« `
### Explications du code :
1. Importation des bibliothèques :
– `chatterbot` pour la création et l’entraînement du bot.
– `googletrans` pour la traduction des réponses en espagnol.
2. Initialisation du traducteur :
– Utilisation de `googletrans.Translator()` pour traduire les réponses.
3. Initialisation du bot :
– Création d’un bot avec `ChatBot` en utilisant un adaptateur de stockage SQLite, un adaptateur d’entrée terminal et un adaptateur de sortie terminal.
– Entraînement du bot avec le corpus anglais fourni par `chatterbot`.
4. Fonction de traduction :
– `traducir_al_espanol` traduit le texte en espagnol.
5. Fonction de réponse avec un ton narrateur :
– `responder_como_narrador` obtient la réponse du bot et la traduit en espagnol.
6. Boucle d’interaction :
– Le bot demande à l’utilisateur de poser des questions et répond en espagnol jusqu’à ce que l’utilisateur décide de quitter.
### Remarques :
– Ce bot est basique et peut être amélioré en ajoutant plus de données spécifiques sur le module lunaire.
– Pour une utilisation en production, il serait préférable d’utiliser des API de traduction plus robustes et de gérer les erreurs de manière appropriée.
Ce bot devrait être capable de répondre à des questions sur le module lunaire en espagnol avec un ton narrateur.