Этот проект реализует алгоритм отбора проб GIBBS для модели смеси дирихлета Yin and Wang 2014 для кластеризации коротких текстовых документов. Некоторые преимущества этого алгоритма:
K на количество кластеровЭтот проект является простым в прочтении эталонной реализации GSDMM - я не планирую поддерживать его, если не существует спроса. Однако я активно поддерживаю гораздо более быструю ржавную версию GSDMM здесь.
В своей статье авторы вводят простую концептуальную модель для объяснения GSDMM, называемого процессом фильмов.
Представьте себе, что профессор ведет класс кино. В начале класса студенты случайным образом назначаются в таблицы K До начала занятий студенты составляют списки своих любимых фильмов. Профессор неоднократно читает классную роль. Каждый раз, когда называется имя студента, студент должен выбрать новую таблицу, удовлетворяющую одно или оба из следующих условий:
Следуя этим шагам последовательно, мы могли бы ожидать, что студенты в конечном итоге придут к «оптимальной» конфигурации таблицы.
Чтобы использовать процесс фильма для кластера коротких текстов, сначала инициализируйте MovieGroupprocess:
from gsdmm import MovieGroupProcess
mgp = MovieGroupProcess ( K = 8 , alpha = 0.1 , beta = 0.1 , n_iters = 30 ) Важно всегда выбирать K , чтобы быть больше, чем количество кластеров, которые вы ожидаете, существуют в ваших данных, так как алгоритм никогда не сможет вернуть больше, чем K кластеров.
Чтобы соответствовать модели:
y = mgp . fit ( docs ) Каждый документ в docs должен быть уникальным списком токенов, найденных в вашем коротком текстовом документе. Эта реализация не поддерживает подсчет токенов с множественностью (которая, как правило, имеет небольшую ценность в коротких текстовых документах).