日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

应用实践 | 电商应用——一种基于强化学习的特定规则学习模型

發(fā)布時間:2024/7/5 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 应用实践 | 电商应用——一种基于强化学习的特定规则学习模型 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

本文轉(zhuǎn)載自公眾號:浙大KG。

作者:汪寒,浙江大學碩士,主要研究方向為知識圖譜和自然語言處理。


應用場景

在電商實際應用中,每個商品都會被掛載到若干個場景,以圖結構中的節(jié)點形式存在。商品由結構化信息表示,以鍵值對(Property:Value)形式(后稱PV)存在。場景(LifeStyle)的價值則在于打通商品實體之間的聯(lián)通,提供跨域的實體搭配,因此新的商品必須要通過規(guī)則庫中的規(guī)則掛載到特定的場景才能進入電商的運營體系。商品場景的樣例如下圖所示。

圖1 商品場景樣例

規(guī)則的作用則包括掛載新的商品以及為已有的商品新增掛載場景,目前規(guī)則庫中的規(guī)則主要由人工構造,通過審核之后才能進入規(guī)則庫,商品場景掛載的規(guī)則特點是Body部分只由PV組成,Head部分只包含單個場景。規(guī)則的形式如下:

人工構造規(guī)則的方法效率低,人工成本高,因此商品場景掛載規(guī)則學習任務就是利用算法從現(xiàn)有的商品場景數(shù)據(jù)中生成規(guī)則,提高規(guī)則生成的效率,降低人工成本。現(xiàn)有規(guī)則庫中的規(guī)則樣例如下表所示。

Motivation

目前業(yè)界常用的規(guī)則學習baseline是關聯(lián)規(guī)則挖掘,用于發(fā)現(xiàn)數(shù)據(jù)集中項與項之間的關系,通過挖掘數(shù)據(jù)集中存在的頻繁項集來生成規(guī)則。這種方法適合數(shù)據(jù)項之間沒有差異的數(shù)據(jù)集,比如著名的購物籃分析應用中,不同的商品都可以看作是同種item。而在實際應用中常常需要挖掘不同類型數(shù)據(jù)項之間的規(guī)則,數(shù)據(jù)集中的元素項之間存在差異,不能簡單地將所有數(shù)據(jù)項都看作同種item,分析商品場景掛載數(shù)據(jù)可以看出,商品的 PV 對與場景之間存在差異,若將其視為同種數(shù)據(jù)項,用通用的規(guī)則挖掘算法學習,就舍棄了商品 PV 對與場景之間的掛載關系信息以及差異。

且關聯(lián)規(guī)則挖掘是通用的規(guī)則生成算法,在頻繁項挖掘階段需要耗費大量時間挖掘無關的頻繁項,無法針對特定的規(guī)則進行優(yōu)化,所以關聯(lián)規(guī)則挖掘算法無論是效率還是產(chǎn)出結果的指標都偏低。因此,針對商品場景掛載數(shù)據(jù)生成規(guī)則,需要用到task-specific 算法,算法需要考慮到商品 PV 對與場景之間的差異以及掛載關系信息,且生成的規(guī)則應滿足 Body 部分為 PV 對,Head 部分為單個場景的形式。

算法描述

首先分析數(shù)據(jù),商品由20-50個PV對組成,每個商品會掛載到若干個場景,而輸出的規(guī)則的body部分為1-5個PV對,head部分為單個場景。因此可以認為,對一個商品的PV對賦予不同的權重就可以讓這個商品掛載到不同的場景,輸出那些權重超過閾值的PV對作為body部分就可以得到一條規(guī)則,從而就可以得到一個算法,就是用一個神經(jīng)網(wǎng)絡來對PV對賦予權重,在訓練完畢后將高權重的PV輸出作為規(guī)則的body部分。

因此,首先要解決的問題是如何設計一個神經(jīng)網(wǎng)絡模型來為PV對賦予權重,PV對的權重是離散值0或1,0表示舍棄當前PV對,1表示選擇當前PV對作為body部分。把商品包含的PV對看作序列,賦予權重的過程就是一個經(jīng)典的序列決策過程,而這個序列決策過程是沒有標注數(shù)據(jù)的,所以無法用監(jiān)督學習訓練,但整個序列是有標注的,即權重賦予后的PV對序列能否掛載到當前場景。因此,可以把整個問題建模成一個強化學習問題,訓練一個智能體來完成權重賦予的過程。

然后,要解決的第二個問題是如何為這個智能體返回reward,即如何判斷智能體輸出的PV對子序列可以讓商品掛載到特定場景,且這個子序列的長度不超過5。判斷掛載是否正確可以看作是一個分類問題,預訓練一個FastText網(wǎng)絡作為分類器,輸入為PV對序列,輸出為PV對序列所對應的類(即場景),來判斷當前PV子序列能否分類到對應場景。同時,在reward function中加入子序列長度項,讓智能體盡可能選擇較短的子序列。


模型

模型包括兩個部分,一個用于對PV輸出action的智能體Agent和一個用于返回reward的FastText模型,結構圖如圖2所示。Agent由三個模塊組成:Input Module,Memory Module,Action Module。Input Module包括Property embedding,Value embedding以及LifeStyle Embedding,Property embedding和Value embedding拼接起來當作當前PV的embedding,作為Memory Module的輸入;Memory Module則由一個雙向LSTM組成,利用LSTM網(wǎng)絡的記憶功能,讓每個時間步輸出的隱狀態(tài)都能包含上下文的信息;Action Module則包含一個單向LSTM和一個全連接層,網(wǎng)絡輸入包含Memory Module在當前時間步的輸出,Agent在上一次輸出的action以及當前商品所對應的LifeStyle embedding。

在Agent對所有PV做完決策之后,將action輸出為1的PV作為FastText的輸入,FastText會輸出當前輸入的分類結果(也就是場景掛載),若分類正確則返回一個reward給Agent更新參數(shù)。


圖2?模型結構圖


模型訓練

首先需要預訓練一個FastText模型來為Agent返回reward。所以要先把商品掛載場景構造成一個分類任務,而在前面已經(jīng)提到,一個商品可能會掛載到多個場景,對應到文本分類任務,就是一個樣本會有多個標簽,所以這里就把掛載數(shù)據(jù)構造成了一個多標簽分類任務,用的目標函數(shù)也是文本分類任務里常使用的交叉熵損失函數(shù),具體來說,單個樣本的損失函數(shù)為:

這里n表示標簽的個數(shù),y_i 表示樣本是否屬于當前類,p_i表示當前l(fā)abel對應的概率值,由sigmoid計算后得到。

而智能體的參數(shù)更新方式是policy gradient,在監(jiān)督學習中,本文通常用交叉熵作為簡化版的KL散度來衡量兩個分布的差異,單個樣本的交叉熵損失函數(shù)如下:

這里t表示樣本的長度,y_i表示當前l(fā)abel,p_i表示當前l(fā)abel對應的概率值,由softmax計算后得到。

而強化學習則是沒有l(wèi)abel的,用當前action所得到的reward來代替,單個樣本的損失函數(shù)如下

這里a_i表示當前時間步Agent輸出的action,這個時候損失函數(shù)的作用就不是衡量兩個分布的差異,而是最大化得到正reward的動作的概率。

?

實驗

實驗所用商品掛載數(shù)據(jù)集來自某電商網(wǎng)站的一個類目,在實驗開始前先對實驗數(shù)據(jù)做了一些必要的預處理實驗數(shù)據(jù)的預處理包括:

1. 對標題進行分詞,去掉停用詞,無關的標點符號以及單個字。

2. 對包含多項的屬性值進行切分,切分成k個部分就形成k個PV。

3. 去掉了一些沒有信息量的屬性項及其對應的屬性值。

4. 增加了屬性項:擁有屬性,對應屬性值為該商品擁有的屬性項。

預處理結束后的數(shù)據(jù)集信息如表1所示

表1 數(shù)據(jù)集統(tǒng)計信息

在規(guī)則輸出階段,智能體不再是從動作空間中按概率采樣一個動作,而是直接選擇概率最大的動作,得到所有預測正確的PV序列后,計算每條raw規(guī)則的HC和Conf,將滿足要求的作為備選規(guī)則。最后生成的備選規(guī)則的body平均長度僅為2.12,這十分符合規(guī)則的要求,模型輸出的規(guī)則樣例如表2所示

表2?輸出規(guī)則樣例

從樣例中可以看出,智能體確實可以找到一到兩個與某場景關聯(lián)度極高的PV,這證明了reward function中對輸出PV序列長度的懲罰的有效性,且規(guī)則從直觀上看就很具有可行性,說明本模型確實找到了商品PV與場景之間存在的模式,并以規(guī)則的形式輸出。最終模型生成了845條備選規(guī)則。

?


?

OpenKG

開放知識圖譜(簡稱 OpenKG)旨在促進中文知識圖譜數(shù)據(jù)的開放與互聯(lián),促進知識圖譜和語義技術的普及和廣泛應用。

點擊閱讀原文,進入 OpenKG 博客。

總結

以上是生活随笔為你收集整理的应用实践 | 电商应用——一种基于强化学习的特定规则学习模型的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。