# https://blog.csdn.net/whzhcahzxh/article/details/17528261
# gensim包中引用corpora,models, similarities,分别做语料库建立,模型库和相似度比较库 from gensim import corpora, models, similarities
import jieba
sentences = ["我喜欢吃土豆","土豆是个百搭的东西","我不喜欢今天雾霾的北京"]
words=[]
for doc in sentences:
words.append(list(jieba.cut(doc))) #得到的分词结果构造词典
dic = corpora.Dictionary(words) # 词典生成好之后,就开始生成语料库了
corpus = [dic.doc2bow(word) for word in words] #TF-IDF变换
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus] # 训练LSI模型,假定三句话属于2个主题,
print('>>>>>>LSI>>>>>>>')
lsi = models.LsiModel(corpus_tfidf, id2word=dic, num_topics=2)
## 建立的两个主题模型内容
## lsiout=lsi.print_topics(2)
# 将文章投影到主题空间中
corpus_lsi = lsi[corpus_tfidf]
for doc in corpus_lsi:
print(doc) '''
[(0, -0.70861576320682107), (1, 0.1431958007198823)]
[(0, -0.42764142348481798), (1, -0.88527674470703799)]
[(0, -0.66124862582594512), (1, 0.4190711252114323)] '''
print('>>>>>>LDA>>>>>>>')
# 接着训练LDA模型,假定三句话属于2个主题,
lda = models.LdaModel(corpus_tfidf, id2word=dic, num_topics=2)
## 建立的两个主题模型内容
## ldaOut=lda.print_topics(2)
# 将文章投影到主题空间中
corpus_lda = lda[corpus_tfidf]
for doc in corpus_lda:
print(doc) # 输入一句话,查询属于LSI得到的哪个主题类型,先建立索引: index = similarities.MatrixSimilarity(lsi[corpus])
query = "雾霾很严重"
query_bow = dic.doc2bow(list(jieba.cut(query)))
query_lsi = lsi[query_bow]
print('query_lsi',query_lsi) # 比较和第几句话相似,用LSI得到的索引接着做,并排序输出 sims = index[query_lsi]
sort_sims = sorted(enumerate(sims), key=lambda item: -item[1])
print('sort_sims',sort_sims)

gensim_主题提取的更多相关文章

  1. LinkedIn文本分析平台:主题挖掘的四大技术步骤

    作者 Yongzheng (Tiger) Zhang ,译者 木环 ,本人只是备份一下.. LinkedIn前不久发布两篇文章分享了自主研发的文本分析平台Voices的概览和技术细节.LinkedIn ...

  2. LDA提取信息

    文本主题模型提取 如下程序将句子主题提取后,将权重值存入dataframe. #!/usr/bin/python # -*- coding:utf-8 -*- import pandas as pd ...

  3. R语言颜色综合运用与色彩方案共享

    R语言颜色综合运用与色彩方案共享 小魔方 EasyCharts 2016-11-21 今天这篇主要讲解R语言颜色综合运用,主要跟大家介绍如何提取那些专业色彩包中的颜色搭配用于在基础绘图系统和高级绘图系 ...

  4. Boost(1.69.0) windows入门(译)

    目录 Boost windows入门 1. 获得Boost源代码 2. Boost源代码组织 The Boost Distribution 3. 仅用头文件的库 Header-Only Librari ...

  5. 智慧金融时代,大数据和AI如何为业务赋能

    前言:宜信技术人物专访是宜信技术学院推出的系列性专题,我们邀请软件研发行业的优秀技术人,分享自己在软件研发领域的实践经验和前瞻性观点. 第一期专访我们邀请到宜信科技中心AI中台负责人王东老师,从大数据 ...

  6. 第九周周四计划&&周三总结

    今天由于自己的原因进度不是很大,今天整理了一下全网关联的思路流程(个人可能就是那种没自信,在思路不知道对不对的情况下不敢下手那种渣渣),和之前的一个学长讨论了一下大概思路流程,如下: (1)使用LDA ...

  7. 第九周周二总结&&第九周周三计划

    周二的主题提取使用LDA模型进行了简单的测试,效果还可以.主要是提取的分词的结果,LDA:随机生成文章各个主题比例,再根据各个主题随机生成词,词与词之间的顺序关系被彻底忽略了,这就是LDA眼中世间所有 ...

  8. 科研伴我成长——上海交通大学ACM班学生在微软亚洲研究院的幸福实习生活

    每一年,微软亚洲研究院都会迎来一批"特殊的"实习生--他们既不是从五湖四海汇聚而来,也不是在读的硕士和博士.他们相识已久,知道对方的小秘密.小八卦,也相互敬佩.惺惺相惜--他们就是 ...

  9. 基于Neo4j的个性化Pagerank算法文章推荐系统实践

    新版的Neo4j图形算法库(algo)中增加了个性化Pagerank的支持,我一直想找个有意思的应用来验证一下此算法效果.最近我看Peter Lofgren的一篇论文<高效个性化Pagerank ...

随机推荐

  1. Using promises

    [Using promises] 过去,异步方法这样写: function successCallback(result) { console.log("It succeeded with ...

  2. python-ceilometerclient命令行(1)

    1.导入模块,可以动态获取模块中方法并调用,其功能与from...import...一致 2. callback = getattr(actions_module, attr) 从模块中获取方法. 调 ...

  3. webservice客户端 get delete post 请求

    package com.cn.eport.util.common; import java.io.IOException; import java.util.List; import org.apac ...

  4. python网络编程之进程论

    标签(空格分隔): 进程 什么是进程: 进程:正在进行的一个过程或者说一个任务.而负责执行任务则是cpu; 进程与程序的区别: 程序仅仅只是一堆代码而已,而进程指的是程序的运行过程 注意: 需要强调的 ...

  5. cdnbest如何配置ssl证书

    cdnbest添加ssl证书有三种方式: 一.第一种在站点设置中添加: 点打开,加入证书后点提交 可以点检测功能检查证书是否有效,打勾说明证书是有效的 二. 第二种是在域名记录里添加: 如下图点击,添 ...

  6. ORA-01555 snapshot too old

    假设有一张6000万行数据的testdb表,预计testdb全表扫描1次需要2个小时,参考过程如下: 1.在1点钟,用户A发出了select * from testdb;此时不管将来testdb怎么变 ...

  7. PHP 获取 IE浏览器版本号

    function getIEBrowserVersion(){ $agent = strtolower($_SERVER['HTTP_USER_AGENT']); if(strpos($agent, ...

  8. typedef void(*Func)(void)的简单用途

    typedef void(*Func)(void)的用途 用法的好处: 定义一个函数指针类型. 例子: 有三个类型相似或功能相似的函数: void TASK1(void) { printf(" ...

  9. 方法装饰器(Decorator)

    代码: function enhance(target, key, descriptor) { const method = descriptor.value; let extraSpeed = 50 ...

  10. WIN7,安装所以软件都提示error writing temporary file

    执行: icacls C:\Users\Administrator\Desktop /setintegritylevel H