Как узнать, какой документ принадлежит к какому кластеру? - PullRequest
0 голосов
/ 20 мая 2019

Я новичок в обработке естественного языка и нашел этот интересный учебник, который описывает, как выполнять моделирование темы.

Доступно данных для этого учебника

Исходный код: здесь

Приведенный выше код может обеспечить моделирование тем с использованием LDA и генерирует число k тем.У меня вопрос, как я могу найти, какой документ относится к какой теме (кластер)?Как и в примере, показанном на рисунке здесь .Мне интересно что-то вроде:

publish_date: 20030219 с текстом (aba ...) относится к кластеру темы 1 или ..

Я уже прочитал пост, такой как: [1] или [2] но все же я не смог получить свой ответ.

Я также попробовал набор инструментов для анализа текста Matlab, но я не мог понять этоеще нет.

Было бы здорово, если бы вы могли мне помочь.

1 Ответ

1 голос
/ 20 мая 2019

вы можете передать документ следующим образом:

a = lda_model[bow_corpus[:]]

Создайте массивы тем:

topic_0=[]
topic_1=[]
topic_2=[]

for i in a:
    topic_0.append(i[0][1])
    topic_1.append(i[1][1])
    topic_2.append(i[2][1])

Затем поместите его в CSV-файл и найдите максимальное значение

d = {'topic_0': topic_0,
     'topic_1': topic_1,
     'topic_2': topic_2}

df = pd.DataFrame(data=d)
df.to_csv("YourCSV.csv", index=True, mode = 'a')

Вы также можете посмотреть на оценки для одной строки:

lda_model[bow_corpus[123]]

Надеюсь, это поможет:)

...