計算廣告小窺[中]這孫子怎麼什麼都知道

計算廣告小窺[中]這孫子怎麼什麼都知道

原做:麪包包包包包包
改動:寒小陽 && 龍心塵
時間:2016年2月
出處:http://blog.csdn.net/breada/article/details/50697030
聲明:版權所有,轉載請聯繫做者並註明出處html

1. 引言

提筆寫這篇博客。個人心裏是惶恐的。緣由很是簡單。做爲一個資歷尚淺的研究生,是沒有資格對計算廣告這樣一個偉大的行業、領域和學科來評頭論足的。之因此這麼作,一是總結本身已掌握的知識。二是減小同窗們的學習成本。本人能力有限,更缺少實踐經驗。文章內容多爲書籍和論文的讀後感,如有不當或者錯誤之處,還望各位同窗指出,我定悉心求教。web

在此,向編寫《計算廣告》的劉鵬和王超兩位老師致謝,向各位paper做者致謝。算法

[關於ML學分計劃]markdown

  • 寒小陽龍心塵發起,一個互幫互助的機器學習知識共享平臺。
  • 咱們是一羣對機器學習感興趣的小夥伴。對於神祕的機器學習常常有「一探究竟」的衝動,卻因爲孤身一人學習的寂寞、亦或繁忙考試工做之餘的小小遲延症,而沒有持續這份對知識的渴求和熱情。
  • 因爲深感類似狀況的小夥伴之多,咱們但願創建一個「ML學分計劃」——機器學習的學習和分享計劃——來幫助咱們一塊兒更高效地學習、更集中地整理分享咱們的知識和經驗。

    因爲咱們也深信」證實本身真的透徹理解一個知識。最好的方法,是給一個不熟悉這個內容的人。講清楚這個內容「。網絡

[關於原做@麪包包包包包包]架構

  • 畢業於北京郵電大學,研究生。
  • 關注計算廣告點擊率預估和競價算法。關注機器學習和深度學習。

(上)(中)(下)全文文件夾

  1. 引言機器學習

  2. 廣告=>互聯網廣告:「您好。瞭解一下」函數

  3. 互聯網廣告=>計算廣告:指哪兒打哪兒。oop

  4. 計算廣告四君子:誰在弄潮?post

  5. 計算廣告關鍵技術:這孫子怎麼什麼都知道?

  6. 廣告系統架構:要啥自行車,這裏有寶馬。

  7. 手把手系列之教你搭建一個最小廣告系統:mieSys


5. 計算廣告關鍵技術:這孫子怎麼什麼都知道?

一句話解釋關鍵技術:沒聲音。再好的戲也出不來。

廣告做爲一項商業活動,是需要資原本滋養的。做爲整個產業鏈的金主,僅僅有廣告主花錢作廣告。使資金流動起來。整個廣告行業才幹正常運轉。所謂關鍵技術,就是那些能讓廣告主認爲「這錢花的值」。讓媒體站點認爲「這錢掙的快」的技術。詳細都有哪些呢?如下咱們一一來表。

5.1 合約廣告關鍵技術:受衆定向

計算廣告發展到合約廣告階段,媒體站點依靠受衆定向技術給用戶打標籤,在實現了媒體站點廣告位的時分複用的同一時候。還提升了廣告主的投入產出比,極大的激發了廣告主在互聯網上作廣告的積極性。所以,受衆定向是合約廣告中的關鍵技術。

咱們知道。僅僅要描寫敘述物體的維度足夠高。那麼世間萬物都是獨一無二的。在廣告系統中,標籤就是描寫敘述用戶的維度。媒體站點爲了精準的刻畫用戶,標籤的種類和數量天然也不會少。爲了更加直觀地瞭解受衆定向技術,咱們從用戶、上下文和廣告三個方面討論打標籤的思路和通常方法。

  • 用戶標籤:主要用性別、年齡、收入、地理位置、教育程度和用戶行爲等標籤來刻畫用戶,從而回答「你是誰」的問題。

  • 上下文標籤:主要用網頁的地域、主題和頻道等標籤來刻畫用戶當前所處的媒體站點環境,從而回答「你在看啥」的問題。

  • 廣告標籤:主要用廣告主、廣告創意、廣告計劃和廣告關鍵詞等標籤來刻畫廣告的相關內容,將廣告內容與用戶和上下文進行匹配後,從而回答「你該看啥」的問題。

5.1.1 用戶標籤關鍵技術

對一個用戶來講,性別是不會輕易變的。但是用戶的喜愛和興趣倒是時刻都在變化的。依據標籤屬性的變化頻率。咱們這裏私自將用戶標籤分爲靜態和動態兩類。靜態標籤主要指年齡、性別、地理位置、收入和教育程度等這樣的不變或者很是長時間以內都不變的標籤。行話叫「人口屬性」;動態標籤則是指用戶的瀏覽、搜索和點擊等可以反映用戶短時喜愛和興趣的行爲標籤。行話叫「行爲定向(BT:Behaviroal Targeting)」。如下咱們針對靜態和動態這兩類標籤分別討論。

一句話解釋靜態標籤和動態標籤的關係:價格環繞價值上下波動。

  • 靜態標籤(人口屬性)

《計算廣告小窺[上]》中,咱們曾簡要地提到過一種受衆定向的方法:

經過對點擊日誌的分析。媒體站點發現點擊過女性護膚品的用戶又點擊過媒體站點上其它女性品牌。

在「女性用戶對女性品牌可能更感興趣」的合理假設下。推斷這些用戶的性別爲女,男性用戶同理。

現在咱們可以更加清楚的認識到,上述媒體站點所打的標籤是靜態標籤中的「性別」,使用的是基於規則的方法,即:知足了某種條件,就是某種人。這樣的基於規則的方法簡單並且易於實現。但也存在着致命的缺點:基於規則的方法對數據很是敏感,若數據自己存在噪音(如誤點擊),那麼標籤的品質也將大打折扣。這可怎樣是好?簡單的不行,那就來點複雜的嘛——用機器學習模型來實現(自帶音效:噹噹噹當,噹噹~~)。

假設咱們已經知道一部分用戶的真實性別,那麼就可以用機器學習中有監督的二分類模型來預測用戶性別。

首先,咱們需要對原始數據進行清洗,合理地處理缺失值和神祕值,並劃分訓練集、交叉驗證集和測試集。其次,要在業務的指導下作特徵project,利用統計或模型的方法構造特徵。並進行特徵選擇和特徵組合。而後。咱們要選擇合適的模型(如SVM等),設置合適的評價標準並進行模型的訓練;最後,經過模型調參和模型融合,得到性別預測模型。

  • 動態標籤(行爲定向)

一句話解釋行爲定向:唐伯虎喜歡如花多一些,仍是鳳姐多一些?

「假設必定要比較一下,那唐伯虎是喜歡如花多一些,仍是鳳姐多一些?」這個看似荒謬的問題。正是行爲定向要解決的。假設唐伯虎是異性戀,那他應該是喜歡鳳姐多一些的,不然是如花。這也就告訴咱們,在行爲定向中,推斷的標準相當重要。如下咱們藉助一個樣例來分析該用戶的動態標籤到底是什麼。

有數據顯示。某用戶在過去的三個月時間中,點擊廣告的標籤和次數例如如下表所看到的:

標準 單反愛好者 跑鞋愛好者 飲料愛好者 護膚品愛好者
點擊 25 4 2 1

對上述數據進行分析,咱們可以垂手可得的獲得答案:該用戶的標籤應該是「單反愛好者」,因爲他的點擊行爲集中在這個標籤上。但是,這個答案是咱們以用戶的點擊行爲做爲標準得來的,假設以用戶的瀏覽和搜索行爲作標準,答案也是「單反愛好者」嗎?咱們再來看一下相關數據。

標準 單反愛好者 跑鞋愛好者 飲料愛好者 護膚品愛好者
瀏覽 15 2 0 0
標準 單反愛好者 跑鞋愛好者 飲料愛好者 護膚品愛好者
搜索 7 16 5 3

是否是出問題了?以點擊和瀏覽爲標準,該用戶標籤應該是「單反愛好者」。但是以搜索爲標準。標籤應該是「跑鞋愛好者」。

假設該用戶的標籤僅僅能有一個,那該選哪個呢?爲了解決問題,咱們從數學角度分析一下好了。

嘿嘿,數學噢,前方高能預警!我會盡可能讓這個過程變得簡單。你們跟上個人思路哈。

Step1. 泊松分佈

一句話解釋泊松分佈:猜猜我在哪兒~~~

咱們先來介紹下泊松分佈。啊啊啊啊。一上來就是數學。我不聽我不聽我不聽,泊松分佈是什麼鬼?咳咳。那,那就先不丟公式了。我們看圖解決問題好了,如下是泊松分佈繪出的曲線圖,實際project中要解決的問題就是找到圖中的最高點。例如如下圖:

泊松分佈機率圖

這個肉眼找最高點的過程不要太簡單了!!

咱們可以看到:圖中最高點的縱座標大約爲0.36,而相應的橫座標是1

OK,你就算會用泊松分佈了哦!

那個,感興趣的同窗們,可以一塊兒來看看相應上圖的泊松分佈的公式。

pt(h)=λhteλth!

公式相對於圖。是有那麼點點複雜啦。

只是。咱們僅僅需知道 λt 影響泊松分佈的形狀,一個 λt 相應一個泊松分佈就可以了。這個場景下要作的事情就是找到相應泊松分佈圖像的最高點。

Step2. 一個結論

一句話解釋這個結論:一個蘿蔔一個坑。

咱們先說一個結論:在一個標準下,用戶在所有標籤上的機率分佈是知足泊松分佈的。對於這個結論,有興趣的同窗可以參見Stanford 《Introduction to Computational Advertising》講義Page-81,咱們在這裏就直接拿來用了。而所謂「標準」。就相應泊松分佈公式中的 λt 。在咱們這裏的場景下與用戶行爲有關。

咱們有點擊、瀏覽和搜索三種行爲,也就相應三個 λt ,繪出三條曲線例如如下。(此圖爲演示樣例數據上繪出的圖像,非實際數據):

三種標準的機率分佈

咱們可以清楚的看到。在以「點擊」和「瀏覽」爲標準時。圖像最高點都出現在5號標籤。用戶標籤應該是標籤5;以「搜索」爲標準時,圖像最高點出現在6號標籤。用戶標籤應該是標籤6,標籤發生了衝突。

接下來。咱們就要想辦法用數學方法去解決標籤衝突的問題。思路是這樣的:先選出一個最佳標準,而後以此標準畫正態分佈。最後找最高點相應的標籤就能夠。

Step3. 最佳標準

一句話解釋最佳標準:盲人摸象

「盲人摸象」比喻以偏概全。現在咱們想要知道大象全貌,把每個人摸到的拼起來即是了。在廣告系統中,搜索、點擊和瀏覽三種行爲數據都僅僅能從一個側面反映用戶的行爲,要想完整的刻畫一個用戶,咱們虛要將這三種行爲融合起來以後找到一個最佳標準。提到融合,較爲常用的方法是投票,咱們可以寫出下列公式:

λt=i=1nωiti where t()

簡單解釋一下: ti 是標準,分別表明了搜索、點擊和瀏覽行爲; ωi 是標準的權重,即該標準對於完整描寫敘述用戶行爲的貢獻。咱們用機器學習中的廣義線性模型對該問題進行建模,模型訓練完畢後可得各標準的權重 ωi ,從而預測出最佳標準 λt

Step4. 最終求解

經過廣義線性模型,咱們找到了最佳標準 λt 。現在,咱們依據該 λt 畫出相應泊松分佈。例如如下圖:

最佳標準泊松分佈

回想Step2中的結論:在一個標準下,用戶在所有標籤上的機率分佈是知足泊松分佈的。現在最佳標準下的泊松分佈咱們已經畫了出來,該用戶在所有標籤中的機率分佈也應該符合這個分佈的。仍是老步驟。咱們找最高點所相應的標籤,即標籤5。因此該用戶的動態標籤是標籤5,問題完美解決。

在學習了泊松分佈和機器學習以後。媒體站點最終完畢了用戶標籤的工做,看着那圓圓的餅圖。流下了激動了淚水,哽咽着說「嗯..最終..最終可以賣錢了..」沒錯。流量可以變現了,互聯網廣告一腳踏進合約廣告時代。

但是僅僅知道「你是誰」。粒度仍是太粗。賣不了好價錢。「要是知道你正在幹嗎就行了」媒體站點嘴裏嘟囔着,忽然腦海中靈光一閃。大叫一聲:(圖片來自網絡)

個人天吶

5.1.2 上下文標籤關鍵技術

一句話解釋上下文標籤的作法:吃的是URL,擠的是標籤。

「我固然知道他在幹嗎。我有日誌啊!我有他正在訪問頁面的URL!啊哈哈哈哈哈!

」有了用戶標籤的經驗,媒體站點處理起上下文標籤來就顯得輕車熟路了。總共分兩步:第一,依據用戶當前頁面的URL,抓取用戶當前瀏覽的頁面內容;第二。提取頁面內容的關鍵詞,做爲當前頁面的標籤。

經過URL得到頁面內容是一個典型的爬蟲應用,與搜索引擎的爬蟲不一樣的是,廣告系統的爬蟲僅僅抓取用戶請求的頁面。而非全網頁面。鑑於上述緣由,廣告系統使用「半在線抓取系統」。該系統有三個特色。第一,僅對用戶發起請求的頁面進行抓取,節省了時間和成本;第二,將{URL:標籤}存儲下來,當其它用戶發起一樣頁面請求時。直接返回標籤結果,避免反覆抓取。第三,考慮到某些頻道頁面內容可能會更新(好比」舊浪體育」),還可設置合適時間,週期地更新已存頁面的標籤。

在抓取到頁面以後,怎樣提取標籤也有幾種常見方法。

最簡單的是利用規則。在URL層面上人爲作映射,好比sports.oldna.com相應的頁面標籤就是」舊浪體育」。若用戶是經過搜索發起的頁面訪問。還可以依據搜索詞做爲頁面標籤。

固然。在廣告系統使用範圍較廣的方法仍是機器學習中的主題模型,獲得頁面內容在幾個主題上的分佈,從而推斷頁面標籤。好比,sports.oldna.com頁面內容在」體育」、」財經」和」遊戲」三個主題上的機率分佈分別爲:

體育 財經 遊戲
0.85 0.10 0.05

咱們可以很是easy的看出sports.oldna.com的標籤是」體育」。這裏值得注意的是,假設想要加工出」體育」、」財經」和」遊戲」這樣的可解釋的標籤,一般需要採用有監督的主題模型。

能用的數據都用了,能打的標籤也都打了,知道了「你是誰」和「你在看什麼」以後,媒體站點這才感受踏實了些。如下的工做就簡單了不少。把標籤賣給廣告主就可以了。也算是一勞永逸,深藏功與名。至於用戶會看到什麼。那是廣告主的地界,就不管媒體站點什麼事兒了。

5.1.3 廣告標籤關鍵技術

普通的廣告標籤就是廣告自己的屬性,如所屬廣告主、廣告大小、廣告類別和目標人羣等,當廣告和用戶兩兩匹配時,該廣告就會展現給用戶。但是。這裏咱們想說的廣告標籤是在程序化交易中的「個性化標籤」。在《計算廣告小窺[上]》中咱們提到:「程序化交易是廣告主爲實現個性化營銷舉行的海天盛筵。

」品嚐過個性化營銷的甜頭以後,廣告主就想:「既然這些人是回頭客。那各方面表現和這些回頭客很是像的人,有沒有可能也是個人回頭客呢?世界那麼大,我得去找找這樣的人。」

  • look-alike

一句話解釋look-alike:比葫蘆畫瓢。

這個技術的名字還挺洋氣呢,英文的,「看起來像」?說白了就是比葫蘆畫瓢,找到那些看起來像回頭客的新用戶。行話叫「新客推薦」。這裏必定要注意了,千萬不能翻譯成「看起來像」,那樣顯得逼格不夠,就叫英文的,look-alike~

關於look-alike的詳細實現,市面上沒有統一的作法。畢竟咱們正在經歷。

這樣一來個人心也放下了,因爲即使我如下都是胡扯也不必定是錯的。

look-alike的核心是按着回頭客的樣子去找新用戶。那簡單呀。看看回頭客的標籤是什麼樣子,對着去找一樣的不就能夠了?沒錯。這算一種方法,並且是一種基於規則的方法。但是直覺告訴咱們這樣作粒度太粗,沒有充分考慮到廣告主因素,同一時候經驗也告訴咱們。基於規則的不如基於模型的效果好。因此咱們還可以得出一個基於模型的作法:將某用戶是不是潛在用戶建模成一個機器學習中的二分類問題,利用回頭客數據訓練模型,並在新用戶上作預測,是就是1不是就是0,也挺好理解的。

受衆定向關鍵技術咱們就介紹到這裏了,現在咱們來回想一下。爲了更加精準的刻畫用戶,咱們從用戶標籤、上下文標籤和廣告標籤三個方面來介紹受衆定向。雖然說角度不一樣,但總的說來。不外乎兩種方法:基於規則和基於模型。在受衆定向技術的支持下。互聯網廣告進入合約廣告時代。在經見了在線分配的大坑以後,媒體站點發現合約不可保。便使用競價方式售賣流量,指定廣告主。

那在競價廣告中,又有什麼關鍵技術呢?請看下一小節:競價廣告關鍵技術:點擊率預估。

5.2 競價廣告關鍵技術:點擊率預估

郭德碗:聊(bi)了(bi)了這麼久。想必衣食父母也都累了。
於 兼:是有點兒。


郭德碗:能堅持看到這兒的人很少。
於 兼:東西太難。
郭德碗:那就歇了吧,《計算廣告小窺》到此結束!
於 兼:給我回來。像話嘛這個!
郭德碗:還想怎麼着啊?
於 兼:說好的點擊率預估呢?大夥都衝這個來的。
郭德碗:真有衝這個來的?
(有。)
郭德碗:怎麼不提錢跟我說呢?
(籲~)
郭德碗:好了,玩笑歸玩笑,驢鞭歸於兼,如下呀,我..
於 兼:您等會兒。那玩意兒歸我幹嗎呀?
郭德碗:嘿嘿嘿。
(籲~)
郭德碗:大家都懂?
(籲~)
郭德碗:仁者見仁,污者見污喲。
(下去吧~)

我知道很是多同窗是衝着點擊率預估來的,因此不能讓大家白來不是,免費送您一小段兒。別跟我提錢哈哈。等最後聊到最小廣告系統,幫我貢獻幾回點擊就能夠,我也好收集一些高質量數據,訓練模型本身玩兒。

言歸正傳,如下咱們將從「是什麼」、「爲何」和「怎樣作」三方面來介紹點擊率預估。

5.2.1 點擊率預估是什麼

  • 點擊率

一句話解釋點擊率:0.1%

既然聊到點擊率預估,那咱們先來看看什麼叫點擊率。點擊率這個概念咱們是第一次提起,但事實上咱們早就知道它了。

咱們在《計算廣告小窺[上]》之前提到:

「自從廣告上了互聯網。廣告的面貌就面目一新。

形成行業鉅變的緣由,是因爲互聯網廣告的效果可以被衡量。」

假設接着往下說,以什麼標準來衡量呢?沒錯。最常用的衡量標準就是點擊率。點擊率(CTR:Click-Through Rate)是指的是媒體站點上某個廣告的點擊量/展現次數

之因此使用點擊率來衡量廣告效果是有緣由的,先來看分母:分母是某廣告的總展現次數。在《計算廣告小窺[上]》中咱們曰過,廣告展現機會是廣告主經過競價得到的,展現機會越多。意味着廣告主的出價越高。因此總展現次數可以用來表徵廣告主的廣告投入。

再來看分子:分子是總點擊量,而點擊行爲表明了用戶的注意力,說明用戶渴望進一步瞭解廣告內容。

所以點擊率越高,意味着廣告主在一樣投入的狀況下,收穫了不少其它的用戶注意力,完美詮釋了廣告主作廣告的初衷。因此點擊率是廣告主和媒體站點常用來衡量廣告效果的標準。我聽過一個數字,廣告平均點擊率爲千分之中的一個,也就是每展現1000次廣告纔會收穫1次點擊,因此點擊率預估中數據都是很是稀疏的。

  • 點擊率預估

一句話解釋點擊率預估:80%

瞭解了點擊率。咱們再來看看什麼叫點擊率預估。從字面上理解,點擊率預估是預測媒體站點上某個廣告的點擊量/展現次數,然而這樣理解並不是很是準確。我先給出個人理解:點擊率預估。是指預測特定用戶點擊特定廣告的機率。好比小明點擊某信二手車廣告的機率是80%。

爲何對媒體站點廣告點擊率(0.1%)的預測,會變成了對用戶點擊某廣告機率(80%)的預測呢,接着往下看啦。

5.2.2 爲何要作點擊率預估

一句話解釋爲何要作點擊率預估:錢。

在競價廣告階段,廣告主與媒體站點之間以按點擊付費(CPC)的方式結算,所以咱們可以用下列公式來表徵媒體站點在某次廣告活動中的收入:

媒體站點收入 = (點擊率 * 展現次數) * 單次點擊價格 = 點擊量 * 單次點擊價格

咱們知道,展現次數單次點擊價格這兩部分都是廣告主參與競價後才幹決定的。與媒體站點無關,因此媒體站點的收入就與點擊率直接掛鉤。在收益最大化的驅使下。媒體站點有提升點擊率的動力。

點擊率的定義是點擊量/展現次數展現次數又是廣告主經過競價決定的。所以媒體站點僅僅能千方百計提升點擊量

對於媒體站點而言,他所擁有的資源就是頁面上幾個固定的廣告位和海量的用戶。爲了提升點擊量,一種簡單明瞭的想法就是讓展現的廣告儘量多的被點擊。即「指哪兒打哪兒」。爲了實現這個理想。亟需解決兩個問題:首先需要知道用戶感興趣的廣告有哪些,其次需要讓用戶儘量多的點擊這些廣告。

第一個問題叫作「廣告檢索」,是指媒體站點依據用戶的定向標籤或其它方式檢索出符合用戶口味的廣告候選集合。這部份內容是搜索引擎的核心。在這裏咱們就不展開討論了。

咱們來看第二個問題。假設咱們已經獲得了一個符合用戶口味的廣告候選集合。怎樣能讓用戶不少其它的點擊呢?很是簡單,把用戶最可能點擊的廣告放在最顯眼的地方,爲了定量描寫敘述用戶最可能點擊的廣告。這便引出了點擊率預估的問題。所以咱們說,點擊率預估並不是來預估媒體站點上點擊量/展現次數,而是預測某個特定用戶點擊某個特定廣告的機率。OK。那預估完幹什麼呢?剛纔不是說了嘛,把最可能點擊的廣告放在最顯眼的地方呀!

  • 最顯眼的地方

一句話解釋最顯眼的地方:你也是柳巖的球迷?

爲了較爲直觀地描寫敘述用戶的注意力分佈。我找了一張LinkdIn的用戶注意力熱力分佈圖。(圖片來自網絡)

熱力分佈圖

圖中,顏色越紅表明用戶注意力越集中。可以看到。用戶最關注的是頁面的上半部分。其次是右半部分,最後是下半部分。這樣的注意力分佈基本咱們平常的瀏覽習慣,即假設能在頁面靠前位置找到咱們所需的信息。通常就不會再關注頁面其它地方。

瞭解了注意力分佈。咱們來看一下某度搜索頁面上的廣告位分佈。

百度

某度廣告位主要分佈在北區、東區和南區三部分,以LinkedIn頁面中的用戶注意力分佈來猜測。用戶在某度頁面上注意力分佈從高究竟各自是北區、東區和南區。

假設某度共同擁有10個廣告位,那麼將用戶最可能點擊的10個廣告依照點擊機率由高到低順序分別排在北區、東區和南區。

而後還幹嗎?沒有了,萬事俱備。僅僅欠點擊。

不知道您聽明白了沒。我來幫您捋捋。爲了提升媒體站點的收益,咱們結合業務場景不斷簡化問題。從提升媒體站點點擊率入手,到提升總點擊量,再到得到廣告候選集合,預測出了用戶點擊廣告的機率。僅僅預測點擊機率媒體站點還賺不着錢,所以媒體站點依據點擊機率在頁面廣告位上對廣告進行排序。

因此爲何要作點擊率預估呢?都是爲了錢!都是爲了錢!

都是爲了錢!

5.2.3 點擊率預估怎麼作

一句話解釋點擊率預估怎麼作:使盡渾身解數,僅僅爲更懂你。

自計算廣告學誕生以來,點擊率預估就是一個在學術界和工業界被普遍研究和實踐的課題。剝去種種詳細場景,點擊率預估的本質事實上仍是一個機器學習中的二分類問題。通常來說,媒體站點PV數據的數學分佈是非線性的。

爲了擬合這樣的非線性關係,學術界側重於模型的研究,工業界側重於特徵的構造,雙方優點互補,已取得了至關豐碩的成果。如下咱們將先介紹展現廣告和搜索廣告這兩種互聯網廣告的主要形式,而後闡述兩者在點擊率預估問題上的不一樣之處。最後介紹一些點擊率預估的方法。

  • 展現廣告

展現廣告(Display Advertising)是一種以「圖片+文字」的方式進行廣告宣傳的互聯網廣告形式。從廣告觸發方式來看。展現廣告是媒體站點依據用戶歷史行爲所作的推薦,對用戶而言廣告是被動接收的,例如如下圖。

展現廣告

  • 搜索廣告

搜索廣告(Sponsored Search)是一種以「標題+超連接」的方式進行廣告宣傳的互聯網廣告形式。

從廣告觸發方式來看,搜索廣告是媒體站點針對用戶當前檢索所作的廣告匹配,廣告是用戶主動發起的,例如如下圖。

搜索廣告

依據上面咱們對展現和搜索廣告的描寫敘述。咱們可以對兩種廣告形式的點擊率預估有一個淺顯並直觀的認識:展現廣告的點擊率預估可以看做是一個推薦問題,依據歷史記錄猜測用戶對哪些廣告更感興趣;搜索廣告的點擊率預估可以看做是一個檢索問題,依據用戶當前的查詢來作廣告匹配。

前者推薦後者檢索,問題性質的不一樣也決定了點擊率預估所採用方式的不一樣。

  • 點擊率預估方法

有關展現廣告搜索廣告的實現算法和應用細節都是各家互聯網公司的商業機密,因爲場景的不一樣,各家對點擊率的預估也是八仙過海各顯神通。

做爲一個沒有實戰經驗的小屁孩兒,想要較爲流暢地闡述這個話題。仍是力不從心。畢竟眼界太窄太年輕。爲了保證文章結構的完整,這部分還必需要寫,那麼我就拋開業務場景,僅從機器學習角度來和你們聊一聊我所知道的內容。寫的很差,還請各路大神多多不吝賜教,若有不當指出,請嚴厲指出,我定感激涕零!

上面咱們提到過,從用戶瀏覽網頁到廣告得到展現,要通過三個階段:用戶定向、廣告檢索和廣告排序。用戶定向和廣告檢索就很少說了。最終在廣告庫中可以找到符合你口味的廣告。即「萬里挑十」。在廣告排序階段,需要將這十個廣告位放置在頁面上,一般作法有兩種,一個是基於規則,一個是基於機器學習。咱們這裏從機器學習的角度入手,但是各位千萬不要忽視了規則的能力。

聊到機器學習,主要就是雙方面。特徵和模型。如下我就依據我所瞭解的內容,重點介紹一下線性模型+海量特徵的方法。而後簡介一下點擊率預估的發展。

  • <1>線性模型 + 海量特徵

用於點擊率預估的數據主要是日誌數據,一般會有點擊行爲(點擊爲1。沒點爲0)、廣告信息(廣告位、廣告主id、廣告標籤和廣告描寫敘述等)、用戶信息(用戶id和用戶標籤等)、上下文信息和時間戳等。有了這些原始數據以後,需要對數據進行清洗,而後利用統計或模型的方法構造特徵,進而作特徵選擇和特徵組合,最終特徵的數量級大約在10億-100億維。完畢了特徵工做以後,在模型方面,較爲經典的點擊率預估模型是線性模型Logistic Regression,因爲LR在經過sigmoid以前是一個[0,1]之間的浮點數。利用LR的特色,咱們可以將這個浮點數做爲用戶點擊該廣告的機率,把廣告依照這個機率從高到低放置在相應廣告位上,就完畢了廣告排序。

爲何要造出維度這麼高的特徵向量呢?個人理解是這樣的。對於PV數據來講。點擊行爲與其它特徵之間的關係是非線性的。爲了擬合這樣的非線性關係,咱們依舊可以從特徵和模型雙方面入手。一般來講,非線性模型的效果要更好一些,但是效率過低,不適合工業界的現實場景,因此高速簡單的線性模型就成爲了模型的首選。那線性模型怎樣擬合非線性關係呢?這就需要在特徵層面作文章,利用特徵project的方法來構造出高階特徵。一樣可以實現非線性。這個思路理解起來仍是不難的,如如下兩式對比:

y1=w1x1+w3x2+1

y2=w1x21+w2x1+w3x2+w4x1x2+1

  • <2>點擊率預估的發展

爲了構造出維度如此巨大的特徵向量,特徵project差點兒佔領了70%的項目時間,並且主要是靠努力的程序猿人工來實現的。那有沒有本身主動選擇特徵的方式呢?ADKDD’14有一篇Facebook的paper《Practical Lessons from Predicting Clicks on Ads at Facebook》提出了一種使用GBDT本身主動選擇特徵的方法,用每棵樹上的葉子節點來表達特徵,比方{1:2, 2:3}指的是第一棵樹上第2個節點和第2棵樹上第五個節點,依據每棵樹的節點個數用one-hot表示就能夠。多說一句,GBDT選特徵的方法已經通過實踐驗證,在Kaggle-Criteo點擊率預估大賽中,冠軍的解決方式即是GBDT+FFM的方法得到的。

說到FFM,它是FM的一個變種。FM(Factorization Machine):因式分解機是近期比較火的一個模型。這個模型可以挖掘出特徵間的非線性關係,並且可以在 O(n) 的時間內完畢計算,很是吸引人。

最後就是深度學習了,在視頻、圖像和語音領域有較爲突出的成果。最新的據說MSRA出了一個152層的網絡。OMG…國內在廣告領域應用深度學習最先的應該是百度IDL,聽說有三十多層。評價指標提高了三個百分點,看來DL的能力仍是很是強的。我本身也在探索階段。期待能有好的結果,這裏就很少說了。

點擊率預估環節到這裏就結束了,以上內容不知是否和您心意。

部份內容可能需要一些機器學習背景,對此感興趣的同窗可以加入咱們的QQ羣(剛開始學習的人373038809。行業同窗和研究者472059892),咱們共同討論。好累呀。賣個萌再往如下寫吧。(圖片來自網絡)

賣個萌

5.3 程序化交易關鍵技術:出價策略

在上半部分中,咱們之前介紹過程序化交易中的參與者,除了用戶外。主要還有表明媒體站點利益的SSP、表明廣告主利益的DSP和小三ADX。通俗來說。SSP是管倉庫的。ADX是管傳話的。DSP是管花錢的。現在咱們要開始聊程序化交易中的關鍵技術,您認爲咱們應該把目光放在誰上面呢?已經講到現在了,咱們要收起情懷,統一思想。固然是要重點關注DSP啦!你可能會想。花錢誰不會啊。這要啥技術?沒錯。花錢是沒什麼難的。但對於廣告主而言,花錢作廣告是一種投資,本質和風投股票文玩樓盤高利貸沒什麼差異,追求的就是高的投入產出比。真刀真槍的動起錢來。弄很差會走火入魔的。

這錢。您還敢花嗎?

敢啊!

要是不敢我還怎麼寫博客嘛,哈哈哈哈哈~~~花錢沒關係。僅僅要能掙就能夠了呀!

那咱們就來聊聊怎樣才幹掙的比花的多吧。

5.3.1 出價原則

上面咱們提到,廣告主花錢作廣告其實是一種投資行爲,既然是投資。就要對風險進行評估。詳細到DSP來講,「投資」是指廣告主投錢給DSP,讓其參與實時競價。指望得到良好的廣告效果(點擊/購買/註冊/下載等)。「風險」是指錢花了。但因爲效果太差,沒見着收益。

爲了規避風險,獲取較高的投入產出比,DSP在出價時需要進行「風險評估」,即預估本次廣告展現機會所能帶來的收益。以此做爲出價的參考。在出價時。要注意如下幾點原則。可能並不全面。還請行業內的同窗補充。

  • 預算限制:廣告主一次就給這麼多,超了算你的。
  • 時間限制:到時間花不完就收回去了。
  • 花錢爲主:都說了是投資。能花了就別留着。

  • 見好就上:出價與流量品質成正相關。

這些出價原則理解起來沒什麼難的。但我想要着重說一下第四條見好就上。這纔是最關鍵的部分。

怎樣定義流量品質。又怎樣出價呢,好戲當即開始。

5.3.2 怎樣定義流量品質?

所謂流量品質,就是在此時此刻此情此景,用戶點擊廣告能爲廣告主帶來的收益。主要分爲兩部分:一是點擊率,二是點擊價值。

點擊率的預估就很少說了。和媒體站點上點擊率預估是類似的,僅僅只是在實時的場景下要求會更高一些。點擊價值是什麼意思?劉鵬老師在《計算廣告》中這樣解釋道:(有部分改動。括號內容爲個人解釋)

點擊價值可以分解爲到達率、轉化率和轉化單位價格三個量的乘積。

到達率是指實際打開廣告次數與點擊次數的比例。這與廣告主站點的頁面你打開延遲關係最大。與媒體的屬性、特別是誤點狀況也有必定關係;轉化率指的是到達廣告主頁之後,有多少比例產生了廣告主定義的轉化行爲(購買/註冊/下載等);轉化單位價格是指廣告主指定的轉化費用(即DSP作一單能掙多少)。

上述三個變量中,到達率和轉化單位價格都是很是好統計的,僅僅有轉化率的預估是比較困難的。

轉化率預估的方法可以參照點擊率預估。但是因爲轉化數據要比PV數據少得多。除非是在有充足行業數據支持的狀況下。不然用機器學習方法建模有較大困難。實踐中比較可行的辦法基本上都是簡單統計與運營經驗相結合來估算轉化率。

5.3.3 怎樣出價?

最終進入到了最核心的出價環節。依照「見好就上」的原則,出價與流量品質成正相關。

那到底是採用線性策略好,仍是非線性策略好呢?咱們來細緻分析一下。

  • 線性出價策略

咱們在CTR預估階段提到過用戶注意力,廣告位這個物理因素對點擊率的影響是十分顯著的。

我曾看到過一個數字。一樣一個廣告,把它放在第一位所得到點擊率是放在第二位時的兩倍。

若採用線性出價策略,DSP在出價時就有必要出兩倍於第二位的價格去參與競價。

這個思路很是好理解。感興趣的同窗可以參照KDD’12的paper《Bid Optimizing and Inventory Scoring in Targeted Online Advertising》

  • 非線性出價策略

非線性策略是我想說的重點,主要是想借着這個機會介紹一下限制條件下的優化問題以及其解法,這對於咱們作科研或者project項目都是很是有幫助的。如下咱們經過KDD’14《Optimal Real-Time Bidding for Display Advertising》一文來了解一下非線性出價策略的前因後果。

如下內容是我對這篇paper的我的理解,可能並不到位,既然寫出來就不怕你們笑話啦。有錯就改嘛嘿嘿。

<1>. 文章大意

實時競價的場景中。在預算限制條件下怎樣設計出價策略是咱們關注的焦點。爲了實現這一目標。分爲三步。第一,將現實問題用數學方法建模爲限制條件下的優化問題。並經過拉格朗日乘子法,求得出價策略的數學表達式;第二,利用品友RTB出價算法大賽的數據擬合出價策略中的參數。第三,驗證結果,發現了一個有意思的結論:相比少許高品質的展現機會。那些大量低品質的展現機會一樣可以具備較好的廣告效果。值得出價。

這個發現對於那些預算不夠。同一時候又想作廣告的小廣告主來講,簡直就是福音。

<2>. 創建模型

在一切開始以前,讓咱們先考慮清楚要解決的問題是什麼,簡單來講就一句話:選擇合適的出價策略。在預算的限制下實現廣告效果最大化。用數學語言描寫敘述就是如下這樣:

b()ORTB=argmaxb()NTxθ(x)w(b(θ(x),x),x)px(x)dx

subject to NTxb(θ(x),x)w(b(θ(x),x),x)px(x)dx

我靠

我靠。這一堆是什麼玩意兒!

你TM在逗我?淡定。。看不懂就對了啊哈哈哈哈!如下我來作一下簡化,告訴你這個模型在我眼中長什麼樣。

b()ORTB=argmaxb() 

subject to  !<B

這下是否是好多了?反正我第一次看到這個模型就長這樣。把積分部分看成一大坨,就很是easy看懂了。這個模型一共同擁有兩個公式,咱們一一來看。

b()ORTB=argmaxb() 

第一個公式是一個等式,等號左邊是咱們想獲得的出價策略函數 b()ORTB 。等號右邊是 argmaxb() 跟上一大坨,這裏 argmaxb() 的意思是:當後面一大坨取最大值時。返回在最大值狀況下的那個 b()

將等號左右兩邊連起來,這個等式所表達的意思就是:當後面一大坨取最大值時,返回在最大值狀況下的那個 b() 做爲咱們要求的出價策略 b()ORTB

這個思路是否是有點眼熟?沒錯,在前面合約廣告關鍵技術——受衆定向中,講到用戶動態特徵時咱們對泊松分佈的處理方式有些類似。綜上所述。對於這個等式而言,咱們要作的工做就一個:求最大值。

subject to  !<B

第二個公式是一個不等式,subject to是「受限於」的意思。在這裏, !<B 想要表達的就是一個限制條件。在等式求最大時插上一腳。還記得咱們在高中時學過的線性規劃嗎,同樣的道理。

現在咱們的任務已經明白了:在限制條件下求等式最大值。那麼這個數學任務和咱們的實際問題:選擇合適的出價策略,在預算的限制下實現廣告效果最大化是怎麼匹配上的呢?這就需要去看那兩大坨了。那一大坨全都是各類符號,咱們看不懂,因此需要一張符號對比表。例如如下圖。

爲了方便,我再把模型公式再貼一次。

符號對比表

b()ORTB=argmaxb()NTxθ(x)w(b(θ(x),x),x)px(x)dx

subject to NTxb(θ(x),x)w(b(θ(x),x),x)px(x)dx

有了符號定義和模型,咱們開始聊(啃)一聊(啃)這兩大坨吧。先看第一坨,咱們從右往左看。

  • dx :x表明一次bid request。是ADX發給DSP的競價請求「標識XXX,男性。20-25歲,跑鞋愛好者。廣告位爲首頁」。即一次廣告展現機會。

    之因此是 dx 而不是 x 。是因爲咱們關注的是整個廣告推廣計劃中所有的競價過程。而非某一次競價。

  • px(x) :廣告展現機會的機率密度分佈,個人理解是在全網所有的競價中。知足我DSP要求的、或者是我能收到的bid request所佔的比例。

    所以。 px(x)dx 的物理意義是「我能收到的展現機會」。

  • θ(x) θ 是贏得這次競價所能帶來的收益(KPI),本文用CTR來衡量。CTR越高,收益就越高。

  • b(θ(x),x) :對於這次展現機會,在能帶來收益爲 θ(x) 的狀況下。我所出的價格bid。

  • ω(b(θ(x),x),x) :對於這次展現機會。在能帶來收益爲 θ(x) 的狀況下。個人出價bid能獲勝的機率是多少。所以。 ω(b(θ(x),x),x)px(x)dx 的物理意義是「對於本次我所收到的這個展現機會來講,在該機會能帶來收益爲 θ(x) ,我出價爲bid的狀況下,我能戰勝對手得到這次展現機會的機率」。

  • θ(x) :依舊收益。

    因此 θ(x)ω(b(θ(x),x),x)px(x)dx 的物理含義是「我出價爲bid,贏得此次展現機會後,所能得到的收益」。

  • NT :一次廣告推廣活動中所有的bid request。

有了上面的解釋,咱們可以很是easy的得出第一坨的物理意義:對於一次廣告推廣活動中的所有競價,我使用 b() 的出價策略所能得到的收益。和等式連起來,即:對於一次廣告推廣活動中的所有競價,我使用 b() 的出價策略所能得到最大收益時所相應的 b() 。就是咱們想要的出價策略。

有了第一坨的經驗,第二坨啃起來就easy多了。

前面都不變。僅僅有到最後把 θ(x) 換成了 b(θ(x),x) ,變爲 b(θ(x),x)ω(b(θ(x),x),x)px(x)dx 。其物理意義爲:對於此次廣告展現機會。我出價爲bid且贏得此次展現機會所花費的預算。因此對於整個廣告推廣活動而言,所有的出價要小於預算

就這樣,咱們順利的將預算限制寫進了數學模型裏。

好了,分析完兩大坨積分的含義以後,咱們合起來解釋一下該模型(ORTB)所表達的物理意義:在整個廣告推廣活動中,在出價總和小於預算的限制條件下。當廣告收益取得最大值時所相應的那個出價策略,就是咱們求之不得的出價策略 b()ORTB 。再來對比一下咱們的任務:選擇合適的出價策略,在預算的限制下實現廣告效果最大化

這下匹配了吧!完美!

(圖片來自網絡)

ORTB

<3>. 模型求解

截止到眼下。咱們已經獲得了模型表達式,由一個等式和一個不等式組成。

接下來咱們就要開始求解了:求最大值。最大值有什麼好求的?讓導數等於0以後帶入極值點不就完了?你說的對,假設僅僅有一個等式咱們是這麼求的,但問題是咱們現在除了一個等式,另外一個不等式,這樣的狀況下怎麼來求最大值呢?用拉格朗日乘子法

經過拉格朗日乘子法,咱們可以將不等式乘一個參數 λ 後和等式寫進一個公式裏(化簡過程已省略),獲得例如如下結果。

L(b(θ),λ)=θθw(b(θ))pθ(θ)λθb(θ)w(b(θ))pθ(θ)dθ+λBNT  (6)

有了這個公式,咱們就可以對它進行求導等於0了。可得例如如下結果:

θpθ(θ)w(b(θ))b(θ)λpθ(θ)[w(b(θ))+b(θ)w(b(θ))b(θ)]=0  (7)

經過化簡,可得出價函數 b() 與勝率函數 w() 的關係:

λw(b(θ))=[θλb(θ)]w(b(θ))b(θ)  (8)

也就是說。咱們想要的出價函數 b() 與勝率函數 w() 有關,那咱們就來看看他們之間究竟有什麼關係。經過對數據的統計,可以畫出出價函數 b() 與勝率函數 w() 的關係圖像:

w()-b()

從圖像中咱們可以看出。出價函數 b() 與勝率函數 w() 的關係是非線性的,並且這個曲線的走勢和 y=xc+x 很是像。咱們來對比一下,這裏c=3。

x/c+x

沒錯。的確很是像。基於此,爲了達到消元的目的,做者作了一個出價函數 b() 與勝率函數 w() 之間的假設。仿照着 y=xc+x 獲得如下公式:

w(b(θ))=b(θ)c+b(θ)  (9)

將出價函數 b() 與勝率函數 w() 的9式關係帶入到倒數爲0的7式中。化簡可得:

bORTB1(θ)=cλ+c2c  (13)

就這樣。咱們獲得了咱們的出價策略 bORTB() 的表達式(公式13)。

咱們來看看這個公式裏有什麼。

這個公式是由 θ c λ 組成的。當中 c λ 都是常量,僅僅有 θ 一個變量。 c 是出價函數 b() 與勝率函數 w() 之間的係數, λ 是拉格朗日乘子,而 θ 是每次廣告展現的收益,按CTR高低來評判。咱們來驗證一下:CTR越高。由該策略算出的出價也就越高,符合咱們的預期,大功告成。

咱們來梳理一下思路。

在建模環節,咱們已經獲得了咱們所需的模型:一個等式+一個不等式。咱們的任務是要求等式的最大值,一般方法直接對等式求導等於0就能夠,因爲咱們這裏是一個限制條件下的優化問題,因此需要用到拉格朗日乘子法。將限制條件寫進等式中,構造出一個新的公式(公式6)。對於新的公式,咱們就可以用求導等於0了(公式7)。在化簡過程當中。咱們發現了出價函數 b() 與勝率函數 w() 存在着數學關係(公式8)。爲了消元,咱們依照實際數據的分佈構造出出價函數 b() 與勝率函數 w() 的表達式(公式9),將公式9帶入公式7,繼續化簡就獲得了咱們的出價策略: bORTB() ,剩下的工做就是依據數據去擬合 λ c 就能夠,這裏就很少說了。

這裏需要強調的是,這樣的限制條件下的優化方法在統計與機器學習中是非常常見的,好比SVM的推導過程,感興趣的同窗可以試一試,事實上並不難。

<4>. 結果分析

既然有了公式。那咱們就來看看ORTB的出價有什麼特色吧。

線性vs非線性

咱們可以很是直觀的看出,咱們所獲得的出價策略是一個非線性的。橫座標 θ 表明了廣告展現計劃的品質,ORTB會對低價值的展現機會出高價。這樣的結果能爲咱們帶來什麼,誰會去要那些低價值的展現機會呢?咱們來看如下這張圖。

lambda

在此圖中。咱們盯着一條曲線看,比方藍色的(1/32)。

隨着 λ 添加。收穫的點擊量是添加的,意味着 λ 越高,咱們的收益越高。

對於咱們得到的出價策略而言, λ 越高,咱們的出價是越低的,也就意味着此次展現機會的價值是很是低的。這樣的結果值得咱們深思,咱們覺得低價值的展現機會是不值錢的,但數聽說明,這些看似不值錢的展現所能帶來的回報還算不錯。特別地,在 λ =1e-05時三條曲線的差點兒重合。而紅色表明有錢的廣告主,藍色表明窮廣告主,儘管預算差了16倍,但是得到的收益是一樣的,這個結論對於預算有限的小廣告主而言,是個天大的好消息:儘管咱們錢很少。但僅僅要咱們出價合適,依舊可以收穫很是好的廣告效果,四兩撥千斤,極大的調動了小廣告主參加程序化交易的積極性。

咱們知道。「二八原則」是客觀存在的,在廣告主中也不例外。假設能吸引這80%的小廣告主參與程序化交易,玩家一多。需求天然不少其它。爲了知足金主的需求。勢必會推進相關計算技術的發展,這對於計算廣告的將來而言,是一件好事。

講完了非線性出價策略。程序化交易中的關鍵技術也接近尾聲了。

出價策略之因此重要,是因爲就是DSP賴以生存的看家本領,沒有這些真本事。DSP是走不了多遠的。

到此,計算廣告關鍵技術就講完了。啥也不說了,給本身鼓個掌吧(圖片來自網絡)。

鼓掌


歷時大半個月。中間又加上過春節,最終把這章給寫完了,沒想到這一章的內容要比上半部分全文都要多。在本篇《計算廣告小窺[中]這孫子怎麼什麼都知道》中,咱們從理論的角度探討了計算廣告各階段的關鍵技術:在合約廣告中,咱們討論了受衆定向技術,從用戶、上下文和廣告主三個方面簡介了打標籤的常用思路和方法,爲計算廣告實現精準營銷打下了堅實的基礎;在競價廣告中。咱們討論了點擊率預估的前因後果,感覺到了互聯網人的智慧,爲媒體站點流量變現提供了直接保障。在程序化交易廣告中,咱們經過學術論文了解了當下學術界率先的DSP出價策略,近距離地感覺了一下科研的魅力。

曾有人嘆息到「咱們這一代最聰明的人竟然都在這裏思考着怎樣讓人們去大量的點擊廣告。真衰。

」我我的不認同這樣的說法,因爲在計算廣告這樣複雜的場景下,相關技術和解決方式的水準一定是頂尖的。稍加改動就能夠解決其它場景下的疑難雜症,這恰似軍工技術反哺民用。又恰似女生隨手甩一個不要了的護膚品給男生,那可都是寶。

受篇幅所限。原定於本篇要完畢的第五章和第六章僅僅好放在《計算廣告小窺[下]廣告系統架構:要啥自行車,這裏有寶馬。

》中來寫了。在下篇中。咱們將介紹一個通用的廣告系統架構,在領略在線和離線過程的同一時候。還將見到時下工業界最火熱的技術。譬如Nginx。Hadoop。Spark等在計算廣告領域的位置與應用。

除了廣告系統架構,我還將介紹一個我本身搭的最小廣告系統mieSys,可以先放出來給你們玩一玩,連接是http://115.159.33.50/

用法:用戶點擊頁面中廣告,等一段時間後刷新頁面,在頁腳處會顯示用戶的興趣標籤和性別,在第一行五個廣告位中會展現符合用戶口味的廣告。

需要注意的是。因爲眼下缺乏PV數據,CTR模型並不許。爲了保證演示效果。臨時僅僅能用離線取代在線。因此您在點擊事後估計要10分鐘(用戶多的話甚至更長)才幹看到頁面效果。我後期會進行優化,還望輕拍。效果圖例如如下,第一張爲默認頁面,第二張爲結果頁面。

默認頁面

結果頁面

這個系統是我用大概20天的時間搭成的,眼下來講主要的功能都有,但仍是太簡單,並且算法沒有優化。我會逐步的往上面加入模塊和算法,眼下思路已有,就差各位爲我提供PV數據了[嘿嘿嘿嘿···]。假設您發現mieSys掛了,不是用戶太多就是我在調程序。在系統成熟的時候我會選擇開源。願意與有興趣的同窗多交流。哦對了,至於爲何起名爲mieSys,因爲我女友屬咩,呵呵噠~

好了。咱們《計算廣告小窺[下]》再見!

P.S. 當即開學了,事情也多了起來。等暑期實習肯定以後再開始寫下篇。

估計到4月份,謝謝各位的關注。

相關文章
相關標籤/搜索