司恩鵬,王魯豫,李浩杰*,杜軍威
(1.青島科技大學(xué) 信息科學(xué)技術(shù)學(xué)院,山東 青島 266061;2.山東省實(shí)驗(yàn)中學(xué),山東 濟(jì)南 250001)
基于社區(qū)問答服務(wù)(CQA,community-based question answering)通過用戶之間的問答交互打破了傳統(tǒng)的基于關(guān)鍵詞的在線信息搜索模式。隨著CQA熱度的不斷上升,社區(qū)中收錄的問題也在飛速增長[1],然而一方面,存在海量用戶提問的問題未得到解答,另一方面,具備問題解答能力的用戶也無法有效的發(fā)現(xiàn)自己感興趣的問題,這極大地影響了用戶解決問題的效率和對社區(qū)的忠誠度。因此,面向問答社區(qū)的專家推薦成為近十幾年研究的熱點(diǎn)。
面向問答社區(qū)的推薦任務(wù)主要分為兩類,其一是為問題推薦已有的答案,其二是為問題推薦能夠回答的專家。前者主要通過發(fā)現(xiàn)歷史中相似且已解決的問題進(jìn)行答案推薦[2-3],但由于多數(shù)問題文本較短,問題編碼難以準(zhǔn)確表達(dá)問題語義信息,導(dǎo)致問題匹配準(zhǔn)確率較低。同時(shí),隨著歷史沒有解答的新問題逐漸增多,基于問題匹配的檢索推薦模式已經(jīng)無法滿足CQA快速發(fā)展的需求,因此急需為新問題推薦合適的專家回答者[1]。
目前主流的CQA專家推薦方法僅從局部視角如問題和答案的文本特征[4]、社交網(wǎng)絡(luò)特征[5]、答案反饋信息等進(jìn)行特征提取。例如,LIU和RIAHI等[3]分別利用LDA和STM生成主題向量來構(gòu)建用戶和問題的文本特征,融合了語言模型和LDA主題向量模型來對潛在回答者興趣進(jìn)行建模,解決了無法利用更高級語義的缺陷,一定程度上提高了推薦準(zhǔn)確性。但是,基于文本的研究方法,忽略了除文本之外建模問題與用戶的其他重要異構(gòu)信息。
利用專家推薦的方法旨在由用戶的問答關(guān)系推薦最具權(quán)威性的用戶作為新問題的回答專家,專家推薦主要分為基于社交網(wǎng)絡(luò)或基于協(xié)同過濾或基于分類。ZHANG和JURCZYK等[5-6]基于社交網(wǎng)絡(luò)分別通過Indegree、Pagerank、HITS表征用戶影響力和權(quán)威性,構(gòu)建問答社交網(wǎng)絡(luò)特征,并為問題推薦最具權(quán)威性的專家;基于協(xié)同過濾的專家推薦主要使用矩陣分解算法,例如,YANG等[7]采用概率矩陣分解(PMF)方法結(jié)合生成概率模型和矩陣分解的方法來推薦問題。但是,協(xié)同過濾算法存在數(shù)據(jù)稀疏和冷啟動問題,限制了該類方法的應(yīng)用場景,相較于上述角度,基于分類的推薦方法能夠綜合考慮用戶、問題、答案或用戶間交互等特征組合進(jìn)行靈活建模,因此具有更好的魯棒性。WANG等[8]除了從問題和用戶的角度構(gòu)造特征,還引入了文本相似性作為特征,證明了文本相似性對實(shí)驗(yàn)結(jié)果具有積極作用。諸如此類的專家推薦方法,沒有充分考慮不同特征的融合對推薦的影響,而本研究結(jié)合用戶、問題、答案或用戶之間交互關(guān)系綜合構(gòu)造特征,相較于其他方法能更全面地評估回答者和問題間的偏好關(guān)系[1,8],同時(shí)驗(yàn)證了不同特征組合對最終推薦效果的影響。
然而,從多角度提取特征的傳統(tǒng)分類方法,在正負(fù)樣本劃分時(shí)存在不合理性,其主要采用如下方式:構(gòu)造形如〈Question,User〉的二元組,當(dāng)User為該問題的回答者時(shí),該樣本為正樣本,當(dāng)User為該問題的提問者時(shí),該樣本為負(fù)樣本[9-11]。這種樣本構(gòu)造模式,忽視了提問者本身也可能是回答者的情況,同時(shí)也沒有考慮答案質(zhì)量;WANG和TIAN等[12]將具有Best Answer標(biāo)簽的回答者作為問題的正樣本,一定程度上考慮了回答者答案的質(zhì)量,但由于每個問題只能有一個Best Answer,其他答案質(zhì)量接近Best Answer的回答者也被作為負(fù)樣本,因此無法細(xì)粒度地評價(jià)每位回答者的能力。除此之外,由社區(qū)投票機(jī)制產(chǎn)生的得分信息也可以作為一種評估問題和答案質(zhì)量的有效方法,并且相比于傳統(tǒng)的樣本劃分標(biāo)準(zhǔn),細(xì)粒度的投票評分更為客觀合理。因此,本工作采用投票得分這種細(xì)粒度的反饋評價(jià)作為用戶回答能力的量化指標(biāo)。
本工作利用用戶對答案的反饋評價(jià)作為答案質(zhì)量細(xì)粒度評分,從問題、答案、回答者、社交網(wǎng)絡(luò)等多個角度提取特征,設(shè)計(jì)了一種考慮特征組合和交互的FM回歸模型進(jìn)行專家推薦,在爬取的Stack Overflow有關(guān)java領(lǐng)域的數(shù)據(jù)集上按真實(shí)時(shí)間序列進(jìn)行專家推薦[3],與主流基準(zhǔn)算法進(jìn)行對比,驗(yàn)證本工作方法的有效性。
本工作旨在從多角度提取特征并對不同特征進(jìn)行組合,設(shè)置消融實(shí)驗(yàn)探索各特征組合對推薦效果的影響,并利用用戶對答案的反饋評價(jià)對答案質(zhì)量進(jìn)行細(xì)粒度量化。最終設(shè)計(jì)一種結(jié)合最佳特征組合與細(xì)粒度評價(jià)反饋的FM預(yù)測模型完成專家推薦任務(wù)?;谔卣魅诤吓c評分反饋的專家回答者推薦方法框架見圖1。
圖1 基于特征融合與評分反饋的專家回答者推薦方法框架Fig.1 Framework of expert responder recommendation method based on feature fusion and rating feedback
如圖1所示,本工作研究框架主要包含如下幾個部分:
1)在Stack overflow社區(qū)問答平臺中抽取并建立結(jié)構(gòu)化數(shù)據(jù),將其存儲為〈問題,提問者,回答者〉三元組形式。2)從問題、用戶、文本匹配、社交關(guān)系等角度提取特征,建立問題(Q)、回答者(A)、問題-回答者文本(QA)、提問者-回答者社交關(guān)系(AA)特征集合并對特征進(jìn)行編碼。3)設(shè)置消融實(shí)驗(yàn)結(jié)合FM算法探索不同特征組合的重要性,訓(xùn)練模型確定最佳特征組合。4)針對粗細(xì)兩種反饋評價(jià)在MRR與S@N上對比推薦效果,選取細(xì)粒度反饋?zhàn)鳛樽罱K評價(jià)標(biāo)準(zhǔn)。5)用FM模型結(jié)合最佳特征組合與細(xì)粒度反饋評價(jià)來生成專家推薦列表,完成推薦任務(wù)。
假設(shè)將數(shù)據(jù)集劃分成4個特征集合,分別為問題特征集QuestionQ=〈q1,q2,…,qn〉,回答者用戶特征集AnswerersA=〈a1,a2,…,am〉,問題-回答者文本特征集Question-AnswererQA=〈qa1,qa2,…,qak〉以及提問者-回答者社交關(guān)系特征集Asker-AnswererAA=〈aa1,aa2,…,aal〉。本工作的任務(wù)是為新問題推薦合適的回答者。將每一個實(shí)驗(yàn)樣本表示為〈q,a,qa,aa,score〉,其中q∈Q,a∈A,qa∈QA,aa∈AA,score∈[0,1]。研究目標(biāo)是學(xué)習(xí)一個映射關(guān)系,使得f:(q,a,qa,aa)→R。其中,在f(q,a,qa,aa)中獲得最高分的用戶a∈Answerer將被預(yù)測為問題q的最佳回答者。
考慮到本工作是為新問題推薦回答者,在構(gòu)造樣本特征時(shí),選取問題樣本格式為〈q,a,qa,aa,score〉五元組,其中分別包含問題特征集(Q)、回答者用戶特征集(A)、問題-回答者文本特征集(QA)、以及提問者-回答者社交關(guān)系特征集(AA)4個部分。樣本構(gòu)造中丟棄了歷史問題的答案信息,這是因?yàn)樾聠栴}的回答者推薦是一個冷啟動任務(wù),新問題不存在答案信息。因此本工作構(gòu)建樣本的主要特征如表1所示。
表1 模型主要特征Table 1 Main features of model
1.2.1 問題特征集Q(1~7)
問題標(biāo)題長度可以被認(rèn)為是衡量問題質(zhì)量的重要特征,換句話說,高質(zhì)量問題較容易被回答[13];問題文本中網(wǎng)站內(nèi)部鏈接數(shù)量(特征Q_5)也被認(rèn)為是反應(yīng)問題質(zhì)量的重要因素[14]。其中,對問題ID(Q_1)和問題標(biāo)簽(Q_7)類別特征分別采用one-hot編碼和multi-hot編碼。對于連續(xù)特征Q_2~Q_6,考慮到Q_2~Q_6特征均呈現(xiàn)長尾分布特點(diǎn),為了提升特征表達(dá)能力并更適合本工作設(shè)計(jì)推薦模型,采用等頻分箱進(jìn)行離散化,并生成one-hot編碼。
1.2.2 用戶特征集A(1~12)
考慮采用用戶發(fā)布問題數(shù)量(特征A_7)和答案數(shù)量(特征A_4),來建模用戶的社區(qū)參與度。如果用戶提供了較多的問題或答案,則認(rèn)為該用戶在社區(qū)中是活躍的,樂意與其他用戶分享知識和探討問題,相較于不活躍用戶,其為其他用戶解答問題的可能性更高。另外,考慮采用用戶榮譽(yù)值(A_2)、獲得徽章的評分(A_3)、發(fā)布答案平均得分(A_10)和發(fā)布最佳答案比例(A_6),來建模用戶的知識專業(yè)性。如果用戶有較高的發(fā)布最佳答案的比例(特征A_6),那么認(rèn)為他將在社區(qū)中提供的答案也更大概率是“Best Answer”。同時(shí),用戶的注冊年齡(特征A_12)也是衡量問題質(zhì)量和回答質(zhì)量的重要特征,注冊時(shí)間短的用戶相較于注冊時(shí)間長的用戶,產(chǎn)出優(yōu)質(zhì)答案的概率要小。其中,除回答者ID(特征A_1)為類別特征之外,其余均為連續(xù)特征。因此分別采用與問題特征集Q相同的處理方法。
1.2.3 問題回答者文本特征集QA(QA_1)
在問題回答者特征構(gòu)造方面,傳統(tǒng)的CQA服務(wù)多基于用戶歷史回答過的問題文本表征回答者知識特征,基于LDA算法探索新問題和用戶個人資料在主題分布上的相似關(guān)系,從而為新問題生成最佳回答者用戶列表[3]。本工作采用特征QA_1表示問題和回答者之間的文本相似程度,因其為連續(xù)特征,所以采用同問題特征集Q一樣的處理方法。
1.2.4 提問者回答者社交關(guān)系特征集AA(1~3)
在以回答者為起點(diǎn)、提問者為終點(diǎn)的有向用戶社交網(wǎng)絡(luò)中,PageRank算法通過估計(jì)節(jié)點(diǎn)在網(wǎng)絡(luò)中隨機(jī)游走(以及偶爾的隨機(jī)跳躍)訪問其他節(jié)點(diǎn)的可能性,來表示用戶可能回答其他用戶提出問題的概率[15]。不同于PageRank,HITS將網(wǎng)絡(luò)中的節(jié)點(diǎn)分為兩種類型,每個節(jié)點(diǎn)對應(yīng)兩個得分,分別是表示節(jié)點(diǎn)用戶回答質(zhì)量的hub分?jǐn)?shù)和表示節(jié)點(diǎn)用戶專業(yè)知識程度的authority分?jǐn)?shù)[5],從而可以對用戶進(jìn)行更加全面的評估建模。因此,本文用連續(xù)特征AA_1~AA_3表征用戶之間的社交關(guān)系,同樣采用等頻分箱進(jìn)行離散化,并生成one-hot編碼。
1.3.1 因子分解機(jī)FM
FM借鑒了矩陣分解隱向量的思想,為每一個交互特征學(xué)習(xí)一個隱權(quán)重向量(latent vector),在特征交叉時(shí),使用兩個特征隱向量的內(nèi)積作為交叉特征的權(quán)重。這樣不僅可以自動地交叉得到二階特征,還克服了數(shù)據(jù)稀疏性問題。其表達(dá)式為
其中,ω0為全局偏置,ωi是模型第i個變量的權(quán)重,ωij=〈vi,vj〉是特征i和j的交叉權(quán)重,vi是第i維特征的隱向量,n代表特征數(shù),k(k?n)為隱向量的長度,包含k個描述特征的因子。
〈..,〉代表兩個k維隱向量的點(diǎn)積:
為訓(xùn)練FM模型,求解如下優(yōu)化問題:
其中S表示訓(xùn)練集,λω0、λω、λV分別表示三類模型參數(shù)對應(yīng)的正則化系數(shù),避免噪音樣本帶來的擾動。
對于優(yōu)化問題(3),本工作利用隨機(jī)梯度下降法求解權(quán)重參數(shù),迭代公式如下:
其中η為學(xué)習(xí)率。式,由于與變量i相互獨(dú)立,因此可以預(yù)先計(jì)算得到,且vi,f的訓(xùn)練只需要樣本xi特征非0即可,適合于稀疏特征。每個梯度的計(jì)算時(shí)間復(fù)雜度都為Ο(1),模型的參數(shù)總數(shù)量為nk+n+1,在數(shù)據(jù)稀疏條件下,參數(shù)更新所需要的所有時(shí)間為Ο(kn)。
1.3.2 基于特征融合與評分反饋的FM
本工作中的特征向量<q,a,qa,ua>非常稀疏且為新問題推薦的冷啟動問題,不適合采用傳統(tǒng)基于協(xié)同過濾的推薦方法。FM算法能夠降低交互向量特征維數(shù),且能夠自動學(xué)習(xí)任意二維交叉特征,減少了大量的特征選擇工作。本工作構(gòu)造的特征為稀疏特征空間樣本集合,因此,設(shè)計(jì)使用FM算法來完成推薦任下:
如1.2.2小節(jié)中介紹,對整理后的結(jié)構(gòu)化數(shù)據(jù)進(jìn)行特征提取,構(gòu)造4類特征集合,在其基礎(chǔ)上設(shè)置6組特征組合并采用FM算法進(jìn)行消融實(shí)驗(yàn),研究不同特征組合的選取對評分預(yù)測精度的影響從而確定最佳特征組合。設(shè)置對比實(shí)驗(yàn)進(jìn)一步研究將投票得分作為細(xì)粒度反饋評價(jià)與僅區(qū)分Best Answer與否的粗粒度反饋評價(jià)對專家推薦效果的影響。最終采用結(jié)合最佳特征組合與細(xì)粒度反饋評價(jià)的FM推薦方法與其他基準(zhǔn)方法進(jìn)行實(shí)驗(yàn)對比,驗(yàn)證本工作模型在社區(qū)問答領(lǐng)域?qū)<彝扑]效果的有效性與優(yōu)越性。
Stack Overflow 2018年年度開發(fā)人員調(diào)查報(bào)告顯示,在2018年java是該社區(qū)中廣受歡迎的開發(fā)語言,因此本工作收集了2018年Stack Overflow網(wǎng)站中所有有關(guān)java主題的問題。
首先將爬取到的數(shù)據(jù)以〈question,asker,answerer〉三元組形式存儲,共計(jì)樣本17萬余條。隨后,剔除含有部分不規(guī)則或無效的樣本記錄,選擇至少有4個答案以上、擁有Best Answer且提問者和回答者均為已注冊用戶的問題作為最終實(shí)驗(yàn)數(shù)據(jù)。最終合計(jì)共20 236條實(shí)驗(yàn)樣本,其中包含問題4 450個,回答者10 444人。經(jīng)數(shù)據(jù)處理后的實(shí)驗(yàn)數(shù)據(jù)集詳細(xì)統(tǒng)計(jì)信息如表2所示。
表2 Stack overflow數(shù)據(jù)集統(tǒng)計(jì)Table 2 Statistics of stack overflow dataset
為了驗(yàn)證由社區(qū)投票機(jī)制產(chǎn)生的得分信息對提供更加細(xì)粒度的評價(jià)標(biāo)準(zhǔn)的合理性,采用VoteRank對答案的投票得分與Best Answer之間的相關(guān)性進(jìn)行分析,即在問題q中根據(jù)評分大小選擇Top N回答者作為其“Best Answerer”,然后統(tǒng)計(jì)Top N回答者(N=1,3,5)包含Best Answerer答案的比例。如圖2所示,約68%的Top1是Best Answer,Top3中87%是Best Answerer,Top5中93%是Best Answerer。這表明Best Answerer與答案反饋評價(jià)具有強(qiáng)相關(guān),因此采用答案的投票得分來量化答案質(zhì)量具有充分的合理性。
圖2 在數(shù)據(jù)集上VoteRank的S@N(N=1,3,5)Fig.2 S@N of voterank on dataset(N=1,3,5)
此外,為了保證標(biāo)簽取值在統(tǒng)一范圍,本工作將每個問題的答案反饋評價(jià)采用歸一化方法歸至[0,1]區(qū)間。
本工作根據(jù)問題發(fā)布時(shí)間進(jìn)行訓(xùn)練集和測試集的劃分[3,16]。為了保證不同數(shù)據(jù)在劃分方法上的一致性,對共計(jì)12個月的所有問題進(jìn)行迭代劃分,并記錄不同數(shù)據(jù)劃分結(jié)果的平均水平,具體劃分結(jié)果如表3所示。
由于本工作實(shí)驗(yàn)分為兩個階段:評分預(yù)測和專家推薦。第一階段是探索不同特征組合對評分預(yù)測精度的影響,第二階段是結(jié)合最佳特征組合為新問題推薦回答專家。因此,針對不同的任務(wù),測試集構(gòu)造有所不同。評分預(yù)測階段測試集構(gòu)造如表3所示;在專家推薦階段,每個問題僅保留一個正樣本(即問題的最高分回答者),并在訓(xùn)練集中隨機(jī)負(fù)采樣,和正樣本一同作為候選用戶集。另外,為了驗(yàn)證在不同大小候選集上的推薦效果,本工作隨機(jī)負(fù)采樣生成長度分別為5、10、15、20、25、30、35、40、45、50的候選集。
值得注意的是,得益于本工作的特征設(shè)置,該方法不僅可以為新問題推薦老用戶(訓(xùn)練集中出現(xiàn)),也可以推薦新用戶(訓(xùn)練集中未出現(xiàn)),使得該方法能夠完全克服CQA領(lǐng)域中棘手的冷啟動問題。
表3 數(shù)據(jù)集劃分Table 3 Division of dataset
2.4.1 LDA
根據(jù)問題文本和回答者歷史回答問題的文本集合,采用主題數(shù)為30的LDA模型,采用余弦相似度計(jì)算相似度,由高到低對候選用戶排名,并生成推薦列表[3]。
2.4.2 MF
針對為新問題推薦回答專家的冷啟動問題,通過計(jì)算文本相似度,采樣與新問題最相似的3個歷史問題,并將其擬合訓(xùn)練階段得到的問題隱向量加權(quán)平均作為待推薦問題的隱向量表示,與用戶隱向量作點(diǎn)積獲得用戶在新問題上的預(yù)測評分,從而生成推薦列表。
2.4.3 SVM
采用與FM實(shí)驗(yàn)相同的特征,只是采用傳統(tǒng)的CQA專家推薦分類標(biāo)簽,將“Best Answer”標(biāo)記為正樣本,將非“Best Answer”標(biāo)記為負(fù)樣本,采用SVM方法實(shí)現(xiàn)分類預(yù)測[1,16]。
2.4.4 LR(linear regression)
采用LR方法,對每一個新問題的候選回答者用戶集預(yù)測評分,依據(jù)分?jǐn)?shù)高低返回回答者推薦列表,探索引入細(xì)粒度評分是否能提升推薦的準(zhǔn)確性。
2.4.5 FM
通過消融實(shí)驗(yàn)確定最佳特征組合,設(shè)計(jì)FM方法,對每一個新問題的候選回答者用戶集預(yù)測評分,依據(jù)分?jǐn)?shù)高低返回回答者推薦列表,探索引入特征交互和細(xì)粒度評分是否能顯著提升推薦的準(zhǔn)確性。
在評分預(yù)測階段,本工作采用MAE(平均絕對誤差)、MSE(均方誤差)來評價(jià)預(yù)測結(jié)果。在用戶推薦階段,本工作基于CQA中的專家推薦的幾種流行的評估標(biāo)準(zhǔn),評估本工作提出方法的性能。分別為MRR(mean reciprocal rank)[11]、S@N(success@top N)[9]。定義如下:
其中,Q表示測試集,Q表示測試樣本的數(shù)量,q表示測試集中的每一個樣本,N表示生成的推薦列表的長度,表示第i個問題中Best Answer用戶在推薦列表中的順序,ranki同,特殊地,當(dāng)ranki未出現(xiàn)在推薦列表中時(shí),定義ranki=0。對S@N,當(dāng)時(shí),表示該樣本預(yù)測成功。
2.6.1 消融實(shí)驗(yàn)
在評分預(yù)測階段,為了驗(yàn)證特征組合的的預(yù)測效果,采用消融實(shí)驗(yàn),迭代地將不同組特征引入到FM算法中,來探求不同特征組合的重要性。
本工作設(shè)計(jì)5個方面的Basic、Question(Q)、Answerer(A)、Question-Answerer(QA)、Asker-Answerer(UA)特征組,分別設(shè)置了以下6組對照組合Basic、Basic+Q、Basic+A、Basic+Q+A、Basic+Q+A+QA、Basic+Q+A+QA+UA進(jìn)行對比。
實(shí)驗(yàn)結(jié)果如圖3所示,可以得出:
Basic+Q和Basic在2個評價(jià)指標(biāo)上的表現(xiàn)大致相同,表明加入問題特征Q僅僅豐富了對問題建模的復(fù)雜性,對評分?jǐn)M和效果沒有太大提升。
Basic+A相比于Basic,在2個評價(jià)指標(biāo)上略有提升,表明加入用戶特征A只是提高了用戶建模的精確度,對評分?jǐn)M合效果有一定提升但不明顯。
Basic+Q+A相較于Basic、Basic+Q和Basic+A,在2個評價(jià)指標(biāo)上有顯著提升,表明問題特征Q和用戶特征A的同時(shí)加入,能夠使得問題和回答者建模更精準(zhǔn),同時(shí)問題和回答者之間的特征交互也可以挖掘出兩者之間的潛在關(guān)系,明顯提高了模型的評分?jǐn)M合能力。
Basic+Q+A+QA相較于Basic+Q+A,擬合效果進(jìn)一步提升,表明QA特征的融入可以幫助模型從語義匹配的角度,更好地豐富問題和回答者兩者間的內(nèi)在關(guān)系。
圖3 消融實(shí)驗(yàn)結(jié)果Fig.3 Results of ablation experiments
Basic+Q+A+QA+UA相較于Basic+Q+A+QA,擬合效果非但沒有提升,反而有一定程度的下降,表明UA特征的加入擾動了原有模型的穩(wěn)定性,說明用戶社交關(guān)系并不能完全體現(xiàn)用戶之間問答的意愿,較為活躍的用戶并不是在所有問題上都有較強(qiáng)意愿予以回答,而僅僅傾向于個別知識領(lǐng)域的問題。因此,確定Basic+Q+A+QA為最佳特征組合。
2.6.2 專家推薦
本工作通過消融實(shí)驗(yàn)確定了模型所需的最佳特征組合。進(jìn)一步探索細(xì)粒度評分反饋評價(jià)和粗粒度0、1分類(Best Answer--1,非Best Answer--0)對推薦結(jié)果的影響。
粗粒度反饋評價(jià),即將Best Answer作為預(yù)測正標(biāo)簽,其余作為負(fù)標(biāo)簽;細(xì)粒度反饋評價(jià),即將Best Answer作為預(yù)測真實(shí)標(biāo)簽,保持其余用戶分?jǐn)?shù)不變。顯然,前者僅關(guān)注Best Answer,而后者通過分?jǐn)?shù)來量化不同用戶的回答能力。為探索兩種反饋評價(jià)對推薦結(jié)果的影響,采用FM就相同數(shù)據(jù)集和相同特征做對比實(shí)驗(yàn),前者預(yù)測候選用戶為Best Answer的可能性,然后依此降序生成推薦列表;后者預(yù)測候選用戶在待推薦問題上的得分,并依此降序生產(chǎn)推薦列表。其中,采用專家推薦階段數(shù)據(jù)集和特征組合(Basic+Q+A+QA),在長度分別為5、10、15、20、25、30、35、40、45、50的候選集上實(shí)驗(yàn)結(jié)果如圖4所示。
圖4 粗細(xì)粒度反饋評價(jià)對推薦結(jié)果的影響Fig.4 Impact of coarse and fine-grained feedback evaluation on recommendation results
根據(jù)實(shí)驗(yàn)結(jié)果,在不同長度的候選集上細(xì)粒度反饋評價(jià)實(shí)驗(yàn)的S@3和MRR始終優(yōu)于粗粒度反饋評價(jià),其中關(guān)注推薦結(jié)果位序的MRR效果更為明顯。這是由于粗粒度反饋評價(jià)將用戶粗略地劃分為兩類標(biāo)簽,忽視了大量接近最高分用戶的優(yōu)質(zhì)回答者;而細(xì)粒度反饋評價(jià)保留了用戶原有評分,不僅能識別Best Answer用戶,還能細(xì)致量化其他用戶的回答能力。所以本工作FM模型結(jié)合細(xì)粒度反饋評價(jià)完成專家推薦任務(wù)。
上一個實(shí)驗(yàn)說明了針對FM算法,采用細(xì)粒度反饋評價(jià)有助于提升推薦性能。在長度為5、10、15、20、25、30、35、40、45、50的測試候選集上,分別采用前文介紹的基準(zhǔn)方法:LDA、SVM、LR、FM預(yù)測推薦用戶列表,然后計(jì)算相應(yīng)的Success@N、MRR值。在長度為5的測試候選集上,按時(shí)間序列進(jìn)行訓(xùn)練和測試,實(shí)驗(yàn)結(jié)果如表4所示。
在長度分別為5、10、15、20、25、30、35、40、45、50的測試候選集上,按時(shí)間序列進(jìn)行訓(xùn)練和測試,圖5按照每種方法在不同的長度測試候選集的平均實(shí)驗(yàn)結(jié)果,這里S@N(N=3)。
表4 推薦結(jié)果對比(T=5)Table 4 Comparison of recommended results(T=5)
圖5 在不同長度推薦列表上的推薦結(jié)果Fig.5 Recommendation results on recommendation lists of different lengths
根據(jù)實(shí)驗(yàn)結(jié)果,可以得出如下結(jié)論:
1)LDA方法僅考慮提出的問題與專家歷史回答的問題文本相似度,而MF方法僅關(guān)注問題與回答者之間的評分反饋信息,這兩種推薦方法相對于其它方法效果是最差的;
2)SVM、LR和FM采用相同的特征組合(Basic+Q+A+QA),SVM采用Best Answer,和非Best Answer粗粒度反饋評價(jià),LR和FM都是采用反饋評分細(xì)粒度評價(jià),SVM的推薦效果要弱于LR和FM,也進(jìn)一步說明了細(xì)粒度評價(jià)能夠提升推薦效果;
3)相對于LR和FM兩種算法,由于FM引入二階特征交互,與LR相比,能夠提升推薦效果;
4)S@3指標(biāo)僅考慮推薦列表前3位中是否包含Best Answer,而不考慮Best Answer的位置,MRR指標(biāo)考慮了Best Answer在推薦列表的位置,從圖6可以看出,本工作考慮的特征交互與細(xì)粒度評價(jià)的FM算法,都優(yōu)于基準(zhǔn)方法,在考慮推薦位置的MRR指標(biāo)上表現(xiàn)更突出。
面對傳統(tǒng)CQA專家推薦或僅考慮問題文本特征、或考慮更多特征但沒有分析特征不同組合對推薦效果的影響、或僅考慮Best Answer和非Best Answer粗粒度評價(jià)等,造成CQA專家推薦精度不高問題。本工作將特征劃分為5類,并通過消融實(shí)驗(yàn)考慮類別組合對推薦性能的影響而確定了其4類組合對推薦的價(jià)值;同時(shí)考慮反饋評分細(xì)粒度評價(jià)和特征交互,設(shè)計(jì)FM算法在實(shí)際爬取的Stack Overflow 1年的問答數(shù)據(jù)進(jìn)行實(shí)驗(yàn)對比,結(jié)果表明本工作設(shè)計(jì)的方案能夠較基準(zhǔn)方法能夠較顯著提升專家推薦性能。在日后的工作中考慮將特征融合與深度學(xué)習(xí)模型相結(jié)合,提高模型的表達(dá)能力的同時(shí)探索對專家推薦效果的影響。