電信運營商提供基礎通信管道連接每一位用戶。每天數以億計的用戶會在管道中留下通信行為數據,構成運營商大數據。如何挖掘大數據來智能支撐運營商各項業務並進行業務轉型是一個需要深入思考的問題。本文主要介紹如何利用大數據與機器學習來支撐用戶離網管理。
隨著通信行業競爭日益激烈,每月都有大量的用戶離網,即不再使用運營商的通信服務。圖1展示的是上海聯通近一年預付費用戶流失率統計圖。從圖中可以看出預付費用戶由於沒有綁定合約 ,流失率比後付費用戶要高很多 ,平均每月有大約9.4%的預付費用戶 流失,導致營收大幅下降。此外,吸引 新用戶入網的成本要比維繫挽留有離網傾向用戶的成本要高大約 3倍,因此使用數據挖掘方法進行離網預測,穩定在網用戶數是一項至關重要的任務。本文驗證了使用運營商大數據能顯著提高離網預測精度。上海聯通對高離網傾向用戶進行維挽活動 ,有效降低離網率。由於預付費離網用戶基數龐 大,每降低1%離網率,就能每年額外獲得數百萬元 營收。同時,通過大數據驅動的離網預測模型,我們還回答了關 於大數據的三個科學問題:
圖1 預付費/後付費用戶流失率統計圖
在大數據時代,如果把數據比作黃金的話,那麼運營商就是一座大金礦,每天都會產生TB(Terabyte)級別的數據。我們使用的運營商數據大致來自兩個系統,BSS(業務支持系統)和OSS(運營支持系統)。BSS是運營商向用戶開展業務的主要IT組成部分。OSS是電信服務提供商用來管理通信網絡的系統。
通常,這兩個系統分開獨立工作並產生自己的數據 。大數據平臺把兩個獨立系統的數據整合起來支撐數據驅動的運營業務決策。BSS的數據主要分為四個部分:用戶信息/行為數據(User Base/Behavior)、投訴數據(Compliant)、帳單數據(Billing)和通話/簡訊數據(Voice/SMS CDR)。這些數據涵蓋了用戶個人的信息、通話行為(包括通話連接基站號、通話時間和時長等)、簡訊行為、消費情況、帳戶情況、投訴行為等等。每天BSS能夠新生成大約20GB數據。OSS的數據大致可以分為三塊:電路交換數據(Circuit Switch,CS)、分組交換數據(Package Switch,PS)和測量報告數據(Measurement Report,MR)。CS數據描述的是用戶的通話質量,比如掉話率、通話連接的成功率等。PS數據通常也被叫做MBB數據(Mobile BroadBand),它描述了用戶連接網絡的情況,比如上網速度、連接成功率和移動搜索文本信息等。MR數據來自無線電網絡控制器(Radio NetworkController,RNC),這些數據可以用來粗略的給用戶定位,獲知用戶運動的軌跡。每天OSS產生大約2TB數據,超過大數據平臺存儲數據的90%。除了BSS和OSS數據,我們還用爬蟲獲取了一些網際網路數據,比如地圖數據和一些社交網絡數據進行整合。
圖2 大數據平臺架構圖
圖2展示的是運營商大數據平臺的整體架構。我們將原始數據存儲在了Hadoop分布式文件系統中(HDFS)。然後再用Hive和Spark進行特徵生成和處理工作。這些構成了數據層(DataLayer),負責定期收集更新來自 BSS和OSS的數據表。數據層通過數據總線連接到能力層 (CapabilityLayer ),我們在能力層構建了兩種不同的模型 ,業務部分和網絡部分 。通過設計和業務相關的特徵加上數據挖掘和機器學習算法 ,能力層不但能夠支持內部應用 (比如精準營銷、維挽用戶和網絡優化等 ),還能支持一些外部應用(比如數據開放等)。本文介紹由大數據驅動的離網預測模型屬於應用層 (Application Layer ),圖2用紅色的虛線標明與數據層和能力層的關係。
圖3 離網預測和維挽系統
離網預測模型的流程結構如圖3所示。(1)HDFS和Spark負責原始數據的存儲和管理。(2)特徵工程模塊將原始數據處理成和離網相關的結構化特徵,用作分類器的輸入。(3)利用分類器訓練出來的模型預測未來有離網傾向的用戶,按照離網傾向高低排名,根據這個名單進行個性化維挽。(4)將用戶維挽的結果反饋到模型中形成閉環,不斷提高模型預測容易維挽的離網用戶精度。模型主要分為了三個主要模塊:訓練/驗證數據標註、特徵工程和分類器學習。其中最重要的是特徵工程模塊,當然其他兩個模塊也會影響最後的結果,下面就從這三個方面來分別闡述我們的工作。
圖4 預付費用戶進入充值期後充值時間分布圖
數據標註因為與需求直接掛鈎,所以是數據挖掘中非常重要的一步。如果訓練數據標註出現錯誤,那麼分類器精度再高也無法滿足最初的需求。在離網問題中,我們需要在歷史記錄中找出所有離網的用戶,並標註為1,其餘的在網用戶標註為0,這樣離網預測問題就轉化為一個二值分類問題。圖4顯示一年內預付費用戶進入充值期(欠費)後充值時間的分布。圖中橫軸表示預付費用戶進入充值期後再充值的天數,縱軸表示用戶的人數。從圖中可以觀察出以上的在網預付 費用戶在欠費後15天內就會再充值(即在網用戶)。因此 ,如果預付費用戶欠費15天內還未充值 ,那麼該用戶就可以被定義為離網用戶 。
根據數據的特點不同,所設計的特徵可以被分成三部分:基本特徵、CS特徵、PS特徵。其中,基本特徵主要從BSS數據中抽取,之前很多的離網預測研究都僅使用了來自BSS數據的基本特徵,例如帳戶餘額、通話頻率、充值金額、投訴頻率等記錄。與基本特徵不同,CS特徵和PS特徵都從OSS數據中抽取。我們選取了幾種具有代表性的上網/語音質量特徵和用戶位置特徵,比如平均數據上傳/下載速率、最經常出現的位置 (通過MR數據獲得 )等。此外,我們還利用一些非監督和半監督算法從原始數據中生成一些比較複雜的特徵 。基於圖的特徵、主題特徵、二階特徵。對每個用戶都生成一個維度的特徵向量。
用戶是否離網可能受周圍人的影響,因此我們可以通過用戶之間的關係來挖掘出離網傾向。我們構建三個無向圖包括通話圖、簡訊圖和共同位置圖(同時出現在一個位置)。其中每個用戶是一個節點,用戶之間邊的權重代表他們聯繫的強弱。例如,通話圖邊上的權重就是兩個人在一段時間內(比如一個月)相互通話時間的總和。我們規定用戶之間一定要相互通話過才能有邊相連,這是為了排除一些推銷和騷擾電話(單向邊)的影響。我們用Hive/Spark SQL生成了上面描述的無向圖,用係數矩陣ε表示,ε={wm,n≠0}。基於這個無向圖 ,我們使用PageRank和 Label Propagation 算法各自生成一維特徵 。由於傳統的PageRank算法的邊並沒有權重,我們使用了加權的 PageRank 算法。Label Propagation算法將離網用戶標注通過無向圖邊的權重向在網用戶傳遞 。
主題特徵
用戶在投訴和移動搜索中能夠產生很多文本數據,從文本信息中也能挖掘出有價值的特徵。在一段時間內 (比如一個月),每個用戶可以被認為是一篇文檔 ,文檔中是他的投訴 紀錄或者是搜索關鍵字。依據詞袋 (BagofWords )文檔中單詞認為是無序的,去掉一些無意思的詞後,我們將投訴和搜索內容分別構建了大小為 2408和15974的單詞表。由於這個矩陣是高維稀疏矩陣,不適合直接作為特徵加入我們的分類器。因此我們用概率主題建模算法 LDA(Latent Dirichlet Allocation )從高維稀疏矩陣獲取低維稠密特徵,在人工設定主題數 K後,算法能夠把每個用戶高維的特徵變成 K維。
在設計完全部的單項特徵後,我們又在此基礎上對單項特徵進行組合。原來的特徵向量為Xm={x1,x2,…,xi,… ,xN},二階組合特徵定義為 xixj,這可以幫助我們發現 特徵之間的隱含關係。如果把這些二階的特徵全部加入的話會使特徵向量的維度變得很大,因此我們使用LIBFM 模型來選擇在模型中權重貢獻最大的前20個二階特徵 。
我們使用隨機森林模型作為分類器,這是目前被廣泛使用的幾種分類器中預測性能較好,同時適合大規模並行運算,能夠快速學習稠密的特徵向量。隨機森林是由許多棵在特徵子空間中構建的決策樹組成的集合,每棵決策樹是一個子分類器,隨機森林平均所有子分類器的預測結果作為最終的預測結果。對於每一個待預測的用戶,隨機森林能夠給出離網概率(也就是該用戶標註為1的概率)。隨機森林還能根據信息增益計算出每個特徵的重要性排名,方便我們對特徵進行評估,改進之前設計的特徵。
利用搭建的運營商大數據平臺,我們驗證了大數據的3V特性能夠顯著提高離網預測的精度。下面會從Volume、Variety、Velocity三個方面驗證我們得出的結論。預測精度採用數據挖掘常用的Recall、Precision、AUC和Precision-RecallAUC指標衡量。其中,對預測離網概率從大到小排序首個用戶計算Recall和Precision。
圖5 增加訓練數據量使得預測精度逐步提高
圖5回答了關於大數據的第一個問題:是不是訓練數據量越大,預測模型的精度越高?這個實驗的訓練集用的是1-6個月的數據,測試集選用第個7月。一共進行6次實驗,每次都比前一次多用一個月的訓練數據。為了保證實驗的準確性,我們採用滑動窗口方式,又重復做了兩組(第二次選用2-7月做訓練集,第8個月數據做測試集),將三次得到的結果取平均值。實驗結果如圖5所示,可以看到在訓練數據量增加到初始的4倍時,預測精度還在不斷上升。這個實驗也說明了訓練數據量的增多確實能夠提高預測的精度。
表1 增加數據種類實驗結果(U=2x105)
表1回答了關於大數據的第二個問題,是否加大抽取特徵的多樣性,預測模型的精度就越高 。每一種特徵哪怕只提供很少關於預測結果的信息 ,累積起來也能增強模型的預測精度 。實驗中,我們把之前提及的特徵分為大類 :F1)BSS特徵;F2)CS特徵;F3)PS特徵 ;F4)通話網圖特徵;F5)簡訊圖特徵;F6)共現圖 特徵;F7 )主題特徵(投訴);F8 )主體特徵(移動搜索 );F9)二階特徵。實驗共做7組(選取不同月份,與上面的實驗類似 ),取結果的平均值。每組實驗先只用F1做基本特徵,然後再用F1+F2,F1+F3,…,F 1+F9,分別得到9組預測結果,最後將後8次預測精度 與第1次比較。實驗結果如 表1所示,加大特徵多樣 性能夠顯著提升模型預測精度。
表2 加快數據更新實驗結果(U=2x105)
表2回答了關於大數據的最後一個問題:是不是訓練數 據越新(處理速度越快),預測模型精度越高?這個問題用到離網預測模型也可以換種說法:需要多久用新來的數據更新分類器 ,從而使能模型能夠更好地捕捉用戶的離網行為?為了驗證這個問題,我們分別用用戶 5天前、10天前、20天前和30天前的一個月數據來預測該用戶接下來 30天是否會離網。實驗結果如表3所示。我們發現模型更新時間間隔越小,也就是訓練數據更新速度越快 ,預測精度越高。但是,預測 精度提高的幅度遠遠沒有之前加大訓練數據量和增加特徵多樣性那樣顯著。
表3 大數據驅動的離網預測模型最終性能
表3總結了大數據驅動的離網預測模型綜合表現,採用4個月的訓練數據,所有從BSS和OSS數據抽取的特徵,模型更新速度是30天。該模型在前5萬最高離網概率用戶的預測精度接近0.96,在前30萬最高離網概率用戶的預測精度超過0.5,滿足商用要求,為維繫挽留用戶提供了較好的決策依據。
本文從大數據3V的角度重新探索經典的離網預測問題,展現了大數據的威力,訓練數據的總量、多樣性和更新速度確實能夠顯著提升預測精度。其中,3V中的多樣性(Variety)起了最主要的作用,促使我們重視OSS數據的挖掘,而之前的研究主要集中於易於獲得的BSS數據,對OSS數據並沒有很好地利用。OSS數據量的龐大並有較高的潛在商業價值,如果能對OSS數據進行有效的開發,必將給運營商帶來持續的收益。本文中,我們整合BSS和OSS數據特徵,並取得較好的離網預測效果也證明了這一點。最後,感謝蘇州大學計算機科學與技術學院兩位同學黃一清和朱方舟實現並調試離網預測模型的原型。
作者簡介:
沈可,上海聯通副總經理,大數據資深專家,多年從事運營商大數據跨業應用研究,作為上海市委宣傳部特聘講師,常年對各政府機關和企事業單位講授大數據應用相關課程,並與華為聯合組建大數據應用創新實驗室。
劉志剛,上海聯通網際網路與存量經營部總經理,運營商大數據系統架構搭建和大數據跨行業應用專家,領導上海聯通大數據能力建設,並與華為聯合組建大數據應用創新實驗室。
姚健,上海聯通網際網路與存量經營部大數據處經理,從事大數據應用項目管理和前瞻性研究,帶領團隊實施上海聯通存量經營大數據應用項目,實現運營商內部存量經營運營效率提升。
袁明軒,香港科技大學博士,華為諾亞方舟實驗室大數據科學家。主要研究領域包括電信/時空大數據管理、挖掘與隱私保護。
曾嘉,香港城市大學博士,華為諾亞方舟實驗室大數據科學家。主要研究領域包括電信大數據平臺、挖掘算法與數據產品的商業變現。
(責任編輯/周建丁)
【預告】
2015中國人工智慧大會(CCAI 2015)將於7月26-27日在北京友誼賓館召開。機器學習與模式識別、大數據的機遇與挑戰、人工智慧與認知科學、智慧機器人四個主題專家雲集。
人工智慧產品庫將同步上線,預約諮詢:QQ:1192936057。歡迎關注。
本文為《程式設計師》原創文章,未經允許不得轉載,如需轉載請聯繫market#csdn.net(#換成@)