許凱 柳先輝
摘要:本文針對B2B領域的用戶搜索排序提出了一種新的方法,實現(xiàn)基于用戶交易記錄的個性化搜索排序。利用用戶歷史交易記錄構建交易有向圖,根據(jù)有向圖構建轉移矩陣,利用Pagerank1網(wǎng)頁重要度傳遞思想計算商戶的可信度。用戶的搜索根據(jù)模糊匹配得到初步結果,根據(jù)商戶可信度與用戶偏好進行排序,即可得到搜索結果。另外對轉移矩陣增加了回饋系數(shù)和修正系數(shù),可以有效地防止B2B商家為了高信用度而進行相互刷單交易行為。
關鍵詞:商戶可信度;搜索排序;轉移矩陣;個性化搜索
中圖分類號:TP18 文獻標識碼:A 文章編號:1009-3044(2015)31-0156-04
A New Kind of Personalized Search Method Based on User Transaction Records
XU Kai, LIU Xian-hui
(Research Center of CAD, Tongji University, Shanghai 201804,China)
Abstract: In this paper, we proposed a new method which is used in B2B search results ranking. We could implement personalized search results ranking based on the user transaction records. We using user transaction records to build trading directed graph, building transfer matrix based on trading directed graph, and calculating the credibility of users by using the thought of Pagerank1. We could get preliminary search results according to the keywords matching,
And we ranking the results one the basis of the credibility of users and the users preference. In addition we add Feedback coefficient and the correction coefficient into transfer matrix, which could effectively prevent the behavior that doing malicious trades to get high credibility.
Key words: user credibility; search ranking; transfer matrix; personalized search
1概述
互聯(lián)網(wǎng)的發(fā)明將人類帶入了信息化社會,對個人生活方式、企業(yè)的經(jīng)營模式都產(chǎn)生了深刻的影響?;ヂ?lián)網(wǎng)漸漸深入我們生活中的每一個環(huán)節(jié),使得電子商務得到了迅猛發(fā)展,給傳統(tǒng)的企業(yè)銷售模式、個人購物方式帶來了深刻影響。2015年阿里巴巴、京東的成功上市讓我們看到了電子商務的巨大潛力。對個人來說,電子商務讓我們的生活更加便捷,選購商品的時候有了更多的選擇。對企業(yè)而言,電子商務直接變革了多數(shù)企業(yè)的運營模式。B2B平臺讓企業(yè)可以更大范圍的尋找合作伙伴,B2C平臺讓企業(yè)可以直接向消費者銷售商品。但是現(xiàn)有的電子商務的技術水平以及電商運營模式,制約了電子商務的進一步快速發(fā)展。電子商務的進一步發(fā)展對電商提出了更多的新的要求,例如商品的質量、售后,以及配送的及時性等等。其中,最為突出的問題在于商品的選購、合作商家的選定。
在B2B平臺中,公司在尋找合作伙伴的時候會有很多候選公司,但是這些候選公司的公司資產(chǎn)情況參差不齊,另外由于電子商務的虛擬性,候選公司的產(chǎn)品質量也沒辦法直觀的定性評測,候選公司的實際生產(chǎn)能力也需要進一步人工核實。因此在B2B平臺中,用戶很希望有一種推薦系統(tǒng),或者一種類似企業(yè)可信度的一種量化指標,使得商戶在搜索合作伙伴的時候優(yōu)先考量信用度高的公司,這樣就可以極大提高B2B平臺用戶的使用效率。
2算法背景介紹
本文提出本的算法是為了解決現(xiàn)實工程中實際的問題,由于B2B領域搜索問題一直鮮有人研究,先行多數(shù)B2B平臺的搜索主要分為兩種2。第一種站外搜索:B2B平臺允許第三方搜索引擎(如百度,谷歌)獲取其產(chǎn)品數(shù)據(jù),用戶可以通過第三方搜索引擎進入對應的產(chǎn)品頁面;第二種主要是站內搜索,現(xiàn)行多數(shù)B2B平臺只是進行關鍵字模糊匹配,然后按照交易額度、好評度等幾個維度進行簡單排序。
在我們的工程中,為了解決在現(xiàn)行眾多中小企業(yè)中存在的企業(yè)間多為小范圍內合作,總體生產(chǎn)效率不高問題,我們構建一個B2B平臺,提供商務以及產(chǎn)品交易,使得眾多制造業(yè)企業(yè)可以在該平臺下搜索尋找自己的合作伙伴,充分發(fā)揮制造業(yè)企業(yè)集群的優(yōu)勢,促進區(qū)域合作,實現(xiàn)雙贏。我們平臺用戶使用搜索引擎來搜尋合作伙伴公司,然后進行合作協(xié)商。這要求平臺的搜索具有如下功能:
1) 優(yōu)先推薦可信度高的企業(yè);
2) 優(yōu)先推薦曾經(jīng)有合作的商家;
3) 性能高,在小型服務器上可以滿足萬次每秒的搜索。
為了滿足以上要求,本文在這里提出一種新的基于用戶歷史交易信息搜索模型。該模型以商戶的可信度為基準來衡量商家的可信度,并通過對不同商家的可信度進行調整來實現(xiàn)個性化搜索。下文將介紹本搜索模型,以及可信度算法的具體實現(xiàn)。
3 基于歷史交易記錄的搜索
3.1搜索模型
圖1 搜索模型
本文所提出的搜索模型如圖1所示。具體的搜索過程為:
1)服務器接收到A用戶的搜索請求,返回所有基于搜索關鍵字模糊匹配商家集合Raw_results。
2)服務器從商戶可信度數(shù)據(jù)庫中檢索所有Raw_results中的商戶可信度分數(shù),并返回含有每個商戶可信度信息的商家集合Raw_results_with_marks。
3)服務器讀取A用戶的歷史交易信息,以及A用戶的偏好信息,對Raw_results_with_marks中的各個商家的可信度進行調整排序返回最終商家搜索集合Final_results。
4)服務器根據(jù)Final_results中的排名信息,生成動態(tài)網(wǎng)頁搜索結果,呈現(xiàn)給A用戶。
綜上所述,在上述搜索模型中,核心就是商戶可信度數(shù)據(jù)庫的建立。
3.2 建立商戶可信度排名數(shù)據(jù)庫
3.2.1商戶可信度的定義以及算法主要思想
商戶可信度,顧名思義表明該商戶在本平臺上的一個可信賴度。該信賴度的計算應該是一個動態(tài)過程;即隨著商戶交易總額度提升而提升(獎勵),隨著商戶的退貨量總量的增加而降低(懲罰)。
為了給每一個商家用戶賦予一個可信度,我們根據(jù)歷史交易數(shù)據(jù)為每一個電子商務平臺商戶計算其可信度。該算法總體思想如下:
一個可信度高的商家A購買商家B的服務,并且A給予B好評,那么商家B應該從A那里獲得較高的可信度獎勵,那么商家B的可信度會大幅度增加。
在電商平臺上眾多普通可信度商家都購買B商家提供的服務,并且給予好評,那么商家B應該獲得較多的可信度獎勵,商家B的可信度也會大幅度增加。
1) 一個可信度高的商家A購買商家C的服務,并且A給予C差評,那么商家C的可信度就會大幅度降低。
2) 眾多小商家購買商家C的服務,并且給予C差評,那么商家C的可信度也會大幅度降低。
為計算所有商戶的可信度,我們首先要獲取一定時間間隔內的平臺所有商戶的交易信息。為了簡化模型降低復雜度,我們采取分別計算每位商戶的好評可信度、中評可信度、差評可信度,然后經(jīng)過加權平均即可得到平臺每位商戶綜合可信度。
3.2.2 商戶可信度的計算
3.2.2.1 交易記錄的分組
讀取歷史交易記錄,以每一條交易記錄為一次交易行為。
交易記錄應該包括交易雙方ID,交易雙方的相互評論情況。
首先我們讀取所有用戶的交易記錄,按照好中差評論分為3組,然后依次計算每個分組下的商戶可信度。
3.2.2.2 轉移矩陣構建
在上個章節(jié),我們定義了可信度的計算方法,這里我們給出具體實現(xiàn)。
首先根據(jù)交易記錄我們可以畫出有向圖如圖2所示.
圖 2 一個簡單的有向圖
通過上圖我們可以看出可信度的轉移過程,由于甲方購買乙方的服務,那么交易完成后甲方的可信度就會按照一定的權重轉移給乙方。而轉移矩陣就是可信度的轉移權重的向量組。定義R為A商家可信度,T(i)為所有交易記錄中購買過A商家服務的合作商家其總數(shù)量為設為N,B(u)為對應T(i)中的每個商家購買A商家服務的資金占其自身總交易量的一個權重。那么可信度的一個簡單的模型如下所示:
但是在電子商務平臺中,這種簡單的可信度計算遠不能達到實用要求,原因主要在于:
1) 有些商家自身不提供服務,在平臺一直是扮演消費者角色,這樣他自身的可信度不會有任何提高
2) 如有商家惡意刷單,會導致可信度排名異常高
基于以上要求,我們采用以下方法計算可信度的轉移
1) 增加買家回饋系數(shù)α,回饋系數(shù)是商家A購買了商家B的產(chǎn)品服務,那么系統(tǒng)可以根據(jù)商家B的可信度,適量的增加商家A的可信度。這樣平臺老商家用戶即使不出售產(chǎn)品服務,也可以獲得適當可信度的提升。如圖3所示,在更新完B C 商家的可信度后,還要更新A商家的可信度。
2) 增加權值修正系數(shù)β,權值修正系數(shù)主要是為了防范可信度富集累效應,因為如若一個可信度比較高的商家C,只購買過商家D的產(chǎn)品服務,按照之前的可信度計算方法,C的可信度會被近乎100%傳遞給D,這樣容易導致D的可信度過高。另外修正系數(shù)可以防止幾個用戶之間的惡意刷單行為,這些惡意用戶之間的交易有向圖為孤立的連通環(huán),增加修正系數(shù)后可以打破這種孤立的連通環(huán),其思想方法與Page Lawrence 解決Rank Sink4的問題一致。另外增加權值修正可以極大的方便我們的可信度的計算實現(xiàn)。
那么定義R為A商家可信度,重定義E(i)為平臺所有商家其總數(shù)量為設為N,B(u)為對應T(i)中的每個商家購買A商家服務的資金占其自身總交易量的一個權重,那么B(u)是一個總和為1的N*1的向量。E是一個N*1單位向量。
圖3 增加反饋系數(shù)的連通圖
3.2.2.3 平臺可信度的計算讀取好評交易記錄 ,構建可信度向量A 。
A為1*N維向量,N為平臺總用戶量,給平臺每位用戶都分配唯一向量下標n。我們可以根據(jù)下標來獲取特定用戶的可信度向量。初始值全部為1。構建交易狀態(tài)轉移矩陣B ,B為N*N矩陣 初始值0。
對B每一行進行歸一化以及利用權值修正系數(shù)β修正矩陣,
迭代收斂使得;我們可以使用下列方法增快迭代速度5:
算法:計算好評可信度
σ=0.1
Loop:
While:
對于一個中等B2B商務平臺,大概是百萬級用戶,通常迭代30次就可以收斂,計算復雜度憑借現(xiàn)代PC機性能,很快就可以計算得出結果。
得到好評可信度A0,我們再次分別建立轉移矩陣B1、B2按照上述步驟以好評可信度A0為初始向量,迭代相乘直至收斂得到基于中評可信度A1向量,基于差評記錄的可信度A2向量。至此,我們得到了分別基于交易記錄中好中差評論的可信度A0,A1,A2 三個可信度向量。下一步為了整合所有可信度排名信息,在這里提出懲罰參數(shù)γ,因為獲得中差評的商家,可信度會有所降低。因此平臺可信度可以用以下公式獲得:
[A=A0A1A2*γ0γ1γ2]
3.2.3 基于用戶交易記錄的搜索算法
可信度數(shù)據(jù)庫構建完成后,為了實現(xiàn)針對特定用戶推薦其感興趣的商家,在得到模糊匹配商家集合后我們要對其可信度進行修正,優(yōu)先推薦與用戶交易過的商家,以及用戶收藏過的商家。在這里使用用戶偏好系數(shù)[l]來修正可信度。用戶偏好系數(shù)是對一次模糊搜索結果所得到商家可信度的一個修正。對每一個用戶,掃描其交易記錄以及收藏夾,生成一個各自的偏好系數(shù)向量。對交易過、收藏過的商家用戶偏好系數(shù)設置為一個大于1的常數(shù)。這樣搜索結果最終的可信度可以表示為:
4 搜索結果分析
本小節(jié)將展示基于本文提出的方法,對所得的基于可信度的商家排序結果與現(xiàn)行B2B搜索排序中流行的基于好評度、總交易量等所得到的商家排序結果對比。
4.1驗證數(shù)據(jù)庫的選取
由于現(xiàn)行的B2B平臺例如阿里巴巴、中國制造網(wǎng)等不對外提供交易數(shù)據(jù),所以我們使用自行生成的B2B交易單來驗證我們的算法。
我們模擬B2B商家的交易行為,我們選取500名商家作為模擬樣本總數(shù)。交易量主要集中在前100名左右,評分好中差評論數(shù)量比例接近10:2:1。
交易記錄生成主要格式
買家ID 賣家ID 交易金額 評分(1-3)
0001 0002 100 1
0002 0011 89 3
4.2結果對比
交易記錄的各方面信息
圖4 原始數(shù)據(jù)特性
現(xiàn)有的排序指標:交易總量、好評率、交易總額等都無法全面反映該商家的一個綜合信息,如圖4所示。
基于上述文中提出的算法,我們計算該平臺的可信度選取α=0.1 β=0.9
圖5 商戶可信度分布
結果分析:
由圖5的點集分布我們可以看出,傳統(tǒng)的基于商戶交易量的排序方法呈現(xiàn)的結果中,對一些進入平臺比較晚,交易量不算高,但是品質比較優(yōu)秀的商家得分并不高。而傳統(tǒng)的好評率的排名情況不僅容易滋生惡意差評利益鏈,而且不能防止商家惡意刷單導致排名靠前。
基于交易記錄的可信度排名情況著實提供了一個綜合考量商家各項交易指標后,得出的一個中肯的排名次序。從上圖中可以看出雖然ID 在100-200的商家交易量比較高但是由于差評比較多,所以可信度比較低,在200-250范圍內的商家由于頻繁小范圍內相互交易,其最終可信度也沒有明顯的提升。而交易量比較小的商家(ID>300)則獲得了中等的排名。
5 總結
搜索引擎作為互聯(lián)網(wǎng)的第一入口,其重要性已毋庸置疑。電子商務平臺中的搜索引擎更為重要,搜索結果排序幾乎直接決定了交易對象的選取。傳統(tǒng)電子商務網(wǎng)站一般提供按照好評率、總交易量的排名功能,這種排序結果依據(jù)過于片面,不能很好反應商家的整體信息。本文提出一種基于用戶交易記錄搜素排序算法,綜合考慮用戶的交易量,交易好評度,商戶的交易行為等信息,為搜索結果排序提供一個綜合依據(jù)參數(shù)。另外,本文在可信度基礎上提出基于用戶自身交易行為,以及用戶收藏記錄的個性化搜索算法,為每一位平臺用戶提供最合適搜索結果展示。
參考文獻:
[1] 琚潔慧. 中文搜索引擎中的 PageRank 算法及實現(xiàn)[J]. 計算機工程與設計,2007,28(7):1632-1635.
[2] 王非. 中文電子商務搜索引擎有效性比較[J]. 情報雜志,2008,27(4):128-129.
[3] 黃德才,戚華春. PageRank 算法研究[J]. 計算機工程,2006,32(4):145-146.
[4] Page L,Brin S,Motwani R,et al. The PageRank citation ranking: bringing order to the Web. 1999.
[5] Haveliwala T H. In Topic-sensitive pagerank, Proceedings of the 11th international conference on World Wide Web, ACM: 2002:517-526.