1. 程式人生 > >【問答集錦】人工智能/機器學習技術在電商場景下的應用

【問答集錦】人工智能/機器學習技術在電商場景下的應用

人工智能 阿裏巴巴 機器學習

近年來阿裏不斷運用深度學習、強化學習等人工智能領域的相關知識優化自身電商平臺的搜索引擎和推薦系統,讓其從冷冰冰的系統不斷成長為越來越懂用戶的智能購物助手。
  日前,《盡在雙11》人工智能部分執筆人&阿裏技術專家 樂田 與 仁重 就 “人工智能/機器學習技術在電商場景下的應用” 問題在OSCHINA與大家開展了問答活動。
  本文整理了兩位老師在開源中國高手問答中的精彩問答。

1 . 機器學習在電商方面除了廣告推薦之類的方面外,還有其他的應用麽?謝謝,還有學習這方面需要哪些知識

  機器學習在電商領域的應用從外部產品來看主要涉及3個:搜索、廣告、推薦。從內部來看,從商品選品、流量生成機制、物流優化、物流機器人、智能客服、互聯網信用貸款等方面都會用到機器學習。 學習機器學習有之前傳統的統計學習例如《The Elements of Statistical Learning》,《支持向量機導論》、周老師的西瓜書等經典教材;現在最新的Deep Learning也出書了。

2 . 機器學習在阿裏電商場景下的最常用算法有哪些?阿裏對哪些算法做了有針對性的優化和改進呢?阿裏目前推薦系統從用戶訪問到根據訪問記錄進行推薦的實時性是多久?

  LR、GBDT、RNN有不少人在用了,還有首創的MLR、ItemCF。。針對性的優化和改進主要是在適配阿裏的計算平臺和大數據方面,這方面例子比較多,如對ItemCF 的Swing算法。

3 . 現階段的人工智能離傳統的應用程序員還是很遠,請問有什麽辦法能夠快速普及嗎?

  是技術發展過程中本身的分化導致的,技術發展就是要普惠更多的人,讓更多的人參與門檻持續降低,無論怎麽低,通曉基本原理和基本的訓練是必要的,跟學編程差不多。

4 . 深度學習算法在實際應用中是否比較曲折,對於數據的抽象工作特別難,中小型公司是否更加適合隨機森林這種非深度算法?

  選擇團隊能駕馭的算法,對於新方法可以培養團隊的駕馭能力。

5 . Tensorflow 這個框架主要應用在哪些方面場景?

  用戶和商品的Embedding、Wide&Deep、GANs等。

6 . 阿裏有計劃使用Tensorflow加入推薦系統裏嗎?

  有較多的場景在用Tensorflow了。阿裏推薦系統的邏輯架構在《盡在雙11》一書上有介紹,具體的基礎設施可能阿裏特色較多一些。

7 . 目前推薦系統多數是使用標簽模式來給用戶推薦嗎?怎麽判斷用戶符合系統推薦的商品?除了機器推薦,後期會有人為控制去跟進嗎?

  部分推薦場景如“微淘”,是使用了標簽進行推薦的。使用標簽推薦的前提是這種推薦對象更適合標簽的方式來描述。推薦體驗分析相對搜索結果分析是個全新的問題,需要考慮個性化,還有選擇評估樣本的代表性。

8 . 讓機器自動學習怎樣去推薦,最後會不會連開發者都不知道系統是怎樣推薦的?如果這時候發現系統推薦的商品有問題,怎樣確定問題出在哪裏?怎樣調整系統的算法?

  這涉及到推薦系統的自省(reflection)能力,從實現上說,自省能力是推薦系統正向過程的逆過程,由於涉及算法比較復雜,逆向過程只能在部分上反映推薦過程是怎樣的,一定程度上可以debug推薦結果的問題。

9 . 統計用戶行為需要搜集並保留所有用戶的所有行為,除了購買行為外還包括瀏覽行為、關註行為、加入購物車行為等,請問采用單元粒度的分布式架構是否更為合理?

  單元化是在服務端(在線服務)進行的,對用戶數據匯總分析不是單元化的,而是把所有單元的數據匯總的結果。

10 . 外網的數據,如何整合到推薦系統裏,提高推薦的正確性?

  外網的數據必須要能描述用戶或推薦對象才能使用,而且考慮到站內的數據的完整程度,外網的數據補充進來價值會不同。

11 . 小公司要做實時推薦有什麽框架可以使用

  選擇開源的工具和平臺,例如Spark、Storm等,結合HBase計算端存儲和LevelDB、Redis等在線端存儲應該是個可行的方案

12 . 阿裏的推薦算法用的在線的多還是離線的多?因為可供學習的數據很多,每次從頭來量應該很大。

  部分場景是純在線的,部分場景是在線離線結合的,還有一部分是純離線的。離線處理數據重新計算是個問題,因此離線也不太可能處理很長時間的數據。

13 . 現在很多推薦算法是不是有問題?總是推薦我買過的東西,並且從品牌層次和商家都不匹配。

  我們針對用戶已經購買的商品進行了部分過濾,商品類目也是個比較復雜的事情,有時候看起來是一個品類的商品,實際上是屬於不同的類目,比如運動鞋和男鞋就是不同的類目。這個問題已經比較久了,只能逐步解決。

14 . 算法程序建模之後,怎麽驗證代碼的準確性? 程序員之間互測? 算法調優有啥思路?

  算法一般都會隱藏一些“bug”,只不過這些bug對結果的影響大小的問題,所以坊間也有通過修復bug來提高效果的。算法建模之後通過test數據集進行驗證。

15 . 像淘寶每天每周都有很多新加入的商品,請問算法團隊是如何做的?新加入的商品應該如何給排序值,確定值大小?

  冷啟動的商品會分配極小的流量進行探索性投放。

16 . 目前可以使用算法編寫的語言很多,python嗎? 貴團隊是如何決策的?

  底層的算法和工程系統使用C/C++開發,應用層適應多變的需求,使用Java開發,Python和Java的功能類似,在運行效率和庫的完備度方面弱一些,也有使用。
  最後,安利一下這本著作——《盡在雙11》。本書以雙11為著眼點,從技術的角度,展示了阿裏巴巴的演進、變革與發展,系統地闡述了阿裏巴巴重要階段的技術進步歷程。

                   技術分享


【問答集錦】人工智能/機器學習技術在電商場景下的應用