周 維,汪 榕,丁洪鑫
(1.中電科大數(shù)據(jù)研究院有限公司,貴州 貴陽 550022;2.提升政府治理能力大數(shù)據(jù)應用技術(shù)國家工程研究中心)
OTT(OverThe Top,OTT)指互聯(lián)網(wǎng)公司越過運營商,發(fā)展基于開放互聯(lián)網(wǎng)的各種視頻及數(shù)據(jù)服務業(yè)務。在智能電視的浪潮下,很多家庭用戶開始回歸客廳,這促使OTT 大屏廣告的崛起和發(fā)展。對于廣告主來說更多的考慮在通過大數(shù)據(jù)、AI 技術(shù)等職能手段,了解用戶,深度挖掘用戶需求,推斷用戶特征,鎖定目標受眾將廣告精準地投放給用戶變得很重要,讓用戶不在是簡簡單單的看而是通過品牌印象刺激獲得品牌曝光效果[1,2]。由于OTT 設(shè)備和手機設(shè)備極其相似,對APP 開發(fā)者和第三方推送廠商來說存在一個問題,就是他們并不知道哪些設(shè)備是OTT 設(shè)備,如何將OTT設(shè)備與手機設(shè)備區(qū)分開來,對OTT 業(yè)務能否深入開展有著決定性作用。
本文探討結(jié)合數(shù)據(jù)清洗加工、數(shù)據(jù)分析、機器學習等技術(shù)建立OTT設(shè)備預測模型,實現(xiàn)了OTT設(shè)備從數(shù)據(jù)采集、數(shù)據(jù)清洗加工、數(shù)據(jù)分析、數(shù)據(jù)應用全鏈路的標準化的數(shù)據(jù)探索與研究,并通過建立機器學習模型,對OTT 設(shè)備與手機設(shè)備進行分類預測,這種OTT設(shè)備識別技術(shù)提高了OTT設(shè)備業(yè)務應用的準確性,減少了手機設(shè)備與OTT 設(shè)備區(qū)分不開帶來的成本,為OTT業(yè)務的深入發(fā)展創(chuàng)造了有利條件。
OTT 設(shè)備和手機設(shè)備從系統(tǒng)角度還是APP 開發(fā)角度都極具相似性。簡單地從數(shù)據(jù)采集的角度來看,是無法區(qū)分出OTT 設(shè)備與手機設(shè)備的,其根本原因可總結(jié)為以下六點:
⑴同一款APP既可以安裝在手機上,也可以安裝在電視上,且不同的終端設(shè)備上同一APP的ID是惟一的;
⑵在權(quán)限允許的情況下,OTT 設(shè)備和移動端設(shè)備在數(shù)據(jù)采集上沒有區(qū)別;
⑶不同的設(shè)備數(shù)據(jù)具有不同的數(shù)據(jù)采集權(quán)限,數(shù)據(jù)采集不到和沒有數(shù)據(jù)難以區(qū)分;
⑷OTT 設(shè)備的APP 應用難以枚舉,僅知道部分頭部的應用;
⑸OTT設(shè)備沒有完整的機型列表;
⑹同一廠商不僅可以生產(chǎn)手機,也可以生產(chǎn)電視、手表、PAD等。
眾所周知,每個手機都有各自的機型,類似地,OTT 設(shè)備也有自己的機型,另外,同一機型的設(shè)備有相同的特性,機型是一批設(shè)備的共有名字,能區(qū)分出一批設(shè)備。于是,為了解決OTT 設(shè)備識別問題,最好的方式是維護一份OTT機型表,從而將OTT設(shè)備識別問題轉(zhuǎn)化為OTT機型識別問題。
如何去識別OTT 機型,就需要對原始區(qū)的數(shù)據(jù)進行清洗加工,數(shù)據(jù)分析與挖掘,找出同一種OTT 機型的共有特征,通過數(shù)據(jù)的簡要分析之后,可以總結(jié)出OTT設(shè)備共有以下五個特點:
⑴ OTT 設(shè)備上很少裝有微信、QQ、支付寶、12306 票等非視頻類應用,排除有裝的可能,但不影響大數(shù)據(jù)分析結(jié)果;
⑵OTT 設(shè)備基本上長期不動,所以每次匯報的位置數(shù)據(jù)基本相同;
⑶OTT 設(shè)備不具有通話功能,設(shè)備上沒有IMEI號,而不是獲取不到;
⑷ OTT 設(shè)備系統(tǒng)版本偏低,且很少存在系統(tǒng)版本變動;
⑸OTT 設(shè)備基本不會有手機號,也有部分設(shè)備可以插物聯(lián)網(wǎng)卡和手機卡,如POS機、PAD。
帶著這些基本特點,可以從數(shù)據(jù)采集、數(shù)據(jù)清洗加工、數(shù)據(jù)分析等流程對不同維度的數(shù)據(jù)進行分析、洞察,借助機器學習的方法找出OTT 設(shè)備區(qū)別于其他設(shè)備的不同之處,從而有效地識別出OTT設(shè)備。
OTT 設(shè)備識別流程包括確定分析目標、搜集數(shù)據(jù)、數(shù)據(jù)清洗加工、數(shù)據(jù)提取與分析等過程;在數(shù)據(jù)分析的過程中,借助機器學習來確定識別OTT 設(shè)備的規(guī)則,機器學習的過程又包括特征提取、模型建立、模型預測、結(jié)果解析與評價。
本文研究所依賴的數(shù)據(jù)來源于第三方推送公司。APP 開發(fā)者為了擁有更好的智能推送服務,采取集成第三方SDK,SDK通過加密采集的方式上報數(shù)據(jù),最后通過大數(shù)據(jù)等相關(guān)的技術(shù)手段將數(shù)據(jù)傳輸?shù)酱髷?shù)據(jù)集群的HDFS上,具體的數(shù)據(jù)獲取流程為圖1所示。
圖1 數(shù)據(jù)獲取流程
本文研究的數(shù)據(jù)來源主要有四類數(shù)據(jù),包括設(shè)備屬性、APP活躍、設(shè)備安裝列表、設(shè)備位置,具體的數(shù)據(jù)源說明如表1所示。
表1 數(shù)據(jù)源說明
3.3.1 數(shù)據(jù)清洗流程
對于上述四類數(shù)據(jù),由于存在臟數(shù)據(jù)以及不完整的數(shù)據(jù),對此,本研究按照標準的數(shù)據(jù)清洗標準制定了數(shù)據(jù)清洗流程,數(shù)據(jù)清洗流程如圖2所示。
圖2 數(shù)據(jù)清洗流程
3.3.2 數(shù)據(jù)清洗加工方法
數(shù)據(jù)清洗加工是指利用現(xiàn)有的數(shù)據(jù)挖掘手段和方法清洗“臟數(shù)據(jù)”,將“臟數(shù)據(jù)”轉(zhuǎn)化為滿足數(shù)據(jù)質(zhì)量要求或應用要求的數(shù)據(jù)的過程。它是發(fā)現(xiàn)并糾正數(shù)據(jù)文件中可識別的錯誤的一道重要程序。用不同方法清洗的數(shù)據(jù),對后續(xù)挖掘應用工作會產(chǎn)生不同的影響[3]。
對于3.2中所述四類數(shù)據(jù)源,我們采用了以下五種數(shù)據(jù)清洗加工方法,具體如表2所示。
表2 數(shù)據(jù)清洗加工方法
3.3.3 數(shù)據(jù)清洗結(jié)果
經(jīng)過數(shù)據(jù)清洗加工后,一共生成三張主要的數(shù)據(jù)表,數(shù)據(jù)表詳情如表3所示。
表3 清洗之后數(shù)據(jù)表詳情
3.4.1 數(shù)據(jù)提取流程
⑴從DWS_USER_WIDE_TABLE 表提取安卓用戶,字段信息為設(shè)備id、機型、系統(tǒng)版本、手機號碼;
⑵從DWD_USER_APPLIST 表中提取排除安裝有微信,QQ,支付寶,新浪微博,12306五個APP的數(shù)據(jù);
⑶從DWD_USER_LBS 表中提取當天匯報三次及以上且最近三次匯報的位置信息一致的數(shù)據(jù);
⑷步驟⑴、步驟⑵、步驟⑶關(guān)聯(lián),得到位置信息不變且沒安裝熱門應用的設(shè)備數(shù)據(jù);
⑸在步驟⑷的基礎(chǔ)下,篩選出工作地和家庭地一致的數(shù)據(jù)。
3.4.2 數(shù)據(jù)分析方法
數(shù)據(jù)分析指利用恰當?shù)慕y(tǒng)計、分析方法,對收集來的大量數(shù)據(jù)進行分析,將他們理解消化,提取有用信息加以詳細研究和概括總結(jié)的過程,最大化地利用數(shù)據(jù)的功能,發(fā)揮數(shù)據(jù)的作用。大數(shù)據(jù)分析的核心是從大數(shù)據(jù)中找出可以輔助決策的隱藏模式、未知的相關(guān)關(guān)系以及其他有用信息的過程[4]。常見的數(shù)據(jù)分析方法如表4所示。
表4 數(shù)據(jù)清洗加工方法
3.4.3 數(shù)據(jù)分析結(jié)果
利用數(shù)據(jù)分析方法中的分層分析方法,分別計算出每個機型的用戶數(shù)量、中國設(shè)備數(shù)量、中國設(shè)備占比、IMEI數(shù)量、IMEI占比、安卓8版本以下數(shù)量、安卓8版本以下占比、最主要系統(tǒng)版本、最主要系統(tǒng)版本數(shù)量、最主要系統(tǒng)版本占比、手機號數(shù)量、手機號占比等指標,數(shù)據(jù)分析結(jié)果樣例如圖3所示。將數(shù)據(jù)分析結(jié)果按照設(shè)備數(shù)降序取top30,篩選出的top30 機型中,通過人工校驗比對,可以證實絕大部分機型都是OTT 設(shè)備機型。此時,通過簡單地人工規(guī)則確定也能將OTT 設(shè)備機型區(qū)分出來,為了更加準確地確定篩選規(guī)則,接下來將借助機器學習技術(shù)來確定OTT機型的分類規(guī)則。
圖3 數(shù)據(jù)分析結(jié)果
3.4.4 機器學習
⑴基本概念
機器學習是一門關(guān)于數(shù)據(jù)學習的科學技術(shù),它能幫助機器從現(xiàn)有的復雜數(shù)據(jù)中學習規(guī)律,以預測未來的行為結(jié)果和趨勢。例如:當用戶在網(wǎng)上商城購物時,機器學習算法會根據(jù)該用戶的購買歷史來推薦其可能會喜歡的其他產(chǎn)品,以提升購買概率。機器學習的基本流程如圖4所示。
圖4 機器學習基本流程
其中模型評估與驗證是整個模型構(gòu)建中的最后一步,通過對模型的評估和驗證能夠得出所構(gòu)建的相關(guān)性能指標,并判斷模型是否具備實際運用的能力[5]。下面介紹幾種常用的性能評估指標。
①準確率,表示正確分類的測試實例的個占測試實例總數(shù)的比例,計算公式為
② 精確率,也叫查準率,表示正確分類的測試實例的個數(shù)占試實例總數(shù)的比例,計算公式為
③召回率,也叫查全率,表示正確分類的正例個數(shù)占實際正例個數(shù)的比例,計算公式為:
④F1 分數(shù),表示準確率和召回率的調(diào)和平均值,計算公式為:
⑤ 度量分類中的非均衡性的工具ROC 曲線(ROC Curve),TPR(True Positive Rate)表示在所有實際為陽性的樣本中,被正確地判斷為陽性的比率,即;FPR(False Positive Rate)表示在所有實際為陰性的樣本中,被錯誤地判斷為陽性的比率,即
⑥AUC 值(Area Unser the Curve)是ROC 曲線下的面積,AUC 值給出的是分類器的平均性能值。使用AUC值可以評估二分類問題分類效果的優(yōu)劣,計算公式如下:
一個完美的分類器的AUC 為1.0,而隨機猜測的AUC為0.5,顯然AUC值在0和1之間,并且數(shù)值越高,代表模型的性能越好。
⑵模型構(gòu)建與分析
接下來,將對3.4.3步驟中的數(shù)據(jù)分析結(jié)果數(shù)據(jù)進行模型構(gòu)建,本文將采用決策樹的方式進行OTT 機型的預測。在模型預測之前,首先要對數(shù)據(jù)進行打標,這里選擇了400條數(shù)據(jù)進行打標,打標數(shù)據(jù)樣式如圖5所示。
圖5 打標數(shù)據(jù)樣式
決策樹進行分類預測時,需要提前確定決策樹的深度,但并不是決策樹的深度越深,模型預測的結(jié)果就更準確。為了確定最優(yōu)的模型參數(shù),本文用PYTHON代碼來校驗并繪制決策樹深度和錯誤率關(guān)系圖,關(guān)系圖如圖6所示。
從圖6 可以看到,當決策樹在深度小于等于3 時錯誤率是最低的,當再次提升樹的深度時,錯誤率就上升了;于是,根據(jù)圖中結(jié)果分析之后,本文選取樹的深度為2進行OTT機型預測分類。
在模型預測過程,還需要確認模型是否出現(xiàn)過擬合現(xiàn)象。為了準更加準確地驗證模型的預測效果,本文通過PYTHON 代碼繪制樣本量和準確率的關(guān)系圖,關(guān)系圖如圖7所示。從中可以看出,隨著樣本量增加,模型的準確率并沒有出現(xiàn)異常的波動,由此可得,模型在預測過程中沒出現(xiàn)過擬合現(xiàn)象。
圖7 樣本量與準確率關(guān)系
⑶分類規(guī)則確定
最后,通過模型預測結(jié)果,就可以確定OTT 機型分類規(guī)則[6,7]。模型預測結(jié)果如圖8所示。
圖8 模型預測結(jié)果
從圖8 中可以看出,OTT 機型的訓練集中,有320條數(shù)據(jù),劃分為兩個類別,數(shù)量分別為161、159,對應的標簽分別為is_ott、no_ott;當手機號數(shù)占比小于等于0.046 時,有172 個樣本,2 個類別的數(shù)量分別為157、15,其中is_ott 的類別最多,信息熵為0.427,比上面節(jié)點要低,說明分類結(jié)果更加確定了;當中國用戶占比大于0.538 時,有161 個樣本,2 個類別的數(shù)量分別為157、4,其中is_ott的類別最多,信息熵變?yōu)?.168,此時說明分類結(jié)果變得更加確定了。
根據(jù)上面的分析可得,OTT 機型的分類規(guī)則為手機號數(shù)占比小于等于0.046且中國用戶占比大于0.538。
⑷結(jié)果驗證
為了驗證模型的效果,選取200條數(shù)據(jù)進行驗證,模型在預測集上的準確率為97.49%。所以,可以說該模型效果良好,能夠有效地將OTT 機型分類規(guī)則確定下來并達到實現(xiàn)OTT機型分類的效果。
在研究與實踐過程中,首先采用大數(shù)據(jù)采集、數(shù)據(jù)清洗加工、數(shù)據(jù)分析技術(shù),對OTT 設(shè)備數(shù)據(jù)進行采集、匯集、清洗,采用不同的分析方法挖掘OTT 設(shè)備的隱藏價值。另外,本文有效地將數(shù)據(jù)分析和機器學習兩者相結(jié)合,數(shù)據(jù)分析的結(jié)果對機器學習的特征選擇和模型的建立打好了堅實的基礎(chǔ),而機器學習的結(jié)果又為數(shù)據(jù)分析提供了有力的幫助。最后,通過機器學習決策樹模型區(qū),確定了OTT機型和非OTT機型的篩選規(guī)則,從而得到了一份OTT 機型的維度表,因為每個設(shè)備的機型是確定的,所以,確定了OTT 機型就相當于確定了OTT設(shè)備,這樣就解決了OTT設(shè)備的識別問題。