Разработка программной системы выявления мнений пользователей социальных сетей

Анализ методов и средств выявления мнений пользователей социальных сетей. Обзор средств мониторинга и анализа, подбор необходимого программного обеспечения и технических средств. Разработка архитектуры базы данных, реализация программных модулей.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.01.2017
Размер файла 3,7 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Введение

программный пользователь технический архитектура

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

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

Понятие «социальная сеть» появилось еще до появления Интернета и соответственно до современных интернет-сетей. Данный термин ввёл британский социолог Джеймс Барнс в 1954 году. Во второй половине 20 века этот термин стал применяться в европейских странах при исследованиях человеческих отношений и социальных связей, а сам термин стал общеупотребительным. Спустя некоторое время в социальной сети стали рассматривать не только людей, как представителей общества, но и прочие объекты, которые могут иметь различные социальные связи, такие как фирмы, города, сайты и т.п. [1].

Первыми социальными сетями стали группы людей, которые использовали для создания социальных сетей средства компьютерного общения, которыми стала электронная почта. Первыми, кто отправил сообщение на удалённый компьютер, стали военные в сети ARPA Net. Чуть позже была изобретена технология интернет-чата, позволяющая общаться пользователям в реальном времени. Это послужило толчком к созданию сети Интернет и появлению первых социальных сетей [2].

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

Первопроходцем среди социальных сетей следует считать Classmates.com. Данный сайт предоставил возможность пользователям общаться с одноклассниками и близкими людьми. Сегодня эта сеть до сих пор пользуются популярностью, а численность составляет более полумиллиона людей. Однако началом популярности социальных сетей стоит считать начало двадцатого века, когда на просторах Интернета появился Facebook, который за последующие года становится самой популярной в мире сетью [3].

В современном Интернете существует множество различных социальных сетей. Для упорядочивания их можно классифицировать на несколько типов. К примеру, сети различают по доступности: есть открытые, закрытые и смешанные. Большинство сетей являются открытыми, в них пользователь не имеет никаких ограничений и барьеров. Он может посмотреть любую интересующую для себя информацию об определенном человеке или какой-либо группе. Закрытыми же являются такие сети, которые не считают нужным распространять информацию для публики, а доступ имеют лишь ограниченная часть пользователей. Смешанной сетью можно назвать нечто средним между открытой и закрытой сетью, так как задача данного вида состоит в том, чтобы привлечь как можно больше людей, но при этом не ко всем функциям они будут иметь доступ.

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

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

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

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

1. Анализ методов и средств выявления мнений пользователей социальных сетей

1.1 Анализ методов мониторинга

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

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

Автоматизированные системы мониторинга в свою очередь, берут на себя весь процесс мониторинга, ведения статистики и формирований отчетов. Преимуществом таких систем будут являться низкие временные и денежные затраты, а также отсутствие трудовых затрат. Мониторинг включает в себя анализ огромного объема информации, однако, для нахождения более точных и точечных данных требуется использовать дополнительно интеллектуальный анализ текста, такой как text mining [4].

Технология text mining

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

Технология Text mining занимается извлечением информации из неструктурированного текста, то есть производится глубинный анализ. Эта технология позволяет «просеивать» большие объемы информации и выявлять только ключевую и наиболее значимую информацию, что является задачей text mining. Подобная технология незаменима для извлечения знаний и играет большую роль в системе управления знаниями.

Основными же задачами являются: классификация, автоматическое реферирование и кластеризация.

Классификация - это системное распределение изучаемых предметов к определенному классу (кластеру) с заранее известными признаками. В современных системах классификация применяется, например, в таких задачах: группировка документов, размещение документов в определенные папки.

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

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

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

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

Применение технологии text mining предполагает наличие инструмента, который способен выделить из огромного текста только нужные элементы. Работа технологии заключается в следующем: на вход подается интересующий текст, а на выходе пользователь получит информацию в структурированном виде. Структуры могут представлять собой как простые сущности, так и сложные. Text mining дает возможность автоматически собирать результаты своей работы в коллекции данных, пригодные для проведения анализа.

Анализировать такие коллекции данных, несомненно, намного проще и быстрее, чем результаты, найденные с помощью поисковика. Однако и здесь требуются усилия по интеграции средств text mining с источниками документов, поисковиком и инструментами. Сегодня поставщики инструментов text mining снабжают свои продукты возможностями интеграции с источниками документов, в основном с веб-ресурсами, и с базами данных через файлы в формате XML. Предоставляется также набор SDK, применение которого подразумевает довольно дорогую дальнейшую разработку. Однако главной проблемой использования таких технологий является сложность настройки и поддержки работоспособности таких инструментов. Это обусловлено спецификой компьютерной лингвистики и семантики. Как правило, простые пользователи в отличие от разработчиков далеки от знаний этих материй, а в итоге возможности таких инструментов используются лишь на 5-10%.

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

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

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

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

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

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

В силу инерции мышления многие простые пользователи с недоверием относятся к тому, что машина может оперировать понятиями фактов, событий, персон, организаций и т.п. Это является основной причиной, которая заставляет пользователей отказываться от технологий text mining и они начинают загружать себя ручной обработкой результатов поиска. Существуют, несомненно, и объективные трудности. Методы text mining должны быть адаптированы к предметной области, что нередко требует временных и прочих ресурсов. Некоторые типы текстов (например, художественная литература, профессиональный и иной сленг) плохо поддаются машинной обработке. Несмотря на это технология text mining является наиболее полезнее, чем ручная обработка текста [5].

Таким образом, технология text mining является очень эффективной для добычи полезной и нужной информации из огромного объема целого текста. Со временем применение данной технологии будет только расширяться, так как на просторах Интернета каждый день появляются объемы доступной и полезной информации, а потребность в её анализе по-прежнему не удовлетворена.

1.2 Обзор средств мониторинга и анализа

Программа TweetDeck

TweetDeck - это клиент для работы с популярными социальными сетями, разработанный компанией Twitter в 2008 году на языке C++. Программа представляет собой сервис, который обеспечивает доступ нужной информации большинства социальных сетей и позволяет исследовать и проводить мониторинг лент сообщений, твитов, откликов и комментариев пользователей.

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

TweetDeck очень удобен в плане уведомлений о конкретных новых сообщениях. Он позволяет отследить появление новых откликов пользователей с помощью всплывающих оповещений. Также имеются различные методы мониторинга, позволяющие найти определенные новости, темы и обсуждения.

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

Программа PolyAnalyst

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

Программой PolyAnalyst производится полный анализ данных, который включает в себя полный цикл от загрузки данных и интеграции для моделирования и отчетности. Программа входит в число коммерческих продуктов, в котором реализованы алгоритмы text mining - анализа текстовой информации, а также является одной из мощных систем data mining в мире.

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

Анализ данных включает в себя полный цикл от загрузки данных и интеграции для моделирования и отчетности, PolyAnalyst предлагает широкий выбор алгоритмов для автоматического анализа текста и структурированных данных. Многочисленный анализ данных в задачах различных областей, легко решается посредством программы PolyAnalyst [7].

Система позволяет пользователям выполнять операции:

1) Классификация;

2) Кластеризация;

3) Прогнозирование;

4) Анализ связей;

5) Нахождение ключевых слов и поиска смысла;

6) Нахождение закономерностей.

Программа постоянно развивается, и появляются новые, наиболее эффективные алгоритмы и способа извлечения полезной информации из текстов.

Программа WEKA

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

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

WEKA - это продукт, развиваемый мировым сообществом, и свободно распространяющийся под лицензией GNU GPL. Программное обеспечение написано целиком на Java. Исходные данные представлены в виде матрицы признаковых описаний объектов. WEKA дает возможность доступа к SQL-базам через базы данных Java и в качестве входных данных может принимать результат SQL-запроса [8].

Информационно-аналитическая система «Медиалогия»

«Медиалогия» - первая в России автоматическая система мониторинга и анализа, которая осуществляется в реальном времени. Создание этой системы датируется 2003 годом. Стоит отметить, что эта система работает в круглосуточном режиме работы, а непрерывную работоспособность обеспечивают более сотни сотрудников. К ним относятся: программисты, разработчики, аналитики, эксперты в области средств массовой информации и лингвисты.

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

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

Большие возможности фильтрации информации позволяют настроить мониторинг практически под любую поставленную задачу. Суть технологии заключается - в предварительной обработке сообщений по множеству параметров и моментальном предоставлении наглядных отчетов по запросу пользователя [10].

Выводы

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

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

2. Разработка архитектуры базы данных

2.1 Описание предметной области и выделение информационных объектов

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

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

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

Проведя анализ предметной области и требований к разрабатываемой системе, было принято решение об организации набора баз данных. Состав информационного обеспечения представлен в таблице 2.1.

Таблица 2.1. Состав информационного обеспечения

Название информационного объекта (ИО)

Обозначение ИО

Семантика ИО

Пользователи

Users

Содержит информацию о пользователях системы.

Словари

Dict

Содержит информацию о словах для оценки мнения.

Результаты

Result

Содержит информацию о результатах анализа.

Ресурсы

Resource

Содержит информацию о хранении информации о темах, которые нужно проанализировать.

Функциональные зависимости реквизитов представлены в таблице 2.2.

Таблица 2.2. Функциональные зависимости реквизитов

Информационный объект

Название реквизитов

Имя реквизитов

Функциональные

зависимости

Пользователи

Код пользователя

Логин пользователя

Пароль пользователя

Роль пользователя

Id_user

Login

Passwd

Role

Словари

Код слова

Слово словаря

Вес слова

Id_word

Word

Rank

Результаты

Код результата

Количество позитивных слов

Количество нейтральных слов

Количество негативных слов

Идентификатор темы

Id_result

Positiv_count

Neutral_count

Negativ_count

Resource_id

Ресурсы

Код темы

Ссылка на тему

Название темы

Id_theme

Url

Name

Разделение всех реквизитов информационных объектов на группы описательных и ключевых и установление между ними соответствия представлено в таблице 2.3.

Таблица 2.3. Соответствие описательных и ключевых реквизитов

Описательные

реквизиты

Ключевые

реквизиты

Признак ключа

Имя ИО, включающего реквизит

Логин пользователя

Пароль пользователя

Роль пользователя

Код пользователя

Простой, универсальный (П., У.)

Пользователи

Слово словаря

Вес слова

Код слова

П., У.

Словари

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

Количество негативных слов

Идентификатор темы

Код результата

П., У.

Результаты

Ссылка на тему

Название темы

Код темы

П., У.

Ресурсы

2.2 Построение логической модели данных

Различают следующие уровни логической модели, каждая из которых отличается глубиной представления информации о данных:

1) диаграмма сущность-связь представляет собой модель данных верхнего уровня (рисунок 4.1). Она включает сущности и взаимосвязи, отражающие основные бизнес-правила предметной области.

Рисунок 2.1. Диаграмма сущность-связь

2) модель данных, основанная на ключах (рисунок 2.2). Данная модель предполагает уже более подробное представление данных и включает описание всех сущностей и первичных ключей.

Рисунок 2.2. Модель данных, основанная на ключах

3) полная атрибутивная модель (рисунок 2.3). Это наиболее детальное представление данных. Данная модель представляет данные в третьей нормальной форме и включает все сущности, атрибуты и связи.

Рисунок 2.3. Полная атрибутивная модель

2.3 Описание таблиц базы данных

Описание структуры реляционных таблиц представлено в таблице 2.4.

Таблица 2.4. Описание таблиц реляционной базы данных

Атрибут

Признак ключа

Формат поля

Обозначение

Наименование

Тип

Длина

Точность

Пользователи

Id_user

Код пользователя

П., У.

Счетчик

Длинное целое

целое

Login

Логин пользователя

Текстовый

20

Passwd

Пароль пользователя

Текстовый

20

Role

Роль пользователя

Текстовый

20

Словари

Id_word

Код слова

П., У.

Счетчик

Длинное

целое

Word

Слово словаря

Текстовый

50

Rank

Вес слова

Числовой

Длинное

целое

Результаты

Id_result

Код результата

П., У.

Счетчик

Длинное

целое

Positiv_count

Количество позитивных слов

Числовой

Длинное

целое

Neutral_count

Количество нейтральных слов

Числовой

Длинное

целое

Negativ_count

Количество негативных слов

Числовой

Длинное

целое

Resource_id

Идентификатор темы

Числовой

Длинное

целое

Ресурсы

Id_theme

Код темы

П., У.

Счетчик

Длинное

целое

Word

Ссылка на тему

Текстовый

50

Name

Название темы

Текстовый

50

Физическая модель данных представлена на рисунке 2.4.

Рисунок 2.4. Физическая модель данных

2.4 Постановка задачи

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

Система выявления мнений пользователей социальных сетей должна обеспечивать следующие функции:

1) выполнять поиск мнений и комментариев по определенной теме или проблеме;

2) анализировать результат для определения количественных и качественных параметров;

3) отображать результаты по анализу в отчетах и графиках.

Система должна учитывать задачи следующих групп пользователей:

1) администратор;

2) обычные пользователи.

Функции администратора:

1) следить за работоспособностью системы (программных модулей, файлов, базы данных);

2) поддерживать наполнение базы данных в актуальном состоянии;

3) изменять настройки системы.

Пользователи должны иметь возможность:

1) просматривать результаты анализа тем;

2) генерировать графики и отчеты тем;

3) сохранять графики и отчеты тем.

2.5 Разработка архитектуры программного средства выявления мнений пользователей социальных сетей

Система выявления мнений пользователей социальных сетей - это клиент-серверная система. Весь программный комплекс размещается на сервере, данные хранятся в базе данных на этом же сервере. Пользователь, являющийся клиентом такой системы, использует на своем рабочем месте только стандартизированную программу интернет браузер, при помощи которой он будет взаимодействовать с системой, посредством выполнения определенных команд на сервере. Связь оператора с сервером осуществляется средствами международной сети Интернет. Такая модель распределения нагрузки называется модель сервера приложений (Application Server - AS). Такая модель сервера является расширением двухуровневой модели и в нее вводится дополнительный промежуточный уровень между клиентом и сервером.

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

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

Архитектура модели сервера приложений приведена на рисунке 2.5.

Рисунок 2.5. Модель сервера приложений

В этой модели компоненты приложения делятся между тремя исполнителями:

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

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

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

Отметим, что эта модель обладает большей гибкостью, чем двухуровневые модели. Наиболее заметны преимущества модели сервера приложений в тех случаях, когда клиенты выполняют сложные аналитические расчеты над базой данных, которые относятся к области OLAP-приложений. В этой модели большая часть бизнес-логики клиента изолирована от возможностей встроенного SQL, реализованного в конкретной СУБД, и может быть выполнена на стандартных языках программирования, таких как С, C++. Это повышает переносимость системы, ее масштабируемость.

Функции промежуточных серверов могут быть в этой модели распределены в рамках глобальных транзакций путем поддержки протокола, который поддерживается большинством поставщиков СУБД [11].

AS-модель в наибольшей степени отражает сильные стороны технологии «клиент / сервер»:

1) четкое разграничение логических компонентов приложения;

2) возможность баланса загрузки между несколькими серверами;

3) значительное снижение трафика между клиентом и сервером приложений, дающее возможность работы по медленным линиям связи;

4) высокий уровень защиты данных, т.к. они являются «спрятанными» за сервисами приложения, в которые можно встроить проверку полномочий клиента;

5) возможность использования в качестве клиентской части приложения стандартного браузера;

6) упрощение процесса обновления программного обеспечения.

Процесс генерации динамических страниц происходит следующим образом:

1) клиент выполняет определенный запрос к HTTP-серверу из своего Web-браузера;

2) HTTP-сервер запускает определенный скрипт, который выполняет поставленную перед ним задачу в зависимости от запроса пользователя, например, проанализировать текст;

3) данные полученные в результате обращения на сервер БД обрабатываются и посылаются в html виде;

4) HTTP-сервер перенаправляет результаты обратно клиенту, а на их основании клиентский Web-браузер будет отображать страницу.

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

Общая схема архитектуры системы приведена на рисунке 2.6.

Рисунок 2.6. Общая архитектура программной системы

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

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

Агент анализа текстов производит исследование полученных данных. Ведется подсчет количества оценочных комментариев из нашего словаря, далее с помощью проставленных каждому слову в словаре их веса он оценивает мнения и выдает оценку позитивного, негативного или нейтрального характера упоминаний [12].

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

Модуль администрирования дает возможность администратору просматривать и изменять наполнение базы данных. Изменяя записи в словарях, он влияет на распределение оценок при анализе тем. А так же администратор может следить за пользователями системы, изменять их данные, или создавать новых пользователей системы.

3. Разработка структур баз данных и знаний программной системы

3.1 Проектирование информационной базы

В данной выпускной квалификационной работе для хранилища информации будем использовать базу данных. Сейчас существует множество баз данных, как с открытым исходным кодом, которые являются бесплатными, так и с закрытым, которые стоят очень дорого. Преимущество платных версий, это стабильность работы и так же высокая производительность по сравнению с бесплатными аналогами. Но так как наша выпускная квалификационная работа предназначена для научных целей, мы будем использовать бесплатную базу данных. За основу я принял базу данных MySQL. Программное обеспечение MySQL представляет собой очень быстрый многопоточный, многопользовательский надежный SQL-сервер баз данных (SQL - язык структурированных запросов). Сервер MySQL предназначен как для критических по задачам производственных систем с большой нагрузкой, так и для встраивания в программное обеспечение массового распространения. Программное обеспечение MySQL имеет двойное лицензирование. Это означает, что пользователи могут выбирать, использовать ли ПО MySQL бесплатно по общедоступной лицензии GNU General Public License (GPL) или приобрести одну из стандартных коммерческих лицензий MySQL AB. Мы будем естественно использовать общедоступную лицензию GNU GPL [13].

Информационная база будет состоять из следующих таблиц:

1) Users - Таблица пользователей системы;

2) Dict - Таблица словарей системы;

3) Result - Результаты анализа системы;

4) Resource - Список тем, подлежащих опросу.

Рассмотрим каждую таблицу в отдельности.

Таблица Users в данной таблице мы будем хранить всех пользователей системы, включая администратора, для того чтобы различать роли пользователей в системе, будет предусмотрено специальное поле в таблице.

Структуру таблицы можно посмотреть на рисунке 3.1.

Рисунок 3.1. Структура таблицы Users

Таблица Dict в данной таблице будут находиться все ключевые слова, которые нам необходимы для анализа данных, в ней же мы будем проставлять веса слов, для более детального и качественного анализа. В данную таблицу все пользователи могут добавлять свои слова со своими весами, и пользоваться ими при любом анализе текста. Структура таблицы изображена на рисунке 3.2.

Рисунок 3.2. Структура таблицы Dict

Таблица Result предназначена для сохранения результатов проанализированных данных, для того чтобы не нагружать систему в будущем, теми ресурсами которые были уже проанализированы. Так же данная таблица дает преимущество в скорости анализа, потому что, если данные были записаны в таблицу, то результаты из таблицы взять быстрее, чем заново проанализировать текст. Структура таблицы изображена на рисунке 3.3.

Рисунок 3.3. Структура таблицы Result

Таблица Resource предназначена для хранения информации о темах, которые необходимо проанализировать. Структура таблицы изображена на рисунке 3.4.

Рисунок 3.4. Структура таблицы Resource

3.2 Функционально-ориентированное проектирование системы

Обзор CASE - средств

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

Отмеченные обстоятельства стали одной из причин появления программно-технологических средств, получивших название САSЕ-средств и реализующих САSЕ-технологию создания и сопровождения информационных систем. В ряде современных САSЕ-средств используется объектно-ориентированная методология проектирования.

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

CASE-средства представляют собой программные средства, поддерживающие процессы сопровождения и создания таких информационных систем, как: анализ и формулировка требований, проектирование баз данных и приложений, генерация кода, тестирование, обеспечение качества.

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

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

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

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

Современные САSЕ-системы занимаются не только разработкой, а еще обеспечивают и повторную разработку. Это заметно ускоряет разработку приложений, а также повышается их качество [14].

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

Наиболее распространенными моделями и диаграммами графического представления являются следующие:

1) диаграммы сущность - связь или ER - диаграммы - модель данных, служащая для описания концептуальной схемы баз данных;

2) диаграммы потоков данных (DFD) - моделирует систему как набор действий, соединенных друг с другом стрелками;

3) метод структурного анализа и проектирования (SADT) - служит для построения функциональной модели объекта;

4) схемы описания иерархии вход - обработка - выход служат для описания реализуемых программой функций и циркулирующих внутри нее потоков данных.

Построение контекстной диаграммы

С помощью CASE-средства BPWin рассмотрим методологию структурного анализа и проектирования IDEF0, основанную на методологии SADT.

Результатом применения методологии SADT является модель, которая состоит из диаграмм, фрагментов текстов и глоссария, имеющих ссылки друг на друга. Диаграммы - главные компоненты модели, все функции ИС и интерфейсы на них представлены как блоки и стрелки. Место соединения стрелки с функциональным блоком определяет тип интерфейса. Стрелка управления входит в блок сверху и обозначает, кто отвечает за регулирование того, как и когда выполняется функциональный блок. Стрелка, входящая в блок слева показывает какая информация или источники взяты за входные данные. Стрелка, которая выходит из функционального блока показывает готовый продукт и результаты. Стрелка, входящая в функциональный блок снизу - это механизм (человек или автоматизированная система), то, что используется для выполнения процесса, но остается неизменным. Механизмы являются ресурсом, которые непосредственно исполняют моделируемые действия. Одной из наиболее важных особенностей методологии SADT является введение все больших уровней детализации по мере создания диаграмм, отображающих модель.

Контекстная диаграмма модели программной системы представлена на рисунке 3.5

Рисунок 3.5. Контекстная диаграмма модели программной системы

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

Построение диаграмм IDEF0

Программная система состоит из трех этапов: «Ввод данных», «Обработка данных», «Формирование отчета» (рисунок 3.6).

Рисунок 3.6. Диаграмма декомпозиции 1-го уровня

Этап «Обработка данных» состоит из трех функциональных блоков: «Поиск и отбор тем», «Анализ содержимого темы», «Операции с результатами» (рисунок 3.7).

Рисунок 3.7. Диаграмма декомпозиции 2-го уровня

Этап «Поиск и отбор темы» состоит из трех функциональных блоков: «Выбор темы», «Изучение текста темы», «Подготовка к анализу» (рисунок 3.8).

Рисунок 3.8. Диаграмма декомпозиции 3-го уровня

Этап «Операции с результатами» состоит из трех функциональных блоков: «Поиск комментариев», «Оценка комментариев», «Подготовка к формированию отчета» (рисунок 3.9).

Рисунок 3.9. Диаграмма декомпозиции 3-го уровня

Основные элементы модели «Программная система выявления мнений пользователей социальных сетей» представлены в таблице 3.1.

Таблица 3.1. Основные элементы модели

Название проекта: Программная система выявления мнений пользователей социальных сетей

Цель проекта: Реализация структурной функциональной модели системы

Технология моделирования: метод функционального моделирования IDEF0

Инструментарий: программный продукт BP Win 4.0

Список данных

Перечень функций

Данные сайта «Вконтакте»

Параметры системы

Запросы

Информационная система

Данные словарей

Отчет по анализу темы

Запись отчета в БД

Пользователи

А0. Программная система выявления мнений пользователей социальных сетей

Данные параметров

Данные сайта «Вконтакте»

Параметры системы

Запросы

Информационная система

Данные словарей

Обработанные данные

Отчет по анализу темы

Запись отчета в БД

Пользователи

A1. Ввод данных

А2. Обработка данных

А3. Формирование отчета

Данные параметров и словарей

Данные

Данные сайта «Вконтакте»

Запросы

Информационная система

Обработанные данные

Полезные данные

А21. Поиск и отбор тем

А22. Анализ содержимого темы

А23. Операции с результатами

Данные параметров и словарей

Данные сайта «Вконтакте»

Выбранная тема

Проработанная тема

Обработанные данные

А211. Выбор темы

А212. Изучение текста темы

А213. Подготовка к анализу

Запросы

Информационная система

Найденные комментарии

Данные

Результаты мониторинга

Запросы

Информационная система

Обработанные данные

А231. Поиск комментариев

А232. Оценка комментариев

А233. Подготовка к формированию отчета

Словарь «Программной системы выявления мнений пользователей социальных сетей» представлен в таблице 3.2.

Таблица 3.2. Словарь

Термины

Определение

Информационная система

Совокупность программных приложений, баз данных, используемых для управления системой

Данные

Факты, характеризующие, подлежащие количественному выражению

Имеющиеся ресурсы

Персонал и информационная система в распоряжении

Методология учета

Совокупность приемов и методов ведения управленческого учета

Обработанные данные

Данные, разнесенные по объектам учета

Сводная отчетность

Стандартная управленческая отчетность, характеризующая деятельность предприятия

Управленческая информация

Информация, необходимая для принятия управленческих решений

Входящие документы

Данные, предоставляемые от внешнего источника, например, сведения о сайте

Описание функциональных блоков «Программной системы выявления мнений пользователей социальных сетей» представлено в таблице 3.3.

Таблица 3.3. Описание функциональных блоков

Наименование блока

Описание решаемых задач

A1. Ввод данных

На данном этапе пользователь вводит параметры для поиска и данные в словари

А2. Обработка данных

На этом этапе происходит обработка данных

А3. Формирование отчета

На этапе формируется отчет по проанализированному тексту, исходя из результатов

А21. Поиск и отбор тем

Происходит поиск и выборка тем по введенным параметрам поиска

А22. Анализ содержимого темы

Анализируется выбранная текстовая информация темы, для определения качественных оценок

А23. Операции с результатами

В данном блоке происходят сохранение результатов, выборка сохраненных результатов, вывод и создание графиков результатов

А211. Выбор темы

Происходит выборка тем по введенным параметрам запроса

А212. Изучение текста темы

Производится изучение выбранной темы для последующего анализа

А213. Подготовка к анализу

Производится подготовка к анализу выбранной темы

А231. Поиск комментариев

Происходит поиск комментариев из темы

А232. Оценка комментариев

Производится оценка комментариев согласно базе данных

А233. Подготовка к формированию отчета

Производится подготовка к формированию отчета

3.3 Объектно-ориентированное проектирование программной системы

Построение диаграммы вариантов использования

Для описания функционального назначения системы построена диаграмма вариантов использования (use case diagram) - это последовательность действий или транзакций, выполняемых системой в ответ на события, инициируемые некоторым внешним объектом (действующим лицом). Диаграмма вариантов использования применяется для применения бизнес-процессов организации и требований к создаваемой системе.

Разработка диаграммы вариантов использования преследует следующие цели:

1) определение общих границ моделируемой предметной области на начальных этапах проектирования системы;

2) создание базиса для планирования разработки проекта;

3) разработка исходной модели системы для ее последующей детализации в форме логических и физических моделей.

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

Построение диаграммы вариантов использования представляет собой граф специального вида, который изображается в виде графической нотации для представления вариантов использования, актера и взаимосвязей между ними. Построение диаграммы является этапом процесса объектно-ориентированного анализа и проектирования, цель которого - представить совокупность требований к поведению проектируемой системы [15]. Разработанная диаграмма вариантов использования представлена на рис. 3.10.

Система имеет двух актеров - пользователя и администратора системы. Базовыми вариантами использования являются «Ввод цели и настроек для поиска», «Формирование отчета», «Формирование запросов», «Изменение настроек системы», «Ввод и редактирование словарей».

Рисунок 3.10. Диаграмма вариантов использования

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

Таблица 3.4. Шаблон для написания сценария отдельного варианта использования

Главный раздел

Раздел «Типичный ход событий»

Раздел

«Исключения»

Раздел

«Примечания»

Имя варианта использования

Типичный ход событий, который приводит к удачному выполнению варианта использования

Исключение №1

Исключение №2

Исключение №3

Примечания

Актеры

Цель

Краткое описание

Тип

Ссылки на другие варианты использования

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

Главный раздел сценария представлен в таблице 3.5.

Таблица 3.5. Главный раздел

Вариант использования

Формирование заданий

Актеры

Пользователь, администратор

Цель

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

Краткое описание

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

Тип

Базовый

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

Таблица 3.6. Раздел «Типичный ход событий»

Действия актеров

Отклик системы

1. Пользователь выбирает ввод цели и настроек для поиска

Исключение №1: пользователь

некорректно вводит цель и настройки

2. Система производит поиск и анализ информации


Подобные документы

  • Характеристика задачи АВ01, ее выходная и входная информация, выбор и обоснование состава технических средств и средств программной реализации. Разработка алгоритма и программы решения задачи АВ01, руководства пользователя и контрольный пример решения.

    курсовая работа [2,1 M], добавлен 21.12.2011

  • Обзор существующих решений на основе открытых данных. Выбор социальных сетей для извлечения данных. Ограничение геолокации сообщений из социальных сетей. Разработка формата хранения. Визуализация собранных данных методом теплой карты. Архитектура системы.

    дипломная работа [1,0 M], добавлен 18.11.2017

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

    курсовая работа [2,4 M], добавлен 22.02.2014

  • Разработка системы мониторинга пользовательских запросов в крупной социальной сети - ООО "В Контакте". Анализ маркетингового положения компании в сфере социальных сетей. Характеристика потребительского сегмента. Техническая поддержка социальных сетей.

    дипломная работа [3,0 M], добавлен 25.10.2015

  • Специфика функционирования Луганского университета имени Владимира Даля, организационная структура и работа различных подразделений. Особенности программной и технической характеристик информационной системы. Проектирование модели системы аналитики.

    отчет по практике [65,6 K], добавлен 12.05.2015

  • Разработка проекта для регистрации пользователей на Web-сайте с целью отслеживания интересов посетителей. Обоснование выбранных технических средств и программного обеспечения: PHP и MySQL. Описание интерфейса и отчетных форм, листинг программы модулей.

    курсовая работа [1,5 M], добавлен 01.11.2012

  • Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Отладка программных модулей с использованием специализированных программных средств. Тестирование программного обеспечения. Оптимизация программного кода.

    курсовая работа [974,0 K], добавлен 21.12.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.