1. Определение спикера аудиозаписи
Требования: Использовать HMM-based audio keyword generation для определения голоса спикеров по тембру, разбивки аудио на фрагменты и сформирования транскрипций через whisper
https://github.com/openai/whisper Выходом должен быть список спикеров (спикер 1, спикер 2 и тд) с соответствующими тайм-кодами и обозначениями в тексте, чтобы каждый фрагмент речи был связан с конкретным спикером.
2. Обработка текста (пунктуация, грамматика)
Обеспечить автоматическую корректировку текста, улучшив его качество за счет исправления пунктуационных и грамматических ошибок после транскрибации.
https://github.com/orgail/ml_punctuate https://huggingface.co/ai-forever/RuM2M100-1.2B https://huggingface.co/ai-forever/RuM2M100-1.2B Требования: Разработать или подключить стороннюю модель для обработки текста , которая будет работать с уже транскрибированным текстом. Коррекция должна охватывать исправление пунктуации, орфографии, грамматических ошибок и других мелких стилистических ошибок. Обработка текста должна быть реализована в формате API, принимая на вход текст с тайм-кодами и возвращая исправленный текст с сохранением исходной структуры. Возможность адаптации модели под разные языки (при необходимости).
3. Генерация (суммаризация) текста
Добавить возможность автоматически генерировать краткое содержание транскрибированного текста. Требования: Использовать модель для суммаризации текста (https://www.kaggle.com/code/singhabhiiitkgp/text-summarization-using-lstm). Функция должна принимать на вход текст (с тайм-кодами) и возвращать краткую суть в виде текста. Суммаризация должна учитывать контекст и быть способной работать с текстами разного объема и сложности. Реализовать гибкие настройки, позволяющие пользователю задавать длину итогового текста. Whisper возвращает тайм-коды для транскрибации, и все вышеуказанные функции должны работать с учетом этих тайм-кодов, не нарушая хронологической структуры текста.
Функционал должен быть интегрирован в общую систему обработки аудиозаписей, чтобы после транскрибации автоматически выполнялись: корректировка текста, определение спикеров и генерация суммаризации. API: Все функции должны быть реализованы через API с возможностью простого расширения и подключения других модулей в будущем. Тестирование: Необходимо провести тестирование всех функций на различных типах данных (разные по качеству и длине аудиозаписи) для проверки их корректной работы. Дополнительные требования: Документация к каждому компоненту (как на уровне кода, так и для конечных пользователей). Логи успешных/ошибочных операций. Возможность расширения функционала в будущем.