[发明专利]一种基于主题鉴别权重和采样式重构的并行化主题模型在审
申请号: | 201910161792.3 | 申请日: | 2019-03-04 |
公开(公告)号: | CN109885839A | 公开(公告)日: | 2019-06-14 |
发明(设计)人: | 江泓谕;饶洋辉 | 申请(专利权)人: | 中山大学 |
主分类号: | G06F17/27 | 分类号: | G06F17/27;G06F16/31 |
代理公司: | 广州粤高专利商标代理有限公司 44102 | 代理人: | 陈伟斌 |
地址: | 510275 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 鉴别 样式 重构 主题分布 主题模型 并行化 权重和 重构的 权重 混淆 优化 预处理 矩阵 自然语言处理 人工智能 模型参数 时间成本 输入文档 数据挖掘 主题提取 词汇表 采样 建模 推断 并行 文本 分配 | ||
1.一种基于主题鉴别权重和采样式重构的并行化主题模型,其特征在于,包括以下步骤:
S1.将预处理后的输入文档输入LDA中,推断出主题分布;
S2.通过当前每个词的主题分布,计算每个词的主题鉴别权重,计算公式如下:
式中,BH(t)表示词语t的熵,K表示主题的总数;f(ki)表示主题ki中的总词数,f(t,ki)表示t在主题ki中的出现次数;
S3.采样式重构,继续Gibbs采样:
S31.得到每个词的主题鉴别权重之后,我们开始着手对文档-主题矩阵(下称Nmk)和主题-词矩阵(下称Nkt)进行重构;
对Nmk的重构公式如下:
其中σt表示词t的权重,nmkt表示在第m篇文档中,属于主题k的词t有多少个;如果t不在第m篇文档中,或不属于主题k,nmkt均为0;
对Nkt的重构也是通过二项式采样公式如下:
S4.继续进行S3步骤中的Gibbs采样,直到采样次数足够再一次达到收敛为止。
2.根据权利要求1所述的一种基于主题鉴别权重和采样式重构的并行化主题模型,其特征在于,采用以下步骤对本发明的计算流程进行多线程并行加速,具体包括以下步骤:
S51.假设并行线程数是T个;这部分定义两个线程类,一个是GibbsThread,一个是WeightThread,前者是为Gibbs采样加速所定义的线程类;
S52.在主线程中,先把文档数分为T份,并创建T个线程放入线程池中;
S53.一次采样开始时,阻塞主线程;
S54.每个GibbsThread只复制主线程中的Nkt矩阵,而不复制Nmk矩阵;
S55.采样新主题时,直接对主线程中的Nmk矩阵进行重构,但对Nkt的矩阵的重构先在线程内部储存;
S56.当所有GibbsThread都完成自己份内所有文档的更新后,主线程中的Nmk矩阵已经重构完毕,重新被唤醒;
S57.但Nkt矩阵还需要T个线程的合并操作才能正确重构:
根据上式计算Nkt矩阵中每个元素的增量接着每个元素再加上此增量;
S58.对于WeightThread,只有对Nmk矩阵的重构比较耗时,这T个线程类对象只共同完成Nmk矩阵的更新;
S59.赋权开始时,同样先阻塞主线程,每个WeightThread直接对主线程中的Nmk矩阵进行重构,当所有WeightThead完成自己份内所有文档的更新后,主线程被唤醒,继续重构Nkt矩阵。
3.根据权利要求2所述的一种基于主题鉴别权重和采样式重构的并行化主题模型,其特征在于,所述的S1步骤具体包括:
S11.预处理的时候,遍历所有的文档,把所有出现的不重复的词按顺序编号;
S12.先为每个文档中的每个词分配一个随机的主题,分配的同时,文档-主题矩阵和主题-词矩阵相应的元素也要更新;
S13.进行Gibbs采样,前面说到的状态转移就是通过Gibbs采样实现,每次状态转移,就是为每篇文档内每个词重新分配一个新的主题;
S14.经过多次采样,理想的结果是每篇文档的主题分布以及每个主题下的词分布都已经收敛。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中山大学,未经中山大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910161792.3/1.html,转载请声明来源钻瓜专利网。