日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【NLP-语义匹配】详解深度语义匹配模型DSSM

發布時間:2025/3/20 编程问答 47 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【NLP-语义匹配】详解深度语义匹配模型DSSM 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

所謂語義匹配,就是在語義上衡量文本的相似度,在產業界有很多的應用需求。例如,在FAQ場景中需要計算用戶輸入與標問之間的相似度來尋找合適的答案。本文介紹一種經典的語義匹配技術,DSSM,主要用于語料的召回和粗排。

作者&編輯 | 小Dream哥

1 DSSM的提出?

較早期的語義匹配模型都是基于關鍵詞的匹配,例如LSA等,無法匹配語義層面的信息。基于此,DSSM(Deep Structured Semantic Models)提出深度語義匹配模型,期望能夠在語義層面匹配query之間的相似性。

顧名思義,DSSM是一種用于語義相似度計算的深度網絡,我們來看看它的廬山真面目到底是怎么樣的。

2? 整體看結構

我們先來整體來看一下DSSM的網絡結構,以整體上對它有一個把握和感覺。如下圖所示,是DSSM的網絡架構圖:

論文原文:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf

整體上來看,DSSM網絡總共有6層:

1.第一層是輸入層,DSSM用的詞袋模型,后面再詳細介紹;

2.第二層經過word hashing,將維度由500K降為30K;

3.第三,四,五層是3個全連接層,通過這三個全連接層,進行語義特征的提取,并降維度降低到128維;

4.第六層為輸出層,計算Q和D之間的余弦相似度之后,輸出他們之間的相似度。

3 輸入層及word hashing??

DSSM的輸入層結合了詞哈希(word hashing)和語義匹配,我們在講詞向量的時候詳細介紹了詞袋模型,忘記的同學可以點擊如下鏈接先了解:

【NLP-詞向量】詞向量的由來及本質

總的來說詞袋模型就是把文本看成是一個裝著詞的袋子,記錄一個文本中,有這個詞幾個,那個詞幾個。前提到過,當詞典非常大時,用詞袋模型會造成維度災難。所以DSSM還引入了word hashing。

Word hashing主要目的是為了減少維度,在英文里,采用letter-ngams來對單詞進行切分,如下圖所示,加入采用letter-trigams來對詞進行切分,則boy這個詞可以切分為(#bo,boy,oy#)三個。按這個方法,再將上述詞袋里的進行轉化。因為英文只有26個字母,這樣可以極大的減少維度,如論文中所示將維度從500K轉化為30K。

也許反應快的同學很快就會問,英文可以這樣做,但是好像中文沒有辦法這樣處理呀?總不能按照偏旁來拆吧?當然不會按照偏旁來拆了,加入漢字部首偏旁特征的研究目前還不很成功。

那么中文怎么處理呢?其實很簡單,在單純的DSSM模型中,中文是按照“字袋模型”來處理的,參考詞袋模型,也就是將文本轉化成,有幾個某某字,有幾個某某字。因為中文字個數是有限的,常用的字大概有15K左右,因此這種做法不會有維度過大的問題。

4? 特征提取層和相似度計算

熟悉深度學習的朋友,應該很容易看明白DSSM的特征抽取層,其實就是3個全連接層串行的連接起來。看看數學:

可以看出,在DSSM中采用tanh作為激活函數。

通過計算各個Q及D的特征表征,得到了一些128維的特征向量。隨后在DSSM中,通過計算Q和D之間的余弦距離來評價他們之間相似度,計算公式如下圖所示:

5? DSSM的訓練

那么DSSM訓練的過程是怎么樣的呢?細心的同學會發現,DSSM網絡結構圖中,DSSM的輸入是一個Querry和一個文本集DD中包含正樣本和負樣本。

其中 r 為 softmax 的平滑因子,D 為 Query 下的正樣本,D 為 Query 下的整個樣本空間。

上述公式,計算一個樣本空間內正樣本的平滑概率,R(Q,D)為兩個文本之間余弦距離。

在訓練階段,通過極大似然估計,最小化損失函數為:

總結

DSSM的優點在于能夠快速的計算多個query和Doc對之間的語義相似度;相對于詞向量的方式,它采用有監督的方法,準確度要高很多。

但是DSSM也有它的缺點,首先,它采用詞袋模型,沒有考慮詞的位置關系,這對語義理解是一個大的損失;此外,采用弱監督、端到端的模型,預測結果不可控。

基于DSSM的上述特點,它最適合應用的場景就是召回和粗排。例如在FAQ中,因為標問會非常多,將標問和用戶輸入一一匹配時幾乎不可能的事情。通常的做法就是,首先基于ES和DSSM做一遍召回和粗排,得到一定數目的標問后再用精排模型得到答案。

除了使用它,更關鍵的是albert模型的實現和理論。我們會在知識星球討論相關的內容,感興趣的話可以掃描下面的二維碼了解。

讀者們可以留言,或者加入我們的NLP群進行討論。感興趣的同學可以微信搜索jen104,備注"加入有三AI NLP群"

下期預告:暫無

知識星球推薦

掃描上面的二維碼,就可以加入我們的星球,助你成長為一名合格的自然語言處理算法工程師。

知識星球主要有以下內容:

(1) 聊天機器人。包括對話系統,FAQ以及閑聊型機器人。

(2) 知識圖譜。介紹知識圖譜的理論和世紀搭建。

(3) NLP預訓練模型,包括BERT,ALBERT等模型的理論及實踐。

轉載文章請后臺聯系

侵權必究

往期精選

  • 【完結】 12篇文章帶你完全進入NLP領域,掌握核心技術

  • 【年終總結】2019年有三AI NLP做了什么,明年要做什么?

  • 【NLP-詞向量】詞向量的由來及本質

  • 【NLP-詞向量】從模型結構到損失函數詳解word2vec

  • 【NLP-NER】什么是命名實體識別?

  • 【NLP-NER】命名實體識別中最常用的兩種深度學習模型

  • 【NLP-NER】如何使用BERT來做命名實體識別

  • 【NLP-ChatBot】我們熟悉的聊天機器人都有哪幾類?

  • 【NLP-ChatBot】搜索引擎的最終形態之問答系統(FAQ)詳述

  • 【NLP-ChatBot】能干活的聊天機器人-對話系統概述

  • 【知識圖譜】人工智能技術最重要基礎設施之一,知識圖譜你該學習的東西

  • 【知識圖譜】知識表示:知識圖譜如何表示結構化的知識?

  • 【知識圖譜】如何構建知識體系:知識圖譜搭建的第一步

  • 【知識圖譜】獲取到知識后,如何進行存儲和便捷的檢索?

  • 【知識圖譜】知識推理,知識圖譜里最“人工智能”的一段

  • 【NLP實戰】tensorflow詞向量訓練實戰

  • 【NLP實戰系列】樸素貝葉斯文本分類實戰

  • 【NLP實戰系列】Tensorflow命名實體識別實戰

  • 【NLP實戰】如何基于Tensorflow搭建一個聊天機器人

  • 【NLP實戰】基于ALBERT的文本相似度計算

  • 【每周NLP論文推薦】從預訓練模型掌握NLP的基本發展脈絡

  • 【每周NLP論文推薦】 NLP中命名實體識別從機器學習到深度學習的代表性研究

  • 【每周NLP論文推薦】 介紹語義匹配中的經典文章

  • 【每周NLP論文推薦】 對話管理中的標志性論文介紹

  • 【每周NLP論文推薦】 開發聊天機器人必讀的重要論文

  • 【每周NLP論文推薦】 掌握實體關系抽取必讀的文章

  • 【每周NLP論文推薦】 生成式聊天機器人論文介紹

  • 【每周NLP論文推薦】 知識圖譜重要論文介紹

總結

以上是生活随笔為你收集整理的【NLP-语义匹配】详解深度语义匹配模型DSSM的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。