提高排序效果和實(shí)驗(yàn)的效率推特搜索相關(guān)架構(gòu)分析
推薦 + 挑錯(cuò) + 收藏(0) + 用戶評(píng)論(0)
每天,全世界幾百萬的用戶都在Twitter上搜索著發(fā)生的新鮮事。在重大事件期間,比如剛剛過去不久的2016歐洲杯,我們觀察到在用戶前來Twitter查看最新戰(zhàn)況時(shí),搜索服務(wù)會(huì)出現(xiàn)流量的尖峰,并且整體流量隨著此事件的推移而穩(wěn)步上升。Twitter的搜索質(zhì)量組就是負(fù)責(zé)給用戶返回質(zhì)量最好的結(jié)果。
相比于傳統(tǒng)的信息檢索產(chǎn)品,Twitter的搜索面臨的挑戰(zhàn)是絕無僅有的,原因如下:
時(shí)效性:我們大部分的搜索請(qǐng)求都對(duì)信息的話題性和實(shí)時(shí)性有著強(qiáng)烈的需求。世界局勢(shì)瞬息萬變,在某些情況下,甚至幾分鐘前的搜索結(jié)果就會(huì)顯得過時(shí)和不相關(guān)。推薦的搜索詞條,拼寫糾正和相關(guān)搜索詞等,都需要保證新鮮和及時(shí)。
文檔集合龐大:搜索的候選文檔集合非常巨大,每天有幾十億條各種語言的新的Twitter生成。
文檔格式:Twitter的文檔有其特殊的屬性:140個(gè)字符的非結(jié)構(gòu)文本文字,但是包含了豐富的實(shí)體類別,有“#”符合、“@”符合、圖像、視頻和站外鏈接。不同于網(wǎng)站頁面,Twitter之間沒有超鏈接,因此類似PageRank的基于鏈接的算法不能直接拿來用于Twitter的排序。
多種結(jié)果類型:搜索的結(jié)果頁是多種搜索結(jié)果的聚合,包括Twitter、其它用戶賬號(hào)、圖像、視頻、新聞、相關(guān)搜索和拼寫候選詞等。各種類型的結(jié)果需要一起參與排序,使得最后聚合的結(jié)果頁滿足用戶的搜索意圖。
個(gè)性化:每一位搜索用戶都有自己的社交網(wǎng)絡(luò)、興趣愛好、地理位置和語言偏好,因此搜索結(jié)果需要個(gè)性化定制以滿足相關(guān)性。
為了在很短的延遲內(nèi)返回相關(guān)的、高質(zhì)量的搜索結(jié)果,我們需要在多個(gè)領(lǐng)域解決技術(shù)挑戰(zhàn):信息檢索、自然語言處理、機(jī)器學(xué)習(xí)、分布式系統(tǒng)、數(shù)據(jù)科學(xué)等等。
在過去幾個(gè)月中,我們投入了大量精力在搜索相關(guān)性的基礎(chǔ)框架建設(shè),目的是提高排序效果和實(shí)驗(yàn)的效率。這篇博文介紹了一些重點(diǎn)工作。注意,這與我們的召回Twitter的核心索引和檢索平臺(tái)(沒有排序)有所區(qū)別。
實(shí)時(shí)信號(hào)消化
我們排序模型中用到的信號(hào)的變化性和時(shí)效性對(duì)最終的搜索結(jié)果質(zhì)量有著巨大的影響。而且,當(dāng)Twitter被建索引之后許多信號(hào)都會(huì)迅速改變,因此我們需要及時(shí)更新它們。我們基于Heron寫了一套新的信號(hào)消化器來處理原始信號(hào)流,為我們產(chǎn)品的排序模塊提供特征。我們添加了靈活的模式動(dòng)態(tài)地對(duì)新特征編碼和解碼,而盡可能少的修改代碼。隨著Twitter應(yīng)用的升級(jí),我們可以快速地添加和測(cè)試在離線實(shí)驗(yàn)中表現(xiàn)出色的新的排序信號(hào)。
快速、輕量級(jí)實(shí)驗(yàn)
我們實(shí)現(xiàn)從想法-》驗(yàn)證-》迭代這個(gè)周期的速度越快、代價(jià)越小,我們可以驗(yàn)證的想法就越多,產(chǎn)生的創(chuàng)新也越多。我們重度依賴傳統(tǒng)的A/B測(cè)試,同時(shí)也建立了一個(gè)互補(bǔ)的離線實(shí)驗(yàn)系統(tǒng),使得測(cè)試效率更高。Twitter的搜索結(jié)果和搜索詞變化迅速。因此,為了將信號(hào)從噪音中分割開來,我們凍結(jié)特定的時(shí)間節(jié)點(diǎn)的世界狀態(tài),構(gòu)建了一個(gè)沙盒環(huán)境,以至于我們可以根據(jù)想要完成的測(cè)試來產(chǎn)生穩(wěn)定的、可重復(fù)的結(jié)果。為了更好的理解,我們開發(fā)了工具來分析和顯示的結(jié)果之間的差異,并且可以從內(nèi)部評(píng)委處容易地獲得他們根據(jù)我們的搜索質(zhì)量判斷準(zhǔn)則給出的打分標(biāo)簽。一個(gè)特別好的優(yōu)勢(shì)是,這使我們能夠驗(yàn)證龐大的指數(shù)級(jí)變化,如給檢索增加新的索引字段和標(biāo)識(shí)的更新等等,還可以在部署產(chǎn)品之前對(duì)結(jié)果精細(xì)地打磨。
訓(xùn)練和部署機(jī)器學(xué)習(xí)模型
機(jī)器學(xué)習(xí)的模型常用于搜索排名,因?yàn)樗麄兲峁┝艘粋€(gè)原則性和自動(dòng)化的方式來優(yōu)化特征的權(quán)重和整合新的排序特征。為了使它們效果最好,重要的是要正確識(shí)別需優(yōu)化的目標(biāo)函數(shù),使其與用戶最終的滿意度相關(guān)聯(lián)。我們建立了一個(gè)管道,它可以無縫地收集訓(xùn)練數(shù)據(jù)集用于模型的訓(xùn)練和驗(yàn)證,并將訓(xùn)練完成的模型部署到生產(chǎn)服務(wù)器。數(shù)據(jù)規(guī)模帶來了額外的挑戰(zhàn),如搜索排名第一階段發(fā)生在索引碎片,大量與查詢?cè)~匹配的文檔在CPU資源、內(nèi)存和延遲約束很嚴(yán)格的情況下進(jìn)行打分。我們與Twitter Cortex團(tuán)隊(duì)創(chuàng)建了一個(gè)輕量級(jí)的運(yùn)行系統(tǒng),它可以支持在這些約束條件下運(yùn)行模型,并且用我們內(nèi)部的機(jī)器學(xué)習(xí)平臺(tái)工具訓(xùn)練得到的排序模型部署到線上使用,如whetlab。
這些都是支持我們測(cè)試的關(guān)鍵模塊,并且能夠提升搜索的相關(guān)性,使搜索更好地為我們的用戶服務(wù)。在未來的文章中,我們將深入介紹近期正在進(jìn)行的搜索質(zhì)量和項(xiàng)目的具體方面。敬請(qǐng)關(guān)注!
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
下載地址
提高排序效果和實(shí)驗(yàn)的效率推特搜索相關(guān)架構(gòu)分析下載
相關(guān)電子資料下載
- 如何創(chuàng)建FPGA控制的機(jī)器人手臂 49
- 機(jī)器學(xué)習(xí)需要掌握的九種工具盤點(diǎn) 16
- 研華推出EPC-B3000系列嵌入式工控機(jī),搭載先進(jìn)X86架構(gòu)CPU,助力邊緣人工智能應(yīng)用 91
- 典型汽車網(wǎng)絡(luò)系統(tǒng)架構(gòu)設(shè)計(jì)盤點(diǎn) 28
- 今日看點(diǎn)丨正面對(duì)決英特爾,傳英偉達(dá)研發(fā)Arm架構(gòu)PC芯片;郭明錤預(yù)估蘋果明年 266
- 基于Corundum架構(gòu)的100G RDMA網(wǎng)卡設(shè)計(jì) 32
- 異構(gòu)計(jì)算時(shí)代,RISC-V架構(gòu)發(fā)展應(yīng)該更大膽一些 501
- 什么是 “星閃”?星閃技術(shù)架構(gòu)和特點(diǎn)分析 149
- 高通Hexagon NPU架構(gòu)技術(shù)詳解 37
- 汽車電子電氣架構(gòu)車控軟件系統(tǒng)詳解 58