У меня есть список токенизированных документов, содержащий как униграммы, так и биграммы, и я хотел бы выполнить на нем sklearn lda. Я попробовал следующий код:
my_data =[['low-rank matrix','detection method','problem finding'],['probabilistic inference','problem finding','statistical learning','solution' ],['detection method','probabilistic inference','population','language']...]
tf_vectorizer = CountVectorizer(min_df=2, max_features=n_features,
stop_words='english')
tf = tf_vectorizer.fit_transform(mydata)
lda = LatentDirichletAllocation(n_topics=3, max_iter=5,random_state=10)
, но когда я печатаювыходные данные я получаю что-то вроде этого:
topic 0:
detection,finding, solution ,method,problem
topic 1:
language, statistical , problem, learning,finding
and so on..
биграммы разбиты и отделены друг от друга. У меня есть 10 000 документов и я уже их токенизировал, также метод нахождения биграммы не основан на nltk, так что я уже сделалэтот.Есть ли способ улучшить это без изменения ввода?Я очень новичок в использовании sklearn, поэтому заранее извиняюсь, если я совершаю очевидную ошибку.