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

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


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

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


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

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


  • количество циклов. Что такое цикл и как это понимать?
    Цикл - это по суть один и тот же порядок действий или одна итерация совершения какого-либо действия. Разберем на схеме:

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

  • переспросы - что это и зачем нужны?
    Это по сути ваш помощник в боте, и странно его не использовать.
    Чем он может помочь? Если вы что-то не учли в скрипте, например ветку по умолчанию или какие-то ключевые слова и другие ветки/стрелки, то эта функция может переспрашивать ваш вопрос в надежде, что клиент ответит по-другому и всё таки пройдет дальше по схеме диалога. Эта функция не спасет диалог в 100% случаев, НО попытается как минимум.
    Если не использовать переспросы в звонках, то  бот будет сбрасывать разговор при незапланированных ситуациях.
    Есть два места, где можно настроить переспросы и их кол-во (общие переспросы и точечные):

  • "робот работает на синтезе, хотя я прикрепил озвучку!" почему?
    Причины может быть +-две (обычно), мы поговорим об одной из них в этом пункте.
    Нужно менять эту настройку скрипта

    При Синтезе работает только синтезированный голос
    При Аудиозаписи работает предзапись в каждом блоке, а там где ее нет будет работать синтез.


  • многие НЕ знают что у системы в приоритете сначала дата, затем числа, затем слова, далее намерения, и только после всего этого ветка по умолчанию. Эта иерархия будет работать так даже, если в ключевых словах вы пропишете "+" в надежде перевесить числа или дату сказанные человеком.


  • иногда по невнимательности или незнанию вписываете технические данные в те поля, которые произносятся ботом, пример:


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

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


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


  • если поменять тип блока, то сбиваются такие настройки:

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


  • есть еще один нюанс, близкий к предыдущему пункту. Не могу назвать это ошибкой, технически это может и верно, но фактически не удобно (считаю, что не только мне). Поэтому и заостряю на этом внимание:
    Не так давно появилась возможность добавлять результаты прямо в блоки Информация и Вопрос...
    Все таки у этих блоков другое предназначение, и сейчас объясню почему они не подходят для записи в них результата или переменной:
    Во-первых, давайте заглянем в предыдущий пункт и вспомним что при замене Типа блока, данные исчезают.
    Во-вторых, представьте огромный скрипт, в котором нет ни одного блока Результат, а сами результаты проставлены в блоках Информации. У вас в отчет выгрузился не корректный результат... Упс, его надо срочно поменять! Но как его найти? О_о  А в том то и проблема, что через ctrl+F вы не сможете найти ничего, а нужно будет просматривать практически каждый блок в скрипте!!
    А когда у вас результаты проставлены в блоках Результат, их хорошо заметно в скрипте по знаку флажка. К тому же в описании фиксации их можно подписывать и тогда в их с легкостью найдете по поиску ctrl+F. То же кстати касается и условий, блоки условий хорошо заметно в скрипте, так что присваивать переменные тоже практичнее там.




  • иногда бывает недопонимание как работают блоки Результат, а именно тип действия в нем "зафиксировать результат". Это действие отправляется в отчет при завершении звонка.

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



  • еще один важный момент, который касается Результата, не используйте символ точки (.) в написании фразы в подтверждении, это технический знак. При такой ошибке бот может перестать работать


  • "скрипт стал выдавать ошибку и не понятно из-за чего она" ИЛИ "так много сделал в редакторе, и все пропало!"
    Поверьте, практический каждый наступал на эти "грабли" и не раз)) иногда с первого раза не доходит
    Вариантов ошибки на самом деле может быть много, и чтобы разобраться иногда нужно много времени и кстати не все ошибки обозначаются, потому что всех вариантов не учесть.
    Но есть очень простой способ снизить вероятность такой проблемы или сразу же ее исправить.
    Во-первых, поможет частое сохранение скрипта, условно сделали 2 блока - сохранились, настроили пару условий -сохранились, и все по аналогии.
    - Данные с вероятностью 99% не пропадут (1% не стандартных случаев бывает, но его тоже может решить техническая поддержка)

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



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


  • как работает значение в Условии И или ИЛИ?



  • в заполнении ключевых слов тоже бывают ошибки

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

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

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

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

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

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

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

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

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

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



  •  ошибок с переменными

    -в некоторых местах пишут заглавные буквы, а потом эту же переменную с маленькими, это РАЗНЫЕ переменные уже получаются

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

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

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

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

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



Раздел по озвучке

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



Примеры ошибок NLU

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



  • есть еще одна ошибка, которую можно отнести и к редактору и к намерениям. 

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







  • Нет меток