Анализ эмоциональной окраски текста в социальных сетях на основе методов машинного обучения
Обзор предметной области анализа тональности. Анализ и описание существующих подходов к анализу тональности текстов. Исследование особенностей текстовых сообщений в социальных сетях, которые необходимо учитывать при разработке методов анализа текстов.
Рубрика | Экономика и экономическая теория |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 23.09.2018 |
Размер файла | 1,7 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
«НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ
«ВЫСШАЯ ШКОЛА ЭКОНОМИКИ»
Факультет Бизнеса и менеджмента
Выпускная квалификационная работа
по направлению подготовки 38.03.05 Бизнес-информатика
образовательная программа «Бизнес-информатика»
Анализ эмоциональной окраски текста в социальных сетях на основе методов машинного обучения
Шведун Игорь Александрович
Москва 2018
Введение
тональность текст социальный сеть
Ежедневно государственные и частные компании аккумулируют огромное количество информации, начиная от персональных данных людей и заканчивая результатами сложных физических экспериментов. Ни для кого не секрет, что люди давно осознали практическую ценность наличия разного рода данных и активно применяют их для достижения своих бизнес-целей. Сегодня наличие определённой информации является, безусловно, конкурентным преимуществом компаний, так как с помощью аналитических инструментов и приёмов даже в «сырых», неструктурированных данных можно находить определённые зависимости и извлекать настоящие знания, которые могут пригодиться, в целом, для любой сферы жизни человека. Однако благодаря процессу развития информационных технологий, а именно разнообразных систем сбора, обработки и хранения информации - баз данных, хранилищ данных, а также бурно набирающие популярность последнее время - облачных хранилищ, компании владеют действительно большим объёмом данных. Такие массивы данных не позволяют аналитикам и руководителям исследовать их вручную и, соответственно, принимать решения на основе анализа. В таких ситуациях специалисты пользуются инструментами Data Mining'а. «Data mining - совокупность методов обнаружения в данных ранее неизвестных, нетривиальных, практически полезных и доступных интерпретации знаний, необходимых для принятия решений в различных сферах человеческой деятельности. Данная область основана и развивается благодаря таким научным сферам, как прикладная статистика, машинное обучение, алгоритмизация, теория БД и другим смежным областям».
Одной из самых распространённых форм хранения информации являются тексты на естественном языке. Именно по этой причине большой популярностью пользуется Text Mining (интеллектуальный анализ текстов) - это отдельный класс статистических методов и подходов Data Mining'а, применение которых позволяет извлечь знания и закономерности из большого количества текстовых документов. Одними из основных промышленных задач, которые решаются благодаря инструментам text mining'а, являются информационный поиск (information retrieval), машинный перевод (machine translation), анализ эмоциональной окраски текста (sentiment analysis) и распознавание именованных сущностей (named entity recognition) . Данная работа посвящена анализу эмоциональной окраски текстовых сообщений социальной сети Twitter.
Актуальность
Спрос компаний на знания, которые можно получить на основе результатов анализа тональности текстов, весьма велик. Например, с развитием и популяризацией социальных сетей, люди стали выкладывать свои мысли, личную информацию и прочее в открытый доступ. Помимо социальных сетей существует огромное множество сервисов, чаще всего узконаправленных, где люди делятся мнениями и обсуждают отдельные продукты, события или определенные сферы жизни, и некоторые из таких сайтов крайне популярны. Это означает, что теперь любой человек может собрать и проанализировать мнения интернет-пользователей по поводу интересующей его сферы или продукта, чем на данный момент активно пользуются большинство компаний. Например, отталкиваясь от результатов сентимент-анализа отзывов пользователей на недавно выпущенный продукт, компания-ритейлер может понять, какие характеристики продукта положительно сказываются на мнении покупателей, а также что следует изменить для привлечения большего числа потенциальных покупателей. Это - она из наиболее актуальных промышленных задач, но далеко не единственная. Поэтому, в связи с доступностью потребительских мнений и действительно широким кругом практического применения результатов их анализа, задача автоматического определения тональности текста на сегодняшний день является наиболее актуальной в области компьютерной лингвистики.
Объект исследования
Объектом исследования является задача анализа тональности текста на английском языке.
Предмет исследования
Предметом исследования является программная реализация классификатора для анализа тональности текстов на английском языке.
Цель исследования
Целью данной работы является повышение достоверности распознавания тональности короткого текста из социальных сетей на основе методов машинного обучения.
Задачи исследования
Для достижения поставленной цели необходимо выполнить следующие задачи:
1. Обзор предметной области анализа тональности
2. Анализ и описание существующих подходов к анализу тональности текстов
3. Исследование особенностей текстовых сообщений в социальных сетях, которые необходимо учитывать при разработке методов анализа текстов
4. Планирование этапов проекта разработки классификаторов тональности
5. Программная реализация классификаторов
6. Описание и анализ достигнутых результатов
Каждый из обученных классификаторов - linear SVM Classifier, Naпve Bayes Classifier и Gradient Boosting Classifier - нацелен на обработку большого объёма текстовых данных и способен решать задачу бинарной классификации новых, ранее не размеченных текстов на «положительный» или «отрицательный» в автоматическом режиме.
Глава 1. Обзор предметной области
В данной главе будет проведён обзор научной литературы, относящейся предметной области анализа тональности текстов. Этот шаг необходим для более глубокого теоретического понимания предметной области, а результаты этого шага, позднее, помогут в практической реализации поставленной цели данного исследования. В частности, в этой главе будут:
1. Определены основные термины, на которых базируется область сентимент-анализа
2. Проведен анализ разновидностей текстов на английском языке
3. Проанализированы существующие уровни анализа тональности текста
4. Рассмотрены возможные шкалы для оценки тональности
5. Изучены основные подходы к анализу тональности
6. Сделаны выводы по результатам данной главы.
1.1 Анализ тональности текста
Необходимо начать с определения базовых терминов.
Анализ тональности текста (англ. Sentiment Analysis) - множество методов компьютерной лингвистики, которые направлены на поиск мнений и определение их эмоций в текстовых документах. Также в научной литературе данную область часто называют термином «поиск мнений в тексте» (англ. Opinion Mining). Оба этих термина, в целом, представляют одну и ту же исследовательскую область. Однако при решении индустриальных задач принято пользоваться термином «анализ тональности», тогда как в научной литературе они считаются практически идентичными. В данной работе оба термина будут считаться равнозначными.
Известно, что небольшие исследования в области сентимент-анализа проводились и ранее, однако данная область начала активно развиваться именно с начала XXI века. В действительно крупных и значимых работах термин «sentiment analysis» был впервые упомянут в 2003 году в книге Tetsuya Nasukawa и Yi Jeonghee а термин «opinion mining» был использован в статье Dave Lawrence также в 2003 году. Столь поздний старт активного развития сферы анализа тональности объясняется несколькими причинами. Во-первых, анализ тональности текстов давно имел широкий круг применения практически в каждой сфере жизни человека, особенно в коммерческой деятельности. Во-вторых, с развитием данной области появлялось всё больше практических проблем, например таких, как недостаток цифровых текстовых данных, однако эта проблема решилась сама собой с активным развитием Интернета и, в частности, социальных сетей. Без этих данных проведение большинства исследований было бы невозможным. Необходимо отметить, что благодаря популяризации сети Интернет по всему миру появилось множество новых применений технологии сентимент-анализа, что также мотивировало людей развивать данную область. Однако третьей, главной причиной стало развитие вычислительных мощностей компьютеров и резкий спад цен на компьютерную технику. Всё это позволило данной научной области обрести популярность и к текущему году стать одной из главных задач компьютерной лингвистики и машинного обучения.
Перед тем, как приступить к описанию задачи анализа тональности и её аспектов, необходимо раскрыть такой термин, как мнение. Описанию этого термина посвящен следующий подпункт.
1.2 Мнения и факты
Каждый текст, в зависимости от содержащейся в нём информации, может быть объективным или субъективным. В книге под названием «Opinion Mining and Sentiment Analysis» подробно описан данный аспект. Основная идея данных понятий заключается в том, что объективное предложение содержит лишь фактическую информацию о чём-либо, тогда как в субъективном предложении содержатся эмоции, личные чувства и мысли автора относительно какого-либо объекта. Поэтому предложения, в которых содержится лишь объективная информация, называют фактическими, а предложения с субъективной информацией - мнениями.
Мнения делятся на два типа - регулярные и сравнительные. Регулярное мнение (англ. Regular opinion) часто упоминается в литературе как простое мнение и, в свою очередь, также делится на два подтипа - прямое (англ. Direct) и косвенное (англ. Indirect). Согласно книге Bing Liu - профессора департамента компьютерных наук Чикагского университета UIC и известного исследователя в области обработки естественного языка и, в частности, сентимент-анализа, прямое регулярное мнение выражается автором напрямую относительно объекта мнения, например: «This dish smells delicious!». Косвенное регулярное мнение - это мнение, которое выражается относительно объекта мнения или его аспекта не напрямую, а через описание его воздействия на какие-либо другие объекты. Примером косвенного регулярного мнения может стать следующее высказывание: «Аfter my friend's joke, I could not stop laughing for a long time». В этом предложении автор говорит о том, что он долго не мог перестать смеяться после шутки своего друга, что косвенно описывает положительное мнение автора об этой шутке. В данном случае, объектом мнения является шутка друга, а эффектом - продолжительный смех автора.
В контексте анализа тональности текста прямые мнения являются наиболее удобными для аналитика, так как их намного легче обрабатывать. При этом, косвенные мнения зачастую могут быть непонятны большинству сторонних читателей, не говоря о компьютерах.
Помимо прямого выражения положительных или отрицательных мнений о каком-либо объекте и его аспектах, можно также выразить своё мнение, сравнив подобные объекты. Такой вид мнений называется сравнительным (англ. Comparative opinion). Это второй тип мнения, который часто встречается в текстах. Сравнительное мнение выражает связь, то есть сходства или различия, между двумя или более объектами, либо предпочтение, которое сложилось у автора на основе каких-либо свойств объектов. Сравнительные мнения отличаются от простых не только семантическими значениями, но и синтаксическими формами. Например, в предложениях «Meizu smartphones looks more stylish than Samsung» и «Meizu smartphones are the most stylish» содержатся два сравнительных мнения. После прочтения приведённых выше утверждений нельзя увидеть чётко выраженного мнения автора о внешнем виде смартфонов фирм Meizu и Samsung (положительно ли автор относится к внешнему виду каждого из смартфонов или отрицательно), но становится очевидно, что автор считает внешний вид смартфонов Meizu более стильным, нежели смартфонов Samsung. Сравнительное мнение обычно выражают с использованием прилагательного или наречия сравнительной либо превосходной формы, а также глаголов, с помощью которых автор выделяет одни объекты на фоне других (например, глаголы Prefer, Love и подобные).
Сравнительные мнения, в свою очередь, делятся на градуируемые (англ. Gradable opinions) и неградуируемые (англ. Non-gradable opinions). С помощью градуируемого сравнения автор может сравнить несколько объектов или их конкретные свойства, тогда как неградуируемое сравнение выражает связь, отношение двух объектов или их свойств, но никак не сравнивает их. Примером градуируемого сравнения является предложение «Football looks more spectacular than hockey» или «Football and hockey looks equally spectacular», а примером неградуируемого сравнения является предложение «The spectacularity of football is different from hockey».
Каждый из видов сравнительного мнения делится на несколько подвидов, однако в рамках данной работы их описание излишне, поскольку это не поможет в достижении поставленной цели работы.
1.3 Задачи анализа тональности
После того, как был определен термин мнения и рассмотрены его виды, можно приступить к формулировке задачи анализа тональности текста.
Итак, целью и задачей сентимент-анализа является поиск мнений в тексте и определение их свойств. Приведённое описание задачи сентимент-анализа является общим, так как в зависимости от конкретной задачи, исследователя могут интересовать разные свойства мнений в тексте. Такими свойствами могут быть:
1. Автор - человек, которому принадлежит данный текст и, как следствие, мнения в тексте
2. Объект (англ. Entity) - то, относительно чего автор выражает своё мнение. Объектом могут быть продукты, услуги, организации, а также отдельные люди, вопросы, события, темы и их атрибуты.
3. Тональность (англ. Polarity)- эмоциональная оценка автора, выраженная относительно объекта тональности. В рамках данной задачи под тональностью обычно понимают мнение автора, чувства, его эмоции либо отношение к объекту тональности.
Определение автора текста и поиск объекта тональности является крайне сложной задачей. Однако часто в промышленных задачах поиск вышеперечисленных свойств текста не требуется, так как исследователь либо заранее знает авторов и объекты тональности, либо их определение попросту не требуется. Примером такой ситуации может послужить анализ отзывов пользователей на онлайн-ресурсах, посвященных конкретному продукту либо услуге: в таких ситуациях можно считать, что объект тональности в каждом отзыве заранее определён и является единственным, а также аналитику важно мнение большинства, нежели мнения отдельных людей. Подобные задачи анализа мнения пользователей относительно выпускаемого компанией продукта или услуги появились с развитием и популяризацией веб-ресурсов, в частности социальных сетей, и с каждым годом становятся всё популярнее. Именно по причине высокого спроса компаний на решение подобных задач более традиционной задачей сентимент-анализа является определение тональности текста.
Помимо вышеперечисленных свойств, на формулировку задачи влияют выбранный уровень детализации анализа тональности текста. Этот важный аспект анализа тональности описан в следующем подпункте.
1.4 Уровни детализации анализа тональности
Как было сказано ранее, задачей анализа тональности текста является определение полярности мнения автора, выраженного в конкретном тексте. Однако, в зависимости от нужд исследователя, данную задачу можно решать как относительно целого текстового документа, так и относительно всех уникальных объектов тональности в каждом предложении. Поэтому, в зависимости от детализации, данную задачу рассматривают на трёх уровнях:
1) На уровне документа
2) На уровне предложения
3) На уровне объекта
Задача анализа тональности на уровне документа заключается в определении полярности целого текстового документа, то есть понять, является ли весь текст целиком позитивным или негативным. Например, в задаче анализа отзывов пользователей на определённую продукцию компании-заказчика система, анализируя целиком каждый отзыв, определяет отношение авторов отзывов к данному продукту, то есть положительное ли мнение имеет автор относительно продукта или отрицательное. При решении задачи анализа тональности на уровне документа (англ. Document-level sentiment classification) аналитик предполагает, что каждый текстовый документ в имеющейся коллекции выражает мнение автора относительно одного объекта (конкретного продукта или услуги), поэтому инструменты для решения данной задачи неприменимы в тех случаях, когда большинство документов отражает мнение автора относительно нескольких объектов.
Задача анализа на уровне предложения решается путём определения тональности каждого предложения в тексте. Классификация предложений на таком уровне анализа тональности обычно происходит на 3 класса - позитивный, негативный и нейтральный. Нейтральность предложения обычно означает отсутствие в нём мнений автора, поэтому часто задача анализа тональности на уровне предложений напрямую связана с задачей классификации текста на субъективность, цель которой - отделить субъективные предложения (то есть выражающие мнение автора) текста от объективных предложений (выражающих лишь фактическую информацию). Однако эти две задачи не являются одинаковыми, так как, например, предложение, классифицированное как объективное, всё же может отражать настроение или отношение автора к объекту высказывания. Пример такого объективного предложения: «Recently I bought a new expensive T-shirt, but it broke in a week». Важно отметить, что при решении задачи анализа полярности текстов, взятых из социальных сетей, анализ проводится имеено на уровне предложения.
Анализ на уровне документа и предложения не определяет, какой объект нравится людям, а какой не нравится. Анализ на уровне объекта делает именно это: главная цель сентимент-анализа на заданном уровне - поиск всех объектов, относительно которых автор выражает своё мнение, и, естественно, определение тональности мнения автора относительно каждого найденного объекта [5]. Анализ на уровне объекта весьма эффективен в случаях, когда аналитику необходимо выявить именно объекты, к которым люди относятся негативно или позитивно, а не определить полярность мнений относительно заранее заданных объектов. Пример предложения, где анализ тональности на уровне объекта будет полезен: «Despite the fact that my new car is not very convenient to drive on my city's roads, I still love it for an extremely comfortable cabin». Приведённое предложение, в целом, имеет позитивную тональность, однако нельзя сказать, что это предложение целиком положительно: в нём отражается положительное мнение автора относительно его новой машины, однако он негативно отзывается про её способность передвигаться по дорогам его города. Используя возможности анализа тональности на уровне объекта, можно составить отдельный список мнений об объектах и их свойствах в каждом предложении коллекции документов, который может быть использован исследователем для дальнейшего анализа.
1.5 Выбор шкалы для анализа тональности текста
При классификации полярности текста аналитик пользуется определенной шкалой - набором эмоций, по которым определяется эмоциональная окраска каждого текста. В зависимости от используемой шкалы меняется и задача сентимент-анализа. Так, шкала может иметь набор множества разных эмоций, например, «злой, добрый, грустный, веселый, счастливый и т.д.». Шкалы подобного вида по-разному нагружены эмоционально, и, как следствие, перед исследователем возникает проблема однозначности классификации документа по данной шкале, то есть один текст может быть оценён несколькими людьми по-разному. По этой причине использование подобных шкал при анализе полярности текста практикуется довольно редко. Для простоты множество возможных значений тональности обычно сводится к шкале «позитивный-нейтральный-негативный». Однако зачастую из множества возможных классов убирают «нейтральный», то есть тональность определяется по шкале «положительный-отрицательный». Подобная бинарная шкала является самой распространённой и в промышленных задачах встречается чаще всего, так как в большинстве задач заказчика интересует именно мнение большинства, то есть как народ относится к выпускаемой им продукции/услуге, и нейтральные отзывы его не интересуют. Плюс ко всему, цель данной работы - анализ тональности текстов из социальной сети, где принято выражать своё мнение, рассказывать о своей жизни и делиться своими мыслями, и благодаря этому можно сделать предположение, что текстов с нейтральной эмоциональной окраской будет крайне мало. Конечно, данное упрощение работает не во всех случаях, но в большинстве из них. Главным минусом использования такой шкалы, очевидно, является то, что система относит к одному из двух оставшихся классов нейтральные предложения, что сказывается на предсказательной способности системы. Одной из первых известных работ по теме анализа тональности текстов, взятых из социальных сетей, является статья учёных Bo Pang и Lillian Lee под названием «Thumbs up? Sentiment Classification using Machine Learning Techniques», в которой применяются различные методы определения полярности отзывов пользователей относительно конкретного товара по бинарной шкале.
Помимо вышеперечисленных шкал, часто используют расширенную, так называемую многополосную шкалу. Суть данной идеи заключается в том, что обычную бинарную шкалу представляют в виде N-балльной шкалы, где N - количество баллов в шкале. Минимальный балл в шкале означает, что проанализированный текст однозначно является негативным, и наоборот - текст с максимальным баллом однозначно является позитивным. Примером многополосной шкалы является пятибалльная шкала, то есть каждому тексту присваивается оценка от 1 до 5. Приведённая шкала интерпретируется следующим образом:
1 балл - текст однозначно негативный
2 балла - текст скорее негативный, чем позитивный
3 балла - текст нейтральный
4 балла - текст скорее позитивный, чем негативный
5 баллов - текст однозначно позитивный.
Одними из первых исследователей, кто расширил таким образом бинарную шкалу, являются Bo Pang и Lillian Lee. В их работе 2005 года под названием «Seeing stars: Exploiting class relationships for sentiment categorization with respect to rating scales» описаны проблемы, возникающие при классификации текстов по 3-балльной рейтинговой шкале и шкалам с большим количеством баллов, а также продемонстрированы возможности трёх классификаторов (One-vs-All SVC, Markov Model и Naпve Bayes) в задаче классификации киноотзывов по 3-балльной шкале.
В данной работе классификация текстов будет производиться по бинарной шкале «позитивный-негативный», так как эта задача на практике является самой распространённой в области сентимент-анализе.
1.6 Подходы к анализу тональности
Существует три фундаментальных подхода к анализу тональности:
1. Подход, основанный на правилах
2. Подход, основанных на словарях
3. Подход, основанных на методах машинного обучения без учителя
4. Подход, основанных на методах машинного обучения с учителем
Первый подход используется в анализе на уровне предложения и заключается в построении набора правил, по которым определяется тональность каждого предложения в тексте. Например, для высказывания «I like coffee», можно применить следующее правило:
Если сказуемое («to like») входит в набор глаголов, имеющих положительную эмоциональную окраску («to like», «to love», «to adore», …) и в предложении не найдено отрицаний, то определять полярность предложения как «положительная». Многие коммерческие системы используют данный подход несмотря на то, что он требует больших затрат, так как для построения качественной системы необходимо составить большое количество правил. Часто правила привязаны к конкретной тематике (например, «отели») и при использовании системы на коллекции текстов, относящихся к другой тематике (например, «кофейни») приходится заново составлять правила. Тем не менее, при наличии качественной базы правил этот подход показывает наибольшую точность классификации, однако он абсолютно неинтересен для аналитика.
Подходы, основанные на словарях, используют так называемые тональные словари (англ. Аffective lexicons) для анализа текста. Этот подход также чаще всего используют при анализе на уровне предложения. В простом виде тональный словарь представляет из себя список слов со значением тональности для каждого слова. Ниже приведен пример из базы ANEW, где значения столбца «Valence Mean (SD)» отражают эмоциональную окраску слов по шкале от 1 до 10 баллов (1 балл - слово имеет абсолютно негативную окраску, 10 - слово имеет абсолютно позитивную окраску):
Рис. 1. Таблица значений тональности слов из базы ANEW
В своем выступлении на международной конференции ICACTA (International Conference on Advanced Computing Technologies and Applications), Chetashri Bhadane посвятил этому подходу большую часть своего доклада. Кроме того, он описал процесс вычисления полярности текста. По его словам, чтобы проанализировать текст, можно воспользоваться следующим алгоритмом: сначала каждому слову в тексте присвоить его значением тональности из словаря (если оно присутствует в словаре), а затем вычислить общую тональность всего текста. Вычислять общую тональность можно разными способами, самый простой из них -- среднее арифметическое всех значений. Несмотря на то, что этот подход кажется базовым, в большинстве случаев грамотно составленный словарь даёт высокую точность классификации тональности текста.
Также часто используется смешанный подход, который объединяет в себе правила и тональные словари. Такой подход называют лексическим.
Подход, основанный на методах машинного обучения без учителя, является на сегодняшний день самым интересным и многообещающим. Он основан на алгоритмах кластеризации, которые на основе данных и их особенностей разделяют их на несколько классов. Преимущество данного подхода заключается в том, что его можно применять на неразмеченных данных. Однако сейчас ими пользуются не так часто, так как его главный минус - довольно низкий уровень точности классификации.
Подход, основанный на методах машинного обучения с учителем, является наиболее распространенным методом, используемым в исследованиях. Его суть состоит в том, чтобы обучить машинный классификатор на коллекции заранее размеченных текстов, а затем использовать полученную модель для анализа новых документов. Для применения данного подхода в задаче сентимент-анализа необходимо выполнить следующие пункты:
1. Собрать коллекцию размеченных текстовых документов для обучения классификатора;
2. Для каждого документа нужно указать «правильный ответ», т.е. тип тональности (положительная или отрицательная), по этим ответам и будет обучаться классификатор;
3. Каждый документ из обучающей коллекции необходимо представить в виде вектора признаков.
Второй пункт является главным недостатком этого подхода, так как зачастую набора размеченных данных для обучения классификатора не существует. В таких случаях разметка данных производится вручную, что довольно дорого и долго, либо с помощью методов кластеризации, однако полученная таким способом разметка данных будет неточной.
После анализа вышеперечисленных подходов, для дальнейшей работы был выбран подход машинного обучения с учителем, так как данный подход:
1. Имеет высокую точность предсказания тональности;
2. Слабо зависит от тематики текстовых документов в отличие от подходов, основанных на правилах и словарях.
1.7 Профессиональная значимость
Теоретические и практические результаты данного исследования имеют высокий потенциал практического применения для многих сфер деятельности человека. В их числе социологические и политические исследования, журналистика, аналитические и мониторинговые системы, системы документооборота и рекламных платформ. В частности, результаты данной работы могут быть использованы для построения рекомендательных систем, отслеживания общественных мнений, определения отношения клиента к конкретному продукту или услуге и многих других задач.
1.8 Выводы
Итак, в данной главе были введены основные термины и понятия, на которых базируется область сентимент-анализа. Также был проведён анализ научной литературы по основным аспектам сентимент-анализа.
Итак, после проведения анализа научной литературы, относящейся к основным аспектам сентимент-анализа, были сделаны следующие выводы:
1. Классификация полярности текстов из социальных сетей и микроблоггинговых сервисов по бинарной шкале «позитивный-негативный» является наиболее релевантной с точки зрения практического применения;
2. Анализ тональности текстов из социальных сетей необходимо проводить на уровне предложения, так как ограничение микроблоггинговых сервисов на максимальное количество символов в одном сообщении делает тексты упрощёнными по своей синтаксической конструкции, более информативными и, в целом, становятся похожи на отдельные предложения;
3. Для достижения поставленной цели данной работы был выбран подход машинного обучения с учителем, так как он позволяет построить систему с высоким уровнем предсказательной силы. Плюс ко всему, на стадии обработки текста и выявления признаков будет использован подход на словарях, который поможет увеличить точность предсказаний классификаторов.
Глава 2. Разработка этапов решения
В данной главе рассматриваются основные методы классификации текстов, их возможности и особенности. Также приводится описание основных метрик, по которым будет проверяться эффективность классификации каждой обученной модели. Плюс ко всему, подробно анализируются каждый из шагов предобработки обучающей коллекции текстовых документов, извлечения информативных признаков и методы борьбы с переобучением моделей.
2.1 Описание классификаторов
В данной работе будут рассмотрены три классификатора: метод опорных векторов с линейным ядром (англ. Linear SVM Classifier), наивный Байесовский классификатор (англ. Naпve Bayes Classifier) и градиентный бустинг над решающими деревьями (англ. Gradient Tree Boosting). Каждая из моделей является представителем отдельных типов классификаторов: линейный SVM - представитель класса линейных моделей, Наивный Байесовский классификатор - представитель класса вероятностных моделей, а градиентный бустинг - представитель класса ансамблевых моделей. Процесс обучения и предсказания значений каждой из вышеперечисленных моделей - уникален, однако все они успешно применяются в исследованиях ([2], [3], [6], [8], [10], , связанных с анализом текстов в целом и сентимент-анализом в частности. Ниже будут приведены описание работы каждого классификатора, а также их плюсы и минусы в контексте анализа тональности текста.
1. Linear SVM Classifier.
Метод опорных векторов с линейным ядром принадлежит к группе линейных классификаторов и имеет следующий вид:
где - вектор признаков, - веса признаков, - вектор свободных коэффициентов, - результат классификации.
В работе подробно описаны цели и этапы обучения данного классификатора. Цель данного алгоритма - построить гиперплоскость в признаковом пространстве, которая будет иметь максимальный отступ от ближайших точек противоположных классов. При этом, чем больше отступ между ними, тем выше точность предсказаний имеет классификатор. Предсказание производится на два противоположных класса, обозначенных 1 и -1. На рисунке [2] изображены три разделяющие плоскости, которые в случае двумерного признакового пространства являются прямыми. Из множества разделяющих гиперплоскостей является лучшей, так как она расположена на максимальном расстоянии от ближайших точек обоих классов.
Рис. 2. Пример разделяющих гиперплоскостей классификатора SVM
Отступом (англ. Margin) объекта от прямой, разделяющий классы, называется величина . Если значение отрицательно, то объект находится на территории признакового пространства противоположного класса, то есть классификатор допустил ошибку, и наоборот - если значение положительно, то объект его фактический класс совпадает с предсказанным. Для обучения классификатора и поиска нужных значений вектора весов решается следующая оптимизационная задача:
В этой системе уравнений слагаемое является штрафом классификатора за неверный ответ, а - коэффициент регуляризации. При его увеличении значения вектора весов автоматически уменьшаются, что позволяет модели избежать слишком высоких значений весов для некоторых признаков, то есть избежать эффекта переобучения. «Переобучение (англ. Overfitting) в машинном обучении и статистике -- явление, когда построенная модель хорошо объясняет примеры из обучающей выборки, но относительно плохо работает на примерах, не участвовавших в обучении (на примерах из тестовой выборки)». Эффект переобучения возникает из-за того, что в процессе обучения модель обнаруживает в выборке случайные закономерности, которые отсутствуют в генеральной совокупности, то есть в новых данных. Чаще всего данный эффект возникает при обучении модели на выборке с большим количеством признаков.
Существует два вида регуляризации - штрафов SVM классификатора за неверно предсказанные значения: L1-регуляризация и L2-регуляризация.
L1-регуляризация |
L2-регуляризация |
|
L1-регуляризация имеет свойство обнулять некоторые неинформативные признаки, тогда как L2-регуляризация при увеличении штрафного коэффициента С делает веса близкими нуля, однако не равными ему. По этой причине часто для избыточного признакового пространства выбирают SVM именно с L1-регуляризатором, так как он помогает избавиться от бесполезных признаков. В данной работе при обучении SVC будет использоваться именно L1 - штраф.
Помимо линейной модели также существуют нелинейные виды SVC, однако в контексте анализа текста эти модели неприменимы. Причинами этого являются огромные временные затраты на обучение классификатора, так как при извлечении признаков из коллекции текста признаковое пространство становится огромным. Также из-за размерности велик риск переобучения модели, тогда как линейная модель отлично справляется с решением подобных задач. По этой же причине нелинейные модели в целом редко применимы в задачах анализа текста.
Итак, плюсы линейного SVC в условиях данной работы:
· Высокая скорость обучения;
· Малое количество настраиваемых параметров;
· Низкий риск переобучения, от которого можно избавиться, увеличив значение коэффициента регуляризации.
2. Наивный Байесовский классификатор
Наивный Байесовский классификатор - это вероятностная модель, основанная на теореме Байеса:
?? (?? | ??) = ,
где ?? - класс, ?? - текстовый документ.
Главная идея модели заключается «наивном» предположении о том, что имеющиеся признаки, на которых модель обучается, являются независимыми. Тогда целью классификатора становится поиск класса, в котором вероятность появления документа является максимальной:
Вероятность ) можно отбросить, так как она постоянна для всех классов и не влияет на задачу максимизации.
Данный алгоритм имеет следующие преимущества:
· Модель способна обучаться и делать прогнозы в режиме реального времени;
· Возможность делать прогнозы на несколько классов;
· Требует мало данных для качественных предсказаний;
· Имеет крайне высокую предсказательную силу в задачах анализа текста.
3. Градиентный бустинг над решающими деревьями
Бустингом называют процесс создания ансамбля простых классификаторов путём их последовательного добавления к общей модели таким образом, чтобы прогноз каждой новой модели максимально коррелировал с отрицательным направлением градиента функции потерь предшествующего ансамбля классификаторов. Проще говоря, добавление новой модели должно исправлять ошибки всего ансамбля моделей. Градиент функции - это вектор её производных, направление которого совпадает с направлением максимального роста функции в данной точке. Следовательно, отрицательный вектор-градиент, также часто называемый в научной литературе «антиградиентом», направлен в сторону максимального падения функции, поэтому антиградиент часто используют в задачах минимизации. Самой распространённой моделью, над которой проводят градиентный бустинг, является решающее дерево, однако часто моделями бустинга становятся линейные алгоритмы, модель случайных полей Маркова и другие. Увеличение числа простых моделей в ансамбле лишь увеличивает его предсказательную способность, однако такие ансамбли склонны к быстрому и сильному переобучению. Для понижения риска переобучения всего набора классификаторов, каждую из моделей стараются обучать на разных подмножествах объектов и/или признаков, чтобы каждая модель меньше коррелировала с другими. Также, в случае решающего дерева, уменьшают максимальную глубину каждого из них.
Плюсами данной модели являются:
· одни из самых высоких показателей качества классификации среди других моделей;
· идея построения ансамбля позволяет варьировать многие его параметры и подстраиваться под конкретную задачу;
· работает с выборками, где есть пропущенные значения.
Однако есть и недостатки, которые, зачастую, не дают воспользоваться мощью этой модели в полной мере:
· низкая скорость обучения из-за последовательного обучения каждой новой модели;
· крайне высокий риск переобучения.
Каждая из описанных моделей в практической части данной работы будет обучена на корпусе тренировочных данных. Также будет проведён анализ качества классификации каждой модели и проанализированы полученные результаты.
2.2 Метрики качества
Обязательным шагом после обучения классификаторов на тренировочных данных является проверка их качества. Необходимо отметить, что построенные классификаторы будут обучены на выборке текстов, не специализированных под определённую тему, то есть адекватными метриками эффективности наших моделей будут являться основные классические метрики качества классификации, ими являются точность (англ. Precision) и полнота (англ. Recall). Точность показывает, какой процент текстов, предсказанных как позитивные, действительно были позитивными. Полнота показывает, какой процент из всех позитивных текстов в выборке был классифицирован как позитивные. Они высчитываются через значения следующих коэффициентов:
TP (True Positive) - количество верно классифицированных объектов положительного класса
TN (True Negative) - количество верно классифицированных объектов отрицательного класса
FP (False Positive) - количество неверно классифицированных объектов положительного класса
FN (False Negative) - количество неверно классифицированных объектов отрицательного класса.
Точность |
Полнота |
|
К тому же, существует несколько метрик, которые объединяют в себе результаты точности полноты. Самых известным из них является F-мера - гармоническое среднее точности и полноты. Согласно работе Евгения Соколова, преподавателя ФКН НИУ ВШЭ, «среднее гармоническое обладает важным свойством -- оно близко к нулю, если хотя бы один из аргументов близок к нулю. Именно поэтому оно является более предпочтительным, чем среднее арифметическое (если алгоритм будет относить все объекты к положительному классу, то он будет иметь recall = 1 и precision?1, а их среднее арифметическое будет больше 1/2, что недопустимо)».
2.3 Коллекция текстов и её особенности
Источник данных и его особенности.
В качестве источника текстов для определения их тональности была выбрана онлайн-платформа Twitter. Согласно сайту Wikipedia, Twitter -- «социальная сеть для публичного обмена сообщениями при помощи веб-интерфейса, SMS, средств мгновенного обмена сообщениями или сторонних программ-клиентов для пользователей интернета любого возраста». Twitter существует с 2006 года и, на сегодняшний день, является одной из самых популярных сетей в мире с 1,3 млрд зарегистрированных и 319 млн активных пользователей. Главной особенностью платформы является ограничение на максимальное количество символов в публикуемых заметках, называемых «твитами» (от англ. To tweet - чирикать, щебетать, болтать). Социальные сети с наличием такого рода ограничений на количество вводимых символов в одном сообщении называют «микроблоггинговыми».
Причины выбора такого источника:
1. Ограничение на максимальный объём сообщения в 280 символов. Пользователям приходится выражать свои мысли с помощью малого количества слов, отчего сообщения становятся более информативными. Плюс ко всему, такое ограничение на максимальную длину сообщения позволяет нам анализировать каждый твит как отдельные предложения, которые лишены сложных синтаксических конструкций. Это значимое отличие от традиционных коллекций текстов для сентимент-анализа, таких, как обзоры пользователей на фильмы
2. Огромное количество пользователей и, следовательно, данных для анализа
3. Открытый доступ ко всем текстовым документам пользователей
4. Наличие в открытом доступе множества размеченных коллекций текстов ввиду крайней популярности данного источника
Коллекция текстов
Для обучения и проверки точности классификатора была выбрана коллекция текстов, размеченных сотрудниками компании «Sentiment 140». Компания основана выпускниками факультета компьютерных наук Стэнфордского университета и специализируется на разработке инструментов для анализа мнений относительно брендов, продукции и других популярных тем в сети Twitter. Данная коллекция имеет 1.600.000 твитов, из которых 800.000 относятся к позитивным, а оставшаяся половина - к негативным твитам. Датасет имеет 6 признаков:
1. Тональность текста (0 - негативная, 1 - позитивная)
2. ID пользователя
3. Дата публикации сообщения
4. Способ парсинга сообщения
5. Имя пользователя в сети Twitter
6. Текст сообщения
В исходном датасете имеется 1350598 уникальных слов.
Для анализа была выбрана коллекция текстовых сообщений на английском языке, так как на сегодняшний день большинство исследований, относящихся к области сентимент-анализа, было проведено для текстов именно на этом языке. Плюс ко всему, выбор текстов именно на английском языке сделает данную работу более востребованной на практике.
Область тем, к которым относятся тексты в имеющейся выборке, никак не ограничена, то есть тексты были выбраны случайным образом и не под определённую тематику. Это условие усложняет достижение поставленной цели, однако сильно расширяет круг практического применения результатов данной работы, так как они будут одинаково эффективны и полезны при анализе текстов в социальных сетях, относящихся к любой из возможных тем и специфик поставленной задачи.
Пример сообщения, имеющего негативную тональность:
Рис. 3. Пример негативного сообщения
Пример сообщения, имеющего позитивную тональность:
Рис. 4. Пример позитивного сообщения
Проблемы при анализе тональности
Как было упомянуто выше, на сегодняшний день не существует инструментов, которые способны классифицировать тексты по их тональности с точностью, близкой к ста процентам. Antonio Reyes и Paolo Rosso исследовали причины, которые не позволяют полностью решить проблему сентимент-анализа текстов из социальных медиа. Среди них:
1) Множественные грамматические ошибки;
2) Эмоционально обогащённый язык - сарказм, сленг, неопределенность и прочие особенности. Например:
Рис. 5. Пример сообщения с наличием сленговых слов
3) Неоднозначность слов и словосочетаний;
4) Сравнительные эмоции
5) Смешанные настроения: содержат позитивные и негативные слова в одной фразе;
6) Неоднозначные негативные слова - слова, обычно несущие негативный посыл, но в конкретном моменте имеют положительную тональность. «Did you really decide to buy a car? Wow, you're crazy!» - здесь словосочетание «you're crazy» имеет положительную эмоциональную окраску, однако оно может быть истолковано иначе в другом контексте, и для компьютера классификация данного предложения может быть затруднительной;
7) Условное настроение: связано с действиями, которые могут произойти в будущем. Пример: служба ремонта сотовых телефонов опаздывает с починкой телефона клиента на несколько дней, и клиент не раздражён сейчас, однако говорит, что будет, если его телефон не будет отремонтирован в течение недели;
8) Смайлики и знаки препинания, которые используются неуместно.
Также серьёзной проблемой является то, что из-за грамматических ошибок и эмоционально обогащённого языка количество уникальных слов во всей коллекции текстов возрастает в десятки раз, при этом большинство из них являются разными формами одних и тех же слов. Это приводит к тому, количество признаков также сильно растёт. Такое увеличение размера обучающей выборки приводит к двум негативным последствиям:
· время, затрачиваемое на обучение классификатора, сильно увеличивается
· возникает эффект переобучения модели.
Решение перечисленных проблем будет описано в главе, посвящённой предобработке текстов.
2.3 Извлечение первичных признаков из текста
Поскольку в данной работе будут реализованы классификаторы, основанные на подходе машинного обучения с учителем, то первым шагом в их реализации является представление каждого сообщения в имеющемся наборе текстов в векторном виде. Согласно работе, «векторное представление документа ?? является параметризованной функцией ??: ?????????? > , которая отображает документ из естественного языка в ??-мерный вектор.
Формально векторное представление можно описать формулой
??(????????? ?????? ????????????? ?????????) = (, … , ), где:
?? - векторное представление анализируемого документа,
- вес термина ?? в документе ??, ?? - общее количество терминов в векторном пространстве».
Все полученные векторы должны находиться в n-мерном векторном пространстве и выражать особенности каждого текста в числовом виде. По полученным значениям признаков классификатор будет обучаться, находить зависимости между признаками, а затем предсказывать по ним полярность новых текстов. Однако, как было сказано в пункте 2.1, имеющиеся текстовые документы сильно «зашумлены», и по этой причине перед извлечением признаков необходимо провести предобработку текстов, то есть избавить их от лишних пунктуационных символов, привести все слова к нижнему регистру, исправить грамматические ошибки, привести слова в изначальную синтаксическую форму и прочее. Методы предобработки текста будут перечислены и описаны в следующем пункте. Проблемой является тот факт, что после предобработки текстов они теряют свои важные особенности. Например, тональность текста может характеризоваться количеством восклицательных и вопросительных знаков, количеством слов и их средней длиной, а также многим другим. Всё это теряется в процессе обработки текстов, поэтому перед этим необходимо извлечь из текстов признаки, подобные вышеперечисленным. В данной работе признаки, извлекаемые перед предобработкой коллекции текстов для сохранения их важных особенностей, будут называться «первичными признаками».
Итак, первичными признаками текстового документа могут быть:
· Количество слов в тексте.
· Их количество является важной характеристикой каждого текста. Также есть интуитивное предположение, что в негативных сообщениях используется меньше слов, чем в позитивных;
· Количество символов в тексте;
· Средняя длина слова в тексте;
· Количество стоп-слов.
· Стоп-словами являются слова, наличие которых в предложении никак не влияют на их тональность, например, местоимения. Ниже перечислены все стоп-слова, которые будут удалены из коллекции в процессе её предобработки:
· Количество специальных символов.
· В данной работе специальными символами будут считаться следующие знаки: []«»@#&*$
· Количество восклицательных знаков.
· Наличие восклицательных знаков в тексте говорит о его высокой эмоциональной нагрузке, причём чем больше их в тексте, тем, предположительно, более яркие эмоции автора в нём отражены;
· Количество вопросительных знаков.
· Аналогично восклицательным знаками, большое количество вопросительных знаков сигнализирует о высокой эмоциональной нагрузке текстов, причем, предположительно, в негативную сторону;
· Количество букв верхнего регистра. Чем больше заглавных букв в тексте, тем более эмоциональным этот текст является.
Благодаря вышеперечисленным признакам аналитик фиксирует важную информацию о каждом тексте в коллекции, тем самым повышая точность классификации построенных моделей.
2.4 Предобработка текстов
Следующим шагом после извлечения первичных признаков из тренировочной коллекции текстов является предобработка каждого текстового документа. Данный этап анализа тональности является одним из главных, так как от качества обработки тренировочной коллекции текстов зависит качество и эффективность признаков, которые будут извлечены из обработанной коллекции, а, следовательно, это напрямую влияет на предсказательную силу будущей модели.
На сегодняшний день существует множество эффективных техник по обработке текста, и цель каждой из них - избавить документ от её неинформативных частей и «шума» в данных, который лишь препятствует извлечению качественных признаков. Ниже описаны самые популярные и, одновременно, эффективные способы обработки текста с учётом специфики источника имеющихся данных (т.е. специфики текстов из социальных сетей):
· Перевод текстов в нижний регистр.
Этот шаг позволит избежать хранения множества копий одинаковых слов, содержащих буквы верхнего регистра. Так, при подсчёте количества слов в предложении, слова «Forever» и «forever» будут считаться разными;
· Удаление ссылок на веб-сайты.
Часто пользователи в своих твитах размещают ссылки на интернет-сайты, причём в большинстве случаев домены сайтов не несут в себе никакой смысловой нагрузки в контексте твита. Например:
Рис. 6. Пример сообщения с указанием ссылки на веб-сайт
Плюс ко всему, ссылки на веб-сайты часто содержат слова, имеющие тональность, противоположную настроению целого твита. Например, сообщение «I've logged in to http://fun-pictures.com because I was really bored» имеет негативную окраску, однако домен сайта «fun-pictures» имеет противоположную полярность и может негативно повлиять на классификацию;
· Удаление никнеймов.
Twitter предоставляет возможность упоминания других пользователей в своих сообщениях. Для этого необходимо написать никнейм пользователя сети следующим образом: @user_nickname, и тогда пользователь с этим никнеймом получит уведомление об этом твите. Эта функция используется пользователями Twitter крайне часто, что негативно сказывается на качестве анализе таких сообщений.
Подобные документы
Экономический анализ как необходимый элемент управления экономикой, характеристика его особенностей и основных приемов и методов. Классификация видов экономического анализа. Методика детерминированного факторного анализа. Типы детерминированных моделей.
контрольная работа [115,4 K], добавлен 16.03.2013Понятие экономического анализа как науки, его сущность, предмет, общая характеристика методов и социально-экономическая эффективность. Основные группы эконометрических методов анализа и обработки данных. Факторный анализ экономических данных предприятия.
реферат [44,7 K], добавлен 04.03.2010Понятие социальных сетей, их влияние на экономику. Структура социального капитала. Потребительское сотрудничество в Интернете. Преимущества торговли через соцсети. Примеры их эффективного использования. Экономические аспекты рекламы в социальных сетях.
курсовая работа [130,3 K], добавлен 17.05.2012Характеристика форм документального оформления результатов анализа хозяйственной деятельности предприятия. Исследование особенностей методики анализа фонда оплаты труда, а также методов расчета абсолютного и относительного отклонения по его использованию.
контрольная работа [36,5 K], добавлен 30.08.2010Методы анализа детерминированных моделей. Методы анализа стохастических моделей. Методы оптимизации в экономическом анализе. Методы комплексного анализа. Принципы их построения и подходы по использованию.
курсовая работа [49,1 K], добавлен 12.04.2008Понятие экономического анализа. Характеристика основных приемов и методов экономического анализа. Методика факторного анализа. Многофакторные мультипликативные модели. Построение факторной модели - первый этап детерминированного анализа.
контрольная работа [105,1 K], добавлен 12.09.2006Обзор методов статистического обеспечения качества. Применение семи традиционных японских методов анализа качества. Разработка идеи статистического приемочного контроля. Основы и применение математического аппарата, используемого для статистики.
методичка [58,3 K], добавлен 18.08.2009Понятие и суть системного анализа. Методологические принципы системного анализа. Этапы системного анализа. Описание и характеристика разных подходов к определению основных этапов системного исследования. Принципы и этапы системного анализа, его описание.
реферат [25,0 K], добавлен 12.01.2009Сущность и отличительные черты статистических методов анализа: статистическое наблюдение, группировка, анализа рядов динамики, индексный, выборочный. Порядок проведения анализа рядов динамики, анализа основной тенденции развития в рядах динамики.
курсовая работа [1,0 M], добавлен 09.03.2010Классификация методов экономического анализа. Применение статистических (формализованных) методов для предварительной и общей оценки хозяйственной деятельности. Метод бухгалтерского и финансового анализа. Экономико-математические и эвристические методы.
лекция [40,1 K], добавлен 27.01.2010