周 維,汪 榕,丁洪鑫
(1.中電科大數據研究院有限公司,貴州 貴陽 550022;2.提升政府治理能力大數據應用技術國家工程研究中心)
OTT(OverThe Top,OTT)指互聯網公司越過運營商,發展基于開放互聯網的各種視頻及數據服務業務。在智能電視的浪潮下,很多家庭用戶開始回歸客廳,這促使OTT 大屏廣告的崛起和發展。對于廣告主來說更多的考慮在通過大數據、AI 技術等職能手段,了解用戶,深度挖掘用戶需求,推斷用戶特征,鎖定目標受眾將廣告精準地投放給用戶變得很重要,讓用戶不在是簡簡單單的看而是通過品牌印象刺激獲得品牌曝光效果[1,2]。由于OTT 設備和手機設備極其相似,對APP 開發者和第三方推送廠商來說存在一個問題,就是他們并不知道哪些設備是OTT 設備,如何將OTT設備與手機設備區分開來,對OTT 業務能否深入開展有著決定性作用。
本文探討結合數據清洗加工、數據分析、機器學習等技術建立OTT設備預測模型,實現了OTT設備從數據采集、數據清洗加工、數據分析、數據應用全鏈路的標準化的數據探索與研究,并通過建立機器學習模型,對OTT 設備與手機設備進行分類預測,這種OTT設備識別技術提高了OTT設備業務應用的準確性,減少了手機設備與OTT 設備區分不開帶來的成本,為OTT業務的深入發展創造了有利條件。
OTT 設備和手機設備從系統角度還是APP 開發角度都極具相似性。簡單地從數據采集的角度來看,是無法區分出OTT 設備與手機設備的,其根本原因可總結為以下六點:
⑴同一款APP既可以安裝在手機上,也可以安裝在電視上,且不同的終端設備上同一APP的ID是惟一的;
⑵在權限允許的情況下,OTT 設備和移動端設備在數據采集上沒有區別;
⑶不同的設備數據具有不同的數據采集權限,數據采集不到和沒有數據難以區分;
⑷OTT 設備的APP 應用難以枚舉,僅知道部分頭部的應用;
⑸OTT設備沒有完整的機型列表;
⑹同一廠商不僅可以生產手機,也可以生產電視、手表、PAD等。
眾所周知,每個手機都有各自的機型,類似地,OTT 設備也有自己的機型,另外,同一機型的設備有相同的特性,機型是一批設備的共有名字,能區分出一批設備。于是,為了解決OTT 設備識別問題,最好的方式是維護一份OTT機型表,從而將OTT設備識別問題轉化為OTT機型識別問題。
如何去識別OTT 機型,就需要對原始區的數據進行清洗加工,數據分析與挖掘,找出同一種OTT 機型的共有特征,通過數據的簡要分析之后,可以總結出OTT設備共有以下五個特點:
⑴ OTT 設備上很少裝有微信、QQ、支付寶、12306 票等非視頻類應用,排除有裝的可能,但不影響大數據分析結果;
⑵OTT 設備基本上長期不動,所以每次匯報的位置數據基本相同;
⑶OTT 設備不具有通話功能,設備上沒有IMEI號,而不是獲取不到;
⑷ OTT 設備系統版本偏低,且很少存在系統版本變動;
⑸OTT 設備基本不會有手機號,也有部分設備可以插物聯網卡和手機卡,如POS機、PAD。
帶著這些基本特點,可以從數據采集、數據清洗加工、數據分析等流程對不同維度的數據進行分析、洞察,借助機器學習的方法找出OTT 設備區別于其他設備的不同之處,從而有效地識別出OTT設備。
OTT 設備識別流程包括確定分析目標、搜集數據、數據清洗加工、數據提取與分析等過程;在數據分析的過程中,借助機器學習來確定識別OTT 設備的規則,機器學習的過程又包括特征提取、模型建立、模型預測、結果解析與評價。
本文研究所依賴的數據來源于第三方推送公司。APP 開發者為了擁有更好的智能推送服務,采取集成第三方SDK,SDK通過加密采集的方式上報數據,最后通過大數據等相關的技術手段將數據傳輸到大數據集群的HDFS上,具體的數據獲取流程為圖1所示。

圖1 數據獲取流程
本文研究的數據來源主要有四類數據,包括設備屬性、APP活躍、設備安裝列表、設備位置,具體的數據源說明如表1所示。

表1 數據源說明
3.3.1 數據清洗流程
對于上述四類數據,由于存在臟數據以及不完整的數據,對此,本研究按照標準的數據清洗標準制定了數據清洗流程,數據清洗流程如圖2所示。

圖2 數據清洗流程
3.3.2 數據清洗加工方法
數據清洗加工是指利用現有的數據挖掘手段和方法清洗“臟數據”,將“臟數據”轉化為滿足數據質量要求或應用要求的數據的過程。它是發現并糾正數據文件中可識別的錯誤的一道重要程序。用不同方法清洗的數據,對后續挖掘應用工作會產生不同的影響[3]。
對于3.2中所述四類數據源,我們采用了以下五種數據清洗加工方法,具體如表2所示。

表2 數據清洗加工方法
3.3.3 數據清洗結果
經過數據清洗加工后,一共生成三張主要的數據表,數據表詳情如表3所示。

表3 清洗之后數據表詳情
3.4.1 數據提取流程
⑴從DWS_USER_WIDE_TABLE 表提取安卓用戶,字段信息為設備id、機型、系統版本、手機號碼;
⑵從DWD_USER_APPLIST 表中提取排除安裝有微信,QQ,支付寶,新浪微博,12306五個APP的數據;
⑶從DWD_USER_LBS 表中提取當天匯報三次及以上且最近三次匯報的位置信息一致的數據;
⑷步驟⑴、步驟⑵、步驟⑶關聯,得到位置信息不變且沒安裝熱門應用的設備數據;
⑸在步驟⑷的基礎下,篩選出工作地和家庭地一致的數據。
3.4.2 數據分析方法
數據分析指利用恰當的統計、分析方法,對收集來的大量數據進行分析,將他們理解消化,提取有用信息加以詳細研究和概括總結的過程,最大化地利用數據的功能,發揮數據的作用。大數據分析的核心是從大數據中找出可以輔助決策的隱藏模式、未知的相關關系以及其他有用信息的過程[4]。常見的數據分析方法如表4所示。

表4 數據清洗加工方法
3.4.3 數據分析結果
利用數據分析方法中的分層分析方法,分別計算出每個機型的用戶數量、中國設備數量、中國設備占比、IMEI數量、IMEI占比、安卓8版本以下數量、安卓8版本以下占比、最主要系統版本、最主要系統版本數量、最主要系統版本占比、手機號數量、手機號占比等指標,數據分析結果樣例如圖3所示。將數據分析結果按照設備數降序取top30,篩選出的top30 機型中,通過人工校驗比對,可以證實絕大部分機型都是OTT 設備機型。此時,通過簡單地人工規則確定也能將OTT 設備機型區分出來,為了更加準確地確定篩選規則,接下來將借助機器學習技術來確定OTT機型的分類規則。

圖3 數據分析結果
3.4.4 機器學習
⑴基本概念
機器學習是一門關于數據學習的科學技術,它能幫助機器從現有的復雜數據中學習規律,以預測未來的行為結果和趨勢。例如:當用戶在網上商城購物時,機器學習算法會根據該用戶的購買歷史來推薦其可能會喜歡的其他產品,以提升購買概率。機器學習的基本流程如圖4所示。

圖4 機器學習基本流程
其中模型評估與驗證是整個模型構建中的最后一步,通過對模型的評估和驗證能夠得出所構建的相關性能指標,并判斷模型是否具備實際運用的能力[5]。下面介紹幾種常用的性能評估指標。
①準確率,表示正確分類的測試實例的個占測試實例總數的比例,計算公式為
② 精確率,也叫查準率,表示正確分類的測試實例的個數占試實例總數的比例,計算公式為
③召回率,也叫查全率,表示正確分類的正例個數占實際正例個數的比例,計算公式為:
④F1 分數,表示準確率和召回率的調和平均值,計算公式為:
⑤ 度量分類中的非均衡性的工具ROC 曲線(ROC Curve),TPR(True Positive Rate)表示在所有實際為陽性的樣本中,被正確地判斷為陽性的比率,即;FPR(False Positive Rate)表示在所有實際為陰性的樣本中,被錯誤地判斷為陽性的比率,即
⑥AUC 值(Area Unser the Curve)是ROC 曲線下的面積,AUC 值給出的是分類器的平均性能值。使用AUC值可以評估二分類問題分類效果的優劣,計算公式如下:
一個完美的分類器的AUC 為1.0,而隨機猜測的AUC為0.5,顯然AUC值在0和1之間,并且數值越高,代表模型的性能越好。
⑵模型構建與分析
接下來,將對3.4.3步驟中的數據分析結果數據進行模型構建,本文將采用決策樹的方式進行OTT 機型的預測。在模型預測之前,首先要對數據進行打標,這里選擇了400條數據進行打標,打標數據樣式如圖5所示。

圖5 打標數據樣式
決策樹進行分類預測時,需要提前確定決策樹的深度,但并不是決策樹的深度越深,模型預測的結果就更準確。為了確定最優的模型參數,本文用PYTHON代碼來校驗并繪制決策樹深度和錯誤率關系圖,關系圖如圖6所示。
從圖6 可以看到,當決策樹在深度小于等于3 時錯誤率是最低的,當再次提升樹的深度時,錯誤率就上升了;于是,根據圖中結果分析之后,本文選取樹的深度為2進行OTT機型預測分類。
在模型預測過程,還需要確認模型是否出現過擬合現象。為了準更加準確地驗證模型的預測效果,本文通過PYTHON 代碼繪制樣本量和準確率的關系圖,關系圖如圖7所示。從中可以看出,隨著樣本量增加,模型的準確率并沒有出現異常的波動,由此可得,模型在預測過程中沒出現過擬合現象。

圖7 樣本量與準確率關系
⑶分類規則確定
最后,通過模型預測結果,就可以確定OTT 機型分類規則[6,7]。模型預測結果如圖8所示。

圖8 模型預測結果
從圖8 中可以看出,OTT 機型的訓練集中,有320條數據,劃分為兩個類別,數量分別為161、159,對應的標簽分別為is_ott、no_ott;當手機號數占比小于等于0.046 時,有172 個樣本,2 個類別的數量分別為157、15,其中is_ott 的類別最多,信息熵為0.427,比上面節點要低,說明分類結果更加確定了;當中國用戶占比大于0.538 時,有161 個樣本,2 個類別的數量分別為157、4,其中is_ott的類別最多,信息熵變為0.168,此時說明分類結果變得更加確定了。
根據上面的分析可得,OTT 機型的分類規則為手機號數占比小于等于0.046且中國用戶占比大于0.538。
⑷結果驗證
為了驗證模型的效果,選取200條數據進行驗證,模型在預測集上的準確率為97.49%。所以,可以說該模型效果良好,能夠有效地將OTT 機型分類規則確定下來并達到實現OTT機型分類的效果。
在研究與實踐過程中,首先采用大數據采集、數據清洗加工、數據分析技術,對OTT 設備數據進行采集、匯集、清洗,采用不同的分析方法挖掘OTT 設備的隱藏價值。另外,本文有效地將數據分析和機器學習兩者相結合,數據分析的結果對機器學習的特征選擇和模型的建立打好了堅實的基礎,而機器學習的結果又為數據分析提供了有力的幫助。最后,通過機器學習決策樹模型區,確定了OTT機型和非OTT機型的篩選規則,從而得到了一份OTT 機型的維度表,因為每個設備的機型是確定的,所以,確定了OTT 機型就相當于確定了OTT設備,這樣就解決了OTT設備的識別問題。