Chatbot z Pytonem : Tworzenie pliku domeny dla Chatbota

https://szkolazpieklarodem.pl/

Pierwszym i najważniejszym zadaniem do wykonania podczas budowania chatbota przy użyciu stosu Rasa jest utworzenie pliku domeny. Zgodnie z dokumentacją Rasa „Domena definiuje wszechświat, w którym działa Twój bot. Określa intencje, elementy, miejsca i działania, o których powinien wiedzieć bot. Opcjonalnie może również zawierać szablony tego, co może powiedzieć Twój bot. Teraz wiesz, dlaczego musieliśmy być wcześniej przygotowani na tę sytuację, rozumiejąc podstawowe koncepcje Rasy.

Stwórzmy plik DefaultDomain z definicją YAML. Rasa używa plików .yml do zdefiniowania formatu domeny. Pierwotnie YAML miał rzekomo oznaczać Yet Another Markup Language, przedstawiając jego użycie jako języka znaczników, ale później zmieniono go tak, aby był rozumiany jako YAML Ain’t Markup Language, rekurencyjny akronim, aby rozróżnić jego cel jako zorientowany na dane, a nie znaczniki dokumentu język. Wróćmy teraz do naszego katalogu rasa-nlu Jupyter Notebook i zacznijmy tworzyć pliki. Pamiętaj, że możemy zapisać cały nasz kod w oddzielnych plikach za pomocą wiersza poleceń i edytować go za pomocą edytora. Uważam, że Jupyter Notebook jest bardziej interaktywny i łatwo dostępny do przeglądania plików. Niezależnie od tego, w czym czujesz się komfortowo, rób to, ale dobrze jest znać większość funkcji, które zapewnia Jupyter Notebook. Przejdź do głównego katalogu horoskop_bot i utwórz plik, nazwijmy go horoskop_domena.yml. Poniżej znajduje się zawartość pliku horoskop_domena.yml dla naszego bota:

slots:

horoscope_sign:

type: text

DD:

type: text

MM:

type: text

subscribe:

type: bool

intents:

– greeting

– get_horoscope

– subscription

– dob_intent

entities:

– horoscope_sign

– DD

– MM

– subscribe

– dob_intent

templates:

utter_greet:

– ‘Hello! How are you doing today?’

utter_ask_horoscope_sign:

– ‘What is your horoscope sign?’

utter_ask_dob:

– ‘What is your DOB in DD-MM format?’

utter_subscribe:

– ‘Do you want to subscribe for daily updates?’

actions:

– utter_greet

– utter_ask_horoscope_sign

– utter_ask_dob

– utter_subscribe

– get_todays_horoscope

– subscribe_user

Jak widać, plik domeny składa się z pięciu ważnych części: intencji, encji, slotów, szablonów i akcji, o których mówiliśmy wcześniej. Zauważ, że dla każdego szablonu zdefiniowana jest utterAction, taka jak utter_greet, utter_ask_horoskop_sign i utter_ask_dob. Musimy mieć zdefiniowany szablon w sekcji szablonów o tej samej nazwie. Jak widać w naszym przykładzie zdefiniowanych jest głównie pięć akcji, gdzie pierwsze trzy akcje służą jedynie do przekazania użytkownikowi tekstu szablonu, natomiast dwie ostatnie wymagają od nas albo pobrania danych z bazy danych, albo utworzenia API zadzwoń, aby uzyskać horoskop na dany dzień i zwrócić go użytkownikowi. Również w przypadku akcji subskrybuj_użytkownika należy wykonać operację polegającą na dodaniu aktualnego użytkownika do listy subskrybentów w bazie danych. Te akcje zdefiniowane przez użytkownika nazywane są akcjami niestandardowymi. Aby mieć takie niestandardowe akcje, musimy napisać, co bot ma zrobić, gdy te akcje zostaną uruchomione. W następnej sekcji nauczymy się pisać akcje niestandardowe.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *