[發(fā)明專利]一種基于深度學習的文檔主題向量抽取方法有效
| 申請?zhí)枺?/td> | 201810748564.1 | 申請日: | 2018-07-10 |
| 公開(公告)號: | CN108984526B | 公開(公告)日: | 2021-05-07 |
| 發(fā)明(設計)人: | 高揚;黃河燕;陸池 | 申請(專利權)人: | 北京理工大學 |
| 主分類號: | 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:窗口單詞,由文本中連續(xù)出現的單詞構成,窗口單詞之間存在隱藏的內在關聯;
定義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時刻的信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京理工大學,未經北京理工大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業(yè)授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810748564.1/1.html,轉載請聲明來源鉆瓜專利網。





