很多人會問到亞馬遜有沒有什么規(guī)律可循,其實可以改變思路,了解學(xué)習(xí)下亞馬遜推薦的算法,就能很輕松的掌握亞馬遜的規(guī)律 。
現(xiàn)在看到的一些推薦算法,一般都是基于物品自身相似性、用戶瀏覽習(xí)慣、喜歡、購買記錄等數(shù)據(jù)的綜合過濾推薦。
例如商品甲被用戶1,2,3,4,5,6等購買過,商品乙被用戶1,3,4,5,7購買過,然后把123456作為商品甲的特征屬性數(shù)據(jù),13457作為商品乙的特征數(shù)據(jù),然后計算商品甲和乙的相似度。
因為同一個人群買了甲,又買了乙,那么甲和乙一定有某種關(guān)聯(lián)。
采集用戶的購買、瀏覽、收藏等商品數(shù)據(jù),把用戶購買的商品列出來,當(dāng)作用戶的屬性緯度。例如用戶A購買了商品1、2、3、4、5,用戶B購買了商品1、2、5、6,那么可以簡單的將12345和1256分別作為A和B的屬性特征字符串,計算A和B的相似度,經(jīng)過簡單的聚類將用戶聚成幾個類別(鄰居)。
假設(shè)A和B同屬于一個聚類,那么可以稱A和B有比較相似的偏好,繼而可以將A買過而B沒買過的其他商品推薦給B。在這一個流程里,可以發(fā)揮的地方有很多:
用戶的行為數(shù)據(jù)需要去噪音(買了多少商品以下的用戶不考慮,有代購的不考慮,如何精準(zhǔn)的判斷代購,商品時效性的考慮,數(shù)據(jù)的時間跨度等等);
計算相似度的時候跟第一點中提到的一樣,并不是所有商品對用戶的描述度都是一樣的??赡軆r格低的重要程度就沒有昂貴的商品重要。
通過聚類計算鄰居的時候,聚類算法又是另一門學(xué)科了,或者選擇分類算法。然后聚類的門檻選擇都是需要很長時間的測試、觀察、修改的,需要時間的積累。
瀏覽、購買、收藏等歷史數(shù)據(jù)是不是可以協(xié)同過濾。現(xiàn)在很多網(wǎng)站給出的推薦,都不是單一推薦算法的,一個算法的輸出可以作為另一個算法的輸入,可以是多個算法的輸出綜合篩選,這也是一個需要長時間積累的地方。
比如衣服甲和衣服乙,對于它們在風(fēng)格、價格段、分類、屬性、品牌定位等等的表現(xiàn),來計算它們之間的相似度,如果相似度高,那么在有用戶瀏覽甲的時候,就可以推薦乙,實際當(dāng)然沒這么簡單。
衣服的這些屬性是不依賴于用戶的。正是不依賴與用戶的行為數(shù)據(jù),因此比較死板,完全沒有個性化的推薦。
這個算法的思路很多人都清楚,但是越是簡單的算法,要達(dá)到好的效果就越是難,特別是推薦這種轉(zhuǎn)化率非常低的算法。
商品有幾十個屬性,對不同分類的商品,并不是所有的屬性都是有必要納入相似度計算的,已經(jīng)納入的屬性但是重要性也是有區(qū)別的,這樣一來,光給不同類別商品篩選必要屬性以及設(shè)置這些屬性在相似度計算中的權(quán)重值,就是一項非常浩大的工程了。亞馬遜的推薦系統(tǒng)在全球行業(yè)中也是最早的,相信他們在這個問題上肯定有自己一套迅速有效的方法。
重點是同一次購買記錄(當(dāng)然也不是必然的,看自己的選擇)。
首先收集數(shù)據(jù)就需要把一單購買一種商品的過濾掉。然后一次對每一條記錄中進(jìn)行成對提取統(tǒng)計,簡單的就是兩兩統(tǒng)計次數(shù),這種提取出來的都是兩個商品被同時購買的次數(shù),適用于一對一推薦。
還有一種是通過FPTree算法,不光是一對一推薦,可以一對二,二對一。
在這個流程里面,關(guān)聯(lián)規(guī)則挖掘算法非常重要,其中置信度和支持度也是需要不斷調(diào)整的地方。
所有推薦系統(tǒng)之間的數(shù)據(jù)共享、數(shù)據(jù)的定時自動更新、自動學(xué)習(xí)。
總的來說,推薦算法大部分都是很樸素的,但是需要運用的好,沒有長時間的積累是做不到的。
僅僅是聘請一些算法工程師,運用一些算法框架,想取得好的推薦效果,基本是不可能的。只有算法與具體業(yè)務(wù)相結(jié)合才能產(chǎn)生化學(xué)反應(yīng)。