如何利用计算机做主题模型,使用主题模型进行预测的小实验

最开始看主题模型用于预测是在topic over time:a non-markov continous time model

of topic

trend一文中,作者提到使用lda和tot模型进行预测,lda模型预测的精度约为10%,tot为19.2%,几乎是前者的两倍,这让我非常好奇,打算试一试。

我使用的语料库是硬盘领域专利数据集,共2875篇摘要,通过抽取术语并清洗后,得到3002个术语所构成的词典,先后用lda,tot,llda模型跑一下这个语料库,其中tot中的时间使用的是专利申请日,llda中标签使用的是IPC分类标签。

在进行预测时,我把预测看成是简单的分类问题,类别,也就是目标特征,是专利的申请时间,模型使用的特征是各个主题,使用的分类模型是GBDT,通过训练集训练,看测试集下模型的预测精度,下面是实验结果:

(1) lda,8个主题,训练集准确率为0.296382189239,测试集准确率为0.0607630832689

(2) tot,10个主题,训练集准确率为0.46706864564,测试集准确率为0.124311463436

(3) llda,1080个主题,训练集准确率为0.512523191095,测试集准确率为0.0913766434648

(4)

最后,试一下LTOT模型,共334个主题,训练集准确率0.243042671614,测试集准确率为0.0862765317522

,结果实在是遗憾,比LLDA和tot都要差。

(5)我将llda的特征和tot的主题相结合作为特征进行预测,训练集准确率为0.621057513915,测试集准确率为0.154467431469,这说明结合结合分类、时间因素和文本,确实能为预测效果带来提升,不过旨在结合分类信息、时间因素的LTOT模型,因为个人的建模功力不足,导致最终准确率低于llda和tot中任意一个模型。

后记:

关于我所得到lda/tot模型的预测准确率和TOT一文中,几乎差了一倍,我猜测是因为我使用了术语作为文本的基本构成单位,也即使用ngram来替代unigram,虽然它提升了主题的可读性,但却使预测准确率极大下降,不过目前这个只是猜测,需要我跑一下程序才能得到确凿结论。

(6)

使用unigram取代ngram,设定10个主题,给单词随机分配主题,然后进行预测,训练集准确率为0.322356215213,测试集准确率为0.0501009710406

(7)

还是原来数据,使用unigram来取代ngram训练集,设定10个主题,迭代200次,训练集准确率为0.3460111,测试集准确率为0.0626192317608,比ngram要强,大致证明了我的猜想,不过严格来说:

使用ngram来替代unigram,它提升了主题的可读性,同时会使预测准确率略微下降。

(8)

还是使用unigram,设定10个主题,迭代200次,然后将ipc标签用上,具体来说,将每个文档的ipc标签向量化,比如IPC标签总数1089个,那么每个文档的ipc向量包含1089个元素,ipc向量加上主题向量,进行预测,得到训练集准确率为0.510667903525,测试集准确率为0.109935980064

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值