Диаризация отвечает на вопрос «кто говорил и в какие моменты». Распознавание речи отвечает на вопрос «что было сказано». Это две разные задачи, решаемые разными моделями, и результат обычно склеивают: реплики из распознавания раскладывают по говорящим из диаризации.
#Как это делается
- Детектор речи отсекает тишину и шум, оставляя только фрагменты с голосом.
- Сегментация режет поток на однородные куски — там, где голос меняется.
- Векторное представление голоса считается для каждого куска: несколько сотен чисел, кодирующих тембр.
- Кластеризация группирует куски по близости этих векторов. Получаются «Говорящий 1», «Говорящий 2» и так далее.
- Сопоставление с именами — необязательный шаг, требующий заранее записанных образцов голоса.
Ключевое здесь — пункт 5. По умолчанию диаризация не знает имён: она умеет сказать, что говорили двое, и разделить их реплики, но не сказать, кто из них кто.
#Чем ошибка диаризации опаснее ошибки распознавания
Это главное, ради чего справка написана, и относится оно именно к ассистенту с долговременной памятью.
Ошибка распознавания видна: в расшифровке появляется бессмыслица, и читатель это замечает.
Ошибка диаризации не видна. Реплика распознана верно, записана верно и приписана не тому человеку. В архив попадает чистый, грамматически безупречный факт: «вы сказали, что берёте на себя переговоры с подрядчиком». Через два месяца ассистент напомнит вам об этом обязательстве, и отличить его от настоящего вы не сможете — исходную запись к тому моменту уже никто не слушает.
Отсюда практическое требование: хранить рядом с фактом его происхождение и уровень уверенности, а реплики с низкой уверенностью атрибуции не превращать в утверждения о вас. Как устроено отслеживание происхождения в памяти — в разборе provenance в памяти.
| Тип ошибки | Заметность | Последствие |
|---|---|---|
| Неверно распознано слово | высокая | опечатка, промах поиска |
| Слипшиеся реплики двух людей | средняя | путаная расшифровка |
| Реплика приписана не тому | низкая | ложный факт в памяти |
| Один человек разбит на двух | средняя | дублирование, разрыв истории |
#Где путают
Заблуждение первое: диаризация определяет, кто говорит, по имени. Не определяет. Она разделяет голоса на группы. Имена появляются только там, где есть предварительная запись голоса конкретного человека — а это отдельное решение с отдельными последствиями.
Заблуждение второе: диаризация — часть распознавания речи. Отдельный этап с отдельной моделью. Многие инструменты расшифровки его вовсе не делают, отсюда сплошная стена текста без разделения на говорящих; разбор соседней задачи — в справке про ASR и TTS.
Заблуждение третье: качество зависит от модели. В первую очередь — от записи. Один микрофон на комнату, перебивания, похожие голоса, эхо — на такой записи ошибётся любая модель. Отдельные микрофоны решают задачу лучше, чем любой алгоритм.
Заблуждение четвёртое: раз запись моя, вопросов нет. На записи разговора звучат и другие люди, и здесь появляются требования закона и элементарной этики — разобрано в тексте про запись звука и закон. Та же логика применима и к экрану: в кадр попадает чужое, о чём отдельно написано в разборе записи экрана и чужих данных.
#Частые вопросы
#Сколько говорящих диаризация может различить?
Технически много, практически надёжность падает уже после трёх-четырёх на одной дорожке, особенно при перебиваниях. Если число участников известно заранее, его стоит задать — это заметно повышает точность.
#Можно ли научить систему узнавать конкретного человека?
Можно: записывается образец голоса, из него считается вектор, и дальше говорящие сопоставляются с ним. Это создаёт биометрический образец конкретного человека, к хранению которого предъявляются отдельные требования — и получать согласие на такую запись нужно заранее.
#Что происходит, когда двое говорят одновременно?
Это самый трудный случай. Часть систем помечает перекрывающийся участок, часть отдаёт его одному из говорящих. Наложение речи — основной источник ошибок атрибуции.
#Нужна ли диаризация для личных заметок?
Для диктофонных заметок от первого лица — нет, там один голос. Она нужна там, где в записи участвуют несколько человек: встречи, звонки, обсуждения — то есть ровно там, где ошибка атрибуции и опасна.
Остальные термины — в глоссарии терминов ИИ.