目录
简介
论文标题:利用点击数据学习网页搜索中深层结构化语义模型
作者:Po-Sen Huang、Xiaodong He 等
单位:伊利诺伊大学厄巴纳-香槟分校、微软研究院
发表会议及时间:CIKM 2013
研究对象
作者解决的是搜索领域的,文本检索和候选文章的排序问题,即给定文本A,对文本BCD等进行相关性排序,将得分高的排序在前面。实质上还是文本匹配问题。DSSM之前,解决方法多为传统机器学习(LSA,LDA等),DSSM之后,解决方法多为深度学习。
举例:
输入文本1为查询Q:“文本匹配”
输入文本2-6为文档D:[“文本匹配算法”,“目标检测”,“傅里叶变换”, “爱因斯坦”,“电动牙刷”]
模型计算输出:
[0.8,0.07,0.04,0.06,0.03]
目标:
模型优化、迭代,再次遇到同一组Q、D,希望有输出 [0.9,0.04,0.02,0.03,0.01]
实现最大化匹配被点击过的文档的概率
研究背景
一、潜在语义分析模型(如LSA)本身的约束性,模型质量已达瓶颈。
二、互联网极速发展带来巨量的点击记录,LSA等更面临着模型存储的挑战。
三、词语不采用one-hot形式,而是映射至向量空间给模型的设计提供了新的思路。
论文工作总览
1. 由于基于关键词匹配的潜在语义模型(如LSA)经常失效
2. DSSM模型利用历史点击,给定查询和一组文档,对文档进行相同的深度语义向量表示,用cos衡量文档向量距离,用交叉熵计算真是label与距离的损失,反向传播更新模型,从而最大化匹配被点击过的文档的概率
3. 采用词哈希技术以便能应对大规模的网络搜索
4. 利用真实的网页排名数据做实验,结果显示DSSM明显优于其他模型
本研究意义
• 使得文本匹配进入了深度学习时代(引用量:964)
• 为解决实际工业信息检索问题提供了新的解决策略
论文详细解读
文本输入处理:词哈希
目的:将one-hot这种稀疏编码向量转换为更为稠密的编码向量
方法:将大小为n的窗口在词上进行移动切分,移动步长为1,即移动一步,切分出一个token,直到窗口走到词最后位置
举例:
单词:text
窗口:n=3
第一步,单词前后加#号:#text#
第二步,设置步长为1,大小为n的滑动窗口,记录每次滑过的单词切片
切分结果: #te,tex,ext,xt#
所有切分结果去重后就是词汇表vocabulary=[ #te,tex,ext,xt#, [UNK],[PAD]]
最后,text将表示为vocabulary维度大小的向量,如[1,1,1,1,0,0]
teach为[1,0,0,0,4,0]
哈希冲突
单词:ababba 和 abbaba Letter 3-gram结果均为:
[#ab, aba, bab, abb, bba, ba#]
转换为向量,因为词表与顺序无关,所以向量将是一样的
实质:词哈希等价于线性映射
优势:使得形态上相近的单词有相近的表达 有很强的鲁棒性,大幅度缓解OOV问题。
一句文本:text match
文本的one-hot编码:s=[0,0,,,,,0,1,0,,,,,0,1,0,,,,,0,0]
假设词表大小五十万,则 len(s)=500,000 且有 sum(s)=2
文本的letter 3-gram切片集合:{#te,tex,ext,xt#,#ma,#mat,atc,tch,ch#} 切片集合也可看做one-hot编码:sg=[0,1,,,,,1,1,0,,,,,1,1,0,,,,,0,1,0,,,,0,0,0] 假设3-gram切片数目统计为30612,则len(sg)=30612 且有 sum(sg)=9 每个3-gram切片均有唯一的向量表达,全部切片的向量表达累加后作为文本句子级别的特征向量。
模型结构:
设x为文本到词的onehot映射,如[1,0,0,1...] 1x500k
则第一层为将x降维到词hash维度,即l1=W1 x
实验代码
待完善