Context

In een natuurlijke conversatie houden wij (mensen) altijd rekening met de context van de conversatie. Bijvoorbeeld:

  • Gebruiker: "Welk weer is het in Antwerpen?"

    • Intentie: #weer info

    • Entiteiten: @stad:Antwerpen

  • Bot: "Het is momenteel bewolkt en 21°C in Antwerpen."

  • Gebruiker: "En in Leuven?"

    • Intentie: junk

    • Entiteiten: @stad:Leuven

  • Bot: "Het is momenteel licht bewolkt en 22°C in Leuven."

Zulke conversaties zijn makkelijk te modelleren in Oswald. Elke keer dat een antwoord gegeven wordt, worden de intentie en de entiteiten in de context bijgehouden. Bij het configureren van een node kan je kiezen waar de intentie en/of de entiteit(en) moeten gevonden worden:

Naam

Beschrijving

sentence

Zoek enkel in de input van de gebruiker naar de intentie of de entiteit

context

Zoek enkel in de context van de conversatie naar de intentie of de entiteit

any

Zoek eerst in de input van de gebruiker naar de intentie of de entiteit. Indien ze daar niet gevonden wordt, zoek dan in de context naar de intentie of de entiteit.

Het resultaat van bij de inputconfiguratie zowel de intentie (in het voorbeeld #weer info) als de entiteit (in het voorbeeld @stad) op any te zetten, is het volgende (de vetgedrukte intentie en entiteiten zijn degene die de chatbot gebruikt om een antwoord te formuleren). De intentie en entiteiten in de zin krijgen altijd voorrang op de intentie en de entiteiten in de context bij het kiezen van een antwoordnode.

  • Gebruiker: "Welk weer is het in Antwerpen?"

    • Intentie in zin: #weer info

    • Entiteiten in zin: @stad:Antwerpen

    • Intentie in context: /

    • Entiteiten in context: /

  • Bot: "Het is momenteel bewolkt en 21°C in Antwerpen."

  • Gebruiker: "En in Leuven?"

    • Intentie in zin: junk

    • Entiteiten in zin: @stad:Leuven

    • Intentie in context: #weer info

    • Entiteiten in context: @stad:Antwerpen

  • Bot: "Het is momenteel licht bewolkt en 22°C in Leuven."

  • Gebruiker: "Wat is de postcode van Gent?"

    • Intentie in zin: #postcode

    • Entiteiten in zin: @stad:Gent

    • Intentie in context: junk

    • Entiteiten in context: @stad:Leuven

  • Bot: "De postcode van Gent is 9000."

  • Gebruiker: "Welk weer is het daar?"

    • Intentie in zin: #weer info

    • Entiteiten in zin: /

    • Intentie in context: #postcode

    • Entiteiten in context: @stad:Gent

  • Bot: "Het is momenteel zwaar bewolkt en 20°C in Gent."

Het botbrein geeft je extra info over welke intenties en entiteiten de chatbot in de zin herkend heeft en in de context bewaard heeft.