Мастер-класс по анализу тональности. Обзор библиотек на Python
14 декабря на платформе Zoom состоялся мастер-класс Анны Денисовны Москвиной, члена научно-учебной группы междисциплинарных филологических исследований и старшего преподавателя департамента филологии НИУ ВШЭ СПб, посвященный сентимент-анализу на Python. Мастер-класс проводился с использованием Google Colab – онлайн-среды, позволяющей работать на этом языке программирования. Рассматривалось применение методов анализа тональности к литературному материалу на русском языке.
В начале семинара обсуждалась библиотека dostoevsky. Эта модель разделяет текст на такие классы, как positive, negative, neutral, skip, speech. Анна Денисовна показала, как установить библиотеку, и рассказала, что модель была обучена на корпусе RuSentiment — аннотированные данные из ВКонтакте. Кроме того, было подробно разобрано, как импортировать токенизатор в код, и был показан результат анализа 3-х предложений, выведенный в таблицу.
Кроме dostoevsky, были рассмотрены другие 3 модели, не упакованные в питоновские библиотеки. Для работы с ними лучше всего использовать модуль pipeline. Первая из моделей выделяет три класса: positive, negative и neutral. Вторая модель классифицирует по эмоциям: no emotion, joy, sadness, fear, anger, surprise. Последняя модель предсказывает токсичность и угрозу. Анна Денисовна показала применение на том же списке предложений. Кроме того, на материале рассказа «Ужасы больничной мертвецкой» (Р. Л. Антропов) из Корпуса русского рассказа А. Д. Москвина привела ещё один пример, как производить сентимент-анализ с помощью каждой из библиотек.
Были также разобраны четыре подхода к сентимент-анализу: основанный на словаре (с назначенными валентностями для каждого слова), VSM-based (модель векторного пространства) – подход, рассмотренный на этом мастер-классе, гибридные методы и SentiArt. На основании последней модели считается расстояние от слова до используемых лейблов – эмоциональных меток, сентимент рассчитывается для любой синтаксической единицы. Анна показала результат применения SentiArt и, в частности, объяснила, как считать similarity (близость для двух слов).
Мы благодарим Анну Москвину за увлекательное практическое занятие. Спасибо всем, кто посетил мастер-класс!
До скорой встречи!