#使用jieba 和 sklearn都可以进行关键词提取
import jieba.analyse
index=2400
print(df_news['content'][index])
# str.join(sequence) sequence中用str连接
content_S_str=''.join(content_S[index])
#jieba.analyse.extract_tags 找出关键词。
print(' '.join(jieba.analyse.extract_tags(content_S_str,topK=5,withWeight=False)))
#LDA主题模型
from gensim import corpora,models,similarities
import gensim
# 做映射,相当于词袋 输入为ist of list形式
# 单词及其整数id之间的映射。可以理解为python中的字典对象,
# 其Key是字典中的词,其Val是词对应的唯一数值型ID
dictionary=corpora.Dictionary(contents_clean)
# 将文档转换为词袋(BoW)格式= (token_id,token_count)元组的列表。
# doc2bow(document,allow_update = False,return_missing = False )
# 输入为list of str
corpus=[dictionary.doc2bow(sentence) for sentence in contents_clean]
#类似Kmeans自己指定K值
lda = gensim.models.ldamodel.LdaModel(corpus=corpus, id2word=dictionary, num_topics=20)
#第一类主题,显示频率最高的5个
print(lda.print_topic(1,topn=5))
#20个分类结果
for topic in lda.print_topics(num_topics=20,num_words=5):
print(topic[1])