最近跟幾個做電商N(yùn)LP的朋友們聊天,有不少收獲。我之前從來沒想過【搜索】在電商里的地位是如此重要,可能GMV的50%以上都是從搜索來的。巨大的經(jīng)濟(jì)價值也極大地推動了技術(shù)的發(fā)展,他們的工作做得很細(xì)致,畢竟一個百分點的點擊率后購買率提升也許對應(yīng)的就是幾百億的成交額。
其實之前做的汽車領(lǐng)域NLP工作跟電商有很多相似的地方,場景先驗都非常重要。直接使用開放域語料預(yù)訓(xùn)練的語言模型效果并不好。我們也嘗試過一些方法,例如用本領(lǐng)域語料訓(xùn)練語言模型,結(jié)合一些詞庫詞典等等。今天介紹最近看到的一篇針對電商場景調(diào)優(yōu)BERT的論文《E-BERT: Adapting BERT to E-commerce with Adaptive Hybrid Masking and Neighbor Product Reconstruction》[1],其中的一些方法應(yīng)該對細(xì)分領(lǐng)域NLP有一些啟發(fā)。
方法
論文的創(chuàng)新方法主要有兩個:Adaptive Hybrid Masking(AHM,自適應(yīng)混合掩碼)和Neighbor Product Reconstruction(NPR,相似商品重構(gòu))。
E-BERT總覽
AHM
第一個方法AHM其實是對已有掩碼方式的改進(jìn)。原始版本的BERT采用的是隨機(jī)mask,這個大家應(yīng)該都比較清楚。這種mask方式針對的是token,而眾所周知token是由單詞通過wordpiece tokenizer分割而來。所以這種方式遮蓋住的可能是單詞的一個部分,學(xué)習(xí)這種類似看三個字母猜剩下四個字母的任務(wù)不是很符合大家的直覺。隨后就誕生了更加符合人類認(rèn)知的Whole Word Masking,這個方法就是說要遮就遮整個詞。這里用一個網(wǎng)上的例子幫大家理解
InputText:themanjumpedup,puthisbasketonphil##am##mon'shead OriginalMaskedInput:[MASK]man[MASK]up,puthis[MASK]onphil[MASK]##mon'shead WholeWordMaskedInput:theman[MASK]up,puthisbasketon[MASK][MASK][MASK]'shead
philammon是一個詞,他會被tokenizer分解成三個token,這時就體現(xiàn)了普通mask和WWM的區(qū)別。
怎么繼續(xù)改進(jìn)遮蓋方法呢,一個比較直觀的方向是繼續(xù)提高遮蓋的整體性。前面是從token走到了word,可以繼續(xù)往前走一步到phrase。這個方向其實之前有人做了,比如SpanBert[2]隨機(jī)mask一小段,ERNIE[3]mask實體等等。這篇論文做了兩個工作,一個是進(jìn)一步提升遮蓋phrase的質(zhì)量,用了一種叫AutoPhrase[4]的方法來構(gòu)建高質(zhì)量的電商短語集合;第二個是設(shè)計了一套自適應(yīng)機(jī)制,讓模型訓(xùn)練在詞語遮蓋和短語遮蓋間切換,兩個方面合在一起就叫做AHM。
AHM總體的流程如下圖所示。對于一句輸入,首先用兩種方式進(jìn)行mask,左邊是常規(guī)word mask,右邊是phrase mask,然后輸入到BERT,分別得到MLM的loss,Lw和Lp。然后用一個函數(shù)f,根據(jù)兩個loss計算變量,跟預(yù)設(shè)的超參數(shù)進(jìn)行比較,如果就用word masking,反之就用phrase masking。的計算其實可以有很多方法,論文也沒有在這塊做對比實驗,我也就不展開,大家有興趣可以去看原文。
AHM總體流程
NPR
NPR是個比較有意思的部分,直觀的解釋是希望能通過一個商品重建出另一個相似商品的隱空間表示。具體的做法是把兩個商品a和b的文本內(nèi)容送進(jìn)Bert,得到各自的embedding矩陣;然后對這兩個句子做交叉注意力,得到注意力矩陣,然后用注意力矩陣加權(quán)a的embedding得到重構(gòu)后的b的embedding,反過來也從b重構(gòu)a。得到重構(gòu)后的embedding后再和原embedding計算距離作為loss,論文采用的是歐氏距離。只做相似商品重構(gòu)還不夠,論文還引入了不相似商品(隨機(jī)采樣)作為負(fù)樣本,采用triplet loss來計算最終的重構(gòu)損失。
NPR示意圖
效果
論文的實驗和結(jié)果比較部分做的比較全面。
先介紹一下對照實驗涉及的模型。baseline是裸BERT(BERT Raw),用電商數(shù)據(jù)finetune過的Bert外加SpanBERT作為對照組,finetune有兩種方法,分別是word masking的Bert和phrase masking的Bert-NP。實驗組是各種配置的E-Bert,包括只使用phrase masking的E-Bert-DP,使用AHM的E-Bert-AHM和AHM+NPR的E-Bert。
評估效果使用了4個電商場景場景的下游任務(wù),Review-based Question Answering(基于評論的問答),Review Aspect Extraction(評論方面抽???),Review Aspect Sentiment Classification(評論情感分類)和Product Classification(商品類別分類)。
不同模型在不同任務(wù)上的結(jié)果如下圖
模型結(jié)果比較
從結(jié)果可以看出E-BERT在各種任務(wù)上都大幅領(lǐng)先裸BERT,甚至也大幅領(lǐng)先基于領(lǐng)域語料預(yù)訓(xùn)練過的BERT。文章的方法其實可以在任何的垂直領(lǐng)域中使用,可以說相當(dāng)?shù)膶嵱谩?/p>
最近一個討論比較多的問題是在BERT時代,NLP算法工程師的價值是什么?我想這個結(jié)果可以從一個側(cè)面給答案,知道如何在模型中引入行業(yè)先驗知識是可以大大提高模型在特定場景的表現(xiàn)的,即使如BERT這樣自身很強(qiáng)的超級模型也不例外。
參考資料
[1]
E-BERT: Adapting BERT to E-commerce with Adaptive Hybrid Masking and Neighbor Product Reconstruction: https://arxiv.org/pdf/2009.02835
[2]
SpanBERT: Improving Pre-training by Representing and Predicting Spans: http://arxiv.org/abs/1907.10529
[3]
ERNIE: Enhanced Language Representation with Informative Entities: http://arxiv.org/abs/1905.07129
[4]
AutoPhrase: https://github.com/shangjingbo1226/AutoPhrase
責(zé)任編輯:xj
原文標(biāo)題:E-BERT: 電商領(lǐng)域語言模型優(yōu)化實踐
文章出處:【微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
-
語言模型
+關(guān)注
關(guān)注
0文章
561瀏覽量
10794 -
AHM
+關(guān)注
關(guān)注
0文章
2瀏覽量
7551 -
nlp
+關(guān)注
關(guān)注
1文章
490瀏覽量
22625
原文標(biāo)題:E-BERT: 電商領(lǐng)域語言模型優(yōu)化實踐
文章出處:【微信號:zenRRan,微信公眾號:深度學(xué)習(xí)自然語言處理】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
Nginx在企業(yè)環(huán)境中的調(diào)優(yōu)策略
手把手教你如何調(diào)優(yōu)Linux網(wǎng)絡(luò)參數(shù)
xgboost超參數(shù)調(diào)優(yōu)技巧 xgboost在圖像分類中的應(yīng)用
用VESC電調(diào)代替STLink給VESC電調(diào)刷固件 可刷所有的基于VESC的電調(diào)固件
MCF8316A調(diào)優(yōu)指南

MCT8316A調(diào)優(yōu)指南

MCT8315A調(diào)優(yōu)指南

TDA3xx ISS調(diào)優(yōu)和調(diào)試基礎(chǔ)設(shè)施

大數(shù)據(jù)從業(yè)者必知必會的Hive SQL調(diào)優(yōu)技巧
智能調(diào)優(yōu),使步進(jìn)電機(jī)安靜而高效地運行

MMC SW調(diào)優(yōu)算法

TAS58xx系列通用調(diào)優(yōu)指南

AM6xA ISP調(diào)優(yōu)指南

OSPI控制器PHY調(diào)優(yōu)算法

評論