В блоке не видно текст, он как будто свёрнутый

хоть это элементарная вещь для многих, но новички иногда спрашивают "у меня почему-то не видно текст в блоке информации, как это исправить?". Это функция блока, его можно скрыть и открыть, при этом текст никуда не исчезает, он все равно будет виден системе и она его сможет произносить. Такая функция есть у всех блоков.


Робот переводит на оператора там, где я этого не хотел

скрипт почему-то инициирует перевод на оператора, с чем это связано?
Все очень просто, он не знает что делать, а вы его настроили так, что в этом случае нужно делать перевод.


Определение ветки по ключевым словам идет не так как я планировал

приведение слов к первой форме, не многие задумываются об этой функции и не обращают на нее внимание пока не случается проблема. 
Какого рода проблема может быть?
Например, вы делаете бота на ключевых словах, прописали в одну ветку ключевое слово "который", а при тестах в нее идет все что имеет такую же первую форму - которая, которые, которым и т.д


А в первом блоке настроек скрипта мы выбираем сколько таких циклов будет по умолчанию 3 и, если в 4й раз абонент скажет тоже самое, цикличность будет прервана и разговор тоже.




Во-первых, если будет включен синтез или не будет озвучки в блоке(случайно удалите), всё что написано в блоке БУДЕТ озвучено абоненту. А если это чат-бот, то все это будет видно в переписке.

Во-вторых, для технического текста есть специальные места, которые не произносятся и не отображаются в диалоге. У некоторых блоков нет, но можно сделать отдельный блок информации куда вписать вашу пометку, но в этот блок сценарий заходить не будет.



Таким образом, по невнимательности можно удалить фиксацию результата или переменную. Важно внимательно изучать настройки блока прежде чем менять его Тип.





Блоки результат перезатираются, когда бот их проходит и в отчет идет именно тот, который фиксировался последним.
Но тут есть еще важные замечания:
во-первых, не надо фиксировать ерунду (типа, клиент переспросил про документы), нужны только важные моменты в разговоре.
Например,
1 Идентификация абонента не пройдена(если в отчете такой статус, значит был сброс в начале диалога),
2 Клиент идентифицирован (если в отчете такой статус, значит был сброс после подтверждения что он тот, кого мы ищем),
3 Клиент обещал оплатить долг/Клиент уже оплатил долг (если в отчете такой статус, значит был сброс или завершение диалога, но мы все равно получили важный статус).
Фиксируем только то, что по итогу в отчете даст четкую "картину" обзвона.
во-вторых, не надо ставить результаты один за одним, потому что даже если клиент сбросит на середине фразы блока Информации, который будет стоять между результатами, то бот будет считать, что дошел до ближайшего блока Вопроса, а это значит что второй результат фиксируется практически автоматом.




          - Сохраняя скрипт так часто, вы без труда поймете что причина ошибки в последних двух блоках и сможете их проверить на корректность настройки.
          Во-вторых, проблема может быть не только в редакторе, у вас отключили дома свет или пропал интернет, всё - страница с редактором неизбежно будет обновлена, все не сохраненные данные                пропадут.
          В-третьих, иногда скрипт не сохраняется когда вы заходите как гость, и вот как раз если вы этого не заметили при входе, то частые сохранения помогут это узнать сразу же при первой попытке.






-ставят знаки препинания, вопросительные знаки к словам и фразам

-слова пишут в кавычках

-фразы пишут без кавычек

-не закрывают кавычки в фразе

-между кавычкой и первым словом или последним ставят пробел

-между словами или фразами, или внутри фразы ставят 2 и более пробела

-приоритет ключевым словам ставят не верно - между "+" и словом пробел

Есть еще особенность, не ошибка но важно знать:
распознавание может отрабатывать по-разному, например, "8/8" или "8 дробь 8" ИЛИ "8-8" или "8 тире 8", поэтому важно предусматривать все варианты в написании.
есть также нюанс с распознаванием Е и Ё, прописывать лучше 2 варианта

Как работает приоритетность в ключевых словах

И еще один пример посложнее



          - присваивают переменную в фигурных скобках, а они нужны только когда переменную используешь уже.
          - когда пишут переменную в условии, ставят лишний пробел между скобками, после скобок или перед скобкой
          -вот эта прям частая ошибка из-за невнимательности

Путают местами, а потом спрашивают "а почему у меня бот не идет дальше?", потому что вы ему сказали распределить по переменной, которую он вообще не знает.

- переменную могут не применить или удалить, а потом используют

- еще бывает переменные из файла запуска используют не верно, например в скрипте пишут {m_0}(это 5й столбец в файле), а в файле прописывают данные в 4й столбец или в 6й. Бот в этом случае просто читает пустое место и переходит дальше.
Как это должно было звучать:  Бот "{Иван Иванович} это вы?" Абонент "да/нет"
Как это звучит для абонента: Бот ".... это вы?" Абонент "что я?"

-переменную пишут в один блок с озвучкой, в этом случае будет работать только предзапись. Переменные от текста надо отделять если бот будет озвучен. Вот так:



Есть еще целый раздел по озвучке



По NLU тоже есть примеры ошибок



При таком заполнении бот может перестать работать. Ну точнее он не будет идти дальше, потому что будет ждать совпадения в 100%.