Нейронные сети приближают распознавание эмоций к машинам

106
Real Time Analytics

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

Как бы впечатляюще это ни звучало, с каждой неделей глубокое обучение растет скачкообразно, и ему еще есть куда улучшаться. На этом пути его применяют к множеству задач, от распознавания речи до компьютерного зрения, и, хотя все эти усилия по-своему удивительны, есть одна, которая выделяется — обработка естественным языком (NLP).

Благодаря этому инженеры-программисты пытаются придумать системы, способные понимать людей при нормальном взаимодействии. Другими словами, система на основе НЛП могла бы быть настолько продвинутой, что могла бы общаться с человеком, как если бы он был человеком. Это просто умопомрачительно, даже без учета того, что требуется для того, чтобы машина поднялась до этого уровня — понимание намерений, понимание контекста, обработка семантики и грамматики, среди многих других вещей.

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

Некоторые основные определения

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

  • Распознавание эмоций (ERC): задание, отвечающее за выявление и классификацию эмоции в тексте, будь то злой, грустный, счастливый, возбужденный, скучающий и т. д. Машина, способная выполнить эту задачу, необходима для разработки платформы ИИ, достаточно продвинутой для общения с людьми.
  • Искусственная нейронная сеть (ANN): вычислительные системы, которые воспроизводят работу биологических нейронных сетей (таких как мозг человека). Эти системы могут научиться делать что-то, анализируя примеры, поэтому им не нужно программировать наборы правил для этого.
  • Глубокая Нейронная Сеть (DNN): тип искусственной нейронной сети, которая использует несколько слоев для обработки входных данных вплоть до выходных данных. Используя математические операции, каждый слой анализирует данные и вычисляет вероятность для каждого выхода, который затем используется как вход для следующего уровня и так далее до последнего уровня системы, где он предлагает результат. Название «глубокий» подразумевает, что существует множество слоев, работающих вместе для достижения желаемого результата.
  • Свертка: математическая операция, где две функции производят третью, которая является результатом взаимодействия между ними. Это подразумевает, что это взаимодействие изменяет функции, предоставляя новую функцию с новой формой.
  • Сверточная нейронная сеть (CNN): класс Deep Neural Network, который использует свертку по крайней мере на одном из своих слоев, определяя, таким образом, как выходные данные изменяются в соответствии с различными входными данными.

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

Текущий ERC

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

Методы, используемые до сегодняшнего дня для ERC, были Рекуррентные Нейронные Сети (RNN) и Механизмы Внимания. Не вдаваясь в них слишком много, скажем, что их результаты далеки от совершенства, даже если оба метода объединены. Это потому, что у них обоих есть проблема при рассмотрении контекстов, выходящих за рамки текста (черты личности, темы и намерения).

Поскольку контекст в общении — это все, системы, которые используют RNN и механизмы внимания, не совсем эффективны. Это основная причина, по которой исследователи начали изучать глубокое обучение как способ придумать более изощренный способ решения ERC. Вот когда пришли GNC.

Важность контекста

Мы сказали, что контекст — это все, и это неоспоримо. Давайте посмотрим пример, чтобы доказать это. Если вы читаете «Все хорошо», вы можете понять это несколькими способами. Вы можете принять это за чистую монету (вещь в порядке), вы можете увидеть это как выражение смирения («все в порядке …», как в «просто оставить все как есть»), вы даже можете увидеть в этом иронию ( «все хорошо» с насмешливым жестом). Как вы могли узнать, какая интерпретация правильная? Через контекст.

В такой фразе контекст будет определяться тем, что было сказано ранее, тем, что чувствуют все участники беседы, прошлой историей между ними, атмосферой и так далее. Мы можем различить все это в тексте, потому что мы, как люди, уже интегрировали «механизмы», которые позволяют нам определить, является ли одна интерпретация правильной или нет. Это происходит из двух типов контекста:

  • Последовательный контекст: другими словами, что означает фраза или предложение, когда помещено в последовательность. То, что было сказано ранее, влияет на значение, которое вы можете получить из фразы или предложения. Кроме того, существуют семантические и синтаксические правила и отношения, которые исключают определенные интерпретации в пользу других. Механизмы RNN и Attention широко используют этот контекст для «понимания» эмоций. Если вы читаете «Ах, просто больше ничего не делайте. Это нормально», вы можете ограничить количество интерпретаций и понять, откуда этот человек.
  • Контекст уровня докладчика: отношения между спикерами, участвующими в разговоре, и отношениями, которые каждый из них имеет с собой, обеспечивают другой вид контекста, который более сложно анализировать. Личность людей и их личная история влияют на то, как они разговаривают. В этом же смысле другие участники разговора, а также то, что говорится, также влияют на то, как говорят участники, и даже меняют, как они разговаривают во время этого разговора. Это контекст, который RNN и механизмы внимания не могут понять, и он является основным направлением деятельности GNC.

Естественно, для работы GNC необходимо, чтобы данные были упорядочены в виде графика. Это представляет одну из многих проблем для модели. Это потому, что, черт возьми, вы представляете себе разговор?

Создание графического представления разговоров

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

После понимания того, что говорящие создают высказывания, пришло время понять, что каждое высказывание связано с остальными контекстуальным образом. Эти соединения называются краями, которые, в свою очередь, могут быть помечены в соответствии с различными потребностями. Указанные ярлыки называются отношениями. Кроме того, все ребра имеют разную важность для контекста, который определяется как вес ребра.

Теперь у нас есть все элементы, необходимые для построения беседы, включая выступающих, их высказывания, грани, отношения и веса. Вот как это все получается:

svertochnye grafovye seti priblizhajut raspoznavanie jemocij k mashinam. vot kak - Нейронные сети приближают распознавание эмоций к машинам

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

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

Другое важное соображение, чтобы понять модель включают в себя следующее:

  • Вес каждого ребра (то есть важность конкретной связи между двумя высказываниями) постоянен и не изменяется в процессе
  • Отношение ребра зависит от зависимости от говорящего (кто что сказал) и от временной зависимости (какое высказывание появилось первым)

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

Модель GCN

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

1574825057 34 svertochnye grafovye seti priblizhajut raspoznavanie jemocij k mashinam. vot kak - Нейронные сети приближают распознавание эмоций к машинам

Это выглядит сложным, но это не один раз, когда вы смотрите на него глубже. В модели есть 3 отдельных этапа: последовательное контекстное кодирование, контекстное кодирование на уровне динамика и классификация. Давайте посмотрим на них более подробно.

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

На этапе кодирования контекста на уровне говорящего данные с последовательным контекстом пересматриваются и классифицируются. Здесь края помечены отношениями и добавлено измерение контекста динамика. Это делается в два этапа:

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

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

Когда этот процесс завершен, пришло время перейти к этапу классификации. Здесь выходные данные первого и второго этапов объединяются для их классификации. Другими словами, данные с интегрированным последовательным контекстом привязываются к данным с контекстом уровня динамика посредством свертки, чтобы получить третий набор данных, который будет самым богатым и, следовательно, лучшим входом для классификации. После третьего этапа GCN предлагает выход через распределение вероятностей, которое показывает разные эмоции для разных высказываний.

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

Обучение модели имеет решающее значение для получения лучших результатов. Для этого исследователи используют следующие маркированные мультимодальные наборы данных:

  • IEMOCAP: видео десяти человек, имеющих двусторонние разговоры, в которых каждое высказывание помечено как счастливое, грустное, нейтральное, злое, возбужденное или разочарованное.
  • АВЭК: взаимодействие людей с агентами на основе ИИ, причем высказывания классифицируются в соответствии с валентностью, возбуждением, ожиданием и силой.
  • MELD: 1400 диалогов с 13000 высказываний для телевизионного хита «Друзья», где высказывания отмечены гневом, отвращением, грустью, радостью, удивлением, страхом или нейтральностью.

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

Чего ожидать сейчас

Как вы наверняка видели, GCN — это очень сложные системы, которые требуют четких наборов данных, постоянного обучения, высокой вычислительной мощности и времени для разработки и получения более точных результатов. Однако в настоящее время они являются одной из лучших альтернатив в ERC для решений на основе ИИ.

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

Для более полного обзора того, как работают GCN, прочитайте фантастическую вводную статью Кевина Шена в «Наука о данных».