ChatterBot è un motore di conversazione basato su machine learning costruito con Python che rende possibile generare risposte automatiche basate su collezioni di conversazioni conociute. Un'architettura indipendente dalla lingua scelta permette a ChatterBot di essere allenato per parlare qualsiasi lingua.
Read in English Leia em Português Leer en español Leggi in Italiano
Un esempio di conversazione tipica è il seguente:
utente: Buongiorno! Come stai?
bot: Benissimo, grazie per la domanda.
user: Prego.
bot: Ti piacciono i cappelli?
Un'istanza non allenata di ChatterBot nasce senza alcuna conoscenza di come comunicare. Ogni volta che l'utente inserisce una frase, la libreria salva il testo inserito e il rispettivo testo di risposta. Più aumenta il numero di frasi, maggiore diventano accuratezza e numero di frasi di risposta in relazione all'input inserito. Il programma seleziona la risposta ottimale cercando fra le domande conosciute la più simile a quella fornita, restituendo la risposta più probabile in base al numero di risposte fornite dagli utenti nelle conversazioni avute fino a quel momento.
Il pacchetto può essere installato da PyPi usando:
pip install chatterbot
from chatterbot import ChatBot
chatbot = ChatBot(
'Ron Obvious',
trainer='chatterbot.trainers.ChatterBotCorpusTrainer'
)
# Allena il bot con il dizionario inglese
chatbot.train("chatterbot.corpus.english")
# Ottieni una risposta ad una domanda
chatbot.get_response("Hello, how are you today?")
Chatterbot include una utility che può essere usata per allenare i chat bots. Al momento, tre lingue sono supportate, e sono l'inglese, lo spagnolo e il portoghese. Contributi addizionali o contributi in altre lingue sono sempre i benvenuti. A questo fine, controllate la cartella chatterbot/corpus se siete interessati a contribuire al progetto.
# Allena il bot con il dizionario inglese
chatbot.train("chatterbot.corpus.english")
# Allena il bot con il dizionario inglese dei saluti
chatbot.train("chatterbot.corpus.english.greetings")
# Allena il bot con il dizionario inglese delle conversazioni
chatbot.train("chatterbot.corpus.english.conversations")
Miglioramenti del corpus da parte degli utenti sono i benvenuti! Fate una pull request.
Leggete la documentazione di ChatterBot su Read the Docs.
Per creare voi stessi la documentazione usando Sphinx, girate:
sphinx-build -b html docs/ build/
Per leggere qualche esempio, vedete la cartella esempi.
Abbiamo incluso anche un esempio di un progetto Django che usa ChatterBot, così come un esempio di un progetto Flask che usa ChatterBot.
Vedete le note di rilascio per i cambiamenti: https://github.com/gunthercox/ChatterBot/releases
- Create un fork del repo principale di ChatterBot su GitHub.
- Implementate i vostri cambiamenti in una branch diversa da
master
(ad esempio, create una branch chiamatanuove-modifiche
. - Create una pull request.
- Per favore, seguite le linee guida sullo stile di Python per PEP-8.
- Usate la funzione di test automatico del progetto per assicurarvi che il vostro contributo sia privo di errori.