Some cliches.
从 Zhai and Lafferty (2004) 开始。给定文档 和 查询 ,使用 bag-of-words 表示法,首先考虑所谓的文档语言模型 (document language model):
接着考虑所谓的全局语言模型 (collection language model):
平滑 (smoothing) 是说,查询 在 的观测概率分布为:
是所谓的局部信息, 代表所谓的全局信息,两者通过一个参数 加权平均。取 就是 Dirichlet smoothing。
十五年以后再来看这个经典的方法,至少有以下问题需要解决:
- 使用的语言模型比较 straight-forward
- 全局信息的估计比较 straight-forward
- 结合局部和全局信息的方式比较 straight-forward
我曾经问某位同行,为什么他们的 neural ranking model 不使用“全局信息”,对方说因为这样做没有带来什么改进。很正常,这种模型一般都有成千上万个参数去拟合结果,所谓的“全局信息” 都体现在训练过程中参数值的变化上。这和 Bayesian 需要先验知识、无视训练集的想法完全不同。
按照这个方向,想要改进一个 entity retrieval model 就等价于改进一个 document retrieval model。没几个人会做这种吃力不讨好的事情。
所以接下来,对全局集合 做分解:
。
假定这些集合具有偏序关系 (paritial order),画出它们的哈斯图 (Hasse diagram)。于是 就可分解为不同的路径 (path) 组成的集合。 。对任意一条路径 ,重写 为如下形式 :
定义:
这就是一般化的 path-aware smoothing (PAS)。注意这里完全仅依靠对 collection 的偏序假设,没有利用到任何 knowledge graph 的信息,比如 type taxonomy 的结构。从表面的无序中寻找内在的结构,这是一个结构主义者 (structuralist) 的追求,也是结构平滑 (structure-aware smoothing) 的方法论。
FAQ:
A:为什么你的文章的结果和 DBpedia-entity v2 上面的正式结果不一样?
Q:1. 使用的 index 不同,预处理的方法不同,还有检索实现的方式不同。2. FSDM-CA 的参数取值覆盖了 SDM, MLM 和 LM 的情况,所以结果永远都是 FSDM-CA > MLM-CA > LM-CA,而我的模型的参数估计用的是 mapping-based probabilities (Hasibi et al. (2017)),所以它们的结果会好看一些。
A:FSDM-CA 和 FSDM + type (TAS/PAS) 哪个性能强?
Q:如果你愿意花费大量时间训练的话 (真的是”大量”… 反正我花了好几天都没有达到 DBpedia-entity v2 上面报告的结果) ,当然是 FSDM-CA 的结果比较好。然而,我写文章的目的是要说明 结构即先验 ,因此文章被组织成比较现有模型的性能,和它们加上这些先验知识以后的性能。事实上我的模型运行得相当快,而且性能理想。想看我打擂台的人请参考去年 EYRE 的结果。
A:你的结果有没有做过 evaluation?
Q:信则有,不信则永远无。事实上大部分对比数据的 P 值约等于 0,置信度 0.95,配对 t 检验。最难的是 FSDM 和 FSDM+type,因为使用 mapping-based probabilities 作为域的权重,这个模型不能像 FSDM-CA 那样靠覆盖特殊情况来轻松提高性能,需要花点时间调参数,这一组的 P 值在 0.02 左右。
A:这篇 blog post 怎么没用到 ?
Q:因为这几天我想怀旧一下。。。