Развернуть
В этом разделе рассматривается механизм ранжирования паттернов, который применяется в стандартном режиме работы Code.
При обработке каждого запроса клиента Code сопоставляет реплики пользователя со всеми активными правилами (паттернами). Далее выполняется ранжирование полученных гипотез по алгоритму, рассмотренному ниже.
После выполнения ранжирования, гипотеза с наибольшим весом отправляется на обработку в сценарий, то есть запускается выполнение сценария в выбранном стейте. Остальные гипотезы разбора сохраняются в массиве $context.nBest
, если в chatbot.yaml
задан соответствующий параметр.
Вычисление конечного веса каждого паттерна состоит из следующих этапов:
- Вычисление
cost
; - Вычисление
score
; - Добавление весов из правил
$weight
; - Контекстное ранжирование.