Задача:
Написать программу, позволяющую вести протоколы переговоров двух и более лиц в текстовой форме, выполняя перевод речи говорящих из аудио потока в текст (транскрибация) и идентификацию участников переговоров.
Необходимо:
Базовые задачи (обязательные к решению):
написать программу распознающую речь говорящих людей и формирующую текстовый файл-протокол, содержащий письменный текст речи переговоров;
программа должна распознавать, кто говорит в данный момент и при формировании файла-протокола переговоров в тексте должно быть отмечено, кем были сказаны какие слова.
Дополнительная задача
предобработка текста полученного протокола к текстовому анализу: с помощью стеммирования или лемматизирования привести все необходимые слова текста переговоров к их нормальным формам, составить словарь нормальных форм, используемых в протоколе слов; составить словари нормальных форм слов, используемых каждым участником переговоров;
текстовый анализ: на основании полученного текстового протокола, построить биграммный словарь, отражающий количество встречающихся в протоколе пар слов; составить словарь слов-векторов, используемых в протоколе и составить словарь векторной родственности слов в порядке убывания степени родства.
Данные:
Входными данными является аудиофайл формата mp3, который содержит запись разговора нескольких людей.
Выходными данными для базовых задач являются текстовые файлы, содержащие текст разговора, а для второй базовой задачи в выходном файле также идентифицируются кто и когда сказал какие слова.
Выходными данными для дополнительных задач являются текстовые файлы: словари нормальных форм слов всего протокола разговора и персональные для каждого собеседника; биграммный словарь пар словосочетаний всего протокола разговора; словарь слов-векторов, характеризующий каждое используемое в протоколе слово совокупностью признаков, которые и составляют вектор слова; словарь векторной родственности слов, отсортированный по порядку убывания степени родства.
По окончании хакатона команда присылает куратору необходимые файлы выходных данных работы программы и получает два контрольных аудио-файла формата mp3 для тестирования разработанной программы. Текстовые файлы, являющиеся результатом тестирования, отправляются обратно куратору. На основании результатов обработки исходного аудиофайла и двух контрольных выставляются баллы за решение задач.
Рекомендации:
В качестве языка программирования рекомендуется использовать Python и его библиотеки SpeechRecognition, PyAudio, а в качестве среды разработки PyCharm. На усмотрение команды возможен иной набор инструментов.
Дополнительные требования:
Программа может быть написана на любом языке программирования с использованием любых технологий. Недопустимым является использование готовых программ и программных комплексов, реализующих необходимый в задачах функционал. Исключение составляет базовая задача 1 - в силу больших трудозатрат на ее решение, при разработке программы “ с нуля” допустимо внутри программы использовать обращение к Google API или Яндекс API.
Критерии оценки (0-24 балла):
Основным критерием оценки является точность выполнения задания.
Базовые задачи:
0-4 балла;
0-8 баллов;
Дополнительные задачи:
0-6 баллов;
0-6 баллов;
Модератор: Иващенко Кирилл Александрович, аспирант ПетрГУ