Исследование применимости рекуррентных сетей LSTM в задаче поиска пользователей-экспертов социальных сетей
Банокин Павел Иванович
ассистент, Томский политехнический университет 634028, Россия, Томская область, г. Томск, ул. Ленина, 2, оф. 103а
Ефремов Александр Александрович
ассистент, Томский политехнический университет 634028, Россия, Томская область, г. Томск, ул. Ленина, 2, оф. 115а
Лунева Елена ^геньевна
кандидат технических наук доцент, Томский политехнический университет 634028, Россия, Томская область, г. Томск, ул. Ленина, 2, оф. 115а
Кочегурова Елена Алексеевна
кандидат технических наук доцент, Томский политехнический университет 634028, Россия, Томская область, г. Томск, ул. Ленина, 2, оф. 112а
Статья из рубрики "Системный анализ, поиск, анализ и фильтрация информации"
Аннотация. В статье исследуется применимость рекуррентных сетей долгой-краткосрочной памяти (long short-term memory, LSTM) для бинарной классификации текстовых сообщений социальной сети Twitter. Спроектирован трехэтапный процесс классификации, позволяющий выполнять отдельный анализ пиктограмм и проверку текста на нейтральность. Проверена точность классификации эмоциональной полярности текстовых сообщений с использованием сети LSTM и векторных представлений слов. Определен процент совпадений векторных представлений слов с тренировочным набором данных, позволяющий получить приемлемую точность классификации. Проведена оценка скорости обучения LSTM-сети и использования памяти. Для решения задачи классификации текстовых сообщений применены методы обработки естественного языка и машинного обучения по прецедентам. Оптимизирована алгоритмическая база обработки текстовых данных из социальных сетей, полученная в результате применения нейронных сетей LSTM. Новизна предлагаемого метода решения обуславливается выполнением предварительной обработки сообщений, позволяющей повысить точность классификации, и использованием конфигурации нейронной сети с учетом специфики текстовых данных социальных сетей.
Ключевые слова: рекуррентные нейронные сети, обработка естественного языка, анализ эмоций, сети долгой-краткосрочной памяти, социальные сети, векторные представления слов, Твиттер, предварительная обработка текста, рекуррентная сеть, бинарная классификация
DOI: 10.7256/2454-0714.2017.4.24655
Дата направления в редакцию: 09-11-2017
Дата рецензирования: 20-11-2017
Работа выполнена при финансовой поддержке РФФИ (проект №17-07-00034 А).
Введение. Использование методов обработки естественного языка позволяет в автоматическом режиме получить знания из текстовых документов. Автоматический анализ текста имеет большую применимость для анализа контента, генерируемого пользователями социальных сетей. Исследование текстов позволяет вычислить эмоциональную оценку, определить тематику, психологический профиль автора и отношения между субъектами. В задаче идентификации пользователей-экспертов методы обработки естественного языка могут быть использованы при построении социального графа и классификации найденных пользователей в зависимости от эмоциональной полярности сообщений.
Целью работы является исследование применимости нейронной сети LSTM, используемой совместно с векторными представления слов, для выполнения бинарной классификации сообщений пользователей-экспертов социальной сети Twitter. Применимость оценивается на основе данных о точности классификации и характеристик быстродействия: времени обучения и объема используемой памяти. Дополнительно необходимо проверить влияние размерности векторных представлений слов на точность результата бинарной классификации.
Теоретический анализ. Простейшие в реализации способы анализа текста не учитывают порядок слов в тексте. К данной группе методов относятся «корзина слов» (характеристики текста вычисляются на основе итогового значения характеристик отдельных слов без учета их связей), наивный классификатор Байеса и др.
■^.Очевидным следствием этих методов является невозможность учета влияния отрицания на последующие слова.
Для текстов, состоящих из грамматически и пунктуационно верных предложений, возможно построение и исследование дерева синтаксического разбора предложений ■il. В дереве синтаксического разбора удобно отследить распространение отрицания, влияние усиливающих частиц, выделить узлы, относящиеся к отдельной характеристике
исследуемого явления ■^i. Существующие инструменты для синтаксического анализа
предложений, такие как Stanford NLP J31, поддерживают ограниченный перечень языков. Тексты, созданные пользователями социальных сетей, отличаются наличием грамматических и пунктуационных ошибок, использованием нетипичных аббревиатур, обозначений и сленговых выражений. Вследствие этого отсутствует возможность создания верного дерева синтаксического разбора.
Также коллекции слов и количественных характеристик, соответствующих им, включая эмоциональную окраску, создаются вручную в результате работы экспертов J41. Такие коллекции могут быть использованы в работе алгоритмов анализа естественного языка.
Согласно работам авторов —для анализа текстов могут быть использованы классификаторы на основе нейронных сетей. Часто используемыми архитектурами для анализа тестовых данных являются сверточные нейронные сети (convolution neural network, CNN) и рекуррентные LSTM-нейронные сети. Отличительной особенностью этих нейронных сетей является способность работы с входными данными нефиксированной длины. Также оба типа нейронных сетей анализируют не слова по отдельности, а последовательности слов [5, б].
Точность классификации с использованием сверточных нейронных сетей составляет 7б%-95% в зависимости от используемого набора данных В работе t16 отмечаются сопоставимые значения точности LSTM и сверточных сетей при решении задачи бинарной классификации текстов.
Архитектура сверточной сети предполагает выполнение заранее определенного количества фильтров для элементов исследуемого набора данных и последующее
применение полносвязной нейронной сети прямого распространения [51.
Рекуррентная сеть LSTM обрабатывает по порядку каждый элемент текста. При обработке каждого последующего элемента данных на вход подается состояние сети, полученное на предыдущем шаге, и новый элемент коллекции данных. Применение рекуррентной сети позволяет отследить изменение характеристики при последовательном анализе элементов (слов) текста.
Анализ средствами нейронной сети LSTM или CNN может производиться на уровне
символов и на уровне векторных представлений слов [71. При проведении анализа на уровне слов каждое слово предложения заменяется k-мерным вектором X — ■ к) числовых значений (х^^Н )■ Базы, содержащие векторные
представления слов, создаются в результате выполнения специальных алгоритмов,
наиболее популярными из которых являются Glove J81, fastText [91 и Word2Vec t101. Готовые к использованию векторные представления слов созданы на основе текстов пользователей социальных сетей Wikipedia, Twitter, IMDB и других источников.
П реимуществом использования готовых коллекций векторов слов является упрощение процесса подготовки и предварительной обработки данных, так как процесс обучения
требует меньшего количества тренировочных данных [11]. Главное достоинство использования векторных представлений слов нейронными сетями проявляется для данных, отсутствующих в тренировочном наборе. При наличии этих слов в базе векторных представлений, и имеющих либо близкое смысловое значение, либо относящихся к одному классу значений (цвет, форма и т.д.) нейронная сеть будет возвращать результат, схожий с тренировочным набором. База векторных представлений может быть обновлена и дополнена без переобучения нейронной сети.
Возможным недостатком использования векторных представлений слов является загрузка не только состояния обученной нейронной сети, но и базы данных слов, которая может включать более миллиона записей. Каждая запись может иметь 300 и более измерений. Также существует вероятность отсутствия слитных сложных (с несколькими корнями), устаревших и редких слов в базе векторных представлений.
Процесс классификации сообщений. Предлагаемый подход заключается в использовании трехэтапной классификации для снижения количества ошибочных результатов (рис. 1).
I этап - анализ пиктограмм. Производится исследование пиктограммы - комбинации типографских символов для отображения эмоций. На этом этапе используется коллекция предварительно классифицированных пиктограмм.
II этап - оценка эмоциональной окраски текста. Производится выявление слов с субъективной эмоциональной окраской. Для проверки слов применяется коллекция слов
SentiWordNet Для анализируемого текста рассчитывается эмоциональный максимум = ^ - максимальное по модулю значение эмоциональной окраски слова в тексте.
ГПаХ
III этап - отнесение к классу эмоций. Если эмоциональный максимум превышает пороговое значение а / т-е- -E'niax-^'-^ ' ПР°ИСХ°ДИТ обработка текста с использованием классификатора на основе нейронной сети. Если же / тексту присваивается класс на основе анализа пиктограмм. Если пиктограммы отсутствуют, текст считается нейтральным.
Рис. 1 - Процесс классификации сообщения социальной сети Twitter
Процесс преобразования данных. В процессе преобразования данных формируется словарь уникальных слов и загружается коллекция векторных представлений. Найденные слова преобразуются в соответствии с коллекцией векторных представлений: сокращенные формы отрицания глаголов, притяжательные формы существительных могут разделяться пробелом. После преобразования слов выполняется поиск соответствующих векторных представлений. Текст (одно или несколько сообщений социальной сети Twitter) преобразуется в упорядоченную последовательность векторных представлений в виде матрицы ф размера fnXTl> гДе ТП ~ количество элементов выборки данных, -максимально возможная длина исследуемого сообщения. Тогда фгу соответствует векторному представлению j-го слова в i-м сообщении.
Рис. 2 - Кодирование входных данных
При выполнении обучения нейронной сети преобразование выполняется в несколько итераций, так как хранение матрицы тренировочного набора данных может занимать значительный объем памяти.
Экспериментальный анализ. В ходе экспериментального анализа выполняется оценка применимости архитектуры нейронной сети LSTM по следующим критериям:
1. Зависимость точности результата от размерности векторных представлений слов.
2 . Точность совпадений векторных представлений слов и тренировочного набора данных.
3 . Точность классификации. Способность нейронной сети определять эмоциональную окраску текста с отрицательными частицами и глаголами. Способность нейронной сети к обобщению - правильной классификации сообщений пользователей, отсутствующих в тренировочном и верификационном наборах данных.
В качестве набора векторных представлений слов использованы коллекции, созданные на основе текстов сайта Wikipedia J81. Коллекции содержат 400000 векторных представлений, размерность которых равна 50, 100 и 200 измерений. Тренировочный
набор данных, созданный на основе И31, включал 624077 сообщений социальной сети Twitter на английском языке. Средняя длина сообщения составила 13.19 слов. Количество уникальных слов - 340077, количество совпадений с коллекцией векторных представлений - 74442 (21.89% от количества уникальных слов).
В качестве реализации нейронной LSTM сети использовался код, полученный из источника J141. В нейронную сеть (рис. 3) внесены следующие изменения:
1. Добавлен метод для загрузки векторных представлений слов в формате Glove.
2 . Однослойная нейронная LSTM-сеть заменена на трехслойную. Использование нескольких слоев может повысить устойчивость нейронной сети к переобучению ii^l.
3 . Изменен способ получения тренировочных и проверочных наборов данных. Тренировочные и проверочные наборы данных формируются на основе процедуры кросс-проверки для уменьшения вероятности переобучения нейронной сети.
4 . И зменен метод очистки текста и загрузки тренировочного набора данных в соответствии с правилами хранения слов в коллекции векторных представлений. Очистка данных дополнена изменением притяжательных местоимений, отрицательных форм глаголов, отделением знаков препинания от находящихся рядом слов.
Промежуточные результаты
т
Рис. 3 - Архитектура нейронной сети, используемой в эксперименте
В процессе обучения LSTM сети использование оперативной памяти не превышало 2200 мегабайт. Время обучения составило 2.5 часа при количестве итераций, равным 100000.
Коллекции векторов слов размерности 50, 100 и 200 обеспечили сравнительно одинаковые результаты обучения (±2.39%). Изменения кривой обучения и графика функции потерь в зависимости от номера итерации при использовании коллекции
слов с размерностью 200 представлены на рисунках 4 и 5. В работе ^^ также утверждается об отсутствии влияния размерности случайно проинициализированных векторов слов на точность классификации.
0 1 10Ш00
Рис. 4 - График обучения рекуррентной сети LSTM
0.5
Г"™4
ЕЙ и 0 ,. 1
0
0 1 100 000 Рис. 5 - График функции потерь
Тестирование нейронной сети выполнено на коллекциях данных, ранее не использовавшихся для обучения и верификации. Выполнена проверка способности распознавания отрицания на коллекции простых предложений, включающих подлежащее, сказуемое с отрицательной частицей, дополнения и определения. Также проведена оценка точности классификации сообщений пользователей Twitter, в том
числе с исключением сообщений с незначительной эмоциональной окраской ( ).
Результаты приведены в таблице 1.
Таблица 1. Результаты тестирования обученной нейронной сети
Те с т LSTM-сеть L S T M с е ть и эмоциональный максимум > 0.3
Простые предложения с глаголом и отрицательной частицей, 100 шт. 96% 96%
Сообщения пользователей Twitter, не использованные в тренировочном наборе данных, 100 шт. 77% 87.8%
Представленные результаты свидетельствуют о том, что нейронная сеть способна определять влияние отрицательных частиц и глаголов на эмоциональную окраску текста, и с высокой точностью классифицирует текстовые сообщения, представленные простым предложением. Сообщения со сложной структурой классифицируются с меньшей, но достаточной точностью. Совпадение 21.89% уникальных слов тренировочного набора данных с коллекцией векторных представлений является достаточным для получения представленных выше результатов классификации.
Заключение. Проведенное исследование позволяет утверждать, что рекуррентные нейронные сети LSTM обеспечивают приемлемую точность при выполнении бинарной классификации коротких текстовых сообщений, созданных пользователями социальной сети Twitter. Предварительное исключение текстовых сообщений с незначительной эмоциональной окраской позволяет повысить количество достоверных результатов классификации. Однако, увеличение значения размерности векторных представлений слов более 50 не способствует повышению точности бинарной классификации эмоциональной окраски.
Дальнейшие исследования будут направлены на усовершенствование архитектуры нейронной сети LSTM с применением операции свертки и предварительной обработки слов, отсутствующих в коллекции векторных представлений. Работа выполнена при финансовой поддержке РФФИ (проект №17-07-00034 А).
Работа выполнена при финансовой поддержке РФФИ (проект №17-07-00034 А). Библиография
1. Perkins J. Python 3 Text Processing with NLTK 3 Cookbook.-Birmingham, UK: Packt Publishing Ltd, 2014 .-304 с.
2. Лунева Е.Е., Ефремов А.А., Банокин П.И. Способ оценки эмоций пользователей с использованием нечеткой логики на примере социальнои сети Twitter // Системы
управления и информационные технологии. - Воронеж, Изд-во ООО «Научное издательство «Научная книга», 2015.-No1.1(59), с. 157-162.
3. The Stanford Parser: A statistical parser // The Stanford Natural Language Processing Group URL: https://nlp.stanford.edu/software/lex-parser.shtml (дата обращения: 10.10.2017).
4. Mozetic I, Grcar M, Smailovic J. . Perc M. Multilingual Twitter Sentiment Classification: The Role of Human Annotators // PLoS ONE.-2016.-№11(5).
5. Kim Y. Convolutional Neural Networks for Sentence Classification // Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing.-Stroudsburg, USA: Association for Computational Linguistics, 2014.-С. 1746-1752.
6. Dos Santos C. N., Gatti M. Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts //COLING. - 2014. - С. 69-78.
7. Zhang X., Zhao J., LeCun Y. Character-level Convolutional Networks for Text Classification // Advances in Neural Information Processing Systems.-NY, USA: Curran Associates, 2015.-С. 649-658.
8. GloVe: Global Vectors for Word Representation // Stanford NLP URL: https://nlp.stanford.edu/projects/glove/ (дата обращения: 10.10.2017).
9. FastText-Library for fast text representation and classification // GitHub URL: https://github.com/facebookresearch/fastText (дата обращения: 10.10.2017)
10. Mikolov T., Sutskever I., Chen K., Corrado G., Dean J., Distributed representations of words and phrases and their compositionality // Advances in neural information processing systems.-2013.-№26.-C. 3111-3119.
11. Johnson R., Zhang T. Neural Networks for Text Categorization: Shallow Word-level vs. Deep Character-level // arXiv URL: https://arxiv.org/abs/1609.00718 (дата обращения: 10.10.2017).
12. Baccianella S., Esuli A., Sebastiani F. SentiWordNet 3.0: An Enhanced Lexical Resource for Sentiment Analysis and Opinion Mining. // Proceedings of the International Conference on Language Resources and Evaluation.-Valletta, Malta: European Language Resources Association (ELRA, 2010.
13. Twitter Sentiment Analysis Training Corpus // Thinkbook URL: http://thinknook.com/twitter-sentiment-analysis-training-corpus-dataset-2012-09-22/ (дата обращения: 10.10.2017).
14. Perform sentiment analysis with LSTMs, using TensorFlow // O'Reilly Media URL: Perform sentiment analysis with LSTMs, using TensorFlow (дата обращения: 16.10.2017).
15. Sak H., Senior A., Beaufays F. Long Short-Term Memory Recurrent Neural Network Architectures for Large Scale Acoustic Modeling // INTERSPEECH-2014.-Singapore: ISC, 2014.-С. 338-342.
16. Hong J., Fang M. Sentiment analysis with deeply learned distributed representations of variable length texts: технический отчет. Stanford, USA: Stanford University, 2015. 9 c