信運營商積累了大量的優質數據,介紹了構建大數據AI能力層的一種方案,大數據AI能力層能夠幫助運營商更好地利用流量紅利和數據紅利。對外通過AI有效提升運營商客戶服務水平與市場營銷效果,同時拓寬運營商的服務類型和業務范圍;對內使用 AI推進網路虛擬化和云技術,提高自動化水平,降低資本和運營支出。
前言
經過多年的高速發展,電信運營商目前已經積累了大量的數據,其中包括行業綜合數據、用戶使用交互信息、用戶消費數據、設備日志記錄等結構化數據,與文本、音視頻、圖片等非結構化數據。AI 人工智能經過數十年的發展,很多算法已經非常成熟穩定,能夠廣泛應用到生產、生活的各個方面。2016年 AlphaGo 事件以后,AI 受到了全世界的矚目,以谷歌、FaceBook、微軟、阿里巴巴、百度等為代表的互聯網企業在近幾年也利用AI在各個行業積極布局。
目前我國電信產業已無法從人口紅利模式中繼續獲取高速發展,轉而逐漸重視流量紅利和數據紅利。運營商走在信息網絡的最前沿,能獲取用戶最真實、最核心的數據,同時一直為用戶提供全面的ICT服務。對外,AI的使用能夠有效提升運營商客戶服務水平與市場營銷效果,同時能夠拓寬運營商的服務類型和業務范圍;對內,AI 能夠幫助運營商推進網路虛擬化和云技術,達到提高自動化水平,降低資本和運營支出的效果。
1
AI能力層相關技術
1.1 人工智能
人工智能(AI),也稱機器智能、智能模擬等,它是計算機科學、控制論、信息論、神經生理學、心理學、語言學等多種學科互相滲透而發展起來的一門綜合性學科。人工智能是用來研究、開發用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的科學。目前已在知識處理、模式識別、自然語言處理、博弈、自動定理證明、自動程序設計、專家系統、知識庫、智能機器人等多個領域取得舉世矚目的成果,并形成了多元化的發展方向。
1.2 Python
Python是一門解釋性的、面向對象的、動態語義特征的高層語言。它的高層次的內建數據結構,以及動態類型和動態綁定,使得它非常適合于快速應用開發。Python 的簡單而易于閱讀的語法強調了可讀性,因此降低了程序維護的費用。Python 支持模塊和包,并鼓勵程序模塊化和代碼重用。Python的解釋器和標準擴展庫的源碼和二進制格式在各個主要平臺上都可以免費得到、免費分發。
1.3 Docker技術
Docker 是一個開源的容器引擎,可以方便地對容器進行管理。其對鏡像的打包封裝,以及引入的DockerRegistry對鏡像的統一管理,構建了方便快捷的“Build,Ship and Run”流程,它可以統一整個開發、測試和部署的環境和流程,極大地減少運維成本。另外,得益于容器技術帶來的輕量級虛擬化,以及 Docker在分層鏡像應用上的創新,Docker在磁盤占用、性能和效率方面相較于傳統的虛擬化都有非常明顯的提高。因為 Docker是基于容器技術的輕量級虛擬化,相對于傳統的虛擬化技術,省去了 Hypervisor層的開銷,而且其虛擬化技術是基于內核的 Cgroup 和 Namespace 技術,處理邏輯與內核深度融合,所以在很多方面,它的性能與物理機非常接近。
1.4 TensorFlow
TensorFlow是谷歌基于DistBelief進行研發的第二代人工智能學習系統,是用來制作 AlphaGo 的一個開源的深度學習系統,其命名來源于本身的運行原理。張量(Tensor)意味著N維數組,流(Flow)意味著基于數據流圖的計算,TensorFlow 為張量從流圖的一端流動到另一端的計算過程。TensorFlow是將復雜的數據結構傳輸至人工智能神經網中進行分析和處理過程的系統。TensorFlow可被用于語音識別或圖像識別等多項機器深度學習領域,對2011年開發的深度學習基礎架構DistBelief進行了各方面的改進,它可在小到一部智能手機、大到數千臺數據中心服務器的各種設備上運行。TensorFlow完全開源,任何人都可以用。
2
大數據AI能力層構建方案
2.1 運營商大數據現狀
從數據規模來看,截至 2018 年 6 月,中國 4G 用戶數已突破 11億,移動用戶已近 15億,基于如此龐大的用戶數,無論是用戶信息、消費記錄還是設備日志數據均體量龐大且保持快速增長。江蘇聯通天璣數據中心目前每日入庫數據超過 600 億行,每日集群各任務使用數據量超過100 TB。
從數據質量來看,運營商數據都是基于真實用戶使用記錄以及設備運行記錄,具備真實性和完整性,是非常優質的數據。江蘇聯通天璣數據中心作為O域綜合數據中心,目前接入了移動網核心網信令數據、移動網 MR 信令數據、移動網性能數據、客服類數據、固網信令數據、固網認證數據、設備告警數據、部分 B 域數據等多種數據源,全部為用戶、設備日常產生的真實數據。
從數據使用來看,運營商數據使用者類型各異,需求類型眾多。有些數據分析如位置營銷數據需要實時輸出分析結果,有些數據如核心網信令統計數據則需要非實時的大數據量運算;有些數據使用者需要使用集群的計算資源與數據資源,有些數據使用者需要使用自有計算框架,有些使用者需要使用專用AI計算設備。
2.2 大數據AI能力層構建
結合運營商大數據特點與數據使用現狀,采用單一數據源、松耦合、高異構的原則構建江蘇聯通天璣數據中心 AI能力層。天璣數據中心 Hadoop集群提供唯一數據源,軟件上搭建 Docker 集群Python 計算節點、TensorFlow 節點等多種計算平臺,硬件上部署了 Hadoop 集群服務器、單節點高性能計算服務器、GPU 加速AI服務器等,各平臺之間既相互獨立又能夠互通數據、互相調用計算資源。
圖1示出的是天璣數據中心分層架構。
▲圖1 天璣數據中心分層架構
2.2.1 Docker集群
在運營商大數據使用場景中,經常會有臨時的大數據量分析任務,如重大節假日保障、重要會議保障、自然災害臨時保障等數據分析場景,這些任務開啟時通常需要臨時調度大量計算資源,但場景結束后這些計算資源就完全閑置下來。大數據分析算法通常具有非常復雜的架構,很多數據使用者需要在多臺節點上重復部署大量依賴環境,浪費了很多時間、精力。
針對以上使用場景,部署了 Docker 集群。Docker集群所具備的快速部署、快速調度的特點非常適用于重保數據分析場景,任務開啟時可以臨時開啟大批量Docker容器參與計算,任務結束后 Docker容器即可關閉,無需冗雜的資源釋放、清理工作。Docker容器能將完整的程序運行環境進行一次封裝、多處調用,節省了大量計算環境部署的時間。
2.2.2 Python計算節點
Python用于機器學習開發環境,具有如下優點。
a)Python是解釋語言,程序寫起來非常方便。寫程序方便對做機器學習的人很重要。因為經常需要對模型進行各種各樣的修改,這在編譯語言里很可能是牽一發而動全身的事情,Python 里通??梢杂煤苌俚臅r間實現。
b)Python的開發生態成熟,有很多有用的庫可以用。Python具備NumPy、SciPy、NLTK、os(自帶)等豐富的API庫,極大地方便了算法開發者,使其將精力專注于算法的設計上來。Python靈活的語法還使得包括文本操作、list/dict comprehension等非常實用的功能非常容易高效實現(編寫和運行效率都高),配合lambda等使用更是方便。
c)Python 的效率很高。解釋語言的發展已經大大超過許多人的想象。很多比如 list comprehension 的語法都是貼近內核實現的。除了JIT之外,還有Cython可以大幅增加運行效率。最后,得益于 Python 對 C 的接口,很多像 gnumpy、theano 這樣高效、Python 接口友好的庫可以加速程序的運行。
此外,Python 還具備數據存儲方便、數據獲取方便、數據運算方便、輸出結果方便、和其他語言交互方便、調用GPU加速方便、云系統支持方便等種種優點。
2.2.3 TensorFlow環境
TensorFlow可用于語音識別或圖像識別等多項機器深度學習領域,并且TensorFlow完全開源,任何人都可以用。
TensorFlow 表達了高層次的機器學習計算,大幅簡化了第一代系統,并且具備更好的靈活性和可延展性。TensorFlow 一大亮點是支持異構設備分布式計算,它能夠在各個平臺上自動運行模型,從手機、單個CPU/GPU 到成百上千 GPU 卡組成的分布式系統。從目前的文檔看,TensorFlow 支持 CNN、RNN 和 LSTM 算法,這都是目前在 Image、Speech 和 NLP 最流行的深度神經網絡模型。
在江蘇聯通MR共享層項目中,針對MR定位分析算法,TensorFlow 框架的加入提升了 30% 的運算速度與10%的數據準確性。
2.3 各AI計算平臺協作
天璣數據中心AI能力層采用松耦合架構,各AI計算平臺皆可獨立運行,但各平臺如果全部獨立運行無法發揮大數據優勢,平臺之間需要相互協作才能將各自優勢最大化。
圖2示出的是各AI能力層相互協作結構。天璣數據中心AI能力層建設原則為:所有數據存儲在 Hadoop 平臺中,各 AI 計算平臺都需要通過接口機連接到 Hadoop 平臺,進行身份驗證和數據讀取,然后才能進行數據分析,數據分析結果可輸出也可寫入Hadoop集群。
▲圖2 各AI能力層相互協作結構
Docker 平臺本身是一個容器調度框架,可以在容器中封裝 Python、TensorFlow 等計算環境,Docker 集群中有一臺 Hadoop 接口機,作為權限認證、數據讀取的中間環節,Docker集群可以通過接口機從Hadoop集群中讀取數據,然后進行數據處理、分析。
Python節點安裝 Hadoop代理,本身可以作為集群權限認證、讀取數據的節點,可以將數據讀取后進行分析。但是 Python 語言本身性能有限,并且無法進行并行計算,數據量增加到一定程度就無法很好地完成任務??墒褂肞ySpark框架來通過Python調用Hadoop的計算資源。為了不破壞 Spark 已有的運行時架構,Spark 在外圍包裝一層 Python API,借助 Py4j 實現 Python和Java的交互,進而實現通過Python編寫Spark應用程序,其運行時架構如圖3所示。
▲圖3 PySpark架構
3
AI能力層應用案例
公司提出了推動 2G 用戶遷轉 4G 的要求,需要通過對天璣數據中心相關數據進行挖掘,智能推薦2G遷轉4G目標用戶群。本系統共計分為2個模型。
3.1 2G轉4G潛在客戶識別模型
在用戶畫像的基礎上,分別篩選歷史完成2G遷轉4G 的用戶歷史消費數據,通過機器學習算法,提取出這些用戶的特征,并以此來識別當前登網 2G 用戶中,具備這些特征的消費者,將之識別為高推薦值的用戶。
3.1.1 模型input參數
通過用戶畫像,主要輸入無量綱字段帶入模型中計算。引入無量綱字段具有如下優點。
a)避免了歸一化的問題。
b)后續若要引入集成模型,進一步提高模型準確度,不需要額外的數據處理工作。
c)適用于BP神經網絡模型。
導入模型的數據實例見表1。研究 2018 年 1—6 月用戶的情況,若 1 月份為 2G用戶,6 月份為 4G 用戶,則選擇該用戶 1 月份的數據,并設置為正例。若1月份為2G用戶,6月份仍為2G用戶,則選擇該用戶1月份的數據,并設置為反例。
▲表1 導入模型數據實例
3.1.2 模型的設置
模型采用 xgboost,在構建模型階段,要特別注意數據不平衡的問題。從歷史數據看,反例樣本數據量為正例樣本數據量的 5~7 倍,遠遠高于正例樣本的數據量。為了消除樣本不平衡的問題,可采用如下方法。
a)在調參中設置樣本不平衡參數,進行糾偏。
b)選取部分反例樣本,舍棄多余樣本,達到正反例平衡。
c)增加正例樣本的數目,可以通過復制部分正例,或者通過算法增加虛擬的正例樣本數目。
d)切割反例樣本 n份,每份反例樣本均與正例進行模型計算,計算結果進行投票統計或者求取平均值。本模型采用第4種方法。
模型示意圖如圖4所示。
▲圖4 2G轉4G潛在客戶識別模型示意圖
3.1.3 模型訓練環境
通過PySpark組件,直接調用Hadoop集群Spark組件,使用Hadoop集群的計算資源和數據資源進行模型訓練。
3.2 潛在換機預測模型
選取入網時長超過9個月的現網存量用戶,與前8個月關聯,保留存量用戶。根據用戶歷史數據,預測下個月是否會換手機。
3.2.1 輸入數據清洗
選取入網時長超過9個月的現網存量用戶,與前8個月關聯,保留存量用戶,并篩選出手機用戶,手機IMEI號為正常字符的用戶。選取字段表中相應字段,再與終端表中的 mzie_type、is_dual、mz_type 字段進行關聯。最終得到700萬條數據。
數據字段表見表2。
▲表2 輸入數據字段表
3.2.2 數據建模
針對換機預測課題,構建基于 xgboost 算法模型,將篩選的 700 萬條數據分批導入模型進行訓練,給用戶打上換機可能性的標簽。市場操作時,可以調整可能性閾值,來篩選換機可能性較大的用戶,精確營銷。
模型示意圖如圖5所示。
▲ 圖5 潛在換機預測模型示意圖
3.2.3 模型訓練環境
通過Hadoop集群Hive數據倉庫讀取相關數據,讀取到 Python 計算節點,使用相關硬件加速接口調用GPU進行計算加速。
3.3 2G遷轉4G用戶數據挖掘模型效果
以 IMEI號為標識,挖掘用戶近 9個月的終端更換情況,并統計這9個月用戶更換手機次數。預測月前3個月賬單、流量、通話的增長、減少情況。用戶年齡、性別、入網時長、NPS 評分等信息。將數據送入 xgboost算法進行訓練,得到換機預測算法模型。再將需要預測月份的數據送入模型,得到該月用戶換手機的可能性指標。篩選可能性大于某一閾值的用戶名單,系統直接推送給相關市場部門,進行精準營銷。本次以沭陽的4個營業廳作為潛在換機客戶營銷試點。一個星期的時間,共撥通 106戶,其中成功辦理 14戶,撥通辦理成功率為13.2%。相較于非精準營銷的普通營銷方式,每月到營業廳辦理中國聯通合約機,占每月中國聯通用戶換手機總數的2%這個比例,有了500%以上的提升,達到了精準營銷的目的。
-
AI
+關注
關注
87文章
30758瀏覽量
268902 -
大數據
+關注
關注
64文章
8883瀏覽量
137407
原文標題:運營商大數據AI能力層的構建方案探索
文章出處:【微信號:C114-weixin,微信公眾號:C114通信網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論