Chatbot che utilizza la libreria NLTK | Costruisci Chatbot in Python usando NLTK

Contenuti

Questa è la bellezza di un chatbot. Un chatbot è un software basato sull'intelligenza artificiale applicato alla PNL che si occupa degli utenti di gestire le loro domande specifiche senza interferenze umane.

39933chatbots20feature20img-8425875

Sommario

  • Breve sui chatbot
  • Qual è la necessità dei chatbot??
  • Tipi di chatbot
    • Chatbot basati su regole
    • Chatbot ad autoapprendimento
  • Chatbot che usa Python
  • Chatbot che utilizza Python e NLTK
  • Note finali

Breve introduzione su Chatbot

Un chatbot è un'applicazione intelligente che riduce il lavoro umano e aiuta un'organizzazione a risolvere le richieste di base dei clienti. Oggi, la maggior parte delle aziende, imprese di diversi settori, usano il chatbot in modo diverso per rispondere ai propri clienti il ​​più rapidamente possibile. I chatbot aiutano anche ad aumentare il traffico del sito, qual è il motivo principale per utilizzare i chatbot.

Chatbot richiede informazioni di base dai clienti, come il nome, l'indirizzo email e la domanda. Se una query è semplice, come guasto del prodotto, errore di prenotazione, bisogno di informazioni, quindi senza alcuna connessione umana può risolverlo automaticamente e se qualche problema è alto, passa i dettagli alla testa umana e aiuta il cliente a connettersi facilmente con il manager dell'organizzazione. E alla maggior parte dei clienti piace trattare e parlare con un chatbot.

Perché abbiamo bisogno dei Chatbot??

  • Efficace in termini di costi e tempo ~ Gli umani non possono essere attivi sul sito. 24 ore del giorno, il 7 giorni della settimana, ma i chatbot possono e la reattività dei chatbot è molto più veloce degli umani.
  • Costo dello sviluppo economico ~ Con il progresso della tecnologia, vengono sviluppati molti strumenti che facilitano lo sviluppo e l'integrazione di chatbot con pochi investimenti.
  • Risorse umane ~ Oggi, i chatbot possono anche parlare con la tecnologia di testo o vocale, quindi dà la sensazione che un umano stia parlando dall'altra parte.
  • Marchio ~ Le aziende stanno cambiando con la tecnologia e il chatbot è uno di questi. Chatbot aiuta anche nella pubblicità, branding dei prodotti e servizi dell'organizzazione e fornisce aggiornamenti quotidiani agli utenti.

Tipi di chatbot

Ci sono principalmente 2 tipi di chatbot.

1) Chatbot basati su regole – Come suggerisce il nome, ci sono alcune regole su cui opera il chatbot. Come modello di apprendimento automatico, formiamo i chatbot sulle intenzioni degli utenti e sulle risposte pertinenti, e sulla base di queste intenzioni, il chatbot identifica l'intenzione e la risposta del nuovo utente nei suoi confronti.

2) Chatbot ad autoapprendimento – I bot di autoapprendimento sono molto efficienti perché sono in grado di catturare e identificare da soli l'intento dell'utente. sono costruiti utilizzando strumenti e tecniche di apprendimento automatico avanzati, apprendimento profondo y PNL. I bot di autoapprendimento sono a loro volta suddivisi in 2 sottocategorie.

  • Chatbot basati sul recupero: – Basato sul recupero è in qualche modo simile a basato su regole, dove sono incorporati modelli di input e risposte predefiniti.
  • Chatbot generativi: – Se basa en el mismo fenómeno que la traducción automática se basa en la creación de una neuronale rosso de secuencia 2 sequenze.

La maggior parte dell'organizzazione utilizza un chatbot di autoapprendimento insieme all'incorporazione di alcune regole come versione ibrida di entrambi i metodi, cosa rende il chatbot potente per gestire ogni situazione durante una conversazione con un cliente.

Creane uno per te usando Python

Ora abbiamo un'immensa comprensione della teoria dei chatbot e dei suoi progressi in futuro.. Sporciamoci le mani costruendo un semplice chatbot basato su regole usando Python per noi stessi.

Diseñaremos una GUI simple usando el módulo Python Tkinter con el cual crearemos un casella di testo y un botón para enviar la intención del usuario y, sull'azione, creeremo una funzione in cui abbineremo l'intenzione dell'utente e risponderemo a loro in base alla loro intenzione. Se non hai il modulo Tkinter installato, prima installalo usando il comando pip.

pip install tkinter
dall'importazione di tkinter *
radice = Tk()
root.title("Chatbot")
def inviare():
    invia = "Voi -> "+e.get()
    txt.insert(FINE, "n"+Inviare)
    utente = e.get().inferiore()
    Se(utente == "Ciao"):
        txt.insert(FINE, "n" + "Bot -> Ciao")
    elifa(utente == "Ciao" o utente == "questo" o utente == "ciao"):
        txt.insert(FINE, "n" + "Bot -> Ciao")
    elifa(e.get() == "come va"):
        txt.insert(FINE, "n" + "Bot -> bene! e tu")
    elifa(utente == "bene" o utente == "sono buono" o utente == "sto facendo bene"):
        txt.insert(FINE, "n" + "Bot -> Grande! Come posso aiutarla.")
    altro:
        txt.insert(FINE, "n" + "Bot -> scusate! non ti avevo")
    e.cancella(0, FINE)
txt = Testo(radice)
txt.grid(riga=0, colonna=0, ampiezza colonna=2)
e = Entrata(radice, larghezza=100)
e.grid(riga=1, colonna=0)
invia = pulsante(radice, testo="Spedire", comando=invia).griglia(riga=1, colonna=1)
root.mainloop()

Spiegazione – Per prima cosa abbiamo creato una finestra vuota, in seguito, creiamo un campo di testo utilizzando il metodo di input e un widget pulsante che quando si attivano le chiamate, funzione invia e, In cambio, ottenere la risposta dal chatbot. Abbiamo utilizzato un'istruzione di controllo If-else di base per creare un semplice chatbot basato su regole. E puoi interagire con il chatbot eseguendo l'applicazione dall'interfaccia e puoi vedere il risultato come mostrato di seguito.

76583simple20chatbot-3621175

Implementazione di Chatbot utilizzando la libreria Python NLTK

NLTK è l'acronimo di Natural Language Toolkit utilizzato per gestire le applicazioni NLP e il chatbot è uno di questi. Ora andremo avanti con i nostri chatbot basati su regole utilizzando la libreria NLTK. Installare innanzitutto la libreria NLTK prima di utilizzare il comando pip.

pip instal nltk

La prima cosa è importare la libreria e le classi che dobbiamo usare.

import nltk
from nltk.chat.util import Chat, Riflessioni
  • Chiacchierata – La chat è una classe che contiene una logica completa per elaborare i dati di testo che il chatbot riceve e trovare informazioni utili da esso.
  • Riflessioni – Un'altra importazione che abbiamo fatto sono le riflessioni, che è un dizionario che contiene l'input di base e gli output corrispondenti. Puoi anche creare il tuo dizionario con più risposte di quelle che vuoi. Se si stampano riflessi, sarà qualcosa di simile a questo.
riflessi = {
  "Io sono"       : "siete",
  "Ero"      : "eri",
  "io"          : "tu",
  "Sono"        : "siete",
  "vorrei"        : "vorresti",
  "ho"       : "hai",
  "i'll"       : "desideri",
  "mio"         : "La tua",
  "siete"    : "sono",
  "eri"   : "ero",
  "tu hai"     : "Io ho",
  "tu"     : "lo farò",
  "La tua"       : "mio",
  "il vostro"      : "mio",
  "tu"        : "me",
  "me"         : "tu"
}

iniziamo a costruire la logica per il chatbot NLTK.

Dopo aver importato le librerie, prima dobbiamo creare delle regole. Le righe di codice mostrate di seguito creano un semplice insieme di regole. la prima riga descrive l'input dell'utente che abbiamo preso come input di stringa non elaborata e la riga successiva è la nostra risposta del chatbot. Puoi modificare queste coppie in base alle domande e alle risposte che desideri.

coppie = [
    [
        R"Il mio nome è (.*)",
        ["Ciao %1, Come stai oggi ?",]
    ],
    [
        R"Ciao|Hey|Ciao",
        ["Ciao", "Ehilà",]
    ], 
    [
        R"come ti chiami ?",
        ["Sono un bot creato da DataPeaker. puoi chiamarmi pazzo!",]
    ],
    [
        R"come va ?",
        ["Sto bene e tu? ?",]
    ],
    [
        R"spiacente (.*)",
        ["Va tutto bene","Va bene, non importa",]
    ],
    [
        R"sto bene",
        ["È bello sentirlo, Come posso aiutarla?",]
    ],
    [
        R"Sono (.*) fare del bene",
        ["È bello sentirlo","Come posso aiutarla?:)",]
    ],
    [
        R"(.*) età?",
        ["Sono un programma per computer dudenSeriamente mi stai chiedendo questo?",]
    ],
    [
        R"che cosa (.*) volere ?",
        ["Fammi un'offerta che non posso rifiutare",]
    ],
    [
        R"(.*) creato ?",
        ["Raghav mi ha creato usando la libreria NLTK di Python ","segretissimo ;)",]
    ],
    [
        R"(.*) (Posizione|città) ?",
        ['Indore, Madhya Pradesh',]
    ],
    [
        R"com'è il tempo? (.*)?",
        ["Meteo in %1 è fantastico come sempre","Uomo troppo caldo qui dentro %1","Uomo troppo freddo qui dentro %1","Mai nemmeno sentito parlare %1"]
    ],
    [
        R"lavoro in (.*)?",
        ["%1 è un'azienda fantastica, ne ho sentito parlare. Ma sono in grande perdita in questi giorni.",]
    ],
    [
        R"(.*)piove dentro (.*)",
        ["Non piove dalla scorsa settimana qui a %2","Accidenti, sta piovendo troppo qui dentro %2"]
    ],
    [
        R"come (.*) Salute(.*)",
        ["Sono un programma per computer, quindi sono sempre in salute ",]
    ],
    [
        R"(.*) (gli sport|gioco) ?",
        ["Sono un grande fan del calcio",]
    ],
    [
        R"chi (.*) sportivo ?",
        ["Disordinato","Ronaldo","Roony"]
    ],
    [
        R"chi (.*) (Star del cinema|attore)?",
        ["Brad Pitt"]
    ],
    [
        R"sto cercando guide e corsi online per imparare la scienza dei dati, puoi suggerire??",
        ["Crazy_Tech ha molti fantastici articoli con la spiegazione di ogni passaggio insieme al codice, puoi esplorare"]
    ],
    [
        R"uscire",
        ["BBy abbi cura di te. A presto :) ","È stato bello parlare con te. A presto :)"]
    ],
]

Dopo aver creato coppie di regole, definiremo una funzione per avviare il processo di chat. La funzione è molto semplice, prima saluta l'utente e chiedi aiuto. E la conversazione inizia da qui chiamando una classe di chat e trasmettendo coppie e riflessioni..

def chat():
    Stampa("Ciao! Sono un chatbot creato da DataPeaker per il tuo servizio")
    chat = Chat(Coppie, Riflessioni)
    chat.converse()
#initiate the conversation
if __name__ == "__principale__":
    chiacchierare()

Abbiamo creato un fantastico chatbot basato su regole semplicemente usando la libreria Python e NLTK. il nltk.chat funziona in vari modelli di espressioni regolari presenti nell'intento dell'utente e, corrispondente ad esso, presenta l'output a un utente. Eseguiamo l'app e chattiamo con il chatbot creato.

43199nltk_chatbot-1602273

Note finali

I chatbot sono la principale applicazione di elaborazione del linguaggio naturale e oggi è facile da creare e integrare con vari siti Web e siti Web di social media.. Oggi, la maggior parte dei chatbot viene creata utilizzando strumenti come Dialogflow, GUSTO, eccetera. Questa è stata una rapida introduzione ai chatbot per presentare una comprensione di come le aziende si stanno trasformando utilizzando la scienza dei dati e l'intelligenza artificiale..

Grazie per aver seguito l'articolo fino alla fine.. Se hai qualche domanda, postalo nella sezione commenti qui sotto. Se ti piace l'articolo, leggi anche gli altri miei articoli tramite questo link.

Circa l'autore

Raghav Agrawal

Sto conseguendo la mia laurea in informatica. Mi piacciono molto la scienza dei dati e i big data. Amo lavorare con i dati e apprendere nuove tecnologie. Per favore, sentiti libero di connetterti con me su Linkedin.

Il supporto mostrato in questo articolo non è di proprietà di DataPeaker e viene utilizzato a discrezione dell'autore.

Iscriviti alla nostra Newsletter

Non ti invieremo posta SPAM. Lo odiamo quanto te.