Как стать автором
Обновить
2
0
Иван Солякин @pony77

Data Scientist

Отправить сообщение

Рекомендательные системы: LDA

Время на прочтение3 мин
Количество просмотров31K
В прошлый раз я рассказывал о теореме Байеса и приводил простой пример – наивный байесовский классификатор. В этот раз мы перейдём к более сложной теме, которая развивает и продолжает дело наивного байеса: мы научимся выделять темы при помощи модели LDA (latent Dirichlet allocation), а также применим это к рекомендательным системам.


Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии7

Как обработать датафрейм с миллиардами записей за считанные секунды?

Время на прочтение4 мин
Количество просмотров17K
Анализ больших данных в Python переживает эпоху возрождения. Она началась с библиотеки NumPy. Эта библиотека, кстати, является одной из составных частей тех инструментов, о которых пойдёт речь в этом материале. В 2006 году тема обработки больших данных постепенно набирала обороты, этот процесс ускорился с появлением Hadoop. Потом появилась библиотека pandas со своими структурами данных DataFrame, которые обычно называют просто «датафреймами». В 2014 году большие данные стали мейнстримом, в этом же году появилась платформа Apache Spark. В 2018 году вышла библиотека Dask и другие средства для анализа данных в Python.



Каждый месяц мне попадаются новые инструменты для анализа данных в Python, которые мне очень хочется освоить. Потратив час-другой на их изучение, можно, в долгосрочной перспективе, сэкономить немало времени. Кроме того, важно следить за тем новым, что происходит в интересующей тебя сфере технологий. Возможно, вы полагаете, что эта статья будет посвящена библиотеке Dask. Но это не так. Сегодня я расскажу вам об одной недавно обнаруженной мной Python-библиотеке, о которой стоит знать тем, кто занимается анализом данных.
Читать дальше →
Всего голосов 26: ↑23 и ↓3+37
Комментарии9

Yet Another Rating System

Время на прочтение8 мин
Количество просмотров24K
Итак, тема рейтинговых систем продолжает будоражить умы хабрапользователей. Появляются всё новые и новые схемы, формулы, тесты. И каждый раз всё сводится к одному и тому же вопросу: как совместить среднюю оценку пользователей с нашей уверенностью в этой оценке. Например, если один фильм получил 80 положительных и 20 отрицательных голосов, а другой — 9 положительных и 1 отрицательный, то какой из фильмов лучше? Не претендуя на создание новой универсальной рейтинговой системы, я всё же предложу один из возможных подходов к решению именно этого вопроса.
Читать дальше →
Всего голосов 71: ↑68 и ↓3+65
Комментарии60

Natural Language Processing онлайн-чеков: курс уроков волшебства для обычного кота и другие проблемы

Время на прочтение10 мин
Количество просмотров7.9K
Компания CleverDATA занимается разработкой платформы для работы с большими данными. В частности, на нашей платформе есть возможность работать с  информацией из чеков онлайн-покупок. Перед нами стояла задача научиться обрабатывать текстовые данные чеков и строить на них выводы о потребителях для создания соответствующих характеристик на бирже данных. Было естественно для решения этой задачи обратиться к машинному обучению. В этой статье мы хотим рассказать про проблемы, с которыми встретились при классификации текстов онлайн-чеков. 

Источник
Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии5

Персонализация товарных рекомендаций на больших данных с помощью Vowpal Wabbit

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

Привет! Меня зовут Никита Учителев. Я представляю отдел Research & Development компании Lamoda. Нас 20+ человек, и мы работаем над различными рекомендациями на сайте и в приложениях, разрабатываем поиск, определяем сортировку товаров в каталогах, обеспечиваем возможность АБ-тестирования разнообразного функционала, а также поддерживаем несколько внутренних разработок вроде системы прогнозирования эластичности спроса и оптимизации логистики доставки.


image


Одним из основных направлений развития всей компании на ближайшие годы выбрана персонализация наших продуктов и услуг. Подобные инициативы тестируются и внедряются повсеместно — начиная от составления персональных подборок товаров до выбора конкретного торгового представителя, который доставит наш товар именно вам. В рамках процесса персонализации продуктов R&D я выступаю в роли тимлида и хочу в этой статье рассказать про платформу, проектированием и разработкой которой я со своей командой занимался последний год, а также про первые персонализированные продукты R&D, которые проходят АБ-тестирование в настоящее время.

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

Генерация под контролем: как обуздать мощные языковые модели

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

Intro


Если вы не проспали последние пару-тройку лет, то вы, конечно, слышали от трансформерах — архитектуре из каноничной Attention is all you need. Почему трансформеры так хороши? Например, они избегают рекуррентности, что дает им возможность эффективно создавать такое представление данных, в которое можно запихнуть очень много контекстной информации, что положительно сказывается на возможности генерации текстов и непревзойденной способности к transfer learning.


Трансформеры запустили лавину работ по language modelling — задаче, в которой модель подбирает следующее слово, учитывая вероятности предыдущих слов, то есть выучивая p(x), где x — текущий токен. Как можно догадаться, это задача совсем не требует разметки и потому в ней можно использовать огромные неаннотированные массивы текста. Уже обученная языковая модель может генерировать текст, да так хорошо, что авторы подчас отказываются выкладывать обученные модели.


Но что если мы хотим добавить немного “ручек” к генерации текста? Например, делать условную генерацию, задавая тему или контролируя другие атрибуты. Такая форма уже требует условной вероятности p(x|a), где a — это желаемый атрибут. Интересно? Поехали под кат!

Читать дальше →
Всего голосов 15: ↑14 и ↓1+17
Комментарии0

Сравниваем работу open source Python — библиотек для распознавания именованных сущностей

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

Введение


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

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

Распознавание именованных сущностей


Несколько слов о самой проблеме. Named Entity Recognition (NER) — это направление технологии обработки человеческого языка, программная реализация которой позволяет находить в речи и тексте опредмеченные категории слов и словосочетаний. Сначала это были географические наименования, имена людей, организаций, адреса, однако в настоящее время это понятие сильной расширилось и с помощью NER мы ищем в тексте относительные и абсолютные даты, числа, номера и т.д.
Выявление именованных сущностей — это «ворота» в человеческий язык, оно позволяет выявлять и обрабатывать намерения человека, устанавливать связи слов в его речи и реальным миром.

Читать дальше →
Всего голосов 37: ↑37 и ↓0+37
Комментарии9

Зачем, когда и как использовать multithreading и multiprocessing в Python

Время на прочтение8 мин
Количество просмотров85K
Салют, хабровчане. Прямо сейчас в OTUS открыт набор на курс «Machine Learning», в связи с этим мы перевели для вас одну очень интересную «сказочку». Поехали.




Давным-давно, в далекой-далекой галактике…

Жил в маленькой деревушке посреди пустыни мудрый и могущественный волшебник. И звали его Дамблдальф. Он был не просто мудр и могущественен, но и помогал людям, которые приезжали из далеких земель, чтобы просить помощи у волшебника. Наша история началась, когда один путник принес волшебнику магический свиток. Путник не знал, что было в свитке, он лишь знал, что если кто-то и сможет раскрыть все тайны свитка, то это именно Дамблдальф.
Читать дальше →
Всего голосов 13: ↑8 и ↓5+5
Комментарии12

Две сущности нейролингвистического программирования

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

NLP компьютерное и НЛП психологическое


Нейролингвистическое программирование (НЛП) является областью знаний, возникшей изначально в двух отраслях науки: Computer Science и Психологии. В Computer Science NLP означает Natural Language Processing, в психологии — нейролингвистическое программирование. Это не совсем одно и тоже, но как минимум близко. Близко, как единство противоположностей. Обладая одинаковым названием и задачами по изучению структур языка, работ посвящённых исследованию их связи и возможности перекрёстного использования техник крайне мало. Психологическое НЛП, по моему скромному мнению, продвинулось в изучении структур языка существенно дальше, чем стемминг и лемматизация, которые применяются в большинстве задач компьютерного NLP. В этой статье я освящу основные наработки психологического НЛП для компьютерного NLP, намечу пути, как с помощью психологического НЛП создавать State of the Art нейросети NLP. Для сокращения широты методов NLP ограничим эту область до области, где для целей NLP применяются нейросети.
Читать дальше →
Всего голосов 26: ↑1 и ↓25-24
Комментарии47

Информация

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