Применение технологии Word2vec в задаче выделения инверторов тональности
Разработка метода выделения инверторов тональности с помощью технологии Word2vec. Обзор задач, в которых используются тональные слова и инверторы тональности. Существующие методы выделения инверторов тональности, достоинства и недостатки каждого подхода.
Рубрика | Иностранные языки и языкознание |
Вид | статья |
Язык | русский |
Дата добавления | 12.08.2020 |
Размер файла | 25,2 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
МГУ им. М.В. Ломоносова
ПРИМЕНЕНИЕ ТЕХНОЛОГИИ WORD2VEC В ЗАДАЧЕ ВЫДЕЛЕНИЯ ИНВЕРТОРОВ ТОНАЛЬНОСТИ
Полозов И.К., Волкова И.А.
Москва
Аннотация
инвертор тональность тональный слово
В работе рассматривается задача выделения инверторов тональности (слов, меняющих тональность соседних слов). Предложен новый метод выделения таких слов, использующий векторные представления, получаемые с помощью технологии Word2vec. В работе также проводится обзор задач, в которых используются тональные слова и инверторы тональности, анализируются существующие методы выделения инверторов тональности, определяются достоинства и недостатки каждого подхода, подробно описывается предложенный новый алгоритм, приводится оценка его работы.
Ключевые слова: инверторы тональности, word2vec, оценка тональности, компьютерная лингвистика.
Annotation
APPLYING WORD2VEC TECHNOLOGY TO SHIFTER EXTRACTION TASK
Polozov I.K., Volkova I.A.
Lomonosov Moscow State University, Moscow, Russia
The paper considers the task of tonality shifters extraction (words that change the tonality of neighboring words). A novel approach for extracting such words is proposed. It uses vector representations generated by Word2vec technology. The paper also reviews tasks that use tonal words and tonality shifters, analyzes existing methods for extracting tonality shifters, determines the advantages and disadvantages of each approach. It gives a thorough description of the proposed algorithm and its evaluation.
Keywords: tonality shifters, word2vec, sentiment analysis, computational linguistics.
Основная часть
Анализ тональности является одним из направлений обработки естественного языка. Он может применяться для автоматической оценки отзывов о товаре, выявлении мнения о политике, экологии, компании, репутации и во многих других задачах. Также разработаны системы, в которых анализ тональности используется для предсказания эпидемий.
Часто анализ тональности разделяется на следующие подзадачи: определение объекта оценки, субъекта, делающего оценку и саму оценку. Иногда в оценке выделяются отдельные аспекты.
Во многих таких системах используется информация о тональности как отдельных слов, так и словосочетаний. При этом тональность слов может меняться в зависимости от контекста. Часто тональность меняется с помощью других слов - инверторов тональности, например, “уменьшить”, “избавить”, “вылечить” и других. Для русского языка в настоящее время словари инверторов тональности разработаны слабо. Предлагаемая работа посвящена созданию именно таких словарей.
Анализ тональности на основе методов машинного обучения
В задаче автоматической оценки тональности текста наилучшие результаты показывают программы, основанные на методе опорных векторов, методе максимальной энтропии и Наивный Байесовский алгоритм [1].
Когда количество признаков велико лучшие работает подход, использующий SVM (Support Vector Machine - метод опорных векторов), а когда признаков немного - Наивный Байесовский алгоритм. При этом для работы алгоритма количество признаков более критично, чем частота каждого отдельного признака [1].
Анализ тональности на основе правил
В самом простейшем подходе каждому оценочному слову приписывается вес, равный 1 или -1, в зависимости от его тональности. Затем веса всех тональных слов складываются, и по полученному числу определяется тональность отзыва. В более сложных алгоритмах также учитываются словосочетания, тональность слов оценивается по более широкой шкале, учитывается совместная встречаемость.
У систем, основанных на правилах, в большинстве случаев выше точность, но ниже полнота.
Инверторы тональности могут использоваться как в системах, использующих машинное обучение, так и в системах, основанных на правилах.
Системы, использующие тональные слова
Многие системы автоматической оценки тональности используют словарь тональных слов. Есть работы, основанные на машинном обучении - работа [2], в которой строится нейронная сеть со слоем, использующем информацию о тональности слов. Авторам удалось увеличить точность классификации отзывов по тональности. В работе [3] используются частота тональных слов как признак для классификатора.
Обзор работ, посвященных созданию инверторов тональности
Среди работ, посвященных извлечению инверторов тональности, можно выделить работу [4]. Авторы получают инверторы тональности с помощью системы правил. На первом шаге вручную создается список инверторов. Затем анализируются их наиболее значимые лингвистические характеристики.
В работе [5] авторы получают инверторы тональности с помощью ассоциативных правил. Для каждого предложения строится дерево отношений с помощью синтаксического анализатора. Затем отбираются наиболее значимые отношения с тональными словами.
После этого обучается классификатор, который расширяет первоначальный список инверторов.
Много работ посвящено и “ручному” построению словаря инверторов. Например, в работе [6] строится система правил для извлечения инверторов китайского языка, где рассматриваются последовательности токенов, частота встречаемости которых выше определенного порога. Алгоритм заключается в следующем:
1. проводится сегментация текста на предложения, предложений на слова;
2. для каждого слова определяется его часть речи;
3. выбирается несколько слов и вручную приписывается, стоят ли они перед положительными словами или нет;
4. полученный корпус разбивается на фразы;
5. затем рассматриваются все предложения, в которых есть хотя бы одно размеченное слово; в этих предложениях все положительные слова заменяются токеном, обозначающем его часть речи;
6. находятся все фразы, включающие хотя бы одного кандидата в инверторы, и частота встречаемости которых больше определенного порога;
7. если полученное множество пусто, то остановиться, иначе
8. уменьшить множество, оставить только фразы, в которых встречаются положительные слова. Также если фраза содержит инвертор, то все фразы, которые включают данную фразу, убираются из рассмотрения. Если же фраза вообще не содержит инверторов, то все слова, которые она содержит убираются из рассмотрения. Например, пусть есть фраза “не A”, которая является инвертором. “A” обозначает положительное слово. Тогда фразы “не очень A”, “не совсем A”, тоже являются инверторами, и их не надо вручную аннотировать. При этом, например, фраза “ручной A” не меняет тональность, поэтому ее можно удалить.
9. снова вручную находятся инверторы.
10. уменьшить порог встречаемости и заново перейти на шаг поиска частотных фраз.
Существует несколько видов инверторов тональности. В работе [6] выделяется 3 класса инверторов в зависимости от степени и направления изменения тональности слова:
1) инверторы, меняющие тональность слова на противоположную
2) Инверторы, увеличивающие тональность слова
3) Инверторы, уменьшающие тональность слова.
Метод пополнения словаря инверторов тональности с помощью Word2vec
Предлагаемый метод работает со словосочетаниями вида “Wi+тональное слово” и “тональное слово+Wi”, где Wi - слово, предшествующее тональному слову из выбранного словаря тональных слов или стоящее после него. Для каждого Wi собрана частота совместной встречаемости с тональными словами. Эмпирически выбран порог, после которого считать Wi кандидатом в инверторы. Каждое появление кандидата в тексте заменено токеном “кандидат_тональное_слово”. Обучен Word2vec [7]. Потом, если для данного Wi_тональное_слово среднее расстояние до положительных слов меньше, чем среднее расстояние до отрицательных слов, при этом если само тональное слово в токене Wi_тональное_слово отрицательное, то Wi инвертор.
На вход программе подаются тексты отзывов (при этом не требуется информация о тональности конкретного отзыва), список позитивных и негативных слов. Происходит предобработка текста: удаление стоп-слов, сегментация на предложения, предложений на токены, перевод токенов в начальную форму. В итоге получается новая обработанная коллекция отзывов. Экспериментально выявлено, что для обучения Word2vec нужно минимум 100000 предложений. Всего в собранном корпусе 117039 предложений.
На следующем шаге в отзывах находятся все тональные слова и запоминаются в массиве. Этот массив будет необходим для того, чтобы на последнем шаге измерять близость измененных инверторами слов к тональным словам, так как не все слова из списка тональных слов есть в корпусе, и соответственно будут получены векторные представления только для тональных слов, которые встречаются в корпусе.
После этого программа проходит по всем отзывам и находит тональные слова. Для каждого соседа тонального слова слева и справа происходит подсчет, сколько раз данное слово встретилось с тональными словами. Затем выбирается порог, после которого слово можно считать кандидатом в инверторы тональности. В данной работе он равен 3.
Затем рассматриваются кандидаты в инверторы. Для каждого кандидата смотрится, где он встречается в тексте. Если он стоит рядом с тональным словом, то кандидат и тональное слово заменяются единым токеном: кандидат_тональное_слово. Модифицированное слово добавляется в специальный массив. Так делается для всех тональных слов и для всех кандидатов. Таким образом, получается обучающий корпус для Word2vec.
После этого обучается Word2vec со следующими экспериментально подобранными параметрами: размер вектора - 150, размер окна - 8, минимальный порог встречаемости - 2, модель - SkipGram, количество итераций - 30.
Обучив модель Word2vec, для тонального слова из каждого модифицированного токена считается его тональность. Это делается следующим образом. Берутся 50 положительных и 50 отрицательных слов из коллекции, считается расстояние по косинусной мере между тональным словом из модифицированного токена и каждым таким тональным словом. Находится среднее расстояние до положительных слов и среднее расстояние до отрицательных слов. Если среднее расстояние до положительных слов больше, чем до отрицательных, то слову приписывается отрицательная тональность. Если у тонального слова была положительная тональность (берется из коллекции тональных слов), а подсчитанная получилась отрицательная, то тональность слова была изменена инвертором. Таким образом, соответствующий кандидат в инверторы становится инвертором. Так же делается, если тональность изменилась с отрицательной на положительную.
Реализация
Для реализации был выбран язык программирования Python3. Выбор обусловлен наличием для этого языка всех необходимых библиотек, простотой синтаксиса и обширной документацией. В качестве среды разработки был выбран редактор Sublime Text. Этот редактор быстрый и обладает удобной подсветкой синтаксиса. Также используются следующие основные библиотеки: NLTK - для сегментации и токенизации текста, Pyenchant - для исправления орфографических ошибок в корпусе, Gensim - для обучения Word2vec, Pickle - для сохранения данных, Pymorthy2 - для получения начальной формы слов, Re - для использования регулярных выражений при токенизации, Numpy - для вычисления близости векторов.
Требования к аппаратному обеспечению для работы системы
Для работы системы необходимо 2ГБ оперативной памяти, 112,4 МБ свободного места на диске (с учетом необходимых библиотек для работы), операционная система семейства Linux.
Оценка работы системы
Эксперименты проведены в системе Google Collab. Процессор Intel Xeon, тактовая частота 2.20 ГГц, оперативная память 12.7 ГБ.
На вход системе подаются отзывы с сайта Отзовик [8] из раздела “Здоровье и гигиена”, так как в медицинских отзывах большое количество инверторов (часто встречаются такие конструкции, как “сняло напряжение”, “вылечило болезнь” и так далее). Размер корпуса, для поиска инверторов: 117039 предложений. Время обучения модели составило 15 минут 55 секунд. Время выделения инверторов - 11 минут 48 секунд. Общее время работы - 27 минут 43 секунды. Система обнаружила 253 инвертора. Для оценки качества инверторов была написана программа автоматической оценки тональности. Программа определяет тональность отзыва, подсчитывая количество положительных и отрицательных слов. Так же учитываются инверторы, полученные основной системой. Если в предложении найдены инверторы, то тональность предложения считается противоположной от тональности рядом стоящими с инверторами слов. Тональность предложений без инверторов определяется тональностью большинства слов этого предложения. Тональность всего отзыва определяется тональностью большинства предложений.
Корпус для оценки тональности был тоже взят с сайта Отзовик, но сами отзывы отличны от тех, на которых происходил поиск инверторов. Размер корпуса для оценки: 200 положительных отзывов и 200 отрицательных отзывов. Эксперименты показали увеличение точности оценки на 4% при использовании словаря инверторов, полученного с помощью Word2vec. Общая точность метода оценки составила 85%. При этом важна не сама точность, а именно ее увеличении при использовании полученных инверторов.
Для сравнения времени работы системы с работой [5] были получены синтаксические отношения c помощью программы Maltparser для 117039 предложений. Эти отношения необходимы для работы подхода [5]. Время работы составило 39 минут 23 секунды. Таким образом, предложенный подход работает быстрее как минимум на 12 минут 20 секунд на корпусе отзывов с сайта “Отзовик”.
В результате проведенных экспериментов предложенный подход показал свою работоспособность и эффективность, он дает повышение точности классификации на 4%. Преимущество разработанного подхода по сравнению с существующими в большей скорости работы. Нет необходимости получать синтаксические отношения, как в работе [5], и не нужно вручную составлять правила, как в подходе [4]. Недостатком является необходимость использовать большой обучающий корпус - больше 100000 предложений. Полученный список инверторов можно также расширить, используя синонимы из тезаурусов, например, [9] или [10].
Список литературы
1. Pang B. Thumbs up? sentiment classification using machine learning techniques Pang B. Vaithyanathan S. // Proceedings of the ACL-02 conference on Empirical methods in natural language processing. 2002. Vol. 10. P. 79-86. doi: 3115/1118693.1118704
2. Ye Z. Encoding Sentiment Information into Word Vectors for Sentiment Analysis / Z. Ye, F. Li, T.Baldwin // Proceedings of the 27th International Conference on Computational Linguistics. 2018. P. 997-1007
3. Morsy S. A. Improving Document-Level Sentiment Classification Using Contextual Valence Shifters The American University in Cairo / S.A. Morsy, A. Rafea // International Conference on Application of Natural Language to Information Systems. P. 253-258. doi: 10.1007/978-3-642-31178-9_30
4. Schulder M. Towards Bootstrapping a Polarity Shifter Lexicon using Linguistic Features / M. Schulder, M. Wiegand, J. Ruppenhofer // Proceedings of the Eighth International Joint Conference on Natural Language Processing. Vol. 1. P. 624-633
5. Noferesti S. Using Data Mining Techniques for Sentiment Shifter Identification / S. Noferesti, M. Shamsfard // Language Resources and Evaluation. Vol. 53. P. 279-302. doi: 10.1007/s10579-018-9432-0
6. Xu G. Mining Chinese Polarity Shifters / G. Xu, C. Huang // Chinese Lexical Semantics: 16th Workshop. P. 244-251. doi: 10.1007/978-3-319-27194-1
7. Статься их Википедии “Word2vec” [Электронный ресурс]. URL: https://ru.wikipedia.org/wiki/Word2vec (дата обращения 19.03.2020).
8. Сайт “Отзовик” // [Электронный ресурс]. URL: https://otzovik.com/.
9. Сайт “РуТез” // [Электронный ресурс]. URL: https://www.labinform.ru/pub/ruthes (дата обращения 19.03.2020).
10. Сайт “RuWordNet” // [Электронный ресурс]. URL: http://www.ruwordnet.ru/ru (дата обращения 19.03.2020).
Размещено на Allbest.ru
...Подобные документы
Понятие тональности как текстовой категории; ее виды: мажорная, минорная, нейтральная. Выявление лексических, морфологических и синтаксических средств выражения эмоциональной тональности в прозе А.И. Куприна на примере произведения "Гранатовый браслет".
курсовая работа [50,0 K], добавлен 14.10.2014Основа смыслового выделения. Актуальное членение предложения. Интонация, синтаксические и лексические средства как основные средства смыслового выражения, их характеристика. Особенности передачи французских средств смыслового выделения в русском переводе.
дипломная работа [129,5 K], добавлен 13.05.2009Определение понятия "словосочетания" и "ключевые слова". Ключевые слова в научных работах, особенности их выделения в тексте автором и компьютерными программами. Анализ ключевых слов в статьях научных журналов по психологии и в учебной литературе.
дипломная работа [75,3 K], добавлен 08.10.2017Теоретические основы обучения говорению на иностранном языке. Существующие методы обучения говорению, их достоинства и недостатки. Разработка элементов комплекса упражнений по обучению говорению на иностранном языке. Телекоммуникационные проекты.
курсовая работа [55,6 K], добавлен 30.10.2008Функции порядка слов. Правила выражения мысли и словопорядка в устной речи. Варианты форм согласования и управления. Определения, в состав которых входит числительное. Перестановка компонентов высказывания с целью эмоционального выделения слов.
реферат [14,7 K], добавлен 14.02.2013Грамматическое деление всего лексического состава языка в основе вопроса о частях речи. Классификации частей речи в русском и английском языках, проведение их сравнительного анализа. Типологические критерии, существующие для сопоставления частей речи.
курсовая работа [68,6 K], добавлен 28.10.2016Критерии выделения синонимов, их типы, содержание и общая классификация. Понятийная категория признаковости. Системные синонимы для выражения качественного и количественного признаков. Синонимия при сравнениях сходства; синонимия степеней сравнения.
курсовая работа [28,7 K], добавлен 15.11.2009Единицы синтаксиса. Проблема выделения и иерархия. Словосочетание как синтаксическая конструкция: формальная и семантическая характеристика. Понятие предикативности как грамматической категории простого предложения. Простое и двусоставное предложение.
реферат [99,5 K], добавлен 03.12.2007Логико-семантическая природа разновидностей сравнения. Изобразительно-выразительные возможности китайской фразеологии. Замена нарицательного имени собственным. Сущность интонационного выделения (логического ударения), словопорядок в китайском языке.
учебное пособие [338,2 K], добавлен 06.06.2012Основные трактовки понятия "текст". Проблема выделения текстовых типов. Теория функциональных стилей при учете коммуникативно-прагматических условий текстообразования. Смысловые отношения между предложениями, а также текст и речевая деятельность.
реферат [24,3 K], добавлен 25.06.2013Подходы к определению синонимов, критерии их выделения. Лексическая парадигма. Синонимический ряд, его отличие от тематической группы. Типология синонимов и стилистико-литературоведческая характеристика соответствующих примеров из романа Г. Манна.
дипломная работа [46,7 K], добавлен 14.07.2012Определение "Стиль языка" в Большой Советской Энциклопедии. Понятие о функциональных стилях и принципы их выделения. Общая характеристика и жанры научного, официально-делового, газетно-публицистического, художественного, разговорно-обиходного стилей.
реферат [38,4 K], добавлен 04.12.2010Сложность проблемы выделения единиц перевода в тексте. Основные виды, характерные признаки и особенности использования клише в речевой деятельности. Образные выражения и их употребление в переносном смысле. Сущность применения готовых единиц перевода.
презентация [38,7 K], добавлен 30.10.2013Основания для выделения речей различных типов. Классификация речей в зависимости от целевой установки. Тип речевого действия. Роды и виды красноречия. Типы речи: описание, повествование, рассуждение, их особенности. Разновидности аргументирующей речи.
контрольная работа [45,2 K], добавлен 16.11.2013Проблема определения структурно-содержательной природы языковой модальности. Принцип выделения полей. Особенности микрополей ситуативной модальности. Язык фольклора как объект исследования. Функционирование экспликаторов субъективной модальности.
дипломная работа [106,0 K], добавлен 18.05.2013Специфика общелингвистических свойств имен собственных. Рассмотрение роли аппелятивация как одного из источников прецедентности онимов. Выявление формальных признаков выделения коннотативных онимов в тексте. Источники прецедентности в текстах Т. Толстой.
дипломная работа [90,4 K], добавлен 14.10.2014Природа диалога и особенности его типологии. Современная теория речевых жанров. Диалогичность - конструктивный признак речевого жанра. Связь речевого жанра с типом высказывания, критерий его выделения - коммуникативная цель. Основные виды жанров общения.
статья [21,8 K], добавлен 15.08.2013История развития фразеологии как науки. Определение и критерии выделения фразеологических единиц. Структурно-семантическая характеристика фразеологических единиц с семой-зоонимом. Семантические особенности фразеологических единиц, их классификация.
курсовая работа [127,4 K], добавлен 17.04.2011Проблема дефиниции предложения. Синтаксический, семантический и прагматический аспекты предложения. Сложности выделения членов предложения. Необходимые и достаточные пределы внутреннего деления членов предложения. Типы сказуемых и способы его выражения.
дипломная работа [91,2 K], добавлен 01.06.2012Реалии как культурный компонент семантики языковой единицы. Проблема определения реалий, их выделения среди других пластов лексики. Классификация реалий, способы их передачи. Типы реалий в сериале "Игра престолов", особенности их передачи на русский язык.
курсовая работа [104,4 K], добавлен 30.11.2017