陳敏敏:大家好,我是精準化架構(gòu)部門負責人,我們部門負責人還有另外一個。我講千人千面與實時意圖實踐的相關(guān)東西。我們的基礎(chǔ)化用了一些實時相關(guān)的從目前來講,目的還是用得比較多的,我們看一下。在講之前我先自我介紹,我主要是做推薦、營銷架構(gòu)方面的東西,我們也出本一本書,叫做技術(shù)內(nèi)幕,也出口了臺灣,在京東上面評價也是可以的。
 
下面進入我們的正題,我這邊主要講架構(gòu),架構(gòu)我主要是從業(yè)務(wù)架構(gòu),我們推薦平臺主要包含哪些東西場景方面,然后通過我們的實時意圖想講一下我們的基礎(chǔ)架構(gòu)和業(yè)務(wù)架構(gòu),但是可能講的不全面,稍微帶一點。
 
首先我講講數(shù)據(jù)怎么用,很多企業(yè)在數(shù)據(jù)采集方面可能還不是很重視,如果把數(shù)據(jù)采集做很方面,像我后面主要講的推薦相關(guān),它其實可以做很多東西,像廣告投放,讓外面更加精準華,可以做一些個性化搜索,可以調(diào)整商品的貨架,更加高效,還可以做營銷方面,七十從數(shù)據(jù),挖掘出很多一些應(yīng)用場景。其實我們這邊主要還是從圈里,挖掘一些知識的數(shù)據(jù),再接受一些商品、用戶的一些數(shù)據(jù),綜合來做了一些應(yīng)用。下面我們來看一下,我們的推薦的產(chǎn)品架構(gòu),一個業(yè)務(wù)架構(gòu)。
 
我們推薦已經(jīng)做兩輪了,從開始的過濾,現(xiàn)在行業(yè)加了很多推薦方式。像我下面主要講的,用戶場景的一些信息推薦我在10月份講,那時候用了18個相關(guān)的技術(shù),我們也做了一些推薦。跟機構(gòu)相關(guān),因為很多用戶購買這些是很明顯的,特別像一些我們也挖掘了一些用戶,能夠等到推薦給用戶。我們也挖掘出了一些TH的相關(guān),這個主要是來解決,還有一些主題推薦也是比較流行的一個。從題目里面,可以關(guān)聯(lián)到主題上面,可以跟世界相結(jié)合,一些熱點。至于推什么,我們其實前期也是做了一個畫像,后來我們做也是遇到了一些瓶頸,更新時間越來越短,后來也碰到一些瓶頸,當時的話,主要是想把畫像更新,發(fā)現(xiàn)其實更新時間想要達到很好效果的話,還是很難的,一些實時相關(guān)的技術(shù)。后來架構(gòu)的話,從技術(shù)層面主要是技術(shù)和應(yīng)用架構(gòu)像基礎(chǔ)架構(gòu)主要是在做平衡。下午我這碰到一個問題,你的辦法和你的數(shù)據(jù)量,還有一個實時三者要平衡,就是說你沒有辦法保證這三種東西全部滿足,這架構(gòu)里面無論像CIP還是像別的,很多其實主要是在尋找一個平衡,它不像應(yīng)用架構(gòu),應(yīng)用架構(gòu)一個抽象的,你把一些模塊更加抽象。你很多架構(gòu)是你主要考慮是一個平衡問題,把那幾個點都平衡好。
 
我們也是在畫像,遇到一些瓶頸的時候,慢慢延伸出一個用戶議題。主要來捕捉用戶的一些行為,給用戶做一些更加精準化的推薦,也算是實時推薦一種。整個推薦算法,它其實關(guān)注東西比較多,有的是關(guān)注轉(zhuǎn)換力,有些是交叉銷售。tradein主要是提升用戶的連續(xù)性,觀點不一樣像我們電商從首頁到搜索頁到詳情頁,每個頁面用戶行為是不一樣的,有些是你要通過搜索頁,根據(jù)不同的一些場景,我們可能會引用我們不同的算法,無論是主題推薦還是協(xié)同過濾,還是一些周期性能。我們這個東西到后面也會盡量調(diào)整,調(diào)整的話,代價也是比較大的,我們盡量讓這個代價更少。
 
我們開發(fā)了一些后臺系統(tǒng),我們還是一號店首頁,通過配置的方式,讓它接入,我們這邊有詳情頁,還有一號店的詳情,它PC可以通過配置把不同的算法通過中間畫像還是看的這種相似的配進來,最終生成我們這樣一個欄位。
 
右上交通過我們后臺系統(tǒng)配置出來的,我們像下面也是我們后臺系統(tǒng),我們可以讓這個走畫像還是走意圖,過濾一些東西??梢詮南旅姹容^用戶配置出來,如果走詳情,有些數(shù)據(jù)比較稀缺沒有商品,需要補一些,目前像一些天氣也是瓦的比較齊,達到了商品身上,同時也在詳情頁標題也挖了相關(guān)的詞,打到商品上。所以說本身商品數(shù)據(jù)也是比較全。
 
最后我們看一下我們的一個引擎,80頁比較多,我這邊先講一個場景,后面主要講意圖。我們這邊一個場景,主要是根據(jù)群體,我們會通過地址挖一些校園、小區(qū)、公司我們也做一些分析,一些學校購買的情況不一樣,我們也做了一些細分,如果你是一個學生用戶的話,可能你跑到一號店你可以你學校里面其他人買什么東西,把這部分群體好的東西也會推薦給你,看到你周圍學校一些學生買的什么。
 
右下角我不是學生,我是已經(jīng)工作的了,也可以看到小區(qū)旁邊人買什么東西,這樣的話,也達到這樣一個千人千面。
 
像一些細節(jié)的話,像校園、公司我們也是花了不少精力,公司、小區(qū)都花了精力在做這一塊。
 
我們再看一下后面主要的實時意圖。這個是我們實時意圖簡單的圖。我們數(shù)據(jù)兩個地方,一個是從基本用戶的一些瀏覽收藏,用戶在上面做了一些行為以后,開始跟產(chǎn)品相關(guān),把它轉(zhuǎn)成跟利潤相關(guān),通過一些后續(xù)的服務(wù)去處理一些。
 
當然其實里面有個訂單數(shù)據(jù),我們也不是走的Kafka主要是推送,它的生產(chǎn)者是推的,它是一個推的模式。把訂單接過去,也會遇到一些問題,所以說你們也可以想像,為什么我這個訂單沒有走入Kafka,我們用了一個一號店自主研發(fā)的,可能也是碰到了一些問題。
 
比較重要的,在里面實現(xiàn)了一些意圖的計算,把那部分意圖會存在里面,我們最后一個做一個實時推薦,你完成或者未完成,做一個優(yōu)先排序,有會推到我們的自主研發(fā)的頁面,是我們一號店自主研發(fā)的。
 
可能剛剛也講到,訂單也放到Kafka,它推拉模式,你拉它Kafka主要是拉取,推和拉的話,可能就像一個我反正我就推,一個像我控制速率,如果推模式,可能是一個最快,比較快的方式,但是它吞吐量也比較大,所以說像我這個訂單如果沒有實時的意圖,可能我已經(jīng)買了然后你再推這個東西,也會影響用戶。像我從Kafka或者我這邊也是訂單高的時候,數(shù)據(jù)比較大的時候,那個時候訂單已經(jīng)完成了,但是你還在推訂單可能會帶來一些不好的商品列表。
 
其實像我們這邊,最后一個就是實時推薦,像我們必要的,我們是把原始存在于我們一個緩存里面,這樣可以更加自定義意圖或者是一些數(shù)據(jù)。
 
這個是我們意圖的計算過程,我們意圖,主要也是采集了用戶在網(wǎng)站上的使用,像他加車的時候是意圖完成了一半。所以說,我們這邊當用戶在瀏覽、收藏、搜索時,我們會更新整個未完成的意圖和完成一半的意圖,這個更新簡單的算法應(yīng)該是在下面這種,我們每次用戶有新的行為上來的時候,我們可能要把老的排除掉,這樣會引入一個遺忘因子,可能你幾天沒有操作的話,可能對這個商品興趣度慢慢變低,當我們最后在瀏覽、收藏的時候,完成一半和沒有完成的時候,我們會更新整個商品。當這個商品和我當前模式相同的時候,跟前面的衰減,再加上我當前的意圖。我當前意圖瀏覽收藏全部不一樣,瀏覽、收藏是14根據(jù)不同的行為,如果我這個意圖,跟當前意圖一樣,而且跟前面也是一樣的,那我可能就不用加上當前的,我只是把當前的衰竭一下,總共有三個,一個是跟當前一樣,一個是跟當前行為不一樣,一個是跟行為屬于當前行為。遺忘因子后面會慢慢加入其他的,讓它判斷更加準確。
 
我通過意圖來稍微介紹一下,技術(shù)架構(gòu),這個東西很多人也知道,一個比較常見的,最少一次、最多一次、恰好一次。最少一次消息可能會再次發(fā)送,當我最多一次的時候,我肯定要忍受系丟失的情況發(fā)生,在基礎(chǔ)架構(gòu)里面去尋找一個平衡,你怎么把這個東西平衡好,你可能要有一些業(yè)務(wù),還有恰好一次,恰好一次實現(xiàn)的代價也高,目前系統(tǒng)也實現(xiàn)了,它也是目前系統(tǒng)里面比較拿點的個東西,一個是恰好一次,還有一個要說保證校區(qū)的順序性,整個分布時期。
 
我們看一下實時框架,其實目前我們有些產(chǎn)品,也是隨著一些業(yè)務(wù)產(chǎn)品上來,我們自然而然引用了一些,我們可以看到Kafka消息傳遞形式。我們可以看到,只是一個至少一次,如果恰好一次,要用另外一塊。我們數(shù)據(jù)研發(fā),一號店自主研發(fā),同時實現(xiàn)了至少一次和最多一次。
 
我們來看一下一號店自主研發(fā)的列表,其實消息隊列的話,開始把訂單全部放在里面,是一個拉攏,我科一控制速錄,像我訂單我要最快時間知道,還是以推的方式比較好一點。像我們也引入了一些消息堆積,這樣可以方便一些查詢一些例子消息??赡芨鶮afka還是有一些差距,現(xiàn)在消息隊列也比較多,光推它就有組合,推中拉推、推中帶拉這種,可能還會引入一些自己的。是我們一號店這邊自主開發(fā)。
 
最后講一下應(yīng)用架構(gòu),前面主要是我們推薦意圖里面的基礎(chǔ)架構(gòu),最后是應(yīng)用架構(gòu),跟前面不一樣。還是一個抽象,怎么抽象?把一些模塊,像我們意圖里面把網(wǎng)頁上各種行為,加瀏覽的東西,就要突出出來,比較好的,就是迭代模式,我們讓它實現(xiàn)迭代,這樣我們就可以把一些基礎(chǔ)的瀏覽一些收藏的東西,可以屏蔽掉。當我需要搜集哪些商品時,我主要引入最后收藏的具體圈。我這個基礎(chǔ)的分析,可以去實現(xiàn)我們迭代技術(shù),我們具體的搜索,也會去實現(xiàn)相對介紹,具體的細節(jié)會在某一個收藏瀏覽里面實現(xiàn)。這樣的話,讓它更加抽象,我們后面也引入了不少一些應(yīng)用架構(gòu),設(shè)計方面的東西,可能今天我就是稍微拋磚引玉講一下,主要講架構(gòu)這個事情。架構(gòu)從業(yè)務(wù)到基礎(chǔ)到應(yīng)用,我們這邊可能都會涉及到一點,通過這個數(shù)據(jù)來闡述一下。
 
我這邊差不多了。

分享到

zhoub

相關(guān)推薦