• 大小: 3.44MB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2023-09-10
  • 语言: Python
  • 标签: python,LDA  

资源简介

利用python对文本进行LDA主题生成模型,里面有使用方法说明,可以自己设置参数等。

资源截图

代码片段和文件信息

#-*- coding:utf-8 -*-
import logging
import logging.config
import ConfigParser
import numpy as np
import random
import codecs
import os

from collections import OrderedDict
#获取当前路径
path = os.getcwd()
#导入日志配置文件
logging.config.fileConfig(“logging.conf“)
#创建日志对象
logger = logging.getLogger()
# loggerInfo = logging.getLogger(“TimeInfoLogger“)
# Consolelogger = logging.getLogger(“ConsoleLogger“)

#导入配置文件
conf = ConfigParser.ConfigParser()
conf.read(“setting.conf“) 
#文件路径
trainfile = os.path.join(pathos.path.normpath(conf.get(“filepath“ “trainfile“)))
wordidmapfile = os.path.join(pathos.path.normpath(conf.get(“filepath““wordidmapfile“)))
thetafile = os.path.join(pathos.path.normpath(conf.get(“filepath““thetafile“)))
phifile = os.path.join(pathos.path.normpath(conf.get(“filepath““phifile“)))
paramfile = os.path.join(pathos.path.normpath(conf.get(“filepath““paramfile“)))
topNfile = os.path.join(pathos.path.normpath(conf.get(“filepath““topNfile“)))
tassginfile = os.path.join(pathos.path.normpath(conf.get(“filepath““tassginfile“)))
#模型初始参数
K = int(conf.get(“model_args““K“))
alpha = float(conf.get(“model_args““alpha“))
beta = float(conf.get(“model_args““beta“))
iter_times = int(conf.get(“model_args““iter_times“))
top_words_num = int(conf.get(“model_args““top_words_num“))

class Document(object):
    def __init__(self):
        self.words = []
        self.length = 0

class DataPreProcessing(object):

    def __init__(self):
        self.docs_count = 0
        self.words_count = 0
        self.docs = []
        self.word2id = OrderedDict()

    def cachewordidmap(self):
        with codecs.open(wordidmapfile ‘w‘‘utf-8‘) as f:
            for wordid in self.word2id.items():
                f.write(word +“\t“+str(id)+“\n“)

class LDAModel(object):
    
    def __init__(selfdpre):

        self.dpre = dpre #获取预处理参数

        #
        #模型参数
        #聚类个数K,迭代次数iter_times每个类特征词个数top_words_num超参数α(alpha) β(beta)
        #
        self.K = K
        self.beta = beta
        self.alpha = alpha
        self.iter_times = iter_times
        self.top_words_num = top_words_num 
        #
        #文件变量
        #分好词的文件trainfile
        #词对应id文件wordidmapfile
        #文章-主题分布文件thetafile
        #词-主题分布文件phifile
        #每个主题topN词文件topNfile
        #最后分派结果文件tassginfile
        #模型训练选择的参数文件paramfile
        #
        self.wordidmapfile = wordidmapfile
        self.trainfile = trainfile
        self.thetafile = thetafile
        self.phifile = phifile
        self.topNfile = topNfile
        self.tassginfile = tassginfile
        self.paramfile = paramfile
        # p概率向量 double类型,存储采样的临时变量
        # nw词word在主题topic上的分布
        # nwsum每各topic的词的总数
        # nd每个doc中各个topic的词的总数
        # ndsum每各doc中词的总数
        self.p = np.zeros(self.K)        
        self.nw = np.zeros((self.dpre.words_countself.K)dtype=“int“)       
        self.nwsum = np.zeros(self.Kdtype=“int“)    
        self.nd = np.zeros((self.dpre.docs_countself.K)dtype=“int“)       

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2016-03-30 00:50  python-LDA-master\
     目录           0  2016-06-25 13:39  python-LDA-master\data\
     文件        6148  2016-06-22 21:55  python-LDA-master\data\.DS_Store
     目录           0  2016-07-20 09:41  __MACOSX\
     目录           0  2016-07-20 09:41  __MACOSX\python-LDA-master\
     目录           0  2016-07-20 09:41  __MACOSX\python-LDA-master\data\
     文件         120  2016-06-22 21:55  __MACOSX\python-LDA-master\data\._.DS_Store
     目录           0  2016-03-30 00:50  python-LDA-master\data\tmp\
     文件         105  2016-06-25 21:41  python-LDA-master\data\tmp\model_parameter.dat
     目录           0  2016-07-20 09:41  __MACOSX\python-LDA-master\data\tmp\
     文件         177  2016-06-25 21:41  __MACOSX\python-LDA-master\data\tmp\._model_parameter.dat
     文件     7203259  2016-06-25 21:41  python-LDA-master\data\tmp\model_phi.dat
     文件         177  2016-06-25 21:41  __MACOSX\python-LDA-master\data\tmp\._model_phi.dat
     文件     3207452  2016-06-25 21:42  python-LDA-master\data\tmp\model_tassign.dat
     文件         177  2016-06-25 21:42  __MACOSX\python-LDA-master\data\tmp\._model_tassign.dat
     文件     9792271  2016-06-25 21:41  python-LDA-master\data\tmp\model_theta.dat
     文件         177  2016-06-25 21:41  __MACOSX\python-LDA-master\data\tmp\._model_theta.dat
     文件       12237  2016-06-25 21:42  python-LDA-master\data\tmp\model_twords.dat
     文件         177  2016-06-25 21:42  __MACOSX\python-LDA-master\data\tmp\._model_twords.dat
     文件      532215  2016-06-25 21:25  python-LDA-master\data\tmp\wordidmap.dat
     文件         177  2016-06-25 21:25  __MACOSX\python-LDA-master\data\tmp\._wordidmap.dat
     文件         177  2016-03-30 00:50  __MACOSX\python-LDA-master\data\._tmp
     文件     3394059  2016-06-25 21:24  python-LDA-master\data\train.dat
     文件         177  2016-06-25 13:39  __MACOSX\python-LDA-master\._data
     文件        9501  2016-03-30 00:50  python-LDA-master\lda.py
     文件         177  2016-03-30 00:50  __MACOSX\python-LDA-master\._lda.py
     目录           0  2016-06-25 00:36  python-LDA-master\log\
     文件        7356  2016-06-25 21:42  python-LDA-master\log\info.log
     文件           0  2016-03-30 00:50  python-LDA-master\log\info.log.2015-08-06
     目录           0  2016-07-20 09:41  __MACOSX\python-LDA-master\log\
     文件         177  2016-03-30 00:50  __MACOSX\python-LDA-master\log\._info.log.2015-08-06
............此处省略11个文件信息

评论

共有 条评论

相关资源