Библиотека
|
ваш профиль |
Программные системы и вычислительные методы
Правильная ссылка на статью:
Банокин П.И., Ефремов А.А., Лунева Е.Е., Кочегурова Е.А.
Исследование применимости рекуррентных сетей LSTM в задаче поиска пользователей-экспертов социальных сетей
// Программные системы и вычислительные методы.
2017. № 4.
С. 53-60.
DOI: 10.7256/2454-0714.2017.4.24655 URL: https://nbpublish.com/library_read_article.php?id=24655
Исследование применимости рекуррентных сетей LSTM в задаче поиска пользователей-экспертов социальных сетей
DOI: 10.7256/2454-0714.2017.4.24655Дата направления статьи в редакцию: 08-11-2017Дата публикации: 11-01-2018Аннотация: В статье исследуется применимость рекуррентных сетей долгой-краткосрочной памяти (long short-term memory, LSTM) для бинарной классификации текстовых сообщений социальной сети Twitter. Спроектирован трехэтапный процесс классификации, позволяющий выполнять отдельный анализ пиктограмм и проверку текста на нейтральность. Проверена точность классификации эмоциональной полярности текстовых сообщений с использованием сети LSTM и векторных представлений слов. Определен процент совпадений векторных представлений слов с тренировочным набором данных, позволяющий получить приемлемую точность классификации. Проведена оценка скорости обучения LSTM-сети и использования памяти. Для решения задачи классификации текстовых сообщений применены методы обработки естественного языка и машинного обучения по прецедентам. Оптимизирована алгоритмическая база обработки текстовых данных из социальных сетей, полученная в результате применения нейронных сетей LSTM. Новизна предлагаемого метода решения обуславливается выполнением предварительной обработки сообщений, позволяющей повысить точность классификации, и использованием конфигурации нейронной сети с учетом специфики текстовых данных социальных сетей. Ключевые слова: рекуррентные нейронные сети, обработка естественного языка, анализ эмоций, сети долгой-краткосрочной памяти, социальные сети, векторные представления слов, Твиттер, предварительная обработка текста, рекуррентная сеть, бинарная классификацияРабота выполнена при финансовой поддержке РФФИ (проект №17-07-00034 А). Abstract: The article explores the applicability of long short-term memory (LSTM) recurrent networks for the binary classification of text messages of the social network Twitter. A three-stage classification process has been designed, allowing a separate analysis of pictograms and verification of the text for neutrality. The accuracy of the classification of the emotional polarity of text messages using the LSTM network and vector representations of words was verified. The percentage of coincidences of vector representations of words with a training set of data is determined, which makes it possible to obtain an acceptable classification accuracy. The estimation of the learning speed of the LSTM network and the use of memory was carried out. To solve the task of classifying text messages, methods of processing natural language and machine learning using precedents are applied. The algorithmic base for processing text data from social networks, obtained as a result of the application of LSTM neural networks, has been optimized. The novelty of the proposed solution method is due to the implementation of pre-processing of messages, which allows to improve the accuracy of classification, and the use of the neural network configuration taking into account the specifics of text data of social networks. Keywords: recurrent neural networks, natural language processing, sentiment analysis, LSTM networks, social networks, word embeddings, Twitter, text data preprocessing, reccurent network, binary classificationВведение. Использование методов обработки естественного языка позволяет в автоматическом режиме получить знания из текстовых документов. Автоматический анализ текста имеет большую применимость для анализа контента, генерируемого пользователями социальных сетей. Исследование текстов позволяет вычислить эмоциональную оценку, определить тематику, психологический профиль автора и отношения между субъектами. В задаче идентификации пользователей-экспертов методы обработки естественного языка могут быть использованы при построении социального графа и классификации найденных пользователей в зависимости от эмоциональной полярности сообщений. Целью работы является исследование применимости нейронной сети LSTM, используемой совместно с векторными представления слов, для выполнения бинарной классификации сообщений пользователей-экспертов социальной сети Twitter. Применимость оценивается на основе данных о точности классификации и характеристик быстродействия: времени обучения и объема используемой памяти. Дополнительно необходимо проверить влияние размерности векторных представлений слов на точность результата бинарной классификации. Теоретический анализ. Простейшие в реализации способы анализа текста не учитывают порядок слов в тексте. К данной группе методов относятся «корзина слов» (характеристики текста вычисляются на основе итогового значения характеристик отдельных слов без учета их связей), наивный классификатор Байеса и др. [1].Очевидным следствием этих методов является невозможность учета влияния отрицания на последующие слова. Для текстов, состоящих из грамматически и пунктуационно верных предложений, возможно построение и исследование дерева синтаксического разбора предложений [1]. В дереве синтаксического разбора удобно отследить распространение отрицания, влияние усиливающих частиц, выделить узлы, относящиеся к отдельной характеристике исследуемого явления [2]. Существующие инструменты для синтаксического анализа предложений, такие как Stanford NLP [3], поддерживают ограниченный перечень языков. Тексты, созданные пользователями социальных сетей, отличаются наличием грамматических и пунктуационных ошибок, использованием нетипичных аббревиатур, обозначений и сленговых выражений. Вследствие этого отсутствует возможность создания верного дерева синтаксического разбора. Также коллекции слов и количественных характеристик, соответствующих им, включая эмоциональную окраску, создаются вручную в результате работы экспертов [4]. Такие коллекции могут быть использованы в работе алгоритмов анализа естественного языка. Согласно работам авторов [5, 6], для анализа текстов могут быть использованы классификаторы на основе нейронных сетей. Часто используемыми архитектурами для анализа тестовых данных являются сверточные нейронные сети (convolution neural network, CNN) и рекуррентные LSTM-нейронные сети. Отличительной особенностью этих нейронных сетей является способность работы с входными данными нефиксированной длины. Также оба типа нейронных сетей анализируют не слова по отдельности, а последовательности слов [5, 6]. Точность классификации с использованием сверточных нейронных сетей составляет 76%-95% в зависимости от используемого набора данных [5]. В работе [16] отмечаются сопоставимые значения точности LSTM и сверточных сетей при решении задачи бинарной классификации текстов. Архитектура сверточной сети предполагает выполнение заранее определенного количества фильтров для элементов исследуемого набора данных и последующее применение полносвязной нейронной сети прямого распространения [5]. Рекуррентная сеть LSTM обрабатывает по порядку каждый элемент текста. При обработке каждого последующего элемента данных на вход подается состояние сети, полученное на предыдущем шаге, и новый элемент коллекции данных. Применение рекуррентной сети позволяет отследить изменение характеристики при последовательном анализе элементов (слов) текста. Анализ средствами нейронной сети LSTM или CNN может производиться на уровне символов и на уровне векторных представлений слов [7]. При проведении анализа на уровне слов каждое слово предложения заменяется k-мерным вектором `X=(x_(1),x_(2),...,x_(k))` числовых значений (`x_(i)inR` ). Базы, содержащие векторные представления слов, создаются в результате выполнения специальных алгоритмов, наиболее популярными из которых являются Glove [8], fastText [9] и Word2Vec [10]. Готовые к использованию векторные представления слов созданы на основе текстов пользователей социальных сетей Wikipedia, Twitter, IMDB и других источников. Преимуществом использования готовых коллекций векторов слов является упрощение процесса подготовки и предварительной обработки данных, так как процесс обучения требует меньшего количества тренировочных данных [11]. Главное достоинство использования векторных представлений слов нейронными сетями проявляется для данных, отсутствующих в тренировочном наборе. При наличии этих слов в базе векторных представлений, и имеющих либо близкое смысловое значение, либо относящихся к одному классу значений (цвет, форма и т.д.) нейронная сеть будет возвращать результат, схожий с тренировочным набором. База векторных представлений может быть обновлена и дополнена без переобучения нейронной сети. Возможным недостатком использования векторных представлений слов является загрузка не только состояния обученной нейронной сети, но и базы данных слов, которая может включать более миллиона записей. Каждая запись может иметь 300 и более измерений. Также существует вероятность отсутствия слитных сложных (с несколькими корнями), устаревших и редких слов в базе векторных представлений. Процесс классификации сообщений. Предлагаемый подход заключается в использовании трехэтапной классификации для снижения количества ошибочных результатов (рис. 1). I этап – анализ пиктограмм. Производится исследование пиктограммы – комбинации типографских символов для отображения эмоций. На этом этапе используется коллекция предварительно классифицированных пиктограмм. II этап – оценка эмоциональной окраски текста. Производится выявление слов с субъективной эмоциональной окраской. Для проверки слов применяется коллекция слов SentiWordNet [12]. Для анализируемого текста рассчитывается эмоциональный максимум `E_(max)` – максимальное по модулю значение эмоциональной окраски слова в тексте. III этап – отнесение к классу эмоций. Если эмоциональный максимум превышает пороговое значение `alpha` , т.е. `E_(max)>alpha` , происходит обработка текста с использованием классификатора на основе нейронной сети. Если же `E_(max)<=alpha` , тексту присваивается класс на основе анализа пиктограмм. Если пиктограммы отсутствуют, текст считается нейтральным. Рис. 1 – Процесс классификации сообщения социальной сети Twitter Процесс преобразования данных. В процессе преобразования данных формируется словарь уникальных слов и загружается коллекция векторных представлений. Найденные слова преобразуются в соответствии с коллекцией векторных представлений: сокращенные формы отрицания глаголов, притяжательные формы существительных могут разделяться пробелом. После преобразования слов выполняется поиск соответствующих векторных представлений. Текст (одно или несколько сообщений социальной сети Twitter) преобразуется в упорядоченную последовательность векторных представлений в виде матрицы `psi` размера `mxxn`, где `m` – количество элементов выборки данных, `n` – максимально возможная длина исследуемого сообщения. Тогда `psi_(ij)` соответствует векторному представлению j-го слова в i-м сообщении. Рис. 2 – Кодирование входных данных При выполнении обучения нейронной сети преобразование выполняется в несколько итераций, так как хранение матрицы тренировочного набора данных может занимать значительный объем памяти. Экспериментальный анализ. В ходе экспериментального анализа выполняется оценка применимости архитектуры нейронной сети LSTM по следующим критериям: 1. Зависимость точности результата от размерности векторных представлений слов. 2. Точность совпадений векторных представлений слов и тренировочного набора данных. 3. Точность классификации. Способность нейронной сети определять эмоциональную окраску текста с отрицательными частицами и глаголами. Способность нейронной сети к обобщению – правильной классификации сообщений пользователей, отсутствующих в тренировочном и верификационном наборах данных. В качестве набора векторных представлений слов использованы коллекции, созданные на основе текстов сайта Wikipedia [8]. Коллекции содержат 400000 векторных представлений, размерность которых равна 50, 100 и 200 измерений. Тренировочный набор данных, созданный на основе [13], включал 624077 сообщений социальной сети Twitter на английском языке. Средняя длина сообщения составила 13.19 слов. Количество уникальных слов – 340077, количество совпадений с коллекцией векторных представлений – 74442 (21.89% от количества уникальных слов). В качестве реализации нейронной LSTM сети использовался код, полученный из источника [14]. В нейронную сеть (рис. 3) внесены следующие изменения: 1. Добавлен метод для загрузки векторных представлений слов в формате Glove. 2. Однослойная нейронная LSTM-сеть заменена на трехслойную. Использование нескольких слоев может повысить устойчивость нейронной сети к переобучению [15]. 3. Изменен способ получения тренировочных и проверочных наборов данных. Тренировочные и проверочные наборы данных формируются на основе процедуры кросс-проверки для уменьшения вероятности переобучения нейронной сети. 4. Изменен метод очистки текста и загрузки тренировочного набора данных в соответствии с правилами хранения слов в коллекции векторных представлений. Очистка данных дополнена изменением притяжательных местоимений, отрицательных форм глаголов, отделением знаков препинания от находящихся рядом слов. Рис. 3 – Архитектура нейронной сети, используемой в эксперименте В процессе обучения LSTM сети использование оперативной памяти не превышало 2200 мегабайт. Время обучения составило 2.5 часа при количестве итераций, равным 100000. Коллекции векторов слов размерности 50, 100 и 200 обеспечили сравнительно одинаковые результаты обучения (±2.39%). Изменения кривой обучения и графика функции потерь в зависимости от номера итерации при использовании коллекции слов с размерностью 200 представлены на рисунках 4 и 5. В работе [16] также утверждается об отсутствии влияния размерности случайно проинициализированных векторов слов на точность классификации. Рис. 4 – График обучения рекуррентной сети LSTM Рис. 5 – График функции потерь Тестирование нейронной сети выполнено на коллекциях данных, ранее не использовавшихся для обучения и верификации. Выполнена проверка способности распознавания отрицания на коллекции простых предложений, включающих подлежащее, сказуемое с отрицательной частицей, дополнения и определения. Также проведена оценка точности классификации сообщений пользователей Twitter, в том числе с исключением сообщений с незначительной эмоциональной окраской (). Результаты приведены в таблице 1. Таблица 1. Результаты тестирования обученной нейронной сети
Представленные результаты свидетельствуют о том, что нейронная сеть способна определять влияние отрицательных частиц и глаголов на эмоциональную окраску текста, и с высокой точностью классифицирует текстовые сообщения, представленные простым предложением. Сообщения со сложной структурой классифицируются с меньшей, но достаточной точностью. Совпадение 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.-С. 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 References
1. Perkins J. Python 3 Text Processing with NLTK 3 Cookbook.-Birmingham, UK: Packt Publishing Ltd, 2014 .-304 s.
2. Luneva E.E., Efremov A.A., Banokin P.I. Sposob otsenki emotsiĭ pol'zovateleĭ s ispol'zovaniem nechetkoĭ logiki na primere sotsial'noĭ seti Twitter // Sistemy upravleniya i informatsionnye tekhnologii. – Voronezh, Izd-vo OOO «Nauchnoe izdatel'stvo «Nauchnaya kniga», 2015.-No1.1(59), s. 157-162. 3. The Stanford Parser: A statistical parser // The Stanford Natural Language Processing Group URL: https://nlp.stanford.edu/software/lex-parser.shtml (data obrashcheniya: 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.-S. 1746-1752. 6. Dos Santos C. N., Gatti M. Deep Convolutional Neural Networks for Sentiment Analysis of Short Texts //COLING. – 2014. – S. 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.-S. 649-658. 8. GloVe: Global Vectors for Word Representation // Stanford NLP URL: https://nlp.stanford.edu/projects/glove/ (data obrashcheniya: 10.10.2017). 9. FastText-Library for fast text representation and classification // GitHub URL: https://github.com/facebookresearch/fastText (data obrashcheniya: 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.-S. 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 (data obrashcheniya: 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/ (data obrashcheniya: 10.10.2017). 14. Perform sentiment analysis with LSTMs, using TensorFlow // O'Reilly Media URL: Perform sentiment analysis with LSTMs, using TensorFlow (data obrashcheniya: 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.-S. 338-342. 16. Hong J., Fang M. Sentiment analysis with deeply learned distributed representations of variable length texts: tekhnicheskii otchet. Stanford, USA: Stanford University, 2015. 9 c |