$caila.inference
Выполняет классификацию текста c дополнительными параметрами.
Синтаксис
Метод принимает в качестве аргумента текст для разметки в виде строки string и дополнительные параметры:
$caila.inference({"phrase":{"text":"greetings"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})
Здесь:
phrase— фразы для классификации.nBest— количество возвращаемых гипотез.knownSlots— известные слоты:name— название слота;value— значение слота.
В качестве ответа передается JSON с результатом классифкации фразы.
Определим интент hello с тренировычными фразами: hello, hi. Результат классификации фразы hello:
{
"phrase":{
"text":"hello",
"entities":[
]
},
"variants":[
{
"intent":{
"id":12174, // id интента
"path":"/hello", // путь к интенту
"slots":[ // слоты
]
},
"confidence":1, // степень уверенности
"slots":[
]
}
]
}
подсказка
Вы также можете использовать кастомный идентификатор клиента
clientIdв качестве аргумента метода. Укажите идентификатор clientId последним аргументом. При выполнении $caila.inference() сущности будут распознаваться для указанного клиента.По умолчанию как уникальный идентификатор клиента используется $request.channelUserId.
Использование в сценарии
state:
q!: inference
script:
$reactions.answer(JSON.stringify($caila.inference({"phrase":{"text":"hello"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})));