Chatbot z Pytonem : Tworzenie danych dla modelu w formacie JSON

https://szkolazpieklarodem.pl/

Format JSON danych, którego oczekuje Rasa NLU, ma obiekt najwyższego poziomu o nazwie rasa_nlu_data, z kluczami common_examples, Entity_synonyms i regex_features. Najważniejszym, z którym będziemy pracować, są przykłady wspólne. Poniżej znajduje się szkieletowa forma wyglądu naszych danych JSON:

{

“rasa_nlu_data”: {

“common_examples”: [],

“regex_features” : [],

“entity_synonyms”: []

}

}

Klucz common_examples w naszych danych JSON jest centralnym miejscem, które będzie używane do uczenia naszego modelu. Wszystkie nasze przykłady szkoleniowe będziemy dodawać w tablicy common_examples.

regex_features to narzędzie pomagające klasyfikatorowi intencji rozpoznawać jednostki lub intencje i poprawiać dokładność klasyfikacji intencji. Zacznijmy pisać nasz plik JSON. Nazwijmy to data.json.

  1. Utwórz folder o nazwie horoskop_bot.
  2. Zmień bieżący katalog roboczy na horoskop_bot.
  3. Uruchom notatnik Jupyter #jupyter notatnik.
  4. Utwórz nowy folder o nazwie dane.
  5. Kliknij folder danych i przejdź do „Plik tekstowy” w menu Nowy w

Notatnik Jupytera.

  1. Kliknij na nazwę utworzonego pliku i zmień nazwę na data.json i wpisz swoje intencje dla swoich chatbotów. W krokach 5 i 6 możesz swobodnie korzystać z ulubionych edytorów, takich jak Sublime, Notepad ++, PyCharm itp., Aby pracować z plikiem JSON. Oto jak wygląda mój plik data.json w folderze danych:

{

“rasa_nlu_data”: {

“common_examples”: [

{

“text”: “Hello”,

“intent”: “greeting”,

“entities”: []

},

{

“text”: “I want to know my Horoscope”,

“intent”: “get_horoscope”,

“entities”: []

},

{

“text”: “Can you please tell me my horoscope?”,

“intent”: “get_horoscope”,

“entities”: []

},

{

“text”: “Please subscribe me”,

“intent”: “subscription”

}

],

“regex_features”: [],

“entity_synonyms”: []

}

}

Jak widać, przygotowywanie tego ręcznie wygląda bardzo nieporadnie. Na pewno pamiętasz miłą i łatwą metodę, którą mieliśmy w Dialogflow. Sprawdźmy więc fajne i ciekawe narzędzie do tworzenia danych treningowych w formacie, jakiego oczekuje Rasa. Został stworzony przez Polgára Andrása i całkiem nieźle nadaje się do sprawdzania i modyfikowania istniejących danych, które przygotowaliśmy wcześniej. To narzędzie pozwala zaoszczędzić dużo czasu, jeśli pracujesz nad małym projektem, w którym musisz ręcznie tworzyć dane. Zawsze dobrze jest wizualizować dane w dowolnej tworzonej aplikacji, która jest całkowicie oparta na danych. Zatem po prostu zapisz wcześniej utworzony plik data.json, dopóki nie rozszerzymy gromadzenia danych lepszą metodą.

Per-āa : Warzenie piwa

https://szkolazpieklarodem.pl/

Żadna impreza nie jest kompletna bez baru, a starożytni Egipcjanie uwielbiali swój alkohol. Ich przyjęcia byłyby obfite w wino i piwo. Piwo było podstawą egipskiej diety, a nawet wchodziło w skład państwowych zarobków i racji żywnościowych. Piwo robiono podobnie jak chleb. Było nieco gęstsze niż znane dzisiaj piwo lub ale i mogło zawierać szereg zanieczyszczeń. Egipskie piwo robiono z czerstwego lub częściowo upieczonego chleba jęczmiennego lub płaskurki (ciasto bogate w drożdże), które umieszczano na sicie nad słoikiem. Chleb polano wodą, aż się rozpuścił i wpadł do słoika, gdzie pozostawiono go do fermentacji. Po sfermentowaniu płyn był następnie dekantowany do słoików z amforami do przechowywania lub transportu. Powstałe piwo nie było nadmiernie alkoholowe, jeśli było pite z umiarem, ale starożytni Egipcjanie mieli o jedno za dużo. Dla bardziej żądnych przygód piwoszy, do podstawowej mieszanki dodano aromaty, w tym daktyle, przyprawy lub miód. Cukier w daktylach i miodzie przyspieszył fermentację. Gdy Towarzystwo Eksploracji Egiptu przygotowało porcje według starożytnej receptury, uzyskany napój okazał się bardzo słodki, ale nie nieprzyjemny.

Chatbot z Pytonem : Przygotowanie danych dla Chatbota

https://szkolazpieklarodem.pl/

Rasa NLU ma wiele sposobów definiowania intencji i ich podmiotów na naszych niestandardowych danych. Obsługuje dane w przecenach, w formacie JSON jako pojedynczy plik lub jako katalog zawierający wiele plików. Najpierw omówimy najtrudniejszą, ale wysoce skalowalną metodę. Tworzenie plików JSON jest trudne ręcznie, ale programowo jest bardzo łatwe i skalowalne.

Per-āa : Pieczenie po Hovisie

https://szkolazpieklarodem.pl/

Większość przedstawień imprez przedstawia również gospodarzy serwujących gościom różne pieczywo i ciasta, w tym ciastka miodowe i rodzaj bochenka owocowego. Chleb był podstawą egipskiej diety i wszyscy, bogaci czy biedni, jedli go dużo. Chleb znajduje się również na wszystkich tablicach i listach ofiarnych, pokazując, że był to pokarm godny bogów. Istniały różne rodzaje chleba, w tym odmiany z pszenicy płaskurki i jęczmienia. Grobowiec Tutanchamona zawierał nawet bochenki owocowe zawierające jagody z rośliny Ciernia Chrystusa. Egipcjanie wypiekali różne rodzaje chleba w różnych kształtach (powszechne były trójkąty i owale), aby ułatwić identyfikację. Niestety, dokładne znaczenie tych kształtów nie jest dziś znane. Aby ułatwić mielenie ziarna na mąkę, piekarze lub kobiety w gospodarstwie domowym mogli dodawać do swoich kamieni mielonych kamień (kwarcyt lub granit) lub piasek, który działał jak ścierniwo i produkował mąkę o połowę szybciej. Bardzo produktywne, ale te wtrącenia w chlebie spowodowały nadmierne zużycie zębów Egipcjan.

Chatbot z Pytonem : Skrypt rozmowy pomiędzy botem horoskopowym a użytkownikiem

https://szkolazpieklarodem.pl/

Stwórzmy możliwy scenariusz rozmowy pomiędzy naszym chatbotem a użytkownikiem. Jak wspomniano w pierwszym rozdziale, pisanie skryptu konwersacji przypomina przygotowanie dokumentu wymagań dotyczących oprogramowania przed jego zbudowaniem. Może się to później zmienić, ale daje ogólny obraz tego, co będzie się działo w ostatecznej aplikacji chatbota. Tak wygląda nasza rozmowa pomiędzy użytkownikiem a botem:

Użytkownik: Witam

Horoskop Bot: Witam! Mam nadzieję, że sobie radzisz.

Użytkownik: Chcę poznać swój horoskop.

Horoskop Bot: Jasne, czy mogę poznać twój znak horoskopu?

Użytkownik: Capricorm

Horoskop Bot: Przepraszam, czy miałeś na myśli Koziorożca?

Użytkownik: Tak.

Horoskop Bot: W porządku, oto twój horoskop na dzisiaj.

Jest szansa, że będziesz dzisiaj pełen optymizmu i pozytywnego nastawienia. Udostępnij to

energii z innymi, którzy czują się mniej niż zadowoleni. Twoja postawa może

wywierają głęboki wpływ na przyjaciół, partnerów, małżonka i dzieci.

Sąsiedzi i dalsza rodzina mogą podsłuchać twojego ducha bez tego

nawet zdajesz sobie z tego sprawę. Jeśli ktoś jest zraniony lub zły, dodaj mu otuchy.

Wszystko w końcu się ułoży.

Horoskop Bot: Czy chcesz subskrybować codzienne aktualizacje?

Jeśli tak, po prostu powiedz subskrybuj.

Użytkownik: Tak, proszę o subskrypcję.

Horoskop Bot: Świetnie, subskrybujesz teraz. Miłego dnia.

Ta rozmowa ma na celu jedynie dokładne wyobrażenie sobie, jak będzie wyglądać nasza rozmowa z chatbotem. Możemy, ale nie musimy, chcieć zmienić przebieg rozmowy w zależności od naszych potrzeb. Możemy przeszkolić nasz model chatbota, aby przygotował prawidłową odpowiedź, zamiast pisać kilka instrukcji if…else.

Per-āa : Przeglądanie menu imprezy

https://szkolazpieklarodem.pl/

Jedzenie było główną częścią wymyślnych bankietów i na szczęście nadal istnieje wiele informacji. Obrazy boskich stołów ofiarnych pokazują, jakie jedzenie Egipcjanie uważali za wystarczająco dobre dla bogów. W połączeniu z jedzeniem pozostawionym w grobowcach i opisanym w listach ofert, pojawia się szczegółowa lista jedzenia, które mogło znaleźć się w menu na eleganckiej imprezie. Chociaż dla reszty społeczeństwa był to luksus, mięso stanowiło główną część elitarnego posiłku. Niektóre cięcia byłyby niesmaczne dla dzisiejszych gości; starożytni Egipcjanie nie chcieli marnować żadnej części zwierzęcia. Jednymi z najpopularniejszych mięs był wół (w tym głowa, język i wnętrzności), gęś, gołębie i ryby. Mięsowi towarzyszyły

* Warzywa, w tym ogórek, cebula i sałata

* Rośliny strączkowe i orzechy, w tym soczewica, ciecierzyca, nasiona arbuza i migdały

* Zioła, w tym kolendra i czosnek

* Owoce, w tym figi, rodzynki, pestki winogron, orzech palmowy (rodzaj owoców z drzewa palmowego), daktyle i liście granatu (i bez wątpienia także reszta owoców).

Chatbot z Pytonem : Budowa bota horoskopowego

https://szkolazpieklarodem.pl/

W tym przykładzie zbudowania chatbota całkowicie samodzielnie przy użyciu biblioteki open source Rasa NLU, zbudujemy bota horoskopu. Ustalmy zakres tego chatbota i zobaczmy, co robi i może.

  • Bot Horoskop powinien być w stanie zrozumieć pozdrowienia i odpowiedzieć powitaniem.
  • Bot powinien być w stanie zrozumieć, czy użytkownik prosi o horoskop.
  • Bot powinien mieć możliwość zapytania użytkownika o znak horoskopu, jeśli użytkownik go nie poda.
  • Jeśli użytkownik nie zna swojego znaku horoskopu, bot powinien zapytać użytkownika o datę urodzenia (DOB) i go znaleźć.
  • Bot powinien zasubskrybować/wypisać użytkownika, aby otrzymywać dziennik horoskopu.
  • Bot powinien uczyć się na podstawie istniejących odpowiedzi, aby sformułować nową odpowiedź.
  • Bot powinien być w stanie poradzić sobie z błędami ortograficznymi popełnionymi przez użytkownika.

To, co ma tutaj zrobić nasz bot, jest całkiem proste. Możliwe intencje

  • Intencja powitania: użytkownik rozpoczynający od powitania
  • Uzyskaj zamiar horoskopu: użytkownik pytający o horoskop
  • Intencja horoskopu użytkownika: Użytkownik przedstawiający znak horoskopu
  • Zamiar DOB użytkownika: Użytkownik informuje o swoim DOB
  • Intencja subskrypcji: użytkownik proszący o subskrypcję

W zależności od sposobu, w jaki projektujesz bota i piszesz kod, możesz potrzebować wszystkich powyższych intencji lub nie, lub może być konieczne zdefiniowanie dodatkowych intencji, aby uwzględnić wszystkie przypadki użycia, które chcemy, aby robił nasz bot. W miarę postępów w tym rozdziale spróbujemy zbudować bota, który wykona podstawowe zadanie polegające na podaniu horoskopu; później w ramach ćwiczenia możemy dodać do niego więcej przypadków użycia. Cóż, w dużej mierze to samo robiliśmy do tej pory, aby rozpoznać możliwe intencje na podstawie prostej możliwej rozmowy między botem a użytkownikiem.

Per-āa : Taniec

https://szkolazpieklarodem.pl/

Egipcjanin nie wskoczyłby na stół i przetańczył całą noc do melodii imprezowego zespołu. Muzyce zazwyczaj towarzyszyła grupa tancerzy, którzy, podobnie jak muzycy, zostali na tę okazję wynajęci. Taniec był bardzo erotyczną rozrywką. Wykonawcy byli zwykle nadzy, z wyjątkiem wyszukanego kołnierza i ozdobnego pasa lub przepaski na biodra. Niektórzy tancerze są pokazani na rysunkach w grobowcach ze stożkami perfum na głowach, co wskazuje, że również ładnie pachniali i dawali publiczności zapach perfum, gdy przemykali. Wielu tancerzy używało swoich włosów jako narzędzia, przesuwając je z boku na bok; niektóre obrazy grobowców pokazują nawet ciężarki przywiązane do włosów, zapewniając, że poruszają się we właściwy sposób.

Chatbot z Pytonem : Szkolenie i budowanie chatbota od podstaw

https://szkolazpieklarodem.pl/

Jeśli przeczytałeś do tej pory, z pewnością znasz „Chatbota do zamawiania jedzenia”, który stworzyliśmy przy użyciu Dialogflow. Musisz być świadomy intencji, podmiotów i odpowiedzi zwracanych użytkownikowi końcowemu przez chatbota. Podobnie w tym rozdziale zajmiemy się przypadkiem użycia chatbota i zbudujemy go od podstaw. Nie musisz koniecznie używać tego samego przykładu. Możesz znaleźć własny przypadek użycia, wykonać kroki opisane w tym rozdziale i po ukończeniu tego rozdziału zbudować własnego chatbota. Zamierzamy zbudować bota horoskopowego, który rozumie zapytania użytkowników i podaje im horoskop na dany dzień. Więc zacznijmy.

Per-āa : Tworzyć muzykę

https://szkolazpieklarodem.pl/

Gospodarze tych imprez zapewniali rozrywkę, często w formie zespołu – egipskiego odpowiednika niesławnego imprezowego DJ-a. Niestety muzyka, którą grali, zaginęła, ale być może mieli w swoim repertuarze kilka jęków, na równi z dzisiejszymi „Pieśń ptaków” i „Agadoo”. Muzycy byli zwykle w małych grupach mężczyzn lub kobiet. Mieszanie grup było niezwykłe. Grupa grała na różnych instrumentach, w tym lutniach, fletach, klakierach (pałeczki z kości słoniowej związane na końcu, które brzęczały o siebie po potrząśnięciu) i harfach (zarówno małe wersje ręczne, jak i pełnowymiarowe przykłady). Mały bębenek lub grupa mężczyzn lub kobiet klaszczących rytmicznie podtrzymywała rytm. Nie ma dowodów sugerujących, że szlachta grała na instrumentach publicznie; Specjalnie na tę okazję zatrudniono muzyków bankietowych. Niewykluczone jednak, że dla zabicia czasu elita nauczyła się grać na instrumentach. W grobowcu mastaby z szóstej dynastii  w Sakkarze żona Mereruki, nie mniej księżniczka, siedzi na swoim łóżku grając na harfie, by zabawiać męża, który również siedzi na łóżku.