3.2.1 基于LSTM的套餐搭配模型套餐生成問題是要從一個商家的所有候選商品集合中提取出多個商品子集,形成方便用戶篩選、可直接下單的套餐 。套餐生成的數(shù)據(jù)源主要是該商家的候選商品信息(如商品的名稱、標簽、價格、銷量等),再結(jié)合用餐價格區(qū)間、用餐人數(shù)等約束條件,以及用戶偏好等信息 。最初我們采用了LSTM作為Encoder和Decoder的神經(jīng)網(wǎng)絡進行套餐搭配 。我們基于圖譜語義抽取商品語義表示,并輸入Encoder的RNN模型 。Encoder編碼過程類似于用戶翻閱商家候選商品的過程,Encoder端輸入菜品名稱、菜品標簽、菜品的業(yè)務屬性(價格、銷量等),通過LSTM對非標品菜品進行特征抽取 。如下圖4所示,每個商品的名稱經(jīng)過Embedding層、CNN+Pooling層提取特征,并同菜品標簽、類別的Embedding以及價格和銷量等連續(xù)特征進行拼接,最終作為Encoder RNN中每步的輸入 。
圖4 Encoder網(wǎng)絡結(jié)構(gòu)
Decoder在解碼過程中一般依賴一個固定的字典或詞典作為候選集,每一步輸出候選集中的字、詞被選中的概率分布 。對于套餐搭配網(wǎng)絡來說,Decoder解碼的候選集來源于Encoder輸入端商家內(nèi)的商品列表,而非固定維度的外部菜品詞表,Pointer Network是建模這一問題的有效架構(gòu) 。Pointer Network是基于Seq2seq的擴展,主要解決的是候選集不固定的問題,這一模型架構(gòu)已被成功應用于抽取式文本摘要,以及旅行商問題、凸包問題等組合優(yōu)化問題的解決方案中 。
套餐搭配解碼的具體過程為,Decoder每一步預估目標菜品來自菜品列表的概率分布 。在第n(n>=1)步時,這個概率分布向量表達了在已經(jīng)選擇了n-1個商品的情況下,某個商品或者終止位被選中的概率 。若終止位對應的概率較大,則模型傾向以前n-1個已選商品形成一個完整的套餐搭配 。解碼過程中,我們結(jié)合BeamSearch算法產(chǎn)生TopN個結(jié)果,保證搭配的多樣性 。
圖5 Encoder-Decoder網(wǎng)絡結(jié)構(gòu)
3.2.2 套餐搭配模型的優(yōu)化套餐搭配模型的學習目標
為了解決菜品搭配模式因商家而異的問題,模型通過擬合該商家的歷史訂單來學習商家的搭配特性 。一種較為主流的訓練形式是基于商家真實訂單,采用Teacher Forcing的形式進行訓練,使得模型預測的菜品逐位匹配上真實訂單內(nèi)的菜品 。Teacher Forcing式的訓練方法使得預測菜品的概率傾向于0-1分布,但是現(xiàn)實的菜品搭配通常是個性化、多樣性的,例如在Decoder已經(jīng)輸出“宮保雞丁”菜品的基礎(chǔ)上,下一步選擇的主食為“米飯”或者“炒飯”皆可 。
為此,我們對商家歷史成單的套餐搭配模式進行統(tǒng)計,計算出商品選擇的概率分布,Decoder以此商品選擇的概率分布作為訓練目標,同預估的分布計算MSE Loss,并最小化該值指導模型的訓練 。Teacher Forcing的另一個問題是較難引入搭配質(zhì)量、套餐的點擊購買行為等外部知識來指導模型訓練,為此我們嘗試了采用強化學習的思路進行改進 。在解碼過程的時刻T,我們通過蒙特卡洛算法采樣(Monte Carlo Sampling)出完整的套餐候選,并計算套餐候選的搭配質(zhì)量分作為Reward,結(jié)合MSE Loss和搭配質(zhì)量分進行模型訓練 。
套餐搭配的約束
套餐搭配過程會面臨多種業(yè)務約束,例如,對于“滿減神器”來說,搭配的套餐需要滿足給定的滿減價格檔位 ?!爸悄苤帧钡奶撞痛钆溥^程需要考慮用戶選定的篩選條件,例如條件可能為“主食為米飯”且“價格為30元以下” 。我們通過剪枝策略保證搭配過程滿足約束,以“滿減神器”的價格區(qū)間約束為例,Decoder端在單步產(chǎn)生候選菜品時,會基于剩余的價格過濾掉超出剩余價格范圍的菜品 。如下圖6所示,對于商家的A、B、C、D、E菜品,Decoder會利用剩余價格的區(qū)間“15元以內(nèi)”對后一輪菜品A、B、C、D、E進行剪枝,并刪除超過價格區(qū)間的C、D兩個菜品 。
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 手機套餐套路多 手機套餐套路太多
- 孔雀魚怎么搭配公母比例
- 自制果汁的搭配 喝自制果汁的注意事項
- 屬相男女更佳搭配,男女屬相婚配表大全
- 1539元二手游戲主機搭配推薦 二手游戲主機配置推薦
- 訂單量提升7大竅門 怎么樣才能把外賣的單量提上去
- 來來來真不知道可以降套餐 可以降套餐嗎
- 廈門電信229寬帶套餐 電信寬帶229套餐詳情
- 移動套餐可以減免1280新機購買價 移動套餐減免10元
- 用什么熬小米粥好 小米粥的不同搭配方法
