Как стать автором
Обновить
36
Карма
0
Рейтинг
Sergey Smetanin @sismetanin

Software Engineer

  • Подписчики 18
  • Подписки

Toxic Comments Detection in Russian

Блог компании Mail.ru GroupPythonМашинное обучениеСоциальные сети и сообщества

Currently, social network sites tend to be one of the major communication platforms in both offline and online space. Freedom of expression of various points of view, including toxic, aggressive, and abusive comments, might have a long-term negative impact on people’s opinions and social cohesion. As a consequence, the ability to automatically identify and moderate toxic content on the Internet to eliminate the negative consequences is one of the necessary tasks for modern society. This paper aims at the automatic detection of toxic comments in the Russian language. As a source of data, we utilized anonymously published Kaggle dataset and additionally validated its annotation quality. To build a classification model, we performed fine-tuning of two versions of Multilingual Universal Sentence Encoder, Bidirectional Encoder Representations from Transformers, and ruBERT. Finetuned ruBERT achieved F1 = 92.20%, demonstrating the best classification score. We made trained models and code samples publicly available to the research community.
Read more →
Всего голосов 18: ↑17 и ↓1+16
Просмотры3.7K
Комментарии 4

Определение токсичных комментариев на русском языке

Блог компании Mail.ru GroupPythonМашинное обучениеСоциальные сети и сообщества

Сегодня социальные сети превратились в одну из главных коммуникационных платформ как в онлайне, так и реальной жизни. Свобода выражения разных точек зрения, в том числе токсичных, агрессивных и оскорбительных комментариев может иметь долговременные негативные последствия для мнений людей и социальной сплочённости. Поэтому одной из важнейших задач современного общества является разработка средств автоматического определения токсичной информации в интернете для уменьшения негативных последствий.

В этой статье описывается решение этой задачи для русского языка. В качестве источника данных мы использовали анонимно опубликованный на Kaggle набор данных, дополнительно проверив качество аннотации. Для создания классифицирующей модели мы сделали тонкую настройку двух версий Multilingual Universal Sentence Encoder, Bidirectional Encoder Representations from Transformers и ruBERT. Настроенная модель ruBERT показала F1 = 92,20 %, это был лучший результат классификации. Мы выложили в открытый доступ обученные модели и примеры кода.
Читать дальше →
Всего голосов 50: ↑38 и ↓12+26
Просмотры8.5K
Комментарии 25

Анализ тональности в русскоязычных текстах, часть 3: вызовы и перспективы

Блог компании Mail.ru GroupМашинное обучениеСоциальные сети и сообщества


Анализ тональности успешно применяется для социальных сетей, отзывов, новостей и даже учебников. На основе ключевых исследований для русского языка, описанных в предыдущей статье, здесь мы рассмотрим основные вызовы, с которыми сталкиваются исследователи, а также перспективные направления на будущее. В отличие от предыдущих работ я сосредоточился на прикладном применении, а не на самих подходах и их качестве классификации.
Читать дальше →
Всего голосов 22: ↑22 и ↓0+22
Просмотры2.9K
Комментарии 0

Анализ тональности в русскоязычных текстах, часть 2: основные исследования

Блог компании Mail.ru GroupМашинное обучениеНаучно-популярноеСоциальные сети и сообщества
image

Исследователи применяли анализ тональности для совершенно разных русскоязычных текстов: постов из соцсетей, отзывов, новостных статей и книг. Как следствие, результаты их исследований тоже были совершенно разными и крайне интересными. Например, кто бы мог подумать, что тексты с положительной тональностью делают обучение иностранному языку более интересным, но менее эффективным? В этой серии статей мы рассмотрим, как и для каких целей применялись подходы анализа тональности для русскоязычных текстов, каких результатов удалось достичь, какие проблемы возникали, а также немного поговорим о перспективных направлениях.

В отличие от предыдущих работ я сосредоточился на прикладном применении, а не на самих подходах и их качестве классификации. В первой статье мы обсудили, что такое «анализ тональности», какой он бывает и как его за последние 8 лет применяли для анализа русскоязычных текстов. В этой части мы детально рассмотрим каждое из 32 основных исследований, которые мне удалось найти. В третьей и заключительной части поговорим об общих сложностях, с которыми сталкивались исследователи, а также о перспективных направлениях на будущее.
Читать дальше →
Всего голосов 26: ↑25 и ↓1+24
Просмотры3.6K
Комментарии 3

Анализ тональности в русскоязычных текстах, часть 1: введение

Блог компании Mail.ru GroupСемантикаBig DataМашинное обучениеСоциальные сети и сообщества
image
Анализ тональности стал мощным инструментом для масштабной обработки мнений, выражаемых в любых текстовых источниках. Практическое применение этого инструмента в английском языке довольно развито, чего не скажешь о русском. В этой серии статей мы рассмотрим, как и для каких целей применялись подходы анализа тональности для русскоязычных текстов, какие результаты удалось достичь, какие проблемы возникали, а также немного поговорим о перспективных направлениях. В отличие от предыдущих работ, я сосредоточился на прикладном применении, а не на самих подходах и их качестве классификации. Первая часть — вводная. Мы рассмотрим, что такое «анализ тональности», какой он бывает и как его за последние 8 лет применяли для анализа русскоязычных текстов. Во второй части детально рассмотрим каждое из 32 основных исследований, которые мне удалось найти. В третьей и заключительной части поговорим об общих сложностях, с которыми сталкивались исследователи, а также о перспективных направлениях на будущее.
Читать дальше →
Всего голосов 31: ↑31 и ↓0+31
Просмотры5.8K
Комментарии 0

Автоматическое определение эмоций в текстовых беседах с использованием нейронных сетей

Блог компании Mail.ru GroupPythonData MiningBig DataМашинное обучение

Одна из основных задач диалоговых систем состоит не только в предоставлении нужной пользователю информации, но и в генерации как можно более человеческих ответов. А распознание эмоций собеседника — уже не просто крутая фича, это жизненная необходимость. В этой статье мы рассмотрим архитектуру рекуррентной нейросети для определения эмоций в текстовых беседах, которая принимала участие в SemEval-2019 Task 3 “EmoContext”, ежегодном соревновании по компьютерной лингвистике. Задача состояла в классификации эмоций (“happy”, “sad”, “angry” и “others”) в беседе из трех реплик, в которой участвовали чат-бот и человек.

В первой части статьи мы рассмотрим поставленную в EmoContext задачу и предоставленные организаторами данные. Во второй и третьей частях разберём предварительную обработку текста и способы векторного представления слов. В четвёртой части мы опишем архитектуру LSTM, которую мы использовали в соревновании. Код написан на языке Python с использованием библиотеки Keras.
Читать дальше →
Всего голосов 50: ↑48 и ↓2+46
Просмотры9.9K
Комментарии 8

Contextual Emotion Detection in Textual Conversations Using Neural Networks

Блог компании Mail.ru GroupPythonData MiningBig DataМашинное обучение

Nowadays, talking to conversational agents is becoming a daily routine, and it is crucial for dialogue systems to generate responses as human-like as possible. As one of the main aspects, primary attention should be given to providing emotionally aware responses to users. In this article, we are going to describe the recurrent neural network architecture for emotion detection in textual conversations, that participated in SemEval-2019 Task 3 “EmoContext”, that is, an annual workshop on semantic evaluation. The task objective is to classify emotion (i.e. happy, sad, angry, and others) in a 3-turn conversational data set.
Read more →
Всего голосов 37: ↑37 и ↓0+37
Просмотры2.3K
Комментарии 0

In-App Updates: ускоряем процесс обновления приложения на Android

Блог компании Mail.ru GroupПрограммированиеРазработка мобильных приложенийРазработка под Android


Среди многообразия инструментов, анонсированных на Android Dev Summit, особое внимание хочется уделить механизму обновления приложения In-App Updates (IAUs), который помогает разработчикам ускорить добавление новых фич, баг-фиксов и улучшений производительности. Поскольку эта функциональность была опубликована после Google I/O 2019, в этой статье я подробно расскажу об IAUs, опишу рекомендованные схемы реализации и приведу некоторые примеры кода. Также я расскажу о нашем опыте интеграции IAUs в Pandao, приложение для заказа товаров из Китая.
Читать дальше →
Всего голосов 27: ↑26 и ↓1+25
Просмотры13K
Комментарии 6

In-App Updates Flexible Flow: Speed Up the App Update Process on Android

Блог компании Mail.ru GroupПрограммированиеРазработка мобильных приложенийРазработка под Android


With a variety of new tools and features announced at Android Dev Summit, special attention should be given to the In-App Updates (IAUs) API allowing developers to increase the speed of delivering features, bug-fixes and performance improvements to active users. Since this feature was finally released after Google I/O 2019, in this article I’ll deep dive on IAUs API, describe in details recommended user flows and provide with some code samples. Moreover, I'll share some experience of IAUs integration in the Pandao app, a marketplace platform for Chinese goods.
Read more →
Всего голосов 25: ↑25 и ↓0+25
Просмотры5.4K
Комментарии 2

Google News and Leo Tolstoy: visualizing Word2Vec word embeddings using t-SNE

Блог компании Mail.ru GroupPythonBig DataВизуализация данныхМашинное обучение

Everyone uniquely perceives texts, regardless of whether this person reads news on the Internet or world-known classic novels. This also applies to a variety of algorithms and machine learning techniques, which understand texts in a more mathematical way, namely, using high-dimensional vector space.

This article is devoted to visualizing high-dimensional Word2Vec word embeddings using t-SNE. The visualization can be useful to understand how Word2Vec works and how to interpret relations between vectors captured from your texts before using them in neural networks or other machine learning algorithms. As training data, we will use articles from Google News and classical literary works by Leo Tolstoy, the Russian writer who is regarded as one of the greatest authors of all time.

We go through the brief overview of t-SNE algorithm, then move to word embeddings calculation using Word2Vec, and finally, proceed to word vectors visualization with t-SNE in 2D and 3D space. We will write our scripts in Python using Jupyter Notebook.

Read more →
Всего голосов 28: ↑28 и ↓0+28
Просмотры6.2K
Комментарии 0

Google News и Лев Толстой: визуализация векторных представлений слов с помощью t-SNE

Блог компании Mail.ru GroupPythonBig DataВизуализация данныхМашинное обучение


Каждый из нас воспринимает тексты по-своему, будь это новости в интернете, поэзия или классические романы. То же касается алгоритмов и методов машинного обучения, которые, как правило, воспринимают тексты в математической в форме, в виде многомерного векторного пространства.

Статья посвящена визуализации при помощи t-SNE рассчитанных Word2Vec многомерных векторных представлений слов. Визуализация позволит полнее понять принцип работы Word2Vec и то, как следует интерпретировать отношения между векторами слов перед дальнейшем использованием в нейросетях и других алгоритмах машинного обучения. В статье акцентируется внимание именно на визуализации, дальнейшее исследование и анализ данных не рассматриваются. В качестве источника данных мы задействуем статьи из Google News и классические произведения Л.Н. Толстого. Код будем писать на Python в Jupyter Notebook.
Читать дальше →
Всего голосов 30: ↑28 и ↓2+26
Просмотры8.3K
Комментарии 9

Firebase Summit 2018: коротко о главном

Блог компании Mail.ru GroupРазработка под iOSРазработка под AndroidМашинное обучениеGoogle Cloud Platform


В конце прошлого месяца в Праге прошла конференция Firebase Summit 2018, посвященная сервисам Firebase, многие из которых сейчас претендуют на звание стандарта в индустрии разработки мобильных приложений. Постараюсь хоть и с задержкой, но рассказать о том, что интересного удалось услышать и увидеть. В этой статье мы рассмотрим анонсы (перевод официального пресс-релиза) с моими правками и комментариями.
Читать дальше →
Всего голосов 20: ↑20 и ↓0+20
Просмотры4.8K
Комментарии 2

Анализ тональности текстов с помощью сверточных нейронных сетей

Блог компании Mail.ru GroupPythonData MiningBig DataМашинное обучение
Tutorial


Представьте, что у вас есть абзац текста. Можно ли понять, какую эмоцию несет этот текст: радость, грусть, гнев? Можно. Упростим себе задачу и будем классифицировать эмоцию как позитивную или как негативную, без уточнений. Есть много способов решать такую задачу, и один из них — свёрточные нейронные сети (Convolutional Neural Networks). CNN изначально были разработаны для обработки изображений, однако они успешно справляются с решением задач в сфере автоматической обработки текстов. Я познакомлю вас с бинарным анализом тональности русскоязычных текстов с помощью свёрточной нейронной сети, для которой векторные представления слов были сформированы на основе обученной Word2Vec модели.

Статья носит обзорный характер, я сделал акцент на практическую составляющую. И сразу хочу предупредить, что принимаемые на каждом этапе решения могут быть неоптимальными. Перед прочтением рекомендую ознакомиться с вводной статьей по использованию CNN в задачах обработки естественных языков, а также прочитать материал про методы векторного представление слов.
Читать дальше →
Всего голосов 36: ↑35 и ↓1+34
Просмотры40K
Комментарии 9

Actions on Google: пишем простое приложение для Google Ассистента на Dialogflow и Cloud Functions for Firebase

Блог компании Mail.ru GroupРазработка под AndroidNode.JSРазработка для интернета вещей
Tutorial
В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on Google, разберём процесс извлечения сущностей и интентов из фраз в Dialogflow, узнаем, как писать обработчики извлеченной информации и работать с сетью в Cloud Functions for Firebase.


Рис. 1. Архитектура приложения для Ассистента.
Читать дальше →
Всего голосов 30: ↑30 и ↓0+30
Просмотры15K
Комментарии 1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Зарегистрирован
Активность