美國資深資料科學家暢聊:資料分析與北美電商

貪心科技發表於2019-02-19

電商現在已經是無所不在了,可以說是貫穿於大家的吃穿住行,什麼都和它離不開。電商可以被簡單的定義為:Business model enabling a firm or individual  to conduct businesses。這篇文章我們來講資料科學與AI技術在電商中的運用。

資料科學,也就是資料驅動科學(data  driven  class),是一種跨科學的方法。通常它結合多種演算法和系統領域,被使用於提供各種形式的資料支援和連線。

美國資深資料科學家暢聊:資料分析與北美電商

一次交易行為對於電商來說的第一步是Customer在電腦前瀏覽物品下單,放在購物車。然後是第二步的刷卡、買單,到之後的這個單被接收,刷卡成功,確認郵件的傳送和接收,到最後的warehouse打包準備及發貨。

整個流程會產生很多的流量資料(Traffic  Data)。比如說使用者的行為,包括Impression(看到的印象流量)、Click Though(點選的行為)、Session(花多少時間在看相應的物品)、Email  Activity(郵件端的traffic),包括開啟點選,訂閱,或者取消訂閱等等,這些都是流量資料。

相應的交易資料有這樣幾種:Order  History(下單的記錄,買賣過什麼樣的東西)、Membership  Subscription(會員訂閱,從什麼時間開始、訂閱多久、是什麼樣的會員)、等等。

最後還有個人相關的使用者資訊資料,分為Demographic和Geographic。Demographic是人口調查,比如使用者的性別、年齡、還有收入情況,住在哪裡、有沒有買房、有沒有車,這些都算人口普查資料。Geographic就是地理資訊,常用住址是住在大城市,還是二三線城市,或者是在郊外,這些是地理資訊。

美國資深資料科學家暢聊:資料分析與北美電商

同樣的,每個顧客都會有自己的Traffic/Transaction Data,就是瀏覽的資訊和下單交易的資料。在電商裡有很多種不同的資料,資料科學AI技術就應用在這裡,就是從資料裡面提取出知識和一些有用的見解。

例項分析:三個電商應用AI的例項:

  • Amazon  GO(今年年初亞馬遜才正式開放的無人售貨店)

  • Smart  Speaker(現在已經比較流行的智慧音響)

  • Netflix  Artwork (做關於影片的使用者推薦)

Amazon  GO 是一家無人商店,國內像阿里巴巴也有開這種相應的無人商店,使用的是差不多的技術形態。Amazon  Go目前只在西雅圖開了一家試用店。進門是需要排隊的,因為想去看的人太多。

美國資深資料科學家暢聊:資料分析與北美電商

像這一幅圖展示的,這家店沒有營業員在出門的時候結算。它主要的技術是Computer  Vision做動態識別、用Deep  learning做動作的一些行為判斷、還有各種Sensor、Sensor  Fusion進行會員身份和物品的探測。

進門之前顧客要下載一個Amazon  GO的APP,登陸以後就可以通過Sensor把使用者的形態、相關的資訊、買過什麼東西、是會員還是非會員等等資訊都查到。掃了門口的二維碼以後,使用者就可以進入。進去以後天花板上到處都是攝像頭,照片裡沒有體現,但是顧客的一舉一動都是被完全記錄下來的。

那麼Computer  Vision(動態識別技術)的技術是什麼原理呢?它主要的技術核心是用卷積神經網路(Convolutional Neural  Network)。

美國資深資料科學家暢聊:資料分析與北美電商

舉一個簡單的例子:一幅圖片從最基礎開始可以分成三個顏色:RGB(紅綠藍);有些時候你可能會有些圖案,有些透明度:RGBA。每個RGB都會有相應的數值。卷積實際上是對每一層的顏色做了一個濾鏡。

用3×3的濾鏡,濾鏡的意思是把影像的各個框框角角的特徵抽取出來。像圖中所描述的,它將3×3的濾鏡從左到右規定一個Stride(步數)。從左到右再從上到下,全部掃出來以後,相應的圖層就會簡化成一個Convolved  Feature,就是一個縮小的矩陣。那這種矩陣通常可以做卷積層(Convolved)。

套用濾鏡做卷積,也可以簡單直接地取它的最大值。這裡的例子是2×2的濾鏡,和兩步的部署。每個2×2的框裡就取最大的值,像左上角的框我們就取6,相應右上角的取8。每一個圖層裡面取最大的值。這種做法可以幫助減小整個圖片,把圖片的各種顏色的各種特徵提取出來。

從這裡看到,用不同的濾鏡和不同的步數可以得到縮小化的矩陣圖。然後可以使用相應的圖層,做convolution和pooling,並放到不同的矩陣裡。這樣直接輸出結果到下一層神經網路,就可以把圖片裡從各個角度、各個方向相應的特徵都提取出來。

美國資深資料科學家暢聊:資料分析與北美電商

上圖的例子就是卷積神經網路的功能:它把一幅靜態的圖片分成3個圖層以後,每個圖層做卷積和max pooling,然後提取圖片最大的特徵,再做幾次的卷積和max pooling。卷積神經網路還可以做不同的結合來保證識別範圍的廣度。最後的輸出結果是這個圖裡面是有狗還是有貓,還是有船和鳥。

每一個識別都帶有一個概率值,概率值越高說明這個圖片裡有這個物品的概率就越大。極高的概率就可以確認這個圖片裡面有什麼樣的物品。

卷積神經網路是一個靜態的圖片的一個判斷,但實際上Amazon  GO商店裡的顧客都是移動的。大家挑選商品的時候都是走來走去的,所以亞馬遜必須要進一步的利用CNN卷積神經網路的動態識別。

美國資深資料科學家暢聊:資料分析與北美電商

動態識別演算法近十年發展的很快。最初的Sliding  Windows(一種滑動視窗的演算法)的概念是:每一幅靜態的圖片裡,定義一個像濾鏡一樣的視窗,在這個視窗從左到右,從上到下不斷的掃描,每個視窗都會做一個判斷,每個小視窗都有對應的圖片,來判斷這裡面有沒有想要的物品。上圖是判斷圖片裡有沒有車。滑動窗體演算法中的窗體是固定掃動,一直掃描到找到目標物體為止。比如這輛車的匹配度是零點九幾,那麼通過找出最高概率的視窗就可以確認這裡確實是有一輛車。這個演算法的缺點效率非常的低下。因為要把一幅大圖分解成很多小圖,並不斷的掃描。這對計算能力來說的確是個挑戰。

最近幾年來比較流行的演算法叫做YOLO,就是You  Only Look  Once(只掃一眼)。任意一幅圖片或視訊中某個時段的樣片,YOLO可以很快的去判斷這個圖片裡面的物體。YOLO主要的精神是把圖片按照網格(grid)分析。通過在每個網格里判斷物品的重心(Center),可以精確的定位物體在圖片中的位置。以剛剛的車子作為例子,YOLO判斷這些網格的重心在哪裡。同樣它也會判斷小網格里面有沒有目標物體,如果有的話就會提供一個很高的概率。

當把這些發現有車的小視窗全部合在一起,變成一個大的視窗,那就需要設一個相應的域值。當域值超過一定的量,就說明物品確實存在於此小視窗。把小視窗全部連線起來,就會得到大一點的圖片。同樣再通過CNN做一次判斷,判斷這是不是對概率有所提高,或者降低。這樣就可以通過每個小圖拼湊起來個完整的物品。

這裡面還有很多複雜的地方。比如說,YOLO有可能會發現其他框也可以體現一個車,可以有很多的連線各種小的grid也可以得到一個比較完整的物體,這個時候就要判斷哪一個框最能代表這個物品。

總而言之,YOLO再加上目前最火的演算法GPU可以很快的把動態的圖片提取出包含這個物品的小框,進而確定是什麼樣的物品。是人、還是商品、還是人和商品。這樣的話,可以很快地確定這張圖裡面的顧客有沒有拿東西。2014年Amazon就已經申請了相關的專利。

美國資深資料科學家暢聊:資料分析與北美電商

從圖中可以看到:每一個物品都是有編號的;攝像頭還有網路有相關的程式碼;錄影機、攝像頭全部都可以實時的處理。顧客每走到不同的貨架旁邊,從相應的貨架取下一個物品,之後系統就知道這個物品是否還存在,它的重量會變化,它相應的影像也會有變動。 

每個物品都有自己對應的編碼,以此幫助系統來判斷該物品是不是已經被拿走。這裡可以判斷商品的資料來源有很多,首先從卷積神經網路得出來自圖片的判定,還有來自重量和壓力變化的判定,同時還可以結合使用者過去的交易記錄來判斷是不是有可能的交易行為。

這裡也可以用到DeepLearning(深度學習),作為input可以判斷出使用者是否有購買能力,從而做出相應的判斷。

下一個例項是SmartSpeaker。

美國資深資料科學家暢聊:資料分析與北美電商

從2014年開始,Amazon就投入了大量的資金研發Alexa這個智慧音響的產品。緊跟著大家發現這個市場特別的好,Google也推出了Google assistant,微軟也是在2016年推出了音響Cortana。到去年為止,亞馬遜又提出升級版本,推出了Show還有Look這種帶攝像頭的產品。蘋果也推出了自家的智慧音響Homepod,今年會推出它的更新版,和Siri聯絡在一起。三星也是相應的推出Bixby,廣告上也經常在提到。

智慧音響是非常火爆的產品,各大電商技術巨頭都推出相應產品,幫助大家在網上下單,買賣東西。Amazon  Echo這個最先驅的產品,或者說從Echo開始智慧音響才開啟了市場。

美國資深資料科學家暢聊:資料分析與北美電商

Echo現在的功能已經非常的強大了,影像化的它可以連上手機的各種APP,聽音樂、聽電臺、聽新聞、看電視、叫車,放在家裡可以用來看Amazon fireTV,同時智慧家電像溫度開關,還有家裡的電燈開關,都可以通過智慧音響去控制。

Echo主要的技術背景就是語音識別語義分析語音識別就是通過不管是英語還是中文,還是其他阿拉伯語、日本語都可以讓智慧音響能瞭解到大家想要做什麼樣的事情。 

美國資深資料科學家暢聊:資料分析與北美電商

語音識別的技術近幾年也是發展迅猛。最初的語音識別就是把每個語音波段提取相應的音素(Phoneme)並提取特徵。就像拼音的母音、子音,一些比較有代表性的發音都是由音素組成。把這些元素提取出來,拼湊成相應的字,或者片語。這是剛開始的語音識別的比較工程化的技術,現在已經發展到用RNN(遞迴神經網路)。

遞迴神經網路不同於傳統的神經網路,它是有遞迴性的。意思就是說每一個神經元(見上圖)是互相連線的。上一層的a(啟用函式)處理完的輸出可以直接輸出到下一個函式,這樣不斷的迭代。同時每一個相應的輸入,不同的單詞、片語都會分別輸入到每個神經元裡面,但是這些神經元又是跟之前的神經元相連。更復雜一點的網路可以從正方向相連,也可以從反方向互相聯絡。

最後訓練成功的這個網路裡每個神經元都會輸出Y1Y2這樣的值。如果需要提取名字的話像“Teddy bear”輸出可以這樣表示:0011000。更復雜的情況裡Y可以變成一整個向量性的輸出。在一個詞庫裡面,比如“Teddy”對應的值為1,詞庫裡面其他不相關的詞就會判斷為0。

當遞迴神經網路判斷出來某個詞在相對應的階段的語音接近於對應的單詞,它直接跳過音素這種比較傳統的步驟,直接通過整個語音的長度和廣度判斷出這段聲音代表的什麼意思。這個就是語音識別的大概的工作原理。

有了語音識別,識別出的相應的文字就可以做NLP(自然語言分析),也是語義分析

美國資深資料科學家暢聊:資料分析與北美電商

語義分析也是很熱門的學科,可以做各種各樣的事情,比如說最常見的:

詞頻統計:通過公式計算詞頻在某個檔案、某個文件裡面出現多少次,或是通過統計某篇文章或者整個文庫裡邊該詞出現的頻率做一個層級,就可以算出它正交化的詞頻統計。有了這個相關的資料可以作為資料輸入。

NER(Name  Entity Recognition):是專門做名字、名詞相關的物品的一個識別。

POS(Part  Of Speech,詞性解析):像中文的主謂賓是主語,在英語裡邊就是形容詞、名詞、代名詞。

N-Gram(組合詞頻):比如Cat就是一個單詞;Running  Cat,就是一個片語,它是有兩個單詞進行,就是2-gram,N-gram就是把這些高頻組合的詞去挖掘出來。

Word embedding:把各個詞,按照它們的類別進行分類。比如Man、Woman可以按照性別等等進行分類,可以把它作為一個相關性的向量展開,這就是單詞嵌入,每個詞就賦予了更深的意義。

有了以上的這些就可以做進一步的分析。比如情緒分析,喜歡還是不喜歡,正面的色彩還是負面的色彩。像一些打分系統,就是用情緒分析來做。

也可以使用Word Embedding繼續做GloVe/Word2Vec。把詞展開到對應的向量空間,從而可以判斷它在整個句子的成分;或者通過聯絡上下文來判斷該詞在一段內容裡表示的具體意思,或者對將要出現的下文做判斷預測。

同樣還可以開發聊天機器人,有了這些NLP的手段可以去跟真人聊天,或者是解決一些簡單的與真人互動的問題。比如開燈關燈、開電視,從語音分析裡面提取想要的重點,達到想要完成的願望。

最後一個例項是Netflix  Artwork。這也是很有意思的一個例項。Netflix用上了資料科學和AI技術。

美國資深資料科學家暢聊:資料分析與北美電商

對不同的人群來說,這些海報應該怎麼樣宣傳?這裡就可以把影片的各個情節都提取相應的插圖作為海報,喜歡恐怖片的朋友可能會更愛看點帶血腥的,或者帶火焰的;喜歡小朋友的觀眾可能看到有很多小孩的海報;還有的人喜歡某一個明星,那麼他個人的海報對於作為粉絲的你來說更容易感興趣。因此這裡需要一個有效的推薦引擎來給不同的使用者推薦,來讓使用者看了這個宣傳海報以後更有可能點選播放。

傳統的方法就是首先收集資料,建好模,做好各種A/B  testing,然後把這個Model正式出品,執行在前端。這個方法會耗時很久,短暫來說可能也要花上幾星期,長一點可能是數月。在這段時間內,可能使用者的喜好就會發生很大的變化。可能在這個模型推出以後跟之前預測的使用者在這個時間點的品位又不一樣,模型反而不清晰,產生很大的分歧。

Netflix最新的演算法是一種強化學習的手段叫Reinforcement Learning(RL)。它的主要特點就是可以快速的迭代,持續的優化。

美國資深資料科學家暢聊:資料分析與北美電商

它的核心思想簡單來說是就是多臂頻寬(Multi-Arm Bandit)的演算法。在RL裡面定義一個state,通過rewardfunction Q,就會得出reword是多少。像這個章魚一樣,每執行不同的步驟就會有不同的效果,每一臺都像賭博機一樣,啟動了賭博機A和賭博機C,可能會輸或者都會贏,value都不一樣。

上圖中的公式在這裡就定義了:功效應該等於reward加上γ乘以未來的功效。假如γ是0,就不考慮未來期望值,上一次得到的reward是多少,就一直按照這個方式去進行,不會去考慮其他的可能性。

現在看來要達到最好的辦法,Netflix採用了一個叫做Contextual Bandit(環境頻寬演算法)。

美國資深資料科學家暢聊:資料分析與北美電商

環境頻寬演算法實際上是來定義使用者是一種環境變數,因為每一個使用者都有不同的背景和喜好,Netflix就把剛才的公式複雜化,加入了learning rate。意思就是說顧客未來的這個Q’,需要通過建模來達到通預測的功效。

加入了learning rate之後,α如果等於1,就可以去掉兩邊,換成多臂頻寬演算法;如果模型不需要太考慮未來,那就用剛才簡單優化演算法,按照每一次的結果,來選每次得到最高效用的那個模型;如果想讓RL模型去學習更多、探索更多未來的未知的情況,就假設α不是1,這個時候Q’ 的作用就能夠體現出來。

Q’用一個類似於深度神經網路這樣的模型來做預測,例如把數以百萬的客戶的瀏覽記錄,個人背景,還有年齡性別這些相應的資訊作為輸入,用這樣的方法對這些資訊做一個深度學習的Training

另外一個簡單的例子是股市交易,輸入資訊是budget和shares,加上交易的記錄,可以做出一個深度學習的網路。它可以做出需要買還是賣還是hold的決策。最後可以用Q’作為未來回報的預測。有了整套系統之後,只要知道了近期的return,就可以預測的未來的Return。當然,這個Q’太初級,可能要在不斷的迭代之後才可以正式地被使用。通過比剛才提到的單一的建模考慮到更多的變數,它會更加快速的迭代。

電商行業的新寵,就是深度神經網路卷積神經網路以及遞迴神經網路,以及強化學習。在未來的電商行業裡,通過積極的發展,它們運用的方向是非常廣闊的。像行為預測,智慧影像、還有語音識別、個性化推薦,在電商各個環節都是必不可少的。未來應該會很快的看到這些AI的技術運用於顧客的體驗和買賣活動當中。

相關文章