DCG,即Discounted Cumulative Gain,是一种用于衡量搜索引擎质量的重要指标。搜索引擎通常采用逐条评级的方式进行评估,即对搜索结果进行Good(好)、Fair(一般)和Bad(差)的等级划分,并赋予相应的分值。例如,搜索5个结果,得分分别为3、2、1、3和2,等级越高,得分越高。
DCG的计算基于两个假设:首先,相关性越高的结果应该排在搜索结果的前面其次,等级高的结果优于等级低的。DCG是Cumulative Gain(CG)概念的扩展,CG简单来说是所有结果得分的总和,但不考虑位置。CG高只能说明结果页面总体质量,不能评价排序好坏。真正的排序优化需要DCG来衡量,它考虑了结果位置对得分的影响,对靠后但得分高的结果进行折扣。
DCG的计算公式考虑到结果的排名衰减效应,例如,排名越靠后,得分折扣越大。对于给定的搜索结果,如5个结果中有2个Good,分别位于第1和第40位,排在后面的Good得分会比排在前面的得分少。具体计算公式中,可能会使用以2为底的对数函数来模拟这种衰减。
为了解决不同查询结果数量对DCG值的影响,引入了nDCG(normalized DCG),即标准化的DCG。它通过IDCG(ideal DCG,理想DCG)来衡量,IDCG是人工理想排序下计算出的DCG值。例如,如果有搜索结果3 3 2 2 1的理想排序,IDCG为8.69。nDCG值通过DCG除以IDCG得出,值越接近1,说明排序越接近理想状态,存在优化空间。