一种基于商品知识图谱特征学习的推荐方法及系统与流程

文档序号:21368412发布日期:2020-07-04 04:44阅读:170来源:国知局
一种基于商品知识图谱特征学习的推荐方法及系统与流程

本发明涉及计算机软件技术领域,尤其涉及一种基于商品知识图谱特征学习的推荐方法及系统。



背景技术:

知识图谱是一种基于图的数据结构,由节点和边组成.在知识图谱里,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”,知识图谱是关系的最有效表示方式,并且能够融合多源异构信息.知识图谱表示学习能够将知识图谱嵌入到一个低维空间,可以利用连续数值的向量反映知识图谱的结构特征,这种方法可以高效地计算实体间的关系。

随着电子商务的兴起,电商平台在商品销售领域中占有非常重要的地位。电商平台在商品销售领域中占据非常重要的地位。电商平台相对于传统实体商店具备一个明显优点就是同时展示、销售的商品种类不受限制,但同时,由于电商平台上可选择的商品过多,常常也会给用户在寻找商品时带来烦恼。为此,很多电商平台会主动向用户推荐商品,用户若对推荐的商品感兴趣,便可快速进入购买环节,不仅为用户提供了购物便利,而且增加了电商平台的销售业绩。

目前,商品推荐的方法一般是通过用户历史搜索过的关键词或商品信息在电商平台的数据库中检索,把检索到的商品作为推荐商品推荐给用户。然而,电商平台使用的检索服务一般是基于商品的分类搭建的,这样容易导致最后推荐给用户的商品仅仅是该用户以往购买过的商品,对于普通用户来说再次购买这些商品的可能性较低,使得商品推荐的精确度和成功率较低。



技术实现要素:

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于商品知识图谱特征学习的推荐方法及系统,以解决现有技术的不足。

为实现上述目的,本发明提供了一种基于商品知识图谱特征学习的推荐方法,包括以下步骤:

s101、对电商网站商品数据采集与清洗,提取商品实体和关系,构建商品知识图谱;

s102、创建商品搭配模型,将构建好的商品知识图谱融合商品搭配模型,生成关联商品知识图谱;

s103、提取关联商品知识图谱特征,使用知识图谱特征学习算法进行学习从而得到基于商品推荐主题的实体和关系向量;

s104、构建推荐模型,通过向量的余弦相似度来计算商品实体之间的相关性,从而根据结果对用户进行商品推荐。

进一步地,所述步骤s101中对电商网站商品数据采集与清洗,提取商品实体和关系,构建商品知识图谱具体为:对电商网站商品数据采集,包括商品的名称、销量、分类、价格、评价;对电商网站商品数据进行清洗为:根据商品的名称和评论进行分词,建立专有词字典,对上述分词结果提取关键词,从关键词里找实体商品和关系,建立商品三元组<商品a,关系,商品a的属性>,生成csv表格,导入到neo4j中生成原始商品知识图谱。

进一步地,所述步骤s102中创建商品搭配模型,将构建好的商品知识图谱融合商品搭配模型,生成关联商品知识图谱,具体为:

201、根据网站中的商品分类构建商品搭配模型;

202、根据商品间关联度的高低,设置相应的权重值;

203、根据用户购买情况和商品促销情况及时更新商品之间的权重值;

204、将商品搭配模型和基本商品知识图谱融合,形成关联商品知识图谱。

进一步地,所述步骤s103中提取关联商品知识图谱特征,具体为:

301、实体连接:即从历史购买记录中发现商品字典里的词汇,并与关联商品知识图谱中的实体进行匹配;

302、提取商品知识图谱:根据商品字典匹配到的实体,在关联商品知识图谱中抽取子图;

303、关联商品知识图谱特征学习:使用知识图谱特征学习算法进行学习得到实体和关系向量。

进一步地,所述步骤s104中构建推荐模型为:计算用户历史购买过的商品a与搭配模型匹配到的商品b的相似度,从而根据相似度的大小推荐商品;这里用到的计算商品相似度的算法是向量的余弦相似度来计算它们之间的相关性similarity,计算公式为:

一种基于商品知识图谱特征学习的推荐系统,包括:

商品知识图谱构建模块,用于对电商网站商品数据采集与清洗,提取商品实体和关系,构建商品知识图谱;

关联商品知识图谱生成模块,用于创建商品搭配模型,将构建好的商品知识图谱融合商品搭配模型,生成关联商品知识图谱;

关联商品知识图谱特征提取模块,用于提取关联商品知识图谱特征,使用知识图谱特征学习算法进行学习从而得到基于商品推荐主题的实体和关系向量;

推荐模型构建模块,用于构建推荐模型,通过向量的余弦相似度来计算商品实体之间的相关性,从而根据结果对用户进行商品推荐。

进一步地,所述商品知识图谱构建模块,对电商网站商品数据采集与清洗,提取商品实体和关系,构建商品知识图谱,具体为:对电商网站商品数据采集,包括商品的名称、销量、分类、价格、评价;对电商网站商品数据进行清洗为:根据商品的名称和评论进行分词,建立专有词字典,对上述分词结果提取关键词,从关键词里找实体商品和关系,建立商品三元组<商品a,关系,商品a的属性>,生成csv表格,导入到neo4j中生成原始商品知识图谱。

进一步地,所述关联商品知识图谱生成模块包括:

商品搭配模型构建子模块,用于根据网站中的商品分类构建商品搭配模型;

权重值设置子模块,用于根据商品间关联度的高低,设置相应的权重值;

权重值更新子模块,用于根据用户购买情况和商品促销情况及时更新商品之间的权重值;

融合模块,用于将商品搭配模型和基本商品知识图谱融合,形成关联商品知识图谱。

进一步地,所述关联商品知识图谱特征提取模块包括:

实体连接子模块,从历史购买记录中发现商品字典里的词汇,并与关联商品知识图谱中的实体进行匹配;

商品知识图谱提取模块,根据商品字典匹配到的实体,在关联商品知识图谱中抽取子图;

关联商品知识图谱特征学习子模块,使用知识图谱特征学习算法进行学习得到实体和关系向量。

进一步地,所述推荐模型构建模块,用于计算用户历史购买过的商品a与搭配模型匹配到的商品b的相似度,从而根据相似度的大小推荐商品;这里用到的计算商品相似度的算法是向量的余弦相似度来计算它们之间的相关性similarity,计算公式为:

本发明的有益效果是:

本发明提供的方法包括电商平台商品信息的智能获取;商品信息清洗,商品实体和关系智能提取,商品知识图谱构建;利用商品分类结合商品搭配模型对商品知识图谱中的实体进行融合,构建关联商品知识图谱;根据用户的历史购买记录确定待匹配商品实体,连接关联商品知识图谱,进行商品特征学习,降维得到商品实体和关系向量;计算知识图谱匹配到的商品间相关度,对相关度进行排序之后进行商品推荐。本发明通过关联商品知识图谱构建、更新,以及特征学习方法,构建商品推荐系统,可实现用户已购商品的关联商品的潜在需求挖掘,进而解决目前商品推荐系统在命中率和召回率低下问题,实现商品推荐命中率准确率的大幅度提升。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1为本发明实施例提供的基于知识图谱特征商品推荐系统的流程图;

图2为本发明实施例提供的基于知识图为了更清楚地说明本发明实施例中的技术方案,附图1-5是本发明的一些实施实例,可以根据这些附图实例拓展得到其他实例的实施方案。

图3为本发明实施例提供的商品实体融合流程示意图;

图4为本发明实施例提供的提取关联商品知识图谱特征的流程图;

图5为本发明的方法所构建的关于防滑垫的局部知识图谱的示例。

具体实施方式

本发明提出了一种基于商品知识图谱特征学习的推荐方法及系统,可实现用户已购商品的关联商品的潜在需求挖掘,进而解决目前商品推荐系统在命中率和召回率低下问题,使得商品推荐的精确度和成功率大幅度提升。

第一方面,本发明提供了一种商品推荐系统,包括:构建商品关联知识图谱,商品推荐模块。上述构建商品搭配知识图谱模块包括以下步骤:

第一步是数据采集与清洗模块,商品网站的每个商品页面中通常存在大量的实体,实体间的语义关系可以有效地扩展为商品搭配。数据采集是从商品网页上爬取所需要的信息,主要有商品的名称,商品的类别,商品的价格,商品的评论等。将爬取到的数据进行文本预处理(包括分词,标记词性,去噪等),根据商品词典,提取出实体和关系。

第二步是根据提取的实体和关系构建基本商品知识图谱,将商品知识图谱存于neo4j中。商品知识图谱是一个由三元组<头节点,关系,尾结点>组成的异构网络,也可以说这个三元组是<实体a,关系,实体b>,例如:<衣架a,属于,生活用品>;<被套c,定价为,价格>等等。

第三步是利用商品关联模型,通过商品之间的关联度来对知识图谱中的节点间连线权重进行适时调整,动态反映出商品与商品之间的关联度。商品之间的关联度越高,节点间分配到的权重越大。反之,节点之间的连接权重越小。在基本商品知识图谱上补充得出关联商品知识图谱,存入neo4j图数据库。用户对于某些商品的潜在购买可能性与曾经购买的商品有较大的相关性,例如,某用户买了被套,则蚊帐、枕头等与被套等使用关联度较高的产品,具有很高的潜在购买可能性,然而传统的推荐算法,通常只会给用户推荐已经买过的被套类商品类型,而不会推荐蚊帐、枕头,而被套对于普通用户来说再次购买这些商品的可能性较低,使得商品推荐的准确率和成功率较低。因此,本发明引入商品搭配模型的商品知识图谱可以有效解决此类问题,从而使得推荐系统能够提高准确率和成功率。如<被套,搭配,枕头>;<被套,搭配,被芯>等是本发明中的知识图谱三元组的典型例子。

上述构建商品推荐模块是结合知识图谱特征学习,利用transe和余弦向量算法进行商品推荐。

第二方面,本发明提供了一种推荐商品的方法,该方法有两步:

第一步是提取关联商品知识图谱特征,具体步骤包括:

a1、实体连接。即从历史购买记录中发现商品字典里的词汇,并与关联商品知识图谱的实体进行匹配;

a2、抽取关联商品知识图谱。根据所有匹配到的实体,在关联商品知识图谱中抽取子图。子图的大小会影响后续算法的运行时间和效果:越大的子图通常会学习到更好的特征,但是所需的运行时间越长;

a3、关联商品知识图谱特征学习。使用知识图谱特征学习算法进行学习得到实体和关系向量。在本发明中使用transe算法进行关联商品知识图谱特征学习,将商品实体映射到k维空间,在k维向量空间中,几何上越接近的实体相关性越大,则商品关联度越高。

第二步是构建商品推荐模型,在a3的基础上得到实体向量,利用余弦相似度来计算实体之间的相关性,对计算结果进行排序,根据排序结果对用户进行商品推荐。

知识图谱特征学习模块和推荐系统模块相互独立。在真实场景中,特别是知识图谱很大的情况下,进行一次知识图谱特征学习的时间开销会很大,而一般而言,知识图谱远没有推荐模块更新地快。因此我们可以先通过一次训练得到实体和关系向量,以后每次推荐系统模块需要更新时都可以直接使用这些向量作为输入,而无需重新训练。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行具体描述:

在实例中,如图2所示,一种基于商品知识图谱特征学习的推荐方法,包括如下步骤:

s101、数据采集与清洗,提取实体和关系,构建商品知识图谱。

本实施例中,提前收集了某电商网站的所有商品的数据,其中主要包括商品的名称,商品的价格,商品的分类,商品的评论等。例如某个电商平台上某款洗发水的名称为“海飞丝洗发水净爽去油男士去屑洗190ml清爽持久控油”,价格为“29.90元”,分类是“家居”,商品的评论有“速度快了好多,今天买,第二天就到,我买了两包化妆棉,性价比很高,可以用好久。我还买了配套的护发素”。

针对收集到的商品的信息,根据商品词典,进行命名实体识别,提取实体与关系,构建基础商品知识图谱。由上例可以提取的知识图谱的三元组有<洗发水,品名,海飞丝>,<洗发水,分类,家居>,<洗发水,功能,净爽去油男士去屑>,<洗发水,容量,190ml>等,将数据存储到图数据库neo4j中。

s102、融合商品实体,生成关联商品知识图谱。

融合实体在本实施例中,指的是对基础商品知识图谱和商品搭配模型进行实体融合。其中“商品搭配模型”是本发明自己命名的,不是传统定义上的组合商品,组合商品是几件东西同时购买有优惠,而本发明中的商品搭配是为用户推荐已经购买过的商品的搭配商品。商品搭配模型本身也是一个商品知识图谱,是将商品作为节点,两个商品之间有联系则将两者进行连接。通过给商品搭配模型中的节点间分配不同的权重可以体现不同物品的关联度的差异。

商品搭配模型通过商品类型之间的相似度来对知识图谱中的节点间连接权重进行动态修改,能够反映出商品与商品之间的关联度。商品之间的关联度越高,节点间分配到的权重越大。反之,节点之间的连接权重越小。将新的节点添加到原有的知识图谱中,从而构建出关联商品知识图谱,使得商品知识图谱更加完善。为了便于理解,如图3所示,进一步地,所述步骤s102可以包括:

201、根据网站中的商品分类构建商品搭配模型;本步骤是要自己构建商品搭配模型的,和步骤s101类似,不同的是实体和关系的选择规则不同。在本步骤中,主要依靠商品的分类这个信息,商品分类是我们之前收集到的商品信息中的一个特征。实体也就是商品搭配模型中的节点主要是商品,同一类商品之间有连接线。

202、根据商品间关联度的高低,设置相应的权重值;本步骤是根据商品间关联度的高低,设置对应关系相应的权重值。刚开始设置权重值时,主要是根据商品的分类和历史购买来设置权重值。

203、根据用户购买情况和商品促销情况及时更新商品之间的权重值;本步骤是根据实际情况更改权重值,实际情况是变化的,所以会设置时间段,一段时间重新设置权重值,权重值是两个商品节点之间连接线上的值,可以直接反应两个商品之间的关联度。

204、将商品搭配模型和基本商品知识图谱融合,形成关联商品知识图谱;本步骤主要是将构建好的商品搭配模型加入到基本商品知识图谱中,进行实体融合,从而形成新的带商品搭配模型的知识图谱,这也是本发明的关键技术点和创新点。即原有的商品知识图谱中没有关联的商品,将商品搭配模型融入到原有的商品知识图谱中,就会出现新的关联商品的知识图谱。例如上面洗发水的例子,就可以新增加一些知识图谱的三元组<洗发水,相关度,护发素>,<护发素,相关度,护发梳>,<洗发水,相关度,染发剂>等。

s103、提取关联商品知识图谱特征。在本发明中我们使用依次学习,即先使用商品知识图谱特征学习得到实体向量和关系向量,然后将这些低维向量引入商品推荐系统中。为了便于理解,如图4所示,进一步地,提取商品知识图谱特征的步骤s103可以包括:

301、实体连接:即从历史购买记录中发现商品字典里的词汇,并与关联商品知识图谱中的实体进行匹配;本步骤将用户历史购买的商品名称进行hanlp分词,举例说明:“pvc浴缸防滑垫加长款地垫带吸盘环保塑料浴室防滑垫”,利用此分词可以为“pvc/nx,浴缸/n,防滑垫/nz,加长/v,款/q,地垫/nz,带/v,吸盘/n,环保/n,塑料/n,浴室/n,防滑垫/nz”,其中建立自定义商品字典,标记词性为nz,提取nz词性的词语作为实体名称,本实例中提取到了“防滑垫”这一商品名。

302、提取商品知识图谱:根据商品字典匹配到的实体,在关联商品知识图谱中抽取子图;本步骤是在原始的商品知识图谱中抽取的子图,子图主要是上个步骤中提取到的nz词性的实体为圆心,与它有连线的实体都留下,没有连线的实体都删除,形成新的以已购买过的商品为圆心的商品知识图谱子图。子图的大小会影响后续算法的运行时间和效果:越大的子图通常会学习到更好的特征,但是所需的运行时间越长。所以要结合现实情况进行考虑。图5是关于防滑垫的一个小的知识图谱的例子。

303、关联商品知识图谱特征学习:使用知识图谱特征学习算法进行学习得到实体和关系向量;本步骤这里用到的知识图谱特征学习算法是transe算法,即将知识图谱里的三元组向量化,向量化的目的是将实体和关系映射到低维连续的向量空间,方便接下来的计算。

transe的直观含义,就是transe基于实体和关系的分布式向量表示,将每个三元组实例(实体a,关系,实体b)中的关系看作从实体a到实体b的翻译(其实就是向量相加),通过不断调整向量h、向量r和向量t(实体a、关系和实体b的向量),使(h+r)尽可能与向量t相等,即h+r=t。如果是一个错误的三元组,那么它们特征之间就不满足这种关系。经过训练找到满足条件的特征实体向量。

s104、构建推荐模型。这里主要是计算用户历史购买过的商品a与搭配模型匹配到的商品b的相似度,从而根据相似度的大小推荐商品。这里用到的计算商品相似度的算法是向量的余弦相似度来计算它们之间的相关性similarity

余弦相似度,是用向量空间中两个向量夹角的余弦值作为衡量两个个体间差异的大小的度量。余弦值越接近1,就表明夹角越接近0度,也就是两个向量越相似,反之这两个向量越不相似。对结果进行排序,给用户推荐相似度高的相关商品。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1