一种信息的推荐方法、装置及设备
技术领域
本说明书涉及计算机技术领域,尤其涉及一种信息的推荐方法、装置及设备。
背景技术
现在人们几乎每天都会接收到各种各样的推荐信息,从新闻类、购物类到餐饮类和娱乐类等,推荐的信息都是由推荐系统完成的,推荐系统作为一种信息过滤的重要手段,可以依据用户的习惯和爱好等,为该用户推荐合适的服务。
随着互联网技术和产业的迅速发展,接入互联网的服务器数量和网页数量也呈指数级上升,面对海量的信息,用户通过传统的搜索算法只能呈现相同的物品排序结果,无法针对不同用户的兴趣爱好等提供相应的服务。上述推荐系统只使用用户和物品的历史交互信息,而对于新用户或者新物品,由于推荐系统中不存在与两者相关的历史交互信息,因此,无法进行准确地信息推荐。因此,需要提供一种推荐准确度更高的信息推荐机制。
发明内容
本说明书实施例的目的是提供一种信息的推荐方法、装置及设备,以提供一种推荐准确度更高的信息推荐机制。
为了实现上述技术方案,本说明书实施例是这样实现的:
本说明书实施例提供的一种信息的推荐方法,所述方法包括:
获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息;
基于所述实体信息和所述关联关系信息,构建知识图谱,所述知识图谱中包括由所述实体信息对应的实体节点和所述关联关系信息对应的实体节点之间的关联关系;
对所述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息。
可选地,所述获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息,包括:
通过命名实体识别NER和/或预定的关键词提取规则,对所述待推荐信息中包含的实体信息进行提取和识别,并从所述待推荐信息中获取所述实体信息对应的实体之间的关联关系信息。
可选地,所述基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息,包括:
将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值;
将所述待推荐信息中所述预测值大于预定阈值的信息推荐给所述用户。
可选地,所述将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值,包括:
基于所述待推荐信息对应的特征、所述目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的所述待推荐信息对应的特征和交叉处理后的所述目标实体节点采样后的特征;
根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵;
根据所述待推荐信息对应的特征矩阵、所述用户的历史点击矩阵、交叉处理后的所述目标实体节点采样后的特征,确定所述用户对应的特征矩阵;
基于所述待推荐信息对应的特征矩阵和所述用户对应的特征矩阵,确定所述用户对所述待推荐信息的偏好的预测值。
可选地,所述根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵,包括:
将所述交叉处理后的所述待推荐信息对应的特征输入到预定的神经网络模型中,得到所述待推荐信息对应的特征矩阵。
可选地,所述待推荐信息由半结构化数据构成,或所述待推荐信息由非结构化数据构成。
可选地,所述待推荐信息为与预定的一项保险或多项不同保险相关的资讯信息。
本说明书实施例提供的一种信息的推荐装置,所述装置包括:
信息获取模块,用于获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息;
知识图谱构建模块,用于基于所述实体信息和所述关联关系信息,构建知识图谱,所述知识图谱中包括由所述实体信息对应的实体节点和所述关联关系信息对应的实体节点之间的关联关系;
推荐模块,用于对所述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息。
可选地,所述信息获取模块,用于通过命名实体识别NER和/或预定的关键词提取规则,对所述待推荐信息中包含的实体信息进行提取和识别,并从所述待推荐信息中获取所述实体信息对应的实体之间的关联关系信息。
可选地,所述推荐模块,包括:
预测单元,用于将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值;
推荐单元,用于将所述待推荐信息中所述预测值大于预定阈值的信息推荐给所述用户。
可选地,所述预测单元,用于:
基于所述待推荐信息对应的特征、所述目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的所述待推荐信息对应的特征和交叉处理后的所述目标实体节点采样后的特征;
根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵;
根据所述待推荐信息对应的特征矩阵、所述用户的历史点击矩阵、交叉处理后的所述目标实体节点采样后的特征,确定所述用户对应的特征矩阵;
基于所述待推荐信息对应的特征矩阵和所述用户对应的特征矩阵,确定所述用户对所述待推荐信息的偏好的预测值。
本说明书实施例提供的一种信息的推荐设备,所述信息的推荐设备包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器:
获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息;
基于所述实体信息和所述关联关系信息,构建知识图谱,所述知识图谱中包括由所述实体信息对应的实体节点和所述关联关系信息对应的实体节点之间的关联关系;
对所述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息。
由以上本说明书实施例提供的技术方案可见,本说明书实施例通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一种信息的推荐方法实施例;
图2为本说明书一种知识图谱的示意图;
图3为本说明书另一种信息的推荐方法实施例;
图4为本说明书一种交叉处理的示意图;
图5为本说明书一种信息的推荐处理过程是示意图;
图6为本说明书又一种信息的推荐方法实施例;
图7为本说明书一种信息的推荐装置实施例;
图8为本说明书一种信息的推荐设备实施例。
具体实施方式
本说明书实施例提供一种信息的推荐方法、装置及设备。
为了使本技术领域的人员更好地理解本说明书中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本说明书保护的范围。
实施例一
如图1所示,本说明书实施例提供一种信息的推荐方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群。该服务器可以是某种或多种业务(如保险业务、金融业务或广告业务等)的后台服务器,或者,也可以是某金融类应用或购物类应用等的后台服务器。该方法可以用于在信息推荐过程中。该方法具体可以包括以下步骤:
在步骤S102中,获取待推荐信息中包含的实体信息和该实体信息对应的实体之间的关联关系信息。
其中,待推荐信息可以包括待推荐的信息,也可以包括与待推荐的信息相关的信息,例如待推荐的信息为与保险相关的资讯信息,待推荐信息中不仅可以包括该资讯信息,也可以包括不同保险产品的信息,例如保险产品的名称或属性等。实体信息可以是指具有可区别性且独立存在的某种事物的相关信息,而实体即可以为具有可区别性且独立存在的某种事物,例如,某一个人、某一个城市、某一种植物或某一种商品等。在实际应用中,实体可以包括多种类型,例如,针对保险来说,实体可以包括:产品类实体、疾病类实体、内容类目实体、地域类实体等,其中,交易类实体可以包括如“多收多保”、“好医保”、“相互宝”等,疾病类实体可以包括如“传染病”、“高血糖”、“高钠血症”等,交易类实体可以包括如“回报率”、“回执单”等,内容类目实体可以包括如“餐饮”、“水果商超”、“小商贩”等,地域类实体可以包括如“黄浦区”、“长三角”等。实体是知识图谱中最基本的元素,不同的实体间存在不同的关联关系,该关联关系可以是形式化为一个函数,该关联关系可以将k个点映射到一个布尔值,在知识图谱上,关联关系则是一个把k个图节点(即实体)映射到布尔值的函数,具体可以如关键词关系、类目关系、质量分关系、发布时间关系、公众号关系等。其中的知识图谱可以是一种基于图的数据结构,可以由节点和边组成,在知识图谱中,每个节点可以表示实际存在的“实体”,每条边为实体与实体之间的“关联关系”,知识图谱是关联关系的有效表示方式,也即是知识图谱是把所有不同种类的信息连接在一起而得到的一个关系网络。
在实施中,现在人们几乎每天都会接收到各种各样的推荐信息,从新闻类、购物类到餐饮类和娱乐类等,推荐的信息都是由推荐系统完成的,推荐系统作为一种信息过滤的重要手段,可以依据用户的习惯和爱好等,为该用户推荐合适的服务。
随着互联网技术和产业的迅速发展,接入互联网的服务器数量和网页数量也呈指数级上升,面对海量的信息,用户通过传统的搜索算法只能呈现相同的物品排序结果,无法针对不同用户的兴趣爱好等提供相应的服务。按照预测对象的不同,推荐系统一般可以分成两类:一类是评分预测,例如在电影类应用中,推荐系统需要预测用户对某电影的评分,并以此为依据推送该用户可能喜欢的电影等,此场景下用户反馈的信息在一定程度上表达了用户的喜好程度,该信息也可以称为显式反馈;另一类是点击率预测,例如,在新闻类应用中,推荐系统需要预测用户点击某新闻的概率来优化推荐方案,该场景下用户的反馈信息只能表达该用户的行为特征(即点击或未点击),而不能反映用户的喜好程度,该信息也可以称为隐式反馈等。
上述推荐系统只使用用户和物品的历史交互信息(即上述显式反馈或隐式反馈)作为输入,这样可能会存在以下问题:一方面,用户和物品的交互信息往往是非常稀疏的,例如,一个电影类应用中可能聚集了上万部电影,然而,用户打过分的电影可能不超过百部,使用如此少量的历史交互信息来预测大量的未知信息,会极大地增加算法的过拟合风险;另一方面,对于新用户或者新物品,由于推荐系统中不存在与两者相关的历史交互信息,因此,无法进行准确地信息推荐。解决上述稀疏性和推荐准确度问题的一种方式是在推荐算法中额外引入辅助信息作为输入,辅助信息可以丰富对用户和物品的描述、增强推荐算法的挖掘能力,从而有效地弥补交互信息的稀疏或缺失。辅助信息可以包括多种,例如用户的属性信息、物品的属性信息、社交网络信息和多媒体信息(如图像、视频、音频和文本信息等)。在各种辅助信息中,知识图谱作为一种新兴的辅助信息逐渐引起了人们的关注,将知识图谱作为辅助信息引入到推荐系统中可以有效地解决推荐系统存在的稀疏性和推荐准度问题。
一个知识图谱可以由若干个三元组(h、r、t)构成,其中h和t分别代表一条关联关系的头节点和尾节点,r代表两个节点之间的关联关系。知识图谱的质量将决定信息推荐的效果,为此需要构建高质量的知识图谱,在实际应用中,可以通过预先设定的实体识别算法对待推荐信息中包含的实体进行识别和提取,其中,实体识别算法可以包括多种,例如关键词提取算法、命名实体识别算法等,其中的关键词提取算法也可以包括多种,例如PageRank算法、TextRank算法、TF-IDF算法等,实体识别算法可以包括上述中的一种算法,也可以包括上述中的多种算法等,具体可以根据实际情况设定,本说明书实施例对此不做限定。
通过预先设定的实体识别算法对待推荐信息中包含的实体进行识别和提取后,可以得到待推荐信息中包含的实体信息,然后,可以通过待推荐信息的内容,以及待推荐信息中的上下文信息等,确定上述实体信息对应的实体之间存在的关联关系,基于确定的关联关系,可以得到相应的关联关系信息。
例如,可以获取某个或多个保险的资讯信息作为待推荐信息,然后,通过预定实体识别算法可以从该资讯信息中提取其中包含的实体信息,如“保险服务”、“保险金”、“城乡居民大病保险”等,并可以通过该资讯信息的内容和上下文关系等,确定不同实体之间的关联关系等,例如,关键词关系、发布时间关系、质量关系等。
在步骤S104中,基于上述实体信息和上述关联关系信息,构建知识图谱,该知识图谱中包括由该实体信息对应的实体节点和该关联关系信息对应的实体节点之间的关联关系。
在实施中,通过上述步骤S102的处理得到待推荐信息的实体信息和关联关系信息后,可以基于上述实体信息和关联关系信息,构建多个三元组(h、r、t),然后,可以结合待推荐信息所属的内容类目、待推荐信息发布的日期和区域等特征构建相应的知识图谱。该知识图谱可以由节点和边构成,一个节点表示一个实体,边表示两端的节点之间的关联关系。
如图2所示,包括3个资讯信息,分别为资讯1、资讯2和资讯3,其中包含的实体可以参见图2,其中包括“餐饮”、“3天前”、“加执单”等,还可以包括实体之间的关联关系信息(图2中未示出),可以基于上述信息构建多个三元组(h、r、t),然后,可以将多个三元组(h、r、t)组合。可以得到如图2的知识图谱。
在步骤S106中,对上述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息。
其中,预定热度阈值可以是预先设定的实体节点的节点热度的阈值,热度阈值可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,可以根据实际情况预先设定热度阈值,同时,知识图谱中的每个实体节点可以设置有节点热度,节点热度可以由中心实体节点向外层实体节点逐渐减小,例如,如图2所示,其中包括3个中心实体节点,分别为“资讯1”、“资讯2”和“资讯3”,上述3个中心实体节点的节点热度可以最高,然后,每个中心实体节点向外延伸的实体节点的节点热度可以依次降低,为了简化处理过程,也可以将每一跳邻居节点的节点热度设置为相同的数值,例如,如图2所示,实体“资讯3”的一跳邻居节点为“相互保”、“长江角”、“个体户”、“10天前”“养老金”和“小商贩”,实体节点“资讯3”的节点热度最高,上述一跳邻居节点的节点热度小于“资讯3”的节点热度,且上述一跳邻居节点的节点热度的数值相同,而在实际应用中,每一跳邻居节点的节点热度也可以不同,本说明书实施例对此不做限定。
为了更准确地刻画待推荐信息中包含的实体信息对应的实体,可以基于节点热度,选取节点热度较高的实体节点进行特征采样,具体如,可以采集一个实体的上下文实体的特征,其中,该实体的上下文实体可以是该实体的一跳邻居节点,并可以结合相应的中心实体节点的特征,转化为网格状结构化数据,然后,可以将得到的网格状结构化数据输入到CNN(Convolutional Neural Networks,卷积神经网络)模型中,得到相应待推荐信息对应的向量。根据待推荐信息对应的向量,可以确定用户对于待推荐信息的表示向量,可以将待推荐信息对应的向量和用户对于待推荐信息的表示向量输入到另一个CNN模型中,得到用户点击待推荐信息的概率。可以根据得到的概率,从待推荐信息中选取需要推荐给用户的信息,具体如,可以从待推荐信息中选取概率大于预定阈值的信息作为需要推荐给用户的信息,或者,可以根据概率的数值由大到小,对待推荐信息进行排序,然后,可以从中选取排列在前N(其中N为大于或等于1的正整数)位的待推荐信息作为需要推荐给用户的信息等。
本说明书实施例提供一种信息的推荐方法,通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高。
实施例二
如图3所示,本说明书实施例提供一种信息的推荐方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群。该服务器可以是某种或多种业务(如保险业务、金融业务或广告业务等)的后台服务器,或者,也可以是某金融类应用或购物类应用等的后台服务器。该方法可以用于在信息推荐过程中。该方法具体可以包括以下步骤:
在步骤S302中,通过命名实体识别NER和/或预定的关键词提取规则,对待推荐信息中包含的实体信息进行提取和识别,并从待推荐信息中获取该实体信息对应的实体之间的关联关系信息。
其中,NER(Named Entity Recognition,命名实体识别)是信息提取、问答系统、句法分析、机器翻译等应用领域的基础工具,在自然语言处理技术走向实用化的过程中占有重要地位,通常,命名实体识别可以识别出待处理文本中三大类(实体类、时间类和数字类)、七小类(人名、机构名、地名、时间、日期、货币和百分比)命名实体。关键词提取规则可以包括多种,例如PageRank、TextRank、TF-IDF(Term Frequency-Inverse DocumentFrequency,词频-逆文档频率)和LDA(Latent Dirichlet Allocation,潜在狄利克雷分配),关键词提取规则可以是其中的一种或多种的组合,具体可以根据实际情况设定,本说明书实施例对此不做限定。待推荐信息由半结构化数据构成,或待推荐信息由非结构化数据构成,非结构化数据可以是数据结构不规则或不完整,没有预定义的数据模型,无法使用数据库二维逻辑表来表现的数据,办公文档、文本、XML页面、HTML页面、各类报表、图像、音频信息和视频信息。结构化数据也可以称作行数据,结构化数据可以是由二维逻辑表结构来表达和实现的数据,严格地遵循数据格式与长度规范,可以通过关系型数据库等进行存储和管理。
在实施中,可以预先对NER对应的模型进行训练,得到可以较准确的获取待推荐信息中包含的实体或概念等,例如基于上述示例,NER对应的模型可以识别包括三大类和七小类的命名实体。可以将待推荐信息中每一个信息分别输入到上述NER对应的模型中,对待推荐信息中包含的实体信息进行提取和识别,得到待推荐信息中每一个信息中包含的实体或概念的相关信息。此外,还可以对待推荐信息中的每一个信息的内容和上下文关系等进行分析,从待推荐信息中每一个信息中分别抽取相应信息的关联关系信息。
需要说明的是,上述从待推荐信息中获取实体或概念的处理可以包括多种不同的处理方式,除了可以通过上述NER对应的模型实现外,还可以通过其它方式实现,例如可以通过关键词提取规则提取待推荐信息中包含的实体或概念等信息,具体地,可以预先选取关键词提取算法,并获取多条文本数据,可以将该文本数据作为样本数据来训练关键词提取模型。训练完成后,可以将待推荐信息中每一个信息分别输入到上述关键词提取模型中,对待推荐信息中包含的实体信息进行提取和识别,得到待推荐信息中每一个信息中包含的实体或概念的相关信息。
在步骤S304中,基于上述实体信息和上述关联关系信息,构建知识图谱,该知识图谱中包括由该实体信息对应的实体节点和该关联关系信息对应的实体节点之间的关联关系。
上述步骤S304的步骤内容与上述实施例一中步骤S104的步骤内容相同,步骤S304的处理过程可以参见上述步骤S104的相关内容,在此不再赘述。
在步骤S306中,对上述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样。
其中,节点热度可以是预先根据实际情况设定的实体节点对应的实体被用户使用的概率或频率等,某实体节点的节点热度越低,则该实体节点对应的实体被用户使用的概率或频率越小,某实体节点的节点热度越高,则该实体节点对应的实体被用户使用的概率或频率越大。热度阈值可以根据实际情况设定,本说明书实施例对此不做限定。
在实施中,通常,在采用Adjust-RippleNet模型对待推荐信息进行点击率预测的过程中使用随机采样的方式获取相应的特征,但是,通过随机采样的方式获取的特征往往不利于获取显著特征,为此,本实施例对特征的采样方式进行了改进,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,具体地,可以采用maxpooling策略,即最大热点采样策略寻找每个中心实体节点的最热实体节点依次进行采样。k最大节点采样(k-Largest Node Sample)可以借鉴LGCN(Large-Scale LearnableGraph Convolutional Networks),从中心实体节点的邻居节点的特征中聚合出新的特征。可以根据实际情况,为知识图谱中的每个实体节点设置相应的节点热度,具体可以包括多种实现方式,例如,由中心实体节点逐级向外扩展,相应节点热度也由中心实体节点向外逐渐降低,即中心实体节点的节点热度最高,一跳邻居节点的节点热度低于中心实体节点,二跳邻居节点的节点热度低于一跳邻居节点……
可以预先设定节点热度的热度阈值,然后,可以将知识图谱中的每个实体节点的节点热度与上述热度阈值进行比较,获取知识图谱中节点热度大于预定热度阈值的实体节点,并可以将获取的实体节点作为目标实体节点,可以采集目标实体节点的特征(全部特征或部分特征等),以完成对上述知识图谱中节点热度大于预定热度阈值的目标实体节点的特征采样。
在步骤S308中,将目标实体节点采样后的特征和用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到用户对待推荐信息的偏好的预测值。
在实施中,基于上述内容,k最大节点采样(k-Largest Node Sample)可以借鉴LGCN(Large-Scale Learnable Graph Convolutional Networks),从中心实体节点的邻居节点的特征中聚合出新的特征,将邻居节点的特征结合中心实体节点本身的特征,转化为结构化数据,同时,结合用户的历史点击矩阵,并通过预定的Adjust-Ripplenet模型,得到用户对待推荐信息的偏好的预测值。
上述步骤S308的具体处理可以多种多样,以下提供一种可选的处理方式,具体可以包括以下步骤一~步骤四。
步骤一,基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征。
其中,交叉特征可以用于使得两个特征之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。
在实施中,考虑到待推荐信息中存在与知识图谱中的实体节点存在重合(即待推荐信息中存在与知识图谱中实体节点相同的信息),因此,可以在底层设计一个交叉特征共享单元作为两者的连接纽带,交叉特征共享单元是一个可以让两个任务交换信息的模块。如图4所示,其中,左侧的两个部分(即用户特征和待推荐信息特征)为推荐系统中的处理过程,右侧的三个部分(即头节点特征、关联关系特征和尾节点特征)为知识图谱系统,左侧和右侧之间即为交叉特征共享单元,通过将待推荐信息对应的特征与头节点对应的特征进行交叉处理,使得双方之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。具体地,由于待推荐信息对应的向量和头节点(或尾节点)对应的向量实际上是对同一个对象的两种不同描述,头节点(或尾节点)对应的向量是基于知识图谱挖掘出的实体特征,他们之间的信息交叉共享可以让两者都获得来自对方的额外信息,从而弥补了自身的信息稀疏性,为此,可以基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征进行交叉计算,得到交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征,图4中,待推荐信息对应的特征与头节点对应的特征依次进行了两次交叉处理,最终得到交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征。
需要说明的是,最左侧的部分(即用户特征)可以通过多次或多层神经网络模型依次得到相应的特征,相应的,最右侧的两个部分(关联关系特征和尾节点特征)也可以分别通过多次或多层神经网络模型依次得到相应的特征等。
步骤二,根据交叉处理后的待推荐信息对应的特征,确定待推荐信息对应的特征矩阵。
在实施中,如图5所示,通过中心实体节点的一跳邻居节点,可以得到第一层对应的待推荐信息的特征(可以称为一阶响应),然后,通过中心实体节点的二跳邻居节点(可以称为二阶响应),可以得到第二层对应的待推荐信息的特征,以此类推,得到第H层对应的待推荐信息的特征(可以称为H阶响应),可以将每一层得到的待推荐信息的特征进行加权平均,得到待推荐信息对应的特征矩阵。
在实际应用中,上述步骤二的处理方式可以多种多样,以下还提供一种可选的处理方式,具体可以包括以下内容:将交叉处理后的待推荐信息对应的特征输入到预定的神经网络模型中,得到待推荐信息对应的特征矩阵。
其中,神经网络模型可以包括多种,例如卷积神经网络模型、深度神经网络模型等,具体使用哪种神经网络模型,可以根据实际情况设定,本说明书实施例对此不做限定。
步骤三,根据待推荐信息对应的特征矩阵、用户的历史点击矩阵、交叉处理后的目标实体节点采样后的特征,确定用户对应的特征矩阵。
在实施中,考虑了头节点和关联关系之后,可以通过加权所有尾节点对应的特征,就得到了用户兴趣通过RippleNet之后得到的一阶响应,以此类推,可以把H阶响应求和就得到了用户对应的特征矩阵。
步骤四,基于待推荐信息对应的特征矩阵和用户对应的特征矩阵,确定用户对待推荐信息的偏好的预测值。
在步骤S310中,将待推荐信息中预测值大于预定阈值的信息推荐给该用户。
其中,预定阈值可以根据实际情况设定,如90%或80%等,本说明书实施例对此不做限定。
在实施中,可以将待推荐信息中预测值大于预定阈值的信息推荐给该用户,还可以将待推荐信息中预测值最大的信息推荐给该用户等。
本说明书实施例提供一种信息的推荐方法,通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高,而且,基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征,使得交叉双方之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。
实施例三
本实施例将结合具体的应用场景,对本发明实施例提供的一种信息的推荐方法进行详细的阐述,相应的应用场景为保险业务的应用场景,其中,待推荐信息为待推荐的保险咨询信息。
如图6所示,本说明书实施例提供一种信息的推荐方法,该方法的执行主体可以为服务器,其中,该服务器可以是独立的一个服务器,还可以是由多个服务器构成的服务器集群。该服务器可以是某种或多种业务(如保险业务、金融业务或广告业务等)的后台服务器,或者,也可以是某金融类应用或购物类应用等的后台服务器。该方法可以用于在信息推荐过程中。该方法具体可以包括以下步骤:
在步骤S602中,通过命名实体识别NER和/或预定的关键词提取规则,对待推荐的保险咨询信息中包含的实体信息进行提取和识别,并从待推荐的保险咨询信息中获取实体信息对应的实体之间的关联关系信息。
在步骤S604中,基于实体信息和关联关系信息,构建知识图谱,该知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系。
在步骤S606中,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样。
在步骤S608中,基于待推荐的保险咨询信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐的保险咨询信息对应的特征和交叉处理后的目标实体节点采样后的特征。
在步骤S610中,根据交叉处理后的待推荐的保险咨询信息对应的特征,确定待推荐的保险咨询信息对应的特征矩阵。
在实际应用中,上述步骤S610的处理方式可以多种多样,以下还提供一种可选的处理方式,具体可以包括以下内容:将交叉处理后的待推荐的保险咨询信息对应的特征输入到预定的神经网络模型中,得到待推荐的保险咨询信息对应的特征矩阵。
在步骤S612中,根据待推荐的保险咨询信息对应的特征矩阵、用户的历史点击矩阵、交叉处理后的目标实体节点采样后的特征,确定用户对应的特征矩阵。
在步骤S614中,基于待推荐的保险咨询信息对应的特征矩阵和用户对应的特征矩阵,确定用户对待推荐的保险咨询信息的偏好的预测值。
在步骤S616中,将待推荐的保险咨询信息中预测值大于预定阈值的保险咨询信息推荐给用户。
在实际应用中,还可以将待推荐的保险咨询信息中预测值最大的保险咨询信息推荐给该用户等。
本说明书实施例提供一种信息的推荐方法,通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高,而且,基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征,使得交叉双方之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。
实施例四
以上为本说明书实施例提供的信息的推荐方法,基于同样的思路,本说明书实施例还提供一种信息的推荐装置,如图7所示。
该信息的推荐装置包括:信息获取模块701、知识图谱构建模块702和推荐模块703,其中:
信息获取模块701,用于获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息;
知识图谱构建模块702,用于基于所述实体信息和所述关联关系信息,构建知识图谱,所述知识图谱中包括由所述实体信息对应的实体节点和所述关联关系信息对应的实体节点之间的关联关系;
推荐模块703,用于对所述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息。
本说明书实施例中,所述信息获取模块701,用于通过命名实体识别NER和/或预定的关键词提取规则,对所述待推荐信息中包含的实体信息进行提取和识别,并从所述待推荐信息中获取所述实体信息对应的实体之间的关联关系信息。
本说明书实施例中,所述推荐模块703,包括:
预测单元,用于将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值;
推荐单元,用于将所述待推荐信息中所述预测值大于预定阈值的信息推荐给所述用户。
本说明书实施例中,所述预测单元,用于:
基于所述待推荐信息对应的特征、所述目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的所述待推荐信息对应的特征和交叉处理后的所述目标实体节点采样后的特征;
根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵;
根据所述待推荐信息对应的特征矩阵、所述用户的历史点击矩阵、交叉处理后的所述目标实体节点采样后的特征,确定所述用户对应的特征矩阵;
基于所述待推荐信息对应的特征矩阵和所述用户对应的特征矩阵,确定所述用户对所述待推荐信息的偏好的预测值。
本说明书实施例中,所述预测单元,用于将所述交叉处理后的所述待推荐信息对应的特征输入到预定的神经网络模型中,得到所述待推荐信息对应的特征矩阵。
本说明书实施例中,所述待推荐信息由半结构化数据构成,或所述待推荐信息由非结构化数据构成。
本说明书实施例中,所述待推荐信息为与预定的一项保险或多项不同保险相关的资讯信息。
本说明书实施例提供一种信息的推荐装置,通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高,而且,基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征,使得交叉双方之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。
实施例五
以上为本说明书实施例提供的信息的推荐装置,基于同样的思路,本说明书实施例还提供一种信息的推荐设备,如图8所示。
所述信息的推荐设备可以为上述实施例提供的服务器。
信息的推荐设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上的处理器801和存储器802,存储器802中可以存储有一个或一个以上存储应用程序或数据。其中,存储器802可以是短暂存储或持久存储。存储在存储器802的应用程序可以包括一个或一个以上模块(图示未示出),每个模块可以包括对信息的推荐设备中的一系列计算机可执行指令。更进一步地,处理器801可以设置为与存储器802通信,在信息的推荐设备上执行存储器802中的一系列计算机可执行指令。信息的推荐设备还可以包括一个或一个以上电源803,一个或一个以上有线或无线网络接口804,一个或一个以上输入输出接口805,一个或一个以上键盘806。
具体在本实施例中,信息的推荐设备包括有存储器,以及一个或一个以上的程序,其中一个或者一个以上程序存储于存储器中,且一个或者一个以上程序可以包括一个或一个以上模块,且每个模块可以包括对信息的推荐设备中的一系列计算机可执行指令,且经配置以由一个或者一个以上处理器执行该一个或者一个以上程序包含用于进行以下计算机可执行指令:
获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息;
基于所述实体信息和所述关联关系信息,构建知识图谱,所述知识图谱中包括由所述实体信息对应的实体节点和所述关联关系信息对应的实体节点之间的关联关系;
对所述知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息。
本说明书实施例中,所述获取待推荐信息中包含的实体信息和所述实体信息对应的实体之间的关联关系信息,包括:
通过命名实体识别NER和/或预定的关键词提取规则,对所述待推荐信息中包含的实体信息进行提取和识别,并从所述待推荐信息中获取所述实体信息对应的实体之间的关联关系信息。
本说明书实施例中,所述基于所述目标实体节点采样后的特征,确定所述待推荐信息中需要推荐给用户的信息,包括:
将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值;
将所述待推荐信息中所述预测值大于预定阈值的信息推荐给所述用户。
本说明书实施例中,所述将所述目标实体节点采样后的特征和所述用户的历史点击矩阵输入到预定的Adjust-Ripplenet模型中,得到所述用户对所述待推荐信息的偏好的预测值,包括:
基于所述待推荐信息对应的特征、所述目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的所述待推荐信息对应的特征和交叉处理后的所述目标实体节点采样后的特征;
根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵;
根据所述待推荐信息对应的特征矩阵、所述用户的历史点击矩阵、交叉处理后的所述目标实体节点采样后的特征,确定所述用户对应的特征矩阵;
基于所述待推荐信息对应的特征矩阵和所述用户对应的特征矩阵,确定所述用户对所述待推荐信息的偏好的预测值。
本说明书实施例中,所述根据所述交叉处理后的所述待推荐信息对应的特征,确定所述待推荐信息对应的特征矩阵,包括:
将所述交叉处理后的所述待推荐信息对应的特征输入到预定的神经网络模型中,得到所述待推荐信息对应的特征矩阵。
本说明书实施例中,所述待推荐信息由半结构化数据构成,或所述待推荐信息由非结构化数据构成。
本说明书实施例中,所述待推荐信息为与预定的一项保险或多项不同保险相关的资讯信息。
本说明书实施例提供一种信息的推荐设备,通过获取待推荐信息中包含的实体信息和实体信息对应的实体之间的关联关系信息,然后,基于实体信息和关联关系信息,构建知识图谱,知识图谱中包括由实体信息对应的实体节点和关联关系信息对应的实体节点之间的关联关系,最后,对知识图谱中节点热度大于预定热度阈值的目标实体节点进行特征采样,基于目标实体节点采样后的特征,确定待推荐信息中需要推荐给用户的信息,这样,通过实体节点的节点热度来获取较显著的特征,以此提高用户对待推荐信息的偏好的预测,使得信息推荐的准确性提高,而且,基于待推荐信息对应的特征、目标实体节点采样后的特征,以及预定交叉特征,确定交叉处理后的待推荐信息对应的特征和交叉处理后的目标实体节点采样后的特征,使得交叉双方之间获得来自对方的额外信息,从而弥补了自身的信息的稀疏性。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本说明书一个或多个实施例时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书的实施例是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程信息的推荐设备的处理器以产生一个机器,使得通过计算机或其他可编程信息的推荐设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程信息的推荐设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程信息的推荐设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书一个或多个实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书一个或多个实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本说明书的实施例而已,并不用于限制本说明书。对于本领域技术人员来说,本说明书可以有各种更改和变化。凡在本说明书的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书的权利要求范围之内。