亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種融合開發(fā)者問答社區(qū)信息的專家推薦方法

        2019-01-23 08:15:50慕江林冉彪
        現(xiàn)代計(jì)算機(jī) 2018年36期
        關(guān)鍵詞:參與度開發(fā)者關(guān)聯(lián)度

        慕江林,冉彪

        (西華大學(xué)計(jì)算機(jī)與軟件工程學(xué)院,成都 610039)

        0 引言

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

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

        針對(duì)上訴問題,本文提出一種融合開發(fā)者問答社區(qū)信息的專家推薦方法。通過引入匹配度和參與度,將兩者進(jìn)行融合,結(jié)合自編碼器模型,學(xué)習(xí)問題和專家之間的非線性語義關(guān)聯(lián),擬合問題對(duì)開發(fā)者的評(píng)分,最終推薦top-N專家。

        1 問題-開發(fā)者關(guān)聯(lián)度與參與度模型建立

        問題和開發(fā)者的關(guān)系主要表現(xiàn)在兩個(gè)方面:開發(fā)者標(biāo)簽和問題標(biāo)簽關(guān)聯(lián)程度,開發(fā)者是否直接參與該問題。開發(fā)者標(biāo)簽信息是對(duì)發(fā)者對(duì)自身知識(shí)能力的總結(jié)評(píng)價(jià),反映了開發(fā)者擅長(zhǎng)的興趣的領(lǐng)域,對(duì)開發(fā)者的能力評(píng)價(jià)有重要的作用。通過提取開發(fā)者標(biāo)簽和問題標(biāo)簽,計(jì)算相似度得出問題-開發(fā)者關(guān)聯(lián)度矩陣。根據(jù)開發(fā)者是否直接參與到問題,以及其他開發(fā)者對(duì)該開發(fā)者參與問題打分,形成問題-開發(fā)者評(píng)分矩陣。

        1.1 問題與開發(fā)者的關(guān)聯(lián)度

        問題與開發(fā)者的關(guān)聯(lián)度,度量了開發(fā)者從事領(lǐng)域與問題的領(lǐng)域的相關(guān)程度,作為開發(fā)者是否能夠準(zhǔn)確回答問題的重要評(píng)價(jià)指標(biāo)之一。每個(gè)開發(fā)者都有與之匹配的開發(fā)者標(biāo)簽,開發(fā)者標(biāo)簽由開發(fā)者本人填寫,反映了開發(fā)者的知識(shí)結(jié)構(gòu)。提問者提出問題時(shí),選擇任務(wù)標(biāo)簽信息來標(biāo)識(shí)該任務(wù)所屬的領(lǐng)域,使得同領(lǐng)域的開發(fā)者更容易發(fā)現(xiàn)、處理該問題。開發(fā)者標(biāo)簽和問題標(biāo)簽,通過集合來表示,通過Jaccard相關(guān)系數(shù)計(jì)算開發(fā)者標(biāo)簽集合和問題標(biāo)簽集合的關(guān)聯(lián)度。定義開發(fā)者標(biāo)簽集合:?jiǎn)栴}標(biāo)簽集合Tq={tq1,tq2,...tqn},根據(jù)Jaccard相似度系數(shù),問題-開發(fā)者相似度關(guān)聯(lián)度計(jì)算如下:

        dr表示問題和開發(fā)者的匹配度,當(dāng)dr越大,關(guān)聯(lián)度越高。例如,開發(fā)者標(biāo)簽問題標(biāo)簽為根據(jù)公式,匹配度sd=0.167。

        1.2 問題-開發(fā)者參與度

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

        例如,問題有3個(gè)開發(fā)者u1,u2,u3回答,u1給出的回答為問題的接受答案,u1,u2,u3獲得贊同數(shù)量則u1,u2,u3對(duì)于問題的相應(yīng) 得 分 為取。

        2 融合關(guān)聯(lián)度和參與度的問題-開發(fā)者矩陣評(píng)分值擬合

        2.1 問題-開發(fā)者評(píng)分初始值

        問題對(duì)開發(fā)者的評(píng)分值由綜合問題與開發(fā)者的匹配度和問題開發(fā)者的參與度組成,通過選取適當(dāng)?shù)臋?quán)重參數(shù),得出問題-開發(fā)者評(píng)分值。定義σ1+σ2=1,問題-開發(fā)者初始得分值計(jì)算方式如下:

        圖2給出了問題-開發(fā)者初始值矩陣示意圖,實(shí)心原點(diǎn)表示問題和開發(fā)者的僅有關(guān)聯(lián)度值;空心圓表示問題對(duì)于開發(fā)者的僅有參與度值;空心圓中一點(diǎn)表示融合關(guān)聯(lián)度與參與度后的值;空心圓中叉符號(hào)表示擬合后的評(píng)分值。軟件開發(fā)領(lǐng)域眾多,開發(fā)者和問題的領(lǐng)域有限,開發(fā)者和問題匹配度和參與度不為零的項(xiàng)較少,導(dǎo)致了融合匹配度和參與度矩陣較為稀疏。

        圖1 問題-開發(fā)者初始值矩陣示意圖

        2.2 基于自編碼器的任務(wù)-開發(fā)者評(píng)分?jǐn)M合

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

        圖2 自編碼器擬合圖

        圖3 自編碼器擬合圖

        擬合評(píng)分值表示為:

        其中,r為原始問題-開發(fā)者初始評(píng)分值,y為隱含層表示,r?為經(jīng)自編碼器擬合后的問題-開發(fā)者評(píng)分值。V和W為自編碼器中的權(quán)重值參數(shù),μ和b為偏置參數(shù)是激活函數(shù)。

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

        為防止模擬過擬合,建立如下優(yōu)化目標(biāo)函數(shù):

        對(duì)于一個(gè)輸入樣本參數(shù)更新過程如下:

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

        計(jì)算隱含層誤差向量:

        由此可計(jì)算出:

        其中wjk和vjk分別表示輸入層第k個(gè)節(jié)點(diǎn)和隱層第j個(gè)節(jié)點(diǎn)相連的權(quán)重參數(shù),vjk與wjk類似。

        (2)參數(shù)更新:對(duì)m個(gè)樣本,l層的參數(shù)更新:

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

        3 融合開發(fā)者問答社區(qū)信息的專家推薦方法

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

        圖4 融合開發(fā)者問答社區(qū)信息的專家推薦方法

        第1步提取開發(fā)者標(biāo)簽和問題標(biāo)簽,計(jì)算開發(fā)者和任務(wù)的關(guān)聯(lián)度,根據(jù)關(guān)聯(lián)度建立問題-開發(fā)者匹配度矩陣。

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

        第3步融合開發(fā)者和問題的匹配度矩陣和參與度矩陣,得到問題對(duì)開發(fā)者評(píng)分值初始矩陣。

        第4步利用自編碼器學(xué)習(xí)擬合缺失問題對(duì)開發(fā)者的評(píng)分值矩陣。

        第5步按照評(píng)分值排序,推薦top-N專家。

        4 實(shí)驗(yàn)分析

        為了驗(yàn)證本文所提出的算法的有效性,截取2008年StackOverflow問答社區(qū)數(shù)據(jù)進(jìn)行分析,并與其他的推薦算法進(jìn)行比較分析。

        4.1 數(shù)據(jù)集

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

        4.2 評(píng)價(jià)指標(biāo)

        為了衡量推薦系統(tǒng)的性能,本文選取的平均準(zhǔn)確度(Mean Average Precision,MAP)和覆蓋率(Coverage)兩個(gè)評(píng)價(jià)指標(biāo)。

        平均準(zhǔn)確度用來衡量推薦結(jié)果準(zhǔn)確程度,平均準(zhǔn)確度的值越小,表示預(yù)測(cè)效果越好。平均準(zhǔn)確度的計(jì)算方式如下,l表示推薦列表的長(zhǎng)度,dc表示正確推薦的開發(fā)者個(gè)數(shù),dw表示錯(cuò)誤推薦的數(shù)量,包括把其他領(lǐng)域推薦給該問題的開發(fā)者個(gè)數(shù)。MAP可表示為:

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

        4.3 實(shí)驗(yàn)設(shè)置

        為了驗(yàn)證本文所提出的算法在預(yù)測(cè)效果提升和稀疏性處理,在準(zhǔn)確率和覆蓋率上對(duì)以下算法進(jìn)行了比較分析:

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

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

        (3)DCIFE_Rec算法是一種融合了問題與開發(fā)者關(guān)聯(lián)度和開發(fā)者對(duì)問題的參與度的自編碼器協(xié)同過濾算法。融合開發(fā)者問答社區(qū)信息的專家推薦方法利用問題和開發(fā)者標(biāo)簽計(jì)算匹配度,加權(quán)問題和開發(fā)者的關(guān)聯(lián)度,有效的緩解了矩陣的稀疏性。

        為了防止模型對(duì)訓(xùn)練集數(shù)據(jù)過擬合,采用交叉驗(yàn)證法,將實(shí)驗(yàn)數(shù)據(jù)分為三份,每次取其中一份作為測(cè)試集,其他兩份作為訓(xùn)練集,θ最終結(jié)果為三次訓(xùn)練的平均值。模型訓(xùn)練參數(shù)設(shè)置如下表:?

        表1 模型參數(shù)設(shè)置

        表2 激活函數(shù)設(shè)置

        4.4 實(shí)驗(yàn)結(jié)果分析

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

        圖5 準(zhǔn)確度和覆蓋率指標(biāo)對(duì)比

        5 結(jié)語

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

        猜你喜歡
        參與度開發(fā)者關(guān)聯(lián)度
        提高學(xué)生課堂參與度 激活珠心算生命力
        初中語文教學(xué)中如何有效提高學(xué)生的課堂參與度
        甘肅教育(2020年24期)2020-04-13 08:24:40
        鼓勵(lì)自主安全活動(dòng) 提升員工參與度
        基于灰色關(guān)聯(lián)度的水質(zhì)評(píng)價(jià)分析
        16%游戲開發(fā)者看好VR
        CHIP新電腦(2016年3期)2016-03-10 13:06:42
        基于灰關(guān)聯(lián)度的鋰電池組SOH評(píng)價(jià)方法研究
        iOS開發(fā)者調(diào)查
        電腦迷(2015年8期)2015-05-30 12:27:10
        iOS開發(fā)者調(diào)查
        電腦迷(2015年4期)2015-05-30 05:24:09
        基于灰色關(guān)聯(lián)度的公交線網(wǎng)模糊評(píng)價(jià)
        河南科技(2014年16期)2014-02-27 14:13:25
        廣義區(qū)間灰數(shù)關(guān)聯(lián)度模型
        成人午夜高潮a∨猛片| 日韩精品中文字幕 一区| 午夜一区二区三区在线观看| 亚洲最新国产av网站| 日本特黄特色特爽大片| 亚洲综合色成在线播放| 久久久国产不卡一区二区| 国产丝袜长腿在线看片网站| 日本丰满老妇bbw| 青青草原综合久久大伊人| av无码精品一区二区乱子| 91精品啪在线观看国产色| 国产激情视频免费在线观看| 天天燥日日燥| 日韩AV有码无码一区二区三区 | 最新日韩av在线不卡| 国产偷闻女邻居av在线观看| 亚洲自偷自拍另类第1页| 日日碰狠狠躁久久躁| 亚洲无线码一区在线观看| 国产免费成人自拍视频| 亚洲欧美日韩另类精品一区| 免费人成年小说在线观看| 人妻精品一区二区免费| 国产一区二区黄色网页| 久久99国产精一区二区三区| 日本国产视频| 偷拍与自偷拍亚洲精品| 人人妻人人澡人人爽国产| 成人性做爰aaa片免费看| 白丝美女被狂躁免费视频网站 | 九九免费在线视频| 国产在线看不卡一区二区| 夜夜爽夜夜叫夜夜高潮| 人妻在线日韩免费视频| 日韩中文字幕久久久经典网| 国产av无毛无遮挡网站| 绝顶潮喷绝叫在线观看| 亚洲色成人网站www观看入口| 男女视频网站免费精品播放| 欧洲美熟女乱av亚洲一区|