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