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.

Chatbot z Pytonem : Streszczenie

https://szkolazpieklarodem.pl/

W tym momencie musisz mieć dobre pojęcie o tym, dlaczego musimy znać NLP, zanim zaczniesz budować chatboty. Dowiedzieliśmy się o module spaCy w Pythonie, jego funkcjach i sposobie jego instalacji. Zagłębiliśmy się w różne metody NLP, które są szeroko stosowane przy tworzeniu chatbotów. Dowiedzieliśmy się o tagowaniu POS, różnicy między rdzeniem a lematyzacją, rozpoznawaniu bytów, dzieleniu rzeczowników i znajdowaniu podobieństw między zestawami słów. Wykonaliśmy kod dla wszystkich tych koncepcji i nauczyliśmy się tego wszystkiego, robiąc to, a nie tylko czytając. Odświeżyliśmy także podstawy tokenizacji i wyrażeń regularnych. W następnym rozdziale możemy kontynuować budowę naszego chatbota, korzystając z ogólnodostępnego narzędzia o nazwie Dialogflow. W następnej sekcji dowiemy się, jak wytrenować naszego chatbota, aby rozumiał i wydobywał informacje podawane przez użytkownika.

Per-āa : Rządzenie Egiptem na odległość

https://szkolazpieklarodem.pl/

Chociaż Kambyzes i Persowie zmierzyli się z Grekami i Egipcjanami i zwyciężyli, nie mieli ochoty pozostać w kraju swojego zwycięstwa. Kambyzes żył i został pochowany w Persji (współczesny Iran). Podczas swoich rządów (525-522 p.n.e.) wynajął gubernatora prowincji, aby rządził w Egipcie w jego imieniu – choć był reprezentowany w Egipcie jako Egipcjanin z nazwiskami spisanymi w kartuszu jako tradycyjny władca. Jednak następca Kambyzesa Dariusz I (521–486 p.n.e.) bardzo interesował się Egiptem. Zbudował wiele świątyń i wszczął naprawy od Delty do Asuanu. Dariusz kontynuował również i dokończył budowę kanału między Wadi Tumilat a Morzem Czerwonym, który rozpoczął Nekau z 26. dynastii Saite. W 486 p.n.e., pomimo pozytywnego wpływu Dariusza na Egipt, Egipcjanie zbuntowali się. Ten bunt nie został stłumiony, dopóki na tronie nie zasiadł kolejny król, Kserkses. Jego panowanie (485-465 p.n.e.) nie było pokojowe, a później za jego panowania Grecy najechali Egipt. Po krótkim okresie wytchnienia Kserkses został zamordowany wśród innego buntu egipskiego. Walka ta trwała przez jakiś czas, a perski król został pokonany przez potomków 26. dynastii z Delty wraz z pomocą greckich najemników. Egipcjanie w końcu zdołali przejąć kontrolę podczas panowania dwóch ostatnich królów okresu perskiego, Dariusza II (423-403 p.n.e.) i Artakserksesa II (405-359 p.n.e.). osłabiły ich obronę i pozostawiły otwarte na atak.

Chatbot z Pytonem : Wyrażenia regularne

https://szkolazpieklarodem.pl/

Musisz już wiedzieć o wyrażeniach regularnych i ich użyciu. W tej książce założono, że musisz ogólnie znać wyrażenia regularne. W tej sekcji omówimy tylko niektóre przykłady i zobaczymy, jak wyrażenia regularne mogą być korzystne i przydatne podczas tworzenia chatbotów. Analiza i przetwarzanie tekstu to obszerny temat sam w sobie. Czasami słowa grają ze sobą w sposób, który niezwykle utrudnia maszynom zrozumienie i nauczenie się obsługi. Wyrażenia regularne mogą się przydać w przypadku zastosowania modelu uczenia maszynowego. Ma moc dopasowywania wzorców, co może zapewnić, że przetwarzane przez nas dane są prawidłowe lub nieprawidłowe. Większość wczesnych chatbotów omówionych w rozdziale 1 w sekcji Historia chatbotów była w ogromnym stopniu zależna od dopasowywania wzorców. Rozważmy poniżej dwa przykłady, które są dość proste do zrozumienia. Spróbujemy użyć wyrażeń regularnych, aby wydobyć informacje z obu zdań. Zarezerwuj dla mnie metro ze stacji na lotnisku do stacji w Hongkongu. Zarezerwuj mi taksówkę z lotniska w Hongkongu do AsiaWorld-Expo. Oto kod:

sentence1 = “Book me a metro from Airport Station to Hong Kong Station.”

sentence2 = “Book me a cab to Hong Kong Airport from AsiaWorld-Expo.”

import re

from_to = re.compile(‘.* from (.*) to (.*)’)

to_from = re.compile(‘.* to (.*) from (.*)’)

from_to_match = from_to.match(sentence2)

to_from_match = to_from.match(sentence2)

if from_to_match and from_to_match.groups():

_from = from_to_match.groups()[0]

_to = from_to_match.groups()[1]

print(“from_to pattern matched correctly. Printing values\n”)

print(“From: {}, To: {}”.format(_from, _to))

elif to_from_match and to_from_match.groups():

_to = to_from_match.groups()[0]

_from = to_from_match.groups()[1]

print(“to_from pattern matched correctly. Printing values\n”)

print(“From: {}, To: {}”.format(_from, _to))

Wyjście:

to_from pattern matched correctly. Printing values

From: AsiaWorld-Expo., To: Hong Kong Airport

Spróbuj zmienić zdanie2 na zdanie1 i sprawdź, czy kod działa dobrze, identyfikując wzorzec. Biorąc pod uwagę możliwości uczenia maszynowego w dzisiejszych czasach, wyrażenia regularne i dopasowywanie wzorców cofnęły się o krok, ale pamiętaj, aby trochę je odświeżyć, ponieważ w dowolnym momencie może być konieczne przeanalizowanie określonych szczegółów ze słów, zdań lub tekstu dokumenty.

Per-āa : Osadnictwo Persów

https://szkolazpieklarodem.pl/

Perska 27. dynastia przetrwała ponad 100 lat (525–404 p.n.e.) i została odnotowana przez Herodota. W pierwszej kolejności opisuje trzy potencjalne przyczyny inwazji perskiego króla Kambyzesa II na Egipt, chociaż Herodot nie był pewien wiarygodności żadnego z tych wyjaśnień:

* Kambyzes chciał egipskiej konkubiny i zamiast księżniczki wysłano mu drugorzędną szlachciankę, więc najechał Egipt.

* Kambyzes mógł być na wpół Egipcjaninem, być może nieślubnym synem córki saiteckiego króla Apriesa.

* Kambyzes jako dziecko obiecał najechać Egipt w odwecie za zniewagę złożoną jego matce.

Jeśli Herodot nie był pewien, dlaczego Kambyzes najechał Egipt, jak u licha mogą być współcześni historycy? Bez względu na konkretną inspirację, inwazja perska była paskudna, wspomagana przez Beduinów, którzy prowadzili do granic Egiptu. Po przybyciu Beduinów i Persów byli agresywni i okrutni, a nawet usunęli zabalsamowane ciało króla Saite Ahmose (Amazis) i podpalili je. To prawda, że ​​Egipcjanie też nie byli tacy mili. W odwecie za zdradę generała najemników Egipcjanie paradowali jego dwóch synów przed nim i armią perską i poderżnęli im gardła. Krew zebrano w dużej misce, zmieszano z wodą i winem i wypili wszyscy żołnierze. Jednak podobnie jak Herodot miał wątpliwości co do opowieści Kambyzesa, być może ten opis był również przesadnym mitem. Nie istnieją żadne inne zapisy o spożywaniu przez Egipcjan ludzkiej krwi.

Chatbot z Pytonem : Tokenizacja

https://szkolazpieklarodem.pl/

Tokenizacja to jedna z prostych, ale podstawowych koncepcji NLP, polegająca na dzieleniu tekstu na znaczące segmenty. spaCy najpierw tokenizuje tekst (tj. dzieli go na słowa, a następnie na znaki interpunkcyjne i inne). Może przyjść Ci do głowy pytanie: Dlaczego nie mogę po prostu użyć wbudowanej metody podziału języka Python i przeprowadzić tokenizację? Metoda split w Pythonie to po prostu surowa metoda dzielenia zdania na tokeny z separatorem. Nie bierze pod uwagę żadnego znaczenia, podczas gdy tokenizacja stara się również zachować znaczenie. Wypróbujmy trochę kodu i zobaczmy, jak działa tokenizacja.

Przykład 1:

doc = nlp(u’Brexit is the impending withdrawal of the U.K. from the

European Union.’)

for token in doc:

print(token.text)

Wyjście:

Brexit

is

the

impending

withdrawal

of

the

U.K.

from

the

EuropeanUnion

Jeśli widzisz na powyższym wyjściu, Wielka Brytania pojawia się jako pojedyncze słowo po procesie tokenizacji, co ma sens, ponieważ Wielka Brytania to nazwa kraju i dzielenie jej byłoby błędne. Nawet po tym, jeśli nie będziesz zadowolony z tokenizacji spaCy, możesz użyć metody add_special_case case, aby dodać własną regułę, zanim całkowicie zaczniesz polegać na metodzie tokenizacji spaCy.

Per-āa : Nawet jeszcze nie zimno

https://szkolazpieklarodem.pl/

Oddzielenie Psamtika od Asyryjczyków  doprowadziło do stopniowego upadku i ostatecznego upadku imperium asyryjskiego i oznaczało, że Egipt ponownie był najpotężniejszym narodem w regionie. Ten status nie trwał długo, ponieważ wszyscy chcieli wypełnić lukę pozostawioną przez Asyryjczyków. Osłabieni asyryjscy królowie byli atakowani przez wielu ludzi, w tym:

* Babilończycy pod panowaniem króla Naboplassara

* Medowie (starożytni Irańczycy)

* Scytowie (Ukraińcy i Południowi Rosjanie)

Asyryjczycy poprosili nawet Psamtika (który oddzielił się od nich) o pomoc w tych atakach. Mimo to Asyryjczycy przegrali, aw 612 pne imperium asyryjskie zakończyło się upadkiem Niniwy pod atakiem armii perskiej. Świętowanie upadku tego niegdyś wielkiego imperium trwało krótko dla Egipcjan, ponieważ Persowie wkrótce wkroczyli na Egipt, wkroczyli w jego granice i przejęli tron ​​w 525 p.n.e. Niedoświadczony król Psamtik III próbował powstrzymać Persów przed przejęciem kontroli nad Egiptem. Jednak Psamtik III został ostatecznie ścigany do Memfis, zanim został schwytany i przewieziony do stolicy Persji jako jeniec wojenny, pozostawiając Egipt bez straży i króla. Po raz kolejny inwazja doprowadziła do powstania kolejnego zestawu królów i kolejnej dynastii (26.), rozpoczynając późny okres historii Egiptu.