一种图片的推荐方法、装置和系统
技术领域
本发明涉及通信技术领域,具体涉及一种图片的推荐方法、装置和系统。
背景技术
图片推荐,也称为图片的相关推荐,指的是基于当前用户观看的内容,向用户推荐相关的内容,例如,当前用户观看的图片是圣彼得大教堂,则可以在相关推荐的位置为用户推荐教堂或其他建筑相关的图片,等等。图片推荐,不仅有利于图片信息的推广,而且,也可以为用户提供更多可能感兴趣的潜在资源,便于用户作进一步搜索或获取,所以,在现有的信息推广等领域中,如何对图片进行推荐,对于改善信息推广方案的整体性能,有着较大的意义。
传统的图片推荐方法,一般都需要通过人工事先为每幅图片挖掘好相关图片,然后再对这些相关的图片进行推荐,这种方法不仅工作量大,处理效率较低,而且对于一些用户自行上传的图片,则无法进行相关推荐。为了提高处理效率,现有技术提出了另一种方法,该方法可以基于当前图片和图片池中图片的文本标签(tag),采用余弦方式计算图片之间的相关度,然后基于该相关度进行推荐。
在对现有技术的研究和实践过程中,本发明的发明人发现,采用余弦方式计算图片之间的相关度时,需要不同图片的标签处于相同标签空间,若两个标签文字上各异,即便是语义上相同,也会导致匹配失效,而现有的标签一般划分得都太细,因此,在进行余弦方式计算时,匹配率一般都较低,统计容易失效,大大影响图片推荐的效果。
发明内容
本发明实施例提供一种图片的推荐方法、装置和系统,可以提高匹配率,增强统计效果,从而改善图片推荐效果。
本发明实施例提供一种图片的推荐方法,包括:
获取当前图片的图片信息;
根据所述图片信息获取相应的聚合标签集合,所述聚合标签集合包括至少一个聚合标签,所述聚合标签由对语义相同、相近或相关的标签进行聚类而得到;
根据所述聚合标签集合选择图片,以生成推荐图片的候选池;
计算所述当前图片与候选池中各个图片的相似度;
将相似度超过预置条件的图片作为推荐图片,并推荐所述推荐图片。
相应的,本发明实施例还提供一种图片的推荐装置,包括:
信息获取单元,用于获取当前图片的图片信息;
集合获取单元,用于根据所述图片信息获取相应的聚合标签集合,所述聚合标签集合包括至少一个聚合标签,所述聚合标签由对语义相同、相近或相关的标签进行聚类而得到;
选择单元,用于根据所述聚合标签集合选择图片,以生成推荐图片的候选池;
计算单元,用于计算所述当前图片与候选池中各个图片的相似度;
推荐单元,用于将相似度超过预置条件的图片作为推荐图片,并推荐所述推荐图片。
此外的,本发明实施例还提供一种推荐系统,包括本发明实施例所提供的任一种图片的推荐装置。
本发明实施例采用将语义相同、相近或相关的标签进行聚类,得到聚合标签,然后,在需要进行图片推荐时,获取当前图片的图片信息,根据该图片信息获取相应的聚合标签集合,并根据该聚合标签集合选择图片,以生成候选池,然后,计算该当前图片与候选池中各个图片的相似度,并基于该相似度进行图片推荐,从而实现为用户推荐与当前图片相关的其他图片的目的;由于该方案可以对图片的原始标签进行语义抽象,并用抽象的语义来描述图片,从而建立图片与图片特征间的“泛”关系,以便在更抽象的层面建立图片间的相关性,并基于该相关性进行图片推荐,因此,可以将文字上各异,但是语义相同、相近或相关的标签都关联在一起,避免了现有技术中由于标签划分太细所导致的匹配率较低,统计效果差的问题,可以大大提高匹配率,增强统计效果,从整体上改善图片推荐的效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1a是本发明实施例提供的推荐系统的场景示意图;
图1b是本发明实施例提供的图片的推荐方法的流程图;
图2是本发明实施例提供的图片的推荐方法的另一流程图;
图3a是本发明实施例提供的图片的推荐装置的结构示意图;
图3b是本发明实施例提供的图片的推荐装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种图片的推荐方法、装置和系统。
参见图1a,该推荐系统可以包括服务器,其中,该服务器可以集成本发明实施例所提供的任一种图片的推荐装置,此外,该推荐系统还可以包括其他的设备,比如用户终端等。
其中,服务器可以将语义相同、相近或相关的标签进行聚类,得到聚合标签,并建立聚合标签与图片的映射关系,其中,一张图片可以对应有多个聚合标签,为了描述方便,可以将这多个聚合标签称为该图片的聚合标签集合。这样,当用户通过用户终端浏览或搜索某张图片时,则服务器可以获取该当前图片的图片信息,根据该图片信息获取相应的聚合标签集合,然后,根据该聚合标签集合选择图片,以生成推荐图片的候选池,并计算该当前图片与候选池中各个图片的相似度,再然后,便可以基于该相似度来进行图片的推荐,比如,可以将相似度超过预置条件的图片作为推荐图片,并推荐该推荐图片,等等。
以下将分别进行详细说明。
实施例一、
本实施例将从图片的推荐装置的角度进行描述,该图片的推荐装置具体可以集成在服务器等设备中。
一种图片的推荐方法,包括:获取当前图片的图片信息;根据该图片信息获取相应的聚合标签集合;根据该聚合标签集合选择图片,以生成推荐图片的候选池;计算该当前图片与候选池中各个图片的相似度;将相似度超过预置条件的图片作为推荐图片,并推荐该推荐图片。
如图1b所示,该图片的推荐方法的具体流程可以如下:
101、获取当前图片的图片信息。
例如,如果用户通过用户终端浏览、搜索或下载图片A时,则此时该图片的推荐装置便可以获取图片A的图片信息,等等。
其中,该图片信息可以包括该图片的名称和文本描述等,还可以包括该图片的大小、格式和/或图片源地址等信息。
102、根据该图片信息获取相应的聚合标签集合(topic)。
其中,该聚合标签集合包括至少一个聚合标签,该聚合标签由对语义相同、相近或相关的标签进行聚类而得到,即,该图片的推荐方法还可以包括如下步骤:
(1)获取各个图片的原始标签。
例如,具体可以收集各个图片的图片信息,从图片信息中获取对图片的文本描述,对该文本描述进行分词,以确定原始标签(tag)。
(2)基于语义模型,获取语义相同、相近或相关的原始标签,得到相近标签。
其中,该语义模型可以根据实际应用的需求进行设置,比如,可以为语义模型(LDA,word2vec)等。
(3)对该相近标签进行聚类,得到聚合标签(topic)。
其中,这里的聚合标签不一定有明确语义描述,而是对若干在语义上相同、相近或相关标签的一次聚类。需说明的是,一张图片可以属于多个聚合标签,并且,不同聚合标签的权重可以各异。
例如,早餐、牛奶、蛋糕和奶油等标签可以抽象为一个聚合标签A。若当前图片具有“牛奶”这样的兴趣的标签,则可以基于该聚合标签A的关联把包含“蛋糕”图片作为当前图片的相关推荐。
此外,在得到聚合标签之后,还可以建立聚合标签和各个图片的映射关系,比如建立该聚合标签到图片的倒排索引(inverted index),等等,以及,还可以记录包含聚合标签集合的图片顺排信息,即,在步骤“在对该相近标签进行聚类,得到聚合标签”之后,该图片的推荐方法还可以包括:
建立该聚合标签到各个相近标签所属图片的倒排索引;以及,
确定各个相近标签所属图片所对应的聚合标签,得到各个相近标签所属图片所对应的聚合标签集合,记录包含聚合标签集合的图片顺排信息。
其中,倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
而包含聚合标签集合的图片顺排信息,则指的是按照一定顺序进行排列的图片信息,其中,该图片信息包含有该图片对应的聚合标签集合。
需说明的是,若已经记录了图片顺排信息,则在执行步骤“根据该图片信息获取相应的聚合标签集合”时,便可以直接根据该当前图片的图片信息查询图片顺排信息,以获取当前图片的聚合标签集合。
103、根据该聚合标签集合选择图片,以生成推荐图片的候选池。
例如,可以从该聚合标签集合中依次获取聚合标签,并确定获取到的聚合标签的倒排索引,基于确定的倒排索引召回相应的图片,以生成推荐图片的候选池。
104、计算该当前图片与候选池中各个图片的相似度。
其中,计算相似度的方式可以有多种,比如,具体可以采用余弦方式计算该当前图片与候选池中各个图片的相似度,即计算该当前图片与候选池中各个图片的余弦相似度,等等。
由于图片均被抽象为聚合标签权重向量,因此,此时可以基于两幅图片的聚合标签向量便可计算其余弦相似度。由于聚合标签数目较原始标签的个数少很多,因此聚合标签是稠密的,余弦相似度具有较强的统计意义。
105、将相似度超过预置条件的图片作为推荐图片,并推荐该推荐图片。
例如,具体可以根据相似度的高低对图片进行排序,根据排序将相似度最高的N张图片作为推荐图片。
其中,N为预置的推荐图片数量,比如,如果允许推荐的图片数量为10张,则N=10,而如果允许推荐的图片数量为5张,则N=5,等等。
由上可知,本实施例采用将语义相同、相近或相关的标签进行聚类,得到聚合标签,然后,在需要进行图片推荐时,获取当前图片的图片信息,根据该图片信息获取相应的聚合标签集合,并根据该聚合标签集合选择图片,以生成候选池,然后,计算该当前图片与候选池中各个图片的相似度,并基于该相似度进行图片推荐,从而实现为用户推荐与当前图片相关的其他图片的目的;由于该方案可以对图片的原始标签进行语义抽象,并用抽象的语义来描述图片,从而建立图片与图片特征间的“泛”关系,以便在更抽象的层面建立图片间的相关性,并基于该相关性进行图片推荐,因此,可以将文字上各异,但是语义相同、相近或相关的标签都关联在一起,避免了现有技术中由于标签划分太细所导致的匹配率较低,统计效果差的问题,可以大大提高匹配率,增强统计效果,从整体上改善图片推荐的效果,提高用户体验。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该图片的推荐装置具体集成在服务器中为例进行说明。
如图2所示,一种图片的推荐方法,具体流程可以如下:
201、服务器获取各个图片的原始标签。
例如,具体可以收集各个图片的图片信息,从图片信息中获取对图片的文本描述,对该文本描述进行分词,以确定原始标签(tag)。
比如,可以从“詹姆斯助攻,本场投篮全中”这段文字中抽象出“篮球,NBA”等语义标识。
202、服务器基于语义模型,获取语义相同、相近或相关的原始标签,得到相近标签。
其中,该语义模型可以根据实际应用的需求进行设置,比如,可以为语义模型(LDA,word2vec)等。
例如,虽然“高校”和“学府”这两个标签的文字各异,但是其语义却是相近的,因此,可以确定“高校”和“学府”为相近标签,等等。
203、服务器对该相近标签进行聚类,得到聚合标签。
其中,这里的聚合标签不一定有明确语义描述,而是对若干在语义上相同、相近或相关标签的一次聚类。需说明的是,一张图片可以属于多个聚合标签,并且,不同聚合标签的权重可以各异。
例如,早餐、牛奶、蛋糕和奶油等标签可以抽象为一个聚合标签A。若当前图片具有“牛奶”这样的兴趣的标签,则可以基于该聚合标签A的关联把包含“蛋糕”图片作为当前图片的相关推荐。
204、服务器建立该聚合标签到各个相近标签所属图片的倒排索引;以及,确定各个相近标签所属图片所对应的聚合标签,得到各个相近标签所属图片所对应的聚合标签集合,记录包含聚合标签集合的图片顺排信息。
需说明的是,一张图片可以属于多个聚合标签,并且,不同聚合标签的权重可以各异,权重越重,则表示相关性越强。
比如,以“牛奶”图片为例,若聚合标签A是由“牛奶”、“蛋糕”、“早餐”和“奶油”等标签聚类而成的,而聚合标签B是由“牛奶”、“牛”、“羊”和“马”等标签聚类而成的,则可以得知,该“牛奶”图片既可以属于聚合标签A,也可以属于聚合标签B,并且,还可以计算出各个聚合标签的权重,比如聚合标签A的权重为0.6,聚合标签B的权重为0.3,等等。则此时可以得出:
“牛奶”图片对应的聚合标签集合包括聚合标签A和聚合标签B,其中,聚合标签A的权重为0.6,聚合标签B的权重为0.3。
因为聚合标签A的权重为0.6,聚合标签B的权重为0.3,因此,表明聚合标签B对应的图片,相对于聚合标签A对应的图片而言,与“牛奶”图片的相关性要稍微弱一些。
此后,若需要对当前图片进行相关推荐时,则可以执行步骤205~209,如下:
205、服务器获取当前图片的图片信息。
例如,当用户通过用户终端浏览、搜索或下载图片A时,则服务器便可以获取图片A的图片信息,等等。
其中,该图片信息可以包括该图片的名称和文本描述等,还可以包括该图片的大小、格式和/或图片源地址等信息。
206、服务器根据该当前图片的图片信息查询图片顺排信息,以获取当前图片的聚合标签集合。
例如,还是以步骤204中例子为例,如果当前图片是关于“牛奶”的图片,而服务器可以根据该“牛奶”图片的图片信息查询图片顺排信息,得到该“牛奶”图片的聚合标签集合,其中,该聚合标签集合可以包括聚合标签A和聚合标签B,且聚合标签A的权重为0.6,聚合标签B的权重为0.3。
207、服务器从该聚合标签集合中依次获取聚合标签,并确定获取到的聚合标签的倒排索引,基于确定的倒排索引召回相应的图片,以生成推荐图片的候选池。
例如,还是以关于“牛奶”的图片为例,则具体可以根据聚合标签A的倒排索引,召回相应的图片,比如获取“蛋糕”、“奶油”和“早餐”等相关的图片,并将这些图片加入到推荐图片的候选池中;同理,还可以根据聚合标签B的倒排索引,召回相应的图片,比如“牛”、“羊”和“马”等相关的图片,并将这些图片加入到推荐图片的候选池中。
208、服务器计算该当前图片与候选池中各个图片的余弦相似度。
209、服务器根据相似度的高低对图片进行排序,并基于该排序推荐图片。
例如,可以根据排序将相似度最高的N张图片作为推荐图片,并推荐该推荐图片。
其中,N为预置的推荐图片数量,比如,如果允许推荐的图片数量为10张,则N=10,而如果允许推荐的图片数量为5张,则N=5,等等。
由上可知,本实施例采用将语义相同、相近或相关的标签进行聚类,得到聚合标签,然后,在需要进行图片推荐时,获取当前图片的图片信息,根据该图片信息获取相应的聚合标签集合,并根据该聚合标签集合选择图片,以生成候选池,然后,计算该当前图片与候选池中各个图片的相似度,并基于该相似度进行图片推荐,从而实现为用户推荐与当前图片相关的其他图片的目的;由于该方案可以对图片的原始标签进行语义抽象,并用抽象的语义来描述图片,从而建立图片与图片特征间的“泛”关系,以便在更抽象的层面建立图片间的相关性,并基于该相关性进行图片推荐,因此,可以将文字上各异,但是语义相同、相近或相关的标签都关联在一起,避免了现有技术中由于标签划分太细所导致的匹配率较低,统计效果差的问题,可以大大提高匹配率,增强统计效果,从整体上改善图片推荐的效果,提高用户体验。
实施例三、
为了更好地实施以上方法,本发明实施例还提供一种图片的推荐装置,如图3a所示,该图片的推荐装置可以包括信息获取单元301、集合获取单元302、选择单元303、计算单元304和推荐单元305,如下:
信息获取单元301,用于获取当前图片的图片信息。
其中,该图片信息可以包括该图片的名称和文本描述等,还可以包括该图片的大小、格式和/或图片源地址等信息。
集合获取单元302,用于根据该图片信息获取相应的聚合标签集合。
选择单元303,用于根据该聚合标签集合选择图片,以生成推荐图片的候选池;
计算单元304,用于计算该当前图片与候选池中各个图片的相似度。
其中,计算相似度的方式可以有多种,例如,计算单元304具体可以用于采用余弦方式计算该当前图片与候选池中各个图片的相似度。
推荐单元305,用于将相似度超过预置条件的图片作为推荐图片,并推荐该推荐图片。
例如,推荐单元305,具体可以用于根据相似度的高低对图片进行排序;根据排序将相似度最高的N张图片作为推荐图片。
其中,N为预置的推荐图片数量,比如,如果允许推荐的图片数量为10张,则N=10,而如果允许推荐的图片数量为5张,则N=5,等等。
其中,该聚合标签集合包括至少一个聚合标签,该聚合标签由对语义相同、相近或相关的标签进行聚类而得到,即如图3b所示,该图片的推荐装置还可以包括收集单元306和聚合单元307,如下:
收集单元306,用于获取各个图片的原始标签。
例如,该收集单元,用于收集各个图片的图片信息;从图片信息中获取对图片的文本描述;对该文本描述进行分词,以确定原始标签。
聚合单元307,用于基于语义模型,获取语义相同、相近或相关的原始标签,得到相近标签;对该相近标签进行聚类,得到聚合标签。
其中,该语义模型可以根据实际应用的需求进行设置,比如,可以为语义模型(LDA,word2vec)等。
其中,这里的聚合标签不一定有明确语义描述,而是对若干在语义上相同、相近或相关标签的一次聚类。需说明的是,一张图片可以属于多个聚合标签,并且,不同聚合标签的权重可以各异。
此外,在得到聚合标签之后,还可以建立聚合标签和各个图片的映射关系,比如建立该聚合标签到图片的倒排索引(inverted index),等等,以及,还可以记录包含聚合标签集合的图片顺排信息,即如图3b所示,该图片的推荐装置还可以包括建立单元308和记录单元309,如下:
建立单元308,可以用于建立该聚合标签到各个相近标签所属图片的倒排索引。
记录单元309,可以用于确定各个相近标签所属图片所对应的聚合标签,得到各个相近标签所属图片所对应的聚合标签集合,记录包含聚合标签集合的图片顺排信息。
则此时,集合获取单元302,具体可以用于根据该当前图片的图片信息查询图片顺排信息,以获取当前图片的聚合标签集合。
选择单元303,具体可以用于从该聚合标签集合中依次获取聚合标签,并确定获取到的聚合标签的倒排索引;基于确定的倒排索引召回相应的图片,以生成推荐图片的候选池。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
由上可知,本实施例的图片的推荐装置的聚合单元307可以将语义相同、相近或相关的标签进行聚类,得到聚合标签,然后,在需要进行图片推荐时,由信息获取单元301获取当前图片的图片信息,并由集合获取单元302根据该图片信息获取相应的聚合标签集合,然后由选择单元303根据该聚合标签集合选择图片,以生成候选池,然后,由计算单元304计算该当前图片与候选池中各个图片的相似度,并由推荐单元305基于该相似度进行图片推荐,从而实现为用户推荐与当前图片相关的其他图片的目的;由于该方案可以对图片的原始标签进行语义抽象,并用抽象的语义来描述图片,从而建立图片与图片特征间的“泛”关系,以便在更抽象的层面建立图片间的相关性,并基于该相关性进行图片推荐,因此,可以将文字上各异,但是语义相同、相近或相关的标签都关联在一起,避免了现有技术中由于标签划分太细所导致的匹配率较低,统计效果差的问题,可以大大提高匹配率,增强统计效果,从整体上改善图片推荐的效果,提高用户体验。
实施例四、
此外,本发明实施例还提供一种推荐系统,包括本发明实施例提供的任一种图片的推荐装置,具体可参见实施例三,其中,该图片的推荐装置可以集成在服务器等设备中,例如,可以如下:
服务器,用于获取当前图片的图片信息;根据该图片信息获取相应的聚合标签集合;根据该聚合标签集合选择图片,以生成推荐图片的候选池;计算该当前图片与候选池中各个图片的相似度;将相似度超过预置条件的图片作为推荐图片,并推荐该推荐图片。
其中,该聚合标签集合包括至少一个聚合标签,该聚合标签由对语义相同、相近或相关的标签进行聚类而得到,即:
服务器,还可以用于获取各个图片的原始标签,比如,具体可以收集各个图片的图片信息,从图片信息中获取对图片的文本描述,对该文本描述进行分词,以确定原始标签,然后,基于语义模型,获取语义相同、相近或相关的原始标签,得到相近标签,对该相近标签进行聚类,得到聚合标签。
其中,这里的聚合标签不一定有明确语义描述,而是对若干在语义上相同、相近或相关标签的一次聚类。需说明的是,一张图片可以属于多个聚合标签,并且,不同聚合标签的权重可以各异。
此外,在得到聚合标签之后,服务器还可以建立聚合标签和各个图片的映射关系,比如建立该聚合标签到图片的倒排索引(inverted index),等等,以及,还可以记录包含聚合标签集合的图片顺排信息,具体可参见前面的实施例,在此不再赘述。
此外,可选的,该推荐系统还可以包括其他的设备,比如,还可以包括用户终端,该用户终端,用于接收该服务器推荐的图片等。
以上各个设备的具体操作可参见前面的实施例,在此不再赘述。
由上可知,本实施例的推荐系统中的服务器可以将语义相同、相近或相关的标签进行聚类,得到聚合标签,然后,在需要进行图片推荐时,获取当前图片的图片信息,根据该图片信息获取相应的聚合标签集合,并根据该聚合标签集合选择图片,以生成候选池,然后,计算该当前图片与候选池中各个图片的相似度,并基于该相似度进行图片推荐,从而实现为用户推荐与当前图片相关的其他图片的目的;由于该方案可以对图片的原始标签进行语义抽象,并用抽象的语义来描述图片,从而建立图片与图片特征间的“泛”关系,以便在更抽象的层面建立图片间的相关性,并基于该相关性进行图片推荐,因此,可以将文字上各异,但是语义相同、相近或相关的标签都关联在一起,避免了现有技术中由于标签划分太细所导致的匹配率较低,统计效果差的问题,可以大大提高匹配率,增强统计效果,从整体上改善图片推荐的效果,提高用户体验。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种图片的推荐方法、装置和系统进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。