Как стать автором
Обновить
35.3

Data Mining *

Глубинный анализ данных

Сначала показывать
Порог рейтинга
Уровень сложности

Два сапога — пара, а три — уже community: как алгоритмы на графах помогают собирать группы товаров

Время на прочтение14 мин
Количество просмотров21K

Привет, Хабр! Меня зовут Иван Антипов, я занимаюсь ML в команде матчинга Ozon. Наша команда разрабатывает алгоритмы поиска одинаковых товаров на сайте. Это позволяет покупателям находить более выгодные предложения, экономя время и деньги.

В этой статье мы обсудим кластеризацию на графах, задачу выделения сообществ, распад карате-клуба, self-supervised и unsupervised задачи — и как всё это связано с матчингом.

Читать далее
Всего голосов 127: ↑127 и ↓0+127
Комментарии33

Новости

Как жили наши предки 400 лет назад? Создание базы данных населения XVII века по южным уездам России

Время на прочтение6 мин
Количество просмотров8.3K

Можно ли найти конкретного человека, жившего в XVII веке? Выражаясь современным языком «пробить по базам». Оказывается, архивные документы хранят массу информации об обычных людях того периода. Однако существует ряд сложностей, не позволяющих обычному исследователю добраться до этой информации. Во-первых, нужно пройти определённую процедуру по получению доступа в архив. Во-вторых, не всегда можно выйти на нужный документ, используя так называемый научно-справочный аппарат – различные описи и реестры документов, имеющиеся в архиве. Наконец, не имея навыков чтения документов XVII века, которые написаны скорописью, почти нереально ознакомиться с его содержанием.

Данные проблемы предполагается решить с помощью создания базы данных служилых людей XVII века. Об этом небольшая история.

Как всё начиналось.

Привет! Меня зовут Дмитрий и вот уже более 10 лет я изучаю историю южных уездов России XVII века. Территориально – это современные Белгородская, а также соседние Воронежская, Курская, Липецкая и другие области. Населены они были тогда так называемыми служилыми людьми – они получали здесь в качестве служебного жалования земельные наделы, которые сами и обрабатывали. В XVIII веке их потомки стали однодворцами, а затем государственными крестьянами. Большая часть населения Курской, Воронежской и соседних губерний XIX века происходят из тех самых служилых людей XVI–XVII веков.

Продолжим?
Всего голосов 58: ↑57 и ↓1+56
Комментарии13

Первый нейросетевой переводчик для эрзянского языка

Время на прочтение10 мин
Количество просмотров12K

Эрзянский язык из финно-угорской семьи – один из официальных в республике Мордовия, и на нём говорят сотни тысяч людей, но для него до сих пор не было почти никаких технологий машинного перевода, кроме простых словарей.
Я попробовал создать первую нейросеть, способную переводить с эрзянского на русский (и с натяжкой ещё на 10 языков) и обратно не только слова, но и целые предложения.

Пока её качество оставляет желать лучшего, но пробовать пользоваться уже можно.
Как я собирал для этого тексты и обучал модели – под катом.

Читать далее
Всего голосов 70: ↑69 и ↓1+68
Комментарии20

Как создать переводчик, который переводит лучше, чем Google Translate

Время на прочтение8 мин
Количество просмотров27K

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

В этот раз я решил окунуться немного в прошлое и сделать то, что хорошо сделать тогда у меня не получилось.

Читать далее
Всего голосов 61: ↑61 и ↓0+61
Комментарии48

Национализация ваших данных происходит прямо сейчас

Время на прочтение2 мин
Количество просмотров64K

Национализация ваших данных государством продолжается семимильными шагами. Ожил "замерший" новый законопроект Минцифры и летит к принятию. Это один из самых радикальных подходов к данным со стороны государства, который я когда-либо видел. Он заберёт все ваши данные у компаний, не спросив вас, и раздаст всем желающим.

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

Читать далее
Всего голосов 153: ↑134 и ↓19+115
Комментарии282

Контекстные многорукие бандиты для рекомендации контента, или Не Бернулли единым

Время на прочтение17 мин
Количество просмотров9.9K

Привет, Хабр! Меня зовут Александр Сухочев, я занимаюсь машинным обучением и руковожу командой рекомендаций и развития сервисов ВКонтакте. Сегодня хочу поделиться нашим опытом и результатами внедрения контекстуальных многоруких бандитов для рекомендации контента на примере игр и стикеров.

Статья состоит из четырёх частей, переходите сразу ко второй или третьей, если знакомы с проблематикой, или читайте по порядку, чтобы составить полную картину:

Введение расскажет о том, какие бывают подходы к построению рекомендательных систем и при чём здесь многорукие бандиты — это раздел для тех, кто раньше не был знаком с данным подходом.

Основные алгоритмы решения задачи многорукого бандита: эпсилон-жадный подход, сэмплирование Томпсона, Upper Confidence Bound.

Алгоритм контекстных многоруких бандитов — о контекстных многоруких бандитах и способе их обучения в частном случае, который мы использовали в нашем решении.

Заметки о практической реализации — о тонкостях внедрения, бизнес-требованиях и результатах на примере сервиса рекомендации игр и стикеров.

Читать далее
Всего голосов 55: ↑55 и ↓0+55
Комментарии4

5 грязных трюков в соревновательном Data Science, о которых тебе не расскажут в приличном обществе

Время на прочтение5 мин
Количество просмотров24K

Поговорим про способы жульничества в Data Science.

Читать далее
Всего голосов 58: ↑57 и ↓1+56
Комментарии15

Гражданская разведка разрушила государственную монополию на расследования

Время на прочтение4 мин
Количество просмотров47K


Мы уже рассказывали о Bellingcat и других детективных агентствах, которые осуществляют разведку по открытым источникам (OSINT), например, обратный поиск изображений в Яндексе, сканируя утёкшие базы с приватной информацией (паспорта, мобильные телефоны, авиабилеты) и др. Это нужно для проведения важных для общества расследований, результаты которых выкладываются в публичный доступ.

Взявшись за проблему, группа «интернет-сыщиков» способна перелопатить кучу информации и обнаружить детали, которые прошли мимо внимания профессионалов, как тот стелс-бомбардировщик на спутниковых снимках Google Maps.

За последние годы гражданская разведка провела несколько эффективных и ярких расследований.
Читать дальше →
Всего голосов 217: ↑192 и ↓25+167
Комментарии212

Как мы научились понимать продажи в колл-центре, или С чего начать ML-проект, если непонятно ничего

Время на прочтение6 мин
Количество просмотров4.1K

Не все ML-проекты начинаются с четкого формулирования результата, который мы хотим получить на выходе. С какого-то момента задача обретает стандартную для машинного обучения постановку: появляются данные и требования к модели. Однако такой постановке может предшествовать долгий и неочевидный процесс.

Если вы хоть раз смотрели детектив, то понимаете, как выглядит первичный этап в ML-проекте: проверяется множество гипотез, много времени уходит на сбор данных и погружение в процессы, планы часто меняются по ходу работы, все постоянно торопят. Несмотря на неопределенность, именно этот этап позволяет раскрыть весь потенциал внедрения машинного обучения, а значит важен как для бизнеса, так и для data scientist'ов.

Меня зовут Настя, я DS Team Lead в компании Домклик. В мае этого года мы запускали data science в команде «Речевые сервисы». За полгода реализовали несколько успешных проектов, об одном из них пойдет речь.

Читать далее
Всего голосов 52: ↑52 и ↓0+52
Комментарии10

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

Время на прочтение8 мин
Количество просмотров13K

Сложный был год: налоги, катастрофы, бандитизм и стремительное исчезновение малых языков. С последним мириться было нельзя...


Upd. 04.12.2021 — Наш телеграм канал


На территории России проживает большое количество народов, говорящих более чем на 270 языках. Около 150 языков насчитывает менее 1 тысячи носителей, а за последние 20 лет 7 языков уже исчезло.


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


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


Экспериментировать мы будем в среде Colab'а, чтобы любой исследователь при желании смог повторить этот подход для своего языка.


I. Извлекаем параллельный корпус


Для выравнивания двух текстов я написал на python'е библиотеку lingtrain_aligner. Код у нее открыт. Она использует ряд предобученных моделей, можно подключать и свои. Одной из самых удачных мультиязыковых моделей сейчас является LaBSE. Она обучалась на 109 языках. Так как соотношение текстов смещено в сторону популярных языков, то для них качество эмбеддингов (эмбеддингом называют вектор чисел применительно к данным, которые он описывает) будет лучше.


Colab


Попробовать извлечь корпус на нужном языке можно в этом Colab'e. Дальше пройдемся по шагам более подробно.


Установка


Установим библиотеку командой


pip install lingtrain_aligner
Читать дальше
Всего голосов 57: ↑57 и ↓0+57
Комментарии91

Как я искал вбросы на московских выборах и что-то нашел

Время на прочтение4 мин
Количество просмотров21K

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

А значит порядок голосования совпадал бы с порядком регистрации. Вот это гипотезу я и решил проверить.

Так что же я нашел?
Всего голосов 64: ↑59 и ↓5+54
Комментарии49

Что же не так с любыми электронными голосованиями?

Время на прочтение7 мин
Количество просмотров44K

Данная публикация написана по мотивам поста «Что же не так с ДЭГ в Москве?». Его автор описывает, как можно выгрузить и расшифровать данные по электронному голосованию, а также приводит целый список замечаний к его текущей системе.

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

UPD: Добавил также графики по партийным спискам + отметил некоторые странности в соотношении выданных/полученных транзакций в самом начале (возможно, это объяснимо техническими проблемами).

Читать далее
Всего голосов 197: ↑190 и ↓7+183
Комментарии422

Как спарсить любой сайт?

Время на прочтение6 мин
Количество просмотров184K

Меня зовут Даниил Охлопков, и я расскажу про свой подход к написанию скриптов, извлекающих данные из интернета: с чего начать, куда смотреть и что использовать.

Написав тонну парсеров, я придумал алгоритм действий, который не только минимизирует затраченное время на разработку, но и увеличивает их живучесть, робастность и масштабируемость.

Узнать как
Всего голосов 78: ↑69 и ↓9+60
Комментарии89

Ближайшие события

Как ФБК* сами слили все данные оппозиции в открытый доступ

Время на прочтение5 мин
Количество просмотров121K

Привет! Здесь я хочу указать на возможную причину, почему были слиты данные зарегистрировавшихся в УГ и предупредить, что ФБК* на несколько недель в июне была открыта, как эта калитка в меме.

Читать далее
Всего голосов 225: ↑206 и ↓19+187
Комментарии460

Маленький и быстрый BERT для русского языка

Время на прочтение9 мин
Количество просмотров54K

BERT – нейросеть, способная неплохо понимать смысл текстов на человеческом языке. Впервые появившись в 2018 году, эта модель совершила переворот в компьютерной лингвистике. Базовая версия модели долго предобучается, читая миллионы текстов и постепенно осваивая язык, а потом её можно дообучить на собственной прикладной задаче, например, классификации комментариев или выделении в тексте имён, названий и адресов. Стандартная версия BERT довольно толстая: весит больше 600 мегабайт, обрабатывает предложение около 120 миллисекунд (на CPU). В этом посте я предлагаю уменьшенную версию BERT для русского языка – 45 мегабайт, 6 миллисекунд на предложение. Она была получена в результате дистилляции нескольких больших моделей. Уже есть tinybert для английского от Хуавея, есть моя уменьшалка FastText'а, а вот маленький (англо-)русский BERT, кажется, появился впервые. Но насколько он хорош?

Читать далее
Всего голосов 57: ↑57 и ↓0+57
Комментарии17

Мои machine learning тулы для инвестирования

Время на прочтение17 мин
Количество просмотров35K

В последнее время все больше людей приходит к тому, чтобы не держать деньги под матрасом, а куда-то их инвестировать в надежде сохранить и преумножить свой капитал. Вариант с матрасом плох тем, что с повышением цен на товары и услуги(инфляция) покупательная способность денег падает и через какое-то время купить на них можно значительно меньше, чем раньше. Есть много вариантов, куда вложить деньги(недвижимость, банковский вклад, ценные металлы), но в последнее время популярным становится инвестирование в акции. Только у брокера Тинькофф Инвестиции за несколько лет число клиентов превысило 3.5 млн. В статье я постараюсь описать свой подход к выбору бумаг и поделюсь инструментами, которые для этого разрабатываю.

Читать далее
Всего голосов 55: ↑54 и ↓1+53
Комментарии39

Парсинг сайта Умного Голосования и новый API на сайте ЦИК

Время на прочтение21 мин
Количество просмотров24K
image

13 сентября 2020 года в России прошёл единый день голосования. В некоторых регионах оппозицией была применена стратегия «Умного Голосования», заключающаяся в том, что оппозиционно настроенные избиратели голосуют за единого кандидата, имеющего наивысшие шансы победить представителя от властей.

Процесс отбора кандидатов для «Умного Голосования» уже второй год вызывает дискуссии на тему своей прозрачности. Кроме того, лично меня смущают сложности с подведением итогов стратегии, с которыми могут столкнуться независимые аналитики. Организаторы УмГ не публикуют подробные итоги стратегии, а лишь диаграммы, демонстрирующие сколько оппозиционных кандидатов прошло в региональный парламент.

На сайте «Умного Голосования» нельзя получить список поддержанных кандидатов, указав, например, город и округ. Если кто-то захочет собрать данные по региону, ему предстоит монотонная работа по подбору адресов для каждого округа.

Ни в коем случае не упрекаю разработчиков сайта УмГ, он имеет весь требуемый функционал для реализации стратегии голосования. Но в связи с тем, что в 2019 году никто не занимался сбором и публикацией подробных данных по итогам УмГ (вне московских выборов), на этих выборах я решил взять инициативу в свои руки.

В итоге получилась вот такая сводная таблица. В данной статье я расскажу, как был получен приведённый набор данных, как собиралась информация с сайтов Умного Голосования и нового веб-сервиса ЦИК.

image
Читать дальше →
Всего голосов 68: ↑63 и ↓5+58
Комментарии46

Black [O]lives Matter: раса, криминал и огонь на поражение в США. Часть 2

Время на прочтение15 мин
Количество просмотров32K

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

Поехали!
Всего голосов 108: ↑102 и ↓6+96
Комментарии386

Уроки волшебства для кота, дейтинг для беременных и астрология

Время на прочтение10 мин
Количество просмотров7.6K

Data Scientists узнают, что интересует людей и на что они тратят деньги


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

Какие социологические особенности удалось выяснить благодаря применению моделей машинного обучения? Что мы знаем о покупателях? 
 
Источник
Читать дальше →
Всего голосов 55: ↑54 и ↓1+53
Комментарии13

Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP)

Время на прочтение34 мин
Количество просмотров88K
Два года назад я писал на Хабр статью про Yargy-парсер и библиотеку Natasha, рассказывал про решение задачи NER для русского языка, построенное на правилах. Проект хорошо приняли. Yargy-парсер заменил яндексовый Томита-парсер в крупных проектах внутри Сбера, Интерфакса и РИА Новостей. Библиотека Natasha сейчас встроена в образовательные программы ВШЭ, МФТИ и МГУ.

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

Для новостных статей качество на всех задачах сравнимо или превосходит существующие решения. Например с задачей NER Natasha справляется на 1 процентный пункт хуже, чем Deeppavlov BERT NER (F1 PER 0.97, LOC 0.91, ORG 0.85), модель весит в 75 раз меньше (27МБ), работает на CPU в 2 раза быстрее (25 статей/сек), чем BERT NER на GPU.

В проекте 9 репозиториев, библиотека Natasha объединяет их под одним интерфейсом. В статье поговорим про новые инструменты, сравним их с существующими решениями: Deeppavlov, SpaCy, UDPipe.

Всего голосов 57: ↑55 и ↓2+53
Комментарии25
1
23 ...

Вклад авторов

Работа

Data Scientist
61 вакансия