Pull to refresh
5
0
Моисеев Арсений @MoZZes

Data scientist, гаражный изобретатель

Send message

Запускаем LDA в реальном мире. Подробное руководство

Reading time12 min
Views39K

Предисловие


На просторах интернета имеется множество туториалов объясняющих принцип работы LDA(Latent Dirichlet Allocation — Латентное размещение Дирихле) и то, как применять его на практике. Примеры обучения LDA часто демонстрируются на "образцовых" датасетах, например "20 newsgroups dataset", который есть в sklearn.


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


  • Много выбросов.
  • Неправильная разметка(если она есть).
  • Очень сильные дисбалансы классов и 'некрасивые' распределения каких-либо параметров датасета.
  • Для текстов, это: грамматические ошибки, огромное кол-во редких и уникальных слов, многоязычность.
  • Неудобный способ харнения данных(разные или редкие форматы, необходимость парсинга)

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

Читать дальше →

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Registered
Activity