NLPx

Tales of Data Science

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

catdog_word2vec_cropped

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

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

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

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

Read More

6,681 просмотров всего, 10 просмотров сегодня

Google может в Open Source: TensorFlow

TensorFlow

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

Read More

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

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

interest-graphs-social-graph

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

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

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

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

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

Read More

9,240 просмотров всего, 9 просмотров сегодня

TF-IDF с примерами кода: просто и понятно

TF-IDFtfidf_blg-1024x295

Здесь я расскажу и покажу в примерах на Python, зачем и как считать стандартный TF-IDF, а также его вариации. Примеры я буду давать по ходу объяснения. Чтобы их понять, нужно иметь представления о базовых понятиях языка программирования Python в версии 2.х либо 3.х (основные типы данных, основные структуры данных, цикл-ветвление, функция, основы генераторов списков и словарей) и понимать, как применять класс Counter из стандартной библиотеки collections

Read More

17,050 просмотров всего, 46 просмотров сегодня

Стандартная библиотека Python — для обработки языка: collections.Counter

Counter

Сегодня я хотел бы рассказать об одном интересном классе стандартной библиотеки языка Python, который может пригодиться при обработке языка. Речь пойдет о классе Counter из библиотеки collections.

Read More

5,957 просмотров всего, 7 просмотров сегодня