本申請涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,特別涉及一種信息推薦的測試方法、裝置以及電子設(shè)備。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,基于互聯(lián)網(wǎng)的信息推薦服務(wù)也愈發(fā)普及,常見的被推薦的信息有新聞、社交資訊、廣告等。
目前的信息推薦服務(wù)一般通過如下方式來實(shí)現(xiàn):服務(wù)提供端在接收到用戶所發(fā)出的訪問請求后,首先將預(yù)先采集的用戶身份、操作習(xí)慣等數(shù)據(jù)輸入預(yù)設(shè)的信息推薦算法,通過信息推薦算法處理這些數(shù)據(jù)來確定待推薦的信息,最后將確定出的信息推送至用戶所持終端。由此可見,信息推薦算法的性能對于信息推薦的效果尤為重要。
現(xiàn)有技術(shù)中,在信息推薦算法應(yīng)用之前,均會對該算法的推薦效果做測試,以根據(jù)測試結(jié)果來確定應(yīng)用與否。常見測試方法有AB分流測試法,其過程如下:首先將待應(yīng)用的第一信息推薦算法與已應(yīng)用的第二信息推薦算法同時(shí)設(shè)定在信息推薦服務(wù)所在業(yè)務(wù)線上;后續(xù),接收到用戶的訪問請求時(shí),將該訪問請求數(shù)據(jù)的相關(guān)流量隨機(jī)導(dǎo)入至第一或第二信息推薦算法;維持一定時(shí)間后,根據(jù)用戶對第一、第二信息推薦算法所推薦信息的操作量來確定第一推薦算法是否效果更優(yōu)。
然而,利用AB分流測試法來測試信息推薦算法的推薦效果時(shí),需將第一、第二信息推薦算法同時(shí)應(yīng)用在信息推薦服務(wù)的業(yè)務(wù)線上,若是待應(yīng)用的第一推薦算法的推薦效果較差,用戶對第一推薦算法所推薦信息的操作量會很少,這些無效的信息推薦會造成服務(wù)提供端的資源浪費(fèi),也降低了用戶體驗(yàn)。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例的目的是提供一種信息推薦的測試方法、裝置及電子設(shè)備,用于解決上述問題。
根據(jù)本公開實(shí)施例的第一方面,提供一種信息推薦的測試方法,包括:
接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得;
接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量;
利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息;
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量;
根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量;
根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
在一實(shí)施例中,所述拷貝數(shù)據(jù)是通過位于線上服務(wù)器內(nèi)拷貝代碼實(shí)時(shí)拷貝從終端接收到的訪問請求數(shù)據(jù)所得。
在一實(shí)施例中,所述訪問請求數(shù)據(jù)包括:發(fā)起方身份信息、請求環(huán)境信息以及待請求對象信息。
在一實(shí)施例中,用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息之后,根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫之前,所述方法還包括:
確認(rèn)所述第二推薦信息與第一推薦信息不相同;
以及,所述方法還包括:
如果判斷出所述第二推薦信息與第一推薦信息相同,以所述第一推薦信息在所述終端的操作量作為所述第二推薦信息在所述終端的操作量。
在一實(shí)施例中,根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,具體包括:
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,判斷歷史數(shù)據(jù)庫內(nèi)是否存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量,所述目標(biāo)推薦信息是類型與第二推薦信息相同的已知推薦信息;
若是,以所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量作為該發(fā)起方對已知推薦信息的操作量;
若否,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量作為該發(fā)起方對已知推薦信息的操作量;所述默認(rèn)用戶操作量為該用戶對所有已知推薦信息的操作量的均值。
在一實(shí)施例中,確定歷史數(shù)據(jù)庫內(nèi)不存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量之后,以默認(rèn)用戶操作量作為所述發(fā)起方對已知推薦信息的操作量之前,所述測試方法還包括:
確認(rèn)所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量不為空;
以及,所述方法還包括:
若判斷出所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量為空,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)群體操作量作為該發(fā)起方對已知推薦信息的操作量;所述默認(rèn)群體操作量為所有已知發(fā)起方對已知推薦信息的操作量的均值。
在一實(shí)施例中,所述第一推薦信息和第二推薦信息均為廣告信息,所述廣告信息為曝光類廣告或顯示類廣告;
在所述廣告信息為曝光類廣告時(shí),所述操作量為曝光量;
在所述廣告信息為點(diǎn)擊類廣告時(shí),所述操作量為點(diǎn)擊量。
在一實(shí)施例中,所述第一推薦信息和第二推薦信息均具有資源消耗量;
根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果,具體包括:
根據(jù)所述第一推薦信息的操作量與單位操作量的第一推薦信息的資源消耗量,確定所述第一推薦信息的資源消耗總量;
根據(jù)所述第二推薦信息的操作量與單位操作量的第二推薦信息的資源消耗量,確定所述第二推薦信息的資源消耗總量;
判斷所述第二推薦信息的資源消耗總量是否大于第一推薦信息的資源消耗總量;
若否,確定測試結(jié)果為:所述第一推薦信息的效果更優(yōu);
若是,確定測試結(jié)果為:所述第二推薦信息的效果更優(yōu)。
根據(jù)本公開實(shí)施例的第二方面,提供一種信息推薦的測試裝置,包括:
數(shù)據(jù)接收模塊,用于接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得;
第一操作量接收模塊,用于接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量;
信息推薦模塊,用于利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息;
已知操作量查詢模塊,用于根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量;
第二操作量確定模塊,用于根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量;
測試結(jié)果確定模塊,用于根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
在一實(shí)施例中,所述拷貝數(shù)據(jù)是通過位于線上服務(wù)器內(nèi)拷貝代碼實(shí)時(shí)拷貝從終端接收到的訪問請求數(shù)據(jù)所得。
在一實(shí)施例中,所述訪問請求數(shù)據(jù)包括:發(fā)起方身份信息、請求環(huán)境信息以及待請求對象信息。
在一實(shí)施例中,所述測試裝置還包括:
信息比對模塊,用于判斷所述第二推薦信息是否與第一推薦信息相同;
操作量等同模塊,用于在所述第二推薦信息與第一推薦信息相同時(shí),以所述第一推薦信息在所述終端的操作量作為所述第二推薦信息在所述終端的操作量;
所述已知操作量查詢模塊,具體用于:
僅在所述第二推薦信息與第一推薦信息不相同時(shí),根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量。
在一實(shí)施例中,所述已知操作量查詢模塊,具體用于:
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,判斷歷史數(shù)據(jù)庫內(nèi)是否存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量,所述目標(biāo)推薦信息是類型與第二推薦信息相同的已知推薦信息;
若是,以所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量作為該發(fā)起方對已知推薦信息的操作量;
若否,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量作為該發(fā)起方對已知推薦信息的操作量;所述默認(rèn)用戶操作量為該用戶對所有已知推薦信息的操作量的均值。
在一實(shí)施例中,所述已知操作量查詢模塊,還用于:
確定歷史數(shù)據(jù)庫內(nèi)不存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量之后,以默認(rèn)用戶操作量作為所述發(fā)起方對已知推薦信息的操作量之前,判斷所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量是否為空;
若否,以默認(rèn)用戶操作量作為所述發(fā)起方對已知推薦信息的操作量;
若是,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)群體操作量作為該發(fā)起方對已知推薦信息的操作量;所述默認(rèn)群體操作量為所有已知發(fā)起方對已知推薦信息的操作量的均值。
在一實(shí)施例中,所述第一推薦信息和第二推薦信息均具有資源消耗量;
所述測試結(jié)果確定模塊,具體用于:
根據(jù)所述第一推薦信息的操作量與單位操作量的第一推薦信息的資源消耗量,確定所述第一推薦信息的資源消耗總量;
根據(jù)所述第二推薦信息的操作量與單位操作量的第二推薦信息的資源消耗量,確定所述第二推薦信息的資源消耗總量;
判斷所述第二推薦信息的資源消耗總量是否大于第一推薦信息的資源消耗總量;
若否,確定測試結(jié)果為:所述第一推薦信息的效果更優(yōu);
若是,確定測試結(jié)果為:所述第二推薦信息的效果更優(yōu)。
根據(jù)本公開實(shí)施例的第三方面,提供一種電子設(shè)備,包括:
處理器;
用于存儲處理器可執(zhí)行指令的存儲器;
所述處理器被配置為:
接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得;
接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量;
利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息;
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量;
根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量;
根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
本公開的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
通過線上的第一信息推薦算法處理訪問請求數(shù)據(jù)得到第一推薦信息后,獲取第一推薦信息在終端上的操作量;再通過線下的第二信息推薦算法來處理與訪問請求數(shù)據(jù)一致的拷貝數(shù)據(jù)來得到第二推薦信息,繼而通過訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量來確定第二推薦信息的操作量,最后根據(jù)第一推薦信息和第二推薦信息的操作量確定測試結(jié)果。第二信息推薦算法不在業(yè)務(wù)線上,保證測試準(zhǔn)確性的同時(shí),也解決了可能因?yàn)榈诙扑]算法的推薦效果較差而造成服務(wù)提供端的資源浪費(fèi)的問題。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開。
附圖說明
為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請中記載的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)一示例性實(shí)施例示出的測試方法所適用的系統(tǒng)的示意圖。
圖2是根據(jù)一示例性實(shí)施例示出的一種測試方法的流程圖。
圖3是根據(jù)一示例性實(shí)施例示出的另一種測試方法的流程圖。
圖4是根據(jù)一示例性實(shí)施例示出的一種歷史數(shù)據(jù)庫的架構(gòu)圖。
圖5是根據(jù)一示例性實(shí)施例示出的又一種測試方法的流程圖。
圖6是根據(jù)一示例性實(shí)施例示出的一種測試裝置的模塊圖。
圖7是根據(jù)一示例性實(shí)施例示出的另一種測試裝置的模塊圖。
圖8是根據(jù)一示例性實(shí)施例示出的適用于算法測試的電子設(shè)備的框圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請中的技術(shù)方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
圖1是根據(jù)一示例性實(shí)施例示出的測試方法所適用的系統(tǒng)的示意圖。如圖1所示,該系統(tǒng)可以包括:用戶所持有的終端10、與終端10通過網(wǎng)絡(luò)建立通信的線上服務(wù)器20以及與線上服務(wù)器20通過網(wǎng)絡(luò)建立通信的線下服務(wù)器30。終端10可以包括但不限于:手機(jī)、平板電腦、PC設(shè)備等。用于連接終端10與線上服務(wù)器20的網(wǎng)絡(luò)和用于連接線上服務(wù)器20與線下服務(wù)器30的網(wǎng)絡(luò)均可包括:WI-FI(WIreless-Fidelity,無線保真)、藍(lán)牙等無線網(wǎng)絡(luò)或利用線纜傳輸信息的有線網(wǎng)絡(luò)。線上服務(wù)器20和線下服務(wù)器30均可以是一臺服務(wù)器、或者由若干臺服務(wù)器組成的服務(wù)器集群、或者是一個(gè)云計(jì)算服務(wù)中心,甚至說,線上服務(wù)器20和線下服務(wù)器30在硬件上可以整合至同一臺設(shè)備之中,在此不做贅述。
終端10可以安裝例如瀏覽器、社交應(yīng)用、視頻應(yīng)用或新聞資訊應(yīng)用等客戶端App,線上服務(wù)器20是前述客戶端所對應(yīng)的線上服務(wù)的提供端,線上服務(wù)器20存儲了對應(yīng)的客戶端運(yùn)行所需資源,用戶可以在終端10上開啟相應(yīng)的客戶端App并向線上服務(wù)器20請求訪問某個(gè)頁面,線上服務(wù)器20響應(yīng)訪問請求并待請求頁面的數(shù)據(jù)發(fā)送至終端10,終端10解析所接收到的數(shù)據(jù)并在客戶端上顯示。
線上服務(wù)器20響應(yīng)用戶的訪問請求并將待訪問頁面的數(shù)據(jù)發(fā)送至終端10的過程中,還會在待訪問頁面的數(shù)據(jù)內(nèi)添加推薦信息,使得終端10所在客戶端上顯示的待訪問頁面內(nèi)攜帶有推薦信息。
線下服務(wù)器30連接線上服務(wù)器20,線下服務(wù)器30內(nèi)存儲有線下的信息推薦算法以及用于測試該信息推薦算法的測試應(yīng)用,線下服務(wù)器30通過前述測試應(yīng)用可以實(shí)現(xiàn)測試前述線下的信息推薦算法是否相對于位于線上服務(wù)器20內(nèi)的信息推薦算法具有更好的推薦效果。
以下將基于上述圖1所示的系統(tǒng),對基于線下服務(wù)器30的測試方法的各實(shí)施例進(jìn)行敘述。
圖2是根據(jù)一示例性實(shí)施例示出的一種測試方法的流程圖。本實(shí)施例中測試方法應(yīng)用至線下服務(wù)器30上,可以通過在所述線上服務(wù)器20安裝相應(yīng)的測試應(yīng)用來啟動和終止前述測試方法。如圖2所示,本實(shí)施例中,該測試方法可以包括下述步驟101~106。該測試方法內(nèi)各步驟的順序并不限定在步驟101至106,例如步驟102可以選在步驟106之前任意位置,在此不做贅述。
在步驟101中,接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得。
在用戶操作終端10上客戶端向線上服務(wù)器20請求訪問某個(gè)頁面時(shí),客戶端會根據(jù)用戶在終端10上的客戶端內(nèi)的操作行為來生成的訪問請求,訪問請求內(nèi)攜帶有訪問請求數(shù)據(jù)。后續(xù),終端10會將訪問請求數(shù)據(jù)封裝后發(fā)送給線上服務(wù)器20。
訪問請求包括終端10與線上服務(wù)器20交互時(shí)由終端10產(chǎn)生并發(fā)送給線上服務(wù)器20的各類請求,例如可以用于請求登錄賬號的登錄請求、或者用于請求訪問例如社交資訊頁面、新聞頁面等頁面的訪問請求、或者用于請求搜索目標(biāo)對象的搜索請求等。
訪問請求數(shù)據(jù)可以包括如下至少一項(xiàng):請求方的身份數(shù)據(jù)、請求環(huán)境數(shù)據(jù)以及待請求對象數(shù)據(jù)。通過這些類型的數(shù)據(jù)可以確定返回給客戶端的服務(wù)內(nèi)容。
請求方的身份數(shù)據(jù)用于描述注冊該客戶端的用戶的身份,例如可以包括客戶賬號、客戶身份證號碼、駕照號碼、銀行卡卡號、客戶所在地區(qū)、客戶購買記錄、客戶收藏記錄、客戶關(guān)注記錄和客戶拉黑記錄。通過這些數(shù)據(jù)可以確定出唯一的請求方。請求環(huán)境數(shù)據(jù)用于描述用戶操作客戶端發(fā)起請求時(shí)所使用硬件設(shè)備和軟件程序的相關(guān)參數(shù),硬件設(shè)備的參數(shù)可以是終端10的MAC地址、UMID碼、SIM卡號、IMEI碼、IP地址、VPN地址以及設(shè)備型號等,軟件程序的參數(shù)可以是操作系統(tǒng)類型、瀏覽器類型、客戶端版本等。待請求對象數(shù)據(jù)用于描述待請求對象的信息,例如可以是待請求對象的類型、地址等。
在線上服務(wù)器20接收到訪問請求數(shù)據(jù)后,將所述訪問請求數(shù)據(jù)實(shí)時(shí)拷貝以作為拷貝數(shù)據(jù),再將拷貝數(shù)據(jù)發(fā)送至線下服務(wù)器30。在本實(shí)施例中,可以在線上服務(wù)器20內(nèi)存儲流量拷貝代碼,在線上服務(wù)器20接收到訪問請求數(shù)據(jù)后,運(yùn)行流量拷貝代碼實(shí)現(xiàn)將訪問請求數(shù)據(jù)拷貝。由于拷貝數(shù)據(jù)與訪問請求數(shù)據(jù)的內(nèi)容完全相同,使得線上服務(wù)器20和線上服務(wù)器30內(nèi)信息推薦算法比對時(shí),具有相同的輸入數(shù)據(jù)。
在步驟102中,接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量。
線上服務(wù)器20內(nèi)存儲有第一信息推薦算法,第一信息推薦算法位于線上服務(wù)請求所在業(yè)務(wù)線上,訪問請求數(shù)據(jù)進(jìn)入線上服務(wù)器20后會被導(dǎo)入第一信息推薦算法內(nèi)。通過第一信息推薦算法對訪問請求數(shù)據(jù)的處理,可以得到第一推薦信息。第一推薦信息可以是廣告或其他類型的信息。
跟隨業(yè)務(wù)線的走向,線上服務(wù)器20還會根據(jù)訪問請求數(shù)據(jù)生成用于返回給終端10的響應(yīng)數(shù)據(jù)。例如服務(wù)請求為社交資訊頁面的訪問請求,則響應(yīng)數(shù)據(jù)則為待訪問的社交資訊頁面的頁面數(shù)據(jù),終端10接收到頁面數(shù)據(jù)后做渲染,以在客戶端上顯示相應(yīng)的頁面。在本實(shí)施例中,線上服務(wù)器20會將頁面數(shù)據(jù)和第一推薦信息封裝后一并發(fā)送至終端10。
第一推薦信息可以是點(diǎn)擊類信息或曝光類信息,例如可以是點(diǎn)擊類廣告信息或曝光類廣告信息。在第一推薦信息為點(diǎn)擊類信息,用戶可以通過手指觸摸、鍵盤選定、鼠標(biāo)選中等方式來主動點(diǎn)擊第一推薦信息,以查看第一推薦信息的具體內(nèi)容;在第一推薦信息為曝光類信息,第一推薦信息還可以隨著待訪問信息的展示被曝光在頁面上,使得用戶能夠看到該第一推薦信息。對不同類型的推薦信息,操作量的定義也不同,為點(diǎn)擊類的第一推薦信息被用戶主動操作的次數(shù)則為其操作量,為曝光類的第一推薦信息被曝光在顯示界面上的次數(shù)則為其操作量。
在本實(shí)施例中,無論第一推薦信息的類型如何變化,均可通過獲取來自終端10上客戶端的操作日志,則可以快速確定第一推薦信息的操作量。
在步驟103中,利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息。
線下服務(wù)器30內(nèi)存儲有第二信息推薦算法,第二信息推薦算法為待上線或待應(yīng)用的算法,第二信息推薦算法可以是在第一信息推薦算法的基礎(chǔ)上做升級所得,二者的推薦效果差異待確定。
在線下服務(wù)器30從線上服務(wù)器20接收到拷貝數(shù)據(jù)后,將拷貝數(shù)據(jù)導(dǎo)入至第二信息推薦算法,通過第二信息推薦算法處理后得到第二推薦信息,第二推薦信息可以與第一推薦信息相同或不同。
在步驟104中,根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量。
歷史數(shù)據(jù)庫內(nèi)存儲多組歷史數(shù)據(jù),每組歷史數(shù)據(jù)均包括用戶的身份信息以及與該身份信息關(guān)聯(lián)的歷史操作記錄,歷史操作記錄內(nèi)記錄著該用戶對已知推薦信息的操作量,這里的已知推薦信息的操作量可以從線上服務(wù)器20中對推薦信息的操作日志中獲取并預(yù)存。
在本實(shí)施例中,可以通過拷貝數(shù)據(jù)內(nèi)發(fā)起方身份信息,在歷史數(shù)據(jù)庫內(nèi)篩選出該發(fā)起方對已知推薦信息的操作量。
在步驟105中,根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量。
通過訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量來推測同一個(gè)發(fā)起方對第二推薦信息的操作量,實(shí)現(xiàn)在沒有真實(shí)業(yè)務(wù)流量時(shí),確定出第二推薦信息的操作量。
在步驟106中,根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
推薦信息的操作量能夠反映該推薦信息對用戶需求的匹配程度,確定數(shù)量的推薦信息的操作量越高(即推薦信息的到達(dá)率越高),則說明該推薦信息越符合用戶需求,該推薦信息的推薦效果更好。
隨著業(yè)務(wù)流量不斷進(jìn)入線上服務(wù)器20,線上服務(wù)器20形成大量的第一推薦信息,同時(shí)線下服務(wù)器30也形成同樣數(shù)量的第二推薦信息,通過比對這些第一推薦信息和第二推薦信息的操作量,可以確定第一推薦信息和第二推薦信息的到達(dá)率的高低。在本實(shí)施例中,若第二推薦信息的操作量更低,確定測試結(jié)果為:所述第一推薦信息的效果更優(yōu);若第二推薦信息的操作量更高,確定測試結(jié)果為:所述第二推薦信息的效果更優(yōu)。
在本實(shí)施例中,生成和推薦第一推薦信息和第二推薦信息的過程中,線上服務(wù)器20和線下服務(wù)器30均產(chǎn)生資源消耗。這個(gè)資源消耗與這兩個(gè)推薦信息的內(nèi)容、發(fā)起方均相關(guān)。則步驟106可以進(jìn)一步調(diào)整為:
根據(jù)所述第一推薦信息的操作量與單位操作量的第一推薦信息的資源消耗量,確定所述第一推薦信息的資源消耗總量。
根據(jù)所述第二推薦信息的操作量與單位操作量的第二推薦信息的資源消耗量,確定所述第二推薦信息的資源消耗總量。
判斷所述第二推薦信息的資源消耗總量是否大于第一推薦信息的資源消耗總量。
若否,確定測試結(jié)果為:所述第一推薦信息的效果更優(yōu);
若是,確定測試結(jié)果為:所述第二推薦信息的效果更優(yōu)。
單位操作量的推薦信息所帶來的資源消耗即該推薦信息每次被操作對相關(guān)服務(wù)器所產(chǎn)生的資源消耗。通過在操作量的基礎(chǔ)上引入單位操作量所帶來的資源消耗量,可以將二者相乘來得到每個(gè)推薦信息的資源消耗總量,實(shí)現(xiàn)更完整的評估第二推薦信息的推薦效果。
在實(shí)際應(yīng)用中,第一推薦信息和第二推薦信息均可以是廣告,可以將廣告推薦信息的資源消耗貨幣化和實(shí)體化,單位操作量的推薦信息的資源消耗量可以是該廣告每次被操作時(shí),發(fā)起方支付給服務(wù)提供商的廣告費(fèi),則可以獲取大量級推薦信息被操作后的廣告費(fèi)總額,據(jù)此針對性評估廣告類信息推薦的效果。
綜上,本申請實(shí)施例所提供的信息推薦算法的測試方法,通過線上的第一信息推薦算法處理訪問請求數(shù)據(jù)得到第一推薦信息后,獲取第一推薦信息在終端上的操作量;再通過線下的第二信息推薦算法來處理與訪問請求數(shù)據(jù)一致的拷貝數(shù)據(jù)來得到第二推薦信息,繼而通過訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量來確定第二推薦信息的操作量,最后根據(jù)第一推薦信息和第二推薦信息的操作量確定測試結(jié)果。第二信息推薦算法不在業(yè)務(wù)線上,保證測試準(zhǔn)確性的同時(shí),也解決了可能因?yàn)榈诙扑]算法的推薦效果較差而造成服務(wù)提供端的資源浪費(fèi)的問題。
圖3是根據(jù)一示例性實(shí)施例示出的另一種測試方法的流程圖。該測試方法可以應(yīng)用在線下服務(wù)器30上。如圖3所示,測試方法包括步驟201至206。
在步驟201中,接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得。
在步驟202中,接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量。
在步驟203中,利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息。
步驟204可以包括如下步驟241至243。
在步驟241中,根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,判斷歷史數(shù)據(jù)庫內(nèi)是否存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量,所述目標(biāo)推薦信息是類型與第二推薦信息相同的已知推薦信息,若是,進(jìn)入步驟242,若否,進(jìn)入步驟243。
在步驟242中,以所述訪問請求數(shù)據(jù)的發(fā)起方針對目標(biāo)推薦信息的操作量作為該發(fā)起方對已知推薦信息的操作量。
在步驟243中,判斷所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量是否為空,若否,進(jìn)入步驟244,若是,進(jìn)入步驟245。
在步驟244中,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量作為該發(fā)起方對已知推薦信息的操作量。
在步驟245中,所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)群體操作量作為該發(fā)起方對已知推薦信息的操作量。
值得注意的是,在本發(fā)明的其他實(shí)施例中,在進(jìn)入步驟243后,可選步驟244和步驟245中任意一個(gè)作為后續(xù)步驟。并非如本實(shí)施例中所限定,步驟243后必須同時(shí)具有步驟244和步驟245,在此不做贅述。
圖4是根據(jù)一示例性實(shí)施例示出的一種歷史數(shù)據(jù)庫的架構(gòu)圖。如圖4所示,在一種示例性場景中,歷史數(shù)據(jù)庫呈層次樹的形式,最下層為發(fā)起方對不同類型的已知推薦信息的操作量;再上層是該發(fā)起方的默認(rèn)用戶操作量,該默認(rèn)用戶操作量是該用戶對所有類型的已知推薦信息的操作量的均值;最上層是該發(fā)起方的默認(rèn)群體操作量,該默認(rèn)群體操作量為所有已知發(fā)起方對已知推薦信息的操作量的均值。
在執(zhí)行步驟204確定發(fā)起方對已知推薦信息的操作量時(shí),首先從歷史數(shù)據(jù)庫的最低層開始,利用發(fā)起方的身份信息確認(rèn)該發(fā)起方是否對對目標(biāo)推薦信息進(jìn)行過操作。在確定該發(fā)起方并未對目標(biāo)推薦信息進(jìn)行過操作,則繼續(xù)往上層,確定該發(fā)起方是否對任意類型的已知推薦信息進(jìn)行過操作,在確定存在對任意類型的推薦信息進(jìn)行過操作,以該用戶對所有類型的已知推薦信息的操作量的均值作為默認(rèn)用戶操作量,將該默認(rèn)用戶操作量作為該發(fā)起方對已知推薦信息的操作量。在確定該發(fā)起方未對任何類型的已知推薦信息進(jìn)行過操作,則繼續(xù)往上,以所有發(fā)起方對已知推薦信息的操作量的均值作為默認(rèn)群體操作量,將該默認(rèn)群體操作量作為該發(fā)起方對已知推薦信息的操作量。
在步驟205中,根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量。
在步驟206中,根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
圖5是根據(jù)一示例性實(shí)施例示出的又一種測試方法的流程圖。該測試方法可以應(yīng)用在線下服務(wù)器30上。如圖5所示,測試方法包括步驟301至308:
在步驟301中,接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得。
在步驟302中,接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量。
在步驟303中,利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息。
在步驟304中,判斷所述第二推薦信息是否與第一推薦信息相同,若是,進(jìn)入步驟305,若否,進(jìn)入步驟306。
在第二推薦信息與第一推薦信息相同時(shí),可以直接使用第一推薦信息的操作量,無需再對第二推薦信息的操作量進(jìn)行預(yù)測。
在步驟305中,以所述第一推薦信息在所述終端的操作量作為所述第二推薦信息在所述終端的操作量。
在步驟306中,根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量。
值得注意的是,在本發(fā)明的其他實(shí)施例中,在進(jìn)入步驟304后,可選步驟305和步驟306中任意一個(gè)作為后續(xù)步驟。并非如本實(shí)施例中所限定,步驟304后必須同時(shí)具有步驟305和步驟306,在此不做贅述。
在步驟307中,根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量。
在步驟308中,根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
圖6是根據(jù)一示例性實(shí)施例示出的一種測試裝置的模塊圖。該測試裝置可以用于在線下服務(wù)器30上,在本實(shí)施例中,測試裝置可以包括:
數(shù)據(jù)接收模塊401,用于接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得;
第一操作量接收模塊402,用于接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量;
信息推薦模塊403,用于利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息;
已知操作量查詢模塊404,用于根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量;
第二操作量確定模塊405,用于根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量;
測試結(jié)果確定模塊406,用于根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
在一實(shí)施例中,所述拷貝數(shù)據(jù)是通過位于線上服務(wù)器內(nèi)拷貝代碼實(shí)時(shí)拷貝從終端接收到的訪問請求數(shù)據(jù)所得。
在一實(shí)施例中,所述訪問請求數(shù)據(jù)包括:發(fā)起方身份信息、請求環(huán)境信息以及待請求對象信息。
在一實(shí)施例中,所述第一推薦信息和第二推薦信息均為廣告信息,所述廣告信息為曝光類廣告或顯示類廣告;
在所述廣告信息為曝光類廣告時(shí),所述操作量為曝光量;
在所述廣告信息為點(diǎn)擊類廣告時(shí),所述操作量為點(diǎn)擊量。
在一實(shí)施例中,所述第一推薦信息和第二推薦信息均具有資源消耗量;
所述測試結(jié)果確定模塊406,具體用于:
根據(jù)所述第一推薦信息的操作量與單位操作量的第一推薦信息的資源消耗量,確定所述第一推薦信息的資源消耗總量;
根據(jù)所述第二推薦信息的操作量與單位操作量的第二推薦信息的資源消耗量,確定所述第二推薦信息的資源消耗總量;
判斷所述第二推薦信息的資源消耗總量是否大于第一推薦信息的資源消耗總量;
若否,確定測試結(jié)果為:所述第一推薦信息的效果更優(yōu);
若是,確定測試結(jié)果為:所述第二推薦信息的效果更優(yōu)。
在一實(shí)施例中,已知操作量查詢模塊404,具體用于:
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,判斷歷史數(shù)據(jù)庫內(nèi)是否存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量,所述目標(biāo)推薦信息是類型與第二推薦信息相同的已知推薦信息;
若是,以所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量作為該發(fā)起方對已知推薦信息的操作量;
若否,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量作為該發(fā)起方對已知推薦信息的操作量。
在一實(shí)施例中,所述默認(rèn)用戶操作量為該用戶對所有已知推薦信息的操作量的均值。
在一實(shí)施例中,所述已知操作量查詢模塊404,還用于:
確定歷史數(shù)據(jù)庫內(nèi)不存在所述訪問請求數(shù)據(jù)的發(fā)起方對目標(biāo)推薦信息的操作量之后,以默認(rèn)用戶操作量作為所述發(fā)起方對已知推薦信息的操作量之前,判斷所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)用戶操作量是否為空;
若否,以默認(rèn)用戶操作量作為所述發(fā)起方對已知推薦信息的操作量;
若是,以所述訪問請求數(shù)據(jù)的發(fā)起方的默認(rèn)群體操作量作為該發(fā)起方對已知推薦信息的操作量。
在一實(shí)施例中,所述默認(rèn)群體操作量為所有已知發(fā)起方對已知推薦信息的操作量的均值。
綜上,本申請實(shí)施例所提供的信息推薦算法的測試裝置,通過線上的第一信息推薦算法處理訪問請求數(shù)據(jù)得到第一推薦信息后,獲取第一推薦信息在終端上的操作量;再通過線下的第二信息推薦算法來處理與訪問請求數(shù)據(jù)一致的拷貝數(shù)據(jù)來得到第二推薦信息,繼而通過訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量來確定第二推薦信息的操作量,最后根據(jù)第一推薦信息和第二推薦信息的操作量確定測試結(jié)果。第二信息推薦算法不在業(yè)務(wù)線上,保證測試準(zhǔn)確性的同時(shí),也解決了可能因?yàn)榈诙扑]算法的推薦效果較差而造成服務(wù)提供端的資源浪費(fèi)的問題。
圖7是根據(jù)一示例性實(shí)施例示出的另一種測試裝置的模塊圖。在圖6所示實(shí)施例的基礎(chǔ)上,測試裝置還包括信息比對模塊407和操作量等同模塊408。
信息比對模塊407,用于判斷所述第二推薦信息是否與第一推薦信息相同。
操作量等同模塊408,用于在所述第二推薦信息與第一推薦信息相同時(shí),以所述第一推薦信息在所述終端的操作量作為所述第二推薦信息在所述終端的操作量。在操作量等同模塊408啟動時(shí),已知操作量查詢模塊404和第二操作量確定模塊405不啟動。可以理解,在這種情況下,第一操作量接收模塊402接收到的第一推薦信息的操作量、以及操作量等同模塊408確定出的第二推薦信息的操作量發(fā)送給測試結(jié)果確定模塊406進(jìn)行比對。
所述已知操作量查詢模塊404,具體用于:
僅在所述第二推薦信息與第一推薦信息不相同時(shí),以所述第一推薦信息在所述終端的操作量作為所述第二推薦信息在所述終端的操作量。在已知操作量查詢模塊404啟動時(shí),第二操作量確定模塊405才啟動。可以理解,在這種情況下,第一操作量接收模塊402接收到的第一推薦信息的操作量、以及第二操作量確定模塊405確定出的第二推薦信息的操作量發(fā)送給測試結(jié)果確定模塊406進(jìn)行比對。
同時(shí),在測試裝置所針對的推薦信息的數(shù)量較多時(shí),測試結(jié)果確定模塊406可以從第二操作量確定模塊405和操作量等同模塊408接收第二推薦信息的操作量,以與從第一操作量接收模塊402接收到的第一推薦信息的操作量進(jìn)行比對,在此不做贅述。
圖8是根據(jù)一示例性實(shí)施例示出的一種適用于設(shè)備測試的電子設(shè)備的框圖。例如,電子設(shè)備500可以被提供為一服務(wù)器。參照圖8,電子設(shè)備500包括處理組件510,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲器520所代表的存儲器資源,用于存儲可由處理組件510的執(zhí)行的指令,例如應(yīng)用程序。存儲器520中存儲的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對應(yīng)于一組指令的模塊。所述處理組件510被配置為:
接收來自線上服務(wù)器的拷貝數(shù)據(jù),所述拷貝數(shù)據(jù)是通過拷貝所述線上服務(wù)器從終端接收到的訪問請求數(shù)據(jù)所得;
接收由所述線上服務(wù)器利用所述訪問請求數(shù)據(jù),基于線上的第一信息推薦算法所得到的第一推薦信息在所述終端的操作量;
利用所述拷貝數(shù)據(jù),基于線下的第二信息推薦算法得到第二推薦信息;
根據(jù)所述拷貝數(shù)據(jù),查詢歷史數(shù)據(jù)庫,確定所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量;
根據(jù)所述訪問請求數(shù)據(jù)的發(fā)起方對已知推薦信息的操作量,確定所述第二推薦信息在所述終端的操作量;
根據(jù)所述第一推薦信息和第二推薦信息的操作量的比對結(jié)果,確定測試結(jié)果。
電子設(shè)備500還可以包括一個(gè)電源組件530,電源組件530被配置為執(zhí)行電子設(shè)備500的電源管理,一個(gè)有線或無線網(wǎng)絡(luò)接口540被配置為將電子設(shè)備500連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(I/O)接口550。電子設(shè)備500可以操作基于存儲在存儲器520的操作系統(tǒng),例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,F(xiàn)reeBSDTM或類似。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì),例如包括指令的存儲器520,上述指令可由電子設(shè)備500的處理組件510執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲介質(zhì)可以是ROM、隨機(jī)存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數(shù)據(jù)存儲設(shè)備等。
本說明書中的各個(gè)實(shí)施例均采用遞進(jìn)的方式描述,各個(gè)實(shí)施例之間相同相似的部分互相參見即可,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述的比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
以上所述僅為本申請的實(shí)施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。