算法原理全文詳解今日頭條抖音_第1頁
算法原理全文詳解今日頭條抖音_第2頁
算法原理全文詳解今日頭條抖音_第3頁
算法原理全文詳解今日頭條抖音_第4頁
算法原理全文詳解今日頭條抖音_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

推薦算法原理全文詳解系統(tǒng)概覽以及內(nèi)容分析、顧客標(biāo)簽、評定分析,內(nèi)容安全等原理。系統(tǒng)概覽推薦系統(tǒng),如果用形式化的方式去描述事實(shí)上是擬合一種顧客對內(nèi)容滿意度的函數(shù),這個函數(shù)需要輸入三個維度的變量。

第一種維度是內(nèi)容。頭條現(xiàn)在已經(jīng)是一種綜合內(nèi)容平臺,圖文、視頻、UGC小視頻、問答、微頭條,每種內(nèi)容有諸多自己的特性,需要考慮如何提取不同內(nèi)容類型的特性做好推薦。

第二個維度是顧客特性。涉及多個愛好標(biāo)簽,職業(yè)、年紀(jì)、性別等,尚有諸多模型刻劃出的隱式顧客愛好等。

第三個維度是環(huán)境特性。這是移動互聯(lián)網(wǎng)時代推薦的特點(diǎn),顧客隨時隨處移動,在工作場合、通勤、旅游等不同的場景,信息偏好有所偏移。

結(jié)合三方面的維度,模型會給出一種預(yù)估,即推測推薦內(nèi)容在這一場景下對這一顧客與否適宜。

這里尚有一種問題,如何引入無法直接衡量的目的?

推薦模型中,點(diǎn)擊率、閱讀時間、點(diǎn)贊、評論、轉(zhuǎn)發(fā)涉及點(diǎn)贊都是能夠量化的目的,能夠用模型直接擬合做預(yù)估,看線上提高狀況能夠懂得做的好不好。

但一種大致量的推薦系統(tǒng),服務(wù)顧客眾多,不能完全由指標(biāo)評定,引入數(shù)據(jù)指標(biāo)以外的要素也很重要。

例如廣告和特型內(nèi)容頻控。像問答卡片就是比較特殊的內(nèi)容形式,其推薦的目的不完全是讓顧客瀏覽,還要考慮吸引顧客回答為社區(qū)奉獻(xiàn)內(nèi)容。這些內(nèi)容和普通內(nèi)容如何混排,如何控制頻控都需要考慮。

另外,平臺出于內(nèi)容生態(tài)和社會責(zé)任的考量,像低俗內(nèi)容的打壓,標(biāo)題黨、低質(zhì)內(nèi)容的打壓,重要新聞的置頂、加權(quán)、強(qiáng)插,低檔別賬號內(nèi)容降權(quán)都是算法本身無法完畢,需要進(jìn)一步對內(nèi)容進(jìn)行干預(yù)。

下面我將簡樸介紹在上述算法目的的基礎(chǔ)上如何對其實(shí)現(xiàn)。

前面提到的公式y(tǒng)=F(Xi,Xu,Xc),是一種很典型的監(jiān)督學(xué)習(xí)問題??蓪?shí)現(xiàn)的辦法有諸多,例如傳統(tǒng)的協(xié)同過濾模型,監(jiān)督學(xué)習(xí)算法LogisticRegression模型,基于深度學(xué)習(xí)的模型,F(xiàn)actorizationMachine和GBDT等。

一種優(yōu)秀的工業(yè)級推薦系統(tǒng)需要非常靈活的算法實(shí)驗(yàn)平臺,能夠支持多個算法組合,涉及模型構(gòu)造調(diào)節(jié)。由于很難有一套通用的模型架構(gòu)合用于全部的推薦場景。

現(xiàn)在很流行將LR和DNN結(jié)合,前幾年Facebook也將LR和GBDT算法做結(jié)合。今天頭條旗下幾款產(chǎn)品都在沿用同一套強(qiáng)大的算法推薦系統(tǒng),但根據(jù)業(yè)務(wù)場景不同,模型架構(gòu)會有所調(diào)節(jié)。

模型之后再看一下典型的推薦特性,重要有四類特性會對推薦起到比較重要的作用。

第一類是有關(guān)性特性,就是評定內(nèi)容的屬性和與顧客與否匹配。顯性的匹配涉及核心詞匹配、分類匹配、來源匹配、主題匹配等。像FM模型中也有某些隱性匹配,從顧客向量與內(nèi)容向量的距離能夠得出。

第二類是環(huán)境特性,涉及地理位置、時間。這些既是bias特性,也能以此構(gòu)建某些匹配特性。

第三類是熱度特性。涉及全局熱度、分類熱度,主題熱度,以及核心詞熱度等。內(nèi)容熱度信息在大的推薦系統(tǒng)特別在顧客冷啟動的時候非常有效。

第四類是協(xié)同特性,它能夠在部分程度上協(xié)助解決所謂算法越推越窄的問題。

協(xié)同特性并非考慮顧客已有歷史。而是通過顧客行為分析不同顧客間相似性,例如點(diǎn)擊相似、愛好分類相似、主題相似、愛好詞相似,甚至向量相似,從而擴(kuò)展模型的探索能力。

模型的訓(xùn)練上,頭條系大部分推薦產(chǎn)品采用實(shí)時訓(xùn)練。實(shí)時訓(xùn)練省資源并且反饋快,這對信息流產(chǎn)品非常重要。顧客需要行為信息能夠被模型快速捕獲并反饋至下一刷的推薦效果。

我們線上現(xiàn)在基于storm集群實(shí)時解決樣本數(shù)據(jù),涉及點(diǎn)擊、呈現(xiàn)、收藏、分享等動作類型。

模型參數(shù)服務(wù)器是內(nèi)部開發(fā)的一套高性能的系統(tǒng),由于頭條數(shù)據(jù)規(guī)模增加太快,類似的開源系統(tǒng)穩(wěn)定性和性能無法滿足,而我們自研的系統(tǒng)底層做了諸多針對性的優(yōu)化,提供了完善運(yùn)維工具,更適配現(xiàn)有的業(yè)務(wù)場景。

現(xiàn)在,頭條的推薦算法模型在世界范疇內(nèi)也是比較大的,包含幾百億原始特性和數(shù)十億向量特性。

整體的訓(xùn)練過程是線上服務(wù)器統(tǒng)計(jì)實(shí)時特性,導(dǎo)入到Kafka文獻(xiàn)隊(duì)列中,然后進(jìn)一步導(dǎo)入Storm集群消費(fèi)Kafka數(shù)據(jù),客戶端回傳推薦的label構(gòu)造訓(xùn)練樣本,隨即根據(jù)最新樣本進(jìn)行在線訓(xùn)練更新模型參數(shù),最后線上模型得到更新。

這個過程中重要的延遲在顧客的動作反饋延時,由于文章推薦后顧客不一定立刻看,不考慮這部分時間,整個系統(tǒng)是幾乎實(shí)時的。

但由于頭條現(xiàn)在的內(nèi)容量非常大,加上小視頻內(nèi)容有千萬級別,推薦系統(tǒng)不可能全部內(nèi)容全部由模型預(yù)估。

因此需要設(shè)計(jì)某些召回方略,每次推薦時從海量內(nèi)容中篩選出千級別的內(nèi)容庫。召回方略最重要的規(guī)定是性能要極致,普通超時不能超出50毫秒。

召回方略種類有諸多,我們重要用的是倒排的思路。離線維護(hù)一種倒排,這個倒排的key能夠是分類,topic,實(shí)體,來源等。

排序考慮熱度、新鮮度、動作等。線上召回能夠快速從倒排中根據(jù)顧客愛好標(biāo)簽對內(nèi)容做截?cái)?,高效的從很大的?nèi)容庫中篩選比較靠譜的一小部分內(nèi)容。

二、內(nèi)容分析

內(nèi)容分析涉及文本分析,圖片分析和視頻分析。頭條一開始重要做資訊,今天我們重要講一下文本分析。文本分析在推薦系統(tǒng)中一種很重要的作用是顧客愛好建模。

沒有內(nèi)容及文本標(biāo)簽,無法得到顧客愛好標(biāo)簽。舉個例子,只有懂得文章標(biāo)簽是互聯(lián)網(wǎng),顧客看了互聯(lián)網(wǎng)標(biāo)簽的文章,才干懂得顧客有互聯(lián)網(wǎng)標(biāo)簽,其它核心詞也同樣。

首先,文本內(nèi)容的標(biāo)簽?zāi)軌蛑苯訁f(xié)助推薦特性,例如魅族的內(nèi)容能夠推薦給關(guān)注魅族的顧客,這是顧客標(biāo)簽的匹配。

如果某段時間推薦主頻道效果不抱負(fù),出現(xiàn)推薦窄化,顧客會發(fā)現(xiàn)到具體的頻道推薦(如科技、體育、娛樂、軍事等)中閱讀后,再回主feed,推薦效果會更加好。

由于整個模型是打通的,子頻道探索空間較小,更容易滿足顧客需求。只通過單一信道反饋提高推薦精確率難度會比較大,子頻道做的好很重要。而這也需要好的內(nèi)容分析。

上圖是今天頭條的一種實(shí)際文本case。能夠看到,這篇文章有分類、核心詞、topic、實(shí)體詞等文本特性。

固然不是沒有文本特性,推薦系統(tǒng)就不能工作,推薦系統(tǒng)最早期應(yīng)用在Amazon,甚至沃爾瑪時代就有,涉及Netfilx做視頻推薦也沒有文本特性直接協(xié)同過濾推薦。

但對資訊類產(chǎn)品而言,大部分是消費(fèi)當(dāng)天內(nèi)容,沒有文本特性新內(nèi)容冷啟動非常困難,協(xié)同類特性無法解決文章冷啟動問題。

今天頭條推薦系統(tǒng)重要抽取的文本特性涉及下列幾類。首先是語義標(biāo)簽類特性,顯式為文章打上語義標(biāo)簽。

這部分標(biāo)簽是由人定義的特性,每個標(biāo)簽有明確的意義,標(biāo)簽體系是預(yù)定義的。

另外尚有隱式語義特性,重要是topic特性和核心詞特性,其中topic特性是對于詞概率分布的描述,無明確意義;而核心詞特性會基于某些統(tǒng)一特性描述,無明確集合。

另外文本相似度特性也非常重要。在頭條,曾經(jīng)顧客反饋?zhàn)畲蟮膯栴}之一就是為什么總推薦重復(fù)的內(nèi)容。這個問題的難點(diǎn)在于,每個人對重復(fù)的定義不同。

舉個例子,有人覺得這篇講皇馬和巴薩的文章,昨天已經(jīng)看過類似內(nèi)容,今天還說這兩個隊(duì)那就是重復(fù)。

但對于一種重度球迷而言,特別是巴薩的球迷,恨不得全部報(bào)道都看一遍。解決這一問題需要根據(jù)判斷相似文章的主題、行文、主體等內(nèi)容,根據(jù)這些特性做線上方略。

同樣,尚有時空特性,分析內(nèi)容的發(fā)生地點(diǎn)以及時效性。例如武漢限行的事情推給北京顧客可能就沒故意義。最后還要考慮質(zhì)量有關(guān)特性,判斷內(nèi)容與否低俗,色情,與否是軟文,雞湯?

上圖是頭條語義標(biāo)簽的特性和使用場景。他們之間層級不同,規(guī)定不同。

分類的目的是覆蓋全方面,但愿每篇內(nèi)容每段視頻都有分類;而實(shí)體體系規(guī)定精確,相似名字或內(nèi)容要能明確分辨終究指代哪一種人或物,但不用覆蓋很全。

概念體系則負(fù)責(zé)解決比較精確又屬于抽象概念的語義。這是我們最初的分類,實(shí)踐中發(fā)現(xiàn)分類和概念在技術(shù)上能互用,后來統(tǒng)一用了一套技術(shù)架構(gòu)。

現(xiàn)在,隱式語義特性已經(jīng)能夠較好的協(xié)助推薦,而語義標(biāo)簽需要持續(xù)標(biāo)注,新名詞新概念不停出現(xiàn),標(biāo)注也要不停迭代。其做好的難度和資源投入要遠(yuǎn)不不大于隱式語義特性,那為什么還需要語義標(biāo)簽?

有某些產(chǎn)品上的需要,例如頻道需要有明擬定義的分類內(nèi)容和容易理解的文本標(biāo)簽體系。語義標(biāo)簽的效果是檢查一種公司NLP技術(shù)水平的試金石。

今天頭條推薦系統(tǒng)的線上分類采用典型的層次化文本分類算法。

最上面Root,下面第一層的分類是像科技、體育、財(cái)經(jīng)、娛樂,體育這樣的大類,再下面細(xì)分足球、籃球、乒乓球、網(wǎng)球、田徑、游泳…,足球再細(xì)分國際足球、中國足球,中國足球又細(xì)分中甲、中超、國家隊(duì)…,相比單獨(dú)的分類器,運(yùn)用層次化文本分類算法能更加好地解決數(shù)據(jù)傾斜的問題。

有某些例外是,如果要提高召回,能夠看到我們連接了某些飛線。這套架構(gòu)通用,但根據(jù)不同的問題難度,每個元分類器能夠異構(gòu),像有些分類SVM效果較好,有些要結(jié)合CNN,有些要結(jié)合RNN再解決一下。

上圖是一種實(shí)體詞識別算法的case?;诜衷~成果和詞性標(biāo)注選用候選,期間可能需要根據(jù)知識庫做某些拼接,有些實(shí)體是幾個詞的組合,要擬定哪幾個詞結(jié)合在一起能映射實(shí)體的描述。

如果成果映射多個實(shí)體還要通過詞向量、topic分布甚至詞頻本身等去歧,最后計(jì)算一種有關(guān)性模型。

三、顧客標(biāo)簽

內(nèi)容分析和顧客標(biāo)簽是推薦系統(tǒng)的兩大基石。內(nèi)容分析涉及到機(jī)器學(xué)習(xí)的內(nèi)容多某些,相比而言,顧客標(biāo)簽工程挑戰(zhàn)更大。

今天頭條慣用的顧客標(biāo)簽涉及顧客感愛好的類別和主題、核心詞、來源、基于愛好的顧客聚類以及多個垂直愛好特性(車型,體育球隊(duì),股票等)。尚有性別、年紀(jì)、地點(diǎn)等信息。

性別信息通過顧客第三方社交賬號登錄得到。年紀(jì)信息普通由模型預(yù)測,通過機(jī)型、閱讀時間分布等預(yù)估。

常駐地點(diǎn)來自顧客授權(quán)訪問位置信息,在位置信息的基礎(chǔ)上通過傳統(tǒng)聚類的辦法拿到常駐點(diǎn)。

常駐點(diǎn)結(jié)合其它信息,能夠推測顧客的工作地點(diǎn)、出差地點(diǎn)、旅游地點(diǎn)。這些顧客標(biāo)簽非常有助于推薦。

固然最簡樸的顧客標(biāo)簽是瀏覽過的內(nèi)容標(biāo)簽。但這里涉及到某些數(shù)據(jù)解決方略。

重要涉及:

一、過濾噪聲。通過停留時間短的點(diǎn)擊,過濾標(biāo)題黨。

二、熱點(diǎn)處罰。對顧客在某些熱門文章(如前段時間PGOne的新聞)上的動作做降權(quán)解決。理論上,傳輸范疇較大的內(nèi)容,置信度會下降。

三、時間衰減。顧客愛好會發(fā)生偏移,因此方略更偏向新的顧客行為。因此,隨著顧客動作的增加,老的特性權(quán)重會隨時間衰減,新動作奉獻(xiàn)的特性權(quán)重會更大。

四、處罰呈現(xiàn)。如果一篇推薦給顧客的文章沒有被點(diǎn)擊,有關(guān)特性(類別,核心詞,來源)權(quán)重會被處罰。當(dāng)

然同時,也要考慮全局背景,是不是有關(guān)內(nèi)容推送比較多,以及有關(guān)的關(guān)閉和dislike信號等。

顧客標(biāo)簽挖掘總體比較簡樸,重要還是剛剛提到的工程挑戰(zhàn)。頭條顧客標(biāo)簽第一版是批量計(jì)算框架,流程比較簡樸,每天抽取昨天的日活顧客過去兩個月的動作數(shù)據(jù),在Hadoop集群上批量計(jì)算成果。

但問題在于,隨著顧客高速增加,愛好模型種類和其它批量解決任務(wù)都在增加,涉及到的計(jì)算量太大。

,批量解決任務(wù)幾百萬顧客標(biāo)簽更新的Hadoop任務(wù),當(dāng)天完畢已經(jīng)開始勉強(qiáng)。集群計(jì)算資源緊張很容易影響其它工作,集中寫入分布式存儲系統(tǒng)的壓力也開始增大,并且顧客愛好標(biāo)簽更新延遲越來越高。

面對這些挑戰(zhàn)。底今天頭條上線了顧客標(biāo)簽Storm集群流式計(jì)算系統(tǒng)。改成流式之后,只要有顧客動作更新就更新標(biāo)簽,CPU代價比較小,能夠節(jié)省80%的CPU時間,大大減少了計(jì)算資源開銷。

同時,只需幾十臺機(jī)器就能夠支撐每天數(shù)千萬顧客的愛好模型更新,并且特性更新速度非???,基本能夠做到準(zhǔn)實(shí)時。這套系統(tǒng)從上線始終使用至今。

固然,我們也發(fā)現(xiàn)并非全部顧客標(biāo)簽都需要流式系統(tǒng)。像顧客的性別、年紀(jì)、常駐地點(diǎn)這些信息,不需要實(shí)時重復(fù)計(jì)算,就仍然保存daily更新。

四、評定分析

上面介紹了推薦系統(tǒng)的整體架構(gòu),那么如何評定推薦效果好不好?

有一句我認(rèn)為非常有智慧的話,“一種事情沒法評定就沒法優(yōu)化”。對推薦系統(tǒng)也是同樣。

事實(shí)上,諸多因素都會影響推薦效果。例如侯選集合變化,召回模塊的改善或增加,推薦特性的增加,模型架構(gòu)的改善在,算法參數(shù)的優(yōu)化等等,不一一舉例。

評定的意義就在于,諸多優(yōu)化最后可能是負(fù)向效果,并不是優(yōu)化上線后效果就會改善。

全方面的評定推薦系統(tǒng),需要完備的評定體系、強(qiáng)大的實(shí)驗(yàn)平臺以及易用的經(jīng)驗(yàn)分析工具。

所謂完備的體系就是并非單一指標(biāo)衡量,不能只看點(diǎn)擊率或者停留時長等,需要綜合評定。

諸多公司算法做的不好,并非是工程師能力不夠,而是需要一種強(qiáng)大的實(shí)驗(yàn)平臺,尚有便捷的實(shí)驗(yàn)分析工具,能夠智能分析數(shù)據(jù)指標(biāo)的置信度。

一種良好的評定體系建立需要遵照幾個原則,首先是兼顧短期指標(biāo)與長久指標(biāo)。我在之前公司負(fù)責(zé)電商方向的時候觀察到,諸多方略調(diào)節(jié)短期內(nèi)顧客覺得新鮮,但是長久看其實(shí)沒有任何助益。

另首先,要兼顧顧客指標(biāo)和生態(tài)指標(biāo)。既要為內(nèi)容創(chuàng)作者提供價值,讓他更有尊嚴(yán)的創(chuàng)作,也有義務(wù)滿足顧客,這兩者要平衡。

尚有廣告主利益也要考慮,這是多方博弈和平衡的過程。

另外,要注意協(xié)同效應(yīng)的影響。實(shí)驗(yàn)中嚴(yán)格的流量隔離很難做到,要注意外部效應(yīng)。

強(qiáng)大的實(shí)驗(yàn)平臺非常直接的優(yōu)點(diǎn)是,當(dāng)同時在線的實(shí)驗(yàn)比較多時,能夠由平臺自動分派流量,無需人工溝通,并且實(shí)驗(yàn)結(jié)束流量立刻回收,提高管理效率。

這能協(xié)助公司減少分析成本,加緊算法迭代效應(yīng),使整個系統(tǒng)的算法優(yōu)化工作能夠快速往前推動。

這是頭條A/BTest實(shí)驗(yàn)系統(tǒng)的基本原理。首先我們會做在離線狀態(tài)下做好顧客分桶,然后線上分派實(shí)驗(yàn)流量,將桶里顧客打上標(biāo)簽,分給實(shí)驗(yàn)組。

舉個例子,開一種10%流量的實(shí)驗(yàn),兩個實(shí)驗(yàn)組各5%,一種5%是基線,方略和線上大盤同樣,另外一種是新的方略。

實(shí)驗(yàn)過程中顧客動作會被收集,基本上是準(zhǔn)實(shí)時,每小時都能夠看到。但由于小時數(shù)據(jù)有波動,普通是以天為時間節(jié)點(diǎn)來看。動作收集后會有日志解決、分布式統(tǒng)計(jì)、寫入數(shù)據(jù)庫,非常便捷。

在這個系統(tǒng)下工程師只需要設(shè)立流量需求、實(shí)驗(yàn)時間、定義特殊過濾條件,自定義實(shí)驗(yàn)組ID。系統(tǒng)能夠自動生成:實(shí)驗(yàn)數(shù)據(jù)對比、實(shí)驗(yàn)數(shù)據(jù)置信度、實(shí)驗(yàn)結(jié)論總結(jié)以及實(shí)驗(yàn)優(yōu)化建議。

固然,只有實(shí)驗(yàn)平臺是遠(yuǎn)遠(yuǎn)不夠的。線上實(shí)驗(yàn)平臺只能通過數(shù)據(jù)指標(biāo)變化推測顧客體驗(yàn)的變化,但數(shù)據(jù)指標(biāo)和顧客體驗(yàn)存在差別,諸多指標(biāo)不能完全量化。

諸多改善仍然要通過人工分析,重大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論