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

Распознавание речевых эмоций (SER) - очень сложная задача из-за огромных вложений в создание соответствующих обучающих данных и высокой субъективности аннотаций. Для различных промышленных приложений иногда даже невозможно создать данные обучения искусственно из-за недоступности обученных участников. Кроме того, аннотации с высокой избыточностью являются обязательными, потому что одна и та же информация может интерпретироваться разными людьми по-разному из-за эмоций. Следовательно, технология не показала многообещающих.

Раньше работа была больше сосредоточена на эвристических подходах для решения SER, но теперь подходы ориентированы на использование искусственных нейронных сетей вместе с механизмом внимания и более сложное объединение функций с использованием спектрограмм, MFCC и других акустических функций.

В целом, я очень рад визуализации проблем машинного обучения, так как я начал использовать Tensorboard для визуализации функций в различных областях. При работе с необработанным аудио и аудиофайлами визуализация, как правило, становится критически важной для лучшего понимания данных. Прослушивание аудиофрагментов занимает много времени и, вероятно, требует множества итераций, чтобы объективно определить, что находится в аудио, но визуализация может помочь в построении контекста довольно быстро.

Получение ощущения того, как выглядят эмоции

Цель этого блога - показать базовую визуализацию эмоций для различных функций и выделить вместе с этим несколько наблюдений.

Обратите внимание, что записи, используемые в визуализациях, взяты из общедоступного набора данных IEMOCAP одного говорящего, произносящего одно и то же предложение с разными эмоциями. Набор данных - это искусственно созданный набор данных, и обученные актеры разыграли эмоции, записанные в сложной среде.

1. Аудио Временной ряд для различных эмоций:

Наблюдения:

  • Очевидно, что эмоции гнева, страха и счастья достигают более высокой амплитуды 0,5, потому что люди обычно громкие с такими эмоциями. Но это также показывает, что эти эмоции будут иметь значительное перекрытие во временной области.
  • Такие эмоции, как Грусть, Нейтральность, Отвращение, имеют меньшую амплитуду (‹0,25). Кроме того, в этих эмоциях больше шума дыхания по сравнению со Страхом и Гневом.
  • Поэтому спектральные особенности больше подходят для распознавания речи и эмоций, поскольку они инвариантны к таким особенностям временной области.

2. Спектрограмма Мела (n_mels = 128)

Наблюдения:

  • Громкость: 0 дБ - это контрольная точка и максимальная интенсивность звука. По мере того, как он становится более негативным, звук становится менее слышимым
  • Шаг: частота означает скорость возникновения вибрации. На это могут влиять факторы окружающей среды.
  • Подобные наблюдения можно сделать и из этих визуализаций. В случае страха и гнева можно наблюдать тихий звук дыхания. Кроме того, интенсивность звука концентрируется в определенный период времени с более высокой высотой тона.
  • Характеристики и сюжет не отражают низкий звук в децибелах в случае уменьшения n_mels. Следовательно, для таких случаев использования, как обнаружение шума в аудио, n_mels следует оставить на более высокой стороне.

3. График функции MFCC (n_mfcc = 1)

Наблюдения:

  • Для таких эмоций, как Страх, Счастье, уровень звука (дБ) становится очень низким, и мы можем наблюдать гораздо больше черных областей.
  • Для эмоций, таких как гнев, нейтральный уровень звука (дБ) не очень низкий, и некоторые фиолетовые области хорошо видны.
  • Это показывает, что эмоции, такие как страх или счастье, импульсивны и возникают на более короткое время, тогда как гнев, нейтральные и грустные эмоции гораздо более распространены по временной шкале.
  • У эмоций страха и гнева гораздо больше желтых областей рядом с контрольной точкой 0 дБ, что показывает, что эти эмоции намного громче по сравнению с другими эмоциями.

Функции MFCC позволяют лучше различать различные эмоции с точки зрения громкости, распространения эмоций и частотных диапазонов. По этой причине функции MFCC лучше всего подходят для акустического моделирования и широко используются в исследовательской работе. Они даже используются как необработанные функции для инициализации архитектур глубокого обучения.

4. Визуализация естественных аудиозаписей

Визуализация искусственно созданных аудиозаписей показывает, что существует некий шаблон, который можно использовать для распознавания эмоций. Но то же самое и с естественными записями?

Поэтому я попытался визуализировать настоящие эмоции из естественных аудиозаписей, как показано в визуализациях ниже.

Наблюдения:

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

Примечание: Распознавание эмоций речи - довольно сложная, но очень интересная тема для работы. Во время выступлений и демонстраций решений SER я понял, что в целом они очень интересны для аудитории по следующим причинам:

  • Люди по-разному относятся к аннотациям к аудиозаписям, например, некоторые люди могут воспринимать сердитого человека в аудиозаписи как счастливого и наоборот, и люди в конечном итоге дают забавные ответы, чтобы доказать свою точку зрения.
  • Разыгрывание злобных или грустных фрагментов в наборе данных также иногда бывает забавным. (Актеры грустным тоном упомянули недавний разрыв: p)
  • Иногда аудитория пыталась воспроизвести эмоции, которые создавали очень интересную обстановку.

Использованная литература:

  1. Https://sail.usc.edu/iemocap/
  2. Https://analyticsindiamag.com/step-by-step-guide-to-audio-visualization-in-python/
  3. Https://librosa.org/doc/latest/generated/librosa.feature.melspectrogram.html#librosa.feature.melspectrogram
  4. Https://librosa.org/doc/latest/generated/librosa.display.waveplot.html#librosa.display.waveplot
  5. Https://librosa.org/doc/latest/generated/librosa.display.specshow.html