首页
最新活动
服务器租用
香港服务器租用
台湾服务器租用
美国服务器租用
日本服务器租用
新加坡服务器租用
高防服务器
香港高防服务器
台湾高防服务器
美国高防服务器
裸金属
香港裸金属服务器
台湾裸金属服务器
美国裸金属服务器
日本裸金属服务器
新加坡裸金属服务器
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
CDN
CDN节点
CDN带宽
CDN防御
CDN定制
行业新闻
官方公告
香港服务器资讯
帮助文档
wp博客
zb博客
服务器资讯
联系我们
关于我们
机房介绍
机房托管
登入
注册
帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
联系客服
服务器资讯
/
香港服务器租用
/
香港VPS租用
/
香港云服务器
/
美国服务器租用
/
台湾服务器租用
/
日本服务器租用
/
官方公告
/
帮助文档
自然语言处理Gensim入门:建模与模型保存
发布时间:2024-03-03 12:18:45 分类:帮助文档
自然语言处理Gensim入门:建模与模型保存 文章目录 自然语言处理Gensim入门:建模与模型保存关于gensim基础知识1. 模块导入2. 内部变量定义3. 主函数入口 (`if __name__ == '__main__':`)4. 加载语料库映射5. 加载和预处理语料库6. 根据方法参数选择模型训练方式7. 保存模型和变换后的语料8.代码 自然语言处理Gensim入门:建模与模型保存 关于gensim基础知识 Gensim是一个专门针对大规模文本数据进行主题建模和相似性检索的Python库。 MmCorpus是gensim用于高效读写大型稀疏矩阵的一种格式,适用于大数据集。 TF-IDF是一种常见的文本表示方法,通过对词频进行加权以突出重要性较高的词语。 LSI、LDA和RP都是降维或主题提取方法,常用于信息检索、文本分类和聚类任务。 这段代码是使用gensim库生成主题模型的一个脚本,它根据用户提供的语言和方法参数来训练文本数据集,并将训练好的模型保存为文件。以下是核心代码逻辑的分析与解释: 1. 模块导入 导入了logging模块用于记录程序运行日志。导入sys模块以获取命令行参数和程序名。导入os.path模块处理文件路径相关操作。从gensim.corpora导入dmlcorpus(一个用于加载特定格式语料库的模块)和MmCorpus(存储稀疏矩阵表示的文档-词项矩阵的类)。从gensim.models导入四个模型:lsimodel、ldamodel、tfidfmodel、rpmodel,分别对应潜在语义索引(LSI)、潜在狄利克雷分配(LDA)、TF-IDF转换模型以及随机投影(RP)。 2. 内部变量定义 DIM_RP, DIM_LSI, DIM_LDA 分别指定了RP、LSI和LDA模型的维度大小。 3. 主函数入口 (if __name__ == '__main__':) 配置日志输出格式并设置日志级别为INFO。检查输入参数数量是否满足要求(至少包含语言和方法两个参数),否则打印帮助信息并退出程序。获取指定的语言和方法参数。 4. 加载语料库映射 根据传入的语言参数创建DmlConfig对象,该对象包含了语料库的相关配置信息,如存放结果的目录等。加载词汇表字典,即wordids.txt文件,将其转换成id2word字典结构,以便在后续模型构建中将词语ID映射回实际词语。 5. 加载和预处理语料库 使用MmCorpus加载二进制bow.mm文件,该文件存储了文档-词项矩阵,每个文档是一个稀疏向量表示。 6. 根据方法参数选择模型训练方式 如果方法为’tfidf’,则训练并保存TF-IDF模型,该模型对原始词频进行加权,增加了逆文档频率因子。若方法为’lda’,则训练LDA模型,这是一个基于概率统计的主题模型,通过文档-主题分布和主题-词语分布抽取主题结构。若方法为’lsi’,首先用TF-IDF模型转换语料,然后在此基础上训练LSI模型,它是一种线性代数方法,用于发现文本中的潜在主题空间。若方法为’rp’,同样先转为TF-IDF表示,然后训练RP模型,利用随机投影技术降低数据维数。对于未知的方法,抛出ValueError异常。 7. 保存模型和变换后的语料 训练完相应模型后,将其保存到指定的文件中(例如model_lda.pkl或model_lsi.pkl)。将原始语料经过所训练模型变换后得到的新语料(即主题表示形式)保存为一个新的MM格式文件,文件名反映所使用的主题模型方法。 8.代码 #!/usr/bin/env python # # Copyright (C) 2010 Radim Rehurek
# Licensed under the GNU LGPL v2.1 - https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html """ USAGE: %(program)s LANGUAGE METHOD Generate topic models for the specified subcorpus. METHOD is currently one \ of 'tfidf', 'lsi', 'lda', 'rp'. Example: ./gensim_genmodel.py any lsi """ import logging import sys import os.path from gensim.corpora import dmlcorpus, MmCorpus from gensim.models import lsimodel, ldamodel, tfidfmodel, rpmodel import gensim_build # internal method parameters DIM_RP = 300 # dimensionality for random projections DIM_LSI = 200 # for lantent semantic indexing DIM_LDA = 100 # for latent dirichlet allocation if __name__ == '__main__': logging.basicConfig(format='%(asctime)s : %(levelname)s : %(message)s') logging.root.setLevel(level=logging.INFO) logging.info("running %s", ' '.join(sys.argv)) program = os.path.basename(sys.argv[0]) # check and process input arguments if len(sys.argv) < 3: print(globals()['__doc__'] % locals()) sys.exit(1) language = sys.argv[1] method = sys.argv[2].strip().lower() logging.info("loading corpus mappings") config = dmlcorpus.DmlConfig('%s_%s' % (gensim_build.PREFIX, language), resultDir=gensim_build.RESULT_DIR, acceptLangs=[language]) logging.info("loading word id mapping from %s", config.resultFile('wordids.txt')) id2word = dmlcorpus.DmlCorpus.loadDictionary(config.resultFile('wordids.txt')) logging.info("loaded %i word ids", len(id2word)) corpus = MmCorpus(config.resultFile('bow.mm')) if method == 'tfidf': model = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) model.save(config.resultFile('model_tfidf.pkl')) elif method == 'lda': model = ldamodel.LdaModel(corpus, id2word=id2word, num_topics=DIM_LDA) model.save(config.resultFile('model_lda.pkl')) elif method == 'lsi': # first, transform word counts to tf-idf weights tfidf = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) # then find the transformation from tf-idf to latent space model = lsimodel.LsiModel(tfidf[corpus], id2word=id2word, num_topics=DIM_LSI) model.save(config.resultFile('model_lsi.pkl')) elif method == 'rp': # first, transform word counts to tf-idf weights tfidf = tfidfmodel.TfidfModel(corpus, id2word=id2word, normalize=True) # then find the transformation from tf-idf to latent space model = rpmodel.RpModel(tfidf[corpus], id2word=id2word, num_topics=DIM_RP) model.save(config.resultFile('model_rp.pkl')) else: raise ValueError('unknown topic extraction method: %s' % repr(method)) MmCorpus.saveCorpus(config.resultFile('%s.mm' % method), model[corpus]) logging.info("finished running %s", program)
上一篇
租用服务器多少钱
下一篇
服务器租用多少钱一台
相关文章
服务器宕机了怎么处理
如何诊断处理生产环境服务器变慢
路由域名服务器怎么改
scp通过跳板机向服务器传文件的方法
如何快速搭建网站(小白教程)(48小时内完成)
工信部官网怎么注册
windows2016安装证书管理器、IIS配置自签名证书、导出证书、证书.pfx转化为.crt和.key
香港服务器为何备受外贸企业青睐
一招教你解决2024开年最火爆游戏《幻兽帕鲁》联机服务器如何搭建
香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价
7*24H在线售后
高可用资源,安全稳定
1v1专属客服对接
无忧退款试用保障
德讯电讯股份有限公司
电话:00886-982-263-666
台湾总部:台北市中山区建国北路一段29号3楼
香港分公司:九龙弥敦道625号雅兰商业二期906室
服务器租用
香港服务器
日本服务器
台湾服务器
美国服务器
高防服务器购买
香港高防服务器出租
台湾高防服务器租赁
美国高防服务器DDos
云服务器
香港云服务器
台湾云服务器
美国云服务器
日本云服务器
行业新闻
香港服务器租用
服务器资讯
香港云服务器
台湾服务器租用
zblog博客
香港VPS
关于我们
机房介绍
联系我们
Copyright © 1997-2024 www.hkstack.com All rights reserved.