$caila.inference
Выполняет классификацию текста c дополнительными параметрами.
Синтаксис
Метод принимает в качестве аргумента текст для разметки в виде строки string
и дополнительные параметры.
- ECMAScript 5
- ECMAScript 6
$caila.inference({"phrase":{"text":"greetings"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]});
В среде ECMAScript 6 метод является асинхронным:
await $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
.
Использование в сценарии
- ECMAScript 5
- ECMAScript 6
state: Example
q!: inference
script:
$reactions.answer(JSON.stringify($caila.inference({"phrase":{"text":"hello"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})));
state: Example
q!: inference
scriptEs6:
$reactions.answer(JSON.stringify(await $caila.inference({"phrase":{"text":"hello"}, "nBest": 5, knownSlots: [{"name":"a", "value":"b"}]})));