Chatbot z Pytonem : Skrypt rozmowy z użytkownikiem

https://szkolazpieklarodem.pl/

Użytkownik: Witam

OnlineEatsBot: Witamy serdecznie! Jak mogę ci pomóc?

Użytkownik: Chcę zamówić chińskie jedzenie.

OnlineEatsBot: Jasne, co chciałbyś dzisiaj zamówić?

Użytkownik: Jedna kluska z kurczakiem i dwie sajgonki.

OnlineEatsBot: Gotowe. Twoja ostateczna kwota to XYZ, podobnie jak Twoje zamówienie

umieszczone na 1 pierożek z kurczakiem i 2 sajgonki.

Użytkownik: Nie otrzymałem jeszcze zamówienia. Gdzie jest moje jedzenie?

OnlineEatsBot: Czy możesz mi pomóc z identyfikatorem zamówienia?

Użytkownik: 123456

OnlineEatsBot: Status zamówienia dla identyfikatora zamówienia: 123456. Dostawca jest w Twojej okolicy, Twoje jedzenie dotrze w ciągu około 5 minut.

Użytkownik: Dzięki.

OnlineEatsBot: Wielkie dzięki za współpracę.

Teraz, gdy napisaliśmy podstawowy skrypt do zbudowania naszego chatbota, zajmiemy się Dialogflow.

Wprowadź szczegóły, takie jak nazwa agenta, strefa czasowa, domyślny język i projekt Google, który chcesz wybrać, lub utwórz nowy projekt Google.

  1. Stwórz intencje.

Jeśli spojrzysz na rysunek zobaczysz, że mamy już dwie intencje.

  • Domyślny zamiar zastępczy: intencje zastępcze są wyzwalane, jeśli dane wejściowe użytkownika nie są zgodne z żadnymi zwykłymi zamiarami lub włączoną wbudowaną pogawędką. Kiedy tworzysz nowego agenta, automatycznie tworzona jest domyślna intencja zastępcza. Jeśli chcesz, możesz go zmodyfikować lub usunąć.

• Domyślna intencja powitalna: Możemy rozszerzyć tę intencję powitalną na nasze własne chatboty. Powinieneś dodać kilka własnych wyrażeń użytkownika i domyślnych odpowiedzi.

Zanim utworzymy własne intencje, dodajmy najpierw kilka wyrażeń w domyślnej intencji powitalnej i przygotujmy ją, wykonując następujące kroki:

  1. Kliknij domyślną intencję powitalną.
  2. Dodaj własne wyrażenia użytkownika do fraz szkoleniowych.
  3. Kliknij ZAPISZ.

Kiedy klikamy przycisk Zapisz, modele uczenia maszynowego działają w tle i trenują dane, które przekazaliśmy (tj. wyrażenia użytkownika). Uczenie danych oznacza umożliwienie maszynie zrozumienia, jakie są jej zamiary w oparciu o dane, które dostarczamy, oraz umożliwienie przewidzenia, kiedy udostępnimy jej nowe dane. Na przykład, jeśli spojrzymy na rysunek , gdzie zdefiniowaliśmy pięć wyrażeń użytkownika, o których maszyna już wie, że należą do „intencji powitalnej”, co się stanie, jeśli użytkownik powie „Witam”, co nie jest nigdzie zdefiniowane? Maszyna nadal będzie kategoryzować „Witajcie” jako domyślną intencję powitalną, ponieważ funkcje używane podczas szkolenia i maszyna do intencji powitalnej są podobne w nowym wyrażeniu użytkownika.

Spróbujmy sprawdzić, czy intencja powitalna działa w naszym przypadku. Dzięki Dialogflow możemy to zrobić w samym dashboardzie.

Per-āa : Uczynienie Egiptu własnym domem

https://szkolazpieklarodem.pl/

Kiedy Aleksander Wielki nie najeżdżał i nie podbijał narodów, koncentrował się na administracji Egiptu. W szczególności on:

* Wprowadził w Egipcie system monetarny, który wcześniej opierał się na systemie wymiany. Wprowadzone przez Aleksandra monety miały z jednej strony hellenistyczny wizerunek samego siebie, a z drugiej wizerunek egipskiego boga, ukazujące przeciwstawienie obu kultur.

* Założył miasto Aleksandria, które w tym czasie stało się stolicą Egiptu. Miasto zostało zbudowane na miejscu starożytnej egipskiej osady zwanej Raqote (pisane również jako Rakhotis), chociaż niewiele z tego starożytnego miasta przetrwało.

Aleksander zostawił prace budowlane swojemu architektowi Deinokratesowi i urzędnikowi Kleomenesowi. Aleksandria była duża – w szczytowym okresie liczyła ponad pół miliona, w tym duża liczba imigrantów greckich i żydowskich. Było to bardzo kosmopolityczne miasto i zawierało wiele słynnych budynków, takich jak biblioteka i muzeum, które niestety w starożytności spłonęły. Późniejsze miasto obejmowały łaźnie rzymskie, teatr i gimnazjum. Większe domy rzymskiej osady były nawet ozdobione mozaikami w prawdziwie rzymskim stylu, jak pokazuje rysunek 6-1. Miasto Aleksandria zostało ukończone dopiero za panowania Ptolemeusza II (285-246 p.n.e.). Ptolemeusz I (305–282 p.n.e.) rozpoczął budowę latarni morskiej Pharos w Aleksandrii, która była jednym z Siedmiu Cudów Starożytnego Świata i najwcześniejszą latarnią morską na świecie. Ta struktura już dawno zniknęła – i może znajdować się na dnie morza. Aleksander Wielki zmarł w 323 p.n.e. na gorączkę, nie pozostawiając żadnego oczywistego spadkobiercy, który przejąłby jego imperium. Jego śmierć doprowadziła do stopniowego upadku imperium macedońskiego, a różni generałowie podzielili się na swoje ulubione obszary.

Chatbot z Pytonem : Budowa chatbota zamawiającego jedzenie

https://szkolazpieklarodem.pl/

Za pomocą Dialogflow stworzymy chatbota dla konkretnej restauracji. Nazwijmy to OnlineEatsBot. W skrócie możemy nazwać go produktem OnlineEats. Możesz wybrać dowolny inny przypadek użycia, dla którego chcesz zbudować chatbota. W tym rozdziale zbudujemy chatbota służącego do zamawiania jedzenia.

Decydowanie o zakresie

Ustalmy zakres tego chatbota – czyli co i w jakim zakresie może zrobić.

  • Powinien być w stanie dynamicznie witać użytkownika.
  • Powinien być w stanie zrozumieć pozycje menu i ich ilość wymagana.
  • Chatbot powinien mieć możliwość złożenia zamówienia w imieniu użytkownika.
  • Podaj użytkownikowi status zamówienia, gdy zostanie o to poproszony.

Intencje aukcji

Tutaj podajemy intencje, z którymi ma trenować nasz chatbot, aby mógł je zrozumieć, gdy zostanie o to poproszony przez użytkownika.

Zamierzenia

  • Domyślna intencja powitalna: gdy użytkownik wysyła wiadomość do chatbota
  • Złożenie zamówienia: gdy użytkownik prosi bota o zamówienie jedzenia
  • Cel opisu przedmiotu: gdy użytkownik podaje, jaki przedmiot i jego ilość chcą
  • Status zamówienia: gdy użytkownik chce poznać status swojego zamówienia
  • Order_ID: bot musi poznać identyfikator zamówienia użytkownika .
  • Podziękowanie użytkownika: gdy użytkownik dziękuje botowi

Podmioty wystawiające listę

Postaramy się tutaj wymienić wszystkie możliwe podmioty do wszystkich celów. W dalszej części rozdziału zobaczymy, jak są one definiowane w zależności od celu, do jakiego mają zastosowanie.

Podmioty

  • food_items: jakie jedzenie użytkownik chce zamówić?
  • ilości: jaką ilość artykułu spożywczego użytkownik chce zamówić?

• Order_id: identyfikator_zamówienia złożenia zamówienia dla użytkownika

Ustalmy także poziom oczekiwań chatbota pod względem minimalnych rzeczy, które powinniśmy być w stanie wykonać. W tym celu utwórzmy skrypt rozmowy pomiędzy naszym chatbotem a użytkownikiem. Pomaga nam to trzymać się planu przygotowania podstawowego działającego chatbota, zakładając, że użytkownik prowadzi rozmowę w miły i poprawny sposób.

Per-āa : Stawanie się boskim

https://szkolazpieklarodem.pl/

Aleksander chciał zostać przyjęty do kultury egipskiej. Jedną z pierwszych rzeczy, które zrobił, była podróż do Siwy, aby skonsultować się z wyrocznią Amona , aby udowodnić, że jest boskim synem boga, a zatem prawowitym królem Egiptu. Koronacja Aleksandra odbyła się w tradycyjnym centrum Memfis i do pewnego stopnia rządził on w tradycyjny egipski sposób. Widział renowację świątyni w Luksorze z kilkoma wyszukanymi wizerunkami samego siebie składającego ofiary Amonowi-Minowi. Aleksander jednak opuścił Egipt, aby kontynuować swoje kampanie na Bliskim Wschodzie. Przed śmiercią w 323 r. p.n.e. Aleksander rozszerzył imperium macedońskie, obejmujące Egipt, aż do Doliny Indusu. Bycie częścią rozległego imperium przyniosło do Egiptu nowy, bogaty i egzotyczny import.

Chatbot z Pytonem : Pierwsze kroki

https://szkolazpieklarodem.pl/

Wiedza o tym, czego się do tej pory nauczyliśmy, była i jest ważna, ponieważ darmowe narzędzia i pakiety dostępne w open source nie zawsze pomagają w zbudowaniu pełnoprawnej aplikacji chatbota. Wiele razy możesz spotkać się z sytuacją, gdy będziesz chciał zbudować wszystko sam, aby mieć większą kontrolę nad swoją aplikacją. Nauczymy się ich w następnym rozdziale i wykorzystamy również poznane wcześniej techniki NLP. W tym rozdziale skupiono się na stworzeniu chatbota jako dowodu słuszności koncepcji i przygotowaniu go do użytku na całym świecie przy minimalnym programowaniu lub bez doświadczenia w programowaniu.

Per-āa : Najeżdżający Macedończycy: Aleksander Wielki

https://szkolazpieklarodem.pl/

Zabójstwo Filipa II Macedonii w 336 r. p.n.e. zapoczątkowało atak Aleksandra na imperium perskie. Aleksander był synem Filipa i uważał, że powinien kontynuować kampanię swojego ojca. Aleksander przybył do Egiptu w 332 r. p.n.e., co zapoczątkowało dalszy upadek starożytnej kultury egipskiej. Gdyby Persowie nie okupowali Egiptu w tym czasie, być może Aleksander zostawiłby go w spokoju, co doprowadziłoby do zupełnie innego zakończenia historii.

Chatbot z Pytonem : Wprowadzenie do Dialogflow

https://szkolazpieklarodem.pl/

Dialogflow zapewnia użytkownikom nowe metody interakcji z produktem poprzez tworzenie angażujących interfejsów konwersacyjnych opartych na głosie i tekście, takich jak aplikacje głosowe i chatboty. Dialogflow jest zasilany przez sztuczną inteligencję. Pomaga nawiązać kontakt z użytkownikami Twojej witryny, aplikacji mobilnej, Asystenta Google, Amazon Alexa, Facebook Messenger i innych popularnych platform i urządzeń. Poniższy diagram z Dialogflow pokazuje, jak obsługują żądania użytkownika.

Oto, co się dzieje:

  1. Użytkownik rozmawia z urządzeniem wejściowym.
  2. Zapytanie użytkownika trafia do silnika Dialogflow.
  3. Dialogflow próbuje rozpoznać intencję.
  4. Na podstawie zamierzenia następuje realizacja i zwrot danych z bazy.
  5. Odpowiedź zostaje zwrócona do intencji.
  6. Odpowiedź jest przekształcana w przydatne dane.
  7. Żądanie użytkownika dotyczące informacji jest zwracane do urządzenia wyjściowego.

W Dialogflow istnieje koncepcja agentów, którą najlepiej opisać jako moduły rozumienia języka naturalnego (NLU). Można je uwzględnić w aplikacji, produkcie lub usłudze i przekształcić naturalne żądania użytkowników w przydatne dane. Ta transformacja ma miejsce, gdy dane wejściowe użytkownika odpowiadają jednej z intencji agenta. Agentów można także zaprojektować tak, aby w określony sposób zarządzali przepływem konwersacji. Można to zrobić za pomocą kontekstów, priorytetów intencji, wypełniania slotów, obowiązków i realizacji za pośrednictwem webhooka.

Per-āa : Kolejna runda perskich rządów

https://szkolazpieklarodem.pl/

Pod koniec panowania Nektanebo II rozpoczął się drugi okres perski (343-332 p.n.e). Persowie znów byli trochę szorstcy dla swojego przybranego kraju. Zapisy greckie opisują, jak Persowie zrównali z ziemią miasta, obrabowali świątynie, zabili wiele świętych zwierząt i opodatkowali ludność, dopóki ludność nie została zbankrutowana. Po raz kolejny królowie perscy rządzili jako gubernator podczas pobytu w Persji. Ta dynastia (którą niektórzy historycy uważają za 31.) przetrwała tylko 10 lat, kiedy to zamordowano dwóch pierwszych królów, Artakserksesa III i Arsesa, a tchórzliwy Dariusz III otworzył granice Egiptu w 332 p.n.e., aby umożliwić Aleksandrowi Wielkiemu wkroczenie Egipt.

Chatbot z Pytonem : Tworzenie chatbotów w łatwy sposób

https://szkolazpieklarodem.pl/

Budowanie chatbotów zostało napisane w prosty sposób, mając na uwadze, że czasami nie chcesz budować wszystkiego od zera i chcesz po prostu załatwić sprawę. Ten rozdział nie wymaga od ciebie dużej ilości kodowania, ale mimo to daje ci dobre pojęcie o tym, jak w łatwy sposób zbudować chatboty i upublicznić je. Powodem, dla którego ten rozdział staje się ważniejszy w nauce tworzenia chatbotów, jest to, że świat oprogramowania zmienia się zbyt szybko, aby można go było dostosować. Czasami musimy bardzo szybko zbudować aplikacje i staramy się szukać narzędzi dostępnych w bibliotekach open source, które pozwolą na szybkie zbudowanie aplikacji, bez konieczności wymyślania kół na nowo. Czasami nie jesteśmy wystarczająco dobrzy w kodowaniu, aby zbudować wszystko od zera. Nawet jeśli chcemy budować aplikacje od zera, nie możemy, ponieważ krzywa uczenia się będzie zbyt stroma dla nowicjusza. Ta część pomoże Ci bardzo szybko zbudować chatboty i udostępnić je całemu światu. Wypróbujemy narzędzie znane wcześniej jako Api.ai. Teraz jest znany jako Dialogflow.

Per-āa : Jeszcze więcej dynastii

https://szkolazpieklarodem.pl/

Upadek kultury egipskiej nastąpił w końcu 400 lat p.n.e., kiedy to królowie, chcąc nie chcąc, przejęli kontrolę i wywołali wiele zamieszania. Być może sytuacja była mniej zagmatwana dla starożytnych Egipcjan!

* 28. dynastia (404-399 p.n.e.) składała się tylko z jednego bardzo mało znanego króla o imieniu Amyrteusz, któremu po sześciu latach wojny partyzanckiej z królami perskimi udało się przywrócić tron ​​egipski pod kontrolę. Na krótko przejął kontrolę nad całym Egiptem, od swojej stolicy w Sais w Delcie aż do granicy Asuanu.

* 29. dynastia (399–380) przeniosła stolicę z Sais do Mendes dalej na południe, co wskazuje, że kontrola Egipcjan była nadal powszechna. Mendes z pewnością znajdował się w lepszej pozycji dla rządu. Prawdopodobnie w tym miejscu pochowano również dwóch królów tej dynastii, choć ich jeszcze nie odkryto.

* Trzydziesta dynastia (380-343 p.n.e.) była nieco bardziej poważna i liczyła w sumie trzech królów. Ci królowie spędzili dużo czasu nadzorując budowę zgodnie ze starożytnymi tradycjami, aby wykazać ciągłość między ich panowaniem a wcześniejszymi dynastiami.

Dynastia ta brała też udział w wielu bitwach broniących Egipt przed inwazją perską (po raz kolejny – nie poddają się!).

Nektanebo II otrzymał krótki wytchnienie od perskiego ataku z powodu większej liczby perskich wewnętrznych kłótni i konfliktów z Grekami i Lewantyńczykami. W 343 pne Nektanebo II wraz z armią egipską i 20 000 greckich najemników strzegł granic Delty przed głównym atakiem Persów dowodzonym przez Artakserksesa III. Wkrótce granice zostały przełamane, a Delta, a następnie Memfis dostały się w ręce perskich najeźdźców. Nectanebo uciekł do Nubii, ale wkrótce potem zniknął; przypuszczalnie zmarł. Śmierć Nektanebo II w 343 rpne była poważnym ciosem dla Egiptu z kilku powodów. Po pierwsze, Egipcjanie ponownie znaleźli się pod panowaniem królów perskich. Po drugie, Nectanebo był ostatnim władcą Egiptu, który rządził krajem aż do pierwszego prezydenta Republiki Egiptu, generała Muhammada Naguiba w 1953 r. To długi okres obcych rządów.