Skip to content

Сценарии

Опции подбираются под задачу: то, что нужно звонку, совещанию только мешает. Три готовых набора и то, что поднимает точность в любом из них.

Колл-центр

Запись звонка почти всегда двухканальная: телефония уже развела клиента и менеджера по каналам. Это лучшее, что может случиться с распознаванием, поэтому разделение по голосу здесь не нужно вовсе.

json
{"stereo_channels_as_speakers": true, "diarization": false, "speaker_roles": true,
 "call_direction": "inbound", "speaker_identification": true, "emotion": false, "pii": false}

call_direction передаётся на каждый звонок отдельно: он говорит, кто кому позвонил, и от этого зависит, кого назвать клиентом, а кого менеджером. Если запись моно, включите diarization и поставьте max_speakers: 2 — ролям нужны ровно два голоса.

«Узнавать по голосу» стоит держать включённым и один раз назвать менеджеров: тогда в каждой записи они приходят с именем, а не номером. Названия компании и продуктов — в словарь, в звонках их произносят чаще всего.

«Эмоции» и «Персональные данные» умножают тариф, ×2 и ×1.2. Включайте их, когда действительно будете читать: Опции.

Эмоции: цифры и что с ними делать

«Эмоции» — колл-центровая опция по преимуществу: это способ отличить сотню обычных разговоров от пяти, которые стоит послушать. На каждую реплику приходит класс (mood) с уверенностью и три шкалы от 0 до 1: valence — приятно или неприятно, arousal — спокойно или напряжённо, dominance — неуверенно или напористо. По спикеру те же шкалы в среднем, плюс dominant_mood и mood_share, доли состояний. Что каждая значит: Шкалы эмоций. В наборе выше emotion выключен — это осторожность с тарифом, а не рекомендация: если цифры будет кому читать, включайте.

Пороги считайте по своим записям. 0.4 и 0.6 в описании шкал — ориентир, а не норма вашего бизнеса: линия взыскания долгов звучит напряжённее записи на маникюр, поддержка ровнее продаж. Возьмите сотню обычных разговоров, посмотрите медиану valence по клиентам — и «плохой звонок» считайте отклонением от неё, а не от 0.5.

Смотрите на динамику внутри звонка. Клиент, начавший на 0.55 и закончивший на 0.3, — это разговор, который пошёл не туда, даже если среднее выглядит спокойным. По менеджеру полезнее обратное: средний valence за неделю и mood_share, где видно, у кого доля напряжения выше, чем у остальных.

Не выводите оператору всё подряд. Реплика в пару слов усредняется по одному окну (windows: 1), и оценка у неё шумная; класс с confidence ниже 0.35 лучше не показывать. На отбор звонков для прослушивания это не влияет — там работают средние по спикеру.

Совещания и встречи

Совещание это моно-запись с несколькими голосами, и развести их может только «Разделение по спикерам».

json
{"diarization": true, "max_speakers": 4, "speaker_identification": true,
 "speaker_roles": false, "word_timestamps": true, "emotion": false, "pii": false}

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

«Клиент и менеджер» тут выключается: роли ищутся только в разговоре ровно двоих, на совещании они дадут ерунду.

Самое полезное на совещаниях — «Узнавать по голосу». Назовите участников один раз, и в следующих записях реплики придут с именами, а не с «Голос #100». Команда обычно одна и та же, так что имя окупается с первой же следующей встречи — и названный голос перестаёт быть кандидатом, то есть больше не истекает. Голоса и спикеры.

Интервью и диктофон

Двое в моно, часто в шумной комнате. Набор простой:

json
{"diarization": true, "max_speakers": 2, "speaker_identification": true, "emotion": false, "pii": false}

max_speakers: 2 здесь не формальность: без него модель на шуме и эхе может «услышать» третьего. Интервьюер один и тот же от записи к записи, так что назовите его голос — и он перестанет быть номером.

Что поднимает точность

Пять вещей, в порядке отдачи:

  1. Словарь. Названия компании, продуктов, брендов, имена — то, чего нет в обычной речи. Как это работает.
  2. Стерео-каналы вместо разделения по голосу. Если телефония отдаёт два канала, оставьте stereo_channels_as_speakers: стороны уже разделены, и ошибиться негде.
  3. max_speakers, когда число голосов известно. Модель перестаёт искать лишних.
  4. call_direction на каждый звонок. Прямо повышает точность ролей «клиент / менеджер».
  5. Отпечатки знакомым голосам. Если identity.score в результатах регулярно чуть ниже порога, голосу не хватает образцов: добавьте ещё один из хорошей записи.

Не помогает: включать всё подряд. Лишние опции не делают текст точнее, а «Эмоции» и «Персональные данные» ещё и умножают тариф.