Разработка приложения для интеллектуального анализа отзывов пользователей магазина приложений Google Play
|
ВВЕДЕНИЕ 5
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Обзор работ по тематике исследования 8
1.2. Особенности магазина приложений Google Play 12
2. ПРОЕКТИРОВАНИЕ 14
2.1. Формальные определения 14
2.2. Требования к системе 16
2.3. Варианты использования системы 16
2.4. Графический интерфейс 18
2.5. Описание модели предметной области 19
3. ПОДХОД К АНАЛИЗУ ОТЗЫВОВ 21
3.1. Извлечение аспектов 22
3.2. Извлечение тональной лексики 24
3.3. Формирование резюме 26
4. РЕАЛИЗАЦИЯ 28
4.1. Компонент базы данных 29
4.2. Компонент управления базой данных 31
4.3. Компонент загрузки отзывов 33
4.4. Компонент извлечения аспектов 34
4.5. Компонент анализа тональности 36
4.6. Компонент графического интерфейса 38
5. ЭКСПЕРИМЕНТЫ 41
ЗАКЛЮЧЕНИЕ 45
ЛИТЕРАТУРА 47
1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ 8
1.1. Обзор работ по тематике исследования 8
1.2. Особенности магазина приложений Google Play 12
2. ПРОЕКТИРОВАНИЕ 14
2.1. Формальные определения 14
2.2. Требования к системе 16
2.3. Варианты использования системы 16
2.4. Графический интерфейс 18
2.5. Описание модели предметной области 19
3. ПОДХОД К АНАЛИЗУ ОТЗЫВОВ 21
3.1. Извлечение аспектов 22
3.2. Извлечение тональной лексики 24
3.3. Формирование резюме 26
4. РЕАЛИЗАЦИЯ 28
4.1. Компонент базы данных 29
4.2. Компонент управления базой данных 31
4.3. Компонент загрузки отзывов 33
4.4. Компонент извлечения аспектов 34
4.5. Компонент анализа тональности 36
4.6. Компонент графического интерфейса 38
5. ЭКСПЕРИМЕНТЫ 41
ЗАКЛЮЧЕНИЕ 45
ЛИТЕРАТУРА 47
Актуальность темы
В связи с активным развитием социальных сетей, форумов, блогов и других сетевых ресурсов, которые предоставили людям возможность дискутировать, общаться, выражать свое мнение и массово взаимодействовать друг с другом, образовалось большое количество публично доступных неструктурированных текстовых данных. Возможность получить ценную информацию о субъективных суждениях и оценках людей стала причиной большого интереса к исследованиям в области анализа мнений (opinion mining) и анализа тональности текстов (sentiment analysis). Одной из форм выражения мнения является пользовательский отзыв.
Одной из популярных площадок для публикации мобильных приложений является магазин приложений Google Play. Эта площадка предоставляет разработчикам доступ к потенциальной аудитории и снабжена механизмом публикации отзывов, что позволяет пользователям публично делиться своим мнением о приложении. Такая информация является полезной не только для разработчиков, но и для самих пользователей. Существует большое количество приложений со схожей функциональностью, и при выборе пользователи часто руководствуются оценками и отзывами других пользователей. Однако изучение отзывов с целью формирования объективного представления о качестве приложения является непростой задачей, которая может потребовать значительных временных затрат. Причиной этого является многочисленность отзывов, их противоречивость и недостоверность. Все это затрудняет потенциальному пользователю оценку качества приложения и принятие решения о его покупке, установке и использовании.
Данная работа посвящена созданию программной системы, которая осуществляет группировку отзывов по упоминаемым в них аспектам приложения и тональности по отношению ним, с использованием технологий интеллектуального анализа данных. Это позволит потенциальному пользо- 5
вателю выборочно ознакомиться с общим мнением относительно конкретной интересующей его характеристики приложения и сделать более осознанный выбор среди аналогов.
Цель и задачи
Целью данной работы является разработка приложения для интеллектуального анализа отзывов пользователей магазина приложений Google Play.
Для достижения цели работы необходимо решить следующие задачи.
1. Провести обзор работ на тему интеллектуального анализа отзывов потребителей в интернете.
2. Разработать подход к анализу отзывов.
3. Выполнить проектирование архитектуры системы.
4. Реализовать систему.
5. Провести эксперименты, исследующие эффективность предложенного подхода к анализу отзывов.
Структура и объем работы
Работа состоит из введения, 5 разделов, заключения и списка литературы. Объем работы составляет 48 страниц. Объем списка литературы составляет 20 наименований.
Содержание работы
В первом разделе, «Анализ предметной области», содержится обзор работ по тематике исследования и описание особенностей магазина приложений Google Play.
Во втором разделе, «Проектирование», даны формальные определения предметной области, выполнен анализ требований, приведена диаграмма вариантов использования системы, построен макет графического интерфейса и диаграмма сущность-связь.
В третьем разделе, «Подход к анализу отзывов», приведена диаграмма деятельности разработанного подхода, рассмотрены этапы извлечения аспектов, извлечения тональной лексики, формирования резюме, а также составляющие их шаги.
В четвертом разделе, «Реализация», приведена диаграмма компонентов системы, описана реализация каждого компонента, используемые технологии и инструменты.
В пятом разделе, «Эксперименты», описано исследование эффективности предложенного подхода к анализу отзывов и процесс формирования набора данных для экспериментов, построены графики.
В связи с активным развитием социальных сетей, форумов, блогов и других сетевых ресурсов, которые предоставили людям возможность дискутировать, общаться, выражать свое мнение и массово взаимодействовать друг с другом, образовалось большое количество публично доступных неструктурированных текстовых данных. Возможность получить ценную информацию о субъективных суждениях и оценках людей стала причиной большого интереса к исследованиям в области анализа мнений (opinion mining) и анализа тональности текстов (sentiment analysis). Одной из форм выражения мнения является пользовательский отзыв.
Одной из популярных площадок для публикации мобильных приложений является магазин приложений Google Play. Эта площадка предоставляет разработчикам доступ к потенциальной аудитории и снабжена механизмом публикации отзывов, что позволяет пользователям публично делиться своим мнением о приложении. Такая информация является полезной не только для разработчиков, но и для самих пользователей. Существует большое количество приложений со схожей функциональностью, и при выборе пользователи часто руководствуются оценками и отзывами других пользователей. Однако изучение отзывов с целью формирования объективного представления о качестве приложения является непростой задачей, которая может потребовать значительных временных затрат. Причиной этого является многочисленность отзывов, их противоречивость и недостоверность. Все это затрудняет потенциальному пользователю оценку качества приложения и принятие решения о его покупке, установке и использовании.
Данная работа посвящена созданию программной системы, которая осуществляет группировку отзывов по упоминаемым в них аспектам приложения и тональности по отношению ним, с использованием технологий интеллектуального анализа данных. Это позволит потенциальному пользо- 5
вателю выборочно ознакомиться с общим мнением относительно конкретной интересующей его характеристики приложения и сделать более осознанный выбор среди аналогов.
Цель и задачи
Целью данной работы является разработка приложения для интеллектуального анализа отзывов пользователей магазина приложений Google Play.
Для достижения цели работы необходимо решить следующие задачи.
1. Провести обзор работ на тему интеллектуального анализа отзывов потребителей в интернете.
2. Разработать подход к анализу отзывов.
3. Выполнить проектирование архитектуры системы.
4. Реализовать систему.
5. Провести эксперименты, исследующие эффективность предложенного подхода к анализу отзывов.
Структура и объем работы
Работа состоит из введения, 5 разделов, заключения и списка литературы. Объем работы составляет 48 страниц. Объем списка литературы составляет 20 наименований.
Содержание работы
В первом разделе, «Анализ предметной области», содержится обзор работ по тематике исследования и описание особенностей магазина приложений Google Play.
Во втором разделе, «Проектирование», даны формальные определения предметной области, выполнен анализ требований, приведена диаграмма вариантов использования системы, построен макет графического интерфейса и диаграмма сущность-связь.
В третьем разделе, «Подход к анализу отзывов», приведена диаграмма деятельности разработанного подхода, рассмотрены этапы извлечения аспектов, извлечения тональной лексики, формирования резюме, а также составляющие их шаги.
В четвертом разделе, «Реализация», приведена диаграмма компонентов системы, описана реализация каждого компонента, используемые технологии и инструменты.
В пятом разделе, «Эксперименты», описано исследование эффективности предложенного подхода к анализу отзывов и процесс формирования набора данных для экспериментов, построены графики.
В рамках данной выпускной квалификационной работы было разработано приложение для интеллектуального анализа отзывов пользователей магазина приложений Google Play, которое осуществляет поиск частых аспектов, определение тональности по отношению к ним и формирование резюме.
В ходе работы были выполнены следующие задачи.
1. Проведен обзор работ на тему интеллектуального анализа отзывов потребителей в интернете. Рассмотрены работы по направлениям выявления спам-отзывов, определения полезности отзывов и обобщения отзывов.
2. Разработан подход к анализу отзывов. Подход основан на поиске мнений, которые включают в себя аспект и тональную лексику. Аспекты, о которых пользователи часто высказывались в своих отзывах, извлекались с помощью алгоритма поиска частых наборов Apriori. Полярность тональной лексики определялась по тональному словарю, составленному из переведенного на русский язык лексического ресурса WordNet-Affect и РуСенти- Лекс.
3. Выполнено проектирование архитектуры системы. Проектирование включает в себя описание модели предметной области, выбор модели организации данных, анализ требований и построение диаграммы вариантов использования системы, создание макета графического интерфейса, построение диаграммы компонентов системы.
4. Реализована программная система. Реализованы компоненты базы данных, управления доступом к базе данных, загрузки отзывов, извлечения аспектов, анализа тональности и графического интерфейса. Загрузка отзывов осуществляется с использованием технологии синтаксического разбора веб-страниц и инструмента для автоматизации действий браузера Selenium. Для обработки отзывов использовались пакеты nltk и pymorphy2. В качестве СУБД использовалась MongoDB. Графический интерфейс реализован на основе пакета PyQt5.
5. Проведены эксперименты, исследующие эффективность предложенного подхода к анализу отзывов. Был сформирован и вручную размечен набор данных из 500 отзывов. Проведена оценка точности и полноты определения тональности по отношению к аспектам при различных значениях минимальной поддержки.
Исходные коды компонентов системы, разработанной в рамках работы, свободно доступны в сети Интернет по адресу: https://github.com/ShumilinPavel/diploma
В ходе работы были выполнены следующие задачи.
1. Проведен обзор работ на тему интеллектуального анализа отзывов потребителей в интернете. Рассмотрены работы по направлениям выявления спам-отзывов, определения полезности отзывов и обобщения отзывов.
2. Разработан подход к анализу отзывов. Подход основан на поиске мнений, которые включают в себя аспект и тональную лексику. Аспекты, о которых пользователи часто высказывались в своих отзывах, извлекались с помощью алгоритма поиска частых наборов Apriori. Полярность тональной лексики определялась по тональному словарю, составленному из переведенного на русский язык лексического ресурса WordNet-Affect и РуСенти- Лекс.
3. Выполнено проектирование архитектуры системы. Проектирование включает в себя описание модели предметной области, выбор модели организации данных, анализ требований и построение диаграммы вариантов использования системы, создание макета графического интерфейса, построение диаграммы компонентов системы.
4. Реализована программная система. Реализованы компоненты базы данных, управления доступом к базе данных, загрузки отзывов, извлечения аспектов, анализа тональности и графического интерфейса. Загрузка отзывов осуществляется с использованием технологии синтаксического разбора веб-страниц и инструмента для автоматизации действий браузера Selenium. Для обработки отзывов использовались пакеты nltk и pymorphy2. В качестве СУБД использовалась MongoDB. Графический интерфейс реализован на основе пакета PyQt5.
5. Проведены эксперименты, исследующие эффективность предложенного подхода к анализу отзывов. Был сформирован и вручную размечен набор данных из 500 отзывов. Проведена оценка точности и полноты определения тональности по отношению к аспектам при различных значениях минимальной поддержки.
Исходные коды компонентов системы, разработанной в рамках работы, свободно доступны в сети Интернет по адресу: https://github.com/ShumilinPavel/diploma





