Big Data Analytics as a Service

Автоматизация ведения текстовых протоколов на основе транскрибации аудио потока переговоров

Задача:

Написать программу, позволяющую вести протоколы переговоров двух и более лиц в текстовой форме, выполняя перевод речи говорящих из аудио потока в текст (транскрибация) и идентификацию участников переговоров.

Необходимо:

  • Базовые задачи (обязательные к решению): 

  1. написать программу распознающую речь говорящих людей и формирующую текстовый файл-протокол, содержащий письменный текст речи переговоров;

  2. программа должна распознавать, кто говорит в данный момент и при формировании файла-протокола переговоров в тексте должно быть отмечено, кем были сказаны какие слова.

  • Дополнительная задача

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

  2. текстовый анализ: на основании полученного текстового протокола, построить биграммный словарь, отражающий количество встречающихся в протоколе пар слов; составить словарь слов-векторов, используемых в протоколе и составить словарь векторной родственности слов в порядке убывания степени родства.

Данные:

Входными данными является аудиофайл формата mp3, который содержит запись разговора нескольких людей.

Выходными данными для базовых задач являются текстовые файлы, содержащие текст разговора, а для второй базовой задачи в выходном файле также идентифицируются кто и когда сказал какие слова.

Выходными данными для дополнительных задач являются текстовые файлы: словари нормальных форм слов всего протокола разговора и персональные для каждого собеседника; биграммный словарь пар словосочетаний всего протокола разговора; словарь слов-векторов, характеризующий каждое используемое в протоколе слово совокупностью признаков, которые и составляют вектор слова; словарь векторной родственности слов, отсортированный по порядку убывания степени родства.

 

По окончании хакатона команда присылает куратору необходимые файлы выходных данных работы программы и получает два контрольных аудио-файла формата mp3 для тестирования разработанной программы. Текстовые файлы, являющиеся результатом тестирования, отправляются обратно куратору. На основании результатов обработки исходного аудиофайла и двух контрольных выставляются баллы за решение задач.

 

Рекомендации:

В качестве языка программирования рекомендуется использовать Python и его библиотеки SpeechRecognition, PyAudio, а в качестве среды разработки PyCharm. На усмотрение команды возможен иной набор инструментов.

 

Дополнительные требования:

Программа может быть написана на любом языке программирования с использованием любых технологий. Недопустимым является использование готовых программ и программных комплексов, реализующих необходимый в задачах функционал. Исключение составляет базовая задача 1 - в силу больших трудозатрат на ее решение, при разработке программы “ с нуля” допустимо внутри программы использовать обращение к Google API или Яндекс API.

 

Критерии оценки (0-24 балла):

Основным критерием оценки является точность выполнения задания. 

Базовые задачи:

  1. 0-4 балла;

  2. 0-8 баллов;

Дополнительные задачи:

  1. 0-6 баллов;

  2. 0-6 баллов;

 


Модератор: Иващенко Кирилл Александрович, аспирант ПетрГУ

Задание #9