Blog overzicht

Conversational Calculator: Hoe je wiskunde in je chatbot gebruikt

Waarom je wiskunde zou gebruiken in een chatbot

Als je echt verder wilt gaan dan eenvoudige chatbotfunctionaliteiten zoals het begrijpen van eenvoudige vragen wil je misschien wel wiskunde gebruiken in je chatbot.

Wanneer je AI-bot wiskunde begrijpt ontstaan er verschillende nieuwe mogelijkheden, afhankelijk van je use case. We zullen je enkele voorbeelden geven:

Voor chatbots in de hotel-branche zou je een standaardtarief per nacht kunnen hebben. Dan kun je de gebruiker vragen hoeveel nachten hij wil blijven en dat vermenigvuldigen met het tarief per nacht om hem te informeren over de totale kosten.

Restaurantchatbots kunnen wiskunde gebruiken om de groepsgrootte van een boeking te bepalen. Als iemand zoiets zegt als “Ik wil 2 tafels reserveren voor elk 4 personen”, kan de bot begrijpen dat het in totaal 8 personen zullen zijn.

je kunt zelfs wiskunde gebruiken voor fitnessbots voor personal trainers:

Personal Trainer Chatbot

Verschillende soorten wiskunde

In dit artikel zullen we je leren hoe je 4 soorten wiskunde kunt implementeren in je chatbot:

Verschillende soorten wiskundige vragen

De eerste stap is het creëren van een Intent die detecteert wanneer iemand wil dat de chatbot iets berekent. Iemand zou een algemene vraag kunnen stellen, zoals “Begrijp je wiskunde?” of “Kun je iets voor me uitrekenen?”.

Als dat het geval is, kun je de bot gewoon laten vragen wat hij moet berekenen.

Soms geeft de gebruiker al wat meer specifieke informatie over de wiskundevraag, zoals ‘Wat is 8 gedeeld door 4?’ of “8/4 =?”.

In dat geval kun je ervoor zorgen dat je rekenmachine-chatbot die informatie al opslaat, zodat hij het niet opnieuw hoeft te vragen. Dit is beter voor de gebruikerservaring omdat het de hoeveelheid moeite die de gebruiker moet doen vermindert.

Het maken van een Wiskunde Intent

Nu we enkele manieren hebben besproken waarop mensen de bot kunnen laten weten dat ze willen dat het hun wiskundige probleem oplost, is het tijd om er een intentie voor te creëren:

Wiskunde Intent

Je kunt zien dat het de bedoeling is om 3 entiteiten te gebruiken:

Het eerste en tweede getal in de intentie worden afzonderlijk vastgelegd, omdat je voor het delen en aftrekken moet weten welk getal moet worden gedeeld/afgetrokken van het andere getal. Beide nummerentiteiten gebruiken de standaard systeementiteit voor nummers.

De Wiskunde Entity

De derde entity (math) is een custom entity. Het bevat de 4 soorten wiskunde die we al kort hebben besproken, samen met enkele synoniemen ervoor:

Wiskunde Entity

Alle Entities vereisten

Nu we de entiteit en de intentie hebben, wordt het tijd om naar de daadwerkelijke flow te kijken.

Alle drie de entiteiten moeten een waarde hebben om de bot in staat te stellen de wiskundige vraag op te lossen, dus de eerste stap is om ze allemaal als vereist (required) in te stellen:

Vereist Alla Parameters

Hiermee worden secties toegevoegd onder de intentie voor wanneer een van de entiteiten niet bekend is na het matchen van de Intent. Klik op ze allemaal en voeg een tekstantwoord toe dat aangeeft om het een waarde te geven.

Missen van vereiste Parameters

Wiskundige Conditions

Omdat we 4 soorten wiskunde hebben, moeten we 4 conditions toevoegen die controleren welk type de chatbot moet gebruiken.

De onderstaande afbeelding laat zien hoe je de bot kunt laten controleren of de waarde van de math parameter “Minus” is. Doe hetzelfde voor “Multiply”, “Divide,” en “Plus” in de andere conditions.

Chatbot condition met Wiskunde

Voeg ook een 5e Else-condition toe zonder enige regels, zodat we een foutmelding kunnen geven wanneer de bot niet in staat was om aan een andere voorwaarde te voldoen vanwege een onvoorzien probleem dat we hebben gemist.

String Templates

Nu is het eindelijk tijd om de wiskunde zelf daadwerkelijk te implementeren. Dit is gemakkelijker dan je misschien denkt! We kunnen gewoon gebruik maken van String Templates.

Gebruik de volgende String Template om de waarde van de entiteit number_first minus de waarde van number_second te berekenen:

{{number_first.first.match | minus: number_second.first.match}}

Als je de “minus” verandert in de andere soorten wiskunde krijg je de onderstaande flow

Chatbot Math Flow

Parameters resetten

Als we onze flow nu twee keer testen, zie je de tweede keer dat deze nog niet correct werkt. De parameter number_first bevat nog steeds de waarde van onze eerste test.

De Wiskunde testen

Dat komt omdat we de parameters niet opnieuw hebben gereset voordat we ze nieuwe waarden hebben gegeven. Los dit eenvoudig op door de waarden na elke reactie opnieuw te resetten, zoals weergegeven in de onderstaande afbeelding.

Het eindresultaat van de flow

Zoals je kunt zien, is het probleem nu opgelost!

Het Wiskunde Probleem Opgelost

En zo leer je je chatbot wiskunde!

Leer Meer

Er zijn nog veel meer mogelijkheden met String Templates, dus bekijk onze documentatie als je meer wilt weten.

Voel je ook vrij om toe te treden tot ons gratis Slack Support Channel. Het is een geweldige plek om inspiratie op te doen en vragen te stellen over je chatbotproject!

Demo aanvragen