機器之心投稿 作者:唐正陽 編者注:本文作者為 CreditX 氪信市場經理唐正陽,深入淺出的介紹了 word2vec 這一深度學習技術,及其在金融風控領域的應用。 在當前更加普惠的市場環境下,新金融服務的客群和范圍進一步下沉擴大,業務形態也趨于更加小額分散、高效率和規模化,這對傳統風控提出了更大的挑戰,一方面針對此類客群的高價值金融數據覆蓋率大為降低,另一方面業務專家在面對更多非結構化數據時到底該如何與風險掛鉤也存有諸多疑惑。事實上,這些不同于傳統強征信的數據在新金融風控業務中正顯現出越來越重要的作用,大量成熟場景中的實踐也證明合理地運用和發揮其價值往往能為整體風控效果帶來超出想象的提升。 下面以文本數據為例,為大家簡單介紹一下輕松處理和使用這類數據的深度學習技術 word2vec 到底長啥樣,具體是怎么來的,以及在我們金融風控場景中應用的案例。 one hot vector 與 distributed representation 問你這樣一個問題:如果有幾個詞語擺在你面前,你希望你的計算機能夠理解每個詞,你可能會采取哪種方式?當然方法有很多種,這里小氪為大家介紹一種稀疏表達的方式——one hot vector,也就是以下這種向量表示: 這種表示方式解決了我們的問題,但也存在一定缺陷,即每個詞語都是一個維度,如果詞語數量急劇增加,就會形成維度災難,給我們的建模過程造成較大的困難。這個時候你可能會換另外一種思路,僅用 4 個維度來分別識別性別、老年、成年、嬰兒基礎信息,這樣也可以表示出所有詞語,這種表示方法叫做 distributed representation,也稱詞向量: 詞向量 深度學習出來之后,由于突破計算瓶頸,詞向量概念也火了起來。首先大家都有這樣一種認知假設,即意思相近的詞語,它在文本中出現的上下文也是相似的,也就是說,相似的詞語擁有相似的語境。因此,我們可以利用一個詞語的上下文,如一個詞語與其它詞語共同出現的次數,這樣一個次數組成的向量,來表示這個詞語。當然,如果句子特別長,我們可以限定窗口,只取該單詞前后 n 個單詞的詞共現次數來表示這個單詞。 比如,僅有以下三個句子的一個語料庫: I like deep learning. 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(足球)) = ∏ p(d|x,θ) 現在模型已經有了,接著通過語料來訓練 v(Context(w))、x 和θ就可以進行調整優化,由于篇幅原因,具體公式不再贅述。 同樣的道理,對于 Skip-gram 模型,即 Continuous Skip-gram Model,利用已知當前詞來預測上下文的推理過程和 CBOW 也是大同小異的。 實際效果舉例 說了這么多,word2vec 到底有多神奇呢?我們以中文維基百科作為訓練語料庫,給大家看一下直觀的例子:比如我們想要看一下和「語言學」語義相似性最高的幾個詞及其概率,得到結果如下: 更有趣的是,如下圖,X(KING) – X(QUEEN) ≈ X(MAN) – X(WOMAN),這里 X(w) 表示利用 word2vec 學習得到的單詞 w 的詞向量。也就是說,詞向量能夠捕捉到 KING 和 QUEEN 之間、MAN 和 WOMAN 之間某種相同的隱含語義關系。 新金融風控場景的成熟應用案例 事實上,在新金融風控場景中,諸如文本等數據往往蘊含著與違約風險深度關聯的深層含義,而通過傳統統計、標記甚至正則等人工定義的方式往往都難以充分挖掘其風險價值。如下圖所示,通過復雜的詞向量模型將文本轉化為計算機能夠「理解」和計算的詞向量表征,并基于深度學習技術對其進行特征提取,我們就可以運用成熟的分類器網絡將文本數據與違約風險實現高度的風險掛鉤。 諸多大型成熟風控場景中的實踐也發現,對于新金融業務形態下越來越多的諸如文本、時序、影像等非結構化數據,通過充分的價值挖掘正顯現出對風控效果超出想象的提升。 |
|