ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
05.13.18 МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ,
ЧИСЛЕННЫЕ МЕТОДЫ И КОМПЛЕКСЫ ПРОГРАММ
MATHEMATICAL MODELING, NUMERICAL METHODS
AND COMPLEX PROGRAMS
1.2.1 ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
DOI: 10.33693/2313-223X-2022-9-2-35-44
Элементы искусственного интеллекта в решении задач анализа текстов
Т.С. Катермина3 ©, К.М. Тагировь ©, Т.М. Тагировс ©
Нижневартовский государственный университет», Ханты-Мансийский автономный округ - Югра, Тюменская область, г. Нижневартовск, Российская Федерация
a E-mail: [email protected] b E-mail: [email protected] c E-mail: [email protected]
Аннотация. В связи с постоянно растущим объемом текстовой информации в интернете и потребностью в ней ориентироваться, становиться актуальным автоматизация процесса анализа текста. Анализ предметной области показал большой интерес к определению эмоциональной окраски текстовой информации и применению трудов по этой проблеме в различных областях экономики. В работе рассматривается разработка модели нейронной сети для анализа тональности сообщений в социальных сетях сети Интернет. Для решения поставленной цели используются модели рекуррентных нейронных сетей с модулями долгой краткосрочной памятью (LSTM). Разработана информационная система, которая определяет тональность комментариев к постам в сообществах социальной сети «ВКонтакте». В результате обучения искусственной нейронной сети, модель показала хорошую точность определения тональности текста. Информационная система внедрена в отдел маркетинга Бюджетного учреждения Нижневартовского строительного колледжа.
Ключевые слова: анализ тональности текста, искусственные нейронные сети, машинное обучение, рекуррентные нейронные сети, длинная цепь элементов краткосрочной памяти, обработка естественного языка
ССЫЛКА НА СТАТЬЮ: Катермина Т.С., Тагиров К.М., Тагиров Т.М. Элементы искусственного интеллекта в решении задач анализа текстов // Computational nanotechnology. 2022. Т. 9. № 2. С. 35-44. DOI: 10.33693/2313-223X-2022-9-2-35-44
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
DOI: 10.33693/2313-223X-2022-9-2-35-44
Elements of artificial intelligence in solving problems of text analysis
T.S. Katerminaa ©, K.M. Tagirovb ©, T.M. Tagirovc ©
Nizhnevartovsk State University,
Khanty-Mansi Autonomous Okrug - Yugra, Tyumen region, Nizhnevartovsk, Russian Federation a E-mail: [email protected] b E-mail: [email protected] c E-mail: [email protected]
Abstract. Due to the ever-increasing volume of textual information on the Internet and the need to navigate it, the automation of the text analysis process has become urgent. The analysis of the subject area has shown a great demand for the identification of textual information coloring and the application of works on this problem in practice. This paper deals with the development of a neural network model for analyzing commentary tone. Recurrent neural network models with long short-term memory modules (LSTM) are used for the purpose. We have developed an information system that determines the tone of comments on posts in the communities of the social network "VKontakte". As a result of training of the artificial neural network, the model showed good accuracy in determining the tone of the text. The information system was implemented in the marketing department of the Nizhnevartovsk Construction College Budget Institution.
Key words: sentiment analysis, artificial neural networks, machine learning, recurrent neural networks, long short-term memory, natural language processing
FOR CITATION: Katermina T.S., Tagirov K.M., Tagirov T.M. Elements of Artificial Intelligence in Solving Problems of Text Analysis. Computational Nanotechnology. 2022. Vol. 9. No. 2. Pp. 35-44. (In Rus.) DOI: 10.33693/2313-223X-2022-9-2-35-44
ВВЕДЕНИЕ
Статья посвящается проблеме обработке естественного языка, а в частности, задаче определения тональности текста. В работе описывается один из подходов обучения нейронных сетей для анализа тональности комментариев.
Определение тональности комментариев - это один из важных разделов анализа текста, который решает задачу по определению эмоционального отношения автора к теме сообщения или объекта. Текст бывает разной эмоциональной окраски: отрицательной, положительной или нейтральной по отношению к теме или объекту. Существуют и другие градации, но в данной работе будет рассмотрена именно такая.
Популяризация и развитие всемирной паутины и расширение глобальных компьютерных сетей, в том числе пополнение информационно-текстовых баз данных повлекло за собой наращивание информационных текстовых ресурсов: учебные заведения выкладывают во всемирную сеть данные с публикациями авторефератов, научных статей и монографий; большинство коммерческих компаний предоставляют доступ к ресурсам своих электронных библиотек, а также публикуются множество полных текстов докладов, рефератов и различных подобных трудов. При интенсивном и постоянном возрастании объемов текстовой
информации, сложность поиска требуемых сведений среди огромного количества доступных текстов и сообщений значительно уменьшают ее ценность. Классификация сообщений необходима для решения следующих проблем:
• борьба со спамом;
• разделение сайтов по тематическим каталогам;
• распознавание эмоциональной окраски текстов,
• а также в решении следующих задач:
• автоматизация процесса исследования естественного языка;
• компьютерный анализ и синтез текстов на естественных языках;
• генерация текста;
• автоматическая обработка текста на естественном языке.
В данной статье рассматривается определение тональности текста, на примере сообщений в социальных сетях.
МЕТОДЫ РЕШЕНИЯ РАССМОТРЕННОЙ ЗАДАЧИ
Перечислим существующие подходы к решению задач анализа текстов и обработки естественного языка:
• эмпирические методы, основанные на вероятностных моделях машинного обучения в области обработки естественного языка [Riezler, Hagmann, 2022];
Катермина Т.С., Тагиров К.М., Тагиров Т.М.
• обзоры выявления психических заболеваний с помощью обработки естественного языка (например, методами глубокого обучения), выраженных в разнообразных текстовых данных, включая сообщения в социальных сетях, представлены в статьях [Zhang et al., 2022; Turner et al., 2022];
• статистика достоверности электронных медицинских карт и восстановления показателей из пло-хочитаемых сообщений при помощи методов анализа естественного языка исследовалась в работе [Khurshid et al. 2022];
• взаимосвязь между эмоциями и настроениями клиентов, возникающими при взаимодействии с роботами в отелях, и потенциальным влиянием на рейтинг отеля, исследуется при помощи методов анализа текстов и рассматривается в работе [Orea-Giner et al., 2022];
• исследования тональности финансовой информации на английском языке при помощи методов анализа больших данных и нейронных сетей [Ledra et al., 2022; Li, Wang, Luo, 2022];
• анализ настроений и эмоций для выявления стресса человека на основе сообщений и комментариев при помощи машинного обучения [Nijhawan et al., 2022].
Перечислим методы, применяемые при классификации текста.
1. BagofWords («мешок слов») - метод основан на использовании частоты включения слова в предложение (документ), и игнорирует грамматику и порядок слов. Используется в классификации документов.
2. Tf-idf (Tf - term frequency, «частота термина», IDF - inverse document frequency, «обратная частота документа») - это метод для оценки важности слова (термина) в контексте документа. Задаваемый вес слова пропорционален частоте употребления этого слова в тексте и обратно пропорционален частоте употребления данного слова во всех текстах коллекции. Часто используется в задачах информационного поиска [Abbasi et al., 2022].
3. Эмбеддинг слов (от англ., «вложение слов») -метод снижения размерности векторов характеризующих признаки слов (эмбеддинг), использующий, например, общие упоминания слов в словосочетании и определенные представления, тренирующиеся в связях упоминаний слов на определенных тематических словарях.
4. Токенизация по предложениям или словам (иногда сегментация) - процесс распределения письменного языка на предложения-элементы или слова-компоненты.
5. Стемминг (от англ., «находить происхождение») - эвристический процесс, убирающий «ненужное» от корня слов, что не редко приводит к потере суффиксов, которые образуют слова.
6. Лемматизация - нетривиальный процесс, изменения слова к его каноническому виду - лемме, данный процесс использует энциклопедию слов и анализ строения форм слов.
Непараметрическая эконометрика - раздел экономической науки, где данные создают и формируют модель самостоятельно, не требуя спецификации операционных форм классифицируемых объектов. За прошедшее десятилетие непараметрические методы принимают новую актуальность в прикладных исследованиях. Данные методы более используются в анализе большого объема данных при достаточно малом количестве объектов обучения.
Компьютерное моделирование - операции вычислений численной модели (компьютерной) на нескольких вычислительных узлах. Данная модель определяет представление объекта, системы, понятия в форме, не совпадающей с реальным миром, но приближенной к алгоритмическому описанию.
Эмпирические методы - это способы ответа на методологические вопросы эмпирических наук с помощью статистических методов. В случае машинного обучения методологические вопросы соответствуют вопросам о том, предсказывает ли модель то, что она предсказывает, является ли производительность модели согласованной при различных репликациях, и является ли разница в производительности двух моделей случайной, соответственно.
Автоматизация снижает спрос на определенные навыки, а с другой стороны, выявляет новые навыки, которые необходимы для усиления потребности в сотрудничестве между разумом и машинами [Alibasic et а1., 2022].
ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ
Основная цель анализа тональности сообщений или задачи классификации текста, после предварительной подготовки текста и очистки сводится к тому, чтобы составить словарь всех слов в сообщениях, присвоить каждому слову число - уникальный номер слова в словаре, изменить длину каждого текста до нужного размера (подбирается количество слов в максимально длинном тексте).
С машинным обучением без учителя справляются модели нейронных сетей.
Искусственная нейронная сеть имеет вид математической модели и ее воплощение (рис. 1), в программе или программно-аппаратной реализации, воплощенная наподобие деятельности органических нейронных сетей, то есть сети нейронов в биологическом организме.
X - множество объектов, У - классы допустимых ответов-решений (например, классы объектов, тональность текста и др.). Предположим, объекты описываются п числовыми характеристиками г = 1, ... , п. Каждому объекту выборки соотносят набор параметров, который этот объект описывает. Данный набор параметров называют вектором признаков. Задача состоит в том, чтобы составить и найти алгоритм активации - А: отображения X в У, аппроксимирующий функцию целевой зависимости известную на обучающей выборке из X. Множество объектов, для которых известно значение целевой переменной, объявляют
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
обучающей выборкой. Обучающая выборка обозначена множеством X = {xp ... , xn}, где xi - это переменная i. Соответственно, значения целевой переменной У1, .■• , Уп - классы.
Входы Веса [Inputs] [Weights]
А ( X ) = ф
V i = 1
сигмоидная функция
о(х) = (1 + е -х)-1; гиперболический тангенс
Л (х) = 2а(2х)-1; логарифмический функция
1п (х + у/ г2 +1);
функция Гаусса
exp
- х
Рис. 1. Схема искусственного нейрона Fig. 1. Schematic diagram of an artificial neuron
Модели нейронной сети включают в себя одинаковые нейроны. Каждый нейрон использует п-мерный вектор (тензор) качеств (хр ... , хп), каждому использующему значению соответствует значение из множества весов - W(w.), нейрон выводит значение функции активации - А(х):
(1)
Классическая топология нейронной сети - многослойный персептрон представлен на рис. 2, в котором слои нейронов расположены так, что каждый нейрон из следующего слоя связан со всеми нейронами предыдущего. В данном типе объявляют три разновидности нейронов: входной слой нейронов, скрытые слои нейронов и выходной слой нейронов. Многослойный пер-септрон с нелинейной активацией, по теореме Колмогорова, способен аппроксимировать любую функцию.
Рис. 2. Топология искусственной нейронной сети Fig. 2. Topology of the artificial neural network
Нахождение нужных коэффициентов W (весов сети) и составляет задачу обучения нейронных сетей. Возможные функции активации нейронов А(х): • ступенчатая функция Хэвисайда
9(х) = [z > 0];
• линейная функция - x.
Метод обратного распространения ошибки (Back-propagation, backprop) - метод тренировки многослойных персептронов, реализуемый на вычислении градиента функции ошибок. Походу обучения, веса нейронов каждого слоя модели нейронной сети, изменяются с учетом признаков, полученных из предыдущего слоя, чтобы затем каждый вес изменялся в соответствии с алгоритмом градиентного спуска. Находится рекурсивно по обратному пути от последнего слоя нейронов к первому.
Механизм глубокого обучения основан на возобновлении повторяющихся этапов цикла:
1) выбираются данные обучения X и цели Y;
2) прямой проход по данным вычисляет вектор предсказаний y_pred;
3) корректируются несовпадения между векторами предсказаний и целей: y_pred и Y;
4) автоматически изменяются веса W модели нейронной сети, для уменьшения потерь на заданном пакете обучающих данных.
Эпоха - это один полный цикл обучения модели нейронной сети на всех примерах обучающей выборки.
Целью машинного обучения является нахождение такой функции, которая переводит вектор признаков в целевую переменную так, что значение признаков будут «наиболее близко» приближать истинные значения целевой переменной. Именно такая функция называется моделью нейронной сети. Данная функция должна стремиться всегда давать точный ответ, но максимальной точности почти никогда не получается добиться. Заметим, что судить о «точности» модели можно только по обучающей выборке, так, как только для нее будут известны истинные ответы. Поэтому в машинном обучении используется подход, основанный на так называемой функции потерь.
Функция потерь L(f, X, y) дает нам численную оценку «точности» модели на выборке X. Формально говоря, она сопоставляет паре из модели и выборки число. Очень часто используется среднеквадратичная ошибка:
* (, *, у ) = 1 i ((x)-* )2.
x
x
x
x
i = 1
Катермина Т.С., Тагиров К.М., Тагиров Т.М.
АРХИТЕКТУРА
РЕКУРРЕНТНЫХ НЕЙРОННЫХ СЕТЕЙ
Проблемы, связанные с распознаванием текста, решаются рекуррентными нейронными сетями [Lee et al., 2021; Verna, 2021] - Recurrent neural network (RNN), где образуется направленная последовательность между связями элементов. RNN классифицирует текст для решения задач поиска, выбора сценария в диалоговой системе, поиска ложных новостей, фильтрации текста, создания спам-фильтров и других задач. Для этого используют модель эмбеддинга слов (рис. 3). Эмбеддинг слов (Word Embedding's) - подход к моделированию слов и тренировке представлений в обработке естественного языка, ориентированных на сопоставление словам из некоторого словаря векторов из Rn, данная степень определяется количеством слов в исследуемом ресурсе (для n слов в словаре).
Один основной вектор размера словаря (например, 500000) [One hot vectors of dictionary size (ex. 500 000)
T
Кошка = [Cat]
Мама = [Mother]
n (= 500 000) Координаты [Cordinats]
Рис. 3. Эмбеддинг слов Fig. 3. Embedding words
Проблемы методов классификации текста связанны с большой размерностью матриц. Можно использовать и сверточные нейронные сети (CNN), и они решают данную задачу эффективно, но в таких моделях нет долговременной памяти, не учитывается информация из неограниченно длинного предложения. Данную проблему и решают рекуррентные нейронные сети.
В 1982 г. Джон Хопфилд реализовал Сеть Хопфил-да. В 1993 г. разрешилась задача глубокого обучения нейронной системой запоминания и сжатия исторических данных, в данной рекуррентной сети разворачивалось более тысячи последовательных слоев.
Рекуррентные нейронные сети вывели на новый уровень построения языковых моделей, качество машинного перевода и обработки многоязычного текста. Сочетание RNN с CNN позволило усовершенствовать автоматическое описание изображений.
В рекуррентных нейронных сетях задается функция:
fw h - Р x) (2)
где t - шаг (временная характеристика); x - эмбеддинг текущего (заданного) слова; ht - х - вектор значений, определенный на предыдущем этапе вычислений (начальный вектор значений выбирается эффективно). Данная функция применяется рекурсивно к неявным значениям ht - х (это означает, что последовательно будут обрабатываться члены заданного предложения, выискивая актуальную информацию) как представлено на рис. 4, и так до конца предложения получим 10 состояний - h..
Рис. 4. Рекуррентный эмбеддинг слов Fig. 4. Recurrent Embedding of Words
Далее полученные данные агрегируют с помощью операции тах_рооШ^ (рис. 5), и следом данные проходят в слои модели нейронной сети, получая классификацию.
Вместо функции ^ в формуле (2) используют гиперболический тангенс:
tanh (x) =
sinh (x) cosh (x)
e - e
Это воспринимают как однослойную нейронную сеть (рис. 6).
15 9 4 2 Максимальное значение
11 5 8 6 15 8
8 7 3 17 8 17
2 3
7 3 Max pooling
Рис. 5. Операция max_pooling Fig. 5. The max_pooling operation
0
0
0
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
©
©
©
-
©
©
©
Рис. 6. CTpyKTypaRNN Fig. 6. Structure of the RNN
Преимущество рекуррентных сетей над многослойными перцептронами, заключается в том, что первые могут воспользоваться функцией внутренней памяти для вычисления последовательностей различного размера, учитывая информацию с любого момента времени.
ДОЛГАЯ КРАТКОСРОЧНАЯ ПАМЯТЬ
Модели нейронной сети с кратковременной и долгосрочной памятью - Long short term memory (LSTM) [Sherstinsky, 2020; Mohd et al., 2021], имеют свои преимущества. Рассматриваемая разновидность архитектуры RNN, была изобретена в 1997 г. Зеппом Хохрайте-ром и Юргеном Шмидхубером. Так как большинство RNN-сетей являются разносторонними, то есть при обильном количестве нейронов сети модель сможет определить и найти любое исчисление, на которое способна электронно-вычислительная машина, для чего необходима соответствующая матрица весов, поэтому LSTM-сеть тоже является универсальной. Различие заключается в том, что модели с краткосрочной и долгосрочной памятью, хорошо приспособлены к тренировке на ряде таких проблем как: обработки и прогнозирования временных рядов, и, конечно же, классификации.
ht-
не исчезает в процессе дальнейшей тренировки, и градиент или штраф не исчезает при использовании метода обратного распространения ошибки во времени при обучении модели искусственной нейронной сети.
Обычный модуль LSTM состоит из ячейки, входного и выходного векторов, и вектора забывания. Клетка запоминает значения через произвольные промежутки времени, а данные три вектора регулируют поток информации в ячейку и из нее.
Компактные формы уравнений для прямого прохода ячейки LSTM с затвором забывания представлены в формулах:
£ = ад (^ + иД _ ! + Ь); К = ад№ + иД_! + Ь); о, = а (Ш х + и И, , + Ь );
г д^ о г о г - 1 о-"
с, = а (Ш х + и И . + Ь );
г с^ с г с г - 1 с-"
с = /Д - 1 + 'гсг; Иг = о аи(с)
где начальные значения с0 = 0, а также И0 = 0, а оператор ◦ обозначает функцию произведение Адамара, то есть поэлементное произведение в матрице. Индекс г определяет временной шаг. Задаются значения: хг - входной вектор, И - выходной вектор, с{ - вектор состояний, Ш и и - параметрические матрицы, Ь - вектор параметров, Ъ, г'г и о ( - векторы забывания, входного и выходного соответственно.
Функции активации: ад на основе сигмоиды, ас на основе гиперболического тангенса, аИ на основе гиперболического тангенса.
Проблема с использованием градиентного спуска для стандартных RNN заключается в том, что градиенты ошибок экспоненциально быстро исчезают с размером временной задержки между важными событиями. Это связано с пределом при п, стремящемся к бесконечности Шп = 0, если спектральный радиус Ш меньше 1. Однако с модулями LSTM, когда значения ошибок распространяются обратно из выходного слоя, ошибка остается в ячейке модуля LSTM. Эта «карусель ошибок» постоянно отправляет ошибку обратно на каждый из вентилей модуля LSTM, пока они не научатся отсекать значение.
ТОНАЛЬНОСТЬ ТЕКСТА
Рис. 7. Ячейка долговременной кратковременной памяти Fig. 7. Long-term short-term memory cell
LSTM-модуль - это рекуррентный блок сети, умеющий откладывать значения, как на короткие, так и на длинные промежутки вычислительного времени. Это возможно благодаря тому, что модуль долгой и краткосрочной памяти не включает операцию активации внутри своих рекуррентных компонентов (рис. 7). Откуда следует, что запоминающаяся характеристика
Анализ тональности - научная область, занимающаяся классификацией текстовых сообщений по настроению. Одной из основных проблем, связанных с понятием тональности текста, является проблема определения данной категории. Определение «тональности» имеет множество вариантов, относящихся к разным аспектам окружающей действительности: к искусству: музыке, живописи, литературе или к медицине. Основной целью анализа тональности является нахождение мнений в тексте и выявление их свойств.
h
c
c
t--
ht
x
Катермина Т.С., Тагиров К.М., Тагиров Т.М.
Часто анализ тональности сообщений сводится к бинарной классификации. Одним из минусов бинарной классификации является то, что эмоциональную составляющую текста не всегда можно однозначно определить, то есть сообщение может содержать признаки как позитивной, так и негативной оценки. Поэтому можно считать количественную оценку в процентах. Помимо позитивных и негативных оценок тональности можно определить нейтральные. Нейтральная тональность не содержит в себе эмоциональной окраски. А также существуют многомерные классификации, что рассматривается в работах [Luo, Zhu, 2021]. В этих работах была расширена основная задача классификации отзывов кинематографии от бинарной оценки («положительной» или «отрицательной») в сторону прогнозирования рейтинга по 4-балльной шкале.
Анализ тональности текста, в данной работе используется для определения настроения конкретных высказываний и сводится к классификации на позитивные, негативные, нейтральные, пропущенные и речевые сообщения.
• Позитивные: «Мне сегодня хорошо», «У меня прекрасное настроение», «Я люблю торты».
• Негативные: «Фильм скучный», «Соседи слишком громко делают ремонт», «Твоя работа бессмысленна».
• Нейтральные, без пометки настроения.
• Пропущенные сообщения, класс для неясных случаев: постов и материалов, которые, скорее всего, не были созданы самими пользователями, например, стихи, тексты песен, шутки и другое.
• Речевые: «Добрый день», «Здравствуйте», «Поздравляю», то есть такие сообщения в социальных сетях, которые часто включают в себя шаблонные приветствия, сообщения с благодарностью и поздравительные фразы, такие сообщения могут выражать или не выражать фактические чувства отправителя.
В последнее время большинство социальных сетей можно использовать как открытые и широкодоступные источники мнения некоторой части общества.
АРХИТЕКТУРА МОДЕЛИ НЕЙРОННОЙ СЕТИ
Для разработки модели нейронной сети был выбран высокоуровневый язык программирования Python. В качестве основных библиотек анализа текстов были выбраны TensorFlow и Keras. Последняя нацелена на оперативную работу с сетями глубинного обучения. Динамически строгая типизация и автоматическое управление памятью облегчают работу создания моделей искусственных нейронных сетей. Python -полностью объектно-ориентированный язык, так как все является объектами. Минималистичный синтаксис облегчает написание кода программы. Топология модели разработанной нейронной сети:
1) количество слоев - 6;
2) число нейронов в слоях:
а) в первом слое эмбединнга длина - 8;
b) второй слой рекуррентных сетей содержит 4 ячейки, с заданными параметрами весов и эмбеддингом слов;
c) третий слой с LSTM модулями - 128 ячейки;
d) четвертый слой пулинга;
e) слой с LSTM модулями - 64 ячейки;
f) выходной слой - 5 нейронов.
Активационная функция нейронов - гиперболический тангенс всех ячеек и сигмоидная функция для LSTM модулей.
Оптимизатор - Adam, с функцией ошибки - бинарной кросс-энтропией.
Количество эпох обучения - 250.
Максимальный градиент - 1,0.
Для преобразования текста из набора слов в набор векторов использовались обученные эмбеддинги. WordNet-Affect - лексический словарь, содержащий слова описывающие эмоции. Для сбора объектов в батчи (обучающие выборки), часто просто собирают фиксированное число объектов. В случае с текстами это не работает - каждое сообщение имеет произвольный размер. Можно дополнить предложения нулями, но этот процесс не показал эффективности обучения. Сообщение собирались в батчи на основе их длин. Число токенов ограничивалось в одном батче, и пока это число не было превышено, добавлять новые сообщения в батч. Эмбеддинг слов обучался по ходу тренировки модели нейронной сети.
Обучение модели нейронной сети происходило на кроссплатформенном веб-приложении GoogleCo-lab - Colaboratory. Это бесплатная интерактивная облачная среда для работы с кодом на высокоуровневом языке программирования Python. Документы размещаются не на статической веб-странице, а в интерактивной среде под названием блокнот Colab, позволяющей кроссплатформенно писать и выполнять код, прямо в браузере. Colab позволяет использовать для анализа и визуализации данных все возможности популярных библиотек Python. Код в блокнотах Colab исполняется на облачных серверах. Это означает, возможность использования аппаратного обеспечения Google, в том числе графические процессоры и TPU, независимо от мощности персонального компьютера. Что позволяет разрабатывать искусственные нейронные сети и обучать их на мощнейших современных устройствах. С применением CUDA-ядра - архитектуры параллельных вычислений, позволяющей достигать высокой вычислительной мощности при помощи использования Nvidia графических процессоров.
АВТОМАТИЧЕСКИЙ СБОР ДАННЫХ
Данные для работы модели нейронной сети были взяты из комментариев к постам сообществ социальной сети «ВКонтакте». Написание скриптов по пар-сингу - автоматизации процесса сбора информации с веб-страниц, также возможно при помощи библиотек языка программирования Python. Модуль Requests -это HTTP-библиотека, для написания запросов.
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
Модуль re - библиотека, которая представляет функции шаблонов регулярных выражений.
В программном интерфейсе приложения «ВКонтак-те» для получения ключа доступа используется открытый протокол OAuth 2.0. код ошибки, который может появиться при парсинге:
• код ошибки 212 - нет доступа к комментариям записи, в ходе выполнения могут произойти общие ошибки, их описание находится на отдельной странице;
• код ошибки 19 - контент недоступен.
Для считывания всех постов из сообщества воспользуемся сгенерированным токеном - token, пропишем последнюю версию APIVk, и домен сообщества Факультета Информационных Технологий и Математики, полученные данные размечаются методом - .json(). Параметр «count» прописывает количество считываемых постов со стены сообщества «ФИТиМ». Полученные данные имеют HTML структуру. Для сохранения новых постов существует переменная «offset», которую можно добавить в параметры запроса, присвоив ей определенный номер. Увеличивая количество считывающих постов, будем хранить их во множестве all_post,
используя функцию .extend(). Сразу вытаскивая информацию о тех постах, у которых есть комментарии, то есть значения count несравним с нулем. Из каждого поста нужно извлечь комментарий, для этого и нужен запрос .getComments, которому нужны два входных параметра: номер поста и идентификатор сообщества или пользователя, post_id и owner_id соответственно. Получим значения считанных комментариев с постов социальной сети «ВКонтакте», если они есть в открытом доступе.
Все эти данные отправляются на анализ модели искусственной нейронной сети, которая отмечает каждый комментарий пятью флагами. Значения меток варьируются от 0 до 1, при этом некоторые значения могут быть настолько малыми, что их значения будут записаны в виде e-5, что означает -5 степень 10, то есть число, помноженное на 0,00001. Результаты прохождения сообщений через модель искусственной нейронной сети отображены в двух флагах (рис. 8), по меткам позитивной или негативной оценки, а также нейтральной или пропущенной предрасположенности.
интересная информация для поступающих - {'neutral': 0.8479777574539185, 'positive': 0.11 круто - {'positive': 1.0000100135803223, 'negative': 1.0000003385357559е-05} Гордимся! Молодцы! - {'positive': 0.998599648475647, "skip": 0.042097724974155426}
interesting information for entrants Proud! Well done!
Рис. 8. Анализ первых комментариев Fig. 8. Analysis of first comments
ВЫВОДЫ
Обучение модели нейронной сети показало хорошие результаты (табл. 1). Качество и точность моделей и программ анализа тональности текста оценивается тем, насколько точно она соответствует с мнением человека на показателях сентиментальной оценки анализируемого текста. F-оценка вычисляется на основе точности и полноты теста.
Точность (precision) - определяется количеством истинно положительных результатов, разделенных на значение всех положительных результатов, заключая в себе и те, которые были идентифицированы неправильно, а полнота (recall) - определяются количеством истинно положительных результатов, разделенных на значение всех проб, которые модели нужно было предсказать как положительные. Точность является положительной прогностической ценностью, а полнота - это чувствительность в диагностической бинарной классификации. Показатель F1 представ ля-ет собой среднее гармоническое точности и полноты. Максимально возможное значение F-оценки равно 1, что указывает на идеальную точность и полноту, а наименьшее возможное значение равно 0, если либо точность, либо полнота равны нулю.
Таблица 1
Базовая производительность классификации [Basic classification performance]
Классификатор [Classifier] F1 Точность [Precision] Полнота [Recall]
Логистическая регрессия [Logistic regression] 0,6883 0,6952 0,6945
Линейный SVC [Linear SVC] 0,6855 0,6945 0,6924
Повышение градиента [Increasing the gradient] 0,6847 0,6962 0,6918
NN-классификатор [NN classifier] 0,7163 0,7198 0,7214
Считается, что модель, которая вычисляет тональность текста с точностью в 70%, делает это так же хорошо, как и человек.
Информационная система была разработана на языке Python, с использованием библиотеки PySimpleGUI, и имеет простой и понятный интерфейс, удобный в использовании (рис. 9).
ЭЛЕМЕНТЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА В РЕШЕНИИ ЗАДАЧ АНАЛИЗА ТЕКСТОВ Катермина Т.С., Тагиров К.М., Тагиров Т.М.
4 Анализ тональности / Sentiment analysis _
Введите домен сообщества ВКонтакте комментарии к постам которого хотите проанализировать Enter the domain of the VKontakte community whose post comments you want to analyse Выберите основную тональность, по показателям которой комментарии будут выводится Select the basic tone by which the comments will be displayed Укажите количество постов для поиска Specify the number of posts to search for
Домен 1 / Domain 1 nvsulive_[( Тональное j^jf Count*
Домен 2 / Domain 2 Sentiment [countr
Если загрузка приостановлена, / If the download is paused, значит программа выполняет запросы парсинга means that the application is carrying out parsing requests
Сохранить в формате excel домен 1 / Save in excel format domain 1
Начать парсинг / Start parsing Отчистка / Cleaning
Рис. 9. Информационная система Fig. 9. Information system
В диалоговом окне пользователю предоставляется написать один или два домена сообщества социальной сети «ВКонтакте» выбрать основную тональность из пяти предложенных и количество анализируемых постов. Существует возможность сохранения анализа тональности сообщений в формате Excel.
ЗАКЛЮЧЕНИЕ
Создание искусственной нейронной сети для решения той или иной задачи, безусловно, творческий процесс. В статье были применены некоторые подходы к решению задачи многомерной классификации текстов. А именно к комментариям к постам сообщества социальной сети «ВКонтакте». Был получен достаточно хороший результат 71% точности классификации. Модель искусственной нейронной сети обучилась на определение тональности текста, распределяя комментарии по пяти классификациям:
• «позитивный» - текст с положительной окраской;
• «негативный» - текст с отрицательной окраской;
• «нейтральный» - текст без эмоциональной окраски;
• «пропущенный» - класс неопределенных сообщений;
• «речевой» - часто встречаемые разговорные фразы.
Разработан скрипт по автоматизации сбора комментариев из постов сообществ социальной сети «ВКонтакте». Данная информационная система внедряется в работу отдела маркетинга, при Бюджетном учреждении Нижневартовского строительного колледжа, для
своевременного предотвращения межнациональных и религиозных конфликтов, информация передается специалисту по связям с общественностью.
В качестве дальнейших направлений работы планируется дообучение модели для увеличения повышения точности определения тональности сообщений, а также применение предложенной информационной системы к другим социальным сетям.
Литература / References
1. Abbasi A., Javed A.R., Iqbal F. et al. Authorship identification using ensemble learning. Scientific Reports. 2022. No. 12 (1). DOI: 10.1038/s41598-022-13690-4.
2. Alibasic A., Upadhyay H., Simsekler M.C.E. et al. Evaluation of the trends in jobs and skill-sets using data analytics: A case study. Journal of Big Data. 2022. No. 9 (1). DOI: 10.1186/ s40537-022-00576-5.
3. Lee C.K.M., Kam K.H. Ng, Chun-Hsien Chen et al. Tiffany Tsoi, American sign language recognition and training method with recurrent neural network. Expert Systems with Applications. 2021. Vol. 167.
4. Khurshid S., Reeder C., Harrington L.X. et al. Cohort design and natural language processing to reduce bias in electronic health records research. Npj Digital Medicine. 2022. Vol. 5. No. 47. URL: https://doi.org/10.1038/s41746-022-00590-0
5. Ledro C., Nosella A., Vinelli A. Artificial intelligence in customer relationship management: Literature review and future research directions. Journal of Business and Industrial Marketing. 2022. No. 37 (13). Pp. 48-63. DOI: 10.1108/ JBIM-07-2021-0332.
ИСКУССТВЕННЫМ ИНТЕЛЛЕКТ И МАШИННОЕ ОБУЧЕНИЕ ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING
6. Li S., Wang G., Luo Y. Tone of language, financial disclosure, and earnings management: A textual analysis of form 20-F. Financial Innovation. 2022. No. 8 (1). DOI: 10.1186/s40854-022-00346-5.
7. Luo Z., Zhu M. Recurrent neural networks with mixed hierarchical structures for natural language processing. International Joint Conference on Neural Networks (IJCNN). 2021. Pp. 1-8. DOI: 10.1109/IJCNN52387.2021.9533347.
8. Mohd Usama, Belal Ahmad, Enmin Song et al. Attention-based sentiment analysis using convolutional and recurrent neural network. Future Generation Computer Systems. 2020. Pp. 571-578.
9. Nijhawan T., Attigeri G., Ananthakrishna T. Stress detection using natural language processing and machine learning over social interactions. Journal of Big Data. 2022. No. 9 (1). DOI: 10.1186/s40537-022-00575-6.
10. Orea-Giner A., Fuentes-Moraleda L., Villacé-Molinero T. et al. Does the implementation of robots in hotels influence the overall tripadvisor rating? A text mining analysis from the Industry 5.0 approach. Tourism Management. 2022. No. 93. DOI: 10.1016/j.tourman.2022.104586.
11. Riezler S., Hagmann M. Validity, reliability, and significance: Empirical methods for NLP and data science. Synthesis Lectures on Human Language Technologies. 2022. No. 14 (6). Pp. 1-147. DOI: 10.2200/S01137ED1V01Y202110HLT055.
12. Sherstinsky A. Fundamentals of Recurrent Neural Network (RNN) and Long Short-Term Memory (LSTM) network. Physica D: Nonlinear Phenomena. 2020. Vol. 404.
13. Turner R.J., Coenen F., Roelofs F. et al. Information extraction from free text for aiding transdiagnostic psychiatry: Constructing NLP pipelines tailored to clinicians' needs. BMC Psychiatry. 2022. No. 22 (1). DOI: 10.1186/s12888-022-04058-z.
14. Dankers V., Langedijk A., McCurdy K. et al. Generalising to German plural noun classes, from the perspective of a recurrent neural network. Proceedings of the 25th Conference on Computational Natural Language Learning. 2021. Pp. 94-108.
15. Zhang T., Schoene A.M., Ji S., Ananiadou S. Natural language processing applied to mental illness detection: A narrative review. Npj Digital Medicine. 2022. No. 5 (1). DOI: 10.1038/ s41746-022-00589-7.
Статья проверена программой Антиплагиат. Оригинальность - 87,37%
Рецензент: Казиахметов Т.Б., кандидат педагогических наук; доцент кафедры информатики и методики преподавания информатики, заведующий кафедрой информатики и методики преподавания информатики Нижневартовского государственного университета
Статья поступила в редакцию 18.05.2022, принята к публикации 22.06.2022 The article was received on 18.05.2022, accepted for publication 22.06.2022
СВЕДЕНИЯ ОБ АВТОРАХ
Катермина Татьяна Сергеевна, кандидат технических наук; доцент кафедры информатики и методики преподавания информатики Нижневартовского государственного университета. Ханты-Мансийский автономный округ - Югра, Тюменская область, Нижневартовск, Российская Федерация. Author ID: 659022; Scopus Author ID: 57160399700; Researcher ID: N-7840-2016; ORCID ID: 0000-0003-4637-8861; E-mail: [email protected]
Тагиров Кадир Межвединович, магистр; преподаватель Нижневартовского строительного колледжа. Ханты-Мансийский автономный округ - Югра, Тюменская область, Нижневартовск, Российская Федерация. E-mail: [email protected] Тагиров Тагир Межвединович, магистр; преподаватель Нижневартовского строительного колледжа. Ханты-Мансийский автономный округ - Югра, Тюменская область, Нижневартовск, Российская Федерация. E-mail: [email protected]
ABOUT THE AUTHORS
Tatyana S. Katermina, Cand. Sci. (Eng.); associate professor at the Department of Informatics and Methods of Teaching Informatics of the Nizhnevartovsk State University. Khanty-Mansi Autonomous Okrug - Yugra, Tyumen region, Nizhnevartovsk, Russian Federation. Author ID: 659022; Scopus Author ID: 57160399700; Researcher ID: N-7840-2016; ORCID ID: 0000-0003-4637-8861; E-mail: [email protected]
Kadir M. Tagirov, master; teacher at the Nizhnevartovsk Construction College. Khanty-Mansi Autonomous Okrug - Yugra, Tyumen region, Nizhnevartovsk, Russian Federation. E-mail: [email protected] Tagir M. Tagirov, master; teacher at the Nizhnevartovsk Construction College. Khanty-Mansi Autonomous Okrug - Yugra, Tyumen region, Nizhnevartovsk, Russian Federation. E-mail: [email protected]