, 0. 001784558]
[0081] b34 = [0. 130792, 0. 1219573, 0. 3252451, 0. 1113437, 0. 02104047, 0. 05579201, 0. 232019, 0. 001810442]
[0082] b35 = [0. 1302917, 0. 1215743, 0. 3277468, 0. 1120078, 0. 02126049, 0. 05529168, 0 .2300388, 0. 00178844]
[0083] 從以上迭代結(jié)果可見:
[0084] 1)用戶分值在迭代過程中趨于收斂,收斂結(jié)果即為最終的用戶分值。該分值可 以直觀的理解為:從壞的種子節(jié)點出發(fā)做隨機游走,到達各個節(jié)點的概率。其中,可以通過 以下方式來判斷是否趨于收斂:計算一輪迭代后每個用戶的分值與上一輪迭代后的分值之 間的差值絕對值;然后,將各個用戶的差值絕對值相加得到差值之和;并計算上一輪迭代 后各個用戶的分值之和,得到上一輪各個用戶的總能量,計算所述差值之和與所述總能量 之間的比值;然后判斷該比值是否小于預置的閾值,如果是,則判定各個用戶的分值趨于收 斂。
[0085] 例如,設(shè)b*⑴為第i輪迭代結(jié)果,b*(i+l)為第i_l輪迭代結(jié)果,在判斷是否收斂 時,可以比較這兩輪結(jié)果之間的差值之和占總能量的比例,[^,diffper=sum(abs(b*(i)-13*(;[-1)))/8111]1(13*(;[-1)),其中,3&803>1^;0-13*(;[-1)) :該操作計算一輪迭代前后每個節(jié) 點上得分的差值的絕對值,sum (abs (b* (i+1) - b* (i)))該操作將每個節(jié)點上差值的絕對值 進行加和。當diffper小于某一個閾值(例如,1%)的時候,就可以認為算法收斂。
[0086] 2)與種子節(jié)點關(guān)系最密切的節(jié)點C(因為節(jié)點A到節(jié)點C的邊的權(quán)重為1.0, 也即節(jié)點A的所有商品都是從節(jié)點C的店鋪中購買的),因此,最終節(jié)點C的分值最高,為 0?3277468。
[0087] 3)雖然節(jié)點G與種子節(jié)點沒有直接的關(guān)聯(lián),但它與節(jié)點C,D都有較大的關(guān)聯(lián),因 此,節(jié)點G的分值也很高,節(jié)點G就可能是實際應用中最希望發(fā)現(xiàn)的、但隱藏的較深的不良 用戶。
[0088] 4)節(jié)點H的分值最低,因為從種子節(jié)點到該節(jié)點需要走的步數(shù)很長,而且權(quán)重不 高。這個買家可能是出于某種偶然原因與不良用戶發(fā)生過交易的用戶,因此不應該獲得較 高的分值。
[0089] 5)由于大賣家所擁有的買家數(shù)量可能非常多,因此不可避免會有同時包含有一些 不良買家和優(yōu)質(zhì)買家在內(nèi)。因此,本申請實施例采用了分割傳遞效應的方法,在圖2中,第 二輪迭代過程中,節(jié)點C傳遞給節(jié)點F的得分是0. 5525 X 0. 2 X 0. 85=0. 093925,而傳遞給節(jié) 點 G 的得分是 0? 5525X0. 5X0. 85=0. 2348125。
[0090] 總之,用本申請實施例提供的上述方法,最終計算得到的各個用戶的分值與實際 情況是相符的,可以從理論上反映出各個用戶為不良用戶/優(yōu)質(zhì)用戶的可能性。
[0091] 以上是從圖的角度對本申請實施例進行了原理性的介紹,在具體實現(xiàn)時,就可以 按照上述原理來設(shè)計相應的程序來實現(xiàn)。具體通過程序?qū)崿F(xiàn)的過程中,可以將圖2所示的 關(guān)系圖用一個轉(zhuǎn)移矩陣來表示。例如,對應于圖2所示的關(guān)系圖,則轉(zhuǎn)化為轉(zhuǎn)移矩陣如表1 所示,該用戶交易關(guān)系轉(zhuǎn)移矩陣T中的每一行以及每一列分別代表一個用戶,對于其中的 元素T[m,n],如果用戶m與用戶n之間沒有產(chǎn)生過交易關(guān)系,則T[m,n]=0,如果用戶m與用 戶n之間產(chǎn)生過交易關(guān)系,則T [m,n]的取值根據(jù)用戶m與用戶n在對應交易方向上的交易 密切程度來確定。
[0092] 表 1
[0093]
[0094] 矩陣內(nèi)各個元素的取值與圖2中各條邊的權(quán)重是對應的。具體在利用上述轉(zhuǎn)移矩 陣進行迭代計算時,可以根據(jù)前文所述的方式設(shè)計一個函數(shù)。例如,在一種方式下,該函數(shù) 可以為:
[0095] b* (i+1) =aB X T X b* (i) + (1-aB) X d [0096] 其中,aB為所述衰減因子,是一個標量;
[0097] T為轉(zhuǎn)移矩陣;
[0098] b*(i)為各個用戶在第i步迭代得到的分值組成的向量;
[0099] d為另一向量,該向量中各個元素的取值由對應的用戶是否為種子用戶確定,例 如,在圖2所示的例子中,仍假設(shè)用戶A和用戶B是種子用戶,則d=[l,l,0,0,0,0,0,0],歸 一化之后,d=[0. 5,0. 5,0,0,0,0,0,0]。并且,在每一步迭代中,這個向量都是不變的,可以 看出,該向量的存在只對種子用戶的分值有影響,因為其他元素的值全部為〇。
[0100] 上述函數(shù)描述了分值在圖2所示的圖中隨機游走的過程,因此,利用該函數(shù)進行 迭代,每一步迭代得到的各個用戶的分值與前述例子中是相同的。當然,在實際應用中,也 可以設(shè)計其他形式的函數(shù),只要能夠體現(xiàn)出分值根據(jù)用戶之間的交易關(guān)系在圖中隨機游走 這一性質(zhì)即可。
[0101] 具體實現(xiàn)時,可以按照以下流程來執(zhí)行迭代:
[0102] 輸入:
[0103] T轉(zhuǎn)移矩陣
[0104] N用戶節(jié)點數(shù)量
[0105] L數(shù)量限制
[0106] aB衰減因子
[0107] MB迭代次數(shù)限制
[0108] 輸出:
[0109] b*用戶風險分值
[0110] 計算:
[0113] S104 :根據(jù)所述其他各個用戶的分值確定各個用戶的用戶質(zhì)量分值。
[0114] 根據(jù)迭代計算出的各個節(jié)點的分值可以確定出用戶為不良用戶/優(yōu)質(zhì)用戶的概 率。其中,如果種子用戶為已知的不良用戶,則最終計算出的其他用戶的分值越接近種子用 戶的分值初始值,則為不良用戶的概率更高;相應的,如果種子用戶為已知的優(yōu)質(zhì)用戶,則 最終計算出的其他用戶的分值越接近種子用戶的分值初始值,則為優(yōu)質(zhì)用戶的概率更高。 例如,在步驟S103的例子中,根據(jù)最終計算得到的各個節(jié)點的分值,可以將其中明顯高于 其他節(jié)點分值的節(jié)點對應的用戶,確定為高風險的不良用戶。或者,預先確定一個風險閾 值,將分值高于該閾值的用戶確定為高風險的不良用戶,等等。最終,當有相關(guān)的應用需要 查詢哪些用戶可能為不良用戶/優(yōu)質(zhì)用戶時,就可以將確定出的被查詢用戶的分值返回給 該應用,或者,還可以將篩選出的概率較高的不良用戶/優(yōu)質(zhì)用戶提供給分析人員,再由分 析人員采用人工等方式進一步確認其是否為不良用戶/優(yōu)質(zhì)用戶,從而降低人工分析的工 作量,提高分析效率。
[0115] 總之,通過本申請實施例,在確定了一批種子用戶的基礎(chǔ)上,可以根據(jù)用戶之間的 交易關(guān)系進行機器學習,最終自動計算出其他用戶的用戶質(zhì)量。這種方式不完全依賴于人 工,可以更全面更高效的發(fā)現(xiàn)可能的不良用戶/優(yōu)質(zhì)用戶。并且這種方式不需要區(qū)分業(yè)務 類型,具有良好的通用性,更符合交易平臺中業(yè)務類似多樣化的特點。
[0116] 與本申請實施例提供的用戶偵測方法相對應,本申請實施例還提供了一種用戶偵 測裝置,參見圖3,該裝置可以包括:
[0117]交易關(guān)系信息獲取單元301,用于根據(jù)交易平臺內(nèi)的用戶歷史交易記錄,獲取各個 第一用戶與各個第二用戶之間的交易關(guān)系信息,其中一第一用戶與第二用戶之間的交易關(guān) 系信息包括:該第一用戶與該第二用戶之間是否具有交易關(guān)系,以及在具有交易關(guān)系的情 況下,兩者之間的交易密切程度;
[0118] 種子用戶確定單元302,用于將各個用戶中已知用戶質(zhì)量的第一用戶或第二用戶 作為種子用戶,并分別為各個用戶賦予分值初始值;
[0119] 分值傳遞單元303,用于根據(jù)所述交易關(guān)系信息,將所述種子用戶的分值傳遞給其 他用戶,得到其他各個用戶的分值;
[0120] 用戶質(zhì)量確定單元303,用于根據(jù)所述其他各個用戶的分值確定各個用戶的用戶 質(zhì)量。
[0121] 其中,分值傳遞單元303具體可以包括:
[0122] 轉(zhuǎn)移矩陣建立單元,用于根據(jù)各個第一用戶與各個第二用戶之間的交易關(guān)系,建 立用戶交易關(guān)系轉(zhuǎn)移矩陣T;其中,所述用戶交易關(guān)系轉(zhuǎn)移矩陣中的每一行以及每一列分 別代表一個用戶,對于其中的元素T [m,n],如果用戶m與用戶n之間沒有產(chǎn)生過交易關(guān)系, 貝1J T[m,n]=0,如果用戶m與用戶n之間產(chǎn)生過交易關(guān)系,則T[m,n]的取值根據(jù)用戶m與用 戶n在對應交易方向上的交易密切程度來確定;
[0123] 迭代計算單元,用于根據(jù)各用戶的分值初始值、各用戶是否為種子用戶、以及所述 轉(zhuǎn)移矩陣,進行多步迭代計算,直到各個用戶的分值趨于收斂,得到各個用戶的最終分值。
[0124] 其中,在每一步的迭代中,某用戶n的分值等于與該用戶發(fā)生過交易關(guān)系的各個 用戶m傳遞過來的分值之和,其中某用戶m傳遞過來的分值為,在用戶m在上一步迭代中得 到的分值乘以該元素T[m,n]的取值再乘以預置的衰減因子;如果某用戶n是種子用戶,則 在每一步的迭代中,該用戶的分值在與該用戶發(fā)生過交易關(guān)系的各個用戶m傳遞過來的分 值之和基礎(chǔ)上,再加上一修正值。
[0125] 具體的,在每一步的迭代中,可以通過以下方式進行迭代計算:
[0126] b* (i+1) =aB X T X b* (i) + (1-aB) X d
[0127] 其中,aB為所述衰減因子;
[0128] T為所述轉(zhuǎn)移矩陣;
[0129] b*(i)為各個用戶在第i步迭代得到的分值組成的向量;
[0130] d為另一向量,該向量中各個元素的取值由對應的用戶是否為種子用戶確定。
[0131] 具體的,可以通過以下方式判斷各個用戶的分值是否收斂:
[0132] 差值計算單元,用于計算一輪迭代后每個用戶的分值與上一輪迭代后的分值之間 的差值絕對值;
[0133] 差值之和計算單元,用于將各個用戶的差值絕對值相加得到差值之和;
[0134]總能量計算單元,用于計算上一輪迭代后各個用戶的分值之和,得到上一輪各個 用戶的總能量;
[0135] 比值計算單元,用于計