Итак, из документации Gensim я взял этот фрагмент кода:
from gensim.models import LdaModel
from gensim.test.utils import common_texts
from gensim.corpora.dictionary import Dictionary
# Create a corpus from a list of texts
common_dictionary = Dictionary(common_texts)
common_corpus = [common_dictionary.doc2bow(text) for text in common_texts]
# Train the model on the corpus.
lda = LdaModel(common_corpus, num_topics=10)
Файл, который вы хотите проанализировать, - это csv, поэтому для его открытия вы можете использовать pandas
import pandas as pd
df = pd.read_csv(filename) # add header=None if the file has no column names
После того, как вы импортируете файл, у вас есть все, что загружено в фрейм данных, вам нужно объединить весь текст в уникальный список (см. Первый комментарий к фрагменту кода gensim), который должен выглядеть следующим образом
["text one..", "text 2..", "text 3..."]
You можно сделать это, перебирая фрейм данных и добавляя текст в пустой список. Прежде чем сделать это, вам также необходимо проверить, какой столбец вашего CSV-файла содержит текст для анализа.
common_texts = [] # initialise empty list
for ind, row in df.iteritem():
text = row[name_column_with_text]
common_texts.append(text)
Как только вы получите свой список текста, вы можете просто применить код из документации Gensim. Конечно, у вас могут быть проблемы с памятью, это зависит от размера вашего CSV-файла.