Pull to refresh
37
Karma
0
Rating
Sergey Smetanin @sismetanin

Software Engineer

  • Followers 20
  • Following

Toxic Comments Detection in Russian

VK corporate blog Python *Machine learning *Social networks and communities

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 →
Total votes 18: ↑17 and ↓1 +16
Views 4.2K
Comments 4

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

VK corporate blog Python *Machine learning *Social networks and communities

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

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

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

VK corporate blog Machine learning *Social networks and communities


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

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

VK corporate blog Machine learning *Popular science Social networks and communities
image

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

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

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

VK corporate blog Semantics *Big Data *Machine learning *Social networks and communities
image
Анализ тональности стал мощным инструментом для масштабной обработки мнений, выражаемых в любых текстовых источниках. Практическое применение этого инструмента в английском языке довольно развито, чего не скажешь о русском. В этой серии статей мы рассмотрим, как и для каких целей применялись подходы анализа тональности для русскоязычных текстов, какие результаты удалось достичь, какие проблемы возникали, а также немного поговорим о перспективных направлениях. В отличие от предыдущих работ, я сосредоточился на прикладном применении, а не на самих подходах и их качестве классификации. Первая часть — вводная. Мы рассмотрим, что такое «анализ тональности», какой он бывает и как его за последние 8 лет применяли для анализа русскоязычных текстов. Во второй части детально рассмотрим каждое из 32 основных исследований, которые мне удалось найти. В третьей и заключительной части поговорим об общих сложностях, с которыми сталкивались исследователи, а также о перспективных направлениях на будущее.
Читать дальше →
Total votes 31: ↑31 and ↓0 +31
Views 6.6K
Comments 0

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

VK corporate blog Python *Data Mining *Big Data *Machine learning *

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

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

Contextual Emotion Detection in Textual Conversations Using Neural Networks

VK corporate blog Python *Data Mining *Big Data *Machine learning *

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 →
Total votes 37: ↑37 and ↓0 +37
Views 2.5K
Comments 0

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

VK corporate blog Programming *Development of mobile applications *Development for Android *


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

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

VK corporate blog Programming *Development of mobile applications *Development for 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 →
Total votes 25: ↑25 and ↓0 +25
Views 5.5K
Comments 2

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

VK corporate blog Python *Big Data *Data visualization Machine learning *

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 →
Total votes 28: ↑28 and ↓0 +28
Views 7.1K
Comments 0

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

VK corporate blog Python *Big Data *Data visualization Machine learning *


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

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

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

VK corporate blog Development for iOS *Development for Android *Machine learning *Google Cloud Platform *


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

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

VK corporate blog Python *Data Mining *Big Data *Machine learning *
Tutorial


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

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

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

VK corporate blog Development for Android *Node.JS *Development for IOT *
Tutorial
В конце прошлого месяца состоялся официальный релиз Google Ассистента на русском языке, так что самое время разобраться, как делать свои приложения (экшены) для Ассистента на стандартном технологическом стеке Google. В этой статье мы рассмотрим создание экшена в Actions on Google, разберём процесс извлечения сущностей и интентов из фраз в Dialogflow, узнаем, как писать обработчики извлеченной информации и работать с сетью в Cloud Functions for Firebase.


Рис. 1. Архитектура приложения для Ассистента.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Views 16K
Comments 1

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Works in
Registered
Activity