【機器學習PAI實踐十二】機器學習實現雙十一購物清單的自動商品標籤歸類
背景
雙十一購物狂歡節馬上又要到來了,最近各種關於雙十一的爆品購物列表在網上層出不窮。如果是網購老司機,一定清楚通常一件商品會有很多維度的標籤來展示,比如一個鞋子,它的商品描述可能會是這樣的“韓都少女英倫風繫帶馬丁靴女磨砂真皮厚底休閒短靴”。如果是一個包,那麼它的商品描述可能是“天天特價包包2016新款秋冬斜挎包韓版手提包流蘇貝殼包女包單肩包”。
每個產品的描述都包含非常多的維度,可能是時間、產地、款式等等,如何按照特定的維度將數以萬計的產品進行歸類,往往是電商平臺最頭痛的問題。這裡面最大的挑戰是如何獲取每種商品的維度由哪些標籤組成,如果可以通過演算法自動學習出例如 地點相關的標籤有“日本”、“福建”、“韓國”等詞語,那麼可以快速的構建標籤歸類體系,本文將藉助PAI平臺的文字分析功能,實現一版簡單的商品標籤自動歸類系統。
資料說明
資料是在網上直接下載並且整理的一份2016雙十一購物清單,一共2千多個商品描述,每一行代表一款商品的標籤聚合,如下圖:
我們把這份資料匯入PAI進行處理,具體資料上傳方式可以查閱PAI的官方文件:https://help.aliyun.com/product/30347.html
實驗說明
資料上傳完成後,通過拖拽PAI的元件,可以生成如下實驗邏輯圖,每一步的具體功能已經標註:
下面分模組說明下每個部分的具體功能:
1.上傳資料並分詞
將資料上傳,由shopping_data代表底層資料儲存,然後通過分片語件對資料分詞,分詞是NLP的基礎操作,這裡不多介紹。
2.增加序號列
因為上傳的資料只有一個欄位,通過增加序號列為每個資料增加主鍵,方便接下來的計算,處理後資料如下圖:
3.統計詞頻
展示的是每一個商品中出現的各種詞語的個數。
4.生成詞向量
使用的是word2vector這個演算法,這個演算法可以將每個詞按照意義在向量維度展開,這個詞向量有兩層含義。
- 向量距離近的兩個詞他們的真實含義會比較相近,比如在我們的資料中,“新加坡”和“日本”都表示產品的產地,那麼這兩個詞的向量距離會比較近。
- 不同詞之間的距離差值也是有意義的,比如“北京”是“中國”的首都,“巴黎”是“法國”的首都,在訓練量足夠的情況下。|中國|-|北京|=|法國|-|巴黎|
經過word2vector,每個詞被對映到百維空間上,生成結果如下圖展示:
5.詞向量聚類
現在已經產生了詞向量,接下來只需要計算出哪些詞的向量距離比較近,就可以實現按照意義將標籤詞歸類。這裡採用kmeans演算法來自動歸類,聚類結果展示的是每個詞屬於哪個聚類簇:
結果驗證
最後通過SQL元件,在聚類簇中隨意挑選一個類別出來,檢驗下是否將同一類別的標籤進行了自動歸類,這裡選用第10組聚類簇。
看一下第10組的結果:
通過結果中的“日本”、“俄羅斯”、“韓國”、“雲南”、“新疆”、“臺灣”
等詞可以發現系統自動將一些跟地理相關的標籤進行了歸類,但是裡面混入了“男士內褲”、“堅果”等明顯與類別不符合的標籤,這個很有可能是因為訓練樣本數量不足所造成的,如果訓練樣本足夠大,那麼標籤聚類結果會非常準確。
其它
使用工具的地址:https://data.aliyun.com/product/learn
與作者聯絡,關注我的微信公眾號:凡人機器學習
相關文章
- PHP 實現機器學習挖掘使用者的購物習慣PHP機器學習
- 機器學習之分類迴歸樹(python實現CART)機器學習Python
- 機器學習PAI全新功效——實時新聞熱點OnlineLearning實踐機器學習AI
- 【機器學習】線性迴歸python實現機器學習Python
- 【機器學習】線性迴歸sklearn實現機器學習
- ML-機器學習實踐機器學習
- 機器學習PAI快速入門機器學習AI
- 機器學習--線性迴歸--梯度下降的實現機器學習梯度
- 【機器學習】多項式迴歸python實現機器學習Python
- 【機器學習】多項式迴歸sklearn實現機器學習
- 機器學習之迴歸指標機器學習指標
- 機器學習(一):5分鐘理解機器學習並上手實踐機器學習
- 《機器學習Python實現_10_02_整合學習_boosting_adaboost分類器實現》機器學習Python
- 機器學習PAI快速入門與業務實戰機器學習AI
- 機器學習實戰之Logistic迴歸機器學習
- 基於 KubeVela 的機器學習實踐機器學習
- [譯] 機器學習專案清單機器學習
- 《Python機器學習實踐》簡介Python機器學習
- Spark機器學習實戰 (十一) - 文字情感分類專案實戰Spark機器學習
- 機器學習之線性迴歸(純python實現)機器學習Python
- 谷歌機器學習43條規則:機器學習工程的最佳實踐經驗谷歌機器學習
- 《機器學習Python實現_10_06_整合學習_boosting_gbdt分類實現》機器學習Python
- 機器學習實戰(一)—— 線性迴歸機器學習
- 如何實現實時機器學習? - huyenchip機器學習
- 《機器學習Python實現_10_10_整合學習_xgboost_原理介紹及迴歸樹的簡單實現》機器學習Python
- 機器學習工程師方向文章清單機器學習工程師
- 評書:《美團機器學習實踐》機器學習
- 機器學習(三):理解邏輯迴歸及二分類、多分類程式碼實踐機器學習邏輯迴歸
- 飛漿(paddle)實現機器學習機器學習
- 用機器學習實現情感分析機器學習
- 機器學習-樹迴歸機器學習
- 【機器學習PAI實戰】—— 玩轉人工智慧之綜述機器學習AI人工智慧
- 《機器學習實戰》學習大綱機器學習
- 決策樹在機器學習的理論學習與實踐機器學習
- 【機器學習】--xgboost初始之程式碼實現分類機器學習
- 機器學習落地遊戲實踐簡析機器學習遊戲
- 機器學習之支援向量機原理和sklearn實踐機器學習
- 【機器學習PAI實戰】—— 玩轉人工智慧之美食推薦機器學習AI人工智慧
- 機器學習|決策樹-sklearn實現機器學習