5. 后记

介绍完了 DSSM 及其几个变种,还要给读者泼点冷水,DSSM 就必定适合全部的业务吗?

这里列出 DSSM 的 2 个缺点以供参考:

1. DSSM 是端到端的模型,虽然省去了人工特征转化、特征工程和特征组合,但端到端的模型有个问题就是效果不可控。对于一些要保证较高的准确率的场景,用有监督人工标注的 query 分类做为打底,再结合无监督的 word2vec、LDA 等进行语义特征的向量化,显然比较可控(至少 query 分类的准确率能够达到 95%以上)。

2. DSSM 是弱监督模型,由于引擎的点击曝光日志里 Query 和 Title 的语义信息比较弱。举个例子,搜索引擎第一页的信息每每都是 Query 的包含匹配,笔者统计过,彻底的语义匹配只有不到 2%。这就意味着几乎全部的标题里都包含用户 Query 里的关键词,而仅用点击和曝光就能做为正负样例的判断?显然不太靠谱,由于大部分的用户进行点击时越靠前的点击的几率越大,而引擎的排序又是由 pCTR、CVR、CPC 等多种因素决定的。从这种很是弱的信号里提取出语义的类似性或者差异,那就须要有海量的训练样本。DSSM 论文中提到,实验的训练样本超过 1 亿。笔者和同事也亲测过,用传统 CTR 预估模型千万级的样本量来训练,模型没法收敛。但是这样海量的训练样本,恐怕只有搜索引擎才有吧?普通的搜索业务 query 有上千万,可资源顶多只有几百万,像论文中说须要挑出点击和曝光置信度比较高且资源热度也比较高的做为训练样本,这样就过滤了 80%的长尾 query 和 Title 结果对,因此也只有搜索引擎才有这样的训练语料了吧。另外一方面,超过 1 亿的训练样本做为输入,用深度学习模型作训练,须要大型的 GPU 集群,这个对于不少业务来讲也是不具有的条件。