资源简介
利用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个文件信息
评论
共有 条评论