Zbuduj chatbota wysyłającego e-maile za pomocą Google Dialogflow

Zbuduj chatbota wysyłającego e-maile za pomocą Google Dialogflow

​​​​​​Chatboty stają się w dzisiejszych czasach coraz ważniejszym narzędziem dla firm. Dzięki odpowiednim narzędziom i know-how firmy tworzą agentów czatu, którzy mogą prowadzić prawdziwe rozmowy z klientami.





Google Dialogflow ES to jedno z najpotężniejszych i najbardziej bezpłatnych narzędzi do tworzenia chatbotów na rynku. Ale jak uwolnić jego pełny potencjał?





MAKEUSEOF WIDEO DNIA

Krok 1: Utwórz agenta Dialogflow ES

Utworzenie własnego agenta Dialogflow ES to pierwszy krok w tym procesie. Każde konto Google działa, a zaczynasz od przejścia do Witryna Google Dialogflow PL . Kliknij Utwórz agenta po zalogowaniu i wypełnieniu danych w formularzu przed kliknięciem Tworzyć . Możesz użyć Dialogflow, aby stworzyć chatbota dla rozrywki , automatyzacja czy obsługa klienta. Ten projekt obejmuje to drugie.





  utwórz agenta dialogflow

Krok 2: Dodaj kolejne intencje Dialogflow

Nowy agent ma tylko domyślną intencję powitalną i domyślną intencję zastępczą. Intencja to fragment lub etap rozmowy.

Aby rozpocząć, musisz dodać dwie kolejne intencje do istniejącej domyślnej intencji powitalnej. Najedź na Domyślna intencja powitalna , Kliknij Dodaj zamiar kontynuacji i wybierz TAk z menu rozwijanego. Powtórz ten proces, wybierając Nie z menu rozwijanego, aby utworzyć drugą intencję uzupełniającą.



  tak i nie intencje kontynuacyjne

Intencja „Brak kontynuacji” zakończy rozmowę i pożegna się z użytkownikiem. Otworzyć Brak zamiaru kontynuacji i dodaj serię odpowiedzi tekstowych, aby zakończyć rozmowę. Aktywuj Ustaw tę intencję jako koniec rozmowy suwak.

  zamiar zakończenia rozmowy w dialogu

Wróć do głównego ekranu Intencji i kliknij Tak, intencja kontynuacji by go otworzyć.





Krok 3: Zbuduj bogatą listę odpowiedzi Dialogflow za pomocą JSON

Po skonfigurowaniu tych intencji nadszedł czas, aby zadać użytkownikowi pytanie, aby mógł się do nich dostać. Otworzyć Domyślna intencja powitalna oraz Usuwać odpowiedzi, które wygenerował. Kliknij Dodaj odpowiedzi i wybierz Ładunek niestandardowy z menu.

jak zarabiać pieniądze grając w gry
  mile widziana intencja niestandardowa ładowność

Poniższy kod JSON dodaje dwa różne typy odpowiedzi rozszerzonych; informacje i żetony.





{ 
"richContent": [
[
{
"type": "chips",
"options": [
{
"text": "Yes"
},
{
"text": "No"
}
]
},
{
"image": {
"src": {
"rawUrl": "https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/TK_email_icon.svg/1024px-TK_email_icon.svg.png"
}
},
"title": "Tell me about yourself :)",
"subtitle": "Give me some of your personal information. I'll send it to you in an email. That's the deal; absolutely no funny business. Promise! You in?",
"type": "info"
}
]
]
}

Krok 4: Zbierz nazwę użytkownika jako parametr Dialogflow

Następnie nadszedł czas, aby dodać kolejną intencję w celu zebrania danych od użytkownika. Jak opisano w kroku 2, powinieneś już mieć intencję kontrolną Tak, która prosi o imię i nazwisko użytkownika. Najedź na Tak, intencja kontynuacji w głównym menu intencji kliknij Dodaj zamiar kontynuacji i wybierz Zwyczaj z listy.

  wybierz tak kontynuacja intencji

Spowoduje to utworzenie nowej intencji kontynuacji bez żadnych fraz szkoleniowych. Przejdź do sekcji Training Phrases, wpisz nazwę w polu i naciśnij Enter, aby dodać ją jako nową frazę. Spowoduje to utworzenie nowego parametru z typem jednostki @sys.person. Kliknij na @m.s.s i zmień go na @sys.nazwa-nazwiska podmiot.

  ustawienie parametru nadana nazwa dialogflow

Spowoduje to zapisanie danych wejściowych użytkownika, aby agent mógł z nich korzystać. Przejdź do sekcji Odpowiedzi i dodaj odpowiedź za pomocą $imię-imię w środku tego. Spowoduje to wywołanie zebranego parametru nazwy, dzięki czemu pojawi się na czacie.

  odpowiedź parametru nazwa dialogflow

Krok 5: Użyj niestandardowego ładunku Dialogflow do wyzwalania intencji

Pozostając w dodanym przed chwilą zamiarze uzupełniającym, kliknij Dodaj odpowiedzi i wybierz z listy opcję Niestandardowy ładunek. Dodanie poniższego kodu JSON do tej sekcji wywoła odpowiedź bogatą w listę, prosząc użytkownika o wybranie koloru.

  bogata lista treści dialogflow

Najważniejszą częścią tego kodu JSON jest sekcja zdarzenia z każdym wpisem. Po kliknięciu każdy element listy wywołuje zdarzenie o nazwie COLOR z nazwą i parametrami koloru, które zostały do ​​tej pory zebrane. Intencje mogą mieć przypisane zdarzenia, które je wyzwolą.

{ 
"richContent": [
[
{
"event": {
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Red"
},
"name": "COLOR"
},
"title": "Red",
"type": "list"
},
{
"type": "divider"
},
{
"event": {
"name": "COLOR",
"languageCode": "en",
"parameters": {
"name": "$given-name",
"color": "Green"
}
},
"type": "list",
"title": "Green"
},
{
"type": "divider"
},
{
"type": "list",
"title": "Blue",
"event": {
"languageCode": "en",
"name": "COLOR",
"parameters": {
"name": "$given-name",
"color": "Blue"
}
}
}
]
]
}

Krok 6: Przenieś parametry dialogflow między intencjami

Wróć do głównego menu Intencje i kliknij Utwórz intencję . Nadaj swojej nowej intencji nazwę i wprowadź KOLOR w sekcji wydarzeń przed uderzeniem Wchodzić .

  kolor zamiaru z wydarzeniem

Przejdź do sekcji Training Phrases i dodaj nazwę oraz kolor do listy fraz, aby wywołać tworzenie nowych parametrów. Zmienić @m.s.s encja parametryczna do a @sys.nazwa-nazwiska i upewnij się, że kolor jest ustawiony na @sys.kolor .

  trening kolorystyczny i parametry

Możesz teraz dodać kilka odpowiedzi, używając $podanej-imienia i $koloru, aby dane wprowadzone przez użytkownika pojawiły się w oknie czatu.

laptop podłączony, ale się nie ładuje
  kolorowe odpowiedzi z parametrami

Na koniec wróć do Konteksty w górnej części strony i dodaj wynik o unikalnej nazwie. To przekaże parametry z tej intencji do następnej.

  kontekst wyjściowy zamiaru koloru

Krok 7: Zbierz kraj i numer telefonu użytkownika jako parametry Dialogflow

Wróć do głównego menu Intencji, najedź kursorem na Intensywność koloru właśnie utworzyłeś i kliknij Dodaj zamiar kontynuacji . Sprawdź sekcję Konteksty nowej intencji. Upewnij się, że zawiera kontekst Kolor, który utworzyłeś w ostatnim kroku, zarówno w sekcji wejściowej, jak i wyjściowej. Dodaj kolejny kontekst wyjściowy dla bieżącej intencji.

  kolor kraju dialogflow intencja kontynuacji

Przejdź do Zwroty szkoleniowe i dodaj nazwę kraju do listy przed uderzeniem Wchodzić . Spowoduje to utworzenie nowego parametru. Zmień typ encji parametru na @sys.geo-kraj przed dodaniem parametru do sekcji odpowiedzi.

  szkolenie krajowe i parametry

Wróć do głównego menu Intents i utwórz nową intencję uzupełniającą dla właśnie utworzonej intencji. Powtórz wykonane przed chwilą czynności, ale użyj numeru telefonu w Zwroty szkoleniowe Sekcja. Upewnij się, że wygenerowany parametr ma @sys.numer-telefonu typ encji.

  szkolenie i parametry numeru telefonu

Wróć do głównego menu Intencje i utwórz dwie nowe intencje uzupełniające dla właśnie utworzonej intencji; a Tak i Nie intencja kontynuacji. Aby zakończyć rozmowę, możesz ustawić opcję Bez kontynuacji.

  numer telefonu tak nie kontynuacje

Kolejna intencja Tak musi zawierać wszystkie Konteksty z poprzednich intencji, które utworzyłeś.

  kontynuacja kontekstów wejściowych

Na koniec wróć do głównego menu Intents i utwórz nową intencję uzupełniającą dla utworzonej właśnie intencji uzupełniającej Tak. Dodaj adres e-mail do sekcji Training Phrases i upewnij się, że wygenerowany parametr ma: @sys.email jako typ jednostki.

  parametr e-mail dialogflow

Przejdź do Odpowiedzi sekcja, kliknij Dodaj odpowiedzi i wybierz Ładunek niestandardowy z listy. Poniższy kod JSON doda wzbogaconą odpowiedź typu listy, która wywołuje zdarzenie o nazwie SENDEMAIL. Wszystkie parametry użytkownika, o które prosiłeś do tej pory, zostaną przesłane w tym celu.

{ 
"richContent": [
[
{
"title": "Send Email",
"event": {
"parameters": {
"name": "#Color-followup.name",
"country": "#Color-country-followup.country",
"email": "$email",
"color": "#Color-followup.color",
"phone": "#Color-country-phonenum-followup.phone-number"
},
"name": "SENDEMAIL",
"languageCode": "en"
},
"type": "list"
}
]
]
}

Krok 8: Wyślij wiadomość e-mail za pomocą wbudowanego edytora Dialogflow Node.js

Kliknij Utwórz intencję w głównym menu Intencje. Dodać WYSŁAĆ EMAIL do Wydarzenia sekcja i hit Wchodzić . Postępuj zgodnie z tym, dodając wszystkie zebrane parametry do Działanie i parametry Sekcja.

  zdarzenie e-mail i parametry

Przejdź do Spełnienie na dole strony i aktywuj suwak oznaczony Włącz wywołanie webhooka dla tej intencji . Umożliwi to dodanie niestandardowego kodu do tej intencji.

  spełnienie intencji dialogflow

Wybierz Spełnienie z menu głównego po lewej stronie i aktywuj suwak, aby włączyć Edytor wbudowany . W tym celu może być konieczne dodanie konta rozliczeniowego do projektu Google.

  aktywny edytor wbudowany dialogflow

Kliknij na pakiet.json i przewiń do dołu pliku. Zastąp sekcję zależności następującym kodem, aby dodać interfejs API Nodemailer do projektu.

"dependencies": { 
"actions-on-google": "^2.2.0",
"firebase-admin": "^5.13.1",
"firebase-functions": "^2.0.2",
"dialogflow": "^0.6.0",
"nodemailer": "^4.4.2",
"dialogflow-fulfillment": "^0.5.0"
}

Wróć do pliku index.js i zastąp istniejący kod próbką znalezioną na ten projekt CodePen przed kliknięciem Wdrożyć . Musisz zastąpić dane uwierzytelniające Gmaila danymi z własnego konta. W tym celu musisz użyć hasła do aplikacji. Po zakończeniu, Twój chatbot wyśle ​​e-mailem wszystkie zebrane dane do użytkownika po zakończeniu udanej rozmowy. Możesz dowiedz się więcej o Node.js i jak go używać z naszym podręcznym przewodnikiem.

Korzystanie z Dialogflow ES w Twojej witrynie

Twój nowy chatbot może zbierać informacje o użytkownikach i wysyłać e-maile, ale Dialogflow ES może o wiele więcej. Z tą usługą możesz połączyć prawie każdy interfejs API, a za pomocą interfejsu Dialogflow API możesz sterować swoim chatbotem we własnej witrynie.