多样性问题(施工中)

问题起源

编程语言
咖啡
爪哇岛

  多样性问题,最早诞生于信息检索任务当中,因为在信息检索的过程中,可能输入的查询会存在多种意思。比如搜索java,可能会有不同类型的结果。它可以是一种编程语言、可以是咖啡也可以指爪哇岛。再比如两三年前我想在京东买一箱苹果,但是在搜索苹果之后出来的全是手机以及配件。面对这种检索词有歧义的情况多样性的结果列表能够较快的了解用户的真正目的。随着推荐系统的发展多样性也成为对推荐系统的重要评价指标之一。中多样行的提升一方面可以提升冷门项目特别是长尾项目的曝光率,另一方面也可以挖掘兴趣广泛用户的潜在兴趣点。

建模与度量

Individual Diversity:

  多样性的度量与建模一共有两种层面,第一种层面上的多样性是指个体的多样性,这是在衡量当前列表中物品的新颖程度,即该类型的物品,在之前的推荐列表中出现的次数较少。

1.Alpha-nDCG:

在保证新颖性的同时保证多样性。
Query-Topics Dictionary(每个query中所包含的topic):
{"85.1", "85.2", "85.3", "85.4", "85.5", "85.6"};

Doc-Topics Dictionary(每个文档中所包含的topic):
docDict["a"] = {"85.2", "85.4"};
docDict["b"] = {"85.2"};
docDict["c"] = {"85.2"};
docDict["d"] = {};
docDict["e"] = {"85.1", "85.6"};
docDict["f"] = {"85.1"};
docDict["g"] = {"85.3"};
docDict["h"] = {"85.1"};
docDict["i"] = {};
docDict["j"] = {};

Ranking Query-Doc Dictionary(关于某个query的文档排序)
{"a", "e", "g", "b", "f", "c", "h", "i", "j", "d"};

增益的计算方式:
G[k]=\sum_{m}^{i=1}J(d_{k},i)(1-\alpha )^{r_{i,k-1}}

新颖性:当前的话题之前出现过的次数ri,k-1
多样性:当前项目中是否包含query中的话题J(dk,i)

例子:
当前输入的query为{1,2,3,4,5}
当前的ranking dict为{ a,b,c }
docdict: a{1,2}
b{3,6,7}
c{3,4,5}

alpha-dcg:
a: ((1-α)0+(1-α)0)/log2(1+1);
b: ((1-α)0+0+0)/log2(1+2);
c: ((1-α)1+(1-α)0+(1-α)0)/log2(1+3);

ideal-dcg:
c: ((1-α)0+(1-α)0+(1-α)0)/log2(1+1);
a: ((1-α)0+(1-α)0)/log2(1+2);
b: ((1-α)1+0+0)/log2(1+3);
idcg的产生方式:

先选取序为0的样本,以此计算每个样本当前的增益,选取使当前位置增益最大的样本放在第一位。再从剩下的序中选取序为1的样本以此类推。

0: a:((1-α)0+(1-α)0)
b:((1-α)0+0+0)
c:((1-α)0+(1-α)0+(1-α)0)

whoisbest = "c";
bestvalue = (1-α)0+(1-α)0+(1-α)0);
doc_candidates.erase("c");
nDCG = DCG/iDCG

参考论文:novelty and diversity in information retrieval evaluation
链接:https://dl.acm.org/doi/10.1145/1390334.1390446

参考代码:alpha-ndcg-cpp
链接:https://github.com/Pabfigueira/alpha-NDCG-cpp/blob/master/alpha_nDCG.cpp

2.ILS(Intra List Similarity):根据推荐列表内文档对的相似程度来度量
Diversity(c_{1},...c_{n}) = \frac{\sum_{i=1...n}^{}\sum_{j=1...n}^{}(1-Similarity(c_{i},c_{j}))}{\frac{n}{2}*(n-1)}
Similarity(t,c) = \frac{\sum_{}^{i=i...n}w_{i}*sim_i(t_i,c_i)}{\sum_{}^{i=1...n}w_i}

对一个存在n个样本的列表而言有C(n,2) 一共n(n-1)/2个pair。

simi为第i项属性的相似程度,wi为各属性的权重

参考论文:Improving recommendation diversity

链接:http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.8.5232&rep=rep1&type=pdf
sim_{actor}(i_1,i_2) = \frac{\bigcap_{actors}}{\bigcup_{actors}}
参考论文:When Diversity Is Needed... But Not Expected!
链接:https://hal.inria.fr/hal-00931805/document

因相似度的评价方式而异,不同的评价方式可能会呈现出不同的结果。其中特征的各种距离也常被用来评价相似度。

参考论文:Improving recommendation lists through topic diversification
链接:https://dl.acm.org/doi/10.1145/1060745.1060754

Aggregate Diversity:

  而第二种层面的多样性算法是指,总体的多样性或者说是系统层面上的多样性。这个层面上的多样性可以看作是对个体的列表进行汇总而得到的一个结果,如果所有人的列表中包含的内容都是相似的那么系统多样性就较差,这种评价更加照顾在长尾中的物品。

  值得注意的是:虽然总体多样性是个体多样性汇总得到的结果,但是个体多样性的提升和总体多样性的提升并不是同步的,比如只从5个类里选热门的东西进行推荐,这样的个体多样性评价是很高的,但是总体多样性的评价却比较低。

  对总体多样性的评价方式而言主要有三种方式。首先是绝对长尾数值的评价方法,该方法利用在推荐系统中低于某个流行度排名的物品所被推荐的频次对物品的流行度进行评估。频次越高说明多样性越好,另一种对应的方式是,相对长尾数值的评价方法,该方法利用在推荐系统中低于某个流行度排名的物品在推荐系统中所占的比例,来评价,同理所占比例越高则证明多样性就越好。


洛伦兹曲线

  另一种方法是基于基尼系数的评价,该方法是把用在经济学领域的洛伦兹曲线用在了对推荐系统多样性的评价方式上,对物品所被推荐对频率在横轴上进行一个升序的排列,纵轴表示物品被推荐的概率分布,导数代表概率密度,曲线的弯曲程度越大说明后半段导数就越大,相对热门的物品被推荐的就过多。当曲线变成直线时,就说明每个位置上的物品被推荐出去的 可能性是相同的,这时在多样性的评价上是最好的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354