Анализ результатов распознавания
SpeechKit API v3 может анализировать аудио во время распознавания и вместе с результатами возвращать дополнительную информацию: наличие и временные метки начала и конца определенных слов и речевых оборотов, длительность фраз и пауз, скорость речи говорящего, количество слов в фразах и другие метки и метрики речевой аналитики.
Классификаторы аудио
Примечание
Классификаторы доступны только для речи на русском языке.
Классификаторы могут применяться к промежуточным и окончательным результатам распознавания. Чтобы включить классификатор, определите параметр recognition_classifier
в настройках сессии. Результаты срабатывания классификаторов будут приходить отдельным сообщением сразу после событий, указанных в настройках классификатора. Для классификаторов это могут быть события типа partial
, eou_update
или final
.
SpeechKit поддерживает следующие классификаторы:
Классификатор | Описание | Результат |
---|---|---|
formal_greeting |
Формальное приветствие (например, "добрый день", "здравствуйте"") | Вероятность соответствия фразы формальному приветствию |
informal_greeting |
Неформальное приветствие (например, "привет", "дарова") | Вероятность соответствия фразы неформальному приветствию |
formal_farewell |
Формальное прощание (например, "до свидания", "всего доброго") | Вероятность соответствия фразы формальному прощанию |
informal_farewell |
Неформальное прощание (например, "пока", "адьёс") | Вероятность соответствия фразы неформальному прощанию |
insult |
Оскорбления (например, "дурак", "урод") | Вероятность соответствия фразы классу оскорблений |
profanity |
Мат | Вероятность принадлежности фразы классу мата |
gender |
Пол | Вероятности для классов male и female |
negative |
Негатив | Вероятность негативной окраски распознанной фразы |
answerphone |
Ответ робота | Вероятность принадлежности фразы голосовому боту или автоответчику |
session_options = stt_pb2.StreamingRequest(
session_options=stt_pb2.StreamingOptions(
recognition_model="general",
# Настройки классификаторов
recognition_classifier=stt_pb2.RecognitionClassifierOptions(
classifiers=[
# Определять оскорбления в фразах
stt_pb2.RecognitionClassifier(
classifier="insult",
triggers=[stt_pb2.RecognitionClassifier.ON_UTTERANCE]
),
# Определять мат в фразах
stt_pb2.RecognitionClassifier(
classifier="profanity",
triggers=[stt_pb2.RecognitionClassifier.ON_UTTERANCE]
),
]
)
)
)
Статистики аудио
SpeechKit позволяет анализировать диалоги и речь отдельных участников и подсчитывать статистики для каждого участника и для диалога в целом. Результаты анализа содержат дискретные характеристики аудио и описательные статистики распределений этих значений.
Для каждого участника диалога можно определить:
- скорость и длительность речи;
- длительность пауз;
- количество и размеры фраз.
Для диалога в целом доступны:
- длительность одновременной речи и пауз;
- количество и временные метки перебиваний.
Чтобы включить подсчет статистик, в настройках сессии определите параметр speech_analysis.
recognize_options = stt_pb2.StreamingOptions(
recognition_model=stt_pb2.RecognitionModelOptions(
..
speech_analysis = stt_pb2.SpeechAnalysisOptions(
enable_speaker_analysis = True,
enable_conversation_analysis = True,
descriptive_statistics_quantiles = [0.5, 0.9]
),
...
)
Результаты анализа будут приходить в сообщениях speaker_analysis
и conversation_analysis
.