原文標(biāo)題:《今日頭條算法原理(全文)》
原文作者:今日頭條 —— 曹歡歡
原文鏈接:https://www.toutiao.com/a6511211182064402951/
【聲明】?jī)H供技術(shù)學(xué)習(xí)和科學(xué)研究使用邻储,如有侵權(quán)請(qǐng)聯(lián)系刪除
今天宣蔚,算法分發(fā)已經(jīng)是信息平臺(tái)、搜索引擎阅嘶、瀏覽器砰苍、社交軟件等幾乎所有軟件的標(biāo)配沉噩,但同時(shí)粘勒,算法也開始面臨質(zhì)疑、挑戰(zhàn)和誤解萝快。今日頭條的推薦算法比原,從2012年9月第一版開發(fā)運(yùn)行至今,已經(jīng)經(jīng)過四次大的調(diào)整和修改杠巡。
今日頭條委托資深算法架構(gòu)師曹歡歡博士,公開今日頭條的算法原理雇寇,以期推動(dòng)整個(gè)行業(yè)問診算法氢拥、建言算法;通過讓算法透明锨侯,來消除各界對(duì)算法的誤解嫩海,并逐步推動(dòng)整個(gè)行業(yè)讓算法更好的造福社會(huì)。
以下為《今日頭條算法原理》全文囚痴。
今日頭條資深算法架構(gòu)師曹歡歡:
本次分享將主要介紹今日頭條推薦系統(tǒng)概覽以及內(nèi)容分析叁怪、用戶標(biāo)簽、評(píng)估分析深滚,內(nèi)容安全等原理奕谭。
一、系統(tǒng)概覽
推薦系統(tǒng)痴荐,如果用形式化的方式去描述實(shí)際上是擬合一個(gè)用戶對(duì)內(nèi)容滿意度的函數(shù)血柳,這個(gè)函數(shù)需要輸入三個(gè)維度的變量。第一個(gè)維度是內(nèi)容生兆。頭條現(xiàn)在已經(jīng)是一個(gè)綜合內(nèi)容平臺(tái)难捌,圖文、視頻鸦难、UGC小視頻根吁、問答、微頭條合蔽,每種內(nèi)容有很多自己的特征击敌,需要考慮怎樣提取不同內(nèi)容類型的特征做好推薦。第二個(gè)維度是用戶特征辈末。包括各種興趣標(biāo)簽愚争,職業(yè)映皆、年齡、性別等轰枝,還有很多模型刻劃出的隱式用戶興趣等捅彻。第三個(gè)維度是環(huán)境特征。這是移動(dòng)互聯(lián)網(wǎng)時(shí)代推薦的特點(diǎn)鞍陨,用戶隨時(shí)隨地移動(dòng)步淹,在工作場(chǎng)合、通勤诚撵、旅游等不同的場(chǎng)景缭裆,信息偏好有所偏移。結(jié)合三方面的維度寿烟,模型會(huì)給出一個(gè)預(yù)估澈驼,即推測(cè)推薦內(nèi)容在這一場(chǎng)景下對(duì)這一用戶是否合適。
這里還有一個(gè)問題筛武,如何引入無法直接衡量的目標(biāo)缝其?
推薦模型中,點(diǎn)擊率徘六、閱讀時(shí)間内边、點(diǎn)贊、評(píng)論待锈、轉(zhuǎn)發(fā)包括點(diǎn)贊都是可以量化的目標(biāo)漠其,能夠用模型直接擬合做預(yù)估,看線上提升情況可以知道做的好不好竿音。但一個(gè)大體量的推薦系統(tǒng)和屎,服務(wù)用戶眾多,不能完全由指標(biāo)評(píng)估春瞬,引入數(shù)據(jù)指標(biāo)以外的要素也很重要眶俩。
比如廣告和特型內(nèi)容頻控。像問答卡片就是比較特殊的內(nèi)容形式快鱼,其推薦的目標(biāo)不完全是讓用戶瀏覽颠印,還要考慮吸引用戶回答為社區(qū)貢獻(xiàn)內(nèi)容。這些內(nèi)容和普通內(nèi)容如何混排抹竹,怎樣控制頻控都需要考慮线罕。
此外,平臺(tái)出于內(nèi)容生態(tài)和社會(huì)責(zé)任的考量窃判,像低俗內(nèi)容的打壓钞楼,標(biāo)題黨、低質(zhì)內(nèi)容的打壓袄琳,重要新聞的置頂询件、加權(quán)燃乍、強(qiáng)插,低級(jí)別賬號(hào)內(nèi)容降權(quán)都是算法本身無法完成宛琅,需要進(jìn)一步對(duì)內(nèi)容進(jìn)行干預(yù)刻蟹。
下面我將簡(jiǎn)單介紹在上述算法目標(biāo)的基礎(chǔ)上如何對(duì)其實(shí)現(xiàn)。
前面提到的公式y(tǒng) = F(Xi ,Xu ,Xc)嘿辟,是一個(gè)很經(jīng)典的監(jiān)督學(xué)習(xí)問題舆瘪。可實(shí)現(xiàn)的方法有很多红伦,比如傳統(tǒng)的協(xié)同過濾模型英古,監(jiān)督學(xué)習(xí)算法Logistic Regression模型,基于深度學(xué)習(xí)的模型昙读,F(xiàn)actorization Machine和GBDT等召调。
一個(gè)優(yōu)秀的工業(yè)級(jí)推薦系統(tǒng)需要非常靈活的算法實(shí)驗(yàn)平臺(tái),可以支持多種算法組合蛮浑,包括模型結(jié)構(gòu)調(diào)整某残。因?yàn)楹茈y有一套通用的模型架構(gòu)適用于所有的推薦場(chǎng)景。現(xiàn)在很流行將LR和DNN結(jié)合陵吸,前幾年Facebook也將LR和GBDT算法做結(jié)合。今日頭條旗下幾款產(chǎn)品都在沿用同一套強(qiáng)大的算法推薦系統(tǒng)介牙,但根據(jù)業(yè)務(wù)場(chǎng)景不同壮虫,模型架構(gòu)會(huì)有所調(diào)整。
模型之后再看一下典型的推薦特征环础,主要有四類特征會(huì)對(duì)推薦起到比較重要的作用囚似。
第一類是相關(guān)性特征,就是評(píng)估內(nèi)容的屬性和與用戶是否匹配线得。顯性的匹配包括關(guān)鍵詞匹配饶唤、分類匹配、來源匹配贯钩、主題匹配等募狂。像FM模型中也有一些隱性匹配,從用戶向量與內(nèi)容向量的距離可以得出角雷。
第二類是環(huán)境特征祸穷,包括地理位置、時(shí)間勺三。這些既是bias特征雷滚,也能以此構(gòu)建一些匹配特征。
第三類是熱度特征吗坚。包括全局熱度祈远、分類熱度呆万,主題熱度,以及關(guān)鍵詞熱度等车份。內(nèi)容熱度信息在大的推薦系統(tǒng)特別在用戶冷啟動(dòng)的時(shí)候非常有效谋减。
第四類是協(xié)同特征,它可以在部分程度上幫助解決所謂算法越推越窄的問題躬充。協(xié)同特征并非考慮用戶已有歷史逃顶。而是通過用戶行為分析不同用戶間相似性,比如點(diǎn)擊相似充甚、興趣分類相似以政、主題相似、興趣詞相似伴找,甚至向量相似盈蛮,從而擴(kuò)展模型的探索能力。
模型的訓(xùn)練上技矮,頭條系大部分推薦產(chǎn)品采用實(shí)時(shí)訓(xùn)練抖誉。實(shí)時(shí)訓(xùn)練省資源并且反饋快,這對(duì)信息流產(chǎn)品非常重要衰倦。用戶需要行為信息可以被模型快速捕捉并反饋至下一刷的推薦效果袒炉。我們線上目前基于storm集群實(shí)時(shí)處理樣本數(shù)據(jù),包括點(diǎn)擊樊零、展現(xiàn)我磁、收藏、分享等動(dòng)作類型驻襟。模型參數(shù)服務(wù)器是內(nèi)部開發(fā)的一套高性能的系統(tǒng)夺艰,因?yàn)轭^條數(shù)據(jù)規(guī)模增長(zhǎng)太快,類似的開源系統(tǒng)穩(wěn)定性和性能無法滿足沉衣,而我們自研的系統(tǒng)底層做了很多針對(duì)性的優(yōu)化郁副,提供了完善運(yùn)維工具,更適配現(xiàn)有的業(yè)務(wù)場(chǎng)景豌习。
目前存谎,頭條的推薦算法模型在世界范圍內(nèi)也是比較大的,包含幾百億原始特征和數(shù)十億向量特征肥隆。整體的訓(xùn)練過程是線上服務(wù)器記錄實(shí)時(shí)特征愕贡,導(dǎo)入到Kafka文件隊(duì)列中,然后進(jìn)一步導(dǎo)入Storm集群消費(fèi)Kafka數(shù)據(jù)巷屿,客戶端回傳推薦的label構(gòu)造訓(xùn)練樣本固以,隨后根據(jù)最新樣本進(jìn)行在線訓(xùn)練更新模型參數(shù),最終線上模型得到更新。這個(gè)過程中主要的延遲在用戶的動(dòng)作反饋延時(shí)憨琳,因?yàn)槲恼峦扑]后用戶不一定馬上看诫钓,不考慮這部分時(shí)間,整個(gè)系統(tǒng)是幾乎實(shí)時(shí)的篙螟。
但因?yàn)轭^條目前的內(nèi)容量非常大菌湃,加上小視頻內(nèi)容有千萬級(jí)別,推薦系統(tǒng)不可能所有內(nèi)容全部由模型預(yù)估遍略。所以需要設(shè)計(jì)一些召回策略惧所,每次推薦時(shí)從海量?jī)?nèi)容中篩選出千級(jí)別的內(nèi)容庫(kù)。召回策略最重要的要求是性能要極致绪杏,一般超時(shí)不能超過50毫秒下愈。
召回策略種類有很多,我們主要用的是倒排的思路蕾久。離線維護(hù)一個(gè)倒排势似,這個(gè)倒排的key可以是分類,topic僧著,實(shí)體履因,來源等,排序考慮熱度盹愚、新鮮度栅迄、動(dòng)作等。線上召回可以迅速?gòu)牡古胖懈鶕?jù)用戶興趣標(biāo)簽對(duì)內(nèi)容做截?cái)嘟耘拢咝У膹暮艽蟮膬?nèi)容庫(kù)中篩選比較靠譜的一小部分內(nèi)容毅舆。
二、內(nèi)容分析
內(nèi)容分析包括文本分析端逼,圖片分析和視頻分析。頭條一開始主要做資訊污淋,今天我們主要講一下文本分析顶滩。文本分析在推薦系統(tǒng)中一個(gè)很重要的作用是用戶興趣建模。沒有內(nèi)容及文本標(biāo)簽寸爆,無法得到用戶興趣標(biāo)簽礁鲁。舉個(gè)例子,只有知道文章標(biāo)簽是互聯(lián)網(wǎng)赁豆,用戶看了互聯(lián)網(wǎng)標(biāo)簽的文章仅醇,才能知道用戶有互聯(lián)網(wǎng)標(biāo)簽,其他關(guān)鍵詞也一樣魔种。
另一方面析二,文本內(nèi)容的標(biāo)簽可以直接幫助推薦特征,比如魅族的內(nèi)容可以推薦給關(guān)注魅族的用戶,這是用戶標(biāo)簽的匹配叶摄。如果某段時(shí)間推薦主頻道效果不理想属韧,出現(xiàn)推薦窄化,用戶會(huì)發(fā)現(xiàn)到具體的頻道推薦(如科技蛤吓、體育宵喂、娛樂、軍事等)中閱讀后会傲,再回主feed,推薦效果會(huì)更好锅棕。因?yàn)檎麄€(gè)模型是打通的,子頻道探索空間較小淌山,更容易滿足用戶需求裸燎。只通過單一信道反饋提高推薦準(zhǔn)確率難度會(huì)比較大,子頻道做的好很重要艾岂。而這也需要好的內(nèi)容分析顺少。
上圖是今日頭條的一個(gè)實(shí)際文本case⊥踉。可以看到脆炎,這篇文章有分類、關(guān)鍵詞氓辣、topic秒裕、實(shí)體詞等文本特征。當(dāng)然不是沒有文本特征钞啸,推薦系統(tǒng)就不能工作几蜻,推薦系統(tǒng)最早期應(yīng)用在Amazon,甚至沃爾瑪時(shí)代就有,包括Netfilx做視頻推薦也沒有文本特征直接協(xié)同過濾推薦体斩。但對(duì)資訊類產(chǎn)品而言梭稚,大部分是消費(fèi)當(dāng)天內(nèi)容,沒有文本特征新內(nèi)容冷啟動(dòng)非常困難絮吵,協(xié)同類特征無法解決文章冷啟動(dòng)問題弧烤。
今日頭條推薦系統(tǒng)主要抽取的文本特征包括以下幾類。首先是語(yǔ)義標(biāo)簽類特征蹬敲,顯式為文章打上語(yǔ)義標(biāo)簽暇昂。這部分標(biāo)簽是由人定義的特征,每個(gè)標(biāo)簽有明確的意義伴嗡,標(biāo)簽體系是預(yù)定義的急波。此外還有隱式語(yǔ)義特征,主要是topic特征和關(guān)鍵詞特征瘪校,其中topic特征是對(duì)于詞概率分布的描述澄暮,無明確意義;而關(guān)鍵詞特征會(huì)基于一些統(tǒng)一特征描述,無明確集合赏寇。
另外文本相似度特征也非常重要吉嫩。在頭條,曾經(jīng)用戶反饋?zhàn)畲蟮膯栴}之一就是為什么總推薦重復(fù)的內(nèi)容嗅定。這個(gè)問題的難點(diǎn)在于自娩,每個(gè)人對(duì)重復(fù)的定義不一樣。舉個(gè)例子渠退,有人覺得這篇講皇馬和巴薩的文章忙迁,昨天已經(jīng)看過類似內(nèi)容,今天還說這兩個(gè)隊(duì)那就是重復(fù)碎乃。但對(duì)于一個(gè)重度球迷而言姊扔,尤其是巴薩的球迷,恨不得所有報(bào)道都看一遍梅誓。解決這一問題需要根據(jù)判斷相似文章的主題恰梢、行文、主體等內(nèi)容梗掰,根據(jù)這些特征做線上策略嵌言。
同樣,還有時(shí)空特征及穗,分析內(nèi)容的發(fā)生地點(diǎn)以及時(shí)效性摧茴。比如武漢限行的事情推給北京用戶可能就沒有意義。最后還要考慮質(zhì)量相關(guān)特征埂陆,判斷內(nèi)容是否低俗苛白,色情,是否是軟文焚虱,雞湯购裙?
上圖是頭條語(yǔ)義標(biāo)簽的特征和使用場(chǎng)景。他們之間層級(jí)不同鹃栽,要求不同躏率。
分類的目標(biāo)是覆蓋全面,希望每篇內(nèi)容每段視頻都有分類谍咆;而實(shí)體體系要求精準(zhǔn)禾锤,相同名字或內(nèi)容要能明確區(qū)分究竟指代哪一個(gè)人或物私股,但不用覆蓋很全摹察。概念體系則負(fù)責(zé)解決比較精確又屬于抽象概念的語(yǔ)義。這是我們最初的分類倡鲸,實(shí)踐中發(fā)現(xiàn)分類和概念在技術(shù)上能互用供嚎,后來統(tǒng)一用了一套技術(shù)架構(gòu)。
目前,隱式語(yǔ)義特征已經(jīng)可以很好的幫助推薦克滴,而語(yǔ)義標(biāo)簽需要持續(xù)標(biāo)注逼争,新名詞新概念不斷出現(xiàn),標(biāo)注也要不斷迭代劝赔。其做好的難度和資源投入要遠(yuǎn)大于隱式語(yǔ)義特征誓焦,那為什么還需要語(yǔ)義標(biāo)簽?有一些產(chǎn)品上的需要着帽,比如頻道需要有明確定義的分類內(nèi)容和容易理解的文本標(biāo)簽體系杂伟。語(yǔ)義標(biāo)簽的效果是檢查一個(gè)公司NLP技術(shù)水平的試金石。
今日頭條推薦系統(tǒng)的線上分類采用典型的層次化文本分類算法仍翰。最上面Root赫粥,下面第一層的分類是像科技、體育予借、財(cái)經(jīng)越平、娛樂,體育這樣的大類灵迫,再下面細(xì)分足球秦叛、籃球、乒乓球龟再、網(wǎng)球书闸、田徑、游泳...利凑,足球再細(xì)分國(guó)際足球浆劲、中國(guó)足球,中國(guó)足球又細(xì)分中甲哀澈、中超牌借、國(guó)家隊(duì)...,相比單獨(dú)的分類器割按,利用層次化文本分類算法能更好地解決數(shù)據(jù)傾斜的問題膨报。有一些例外是,如果要提高召回适荣,可以看到我們連接了一些飛線现柠。這套架構(gòu)通用,但根據(jù)不同的問題難度弛矛,每個(gè)元分類器可以異構(gòu)够吩,像有些分類SVM效果很好,有些要結(jié)合CNN丈氓,有些要結(jié)合RNN再處理一下周循。
上圖是一個(gè)實(shí)體詞識(shí)別算法的case强法。基于分詞結(jié)果和詞性標(biāo)注選取候選湾笛,期間可能需要根據(jù)知識(shí)庫(kù)做一些拼接饮怯,有些實(shí)體是幾個(gè)詞的組合,要確定哪幾個(gè)詞結(jié)合在一起能映射實(shí)體的描述嚎研。如果結(jié)果映射多個(gè)實(shí)體還要通過詞向量蓖墅、topic分布甚至詞頻本身等去歧,最后計(jì)算一個(gè)相關(guān)性模型临扮。
三置媳、用戶標(biāo)簽
內(nèi)容分析和用戶標(biāo)簽是推薦系統(tǒng)的兩大基石。內(nèi)容分析涉及到機(jī)器學(xué)習(xí)的內(nèi)容多一些公条,相比而言拇囊,用戶標(biāo)簽工程挑戰(zhàn)更大。
今日頭條常用的用戶標(biāo)簽包括用戶感興趣的類別和主題靶橱、關(guān)鍵詞寥袭、來源、基于興趣的用戶聚類以及各種垂直興趣特征(車型关霸,體育球隊(duì)传黄,股票等)。還有性別队寇、年齡膘掰、地點(diǎn)等信息。性別信息通過用戶第三方社交賬號(hào)登錄得到佳遣。年齡信息通常由模型預(yù)測(cè)识埋,通過機(jī)型、閱讀時(shí)間分布等預(yù)估零渐。常駐地點(diǎn)來自用戶授權(quán)訪問位置信息窒舟,在位置信息的基礎(chǔ)上通過傳統(tǒng)聚類的方法拿到常駐點(diǎn)。常駐點(diǎn)結(jié)合其他信息诵盼,可以推測(cè)用戶的工作地點(diǎn)惠豺、出差地點(diǎn)、旅游地點(diǎn)风宁。這些用戶標(biāo)簽非常有助于推薦洁墙。
當(dāng)然最簡(jiǎn)單的用戶標(biāo)簽是瀏覽過的內(nèi)容標(biāo)簽。但這里涉及到一些數(shù)據(jù)處理策略戒财。主要包括:一热监、過濾噪聲。通過停留時(shí)間短的點(diǎn)擊固翰,過濾標(biāo)題黨狼纬。二、熱點(diǎn)懲罰骂际。對(duì)用戶在一些熱門文章(如前段時(shí)間PG One的新聞)上的動(dòng)作做降權(quán)處理疗琉。理論上,傳播范圍較大的內(nèi)容氧急,置信度會(huì)下降潮饱。三常遂、時(shí)間衰減。用戶興趣會(huì)發(fā)生偏移柠贤,因此策略更偏向新的用戶行為。因此类缤,隨著用戶動(dòng)作的增加臼勉,老的特征權(quán)重會(huì)隨時(shí)間衰減,新動(dòng)作貢獻(xiàn)的特征權(quán)重會(huì)更大餐弱。四宴霸、懲罰展現(xiàn)。如果一篇推薦給用戶的文章沒有被點(diǎn)擊膏蚓,相關(guān)特征(類別瓢谢,關(guān)鍵詞,來源)權(quán)重會(huì)被懲罰驮瞧。當(dāng)然同時(shí)氓扛,也要考慮全局背景,是不是相關(guān)內(nèi)容推送比較多论笔,以及相關(guān)的關(guān)閉和dislike信號(hào)等采郎。
用戶標(biāo)簽挖掘總體比較簡(jiǎn)單,主要還是剛剛提到的工程挑戰(zhàn)狂魔。頭條用戶標(biāo)簽第一版是批量計(jì)算框架尉剩,流程比較簡(jiǎn)單,每天抽取昨天的日活用戶過去兩個(gè)月的動(dòng)作數(shù)據(jù)毅臊,在Hadoop集群上批量計(jì)算結(jié)果理茎。
但問題在于,隨著用戶高速增長(zhǎng)管嬉,興趣模型種類和其他批量處理任務(wù)都在增加皂林,涉及到的計(jì)算量太大。2014年蚯撩,批量處理任務(wù)幾百萬用戶標(biāo)簽更新的Hadoop任務(wù)础倍,當(dāng)天完成已經(jīng)開始勉強(qiáng)。集群計(jì)算資源緊張很容易影響其它工作胎挎,集中寫入分布式存儲(chǔ)系統(tǒng)的壓力也開始增大沟启,并且用戶興趣標(biāo)簽更新延遲越來越高忆家。
面對(duì)這些挑戰(zhàn)。2014年底今日頭條上線了用戶標(biāo)簽Storm集群流式計(jì)算系統(tǒng)德迹。改成流式之后芽卿,只要有用戶動(dòng)作更新就更新標(biāo)簽,CPU代價(jià)比較小胳搞,可以節(jié)省80%的CPU時(shí)間卸例,大大降低了計(jì)算資源開銷。同時(shí)肌毅,只需幾十臺(tái)機(jī)器就可以支撐每天數(shù)千萬用戶的興趣模型更新筷转,并且特征更新速度非常快悬而,基本可以做到準(zhǔn)實(shí)時(shí)呜舒。這套系統(tǒng)從上線一直使用至今。
當(dāng)然笨奠,我們也發(fā)現(xiàn)并非所有用戶標(biāo)簽都需要流式系統(tǒng)阴绢。像用戶的性別、年齡艰躺、常駐地點(diǎn)這些信息呻袭,不需要實(shí)時(shí)重復(fù)計(jì)算,就仍然保留daily更新腺兴。
四左电、評(píng)估分析
上面介紹了推薦系統(tǒng)的整體架構(gòu),那么如何評(píng)估推薦效果好不好页响?
有一句我認(rèn)為非常有智慧的話篓足,“一個(gè)事情沒法評(píng)估就沒法優(yōu)化”。對(duì)推薦系統(tǒng)也是一樣闰蚕。
事實(shí)上栈拖,很多因素都會(huì)影響推薦效果。比如侯選集合變化没陡,召回模塊的改進(jìn)或增加涩哟,推薦特征的增加,模型架構(gòu)的改進(jìn)在盼玄,算法參數(shù)的優(yōu)化等等贴彼,不一一舉例。評(píng)估的意義就在于埃儿,很多優(yōu)化最終可能是負(fù)向效果器仗,并不是優(yōu)化上線后效果就會(huì)改進(jìn)。
全面的評(píng)估推薦系統(tǒng),需要完備的評(píng)估體系精钮、強(qiáng)大的實(shí)驗(yàn)平臺(tái)以及易用的經(jīng)驗(yàn)分析工具威鹿。所謂完備的體系就是并非單一指標(biāo)衡量,不能只看點(diǎn)擊率或者停留時(shí)長(zhǎng)等轨香,需要綜合評(píng)估忽你。過去幾年我們一直在嘗試,能不能綜合盡可能多的指標(biāo)合成唯一的評(píng)估指標(biāo)弹沽,但仍在探索中。目前筋粗,我們上線還是要由各業(yè)務(wù)比較資深的同學(xué)組成評(píng)審委員會(huì)深入討論后決定策橘。
很多公司算法做的不好,并非是工程師能力不夠娜亿,而是需要一個(gè)強(qiáng)大的實(shí)驗(yàn)平臺(tái)丽已,還有便捷的實(shí)驗(yàn)分析工具,可以智能分析數(shù)據(jù)指標(biāo)的置信度买决。
一個(gè)良好的評(píng)估體系建立需要遵循幾個(gè)原則沛婴,首先是兼顧短期指標(biāo)與長(zhǎng)期指標(biāo)。我在之前公司負(fù)責(zé)電商方向的時(shí)候觀察到督赤,很多策略調(diào)整短期內(nèi)用戶覺得新鮮嘁灯,但是長(zhǎng)期看其實(shí)沒有任何助益。
其次躲舌,要兼顧用戶指標(biāo)和生態(tài)指標(biāo)丑婿。今日頭條作為內(nèi)容分創(chuàng)作平臺(tái),既要為內(nèi)容創(chuàng)作者提供價(jià)值没卸,讓他更有尊嚴(yán)的創(chuàng)作羹奉,也有義務(wù)滿足用戶,這兩者要平衡约计。還有廣告主利益也要考慮诀拭,這是多方博弈和平衡的過程。
另外煤蚌,要注意協(xié)同效應(yīng)的影響耕挨。實(shí)驗(yàn)中嚴(yán)格的流量隔離很難做到,要注意外部效應(yīng)尉桩。
強(qiáng)大的實(shí)驗(yàn)平臺(tái)非常直接的優(yōu)點(diǎn)是俗孝,當(dāng)同時(shí)在線的實(shí)驗(yàn)比較多時(shí),可以由平臺(tái)自動(dòng)分配流量魄健,無需人工溝通赋铝,并且實(shí)驗(yàn)結(jié)束流量立即回收,提高管理效率沽瘦。這能幫助公司降低分析成本革骨,加快算法迭代效應(yīng)农尖,使整個(gè)系統(tǒng)的算法優(yōu)化工作能夠快速往前推進(jìn)。
這是頭條A/B Test實(shí)驗(yàn)系統(tǒng)的基本原理良哲。首先我們會(huì)做在離線狀態(tài)下做好用戶分桶盛卡,然后線上分配實(shí)驗(yàn)流量,將桶里用戶打上標(biāo)簽筑凫,分給實(shí)驗(yàn)組滑沧。舉個(gè)例子,開一個(gè)10%流量的實(shí)驗(yàn)巍实,兩個(gè)實(shí)驗(yàn)組各5%滓技,一個(gè)5%是基線,策略和線上大盤一樣棚潦,另外一個(gè)是新的策略令漂。
實(shí)驗(yàn)過程中用戶動(dòng)作會(huì)被搜集,基本上是準(zhǔn)實(shí)時(shí)丸边,每小時(shí)都可以看到叠必。但因?yàn)樾r(shí)數(shù)據(jù)有波動(dòng),通常是以天為時(shí)間節(jié)點(diǎn)來看妹窖。動(dòng)作搜集后會(huì)有日志處理纬朝、分布式統(tǒng)計(jì)、寫入數(shù)據(jù)庫(kù)骄呼,非常便捷玄组。
在這個(gè)系統(tǒng)下工程師只需要設(shè)置流量需求、實(shí)驗(yàn)時(shí)間谒麦、定義特殊過濾條件俄讹,自定義實(shí)驗(yàn)組ID。系統(tǒng)可以自動(dòng)生成:實(shí)驗(yàn)數(shù)據(jù)對(duì)比绕德、實(shí)驗(yàn)數(shù)據(jù)置信度患膛、實(shí)驗(yàn)結(jié)論總結(jié)以及實(shí)驗(yàn)優(yōu)化建議。
當(dāng)然耻蛇,只有實(shí)驗(yàn)平臺(tái)是遠(yuǎn)遠(yuǎn)不夠的踪蹬。線上實(shí)驗(yàn)平臺(tái)只能通過數(shù)據(jù)指標(biāo)變化推測(cè)用戶體驗(yàn)的變化,但數(shù)據(jù)指標(biāo)和用戶體驗(yàn)存在差異臣咖,很多指標(biāo)不能完全量化跃捣。很多改進(jìn)仍然要通過人工分析,重大改進(jìn)需要人工評(píng)估二次確認(rèn)夺蛇。
五疚漆、內(nèi)容安全
最后要介紹今日頭條在內(nèi)容安全上的一些舉措。頭條現(xiàn)在已經(jīng)是國(guó)內(nèi)最大的內(nèi)容創(chuàng)作與分發(fā)憑條,必須越來越重視社會(huì)責(zé)任和行業(yè)領(lǐng)導(dǎo)者的責(zé)任娶聘。如果1%的推薦內(nèi)容出現(xiàn)問題闻镶,就會(huì)產(chǎn)生較大的影響。
因此頭條從創(chuàng)立伊始就把內(nèi)容安全放在公司最高優(yōu)先級(jí)隊(duì)列丸升。成立之初铆农,已經(jīng)專門設(shè)有審核團(tuán)隊(duì)負(fù)責(zé)內(nèi)容安全。當(dāng)時(shí)研發(fā)所有客戶端狡耻、后端墩剖、算法的同學(xué)一共才不到40人,頭條非常重視內(nèi)容審核夷狰。
現(xiàn)在岭皂,今日頭條的內(nèi)容主要來源于兩部分,一是具有成熟內(nèi)容生產(chǎn)能力的PGC平臺(tái)
一是UGC用戶內(nèi)容孵淘,如問答蒲障、用戶評(píng)論歹篓、微頭條瘫证。這兩部分內(nèi)容需要通過統(tǒng)一的審核機(jī)制。如果是數(shù)量相對(duì)少的PGC內(nèi)容庄撮,會(huì)直接進(jìn)行風(fēng)險(xiǎn)審核背捌,沒有問題會(huì)大范圍推薦。UGC內(nèi)容需要經(jīng)過一個(gè)風(fēng)險(xiǎn)模型的過濾洞斯,有問題的會(huì)進(jìn)入二次風(fēng)險(xiǎn)審核毡庆。審核通過后,內(nèi)容會(huì)被真正進(jìn)行推薦烙如。這時(shí)如果收到一定量以上的評(píng)論或者舉報(bào)負(fù)向反饋么抗,還會(huì)再回到復(fù)審環(huán)節(jié),有問題直接下架亚铁。整個(gè)機(jī)制相對(duì)而言比較健全蝇刀,作為行業(yè)領(lǐng)先者,在內(nèi)容安全上徘溢,今日頭條一直用最高的標(biāo)準(zhǔn)要求自己吞琐。
分享內(nèi)容識(shí)別技術(shù)主要鑒黃模型,謾罵模型以及低俗模型然爆。今日頭條的低俗模型通過深度學(xué)習(xí)算法訓(xùn)練站粟,樣本庫(kù)非常大,圖片曾雕、文本同時(shí)分析奴烙。這部分模型更注重召回率,準(zhǔn)確率甚至可以犧牲一些。謾罵模型的樣本庫(kù)同樣超過百萬缸沃,召回率高達(dá)95%+恰起,準(zhǔn)確率80%+。如果用戶經(jīng)常出言不諱或者不當(dāng)?shù)脑u(píng)論趾牧,我們有一些懲罰機(jī)制检盼。
泛低質(zhì)識(shí)別涉及的情況非常多,像假新聞翘单、黑稿吨枉、題文不符、標(biāo)題黨哄芜、內(nèi)容質(zhì)量低等等貌亭,這部分內(nèi)容由機(jī)器理解是非常難的,需要大量反饋信息认臊,包括其他樣本信息比對(duì)圃庭。目前低質(zhì)模型的準(zhǔn)確率和召回率都不是特別高,還需要結(jié)合人工復(fù)審失晴,將閾值提高剧腻。目前最終的召回已達(dá)到95%,這部分其實(shí)還有非常多的工作可以做涂屁。頭條人工智能實(shí)驗(yàn)室李航老師目前也在和密歇根大學(xué)共建科研項(xiàng)目书在,設(shè)立謠言識(shí)別平臺(tái)。
以上是頭條推薦系統(tǒng)的原理分享拆又,希望未來得到更多的建議儒旬,幫助我們更好改進(jìn)工作。