docs(diarization): уточнены правила сведения и формат

- Зачем:
  - спецификация не должна оставлять неоднозначности перед реализацией диаризации.
- Что:
  - уточнены сведение слов, таймкоды и предупреждение о малом кластере.
  - очищены терминология и граница между ADR и спецификацией.
  - сохранён результат сравнения WeSpeaker и CAMPPlus.
- Проверка:
  - git diff --cached --check и проверка относительных ссылок.
This commit is contained in:
Dmitriy Dementiev
2026-08-14 17:09:27 +03:00
parent b8333ba583
commit b8347004da
3 changed files with 35 additions and 27 deletions
+14 -12
View File
@@ -28,6 +28,12 @@ WeSpeaker ResNet34 LM проверена на трёх записях с изв
19,1 секунды; поэтому малые кластеры нельзя молча отбрасывать, а разметку нельзя
считать эталоном точных границ и перекрывающейся речи.
Двуязычная CAMPPlus zh/en оказалась примерно на 30% быстрее и при известном
числе участников улучшила прокси-метрику на двух записях, но для неё не нашлось
общего автоматического порога без лишних кластеров или склейки реальных голосов.
Поэтому она остаётся кандидатом только для будущего режима с обязательным
явным числом участников, а не для первой версии.
На доступном слабом Intel baseline, Core i7-6820HQ с урезанным питанием,
последовательные ASR и диаризация обработали час записи примерно за 23 минуты.
Диаризация увеличивает полное время примерно в 2,4 раза, но остаётся быстрее
@@ -54,18 +60,14 @@ ASR-бэкенд приводит свой результат к общему н
объединяет соседние слова одного говорящего в реплики. Распознавание по-прежнему
выполняется на полных сегментах и сохраняет контекст модели.
Первая реализация последовательна на всех устройствах: ASR, диаризация,
сведение, Markdown. В батче один диаризатор создаётся после prescan,
переиспользуется для всех файлов и освобождается вместе с командой. Разметка
говорящих живёт только в памяти текущего запуска; постоянного кеша результата
нет.
Грубого fallback на целый сегмент и автоматического переключения устройства
нет. Отсутствие пословных таймкодов или ошибка инициализации диаризатора
останавливают запуск до ASR. Ошибка диаризации конкретного файла после успешного
ASR не уничтожает полезный результат: сохраняется обычный транскрипт с явным
предупреждением и ненулевым статусом, а батч продолжает остальные файлы.
Подробная матрица поведения находится в
Диаризация не вводит грубый fallback на целый сегмент и не переключает
устройство ASR ради получения пословных таймкодов. Существующий GPU→CPU fallback
распознавания сохраняется и завершается до диаризации. Отсутствие пословных
таймкодов или ошибка инициализации диаризатора останавливают запуск до ASR.
Ошибка диаризации конкретного файла после успешного ASR не уничтожает полезный
результат: сохраняется обычный транскрипт с явным предупреждением и ненулевым
статусом, а батч продолжает остальные файлы. Порядок первой реализации, время
жизни диаризатора, кеш и подробная матрица поведения находятся в
[спецификации](../specs/2026-08-14-speaker-diarization.md).
## Последствия