Создание системы для анализа эмоционального состояния разговора

Валерий13 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
18.04.2018

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

Инструменты: Python, C ++, C #, любые. 

Главное - предоставить закомментированные исходники в дальнейшем.

Реализация аудиоанализа

Шаг 1. Создайте алгоритм (драйвер?), чтобы разделить поток звука от 2 микрофонов на несколько потоков для одновременного анализа в реальном времени с помощью различного программного обеспечения. Подготовьте плеер, который позволит использовать не только вход в режиме реального времени, но и записи разговоров для дальнейшего использования описанных ниже программных модулей распознавания голосов, анализа тона и настроения.

Шаг 2. Извлечение паттернов голоса (шаг, частота, продолжительность, время начала), предоставляемые pyAudioAnalysis ИЛИ другими алгоритмами с открытым исходным кодом, например

http://www.fon.hum.uva.nl/praat/

Шаг 3. Разделение говорящих людей (спикеров). При необходимости используйте машинное обучение.

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

https://arxiv.org/abs/1710.10468pyAudioAnalysis

https://blog.mozilla.org/blog/2017/11/29/announcing-the-initial-release-of-mozillas-open-source-speech-recognition-model-and-voice-dataset/

https://projets-lium.univ-lemans.fr/s4d/

Шаг 4. Визуализируйте вывод извлеченных паттернов с помощью веб-интерфейса. Создайте простой, но информативный дисплей, покажите основную информацию. На этом шаге нет предпочтений - просто быстрая демонстрация анализов осциллограмм для 2 источников (2 микрофона).

Итоги первого этапа работы:  Программное обеспечение, способное получать в реальном времени входные данные от 2 микрофонов, разделять голоса говорящих спикеров, проводить базовый анализ звука и визуализировать выходные данные на панели инструментов веб-страницы, используя диаграммы и графики.(img 1)

Эмоциональный анализ

Шаг 5. Речь в текст с использованием библиотек Kaldi или CMUSphinx. Или любых других открытых и хороших.

Шаг 6. Фильтрация ключевых слов и эмоциональная маркировка. Возможно - с использованием некоторых инструментов из этих ссылок:

https://opensource.com/business/15/7/five-open-source-nlp-tools

http://www.opener-project.eu/

Шаг 7. Формирование визуализации в реальном времени на основе этой картинки, базируясь на текстовом анализе (img 2), а так же облака эмоциональных ключевых слов (img 3).

Шаг 8.Использование открытых эмоциональных речевых баз данных в алгоритме машинного обучения для определения нейтральных, спокойных, счастливых, грустных, сердитых, страшных, удивленных и отвратительных эмоций, основанных на анализе звуковых частот.

http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.98.9202&rep=rep1&type=pdf

https://semaine-db.eu/media/doc/eula.pdf

Инструменты: pyAudioAnalysis, Keras или TensorFlow.

Итоги второго этапа работы: Система, способная обнаруживать эмоциональное состояние беседы, основываясь на голосе. На приборной панели отображаются последние визуализированные ощущения и чувства как доктора, так и клиента, а также общее эмоциональное состояние данного разговора. Начать собирать метаданные, чтобы создать базу данных для предсказания результатов с помощью методов машинного обучения. Кроме того, сбор метаданных, связанных с профилем, например количество сеансов для конкретного клиента.