Исследование оценочной функции высказывания с использованием нейронных сетей

Бесплатный доступ

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

Нейронная сеть, нейрон, алгоритм обучения, эмоциональная коннотация, обработка естественного языка

Короткий адрес: https://sciup.org/170188098

IDR: 170188098   |   DOI: 10.24411/2500-1000-2020-11042

Текст научной статьи Исследование оценочной функции высказывания с использованием нейронных сетей

Анализ оценочного значения (англ. sentiment analysis) начал применяться начиная с 2003 г. [1], где исследовалось извлечение оценочных мнений относительно различных сущностей. Тогда же был введен термин Анализ мнений [2], где говорилось об «извлечении мнений» (англ. opinion mining) из отзывов о товарах. Цель анализа оценочного значения высказывания, включающего в себя автора мнения или источника высказывания, объект, по отношению к которому выражено мнение, и оценочное значение высказывания. Задача выявления положительных или отрицательных отзывов на товары, фильмы, книги, услуги и пр., востребована современными системами оценки качества. Первым этапом улучшения качества изделия является его интегральная оценка пользователем, выраженная в отзывах о товаре или предоставленной услуге. Далее анализу должен быть подвергнут весь отзыв, что именно не устроило потребителя, какие характеристики продукта его не удовлетворили, что требует немедленного улучшения, а с чем можно примириться, если цена продукта будет адекватной. Именно первый этап анализа мы пытаемся автоматизировать с использованием лексического состава отзыва, применяя технологии нейронных сетей.

Некоторые исследования в этом направлении были проведены автором [3] в области прогнозирования спортивных достижений. Теперь нами сделана попытка применения методики нейронных сетей для повышения качества изделий и услуг в области книжной и кинопродукции. При разработке программы анализа оценочного значения необходимо обучить программу на выборке текстов конкретной тематики. Система, обученная на корпусе кинорецензий, не будет показывать высокие результаты при определении оценки, например, отзывов об автомобилях из-за различий в лексике, используемой в этих текстах. Классической задачей анализа оценки можно назвать анализ кинорецензий и отзывов на книги, первые крупные исследования и эксперименты проводились на этом материале. Кинорецензии как материал для анализа не имеют большой практической ценности, но они послужили отправной точкой для развития систем анализа тональности и показали их потенциальные возможности [4].

Причины использования нейронных сетей

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

Набор лексических единиц, входящих в отзыв, имеющих эмоциональнооценочную коннотацию, можно легко выявить с использованием соответствующих словарей, проведя предварительную лемматизацию лексики. Эти данные, закодированные очевидным способом, будут использованы как входной набор для нейронной сети, а общая оценка, содержащаяся в отзыве, будет результатом работы НС. С учетом входных данных, которые включают набор оценочных значений отдельных слов / словосочетаний, ожидается, что нейронная сеть определит положительную или отрицательную характеристику всего отзыва. Мы оставляем в стороне нейтральную оценку, поскольку она, как правило, не выражает мнение автора отзыва. Решение задачи достигается путем ввода последовательности положительно (+1), отрицательно (-1) окрашенных лексем в отзыве в нейронную сеть, с последующей настройкой НС, прогоном НС на этих данных, получения результатов и их интерпретации. Наше внимание сосредоточено на анализе оценочного значения отдельных предложений. Анализ на уровне предложений подразумевает деление исходного текста на предложения и анализ каждого из них отдельно. После чего будет возможно представить общую тональность всего текста. Для русского языка в свободном доступе находится РуСентиЛекс [5], кроме того, русский язык входит в пакет списков оценочных слов, собранный Й. Ченом и С. Скиеной [6]. Обучение НС включает подбор ее параметров, определение обучающей выборки входных данных, оценку полученных результатов и, при необходимости, корректировки структуры и параметров НС и изменения обучающего и тестового наборов данных. После достижения приемлемой точности результатов, т.е. высокого процента совпадения предсказанных и реальных результатов, можно переходить к использованию НС в задачах предсказания при неизвестных величинах результатов.

Определение нейронной сети прямого распространения

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

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

Данные для задач классификации содержат текстовую или другую нечисловую информацию. В нашем случае оценочная лексика типа хороший / плохой – представлена не числом, а значением +1 – хороший, прекрасный, замечательный, -1 плохой, дрянной, отвратительный. На данном этапе мы не делаем градуировки оценочной лексики, хотя в дальнейшем это возможно [7].

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

Импорт данных

Для ввода исходных данных в нейронную сеть используется функция чтения xlsread.

Нейронная сеть с прямым распространением строится вызовом функции Matlab ®.

net = newff (P, T, 20);

где P – данные оценочной лексики и T -целевые значения, данные об оценке всего отзыва.

Нейронная сеть будет обучена на наборе тренировочных данных, чтобы производить выдачу (1) для положительной оценки отзыва, (-1) для отрицательной оценки отзыва..

Теперь сеть готова к обучению. Входные данные автоматически делятся объектом net Matlab® на обучающий, проверочный и тестовый наборы. По умолчанию принимается деление всех данных на три равные части. Это деление можно менять. Учебный набор используется для обучения сети. Обучение продолжается до тех пор, пока сеть продолжает улучшать соответствие между набором оценочных лексем и результатом, т.е. между результатами, полученными на выходе сети и реальными результатами оценки отзыва.

Тестовый набор обеспечивает полностью независимую оценку точности сети. Обученную нейронную сеть можно тестировать с помощью тестовых образцов. От- вет, полученный НС можно сравнить с желаемым целевым ответом для построения матрицы классификации, которая будет давать исчерпывающую картину результатов классификации. Для примера, приведенного в справочнике по Matlab ® (классификация крабов на мужские и женские особи), получены следующие результаты:

Процент правильной классификации: 97,5%

Процент неверной классификации: 2,5%

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

Затем была проведена классификация на сырых данных, полученных экспериментально. Обучение прошло за 6 эпох, валидация и тестирование дали приемлемые результаты: Процент правильной классификации: 72,6%, процент неверной классификации: 28,4%

Другие эксперименты с различным числом слоев НС, различным числом нейронов дали следующие результаты: Варианты с отклонением от среднего между положительными и отрицательными отзывами

  • 1)    Исходная сеть 73% удачных прогнозов

  • 2)    2 слоя, 25 нейронов, функция активации tansig. 62% удачных прогнозов

  • 3)    2 слоя, 30 нейронов, функция активации tansig. 38% удачных прогнозов

  • 4)    2 слоя, 100 нейронов, функция активации tansig. 60% удачных прогнозов

  • 5)    3 слоя, 20 и 20 нейронов, функция активации tansig. 62% удачных прогнозов

  • 6)    3 слоя, 10 и 10 нейронов, функция активации tansig . 46% удачных прогнозов

  • 7)    Вариант с отклонением от среднего между положительными и отрицательными отзывами, 2 слоя, 20 нейронов, функция активации logsig (логистическая функция). 77% удачных прогнозов. Не от-

  • личается от результата для функции активации tansig.
  • 8)    Вариант с отклонением от среднего между положительными и отрицательными отзывами 2 слоя, 20 нейронов, функция активации линейная, purelin. 45% удачных прогнозов.

Вывод: Использование линейной функции в НС неприемлемо.

Заключение

Результатом исследования стало:

  • 1.    Нейронная сеть может применяться для практических задач классификации положительных и отрицательных отзывов в зависимости от заданной оценочной лек-

  • 2.    На тестовом примере НС показывает правильные результаты.

  • 3.    Результаты не зависят от вида функции активации с насыщением и неприемлемы для линейной функции активации.

  • 4.    Необходимо проводить дальнейшие исследования с новыми наборами данных, включающих несколько сотен или даже тысяч отзывов.

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

сики.

Список литературы Исследование оценочной функции высказывания с использованием нейронных сетей

  • Nasukawa Yi. Sentiment analysis: Capturing favorability using natural language processing // Proceedings of the 2nd international conference on Knowledge capture. ACM. - 2003. - P. 70-77.
  • Dave, Lawrence, Pennock, Mining the peanut gallery: Opinion extraction and semantic classification of product reviews // Proceedings of the 12th international conference on World Wide Web // ACM. - 2003. - P. 519-528.
  • Потемкин С.Б., Хасин Л.А. Исследование спортивных результатов в тяжелой атлетике с использованием нейронных сетей. - М., 2020 (в печати).
  • Семина Т.А. Анализ тональности текста // Социальные и гуманитарные науки: Отечественная и зарубежная литература. Серия 6: Языкознание. Реферативный журнал. М.: Изд-во: Институт научной информации по общественным наукам РАН, 2020. - С. 47-62. ISSN: 2219-8776
  • Лукашевич Н.В., Левчик А.В., Создание лексикона оценочных слов русского языка РуСентилекс // Труды конференции OSTIS-2016. - Минск: БелГУ информатики и радиоэлектроники, 2016. - С. 377-382.
  • Chen, Skiena, Building Sentiment Lexicons for All Major Languages // ACL (2). - 2014. - Pp. 383-389.
  • Potemkin S.B., Kedrova G.E. Exploring semantic orientation of adverbs // Computational Linguistics and Intellectual Technologies Papers from the Annual International Conference "Dialogue" (2011) Issue 10. - Pp. 538-545.
Еще
Статья научная