Оценка звонков является ключевой частью контроля качества для колл-центров.
Это позволяет организациям точно настроить свой рабочий процесс, чтобы операторы могли выполнять работу быстрее и эффективнее и избегать бессмысленной рутины.
Помня о том, что колл-центр должен быть эффективным, мы работали над автоматизацией оценки звонков.
В результате мы придумали алгоритм, который обрабатывает звонки и распределяет их на две группы: подозрительные и нейтральные.
Все подозрительные звонки немедленно пересылались в группу оценки качества.
Как мы обучали глубокую нейронную сеть
В качестве образцов мы взяли 1700 аудиофайлов, на которых обучили сеть.Поскольку нейрон изначально не знал, что считать подозрительным, а что нейтральным, мы вручную помечали все файлы соответствующим образом.
В нейтральных шаблонах операторы:
- не повышали голоса;
- предоставляли клиентам всю запрашиваемую информацию;
- не реагировал на провокации со стороны клиента.
- использовал нецензурную лексику;
- повышали голос или кричали на клиентов;
- перешел на личности;
- отказался консультироваться по вопросам.
Эти файлы не содержали ни подозрительных, ни нейтральных признаков.
Мы выяснили, что было в этих 200 файлах:
- клиент положил трубку сразу после ответа оператора;
- клиент ничего не сказал после ответа;
- на стороне клиента или оператора было слишком много шума.
Впоследствии мы использовали эти наборы данных для обучения и тестирования глубокой нейронной сети.
Шаг 1: Извлечение функций
Извлечение признаков высокого уровня играет важную роль в машинном обучении, потому что.оно напрямую влияет на эффективность алгоритма.
Проанализировав все возможные источники, мы выделили следующие особенности:
Статистика по времени
- Скорость смены знака ( скорость перехода через ноль ): скорость, с которой сигнал меняется с «плюса» на «минус» и наоборот.
- Средняя энергия кадра : сумма сигналов, возведенных в квадрат и нормализованных по соответствующей длине кадра.
- Энтропия энергии подкадра : Энтропия нормализованной энергии подкадров.
Его можно интерпретировать как меру резких изменений.
- Среднее/медиана/стандартное отклонение кадра .
Спектральная статистика (с частотными интервалами)
- Спектральный центроид.
- Спектральное распределение.
- Спектральная энтропия.
- Спектральное излучение.
- Спектральное затухание.
Мы могли бы извлечь их из всего файла за раз, но в этом случае мы упустили бы эволюцию функции с течением времени.
Поскольку этот метод нам не подошел, мы решили разделить сигнал на «окна» (временные блоки).
Чтобы улучшить качество функции, мы разбили сигнал на фрагменты, которые частично перекрывали друг друга.
Затем мы последовательно извлекли функцию для каждого фрагмента; поэтому для каждого аудиофайла рассчитывалась матрица признаков.
Размер окна – 0,2 с; шаг окна – 0,1 с.
Шаг 2: определите тон голоса в отдельных фразах
Наш первый подход к решению проблемы — идентифицировать и обрабатывать каждую фразу в потоке индивидуально.Первое, что мы сделали дневникизация и выделил все фразы с помощью библиотеки ЛИУМ .
Входные файлы были низкого качества, поэтому мы также применили сглаживание и адаптивную пороговую обработку к каждому выходному файлу.
Обработка прерываний и длительного молчания
После того, как мы определили временные рамки для каждой фразы (как клиента, так и оператора), мы наложили их друг на друга и выявили случаи, когда оба человека говорили одновременно, а также случаи, когда оба молчали.Оставалось только определить пороговое значение.
Мы договорились, что если участники говорят одновременно в течение 3 и более секунд, то это считается перерывом.
Для тишины порог был установлен ровно на 3 секунды.
Дело в том, что каждая фраза имеет свою длину.
Следовательно, количество извлекаемых признаков для каждой фразы разное.
Нейронная сеть ЛСТМ мог бы справиться с этой проблемой.
Сети такого типа не только могут обрабатывать последовательности различной длины, но также могут содержать обратную связь, что дает вам возможность хранить информацию.
Эти особенности очень важны, поскольку фразы, произнесенные ранее, содержат информацию, влияющую на фразы, произнесенные позже.
Затем мы обучили нашу сеть LSTM определять интонацию каждой фразы.
В качестве обучающего набора мы взяли 70 файлов по 30 фраз в среднем (по 15 фраз на каждую сторону).
Основная цель была оценить фразы оператора колл-центра, поэтому мы не использовали речь клиентов для обучения.
Мы использовали 750 фраз в качестве обучающего набора данных и 250 фраз в качестве теста.
В результате нейрон научился классифицировать речь с точностью 72%.
Но в итоге производительность сети LSTM нас не удовлетворила: работа с ней занимала слишком много времени, а результаты были далеки от совершенства.
Поэтому было решено пойти другим путем.
Пришло время рассказать, как мы определили тон голоса с помощью XGBoost плюс комбинация LSTM и XGB.
Определение тона голоса для всего файла
Мы отмечали файлы как подозрительные, если они содержали хотя бы одну фразу, нарушающую правила.Таким образом мы разметили 2500 файлов.
Для извлечения признаков мы использовали тот же метод и те же АННА -архитектура, но с одним отличием: мы масштабировали архитектуру, чтобы она соответствовала новым размерам функций.
При оптимальных параметрах нейросеть выдавала точность 85%.
XGBoost
Модель XGBoost требует фиксированного количества функций для каждого файла.Чтобы удовлетворить это требование, мы создали несколько сигналов и параметров.
Использовалась следующая статистика:
- Среднее значение сигнала.
- Среднее значение первых 10 секунд сигнала.
- Среднее значение за последние 3 секунды сигнала.
- Среднее значение локальных максимумов сигнала.
- Среднее значение локальных максимумов за первые 10 секунд сигнала.
- Среднее значение локальных максимумов за последние 3 секунды сигнала.
Общее количество признаков составляет 36, не считая длины записи.
В результате у нас получилось 37 числовых признаков для каждой записи.
Точность прогнозирования этого алгоритма составляет 0,869.
Комбинация LSTM и XGB
Чтобы объединить классификаторы, мы скрестили эти две модели.В результате это увеличило точность на 2%.
То есть нам удалось повысить точность прогноза до 0,9. РПЦ – АУК (Площадь под кривой).
Результат
Мы протестировали нашу глубокую нейронную сеть на 205 файлах (177 нейтральных, 28 подозрительных).Сеть должна была обработать каждый файл и решить, к какой группе он принадлежит. Ниже приведены результаты:
- 170 нейтральных файлов были идентифицированы правильно;
- 7 нейтральных файлов были признаны подозрительными;
- 13 подозрительных файлов идентифицированы правильно;
- 15 подозрительных файлов были признаны нейтральными.
Нахождение конкретной фразы в разговоре
Нам не терпелось попробовать этот подход для распознавания слов и фраз в аудиофайлах.Целью было найти файлы, в которых агенты колл-центра не представлялись клиентам в первые 10 секунд разговора.
Мы взяли 200 фраз средней длиной 1,5 секунды, в которых операторы произносят свое имя и название компании.
Поиск таких файлов вручную занимал много времени, потому что.
мне приходилось прослушивать каждый файл, чтобы проверить, есть ли в нем нужные фразы.
Чтобы ускорить последующее обучение, мы «искусственно» увеличили набор данных: случайным образом меняли каждый файл 6 раз — добавляли шум, меняли частоту и/или громкость.
Вот как мы получили набор данных из 1500 файлов.
Нижняя граница
Для обучения классификатора мы использовали первые 10 секунд ответа оператора, поскольку именно в этот период произносится нужная фраза.Каждый такой проход разбивался на окна (длина окна — 1,5 с, шаг окна — 1 с) и обрабатывался нейронной сетью как входной файл.
В качестве выходного файла мы получали вероятность произнесения каждой фразы в выбранном окне.
Мы пропустили по сети еще 300 файлов, чтобы выяснить, была ли произнесена нужная фраза за первые 10 секунд. Для этих файлов точность составила 87%.
Собственно, для чего все это?
Автоматическая оценка звонков помогает определить четкие ключевые показатели эффективности для операторов колл-центров, выделить и использовать лучшие практики, а также повысить производительность колл-центра.Но стоит отметить, что программное обеспечение для распознавания речи можно использовать для более широкого круга задач.
Ниже приведены несколько примеров того, как распознавание речи может помочь организациям:
- собирать и анализировать данные для улучшения голосового UX;
- анализировать записи разговоров для выявления взаимосвязей и тенденций;
- узнавать людей по голосу;
- находить и определять эмоции клиентов для повышения удовлетворенности пользователей;
- увеличить средний доход за звонок;
- уменьшить отток;
- и многое другое!
-
Редактор Ассемблера Плюс: Установка
19 Oct, 24 -
Интересные Международные События В Апреле
19 Oct, 24 -
У Acer Будет Собственный Eee Pc
19 Oct, 24