CN111161021B - 基于实时特征的推荐商品的快速二次排序方法 - Google Patents
基于实时特征的推荐商品的快速二次排序方法 Download PDFInfo
- Publication number
- CN111161021B CN111161021B CN201911336903.6A CN201911336903A CN111161021B CN 111161021 B CN111161021 B CN 111161021B CN 201911336903 A CN201911336903 A CN 201911336903A CN 111161021 B CN111161021 B CN 111161021B
- Authority
- CN
- China
- Prior art keywords
- user
- commodity
- commodities
- portrait
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0631—Item recommendations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9536—Search customisation based on social or collaborative filtering
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Economics (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Development Economics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于实时特征的推荐商品的快速二次排序方法,包括以下步骤:计算各商品之间的关联性,得到商品画像;计算该用户与各商品之间的关联性,得到用户画像;进行模型训练,得到商品召回模型;当检测到特定用户访问时,首先根据该特定用户的用户画像利用商品召回模型获得待召回商品,然后再根据用户本次访问的商品以及前次访问的商品按照从新到旧的顺序选取预定数量的商品,作为用户的交易信息,对用户重新进行用户画像;根据重新得到的用户画像,再利用商品召回模型重新计算上述待召回商品的分值,按照这次计算的分值,作为待召回商品的显示排序依据。本发明还公开了基于上述方法的电子设备与存储介质。
Description
技术领域
本发明涉及电子商务中的商品推荐领域。更具体地,涉及基于实时特征的推荐商品的快速二次排序方法,以及相关电子设备和存储介质。
背景技术
随着互联网和电子商务的快速发展,网上购物已经成为了常态。网上购物的种类多样,用户多出于实际需求和兴趣进行购物。用户在网上浏览或者购物的时候,互联网公司还会给用户进行商品推荐,推荐基本上都是根据用户历史购买和浏览的商品记录进行的。
那么系统到底是如何推送商品的呢?
系统推送商品这件事的本质是系统根据一定的推荐策略进行商品的“召回(match)”,也就是推荐系统根据用户画像和商品画像去推荐商品。
这里面涉及到两个关键问题:召回和排序。
“召回(match)”指从全量信息集合中触发尽可能多的正确结果,并将结果返回给“排序”。
召回的方式有多种:协同过滤、主题模型、内容召回和热点召回等,而“排序(rank)“则是对所有召回的内容(也就是召回的商品)进行打分排序,选出得分最高的几个结果推荐给用户。
在搜索系统中,用户会输入明确的搜索词,根据搜索词进行内容的召回和呈现即可。但在商品推荐系统中,用户可能会没有一个明确的检索词(Query)输入,而只是购买了或者浏览了某商品。推荐系统需要做的,就是根据用户画像、内容画像等各种信息为用户推荐他可能感兴趣的其它商品。
另外,由于没有明确的检索词,推荐系统就需要从整个信息集合中挑选出尽可能多的相关结果,同时又需要剔除相关性较弱的结果,降低排序阶段的工作量。
推荐系统如何召回?
召回策略主要包含两大类,即基于内容匹配的召回和基于系统过滤的召回。
1.基于内容匹配的召回
内容匹配即将用户画像与内容画像进行匹配,又分为基于内容标签的匹配和基于知识的匹配。
例如,A用户的用户画像中有一条标签是“喜欢麻辣口味”,那么在他买了麻辣小龙虾之后,可以为他推荐麻辣豆腐干,麻辣鱿鱼等,这就是“基于内容标签的匹配”。
“基于知识的匹配”则更进一步,需要系统存储一条“知识”——麻辣小龙虾是河鲜,这样就可以为买麻辣小龙虾的用户推荐大闸蟹。基于内容匹配的召回较为简单、刻板,召回率较高,但准确率较低(因为标签匹配并不一定代表真的感兴趣),比较适用于冷启动的语义环境。
2.基于协同过滤的召回
如果仅使用上述较简单的召回策略,推荐内容会较为单一,目前业界最常用的基于协同过滤的召回,它又分为基于用户、基于项目和基于模型的协同过滤。
其中,基于用户(User-based)的协同推荐是最基础的,它的基础假设是“相似的人会有相同的喜好”,推荐方法是,发现与用户相似的其他用户,用用户的浏览记录或者购买记录做相互推荐。
例如,通过浏览记录或者购买记录发现用户一与用户二的偏好类似,就将用户一购买的商品推送给用户二。
基于项目(Item-based)的协同过滤中的“项目”可以视场景定为信息流产品中的“内容”或者电商平台中的“商品”,其基础假设是“喜欢一个物品的用户会喜欢相似的物品”计算项目之间的相似性,再根据用户的历史偏好信息将类似的物品推荐给该用户。
基于模型的协同过滤推荐(Model-based)就是基于样本的用户喜好信息,训练一个推荐模型,然后根据用户喜好的信息进行预测推荐。
总体来说,基于协同过滤的召回即建立用户和内容间的行为矩阵,依据“相似性”进行分发。这种方式的准确率较高。
本发明使用的背景技术就是这种基于协同过滤的召回。
但是,本发明主要用在医药行业,医药行业有其特殊性。
在医药行业,用户往往是根据目前的身体状况进行药品购买,也就是目前的需求性要远大于兴趣,这时候根据用户的历史行为进行推荐和排序,或者根据历史上身体状况与该用户类似的其它用户的历史行为进行推荐和排序,不能及时的把用户感兴趣的药品排到推荐列表的前列,往往起到的效果有限,不能很好的提供推荐服务,所以需要把用户最新的需求考虑到二次排序的工作中,目前在这面的商品推荐排序并没有看到相关的专利技术。
那么如何了解用户本次身体状况,及时地根据本次身体状况来推荐药品,是亟待解决的技术难题。
发明内容
本发明的一个目的是至少解决上述问题,并提供后面将说明的其它优点;
本发明另一个目的是提供一种基于实时特征的推荐商品的快速二次排序方法,针对用户在不同次购物中,每次需求变化大的这种情况,还能够相对准确地将用户需求的商品推荐给用户;
本发明的又一个目的是提供一种基于实时特征的推荐商品的快速二次排序方法,能够根据用户的当前行为,实时行为,快速地进行商品推荐;以及
本发明的再一个目的是提供基于实时特征的推荐商品的快速二次排序的电子设备,以及存储介质,以实现上述方法。
为了实现根据本发明的这些目的和其它优点,提供了基于实时特征的推荐商品的快速二次排序方法,包括以下步骤:
利用按次分类的商品交易信息,计算各商品之间的关联性,得到商品画像。这里的商品画像并不是根据商品标签得到的。商品标签是指例如,标记在风热感冒颗粒上的感冒药,风热,和同仁堂之类的这样的标签。这里的商品画像是根据系统中,一次交易同时购买的商品决定的。例如,在一次交易中,有用户同时购买了维生素C和风热感冒颗粒,这就说明了维生素C和风热感冒颗粒之间,存在一定的联系,可能都是用来治疗感冒的。又例如,在又一次交易中,有用户同时购买了补盐液和黄连素,这也能够说明,补盐液和黄连素之间,存在一定的联系,可能都是用来治疗腹泻的。因此,当系统利用所有交易信息统计商品与商品之间的联系的时候,就能够得出一个商品与其它商品之间的关联情况,这是我们这里商品画像的含义。所谓所有交易信息,其实可以是一定时间窗口内的所有交易信息。例如为近一年内的所有交易信息。因为商品的购买是具有一定的流行性的,药品也是一样。例如,前些年,既含有中药成分又含有西药成分的维C银翘片是很多家庭的常备感冒药,非常流行。而这几年,因为副作用存在不可控的风险,维C银翘片已经逐渐退出了感冒药的首选药物行列。因此,在对商品进行画像的时候,往往是取近期内一段期限内的交易记录,来进行统计和计算。也可能是特定一段期限内的交易记录,而去除了近期。例如,近期发生了某种流行病,如非典,导致买板蓝根的人非常多。那么非典过去之后,要把非典这一段时间窗口的数据除去,再对商品进行画像,才比较准确。
此外,本发明中的交易信息不仅仅包括一次购买成功的信息,还可以包括一次浏览的信息,虽然最后并未成功购买,但是这些被一次浏览的多个商品之间,也会存在一定的关联。只是一次浏览的信息的权重低于一次购买成功的信息的权重。
根据各用户的交易信息和各商品画像,计算该用户与各商品之间的关联性,得到用户画像;这时候,用户的交易信息就是指这个用户在系统中的所有交易信息,也可能是一个时间窗口内的交易信息。在前面的步骤中,已经得到了商品画像。这时候,再根据用户的ID取出用户交易信息中的所有商品,用这些商品的商品画像来计算出用户画像。
根据各商品画像和用户画像进行模型训练,得到商品召回模型;模型训练是人工智能中的常用方法,选用一些通用的模型训练方法即可。
当检测到特定用户访问时,首先根据该特定用户的用户画像利用商品召回模型获得待召回商品。这里获得的待召回商品,也是根据打分排序而在一系列待召回商品中,取评分靠前的若干商品而得到的。这个排序过程算作是一次排序。一次排序的目的是为了得到待召回哪些商品,召回的商品就是被推荐的商品。
然后再根据用户本次访问的商品以及前次访问的商品按照从新到旧的顺序选取预定数量的商品,作为用户的交易信息,对用户重新进行用户画像。由于本发明针对的是用户各次购买,需求变化可能比较大的商品,例如药品,因此调用本次用户登录用所访问的(浏览的或者购买的)商品,非常重要。预定数量可以根据需求而定,例如为5-20个。
假定预定数量为10个。如果在进入到推荐界面之前,用户本次访问的商品已经有15个,那么本次访问的商品已经超过了10个,则取用户本次访问的商品中最后10个即可。如果在进入到推荐页面之前,用户本次访问的商品有8个,那么就取用这8个,然后再按照时间顺序,调取上次用户访问本系统时的2个商品即可。
根据这10个商品的商品画像,重新对用户进行用户画像,这个速度是非常快的,瞬间就能完成。
根据重新得到的用户画像,再利用商品召回模型重新计算上述待召回商品的分值,按照这次计算的分值,作为待召回商品的显示排序依据。这个排序过程算作是二次排序。也就是说,一次排序确定召回哪些商品,而二次排序确定这些召回的商品以什么样的顺序展示。
如果利用商品召回模型失败,那么还可以利用计算商品与用户之间的距离分值来进行二次排序。计算距离分值的方法为:利用商品画像和用户画像,计算商品与各用户之间的距离特征,所述距离特征包括欧氏距离或余弦相似度。并且,计算距离得出分值不仅可以应用在二次排序中,还可以应用在线下的模型训练中。
用户访问的系统可以为PC机上的web页面,也可以是手机APP上的页面。
所述的基于实时特征的推荐商品的快速二次排序方法,还包括以下步骤:
利用商品的包括浏览信息在内的交易信息,计算各商品的转化率特征;
根据各商品画像,用户画像和各商品的转化率特征进行模型训练,得到商品召回模型。这里在进行模型训练时,多了一个训练要素,就是计算商品的转化率特征。转化率特征是表现某件商品的浏览量与购买量之间的关系。这样得到的商品召回模型,更加准确。
所述的基于实时特征的推荐商品的快速二次排序方法,还包括以下步骤:
利用商品画像和用户画像,计算商品与各用户之间的距离特征,所述距离特征包括欧氏距离或余弦相似度;
利用各商品画像,用户画像,各商品的转化率特征和距离特征进行模型训练,得到商品召回模型。商品与用户之间的距离特征,是反映某件商品与某个用户之间的距离的。例如,治疗癌症的药品与只患单纯皮肤病的患者之间的距离就很远,而与相应癌症患者的距离就很近。增加这个要素进行模型训练,也是为了提高商品召回模型的准确性。
基于实时特征的推荐商品的快速二次排序方法中,所述商品交易信息中包括用户购买的商品和用户浏览的商品,在计算各商品之间的关联性时,用户购买的商品和用户浏览的商品在数值上不同。数值不同就是权重不同,目的是为了区分两者的关键程度不同。
所述的基于实时特征的推荐商品的快速二次排序方法中,计算各商品之间的关联性采用word2vector算法,计算出商品的特征向量,作为商品画像。word2vector是一种算法,将词汇计算为向量。这种方法之前未见用于商品的特征向量计算。
所述的基于实时特征的推荐商品的快速二次排序方法中,商品的特征向量以50维向量代表。以50维向量代表这样的计算量是比较小的,能够提高计算速度。
所述的基于实时特征的推荐商品的快速二次排序方法,计算该用户与各商品之间的关联性是通过统计用户购买过的商品,根据商品画像进行加和取均值来计算。用户画像是通过商品画像来计算的。
所述的基于实时特征的推荐商品的快速二次排序方法中,计算各商品的转化率特征时,分不同的时间窗口进行计算。不同的时间窗口,可以会有一些外在的因素影响转化率,因此要分窗口期。
所述的基于实时特征的推荐商品的快速二次排序方法中,训练模型在spark平台上进行,且使用GBDT+LR或Random Forest算法进行计算训练。
所述的基于实时特征的推荐商品的快速二次排序方法中,用户本次访问的商品以及前次访问的商品按照从新到旧的顺序选取预定数量的商品为:在redis里面存储的用户在进入APP之后点击过的商品,按照时间顺序,选取最近的10个商品。Redis(远程字典服务)是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
本发明还提供了电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行上述任一项所述的方法。
本发明还提供了存储介质,其上存储有计算机程序,该程序被处理器执行时,实现上述任一项所述的方法。
本发明至少包括以下有益效果:1)能够根据用户的当前操作,快速更改用户画像;2)提高推荐商品的效率;3)能够利用更改后的用户画像得到更加准确的商品推荐排名;4)能够利用除商品画像和用户画像之外的商品转化率要素和用户与商品的距离要素,更加准确地推荐商品;5)能够根据用户的实时操作,快速更改商品推荐。
本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
附图说明
图1为表示本发明商品推荐系统的流程示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
应当理解,本文所使用的诸如“具有”、“包含”以及“包括”术语并不配出一个或多个其它元件或其组合的存在或添加。
本公开设计计算机领域,具体涉及一种用于个性化推荐的推荐排序方法,和排序工程架构。
随着互联网和电子商务的快速发展,网上购物已经成为了常态。网上购物的种类多样,用户多出于实际需求和兴趣进行购物。互联网公司再给用户进行商品推荐的时候,基本上都是根据用户历史购买和浏览的商品进行推荐,起到了不错的效果,但是在医药行业,用户往往是根据目前的身体状况进行药品购买,也就是目前的需求性要远大于兴趣,这时候根据用户的历史行为进行推荐和排序,不能及时的把用户感兴趣的药品排到推荐列表的前列,往往起到的效果有限,不能很好的提供推荐服务,所以需要把用户最新的需求考虑到二次排序的工作中,目前在这面的商品推荐排序并没有看到相关的专利技术。
本发明剔除的一种用于个性化推荐的排序方法,排序模型的特征工程,和实时推荐系统,针对目前商品推荐的二次排序不能及时捕捉到用户实时需求的问题,进行解决。
首先根据系统内的交易数据,进行数据分析,分出:
1、样本工程:清洗用户浏览和购买的行为数据,商品类型数据,删除掉干扰数据,保证样本的准确性。得到三份数据:
注:这里是所有用户的数据
用户行为-标签数据,用户购买商品为正样本,用户仅浏览无购买是负样本
格式为:用户id,商品id,行为时间,标签(1为正样本,0为负样本)
正样本:
54355,508943,2018-01-03 03:09:38,1
54355,107729,2018-01-03 03:09:38,1
13150,106657,2018-01-03 03:10:20,1
13150,532052,2018-01-03 03:10:20,1
55247,328371,2018-01-03 03:12:27,1
负样本:
31100,105964,2018-01-01,0
14043,105964,2018-01-01,0
23240,105964,2018-01-01,0
17754,105964,2018-01-01,0
22588,105964,2018-01-01,0
2、用户-订单数据,用户购买过得商品按照时间顺序继续排序
每个用户购买的记录作为一句话,每行只有商品id,用空格进行分隔,具体如下:
310521 228994 181514 228850 106723
538839 126432 548664 541339 126432 129845 105992 337410 543035 520253537396 105284 104586 531293 510632
541339 108891 532918 110013 532918 110013
3、用户-购买_浏览商品数据:用户购买和浏览过的商品,购买的商品在前,浏览的商品在后,分别按照时间顺序排列
格式为:用户id,\t,一串商品id(用逗号分隔)
45629 103658,272654,272654,100445,328383,106874,124813,228854,
60173 124084,117769,523335,523335
分出三种数据之后,进行特征计算,也就是特征工程,包括以下三个维度:
(1)商品特征:用户-订单数据使用word2vec算法计算商品的相关性,得到特征的向量。
格式为:商品id,逗号,商品特征向量(用逗号分隔,50维向量为例)
106746,2.006,-0.002,-2.892,1.317,1.569,0.541,-1.221,-0.3,-1.528,-0.665,2.507,-1.718,0.458,0.224,-1.129,1.602,1.943,0.476,1.908,1.152,1.732,0.014,-1.328,0.986,-2.754,-1.774,-0.218,4.913,-0.693,1.396,-1.936,-0.541,1.296,-2.909,-4.453,-1.452,-2.532,0.596,-0.791,0.61,-1.977,1.575,-0.191,3.801,-1.505,-3.263,-0.492,-0.218,-2.098,0.778
501697,2.349,-1.866,-4.693,0.153,3.68,1.751,-0.428,-2.757,-1.841,-2.917,1.773,-2.928,0.1,-0.871,-1.574,0.404,0.188,0.612,1.265,-1.999,0.254,-0.885,-0.06,-0.743,-1.596,-0.524,-2.692,5.709,-2.13,1.931,1.843,0.048,1.166,-1.97,-2.273,-0.612,-1.656,-1.054,-1.932,-0.3,-1.286,-0.533,-0.326,2.332,-2.497,-2.474,0.495,-2.234,-0.567,0.037
(2)用户特征:用户购买过的商品,根据商品特征进行加和取均值来代表。
格式为:用户id,逗号,用户特征向量(用逗号分隔,50维向量为例)
45629,2.612,-2.016,-3.745,0.579,1.396,2.274,-1.603,-0.94,0.027,-1.755,1.387,-1.706,-0.048,-0.869,-2.314,-2.026,0.376,-2.763,-0.948,-2.899,-0.671,-0.406,0.146,-1.284,-2.961,0.175,-3.83,2.612,0.27,1.237,1.322,-0.314,1.011,-1.825,-1.051,-0.563,-0.382,-0.685,-1.143,-1.548,-1.894,-1.187,-1.416,3.111,-4.205,-0.434,0.821,-0.192,-1.389,1.231
60173,1.021,-1.479,-1.418,2.076,-0.774,-0.692,1.429,1.086,1.961,-3.035,-1.92,0.192,-1.364,-1.558,0.719,-2.846,1.457,0.733,-1.531,0.455,1.678,-2.995,0.211,-1.761,-0.593,0.754,-1.012,-1.988,-0.967,3.868,-0.624,-1.06,-0.87,-0.686,-1.567,0.92,-5.187,2.117,0.944,-1.05,0.293,3.704,-3.483,-0.82,-1.624,-1.539,-1.939,0.725,-1.045,-0.737
(3)复合特征:商品和用户的距离特征,商品不同时间窗口的转化率特征。
格式为:商品id,逗号,商品符合特征向量(用逗号分隔)
101336,-1.351,0.443,0.701,-0.427,-0.233,-0.371,0.7,0.6,0.3
106773,1.158,0.658,2.956,1.361,-1.426,1.393,0.8,0.6,0.6
计算出三组特征之后,进行模型训练,也就是算法工程:
在spark平台对用户行为-标签数据进行转换成标签-特征数据,使用
LR/GBDT/Randomforest等算法进行模型训练,得到相应的模型
不同模型的描述方法不同,此处采用PMML预言模型标记语言进行描述,例子如下:
(注:全部模型的话大概几千到上万行,在此不全部贴出)
4、模型的使用
商品被召回之后,进行二次排序层,根据用户id和商品id首先组合成特征向量:
根据商品id查询商品的特征向量,作为商品特征
500742,0.912,-0.426,-0.583,-1.688,-2.747,0.266,-0.163,-1.33,0.058,1.099,-1.502,0.18,3.141,2.722,-0.609,-4.158,-3.208,0.856,3.715,-0.818,2.904,0.283,-3.109,-2.502,1.923,0.899,0.539,1.701,2.237,-2.78,4.357,0.228,2.187,-0.584,-1.315,0.367,-1.752,1.56,0.851,-2.313,0.653,0.407,0.029,-1.463,-0.201,-2.712,2.317,-2.16,-1.014,0.398
106735,-3.612,1.468,2.241,3.117,-0.212,-1.44,1.784,2.387,-0.275,3.829,-1.555,3.203,-0.496,0.449,-4.296,3.873,1.399,-1.774,-1.177,-0.421,-2.231,1.193,-2.451,0.442,1.553,-1.277,-1.4,0.278,-3.519,-0.746,-3.392,1.275,-0.343,0.342,-0.347,-0.351,5.554,-1.749,-0.317,-0.992,2.203,1.852,1.619,-1.421,0.651,0.528,-1.161,-2.002,-0.028,0.076
根据用户id拿到redis里面存储的用户在进入app之后点击过得商品,按照时间顺序,截取最近10个商品,如果不足10个,则查询用户-购买_浏览商品数据,用里面最近的数据进行补充,补足10个,如果这里面的数据也不够10个的话,就有多少算多少,然后通过这些商品的id查询特征向量,并取均值作为用户特征。
310521,0.633,0.302,-0.644,0.924,-0.396,4.496,-2.248,-1.661,-1.0,2.285,-2.74,0.083,-0.711,-0.216,-1.177,0.772,1.782,2.123,-0.235,-1.749,-0.118,1.466,0.791,-0.58,-1.973,-1.141,1.65,-4.459,1.985,0.337,2.312,-0.606,-0.813,1.076,3.201,-2.557,-0.443,-0.349,1.184,2.879,1.105,1.581,1.615,-1.984,-1.111,-0.978,1.734,1.827,-3.544,-2.992
538839,0.755,0.126,-3.707,1.332,0.847,-0.614,0.526,-1.785,-1.16,-3.705,1.432,-2.117,-0.835,-3.247,-1.977,0.206,1.982,2.222,-0.976,-0.698,1.17,-1.198,-0.222,0.189,-1.784,-0.182,-0.968,6.011,-1.732,1.39,1.509,-0.548,1.041,-1.472,-0.889,0.172,-0.817,-1.714,-0.901,0.58,-1.298,-1.397,-0.447,4.091,-3.093,-1.374,-0.581,-2.663,0.551,0.018541339
根据用户特征和商品特征计算距离特征,以及查询商品不同时间窗口的转化率特征,并进行组合,作为复合特征
101336,-1.351,0.443,0.701,-0.427,-0.233,-0.371,0.7,0.6,0.3
106773,1.158,0.658,2.956,1.361,-1.426,1.393,0.8,0.6,0.6
把用户特征、商品特征和复合特征组合到一起,拼成完整的商品id+特征的格式,作为预测特征矩阵,输入到模型中,得到商品id+用户打分score,然后使用score值对商品进行排序,得到二次排序的结果。
310521,0.973,0.67,-0.836,-0.748,0.306,1.729,-1.493,0.233,0.304,-4.953,2.643,1.404,0.497,4.585,1.088,-0.537,0.42,-0.021,-1.327,-2.763,0.695,-1.198,0.698,-0.807,-2.507,-0.639,-1.072,-2.425,-1.09,4.369,-2.445,-1.613,0.734,0.184,-0.415,0.931,4.133,-0.182,-2.525,0.258,1.129,0.664,-3.359,1.46,-1.03,1.631,1.439,-0.791,-1.409,0.633,0.302,-0.644,0.924,-0.396,4.496,-2.248,-1.661,-1.0,2.285,-2.74,0.083,-0.711,-0.216,-1.177,0.772,1.782,2.123,-0.235,-1.749,-0.118,1.466,0.791,-0.58,-1.973,-1.141,1.65,-4.459,1.985,0.337,2.312,-0.606,-0.813,1.076,3.201,-2.557,-0.443,-0.349,1.184,2.879,1.105,1.581,1.615,-1.984,-1.111,-0.978,1.734,1.827,-3.544,-2.992,-1.351,0.443,0.701,-0.427,-0.233,-0.371,0.7,0.6,0.3
538839,0.126,-3.707,1.332,0.847,-0.614,0.526,-1.785,-1.16,-3.705,1.432,-2.117,-0.835,-3.247,-1.977,0.206,1.982,2.222,-0.976,-0.698,1.17,-1.198,-0.222,0.189,-1.784,-0.182,-0.968,6.011,-1.732,1.39,1.509,-0.548,1.041,-1.472,-0.889,0.172,-0.817,-1.714,-0.901,0.58,-1.298,-1.397,-0.447,4.091,-3.093,-1.374,-0.581,-2.663,0.551,0.018541339,0.158,0.658,2.956,1.361,-1.426,1.393,0.8,0.6,0.6
打分结果为:用户id,商品id,分值,例子如下:
可替代实施方案:
如果模型训练有问题,或者没有读取到模型的话,可以直接用用户特征和商品特征的距离计算,来作为打分结果,把商品按照距离从小到大的顺序进行排列。
图1示出了本发明的一种实现方式。在图1中,模型训练属于线下部分,即在用户上线之前,已经预先做好了模型训练。这个模型训练也会随着交易数据的变化而更新,但这些都是在用户上线之前完成的。线下部分的任务就是训练模型,利用用户行为日志,就是用户画像,用户商品特征就是商品画像以及复合特征,复合特征包括两部分,一个是商品转化率,一个是商品与用户的距离,通过这是三个要素,进行模型训练。在线上部分中,uid是用户id,pid是商品id。当有用户上线时,我们根据用户的此次交互的商品,确定新的用户画像,以此来推荐商品。如果调用模型失败,也可以单纯根据用户与商品的距离值来推荐商品。
本发明(或实用新型)技术方案带来的有益效果
根据用户的订单来确定商品之间的关系,而取代了商品外在标签的描述,更能反应商品之间的联系和区别,并用商品特征来描述用户特征,强化了用户和商品的联系,提高了模型的训练效果。使用用户刚刚打开app查询或者点击过得商品,用来构造用户的特征,能够反映用户此次的疾病和实际需求,以此特征来让模型打分,获得此次用户最优的二次排序结果,提供优质的推荐服务。
本发明至少包括以下优点:
1、word2vec本来是NLP领域进行文字和语言分析的算法,引入修改之后以用户时间序列的订单作为句子,来进行训练,找到商品之间的关系,获得商品特征向量。
2、使用用户购买过的商品,对特征取均值,来作为用户的向量,进行模型的训练
3、从redis里读取用户刚刚点击过的若干个商品,计算其向量的均值,作为用户实时的特征画像,来反映用户的需求。
4、一整套设计的线下计算和线上服务系统的架构。
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用,它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特定的细节和这里示出与描述的图例。
Claims (12)
1.基于实时特征的推荐商品的快速二次排序方法,其特征在于,包括以下步骤:
利用按次分类的商品交易信息,计算各商品之间的关联性,得到商品画像;
根据各用户的交易信息和各商品画像,计算各用户与各商品之间的关联性,得到用户画像;
根据各商品画像和用户画像进行模型训练,得到商品召回模型;
当检测到特定用户访问时,首先根据该特定用户的用户画像利用商品召回模型获得待召回商品,然后再根据用户本次访问的商品以及前次访问的商品按照从新到旧的顺序选取预定数量的商品,作为用户的交易信息,对用户重新进行用户画像;
根据重新得到的用户画像,再利用商品召回模型重新计算上述待召回商品的分值或者计算商品与用户之间的距离分值,按照这次计算的分值,作为待召回商品的显示排序依据。
2.如权利要求1所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,还包括以下步骤:
利用商品的包括浏览信息在内的交易信息,计算各商品的转化率特征;
根据各商品画像,用户画像和各商品的转化率特征进行模型训练,得到商品召回模型。
3.如权利要求2所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,还包括:
计算商品与用户之间的距离分值的方法为:利用商品画像和用户画像,计算商品与各用户之间的距离特征,所述距离特征包括欧氏距离或余弦相似度;并且
训练模型时,利用各商品画像,用户画像,各商品的转化率特征和距离特征进行模型训练,得到商品召回模型。
4.如权利要求3所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,所述商品交易信息中包括用户购买的商品和用户浏览的商品,在计算各商品之间的关联性时,用户购买的商品和用户浏览的商品在数值上不同。
5.如权利要求1或者4所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,计算各商品之间的关联性采用word2vector算法,计算出商品的特征向量,作为商品画像。
6.如权利要求5所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,商品的特征向量以50维向量代表。
7.如权利要求5所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,计算各用户与各商品之间的关联性是通过统计用户购买过的商品,根据商品画像进行加和取均值来计算。
8.如权利要求2所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,计算各商品的转化率特征时,分不同的时间窗口进行计算。
9.如权利要求5所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,训练模型在spark平台上进行,且使用GBDT+LR或Random Forest算法进行计算训练。
10.如权利要求5所述的基于实时特征的推荐商品的快速二次排序方法,其特征在于,用户本次访问的商品以及前次访问的商品按照从新到旧的顺序选取预定数量的商品为:在redis里面存储的用户在进入APP之后点击过的商品,按照时间顺序,选取最近的10个商品。
11.电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-10中任一项所述的方法。
12.存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时,实现权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336903.6A CN111161021B (zh) | 2019-12-23 | 2019-12-23 | 基于实时特征的推荐商品的快速二次排序方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911336903.6A CN111161021B (zh) | 2019-12-23 | 2019-12-23 | 基于实时特征的推荐商品的快速二次排序方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111161021A CN111161021A (zh) | 2020-05-15 |
CN111161021B true CN111161021B (zh) | 2021-10-08 |
Family
ID=70557824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911336903.6A Active CN111161021B (zh) | 2019-12-23 | 2019-12-23 | 基于实时特征的推荐商品的快速二次排序方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111161021B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652631B (zh) * | 2020-06-09 | 2023-06-06 | 创新奇智(成都)科技有限公司 | 商品召回方法、装置、电子设备及计算机可读存储介质 |
CN111914164B (zh) * | 2020-06-20 | 2024-04-26 | 武汉海云健康科技股份有限公司 | 一种基于医疗大数据的用药预测方法及系统 |
CN111753206B (zh) * | 2020-06-29 | 2024-06-14 | 支付宝(杭州)信息技术有限公司 | 信息推送的方法和系统 |
CN113744016B (zh) * | 2020-11-04 | 2024-05-24 | 北京沃东天骏信息技术有限公司 | 一种对象推荐方法及装置、设备、存储介质 |
CN113822734B (zh) * | 2021-01-18 | 2024-07-19 | 北京沃东天骏信息技术有限公司 | 用于生成信息的方法和装置 |
CN114915844B (zh) * | 2021-11-08 | 2023-02-28 | 海看网络科技(山东)股份有限公司 | 一种iptv上实现实时智能推荐的方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206752A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 电子商务网站相关商品推荐系统及其方法 |
CN108665333A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 商品推荐方法、装置、电子设备和存储介质 |
CN109190043A (zh) * | 2018-09-07 | 2019-01-11 | 北京三快在线科技有限公司 | 推荐方法及装置,存储介质,电子设备及推荐系统 |
CN109189904A (zh) * | 2018-08-10 | 2019-01-11 | 上海中彦信息科技股份有限公司 | 个性化搜索方法及系统 |
CN109636494A (zh) * | 2017-10-09 | 2019-04-16 | 耀方信息技术(上海)有限公司 | 药品推荐方法及系统 |
CN110570279A (zh) * | 2019-09-04 | 2019-12-13 | 深圳创新奇智科技有限公司 | 一种基于用户实时行为的策略化推荐方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140351079A1 (en) * | 2013-05-24 | 2014-11-27 | University College Dublin | Method for recommending a commodity |
-
2019
- 2019-12-23 CN CN201911336903.6A patent/CN111161021B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101206752A (zh) * | 2007-12-25 | 2008-06-25 | 北京科文书业信息技术有限公司 | 电子商务网站相关商品推荐系统及其方法 |
CN108665333A (zh) * | 2017-03-31 | 2018-10-16 | 北京京东尚科信息技术有限公司 | 商品推荐方法、装置、电子设备和存储介质 |
CN109636494A (zh) * | 2017-10-09 | 2019-04-16 | 耀方信息技术(上海)有限公司 | 药品推荐方法及系统 |
CN109189904A (zh) * | 2018-08-10 | 2019-01-11 | 上海中彦信息科技股份有限公司 | 个性化搜索方法及系统 |
CN109190043A (zh) * | 2018-09-07 | 2019-01-11 | 北京三快在线科技有限公司 | 推荐方法及装置,存储介质,电子设备及推荐系统 |
CN110570279A (zh) * | 2019-09-04 | 2019-12-13 | 深圳创新奇智科技有限公司 | 一种基于用户实时行为的策略化推荐方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111161021A (zh) | 2020-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111161021B (zh) | 基于实时特征的推荐商品的快速二次排序方法 | |
CN111784455B (zh) | 一种物品推荐方法及推荐设备 | |
CN108536852B (zh) | 问答交互方法和装置、计算机设备及计算机可读存储介质 | |
CN106919619B (zh) | 一种商品聚类方法、装置及电子设备 | |
US9934293B2 (en) | Generating search results | |
US11682060B2 (en) | Methods and apparatuses for providing search results using embedding-based retrieval | |
CN108805598B (zh) | 相似度信息确定方法、服务器及计算机可读存储介质 | |
CN105224699A (zh) | 一种新闻推荐方法及装置 | |
CN107077486A (zh) | 情感评价系统和方法 | |
CN106062743A (zh) | 用于关键字建议的系统和方法 | |
US20190065611A1 (en) | Search method and apparatus | |
CN112488781A (zh) | 搜索推荐方法、装置、电子设备及可读存储介质 | |
CN110795613A (zh) | 商品搜索方法、装置、系统及电子设备 | |
CN114266443A (zh) | 数据评估方法和装置、电子设备、存储介质 | |
Hassan et al. | Sentimental analysis of Amazon reviews using naïve bayes on laptop products with MongoDB and R | |
Prasetyo | Searching cheapest product on three different e-commerce using k-means algorithm | |
CN115544242A (zh) | 基于大数据的同类商品选型推荐方法 | |
CN116402569A (zh) | 基于知识图谱的商品推荐方法、装置、系统及存储介质 | |
CN110781399A (zh) | 一种跨平台的信息推送方法和装置 | |
Filipiak et al. | Quantitative analysis of art market using ontologies, named entity recognition and machine learning: A case study | |
CN115618126A (zh) | 搜索处理方法、系统、计算机可读存储介质及计算机设备 | |
CN113792220A (zh) | 一种目标对象推荐方法、装置、计算机设备及存储介质 | |
CN113254775A (zh) | 一种基于客户浏览行为序列的信用卡产品推荐方法 | |
CN112256952A (zh) | 基于图数据库技术满足电商场景化搜索的方法 | |
Li et al. | Online commercial intention detection framework based on web pages |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |