当前位置:   article > 正文

【NLP】英文数据预处理___Gensim(tf-idf LDA)_使用gensim库运行lda时,采用tf-idf文本向量化

使用gensim库运行lda时,采用tf-idf文本向量化

目录

理论(文本特征提取)

● 词袋模型

● TF-IDF模型

● 高级词向量模型

部分代码

Gensim_doc2bow+LDA

Gensim_tfidf+LDA

结果对比


理论(文本特征提取)

向量空间模型(又称“词向量模型”):将文本文档转为数字向量。权重为文档中单词的频率、平均出现的频率或TF-IDF权重。

● 词袋模型

● TF-IDF模型

● 高级词向量模型

主流:谷歌的word2vec算法,它是一个基于神经网络的实现,使用CBOW(Continuous Bags of Words)和skip-gram两种结构学习单词的分布式向量表示。也可基于Gensim库实现。

 

部分代码

Gensim_doc2bow+LDA

  1. # Create Dictionary
  2. id2word = corpora.Dictionary(data_lemmatized)
  3. # Create Corpus
  4. texts = data_lemmatized
  5. # Term Document Frequency
  6. corpus = [id2word.doc2bow(text) for text in texts]
  7. print()
  8. #构建主题模型
  9. #依然基于gensim
  10. lda_model = gensim.models.ldamodel.LdaModel(corpus=corpus,
  11. id2word=id2word,
  12. num_topics=2,
  13. random_state=100,
  14. update_every=1,
  15. chunksize=100,
  16. passes=10,
  17. alpha='auto',
  18. per_word_topics=True)
  19. #查看LDA模型中的主题
  20. # Print the Keyword in the 10 topics
  21. pprint(lda_model.print_topics())
  22. doc_lda = lda_model[corpus]

Gensim_tfidf+LDA

  1. import gensim.downloader as api
  2. from gensim.models import TfidfModel
  3. from gensim.corpora import Dictionary
  4. dct = Dictionary(data_lemmatized) # fit dictionary
  5. corpus = [dct.doc2bow(line) for line in data_lemmatized] # convert corpus to BoW format
  6. model = TfidfModel(corpus) # fit model
  7. vector = model[corpus] # apply model to the first corpus document
  8. #构建主题模型
  9. #依然基于gensim
  10. lda_model = gensim.models.ldamodel.LdaModel(corpus=vector,
  11. id2word=dct,
  12. num_topics=2,
  13. random_state=100,
  14. update_every=1,
  15. chunksize=100,
  16. passes=10,
  17. alpha='auto',
  18. per_word_topics=True)
  19. #查看LDA模型中的主题
  20. # Print the Keyword in the 10 topics
  21. pprint(lda_model.print_topics())
  22. doc_lda = lda_model[corpus]

结果对比

    1. data=("I LOVE apples# & 3241","he likes PIG3s","she do not like anything,except apples.\.")
    2. 主题数=2
  • 词袋模型doc2bow结果:[(0, '0.271*"pig" + 0.255*"like" + 0.096*"love" + 0.096*"apple" + ''0.095*"anything" + 0.094*"do" + 0.094*"not"'),  (1,'0.235*"apple" + 0.153*"like" + 0.141*"not" + 0.141*"do" + 0.141*"anything" ''+ 0.140*"love" + 0.050*"pig"')]
  • TF-IDF模型结果:[(0,'0.254*"pig" + 0.160*"like" + 0.124*"love" + 0.116*"apple" + ''0.116*"anything" + 0.115*"do" + 0.115*"not"'),  (1,'0.201*"love" + 0.148*"not" + 0.148*"do" + 0.148*"anything" + 0.147*"apple" ''+ 0.112*"like" + 0.096*"pig"')]
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号