[發明專利]一種基于異質信息網絡的開發者推薦方法及裝置有效
| 申請號: | 201911297265.1 | 申請日: | 2019-12-17 |
| 公開(公告)號: | CN111191081B | 公開(公告)日: | 2022-02-22 |
| 發明(設計)人: | 張以文;謝文鑫;顏登程;田垚 | 申請(專利權)人: | 安徽大學 |
| 主分類號: | G06F16/901 | 分類號: | G06F16/901;G06K9/62;G06F17/16;G06Q10/06 |
| 代理公司: | 合肥市浩智運專利代理事務所(普通合伙) 34124 | 代理人: | 丁瑞瑞 |
| 地址: | 230000 *** | 國省代碼: | 安徽;34 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 信息網絡 開發者 推薦 方法 裝置 | ||
1.一種基于異質信息網絡的開發者推薦方法,其特征在于,所述方法包括:
步驟一:提取github上開發者、開發者所屬公司、開發者參與的項目、以及開發者參與項目所使用的編程語言之間的交互數據,建立關系矩陣;
步驟二:構建異質信息網絡,獲取異質信息網絡中每條元路徑下每個開發者的初始表示向量以及每條元路徑下每個項目的初始表示向量;
步驟三:獲取異質信息網絡中每條元路徑下開發者和項目的關聯度矩陣;
步驟四:更新開發者的表示向量以及項目的表示向量;
步驟五:通過注意力機制將各元路徑下開發者的表示向量加權融合,將各元路徑下項目的表示向量加權融合;
步驟六:獲取每個開發者與每個項目的預測關聯度值,根據預測關聯度值給每個開發者推薦項目;
所述步驟一包括:
步驟101:根據github上公開的數據集獲取包含開發者U、開發者所屬公司C、開發者參與的項目P以及開發者參與項目所使用的編程語言L的矩陣信息數據的數據表;
步驟102:建立|U|×|C|的UC矩陣,其中|U|為數據表中的開發者的數量,|C|為數據表中的公司的數量,對開發者以及其所屬公司,在UC矩陣對應位置值為1;
步驟103:建立|U|×|P|的UP矩陣,其中|P|為數據表中的開發者參與的項目的數量,對開發者ui所參與的項目pj,在UP矩陣對應位置值為r,r 為開發者ui參加項目pj時所提交的commits數量;選取UP矩陣中非0元素構建開發者與項目的交互列表Q且Q=[[ui,pj],......];
步驟104:建立|P|×|L|的PL矩陣,其中,|L|為數據表中編程語言的數量,對每個項目所使用的語言,在PL矩陣對應位置值為1;
步驟105:建立|U|×|L|的UL矩陣,對于開發者ui所使用過的語言,在UL矩陣的對應位置值為c,c為開發者歷史曾使用該語言參與的項目數量;
步驟106:建立|U|×|U|的UU矩陣,依據數據表,對于每個開發者所關注的其他開發者,在UU矩陣的對應位置值為1;
所述步驟二包括:
步驟201:根據開發者U、開發者所屬公司C、開發者參與的項目P以及開發者參與項目所使用的編程語言L的矩陣信息數據構建元路徑U→U→P、元路徑U→L→P、元路徑U→C→U→P和元路徑U→C→U→U→P,由各元路徑及其包含的異質節點組成了異質信息網絡;
步驟202:對異質信息網絡中每條元路徑,通過高斯分布隨機初始化開發者U的表示向量獲得開發者ui的初始表示向量隨機初始化項目P的表示向量獲得項目pj的初始表示向量其中m表示元路徑的索引;
所述步驟三包括:
通過鄰接矩陣相乘的方式,得到不同元路徑下的開發者U和項目P的關聯度矩陣UPm,其中,對于元路徑U→U→P,UP1=UU×UP;對于元路徑U→L→P,UP2=UL×(PL)T;對于元路徑U→C→U→P,UP3=UC×(UC)T×UP;對于元路徑U→C→U→U→P,UP4=UC×(UC)T×UU×UP;()T表示矩陣的轉置;
所述步驟四包括:
步驟401:在開發者與項目的交互列表Q加入交互項,獲得新的交互列表其中表示在元路徑m下關聯度矩陣UPm中對應于開發者ui和項目pj的值;
步驟402:將開發者ui的初始表示向量作為開發者ui的當前表示向量,將項目pj的初始表示向量作為項目pj的當前表示向量;
步驟403:根據開發者ui的當前表示向量利用公式更新開發者當前表示向量,其中,為開發者ui的當前表示向量,為開發者ui更新后的表示向量,為預設的開發者ui的調整參數;
根據項目pj的當前表示向量利用公式更新項目表示向量;其中,為項目pj的當前表示向量,為項目pj更新后的表示向量,為預設的項目pj的調整參數;
步驟404:將開發者ui更新后的表示向量作為開發者ui的初始表示向量,將項目pj更新后的表示向量作為項目pj的初始表示向量,返回執行步驟402和步驟403,直至新的交互列表Q'中所有的交互項遍歷完畢;
步驟405:循環執行步驟402、步驟403以及步驟404共K次,K為預先設定的迭代次數;
步驟406:循環執行步驟401、步驟402、步驟403、步驟404以及步驟405,直至所有元路徑都更新完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于安徽大學,未經安徽大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911297265.1/1.html,轉載請聲明來源鉆瓜專利網。





