999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種融合開發者問答社區信息的專家推薦方法

2019-01-23 08:15:50慕江林冉彪
現代計算機 2018年36期
關鍵詞:參與度

慕江林,冉彪

(西華大學計算機與軟件工程學院,成都 610039)

0 引言

軟件開發者數量的增加促使了開發者社區規模變大。開發者社區StackOverflow上的用戶量已經超過了600萬,問答帖子超過1300萬,每天產生的問答超過5萬。提問者可在開發者社區中搜索回答。當提問者沒有搜索到滿意的帖子,提問者可發起新問題,等待領域相關的專家開發者回答。然而,開發者問答社區存在大量不同領域的問題帖,專家開發者需要耗費大量的經歷篩選出自己領域相關的問題帖并給出相應回答。因此,大量問題貼不能獲得滿意回答,專家開發者無法提供領域內幫助,導致用戶量減少、滿意度和認可度下降。在資源數量龐大的情況下,如何為新問題貼提供相關領域內的專家開發者尤為重要。

對于開發者問答社區的專家推薦,研究人員抽取問題標簽、標題和內容和專家標簽、歷史活躍領域等信息建立問題主題和專家主題模型,從而計算問題和專家之間的主題匹配度推薦。Martin等[1]基于KNN方法分析缺陷報告中潛在的主題和開發者特征的相似關系來推薦最佳缺陷修復者;Xin等[2]提取多個主題,計算跨域主題間的相似性進行跨域協作推薦;Mao等[3]基于開發者歷史完成的任務和開發者聲譽,給出了開發任務匹配模型,利用開發者的聲譽增強進行開發者推薦;Y Tian等[4]對StackOverflow上開發者的歷史數據分析,基于LDA模型,發現用戶潛在興趣,最終基于用戶興趣和協作投票為問題推薦專家。上述的專家推薦算法是基于主題之間的相似度推薦。基于文本抽取的主題詞面臨著關鍵詞提取困難、噪聲等問題,難以提取能夠準備描述問題的關鍵詞。問題主題詞對比專家的描述信息詞匯,即使兩者有語義相似的詞匯而詞結構不同詞被視為不同詞匯,導致了推薦結果的準確率降低。

針對上訴問題,本文提出一種融合開發者問答社區信息的專家推薦方法。通過引入匹配度和參與度,將兩者進行融合,結合自編碼器模型,學習問題和專家之間的非線性語義關聯,擬合問題對開發者的評分,最終推薦top-N專家。

1 問題-開發者關聯度與參與度模型建立

問題和開發者的關系主要表現在兩個方面:開發者標簽和問題標簽關聯程度,開發者是否直接參與該問題。開發者標簽信息是對發者對自身知識能力的總結評價,反映了開發者擅長的興趣的領域,對開發者的能力評價有重要的作用。通過提取開發者標簽和問題標簽,計算相似度得出問題-開發者關聯度矩陣。根據開發者是否直接參與到問題,以及其他開發者對該開發者參與問題打分,形成問題-開發者評分矩陣。

1.1 問題與開發者的關聯度

問題與開發者的關聯度,度量了開發者從事領域與問題的領域的相關程度,作為開發者是否能夠準確回答問題的重要評價指標之一。每個開發者都有與之匹配的開發者標簽,開發者標簽由開發者本人填寫,反映了開發者的知識結構。提問者提出問題時,選擇任務標簽信息來標識該任務所屬的領域,使得同領域的開發者更容易發現、處理該問題。開發者標簽和問題標簽,通過集合來表示,通過Jaccard相關系數計算開發者標簽集合和問題標簽集合的關聯度。定義開發者標簽集合:問題標簽集合Tq={tq1,tq2,...tqn},根據Jaccard相似度系數,問題-開發者相似度關聯度計算如下:

dr表示問題和開發者的匹配度,當dr越大,關聯度越高。例如,開發者標簽問題標簽為根據公式,匹配度sd=0.167。

1.2 問題-開發者參與度

開發者對問題的參與度展示了開發者與問題的直接關聯,是評價是否針對該問題推薦開發者的直接指標。問題對開發者的直接評分,取決于開發者參與該問題獲得其他開發者的贊同數和是否被該問題的發起者所接受。問題可由多個開發者共同參與,每個開發者給出自己的回答,針對該回答,其他開發者對該回答進行評價,根據被贊同數量進行評分值建立。如果該問題的贊同數目vc分別在0-50,50-100,100以上,則分別評為0.2分,0.6分,0.9分。任務發起者選取符合問題的答案來確定最佳答案。同一問題,接受者只能為一位開發者,va表示該答案是否為提問者所接受,不接受為最佳答案評分0.3分和接受為最佳答案評0.7分。兩個方面綜合評價問題對開發者的評分,分別為λ1+λ2=1,其中最終開發者對問題的評分可由如下公式計算:

例如,問題有3個開發者u1,u2,u3回答,u1給出的回答為問題的接受答案,u1,u2,u3獲得贊同數量則u1,u2,u3對于問題的相應 得 分 為取。

2 融合關聯度和參與度的問題-開發者矩陣評分值擬合

2.1 問題-開發者評分初始值

問題對開發者的評分值由綜合問題與開發者的匹配度和問題開發者的參與度組成,通過選取適當的權重參數,得出問題-開發者評分值。定義σ1+σ2=1,問題-開發者初始得分值計算方式如下:

圖2給出了問題-開發者初始值矩陣示意圖,實心原點表示問題和開發者的僅有關聯度值;空心圓表示問題對于開發者的僅有參與度值;空心圓中一點表示融合關聯度與參與度后的值;空心圓中叉符號表示擬合后的評分值。軟件開發領域眾多,開發者和問題的領域有限,開發者和問題匹配度和參與度不為零的項較少,導致了融合匹配度和參與度矩陣較為稀疏。

圖1 問題-開發者初始值矩陣示意圖

2.2 基于自編碼器的任務-開發者評分擬合

問題-開發者匹配度和參與度形成的問題-開發者初始值仍然存在缺失數據,本文采用自編碼器的協同過濾算法[6]對評分值進行擬合。如圖2所示,設m個任務和n個開發者,任務-開發者評分矩陣R∈Rm×n,每一個開發者u∈U,任務集合t∈T,其中將缺失評分值的評分矩陣的一列輸入到自編碼器中,即可得到圖3擬合評分值。

圖2 自編碼器擬合圖

圖3 自編碼器擬合圖

擬合評分值表示為:

其中,r為原始問題-開發者初始評分值,y為隱含層表示,r?為經自編碼器擬合后的問題-開發者評分值。V和W為自編碼器中的權重值參數,μ和b為偏置參數是激活函數。

為了使得模型輸入輸出誤差最小,使用最小平方誤差來衡量擬合評分值和原始評分值之間的誤差:

為防止模擬過擬合,建立如下優化目標函數:

對于一個輸入樣本參數更新過程如下:

(1)前向傳播:對每個輸入樣本,根據輸入計算,隱含層輸入Wr+μ、隱含層輸出y、輸出層輸入V·y+b和輸出層輸出r?。計算輸出誤差向量:

計算隱含層誤差向量:

由此可計算出:

其中wjk和vjk分別表示輸入層第k個節點和隱層第j個節點相連的權重參數,vjk與wjk類似。

(2)參數更新:對m個樣本,l層的參數更新:

對于n個樣本,初始化θ中的參數為( )0,1 的隨機值,重復上述更新過程,即可求得θ。

3 融合開發者問答社區信息的專家推薦方法

融合開發者問答社區信息的專家推薦算法(Developer Community Information Fused Expert Recommendation,DCIFE_Rec),融合了問題和開發者的關聯度和開發者對問題的參與度,多方面挖掘了問題和開發者之間的關系,能夠有效地提高推薦的精度。圖4為融合開發者問答社區信息的專家推薦方法的處理流程,按照矩陣行為問題、矩陣列開發者、填充匹配度和參與度值,分別建立匹配度和參與度矩陣。

圖4 融合開發者問答社區信息的專家推薦方法

第1步提取開發者標簽和問題標簽,計算開發者和任務的關聯度,根據關聯度建立問題-開發者匹配度矩陣。

第2步根據開發者是否直接參與問題、開發者的答案是否提問題者接受以及該答案被其他開發者所贊同的次數計算開發者對問題的參與度,根據參與度建立問題-開發者參與度矩陣。

第3步融合開發者和問題的匹配度矩陣和參與度矩陣,得到問題對開發者評分值初始矩陣。

第4步利用自編碼器學習擬合缺失問題對開發者的評分值矩陣。

第5步按照評分值排序,推薦top-N專家。

4 實驗分析

為了驗證本文所提出的算法的有效性,截取2008年StackOverflow問答社區數據進行分析,并與其他的推薦算法進行比較分析。

4.1 數據集

數據集以表的形式提供。其中,Posts表包含了問題提交信息和問題的回答信息,可通過表的查詢,獲得問題標簽數據、回答問題的開發者、回答被贊同的數量和回答是否被接受。Users表存儲了用戶信息、用戶標簽。

4.2 評價指標

為了衡量推薦系統的性能,本文選取的平均準確度(Mean Average Precision,MAP)和覆蓋率(Coverage)兩個評價指標。

平均準確度用來衡量推薦結果準確程度,平均準確度的值越小,表示預測效果越好。平均準確度的計算方式如下,l表示推薦列表的長度,dc表示正確推薦的開發者個數,dw表示錯誤推薦的數量,包括把其他領域推薦給該問題的開發者個數。MAP可表示為:

覆蓋率主要衡量推薦結果的覆蓋范圍.覆蓋率定義被推薦的開發者占總開發者的比例,T為問題集合,U為開發者集合,u(t)表示推薦給問題的開發者集合,可以表示為:

4.3 實驗設置

為了驗證本文所提出的算法在預測效果提升和稀疏性處理,在準確率和覆蓋率上對以下算法進行了比較分析:

(1)BaseCF_Rec算法[8]是基于問題-開發者參與度形成的問題-開發者矩陣進行的協同過濾推薦算法。BaseCF_Rec算法對原始問題-開發者矩陣評分值按照大小排序,生成top-N列表。

(2)MF_Rec算法[7]是基于問題-開發者參與度形成的問題-開發者矩陣進行的矩陣分解算法。MF_Rec算法在問題-開發者矩陣上進行矩陣分解出問題和開發者的隱語義表示,再通過隱含語義表示對評分值擬合,在擬合結果值上按照得分值排序,生成top-N列表。

(3)DCIFE_Rec算法是一種融合了問題與開發者關聯度和開發者對問題的參與度的自編碼器協同過濾算法。融合開發者問答社區信息的專家推薦方法利用問題和開發者標簽計算匹配度,加權問題和開發者的關聯度,有效的緩解了矩陣的稀疏性。

為了防止模型對訓練集數據過擬合,采用交叉驗證法,將實驗數據分為三份,每次取其中一份作為測試集,其他兩份作為訓練集,θ最終結果為三次訓練的平均值。模型訓練參數設置如下表:?

表1 模型參數設置

表2 激活函數設置

4.4 實驗結果分析

在開發者推薦數量小的情況下,推薦正確率和覆蓋率偏低,隨著開發者推薦數量的增加,推薦的正確率和覆蓋率都有所增加。BaseCF_Rec推薦算法基于問題-開發者矩陣的評分值直接排序,沒有考慮問題和開發者的隱藏語義,推薦的準確率較低。MF_Rec推薦算法由于其問題-開發者的稀疏性,矩陣分解擬合的結果不太理想。加權標簽匹配度的自編碼器協同過濾推薦算法,由于其緩解了問題-開發者矩陣的稀疏性,推薦結果和覆蓋率相比BaseCF_Rec算法和MF_Rec算法高。

圖5 準確度和覆蓋率指標對比

5 結語

本文提出的融合問答社區信息的專家推薦方法,通過問題標簽和用戶標簽匹配度、參與度,有效地緩解了傳統協同過濾算法的稀疏性,使用自編碼器,減少了模型訓練時間,同時提升了模型性能。在以后的研究中,將綜合考慮用戶的活躍度、社交信息等信息,尋找更為精確的推薦算法。

猜你喜歡
參與度
參與高校社團活動對大學生社會實踐能力提升的作用
提高學生課堂參與度 激活珠心算生命力
大學生在線課程參與度量表編制及初步應用
淺議“互聯網+”背景下如何提升民辦高校大學生線上學習及資格考證的參與度
初中語文教學中如何有效提高學生的課堂參與度
甘肅教育(2020年24期)2020-04-13 08:24:40
黑龍江省冬季校園馬拉松項目開展及參與度的調查研究
冰雪運動(2019年5期)2019-08-24 08:04:52
鼓勵自主安全活動 提升員工參與度
勞動保護(2019年3期)2019-05-16 02:38:06
項目式STEM教學中學生參與度測量研究*
如何提升幼兒區域活動的參與度
考試周刊(2016年90期)2016-12-01 07:27:05
以新制趣 以趣促深——提高信息技術課堂參與度的策略研究
中小學電教(2016年3期)2016-03-01 03:40:52
主站蜘蛛池模板: 香蕉eeww99国产在线观看| a天堂视频在线| 国产在线啪| 99热这里只有免费国产精品| 色悠久久久久久久综合网伊人| 精品乱码久久久久久久| 免费人成视频在线观看网站| 国产产在线精品亚洲aavv| 国产中文一区二区苍井空| 国产凹凸视频在线观看| AV熟女乱| 婷婷色中文| 性视频一区| 国产男人天堂| 国产系列在线| 国产成人无码播放| 亚洲第一色网站| 国产免费自拍视频| 精品三级在线| 97久久精品人人做人人爽| 婷婷六月综合网| 91麻豆精品国产高清在线| 亚洲成人网在线观看| 国产女主播一区| 亚洲欧洲美色一区二区三区| 国产成人永久免费视频| 成人国产精品一级毛片天堂 | 亚洲第一黄片大全| 亚洲色图欧美在线| 91久久夜色精品国产网站| 九一九色国产| 九九久久99精品| 国产主播福利在线观看| 欧美一级在线| 国产精品视频观看裸模 | 国产肉感大码AV无码| 日韩精品无码免费一区二区三区| 国产人成乱码视频免费观看| 91丝袜乱伦| 亚洲AV免费一区二区三区| 国产视频大全| 亚洲欧美人成电影在线观看| 国产丝袜精品| 国产成人综合亚洲欧洲色就色| 欧美日韩国产在线人成app| 91福利国产成人精品导航| 又爽又大又光又色的午夜视频| 国产国语一级毛片在线视频| 色噜噜狠狠狠综合曰曰曰| 国产SUV精品一区二区| 综合久久五月天| 国产亚洲精品无码专| 精品视频在线一区| 国产无遮挡裸体免费视频| 亚洲精品黄| 免费国产福利| 三级毛片在线播放| 国产JIZzJIzz视频全部免费| 精品国产成人国产在线| 青青青草国产| 国产麻豆精品在线观看| 亚洲第一成年人网站| 亚洲精品无码AV电影在线播放| 亚洲成人精品久久| 91精品国产一区自在线拍| 亚洲成人在线网| 成年片色大黄全免费网站久久| 黄色污网站在线观看| 国产性生大片免费观看性欧美| 日韩美毛片| 久久亚洲国产视频| 亚洲日韩高清在线亚洲专区| 91蝌蚪视频在线观看| 亚洲国产成人久久精品软件| 日本黄网在线观看| 色综合成人| 日本午夜精品一本在线观看 | 在线观看欧美国产| 白浆视频在线观看| 亚洲精品视频免费| 欧美日韩高清在线| 亚洲视频无码|