Sådan bygger du din første joke-fortællende chatbot med SAP Conversational AI

I denne komplette tutorial lærer du, hvordan du bygger din første chatbot fra bunden ved hjælp af vores kraftfulde bot-software og implementerer den på Facebook Messenger.

Når du er en nybegynder-botbygger, kan det føles lidt overvældende at lære om naturlig sprogforståelse, samtale-strømme og messaging-platforme.

I denne vejledning hjælper jeg dig med at bygge din første bot på SAP Conversational AI.

Ved afslutningen af ​​denne tutorial vil du have en funktionel chatbot, og du vil vide, hvordan du:

  • Få din bot til at forstå menneskeligt sprog
  • Skab en samtale flow
  • Distribuer din bot til en ekstern kanal (Facebook Messenger, Twitter, ...)

Med SAP Conversational AI kan du nemt designe komplekse samtalestrømme, der er drevet af en kraftig kunstig intelligens.

Du har brug for en konto for at følge denne tutorial, så klik her, hvis du ikke allerede har en ... det er helt gratis!

Lad os starte med en simpel bot:

Hvad du kan forvente af denne tutorial

Vi bliver nødt til at:

  1. Forstå hilsener og farvel
  2. Forstå, at brugeren beder om en vittighed, og send en valgt tilfældigt fra en liste.
  3. Forstå mindst to reaktioner: griner eller griner, og reager med en sjov gif eller dybe undskyldninger.
  4. Distribuer vores bot på Facebook Messenger.

Krav

  1. For at begynde skal du oprette en konto på SAP Conversational AI. Det er gratis!
  2. Når du er logget ind, er det tid til at oprette din første bot. Klik på knappen "Start med en skabelon" eller bare på + NY BOT i overskriftsafsnittet.
Oprettelse af en ny bot

3. Du kan vælge en eller mange foruddefinerede færdigheder til din bot. Dette vil hjælpe dig med at komme hurtigere i gang. Vælg bare "Hilsen" lige nu, men jeg opfordrer dig til at tjekke de andre senere.

4. Vælg dit navn. "Joke-bot" ville være passende.

5. Tilføj en beskrivelse. “Min fantastiske og sjove vittighedsbot” eller noget mindre skidt, måske.

6. Du kan indstille op til 6 emner for at forbedre din bottræning. Emner er nøgleord, der kan definere din bot som "mode", "spil" eller "job".

7. Vælg den relevante Data Policy-mulighed, afhængigt af brugen af ​​dataene. Bemærk, at vi ikke tillader “Health” -bots (som beder nogle personlige sundhedsoplysninger til dine brugere) i øjeblikket.

8. Indstil engelsk som standardsprog.

9. Du kan holde din bot offentlig, da der ikke er nogen privat info, men du kan ændre denne indstilling senere.

Valg af din bots indstillinger

Du er nu klar til at bygge din bot!

Trin i botbygning

Der er 5 faser i din bots liv, der er repræsenteret på vores platform ved hjælp af 5 faner:

  1. Tog - Lær din bot, hvad den har brug for at forstå
  2. Byg - Opret din samtale flow med vores Bot Builder værktøj
  3. Kode - Forbind din bot med eksterne API'er eller en database
  4. Tilslut - Send din bot til en eller flere meddelelsesplatforme
  5. Monitor - Træn din bot for at gøre den skarpere og få indsigt i brugen!

For i dag vil vi springe over “Kode” -delen, fordi vi ikke har brug for nogen eksterne oplysninger. Hvis du vil forbinde din bot med en eller anden kode, opfordrer jeg dig til at tjekke denne tutorial.

TRIN 1/9 - Træn din bot til at forstå menneskets sprog

Dette er hjernen i din bot, hvor al dens forståelse er samlet og opdelt i intentioner.

En hensigt er en "boks" af sætninger, der alle har den samme betydning, selvom de kan være meget forskellige fra hinanden. Når en bruger sender noget tekst til din bot, sammenligner vores algoritme den med sætningerne i dit ønske.

Derefter kontrollerer den, om den er tæt nok på en af ​​dem og beslutter, hvad meningen med meddelelsen er.

For eksempel:

  • Er du en bot?
  • Du svarer så hurtigt, jeg er sikker på at du skal være en slags robot.
  • Taler jeg med et menneske eller ej?

er alle forskellige, men de stiller alle det samme spørgsmål, som vi kan opsummere som: Er du en bot? Nå, det ville gøre en stor hensigt! Hvis din bot er i stand til at genkende dette spørgsmål, kan du forberede en smart reaktion som "Jeg er en robot og jeg er stolt af det".

Gaffel hensigter

Alle bots skal forstå grundlæggende ting som 'hilsener', 'enig', 'uenig', eller når en bruger beder om hjælp.

Hvis du valgte den foruddefinerede dygtighed "Hilsen", når du opsætter din bot, har du allerede to formål: farvel og hilsener.

Da SAP Conversational AI samarbejder, behøver du ikke at genskabe hver hensigt hver gang! Du kan 'gaffel' en hensigt, som nogen allerede har oprettet for at klone den lige ind i din bot. Da vi er nødt til at forstå, at vores bruger ønsker at blive fortalt en vittighed, lad os finde ud af, om samfundet allerede har skabt denne hensigt for os.

Søger efter en vittighedsintention

Skriv "joke" i input-søgningen.

Du kan klikke på intensionsnavne, hvis du vil kontrollere deres fulde indhold. Det første resultat fungerer fint for mig.

Resultaterne af søgningen, gaffelen er kun et klik væk!

Opret en ny hensigt

Hvis du vil have en brugerdefineret hensigt, kan du opbygge den fra bunden. Her ønsker vi, at botten skal forstå, når nogen griner af vittigheden.

Klik på + CREATE til højre for søgefeltet, og vælg et navn til din hensigt:

Oprettelse af en ny hensigt - griner

Gentag denne proces med det formål at samle negative reaktioner på dine vittigheder:

Oprettelse af en ny hensigt - haltTrin 1/9 afsluttet!

TRIN 2/9 - Tilføj udtryk

Nu hvor vi har intentioner, er vi nødt til at udfylde dem med forskellige udtryk. Et udtryk er navnet på en sætning, der er tilføjet en intention.

En gylden regel ville være at tilføje mindst 30 udtryk til en intention, og ideelt set mere end 50.

Klik på en hensigt og tilføj sætninger, du vil have, at din bot skal forstå.

Tilføjelse af et nyt udtryk

Sæt dig selv i skoene på de mennesker, der taler til din bot. Hvad kunne de muligvis spørge? Indtast et nyt udtryk ved at skrive det i feltet Tilføj et udtryk. Her er nogle eksempler:

Griner

  • Hahaha det er sjove
  • ROFL du er god!
  • Det, min ven, var en fantastisk vittighed.
  • Jeg har ikke lo så meget på længe!

Halt

  • Du har overhovedet ingen sans for humor.
  • Det er både forfærdeligt og stødende.
  • Hvad pokker var det?
  • Prøv hårdere, det var en meget dårlig vittighed.
Oversigt over udtrykkene i den halte hensigt

Tip: Klik på meddelelsen "Du har foreslået X-udtryk for at berige din hensigt" for at se eksempler på sætninger, du kan tilføje til din bot. En god måde at fremskynde din træning!

Trin 2/9 afsluttet!

TRIN 3/9 - Test din bot

Nu hvor din bot er fuld af udtryk, lad os teste den med konsollen:

Klik på TEST-bobleikonet øverst til højre. Skriv en sætning, som du ikke har trænet din bot med: "Botty bot, kan du fortælle mig en vittighed tak?"

Test din bot på SAP Conversational AI

Med hensyn til hvad du skrev, vil du se, hvilken hensigt der blev fundet under "Han refererer til". Hvis algoritmen ikke opdagede en hensigt eller opdagede en ugyldig hensigt, betyder det, at du er nødt til at træne din bot med flere udtryk. Gå tilbage til dine intentioner, og tilføj eller rediger udtryk. Test derefter igen. Dette lyder måske en smule gentagende, men det er den bedste måde at sikre, at din bot finder korrekt brugernes sætninger korrekt.

Når du er tilfreds med din botintentionsdetektion, er det tid til at gå til den næste fase: opbygge din botstrøm.

Trin 3/9 afsluttet!

TRIN 4/9 - Byg og styr samtalestrømmen

Nu, hvor "hjernen" i din bot er fyldt ud, skal du klikke på fanen Build.

Fanen Build er det sted, hvor du finder Bot Builder. Det hjælper dig med at konstruere samtalestrømmen for din bot ved hjælp af Skills.

Hvad er en færdighed?

Hver færdighed repræsenterer en ting, som din bot ved, hvordan man gør, og de kan interagere med hinanden. Din færdighed kan være en kompliceret sag - såsom administrering af betaling med kredit eller simpel - besvare grundlæggende spørgsmål.

Når du opretter en ny bot, vil gaffelfærdigheder, du allerede har gjort til den nye, fortsat gøre dine bots mere magtfulde. Du kan også gaffelfærdigheder oprettet af andre mennesker på platformen, så du ikke behøver at opfinde hjulet igen!

Hvis du valgte den foruddefinerede færdighed "Hilsen" under oprettelsen af ​​din bot, vil den allerede være i din grænseflade.

Kompetencer oversigt

Klik på dets navn for at kontrollere dets detaljer:

Detaljer om en færdighed

En færdighed har fire dele:

  • Readme: Hvor du forklarer formålet med din færdighed
  • Triggers: Hvor du definerer, hvorfor denne færdighed skal aktiveres efter en brugermeddelelse
  • Krav: Beskriver, hvilke oplysninger denne evne skal indsamle, og hvilke spørgsmål der skal stilles for at opfylde kravene
  • Handlinger: Hvad skal man gøre, når kravene er opfyldt

Hvis du navigerer gennem fanerne, ser du, at denne færdighed er struktureret som følger:

  • Det udløses, hvis intensionshilsenerne eller intentionens farvel matches.
  • Det har ingen krav, fordi det ikke behøver at indsamle yderligere oplysninger. Det betyder, at det vil udføre handlinger direkte efter en trigger.
  • Det har to mulige handlinger: Hvis den matchede intention er hilsener, sender den en tilfældig indbydende meddelelse valgt fra en liste, og hvis hensigten er farvel, gør den den samme ting, men plukker meddelelsen fra en anden liste.

Det er tid til at skabe vores egen dygtighed med den samme struktur.

Trin 4/9 afsluttet!

TRIN 5/9 - Byg din egen dygtighed

Gå tilbage til fanen Bygg, og klik på + Opret dygtighed i venstre side.

Du har tre forskellige typer færdigheder: Business, Floating og Fallback.

  • Forretning og flydende har ingen strukturelle forskelle. Ikke desto mindre hjælper det med at differentiere de to typer færdigheder, når du har mange af dem.
  • Fallback-færdigheder udløses, når ingen andre færdigheder har deres triggere opfyldt efter en brugermeddelelse. Det meste af tiden har du kun en af ​​denne art, hvor du kan minde brugeren om, hvad din bot kan gøre, og bede dem omfrase.

Vores evner vil være af flydende type. Giv det det ønskede navn, jeg valgte fortæl-mig-en-joke.

Oprettelse af en ny flydende færdighed

Klik på din nyoprettede færdighed, og gå derefter til fanen Triggers. Vi ønsker at aktivere vores evner, hvis en af ​​de tre intentioner, vi oprettede, matches.

En dygtigheds udløser

Glem ikke at ændre betingelsen til OR - ved at klikke på en af ​​de blå knapper “OG” - da det som standard er en AND-betingelse, og vi ønsker at aktivere vores evner, når nogen af ​​disse intentioner matches.

Vi behøver ikke at gøre noget i kravene, fordi vi ikke har noget at stille. Men du kan forbedre bot ved at bede om nogle oplysninger der, som hvilken slags vittigheder de foretrækker, eller hvor gamle de er, hvis du vil tilføje nogle voksne vittigheder.

Gå til fanen Handlinger, og opret din første meddelelsesgruppe.

Klik på TILFØJ NY NY BESKRIVELSESGRUPPE, derefter TILFØJ FORBINDELSE for at udløse meddelelser og tilføje betingelsen: Hvis @ ask-joke er til stede. “@” Står for forsætstypen. Vi dækker andre typer senere.

Vælg derefter handlingstypen “SEND MESSAGE”, vælg Tekstformat og skriv den bedste vittighed, du kender:

Afsendelse af en meddelelse, når visse triggere er opfyldt

Du kan også indstille en forsinkelse (valgfrit) mellem to meddelelser, op til 5 sekunder. Dette kan være nyttigt, når de meddelelser, som din bot sender, er ret lange og har brug for tid til at blive læst af brugeren.

Trin 5/9 afsluttet!

TRIN 6/9 - Giv forskellige mulige svar på din bot

Klik på det lille + over din besked for at tilføje en ny besked til din tilfældige liste, så vi ikke altid sender den samme vittighed. Hvis du igen klikker på SEND MESSAGE nedenfor, kan du sende flere meddelelser på samme tid.

Tre forskellige meddelelser udløst på de samme betingelser

Lad din kreativitet tale!
Når vi har det godt med vores vittigheder, så lad os dække de to andre ting.

Klik på TILFØJ EN NY BESKRIVELSESGRUPPE og indstil som betingelse: Hvis @laughs er til stede

Jeg besluttede at sende gifs i dette tilfælde, så jeg klikkede på SEND MESSAGE og Image format.

Du kan selvfølgelig sende billeder og GIF'er

Her er URL'erne til mine GIF'er, hvis du vil bruge dem: 1, 2 og 3.

Derefter gentager vi processen for vores sidste hensigt:

Som du kan se, understøttes rich meddelelsesformatTrin 6/9 afsluttet!

TRIN 7/9 - Chat med din bot

Sidste trin, før du frigiver din bot til dit publikum: chat med det i en reel situation. Dette viser dig nøjagtigt, hvordan bot opfører sig og reagerer som om du var i skoene fra en anden bruger. Du vil være i stand til at kontrollere enhver fejl i samtalestrømmen (dårlige svar, tilbagevendelsesfejl, underlig opførsel, ...) og rette den, inden den bliver offentlig. Faktisk anbefaler jeg, at du chatter med din bot så ofte du kan under dens opbygning, da det vil være lettere at identificere, hvor en eventuel fejl kommer fra.

Klik på den nederste højre blå knap "CHAT MED DIN BOT" og start med at sende nogle meddelelser. Brug "Ryd" for at opdatere chatten.

Chat med din bot: den bedste måde at teste den på

Vi kommer over den bedste måde at fejlsøge din chatbot i en dedikeret artikel.

Trin 7/9 afsluttet!

TRIN 8/9 - Tilslut din bot til en meddelelsesplatform

Din bot er klar? Det er tid til at implementere det på en offentlig meddelelsesplatform.

Gå til fanen Connect, vælg den meddelelsesplatform, du foretrækker, og følg trin-for-trin-instruktionerne.

Du har ikke andet at gøre end den oprindelige konfiguration til at distribuere din bot til en ny kanal. Af denne grund skal du ikke tøve med at konfigurere multipla til at udvide dit publikum!

Pas på, at nogle platforme ikke er så magtfulde som andre. For eksempel er Telegram meget let at konfigurere, men understøtter ikke GIF-billeder, så du skal tilpasse din bot i overensstemmelse hermed.

Hvis du ikke ved, hvor du skal starte, er Facebook Messenger en meget stærk platform med et stort publikum.

Med Bot Connector er tilføjelse af en ny kanal et spørgsmål om minutter - ingen vedligeholdelse kræves

Gå nu på Messenger, Kik eller en hvilken som helst anden kanal, du valgte, og kig efter dig, den er der, den er live!

Trin 8/9 afsluttet!

TRIN 9/9 - Overvåg og træne din bot

Fanen Monitor hjælper dig med at skærpe din bots intelligens over tid.

Den samler alle de meddelelser, din bot modtager, og viser, hvilken hensigt der blev matchet.

Hold øje med denne fane og træne din bot regelmæssigt:

  • Arkiver meddelelsen, hvis den svarer til den rigtige hensigt
  • Tildel den korrekte hensigt, hvis en ugyldig hensigt blev matchet eller slet ingen
Oversigt over skærmfanen

Her matchede den sidste meddelelse, der blev sendt til min bot, ikke nogen hensigt. Hvis lignende meddelelser fortsat kommer over tid, opretter jeg en ny hensigt til denne sag.

Trin 9/9 afsluttet!

Hvad skal jeg bygge næste?

Du har allerede gjort et godt stykke arbejde for i dag. Nu er det tid til at tage en pause, have det sjovt at se folk tale med din bot og polere dens identitet.

Når du er klar til at gå videre, kan du prøve følgende:

  • Lær, hvordan du bruger enheder til at udtrække nøgleinformation fra meddelelser
  • Tilslut din bot til din kode for at interface den med eksterne API'er
  • Gør din bot flersproget for at udvide dit publikum

Næste gang du laver en bot, glem ikke at gafle din vittighed Skill! Gang på gang vil dine bots vide mere og mere. Vær iterativ og genanvend det, du allerede har gjort.

Her er nogle ressourcer, der hjælper dig med at gå videre:

  • 22 regler, du aldrig bør bryde, når du bygger en bot
  • Tilslut din chatbot til Amazon Alexa

Håber du nød denne tutorial og føler dig klar til at gøre internettet lidt mere samtidigt :) Og husk, at du er meget velkommen til at kontakte os via Slack, hvis du har brug for hjælp.

. . .

Oprindeligt offentliggjort på SAP Conversational AI Blog.