Как номер документа повлияет на результат Gensim LDA? - PullRequest
0 голосов
/ 29 ноября 2018

Я использую три TXT-файла для выполнения проекта LDA. Я пытаюсь разделить эти три TXT-файла двумя способами. Разница между процессами такова:

docs = [[doc1.split(' ')], [doc2.split(' ')], [doc3.split(' ')]]
docs1 = [[''.join(i)] for i in re.split(r'\n{1,}', doc11)] + [[''.join(e)] for e in re.split(r'\n{1,}', doc22)] + [[''.join(t)] for t in re.split(r'\n{1,}', doc33)]    
dictionary = Dictionary(docs)
dictionary1 = Dictionary(docs1)
corpus = [dictionary.doc2bow(doc) for doc in docs]
corpus1 = [dictionary.doc2bow(doc) for doc in docs1]

И номер документа

len(corpus)
len(corpus1)
3
1329

Но модель lda приводит к мусору в corpus, но относительно хороший результат в corpus1

. Я использую эту модель для обучения документа

model = gensim.models.ldamodel.LdaModel(corpus=corpus,
                                    id2word=id2word,
                                    num_topics=10, 
                                    random_state=100,
                                    update_every=1,
                                    chunksize=100,
                                    passes=10,
                                    alpha='auto',
                                    per_word_topics=True)

Разницав двух моделях номер документа, все остальное одинаково

Почему LDA создает такой разный результат в этих двух моделях?

1 Ответ

0 голосов
/ 02 декабря 2018

Если вы изучаете LDA, я думаю, что почти везде первая строка звучит так: «LDA подходит для большого корпуса, тогда как для короткого текста это не работает».В ваших corpus есть только 3 документа, тогда как в corpus1 это 1329, поэтому определенно он даст точные результаты для corpus1

Еще один момент - это работа LDA на основе итераций и поиск случайных образцов для обучения из документов., поэтому, когда у вас большой корпус (больше документов), наиболее вероятно, что каждый образец будет отличаться от одного и того же образца (несколько документов), и разные образцы могут привести к более точным результатам.

Надеюсь, это имеет смысл.

...