Компания Modum Lab получила грант от Фонда содействия инновациям на доработку и коммерциализацию программного комплекса Modum Education Platform в части модуля омниканальных диалоговых симуляций. Диалоговые симуляции мы выделили в отдельный продукт — Modum Verba.
Чтобы расшифровать, что говорит пользователь в диалоговых симуляциях, мы используем систему распознавания речи. А в специальном словаре задаём ключевые слова, которые обязательно должны присутствовать в реплике обучающего, и подбираем к ним синонимы. Рассказываем, какие тут есть ограничения.
1. Аббревиатуры
Названия многих компаний и даже производственных процессов представлены в виде аббревиатур, которые невозможно совсем исключить из диалоговой симуляции. Однако система распознавания не всегда «понимает», о чём идёт речь. Поэтому наша задача — свести их использование к минимуму и провести тестирования, чтобы учесть все возможные варианты расшифровки.
2. Цифры и числительные
Опыт показывает, что клиентам нужны числа — например, они применяются в симуляциях на отработку навыка продажи. Вся презентация банковского продукта строится на этом, ведь пользователь должен дать клиенту конкретную информацию, выраженную в цифрах.
Любые числительные — это фонетически сложные слова. Особенно, трёхзначные числа и их склонение. «Тремястами шестьюдесятью пятью» может распознаться по-разному, если человек произнесёт фразу нечётко или перепутает склонение. Также если пользователь сделает паузу между «тридцать» и «пять», система может принять это за два разных числа.
Наши методисты просчитывают эту вероятность и заносят в словарь даже неверные варианты: не только «тысячу», но и «тыщу», или, например, числительное с ошибкой в склонении.
3. Омофоны
Омофоны — слова, которые звучат одинаково, но пишутся по-разному. Эта проблема решается на этапе тестирования. Если слово «балл» в значении «оценка» распознаётся как «бал» в значении «танцы», мы вносим в словарь оба варианта.
Иногда наши методисты сталкиваются с неожиданными ситуациями из-за особенностей системы распознавания речи. Если она не «знает» слово «лизинг», то может определить его как «лыжник» (звучит похоже, согласны) или «карбюратор» (до сих пор загадка), даже если пользователь отчётливо произнёс слово. Единственным выходом было внести все варианты распознавания в словарь — даже самые необычные. В итоге их вышло около 35.
4. Глаголы
Когда в словаре используются глаголы, это дополнительный набор сложностей. Словоформ у глагола гораздо больше, чем у имён существительных или прилагательных. У существительных меняются всего одна или две буквы в окончании, у глаголов же есть разные спряжения, постфиксы, приставки и синонимы. Нужно время, чтобы понять, какие глаголы могут применяться пользователем, и прописать их все.
4. Количество ключевых слов
Оптимальное количество ключевых слов, по которым будет определяться корректность фразы, — от 3 до 5. Между ними могут быть дополнительные слова, которые не учитываются программой. Если в словаре только одно ключевое слово (и соответствующий набор синонимов), уже сложнее отследить, справился пользователь с поставленной задачей или нет. А если ключевых слов больше 5, это ограничивает свободу речи и заставляет говорить заученными фразами. Этого мы стараемся не допускать.
6. Короткие слова
Слова короче трёх букв система воспринимает не всегда — это местоимения, предлоги или некоторые существительные. Они точно не могут быть ключевыми.
7. Интонации
Программа работает исключительно с текстом — набором буквенных и числовых символов. Она не распознаёт знаки препинания, ударения и интонации. Если обучающийся должен задать вопрос, для этого есть вопросительные слова — «сколько», «почему», «как» и т.д. Если же вопрос будет общим, система никогда не поймёт, это было утверждение «Есть проблема» или же вопрос «Есть проблема?». Поэтому, если мы хотим что-то получить от пользователя, нужно понять, возможно ли это сделать только с помощью набора букв или цифр.
8. Термины
В диалоговых симуляциях мы используем единообразную терминологию — в презентациях, репликах ментора, подсказках и тестах одни и те же понятия обозначаются одинаково. Иначе пользователь просто запутается в терминах.
9. Сленг
Важно учитывать, что формальные термины иногда заменяются на профессиональный сленг. Например, если в компании промежутки времени называют не «свободное окно», а «слот», сотрудники будут говорить именно так. Если клиент не сообщит об этом на этапе разработки, система определит такой вариант как неверный, а пользователь не поймёт, почему был не прав.
10. Особенности речи
Автоматическое распознавание ориентировано на речь носителей языка со стандартным построением фраз, обычной дикцией и произношением без акцента. Если в речи пользователя есть иностранный или региональный акцент, невозможно предсказать, насколько корректно будет распознавание. Поэтому в диалоговых симуляциях мы добавляем подсказки и выбираем фонетически простые слова.