Модель fastText — одно из самых эффективных векторных представлений слов для русского языка. Однако её прикладная польза страдает из-за внушительных (несколько гигабайт) размеров модели. В этой статье мы показываем, как можно уменьшить модель fastText с 2.7 гигабайт до 28 мегабайт, не слишком потеряв в её качестве (3-4%). Спойлер: квантизация и отбор признаков работают хорошо, а матричные разложения — не очень. Также мы публикуем пакет на Python для этого сжатия и пример компактной модели для русских слов.
Рубрика «gensim»
Всё, что вы знали о word2vec, неправда
2019-06-05 в 11:35, admin, рубрики: gensim, glove, Skip-gram, word2vec, Алгоритмы, машинное обучение, случайная инициализацияКлассическое объяснение word2vec как архитектуры Skip-gram с отрицательной выборкой в оригинальной научной статье и бесчисленных блог-постах выглядит так:
while(1) {
1. vf = vector of focus word
2. vc = vector of focus word
3. train such that (vc . vf = 1)
4. for(0 <= i <= negative samples):
vneg = vector of word *not* in context
train such that (vf . vneg = 0)
}
Действительно, если погуглить [word2vec skipgram], что мы видим:
- Страница Википедии, которая описывает алгоритм на высоком уровне
- Страница Tensorflow с тем же объяснением
- Блог Towards Data Science c описанием того же алгоритма, и список продолжается.
Но все эти реализации ошибочны.
Читать полностью »
Отчет о старте Atos IT Challenge
2017-12-08 в 15:03, admin, рубрики: data mining, data-visualisation, gensim, matplotlib, NLTK, python, визуализация данных, машинное обучениеЕсть ли у вас та штука, что называется pet project или side project? Тот самый проект, который бы вы делали в свое удовольствие и для себя, для саморазвития или расширения портфолио. Лично у меня долгое время не было ничего, что можно было бы показать. Однако, в рамках стартовавшего этой осенью конкурса Atos IT Challenge 2018, у меня как раз появилась возможность начать такой проект.