Jak zrobić chatbota w Pythonie krok po kroku [Przewodnik po Pythonie Chatterbox]
Opublikowany: 2020-07-27Spis treści
Jak zrobić chatbota w Pythonie?
W ciągu ostatnich kilku lat chatboty w Pythonie stały się szalenie popularne w sektorach technologii i biznesu. Te inteligentne boty tak biegle naśladują naturalne ludzkie języki i rozmawiają z ludźmi, że wykorzystują je firmy z różnych sektorów przemysłu. Od firm zajmujących się handlem elektronicznym po instytucje opieki zdrowotnej, wszyscy wydają się wykorzystywać to sprytne narzędzie do osiągania korzyści biznesowych . W tym artykule dowiemy się o chatbocie używającym Pythona i jak zrobić chatbota w pythonie.
Ucz się uczenia maszynowego online z najlepszych światowych uniwersytetów — studiów magisterskich, programów podyplomowych dla kadry kierowniczej oraz zaawansowanego programu certyfikacji w zakresie uczenia maszynowego i sztucznej inteligencji, aby przyspieszyć swoją karierę.
Co to jest Chatbot?
Chatbot to oprogramowanie oparte na sztucznej inteligencji, zaprojektowane do interakcji z ludźmi w ich naturalnych językach. Te chatboty zwykle rozmawiają za pomocą metod dźwiękowych lub tekstowych i mogą bez wysiłku naśladować ludzkie języki, aby komunikować się z ludźmi w ludzki sposób. Chatbot jest prawdopodobnie jednym z najlepszych zastosowań przetwarzania języka naturalnego.
Chatboty można podzielić na dwa podstawowe warianty – oparte na regułach i samouczące.
Podejście oparte na regułach szkoli chatbota, aby odpowiadał na pytania w oparciu o zestaw wcześniej ustalonych reguł, na podstawie których został początkowo przeszkolony. Te ustalone zasady mogą być bardzo proste lub bardzo złożone. Chociaż chatboty oparte na regułach całkiem dobrze radzą sobie z prostymi zapytaniami, zwykle nie przetwarzają bardziej skomplikowanych zapytań/żądań.
Jak sama nazwa wskazuje, boty samouczące się to chatboty, które mogą uczyć się samodzielnie. Wykorzystują one zaawansowane technologie, takie jak sztuczna inteligencja i uczenie maszynowe, aby uczyć się od instancji i zachowań. Oczywiście te chatboty są znacznie sprytniejsze niż boty oparte na regułach. Samouczące się boty można dalej podzielić na dwie kategorie – Retrieval Based lub Generative.

1. Chatboty oparte na pobieraniu
Chatbot oparty na pobieraniu to taki, który działa na wstępnie zdefiniowanych wzorcach wejściowych i ustawia odpowiedzi. Po wprowadzeniu pytania/wzoru chatbot stosuje podejście heurystyczne, aby udzielić odpowiedniej odpowiedzi. Model oparty na pobieraniu jest szeroko stosowany do projektowania chatbotów zorientowanych na cel z niestandardowymi funkcjami, takimi jak przepływ i ton bota, aby poprawić wrażenia klientów.
2. Chatboty generatywne
W przeciwieństwie do chatbotów opartych na pobieraniu, chatboty generatywne nie opierają się na predefiniowanych odpowiedziach – wykorzystują sieci neuronowe seq2seq. Opiera się to na koncepcji tłumaczenia maszynowego, w którym kod źródłowy jest tłumaczony z jednego języka na inny. W podejściu seq2seq wejście jest przekształcane w wyjście.
Pierwszy chatbot powstał w 1966 roku, kiedy Joseph Weizenbaum stworzył ELIZA, która potrafiła naśladować język psychoterapeuty w zaledwie 200 linijkach kodu. Jednak dzięki szybkiemu postępowi technologii przeszliśmy dziś długą drogę od chatbotów oskryptowanych do chatbotów w Pythonie.
Chatbot w dzisiejszej generacji
Obecnie dysponujemy inteligentnymi Chatbotami opartymi na sztucznej inteligencji, które wykorzystują przetwarzanie języka naturalnego (NLP) do rozumienia ludzkich poleceń (tekstu i głosu) oraz uczenia się na podstawie doświadczenia. Chatboty stały się podstawowym narzędziem interakcji z klientem dla firm i marek, które aktywnie działają w Internecie (strona internetowa i platformy społecznościowe).
Chatboty korzystające z Pythona są sprytnym narzędziem, ponieważ ułatwiają komunikację błyskawiczną między marką a klientem. Pomyśl o Siri firmy Apple, Alexie firmy Amazon i Cortanie firmy Microsoft. Czy to nie jest po prostu cudowne? Nie jesteś już ciekaw, jak zrobić chatbota w Pythonie?
Źródło
Zasadniczo chatbot korzystający z Pythona jest zaprogramowany tak, aby pobierał informacje, które mu dostarczasz, a następnie analizował je za pomocą złożonych algorytmów sztucznej inteligencji i zapewniał pisemną lub ustną odpowiedź. Ponieważ te boty mogą uczyć się na podstawie zachowań i doświadczeń, mogą odpowiadać na szeroki zakres zapytań i poleceń.
Źródło
Chociaż chatbot w Pythonie zaczął już dominować na scenie technologicznej, Gartner przewiduje, że do 2020 roku chatboty będą obsługiwać prawie 85% interakcji klient-marka .
W związku z rosnącą popularnością i przyjęciem chatbotów w branży, możesz zwiększyć swoją wartość rynkową, ucząc się tworzenia chatbota w Pythonie – jednym z najszerzej używanych języków programowania na świecie.
Dziś nauczymy Cię, jak zrobić prostego chatbota w Pythonie za pomocą biblioteki ChatterBot Python. Więc zacznijmy!
Biblioteka ChatterBota
ChatterBot to biblioteka Pythona zaprojektowana do dostarczania automatycznych odpowiedzi na dane wejściowe użytkownika. Wykorzystuje kombinację algorytmów ML do generowania wielu różnych typów odpowiedzi. Ta funkcja umożliwia programistom tworzenie chatbotów za pomocą Pythona, które mogą rozmawiać z ludźmi i dostarczać odpowiednie i trafne odpowiedzi. Nie tylko to, algorytmy ML pomagają botowi poprawić jego wydajność dzięki doświadczeniu.
Kolejną doskonałą cechą ChatterBota jest jego niezależność językowa. Biblioteka została zaprojektowana w sposób, który umożliwia wyszkolenie bota w wielu językach programowania.
Jak działa ChatterBot?
Gdy użytkownik wprowadzi określone dane wejściowe w chatbocie (opracowanym na ChatterBocie), bot zapisuje je wraz z odpowiedzią do wykorzystania w przyszłości. Te dane (zgromadzone doświadczenia) pozwalają chatbotowi generować automatyczne odpowiedzi za każdym razem, gdy wprowadzane są do niego nowe dane wejściowe.
Program wybiera najbardziej pasującą odpowiedź z najbliższej instrukcji, która pasuje do danych wejściowych, a następnie dostarcza odpowiedź z już znanego wyboru stwierdzeń i odpowiedzi. Z biegiem czasu, gdy chatbot angażuje się w więcej interakcji, poprawia się dokładność odpowiedzi.
Źródło
Jak zrobić chatbota w Pythonie?
Przyjrzymy się krok po kroku i przełamiemy proces budowania chatbota w Pythonie.

Aby zbudować chatbota w Pythonie, musisz zaimportować wszystkie niezbędne pakiety i zainicjować zmienne, których chcesz użyć w swoim projekcie chatbota. Należy również pamiętać, że podczas pracy z danymi tekstowymi należy wykonać wstępne przetwarzanie danych w zestawie danych przed zaprojektowaniem modelu ML.
W tym miejscu tokenizacja pomaga w przypadku danych tekstowych — pomaga podzielić duży zestaw danych tekstowych na mniejsze, czytelne fragmenty (takie jak słowa). Gdy to zrobisz, możesz również przejść do lematyzacji, która przekształca słowo w jego formę lematu. Następnie tworzy plik pikle do przechowywania obiektów Pythona, które są używane do przewidywania odpowiedzi bota.
Kolejną istotną częścią procesu rozwoju chatbota jest tworzenie zestawów danych szkoleniowych i testowych.
Teraz, gdy omówiliśmy podstawy tworzenia chatbota w Pythonie, zagłębmy się głębiej w sam proces!
1. Przygotuj zależności
Pierwszym krokiem w tworzeniu chatbota w Pythonie z biblioteką ChatterBot jest zainstalowanie biblioteki w swoim systemie. Najlepiej, jeśli utworzysz i użyjesz do instalacji nowego środowiska wirtualnego Pythona. Aby to zrobić, musisz napisać i wykonać to polecenie w swoim terminalu Pythona:
Możesz także zainstalować najnowszą wersję rozwojową ChatterBot bezpośrednio z GitHub. W tym celu będziesz musiał napisać i wykonać następujące polecenie:
pip zainstaluj git+git://github.com/gunthercox/ChatterBot.git@master
Jeśli chcesz uaktualnić polecenie, możesz to zrobić również:
Teraz, gdy konfiguracja jest gotowa, możemy przejść do następnego kroku, aby stworzyć chatbota za pomocą Pythona.
2. Importuj klasy
Importowanie klas to drugi krok w procesie tworzenia chatbota w Pythonie. Wystarczy zaimportować dwie klasy – ChatBot z chatterbot i ListTrainer z chatterbot.trainers. Aby to zrobić, możesz wykonać następujące polecenie:
3. Twórz i trenuj chatbota
To już trzeci krok tworzenia chatbota w Pythonie. Chatbot, którego utworzysz, będzie instancją klasy „ChatBot”. Po utworzeniu nowej instancji ChatterBot możesz wyszkolić bota, aby poprawić jego wydajność. Szkolenie zapewnia, że bot ma wystarczającą wiedzę, aby zacząć od konkretnych reakcji na określone dane wejściowe. Musisz teraz wykonać następujące polecenie:
Tutaj argument (odpowiadający nazwie parametru) reprezentuje nazwę twojego chatbota w Pythonie. Jeśli chcesz wyłączyć możliwość uczenia się bota po szkoleniu, możesz dołączyć polecenie „tylko do odczytu=True”. Polecenie „logic_adapters” oznacza listę adapterów używanych do trenowania chatbota.
Podczas gdy „chatterbot.logic.MathematicalEvaluation” pomaga botowi w rozwiązywaniu problemów matematycznych, „chatterbot.logic.BestMatch” pomaga mu wybrać najlepsze dopasowanie z listy już dostarczonych odpowiedzi.
Ponieważ musisz podać listę odpowiedzi, możesz to zrobić, określając listy ciągów, które mogą być później użyte do szkolenia Twojego chatbota w Pythonie i znalezienia najlepszego dopasowania dla każdego zapytania. Oto przykład odpowiedzi, których możesz nauczyć swojego chatbota za pomocą Pythona:
Możesz także utworzyć i wyszkolić bota, pisząc instancję „ListTrainer” i dostarczając mu listę ciągów, takich jak:
Teraz Twój chatbot w Pythonie jest gotowy do komunikacji.
4. Komunikuj się z Chatbotem Pythona
Aby wchodzić w interakcję z chatbotem Pythona, możesz użyć funkcji .get_response(). Tak powinno wyglądać podczas komunikacji:
Jednak ważne jest, aby zrozumieć, że chatbot korzystający z Pythona może nie wiedzieć, jak odpowiedzieć na wszystkie Twoje pytania. Ponieważ jego wiedza i szkolenia są nadal bardzo ograniczone, musisz dać mu czas i dostarczyć więcej danych szkoleniowych, aby dalej go szkolić.
5. Wytrenuj swojego chatbota w Pythonie za pomocą korpusu danych
W tym ostatnim kroku tworzenia chatbota w Pythonie, aby jeszcze bardziej wyszkolić swojego chatbota w Pythonie, możesz użyć istniejącego korpusu danych. Oto przykład, jak wytrenować chatbota w Pythonie za pomocą korpusu danych dostarczonych przez samego bota:

Źródło fragmentu kodu
Dobrą rzeczą jest to, że ChatterBot oferuje tę funkcjonalność w wielu różnych językach. Możesz więc również określić podzbiór korpusu w preferowanym języku. Tak tworzymy chatbota w Pythonie.
Wniosek
To, co tutaj zilustrowaliśmy, to tylko jeden z wielu sposobów tworzenia chatbota w Pythonie. Możesz także użyć NLTK, kolejnej zaradnej biblioteki Pythona do stworzenia chatbota w Pythonie. I chociaż to, czego się tutaj nauczyłeś, to bardzo prosty chatbot w Pythonie , który nie ma prawie żadnych umiejętności poznawczych, powinno wystarczyć, aby pomóc ci zrozumieć anatomię chatbotów.
Gdy w pełni zrozumiesz projekt chatbota korzystającego z Pythona , możesz eksperymentować z nim za pomocą różnych narzędzi i poleceń, aby uczynić go jeszcze inteligentniejszym.
Ponadto, jeśli chcesz dowiedzieć się więcej o uczeniu maszynowym, zapoznaj się z programem Executive PG w zakresie uczenia maszynowego IIIT-B i upGrad, który jest przeznaczony dla pracujących profesjonalistów i oferuje ponad 450 godzin rygorystycznego szkolenia, ponad 30 studiów przypadków i zadań, IIIT Status -B Alumni, ponad 5 praktycznych praktycznych projektów zwieńczenia i pomoc w pracy z najlepszymi firmami.
Co to jest Chatbot?
Chatbot to oprogramowanie oparte na sztucznej inteligencji, które może rozmawiać z ludźmi w ich własnym języku. Te chatboty często łączą się z ludźmi za pomocą środków dźwiękowych lub pisemnych i mogą łatwo naśladować ludzkie języki, aby rozmawiać z nimi w ludzki sposób. Podejście oparte na regułach uczy chatbota, aby odpowiadał na zapytania w oparciu o zestaw wcześniej określonych reguł, których nauczył się podczas tworzenia. Te z góry określone zasady mogą być proste lub złożone. Boty samouczące się, jak sama nazwa wskazuje, to boty, które mogą trenować samodzielnie. Wykorzystują one najnowocześniejsze technologie, takie jak sztuczna inteligencja i uczenie maszynowe, aby uczyć się na przykładach i zachowaniach.
Jakich umiejętności potrzebuję, aby zbudować chatbota?
Twórcy chatbotów muszą posiadać różnorodne umiejętności. Muszą dobrze rozumieć platformy i języki programowania, aby efektywnie pracować nad rozwojem Chatbota. Twórcy chatbotów powinni być dobrze zorientowani w algorytmach uczenia się, sztucznej inteligencji i przetwarzaniu języka naturalnego. Wielojęzyczne doświadczenie z doświadczeniem w programowaniu w językach takich jak Java, PHP, Python, Ruby i innych. Programiści muszą być zaznajomieni z platformami, aby poprawić jakość chatbota.
Co to jest chatbot oparty na regułach?
Zamiast korzystać ze sztucznej inteligencji, bot oparty na regułach wykorzystuje przepływ przypominający drzewo, aby pomóc gościom w ich pytaniach. Oznacza to, że bot poprowadzi gościa przez serię pytań uzupełniających w celu znalezienia właściwego rozwiązania. Masz pełną kontrolę nad dialogiem, ponieważ struktury i odpowiedzi są wstępnie zdefiniowane. Po co więc korzystać z chatbota z regułami? Mniejsze liczby i proste zapytania, takie jak rezerwacja stolika w restauracji lub zapytanie o godziny pracy, są idealne dla chatbotów opartych na regułach.