用Word2vec輕鬆處理新金融風控場景中的文本類數據
(本文由 CreditX氪信 授權 機器之心 發表)
在當前更加普惠的市場環境下,新金融服務的客群和範圍進一步下沉擴大,業務形態也趨於更加小額分散、高效率和規模化,這對傳統風控提出了更大的挑戰,一方面針對此類客群的高價值金融數據覆蓋率大為降低,另一方面業務專家在面對更多非結構化數據時到底該如何與風險掛鉤也存有諸多疑惑。事實上,這些不同於傳統強徵信的數據在新金融風控業務中正顯現出越來越重要的作用,大量成熟場景中的實踐也證明合理地運用和發揮其價值往往能為整體風控效果帶來超出想像的提升。
下面以文本數據為例,為大家簡單介紹一下輕鬆處理和使用這類數據的深度學習技術word2vec到底長啥樣,具體是怎麼來的,以及在我們金融風控場景中應用的案例。
one hot vector與distributed representation
問你這樣一個問題:如果有幾個詞語擺在你面前,你希望你的計算機能夠理解每個詞,你可能會採取哪種方式?當然方法有很多種,這裡小氪為大家介紹一種稀疏表達的方式——one hot vector,也就是以下這種向量表示:
這種表示方式解決了我們的問題,但也存在一定缺陷,即每個詞語都是一個維度,如果詞語數量急劇增加,就會形成維度災難,給我們的建模過程造成較大的困難。這個時候你可能會換另外一種思路,僅用4個維度來分別識別性別、老年、成年、嬰兒基礎信息,這樣也可以表示出所有詞語,這種表示方法叫做distributed representation,也稱詞向量:
詞向量
深度學習出來之後,由於突破計算瓶頸,詞向量概念也火了起來。首先大家都有這樣一種認知假設,即意思相近的詞語,它在文本中出現的上下文也是相似的,也就是說,相似的詞語擁有相似的語境。因此,我們可以利用一個詞語的上下文,如一個詞語與其它詞語共同出現的次數,這樣一個次數組成的向量,來表示這個詞語。當然,如果句子特別長,我們可以限定窗口,只取該單詞前後n個單詞的詞共現次數來表示這個單詞。
比如,僅有以下三個句子的一個語料庫:
I like deepnlearning.
I like NLP.
I enjoy modeling.
取窗口長度n=1,則下圖每一列都是該列單詞的詞向量。
Word2vec
下面就是我們的主角word2vec出場啦,與之前一般的共現計數不同,word2vec作為現在主流的詞嵌入演算法,主要是通過預測一個窗口長度為c的窗口內每個單詞的周邊單詞概率,來作為這個單詞的詞向量。通過這種方式,把單詞映射到一個高維向量空間,藉此可以計算單詞之間的距離,即計算語義相似性。
在word2vec中使用最重要的兩個模型分別是CBOW和Skip-gram模型,前者是利用詞的上下文預測當前的單詞,後者則是利用當前詞來預測上下文。
我們先以CBOW為例,CBOW全稱是Continuous Bag-of-Words Model,即連續的詞袋,因為它用連續空間來表示詞,而且這些詞的先後順序並不重要。它的神經網路結構設計如下:
輸入層:詞w的上下文一共2c個詞的詞向量
投影層:將輸入層的2c個向量做求和累加
輸出層:一個霍夫曼樹,其中葉子節點是語料中出現過的詞,權重是出現的次數
上面的CBOW輸出層為什麼要建成一個霍夫曼樹呢?因為我們是要基於訓練語料得到每一個可能的w的概率。具體怎麼得到?我們先來看一下這個例子。比如句子為:我,喜歡,觀看,巴西,足球,世界盃;W=足球。
在這個霍夫曼樹中,詞「足球」走過的路徑圖上容易看到,其中非根節點上的θ表示待訓練的參數向量,也就是要達到這種效果:當在投射層產出了一個新的向量x,那麼我通過邏輯回歸公式:
σ(xTθ) = 1/(1+e^(-xTθ))
就可以得出在每一層被分到左節點(1)還是右節點(0)的概率分別是
p(d|x,θ) = 1-σ(xTθ)
和
p(d|x,θ) = σ(xTθ)
那麼就有:
p(足球|Context(足球))n= ∏ p(d|x,θ)
現在模型已經有了,接著通過語料來訓練v(Context(w))、x和θ就可以進行調整優化,由於篇幅原因,具體公式不再贅述。
同樣的道理,對於Skip-gram模型,即Continuous Skip-gram Model,利用已知當前詞來預測上下文的推理過程和CBOW也是大同小異的。
實際效果舉例
說了這麼多,word2vec到底有多神奇呢?我們以中文維基百科作為訓練語料庫,給大家看一下直觀的例子:比如我們想要看一下和「語言學」語義相似性最高的幾個詞及其概率,得到結果如下:
更有趣的是,如下圖,X(KING)n– X(QUEEN) ≈ X(MAN) – X(WOMAN),這裡X(w)表示利用word2vec學習得到的單詞w的詞向量。也就是說,詞向量能夠捕捉到KING和QUEEN之間、MAN和WOMAN之間某種相同的隱含語義關係。
新金融風控場景的成熟應用案例
事實上,在新金融風控場景中,諸如文本等數據往往蘊含著與違約風險深度關聯的深層含義,而通過傳統統計、標記甚至正則等人工定義的方式往往都難以充分挖掘其風險價值。如下圖所示,通過複雜的詞向量模型將文本轉化為計算機能夠「理解」和計算的詞向量表徵,並基於深度學習技術對其進行特徵提取,我們就可以運用成熟的分類器網路將文本數據與違約風險實現高度的風險掛鉤。
nn諸多大型成熟風控場景中的實踐也發現,對於新金融業務形態下越來越多的諸如文本、時序、影像等非結構化數據,通過充分的價值挖掘正顯現出對風控效果超出想像的提升。
推薦閱讀:
※機器之魂:聊天機器人是怎麼工作的
※未來父母教訓孩子:你看看別人機器人,再看看你自己!
※當一群科學家要做衣服的時候 他們會做成什麼樣的?
※設計與AI的現在Ⅱ:阿里魯班的「訓機師」
※關於凸多邊形網格尋路的理解?