gensim lda主题模型主题数最多多少

向量空间模型计算文档集合相似性。[0]
将原始输入的词转换为ID,词的id表示法简单易用,但是无法预测未登记词,难以挖掘词关系;词汇鸿沟[1]:任意两个词之间是独立的,无法通过词的ID来判断词语之间的关系,无法通过词的id判断词语之间的关系[2]
使用gensim包的models,corpora,similarities,对文档进行相似度计算,结果比较其他lda、doc2vec方法稳定。
主要步骤:
1.建立语料库,os.walk方法遍历文件夹中的文件
2.使用分词工具(jieba)进行分词、停用词过滤
3.使用corpora.Dictionary()生成字典,该方法把所有单词取一个set,并对set中每一个单词分配一个id号的map
4.dictionary.doc2bow()方法把文档用稀疏向量表示。
5.similarities.Similarity()方法计算相似度
6.构造训练数据和测试数据
7.similarity[test_corpus]返回相似度最高的similarity.num_best 个文档。
具体参考示例:
[0]基于向量空间模型的中文文本相似度算法研究
[1]word representations: a simple and general method for semi-supervised learning.
[2]基于词向量模型特征空间优化同义词扩展研究和应用
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:20339次
排名:千里之外
原创:43篇
转载:15篇
评论:14条
(4)(5)(16)(19)(2)(1)(4)(7)(1)& & Gensim是一个相当专业的主题模型Python工具包。在文本处理中,比如商品评论挖掘,有时需要了解每个评论分别和商品的描述之间的相似度,以此衡量评论的客观性。评论和商品描述的相似度越高,说明评论的用语比较官方,不带太多感情色彩,比较注重描述商品的属性和特性,角度更客观。那么Python 里面有计算文本相似度的程序包吗,恭喜你,不仅有,而且很好很强大,那就是gensim。& & 针对商品评论和商品描述之间的相似度,怎么使用gensim来计算。& & 原理& & 1、文本相似度计算的需求始于搜索引擎。& & 搜索引擎需要计算“用户查询”和爬下来的众多”网页“之间的相似度,从而把最相似的排在最前返回给用户。& & 2、主要使用的算法是tf-idf& & tf:term frequency词频& & idf:inverse document frequency倒文档频率& & 主要思想是:如果某个词或短语在一篇文章中出现的频率高,并且在其他文章中很少出现,则认为此词或者短语具有很好的类别区分能力,适合用来分类。& & 第一步:把每个网页文本分词,成为词包(bag of words)。& & 第三步:统计网页(文档)总数M。& & 第三步:统计第一个网页词数N,计算第一个网页第一个词在该网页中出现的次数n,再找出该词在所有文档中出现的次数m。则该词的tf-idf 为:n/N * 1/(m/M)&(还有其它的归一化公式,这里是最基本最直观的公式)& & 第四步:重复第三步,计算出一个网页所有词的tf-idf 值。& & 第五步:重复第四步,计算出所有网页每个词的tf-idf 值。& & 3、处理用户查询& & 第一步:对用户查询进行分词。& & 第二步:根据网页库(文档)的数据,计算用户查询中每个词的tf-idf 值。& & 4、相似度的计算& & 使用余弦相似度来计算用户查询和每个网页之间的夹角。夹角越小,越相似。& & & & 官方主页:/gensim/index.html& & github代码页:/piskvorky/gensim
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
论文写作技巧7056人阅读
主题模型Topic Model(16)
http://LDA参数LDA求参推导中国科学技术信息研究所徐硕老师的PDF,对LDA,TOT,AT模型如何使用gibbs sampling求参进行了细致推导,并依据求参结果给出伪代码。地址:参数alpha和beta的选择alpha是一个对称的Dirichlet分布的参数,值越大意味着越平滑(更正规化)。guide1:Appropriate values for ALPHA and BETA depend on the number of topics and the number of words in vocabulary. For most applications, good results can be obtained by setting ALPHA = 50 / T and BETA = 200 / Wlz注:alpha一般默认 = 50/k + 1,50/k是LDA中的通用设置,+1是根据on smoothing and inference for topic models文中的推荐值。guide2:I suppose it has no advantage of Dirichlet parameters greater than 1 on topic model.I always choose parameters as small as possible, e.g. ALPHA=0.01/T and so on.[:先验分布参数的确定]主题数目的选择有时主题数目的选择都相当随意,如果我们仅仅把主题抽取作为处理的中间环节,那么对大多数用户来说,主题数量对最终结果并无影响,也就是说,只要你抽取了足够多的主题,最终结果并无区别。然而(lz注)主题数目应该代表模型的复杂度,如果主题数目太小,模型描述数据的能力就会受限;当主题数目设置超过某个threshold时,模型已经足够来处理数据了,这里增加主题数目没用,同时还会增加模型训练的时间。lz建议使用交叉验证,使用不同的主题数目值,测试参数的sensitivity,通过最终结果的准确率来实现主题数目的选择。HDP不过即使这样,你有时候仍然需要去确定需要抽取多少主题,通过垂直狄利克莱过程的方法,它在Gensim中有所实现。&& hdp = gensim.models.hdpmodel.HdpModel(mm,id2word)剩余流程和使用LDA一样,不过使用这种方法花费的时间更长一些。不用LDP learn the number of topics from the data, In practice however, the inferred(推论的) topic counts and resulting topics are often not what’s expected. Theoptimal(最佳的) number of topics from the structural/syntactic(句法的) point of view isn’t necessarily optimal from& thesemantic(语义的) point of view.&Thus in practice,& running LDA with a number of different topic counts, evaluating the learned topics, and deciding whether the number topics should be increased or decreased usually gives better results.[]后验分布的更新实践[AMC]在burn in phase结束后再在每个sample lag进行posterior distributions更新。数据量很小时(e.g., 100 reviews)我们只保留Markov chain最后的状态 (i.e., sampleLag = -1). The reason is that it avoids the topics being dominated by the most frequent words.数据量不是很小时(e.g., 1000 reviews),我们可以设置sampleLag为20。@Option(name = &-slag&, usage = &Specify the length of interval to sample for calculating posterior distribution&) && &public int sampleLag = -1; // Subject to change given the size of the data.When the data is very small (e.g., 100 reviews), we only retain the last Markov chain status (i.e., sampleLag = -1). The reason is that it avoids the topics being dominated by the most frequent words. When the data is not very small (e.g., 1000 reviews), we should set sampleLag as 20.[吉布斯采样的相关性和独立性得到近似的独立样本]每次运行LDA产生的主题都不同由于LDA使用随机性的训练和推理步骤。怎么产生稳定的主题?通过重置numpy.random种子一样SOME_FIXED_SEED = 42# before training/inference:np.random.seed(SOME_FIXED_SEED)Note:[][]Naming the topics命名主题1& The LDA topics are distributions over words, which naturally lends itself& as a naming scheme: just take a number (for example 5-10) of most probable words in the distribution as the topicdescriptor(描述符号). This typically works quite well.2& There are interesting approaches on how to improve topic naming, for example taking into account wordcentrality(中心) in the word network in thecorpus(语料库) etc.&from:ref:
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:830293次
积分:12683
积分:12683
排名:第741名
原创:478篇
转载:73篇
评论:100条
文章:21篇
阅读:53893
阅读:10371
文章:13篇
阅读:23472
阅读:13463
文章:16篇
阅读:41712
文章:18篇
阅读:28425
(16)(18)(24)(4)(6)(16)(6)(11)(15)(5)(4)(5)(30)(8)(12)(9)(10)(17)(20)(19)(7)(24)(9)(15)(19)(57)(12)(28)(15)(36)(15)(19)(2)(2)
Contact meGensim做中文主题模型(LDA)
Gensim做中文主题模型(LDA)
[摘要:情况: Ubuntu 12.04, gensim, jieba 中文语料去自/labs/dl/c.html 的粗简版(tar.gz花样) 24M jerry@hq:/u01/jerry/Reduced$ ls C C C 各个文件]
环境: Ubuntu 12.04, gensim, jieba
中文语料来自/labs/dl/c.html 的精简版(tar.gz格式)&24M
jerry@hq:/u01/jerry/Reduced$ ls
C000008 &C000010 &C000013 &C000014 &C000016 &C000020 &C000022 &C000023 &C000024
各个文件夹的分类:
C000007 汽车
C000008 财经
C000010 IT
C000013 健康
C000014 体育
C000016 旅游
C000020 教育
C000022 招聘
C000023 文化
C000024 军事
步骤如下:
import jieba, os
from gensim import corpora, models, similarities
train_set = []
walk = os.walk('/u01/jerry/Reduced')
for root, dirs, files in walk:
& & for name in files:
& & & & f = open(os.path.join(root, name), 'r')
& &raw = f.read()
& &word_list = list(jieba.cut(raw, cut_all = False))
& &train_set.append(word_list)
dic = corpora.Dictionary(train_set)
corpus = [dic.doc2bow(text) for text in train_set]
tfidf = models.TfidfModel(corpus)
corpus_tfidf = tfidf[corpus]
lda = models.LdaModel(corpus_tfidf, id2word = dic, num_topics = 10)
corpus_lda = lda[corpus_tfidf]
&&& for i in range(0, 10):
... & & &print lda.print_topic(i)
0.000*康宁 + 0.000*sohu2 + 0.000*wmv + 0.000*bbn7 + 0.000*mmst + 0.000*cid + 0.000*icp + 0.000*沙尘 + 0.000*性骚扰 + 0.000*乌里韦
0.000*media + 0.000*mid + 0.000*stream + 0.000*bbn7 + 0.000*mmst + 0.000*sohu2 + 0.000*cid + 0.000*icp + 0.000*wmv + 0.000*that
0.012* + 0.000*米兰 + 0.000*老板 + 0.000*男人 + 0.000*女人 + 0.000*她 + 0.000*小说 + 0.000*病人 + 0.000*我 + 0.000*女性
0.002*& + 0.002*nbsp + 0.001*0 + 0.001*; + 0.001*西安 + 0.001*报名 + 0.001*1 + 0.001*∶ + 0.001*00 + 0.001*5
0.002*手机 + 0.002*孩子 + 0.001*球 + 0.001*国家队 + 0.001*胜 + 0.001*教练 + 0.001*; + 0.001*名单 + 0.001*阅读 + 0.001*高校
0.001*' + 0.000* + 0.000*= + 0.000*var + 0.000*height + 0.000*width + 0.000*NewWin + 0.000*} + 0.000*{ + 0.000*+
0.003* &+ 0.002*比赛 + 0.002*我 + 0.002*  + 0.001*; + 0.001*- + 0.001*, + 0.001*他 + 0.001*& + 0.001*―
0.000*航班 + 0.000*劳动合同 + 0.000*最低工资 + 0.000*农民工 + 0.000*养老保险 + 0.000*劳动者 + 0.000*用人单位 + 0.000*养老 + 0.000*上调 + 0.000*锦江
0.000*面板 + 0.000*碘 + 0.000*食物 + 0.000*维生素 + 0.000*营养 + 0.000*皮肤 + 0.000*蛋白质 + 0.000*药物 + 0.000*症状 + 0.000*体内
0.000* + 0.000*EMC + 0.000*包机 + 0.000*基金 + 0.000*陆纯初 + 0.000*南越 + 0.000*Kashya + 0.000*西沙群岛 + 0.000*Clariion + 0.000*西沙
感觉最终的主题模型不太理想, 可以需要多增加参数num_topics的数量。
感谢关注 Ithao123Python频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
PHP(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,利于学习,使用广泛,主要适用于Web开发领域。PHP 独特的语法混合了C、Java、Perl以及PHP自创的语法。它可以比CGI或者Perl更快速地执行动态网页。用PHP做出的动态页面与其他的编程语言相比,PHP是将程序嵌入到HTML(标准通用标记语言下的一个应用)文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;PHP还可以执行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。
IThao123周刊

我要回帖

更多关于 gensim word2vec 的文章

 

随机推荐