本發明涉及互聯網技術領域,尤其涉及一種數據分析方法及裝置。
背景技術:
隨著互聯網技術,尤其是在線搜索技術的發展,各大電子商務廣告平臺都已推出各自的廣告推送方案。由于商務信息錯綜復雜,往往在搜索業務中需要涉及地域、人文、用戶群等多種因素,為了提高廣告推送結果的準確性,需要對用戶點擊率進行分析及預估。
在目前所采用的點擊率預估系統中,主要通過對用戶輸入的檢索詞進行文本相似計算,再根據預設的打分規則,確定各個候選廣告的得分,根據得分確定推送的優先級。但是,在實際應用中,電子商務廣告平臺每天都要處理海量用戶檢索數據,并且用戶的檢索需求往往會受到市場動態變化的影響,而預先設置的打分規則始終難以契合用戶的檢索目標,導致最終向用戶推送的廣告都會與用戶的預期出現較大誤差。例如:用戶搜索“手機”時展現候選廣告A、B,其中,根據文本相似度和預設的打分規則,廣告A得分高于廣告B,廣告A展現的位次必然優于廣告B。但是由于臨時促銷活動或是微信營銷等快速營銷手段,廣告B更符合用戶的檢索需求并且更多的用戶選擇點擊廣告B。
由此可見,通過現有技術中的文本相似計算和打分規則設置來推送廣告的方案,由于預估誤差較大,所推送廣告的準確性較低。
技術實現要素:
本發明的實施例提供一種數據分析方法及裝置,能夠修正預估誤差,提高所推送數據的準確性。
為達到上述目的,本發明的實施例采用如下技術方案:
第一方面,本發明的實施例提供一種數據分析方法,包括:
提取推送服務器的日志信息,并根據所述日志信息獲取兩個互斥的樣本集合,在各樣本集合的樣本元素中包括了至少兩個維度的信息和互斥信息,同一 個樣本集合中的樣本元素具有相同內容的互斥信息;
利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值;
根據更新后的各個維度的權重值,確定推送結果。
結合第一方面,在第一方面的第一種可能的實現方式中,在一個樣本集合中包括了至少兩個維度的商務信息和用戶點擊信息,所述商務信息的類型至少包括:用戶編碼、商品編碼、用戶檢索詞和廣告拍賣詞,所述用戶點擊信息用于表示用戶是否點擊所展現的廣告。
結合第一方面,在第一方面的第二種可能的實現方式中,所述利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值,包括:
根據所述兩個互斥的樣本集合,獲取第一樣本集合的點擊值和第二樣本集合的點擊值其中所述兩個互斥的樣本集合表示為(Iclick,Inoclick),x表示一個維度的標識值,w表示這個這一個維度對整體點擊的影響系數;
根據所述第一樣本集合的點擊值和所述第二樣本集合的點擊值獲取損失函數
lt(wt)=yt log pt+(1-yt)log(1-pt),并根據所述損失函數獲取梯度函數grad=pt-yt,,其中yt表示實際點擊值,t表示樣本的編號1-yt表示實際未點擊值。
根據所述梯度函數更新各個維度的權重值。
結合第一方面的第二種可能的實現方式,在第三種可能的實現方式中,所 述根據所述梯度函數更新各個維度的權重值,包括:
根據所述梯度函數、第一樣本集合的點擊值和第二樣本集合的點擊值獲取各個樣本元素的梯度值gt;
根據歐幾里得距離公式nt=nt-1+gt2,更新各個維度的歐幾里得距離,并根據學習率公式更新各個維度的維度的學習率,nt-1表示第1條到第t-1條樣本的梯度歐式距離和;
根據更新后的學習率和歐幾里得距離,更新各個維度的權重值
其中,ω表示各個維度的權重值組成的權重集合,α和β分別表示人工調節參數。
結合第一方面的第三種可能的實現方式,還包括:
根據所述權重集合,獲取各個維度的權重累加和,并通過邏輯回歸公式 得到各個樣本元素的點擊率值。
第二方面,本發明的實施例提供一種數據分析方法,包括:讀取模塊,用于提取推送服務器的日志信息,并根據所述日志信息獲取兩個互斥的樣本集合,在各樣本集合的樣本元素中包括了至少兩個維度的信息和互斥信息,同一個樣本集合中的樣本元素具有相同內容的互斥信息;
權重更新模塊,用于利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值;
推送模塊,用于根據更新后的各個維度的權重值,確定推送結果。
結合第二方面,在第二方面的第一種可能的實現方式中,在一個樣本集合中包括了至少兩個維度的商務信息和用戶點擊信息,所述商務信息的類型至少包括:用戶編碼、商品編碼、用戶檢索詞和廣告拍賣詞,所述用戶點擊信息用于表示用戶是否點擊所展現的廣告。
本發明實施例提供的數據分析方法及裝置,能夠對用戶與推送服務器之間的數據交互的日志信息進行分析,并實時更新所推送數據的各個維度的權重值,再根據更新后的各個維度的權重值,重新確定推送結果。相對于現有技術,本發明能夠實時更新權重值,從而修正預估誤差,提高所推送數據的準確性。
附圖說明
為了更清楚地說明本發明實施例中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其它的附圖。
圖1a、1b為本發明實施例提供的具體應用場景的示意圖;
圖2為本發明實施例提供的數據分析方法的流程圖;
圖3為本發明實施例提供的數據分析裝置的結構示意圖。
具體實施方式
為使本領域技術人員更好地理解本發明的技術方案,下面結合附圖和具體實施方式對本發明作進一步詳細描述。下文中將詳細描述本發明的實施方式,所述實施方式的示例在附圖中示出,其中自始至終相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實施方式是示例性的,僅用于解釋本發明,而不能解釋為對本發明的限制。
本技術領域技術人員可以理解,除非特意聲明,這里使用的單數形式“一”、“一個”、“所述”和“該”也可包括復數形式。應該進一步理解的是,本發明的說明書中使用的措辭“包括”是指存在所述特征、整數、步 驟、操作、元件和/或組件,但是并不排除存在或添加一個或多個其他特征、整數、步驟、操作、元件、組件和/或它們的組。應該理解,當我們稱元件被“連接”或“耦接”到另一元件時,它可以直接連接或耦接到其他元件,或者也可以存在中間元件。此外,這里使用的“連接”或“耦接”可以包括無線連接或耦接。這里使用的措辭“和/或”包括一個或更多個相關聯的列出項的任一單元和全部組合。
本技術領域技術人員可以理解,除非另外定義,這里使用的所有術語(包括技術術語和科學術語)具有與本發明所屬領域中的普通技術人員的一般理解相同的意義。還應該理解的是,諸如通用字典中定義的那些術語應該被理解為具有與現有技術的上下文中的意義一致的意義,并且除非像這里一樣定義,不會用理想化或過于正式的含義來解釋。
本發明實施例中方法流程,可以由一種承擔數據推送功能的服務器執行,在本實施例中可稱為推送服務器,例如:如圖1a所示為根據本發明一個具體實施方式的推送服務器。所述推送服務器包括輸入單元、處理器單元、輸出單元、通信單元、存儲單元、外設單元等組件。這些組件通過一條或多條總線進行通信。本領域技術人員可以理解,圖中示出的推送服務器的結構并不構成對本發明的限定,它既可以是總線形結構,也可以是星型結構,還可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。在本發明實施方式中。
輸入單元用于實現操作人員、技術人員與推送服務器的交互和/或信息輸入到推送服務器中。例如,輸入單元可以接收操作人員、技術人員輸入的數字或字符信息,以產生與操作人員、技術人員設置或功能控制有關的信號輸入。在本發明具體實施方式中,輸入單元可以是觸控面板,也可以是其他人機交互界面,還可是其他外部信息擷取裝置。
處理器單元為推送服務器的控制中心,利用各種接口和線路連接整個推送服務器的各個部分,通過運行或執行存儲在存儲單元內的軟件程序和/或模塊,以及調用存儲在存儲單元內的數據,以執行推送服務器的各種功能和/或處理數 據。所述處理器單元可以由集成電路(Integrated Circuit,簡稱IC)組成,例如可以由單顆封裝的IC所組成,也可以由連接多顆相同功能或不同功能的封裝IC而組成。舉例來說,處理器單元可以僅包括中央處理器(Central Processing Unit,簡稱CPU),也可以是GPU、數字信號處理器(Digital Signal Processor,簡稱DSP)、及通信單元中的控制芯片(例如基帶芯片)的組合。在本發明實施方式中,CPU可以是單運算核心,也可以包括多運算核心。
所述通信單元用于建立通信信道,使推送服務器通過所述通信信道以連接至其他的服務器設備,或是通過有線或無線網絡與用戶終端進行通信,比如:推送服務器通過接口接入移動無線網絡,并通過移動無線網絡將廣告內容或廣告想推送信息(URL)向用戶終端發送。在本發明的不同實施方式中,所述通信單元中的各種通信模塊一般以集成電路芯片(Integrated Circuit Chip)的形式出現,并可進行選擇性組合,而不必包括所有通信模塊及對應的天線組。例如,所述通信單元可以僅包括基帶芯片、射頻芯片以及相應的天線以在一個蜂窩通信系統中提供通信功能。經由所述通信單元建立的無線通信連接,例如無線局域網接入或WCDMA接入,所述推送服務器可以連接至蜂窩網(Cellular Network)或因特網(Internet)。在本發明的一些可選實施方式中,所述通信單元中的通信模塊,例如基帶模塊可以集成到處理器單元中,典型的如高通(Qualcomm)公司提供的APQ+MDM系列平臺。
輸出單元包括但不限于影像輸出單元和聲音輸出單元。影像輸出單元用于輸出文字、圖片和/或視頻。所述影像輸出單元可包括顯示面板。
存儲單元可用于存儲軟件程序以及模塊,處理單元通過運行存儲在存儲單元的軟件程序以及模塊,從而執行推送服務器的各種功能應用以及實現數據處理。存儲單元主要包括程序存儲區和數據存儲區,其中,程序存儲區可存儲操作系統、至少一個功能所需的應用程序,比如用于執行本實施例方法流程的數據分析程序和用于實時修正各個維度的權重值的監控程序等等,例如如圖3所示的讀取模塊、權重更新模塊和推送模塊可以程序代碼形式存儲于存儲單元并通過處理器單元運行。
數據存儲區可存儲根據推送服務器的使用所創建的數據,比如:待推送的廣告文本信息,采集到的用戶點擊廣告后的點擊信息等,在本實施例中,存儲單元記錄用戶與推送服務器交互狀態的信息可以稱為日志信息。在本發明具體實施方式中,存儲單元可以包括易性存儲器,例如非揮發性動態隨機存取內存(Nonvolatile Random Access Memory,簡稱NVRAM)、相變化隨機存取內存(Phase Change RAM,簡稱PRAM)、磁阻式隨機存取內存(Magetoresistive RAM,簡稱MRAM)等,還可以包括非易失性存儲器,例如至少一個磁盤存儲器件、電子可擦除可編程只讀存儲器(Electrically Erasable Programmable Read-Only Memory,簡稱EEPROM)、閃存器件,例如反或閃存(NOR flash memory)或是反及閃存(NAND flash memory)。
電源用于給推送服務器的不同部件進行供電以維持其運行。作為一般性理解,所述電源可以是內置的電池,例如常見的鋰離子電池、鎳氫電池等,也包括直接向推送服務器供電的外接電源,例如AC適配器等。在本發明的一些實施方式中,所述電源還可以作更為廣泛的定義,例如還可以包括電源管理系統、充電系統、電源故障檢測電路、電源轉換器或逆變器、電源狀態指示器(如發光二極管),以及與推送服務器的電能生成、管理及分布相關聯的其他任何組件。
需要說明的是,在本實施例的一種類似方案中,本發明實施例中方法流程,也可以由一種承擔數據推送功能的服務器組執行,例如:如圖1b所示,服務器a用于執行本實施例的方法流程并根據更新后的各個維度的權重值確定推送結果,服務器b用于通過互聯網將推送結果向用戶的終端設備發送,由服務器a和服務器b組成的設備組承擔數據推送功能的。
本發明實施例提供的數據分析方法,如圖2所示,包括:
101,提取推送服務器的日志信息,并根據所述日志信息獲取兩個互斥的樣本集合。
在本實施例的具體應用中,比如電子商務平臺,在一個樣本集合中包括了至少兩個維度的商務信息和用戶點擊信息,所述商務信息的類型至少包括:用戶編碼、商品編碼、用戶檢索詞和廣告拍賣詞等信息,所述用戶點擊信息用于 表示用戶是否點擊所展現的廣告。
其中,在各樣本集合的樣本元素中包括了至少兩個維度的信息和互斥信息,同一個樣本集合中的樣本元素具有相同內容的互斥信息。例如:兩個樣本集合分別為Iclick和Inoclick,其中Iclick表示被用戶點擊過的廣告的集合,其中的樣本元素的表現形式可以是:{用戶編碼;商品編碼;用戶檢索詞;廣告內容;click},“用戶編碼”可以是用戶的終端設備的MAC地址、用戶賬號等用于標識用戶身份的信息,“商品編碼”可以是用戶所輸入的搜索詞所指向的商品類型的編碼,“用戶檢索詞”可以是用戶在電子商務平臺界面輸入的搜索詞(即用戶通過向終端設備輸入,并由終端設備向推送服務器或檢索服務器發送的檢索詞),“廣告內容”可以是向用戶所推送的廣告的文本信息,“click”用于表示用戶已經點擊所推送的本條廣告,若為“noclick”則表示用戶沒有點擊所推送的本條廣告。其中,“click”和“noclick”可以作為互斥信息,并以此篩選樣本元素并劃分至兩個樣本集合Iclick和Inoclick。
需要說明的是,各個維度的信息和互斥信息可以由推送服務器從存儲設備上的日志信息中提取,日志信息用于記錄用戶與推送服務器交互狀態。例如:通過對現有檢索系統部署日志采集功能,從線上采集原始展現日志信息進行解析拼接,然后提取用戶編碼、商品編碼、用戶檢索詞和廣告拍賣詞等信息等幾個維度的信息,以及用于是否點擊/觸發廣告的記錄,并形成廣告的明文樣本作為樣本元素,具體包括:推送服務器獲取用戶每次檢索的查詢詞及相應展示廣告和點擊廣告;將一次會話的檢索詞與展示廣告拆分,形成每次檢索詞對應一條廣告;將廣告的點擊信息拼接形成廣告(展現,點擊)或者(展現,未點擊)的集合;之后根據推送服務器與用戶的終端設備的交互歷史記錄,選取影響廣告(展現,點擊)的維度,得到樣本元素。其中推送服務器與用戶的終端設備的交互歷史記錄可以是基于海量用戶的交互歷史記錄,也可以是針對一個用戶群或一個用戶在一定時間段內的交互歷史記錄,交互歷史記錄的具體采樣規則可以依據不同應用場景改變。
102,利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值。
103,根據更新后的各個維度的權重值,確定推送結果。
在本實施例中,權重值指的是樣本元素中各個維度各自對應的權重值,一個樣本元素實際表示了一條推送的廣告,由用戶編碼、商品編碼、用戶檢索詞和廣告內容或是更多的維度組成,在確定該樣本元素表示的廣告的推送優先級時,根據各個維度以及各個維度的權重值,通過權值計算的方式進行打分,并根據打分結果確定不同廣告之間的推送優先順序。在本實施例中,通過邏輯回歸在線學習算法更新各個維度的權重值,而對于權值計算和打分規則的具體方式不做限定。
在現有技術中,文本相似計算和打分規則設置等預估手段難以有效適應用戶的實際操作,缺乏根據用戶的操作反饋進行進一步精確預估的方案。本發明實施例提供的數據分析方法,能夠對用戶與推送服務器之間的數據交互的日志信息進行分析,并實時更新所推送數據的各個維度的權重值,再根據更新后的各個維度的權重值,重新確定推送結果。相對于現有技術,本發明能夠實時更新權重值,從而修正預估誤差,提高所推送數據的準確性。
在本實施例中,所述利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值的過程,具體包括:
根據所述兩個互斥的樣本集合,獲取第一樣本集合的點擊值和第二樣本集合的點擊值其中所述兩個互斥的樣本集合表示為(Iclick,Inoclick)。其中,x表示一個維度的標識值,w表示這個這一個維度對整體點擊的影響系數。例如:根據用戶是否點擊廣告劃分兩個樣本集合:Iclick和Inoclick,由于在每個集合中影響廣告點擊率的維度有多種且可能動態變化而不限定,因此兩個集合都可以表示為Iclick=Σwx,其中x表示影響廣告點擊的一個維度的標識值,w表示這個這一個維度對整體點擊的影響系數。假設一個樣本元素的實際點擊值為yt,則實際未點擊值為1-yt,則根據邏輯回歸函數,可以得到該樣本 元素的預估點擊值而預估未點擊值為
根據所述第一樣本集合的點擊值和所述第二樣本集合的點擊值獲取損失函數lt(wt)=yt log pt+(1-yt)log(1-pt),并根據所述損失函數獲取梯度函數(對損失函數求導,得到梯度函數)grad=pt-yt,其中yt表示實際點擊值,t表示樣本的編號1-yt表示實際未點擊值。
根據所述梯度函數更新各個維度的權重值。
其中,推送服務器可以根據上述梯度函數得到梯度值,并通過累計梯度的平方獲取每次預估偏差的方差和nt=nt-1+grad2,以及獲取每個維度的迭代學習率其中,α和β分別為人工調節參數,可以由技術人員設定。根據迭代學習率和預估偏差的方差和,通過 更新各個維度的權重值。其中,Sgn是為一種函數,表示如果x>0則sgn(x)=1,如果x=0則sgn(x)=0,如果x<0則sgn(x)=-1。
在本實施例中,所述根據所述梯度函數更新各個維度的權重值,具體包括:
根據所述梯度函數、第一樣本集合的點擊值和第二樣本集合的點擊值獲取各個樣本元素的梯度值gt。
根據歐幾里得距離公式nt=nt-1+gt2,更新各個維度的歐幾里得距 離,并根據學習率公式更新各個維度的維度的學習率,nt-1表示第1條到第t-1條樣本的梯度歐式距離和。α和β分別表示人工調節參數
根據更新后的學習率和歐幾里得距離,更新各個維度的權重值
其中,ω表示各個維度的權重值組成的權重集合。
在本實施例中,可以采用隨機梯度下降的方式獲取邏輯回歸中的局部最優解,即通過梯度函數、樣本元素的實際點擊值和樣本元素的預估點擊值,獲取每個樣本元素的梯度值gt。例如:根據歐幾里得距離公式nt=nt-1+gt2更新各個維度的歐幾里得距離;
根據學習率公式更新各個維度的迭代學習率
根據迭代學習率和歐幾里得距離得到更新后的實際權重值
其中,ω表示各個維度的權重值組成的權重集合
在本實施例中,在獲取權重集合后,還包括:根據所述權重集合,獲取各 個維度的權重累加和,并通過邏輯回歸公式得到各個樣本元素的點擊率值。在本實施例的具體應用場景中,通過對用戶點擊廣告的日志信息進行挖掘分析,實時更新各個維度的權重值,采用邏輯回歸在線梯度算法后,在AUC(一種評估排序指標)中預估的準確率,從原來的0.65提升至0.79。從而緩減了預估誤差較大的問題,提高了推送廣告的準確性。
本實施例還提供一種數據分析裝置,如圖3所示,包括:
讀取模塊,用于提取推送服務器的日志信息,并根據所述日志信息獲取兩個互斥的樣本集合,在各樣本集合的樣本元素中包括了至少兩個維度的信息和互斥信息,同一個樣本集合中的樣本元素具有相同內容的互斥信息;
權重更新模塊,用于利用所述兩個互斥的樣本集合,通過邏輯回歸在線學習算法更新各個維度的權重值;
推送模塊,用于根據更新后的各個維度的權重值,確定推送結果。
其中,在一個樣本集合中包括了至少兩個維度的商務信息和用戶點擊信息,所述商務信息的類型至少包括:用戶編碼、商品編碼、用戶檢索詞和廣告拍賣詞,所述用戶點擊信息用于表示用戶是否點擊所展現的廣告。
本發明實施例提供的數據分析裝置,能夠對用戶與推送服務器之間的數據交互的日志信息進行分析,并實時更新所推送數據的各個維度的權重值,再根據更新后的各個維度的權重值,重新確定推送結果。相對于現有技術,本發明能夠實時更新權重值,從而修正預估誤差,提高所推送數據的準確性。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于設備實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。
本領域普通技術人員可以理解實現上述實施例方法中的全部或部分流程, 是可以通過計算機程序來指令相關的硬件來完成,所述的程序可存儲于一計算機可讀取存儲介質中,該程序在執行時,可包括如上述各方法的實施例的流程。其中,所述的存儲介質可為磁碟、光盤、只讀存儲記憶體(Read-Only Memory,ROM)或隨機存儲記憶體(Random Access Memory,RAM)等。
以上所述,僅為本發明的具體實施方式,但本發明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。