机器学习与NLP

论文阅读:DSSM

2020-03-14  本文已影响0人  filterc

论文地址:https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/cikm2013_DSSM_fullversion.pdf

DSSM的全称是Deep Semantic Similarity Model

要点:

1、特征表征部分

Word hashing layer

这一步是为了将不等长的输入词组转成等长的向量表示,常用的方法有很多种,比如最简单的按照词ngram做one-hot,或者按照词embedding做求和或平均。

DSSM用了字符的ngram,比如cat这个词的trigram就变成(词的开头和结尾用#表示)

cat → #cat# → #-c-a, c-a-t, a-t-#

这么做有以下几个好处

对于50万的单词表,bigram的候选集是1607,但是冲突率是0.2%;trigram的候选集是3万,冲突率只有0.004%

2、深度部分

中间是多层的深度网络,下面是论文里面的结构


image.png

3、目标函数部分

image.png

4、样本选取和指标评估

论文中数据集使用了搜索点击日志,query和点击的doc作为一组正样本,曝光不点击的doc作为负样本。

使用NDCG@k(1、3、10)评估的模型的效果。

附:

NDCG的计算方法

NDCG Normalized Discounted cumulative gain是一种常用的评价搜索或者推荐结果的指标,直觉的想法是相关度越高的项出现在越靠前的位置,指标的得分应该越高。

每一个候选项都有相关度和顺序两个变量,我们来一步一步拆解

(1)CG就是候选项相关度的求和,这就不考虑顺序的影响


image.png

(2)DCG对不同位置上的相关度进行加权,位置i的权重是1/log2(i+1)


image.png

还有另一种算法,可以强化相关度的作用


image.png

(3)由于不同搜索词对应p可能不同,需要增加归一化

归一化使用理想情况下最大的DCG,也就是完全按照相关度从大到小排序后计算一次DCG。

参考:

https://zhuanlan.zhihu.com/p/53326791

https://www.cnblogs.com/by-dream/p/9403984.html

上一篇 下一篇

猜你喜欢

热点阅读