4. 文本相似度計算-CNN-DSSM算法


1. 文本相似度計算-文本向量化

2. 文本相似度計算-距離的度量

3. 文本相似度計算-DSSM算法

4. 文本相似度計算-CNN-DSSM算法

1. 前言

之前介紹了DSSM算法,它主要是用了DNN的結構來對數據進行降維度,本文用CNN的結構對數據進行降維。

2. CNN-DSSM

CNN-DSSM在DSSM的基礎上改進了數據的預處理和深度

2.1 CNN-DSSM架構

CNN-DSSM的架構圖如下:

image

輸入:\(Query\)是代表用戶輸入,\(document\)是數據庫中的文檔。

  • word-n-gram層:是對輸入做了一個獲取上下文信息的窗口,圖中是word-trigram,取連續的3個單詞。
  • Letter-trigram:是把上層的三個單詞通過3個字母的形式映射到3w維,然后把3個單詞連接起來成9w維的空間。
  • Convolutional layer:是通過Letter-trigram層乘上卷積矩陣獲得,是普通的卷積操作。
  • Max-pooling:是把卷積結果經過池化操作。
  • Semantic layer:是語義層,是池化層經過全連接得到的。

獲得128維的語義后就可以計算文本之間的相似度了,計算相似度的過程和DNN-DSSM的過程是一樣的。可以發現CNN-DSSM和DNN-DSSM基本流程是差不多的,就是用卷積和池化的操作代替了DNN的操作。

2.2 優缺點

  • 優點:CNN-DSSM 通過卷積層提取了滑動窗口下的上下文信息,又通過池化層提取了全局的上下文信息,上下文信息得到較為有效的保留。

  • 缺點:CNN-DSSM 滑動窗口(卷積核)大小的限制,導致無法捕獲該上下文信息,對於間隔較遠的上下文信息,難以有效保留。

3. 總結

CNN-DSSM的結構可分為數據預處理(把文本向量化),在經過深度神經網絡,壓縮矩陣,最后拿壓縮后的矩陣進行相似度計算。和DNN-DSSM相比主要的變化在深度神經網絡這一層的處理方式,舉一反三那肯定也還有通過RNN來處理數據的過程,RNN-DSSM后面會載講解。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM