ВВЕДЕНИЕ 2
1. ПОСТАНОВКА ЗАДАЧИ ПО СОЗДАНИЮ ПРОГРАММЫ ПО
ОПРЕДЕЛЕНИЮ СЕМАНТИЧЕСКОГО НАСТРОЕНИЯ ТЕКСТА 5
1.1. Цель создания программы 5
1.2. Обзор существующих методов 6
1.3. Выбор методов для реализации 7
1.4. Выбор инструментов разработки 8
2. ОПИСАНИЕ РАБОТЫ 10
2.1. Реализация метода, основанного на словарях и лингвистике.
Эксперименты 10
2.2 Реализация метода, основанного на нейронной сети. Эксперименты. .. 12
ЗАКЛЮЧЕНИЕ 24
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 25
ПРИЛОЖЕНИЕ. ПРОГРАММНЫЙ КОД
До наступления века современных технологий людям приходилось проделывать множество работы вручную, если появлялась необходимость проанализировать текст, будь то с эмоциональной точки зрения, или же с точки зрения структуры (неких лингвистических особенностей и закономерностей). Порой данная задача была непосильна в силу огромного объема данных, которые просто невозможно проштудировать в адекватные временные сроки, работа могло затянуться так сильно, что к моменту ее потенциального завершения, задача уже могла потерять свою актуальность. Ни смотря на сложность выполнения работы, такой способ анализа необходим в различных отраслях, таких как медиа, социальных науках, политологии и других сферах. С наступлением цифровой эпохи, повлекшей собой огромный прогресс в развитии компьютерных технологий, задача анализа текста стала решаемой в короткие временные промежутки. А в совокупности с тем фактом, что в современной IT-индустрии data mining, так называемый сбор и анализ огромного количества данных, в текущий момент занимает передовые позиции, решение задачи определения семантического настроения текста стало довольно популярным и прикладным в IT.
Окунувшись в историю развития инструментов анализа текста, можно получить более полное и цельное представление об этом направлении. В XVII веке общество сильно зависело от церкви, текстовый анализ производился религиозными властями для нахождения инакомыслящих авторов текстов для последующих гонений. В конце XIX века газеты набрали популярность у больших масс и начали конкурировать с Библией. Вследствие этого, анализ текста газет стал частым явлением, где тематика религии разбавилась научными топиками, различными сплетнями и скандалами публичных лиц. В 1970-х годах первенство перешло к опросам, а компьютеры еще не были в состоянии производить такие расчетные операции. В начале 2000-ых, наконец, новейшие технологии начинают постепенно доминировать в этом вопросе, производя всю работу за человека за доли секунды. С каждым годом уровень сложности решаемых задач растет, а время, затраченное на их решение, снижается, благодаря появлению новых методов и технологий, и модернизации уже имеющихся.
В целом, анализ текста с точки зрения эмоциональной составляющей делится на 2 категории:
Sentiment analysis - определение общего настроя писателя текст: субъективный (положительный или отрицательный) или же объективный (нейтральный). К примеру, предложение «Сегодня пообедал наивкуснейшим блюдом», вероятно, несет положительный оттенок, в то время, как «Путин четвертый президент в истории Российской Федерации» не имеет эмоциональной стороны и, скорее всего, будет определено в категорию объективных предложений (нейтральных). Для лучшего восприятия здесь представлена визуализация в виде треугольника с тремя полюсами (Рис. 1) , обозначающими настроение текста и Term sense position (место самого текста) в этой фигуре. Расстояние между текстом и полюсами напрямую говорит о степени принадлежности к тому или иному настроению, демонстрируя, что порой нет однозначного интерпретирования, ведь если текст окажется в середине треугольника, то появится очевидная неопределенность.
Emotion analysis - в свою очередь, несет с собой более подробный разбор предложения, выделяя уже ту или иную эмоцию, преобладающую в тексте. В качестве примеров эмоций представлены (Рис. 2): предвосхищение, радость, доверие, страх, удивление, грусть, отвращение, злость.
В рамках данной дипломной работы речь будет идти только о sentiment analysis, определении семантического настроения текста с точки зрения общего настроя автора, на основе твитов - сообщений в социальной сети twitter, созданной для обмена информацией между пользователями, преимущественно в текстовой форме.
В результате проделанной работы была написана программа, которая реализует два различных алгоритма для определения настроения по тексту. Один из них основан на словаре и лингвистике, а второй на сверточной нейронной сети. Программа создана для людей, работающих с большими данными и требует минимальных знаний в программировании. Были проведены эксперименты для улучшения точности определения настроения текста, лучший результат в итоге составил 0.7916. Задача определения тональности текста актуальна в современном мире IT, а извлеченная информация имеет широкий спектр применения.
1. Луис Педро Коэльо, Вилли Ричарт. Построение систем машинного обучения на языке Python. 2016 - 304 с
2. Билл Любанович. Introducing Python: Modern Computing in Simple Packages. 2017 - 480 с
3. Кристофер Бишоп. Neural networks for pattern recognition 1995 - 23 с
4. Франк Эйб. Data Mining: Practical Machine Learning Tools and Techniques. 1999 - 558 с.
5. Статья: Training deep neural networks.https://arxiv.org/pdf/1412.6596.pdf
6. Статья из Википедии:https: //ru.wikipedia.org/wiki/PyCharm