使用Knowledge Base实现跨领域的推荐

跨领域的英文叫法是Cross Domain。 除了文本信息,如今网络出现了越来越多的多媒体信息:图片分享,视频网站,在线音乐网站等等。这给像百度这样的广告中介带来的了问题:因为上下文广告推荐的思想是广告与用户当前浏览的页面越相关,其点击率越高。而传统的文本技术无法判断多媒体与广告的相关性。这篇文章介绍[2]提出的使用knowledge base来做图片与文字间跨领域推荐的方法,以及一个通用的跨领域推荐模型。


图片与文字间跨领域推荐


在传统上下文广告推荐领域,主要有两种方法:页面->关键字<-广告;页面->类别<-广告。传统基于文字的上下文广告推荐所用的方法是从页面中提取关键字(如使用tf-idf),然后使用这个关键字去检索相应的广告。但是在[2]中,作者指出只使用关键字匹配忽略了语义上的信息,比如提出去一个关键字“虎”,使用这个关键字检索到的广告里,你是要使用“虎皮大衣”呢?还是“虎牌追风膏”?同时作者还指出,检索出来的关键字可能没有任何匹配的广告(因为是基于关键字匹配)。


于是有人就引入类别(taxonomy)信息:方法是先将页面和广告都归到一个分类体系中,如“服饰”,“食品”等。然后再将页面和广告映射到层级结构的分类目录上,进而比对他们类别上的相似度:比如计算两个节点到它们最近公共祖先节点的最长路径。


进一步,[4]提出使用Wikipedia中的文章作为中间层,让广告和页面共同映射到这一层,进而判断他们的相似度。但是该文章没有考虑中间层中的节点的内在联系:事实上,推荐紧密相关,但不identical的item也是非常合理的。[2]提到还有为提高效率的summary-based方法…


现在,[2]要在两个完全不同的domain间做推荐,于是他们提出将图片和广告分别映射到knowledge base中。 文中使用了3个knowledge bases: Wikipedia,ImageNet/WordNet,YAGO。

Wikipedia是一个由公众协同编辑的百科全书。 
WordNet 是一个大的词库。其中,名词,动词,形容词和副词都按概念分组,类似的词组成一个group。因此,WordNet由很多synsets(同义词集合)组成。一个Synsets可看成一个节点,节点之间又根据语义或者词上的关系链接起来:比如反义关系,上位关系,下位关系,隶属关系。WordNet使用hypernym(上位关系)来构建节点间的层级结构。
ImageNet 是一个根据WordNet(目前只使用名词)层级结构组织的图数据库。其中,每个节点也是由成百上千的图片组成。目前,数据库中每个节点平均有500张图片。
YAGO2s 是一个原子Wikipedia,WordNet和GeoNames的巨大知识库。目前包含1000w+个的entities和12000w+条的facts。


要利用knowledge base,就要将推荐涉及到的对象都映射到knowledge base中。
①映射广告到Wikipedia:Wikipeidia中的文章表示成tf-idf,广告看成关键字的集合。对于每一个广告,算出关联度后,取前3个关联值最大的文章,记为O_a
②映射图片到ImageNet:由于ImageNet中一个节点对应成百上千的图片,作者使用“node-level centroid based” similarity function 计算出与目标图片i最相近的k个节点(图片采用PCA降维)。文中选取与i最相似的7个节点,记为O_i。每个节点分别向树根回溯,以使用祖先节点辅助计算相似度。路径上节点的相似度采用geometric mean结合起来。使用geometric的效果相当于同时feature scaling:不会出现某一个节点dominate相似度计算的情况。 最后,这个centroid具体如何选取作者并没有提及。
③两个knowledge的连接。[2]指出YAGO给每一个Wikipedia节点赋予一个类别标签。而这个标签又建立自WordNet。

语义网络建立完毕后,大概是这个样子:

from [2]

接下来作者提出两种方法计算图片-广告对的相似度:

①LOD Description Overlap。 LODDO定义成LOD中两个节点有多少Neighbour是相同。计算O_a和O_i形成的所有(article——node)对的LODDO,加和后作为对应广告和图片的相似度。不过,LODDO中的Neighbour定义是可变的:直接相连,或者相距一定距离内。 

②Hierarchy-based Matching。由于YAGO为Wikipedia和WordNet提供了一套共享的分类目录。因此可以将O_a和O_i中的节点映射到YAGO的分类目中,如后使用找最近公共祖先节点的方法求相似度。


最后一点细节,作者使用Lucene为Wikipeida中的文章计算倒排索引。其他的细节,请参见文章。


通用的跨领域推荐模型


[30]则提出一个通用的跨领域推荐框架。文中使用的例子是根据POI(Point Of Interest,地点)推荐音乐作家。整个框架分成3步:①选出对应领域在DBpedia中的Class以及property 。②为待推荐的物品构建语义网络。除了Knowledge Base,作者还引入了情感标签和Lastfm的音乐风格标签。③在这个网络上进行权值的计算,得到推荐。

整个推荐系统分成线上和线下两个部分:线下的负责从DBpedia中查询相关领域的Entity和property,并存到关系型数据库中;线上部分每获取一个待推荐物品i,就从数据库中取出相关的entity和property,并构建出i到待推荐领域的语义网络。


该模型的缺点有三:①不能实现个性化推荐 ②class和property需要人工筛选 ③权值的定义太粗略、计算复杂度太高。

不过,该模型所构建的语义网络结构是值得借鉴的。总体上由City,Date(extracted from entities’ English abstracts ), Architecture Category,,Tag, Music Genre, Music Category这几类节点组成。 示意图如下(根据POI推荐Artist):




[2] A Semantic Approach to Recommending Text Advertisements for Images
[4] A Wikipedia Matching Approach to Contextual Advertising
[30]  A Generic Semantic-based Framework for Cross-domain

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值