JDATA绝对语义识别挑战大赛-季军方案
寫在前面的話
本文將基于決賽答辯PPT中的內容,給出此次比賽的完整方案,主要從特征設計理念、建模核心思路、算法核心思想等角度闡述,同時對相關細節進行了適當的拓展講解。涉及Attention、Capsule、Bi-GRU和BERT等算法及相關概念。
1、賽題背景
京東每天有數千萬商品變動,其中有部分商品內容違法廣告法、京東相關規范,比如虛假宣傳。本屆賽題“絕對語義識別”旨在識別京東平臺商品頁面中出現的違法廣告法、京東規定規范等相關要求的用語或內容。
語義識別是自然語言處理(NLP)技術的重要組成部分之一,其應用場景廣泛、市場潛力和經濟價值巨大,為當下炙手可熱的領域。京東作為中國最大的自營式電商,每天有數千萬商品變動,其中有部分商品的宣傳內容違法廣告法、京東相關規范規定等,比如虛假宣傳、絕對語宣傳。
語義識別的核心除了理解文本詞匯的含義,還要理解這個詞語在語句、篇章等具體語境中所代表的意思,通過賽題“絕對語義識別”將減少商品宣傳中用語錯誤,將合適的廣告內容推送給消費者,促成廣告效益最大化。
注意:絕對語和語境詞的區分,其中語境詞是指表達個人情感、意愿的詞語。
例如1:“每一次選擇都是對生活最好的期待”表達的是個人感情,廣告宣傳語不違規;
例如2:“本車貼使用了最好的反光材料”指向的是自己銷售的商品,廣告宣傳語違規。
比賽地址鏈接:http://jdata.inner.jd.com/html/detail.html?id=10
2、賽題理解
2.1 賽題數據
訓練數據為8萬句廣告宣傳語,其中約3.5萬句為違反廣告法的使用絕對化用語(label=1),約4.5萬句不違反(label=0)
2.2 賽題目標
預測廣告宣傳語是否違規。
2.3 評價指標
本賽題采用F-SCORE值進行衡量:
其中:Precision為準確率,Recall為召回率, β=1;
3、算法核心設計思想
3.1 算法架構設計
特征工程設計理念
基于傳統機器學習的詞頻方式提取詞組的上下文特征,作為對“絕對語”的特征表達;
同時,基于深度學習方法的詞向量特征,捕捉“語境詞”的特征表達,并利用字級別和詞級別兩種方式對詞向量表達的完整性進行相互補充構建;
引入語境詞向量的BERT編碼方式,進一步捕捉文本的真實表達;
特征工程實現方法
詞頻方式
TF-IDF :同過詞頻方式,提取詞組的上下文特征;
詞的向量方式
考慮字級別和詞級別兩種方法同時使用Word2Vec 和GloVe兩種方法。
將所有詞組成一個詞表,得到word2index字典和index2word字典;
將詞映射為index,并且進行padding,然后通過詞對應的index對詞向量矩陣進行Lookup,得到當前文本對應的word2vec;
語境詞向量方式
利用BERT-Base, Chinese: Chinese Simplified and Traditional, 12-layer, 768-hidden, 12-heads, 110M parameters 中文預訓練詞向量。
算法核心設計理念
基于詞頻TF-IDF特征使用傳統的LR、LightGBM和Xgboost模型,利用Ngram上下文特征進行廣告宣傳語的違規預測,構建“絕對語體系”模型;
基于詞向量方式,構建TextNN網絡,同時利用BiGRU等序列模型構建“橫向序列體系”和利用Capsule構建“空間向量體系”,由兩個維度豐富模型對絕對語境的捕捉能力。
3.2 Attention機制
當序列越長時,RNN在捕捉序列長期依賴關系時就顯得越弱。而從分析attention函數我們可以發現,Attention是將進行序列的每一個元素與其他元素的對比,在這個過程中每一個元素間的距離都是1。因此,我們在BI-GRU和Bi-LSTM模型中引入attention機制,去靈活的捕捉全局和局部的聯系。
3.3 Capsule TextNN
Capsule是通過向量的方式來建模,它利用向量輸出代替標量輸出,捕捉空間結構信息,最初由深度學習之父hinton提出應用在圖像領域。由于NLP是通過詞的向量的方式構建的,所以Capsule方式在NLP領域有著得天獨厚的優勢,在這個比賽中,我們將Capsule方式由圖像領域遷移到了NLP領域,并進行了應用與實踐。因為Capsule本質上是一種并行注意力模型,能把信息提取的注意力集中到下一層更加活躍的Capsule,同時忽略掉那些不活躍的。所以,我們將RNN的輸出作為low-level Capsule,同時通過動態路由的方式構建高層語義表征得到high-level Capsule,得到的空間特征作為后續Dense層的輸入。
比賽中使用的Capsule TextNN參考自何從慶同學的Capsule TextModels,不同點在于對原有模型根據賽題需要做了一些簡化,完整版可以參考https://github.com/hecongqing/2018-daguan-competition。
3.4 優化器改進
為了避免L2的作用受到優化器和learning rate的影響,重寫了Keras的Adam函數,將L2加到優化器作用之后,使其與learning rate完全脫鉤,避免Adam的自適應歸一化和alpha抵消了L2帶來的weight decay的作用。同時,將第1個epoch使用warmup,第2個epoch將學習率降到最低。
3.5 BERT
BERT作為橫掃NLP各項任務的一個大殺器,在本次比賽中我也做了相應的應用。
BERT與最近的其他語言表示模型不同,BERT旨在通過聯合調節所有層中的上下文來預先訓練深度雙向表示。因此,用12層Transformer捕捉全局語義信息,通過next perdiction 預測下句話,可以構建上下文的語境詞向量。預訓練的BERT表示可以通過一個額外的輸出層進行微調,適用于廣泛任務的最先進模型的構建。
在此次比賽中,我使用了最大池化作為12層Transformer后的輸出層,意在通過提取最具模型表達的特征進行廣告宣傳語的違規預測。
在此次比賽的決賽答辯中,有些選手提出BERT模型在使用時,不如Bi-LSTM效果好,其原因大概有兩種,一是BERT模型的使用在訓練過程中未收斂;而是直接套用原始模型,而針對該實際問題進行相應的優化和參數調整。
4、結果分析
通過對“算法核心設計思想”的介紹可能讓你對模型內部到底是怎么運作的有個大概理解,但深度學習模型的難解釋性和抽象性仍會讓人在實際場景中無法具象表達,因此將模型權重具象到詞上,并做可視化輸出后我們發現,模型對“絕對語”的判斷與識別具有良好的效果。同時,如圖中紅綠不同程度的顏色表示,我們可以發現在不同語序下“語境詞”的表達強弱也各有差別。
例如,第一個廣告宣傳語描述中的“獨有”一詞,從“絕對語”角度就可判斷違規;而第二個廣告宣傳語描述中,“優質”、“更佳”、“品質”在其所在語境中并沒有體現出虛假宣傳和絕對語宣傳等違規方式。
5、比賽經驗總結
本次比賽中,使用的多模型融合方式相對簡單,并沒有使用Stacking、Blend等方式進行融合,而是只采用了投票形式。
除了以上介紹的算法模型優化帶來的效果提升以外,還需要補充的一種有效的方式為數據增廣(DataAugment),但由于在階段B由于時間原因未使用該方法,因此上述表述中未作介紹。
6、有趣的發現
此次比賽中,我還發現了一些有趣的點,在這里分享一下。
一是此次比賽AB兩個階段,我的解決方案是完全不同,A階段線上第二名的分數來自BERT+LR模型的,在原有BERT模型的基礎上,利用BERT模型(語境詞層面)和LR(絕對語層面)進行特征補充,完成對絕對語義的理解識別。
二是在數據增廣的前提下,只利用TF-IDF+LR(絕對語層面)就能達到前3名的成績。
寫在最后的話
入職一年半,還參加的算法比賽的目的其實簡單,就是為了讓自己保持一個良好的競技狀態和學習狀態。同時,每次比賽又是一個不斷審視、總結自己的過程。無論是結構化數據、自然語言處理領域還是圖像領域,歡迎志同道合的小伙伴一起分享探討,共同進步。
參考論文
[1] Devlin J , Chang M W , Lee K , et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding[J]. 2018.
[2] Loshchilov I , Hutter F . Fixing Weight Decay Regularization in Adam[J]. 2017.
[3] Raffel C, Ellis D P W. Feed-forward networks with attention can solve some long-term memory problems[J]. arXiv preprint, 2015.
[4] Zhao, W. , Ye, J. , Yang, M. , Lei, Z. , Zhang, S. , & Zhao, Z. . (2018). Investigating capsule networks with dynamic routing for text classification.
[5] Congqing He, Li Peng, Yuquan Le, Jiawei He, and Xiangyu
Zhu. 2019. Secaps: A sequence enhanced capsule model for charge prediction. In International Conference on Artificial Neural Networks.
Springer.
總結
以上是生活随笔為你收集整理的JDATA绝对语义识别挑战大赛-季军方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 推荐算法炼丹笔记:序列化推荐算法SASR
- 下一篇: DigSci科学数据挖掘大赛-亚军方案分