Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter

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

Повний опис

Збережено в:
Бібліографічні деталі
Дата:2014
Автори: Глибовець, А.М., Гонтар, М.А.
Формат: Стаття
Мова:Ukrainian
Опубліковано: Інститут програмних систем НАН України 2014
Назва видання:Проблеми програмування
Теми:
Онлайн доступ:https://nasplib.isofts.kiev.ua/handle/123456789/113602
Теги: Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
Назва журналу:Digital Library of Periodicals of National Academy of Sciences of Ukraine
Цитувати:Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter / А.М. Глибовец, М.А. Гонтар // Проблеми програмування. — 2014. — № 4. — С. 15-25. — Бібліогр.: 6 назв. — укр.

Репозитарії

Digital Library of Periodicals of National Academy of Sciences of Ukraine
id nasplib_isofts_kiev_ua-123456789-113602
record_format dspace
spelling nasplib_isofts_kiev_ua-123456789-1136022025-02-23T18:59:05Z Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter Development of Web-prototype for analysis of statements in social network Twitter Глибовець, А.М. Гонтар, М.А. Програмування для комп’ютерних мереж та Internet Описано розроблений програмний прототип статистичного аналізу висловлювань у соціальних мережах з попереднім фільтруванням висловлювань неінформативного характеру, відбором характеристичних слів і використанням наївного байєсового класифікатору з машинним навчанням для аналізу суджень користувачів. 2014 Article Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter / А.М. Глибовец, М.А. Гонтар // Проблеми програмування. — 2014. — № 4. — С. 15-25. — Бібліогр.: 6 назв. — укр. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/113602 004.42 uk Проблеми програмування application/pdf Інститут програмних систем НАН України
institution Digital Library of Periodicals of National Academy of Sciences of Ukraine
collection DSpace DC
language Ukrainian
topic Програмування для комп’ютерних мереж та Internet
Програмування для комп’ютерних мереж та Internet
spellingShingle Програмування для комп’ютерних мереж та Internet
Програмування для комп’ютерних мереж та Internet
Глибовець, А.М.
Гонтар, М.А.
Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
Проблеми програмування
description Описано розроблений програмний прототип статистичного аналізу висловлювань у соціальних мережах з попереднім фільтруванням висловлювань неінформативного характеру, відбором характеристичних слів і використанням наївного байєсового класифікатору з машинним навчанням для аналізу суджень користувачів.
format Article
author Глибовець, А.М.
Гонтар, М.А.
author_facet Глибовець, А.М.
Гонтар, М.А.
author_sort Глибовець, А.М.
title Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
title_short Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
title_full Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
title_fullStr Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
title_full_unstemmed Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter
title_sort розробка web-прототипу для аналізу висловлювань користувачів соціальної мережі twitter
publisher Інститут програмних систем НАН України
publishDate 2014
topic_facet Програмування для комп’ютерних мереж та Internet
url https://nasplib.isofts.kiev.ua/handle/123456789/113602
citation_txt Розробка Web-прототипу для аналізу висловлювань користувачів соціальної мережі Twitter / А.М. Глибовец, М.А. Гонтар // Проблеми програмування. — 2014. — № 4. — С. 15-25. — Бібліогр.: 6 назв. — укр.
series Проблеми програмування
work_keys_str_mv AT glibovecʹam rozrobkawebprototipudlâanalízuvislovlûvanʹkoristuvačívsocíalʹnoímerežítwitter
AT gontarma rozrobkawebprototipudlâanalízuvislovlûvanʹkoristuvačívsocíalʹnoímerežítwitter
AT glibovecʹam developmentofwebprototypeforanalysisofstatementsinsocialnetworktwitter
AT gontarma developmentofwebprototypeforanalysisofstatementsinsocialnetworktwitter
first_indexed 2025-11-24T12:16:56Z
last_indexed 2025-11-24T12:16:56Z
_version_ 1849674030813020160
fulltext Програмування для комп’ютерних мереж та Internet © А.М. Глибовець, М.А. Гонтар, 2014 ISSN 1727-4907. Проблеми програмування. 2014. № 4 15 УДК 004.42 А.М. Глибовець, М.А. Гонтар РОЗРОБКА WEB-ПРОТОТИПУ ДЛЯ АНАЛІЗУ ВИСЛОВЛЮВАНЬ КОРИСТУВАЧІВ СОЦІАЛЬНОЇ МЕРЕЖІ TWITTER Описано розроблений програмний прототип статистичного аналізу висловлювань у соціальних мере- жах з попереднім фільтруванням висловлювань неінформативного характеру, відбором характеристич- них слів і використанням наївного байєсового класифікатору з машинним навчанням для аналізу су- джень користувачів. Вступ Соціальні мережі (CМ) – надзви- чайно цікавий об’єкт дослідження, що від- криває широкі можливості аналізу соціа- льної взаємодії між людьми, прогнозуван- ня їх поведінки, класифікації та типології соціальної поведінки, моделювання інфо- рмаційних потоків у мережах, розвитку бізнес проектів. CМ – це ідеальний експе- риментальний майданчик для вивчення соціальної поведінки людей, апробації те- хнологій впливу та реклами, просування сучасних бізнес проектів [1, 2]. Розвиток CМ поставив питання про аналіз даних, якими вони наповнені. Актуальність проблеми аналізу уподобань користувачів полягає у тому, що, вивчивши їх уподобання, на основі даних CМ можна здійснити моделювання соціальних, економічних та політичних процесів та створювати нові сервіси, біз- нес рішення, програмні продукти. Однак, на сьогоднішній день, не існує готових програмних рішень, що до- зволять аналізувати висловлювання кори- стувачів соціальних мереж. Немає чітких критеріїв та підходів до аналізу вислов- лювань у контексті соціальних мереж. Тут ми опишемо основні характе- ристики програмної реалізації розроблено- го нами прототипу, який дозволяє автома- тично збирати та аналізувати висловлю- вання користувачів соціальних мереж у режимі реального часу з застосуванням попереднього фільтрування висловлювань користувачів, які дозволили зменшити об- сяг неінформативних висловлювань та застосування наївного баєсівського класи- фікатора з машинним навчанням для пер- винного аналізу повідомлень і викорис- тання експертного навчання для покра- щення ефективності аналізатора. Практичне застосування прототипу системи аналізу висловлювань можна уя- вляти по різному, на нашу думку, кінце- вий користувач – це хтось з області мар- кетингу, реклами тощо. Для зазначених працівників, важливо отримати легкий, простий та зрозумілий інтерфейс корис- тування платформою. Для кращого зро- зуміння їхніх потреб та психології мис- лення, було проведено багато зустрічей з представниками знаних фірм, які б хотіли користуватись такою аналітичною плат- формою. Звісно ж, що їх цікавила інфор- мація про позитивні відгуки щодо своєї компанії та негативні щодо компаній- конкурентів. Проаналізовано вимоги майбутніх користувачів та сформульовано список вимог до прототипу користувача. Останній хотів мати можливість: ● переглядати та видаляти існуючі завдання за аналізом; ● зазначити назву завдання, короткий опис, умови відбору висловлювань до за- вдання при створенні; ● переглядати вибірку висловлювань що потрапила до завдання, при цьому ко- жне висловлювання має містити інформа- цію про дату публікації, користувача, а також оцінку (позитивна, негативна); ● змінювати оцінку висловлювання, при цьому, оцінка повинна мати інше візу- альне забарвлення для кращої ідентифіка- ції оцінки системи та експерта; Програмування для комп’ютерних мереж та Internet 16 ● переглядати загальну статистичну інформацію за аналізом завдання – кіль- кість позитивних, негативних висловлю- вань (з можливістю переходу до них); ● з легкістю проглядати висловлю- вання; ● фільтрувати висловлювання за оці- нкою; ● мати захищений доступ до системи. Проаналізувавши вимоги, можна зробити висновок, що інтерфейс користу- вача не має бути складним у реалізації, проте аналітична система все ж потребує складних архітектурних рішень в основі. Правильно спроектованою, вона зможе надати швидкий та легкий доступ корис- тувачам. 1. Архітектура прототипу Для збереження статистичних да- них необхідно обрати сховище. На дано- му етапі, як сховище розглядалась реля- ційна і нереляційна бази даних. Перш за все, слід оцінити, які можливі сутності передбачатимуть статистичні дані, а потім проаналізувати їх та обрати найкращу систему керуванння даними, можливо комбінований підхід. Проектування сутностей та вибір RDMS. Отже, перш за все, потрібен засіб для роботи користувача аналітичної плат- форми. Сутність «користувач» (User) буде відносно відокремленою від загальної мо- делі і не впливатиме на аналіз, вона потрі- бна лише для аутентифікації, підтриму- вання сесії Web-додатку та позначення завдання (хто його власник). Для сутності, достатньо полів, у яких будемо за- пам’ятовувати унікальне ім’я, закодований пароль та інформацію про стан облікового запису. Для збереження проміжних даних про висловлювання, потрібна сутність «висловлювання» (Tweet), з інформацією про висловлювання, дату публікації та ко- ристувача, що опублікував його. Така сут- ність є абсолютно незалежною і не потре- бує реляційної бази даних (DB). При первинному аналізі висловлю- вання, будемо розкладати його на слова. Звідси, необхідна сутність «слово» (Word), що характеризуватиме унікальне слово. Варто зазначити, що «слова» не потребу- ють залежності з сутністю «висловлюван- ня», оскільки це не є необхідністю, «сло- ва» використовуватимуться лише для їх пошуку серед різних оцінок. Оскільки користувач платформи за- хоче створювати унікальні завдання, пот- рібно ввести поняття «завдання» (Job), що зможе описати суть завдання – його назву, короткий опис, а також критерій для філь- трування висловлювань. Однозначно, що в кожного завдання має бути власник – «ко- ристувач». Сутність «завдання» буде інте- гровано в модель аналізу, що накладає пе- вні обмеження – тісний реляційний зв’язок з іншими моделями. Для оцінювання висловлювання, введемо поняття «оцінка» (Mark), що ма- тиме опис оцінки, а також унікальний іде- нтифікатор. Для об’єднання всіх понять у ре- ляційній моделі, потрібно ввести дві до- даткові реляційні сутності – «аналіз» (Analysis) та «слова в аналізі» (Words In Analysis). Кожна з сутностей має об’єднати унікальні ідентифікатор інших сутностей, щоб задовольнити головну ви- могу для кожного «завдання», кожне «ви- словлювання» повинно мати оцінку та по- силання на набір «слів», що зустрічаються у «висловлюваннях». Перевага в нереляційному підході полягає у можливості ефективного збере- ження великих обсягів даних і виграшу в швидкодії при їх обробці. Проте, для на- шої задачі, не всю модель потрібно зберег- ти в нереляційній базі, оскільки більшість сутностей потребують зв’язків між собою. Єдине, що можна відокремити від іншої моделі – це вибірка висловлювань («тві- тів»), все інше, тобто «оцінки», «завдан- ня», «слова» тощо, потрібно якось реля- ційно поєднати (рис. 1). Реляційний підхід має основний не- долік – ефективність зчитування/запису при великих навантаженнях. Проте, його можна компенсувати заощадливими і не- частими обчисленнями. А от, збереження Програмування для комп’ютерних мереж та Internet 17 Рис. 1. Модель реляційної бази даних для збереження статистичних даних статистичних даних до неструктуровано- го нереляційного сховища важко компе- нсувати взагалі. Тому ми обрали реляцій- ну модель на основі MySQL RDMS плат- форми. Взаємодія прототипу з BD- платформою. Оскільки висловлювання будуть попередньо опрацьовуватись ін- шою платформою, то потрібно налагодити зв’язок між прототипом та такою платфо- рмою. Обрана BD-платформа Cloudera, має інтегрований сервіс швидкого пошуку Apache Solr, що має реалізований REST-ful Web-інтерфейс у форматах JSON/XML, який дозволяє з легкістю налагодити спіл- кування клієнт-сервер (рис. 2). На схемі можна розгледіти сервер прототипу аналі- тичної платформи Social Glutton (виступає як клієнт), Cloudera Server – BD платфор- ма, яка зберігатиме всі висловлювання соціальних мереж та Twitter Server – сер- вер соціальної мережі. Варто додати, що спілкування через REST інтерфейс у такій моделі є виправ- даним, оскільки задача не потребує спіл- куватись в режимі реального часу зі схо- вищем всіх висловлювань. Навпаки, необ- хідно використати техніку синхронізації, що зменшить навантаження на централь- ний сервер-сховище. Синхронізацію, як таку, варто проводити у визначені інтерва- ли часу, в залежності від пріоритетності завдання. Схема спілкування центрального сервера та сервера соціальної мережі опи- сана в [2]. Програмування для комп’ютерних мереж та Internet 18 Налаштування системи розподі- леного опрацювання та збереження ви- словлювань. Для налаштування Cloudera, необхідно вирішити проблему місце роз- ташування сервера. Ідеальний варіант – відокремити його та забезпечити безпере- бійну досяжність у мережі. Cloudera передбачає можливість вирішення даної проблеми двома способа- ми: розгорнути платформу в хмарному середовищі AWS, розгорнути платформу на Linux RedHat. Перший варіант є ідеальним, та, на жаль, його не вдалось реалізувати із-за високої платіжної ставки компанії Amazon. Безкоштовний та пробний варіант викори- стання хмарного середовища AWS надає занадто мало ресурсів для безперебійної роботи платформи Cloudera. Отже, довелось розгортати платфо- рму в середовищі Linux RedHat. Після встановлення всіх необхід- них компонентів, можна керувати систе- мою через панель управління Cloudera Manager (рис. 3). Варто додати, що платформа на- лаштована з такими системними ресур- сами: ● потужність процесора – 2.2 GHz (Intel Core i7); ● обсяг оперативної пам’яті (RAM) – 4096 MB; ● обсяг пам’яті жорсткого диску (HDD) – 64 GB. Не зважаючи на те, що Cloudera – це платформа для розподілених обчислень, вона була налаштована в «псевдо- розподіленому» режимі, тобто в режимі одного кластера-точки. Додати ще декіль- ка точок і масштабувати платформу не важко, але це потребує більше фізичних ресурсів. Робота в режимі однієї точки не відзначається високою продуктивністю і надійністю, проте в умовах даної задачі є абсолютно самодостатньою. Встановлення додаткових ком- понентів. Під час запуску сервера, Cloudera автоматично запускає сервіси першої необхідності, хоча необхідні для синхронізації з соціальною мережею сер- віси виявились відсутніми. Необхідно додатково встановити і запустити Apache Solr, що використовується для швидкого пошуку по базі даних, та Flume, що вико- ристовується для потокової Twitter- інтеграції. Для того, щоб запустити процес по- токового скачування «твітів», необхідно перш за все зареєструватись розробником соціальної мережі Twitter. Далі, необхідно створити свій додаток, щоб отримати уні- кальний API ключ, що дозволить викорис- товувати Twitter API. Маючи унікальний ключ розробни- ка та API ключ, можна налаштувати сервіс потокового скачування «твітів». Для цього потрібно описати модель даних, що будуть приходити з іншого боку «труби» і надати необхідні ключі. Після того як модель додано, запуск Flume з ключами виглядає так: flume-ng-agent start [CONSUMER_KEY] [CONSUMER_SECRET] [ACCESS_TOKEN] [ACCESS_TOKEN_SECRET] Рис. 2. Схема спілкування між прототипом аналітичної мережі, BD-платформою Cloudera та сервером соціальної мережі Twitter Програмування для комп’ютерних мереж та Internet 19 Зупинити сервіс можна відповідно командою – stop. Для того, щоб перевірити чи скачу- вання «твітів» успішне, достатньо зайти на сторінку модуля Hue і скористатись серві- сом Impala Search, що надає можливість інтерактивного. Сервіс Flume буде використано для інтеграції з Cloudera платформою і синх- ронізацією «твітів» для завдань. Він надає REST-інтерфейс, що задовольняє поточну архітектуру прототипу аналітичної систе- ми. 2. Проектування та реалізація прототипу для проведення та збереження проміжних результатів статистичного аналізу Для реалізації прототипу, окрім проблеми моделі та комунікації з іншим сервером, перш за все, необхідно було ви- рішити поширену проблему набору ін- струментів для реалізації Web-прототипу. Базовий набір інструментів. До поля зору найпопулярніших рішень, серед швидкої розробки Web-додатків, потрапи- ли Play!, Grails, Ruby on Rails (RoR). Варто навести порівняльні характе- ристики вищезазначених інструментів (таблиця). Всі рішення є простими в нала- штуванні і продуктивності, а також всі заохочують TDD-парадигму. Основна від- мінність RoR від інших двох – це викорис- тання мови програмування Ruby, що є скриптовою. Всі інші характеристики є більш менш однаковими. Тобто, стек тех- нології у кожному рішенні досить вели- кий, і є з чого обирати. Основним критері- єм при виборі готового інструментарію, стала мова програмування. Вибір впав на динамічний groovy і grails. Groovy легко інтегрується в інший Java-код і легко налаштувати «заміну на льоту», що так необхідна при розробці Web-додатків [3]. Ще одною перевагою grails, виявилося строге структурування додатку на сервіси, контролери, модель та Рис. 3. Панель керування Cloudera Manager та список сервісів платформи Програмування для комп’ютерних мереж та Internet 20 Таблиця. Порівняльні характеристики інструментів Особливість Grails RoR Play! Принципи розробки Test Driven Development (TDD) TDD TDD Шаблон розробки Model View Controller (MVC), Dependency Injection MVC MVC Інтер- націоналізація + + + Операційна система JVM-сумісна Linux, Windows, Mac OS X JVM-сумісна Мова програмування Groovy, Scala, Java, Clojure Ruby Java, Scala DB MySQL, NoSQL, Oracle, SQLite MSSQL, MySQL, MongoDB, PostgreSQL, Drizzle, Oracle, Redis, SQLite MSSQL, MySQL, MongoDB, NoSQL, PostgreSQL, Hazelcast, Oracle Мова шаблонів GSP, HAML, Mustache, Handlebars JS HAML, ERB, Radius Groovy, Japid, Scala Template Engine REST-ful + + + АОП + – + Сервер Jetty, Jboss, Tomcat Jboss Jetty, Jboss, Tomcat сторінки (притаманне MVC-парадигмі). Такий підхід полегшує тестування окре- мих класів і примушує розробників мисли- ти модульно. Користувацький інтерфейс. Для швидкої реалізації користувацького інтер- фейсу, вирішено використати розробку Twitter Bottstrap [4] – безкоштовний набір інструментів для створення Web-сайтів, що містить досить великий набір HTML та CSS-базованих шаблонів для всіляких HTML елементів (форм, кнопок тощо), а також інших інтерфейсних компонентів. Прототип користувацького інтер- фейсу на основі Bootstrap, розроблено за допомогою безкоштовного Web-додатку Jetstrap. За допомогою даного сервісу, вда- лось легко збудувати скелет сторінок, а також модифікувати їх стилі [5]. Після того, як скелет сторінок був збудований, для їх оптимізації, були ство- ренні gsp-шаблони. Основними перевага- ми шаблонів є можливість їх функціональ- ного тестування, а також структурування коду (рис. 4). Програмування для комп’ютерних мереж та Internet 21 Рис. 4. Приклад шаблону елемента “Завдання” Безпека. Для авторизації та аутен- тифікація користувачів застосовано мо- дуль Spring Security, який надає комплекс- ний і розширювальний підхід до проблеми безпеки. Даний модуль допоміг розмежува- ти ролі користувачів та їх доступ до ок- ремих ресурсів прототипу. На даний мо- мент, існує дві ролі для авторизованих користувачів: «адміністратор» та «корис- тувач» [6]. Роль «користувач» – це базовий вид авторизованих користувачів, який може тільки керувати «завданнями». «Адмініс- тратор» розширює роль «користувача» і має доступ до керування системними сер- вісами. Синхронізація висловлювань. Комунікація між Web-прототипом та пла- тформою-сховищем висловлювань корис- тувачів відбувається через REST- інтерфейс. Для зменшення навантаження на сховище, встановлено обмеження на частоту синхронізації – часовий інтервал в 5 хв. Для усунення ситуації, коли одночас- но синхронізація відбуватиметься для ве- ликої кількості завдань, що дуже сильно завантажить сервер-сховище, було реалі- зовано власну чергу завдань синхронізації. Черга представляє собою набір за- вдань на синхронізацію, де кожне містить інформацію про пошуковий запит та уні- кальний ідентифікатор завдання. Для за- безпечення асинхронного лімітованої син- хронізації – встановлено ліміт на прове- дення максимальної кількості одночасних операцій синхронізації – 3. Така модель досить гарно себе зарекомендувала при значній кількості завдань, проте при малій кількості завдань працює трішки довше ніж підхід «в лоб». Синхронізаційний запит складаєть- ся з декількох параметрів, найважливішим з яких є запитовий рядок. Очікуваний фо- рмат відповіді також зазначається як пара- метр. Основним форматом спілкування клієнт-сервер обрано JSON (рис. 5). Відпо- відь містить набір висловлювань, що пред- ставляють опис загального висловлювання соціальної мережі Twitter. Рис. 5. Приклад відповіді сервера-сховища висловлювань Програмування для комп’ютерних мереж та Internet 22 3. Аналіз основних компонентів прототипу Розподілена BD платформа- сховище. Як BD платформа, Cloudera ви- правдала очікування та продемонструвала себе з кращого боку, продукт зручний у користуванні та керуванні. На день безпе- рервного збереження «твітів» витрачається приблизно 3 ГБ місця на жорсткому диску, що звісно потребує об’ємного сховища в майбутньому. Оскільки навантаження на сервер були не сильними, то під час розро- бки і тестування вистачило однієї фізичної точки, проте в подальшій розробці та ви- користані бажано розширити можливості розподіленого середовища ще декількома машинами. Тестування синхронізації Web- клієнта з BD платформою виконано за до- помогою додатку JMeter. Для локальних налаштувань, синхронізація не викликала ніяких проблем для платформи (максима- льна кількість одночасних запитів – 3, си- нхронізація відбувалась що 5 хв). Модуль аналізу. Алгоритм модуля аналізу написаний використовуючи підхід TDD, тому відповідає стандартам, оскіль- ки повністю покритий функціональними тестами. Це означає, що всі математичні поняття алгоритму окремо протестовані на критичні і випадкові значення. Варто зазначити, що модуль аналізу активно співпрацює з базою даних, що негативно впливає на продуктивність. В подальшо- му, дану область варто покращувати оскі- льки саме вона найбільше завантажує Web-прототип. Користувацький інтерфейс міс- тить сторінку управління «завданнями» (рис. 6). Тут можна додати, видалити, переглянути інформацію про завдання, а також припинити / відновити синхроніза- цію. Варто зазначити, що для даної сто- рінки реалізовано посторінкове прогор- тання (по 10 сторінок), що забезпечує швидку відповідь сервера на запит корис- тувача. Рис. 6. Сторінка управління “Завданнями” Програмування для комп’ютерних мереж та Internet 23 Сторінка статистики (рис. 7) міс- тить статистичну інформацію про кіль- кість позитивних і негативних висловлю- вань позначених як системою так і експе- ртом. Додатково реалізовано можливість натиснути на певний сектор і перейти до сторінки з переліком висловлювань, від- повідно позначених так як вказано в назві категорії. Сторінка детальної інформації «за- вдання» містить посторінковий набір «ви- словлювань», що потрапили до даного «завдання» (рис. 8). З короткою інформацією про автора висловлювання, текстом висловлювання, датою публікації, а також можливістю пе- реглянути і встановити експертну оцінку для кожного висловлювання. Натиснувши на окреме висловлювання, відкривається джерело висловлювання в окремій сторінці. Рис. 7. Сторінка статистики “Завдання” Рис. 8. Сторінка детальної інформації «Завдання» Програмування для комп’ютерних мереж та Internet 24 Висновки Описано програмну реалізацію ви- рішення проблеми системного аналізу ви- словлювання користувачів соціальних ме- реж за допомогою статичного підходу у вигляді наївного баєсівського класифіка- тора. Ключовими поняттями підходу є взаємна інформація та правдоподібність висловлювань. Статистичний підхід, в подальшому, передбачив залучення думки експерта для встановлення об’єктивної оцінки висловлювань. Для вирішення проблеми ефектив- ної синхронізації та доступу до висловлю- вань користувачів соціальної мережі, ви- користано розподілену платформу, що по- легшила процес інтеграції потужних серві- сів потокової комунікації соціальної мере- жі, забезпечила швидке опрацювання та надійне сховище даних, і надала тонкий інтерфейс для швидкого пошуку вислов- лювань за ключовими словами. Розроблений прототип аналітичної системи надає зручний та компактний інструментарій керування завданнями пошуку та оцінки висловлювань користу- вачів соціальної мережі за ключовими словами. Під час планування архітектури системи, враховано потребу забезпечити швидкодію, а отже, введено певні обме- ження під час синхронізаційних задач і розроблено власну чергу операцій. Пер- винний аналіз висловлювань показав до- цільність потреби фільтрування суджень неінформативного характеру на ранній стадії, яка була вирішена комплексним підходом – мовним, сміттєвим та геоло- каційним фільтрами. Процес самонавчання прототипу організовано завдяки існуючим методам машинного навчання. Аналітична платфо- рма навчена оцінювати нові висловлюван- ня на основі попередніх статистичних по- казників. Ключовим моментом в забезпе- ченні об’єктивності оцінки аналітичної платформи виявилось пошук та формуван- ня набору характеристичних слів. Для кращої ефективності наївного оцінювання було розроблено критерій відбору харак- теристичних слів. Для покращення експер- тного навчання системи, було запропоно- вано ввести поняття фільтрування харак- теристичних слів. В прототипі реалізовано можли- вість перегляду статистики конкретного завдання аналізу, що відображає кількісну характеристику системної та експертної оцінок висловлювань користувачів з мож- ливістю їх сегментованого перегляду. Варто додати, що вирішення пи- тань про уподобання користувачів потре- бує подальших досліджень та вдоскона- лень. Для покращень прототипу необхід- но реалізувати нові можливості експерт- ного навчання і аналізу висловлювання, а саме: враховувати глобальні характерис- тичні слова, що дозволить зменшити вагу експерта для щойно створених завдань; надати експерту можливість впливати на характеристичні слова; реалізувати пов- ний мовний фільтр. Загальні вимоги до впровадження прототипу потребують інтеграцію інших популярних соціальних мереж, а також проведення додаткової дослідницької ро- боти і впровадження низки цікавих стати- стичних відображень. 1. Глибовець М.М., Жигмановський А.А., За- болотний Р.І., Захоженко П.О. Веб сервіси оброблення документів. – М.: – К.: НаУКМА, 2012. – 212 с. 2. Salvatore Catanese, Pasquale De Meo, Emi- lio Ferrara, Giacomo Fiumara, Alessandro Provetti Extraction and Analysis of Facebook Friendship Relations. www.emilio.ferrara.name/wp- content/uploads/2011/06/SN-76.pdf 3. Grails. What is Grails? [Електронний ре- сурс] // Grails: [сайт]. [2014]. URL: https:// grails.org/learn 4. Bootstrap: [сайт]. [2014]. URL: http:// getbootstrap.com/ 5. JetStrap. The Bootstrap 3 builder [Електрон- ний ресурс] // Jetstrap: [сайт]. [2014]. URL: https://jetstrap.com/ 6. Spring Security [Електронний ресурс] // Spring IO: [сайт]. [2014]. URL: http:// projects.spring.io/spring-security/ Одержано 09.04.2014 http://www.emilio.ferrara.name/wp-content/uploads/2011/06/SN-76.pdf http://www.emilio.ferrara.name/wp-content/uploads/2011/06/SN-76.pdf https://​/​grails.org/​learn https://​/​grails.org/​learn http://​/​getbootstrap.com/ http://​/​getbootstrap.com/ https://​/​jetstrap.com/ http://​/​projects.spring.io/​spring-security/ http://​/​projects.spring.io/​spring-security/ Програмування для комп’ютерних мереж та Internet 25 Про авторів: Глибовець Андрій Миколайович, кандидат фізико-математичних наук, доцент кафедри мережних технологій, Гонтар Максим Андрійович, магістр, розробник в компанії GlobalLogic. Місце роботи авторів: Національний університет «Києво-Могилянська академія», 04655, Київ, вул. Г. Сковороди, 2. Тел. (044) 425 0245. E-mail: andriy@glybovets.com.ua GlobalLogic Україна 03680, Київ, вул. Миколи Грінченка 2/1. Тел.: (044) 492 9695. E-mail: maksym.hontar@gmail.com mailto:andriy@glybovets.com.ua mailto:maksym.hontar@gmail.com