Belangrijke classen
In de getResponse
-methode heb je toegang tot twee interessante parameters:
sentence
: instance van deSentence
-klassecontext
: instance van deContext
-klasse
Deze parameters kunnen nuttige informatie bevatten om een antwoord te formuleren.
Verder zijn er nog interessante klassen, zoals ResponseMessage
, ResponseData
, Quickreply
en Entity
. In deze sectie zullen de parameters en methodes van deze klassen overlopen.
Sentence
De Sentence
-klasse is een voorstelling van de input van de gebruiker. Je kan zelf geen instance van de klasse aanmaken. Het heeft de volgende eigenschappen en methodes:
Eigenschappen
Naam | Type | Beschrijving |
session |
| de sessie-identifier |
metadata |
| vrije variabelen die meegegeven kunnen worden in de input |
label |
| de intentie van de zin |
sentence |
| de originele zin die gebruiker gegeven heeft, alles lowercase |
tokens |
| lijst van tokens (woorden) in de zin |
user_input |
| de originele zin die de gebruiker ingegeven heeft (volledig originele input) |
Methodes
getEntities()
Parameters: geen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten in de zin terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntityLabels()
Parameters: geen
Return type:
list(str)
Geeft een lijst van alle namen van entiteiten in de zin terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntityValues()
Parameters: geen
Return type:
list(str)
Geeft een lijst van alle waarden van de entiteiten in de zin terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntitiesWithLabel(label)
Parameters:
label
(str
): de naam van de entiteiten die je wil opvragen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten met een specifieke naam in de zin terug. Geeft een lege lijst terug wanneer er geen entiteiten met deze naam zijn.
getEntitiesWithLabelAndValue(label, value)
Parameters:
label
(str
): de naam van de entiteiten die je wil opvragenvalue
(str
): de waarde van entiteiten die je wil opvragen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten met een specifieke naam en een specifieke waarde in de zin terug. Geeft een lege lijst terug wanneer er geen entiteiten met deze naam en deze waarde zijn.
getEntitiesAndPositionsWithLabel(label)
Parameters:
label
(str
): de naam van de entiteiten die je wil opvragen
Return type:
dict
Geeft een dictionary
terug met als keys een str
die de positie van de entiteit aanduidt en als values een lijst van entiteiten (Entity
) met een specifieke naam die op die positie staan in de zin. Geeft een lege dictionary
terug als er geen entiteiten met deze naam zijn. De str
die de positie aanduidt, heeft het volgende formaat: startIndex - eindIndex
. Bijvoorbeeld:
Welk weer is het vandaag in Antwerpen?
Context
De Context
-klasse is een voorstelling van de huidige context van de conversatie. Je kan zelf geen instance van de klasse aanmaken. Het heeft de volgende eigenschappen en methodes:
Eigenschappen
Naam | Type | Beschrijving |
label |
| de intentie in de context (= de intentie van de vorige zin) |
contextVariables |
| vrije variabele in de context |
environment_variables |
| de environment variabelen van de chatbot |
Methodes
getEntities()
Parameters: geen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten in de context terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntityLabels()
Parameters: geen
Return type:
list(str)
Geeft een lijst van alle namen van entiteiten in de context terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntityValues()
Parameters: geen
Return type:
list(str)
Geeft een lijst van alle waarden van de entiteiten in de context terug. Geeft een lege lijst terug wanneer er geen entiteiten zijn.
getEntitiesWithLabel(label)
Parameters:
label
(str
): de naam van de entiteiten die je wil opvragen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten met een specifieke naam in de context terug. Geeft een lege lijst terug wanneer er geen entiteiten met deze naam zijn.
getEntitiesWithLabelAndValue(label, value)
Parameters:
label
(str
): de naam van de entiteiten die je wil opvragenvalue
(str
): de waarde van entiteiten die je wil opvragen
Return type:
list(Entity)
Geeft een lijst van alle entiteiten met een specifieke naam en een specifieke waarde in de context terug. Geeft een lege lijst terug wanneer er geen entiteiten met deze naam en deze waarde zijn.
add_entity(label, value=None)
Parameters:
label
(str
): de naam van de entiteit die je wil toevoegenvalue
(str
): optioneel, de waarde van de entiteit die je wil toevoegen
Return type:
None
Voegt het label en eventueel de waarde toe aan de context.
add_intent(label)
Parameters:
label
(str
): de naam van de intentie die je wil toevoegen
Return type:
None
Voegt de intentie toe aan de context.
remove_entity(label, value=None)
Parameters:
label
(str
): de naam van de entiteit die je wil verwijderenvalue
(str
): optioneel, de waarde van de entiteit die je wil verwijderen
Return type:
None
Verwijdert alle entiteiten met het gegeven label uit de context. Als er ook een waarde gegeven is, worden enkel de entiteiten verwijderd waar zowel het label als de waarde overeenkomen.
remove_intent(label)
Parameters:
label
(str
): de naam van de intentie die je wil verwijderen
Return type:
None
Verwijdert de intentie met het gegeven label uit de context.
Entity
De Entity
-klasse stelt een entiteit voor. Je kan zelf geen instance van de klasse aanmaken.
Eigenschappen
Naam | Type | Beschrijving |
label |
| De naam van de entiteit |
value |
| De waarde van de entiteit |
ResponseType
ResponseType
is een enum
met de volgende mogelijk waarden:
Naam | Beschrijving |
text | Een tekstballon |
url | Een knop met een externe link |
image | Een afbeelding |
ResponseData
De ResponseData
-klasse stelt een individueel element in een bericht voor, bijvoorbeeld een tekstballon of een afbeelding. Het is de bedoeling dat je hiervan één of meerdere instances aanmaakt en deze aan de ResponseMessage
meegeeft.
Parameters om object te initialiseren
Naam | Type | Vereist | Beschrijving |
message |
| Nee | Het bericht in de antwoorddata |
type |
| Nee | Het type van de antwoorddata |
url |
| Nee | De url in de antwoorddata (bij een url-type) |
image |
| Nee | De url van een afbeelding in de antwoorddata (bij een image-type) |
Opmerkingen
Standaard zijn parameters niet vereist, toch zijn er enkele restricties:
Wanneer je een type tekst geeft, is een
message
vereistWanneer je een type image geeft, is een
image
url vereistWanneer je type url geeft, is een
url
vereist
Voorbeelden
Quickreply
De Quickreply
-klasse is een voorstelling van een knop waar de gebruiker om kan klikken om snel een voorgedefinieerd bericht naar de chatbot te sturen. Je kan dit zelf aanmaken en meegeven aan de ResponseMessage
.
Parameters om object te initialiseren
Naam | Type | Vereist | Beschrijving |
text |
| Ja | De tekst op de knop |
action |
| Nee | De actie achter knop (= de tekst die naar de chatbot gestuurd wordt) |
Voorbeelden
ResponseMessage
De ResponseMessage
-klasse is een voorstelling van een volledig bericht dat teruggeven wordt aan de gebruiker en acties die eraan verbonden zijn. Het is de bedoeling dat je hiervan een instance aanmaakt en teruggeeft in de getResponse
-methode.
Parameters om object te initialiseren
Naam | Type | Vereist | Beschrijving |
data |
| Ja | Een lijst van |
contextVariables |
| Nee | Een dictionary met vrije variabelen die in de context opgeslagen worden |
responsePriority |
| Nee | Een string die de prioriteit van het volgende antwoord aangeeft: |
ifNoResponseFound |
| Nee | Het bericht dat aan de gebruiker gegeven wordt als er hierna geen antwoord gevonden wordt |
toBookmark |
| Nee | De bookmark waarnaar er gesprongen wordt na het geven van dit antwoord |
tags |
| Nee | Een dictionary die de toe te voegen en te verwijderen tags definieert als lijsten. Bvb: |
stateChange |
| Nee | De toestand waarin de chatbot valt na het geven van dit antwoord |
metadata |
| Nee | Een dictionary met vrije variabelen die teruggegeven worden aan de gebruiker |
Opmerkingen
Indien je geen
contextVariables
meegeeft, dan blijven de vorigecontextVariables
behoudenIndien waarde van
toBookmark
geen bookmark is, zal het systeem crashen
Voorbeelden
Last updated