最初看主题模型用于预测的是topic overtime : anon-markovcontinoustimemodel
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模型由于个人建模能力不足,可以提高预测效果
后记:
在我得到的关于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