NLPx

Tales of Data Science

Немного о брокерах сообщений — Kafka и RabbitMQ

 

На картинке вы видите Apache Kafka и RabbitMQ.

Решил кратко написать про разницу между двумя брокерами сообщений Apache Kafka и RabbitMQ. там вся суть — в двух предложениях-метафорах, но на всякий случай напишу чуть больше информации.

Read More

10,242 просмотров всего, 2 просмотров сегодня

Итоги 2018 года: Data Science, NLP и все-все-все


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

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

Read More

1,883 просмотров всего, сегодня нет просмотров

Условные случайные поля (CRF): краткий обзор

На этой картинке вы видите условное случайное поле.

Продолжаю выкладывать тексты, которые когда-то писал по рабочей надобности. Этот текст был составлен в конце 2014 года, но вполне актуален и сейчас.

В связи с бурным развитием глубинных нейросетей мы как-то начали забывать о простых статистических тружениках машинного обучения. Хватит это терпеть!

Здесь содержится краткий конспект по алгоритму CRF (conditional random fields, условные случайные поля), который я писал для доклада на внутренней конференции. Как обычно — минимум теории (кроме самой интересной) и совсем немного занудства. Пригодится всем, кто любит краткие конспекты. Здесь все, что вы хотели знать о CRF, но боялись спросить (но это не точно).

Добро пожаловать под кат!

Read More

17,052 просмотров всего, 2 просмотров сегодня

Чат-боты: обзор и состояние технологий в отрасли

В последнее время (где-то с февраля-марта 2016 года) очень много и часто говорят про чат-ботов. Насколько это модно, стильно и молодежно? Какие перспективы — рыночные и технологические? Кто виноват и что делать? Об этом вы не узнаете, пока не прочитаете весь опубликованный здесь текст.

Если интересно — покорнейше прошу читать дальше. Если нет, то все равно попробуйте прочитать — вдруг понравится?

Read More

32,460 просмотров всего, 1 просмотров сегодня

Примеры отчетов по анализу данных (на английском)

Недавно я нашёл несколько примеров отчетов по анализу данных, которые делали я и мои коллеги в 2013 для тренировки, во время прохождения курса Data Analysis на Курсере. Отчеты на английском языке, могут пригодится в качестве примера всем интересующимся 🙂

Отчеты сделаны по итогам анализа двух наборов данных — Lending Club dataset и Samsung Smartphones dataset. В отчетах нет никаких шедевральных алгоритмов и всякого такого — только четкая структура, последовательность изложения и интересные выводы.

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

Итак, нажмите сюда для перехода. (не пугайтесь, это не внешняя ссылка)

8,753 просмотров всего, сегодня нет просмотров

История об LDA2vec: взболтать, но не смешивать

catdog_word2vec_cropped

UPD: В английской версии этого поста оставили очень ценный комментарий, и теперь я вижу, что я слишком заострил внимание на различиях LDA и word2vec, а они с алгоритмической точки зрения не так уж и сильно отличаются. Поэтому я несколько изменил первоначальную версию текста. Кстати, рекомендую прочитать презентацию товарища Голдберга про word2vec.

Буквально только что, когда уже хотел взяться за написание текста про конференцию (как обещал в предыдущем посте), я обнаружил совсем недавно созданный гибридный алгоритм, который хитрым образом берет лучшее (по крайней мере, должен брать лучшее) из известного алгоритма тематического моделирования LDA (Латентное размещение Дирихле) и из чуть менее известного инструмента языкового моделирования word2vec (никак не расшифровывается, но про него я писал ранее).

Вы также можете прочитать этот текст на английском

И сейчас я расскажу вам историю об lda2vec и моих попытках поиграться с реализацией и сравнить ее с алгоритмом LDA. Итак, однажды в студеную зимнюю пору…

Read More

18,527 просмотров всего, сегодня нет просмотров

Google может в Open Source: TensorFlow

TensorFlow

Недавно, 10 дней назад, когда я был на конференции AINL-ISMW FRUCT 2015 (про нее напишу чуток позже), узнал, что Google выпустил TensorFlow в виде ПО с открытым исходным кодом (который опенсорс). И это здорово, хотя вызывает ряд вопросов, на некоторые из которых я попробую ответить ниже.

Read More

42,126 просмотров всего, 1 просмотров сегодня

Немного про word2vec: полезная теория

Homer sez

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

Поэтому здесь я немного расскажу о том, что такое word2vec, зачем он нужен, как он работает — и прочие мелочи. Статья теоретическая (про сам word2vec, а не про векторное пространство, если что), написана достаточно простым языком, но все же содержит в себе практические идеи. Enjoy!

Read More

99,814 просмотров всего, 3 просмотров сегодня

API Вконтакте + NetworkX = социальный граф!

interest-graphs-social-graph

Попалась мне тут когда-то интересная задача — быстро и максимально просто (с минимумом привлекаемых библиотек) нарисовать граф пересечения пользователей разных групп Вконтакте. И я ее даже сделал. Затем подумал — а вдруг кому-то еще нужно будет сделать что-то подобное?

Поэтому здесь я расскажу и покажу, как же всё-таки делать такие вещи:

1. Подключаться к веб-сайту вконтакте с помощью Python 2.7 (всегда можно переписать под 3.x, если что)

2. Создавать графы с помощью библиотеки NetworkX (здесь рассматриваем графы пересечений аудитории групп вконтакте)

3. Визуализировать эти графы (тут нам немного понадобится библиотека matplotlib)

Read More

23,738 просмотров всего, сегодня нет просмотров

Data Analyst vs. Data Scientist — в чём различие?

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

Вот они, эти профессии:

1. Data Analyst (аналитик данных)

2. Data Mining Specialist (специалист по интеллектуальной обработке данных)

3. Data Scientist (ученый по данным)

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

Поэтому я предлагаю свою версию того, чем же эти профессии отличаются — на основе данных с зарубежных блогов, зарубежных же объявлений о вакансиях и, само собой, своих собственных соображений.

Read More

42,258 просмотров всего, сегодня нет просмотров