本說明書的實施例提出一種新的行銷產品的推薦方法,分別採用使用者特徵和產品特徵來對使用者和行銷產品進行描述,以使用者特徵、產品特徵、以及由使用者特徵和產品特徵產生的交叉特徵來構建點擊率評估模型,以點擊率評估模型輸出的點擊率評估值來預測某個行銷產品和某個使用者的匹配程度,並依據點擊率評估值來判定向該使用者推薦的行銷產品,使得行銷產品相對於使用者更加有針對性,提高了行銷的效率和成功率,並且大大降低了無效行銷資訊對使用者的打擾。
本說明書的實施例可以運行在任何具有計算和儲存能力的設備上,如手機、平板電腦、PC(Personal Computer,個人電腦)、筆記本、伺服器等設備;還可以由運行在兩個或兩個以上設備的邏輯節點來實現本說明書實施例中的各項功能。
本說明書的實施例運行在網路服務提供商的服務端,當使用者在自己的終端上訪問服務端時,服務端在若干個行銷產品中選擇M(M為自然數)個推薦給使用者。其中,行銷產品可以是任何企業希望向使用者推廣的商品、服務、活動等的相關資訊;行銷產品的表現形式不做限定,可以是帶有連結的文字、圖片、動畫等;行銷產品的推廣形式也不做限定,可以是頁面上的廣告位元、向使用者終端的消息推送、搜索結果中的優先排位等。
本說明書的實施例中,採用使用者特徵、產品特徵和交叉特徵來建立機器學習模型,本說明書中稱之點擊率評估模型,用來對行銷產品與使用者之間的匹配程度進行評估。
其中,使用者特徵可以是任何能夠體現使用者個性化特點的資訊,可以將某個具體應用場景中反映對行銷產品的興趣和需求的使用者個性化資訊作為該應用場景中的使用者特徵,本說明書的實施例不做限定。
在一個例子中,可以將使用者的背景特徵和/或使用者的行為特徵來作為使用者特徵。其中,使用者的背景特徵根據使用者個人資訊產生,是基於靜態資料刻畫的使用者固有特性;使用者的行為特徵根據使用者的歷史行為記錄產生,是通過使用者網際網路行為資料構建的動態特性。使用者的背景特徵可以基於使用者在網路服務提供商的服務端的註冊資訊、以及使用者在其它關聯網站留存的靜態資料來構建;背景特徵可以是:使用者的性別、年齡、受教育年限、最高學歷、家庭住址、畢業院校等中的一項到多項。使用者的歷史行為記錄可以包括使用者在訪問網路服務提供商的服務端時對行銷產品相關服務的展示、點擊瀏覽、購買等行為,也可以包括使用者在訪問和使用其他服務提供者時對上述服務的展示、點擊瀏覽、購買等行為;可以採用這些動態的歷史行為記錄來構建出與行銷產品相關的行為特徵,例如對金融消費類的行銷產品,行為特徵可以是:購買力、品牌偏好、風險偏好、投資經驗、偏好理財類型等中的一項到多項。
產品特徵可以是任何體現行銷產品特性的資訊,可以將某個具體應用場景中可能影響使用者的興趣和需求的行銷產品特性,用來作為該應用場景中的產品特徵,不做限定。例如,可以將行銷產品的產品屬性和/或行銷屬性來作為產品特徵,其中,產品屬性用來描述行銷產品本身的產品特點,可以是產品類型、產品好評度、產品銷量等中的一項到多項;產品屬性用來描述行銷產品的行銷特點,可以是行銷新穎度、折扣程度等中的一項到多項。
交叉特徵是將使用者特徵和產品特徵進行交叉組合形成組合類特徵,每個交叉特徵由至少一個使用者特徵和至少一個產品特徵組合而成,該交叉特徵的值也由組合該交叉特徵的各個使用者特徵和產品特徵的取值來判定。可以根據實際應用場景的需要,來判定交叉特徵的數量、各個交叉特徵由哪些使用者特徵和哪些產品特徵進行交叉組合、以及如何得出交叉特徵的取值,本說明書的實施例均不做限定。以下以兩種實現方式為例說明。
在第一種實現方式中,交叉特徵由部分使用者特徵和部分產品特徵組合而成。可以在服務端預置在點擊率評估模型中使用的每個交叉特徵的取值計算方式,即:在點擊率評估模型中使用了哪些交叉特徵、以及如何通過組合某個交叉特徵的使用者特徵和產品特徵的值來得出該交叉特徵的值。這樣,在已知點擊率評估模型中的使用者特徵取值、產品特徵取值的前提下,即可計算得出每個交叉特徵的取值。例如,某個點擊率評估模型中使用了2個交叉特徵,在服務端預置的交叉特徵計算方式如表1所示:
在第二種實現方式中,使用者特徵和產品特徵中包括連續型特徵(即使用者特徵或產品特徵的取值是連續的)和離散型特徵(即使用者特徵或產品特徵的取值是離散的),交叉特徵由離散型的使用者特徵和離散型的產品特徵組合而成,交叉特徵的取值由組合該交叉特徵的使用者特徵和產品特徵進行預定的邏輯運算來判定。例如,假設一個應用場景中使用者特徵包括S(S為自然數)項離散型特徵,產品特徵包括T(T為自然數)項離散型特徵,所有離散型特徵的取值均為0或1;該應用場景的點擊率評估模型中使用了S◊T項交叉特徵,分別由每項離散型使用者特徵和每項離散型產品特徵進行交叉組合而成,每項交叉特徵的取值為組合該交叉特徵的離散型使用者特徵取值和離散型產品特徵取值的邏輯與運算結果。
點擊率評估模型可以是採用任意演算法的機器學習模型,所採用的演算法可以根據實際應用場景的特點來選擇,不做限定。例如,可以是基於支援向量機的機器學習模型,如SVC(Support Vector Machine,支持向量機)等;可以是基於樹型的機器學習模型,如GBDT(Gradient Boosting Decision Tree,梯度提升決策樹)等;可以是線性模型,如LR(Logistic Regression,邏輯回歸)等;也可以是神經網路模型,如DNN(Deep Neural Networks,深度神經網路)、RNN(Recurrent Neural Networks,迴圈神經網路)、CNN(Convolutional Neural Networks,卷積神經網路)等。
在一種實現方式中,採用Wide and Deep(深度和廣度)模型來建立點擊率評估模型。Wide and Deep模型包括線性子模型和深度神經網路子模型,採用將深度神經網路子模型與淺層線性子模型相結合的訓練模式。通過結合線性子模型的記憶能力(memorization)和深度神經網路子模型的泛化能力(generalization),並且採用聯合訓練(joint training),將整體模型的訓練誤差同時回饋到線性子模型和深度神經網路子模型中進行參數更新,同時優化2個子模型的參數,從而達到整體Wide and Deep模型的預測能力最優。可以根據實際應用場景的需要來判定將使用者特徵、產品特徵和交叉特徵中的哪些作為線性子模型的輸入、哪些作為深度神經網路子模型,本說明書的實施例不做限定。例如,可以將使用者特徵、產品特徵和交叉特徵中的離散型特徵作為線性子模型的輸入,將連續型特徵作為深度神經網路子模型的輸入。
點擊率評估模型的輸入包括使用者特徵、產品特徵和交叉特徵,輸出為點擊率評估值。點擊率評估模型採用已知點擊率的使用者特徵和行銷產品特徵樣本進行訓練,即點擊率評估模型的訓練樣本中已知的資料包括每個樣本的使用者特徵、產品特徵和作為輸出的點擊率,作為輸入的交叉特徵可以由使用者特徵和產品特徵自動計算得出。
一個訓練樣本中的已知點擊率可以根據具有該樣本中使用者特徵的使用者對具有該樣本中產品特徵的行銷產品做出的行為來判定。在一個例子中,可以根據展示數和點擊綜合數來判定已知點擊率,其中,展示數是在預定時間段內向該使用者展示該行銷產品的次數;點擊綜合數用來衡量該使用者對該行銷產品的綜合反應,根據預定時間段內該使用者針對該行銷產品所進行的行為以及行為的次數判定,使用者針對該行銷產品所進行的行為可以是主動瀏覽、收藏、評論、預訂、購買等行為中的一項到多項。
可以為使用者對行銷產品所進行的各種行為設置預定的權重,以各種行為次數的加權和來作為使用者的點擊綜合數。假設某個應用場景中以使用者對行銷產品的點擊瀏覽行為(即在向使用者展示行銷產品後,使用者以點擊或者以其他方式主動獲取行銷產品資訊的行為)和購買行為來計算點擊綜合數,則已知點擊率可以根據以下方式判定:將預定時間段內使用者購買行銷產品的次數按預定比例折算為點擊數,以預定時間段內使用者點擊瀏覽行銷產品的次數與折算後的點擊數之和作為點擊綜合數,將點擊綜合數相對於展示數的比例作為已知點擊率。
在點擊率評估模型訓練完成後,即可通過模型輸出的點擊率評估值來衡量某個使用者對某個行銷產品的興趣和需求程度,或者說用來預測該使用者與該行銷產品的匹配程度。在點擊率評估模型中採用交叉模型作為輸入,可以使點擊率評估模型獲得較好的泛化能力,從而更為準確的預測使用者與行銷產品的匹配程度。
本說明書的實施例中,行銷產品的推薦方法的流程如圖1所示。
步驟110,在收到使用者對行銷產品資料的請求後,獲取該使用者的使用者特徵和每個行銷產品的產品特徵。
在使用者使用網路服務商提供的服務時,通過自己的終端訪問網路服務提供商的服務端,向服務端發起請求。本說明書的實施例中,當服務端回應使用者發起的請求時,需要向使用者的終端返回行銷產品資料時,該使用者發起的請求即是對行銷產品資料的請求;例如,使用者對行銷產品資料的請求可以是對要展示行銷產品的網頁資料的請求,也可以是對用來展示行銷產品的某個廣告位元的資料請求。
服務端可以在收到使用者對行銷產品資料的請求後,產生發起請求的使用者的使用者特徵;通常而言,為了加快回應速度,服務端會預先產生各個使用者的使用者特徵並保存,在收到請求後進行查詢即可。行銷產品的產品特徵可以由網路管理人員在服務端手動配置,也可以由服務端根據行銷產品的相關資訊自動產生,不做限定。
在一些行銷產品數量比較大的應用場景中,可以先對行銷產品進行預先篩選,在獲取篩選出的行銷產品的產品特徵。具體而言,在收到使用者對行銷產品資料的請求後,根據該使用者的偏好從所有行銷產品中篩選出N(N為不小於M的自然數)個行銷產品,獲取該使用者的使用者特徵和篩選出的N個行銷產品的產品特徵。其中,M是最終向使用者推薦的行銷產品的個數,N可以是一個預設的不小於M的數值,也可以是一個在滿足不小於M的條件下的可變數值。預先按照使用者的偏好篩選出的這N個行銷產品,將作為應用本說明書實施例的全部行銷產品,來在其中最終判定M個行銷產品推薦給使用者。另外,根據使用者的偏好對行銷產品進行篩選的具體方式可參照現有技術實現,不再贅述。
步驟120,基於使用者特徵和產品特徵產生交叉特徵。
在網路服務提供商的服務端得到使用者特徵和產品特徵後,採用使用者特徵的取值和各個產品特徵的取值,產生作為點擊率評估模型輸入的各個行銷產品的交叉特徵的值。
可以按照具體應用場景中在構建點擊率評估模型時所採用的交叉特徵、以及交叉特徵的值的判定方式,來得到各個交叉特徵的取值。
步驟130,將使用者特徵、產品特徵和交叉特徵輸入點擊率評估模型,得到該使用者對每個行銷產品的點擊率評估值。
將使用者特徵、每個行銷產品的產品特徵、使用者特徵和該行銷產品的產品特徵產生的交叉特徵分別輸入訓練完畢的點擊率評估模型後,得到該使用者對該行銷產品的點擊率評估值,來預測該使用者與該行銷產品的匹配程度。
步驟140,根據點擊率評估值判定M個行銷產品,向使用者返回的該M個行銷產品的資料。
基於該使用者對各個行銷產品的點擊率評估值,服務端選擇與該使用者匹配程度最高的M個行銷產品,將這M個行銷產品的資料返回給該使用者,供該使用者的終端向使用者展示這M個行銷產品。
可見,本說明書的實施例中,分別採用使用者特徵和產品特徵來對使用者和行銷產品進行描述,以使用者特徵、行銷產品特徵、以及使用者特徵和產品特徵產生的交叉特徵來構建點擊率評估模型,利用訓練完成的點擊率評估模型來得出各個行銷產品對某個使用者的點擊率評估值,來預測某個行銷產品和某個使用者的匹配程度,並依據點擊率評估值來判定向該使用者推薦的行銷產品,能夠更為準確的衡量使用者與行銷產品的匹配程度,使得行銷產品相對於使用者更加有針對性,減少了無效的行銷資訊對使用者造成的干擾。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在附圖中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多工處理和並行處理也是可以的或者可能是有利的。
在本說明書的一個應用示例中,第三方支付平臺的使用者通過其終端上安裝的使用者端App(應用程式)使用第三方支付平臺的支付服務。在App頁面的廣告位元上,第三方支付平臺可以向使用者推薦各種行銷產品。由於行銷產品數量眾多而廣告位元相當有限,第三方支付平臺的服務端要決定向使用者推薦哪些行銷產品。
第三方支付平臺採用使用者特徵來刻畫使用者的行為和背景,全面細緻的描繪出使用者的畫像。使用者特徵包括使用者的背景特徵和或使用者的行為特徵,分別從靜態和動態兩個維度,刻畫使用者的固有特性和即時動態行為特徵。其中,使用者的背景特徵通過使用者在第三方支付平臺的註冊資訊、以及使用者在其它關聯服務提供方留存的個人資訊來構建,包括:使用者性別(U2)、年齡(U5)、受教育年限(U6);使用者的行為特徵基於使用者在App內的行為資料(如對各種服務的展示、點擊瀏覽、購買等)行為資料、以及使用者在其他關聯服務提供方的行為資料(如商品購買、廣告點擊、視頻瀏覽等)、還可以參考使用者的其他資訊(如使用的手機品牌、房產資訊等)來產生,包括購買力(U1)、風險偏好(U3)、投資經驗(U4)。使用者特徵中,U1、U2、和U3為離散型特徵,取值為0或1;U4、U5、和U6為連續型特徵。
第三方支付平臺採用產品特徵來刻畫可以推薦給使用者的各個行銷產品。產品特徵由描述產品本身的產品屬性和描述行銷特點的行銷屬性組成,產品屬性包括產品類型(C1)、產品好評度(C2)、產品銷量(C4),行銷屬性包括行銷新穎度(C3)。產品特徵中,C1、C2、和C3為離散型特徵,取值為0或1;C4為連續型特徵。
第三方支付平臺定期預先提取相關資料,產生每個使用者的使用者特徵並保存。類似的,行銷產品的產品特徵管理該行銷產品的人員配置或由服務端提取相關資料自動產生後保存。
第三方支付平臺構建點擊率評估模型,點擊率評估模型的輸入為使用者的使用者特徵、行銷產品的產品特徵、以及由使用者特徵和產品特徵產生的交叉特徵,輸出為點擊率評估值。交叉特徵由每項離散型使用者特徵和每項離散型產品特徵進行交叉組合而成,由使用者特徵U1、U2、U3和產品特徵C1、C2、C3可以組合為9個交叉特徵:U1-C1、U1-C2、U1-C3、U2-C1、U2-C2、U2-C3、U3-C1、U3-C2、U3-C3。
交叉特徵的取值為組合該交叉特徵的離散型使用者特徵取值和離散型產品特徵取值的邏輯與運算結果。假設使用者1的使用者特徵U1、U2、U3的取值分別是:[U1_1 1] [U2_1 0] [U3_1 1],行銷產品1的產品特徵C1、C2、C3的取值分別是:[C1_1 0] [C2_1 1] [C3_1 1],則使用者1與行銷產品1的9個交叉特徵的取值分別是:[U1_1-C1_1 0] [U1_1-C2_1 1] [U1_1-C3_1 1] [U2_1-C1_1 0] [U2_1-C2_1 0] [U2_1-C3_1 0] [U3_1-C1_1 0] [U3_1-C2_1 1] [U3_1-C3_1 1]。
點擊率評估模型採用如圖2所示的Wide and Deep模型。其中,深度神經網路子模型的輸入為連續型特徵,包括使用者特徵U4、U5、U6和產品特徵C4。線性子模型的輸入為離散型特徵,包括使用者特徵U1、U2、U3、產品特徵C1、C2、C3、以及9個交叉特徵。深度神經網路子模型採用DNN演算法,線性子模型採用LR(logistic regression,邏輯回歸)演算法,即:深度神經網路子模型為DNN模型,線性子模型為LR模型。線性子模型的輸出和深度神經網路子模型的輸出經LR Loss(邏輯回歸損失)層神經元進行處理後,得到Wide and Deep模型的輸出。
由於在採用交叉特徵後,點擊率評估模型的輸入特徵數量通常比較大,可以通過L1範數對線性LR子模型進行約束,從而起到特徵篩選的作用。
在採用樣本資料訓練點擊率評估模型時,每個訓練樣本在點擊率評估模型的輸出(即該樣本的已知點擊率)由預定時間段內使用者在App上的展示、點擊瀏覽以及購買行為的次數判定。以預定時間段內某個行銷產品在App中展示給使用者的次數作為展示數PV,以預定時間段內使用者點擊App中展示的該行銷產品的次數作為點擊瀏覽次數Click,以預定時間段內使用者在App中購買該行銷產品的次數作為購買數Trans,則該使用者對該行銷產品的已知點擊率為:
上式中,每次對行銷產品的購買行為折算為次對行銷產品的點擊瀏覽行為。可以根據經驗來設置,例如10。
在採用樣本資料對點擊率評估模型完成訓練後,即可用點擊率評估模型來對某個使用者和某個行銷產品的匹配程度進行預測。
當使用者在其終端上使用第三方支付平臺的App時,在打開帶有M個行銷產品展示位元的頁面時,App向服務端發起對行銷產品資料的請求。
服務端在收到該請求後,查詢該App登錄使用者的偏好。該使用者的偏好可以由服務端根據該使用者的歷史行為(例如發生過某個交易事件,歷史上使用過某種類型服務等)預先判定。
服務端從所有可以推薦給該使用者的行銷產品中,按照使用者的偏好篩選出其中的N個行銷產品。
服務端查詢該使用者的使用者特徵和篩選出的N個行銷產品的產品特徵,根據使用者特徵U1、U2、U3和每個行銷產品的產品特徵C1、C2、C3的值,計算出每個行銷產品的9個交叉特徵的取值。
服務端分N次,將6個使用者特徵、每個行銷產品的4個產品特徵和9個交叉特徵輸入Wide and Deep點擊率評估模型,得到對應於N個行銷產品的點擊率評估值。
服務端按照N個點擊率評估值,選擇與該使用者最為匹配的M個行銷產品,將M個行銷產品的資料返回給App,由App展示給該使用者。
與上述流程實現對應,本說明書的實施例還提供了一種行銷產品的推薦裝置。該裝置可以通過軟體實現,也可以通過硬體或者軟硬體結合的方式實現。以軟體實現為例,作為邏輯意義上的裝置,是通過所在設備的CPU(Central Process Unit,中央處理器)將對應的電腦程式指令讀取到記憶體中運行形成的。從硬體層面而言,除了圖3所示的CPU、記憶體以及記憶體之外,行銷產品的推薦裝置所在的設備通常還包括用於進行無線信號收發的晶片等其他硬體,和/或用於實現網路通信功能的板卡等其他硬體。
圖4所示為本說明書實施例提供的一種行銷產品的推薦裝置,包括特徵獲取單元、交叉特徵單元、點擊率評估單元和行銷產品單元,其中:特徵獲取單元用於在收到使用者對行銷產品資料的請求後,獲取所述使用者的使用者特徵和每個行銷產品的產品特徵;交叉特徵單元用於基於使用者特徵和產品特徵產生交叉特徵;點擊率評估單元用於將使用者特徵、產品特徵和交叉特徵輸入點擊率評估模型,得到所述使用者對每個行銷產品的點擊率評估值;所述點擊率評估模型為機器學習模型,採用已知點擊率的使用者特徵和行銷產品特徵樣本進行訓練;行銷產品單元用於根據所述點擊率評估值判定M個行銷產品,向使用者返回的所述M個行銷產品的資料;M為自然數。
可選的,所述使用者特徵包括以下至少一項:根據使用者個人資訊產生的背景特徵、根據使用者的歷史行為記錄產生的行為特徵;所述背景特徵包括以下的一項到多項:性別、年齡、受教育年限、最高學歷、家庭住址、畢業院校;所述行為特徵包括以下的一項到多項:購買力、品牌偏好、風險偏好、投資經驗、偏好理財類型。
可選的,所述產品特徵包括以下至少一項:用於描述產品特點的產品屬性、用於描述行銷特點的行銷屬性;所述產品屬性包括以下的一項到多項:產品類型、產品好評度、產品銷量;所述行銷屬性包括以下的一項到多項:行銷新穎度、折扣程度。
可選的,所述使用者特徵包括S項離散型特徵,所述產品特徵包括T項離散型特徵,每項離散型使用者特徵和離散型產品特徵的取值為0或1;S、T為自然數;所述交叉特徵單元具體用於:將每項離散型使用者特徵和每項離散型產品特徵分別組合為S◊T項交叉特徵,以離散型使用者特徵取值和離散型產品特徵取值的邏輯與運算結果作為交叉特徵的取值。
一個例子中,所述已知點擊率根據展示數和點擊綜合數判定;所述展示數為預定時間段內向使用者展示行銷產品的次數;所述點擊綜合數根據預定時間段內使用者針對所述行銷產品所進行的行為以及行為的次數判定,使用者針對所述行銷產品所進行的行為包括以下至少一項:主動瀏覽、收藏、評論、預訂、購買所述行銷產品的行為。
上述例子中,所述已知點擊率根據以下方式判定:將預定時間段內使用者購買所述行銷產品的次數按預定比例折算為點擊數,以預定時間段內使用者點擊瀏覽所述行銷產品的次數與折算後的點擊數之和作為點擊綜合數,將點擊綜合數相對於展示數的比例作為已知點擊率。
一種實現方式中,所述點擊率評估模型為深度和廣度Wide and Deep模型,所述Wide and Deep模型包括線性子模型和深度神經網路子模型,以離散型特徵作為線性子模型的輸入,以連續型特徵作為深度神經網路子模型的輸入。
上述實現方式中,所述線性子模型為通過L1範數進行約束的邏輯回歸LR模型。
可選的,所述特徵獲取單元具體用於:在收到使用者對行銷產品資料的請求後,根據所述使用者的偏好從所有行銷產品中篩選出N個行銷產品,獲取所述使用者的使用者特徵和篩選出的N個行銷產品的產品特徵;N為不小於M的自然數。
本說明書的實施例提供了一種電腦設備,該電腦設備包括記憶體和處理器。其中,記憶體上儲存有能夠由處理器運行的電腦程式;處理器在運行儲存的電腦程式時,執行本說明書實施例中行銷產品的推薦方法的各個步驟。對行銷產品的推薦方法的各個步驟的詳細描述請參見之前的內容,不再重複。
本說明書的實施例提供了一種電腦可讀儲存媒體,該儲存媒體上儲存有電腦程式,這些電腦程式在被處理器運行時,執行本說明書實施例中行銷產品的推薦方法的各個步驟。對行銷產品的推薦方法的各個步驟的詳細描述請參見之前的內容,不再重複。
以上所述僅為本說明書的較佳實施例而已,並不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的範圍之內。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式設計唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁磁片儲存或其他磁性存放裝置或任何其他非傳輸媒體,可用於儲存可以被計算設備訪問的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調製的資料信號和載波。
還需要說明的是,術語「包括」、「包含」或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句「包括一個……」限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書的實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書的實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。The embodiment of this specification proposes a new method for recommending marketing products, which uses user characteristics and product characteristics to describe users and marketing products, and generates user characteristics, product characteristics, and user characteristics and product characteristics. To build a click-through rate evaluation model, use the click-through rate evaluation value output by the click-through rate evaluation model to predict the matching degree of a marketing product and a user, and determine the recommendation to the user based on the click-through rate evaluation value Marketing products make marketing products more targeted than users, improve the efficiency and success rate of marketing, and greatly reduce the interruption of invalid marketing information to users. The embodiments of this specification can run on any device with computing and storage capabilities, such as mobile phones, tablet computers, PCs (Personal Computers), notebooks, servers, etc.; it can also be run on two or two The logical nodes of the above devices implement various functions in the embodiments of this specification. The embodiment of this specification runs on the service end of the network service provider. When the user accesses the service end on his own terminal, the service end selects M (M is a natural number) among several marketing products and recommends it to the user . Among them, the marketing product can be any product, service, activity, etc. related information that the company wants to promote to the user; the expression form of the marketing product is not limited, and it can be text, pictures, animation, etc. with links; the promotion of marketing products The format is also not limited, and may be an advertisement slot on the page, a message push to the user terminal, a priority ranking in the search results, and so on. In the embodiments of this specification, user characteristics, product characteristics, and cross characteristics are used to build a machine learning model. The click-through rate evaluation model referred to in this specification is used to evaluate the degree of matching between marketing products and users. Among them, the user characteristics can be any information that can reflect the personalized characteristics of the user. The user personalized information that reflects the interest and demand for marketing products in a specific application scenario can be used as the user characteristics in the application scenario. The embodiments of this specification are not limited. In one example, the user's background characteristics and/or user's behavior characteristics may be used as user characteristics. Among them, the user's background characteristics are generated based on the user's personal information, which is based on the inherent characteristics of the user portrayed by static data; the user's behavior characteristics are generated based on the user's historical behavior records, and are constructed from the user's Internet behavior data Dynamic characteristics. The user's background characteristics can be constructed based on the user's registration information on the Internet service provider's server, and the user's static data retained on other related websites; the background characteristics can be: the user's gender, age, years of education , Highest education, home address, graduation college, etc. The user's historical behavior records can include the user's behaviors such as displaying, clicking, browsing, and purchasing services related to marketing products when accessing the service end of the network service provider, or when the user is accessing and using other service providers. Display, click, browse, and purchase behaviors of the above services; these dynamic historical behavior records can be used to construct behavioral characteristics related to marketing products, such as financial consumer marketing products, behavioral characteristics can be: purchasing power, brand preference , Risk appetite, investment experience, preferred financial management type, etc. Product features can be any information that reflects the characteristics of marketing products, and marketing product features that may affect users' interests and needs in a specific application scenario can be used as product features in that application scenario, without limitation. For example, product attributes and/or marketing attributes of marketing products can be used as product features, where product attributes are used to describe the product characteristics of the marketing product itself, which can be one of product type, product praise, product sales, etc. Multiple items; product attributes are used to describe the marketing characteristics of marketing products, which can be from one to multiple items such as marketing novelty and discount. The cross feature is the cross combination of the user feature and the product feature to form a combined feature. Each cross feature is composed of at least one user feature and at least one product feature. The value of the cross feature is also composed of the combination of the cross feature The values of user characteristics and product characteristics are used to determine. The number of cross-features, which user features and which product features are cross-combined by each cross-feature, and how to obtain the value of cross-features can be determined according to the needs of actual application scenarios, and the embodiments of this specification are not limited . The following takes two implementations as examples. In the first implementation, the crossover feature is composed of some user features and some product features. The calculation method of the value of each cross feature used in the click-through rate evaluation model can be preset on the server, that is: which cross-features are used in the click-through rate evaluation model, and how to combine user characteristics of a cross-feature And the value of the product feature to derive the value of the cross feature. In this way, the value of each cross feature can be calculated on the premise that the user feature value and the product feature value in the click-through rate evaluation model are known. For example, two cross-features are used in a click-through rate evaluation model. The cross-feature calculation method preset on the server is shown in Table 1: In the second implementation, user features and product features include continuous features (that is, the values of user features or product features are continuous) and discrete features (that is, the values of user features or product features are Discrete), the cross feature is composed of discrete user features and discrete product features. The value of the cross feature is determined by combining the user feature and product feature of the cross feature with a predetermined logical operation. For example, suppose that in an application scenario, user features include S (S is a natural number) discrete features, and product features include T (T is a natural number) discrete features, and all discrete features have a value of 0 or 1. ; The click-through rate evaluation model of this application scenario uses S◊T item cross-features, which are formed by cross-combining each discrete user feature and each discrete product feature, and the value of each cross-feature is the combination The logic and operation result of the discrete user feature value of the cross feature and the discrete product feature value. The click-through rate evaluation model can be a machine learning model that uses any algorithm. The algorithm used can be selected according to the characteristics of the actual application scenario and is not limited. For example, it can be a machine learning model based on support vector machines, such as SVC (Support Vector Machine, support vector machine), etc.; it can be a tree-based machine learning model, such as GBDT (Gradient Boosting Decision Tree, gradient boost decision tree), etc. ; Can be a linear model, such as LR (Logistic Regression, logistic regression), etc.; it can also be a neural network model, such as DNN (Deep Neural Networks, deep neural network), RNN (Recurrent Neural Networks, loop neural network) , CNN (Convolutional Neural Networks, Convolutional Neural Network), etc. In one implementation, the Wide and Deep model is used to build a click-through rate evaluation model. The Wide and Deep model includes a linear sub-model and a deep neural network sub-model, and uses a training mode that combines a deep neural network sub-model with a shallow linear sub-model. By combining the memory capability of the linear sub-model and the generalization capability of the deep neural network sub-model, and using joint training, the training error of the overall model is fed back to the linear sub-model and the deep neural network at the same time The parameters of the road sub-model are updated, and the parameters of the two sub-models are optimized at the same time, so that the overall Wide and Deep model's prediction ability is optimal. It can be determined according to the needs of the actual application scenario which of the user features, product features, and cross features are used as the input of the linear sub-model, and which are used as the deep neural network sub-model. The embodiments of this specification are not limited. For example, discrete features among user features, product features, and cross features can be used as input to a linear sub-model, and continuous features can be used as input to a deep neural network sub-model. The input of the click rate evaluation model includes user characteristics, product characteristics and cross characteristics, and the output is the click rate evaluation value. The click-through rate evaluation model uses user characteristics and marketing product feature samples of known click-through rates for training, that is, the known data in the training samples of the click-through rate evaluation model includes the user characteristics, product characteristics, and clicks as output of each sample Rate, the cross feature as input can be automatically calculated from user features and product features. The known click-through rate in a training sample can be determined based on the behavior of users with the user characteristics in the sample on marketing products with the product characteristics in the sample. In one example, the known click-through rate can be determined based on the number of impressions and the number of clicks combined, where the number of impressions is the number of times that the marketing product was shown to the user within a predetermined time period; the number of clicks used to measure the user’s The comprehensive response of the marketing product is determined based on the user’s behavior and the number of actions of the marketing product within a predetermined period of time. The user’s behavior on the marketing product may be active browsing, collection, comment, reservation, One to many of the purchase and other behaviors. It is possible to set predetermined weights for various actions performed by the user on the marketing products, and use the weighted sum of the times of various actions as the total number of clicks of the user. Suppose that in a certain application scenario, the click-to-browse behavior of the user for the marketing product (that is, the behavior of the user actively acquiring information about the marketing product by clicking or otherwise after displaying the marketing product to the user) and the purchase behavior are used to calculate the click synthesis Number, the known click-through rate can be determined according to the following method: the number of times the user buys marketing products within a predetermined period of time is converted into clicks according to a predetermined ratio, and the number of times the user clicks to browse marketing products within the predetermined period of time and the converted The sum of the number of clicks is regarded as the total number of clicks, and the ratio of the total number of clicks to the number of impressions is taken as the known click rate. After the training of the click-through rate evaluation model is completed, the click-through rate evaluation value output by the model can be used to measure the degree of interest and demand of a user for a marketing product, or to predict the match between the user and the marketing product degree. Using the cross model as input in the click-through rate evaluation model can enable the click-through rate evaluation model to obtain better generalization ability, thereby more accurately predicting the degree of matching between users and marketing products. In the embodiment of this specification, the flow of the method for recommending marketing products is shown in FIG. 1. Step 110: After receiving the user's request for marketing product information, obtain the user characteristics of the user and the product characteristics of each marketing product. When the user uses the service provided by the network service provider, he accesses the service end of the network service provider through his own terminal and initiates a request to the service end. In the embodiment of this specification, when the server responds to a request initiated by a user and needs to return marketing product information to the user's terminal, the request initiated by the user is a request for marketing product information; for example, the user The request for marketing product information may be a request for webpage data to display the marketing product, or a data request for an ad slot used to display the marketing product. The server can generate the user characteristics of the user who initiated the request after receiving the user's request for marketing product data; generally speaking, in order to speed up the response, the server will generate the user characteristics of each user in advance and save , You can query after receiving the request. The product features of marketing products can be manually configured by the network administrator on the server side, or can be automatically generated by the server based on the relevant information of the marketing product, without limitation. In some application scenarios where the number of marketing products is relatively large, the marketing products may be pre-screened to obtain the product characteristics of the selected marketing products. Specifically, after receiving a user's request for marketing product information, according to the user's preference, N marketing products are selected from all marketing products (N is a natural number not less than M), and the user's User characteristics and product characteristics of the selected N marketing products. Where, M is the number of marketing products finally recommended to the user, and N may be a preset value not less than M, or a variable value that satisfies the condition that is not less than M. The N marketing products selected in advance according to the user's preference will be used as all the marketing products of the embodiment of the present specification, and finally the M marketing products are finally recommended to the user. In addition, the specific method for screening the marketing products according to the user's preference can be implemented with reference to the existing technology, and will not be described in detail. In step 120, cross features are generated based on user features and product features. After obtaining the user characteristics and product characteristics at the service end of the Internet service provider, the value of the user characteristics and the value of each product characteristic are used to generate the cross-characteristic value of each marketing product input as a click-through rate evaluation model. The value of each cross feature can be obtained according to the cross feature used in the construction of the click-through rate evaluation model and the value of the cross feature in a specific application scenario. Step 130: Input the user characteristics, product characteristics, and cross characteristics into the click-through rate evaluation model to obtain the user's click-through rate evaluation value for each marketing product. After inputting the user characteristics, the product characteristics of each marketing product, the user characteristics, and the cross-features of the marketing product's product characteristics into the trained click-through rate evaluation model, the user's click-through rate evaluation of the marketing product is obtained Value to predict how well the user matches the marketing product. Step 140: Determine M marketing products according to the click-through rate evaluation value, and return the data of the M marketing products to the user. Based on the user’s evaluation of the click-through rate of each marketing product, the server selects the M marketing products that match the user the most, and returns the data of the M marketing products to the user for the user’s terminal Show these M marketing products to users. It can be seen that in the embodiments of this specification, user features and product features are used to describe users and marketing products, respectively, and user features, marketing product features, and cross-features generated by user features and product features are used to construct clicks. Rate evaluation model, using the trained click-through rate evaluation model to obtain the evaluation value of the click-through rate of each marketing product to a user, to predict the matching degree of a marketing product and a user, and based on the click-through rate evaluation value Judging the marketing products recommended to the user can more accurately measure the matching degree between the user and the marketing product, making the marketing product more targeted relative to the user, and reducing the interference caused by invalid marketing information to the user. The foregoing describes specific embodiments of the present specification. Other embodiments are within the scope of the attached patent application. In some cases, the actions or steps described in the scope of the patent application may be performed in a different order than in the embodiment and still achieve the desired result. In addition, the processes depicted in the drawings do not necessarily require the particular order shown or sequential order to achieve the desired results. In some embodiments, multiplexing and parallel processing are also possible or may be advantageous. In an application example of this specification, the user of the third-party payment platform uses the payment service of the third-party payment platform through the user-side App (application) installed on the terminal. On the advertising slots on the App page, third-party payment platforms can recommend various marketing products to users. Due to the large number of marketing products and the limited advertising space, the server of the third-party payment platform has to decide which marketing products to recommend to users. The third-party payment platform uses user characteristics to characterize the user's behavior and background, and comprehensively and carefully depict the user's portrait. The user characteristics include the user's background characteristics and/or user's behavior characteristics, and describe the user's inherent characteristics and real-time dynamic behavior characteristics from static and dynamic dimensions. Among them, the user's background characteristics are constructed by the user's registration information on the third-party payment platform and the user's personal information retained by other related service providers, including: user's gender (U2), age (U5), receiving Years of education (U6); the user's behavioral characteristics are based on the user's behavioral data in the App (such as display of various services, click to browse, purchase, etc.) behavioral data, and the user's behavioral data in other related service providers ( Such as product purchase, advertising click, video browsing, etc., can also be generated by referring to other information of the user (such as the mobile phone brand used, real estate information, etc.), including purchasing power (U1), risk appetite (U3), investment experience (U4 ). Among the user features, U1, U2, and U3 are discrete features, and the value is 0 or 1. U4, U5, and U6 are continuous features. Third-party payment platforms use product features to characterize various marketing products that can be recommended to users. Product features consist of product attributes that describe the product itself and marketing attributes that describe the marketing features. Product attributes include product type (C1), product praise (C2), product sales volume (C4), and marketing attributes include marketing novelty (C3). Among the product features, C1, C2, and C3 are discrete features, with a value of 0 or 1; C4 is a continuous feature. The third-party payment platform regularly extracts relevant information in advance, and generates and saves the user characteristics of each user. Similarly, the product characteristics of the marketing product manage the staffing of the marketing product or are automatically generated by the server and related data are extracted and saved. The third-party payment platform constructs a click-through rate evaluation model. The input of the click-through rate evaluation model is the user characteristics of the user, the product characteristics of the marketing product, and the cross-features generated by the user characteristics and the product characteristics, and the output is the click-through rate evaluation value. The cross feature is composed of each discrete user feature and each discrete product feature. The user feature U1, U2, U3 and product feature C1, C2, C3 can be combined into 9 cross features: U1- C1, U1-C2, U1-C3, U2-C1, U2-C2, U2-C3, U3-C1, U3-C2, U3-C3. The value of the cross feature is the logical AND operation result of the discrete user feature value and the discrete product feature value combining the cross feature. Assume that the user features U1, U2, and U3 of user 1 are respectively: [U1_1 1] [U2_1 0] [U3_1 1], and the product features C1, C2, and C3 of marketing product 1 are respectively: [ C1_1 0] [C2_1 1] [C3_1 1], then the values of 9 cross characteristics of user 1 and marketing product 1 are: [U1_1-C1_1 0] [U1_1-C2_1 1] [U1_1-C3_1 1] [ U2_1-C1_1 0] [U2_1-C2_1 0] [U2_1-C3_1 0] [U3_1-C1_1 0] [U3_1-C2_1 1] [U3_1-C3_1 1]. The click rate evaluation model uses the Wide and Deep model shown in Figure 2. Among them, the input of the deep neural network sub-model is continuous features, including user features U4, U5, U6 and product features C4. The input of the linear sub-model is discrete features, including user features U1, U2, U3, product features C1, C2, C3, and 9 cross features. The deep neural network sub-model uses the DNN algorithm, and the linear sub-model uses the LR (logistic regression, logistic regression) algorithm, that is, the deep neural network sub-model is the DNN model, and the linear sub-model is the LR model. The output of the linear submodel and the output of the deep neural network submodel are processed by LR Loss (logistic regression loss) layer neurons to obtain the output of the Wide and Deep model. After the cross-features are adopted, the number of input features of the click-through rate evaluation model is usually relatively large, and the linear LR sub-model can be constrained by the L1 norm to play a role in feature selection. When using sample data to train the click-through rate evaluation model, the output of each training sample in the click-through rate evaluation model (that is, the known click-through rate of the sample) is displayed, clicked on, and purchased by users on the App within a predetermined period of time Of times. Take the number of times a marketing product is displayed to the user in the App as the number of impressions PV in the predetermined period of time, take the number of times the user clicks on the marketing product displayed in the App as the number of clicks on the click in the predetermined period of time, click on the predetermined period of time The number of times the internal user purchases the marketing product in the App is taken as the purchase number Trans, then the user’s known click-through rate for the marketing product is: In the above formula, each purchase of marketing products is converted into Click-to-browse behavior for marketing products. Can be set according to experience, for example 10. After the sample data is used to train the click-through rate evaluation model, the click-through rate evaluation model can be used to predict the degree of matching between a user and a marketing product. When a user uses an app of a third-party payment platform on their terminal, when opening a page with M marketing product display bits, the app initiates a request for marketing product information to the server. After receiving the request, the server inquires about the preferences of the logged-in user of the App. The user's preference can be pre-determined by the server according to the user's historical behavior (for example, a certain transaction event has occurred, a certain type of service has been used historically, etc.). The server selects N marketing products from all marketing products that can be recommended to the user according to the user's preference. The server queries the user characteristics of the user and the product characteristics of the N marketing products selected, and calculates each value based on the user characteristics U1, U2, U3 and the product characteristics C1, C2, C3 of each marketing product. The value of 9 cross-features of each marketing product. The server is divided into N times, and 6 user characteristics, 4 product characteristics of each marketing product and 9 cross characteristics are input into the Wide and Deep click rate evaluation model to obtain the click rate evaluation value corresponding to N marketing products. The server selects the M marketing products that best match the user according to the N click-through rate evaluation values, and returns the information of the M marketing products to the App, which is displayed to the user by the App. Corresponding to the above process implementation, the embodiments of the present specification also provide a recommendation device for marketing products. The device can be realized by software, or by hardware or a combination of hardware and software. Taking software implementation as an example, as a logical device, it is formed by reading the corresponding computer program instructions into the memory through the CPU (Central Process Unit) of the device. At the hardware level, in addition to the CPU, memory, and memory shown in FIG. 3, the equipment where the recommended device for marketing products is located usually includes other hardware such as chips for wireless signal transmission and reception, and/or Boards and other hardware used for network communication. FIG. 4 shows a marketing product recommendation device provided by an embodiment of the present specification, which includes a feature acquisition unit, a cross-feature unit, a click-through rate evaluation unit, and a marketing product unit. The feature acquisition unit is used to receive After the request for product information, obtain the user characteristics of the user and the product characteristics of each marketing product; the cross-feature unit is used to generate cross-features based on the user characteristics and product characteristics; the click-through rate evaluation unit is used to integrate the user characteristics , Product features and cross-characteristics enter the click-through rate evaluation model to obtain the user’s click-through rate evaluation value for each marketing product; the click-through rate evaluation model is a machine learning model that uses user characteristics and marketing with known click-through rates Product feature samples for training; the marketing product unit is used to determine M marketing products based on the click-through rate evaluation value, and the data of the M marketing products returned to the user; M is a natural number. Optionally, the user characteristics include at least one of the following: background characteristics generated based on the user's personal information and behavior characteristics generated based on the user's historical behavior records; the background characteristics include one or more of the following: gender , Age, years of education, highest education, home address, graduate school; the behavioral characteristics include one or more of the following: purchasing power, brand preference, risk preference, investment experience, preferred financial management type. Optionally, the product features include at least one of the following: product attributes used to describe product features, and marketing attributes used to describe marketing features; the product attributes include one or more of the following: product type, product praise Product sales; The marketing attributes include one or more of the following: marketing novelty and discount. Optionally, the user features include S discrete features, and the product features include T discrete features, and the values of each discrete user feature and discrete product feature are 0 or 1; S, T Is a natural number; the cross-feature unit is specifically used to: combine each discrete user feature and each discrete product feature into S◊T item cross-features, and use discrete user feature values and discrete products The logical AND operation result of the feature value is used as the value of the cross feature. In one example, the known click-through rate is determined based on the number of impressions and the total number of clicks; the number of impressions is the number of times a user is shown a marketing product within a predetermined period of time; Judging the behaviors of the marketing products and the number of behaviors, the behaviors of the users with respect to the marketing products include at least one of the following: the activities of actively browsing, collecting, commenting, booking, and purchasing the marketing products. In the above example, the known click-through rate is determined according to the following manner: the number of times the user purchases the marketing product within a predetermined period of time is converted into clicks according to a predetermined ratio, and the user clicks to browse the marketing product within a predetermined period of time The sum of the number of times and the converted number of clicks is regarded as the total number of clicks, and the ratio of the total number of clicks to the number of impressions is taken as the known click-through rate. In one implementation, the click-through rate evaluation model is a depth and breadth Wide and Deep model. The Wide and Deep model includes a linear sub-model and a deep neural network sub-model. Discrete features are used as input to the linear sub-model. Type features are used as input to the deep neural network submodel. In the above implementation, the linear sub-model is a logistic regression LR model constrained by L1 norm. Optionally, the feature acquisition unit is specifically configured to: after receiving a user's request for marketing product information, select N marketing products from all marketing products according to the user's preferences to acquire the user User characteristics and the product characteristics of the N marketing products selected; N is a natural number not less than M. The embodiments of the present specification provide a computer device including a memory and a processor. Among them, a computer program that can be executed by the processor is stored on the memory; when the processor runs the stored computer program, each step of the recommended method of marketing products in the embodiments of the present specification is executed. For a detailed description of each step of the recommended method of marketing products, please refer to the previous content and will not be repeated. The embodiments of the present specification provide a computer-readable storage medium on which computer programs are stored. When the computer programs are executed by a processor, each step of the recommended method of marketing products in the embodiments of the present specification is executed. For a detailed description of each step of the recommended method of marketing products, please refer to the previous content and will not be repeated. The above are only the preferred embodiments of this specification and are not intended to limit this application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of this application should be included in this application Within the scope of protection. In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory. Memory may include non-permanent memory, random access memory (RAM) and/or non-volatile memory in computer-readable media, such as read-only memory (ROM) or flash memory (flash) RAM). Memory is an example of computer-readable media. Computer-readable media, including permanent and non-permanent, removable and non-removable media, can be stored by any method or technology. The information can be computer readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), and other types of random access memory (RAM) , Read only memory (ROM), electrically erasable and programmable read only memory (EEPROM), flash memory or other memory technologies, read only disc read only memory (CD-ROM), digital multifunction Optical discs (DVDs) or other optical storage, magnetic cassette tapes, magnetic tape storage or other magnetic storage devices or any other non-transmission media can be used to store information that can be accessed by computing devices. According to the definition in this article, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves. It should also be noted that the terms "include", "include", or any other variant thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity, or device that includes a series of elements not only includes those elements, but also includes Other elements not explicitly listed, or include elements inherent to this process, method, commodity, or equipment. Without more restrictions, the element defined by the sentence "include one..." does not exclude that there are other identical elements in the process, method, commodity, or equipment that includes the element. Those skilled in the art should understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, the embodiments of the present specification may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present specification may employ computer programs implemented on one or more computer usable storage media (including but not limited to disk memory, CD-ROM, optical memory, etc.) containing computer usable program code The form of the product.