[发明专利]一种基于深度学习的文档主题向量抽取方法有效
| 申请号: | 201810748564.1 | 申请日: | 2018-07-10 | 
| 公开(公告)号: | CN108984526B | 公开(公告)日: | 2021-05-07 | 
| 发明(设计)人: | 高扬;黄河燕;陆池 | 申请(专利权)人: | 北京理工大学 | 
| 主分类号: | G06F40/30 | 分类号: | G06F40/30;G06F40/258;G06F40/284;G06N3/04;G06N3/08 | 
| 代理公司: | 北京正阳理工知识产权代理事务所(普通合伙) 11639 | 代理人: | 唐华 | 
| 地址: | 100081 *** | 国省代码: | 北京;11 | 
| 权利要求书: | 查看更多 | 说明书: | 查看更多 | 
| 摘要: | |||
| 搜索关键词: | 一种 基于 深度 学习 文档 主题 向量 抽取 方法 | ||
1.一种基于深度学习的文档主题向量抽取方法,其特征在于,包括以下步骤:
步骤一、进行相关定义,具体如下:
定义1:文档D,D=[w1,w2,…,wi,…,wn],wi表示文档D的第i个单词;
定义2:预测单词wd+1,表示需要学习的目标单词;
定义3:窗口单词,由文本中连续出现的单词构成,窗口单词之间存在隐藏的内在关联;
定义4:上下文短语:wd-l,wd-l+1,…,wd,表示预测单词所在位置之前出现的窗口单词,上下文短语长度为l;
定义5:文档主题映射矩阵,通过LDA算法学习得到,每一行代表一个文档的主题;
定义6:Nd和docid,Nd表示语料中文档的个数,docid表示文档的位置;每一个文档对应唯一的一个docid,其中,1≤docid≤Nd;
步骤二、利用卷积神经网络CNN,学习得到上下文短语的语义向量;具体如下:
步骤2.1训练文档D的词向量矩阵,词向量矩阵大小为n×m,n表示词向量矩阵的长,m表词向量矩阵的宽;
步骤2.2将上下文短语中每个单词对应的词向量从步骤2.1得到的词向量矩阵抽取出来,得到上下文短语wd-l,wd-l+1,…,wd的向量矩阵M;
步骤2.3利用CNN计算上下文短语的语义向量Context,具体通过步骤2.2得到的向量矩阵M和K层大小为Cl×Cm的卷积核进行操作;
其中,K表示卷积核的个数,Cl表示卷积核的长,且Cl=l,Cm表示卷积核的宽,且Cm=m;
上下文短语的语义向量Context通过公式(1)计算:
Context=[Context1,Context2,…,ContextK]
其中,Contextk表示上下文短语的语义向量的第k维,l表示上下文短语长度,m表示词向量矩阵的宽,即词向量维度,d表示上下文短语中第一个单词的起始位置,cpq是卷积核第p行和第q列的权重参数,Mpq表示向量矩阵M的第p行和第q列数据,b是卷积核的偏置参数;
步骤三、利用长短期记忆网络模型LSTM学习上下文短语的语义,获得隐含层向量hd-l,hd-l+1,…,hd;具体实现过程如下:
步骤3.1将t赋值d-l,即t=d-l,t表示第t时刻;
步骤3.2将xt赋值wt的词向量,xt表示第t时刻输入的词向量,wt表示第t时刻输入的单词;
其中,wt的词向量通过步骤2.1输出的词向量矩阵映射得到,即抽取wt在向量矩阵M对应位置的词向量;
步骤3.3将xt作为LSTM模型的输入,获得t时刻的隐含层向量ht;
步骤3.4判断t是否等于d,若不等于则t加1,跳步骤3.2;若等于,则输出隐含层向量hd-l,hd-l+1,…,hd,跳入步骤四;
步骤四、通过注意力机制,将CNN和LSTM模型有机结合,获得上下文短语语义向量的平均值具体实现方法如下:
步骤4.1利用步骤二得到的上下文短语语义向量,通过注意力机制得到每个单词在上下文短语的语义向量上的重要性因子α,具体通过如下公式计算:
α=[αd-l,αd-l+1,…,αd]
其中,αt表示t时刻单词在上下文短语的语义向量上的重要性因子,Context表示步骤二中获得的上下文短语的语义向量,xt表示第t时刻输入的词向量,xi表示第i时刻输入的词向量;T表示向量的转置;e表示以e,即自然常数为底的指数函数;
步骤4.2计算基于注意力机制带权重的隐含层向量h′,通过如下公式计算;
ht′=αt*ht
d-l≤t≤d
h′=[h′d-l,h′d-l+1,…,hd′]
其中,ht′表示t时刻权重隐含层向量ht′,αt表示t时刻每个单词在上下文短语的语义向量上的重要性因子,ht表示t时刻隐含层向量;
步骤4.3利用mean-pooling操作,计算上下文短语语义向量的平均值通过如下公式(10)计算:
其中,ht′表示t时刻权重隐含层向量ht′;
步骤五、通过逻辑回归的方法,利用上下文短语语义向量的平均值和文档主题信息预测目标单词wd+1,获得目标单词wd+1的预测概率;
具体如下:
步骤5.1学习文档主题映射矩阵,然后根据文档主题映射矩阵和docid将每一个文档映射成一个长度和步骤2.1中词向量矩阵宽度相等的一维向量Dz;
步骤5.2将步骤5.1输出的向量Dz和步骤四输出的上下文短语语义向量的平均值拼接起来,得到拼接向量Vd,
步骤5.3利用步骤5.2输出的Vd来预测目标单词wd+1,通过逻辑回归的方法进行分类,目标函数如公式(11):
其中,θd+1是目标单词wd+1所在位置对应的参数,θi对应词表中单词wi对应的参数,|V|表示词表的大小,Vd是步骤5.2得到的拼接向量,exp表示以e为底的指数函数,Σ表示求和;P表示概率,y表示因变量,T表示矩阵转置;
步骤5.4利用交叉熵的方法,通过公式(12)计算目标函数(11)的损失函数:
L=-log(P(y=wd+1|Vd)) (12)
其中,wd+1表示目标单词,Vd是步骤4.2的拼接向量,log()表示以10为底的对数函数;
损失函数(12)通过Sampled Softmax算法和小批量随机梯度下降参数更新方法进行更新求解,得到文档主题向量。
2.如权利要求1所述的一种基于深度学习的文档主题向量抽取方法,其特征在于,所述步骤3.3的具体实现方法如下:
步骤3.3.1计算t时刻的遗忘门ft,用于控制遗忘信息,通过公式(2)计算;
ft=σ(Wfxt+Ufht-1+bf) (2)
其中,Wf表示参数矩阵,xt表示第t时刻输入的词向量,Uf表示参数矩阵,ht-1表示t-1时刻的隐含层向量,bf表示偏置向量参数,当t=d-l时,ht-1=hd-l-1,且hd-l-1为零向量,σ表示Sigmoid函数,是LSTM模型的激活函数;
步骤3.3.2计算t时刻的输入门it,用于控制当前时刻需要添加的新信息,通过公式(3)计算;
it=σ(Wixt+Uiht-1+bi) (3)
其中,Wi表示参数矩阵,xt表示第t时刻输入的词向量,Ui表示参数矩阵,ht-1表示t-1时刻的隐含层向量,bi表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数;
步骤3.3.3计算t时刻更新的信息通过公式(4)计算;
其中,表示参数矩阵,xt表示第t时刻输入的词向量,表示参数矩阵,ht-1表示t-1时刻的隐含层向量,表示偏置向量参数,tanh表示双曲正切函数,是LSTM模型的激活函数;
步骤3.3.4计算t时刻的信息,将上一时刻的信息和当前时刻更新的信息相加得到,通过公式(5)计算;
其中,ct表示t时刻的信息,ft表示t时刻遗忘门,ct-1表示t-1时刻的信息,it表示t时刻的输入门,表示t时刻更新的信息,表示向量的叉乘;
步骤3.3.5计算t时刻的输出门ot,用于控制输入信息,通过公式(6)计算:
ot=σ(Woxt+U0ht-1+bo) (6)
其中,Wo表示参数矩阵,xt表示第t时刻输入的词向量,U0表示参数矩阵,ht-1表示t-1时刻的隐含层向量,bo表示偏置向量参数,σ表示Sigmoid函数,是LSTM模型的激活函数;其中,参数矩阵Wf,Uf,Wi,Ui,Wo,Uo的矩阵元素大小不同,偏置向量参数bf,bi,bo中的元素大小不同;
步骤3.3.6计算t时刻的隐含层向量ht,通过公式(7)计算:
其中,ot表示t时刻的输出门,ct表示t时刻的信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京理工大学,未经北京理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810748564.1/1.html,转载请声明来源钻瓜专利网。





