Document
拖动滑块完成拼图
首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于主题的社交媒体主题标签生成方法专利

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:中国人民解放军国防科技大学

申请日:2022-03-07

公开(公告)日:2022-08-05

公开(公告)号:CN114580380B

专利技术分类:...使用统计方法[2020.01]

专利摘要:本发明公开了一种基于主题的社交媒体主题标签生成方法,目的是为了能够生成社交媒体中帖子的主题标签,提升生成的主题标签的平均精度均值。技术方案是先构建社交媒体主题标签生成系统;准备训练社交媒体主题标签生成系统的微博数据集,得到训练集、验证集。采用训练集分两个步骤,第一步采用多轮循环的梯度下降方法对生成系统中的part_block进行训练,第二步采用多轮循环的梯度下降方法对生成系统中的all_block进行训练并使用验证集进行验证,获取最优网络权重参数。训练后的社交媒体主题标签生成系统对用户输入的帖子进行主题标签生成。采用本发明可提升生成标签的平均精度均值,生成的主题标签可信可靠。

专利权项:1.一种基于主题的社交媒体主题标签生成方法,其特征在于包括以下步骤:第一步:构建社交媒体主题标签生成系统,社交媒体主题标签生成系统由编码模块、特征融合模块、主题模块和生成模块构成;编码模块与特征融合模块和生成模块相连,由词嵌入层和序列编码层组成;编码模块提取输入的帖子中Ns个单词的特征向量,将Ns个单词的特征向量汇总成整篇帖子的特征向量,简称帖子特征向量;将Ns个单词的特征向量发送给生成模块,将整篇帖子的特征向量发送给特征融合模块和生成模块;Ns为帖子中的单词的总数,为正整数;并将从输入的帖子中得到的词频向量发送给特征融合模块;词嵌入层由词嵌入矩阵Wemb组成,从输入的帖子中利用词频统计方法得到词频向量;并将输入的帖子中的Ns个单词转化为向量表示,称为词向量,将Ns个词向量和帖子的词频向量输出给序列编码器;序列编码器为一个单层的模型BiGRU,记为BiGRUencode;BiGRUencode对从词嵌入层接收的Ns个词向量进行编码,得到Ns个单词特征向量;将M个单词特征向量汇总成帖子特征向量,将Ns个单词特征向量发送给生成模块,将帖子特征向量发送给特征融合模块和生成模块,同时将帖子的词频向量发送给特征融合模块;特征融合模块是一个前向神经网络,与编码模块和主题模块相连,由单层感知机ffusion组成;特征融合模块从序列编码器接收帖子的词频向量和帖子特征向量,将帖子特征向量和词频向量进行拼接;将拼接后的向量经过ffusion融合,得到帖子的融合特征向量,将帖子的融合特征向量发送给主题模块;主题模块与特征融合模块和生成模块相连,是一个神经网络主题模型fntm;主题模块接收特征融合模块发送的帖子的融合特征向量,通过fntm得到帖子主题特征向量;生成模块与编码模块和主题模块相连,由一个神经网络序列解码器fdecoder构成;生成模块从编码模块接收帖子特征向量和Ns个单词特征向量,从主题模块接收帖子主题特征向量,使用fdecoder解码这3种向量,生成主题标签;循环神经网络、前向神经网络、神经主题模型、神经网络序列解码器共同构成社交媒体主题标签生成模型,是社交媒体主题标签生成系统中的网络结构;第二步:准备微博数据集,按照8:1:1的比例分为训练集T、验证集D和测试集S;微博数据集中的帖子都带有真实的主题标签;第三步:使用梯度下降方法对社交媒体主题标签生成系统进行训练,得到编码模块、主题模块、特征融合模块和生成模块中网络的最佳权重参数;训练步骤分为两个步骤:1使用梯度下降方法训练编码模块、主题模块和特征融合模块这三个模块EPOCHpart轮,记录三个模块训练得到的参数;2使用第一步训练的编码模块、主题模块和特征融合模块的参数,随机初始化生成模块的参数,使用梯度下降方法训练编码模块、主题模块、特征融合模块和生成模块,得到编码模块、主题模块、特征融合模块和生成模块中网络的最佳权重参数;具体方法是:3.1使用梯度下降方法对编码模块、主题模块和特征融合模块进行训练,方法是:3.1.1初始化权重参数,令未训练的编码模块、主题模块和特征融合模块统称为part_block,将part_block中的参数集合中所有元素值都初始化为[0,1]之间的随机数;表示part_block中编码模块包含的网络结构的权重参数,表示part_block中主题模块包含的网络结构的权重参数,表示part_block中特征融合模块包含的网络结构的权重参数;3.1.2设置网络训练参数:令网络模型学习率learning_rate为小于1的正数,令批处理尺寸batch_size、主题数目K、训练参数集合的迭代数EPOCHpart均为正整数;3.1.3初始化训练迭代参数epoch=1,初始化批次迭代参数num_batch=1,定义训练集T中的文章数目为numT,则最大批次大小表示对numTbatch_size向上取整;3.1.4训练part_block,方法是先使用拥有当前参数的part_block对帖子词频进行预测,将预测的帖子词频和根据词频统计方法得到的词频之间的差距作为损失值losspart,不断最小化损失值以更新part_block中的权重参数,直到epochEPOCHpart,结束训练,并保存下part_block参数;具体方法如下:3.1.4.1词嵌入层从训练集T中随机取出第num_batch批共batch_size数量的帖子;3.1.4.2初始化文章序号post为1;3.1.4.3编码模块采用循环神经网络帖子特征提取方法对训练集T中的第num_batch批中的第post篇帖子P进行特征提取:编码模块对P中的Ns个词进行向量化表示,并进行单词向量之间的编码,得到编码后的单词特征向量并使用第Ns个单词编码后的单词向量作为帖子P的特征向量是帖子最后一个单词特征向量,含有帖子所有单词的语序信息;将发送给特征融合模块,将帖子P的单词特征向量和帖子P的特征向量发送给生成模块;并将从帖子P获取的词频向量发送给特征融合模块;3.1.4.4特征融合模块采用融合词频和语序信息的方法对从编码模块接收的帖子P的特征向量和词频向量进行融合,得到帖子P的融合特征向量将发送给主题模块;3.1.4.5主题模块从特征融合模块接收使用神经主题模型fntm对进行建模,得到帖子P的主题特征向量和帖子P的词频向量是一个K维的向量;将发送给生成模块;3.1.4.6使用负变分下限方法,根据和计算帖子P的误差值item表示是某一篇帖子的损失值;3.1.4.7使用Adam优化算法对最小化,然后以反向传播的方式更新part_block网络权重参数;3.1.4.8令post=post+1,若post≤batch_size,转3.1.4.3继续采用第post篇文章对part_block进行训练,若postbatch_size,转3.1.4.9;3.1.4.9汇总batch_size篇文章的误差值,即得到第num_batch批次下的batch_size篇文章的误差值的和batch表示是batch_size篇帖子的损失值;3.1.4.10令num_batch=num_batch+1,若num_batch≤max_batch,转3.1.4.1继续采用第num_batch个批次的文章对part_block进行训练,若num_batch>max_batch,转3.1.4.11;3.1.4.11令epoch=epoch+1;如果epoch>EPOCHpart,则对part_block的训练结束,记此时的参数为表示对part_block训练EPOCHpart轮后part_block的参数集合;表示对part_block中编码模块训练EPOCHpart轮后的权重参数,表示对part_block中主题模块训练EPOCHpart轮后的权重参数,表示对part_block中特征融合模块训练EPOCHpart轮后的权重参数;转第3.2步;若epoch≤EPOCHpart,令num_block=1,转3.1.4.1;3.2将加载到主题标签生成系统中;将加载后得到的网络结构即加载后的编码模块、主题模块、特征融合模块和未训练的生成模块统称为all_block,令all_block中的参数集合将中所有参数值都初始化为[0,1]之间的随机数;表示all_block中生成模块包含的网络结构的权重参数;3.3使用梯度下降的方法对all_block社交媒体主题标签生成系统中进行训练,方法是:3.3.1设置网络训练参数:令网络模型学习率learning_rate为小于1的正数,令批处理尺寸batch_size、主题数目K、训练参数集合的迭代数EPOCHall均为正整数;3.3.2初始化训练迭代参数为epoch=1,初始化批次迭代参数num_batch=1,令帖子迭代参数post=1;初始化误差值无下降的累计迭代数numno-increase=0,初始化验证集的最优误差值Lossbest为正整数;3.3.3训练all_block,方法是:使用具有当前参数的all_block预测的帖子的主题标签和实际帖子的主题标签之间的差距作为损失值lossall,不断最小化损失值并更新all_block中的权重参数;当epochEPOCHall,或者出现终止条件即numno-increase3时保存all_block参数;每次训练一个迭代结束后,使用验证集对当前权重参数下的all_block进行测试,保存在验证集上效果优异的all_block的参数权重;具体方法如下:3.3.3.1词嵌入层从训练集T中随机取出第num_batch批共batch_size数量的帖子;3.3.3.2初始化文章序号post为1;3.3.3.3编码模块采用3.1.4.3所述循环神经网络帖子特征提取方法对第post篇帖子进行特征提取,得到帖子的单词特征向量和帖子的特征向量将和发送给生成模块,将和的词频向量发送给特征融合模块;3.3.3.4特征融合模块采用3.1.4.4所述融合词频和语序信息的方法对和进行融合,得到帖子的融合特征向量将发送给主题模块;3.3.3.5主题模块采用3.1.4.5神经主题模型建模方法对帖子的融合特征向量进行建模,得到帖子的主题特征向量将发送给生成模块;3.3.3.6生成模块从编码模块接收和从主题模块接收使用神经网络序列解码器fdecoder进行解码,生成主题标签;3.3.3.7生成模块使用交叉熵损失方法,根据生成的主题标签和数据中真实主题标签计算帖子的误差值3.3.3.8使用Adam优化算法对最小化,然后以反向传播的方式更新4个模块的网络权重参数;3.3.3.9令post=post+1,若post≤batch_size,转3.3.3.3继续采用第post篇文章对all_block进行训练,若postbatch_size,转3.3.3.10;3.3.3.10汇总batch_zize篇文章的误差值,即得到第num_batch批次下的batch_size篇文章的误差值3.3.3.11令num_batch=num_batch+1,若num_batch≤max_batch,转3.3.3.1继续采用第num_batch个批次的帖子对all_block进行训练;若num_batch>max_batch,转3.3.3.12;3.3.3.12令epoch=epoch+1;如果epoth>EPOCHall,则all_block训练结束,转第四步;若epoch≤EPOCHall,转3.3.3.13;3.3.3.13采用验证集D对拥有当前网络权重参数的all_block进行社交媒体主题标签生成效果的验证,方法是:3.3.3.13.1初始化验证集D中帖子计数参数numD=1,初始化验证集D中帖子总数为max_numD,初始化验证集总损失值为all表示是所有的帖子的损失值之和;3.3.3.13.2从验证集D中提取一篇新的帖子PP;3.3.3.13.3编码模块采用3.1.4.3所述循环神经网络帖子特征提取方法对PP进行特征提取,得到PP的单词特征向量和帖子PP的特征向量将和发送给生成模块,将和PP的词频特征向量发送给特征融合模块;3.3.3.13.4特征融合模块采用3.1.4.4所述融合词频和语序信息的方法对和进行融合,得到帖子PP的融合特征向量将发送给主题模块;3.3.3.13.5主题模块采用3.1.4.5神经主题模型建模方法对进行建模,得到帖子PP的主题特征向量将发送给生成模块;3.3.3.13.6生成模块从编码模块接收帖子PP的单词特征向量和帖子PP的特征向量从主题模块接收帖子PP的主题特征向量神经网络序列解码器fdecoder进行解码,生成PP的主题标签;3.3.3.13.7生成模块使用交叉熵损失方法,根据生成的PP的主题标签和PP的实际主题标签计算第numD篇帖子PP的误差值表示第numD篇帖子的损失值;3.3.3.13.8将加到验证集总损失值上,即令3.3.3.13.9令numD=numD+1,若numD≤max_numD,转3.3.3.13.2继续采用第numD篇帖子对all_block的网络结构权重参数进行验证;若numD>max_numD,转3.3.3.13.10;3.3.3.13.10此时验证集总损失如果转3.3.3.13.11;如果转3.3.3.13.12;3.3.3.13.11令numno-increase=numno-increase+1,若numno-increase3,训练结束,转第四步;否则将学习率learning_rate降低,转3.3.3.1;3.3.3.13.12令令numno-increase=0,保存当前all_block中权重参数,转3.3.3.1;第四步:将经过训练并保存的all_block的权重参数加载到主题标签生成系统的all_block中,得到训练后的主题标签生成系统;第五步:训练后的主题标签生成系统对用户输入的帖子生成主题标签,方法是:5.1训练后的主题标签生成系统接收用户输入的帖子Puser;5.2编码模块采用3.1.4.3步所述循环神经网络帖子特征提取方法对Puser进行特征提取,得到帖子Puser的单词特征向量和帖子Puser的特征向量并将和发送给生成模块,将和Puser的词频向量发送给特征融合模块;5.3特征融合模块采用3.1.4.4步所述融合词频和语序信息的方法对帖子Puser的特征向量和词频向量进行融合,得到帖子Puser的融合特征向量将发送给主题模块;5.4主题模块采用3.1.4.5步所述神经主题模型建模方法对帖子Puser的融合特征向量进行建模,得到帖子Puser的主题特征向量将发送给生成模块;5.5生成模块从编码模块接收单词Puser的特征向量和帖子特征向量从主题模块接收帖子Puser的主题特征向量使用神经网络序列解码器fdecoder进行解码,生成帖子Puser的主题标签。

百度查询: 中国人民解放军国防科技大学 基于主题的社交媒体主题标签生成方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。