[發明專利]一種基于深度學習的模型融合三元組表示學習系統及方法有效
| 申請號: | 202010373485.4 | 申請日: | 2020-05-06 |
| 公開(公告)號: | CN111581395B | 公開(公告)日: | 2023-09-19 |
| 發明(設計)人: | 饒元;程家敏;吳連偉;丁毅 | 申請(專利權)人: | 西安交通大學 |
| 主分類號: | G06F16/36 | 分類號: | G06F16/36;G06F16/35;G06F40/284;G06N20/00 |
| 代理公司: | 西安通大專利代理有限責任公司 61200 | 代理人: | 朱海臨 |
| 地址: | 710049 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 深度 學習 模型 融合 三元 表示 系統 方法 | ||
1.一種基于深度學習的模型融合三元組表示學習方法,其特征在于,包括以下步驟:
階段0:數據預處理
步驟0:將數據集利用工具、眾包或專家對其進行評價,除去無用錯誤的三元組集合,過濾掉與后續工作無關的噪聲數據;
步驟1:給定數量為m的三元組集合,對其x實體和y關系進行初步的詞向量初始化;
階段1:基于BERT的三元組表示學習
步驟2:采用預訓練的語言模型BERT作為單詞嵌入工具,將每個單詞映射到相應的向量空間中;使用[SEP]分隔符將三者分開,并且每個區域內部均為獨立的位置編碼;
步驟3:使用BERT的掩蔽語言模式來輸入三元組,輸入格式表示為“[CLS]頭實體[SEP]關系[SEP]尾實體[SEP]”;通過BERT多頭自注意力機制計算上下文以及評價對象之間的初級交互表示:
其中,表示句子中第i個單詞的輸入,BERTg表示嵌入階段所使用的語言模型,表示句子中第i個單詞通過BERT生成的嵌入表示;
步驟4:Bert在進行詞嵌入時,使用8層的Transformer作為基礎框架,Transformer分為多頭注意力和前饋層兩個階段;注意力為如下:
(attentionoutput)=Attention(Q,K,V)????(2)
多頭注意力是通過h個不同的線性變換對Q,K,V進行投影,最后將不同的attention結果拼接起來,每一個頭當作獨立的注意力機制,總共進行e次注意力計算,并將注意力結果拼接:
MultiHead(Q,K,V)=Concat(head1,…,heade)WO????(3)
headi=Attention(QWiO,QWiK,VWiV)????(4)
使用scaleddot-product的方式進行計算:
其中,QKT用于計算Q矩陣和k矩陣的相似度,根號用于對矩陣里的每一個值進行放縮,相似度矩陣與v矩陣相乘得到經由注意力之后的矩陣表示;
步驟5:頭實體h被表示為包含Tokens的句子,關系r被表示為包含Tokens的句子;對于給定的Token,其輸入表示是通過將相應的Token、段和位置嵌入相加來構造的;由[SEP]分隔的不同元素具有不同的段嵌入,首尾實體句中的標記具有相同的segmentembedding段嵌入,而關系句中的標記具有不同的segmentembedding段嵌入,不同的tokens在相同的位置,即具有相同的嵌入位置模型訓練是首先分別構建positivetripleset和negativetripleset,然后用BERT的[CLS]標簽做一個sigmoid打分:
其中,得分函數sτ是一個具有Sτ0,sτ1∈[0,1]和sτ0+sτ1=1的二維實向量;
步驟6:每個輸入Token都有一個輸入表示Ei;Token表示被輸入到BERT模型架構中;特殊[CLS]Token和第i個輸入Token的最終隱藏向量表示為和H表示預訓練BERT的隱藏狀態的大小;對應于[CLS]的最終隱藏狀態C被用作組合三元組分數的聚集序列表示;在對(h,r,t)三元組分類微調中引入的唯一新參數是分類層的權重,即
步驟7:通過三元組分類用于判讀是否是合理的三元組;將輸入序列切分成頭,關系和尾三部分,并用sep分割;訓練階段設置正負樣進行訓練,用BERT的[CLS]標簽做一個sigmoid打分以及最后交叉熵損失訓練模型最后計算交叉熵損失:
其中,yτ∈{0,1}是該三元組的標簽;負三元組是通過用一個隨機的頭實體或尾實體去替換正三元組(h,r,t)中的一個三元組的頭實體或者尾實體來生成的;
其中,為實體集合;如果一個三元組已經在正的集合中,則其不會被當作一個負的例子;通過梯度下降法更新訓練好的參數權值和新的權重W;
階段2:基于翻譯模型TransE的三元組表示學習
步驟8:將三元組中h,r,t初始化,期間每次迭代更新都需歸一化:
其中,uniform()為初始化函數,k為詞向量維度,h,r,t分別為頭實體、關系和尾實體;
步驟9:TransE是基于實體和關系的分布式向量表示,利用詞向量的平移不變現象,將每個三元組實例(h,r,t)中的關系r看做從頭實體h到尾實體t的翻譯,通過不斷調整h、r和t的向量,使h+r近似與t相等,即h+r≈t,進而定義三元組(h,r,t)中實體向量、關系向量和距離向量之間的相互關聯;用來衡量h和t之間的距離在實際應用中可以使用L1或L2范數,其距離公式如下:
步驟10:在模型的訓練過程中,通過替換h或t所得;α是取值大于0的間隔距離參數,[x]+表示正值函數,即x0時,[x]+=x;當x≤0時,[x]+=0;梯度更新只需計算距離d(h+r,t)和d(h′+r,t′);模型訓練完成后,得到實體和關系的向量表示;模型采用最大間隔方法,其目標函數如下:
[x]+=max(0,x)????(12)
其中,S(h,r,t)是知識庫中的三元組,S′(h′,r,t′)是負采樣的三元組,對某一個正確關系組中的頭元素的參數hi來說:
在目標函數下增加約束條件:
‖h‖≤1,‖r‖≤1,‖t‖≤1??????(14)
階段3:聯合表示學習
步驟11:將TransE的目標函數將其相加,構建基于BERT和TransE的模型目標函數:
Ltotal=L1+γL2???????(15)其中,γ是平衡兩個模型貢獻比率的參數。
2.一種用于實現權利要求1所述方法的基于深度學習的模型融合三元組表示學習系統,其特征在于,包括:
BERT三元組輸入模塊,用于將三元組序列化通過掩蔽語言建模完成三元組的嵌入,并利用BERT自帶的SpecialTokens機制將三元組的描述性信息輸入;
TransE三元組輸入模塊,用于將三元組通過TransE的訓練機制對三元組進行訓練;學習三元組中的結構信息,使用距離公式計算三元組之間的相似度以學習實體關系之間的依賴關系,從而生成三元組的詞向量表示;
聯合表示學習模塊,用于將BERT三元組輸入模塊和TransE三元組輸入模塊結合起來,將二者結合聯合訓練,最終得到三元組詞向量表示的最佳優化。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西安交通大學,未經西安交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010373485.4/1.html,轉載請聲明來源鉆瓜專利網。





