前記
最近做一些文本匹配相關(guān)的事粹污,有兩篇百度的nlp相關(guān)講得不錯
百度語義計(jì)算技術(shù)及其應(yīng)用
語義表示
- 從基于term的multi-hot 扣溺,Topic Model ,CBOW,ERNIE
-
ERNIE與BERT最大的區(qū)別是在于進(jìn)行了知識增強(qiáng)代承,引入了中文詞鲜侥、實(shí)體等先驗(yàn)語義知識進(jìn)來學(xué)習(xí),在中文評測中都取得了更好的成績鲜结。詳細(xì)見下圖
bert vs ernie
語義匹配
-
挑戰(zhàn)主要有四個
挑戰(zhàn) 基礎(chǔ)做了很多工作瘸爽,挖掘同義詞您访、詞級別泛化、語義緊密度剪决、對齊資源挖掘灵汪、共線關(guān)聯(lián)計(jì)算等。
從傳統(tǒng)的VSM到基于深度神經(jīng)網(wǎng)絡(luò)的SimNet
長文本匹配有一個很大的挑戰(zhàn)柑潦,就是讓 Document 直接做表示享言,如果文本太長,很多信息會丟失妒茬,計(jì)算效率也非常低担锤。但如果我們先做一個粗匹配,選擇好相關(guān)的句子以后再做精細(xì)化的匹配乍钻,效果就比較不錯肛循。有一篇論文RLTM發(fā)表。
模型應(yīng)用效果并不是靜態(tài)的银择,而是動態(tài)變化的多糠,特別是搜索反饋的數(shù)據(jù),隨著時間的推移浩考,網(wǎng)民在搜索的時候夹孔,Term 的分布、主題的分布會發(fā)生變化析孽,所以數(shù)據(jù)的時效性影響還是非常大的搭伤。
我們把 Bigram 知識也融入了進(jìn)去。盡管 RNN 已經(jīng)很厲害了袜瞬,但加入知識怜俐、模型還是會有很大的提升。
-
新的模型:SimNet-QC-MM邓尤,會考慮 Query 中每個詞被 Title 和正文覆蓋的情況拍鲤,并基于 Matching Matrix 匹配方法計(jì)算贴谎。
標(biāo)題+正文 語義模型壓縮技術(shù),Embedding 一維從32bits壓縮到 4bits
神經(jīng)網(wǎng)絡(luò)語義匹配技術(shù)
介紹
SimNet 在語義表示上沿襲了隱式連續(xù)向量表示的方式季稳,但對語義匹配問題在深度學(xué)習(xí)框架下進(jìn)行了 End-to-End 的建模擅这,將詞語的 Embedding 表示與句篇的語義表示、語義的向量表示與匹配度計(jì)算景鼠、文本對的匹配度計(jì)算與 pair-wise 的有監(jiān)督學(xué)習(xí)全部統(tǒng)一在一個整體框架內(nèi)仲翎。在實(shí)際應(yīng)用場景下,海量的用戶點(diǎn)擊行為數(shù)據(jù)可以轉(zhuǎn)化大規(guī)模的弱標(biāo)記數(shù)據(jù)莲蜘,搭配我們研發(fā)的高效并行訓(xùn)練算法谭确,大數(shù)據(jù)訓(xùn)練的 SimNet 顯著超越了主題模型類算法的效果帘营,并首次實(shí)現(xiàn)了可完全取代基于字面匹配的策略票渠,而且可以直接建模非相似度類的匹配問題。
- 輸入層芬迄, look up table 將文本詞序列轉(zhuǎn)換為 word embedding
- 表示層问顷,詞到句的構(gòu)建過程,簡單是累加的BOW方法禀梳,還支持CNN杜窄、RNN等
- 匹配層
-- Representation-based Match,包括cos和mlp匹配
-- Interaction-based Match算途,計(jì)算成本大塞耕,不會在表示層將文本轉(zhuǎn)換成唯一的一個整體表示向量,而一般會保留和詞位置相對應(yīng)的一組表示向量嘴瓤,一般通過兩段文本的matching matrix進(jìn)行卷積等操作 - 采用了 pair-wise Ranking Loss 來進(jìn)行 SimNet 的訓(xùn)練扫外。以網(wǎng)頁搜索任務(wù)為例,假設(shè)搜索查詢文本為 Q廓脆,相關(guān)的一篇文檔為 D+筛谚,不相關(guān)的一篇文檔為 D-,二者經(jīng)過 SimNet 網(wǎng)絡(luò)得到的和 Q 的匹配度得分分別為 S(Q,D+) 和 S(Q,D-)停忿,而訓(xùn)練的優(yōu)化目標(biāo)就是使得 S(Q,D+)>S(Q,D-)驾讲。實(shí)際中,我們一般采用 Max-Margin 的 Hinge Loss:max?{0,margin-(S(Q,D+)-S(Q,D-))}
改進(jìn)
- 細(xì)粒度: SimNet 框架下需要降低對精準(zhǔn)切詞的依賴席赂,或者說要考慮如何從切詞角度來進(jìn)一步提升匹配效果吮铭。如高頻共現(xiàn)片段和句法結(jié)構(gòu)信息,能否作為先驗(yàn)知識融入 SimNet 框架發(fā)揮作用颅停,也是值得探索的方向谓晌。將字粒度和詞粒度進(jìn)行融合互補(bǔ)。另一方面便监,由于切詞自身不存在唯一客觀標(biāo)準(zhǔn)扎谎,實(shí)際上不同的切分方式也可以實(shí)現(xiàn)互補(bǔ)碳想,比如可以同時使用大粒度切詞和細(xì)粒度切詞。這樣一來毁靶,我們對單一切詞的精度要求就可以不那么高了胧奔。這也從某種意義上降低了語義匹配任務(wù)對切詞的高度依賴。多切分粒度融合在輸入層预吆、表示層和匹配層都可以設(shè)計(jì)實(shí)現(xiàn)龙填。
- 粗粒度:1)基于大數(shù)據(jù)只挑選少量對匹配任務(wù)有很好信息量的高頻共現(xiàn) Term 組合,作為 Bigram 詞加入字典拐叉,進(jìn)一步顯著提升了模型效果岩遗。2)跨詞的 Collocation 搭配也非常重要,我們使用依存句法分析工具來獲得相應(yīng)的 Collocation 片段凤瘦,我們對輸入語料構(gòu)建依存分析樹宿礁,統(tǒng)計(jì)父節(jié)點(diǎn)和子節(jié)點(diǎn)共現(xiàn)頻率。