微博商業數據挖掘方法

本文主要介紹微博商業數據挖掘的體系及方法,但並不注重模型和算法這些細節,而是闡述數據如何貼近、支持和引導業務,如何建立合理的評價體系,以及如何圍繞這兩點建設數據挖掘架構。

業務及產品

微博廣告生態的複雜程度在業界數一數二。由於微博本身的開放性,微博廣告客戶天生就有如下多樣性:

類型

  • 電商類型:投放方式大多比較傳統,投放目標主要是註冊或購買;

  • 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 數據挖掘四層評價

評價體系建設

對於評價有如下原則:

  1. 任何一項數據挖掘工作都必須在開展之前確定具體評價方法,並且讓這項工作的相關人員(包括PM)都知曉並認可這種評價方法。

  2. 儘可能把一項數據挖掘工作的評價方法往上一個層級推。

這是評價體系建設的重點,意味著不僅只有算法和模型工作可以不斷迭代,評價方法本身也可以迭代。這項工作的重要性可能比模型的研發還要重要,如果大部分工作的評價只能停留在Case級甚至Logic級的話,整個數據挖掘體系很快就會無以為繼,變得沒有意義,因為這種工作的迭代餘地很小,且沒有方向。

我們花大量的時間解決Ground Truth數據,方法一般有兩種:

  1. 引入第三方數據。這是一項長期進行的重要工作。任何互聯網平臺在數據上都有自己的長處和短板,微博的短板是缺少足夠細分垂直領域的用戶數據。因此一直致力於引入各種用戶現世數據和垂直領域數據。

  2. 在現有數據的基礎上用規則過濾正樣本。通過規則找到一個召回率較低但準確率很高的集合作為正樣本,就可以把評價推高到Ground Truth級。

除了興趣標籤外,能直接用效果來評價的數據並不多,而且業務層面的假設太多,我們在實踐中僅用來參考。例如性別數據,對某些已知的強性別選擇的廣告行業(例如美妝),可以通過線上效果來間接判定數據準確率,但這種不夠直接的方法很少採用,因為中間因素太多,自洽性不強。

在這個評價體系下,數據工程師並不對興趣標籤之外挖掘結果的廣告效果負責。如果用戶使用了這些定向工具有好的效果,那很好,如果效果不好,數據工程師是不會就這個標籤本身來進行效果優化的,因為這根本不是評價方向,這類標籤在業務中的位置不處於效果的反饋環上。工程師只對興趣標籤做效果優化。

除興趣標籤之外的數據挖掘流程如圖6。

微博商業數據挖掘方法

圖6 數據挖掘方法流程

興趣挖掘

興趣挖掘並沒有Ground Truth可以驗證,因為興趣本身就是一個非客觀、難以界定的描述。在微博商業體系內,興趣是如下定義的:

  1. 用戶如果對某類別的事物感興趣:用戶在指定廣告投放場景裡對這類廣告的預估轉化概率/點擊率較高。

  2. 如果不能指定具體廣告投放場景,興趣的意思是:用戶對這類內容的歷史關注/互動率較高。

在前一種情況下,興趣標籤是一個可預估的最優化問題,是CTR/CVR預估體系的一部分,可以做出不同粒度的興趣標籤來,而且往往不止一套。如果有N種計算廣告產品,每種廣告產品可以有M種預定義的轉化行為,線上的興趣標籤理論上最多可以有N x M套。標籤數據的評價方式直接用線上效果評價,可以持續迭代。

在後一種情況下,興趣標籤只是一個解釋性問題,在評價體系裡處於最底層,實際上無法迭代。但這種興趣標籤的存在是必要的,因為並不是所有的應用場景都是廣告投放,而且用特定產品的廣告數據訓練出的模型會比較偏,但某些場景(比如DMP的流量透視功能)需要一套不直接服務於投放效果、能完整描述用戶群體的標籤。因此我們根據關注和互動關係用簡單統計的方法生成一版通用的興趣標籤。它只要求可解釋性,所以規則越簡單越好。一般禁止使用層次分析法,因為它對任何一層的評價都沒有幫助。

內容興趣

微博商業數據挖掘方法

圖7 微博內容興趣標籤計算

內容興趣標籤提供給除應用家之外的廣告產品做定向工具。內容興趣的做法如下:

  1. 劃定一個微博上提供內容的大號列表,這個列表中用戶貢獻的原創內容能覆蓋絕大多數被消費(閱讀、互動)的原創內容。列表包括所有廣告主。我們稱這個列表為廣義客戶列表。

  2. 挖掘這些大號所提供內容的領域關鍵詞,主要是相關性計算。

  3. 對這些大號進行聚類,然後人工整理聚類的結果,形成一個二級內容分類樹。這個分類及領域關鍵詞被稱為大號的能力標籤。微博上不生產的內容(比如工農業行業信息)對微博廣告產品來說是無意義的,因此沒有采用人工預先給出分類體系的方法。

  4. 用機器學習模型(FM或LR)來預估每個廣告產品中,用戶對每一類廣告產生目標行為的概率,如果高於某個閾值,即看做該用戶對該類別是有興趣的。這是用於具體廣告產品定向的做法。

  5. 在廣告運營工作中我們經常針對某一個廣告主做專屬定向包,方法類似,只是特徵是在用戶-廣告主這個粒度的。

  6. 如果需要不依賴具體廣告產品的通用數據,直接統計每個用戶對大號的關注關係,如果用戶對某一類別的關注高於平均值,即看做對該類別是有興趣的。

App興趣

App興趣標籤是為應用家產品專門建立的。這項工作能夠比較完整地表現微博商業數據挖掘中解決問題的思路。

App興趣標籤是應用家CVR預估體系的一部分。CVR預估體系被建設成一個漏斗式的,特徵的粒度從粗到細。App興趣標籤是用戶-App類別粒度的,模型中較多使用交叉特徵,這一層的計算結果被包裝成定向工具給客戶使用;中間層的粒度是用戶-App,作為一個隱式定向存在;最後一層則是線上的CVR預估模型,特徵粒度是用戶-廣告-上下文,計算結果直接參與Rank。

在做CVR預估之前有兩個數據問題。首先,應用家的功能支持廣告客戶指定效果目標行為:下載(推動沒有安裝這個App的用戶下載)和喚醒(推動安裝了這個App的用戶重新進入該App成為當天日活)。因此至少需要知道每個用戶是否安裝了這些App,才能比較精準地投放。

解決這個問題的方法是:

  1. 以微博已有的數據為基礎,引入第三方數據,獲取儘可能多的用戶安裝App列表。

  2. 以1作為標註數據,預估那些1沒有覆蓋到的用戶App安裝情況。

另一個問題是,要做CVR預估就必須獲取下載數據作為訓練標註。但微博無法跟蹤從廣告點擊跳轉出去的用戶後續行為(尤其是iOS環境下)。

解決的方法是:

  1. 跟第三方監控公司合作,獲取部分客戶App後續下載數據。

  2. 以1作為標註數據,預估那些1沒有覆蓋到的客戶App後續下載情況。

這兩個問題的解決方法如出一轍,都是先去找數據,找不到的部分再預估。預估的結果可以結合交叉驗證,直接線上評價。

應用家數據挖掘體系如圖8。

微博商業數據挖掘方法

圖8 App興趣標籤計算

情景挖掘

情景挖掘來源於一系列客戶需求。在業務溝通中,經常接到客戶類似如下的需求:

  1. 經常出入高級酒店和機場的用戶;

  2. 寶馬車主;

  3. 大學生;

  4. 在微博參與了某個指定話題(比如“#Angelababy大婚#”)的用戶。

這些需求看似零亂,實際上都屬於不同於“興趣”的另一類問題,它需要知道“用戶是什麼人”。因此我們建設了情景挖掘體系來整合響應這類需求的工作。

微博商業數據挖掘方法

圖9 情景挖掘體系

情景引擎

最早建立情景引擎是為了滿足某些DSP給大客戶做SCRM的需求。客戶需要運營社交網絡上的粉絲和潛在客戶,需要一些工具把消息分發給這些用戶,比如:

  1. 把廣告投放給微博裡提及了“寶馬”的用戶;

  2. 發一條活動微博,然後把廣告投放給跟這條微博互動的用戶;

  3. 把廣告投放給剛剛關注奔馳的用戶。

針對這類需求我們實現了一個情景引擎,接入微博上所有主要用戶行為數據,按行為類別(謂語行為)分類存儲,抽取出其中的對象(賓語個體),一個情景就定義為謂語+賓語,經過一系列中間計算後,形成“用戶-情景列表”索引格式的數據,實時更新到線上緩存供定向服務使用。

情景引擎用Storm接入實時數據,計算後分鍾級別更新到線上緩存,大部分是工程問題。裡面涉及到算法的地方主要有兩處:

  1. 數據清洗。接入的線上數據有垃圾流量,比如在話題區刷廣告的。需要建一個反垃圾模塊。

  2. 關係擴展。計算出來的情景-用戶列表通常會有極強的長尾分佈,即頭部的情景佔據海量用戶,但我們在廣告投放時希望大部分情景都能有相當數量的覆蓋用戶。因此會丟棄掉大部分長尾數據,對分佈的中間部分做基於相似性或相關性的算法擴充。

中長期情景挖掘

基於情景引擎長期積累的數據,我們在上層建立了中長期情景標籤體系(對外稱為人生狀態標籤)。

人生狀態標籤體系一共有20多個標籤,涵蓋用戶的求學、旅行、車房、職業、婚戀、育兒等狀態。這些標籤都是各自獨立挖掘,挖掘的算法完全由其評價方法而定,並沒有通用方法,而評價方法完全取決於源數據情況。下面給出幾個例子:

大學生標籤:

根據發微博的內容過濾出一個準確率比較高的大學生用戶集合(大學生在某些場景下發的微博會帶有區分度非常高的關鍵詞)。然後對16-25歲之間的用戶建模,特徵主要包括關注特徵、App使用特徵,IBS特徵。用過濾的用戶集合為正樣本,隨機取一個負樣本集合進行訓練。對所有16-25歲之間但不在樣本集合中的用戶進行預測,取一個預定的數量。

差旅標籤:

當前用戶的位置與用戶常駐城市不符,即看做用戶在差旅狀態。

豪車車主:

根據用戶行業/頭銜、影響力、社交關係等信息制定過濾策略。到用戶微博頁上人工驗證。

用預估的方法會有一個問題,即很難保證做出來的正樣本訓練集是無偏的。一般來說,能夠滿足某種過濾條件的數據總是有偏的,通常更偏向於更好更活躍的用戶。但在後期評估中發現,只要注意在模型裡儘量不使用規則裡的那些特徵,關係並不大。另外,訓練集偏向更好的用戶也不算大問題,因為計算結果本來就要求優先保證更好的用戶,那些不活躍的、特徵缺失嚴重的用戶對業務的影響相對不重要一些。

人生狀態標籤跟興趣標籤看上去有類似的地方,但從評價方式和應用出發點來看完全不同。例如,“用戶對嬰兒用品感興趣”跟“用戶是嬰兒父母”是兩回事。從廣告投放的角度出發,我們從來不把這兩者混為一談,我們對前者的效果負責,但不對後者的效果負責。

另外,我們認為人生狀態標籤這樣的挖掘工作並非未來的方向,而是代表著一種傳統廣告業的思路。過多地依賴這種人能閱讀和理解的,但卻高度離散化的因素並非計算廣告的思維方式。但這不意味著這樣的工作沒有意義,在新媒體廣告領域,它在相當長的時期內都是必須存在的。

小結

在長期實踐中,我們總結出數據挖掘工作中最重要的兩點是:緊貼業務,確定評價。不能做到這兩點的數據挖掘團隊通常會工作得比較困難,做很多無用功。

緊貼業務意味著數據團隊要從業務KPI中拆分出自己能貢獻的一部分,這一部分能直接評價就不要間接評價,因此問題又回到評價上,這是數據工作的核心。

評價體系的建設是一項容易被忽視的重要工作,它包括評價方法和流程的建立和迭代,評價數據的獲取和製作。其中數據獲取必須要長期進行,現在業界數據合作及打通已經變成一種趨勢,大家能夠通過合作來獲取自己缺乏的數據,只靠自己的數據很難把工作做完整。

微博在產品創新和商業化的道路上已經走了很久,試錯和踩坑都不計其數,在利用自身優勢基礎上的內外部積累也開展得比較早,因此在數據挖掘領域足夠接地氣,足夠開放,數據工作自身才能做得非常活,同時支持和引導廣告業務的發展。

相關推薦

推薦中...