一、潜在语义分析(LSA)
可以了解下《统计学习方法》中的 潜在语义分析,有助于理解DSSM模型。
二、DSSM模型
DSSM(Deep Structured Semantic Models)也叫深度语义匹配模型。在2013年,是微软发表的一篇用于NLP邻域中的计算语义相似度任务的文章中。
2.1 DSSM模型的原理
原理: 与LSA模型的原理差不多,获取搜索引擎中的用户搜索query和doc的海量曝光和点击日志数据,训练阶段分别用复杂的深度学习网络构建query侧特征的query embedding和doc侧特征的doc embedding,线上infer时通过计算两个语义向量的cos距离来表示语义相似度,最终获得语义相似模型。这个相似度就我的理解是:若运用在推荐系统中(视频推荐),相似度表示用户(user=query)对这个视频(item=doc)的喜欢程度。
2.2 DSSM模型的结构
上图DSSM模型结构图主要分为三部分:1-输入层,2-表示层,3-匹配层。
1、输入层:
输入层主要的作用就是把文本映射到低维向量空间转化成向量提供给深度学习网络。例如:
将输入的文本进行切分,如:good —>(go,goo,ood,od)等例子,中文类似是将字进行切分。
2、表示层:
看上图2部分,并结合传统的DNN模型。
3、匹配层:
通过cos函数计算这两个向量的余弦相似度就可以了,公式如下:
参考文献
[1] Huang P, He X, Gao J, et al. Learning deep structured semantic models for web search using clickthrough data[C]. Conference on Information and Knowledge Management, 2013: 2333-2338.