Я использовал LDA на корпусе из 60000 записей, и я получил хороший результат. Но вставив еще 200 строк в этот корпус и перезапустив LDA, у меня совсем другие темы. Тем не менее, 200 строк не представляют 1% корпуса. Обычно результаты не должны меняться. Я искал кое-что о чувствительности и стабильности моделей LDA, и я видел, что они просто довольно чувствительны на уровне параметров ... кто-нибудь знает что-нибудь об этом?
Вот этот скрипт:
import pandas
import mglearn
import numpy as np
import pandas as pd
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.decomposition import LatentDirichletAllocation
text = pandas.read_csv('pretraitement_janaina_modif.csv', encoding = 'utf-8')
text_list = text.values.tolist()
vector = CountVectorizer()
X = vector.fit_transform(text_list)
lda_model = LatentDirichletAllocation(n_components = 30, learning_method = "batch", max_iter = 25, random_state = 0)
document_topics = lda_model.fit_transform(X)
sorting = np.argsort(lda_model.components_, axis = 1)[:, ::-1]
feature_names = np.array(vector.get_feature_names())
topics = mglearn.tools.print_topics(topics = range(30), feature_names = feature_names, sorting = sorting, topics_per_chunk = 5, n_words = 10)
print(topics)
В качестве первого результата приведен список тем:
Тема 0: заказ не доставляется обратно, всегда делитесь ответом на ответ подробнее
Тема 1: отменить заказ, возможны пожелания, пожелать выдвинуть ошибки, пункты обмануты
Тема 2: информирование о текущем заказе на поставку.
Тема 3: Дефектная деревянная коробка, имеющая дефекты покраски коробки на уровне коробки
Но когда я добавляю несколько строк в корпус, темы меняются:
Тема 0: поддержка канапе люстры изделия с большим верхом из металла большого размера
Тема 1: квитанция о заказе товара отсутствует, заказ не отсылается только
Тема 2: Дефектная деревянная коробка. Дефектная окраска коробки. 1029 *
Тема 3: сумма платежа по заказу осуществлена, перевод получен, банк оплаты пришел хорошо
Чего я не понимаю, так это того, как этот алгоритм может быть настолько чувствительным, чем нестабильным и настолько сильно изменяться, когда мы добавляем несколько строк ...