Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex SpeechKit
  • Обзор технологий SpeechKit
    • О технологии
    • Поддерживаемые языки
    • Потоковое распознавание
    • Нормализация результатов распознавания
    • Анализ результатов распознавания
    • Определение дикторов
    • Расширение модели распознавания речи
    • Загрузка данных для дообучения модели распознавания речи
    • Определение конца фразы
  • Поддерживаемые форматы аудио
  • Интеграция телефонии
  • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  1. Распознавание речи
  2. Определение дикторов

Определение дикторов в результатах распознавания

Статья создана
Yandex Cloud
Обновлена 17 октября 2024 г.

API v3 в результатах распознавания может указывать, какому из дикторов принадлежит каждая распознанная фраза.

Определение дикторов работает для распознавания в режиме FULL_DATA только для монозаписей. В результатах распознавания может быть не больше двух дикторов.

Чтобы включить разметку дикторов, используйте следующие параметры сессии:

Python 3
recognize_options = stt_pb2.StreamingOptions(
  speaker_labeling=stt_pb2.SpeakerLabelingOptions(
    # Включить разметку дикторов
      speaker_labeling=stt_pb2.SpeakerLabelingOptions.SPEAKER_LABELING_ENABLED
  ),
  recognition_model=stt_pb2.RecognitionModelOptions(
    # Версия модели распознавания
      model="general:rc",
      audio_format=stt_pb2.AudioFormatOptions(
          container_audio=stt_pb2.ContainerAudio(
              container_audio_type=stt_pb2.ContainerAudio.WAV
          )
      ),
    # Режим распознавания
      audio_processing_type=stt_pb2.RecognitionModelOptions.FULL_DATA
      )
  )

В результатах распознавания появятся метки channel_tag, принимающие значения 0 или 1. Каждое значение соответствует одному диктору. Вы можете обрабатывать результаты следующим образом:

Python 3
try:
    for r in it:
        event_type, alternatives = r.WhichOneof('Event'), None
        if event_type == 'final':
            alternatives = [a.text for a in r.final.alternatives]
        elif event_type == 'final_refinement':
            alternatives = [a.text for a in r.final_refinement.normalized_text.alternatives]
        else:
            continue
        print(f'type={event_type}, alternatives={alternatives}, channel_tag = {r.channel_tag}')
except grpc._channel._Rendezvous as err:
    print(f'Error code {err._state.code}, message: {err._state.details}')
    raise err

Была ли статья полезна?

Предыдущая
Анализ результатов распознавания
Следующая
Расширение модели распознавания речи
Проект Яндекса
© 2025 ООО «Яндекс.Облако»