Популярная модель тем, Laten Dirichlet Allocation (LDA), которая, когда используется для извлечения тем из корпуса, возвращает разные темы с разным распределением вероятностей по словарным словам.
Принимая во внимание, что Латентное семантическое индексирование (LSI) дает одинаковые темы и одинаковое распределение после каждой итерации.
На самом деле LDA широко используется для извлечения тем.
Как LDA поддерживает согласованность, если он возвращает разное распределение тем каждый раз, когда производится классификация?
Рассмотрим этот простой пример.
Образец документов берется, где D представляет документ:
D1: Linear Algebra techniques for dimensionality reduction
D2: dimensionality reduction of a sample database
D3: An introduction to linear algebra
D4: Measure of similarity and dissimilarity of different web documents
D5: Classification of data using database sample
D6: overfitting due lack of representative samples
D7: handling overfitting in descision tree
D8: proximity measure for web documents
D9: introduction to web query classification
D10: classification using LSI
Каждая строка представляет документ.
В приведенном выше корпусе модель LDA используется для создания тем из документа.
Gensim используется для LDA, пакетное LDA выполняется, когда количество выбранных тем равно 4, а количество проходов - 20.
Теперь в исходном корпусе выполняется пакетное LDA, а темы, созданные после 20 проходов:
topic #0: 0.045*query + 0.043*introduction + 0.042*similarity + 0.042*different + 0.041*reduction + 0.040*handling + 0.039*techniques + 0.039*dimensionality + 0.039*web + 0.039*using
topic #1: 0.043*tree + 0.042*lack + 0.041*reduction + 0.040*measure + 0.040*descision + 0.039*documents + 0.039*overfitting + 0.038*algebra + 0.038*proximity + 0.038*query
topic #2: 0.043*reduction + 0.043*data + 0.042*proximity + 0.041*linear + 0.040*database + 0.040*samples + 0.040*overfitting + 0.039*lsi + 0.039*introduction + 0.039*using
topic #3: 0.046*lsi + 0.045*query + 0.043*samples + 0.040*linear + 0.040*similarity + 0.039*classification + 0.039*algebra + 0.039*documents + 0.038*handling + 0.037*sample
Теперь пакетное LDA снова выполняется в том же исходном корпусе, и в этом случае создаются следующие темы:
topic #0: 0.041*data + 0.041*descision + 0.041*linear + 0.041*techniques + 0.040*dimensionality + 0.040*dissimilarity + 0.040*database + 0.040*reduction + 0.039*documents + 0.038*proximity
topic #1: 0.042*dissimilarity + 0.041*documents + 0.041*dimensionality + 0.040*tree + 0.040*proximity + 0.040*different + 0.038*descision + 0.038*algebra + 0.038*similarity + 0.038*techniques
topic #2: 0.043*proximity + 0.042*data + 0.041*database + 0.041*different + 0.041*tree + 0.040*techniques + 0.040*linear + 0.039*classification + 0.038*measure + 0.038*representative
topic #3: 0.043*similarity + 0.042*documents + 0.041*algebra + 0.041*web + 0.040*proximity + 0.040*handling + 0.039*dissimilarity + 0.038*representative + 0.038*tree + 0.038*measure
Распределение слов в каждой теме не одинаково в обоих случаях.
На самом деле, распределение слов никогда не бывает одинаковым.
Так, как LDA эффективно работает, если у него нет такого же распределения слов в его темах как LSI?