Научная статья на тему 'АЛГОРИТМ КЛАСИФІКАЦІЇ ТЕКСТОВОГО КОНТЕНТУ СОЦІАЛЬНИХ МЕРЕЖ ДЛЯ ВИЗНАЧЕННЯ ЕМОЦІЙНОГО ТОНУ'

АЛГОРИТМ КЛАСИФІКАЦІЇ ТЕКСТОВОГО КОНТЕНТУ СОЦІАЛЬНИХ МЕРЕЖ ДЛЯ ВИЗНАЧЕННЯ ЕМОЦІЙНОГО ТОНУ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
9
1
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
алгоритм / емоційний тон / контент / класифікація / соціальна мережа / algorithm / emotional tone / content / classification / social network

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Н. І. Бойко, В. Ю. Михайлишин

В роботі наведено результати досліджень та порівняння результатів застосування наївного класифікатора Баєса з використанням простих словесних ознак та векторних моделей слів. Було проаналізовано методи та середовище дослідження, визначились з набором вхідних даних. Було проведено тренування класифікатора на обраному датасеті та оцінка його точності за допомогою функції classify.accuracy з бібліотеки nltk. Також протестовано класифікатор на власному тексті та визначали правильність класифікації. Було побудовано гістограму, яка наглядно показала кількість правильно класифікованих позитивних та негативних прикладів. Була виведена confusion matrix, яка дозволила оцінити точність класифікації для кожного класу. В експериментальній частині використовувалась векторна модель слів Word2Vec з бібліотеки gensim. Проводилось тренування класифікатора та оцінювалася його точність. Здійснено значне покращення точності в порівнянні зі спрощеним підходом. В роботі обговорювались питання використання векторних моделей слів для покращення результатів класифікації тексту. Вони дозволяють краще урахувати семантику та контекст тексту, що призводить до більш точних результатів. Проаналізовано, що точність класифікації залежить від датасету, особливостей текстів та використаних методів обробки даних. В дослідженні наведений оптимальний вибір методів та підхід до класифікації, які повинні враховувати конкретну задачу та контекст застосування. В роботі розглядалися векторні моделі слів, та використання більш складних моделей класифікації. Наводились фактори, що впливають на емоційний стан тексту. Було проведено оптимізацію параметрів моделей для досягнення кращих результатів. Було підтверджено в результаті проведених експериментів, ефективність наївного класифікатора Баєса та векторних моделей слів у задачі класифікації емоційного стану тексту.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

ALGORITHM FOR CLASSIFICATION OF TEXT CONTENT OF SOCIAL NETWORKS FOR DETERMINING EMOTIONAL TONE

The article presents the results of the research and a comparison of the results of the application of the naive Bayes classifier using simple verbal signs and vector word models. The research methods and environment were analyzed, and a set of input data was determined. A classifier is trained on the selected dataset and its accuracy is evaluated using the classify.accuracy function from the nltk library. The classifier was also checked on its own text and the correctness of the classification was determined. A histogram was constructed that visually showed the number of correctly classified positive and negative examples. A confusion matrix was derived, which made it possible to evaluate the classification accuracy for each class. In the experimental part, the vector word model Word2Vec from the gensim library was used. The classifier was trained and its accuracy was evaluated. A significant increase in accuracy is achieved compared to the simplified approach. The paper discussed the issue of using vector models of words to improve text classification results. They allow you to better take into accounIt was analyzed that the accuracy of the classification depends on the data set, the features of the texts, and the data processing methods used. Research provides an optimal choice of methods and an approach to classification, which must take into account the specific task and context of the application. The work considered vector models of words and the use of more complex classification models. Factors affecting the emotional state of the text are given. The model parameters were optimized to achieve better results. As a result of the conducted experiments, the effectiveness of the naive Bayesian classifier and vector word models in the task of classifying the emotional state of the text was confirmed.t the semantics and context of the text, which leads to more accurate results.

Текст научной работы на тему «АЛГОРИТМ КЛАСИФІКАЦІЇ ТЕКСТОВОГО КОНТЕНТУ СОЦІАЛЬНИХ МЕРЕЖ ДЛЯ ВИЗНАЧЕННЯ ЕМОЦІЙНОГО ТОНУ»

УДК 004.042 https://doi.Org/10.35546/kntu2078-4481.2023.2.18

Н. I. БОЙКО

кандидат економiчних наук, доцент, доцент кафедри систем штучного штелекту Нацюнальний ушверситет «^bBiBCbra полггехшка» ORCID: 0000-0002-6962-9363

В. Ю. МИХАЙЛИШИН

асистент кафедри систем штучного штелекту Нацюнальний ушверситет «Львiвська полггехшка» ORCID: 0000-0003-1889-9053

АЛГОРИТМ КЛАСИФ1КАЦ11 ТЕКСТОВОГО КОНТЕНТУ СОЦ1АЛЬНИХ МЕРЕЖ ДЛЯ ВИЗНАЧЕННЯ ЕМОЦ1ЙНОГО ТОНУ

В po6omi наведено результати до^джень та порiвняння peybmamie застосування на'1'вного класифкатора Баеса з використанням простих словесних ознак та векторних моделей слie. Було проаналгзовано методи та середовище до^дження, визначились з набором вхiдних даних. Було проведено тренування класифжатора на обраному дamaсemi та о^нка його mочносmi за допомогою функцП classify.accuracy з 6i6лiоmeки nltk. Також протестовано класифжатор на власному meксmi та визначали правильнкть класифкаци. Було побудовано гт-тограму, яка наглядно показала кшьюсть правильно класифжованих позитивних та негативних пpиклaдiв. Була виведена confusion matrix, яка дозволила о^нити точтсть класифжаци для кожного класу. В експериментальнш чaсmинi використовувалась векторна модель aniв Word2Vec з 6i6лiоmeки gensim. Проводилось тренування кла-сифшатора та оцiнювaлaся його точтсть. Здшснено значне покращення mочносmi в поpiвняннi зi спрощеним тдходом. В pо6оmi о6говорювались питання використання векторних моделей oaiв для покращення peзульmamiв клaсифiкaцii тексту. Вони дозволяють краще урахувати семантику та контекст тексту, що призводить до 6шьш точних peзульmamiв. Пpоaнaлiзовaно, що точтсть клaсифiкaцii залежить вiд датасету, осо6ливостей meксmiв та використаних мemодiв о6ро6ки даних. В до^джент наведений оптимальний ви6ip мemодiв та тд-хiд до класифжаци, ят повиннi враховувати конкретну задачу та контекст застосування. В pо6оmi розгля-далися векторы модeлi ^iв, та використання 6шьш складних моделей класифжаци. Наводились фактори, що впливають на емоцшний стан тексту. Було проведено оптимгза^ю пapaмempiв моделей для досягнення кращих peзульmamiв. Було тдтверджено в peзульmami проведених eкспepимeнmiв, ефективтсть на'1'вного клaсифiкamо-ра Баеса та векторних моделей oaiв у зaдaчi класифжаци емоцтного стану тексту.

Ключовi слова: алгоритм, емоцшний тон, контент, класифжащя, сощальна мережа.

N. I. BOYKO

Candidate of Economical Sciences, Associate Professor, Associate Professor at the Department of Artificial Intelligence Lviv Polytechnic National University ORCID: 0000-0002-6962-9363

V. YU. MYKHAILYSHYN

Assistant at the Department of Artificial Intelligence Lviv Polytechnic National University ORCID: 0000-0002-0060-2381

ALGORITHM FOR CLASSIFICATION OF TEXT CONTENT OF SOCIAL NETWORKS FOR DETERMINING EMOTIONAL TONE

The article presents the results of the research and a comparison of the results of the application of the naive Bayes classifier using simple verbal signs and vector word models. The research methods and environment were analyzed, and a set of input data was determined. A classifier is trained on the selected dataset and its accuracy is evaluated using the classify.accuracy function from the nltk library. The classifier was also checked on its own text and the correctness of the classification was determined. A histogram was constructed that visually showed the number of correctly classified positive and negative examples. A confusion matrix was derived, which made it possible to evaluate the classification accuracy for each class. In the experimental part, the vector word model Word2Vec from the gensim library was used. The classifier was trained and its accuracy was evaluated. A significant increase in accuracy is achieved compared to the simplified approach. The paper discussed the issue of using vector models of words to improve text classification results. They allow you to better take into account the semantics and context of the text, which leads to more accurate results.

It was analyzed that the accuracy of the classification depends on the data set, the features of the texts, and the data processing methods used. Research provides an optimal choice of methods and an approach to classification, which must take into account the specific task and context of the application. The work considered vector models of words and the use of more complex classification models. Factors affecting the emotional state of the text are given. The model parameters were optimized to achieve better results. As a result of the conducted experiments, the effectiveness of the naive Bayesian classifier and vector word models in the task of classifying the emotional state of the text was confirmed.

Key words: algorithm, emotional tone, content, classification, social network..

Постановка проблеми

На сьогодшшнш день сощальш мереж1 е неввд'емною частиною сучасного сустльства. Вони також е великою платформою для вираження сво!х емоцш та думок, комушкацп з шшими людьми, для реклами, маркетингових кампанш, розвитку бiзнесу, для формування спшьнот та тдтримки громадянських позицш, оргашзацп заход!в, полпичних дискусш тощо. Через це необхвдний аналiз ще! системи, i це можливо зробити через класифшащю текстового контенту вщ користувачiв, визначення !х емоцiйного тону [2, 6].

Неможливо недооцiнити важливiсть задачi класифшаци емоцiйного тону контенту, який публ!кують корис-тувачi в соцiальних мережах [3]. Це знаходить свое призначення у сферi реклами та маркетингу, сощальному монiторингу, аналiзi громадсько! думки, тощо.

Таким чином, аналiз настро!в користувачiв в соцiальних мережах е досить важливою темою сьогодення, тому як очевидним е те, що соцiальнi мереж! тiсно пов'язанi з бiзнесом, висловлюванням сво!х думок та позицш [1]. Вщповвдно, актуальним буде розгляд методiв, який допоможе в аналiзi соцiальних мереж.

В рамках ще! роботи розглядалися методи машинного навчання. Для дослвдження ще! теми обиралися р!зно-манiтнi рiшення:

- Метод опорних вектор!в (Support Vector Machines, SVM), який е потужним методом класифтацп, що шукае оптимальну гiперплощину для роздiлення двох клаав даних. Використання ядерних функцш дозволяе SVM пра-цювати з нелшшно роздшьними даними.

- Дерева ршень (Decision Trees) будуються на основ! сери роздшень, щоб класифiкувати даш. Дерева можуть бути розширеш до ансамбл1в, таких як випадковий лю (Random Forests) або град!ентний бустинг (Gradient Boosting), для полшшення точносп класифшаци.

- Ансамблев! методи поеднують дек1лька моделей, щоб отримати кращу загальну прогнозну точшсть. Наприклад, можна застосувати ансамбл!, так1 як голосування багатьох класиф!катор!в (Voting Classifier) для ана-л!зу настро!в користувач!в.

- На!вний баеав класифтатор (Naive Bayes classifier) е популярним методом для сентимент-анал!зу, який полягае в класифшацп текстових документа (у цьому випадку повщомлень з сощальних мереж) на позитивний, негативний або нейтральний сентимент. Його застосовують для класифшаци тексту, фшьтрацп спаму, класифша-ци зображень тощо.

Для подальшого досл1дження було обрано на!вний баеав класифтатор, так як вш найбшьше тдходить для роботи з великим обсягом даних, простий в реал1зацп та щеально штегруеться з метою досл1дження.

Головна !дея на!вного баесового класифтатора полягае в тому, що вш вважае вс ознаки незалежними одна ввд одно!. Це називаеться «на!вним» припущенням. Навпь якщо це припущення не завжди ввдповщае реальности на!вний баеав класифтатор часто показуе задовшьш результати в практичних застосуваннях, особливо коли маемо велик! обсяги даних [2, 7].

Задача на!вного баесового класифшатора полягае в призначенш категорп або класу до нового прикладу на основ! ймов!рностей. Конкретно, вш використовуе ймов!рносп атрибупв для класифшацп даних.

Основна щея полягае в обчисленш ймов!рностей, що ввдображають те, насшльки ймов!рно приклад належить до певного класу, враховуючи значения його атрибупв. Класифшатор обчислюе щ ймов!рносп на основ! навчаль-ного набору даних, де ввдом! мтки клаав для тренувальних приклад!в.

Аналiз останшх досл1джень i публiкацiй

Дане дослвдження е актуальним та мае новизну в декшькох аспектах. Враховуючи, що на!вний баеав класи-ф!катор е одним з найпростших та ефективних метод!в машинного навчання, новизна полягатиме в його засто-суванш саме до анал!зу настро!в користувач!в у сощальних мережах. Про що наголошують автори [7] в сво!х дослвдженнях.

В робот! [1] автором наголошуеться на важливосп виконуваного дослщження. Ця робота е вступним поаб-ником у галуз! анал!зу сощальних мед!а. Дане джерело пропонуе читачам основш концепци, методи та шстру-менти для анал1зу даних з сощальних мед!а. В робот! [1] можна знайти роздши, як1 присвячеш анал!зу настро!в у сощальних мед!а. Ця книга описуе застосування на!вного баесового класифшатора у контекст! анал1зу настро!в. Автори [1] обгрунтовують застосування на!вного баесового класифшатора, описують алгоритм його роботи, наво-дять переваги та недолши його застосування для анал1зу настро!в у текстових даних з сощальних мед!а.

В дослвдженш [2] наведене практичне застосування анал1зу даних з сощальних мереж. У цш книз1 [2] автор дшиться знаниями про зб1р, обробку та анал1з даних з популярних сощальних мереж, таких як Facebook, Twitter, LinkedIn та шших. Дослвдження присвячене анал1зу настро1в i сентименту в текстових даних сощальних мереж. У цих роздшах описуються методи машинного навчання, включно на1вний баeсiв класифiкатор, для виконання завдань аналiзу настро1в користувачiв.

В роботi [3] охоплюеться широкий спектр тем i методiв аналiзу настро1в. В ïï змiстi можна знайти докладний опис наïвного баесового класифтатора та його застосуваиия для аналiзу настроïв. Автор [3] пояснюе принципи роботи наïвного баесового класифшатора, його передумови та особливостi. Деяк роздiли книги включають при-клади коду або практичш рекомендацiï щодо використання на1вного баесового класифiкатора для аналiзу настро1в у текстових даних.

У rami [4] автор охоплюе широкий спектр методiв та пiдходiв до аналiзу настро1'в у тексп, включаючи такi теми, як аналiз емоцiй, класифiкацiя суб'ективних висловiв, аналiз думок та деяк1 приклади застосування цих метсдов. Джерело мiстить важливi концепци, методи та рекомендацiï для проведення аналiзу настро1'в, а також розглядае реальнi застосування в цш галузi. Також описаиi рiзнi методи машинного навчання, яш використову-ються для аналiзу настро1'в. Хоча конкретний метод нэдвного баесового класифiкатора не е центральною темою ще1' книги, автор знайомить читачiв з концепщею нэдвного баесового класифiкатора та включае його як один iз можливих методiв для виконання завдань аналiзу настро1в.

Отож, метою дослiдження е вивчення методу машинного навчання, ведомого як на1вний баесiв класифiкатор та використати його для аналiзу настро1в користувачiв в соцiальних мережах. Завдання дослвдження е застосування набору даних для проведення класифтацп за емоцшним тоном текстових поввдомлень користувачiв з соцi-альних мереж.

Об'ектом нашого дослщження е текстовий контент, що генерують користувачi в соцiальних мережах. Це можуть бути пости, коментарi, поввдомлення, вiдгуки або будь-як1 iншi форми текстових висловлювань.

Викладення основного MaTepiaiy дослiдження

Математична постановка задачi аналiзу соцiальних мереж для визначення настро1'в користувачiв може бути представлена у виглядi множини користувачiв N, множини можливих настро1'в M, вектор та матриця ознак для кожного користувача [5, 8].

Припустимо, що ми маемо набiр даних з N користувачiв, де кожен користувач мае асоцшований з ним вектор ознакX = (xi, Х2, ..., xt), де кожна ознака x може ввдображати, наприклад, ключовi слова, емоцшш iндикатори або iншi деталi повiдомлень користувача. Ми також маемо M можливих клаав настро1'в, позначимо 1'х як Ci, C2,..., Cm.

У математичнш постановцi задачi визначаються наступнi змiннi [9] :

- N - шльшсть користувачiв у соцiальнiй мереж1.

- M - шльшсть можливих настро1'в, яш можуть бути визначенi, наприклад, позитивний, негативний, нейтраль-ний i т.д.

- X - матриця розмiром N х M, де X[i, j] представляе настрш j-го користувача i-TOï соцiальноï мереж! Кожен елемент матрицi X вщповвдае настрою користувача на певному сощальному медiа.

Для розв'язання цiеï задачi можна використовувати наïвний баесiвський класифжатор, який е статистичним методом машинного навчання. Цей класифшатор базуеться на Баесовш теоремi та припущент про незалежнiсть ознак [9].

Для використання навного баесiвського класифiкатора вводяться наступнi ймовiрностi:

- P(C\X) - ймовiрнiсть того, що користувач належить класу C (настрою) при заданому векторi ознак X (повь домлення користувача).

- P(X\C) - ймовiрнiсть зустрiчi вектора ознакX(поввдомлення користувача) при заданому класi C (настрою).

- P(C) - апрюрна ймовiрнiсть класу C (настрою) без урахування жодних ознак.

- P(X) - апрiорна ймовiрнiсть вектора ознак X (повщомлення користувача) без урахування клаав.

Ймовiрнiсть P(C\X) обчислюеться за формулою Баеса (формула 1):

P(C\X)=(P(X\C)x P(C)) : P(X). (1)

Ймовiрнiсть P(X\C) визначаеться як добуток ймовiрностей P(Xj\C) для кожно1 ознаки xi вектора ознак X (повь домлення користувача).

Спектр настрою визначаеться на основi значень ймовiрностей P(C\X) для кожного класу C. Якщо ймовiрнiсть P(no3umuenuü\X) бiльша за ймовiрностi Р(негативнийЩ) i P(neümpaMbHuü\X), то настрш користувача вважаеться позитивним.

На1вний баесiв класифтатор припускае, що ознаки вхiдних даних незалежш м1ж собою, що дае можливють спростити обчислення умовних ймовiрностей [4].

Основа методу навного баеавського клaсифiкaторa полягае в припущеннi, що ознаки е незалежними одна вщ одно1', за винятком зaлежиостi ввд класу. Це спрощення дозволяе ефективно моделювати зaлежиостi м1ж ознаками та класами, зокрема у випадку велико!' шлькосп ознак.

Припустимо, ми маемо наб1р даних, що складаеться з вхвдних ознак X = (xi, x2, ..., x„), де кожна ознака пред-ставляе числове або категор1альне значення, i маемо цшьову змшну y, яку потр1бно класиф1кувати на основ1 цих ознак.

Метод на!вного баесового класифiкагора використовуе умовну ймовiрнiсть P(y\X), щоб призначити клас y для ноDcвих вхвдних даних X. За допомогою Баесово! теореми, ця умовна ймовiрнiсгь може бути виражена як (Формула 2):

P(y\X)=(P(X\y)x P(y)) : P(X), (2)

де P(Xy) - умовна ймовiрнiсть вхвдних ознак X при заданому клас y, P(y) - апрiорна ймовiрнiсть класу y, P(X) -марпнальна ймовiрнiсть вхвдних ознак X [13, 5].

Припущення про наíвнiсть полягае в тому, що вс ознаки X вважаються незалежними м1ж собою при заданому клаа y. Це припущення спрощуе обчислення умовно! ймовiрностi P(X\y) i дозволяе представити його у виглядi добутку умовних ймовiрностей кожно! окремо! ознаки.

Застосовуючи цей метод, ми можемо обчислити ймовiрностi для кожного класу y i призначити новим вх1дним даним клас з найвищою ймовiрнiстю.

Щоб покращити роботу на!вного баесового класифiкатору, можна застосувати деяк1 з способiв:

- Використання незалежних на!вних баесових класифiкаторiв: замiсть припущення про незалежнiсть ознак, слад використовувати незалежнi наíвнi баесовi класифiкатори, де кожна ознака розглядаеться окремо.

- Присвоення ваг або значимосп кожнiй ознацi на основi ii впливу на класифiкацiю. Це може бути зроблено, наприклад, за допомогою використання TF-IDF (Term Frequency-Inverse Document Frequency), де ознаки, як часто зус^чаються в документ^ але не часто в шших документах, отримують вищi ваги. Формула для обчислення ваги ознаки мае вигляд (формула 3):

weight (xi)=TF(xi) х IDF(x), (3)

де TF(xt) - частота ознаки x в документ^ IDF(xt) - зворотна частота ознаки x в корпус документiв.

Згладжування Лапласа дозволяе бiльш реалiстично оцшити ймовiрностi ознак i допомагае покращити роботу на!вного баесового класифiкатора, особливо в випадках, коли маемо обмежену кiлькiсть даних. Уявимо, що деяка ознака не з'явилася у тренувальному наборi даних для певного класу, то умовна ймовiрнiсть ще! ознаки для цього класу буде рiвна нулю. Це може спричинити проблеми при подальшому обчисленнi ймовiрностей. Згладжування Лапласа вводить маленьку константу (зазвичай 1) до кiлькостi спостережень кожно! ознаки для кожного класу, забезпечуючи, що нульових ймовiрностей не виникае.

Формула для обчислення умовно! ймовiрностi ознаки x для певного класу y з використанням згладжування Лапласа виглядае наступним чином (формула 4):

P(x\y)=( N++1)/(N+K), (4)

де N - шльшсть спостережень ознаки x у клаа y, N - загальна кiлькiсть спостережень у класi y, K - загальна к1льк1сть можливих значень ознаки x [2, 5].

Вщповвдно, математична модель для аналiзу соцiальних мереж з метою визначення настро!в користувачiв може бути наступною:

1. Множина користувачiв: позначимо множину користувачiв як U = {ui, u2, ..., unj, де n - загальна шльшсть користувачiв.

2. Множина повщомлень: позначимо множину повщомлень, як1 розмiщують користувачi в соцiальнiй мереж1, як M = {mi, m2, ..., mmj, де m - загальна шльшсть повщомлень.

3. Настро! користувачiв: кожен користувач u мае свiй настрш, який може бути позитивним, негативним або нейтральним. Позначимо множину настро!в як S = {positive, negative, neutral}.

4. Ознаки поввдомлень: для кожного повщомлення mj визначимо набiр ознак, як1 можуть бути використаш для визначення настрою. Нехай F = {fi, f2, ..., fk} буде множина ознак, де k - загальна шльшсть ознак.

5. Матриця ознак: створимо матрицю X розмiром n х k, де кожен рядок ввдповщае користувачу, а кожний стовпчик вiдповiдае ознацi. Кожен елемент Xtj матрицi представляе значення ознаки f для користувача ut.

6. Класифтатор: Використовуемо на!вний баесiв класифжатор для класифжацп настро!в користувачiв на основi !х пов1домлень. Припустимо, що P(y) е апрiорною ймовiрнiстю настрою y, а P(xj\y) е умовною ймовiрнiстю ознаки f при настро! y. Класифiкацiя здiйснюеться на основi формули Байеса (формула 5):

P(y\X)=P(y)x P(xi\y)/P(X), (5)

де P(y\X) - умовна ймовiрнiсть настрою y при використанш набору ознакX, P(y) - апрюрна ймовiрнiсть настрою y, P(xj\y) - умовна ймовiрнiсть ознак, P(X) - ймовiрнiсть набору ознакX.

7. КласифЛкащя настро!в: на основ! отримано! умовно! ймовЛрносп P(y\X), класифЛкуемо настро! користува-чЛв на позитивний, негативний або нейтральний.

8. Оцшка точности для оцшки точностЛ класифЛкаци можна використовувати метрики, так! як точшсть, вЛд-новлення та F-мiру.

Ця математична модель дозволяе аналЛзувати сощальш мережЛ з метою визначення настро!в користувачЛв на основ! !х повЛдомлень. Застосування на!вного баесового класифЛкатора дозволяе здшснити класифЛкацш настро!в з використанням ймовЛршсних моделей.

Для аналЛзу було обрано набЛр даних Sentiment Analysis on Twitter. Цьому вибору посприяло ряд причин:

• Доступшсть.

Sentiment Analysis on Twitter е широко вЛдомим та легко доступним датасетом, який можна знайти онлайн. ВЛн використовуеться у багатьох дослвдженнях та проектах з аналЛзу настро!в, що дозволяе отримати доступ до рЛзно-маштних ресурав та пЛдходЛв, пов'язаних з цим датасетом.

• РозмЛчеш дан!.

Датасет мЛстить твгти, як1 були розмЛчеш на позитивш, негативш або нейтрально Це значно полегшуе роз-робку та тренування моделей аналЛзу настро!в, оскшьки Лснують вже готов! мтки настрою для навчання та оцшки ефективносп моделЛ.

• Репрезентатившсть.

Twitter е популярною сощальною мережею, де користувачЛ активно висловлюють сво! думки, враження та емоцп. Тому аналЛз настро!в на основ! твтв дозволяе отримати значим! шсайти щодо думок та настрою групи користувачЛв.

Цей датасет мютить в собЛ 10000 ушкальних твтв та 3 категори. ВЛн мае шформацш, який з настро!в (позитивний, негативний або нейтральний) притаманний цьому твпу, та його ID.

Таблиця 1

Категори твтв датасету Sentiment Analysis on Twitter

Назва поля Тип Опис

Tweet ID Integer Мютить цифровий щентифжатор поста в сощальнш мережЛ Твптер.

Sentiment String Оцшка емоцшного тону тексту, що написав користувач.

Tweet content String ЗмЛст самого текстового повщомлення вЛд користувача.

Для подальшого аналЛзу потрЛбно здшснити перетворення тексту в числовий вектор, який можна використовувати для навчання моделей машинного навчання. Це може бути досягнуто за допомогою методЛв, таких як TF-IDF (term frequency-inverse document frequency) або векторизацп слЛв на основ! Word2Vec чи GloVe.

Загалом, наведен! методи попередньо! обробки даних можуть збшьшити якють та достовЛршсть даних, покра-щити ефектившсть моделей та зробити !х бшьш стшкими до шуму та випадкових варЛацш у вхЛдних даних.

Для початку, натренуемо наш класифЛкатор, на обраному нами датасет!, та дЛзнаемось наскЛльки вЛн точний. Для оцшки точностЛ використаемо classify.accuracy з бЛблютеки nltk, виведемо цю точшсть в консоль (рис. 1), та для наглядносл прокласифшуемо текст, написаний нами. Результат представлений на рис. 2.

Accuracy: В.7В46666666666667 I love this product! : Positive

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Рис. 1. Точшсть класифшатора

cjstom_tweet = ' ve t pr-.Jj.i'

eustoiookens = renotfe_MiseC»or(i_ti)keni;e[cjsttnit_tweet)]

print(custom_tweetr ":", classifier.classify(dietf[token, True] for token in custom_tokens)))

Рис. 2. Приклад коду до представлених результат

Результати досить точш, можна помггати, що коментар "I love this product!", був визначений як позитивний, що е правильним.

ДалЛ, на основ! тестувальних даних, побудуемо пстограму, в якш покажемо, скшьки результапв було правильно визначеш як позитивш, та скЛльки результата було правильно визначено як негативш, покажемо пстограму за допомогою matplotlib, а данЛ для не! пЛдготуемо за допомогою написано! функцп, функцЛю наведемо нижче (рис. 3):

def calculate_accuracy (¡refejre^^ £j^ed^ctedLsejt, sentient):

correct = [tweet for tweet in predicted_set If tweet[l] == sentiment] accu^acj; = lenfcorrect) / len(reference_set) * 1QQ return accuracy

Рис. 3. Код для пошуку результапв виконання ввдносно емоцiй

Далi виведемо саму пстограму, побудовану за допомогою matplotlib (рис. 4):

Sentiment Analysis Accuracy

m

Рис. 4. ricTorpaMa T04H0CTi класифшатора вiдносно емоци, яку вш передбачае

Виведемо також confusion matrix (рис. 5), для наших даних, ця матриця е iнструментом для оцiнки точностi моделi класифжаци. Вона допомагае визначити, як добре модель працюе у вщношенш розпiзнавання рiзних клаСв.

У матрицi переконань можна побачити чотири основш значения:

- True Positive (TP): Юльшсть прикладiв, для яких модель правильно передбачила позитивний клас.

- True Negative (TN): Кiлькiсть прикладiв, для яких модель правильно передбачила негативний клас.

- False Positive (FP): Кшьшсть приклащв, для яких модель неправильно передбачила позитивний клас (тобто вказала наявшсть позитивного класу, хоча його немае).

- False Negative (FN): Кшьшсть приклащв, для яких модель неправильно передбачила негативний клас (тобто вказала наявшсть негативного класу, хоча його немае).

Тому важливо також показати И, для бшьшого розумшня отримання результата.

Рис. 5. Матриця переконань для пашою класифжатора

Спробуемо покращити результати нашо! моделi, для цього використаемо векторну модель слiв (Word Embeddings) замiсть простого пiдходу з використанням словесних ознак.В цьому випадку, ми будемо використо-вувати модель ств Word2Vec, з бiблiотеки gensim.

Натренуемо знову наш класифiкатор, та дiзнаемось наск1льки наш класифiкатор точний (рис. 6).

Accuracy: В.827Б I love this product! : Positive

Рис. 6. Точшсть класифжатора та написаний нами текст, навпроти нього його змкт

Можна помггати, що точшсть значно зросла, що може вказувати на те, що використання векторних моделей слiв, значно покращуе результати. Виведемо ще гiстограму, для вiзуалiзацii точностi вiдносно класiв (рис. 7).

Sentiment Analysis Accuracy

m

Рис. 7. Пстограма точност класифшатора вiдносно емоцп, яку вш передбачае

Висновки

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

Пiд час тренування нашого класифтатора з використанням на1вного класифiкатора Баеса, ми використали датасет з мигами клаСв (позитивний або негативний) для навчання моделi. Кожен текст (коментар) у датасеп розбиваеться на окремi слова, i знаходяться частоти появи кожного слова у позитивних i негативних текстах. Для класифшацп нового тексту модель використовуе отриманi ймовiрностi та формулу теореми Баеса для обчислення ймовiрностi належностi тексту до позитивного або негативного класу.

Шсля навчання класифтатора, ми оцiнюемо його точшсть, використовуючи функцiю classify.accuracy з бiблi-отеки NLTK. Ця функция порiвнюе передбаченi мiтки класу з фактичними мiтками у тестовому наборi даних i обчислюе вiдсоток правильно класифжованих прикладiв.

Для вiзуалiзацil шлькосп правильно класифiкованих позитивних i негативних прикладiв побудували пс-тограму. Для цього ми використовуемо бiблiотеку Matplotlib та готуемо данi за допомогою власно! написано! функцii.

Confusion matrix е шструментом для оцiнки точносп моделi класифiкацii. Вона надае шформацш про кшь-к1сть правильно i неправильно класифiкованих прикладiв для кожного класу. У матриц переконань е чотири зна-чення: TP, TN, FP i FN, як1 дозволяють оцiнити ефективнiсть моделi у розшзнаванш рiзних класiв.

В наступнiй частиш експерименту ми використовуемо векторну модель ^в (Word Embeddings), зокрема модель Word2Vec з бiблiотеки Gensim. Векторна модель слiв дозволяе представити слова у векторному простор^ враховуючи семантичш залежностi мiж ними. Ми повторюемо той самий процес тренування та оцшки точностi, використовуючи цю векторну модель ^в.

Точнiсть класифiкатора з використанням векторно! моделi слiв значно зросла порiвняно з попереднiм тдхо-дом. Це може сввдчити про те, що використання векторних моделей ^в дозволяе краще врахувати семантику та контекст тексту, що сприяе покращенню точностi класифiкацii.

Загалом, експеримент показуе, що використання навного класифтатора Баеса в поеднаннi з векторними моделями ^в може покращити результати класифшацп тексту. Однак, для досягнення ще кращих результатiв можуть бути застосованi iншi методи або оптимiзацil, наприклад, використання бiльш складних моделей класифiкацii або врахування шших факторiв, якi можуть впливати на емоцшний стан тексту.

Список використаноТ лiтератури

1. Pang B., Lee L., Vaithyanathan S. Thumbs up: sentiment classification using machine learning techniques. Proceedings of the ACL 2002 Conference on Empirical Methods in Natural Language Processing. Vol. 10. Association for Computational Linguistics. 2002. Pp. 321-342.

2. Maas A.L., Daly R.E., Pham P.T., Huang D., Ng A.Y., Potts C. Learning Word Vectors for Sentiment Analysis. The 49th Annual Meeting of the Association for Computational Linguistics. ACL 2011. 2011. Pp. 23-36.

3. Rennie J.D. Tackling the poor assumptions of naive bayes text classifiers. Machine Learning-International Workshop then Conference. 2003.Vol. 20(2). Pp. 56-62.

4. Tseng C., Patel N., Paranjape H., Lin T. Y., Teoh S. Classifying twitter data with naive bayes classifier. IEEE International Conference on Granular Computing. 2012. Pp. 89-101.

5. EstiviU-Castro V., Lee I. Amoeba: Hierarchical clustering based on spatial proximity using Delaunay diagram. 9th Intern. Symp. on spatial data handling, Beijing, China. 2000. Pp. 26-41.

6. Guo D., Peuquet D.J., Gahegan M. ICEAGE: Interactive clustering and exploration of large and high-dimensional geodata. Geoinformatica. 2003. Vol. 3. N. 7. Pp. 229-253.

7. Harel D., Koren Y. Clustering spatial data using random walks. Proc. of the 7th ACM SIGKDD Intern. conf. on knowledge discovery and data mining, San Francisco, California. 2000. Pp. 281-286.

8. Boyko N., Pylypiv O., Peleshchak Yu., Kryvenchuk Yu., Campos J. Automated Document Analysis for Quick Personal Health Record Creation. The 2 nd International Workshop on Informatics & Data-Driven Medicine (IDDM 2019). Lviv, Ukraine, November 11-13. 2019. Vol. 1. Pp. 208-221.

9. Yakovyna V., Peleshchyshyn A., Albota S. Discussions of wikipedia talk pages: Manipulations detected by lingual-psychological analysis, CEUR Workshop Proceedings. 2019. Vol. 2392. Pp. 309-320.

References

1. Pang, B., Lee, L., Vaithyanathan, S. (2002). Thumbs up?: sentiment classification using machine learning techniques. Proceedings of the ACL 2002 Conference on Empirical Methods in Natural Language Processing. Vol. 10. Association for Computational Linguistics, 321-342 [in English].

2. Maas, A.L., Daly, R.E., Pham, P.T., Huang, D., Ng, A.Y., Potts, C. (2011). Learning Word Vectors for Sentiment Analysis. The 49th Annual Meeting of the Association for Computational Linguistics. ACL 2011, 23-36 [in English].

3. Rennie, J.D. (2003). Tackling the poor assumptions of naive bayes text classifiers. Machine Learning-International Workshop then Conference, 20(2), 56-62 [in English].

4. Tseng, C., Patel, N., Paranjape, H., Lin, T. Y., Teoh, S. (2012). Classifying twitter data with naive bayes classifier. IEEE International Conference on Granular Computing, 89-101 [in English].

5. Estivill-Castro, V., Lee, I. (2000). Amoeba: Hierarchical clustering based on spatial proximity using Delaunay diagram. 9th Intern. Symp. on spatial data handling, Beijing, China, 26-41 [in English].

6. Guo, D., Peuquet, D.J., Gahegan, M. (2003). ICEAGE: Interactive clustering and exploration of large and high-dimensional geodata. Geoinformatica, 3(7), 229-253 [in English].

7. Harel, D., Koren, Y. (2000). Clustering spatial data using random walks. Proc. of the 7th ACM SIGKDD Intern. conf. on knowledge discovery and data mining, San Francisco, California, 281-286 [in English].

8. Boyko, N., Pylypiv, O., Peleshchak, Yu., Kryvenchuk, Yu., Campos, J. (2019). Automated Document Analysis for Quick Personal Health Record Creation. The 2 nd International Workshop on Informatics & Data-Driven Medicine (IDDM 2019), Lviv, Ukraine, November 11-13, 1, 208-221 [in English].

9. Yakovyna, V., Peleshchyshyn, A., Albota, S. (2019). Discussions of wikipedia talk pages: Manipulations detected by lingual-psychological analysis, CEUR Workshop Proceedings, 2392, 309-320 [in English].

i Надоели баннеры? Вы всегда можете отключить рекламу.