微博商業數據挖掘方法html
本文主要介紹微博商業數據挖掘的體系及方法,但並不注重模型和算法這些細節,而是闡述數據如何貼近、支持和引導業務,如何創建合理的評價體系,以及如何圍繞這兩點建設數據挖掘架構。算法
業務及產品緩存
微博廣告生態的複雜程度在業界首屈一指。因爲微博自己的開放性,微博廣告客戶天生就有以下多樣性:網絡
類型架構
電商類型:投放方式大多比較傳統,投放目標主要是註冊或購買;機器學習
App類型:投放目標主要是App下載或者用戶喚醒;工具
O2O:投放目標包括電話、到店、銷售線索等;學習
媒體/品牌類:投放目標主要是帶粉,擴大影響力和傳播範圍。測試
投放方式優化
不一樣客戶對微博廣告產品這項營銷工具的理解和應用程度相去甚遠,有一部分客戶已經能熟練使用不一樣的自助廣告產品,設置不一樣的創意模板,撰寫有針對性的創意來達到不一樣的營銷目的,甚至常用時間和空間上的組合營銷形式,這些客戶一般效果較好,粘性也很強;但也有一部分客戶還停留在傳統聯盟廣告的時代,投放方式比較單一,對創意的生成欠缺足夠思考,效果也不盡人意。客戶梯度共同構成了微博廣告生態,最直接的後果就是——優秀的廣告與毫無吸引力的廣告並存。
定向要求
因爲微博的強帳號屬性以及由此帶來的用戶畫像挖掘方面的潛力,客戶對廣告定向工具的要求很是精細。主要包括以下幾類定向條件:
基礎定向:用戶的年齡,性別,城市,手機型號等;
興趣定向:用戶感興趣的實體類目,甚至興趣關鍵詞;
關係定向:指定大號或競品的粉絲投放;
狀態定向:指定處於某一人生狀態的用戶,好比車房、婚戀階段;
情景定向:一類粒度很是細的實時觸發類投放,這類需求常常來自於SCRM(社交客戶關係管理)之類的業務,譬如客戶能夠指定投放給跟他的某條微博有互動的全部用戶,或是正在首都機場的全部用戶
圖1 廣告客戶對微博廣告的細分需求
微博推出了多種計算廣告產品來知足多樣化需求,而且還在持續迭代和改進。每一種廣告產品專門抽象一大類投放需求,有不一樣的廣告模板、計費方式、定向條件、投放平臺以及專業人員配備。這是近兩年微博商業化順暢進行的主因。
圖2 主要微博廣告產品矩陣
商業數據體系
廣告投放業務對數據的需求主要是流量細分及描述反饋,所以微博商業數據挖掘體系也是以流量細分,即一般說的以用戶畫像爲核心來建設。周邊輔助的數據挖掘模塊主要包括:
內容挖掘:微博用戶的一切屬性都由他們的行爲及其客體來描述,而這些用戶行爲(包括轉發、評論、關注、贊、點擊短鏈/視頻)和客體(微博、廣告主、大號)構成了微博產品的絕大部分,所以內容挖掘一直都是商業數據挖掘的重點工做。
關係挖掘:包括全部用戶跟客體對象之間聯繫方式的挖掘。關係挖掘的難點主要是發如今每個業務場景下,不一樣關係的產生對於廣告效果的意義及影響。
App數據挖掘:微博做爲開放平臺接入了至關數量的第三方App,用戶使用這些App的行爲記錄能幫助咱們獲取他們做爲天然人的信息,用於判斷用戶在實際生活中的某些狀態。另外,用戶的App喜愛可以直接幫助App類廣告進行投放。
LBS數據挖掘:微博的簽到數據能幫助判斷用戶的某些狀態,同時也能知足部分客戶在投放上的某些需求,好比O2O類的客戶會更加關心附近的本地用戶。
在長期業務實踐中,咱們最終將用戶畫像體系分爲以下3個部分:
基礎數據:描述用戶的一些基本信息,包括年齡、性別、常駐城市、手機型號、活躍度等。大部分信息能夠直接獲取或簡單統計獲取,有時須要對數據的準確性加以算法修正;
興趣數據:主要描述「用戶對什麼感興趣」;
情景數據:主要描述「用戶是什麼人」。
圖3 微博商業數據體系
用戶數據的計算有一套完整的高複用低耦合的數據模塊體系來支撐,最終成形的數據挖掘架構如圖4所示。
圖4 微博商業數據挖掘架構
評價體系
四層評價
微博商業數據挖掘工做第一大重點是評價體系的建設。據咱們瞭解,這是不少數據挖掘部門忽視的地方。咱們創建了一個四層級的評價體系:
1.效果級:挖掘的結果能夠直接用線上廣告投放效果提高來評價。這是最強的一級評價。
示例:目前爲止,只有興趣挖掘可以使用這一級評價。
2.Ground Truth級:Ground Truth有一個規模足夠的數據集來看成標註集和交叉驗證的測試集,可使用監督學習算法來作分類。這個Ground Truth數據集被看成最終可信的評估標準,也用於交叉驗證。
示例:用戶性別。微博全部用戶都有本身填寫的性別屬性,但並不是100%可信。但微博有不少實名認證的用戶,這部分用戶的性別是可信的,所以咱們以這些用戶做爲標註,來修正那些沒有實名認證的用戶性別數據。
3.Case級:不具有統計意義的標準數據集,即沒法得到標註數據,但對於分類的結果,少部分可以經過人工到微博用戶的頁面上去判斷是否準確。這種狀況只能經過規則來挖掘。
示例:常住城市。挖掘用戶常住城市只能使用用戶的IBS信息及IP地址,其他的特徵對這個標籤的貢獻度都極其有限,所以只能使用規則來斷定,而後對規則分類的結果抽樣後,人工去用戶微博頁面上檢驗。只有大約5%的用戶可以經過微博頁面(博文、照片等信息)來人工判斷他的常住城市。
4.Logic級:當以上三個級別的評價條件都不具有,只能評價邏輯完備性。即挖掘規則邏輯是不是當前狀況下最合理的。
示例:差旅狀態。用戶當前位置不在常駐城市即斷定爲差旅狀態,不作任何驗證(但不作任何驗證的狀況極少,一般Case級和Logic級的評價很難徹底分開,一般是偏Case或是偏Logic,總要同時看邏輯完備性和Case檢驗)。
圖5 數據挖掘四層評價
評價體系建設
對於評價有以下原則:
任何一項數據挖掘工做都必須在開展以前肯定具體評價方法,而且讓這項工做的相關人員(包括PM)都知曉並承認這種評價方法。
儘量把一項數據挖掘工做的評價方法往上一個層級推。
這是評價體系建設的重點,意味着不只只有算法和模型工做能夠不斷迭代,評價方法自己也能夠迭代。這項工做的重要性可能比模型的研發還要重要,若是大部分工做的評價只能停留在Case級甚至Logic級的話,整個數據挖掘體系很快就會無覺得繼,變得沒有意義,由於這種工做的迭代餘地很小,且沒有方向。
咱們花大量的時間解決Ground Truth數據,方法通常有兩種:
引入第三方數據。這是一項長期進行的重要工做。任何互聯網平臺在數據上都有本身的長處和短板,微博的短板是缺乏足夠細分垂直領域的用戶數據。所以一直致力於引入各類用戶現世數據和垂直領域數據。
在現有數據的基礎上用規則過濾正樣本。經過規則找到一個召回率較低但準確率很高的集合做爲正樣本,就能夠把評價推高到Ground Truth級。
除了興趣標籤外,能直接用效果來評價的數據並很少,並且業務層面的假設太多,咱們在實踐中僅用來參考。例如性別數據,對某些已知的強性別選擇的廣告行業(例如美妝),能夠經過線上效果來間接斷定數據準確率,但這種不夠直接的方法不多采用,由於中間因素太多,自洽性不強。
在這個評價體系下,數據工程師並不對興趣標籤以外挖掘結果的廣告效果負責。若是用戶使用了這些定向工具備好的效果,那很好,若是效果很差,數據工程師是不會就這個標籤自己來進行效果優化的,由於這根本不是評價方向,這類標籤在業務中的位置不處於效果的反饋環上。工程師只對興趣標籤作效果優化。
除興趣標籤以外的數據挖掘流程如圖6。
圖6 數據挖掘方法流程
興趣挖掘
興趣挖掘並無Ground Truth能夠驗證,由於興趣自己就是一個非客觀、難以界定的描述。在微博商業體系內,興趣是以下定義的:
用戶若是對某類別的事物感興趣:用戶在指定廣告投放場景裏對這類廣告的預估轉化機率/點擊率較高。
若是不能指定具體廣告投放場景,興趣的意思是:用戶對這類內容的歷史關注/互動率較高。
在前一種狀況下,興趣標籤是一個可預估的最優化問題,是CTR/CVR預估體系的一部分,能夠作出不一樣粒度的興趣標籤來,並且每每不止一套。若是有N種計算廣告產品,每種廣告產品能夠有M種預約義的轉化行爲,線上的興趣標籤理論上最多能夠有N x M套。標籤數據的評價方式直接用線上效果評價,能夠持續迭代。
在後一種狀況下,興趣標籤只是一個解釋性問題,在評價體系裏處於最底層,實際上沒法迭代。但這種興趣標籤的存在是必要的,由於並非全部的應用場景都是廣告投放,並且用特定產品的廣告數據訓練出的模型會比較偏,但某些場景(好比DMP的流量透視功能)須要一套不直接服務於投放效果、能完整描述用戶羣體的標籤。所以咱們根據關注和互動關係用簡單統計的方法生成一版通用的興趣標籤。它只要求可解釋性,因此規則越簡單越好。通常禁止使用層次分析法,由於它對任何一層的評價都沒有幫助。
內容興趣
圖7 微博內容興趣標籤計算
內容興趣標籤提供給除應用家以外的廣告產品作定向工具。內容興趣的作法以下:
劃定一個微博上提供內容的大號列表,這個列表中用戶貢獻的原創內容能覆蓋絕大多數被消費(閱讀、互動)的原創內容。列表包括全部廣告主。咱們稱這個列表爲廣義客戶列表。
挖掘這些大號所提供內容的領域關鍵詞,主要是相關性計算。
對這些大號進行聚類,而後人工整理聚類的結果,造成一個二級內容分類樹。這個分類及領域關鍵詞被稱爲大號的能力標籤。微博上不生產的內容(好比工農業行業信息)對微博廣告產品來講是無心義的,所以沒有采用人工預先給出分類體系的方法。
用機器學習模型(FM或LR)來預估每一個廣告產品中,用戶對每一類廣告產生目標行爲的機率,若是高於某個閾值,即看作該用戶對該類別是有興趣的。這是用於具體廣告產品定向的作法。
在廣告運營工做中咱們常常針對某一個廣告主作專屬定向包,方法相似,只是特徵是在用戶-廣告主這個粒度的。
若是須要不依賴具體廣告產品的通用數據,直接統計每一個用戶對大號的關注關係,若是用戶對某一類別的關注高於平均值,即看作對該類別是有興趣的。
App興趣
App興趣標籤是爲應用家產品專門創建的。這項工做可以比較完整地表現微博商業數據挖掘中解決問題的思路。
App興趣標籤是應用家CVR預估體系的一部分。CVR預估體系被建設成一個漏斗式的,特徵的粒度從粗到細。App興趣標籤是用戶-App類別粒度的,模型中較多使用交叉特徵,這一層的計算結果被包裝成定向工具給客戶使用;中間層的粒度是用戶-App,做爲一個隱式定向存在;最後一層則是線上的CVR預估模型,特徵粒度是用戶-廣告-上下文,計算結果直接參與Rank。
在作CVR預估以前有兩個數據問題。首先,應用家的功能支持廣告客戶指定效果目標行爲:下載(推進沒有安裝這個App的用戶下載)和喚醒(推進安裝了這個App的用戶從新進入該App成爲當天日活)。所以至少須要知道每一個用戶是否安裝了這些App,才能比較精準地投放。
解決這個問題的方法是:
以微博已有的數據爲基礎,引入第三方數據,獲取儘量多的用戶安裝App列表。
以1做爲標註數據,預估那些1沒有覆蓋到的用戶App安裝狀況。
另外一個問題是,要作CVR預估就必須獲取下載數據做爲訓練標註。但微博沒法跟蹤從廣告點擊跳轉出去的用戶後續行爲(尤爲是iOS環境下)。
解決的方法是:
跟第三方監控公司合做,獲取部分客戶App後續下載數據。
以1做爲標註數據,預估那些1沒有覆蓋到的客戶App後續下載狀況。
這兩個問題的解決方法一模一樣,都是先去找數據,找不到的部分再預估。預估的結果能夠結合交叉驗證,直接線上評價。
應用家數據挖掘體系如圖8。
圖8 App興趣標籤計算
情景挖掘
情景挖掘來源於一系列客戶需求。在業務溝通中,常常接到客戶相似以下的需求:
常常出入高級酒店和機場的用戶;
寶馬車主;
大學生;
在微博參與了某個指定話題(好比「#Angelababy大婚#」)的用戶。
這些需求看似零亂,實際上都屬於不一樣於「興趣」的另外一類問題,它須要知道「用戶是什麼人」。所以咱們建設了情景挖掘體系來整合響應這類需求的工做。
圖9 情景挖掘體系
情景引擎
最先創建情景引擎是爲了知足某些DSP給大客戶作SCRM的需求。客戶須要運營社交網絡上的粉絲和潛在客戶,須要一些工具把消息分發給這些用戶,好比:
把廣告投放給微博裏說起了「寶馬」的用戶;
發一條活動微博,而後把廣告投放給跟這條微博互動的用戶;
把廣告投放給剛剛關注奔馳的用戶。
針對這類需求咱們實現了一個情景引擎,接入微博上全部主要用戶行爲數據,按行爲類別(謂語行爲)分類存儲,抽取出其中的對象(賓語個體),一個情景就定義爲謂語 賓語,通過一系列中間計算後,造成「用戶-情景列表」索引格式的數據,實時更新到線上緩存供定向服務使用。
情景引擎用Storm接入實時數據,計算後分鍾級別更新到線上緩存,大部分是工程問題。裏面涉及到算法的地方主要有兩處:
數據清洗。接入的線上數據有垃圾流量,好比在話題區刷廣告的。須要建一個反垃圾模塊。
關係擴展。計算出來的情景-用戶列表一般會有極強的長尾分佈,即頭部的情景佔據海量用戶,但咱們在廣告投放時但願大部分情景都能有至關數量的覆蓋用戶。所以會丟棄掉大部分長尾數據,對分佈的中間部分作基於類似性或相關性的算法擴充。
中長期情景挖掘
基於情景引擎長期積累的數據,咱們在上層創建了中長期情景標籤體系(對外稱爲人生狀態標籤)。
人生狀態標籤體系一共有20多個標籤,涵蓋用戶的求學、旅行、車房、職業、婚戀、育兒等狀態。這些標籤都是各自獨立挖掘,挖掘的算法徹底由其評價方法而定,並無通用方法,而評價方法徹底取決於源數據狀況。下面給出幾個例子:
大學生標籤:
根據發微博的內容過濾出一個準確率比較高的大學生用戶集合(大學生在某些場景下發的微博會帶有區分度很是高的關鍵詞)。而後對16-25歲之間的用戶建模,特徵主要包括關注特徵、App使用特徵,IBS特徵。用過濾的用戶集合爲正樣本,隨機取一個負樣本集合進行訓練。對全部16-25歲之間但不在樣本集合中的用戶進行預測,取一個預約的數量。
差旅標籤:
當前用戶的位置與用戶常駐城市不符,即看作用戶在差旅狀態。
豪車車主:
根據用戶行業/頭銜、影響力、社交關係等信息制定過濾策略。到用戶微博頁上人工驗證。
用預估的方法會有一個問題,即很難保證作出來的正樣本訓練集是無偏的。通常來講,可以知足某種過濾條件的數據老是有偏的,一般更偏向於更好更活躍的用戶。但在後期評估中發現,只要注意在模型裏儘可能不使用規則裏的那些特徵,關係並不大。另外,訓練集偏向更好的用戶也不算大問題,由於計算結果原本就要求優先保證更好的用戶,那些不活躍的、特徵缺失嚴重的用戶對業務的影響相對不重要一些。
人生狀態標籤跟興趣標籤看上去有相似的地方,但從評價方式和應用出發點來看徹底不一樣。例如,「用戶對嬰兒用品感興趣」跟「用戶是嬰兒父母」是兩回事。從廣告投放的角度出發,咱們歷來不把這二者混爲一談,咱們對前者的效果負責,但不對後者的效果負責。
另外,咱們認爲人生狀態標籤這樣的挖掘工做並不是將來的方向,而是表明着一種傳統廣告業的思路。過多地依賴這種人能閱讀和理解的,但卻高度離散化的因素並不是計算廣告的思惟方式。但這不意味着這樣的工做沒有意義,在新媒體廣告領域,它在至關長的時期內都是必須存在的。
小結
在長期實踐中,咱們總結出數據挖掘工做中最重要的兩點是:緊貼業務,肯定評價。不能作到這兩點的數據挖掘團隊一般會工做得比較困難,作不少無用功。
緊貼業務意味着數據團隊要從業務KPI中拆分出本身能貢獻的一部分,這一部分能直接評價就不要間接評價,所以問題又回到評價上,這是數據工做的核心。
評價體系的建設是一項容易被忽視的重要工做,它包括評價方法和流程的創建和迭代,評價數據的獲取和製做。其中數據獲取必需要長期進行,如今業界數據合做及打通已經變成一種趨勢,你們可以經過合做來獲取本身缺少的數據,只靠本身的數據很難把工做作完整。
微博在產品創新和商業化的道路上已經走了好久,試錯和踩坑都不可勝數,在利用自身優點基礎上的內外部積累也開展得比較早,所以在數據挖掘領域足夠接地氣,足夠開放,數據工做自身才能作得很是活,同時支持和引導廣告業務的發展。