本发明涉及知识图谱技术领域,尤其涉及电商平台的知识图谱构建方法、装置、设备及存储介质。
背景技术:
随着电子商务的兴起,电商平台在商品销售领域中占据非常重要的地位。电商平台相对于传统实体商店具备的一个明显优点就是同时展示、销售的商品种类不受限制,但同时,由于电商平台上可选择的商品过多,常常也会给用户在寻找商品时带来烦恼。为此,很多电商平台会主动向用户推荐商品,用户若对推荐的商品感兴趣,便可快速进入购买环节,不仅为用户提供了购物便利,而且增加了电商平台的销售业绩。
目前,商品推荐的方法一般是通过用户历史搜索过的关键词或商品信息在电商平台的数据库中检索,把检索到的商品作为推荐商品推荐给用户。然而,电商平台使用的检索服务一般是基于商品的分类搭建的,这样容易导致最后推荐给用户的商品仅仅是该用户以往购买过的商品,对于普通用户来说再次购买这些商品的可能性较低,使得商品推荐的精确度和成功率较低。
技术实现要素:
本发明实施例提供一种电商平台的知识图谱构建方法、装置、计算机设备及存储介质,以解决商品推荐的精确度和成功率较低的问题。
一种电商平台的知识图谱构建方法,包括:
根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;
针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出词频排行靠前的预设第一数量个字段作为类目字段;
针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;
针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,所述类目字段和与所述类目字段对应的每一关联字段为每一三元组中的两个节点,所述相似度为所述两个节点之间的边;
在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。
一种电商平台的知识图谱构建装置,包括:
记录字段整理模块,用于根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;
类目字段选取模块,用于针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出词频排行靠前的预设第一数量个字段作为类目字段;
关联字段选取模块,用于针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;
三元组建立模块,用于针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,所述类目字段和与所述类目字段对应的每一关联字段为每一三元组中的两个节点,所述相似度为所述两个节点之间的边;
知识图谱组成模块,用于在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述电商平台的知识图谱构建方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述电商平台的知识图谱构建方法的步骤。
上述电商平台的知识图谱构建方法、装置、计算机设备及存储介质,首先,根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;然后,针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出最高频的预设第一数量个字段作为类目字段;接着,针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;再之,针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,所述类目字段和与所述类目字段对应的每一关联字段为每一三元组中的两个节点,所述相似度为所述两个节点之间的边;在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。可见,本发明基于电商平台上用户的历史浏览记录信息来搭建知识图谱,该知识图谱中以类目字段和关联字段作为相邻的两节点,以两者之间的相似度作为节点之间的边,这使得知识图谱中字段之间的关系是基于用户的角度来确定的,在使用该知识图谱为用户推荐商品时,可以使得检索到的商品更加符合大众用户的普遍需求,提升了商品推荐的精确度和成功率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中电商平台的知识图谱构建方法的一应用环境示意图;
图2是本发明一实施例中电商平台的知识图谱构建方法的一流程图;
图3是本发明一实施例中电商平台的知识图谱构建方法步骤101在一个应用场景下的流程示意图;
图4是本发明一实施例中电商平台的知识图谱构建方法步骤103在一个应用场景下的流程示意图;
图5是知识图谱示例图;
图6是本发明一实施例中电商平台的知识图谱构建方法在一个应用场景下推荐商品的流程示意图;
图7是本发明一实施例中电商平台的知识图谱构建方法在一个应用场景下整合大类网络的流程示意图;
图8是本发明一实施例中电商平台的知识图谱构建方法步骤403在一个应用场景下的流程示意图;
图9是本发明一实施例中电商平台的知识图谱构建装置的结构示意图;
图10是本发明一实施例中记录字段整理模块的结构示意图;
图11是本发明一实施例中关联字段选取模块的结构示意图;
图12是本发明一实施例中计算机设备的一示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请提供的电商平台的知识图谱构建方法,可应用在如图1的应用环境中,其中,承载电商平台的服务器通过网络与本方法的服务器进行通信。其中,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一实施例中,如图2所示,提供一种电商平台的知识图谱构建方法,以该方法应用在图1中的服务器为例进行说明,包括如下步骤:
101、根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;
本实施例中,服务器可以针对某个电商平台,收集该电商平台上所有用户的历史浏览记录,并针对收集到的每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段。其中,一个用户的历史浏览记录信息具体可以包括商品信息、浏览的日期、用户账号、对商品的浏览时长等信息。其中,商品信息可以包括商品的名称、型号、价格等信息,例如某个电商平台上的某块手机壳的商品名称为“苹果6splus手机壳iphone6保护套6/6s/plus超薄磨砂6p透明硅胶软壳i6全包边防摔男女款潮六手机套”。
需要说明的是,对于每个用户来说,其一般具有多条历史浏览记录信息,服务器获取到的这些历史浏览记录信息通常是对每个商品逐条划分的,例如,某用户的历史浏览记录中有“手机壳”和“充电器”两个商品的记录,其历史浏览记录信息具体可以如下:
历史浏览记录1:商品名称“苹果6splus手机壳iphone6保护套6/6s/plus超薄磨砂6p透明硅胶软壳i6全包边防摔男女款潮六手机套”,价格15元,浏览日期2018-9-20,用户账号xxxx;
历史浏览记录2:商品名称“iphone6充电器苹果6s快充7plus手机iphonex插头5s安卓5平板ipad通用多口usb快速古尚古原裝正品p数据线套装8x”,价格19元,浏览日期2018-9-19,用户账号xxxx。
服务器在获取到用户的历史浏览记录信息后,可以对其进行整理得到用户的浏览记录字段。整理时,服务器可以先对这些历史浏览记录信息进行数据清洗,统一信息的格式,然后从中挑选出有效的字段作为该用户的浏览记录字段。这里所说的有效字段是指可用于后续步骤建立知识图谱的字段,服务器可以预先设置好字段的提取模板,根据提取模板从这些历史浏览记录信息中提取即可。为便于理解,如图3所示,进一步地,所述步骤101可以包括:
201、获取电商平台上每个用户的历史浏览记录信息;
202、对所述每个用户的历史浏览记录信息进行数据清洗;
203、根据预设的各个无效字段将所述每个用户的历史浏览记录信息中的无效字段剔除;
204、对剔除无效字段后的所述每个用户的历史浏览记录信息进行字段整理,得到所述每个用户的浏览记录字段。
对于上述步骤201,可以理解的是,电商平台会日常记录每个用户的历史浏览记录信息,服务器通过与电商平台的系统对接,容易获取到该电商平台上每个用户的历史浏览记录信息。
对于上述步骤202,可以理解的是,服务器获取到的历史浏览记录信息可能是杂乱无章的、非结构化的,这些杂乱无章的、非结构化的信息难以用于服务器对信息的有效处理,为此,服务器可以对所述每个用户的历史浏览记录信息进行数据清洗。其中,数据清洗具体可以包括对这些历史浏览记录信息进行一致性检查、无效值处理和缺失值处理,可知数据清洗具体可以根据实际情况设置,其为现有技术,此处不再赘述。
对于上述步骤203,对于后续步骤构建知识图谱来说,并非历史浏览记录信息上的所有信息均是有用的,其中也存在无效的信息。为了避免干扰信息污染知识图谱,服务器可以根据预设的各个无效字段将所述每个用户的历史浏览记录信息中的无效字段剔除。其中,该预设的各个无效字段具体可以根据实际使用情况设定,尤其是可以针对不同的电商平台分别进行设定,这是因为每个电商平台日常记录的历史浏览记录信息的信息项不同。例如,针对某个电商平台a,其用户的历史浏览记录信息中记录了该用户的账号,而用户的账号对后续构建知识图谱没有帮助,为此,可以将“用户账号”设为无效字段,执行步骤203时,服务器检查历史浏览记录信息是否存在“用户账号”这个字段,若存在,将其剔除。
对于步骤204,服务器在将所述每个用户的历史浏览记录信息中的无效字段剔除之后,可以对剔除无效字段后的所述每个用户的历史浏览记录信息进行字段整理,得到所述每个用户的浏览记录字段。具体地,服务器可以设置好预设的字段模板,针对每条历史浏览记录信息从中检索出与字段模板对应的信息导入至字段模板中,即可完成对每条历史浏览记录信息的结构化整理。
102、针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出词频排行靠前的预设第一数量个字段作为类目字段;
本实施例准备构建的知识图谱是基于用户的角度出发的,因此,在确定类目字段时,服务器需要针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出最高频的预设第一数量个字段作为类目字段。也就是说,若该电商平台拥有10万个用户,则步骤102至少可以选取出10万个类目字段,即针对每个用户选取出1个类目字段(该预设第一数量设为1)。当然,也可以针对每个用户选取出2个(该预设第一数量设为2)甚至多个类目字段,若选取2个类目字段,则共可以得到20万个类目字段。
需要说明的是,服务器在选取类目字段时,从该用户的浏览记录字段中选取最高频的字段来作为类目字段,这是因为字段出现的频率越高可以从一定程度上反映该字段在用户浏览商品的信息中所占的分量越大,也即用户越关注该字段所对应的商品或者商品属性。具体地,服务器可以针对每个用户,分别统计该用户的各个浏览记录字段的出现频率,然后从各个浏览记录字段中选取出预设第一数量个词频较高的字段作为该类目字段。可以理解的是,当各个浏览记录字段的数量大于预设第一数量时,服务器可以获取各个浏览记录字段的词频,按照它们的词频从大到小排行,取位于排序前列的预设第一数量个字段作为该类目字段;而当各个浏览记录字段的数量小于或等于预设第一数量时,服务器可以将所有浏览记录字段确定为该类目字段。应当理解的是,该预设第一数量可以根据实际使用情况具体设定,一般会设定为小于浏览记录字段的数量。
103、针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;
针对每个用户的每个类目字段,服务器可以计算该类目字段与其他用户的各个浏览记录字段之间的相似度。比如,假设共10个用户,每个用户对应存在100个浏览记录字段,服务器为每个用户选取出1个类目字段,那么,针对1个用户的1个类目字段a,服务器需要分别计算该类目字段a与其他9个用户对应的900个浏览记录字段之间的相似度。
服务器在计算出所述类目字段与其他用户的各个浏览记录字段之间的相似度之后,可以从中选取出相似度超过预设第一阈值的浏览记录字段作为关联字段。其中,该预设第一阈值具体可以根据实际情况设定,例如可以设定为0.8。承接上述举例,假设类目字段a与900个浏览记录字段之间的相似度中,有200个浏览记录字段对应的相似度超过0.8(即80%),则可以将这200个浏览记录字段选取为关联字段。也就是说,与该类目字段a相关联的关联字段共200个。
本实施例中,可以通过将字段转换为向量的方式来计算两个字段之间的相似度。如图4所示,进一步地,所述计算所述类目字段与其他用户的各个浏览记录字段之间的相似度包括:
301、将所述类目字段和其他用户的各个浏览记录字段分别转换为类目词向量和各个字段词向量;
302、分别计算所述类目词向量与各个所述字段词向量之间的向量距离;
303、根据计算得到的各个所述向量距离确定所述类目字段与其他用户的各个浏览记录字段之间的相似度,其中,向量距离与相似度负相关。
对于步骤301,可以理解的是,现有词向量的转换方法可以将字段转换为词向量,例如可以采用训练好的神经网络将该类目字段转换为类目词向量,将其他用户的各个浏览记录字段分别转换为各个字段词向量。
对于步骤302,在完成词向量的转换之后,服务器可以分别计算所述类目词向量与各个所述字段词向量之间的向量距离。关于向量之间的距离计算为现有技术,此处不再赘述。
对于步骤303,可以理解的是,两个词向量之间的距离越近,则代表了这两个词向量对应的两个字段之间越相似,即相似度越高。因此,服务器可以根据计算得到的各个所述向量距离确定所述类目字段与其他用户的各个浏览记录字段之间的相似度,其中,向量距离与相似度负相关。比如可以采用欧式距离来确定两个字段之间的相似度,即,步骤302中服务器先分别计算出所述类目词向量与各个所述字段词向量之间的欧氏距离,然后在执行步骤303时,根据计算得到的各个欧氏距离分别确定所述类目字段与其他用户的各个浏览记录字段之间的相似度。其中,距离与相似度之间可以直接转换得到,例如,距离可以为相似度的倒数,假设欧氏距离的计算结果为2,则相似度为1/2=0.5。具体地,距离与相似度之间的关系可以通过现有的负相关算法确定出现,并可以根据实际应用场景进行调整,此处不作具体限定。
104、针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,所述类目字段和与所述类目字段对应的每一关联字段为每一三元组中的两个节点,所述相似度为所述两个节点之间的边;
需要说明的是,三元组是知识图谱的基本组成元素,为便于理解,下面简单介绍一下知识图谱的概念。
知识图谱是增强搜索引擎功能的知识库,旨在描述真实世界中存在的各种实体或概念及其关系,其构成一张巨大的语义网络图,图中包括节点和连接两个节点的若干边。其中,节点表示实体或概念,边则由属性或关系构成。
以下对知识图谱进行具体介绍:
实体:指的是具有可区别性且独立存在的某种事物。如某一个人、某一个城市、某一种植物等、某一种商品等等。世界万物由具体事物组成,此指实体。如图5的“中国”、“美国”、“日本”等。实体是知识图谱中的最基本元素,不同的实体间存在不同的关系。
语义类(概念):具有同种特性的实体构成的集合,如国家、民族、书籍、电脑等。概念主要指集合、类别、对象类型、事物的种类,例如人物、地理等。内容:通常作为实体和语义类的名字、描述、解释等,可以由文本、图像、音视频等来表达。
属性(值):从一个实体指向它的属性值。不同的属性类型对应于不同类型属性的边。属性值主要指对象指定属性的值。如图5所示的“面积”、“人口”、“首都”是几种不同的属性。属性值主要指对象指定属性的值,例如960万平方公里等。
关系:代表知识图谱中的三元组集合。
三元组的基本形式主要包括(实体1-关系-实体2)和(实体-属性-属性值)等。每个实体(概念的外延)可用一个全局唯一确定的id来标识,每个属性-属性值对(attribute-valuepair,avp)可用来刻画实体的内在特性,而关系可用来连接两个实体,刻画它们之间的关联。如图5的知识图谱例子所示,中国是一个实体,北京是一个实体,中国-首都-北京是一个(实体-关系-实体)的三元组样例。北京是一个实体,人口是一种属性,2069.3万是属性值。北京-人口-2069.3万构成一个(实体-属性-属性值)的三元组样例。
由上述内容可知,本实施例要构建知识图谱,首先需要建立好用于构建知识图谱所需的各个三元组。在步骤104中,针对每个类目字段,服务器可以根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,类目字段和关联字段为三元组中的两个节点,类目字段和关联字段之间的相似度为所述两个节点之间的边。例如,假设某个类目字段为“奶粉”,与之关联的一个关联字段为“伊利奶粉”,这两个字段之间的相似度为0.88,则可以建立一个(“奶粉”-0.88-“伊利奶粉”)的三元组。同理,针对该“奶粉”类目字段,将该类目字段对应的所有关联字段均与其建立三元组,即完成针对一个类目字段的三元组建立。假设该“奶粉”类目字段对应的关联字段有200个,则共建立得到200个三元组,这200个三元组共同组成该“奶粉”类目字段对应的类目网络。
105、在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。
可以理解的是,由于知识图谱本身就是有各个三元组组成的,因此,服务器在得到所述电商平台上所有用户的类目字段对应的类目网络之后,可以根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。承接上述举例,假设该电商平台上有10个用户,每个用户选取出2个类目字段,则服务器最后组成得到的知识图谱中共有20个类目网络。
考虑到该知识图谱的构建主要是应用在电商平台上为用户推荐商品,因此,本实施例中还可以包括商品推荐的方法步骤。进一步地,如图6所示,在根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱之后,本方法还包括:
401、获取目标用户在所述电商平台上最近浏览的预设第二数量条历史浏览记录;
402、从所述预设第二数量条历史浏览记录中选取出词频排行靠前的预设第三数量个字段作为目标字段;
403、针对每个所述目标字段,分别计算所述目标字段与所述知识图谱中各个类目字段之间的相似度,并确定相似度最高的类目字段作为目标类目字段;
404、针对每个所述目标字段,获取所述知识图谱中各个优选关联字段,所述各个优选关联字段是指在与所述目标类目字段以边相连的各个关联字段中,相似度排行靠前的预设第四数量个关联字段;
405、将获取到的各个所述优选关联字段推送给所述目标用户。
对于上述步骤401,服务器可以需要推荐商品的用户确定为目标用户。比如,当某个用户登录该电商平台时,服务器可以将给用户确定为目标用户。然后,获取该目标用户在所述电商平台上最近浏览的预设第二数量条历史浏览记录。其中,该预设第二数量可以根据实际使用情况具体设定,比如可以设定为10,即获取该用户最近浏览的10条历史浏览记录。
对于上述步骤402,在获取到目标用户在所述电商平台上最近浏览的预设第二数量条历史浏览记录之后,服务器可以从所述预设第二数量条历史浏览记录中选取出最高频的预设第三数量个字段作为目标字段。其中,该预设第三数量可以根据实际使用情况具体设定,比如可以设定为3。也即,服务器从获取到的这些历史浏览记录中选取出最高频的3个字段作为目标字段。可以理解的是,有需要时,服务器可以先根据获取到的这些历史浏览记录整理出该目标用户的最近浏览记录字段,然后从整理出的最近浏览记录字段中选取出词频较高的预设第三数量个字段作为目标字段。可以理解的是,当各个最近浏览记录字段的数量大于预设第三数量时,服务器可以获取各个最近浏览记录字段的词频,按照它们的词频从大到小排行,取位于排序前列的预设第三数量个字段作为该目标字段;而当各个最近浏览记录字段的数量小于或等于预设第三数量时,服务器可以将所有最近浏览记录字段确定为该目标字段。应当理解的是,该预设第三数量可以根据实际使用情况具体设定,一般会设定为小于预设第二数量。
对于步骤403,服务器可以针对每个所述目标字段,分别计算所述目标字段与所述知识图谱中各个类目字段之间的相似度,并确定相似度最高的类目字段作为目标类目字段。其中,关于相似度的计算与上述步骤103中提供的相似度计算方式同理,此处不再赘述。可以理解的是,类目字段与目标字段的相似度越高,则代表该目标字段所对应的商品、商品属性与所述类目字段所对应的商品、商品属性越接近,可以认为该类目字段下越有可能存在该目标用户想要购买的商品。因此,服务器从中确定出相似度最高的类目字段作为目标类目字段。
对于步骤404,可以理解的是,该目标类目字段对应的类目网络中存在多个与该目标类目字段以边相连的关联字段,这些关联字段均与该目标类目字段相关,但考虑到推荐商品时一般会限定推荐的数量,以避免用户反感,因此服务器可以在与所述目标类目字段以边相连的各个关联字段中,选取出相似度较高的预设第四数量个关联字段作为各个优选关联字段。其中,该预设第四数量具体可以根据实际使用情况设定,比如可以设定为10。
对于步骤405,可以理解的是,上述步骤404中获取到的各个优选关联字段即为从所述知识图谱中筛选出的推荐结果,可以认为该优选关联字段对应的商品或商品属性在很大程度上是该目标用户想要购买或者存在潜在购买欲望的,因此,服务器可以将获取到的各个所述优选关联字段推送给所述目标用户。
当知识图谱中的类目网络数量过多时,容易为后续使用该知识图谱进行检索增加难度。比如,假设该知识图谱中的类目网络共有10万个,则上述步骤403执行时,针对每个目标字段服务器需要分别计算其与10万个类目字段之间的相似度,这无疑极其消耗服务器的运算资源,而且增加检索所需的时间。因此,本实施例中,可以进一步对该知识图谱进行优化,将其中的类目网络进行进一步地归类,整合为若干个大类网络,这样有利于提高检索的效率。进一步地,如图7所示,本方法还可以包括:
501、分别计算所述知识图谱中各个类目字段两两之间的相似度;
502、将所述各个类目字段中相似度超过预设第二阈值的类目字段所对应的类目网络划分为同一个大类网络。
对于步骤501,在得到该知识图谱之后,对该知识图谱进行优化时,服务器可以分别计算所述知识图谱中各个类目字段两两之间的相似度。比如,假设共x个类目字段,则共需计算
对于步骤502,可以理解的是,可以设定一个预设第二阈值,该预设第二阈值作为判断两个类目字段之间是否足够相似的标准,比如可以设置为0.9,即当两个类目字段之间的相似度达到90%以上时,则可以认为这两个类目字段属于同一个大类的字段。因此,服务器可以将所述各个类目字段中相似度超过预设第二阈值的类目字段所对应的类目网络划分为同一个大类网络。
需要说明的是,这样划分为大类网络的好处在于,使用优化后的知识图谱进行检索时,大大降低了服务器运算的时间复杂度。举例说明,假设该知识图谱中的类目网络共有10万个,划分出的大类网络有100个,假设每个大类网络下有1000个类目网络,则在使用优化后的知识图谱检索时,对于一个目标字段,其得到最终的各个优选关联字段的时间复杂度为1*100+1*1000,而使用未划分大类网络的知识图谱时,其时间复杂度为1*100000。
更进一步地,如图8所示,在上述步骤502之后,即优化该知识图谱后,上述步骤403具体可以包括:
601、针对每个所述目标字段,分别计算所述目标字段与所述知识图谱中各个大类网络的大类字段之间的相似度,所述大类字段由大类网络中的各个类目字段确定得到;
602、针对每个所述目标字段,从所述各个大类网络中选取出相似度最高的一个大类网络;
603、针对每个所述目标字段,分别计算所述目标字段与选取出的所述一个大类网络下各个类目字段之间的相似度,并确定相似度最高的类目字段作为目标类目字段。
对于步骤601,本实施例中,该知识图谱中的各个大类网络确定后,服务器可以分别计算出这些大类网络对应的大类字段,由于该大类字段应当表达该大类网络的中心或质心,因此可以由大类网络中的各个类目字段确定得到。具体地,服务器可以采用上述词向量的方式来计算出各个类目字段的质心,然后根据质心的向量来确定出一个大类网络的大类字段。比如,针对每个大类网络,服务器先获取该大类网络中各个类目字段,然后将这些获取到的各个类目字段转换为各个类目词向量,然后计算各个类目词向量的向量中心,得到中心向量;最后将该中心向量转换为字段,得到所述大类网络对应的大类字段。
容易理解的是,服务器针对每个所述目标字段,可以分别计算所述目标字段与所述知识图谱中各个大类网络的大类字段之间的相似度,关于相似度的计算与上述内容同理,此处不再赘述。
对于步骤602,针对每个所述目标字段,服务器可以从所述各个大类网络中选取出相似度最高的一个大类网络,这里所说的相似度最高的一个大类网络是指与该目标字段之间的相似度最高的一个大类网络。承接上述举例,假设该知识图谱中的类目网络共有10万个,划分出的大类网络有100个,假设每个大类网络下有1000个类目网络,对于一个目标字段,服务器在执行步骤601时,需要计算该目标字段与100个大类网络的大类字段之间的相似度,时间复杂度为1*100。
对于步骤603,在确定出相似度最高的一个大类网络之后,针对每个所述目标字段,服务器可以分别计算所述目标字段与选取出的所述一个大类网络下各个类目字段之间的相似度,并确定相似度最高的类目字段作为目标类目字段。承接上述举例,同理可知,在步骤603中,针对每个目标字段,服务器需要计算该目标字段与1000个类目网络对应的类目字段之间的相似度,时间复杂度为1*1000。因此,执行上述步骤601-603,针对每个目标字段进行计算的时间复杂度共为1*100+1*1000,与优化前的知识图谱相比,显然大大减小了时间复杂度,即提高了运算的效率和推荐商品的检索速度。
本发明实施例中,首先,根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;然后,针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出最高频的预设第一数量个字段作为类目字段;接着,针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;再之,针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,类目字段和关联字段为三元组中的两个节点,类目字段和关联字段之间的相似度为所述两个节点之间的边;在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。可见,本发明基于电商平台上用户的历史浏览记录信息来搭建知识图谱,该知识图谱中以类目字段和关联字段作为相邻的两节点,以两者之间的相似度作为节点之间的边,这使得知识图谱中字段之间的关系是基于用户的角度来确定的,在使用该知识图谱为用户推荐商品时,可以使得检索到的商品更加符合大众用户的普遍需求,提升了商品推荐的精确度和成功率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种电商平台的知识图谱构建装置,该电商平台的知识图谱构建装置与上述实施例中电商平台的知识图谱构建方法一一对应。如图9所示,该电商平台的知识图谱构建装置包括记录字段整理模块701、类目字段选取模块702、关联字段选取模块703、三元组建立模块704和知识图谱组成模块705。各功能模块详细说明如下:
记录字段整理模块701,用于根据电商平台上每个用户的历史浏览记录信息整理出所述每个用户的浏览记录字段;
类目字段选取模块702,用于针对所述电商平台上的每个用户,从所述用户的浏览记录字段中选取出词频排行靠前的预设第一数量个字段作为类目字段;
关联字段选取模块703,用于针对每个用户的每个类目字段,计算所述类目字段与其他用户的各个浏览记录字段之间的相似度,并选取出相似度超过预设第一阈值的浏览记录字段作为关联字段,所述其他用户是指所述电商平台上除所述用户以外的用户;
三元组建立模块704,用于针对每个类目字段,根据所述类目字段、与所述类目字段对应的各个关联字段、以及所述类目字段分别与所述各个关联字段之间的相似度建立三元组,得到所述类目字段对应的类目网络,其中,所述类目字段和与所述类目字段对应的每一关联字段为每一三元组中的两个节点,所述相似度为所述两个节点之间的边;
知识图谱组成模块705,用于在得到所述电商平台上所有用户的类目字段对应的类目网络之后,根据所有用户的类目字段对应的类目网络组成所述电商平台的知识图谱。
如图10所示,进一步地,所述记录字段整理模块701可以包括:
记录信息获取单元7011,用于获取电商平台上每个用户的历史浏览记录信息;
数据清洗单元7012,用于对所述每个用户的历史浏览记录信息进行数据清洗;
字段剔除单元7013,用于根据预设的各个无效字段将所述每个用户的历史浏览记录信息中的无效字段剔除;
字段整理单元7014,用于对剔除无效字段后的所述每个用户的历史浏览记录信息进行字段整理,得到所述每个用户的浏览记录字段。
如图11所示,进一步地,所述关联字段选取模块703可以包括:
向量转换单元7031,用于将所述类目字段和其他用户的各个浏览记录字段分别转换为类目词向量和各个字段词向量;
向量距离计算单元7032,用于分别计算所述类目词向量与各个所述字段词向量之间的向量距离;
相似度确定单元7033,用于根据计算得到的各个所述向量距离确定所述类目字段与其他用户的各个浏览记录字段之间的相似度,其中,向量距离与相似度负相关。
进一步地,所述电商平台的知识图谱构建装置还可以包括:
字段相似度计算模块,用于分别计算所述知识图谱中各个类目字段两两之间的相似度;
大类网络划分模块,用于将所述各个类目字段中相似度超过预设第二阈值的类目字段所对应的类目网络划分为同一个大类网络。
进一步地,所述电商平台的知识图谱构建装置还可以包括:
历史记录获取模块,用于获取目标用户在所述电商平台上最近浏览的预设第二数量条历史浏览记录;
目标字段选取模块,用于从所述预设第二数量条历史浏览记录中选取出词频排行靠前的预设第三数量个字段作为目标字段;
目标类目字段确定模块,用于针对每个所述目标字段,分别计算所述目标字段与所述知识图谱中各个类目字段之间的相似度,并确定相似度最高的类目字段作为目标类目字段;
优选关联字段获取模块,用于针对每个所述目标字段,获取所述知识图谱中各个优选关联字段,所述各个优选关联字段是指在与所述目标类目字段以边相连的各个关联字段中,相似度排行靠前的预设第四数量个关联字段;
字段推送模块,用于将获取到的各个所述优选关联字段推送给所述目标用户。
关于电商平台的知识图谱构建装置的具体限定可以参见上文中对于电商平台的知识图谱构建方法的限定,在此不再赘述。上述电商平台的知识图谱构建装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图12所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储电商平台的知识图谱构建方法中涉及到的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种电商平台的知识图谱构建方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中电商平台的知识图谱构建方法的步骤,例如图2所示的步骤101至步骤105。或者,处理器执行计算机程序时实现上述实施例中电商平台的知识图谱构建装置的各模块/单元的功能,例如图9所示模块701至模块705的功能。为避免重复,这里不再赘述。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述实施例中电商平台的知识图谱构建方法的步骤,例如图2所示的步骤101至步骤105。或者,计算机程序被处理器执行时实现上述实施例中电商平台的知识图谱构建装置的各模块/单元的功能,例如图9所示模块701至模块705的功能。为避免重复,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。