Введение 4
1. Литература 7
1.1. Определение тональности текста 7
1.1.1. Лингвистическая структура предложения 7
1.1.2. Рекурсивные нейронные модели 8
1.1.3. Сверточные нейронные сети в классификации предложений 9
1.1.4. LSTM в виде дерева 12
1.2. Семантическое векторное представление 13
1.2.1. NLP и задача семантического векторного представления слов 13
1.2.2. Описание задачи для слов отсутствующих в обучающей выборке 14
1.2.3. Модель Mimick 14
1.2.4. Модель Enriching 16
1.2.5. Модель Glove 18
2. Разработки 21
2.1. Определение тональности 21
2.1.1. Распределение эмоционального окраса в предложениях 21
2.1.2. Увеличение выборки: замена синонимов 22
2.1.3. Увеличение выборки: замена слова на усредненное описание 23
2.1.4. Углубление архитектуры нейронной сети 24
2.2. Векторное представление слов 24
2.2.1. Модель Mimick и наша модификация 24
2.2.2. Наша модификация GloVe + SISG 25
3. Способы валидации 26
3.1. Валидация на моделировании английского языка .... 26
4. Детали реализации 28
4.1. Детали реализации методов векторного представления . 28
4.1.1. Mimick с контекстным вектором 28
4.1.2. GloVe + SISG 29
5. Результаты экспериментов 31
5.1. Результаты экспериментов разработанных методов определения тональности 31
5.1.1. Оценка методик на существующих реализациях . 31
5.1.2. Эксперимент: замена слова на его описание .... 33
5.2. Результаты экспериментов разработанных методов векторного представления слов 33
5.2.1. Результаты модификации модели Mimick 33
5.2.2. Результаты GloVe + SISG 35
Заключение 36
Список литературы 37
Область обработки естественных языков (англ. Natural Language Proccessing, далее NLP) активно развивается несколько десятков лет. Задачи решаемые этой областью имеют широкое применение в реальном мире, например, после появления различных интернет-сервисов, которые предоставляют возможность динамически создавать или менять контент интернет-страниц, текстовой информации стало очень много и ее ручная обработка стала занимать невероятное количество времени. NLP позволяет автоматизировать обработку текста с целью выявления некоторой структурированной информации, которая может быть использована в каких-либо бизнес-целях. В данной работе была рассмотрена задача определения тональности текста. Эта задача не но¬ва и актуальна по сей день. Об этом говорят проводимые каждый год конференции (Sentiment Analysis Symposium [19], SemEval [18]). Что же такого интересного в этой задаче, почему она привлекает такой интерес, и почему решение этой задачи является важным для области анализа текста на естественном языке? Для начала стоит понять в чем заключается эта задача и уже потом посмотреть на ее применение. Смысл задачи заключается в том, чтобы по одной фразе, предложению или абзацу, предсказать содержащуюся в них эмоцию, сказать какой характер носит текст: позитивный или негативный, или усложняя эту задачу производить оценку по шкале (например, от 1 до 5 звезд). Получается, данный метод может быть применен по отношению к любому тексту. Существует много интернет-сервисов, где данный метод применяется для оценки пользовательского мнения о товарах. Хорошим примером является Google Product Search, Bing Shopping [12]. В этих сервисах совместно с определением эмоционального окраса текста используются техники извлечения атрибутов объекта и определяется мнение не все¬го объекта, а его атрибутах или характеристиках. Понятное дело, что задача не была бы такой актуальной, если бы ее применение было воз¬можно только в интернет-сервисах. Так в Gollup Poll [12] исследовали корреляцию эмоционального окраса сообщений в твиттере и показателем доверия потребителя, в результате было выявлено, что изменение некоторых экономических параметров может влиять на мнение людей в социальных сетях. Ключевым применением, конечно, является предсказание трендов на рынках биржевых товаров [12], которое дало бы преимущество в игре на таком рынке. Данную задачу можно решать как методами основанными на словарях, так и с использованием методов машинного обучения. В работе будут рассмотрены алгоритмы, основанные на машинном обучении. Задача может быть сформулирована, как задача двухклассовой или многоклассовой классификации. Для ее постановки необходимы некоторые текстовые признаки и предсказываемая метка этого текста, на их основе может быть построена выборка, которая будет использована при обучении моделей. Модели описанные в этой работе используют некоторое машинное представление текста, такой способ представления текста подразумевает использование чисел или вектора из чисел при представлении конкретного слова. Данный вектор может быть представлен различными способа¬ми. Например, наиболее интуитивный способ, представить слово в виде вектора состоящего из нулей и единицы в той позиции, где это слово расположено в словаре. В данной работе были рассмотрены различные способы представления слов. Семантическое векторное представление слов - это отдельная область в NLP. Она занимается разработкой алгоритмов, получающих векторные представления слов способных распозновать семантику, например, sim(v(good), v(bad))« 1. Подробнее о свойствах такого представления слов будет описано в разделе 1.2. Важно отметить, что решаемая задача, позволяет представлять вектор более компактно и, как показывают результаты из статей [4] [10] [15] [5] позволяют улучшать результат решения целевых задач, например, задачи определения тональности текстов. В области векторного представления остается много нераскрытых вопросов. Одним из таких вопросов является векторное представление слов, отсутствующих в словаре. Решаемая в этой диссертации задача только недавно получила широкое распространение, но уже сейчас можно наблюдать непреодолимый интерес исследователей в области обработки естественного языка. Об этом могут говорить последние конференции ориентированные на эту область, такие как: EMNLP, CoNLL, ACL и т.п. В этих конференциях всегда специальным образом выделялись исследования связанные с возможностью получения векторных представлений по тем словам, которые могли не участвовать в процессе обучения. Данная проблема может быть поставлена как расширение основной задачи по векторному представлению слов, поэтому многие исследователи, занимающиеся этим направлением, являются также авторами статей, решающих и эту проблему. На текущий момент существует несколько работ решающих эту задачу. Одной из таких работ является, где авторы статьи моделируют векторное представление слова, как усредненную поэлементную сумму составных частей слова, представленных в векторной форме. Также существуют и более тривиальные подходы для решения этой задачи, например, предложенная в статье модель [16], где проверяется гипотеза, что при помощи информации о символах можно восстановить векторное представление слова по уже составленному словарю. Оба подхода будут рассмотрены в данной работе и будут приведены результаты валидации по каждому алгоритму. В данной работе были использованы различные подходы для решения этой задачи. Например, описанный в разделе 2.2.1 алгоритм, восстанавливает векторные представление лучше, чем тот алгоритм, на котором были основаны разработки описанные в главе 2, но при этом такой результат все равно сильно уступал текущим state-of-the-art работам в области векторного представления слов. Также в этой работе возникли проблемы по оценке качества полученных векторных представлений подробнее об этом будет рассказано в разделе 5.2.1. Был разработан и реализован еще один метод решающих данную задачу, который был основан на двух работах. Такой алгоритм получил state-of-the-art результат на некоторых валидационных выборках и был получен state-of-the-art результат при решении задачи языкового моделирования английского языка.
В данной магистерской диссертации были изучены и реализованы работы последних лет в области задачи определения тональности текста и векторного представления слов. Были разработаны алгоритмы машинного обучения и реализованы в виде программных систем способных определять тональность текста и способных получать векторные представления слов. В рамках диссертационной работы был разработан и реализован алгоритм векторного представления слов для слов, отсутствующих в словаре, были проведены эксперименты по обучению искусственных нейронных сетей для решения этой задачи и проведена валидация полученных векторных представлений.
[1] Arora Sanjeev, Liang Yingyu, Ma Tengyu. A simple but tough-to-beat baseline for sentence embeddings. — 2016.
[2] Botha Jan, Blunsom Phil. Compositional morphology for word representations and language modelling // International Conference on Machine Learning. — 2014. — P. 1899-1907.
[3] Collobert R., Kavukcuoglu K., Farabet C. Torch7: A Matlab-like Environment for Machine Learning // BigLearn, NIPS Workshop. — 2011.
[4] Distributed representations of words and phrases and their compositionality / Tomas Mikolov, Ilya Sutskever, Kai Chen et al. // Advances in neural information processing systems. — 2013. — P. 3111— 3119.
[5] Enriching word vectors with subword information / Piotr Bojanowski, Edouard Grave, Armand Joulin, Tomas Mikolov // arXiv preprint arXiv:1607.04606.— 2016.
[6] Goller Christoph, Kuchler Andreas. Learning task-dependent distributed representations by backpropagation through structure // Neural Networks, 1996., IEEE International Conference on / IEEE.— Vol. 1. — 1996. — P. 347-352.
[7] Golub Gene H, Reinsch Christian. Singular value decomposition and least squares solutions // Numerische mathematik. — 1970. — Vol. 14, no. 5. - P. 403-420.
[8] Gradient-based learning applied to document recognition / Yann LeCun, Leon Bottou, Yoshua Bengio, Patrick Haffner // Proceedings of the IEEE. — 1998. — Vol. 86, no. 11. — P. 2278-2324.
[9] Harris Zellig S. Distributional structure // Word. — 1954,— Vol. 10, no. 2-3.— P. 146-162.
[10] Kim Yoon. Convolutional neural networks for sentence classification // arXiv preprint arXiv:1408.5882. — 2014.
[11] Loper Edward, Bird Steven. NLTK: The natural language toolkit // Proceedings of the ACL-02 Workshop on Effective tools and methodologies for teaching natural language processing and computational linguistics-Volume 1 / Association for Computational Linguistics. — 2002. — P. 63-70.
[12] McAuley Julian, Leskovec Jure, Jurafsky Dan. Learning attitudes and attributes from multi-aspect reviews // Data Mining (ICDM), 2012 IEEE 12th International Conference on / IEEE. — 2012,— P. 1020¬1025.
[13] Miller George A. WordNet: a lexical database for English // Communications of the ACM. — 1995. — Vol. 38, no. 11. — P. 39-41.
[14] Parsing natural scenes and natural language with recursive neural networks / Richard Socher, Cliff C Lin, Chris Manning, Andrew Y Ng // Proceedings of the 28th international conference on machine learning (ICML-11). — 2011. — P. 129-136.
[15] Pennington Jeffrey, Socher Richard, Manning Christopher. Glove: Global vectors for word representation // Proceedings of the 2014 conference on empirical methods in natural language processing (EMNLP). - 2014. - P. 1532-1543.
[16] Pinter Yuval, Guthrie Robert, Eisenstein Jacob. Mimicking word embeddings using subword RNNs // arXiv preprint arXiv:1707.06961. — 2017.
[17] Recursive deep models for semantic compositionality over a sentiment treebank / Richard Socher, Alex Perelygin, Jean Y Wu et al. // Proceedings of the conference on empirical methods in natural language processing (EMNLP) / Citeseer. — Vol. 1631. — 2013. — P. 1642.
[18] SemEval-2016 Task 5: Aspect Based Sentiment Analysis / Maria Pontiki, Dimitrios Galanis, Haris Papageorgiou et al. // Proceedings of the 10th International Workshop on Semantic Evaluation. — 2016.
[19] Symposium Sentiment Analysis. Sentiment Analysis Symposium // Sentiment Analysis Symposium. — 2016.
[20] Tai Kai Sheng, Socher Richard, Manning Christopher D. Improved semantic representations from tree-structured long short-term memory networks // arXiv preprint arXiv:1503.00075.— 2015.
[21] Tensorflow: Large-scale machine learning on heterogeneous distributed systems / Martin Abadi, Ashish Agarwal, Paul Barham et al. // arXiv preprint arXiv:1603.04467.— 2016.
[22] Zhang Ye, Wallace Byron. A Sensitivity Analysis of (and Practitioners’ Guide to) Convolutional Neural Networks for Sentence Classification // arXiv preprint arXiv:1510.03820.— 2015.