CN111966908A - 推荐***和方法、电子设备和计算机可读存储介质 - Google Patents
推荐***和方法、电子设备和计算机可读存储介质 Download PDFInfo
- Publication number
- CN111966908A CN111966908A CN202010864639.XA CN202010864639A CN111966908A CN 111966908 A CN111966908 A CN 111966908A CN 202010864639 A CN202010864639 A CN 202010864639A CN 111966908 A CN111966908 A CN 111966908A
- Authority
- CN
- China
- Prior art keywords
- recommendation
- target
- information
- strategy
- policy
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 90
- 238000013500 data storage Methods 0.000 claims abstract description 53
- 238000004364 calculation method Methods 0.000 claims abstract description 25
- 230000008569 process Effects 0.000 claims abstract description 25
- 238000007726 management method Methods 0.000 claims description 96
- 230000004927 fusion Effects 0.000 claims description 44
- 230000004044 response Effects 0.000 claims description 21
- 238000001914 filtration Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 15
- 238000005457 optimization Methods 0.000 abstract description 22
- 238000013461 design Methods 0.000 abstract description 4
- 230000008901 benefit Effects 0.000 abstract description 2
- 230000008707 rearrangement Effects 0.000 description 26
- 230000003993 interaction Effects 0.000 description 13
- 238000003780 insertion Methods 0.000 description 12
- 230000037431 insertion Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 9
- 238000013523 data management Methods 0.000 description 8
- 238000004422 calculation algorithm Methods 0.000 description 7
- 239000000463 material Substances 0.000 description 4
- 238000002474 experimental method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
Images
Classifications
-
- 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/9535—Search customisation based on user profiles and personalisation
-
- 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/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0201—Market modelling; Market analysis; Collecting market data
- G06Q30/0202—Market predictions or forecasting for commercial activities
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Game Theory and Decision Science (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开提供了一种推荐***和方法、电子设备和计算机可读存储介质,***包括:分别独立配置的策略信息存储模块、应用层模块、计算层模块和数据层模块;应用层模块接收请求方发送的推荐请求,从策略存储模块中获取推荐请求对应的目标推荐策略信息发送给计算层模块,并基于推荐请求对应的目标业务规则,对计算层模块返回的策略执行结果进行处理,得到推荐结果并返回请求方;计算层模块执行目标推荐策略信息对应的目标推荐策略,并调用数据层模块获取需要的数据,将策略执行结果发送给应用层模块;数据层模块从数据存储模块中获取需要的数据并返回计算层模块。本公开实施例对推荐业务的业务逻辑进行了解耦设计,灵活性好,优化成本低,优化效率高。
Description
技术领域
本公开涉及互联网技术,尤其是一种推荐***和方法、电子设备和计算机可读存储介质。
背景技术
目前,随着互联网技术的发展,信息量越来越大,用户经常通过互联网浏览商品、服务、项目、主体(例如公司)等各种信息。在搜索、推荐等各种应用场景中,经常需要获取比较符合用户需求的目标对象推荐给用户。
在实现本公开的过程中,发明人通过研究发现,现有的推荐***都是预先部署一套推荐算法,将推荐算法涉及的业务规则、推荐策略、数据管理逻辑耦合在同一个服务当中,其中的推荐策略多以硬编码的形式实现,推荐***基于相同的推荐策略为用户推荐感兴趣的内容,对于不同需求的用户群体,未必能够满足用户需求。
为了提高推荐效果、以尽可能多的满足更多用户的需求,就需要不断的根据推荐效果对推荐算法进行迭代,通过不断优化推荐算法达到推荐目的。而由于推荐算法涉及的业务规则、推荐策略、数据管理逻辑耦合设置,推荐***的灵活性很差,对推荐算法进行迭代会涉及对整个推荐算法的修改,需要消耗大量的人力资源和时间,优化效率较低,优化效果较差。
发明内容
本公开实施例提供一种推荐***和推荐方法、电子设备和存储介质,以提高推荐***的优化效率和优化效果。
本公开实施例的一个方面,提供一种推荐***,包括:分别独立配置的策略信息存储模块、应用层模块、计算层模块和数据层模块;其中:
所述策略信息存储模块,用于存储预先配置的至少一条推荐策略的推荐策略信息;其中,每条所述推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略;每条所述推荐策略信息包括以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息;
所述应用层模块,用于接收请求方发送的推荐请求,从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述计算层模块;以及基于所述推荐请求对应的目标业务规则,对所述计算层模块返回的策略执行结果进行处理,得到推荐结果并返回所述请求方;
所述计算层模块,用于执行所述目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中调用所述数据层模块获取需要的数据,将执行所述目标推荐策略得到的所述策略执行结果发送给所述应用层模块;
所述数据层模块,用于基于所述计算层模块的请求,从数据存储模块中获取所述需要的数据并返回所述计算层模块。
可选地,在基于本公开上述***的另一个实施例中,所述应用层模块包括应用程序接口API单元、策略配置管理单元、业务管理单元和至少一个业务规则执行单元,所述计算层模块包括执行管理单元和至少一个策略执行单元,所述数据层模块包括数据获取单元;
所述API单元,用于接收请求方发送的推荐请求并转发给所述策略配置管理单元;以及将所述业务管理单元发送的推荐结果转发给所述请求方;
所述策略配置管理单元,用于从所述策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述业务管理单元,以及从规则存储模块获取所述推荐请求对应的目标业务规则信息并发送给所述业务管理单元;所述目标推荐策略信息包括与所述至少一个策略执行单元对应的至少一个目标子策略信息;所述目标业务规则信息包括至少一个目标子规则信息;
所述业务管理单元,用于将所述目标推荐策略信息转发给所述执行管理单元;以及响应于接收到所述执行管理单元返回的策略执行结果,基于所述目标业务规则信息,将所述策略执行结果和所述至少一个目标子规则信息中相应目标子规则信息发送给对应的业务规则执行单元;以及将基于所述至少一个目标子规则信息对应的至少一个目标子规则对所述策略执行结果处理得到的推荐结果转发给所述API单元;
所述业务规则执行单元,用于响应于接收到策略执行结果和相应目标子规则信息,基于接收到的目标子规则信息对应的目标子规则对接收到的策略执行结果进行处理,得到处理后的策略执行结果并返回所述业务管理单元;
所述执行管理单元,用于将所述目标推荐策略信息中的至少一个目标子策略信息分发给对应的策略执行单元,并将所述策略执行单元返回的策略执行结果转发给所述业务管理单元;
所述策略执行单元,用于执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向所述数据获取单元发送数据获取请求;
所述数据获取单元,用于基于所述数据获取请求从数据存储模块中获取对应的数据并返回所述策略执行单元。
可选地,在基于本公开上述***的另一个实施例中,所述至少一个策略执行单元包括以下任意一个或多个:候选召回单元,策略融合单元,排序单元,推荐理由单元;
所述候选召回单元,用于基于所述目标推荐策略信息中的目标召回策略信息对应的目标召回策略,请求所述数据获取单元获取与所述目标召回策略匹配的候选对象数据;
所述策略融合单元,用于基于所述目标推荐策略信息中的目标融合策略信息对应的目标融合策略,根据所述候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表;
所述排序单元,用于调用模型层模块预测所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标推荐策略信息中的目标排序策略信息对应的目标排序策略,对所述第一排序列表中的候选对象进行排序,得到第二排序列表;
所述推荐理由单元,用于基于所述目标推荐策略信息中的目标推荐理由生成策略信息对应的目标推荐理由生成策略,生成所述第二排序列表中各候选对象的推荐理由,并基于所述目标推荐策略中的目标推荐理由展示策略信息对应的目标推荐理由展示策略,生成所述第二排序列表中各候选对象的推荐理由的展示信息。
可选地,在基于本公开上述***的另一个实施例中,所述数据存储模块包括:
候选数据库,用于存储候选对象数据;
所述数据获取单元,具体用于从所述候选数据库中获取与所述目标召回策略匹配的候选对象数据。
可选地,在基于本公开上述***的另一个实施例中,所述数据存储模块还包括:
特征数据库,用于存储用户的特征信息和候选对象的特征信息;
所述排序单元,具体用于请求所述数据获取单元获取所述推荐请求中用户标识ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息,调用所述模型层模块中的预测模型,基于所述目标用户的特征信息和所述第一排序列表中各候选对象的特征信息得到所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标推荐策略中的目标排序策略对所述第一排序列表中的候选对象进行排序,得到第二排序列表;
所述数据获取单元,还用于从所述特征数据库获取所述推荐请求中用户ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息;
所述模型层模块包括:
所述预测模型,用于基于所述目标用户的特征信息和所述第一排序列表中各候选对象的特征信息得到所述第一排序列表中各候选对象的得分。
可选地,在基于本公开上述***的另一个实施例中,所述数据存储模块还包括:
用户数据库,用于存储各用户的用户信息;
所述模型层模块还包括:
特征工程单元,用于分别基于各用户的用户信息生成各用户的特征信息并存储在所述特征数据库中;以及分别基于所述候选数据库中各候选对象的候选对象数据生成各候选对象的特征信息并存储在所述特征数据库中。
可选地,在基于本公开上述***的另一个实施例中,每条所述推荐策略还包括:黑名单策略;每条所述推荐策略信息还包括黑名单策略信息;
所述至少一个策略执行单元还包括:黑名单过滤单元;
所述黑名单过滤单元,用于基于所述目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对所述候选召回单元召回的候选对象数据进行过滤;
所述策略融合单元,具体用于基于所述目标融合策略,对经所述黑名单过滤单元过滤后的候选对象数据对相应的候选对象进行排序,得到第一排序列表。
可选地,在基于本公开上述***的另一个实施例中,所述数据存储模块还包括:
黑名单数据库,用于存储各用户的黑名单数据,和/或候选对象黑名单;
所述黑名单过滤单元,具体用于请求所述数据获取单元获取与所述目标黑名单策略匹配的、所述推荐请求中用户ID对应的目标用户的黑名单数据和/或候选对象黑名单,基于获取到的目标用户的黑名单数据和/或候选对象黑名单对所述候选召回单元召回的候选对象数据进行过滤。
可选地,在基于本公开上述***的另一个实施例中,还包括:
所述规则存储模块,用于存储预先配置的至少一条业务规则的业务规则信息;其中,每条所述业务规则包括至少一个子规则,每条所述业务规则信息包括至少一个子规则信息。可选地,在基于本公开上述***的另一个实施例中,每条所述业务规则包括以下任意一项或多项子规则:业务重排规则,业务强插规则;每条所述业务规则信息包括以下任意一项或多项子规则:业务重排规则信息,业务强插规则信息;
所述至少一个业务规则执行单元包括以下任意一个或多个:业务重排单元,业务强插单元;
所述业务重排单元,用于响应于接收到策略执行结果和所述目标业务规则信息中的目标业务重排规则信息,基于所述目标业务重排规则信息对应的目标业务重排规则对接收到的策略执行结果中的各候选对象重新进行排序,得到重新排序的策略执行结果并返回所述业务管理单元;
所述业务强插单元,用于响应于接收到策略执行结果和所述目标业务规则信息中的目标业务强插规则信息,请求所述数据获取单元从数据存储模块中获取所述目标业务强插规则信息对应的目标业务强插规则对应的数据,并基于所述目标业务强插规则将所述目标业务强插规则对应的数据***到所述策略执行结果中,得到处理后的策略执行结果并返回所述业务管理单元。
本公开实施例的另一个方面,提供一种推荐方法,所述推荐方法基于上述任一实施例的推荐***实现;所述推荐方法包括:
响应于接收到请求方发送的推荐请求,应用层模块从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述计算层模块;其中,所述策略存储模块存储有预先配置的至少一条推荐策略的推荐策略信息;其中,每条所述推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略;每条所述推荐策略信息包括以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息;
所述计算层模块执行所述目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中,调用所述数据层模块从数据存储模块中获取需要的数据,将执行所述目标推荐策略得到的所述策略执行结果发送给所述应用层模块;
所述应用层模块基于所述推荐请求对应的目标业务规则,对所述计算层模块返回的策略执行结果进行处理,得到推荐结果并返回所述请求方。
可选地,在基于本公开上述方法的另一个实施例中,所述响应于接收到请求方发送的推荐请求,应用层模块从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述计算层模块,包括:
响应于接收到请求方发送的推荐请求,所述应用层模块中的应用程序接口API单元将所述推荐请求转发给所述应用层模块中的策略配置管理单元;
所述策略配置管理单元从所述策略存储模块中获取所述推荐请求对应的目标推荐策略并发送给所述应用层模块中的业务管理单元,以及从规则存储模块获取所述推荐请求对应的目标业务规则信息并发送给所述业务管理单元;其中,所述目标业务规则信息包括至少一个目标子规则信息;
所述业务管理单元将所述目标推荐策略信息转发给所述计算层模块中的执行管理单元;
所述计算层模块执行所述目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中,调用所述数据层模块从数据存储模块中获取需要的数据,将执行所述目标推荐策略得到的所述策略执行结果发送给所述应用层模块,包括:
所述执行管理单元将所述目标推荐策略信息中的至少一个目标子策略信息分发给对应的至少一个策略执行单元;
所述至少一个策略执行单元依次执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向所述数据获取单元发送数据获取请求,请求所述数据获取单元从所述数据存储模块中获取对应的数据;
所述至少一个策略执行单元中最后一个执行目标子策略的策略执行单元将得到的策略执行结果发送给所述执行管理单元;
所述执行管理单元将所述策略执行结果转发给所述业务管理单元;
所述应用层模块基于所述推荐请求对应的目标业务规则,对所述计算层模块返回的策略执行结果进行处理,得到推荐结果并返回所述请求方,包括:
响应于接收到所述执行管理单元返回的策略执行结果,所述业务管理单元基于所述目标业务规则信息,将所述策略执行结果和所述至少一个目标子规则信息中的相应目标子规则信息发送给对应的至少一个业务规则执行单元;
所述至少一个业务规则执行单元,响应于接收到策略执行结果和相应目标子规则信息,依次基于接收到的目标子规则信息对应的目标子规则对接收到的策略执行结果进行处理,由所述至少一个业务规则执行单元中最后一个执行目标子规则的业务规则执行单元将得到的推荐结果并返回所述业务管理单元;
所述业务管理单元将将所述推荐结果转发给所述API单元;
所述API单元将所述推荐结果转发给所述请求方。
可选地,在基于本公开上述方法的另一个实施例中,所述至少一个策略执行单元包括以下任意一个或多个:候选召回单元,策略融合单元,排序单元,推荐理由单元;
所述执行管理单元将所述目标推荐策略信息中的至少一个目标子策略信息分发给对应的至少一个策略执行单元,包括:
所述执行管理单元将所述目标推荐策略信息中的目标召回策略信息、目标融合策略信息、目标排序策略信息和目标推荐理由策略信息对应分发给所述候选召回单元、所述策略融合单元、所述排序单元和所述推荐理由单元;其中,所述目标推荐理由策略信息包括目标推荐理由生成策略信息和目标推荐理由展示策略信息;
所述至少一个策略执行单元依次执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向所述数据获取单元发送数据获取请求,请求所述数据获取单元从所述数据存储模块中获取对应的数据,包括:
所述候选召回单元基于所述目标召回策略信息对应的目标召回策略,请求所述数据获取单元获取与所述目标召回策略匹配的候选对象数据;
所述数据获取单元从所述数据存储模块中的候选数据库中获取与所述目标召回策略匹配的候选对象数据并返回所述候选召回单元;
所述策略融合单元基于所述目标融合策略信息对应的目标融合策略,根据所述候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表;
所述排序单元调用模型层模块预测所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标排序策略信息对应的目标排序策略,对所述第一排序列表中的候选对象进行排序,得到第二排序列表;
所述推荐理由单元基于所述目标推荐理由生成策略信息对应的目标推荐理由生成策略,生成所述第二排序列表中各候选对象的推荐理由,并基于所述目标推荐理由展示策略信息对应的目标推荐理由展示策略,生成所述第二排序列表中各候选对象的推荐理由的展示信息,得到所述策略执行结果;
所述至少一个策略执行单元中最后一个执行目标子策略的策略执行单元将得到的策略执行结果发送给所述执行管理单元,包括:
所述推荐理由单元将所述策略执行结果发送给所述执行管理单元。
可选地,在基于本公开上述方法的另一个实施例中,所述排序单元调用模型层模块预测所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标排序策略信息对应的目标排序策略,对所述第一排序列表中的候选对象进行排序,得到第二排序列表,包括:
所述排序单元请求所述数据获取单元获取所述推荐请求中用户标识ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息;
所述数据获取单元从所述数据存储模块中的特征数据库获取所述推荐请求中用户ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息并返回所述排序单元;
所述排序单元调用所述模型层模块中的预测模型,基于所述目标用户的特征信息和所述第一排序列表中各候选对象的特征信息得到所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标排序策略对所述第一排序列表中的候选对象进行排序,得到第二排序列表。
可选地,在基于本公开上述方法的另一个实施例中,还包括:
所述模型层模块中的特征工程单元,请求所述数据获取单元从所述数据存储模块中的用户数据库中获取各用户的用户信息,分别基于各用户的用户信息生成各用户的特征信息并存储在所述特征数据库中;以及,
请求所述数据获取单元从所述特征数据库获取中获取各候选对象的候选对象数据,分别基于各候选对象的候选对象数据生成各候选对象的特征信息并存储在所述特征数据库中。
可选地,在基于本公开上述方法的另一个实施例中,每条所述推荐策略还包括:黑名单策略;
所述至少一个策略执行单元还包括:黑名单过滤单元;
所述数据获取单元从所述数据存储模块中的候选数据库中获取与所述目标召回策略匹配的候选对象数据并返回所述候选召回单元之后,还包括:
所述黑名单过滤单元基于所述目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对所述候选召回单元召回的候选对象数据进行过滤;
所述策略融合单元基于所述目标融合策略信息对应的目标融合策略,根据所述候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表,包括:
所述策略融合单元基于所述目标融合策略,对经所述黑名单过滤单元过滤后的候选对象数据对相应的候选对象进行排序,得到第一排序列表,得到第一排序列表。
可选地,在基于本公开上述方法的另一个实施例中,所述黑名单过滤单元基于所述目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对所述候选召回单元召回的候选对象数据进行过滤,包括:
所述黑名单过滤单元请求所述数据获取单元从所述数据存储模块中的黑名单数据库获取与所述目标黑名单策略匹配的、所述推荐请求中用户ID对应的目标用户的黑名单数据和/或候选对象黑名单,基于获取到的目标用户的黑名单数据和/或候选对象黑名单对所述候选召回单元召回的候选对象数据进行过滤;所述黑名单数据库中存储有各用户的黑名单数据,和/或候选对象黑名单。
可选地,在基于本公开上述方法的另一个实施例中,每条所述业务规则包括以下任意一项或多项子规则:业务重排规则,业务强插规则;每条所述业务规则信息包括以下任意一项或多项子规则:业务重排规则信息,业务强插规则信息;所述至少一个业务规则执行单元包括以下任意一个或多个:业务重排单元,业务强插单元;
所述将所述策略执行结果和所述目标业务规则信息中的相应子规则信息发送给对应的至少一个业务规则执行单元,包括:
将所述策略执行结果和所述目标业务规则信息中的业务重排规则信息发送给所述业务重排单元;
所述至少一个业务规则执行单元,响应于接收到策略执行结果和相应目标子规则信息,依次基于所述相应目标子规则信息对应的目标子规则对接收到的策略执行结果进行处理,由所述至少一个业务规则执行单元中最后一个执行目标子规则的业务规则执行单元将得到的推荐结果并返回所述业务管理单元,包括:
所述业务重排单元基于所述目标业务规则信息中的目标业务重排规则信息对应的业务重排规则,对接收到的策略执行结果中的各候选对象重新进行排序,得到重新排序的策略执行结果并返回所述业务管理单元;
所述业务管理单元将所述重新排序的策略执行结果和所述目标业务规则信息中的目标业务强插规则信息发送给所述业务强插单元;
所述业务强插单元请求所述数据获取单元从所述数据存储模块中获取所述业务强插规则信息对应的业务强插规则对应的数据,并基于所述业务强插规则将所述业务强插规则对应的数据***到所述重新排序的策略执行结果中,得到推荐结果并返回所述业务管理单元。
本公开实施例的又一个方面,提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本公开上述任一实施例所述的推荐方法。
本公开实施例的再一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现本公开上述任一实施例所述的推荐方法。
基于本公开实施例的技术方案,其中的推荐***包括分别独立配置的策略信息存储模块、应用层模块、计算层模块和数据层模块,其中的策略信息存储模块存储预先配置的至少一条推荐策略的推荐策略信息,应用层模块接收请求方发送的推荐请求,从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给计算层模块,以及基于推荐请求对应的目标业务规则对计算层模块返回的策略执行结果进行处理并将得到的推荐结果返回所述请求方;计算层模块执行目标推荐策略,并在执行过程中调用数据层模块获取需要的数据,将执行目标推荐策略得到的策略执行结果发送给应用层模块;数据层模块基于计算层模块的请求,从数据存储模块中获取所述需要的数据并返回所述计算层模块。
本公开实施例对推荐业务的业务逻辑(包括业务规则、推荐策略和数据管理逻辑)进行了解耦设计,将推荐业务的业务规则、推荐策略配置、推荐策略执行和数据管理逻辑分别通过应用层模块、策略信息存储模块、计算层模块和数据层模块实现,不同的模块独立部署、各自提供相应环节的服务,在不变更模块之间交互方式和协议的情况下,各模块的优化迭代可以独立进行,不会对其他模块造成影响,灵活性好,优化成本低,优化效率高,避免了某一模块的迭代优化需要对整个推荐***进行修改导致的高成本和低效率,提高了优化效率;
另外,本公开实施例中可以针对不同需求预先配置推荐策略信息并存储在策略存储模块中,实现了推荐策略信息的配置化接入,在计算层模块实现具体推荐策略的实现逻辑,由计算层模块具体实现各种推荐策略信息对应的推荐策略的执行,这样,在由于新业务接入需要配置新的推荐策略或者需要调整已有推荐策略时,仅需调整策略存储模块中的推荐策略信息,无需对整个推荐业务的实现逻辑进行修改,策略配置信息更新灵活,更新效率高,可以及时实现新业务的接入和已有推荐策略信息的调整,从而提高了推荐***整体的迭代效率与扩展性。
下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
构成说明书的一部分的附图描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。
参照附图,根据下面的详细描述,可以更加清楚地理解本公开,其中:
图1为本公开推荐***一个实施例的结构示意图。
图2为本公开推荐***另一个实施例的结构示意图。
图3为本公开推荐***又一个实施例的结构示意图。
图4为本公开推荐方法一个实施例的流程图。
图5为本公开推荐方法另一个实施例的流程图。
图6为本公开电子设备一个应用实施例的结构示意图。
具体实施方式
现在将参照附图来详细描述本公开的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
本公开实施例可以应用于终端设备、计算机***、服务器等电子设备,其可与众多其它通用或专用计算***环境或配置一起操作。适于与终端设备、计算机***、服务器等电子设备一起使用的众所周知的终端设备、计算***、环境和/或配置的例子包括但不限于:个人计算机***、服务器计算机***、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的***、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机***﹑大型计算机***和包括上述任何***的分布式云计算技术环境,等等。
终端设备、计算机***、服务器等电子设备可以在由计算机***执行的计算机***可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机***/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算***存储介质上。
图1为本公开推荐***一个实施例的结构示意图。如图1所示,该实施例的推荐***包括:相互独立部署的应用层模块11、计算层模块12和数据层模块13和策略存储模块15。其中:
应用层模块11,用于接收请求方发送的推荐请求,从预先配置的策略存储模块15中获取推荐请求对应的目标推荐策略信息并发送给计算层模块12;以及基于推荐请求对应的目标业务规则,对计算层模块12返回的策略执行结果进行处理,得到推荐结果并返回请求方。
计算层模块12,与应用层模块11之间通过第一交互协议进行数据交互,用于执行应用层模块11发送的目标推荐策略信息对应的目标推荐策略,并在执行目标推荐策略的过程中调用数据层模块13获取需要的数据,将执行目标推荐策略得到的策略执行结果发送给应用层模块11。
数据层模块13,与计算层模块12之间通过第二交互协议进行数据交互,用于基于计算层模块12的请求,从数据存储模块14中获取执行所述目标推荐策略需要的数据并返回计算层模块12。
其中,执行目标推荐策略需要的数据,例如可以包括但不限于以下任意一项或多项:候选对象数据,用户的特征信息,候选对象的特征信息,黑名单数据(例如用户的黑名单数据和/或候选对象黑名单等),等等,执行所述目标推荐策略需要的数据根据具体需求确定,本公开实施例对此不做限制。
本公开实施例中,数据存储模块14可以设置在推荐***外,与推荐***独立设置,由推荐***中的数据层模块13读取数据存储模块14中存储的数据;或者,数据存储模块14也可以作为一个单独的模块设置在推荐***内部,由数据层模块13读取数据存储模块14中存储的数据、对数据存储模块14中存储的数据进行统一管理;或者,数据存储模块14还可以设置在数据层模块13中,本公开实施例对此不做限制。
策略存储模块15,用于存储预先配置的至少一条推荐策略的推荐策略信息。
其中,每条推荐策略例如可以包括但不限于以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由策略,黑名单策略,等等,其中的推荐理由策略例如可以包括推荐理由生成策略、推荐理由展示策略,等等。每条推荐策略包括的具体子策略可以根据具体需求设置,包括的各具体子策略的内容设置为特定内容的子策略,也可以采用默认设置的子策略,本公开实施例对此不做限制。相应地,每条推荐策略信息例如可以包括但不限于以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息,等等。本公开实施例的推荐策略信息与推荐策略相对应。目标推荐策略信息包括的子策略称为目标子策略。目标推荐策略信息包括的子策略信息称为目标子策略信息。
基于本公开上述实施例提供的推荐***,包括应用层模块、计算层模块和数据层模块,对推荐业务的业务逻辑(包括业务规则、推荐策略和数据管理逻辑)进行了解耦设计,将推荐业务的业务规则、推荐策略配置、推荐策略执行和数据管理逻辑分别通过应用层模块、策略信息存储模块、计算层模块和数据层模块实现,不同的模块独立部署、各自提供相应环节的服务,在不变更模块之间交互方式和协议的情况下,各模块的优化迭代可以独立进行,不会对其他模块造成影响,灵活性好,优化成本低,优化效率高,避免了某一模块的迭代优化需要对整个推荐***进行修改导致的高成本和低效率,提高了优化效率;
另外,本公开实施例中可以针对不同需求预先配置推荐策略信息并存储在策略存储模块中,实现了推荐策略信息的配置化接入,在计算层模块实现具体推荐策略的实现逻辑,由计算层模块具体实现各种推荐策略信息对应的推荐策略的执行,这样,在由于新业务接入需要配置新的推荐策略或者需要调整已有推荐策略时,仅需调整策略存储模块中的推荐策略信息,无需对整个推荐业务的实现逻辑进行修改,策略配置信息更新灵活,更新效率高,可以及时实现新业务的接入和已有推荐策略信息的调整,从而提高了推荐***整体的迭代效率与扩展性。
在其中一个可选示例中,可以预先针对不同的推荐场景、用户实验分组(也称为流量分组)、用户群体等,分别配置对应的推荐策略信息,并在策略存储模块15中设置每条推荐策略信息与对应的推荐场景标识(ID)、用户所属的实验分组信息、用户群体ID之间的对应关系列表,从而实现针对不同推荐场景、不同流量分组、不同用户群体的推荐策略的自由组合。其中,推荐场景ID用于标识具体推荐业务的应用场景,例如,文章推荐、小区推荐、新房推荐、二手房推荐等等,推荐场景ID可以通过推荐请求携带;用户所属的实验分组信息可以包括A、B分组,也可以是默认分组,用户所属的用户实验分组可以基于推荐请求中携带的用户ID从流量实验平台查询获得,也可以预先由请求方获取并通过推荐请求携带;用户群体ID用于标识用户所属的群体,可以由请求方预先获得并在推荐请求中携带。
本实施例中,可以在针对不同需求,通过在不同的推荐策略信息中灵活设置各项子策略信息,以针对不同用户、不同推荐场景、不同流量分组等各种情况或其结合进行个性化推荐,从而满足各种情况下的推荐需求,实现各种情况下的推荐目的,提高推荐成功率和推荐效果。
图2为本公开推荐***另一个实施例的结构示意图。如图2所示,在图1所示实施例的基础上,在其中一些可能的实现方式中,应用层模块11包括应用程序接口API单元111、策略配置管理单元112、业务管理单元113和至少一个业务规则执行单元114,计算层模块12包括执行管理单元121和至少一个策略执行单元122,数据层模块13包括数据获取单元131。其中:
API单元111,用于接收请求方发送的推荐请求并转发给策略配置管理单元112;以及将业务管理单元113发送的推荐结果转发给请求方。
在其中一个可选示例中,所述推荐结果,例如可以包括但不限于以下任意一项或多项信息:推荐对象所属的推荐物料(例如房源、文章、小区等)的标识(ID),推荐物料的类型,推荐理由(例如,同小区推荐、同价格推荐等),扩展信息,目标推荐策略。其中的目标推荐策略例如可以包括但不限于:推荐请求的ID,目标推荐策略包括的各目标子策略的ID,推荐场景ID,用户所属的实验分组信息,用户ID,用户所属的用户群体ID,推荐的候选对象的数量,等等。
在其中一个可选示例中,API单元111可以将业务管理单元113转发的策略执行结果按照预设方式封装,以统一的预设格式返回给请求方,该预设格式除了返回推荐的候选对象列表之外,还可以选择性地返回一些扩展信息,以通过扩展信息携带必要的额外说明信息,本公开实施例对扩展信息具体可以携带的信息种类以及内容不做限制。
策略配置管理单元112,用于从策略存储模块15中获取推荐请求对应的目标推荐策略信息并发送给业务管理单元113,其中的目标推荐策略信息包括与至少一个策略执行单元122对应的至少一个目标子策略信息;以及从规则存储模块获取推荐请求对应的目标业务规则信息并发送给业务管理单元113。其中,目标业务规则信息包括至少一个目标子规则信息。
在其中一个可选示例中,策略配置管理单元112可以从策略存储模块15获取推荐请求中的推荐场景ID、用户所属的实验分组信息、用户群体ID对应的目标推荐策略信息。若推荐请求中未携带用户所属的实验分组信息,则可以基于推荐请求中的用户ID从流量实验平台查询获得,或者采用预设的实验分组信息,本公开实施例对此不做限制。
业务管理单元113,用于将所述目标推荐策略信息转发给执行管理单元121;以及响应于接收到执行管理单元121返回的策略执行结果,基于目标业务规则信息,将策略执行结果和所述至少一个目标子规则信息中的相应目标子规则信息发送给对应的业务规则执行单元114;以及将基于所述至少一个目标子规则信息对应的至少一个目标子规则,对执行管理单元121返回的策略执行结果进行处理,并将处理得到的推荐结果转发给API单元111。
在其中一个可选示例中,所述策略执行结果,例如可以包括但不限于以下任意一项或多项信息:推荐对象所属的推荐物料(例如房源、文章、小区等)的ID,推荐物料的类型,推荐理由(例如,同小区推荐、同价格推荐等),扩展信息,目标推荐策略。其中的目标推荐策略例如可以包括但不限于:推荐请求的ID,目标推荐策略包括的各子策略的ID,推荐场景ID,用户所属的实验分组信息,用户ID,用户所属的用户群体ID,推荐的候选对象的数量,等等。
业务规则执行单元114,用于响应于接收到策略执行结果和相应目标子规则信息,基于相应目标子规则信息对应的目标子规则对接收到的策略执行结果进行处理,得到处理后的策略执行结果并返回业务管理单元113。
执行管理单元121,用于将所述目标推荐策略信息中的至少一个目标子策略信息分发给对应的策略执行单元122,并将策略执行单元122返回的策略执行结果转发给业务管理单元113。
其中,业务管理单元113和执行管理单元121之间通过统一接口,以预设的类来实现二者之间的交互协议(称为第一交互协议),并通过该第一交互协议进行交互。
各策略执行单元122,分别用于执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向数据获取单元131发送数据获取请求。
数据获取单元131,用于基于数据获取请求从数据存储模块14中获取对应的数据并返回策略执行单元122。
其中,策略执行单元122和数据获取单元131之间通过统一接口,以预设的类来实现二者之间的交互协议(称为第二交互协议),并通过该第二交互协议进行交互。
本实施例中,提供了应用层模块、计算层模块和数据层模块的一种具体构成示例,通过上述推荐***的具体架构,可以针对不同推荐请求(对应于针对不同用户、不同推荐场景、不同流量分组等各种情况或其结合的不同推荐需求)获取包括至少一个目标子策略信息的目标推荐策略信息,并由此实现基于该目标推荐策略的推荐,从而实现推荐目的。
本实施例中,由数据层模块统一对数据源(数据存储模块)中的数据进行管理、读取和写入,计算层模块需要获取执行目标推荐策略所需要的各种数据时,无需直接和数据源(数据存储模块)进行交互,而是统一通过数据层模块来获取,从而实现了数据获取与策略执行的分离,可以并行执行数据获取与策略执行操作,提高了数据获取与执行的效率。
可选地,在其中一些可选示例中,每条推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略,等等。相应地,每条推荐策略信息包括以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息,等等。例如,在具体实现中,召回策略用于表示通过何种策略对候选对象进行召回、以及各种召回策略的权重;融合策略用于控制多路召回的候选对象数据如何进行合并;排序策略用于控制选择哪种排序策略对融合后的候选对象数据进行整体精准排序;推荐理由生成策略用于控制通过哪些策略生成推荐理由、以及每个推荐理由的权重;推荐理由展示策略用于控制如何对推荐理由进行选择展示。
相应地,上述至少一个策略执行单元122可以包括但不限于以下任意一个或多个:候选召回单元,策略融合单元,排序单元,推荐理由单元,等等。
其中,候选召回单元,用于基于目标推荐策略信息中的目标召回策略信息对应的目标召回策略,请求数据获取单元131获取与所述目标召回策略匹配的候选对象数据。
策略融合单元,用于基于目标推荐策略信息中的目标融合策略信息对应的目标融合策略,根据候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表。通过策略融合单元,基于目标融合策略实现了对候选召回单元召回的候选对象的粗排序。
排序单元,用于调用模型层模块16预测第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于目标推荐策略信息中的目标排序策略信息对应的目标排序策略,对第一排序列表中的候选对象进行排序,得到第二排序列表。通过排序单元,基于各候选对象的得分和目标排序策略实现了第一排序列表中候选对象的精准排序。
推荐理由单元,用于基于目标推荐策略信息中的目标推荐理由生成策略信息对应的目标推荐理由生成策略,生成第二排序列表中各候选对象的推荐理由,并基于目标推荐策略中的目标推荐理由展示策略信息对应的目标推荐理由展示策略,生成第二排序列表中各候选对象的推荐理由的展示信息。
本实施例中,实现了基于具体的召回策略、融合策略、排序策略、推荐理由策略的个性化推荐。对于实现推荐的各种策略(召回策略、融合策略、排序策略、推荐理由等子策略)的代码逻辑进行抽象,将推荐策略中的召回、融合、排序、推荐理由分别做成一组灵活的配置,通过不同的单元(候选召回单元,策略融合单元,排序单元,推荐理由单元)实现,便于分别迭代,灵活更新,优化效率高,提高了推荐***整体的迭代效率与扩展性。
另外,再参见图2,在本公开推荐***的又一个实施例中,数据存储模块14包括:候选数据库141,用于存储候选对象数据,其中的候选对象数据可以候选对象的至少一个维度的信息,其中的维度可以理解为候选对象的各指标,维度的信息可以理解为指标的参数值,例如,候选对象为房源时,候选对象的至少一个维度可以包括:面积、朝向、户型、单价等等,相应的至少一个维度的信息可以包括:截图面积大小、具体朝向、具体户型、单价值等等,本公开实施例对此不做限制。相应地,该实施例中,数据获取单元131,具体用于从候选数据库141中获取与目标召回策略匹配的候选对象数据。
本实施例中,通过候选数据库来存储候选对象数据,数据获取单元在计算层模块执行目标推荐策略的过程中,根据具体的目标召回策略从候选数据库中获取与目标召回策略匹配的候选对象数据,从而实现对候选对象数据的召回。
另外,再参见图2,在本公开推荐***的再一个实施例中,数据存储模块14还包括:特征数据库142,用于存储用户的特征信息和候选对象的特征信息。相应地,该实施例中,排序单元,具体用于请求数据获取单元131获取推荐请求中用户标识(ID)对应的目标用户的特征信息、以及第一排序列表中各候选对象的特征信息,调用模型层模块16中的预测模型161,基于目标用户的特征信息和第一排序列表中各候选对象的特征信息得到第一排序列表中各候选对象的得分,该候选对象的得分用于表示各候选对象可能被用户访问的概率得分,得分越高,表明该候选对象被用户点击的可能性越高,并根据各候选对象的得分,基于目标推荐策略中的目标排序策略对第一排序列表中的候选对象进行排序,得到第二排序列表;数据获取单元131,还用于从特征数据库142获取推荐请求中用户ID对应的目标用户的特征信息、以及第一排序列表中各候选对象的特征信息。
参见图2,模型层模块16包括:预测模型161,用于基于目标用户的特征信息和第一排序列表中各候选对象的特征信息得到第一排序列表中各候选对象的得分。其中的预测模型可以通过神经网络、WDL、DEEP-FM、XGBOOST、ablstm模型(tf-serving)等的各种可能的模型实现,本公开实施例对此不做限制。
本公开实施例中,模型层模块16可以设置在推荐***外,与推荐***独立设置,由推荐***中的计算层模块12、通过数据层模块13对数据存储模块14进行数据读写;或者,模型层模块16也可以作为一个单独的模块设置在推荐***内部,由计算层模块12、通过数据层模块13对数据存储模块14进行数据读写,本公开实施例对此不做限制。
本实施例中,推荐***还包括模型层模块16,通过调用模型层模块16中设置的预测模型,来基于目标用户的特征信息和第一排序列表中各候选对象的特征信息预测第一排序列表中各候选对象的得分,从而根据各候选对象的得分实现对第一排序列表中的候选对象的精准排序,使得得到的候选对象排序更符合用户需求,从而提高推荐成功率。
可选地,再参见图2,在上述实施例的推荐***中,数据存储模块14还包括:用户数据库143,用于存储各用户的用户信息,其中的用户信息即个性化的用户信息,例如可以包括:用于确定用户的自身现状(如性别、年龄、从事行业、兴趣爱好、是否已婚、家中是否有老人、是否有小孩等)和业务偏好(如喜欢的项目特点、关心的项目点等)等,可以根据用户的会话、搜索记录、项目点击日志,文章浏览历史、问答浏览历史等,确定用户的自身状态、行为偏好、业务偏好等信息,来确定用户信息。相应地,模型层模块16还包括:特征工程单元162,用于通过数据获取单元13从用户数据库143中获取至少一个用户的用户信息,并分别基于获取的各用户的用户信息生成各用户的特征信息并通过数据获取单元13存储在特征数据库142中;以及通过数据获取单元13从候选数据库141获取至少一个候选对象的候选对象数据,并分别基于获取的各候选对象的候选对象数据生成各候选对象的特征信息并通过数据获取单元13存储在特征数据库142中。
本实施例中,通过在模型层模块中设置特征工程单元,可以生成各用户的特征信息和各候选对象的特征信息,以便用于后续预测第一排序列表中各候选对象的得分、实现对候选对象的精准排序。
其中,模型层模块主要承担两部分逻辑,一部分是通过特征工程单元做复杂的特征工程;另一部分是做模型预测。由于对第一排序列表中的候选对象进行精准排序时,需要利用用户的特征信息和候选对象的特征信息,这就涉及到复杂的特征工程和在线模型预测,本实施例中,将预测模型和特征工程单元通过单独的模型层模块来实现,可以降低计算层模块的实现复杂度。
可选地,再参见图2,在上述实施例的推荐***中,每条推荐策略还可以包括黑名单策略,所述策略黑名单用于控制通过哪些策略对召回的候选对象数据进行过滤。相应地,每条推荐策略信息还包括黑名单策略信息。所述至少一个策略执行单元122还包括:黑名单过滤单元,用于基于目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对候选召回单元召回的候选对象数据进行过滤。相应地,该实施例中,策略融合单元,具体用于基于目标融合策略,对经黑名单过滤单元过滤后的候选对象数据对相应的候选对象进行排序,得到第一排序列表。
本实施例中,可以基于推荐请求对应的目标黑名单策略,对候选召回单元召回的候选对象数据进行过滤,以过滤掉基于目标黑名单策略确定的候选对象数据,避免向用户再推荐相应的候选对象,从而改善用户体验,提高推荐成功率。
可选地,再参见图2,在上述实施例的推荐***中,数据存储模块14还可以包括:黑名单数据库144,用于存储各用户的黑名单数据,和/或候选对象黑名单。其中,用户的黑名单数据为针对该用户设置的黑名单数据,例如可以包括但不限于:向该用户推荐过但未被用户点击的候选对象数据,用户读取过的黑名单数据等等;候选对象黑名单可以是被设置为黑名单的候选对象,例如可以包括但不限于:被统一设置为(即不针对具体用户)黑名单的候选对象数据,被该用户设置为黑名单的候选对象数据,被推荐***设置为该用户的黑名单的候选对象数据,等等。
相应地,该实施例中,黑名单过滤单元,具体用于请求数据获取单元131获取与目标黑名单策略匹配的、所述推荐请求中用户ID对应的目标用户的黑名单数据和/或候选对象黑名单,基于获取到的目标用户的黑名单数据和/或候选对象黑名单对候选召回单元召回的候选对象数据进行过滤。
可选地,再参见图2,在上述实施例的推荐***中,还可以包括:规则存储模块17,用于存储预先配置的至少一条业务规则的业务规则信息。其中,每条业务规则包括至少一个子规则,每条业务规则信息包括至少一个子规则信息。目标业务规则包括的子规则称为目标子规则,目标业务规则信息包括的子规则称为目标子规则信息。
本实施例中,还可以根据需求预先配置至少一条业务规则的业务规则信息,在针对推荐请求得到相应的策略执行结果后,可以基于该推荐请求对应的目标业务规则对策略执行结果进行相应的处理,从而实现业务效果。另外,可以针对不同的业务需求预先配置业务规则信息存储在规则存储模块中,实现了业务规则的配置化接入,在规则执行单元实现具体业务规则的实现逻辑,由规则执行单元具体实现各种业务规则信息对应的业务规则的执行,这样,在由于新业务接入需要配置新的业务规则或者需要调整已有业务规则时,仅需调整规则存储模块中的业务规则信息,无需修改其他模块的实现逻辑,更新灵活,更新效率高,可以及时实现新业务的接入和已有业务规则的调整,从而提高了推荐***整体的迭代效率与扩展性。
可选地,再参见图2,在其中一些可能的实现方式中,每条业务规则例如可以包括但不限于以下任意一项或多项子规则:业务重排规则,业务强插规则,等等。相应地,每条业务规则信息例如可以包括但不限于以下任意一项或多项子规则:业务重排规则信息,业务强插规则信息,等等。所述至少一个业务规则执行单元114可以包括但不限于以下任意一个或多个:业务重排单元,业务强插单元,等等。其中,业务重排单元,用于响应于接收到策略执行结果和目标业务规则信息中的目标业务重排规则信息,基于目标业务重排规则信息对应的目标业务重排规则对接收到的策略执行结果中的各候选对象重新进行排序,得到重新排序的策略执行结果并返回业务管理单元113。业务强插单元,用于响应于接收到策略执行结果和目标业务规则信息中的业务强插规则信息,请求数据获取单元131从数据存储模块14中获取目标业务规则中的业务强插规则对应的数据,并基于目标业务强插规则信息对应的目标业务强插规则,将该目标业务强插规则对应的数据***到策略执行结果中,得到处理后的策略执行结果并返回业务管理单元113。
本实施例中,可以针对推荐请求得到相应的策略执行结果,根据业务需求进行业务重排和/或业务强插,从而实现个性化的业务效果,例如,将特定的候选对象数据重排至预设位置,在策略执行结果中的相应位置强***预设的业务数据等等,从而提高推荐效果。
本实施例中,为了能够让计算层模块更聚焦于实现推荐策略相关的迭代,不用去关心数据获取的问题,将所有数据获取的逻辑都解耦封装在了数据层模块,数据层模块并不感知具体的业务规则与推荐策略,只聚焦于数据的高效获取,具体需要的数据由计算层模块和应用层通过请求参数指示,这样,需要对数据获取逻辑进行优化时,只需要针对数据层模块进行优化即可,而无需对其他模块的逻辑代码进行修改。
可选地,在一些可能的实现方式中,数据存储模块可以通过键值数据库(Redis)或者分布式全文搜索引擎(ElasticSearch)数据库实现,本公开实施例对数据存储模块的具体实现方式不做限制。
图3为本公开推荐***又一个实施例的结构示意图。如图3所示,示例性地提供了本公开推荐***的一种具体架构示例,该示例中,数据存储模块14中的各数据库(候选数据库141、特征数据库142、用户数据库143和黑名单数据库144)设置在数据层模型13中。然而,本领域技术人员基于本公开实施例的记载,可以知悉本公开推荐***还可以采用其他各种可能的架构实现,而不限于图3所示示例。
图4为本公开推荐方法一个实施例的流程图。本公开任一实施例的推荐方法可以基于本公开上述任一实施例的推荐***实现,相关内容可以相互参考。如图4所示,该实施例的推荐方法包括:
201,响应于接收到请求方发送的推荐请求,应用层模块从预先配置的策略存储模块中获取推荐请求对应的目标推荐策略信息并发送给计算层模块。
其中,策略存储模块存储有预先配置的至少一条推荐策略的推荐策略信息,所述至少一条推荐策略包括所述目标推荐策略。
其中,每条推荐策略例如可以包括但不限于以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略,等等。相应地,每条推荐策略信息例如可以包括但不限于以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息,等等。
202,计算层模块执行目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中,调用数据层模块从数据存储模块中获取需要的数据,将执行所述目标推荐策略得到的策略执行结果发送给应用层模块。
203,应用层模块基于推荐请求对应的目标业务规则,对计算层模块返回的策略执行结果进行处理,得到推荐结果并返回请求方。
基于本公开上述实施例提供的推荐方法,对推荐业务的业务逻辑(包括业务规则、推荐策略和数据管理逻辑)进行了解耦设计,将推荐业务的业务规则、推荐策略配置、推荐策略执行和数据管理逻辑分别通过应用层模块、策略信息存储模块、计算层模块和数据层模块实现,不同的模块独立部署、各自提供相应环节的服务,在不变更模块之间交互方式和协议的情况下,各模块的优化迭代可以独立进行,不会对其他模块造成影响,灵活性好,优化成本低,优化效率高,避免了某一模块的迭代优化需要对整个推荐***进行修改导致的高成本和低效率,提高了优化效率;
另外,本公开实施例中可以针对不同需求预先配置推荐策略信息并存储在策略存储模块中,实现了推荐策略信息的配置化接入,在计算层模块实现具体推荐策略的实现逻辑,由计算层模块具体实现各种推荐策略信息对应的推荐策略的执行,这样,在由于新业务接入需要配置新的推荐策略或者需要调整已有推荐策略时,仅需调整策略存储模块中的推荐策略信息,无需对整个推荐业务的实现逻辑进行修改,策略配置信息更新灵活,更新效率高,可以及时实现新业务的接入和已有推荐策略信息的调整,从而提高了推荐***整体的迭代效率与扩展性。
图5为本公开推荐方法另一个实施例的流程图。如图5所示,该实施例的推荐方法包括:
301,响应于接收到请求方发送的推荐请求,应用层模块中的API单元将推荐请求转发给应用层模块中的策略配置管理单元。
302,策略配置管理单元从策略存储模块中获取推荐请求对应的目标推荐策略信息并发送给应用层模块中的业务管理单元,以及从规则存储模块获取推荐请求对应的目标业务规则信息并发送给业务管理单元。
其中,所述目标推荐策略信息包括与至少一个策略执行单元对应的至少一个目标子策略信息。所述目标业务规则信息包括至少一个目标子规则信息。
303,业务管理单元将目标推荐策略信息转发给计算层模块中的执行管理单元。
304,执行管理单元将目标推荐策略中的至少一个目标子策略信息对应分发给对应的至少一个策略执行单元。
305,所述至少一个策略执行单元依次执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向数据获取单元发送数据获取请求,请求数据获取单元从数据存储模块中获取对应的数据。
306,所述至少一个策略执行单元中最后一个执行目标子策略的策略执行单元将得到的策略执行结果发送给执行管理单元。
307,执行管理单元将策略执行结果转发给业务管理单元。
308,响应于接收到执行管理单元返回的策略执行结果,业务管理单元基于目标业务规则信息,将策略执行结果和目标规则信息中的相应目标子规则信息发送给对应的至少一个业务规则执行单元。
309,所述至少一个业务规则执行单元,响应于接收到策略执行结果和目标子规则信息,依次基于接收到的目标子规则信息对应的目标子规则,对接收到的策略执行结果进行处理,由所述至少一个业务规则执行单元中最后一个执行目标子规则的业务规则执行单元将得到的推荐结果并返回业务管理单元。
310,业务管理单元将推荐结果转发给API单元。
311,API单元将推荐结果转发给请求方。
可选地,在其中一些可能的实现方式中,每条推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略;至少一个策略执行单元包括以下任意一个或多个:候选召回单元,策略融合单元,排序单元,推荐理由单元。
相应地,该实现方式中,304中,可以由执行管理单元将目标推荐策略信息中的目标召回策略信息、目标融合策略信息、目标排序策略信息和目标推荐理由策略信息对应分发给候选召回单元、策略融合单元、排序单元和推荐理由单元。其中,目标推荐理由策略信息包括目标推荐理由生成策略信息和目标推荐理由展示策略信息;
305中,候选召回单元基于目标召回策略信息对应的目标召回策略,请求数据获取单元获取与所述目标召回策略匹配的候选对象数据,数据获取单元从数据存储模块中的候选数据库中获取与目标召回策略匹配的候选对象数据并返回候选召回单元;然后,策略融合单元基于目标融合策略信息对应的目标融合策略,根据候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表;之后,排序单元调用模型层模块预测第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于目标排序策略信息对应的目标排序策略,对第一排序列表中的候选对象进行排序,得到第二排序列表;进而,推荐理由单元基于目标推荐理由生成策略信息对应的目标推荐理由生成策略,生成第二排序列表中各候选对象的推荐理由,并基于目标推荐理由展示策略信息对应的目标推荐理由展示策略,生成第二排序列表中各候选对象的推荐理由的展示信息,得到策略执行结果。
306中,具体由推荐理由单元将策略执行结果发送给执行管理单元。
其中,在其中一些具体示例中,排序单元调用模型层模块预测第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于目标排序策略信息对应的目标排序策略,对第一排序列表中的候选对象进行排序,得到第二排序列表,可以通过如下方式实现:
排序单元请求数据获取单元获取推荐请求中用户ID对应的目标用户的特征信息、以及第一排序列表中各候选对象的特征信息,
数据获取单元从数据存储模块中的特征数据库获取推荐请求中用户ID对应的目标用户的特征信息、以及第一排序列表中各候选对象的特征信息并返回排序单元;
排序单元调用模型层模块中的预测模型,基于目标用户的特征信息和第一排序列表中各候选对象的特征信息得到第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于目标排序策略对第一排序列表中的候选对象进行排序,得到第二排序列表。
可选地,在具体示例的基础上,模型层模块中的特征工程单元,还可以请求数据获取单元从数据存储模块中的用户数据库中获取各用户的用户信息,分别基于各用户的用户信息生成各用户的特征信息并存储在特征数据库中;以及,请求数据获取单元从特征数据库获取中获取各候选对象的候选对象数据,分别基于各候选对象的候选对象数据生成各候选对象的特征信息并存储在特征数据库中。
可选地,在另一些可能的实现方式中,每条推荐策略还可以包括:黑名单策略。相应地,所述至少一个策略执行单元还可以包括:黑名单过滤单元。
在上述实现方式的基础上,数据获取单元从数据存储模块中的候选数据库中获取与目标召回策略匹配的候选对象数据并返回候选召回单元之后,还可以由黑名单过滤单元基于目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对候选召回单元召回的候选对象数据进行过滤。相应地,策略融合单元基于目标融合策略,对经黑名单过滤单元过滤后的候选对象数据对相应的候选对象进行排序,得到第一排序列表,得到所述第一排序列表。
其中,在其中一些具体示例中,黑名单过滤单元可以请求数据获取单元从数据存储模块中的黑名单数据库获取与目标黑名单策略匹配的、推荐请求中用户ID对应的目标用户的黑名单数据和/或候选对象黑名单,然后,基于获取到的目标用户的黑名单数据和/或候选对象黑名单对候选召回单元召回的候选对象数据进行过滤。其中,黑名单数据库中存储有各用户的黑名单数据,和/或候选对象黑名单。
可选地,在其中一些可能的实现方式中,每条业务规则例如可以包括但不限于以下任意一项或多项子规则:业务重排规则,业务强插规则,等等。相应地,每条业务规则信息例如可以包括但不限于以下任意一项或多项子规则:业务重排规则信息,业务强插规则信息,等等。所述至少一个业务规则执行单元例如可以包括但不限于以下任意一个或多个:业务重排单元,业务强插单元,等等。
可选地,在其中一些可能的实现方式中,操作308中,业务管理单元响应于接收到执行管理单元返回的策略执行结果,可以基于该目标业务规则信息,将策略执行结果和目标业务规则信息中的目标业务重排规则信息发送给业务重排单元,由业务重排单元基于接收到的目标业务重排规则信息对应的目标业务重排规则,对接收到的策略执行结果中的各候选对象重新进行排序,得到重新排序的策略执行结果并返回业务管理单元,然后,业务管理单元将所述重新排序的策略执行结果和目标业务规则信息中的目标业务强插规则信息发送给业务强插单元,进而,由业务强插单元请求数据获取单元从数据存储模块中获取接收到的目标业务强插规则信息对应的目标业务强插规则对应的数据,并基于该目标业务强插规则,将该目标业务强插规则对应的数据***到重新排序的策略执行结果中,得到处理后的策略执行结果并返回业务管理单元。
本公开实施例提供的任一种推荐方法可以由任意适当的具有数据处理能力的设备执行,包括但不限于:终端设备和服务器等。或者,本公开实施例提供的任一种推荐方法可以由处理器执行,如处理器通过调用存储器存储的相应指令来执行本公开实施例提及的任一种推荐方法。下文不再赘述。
本领域普通技术人员可以理解:实现上述推荐方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
本公开图4-图5所示上述实施例的推荐方法,可以由图1-图3所示上述实施例的推荐***实现,相关内容相互参见即可。
图6图示了根据本公开实施例的电子设备的框图。下面,参考图6来描述根据本公开实施例的电子设备。该电子设备可以是第一设备和第二设备中的任一个或两者、或与它们独立的单机设备,该单机设备可以与第一设备和第二设备进行通信,以从它们接收所采集到的输入信号。
如图6所示,电子设备包括一个或多个处理器和存储器。处理器可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备中的其他组件以执行期望的功能。
存储器可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器可以运行所述程序指令,以实现上文所述的本公开的各个实施例的推荐方法以及/或者其他期望的功能。
在一个示例中,电子装置还可以包括:输入装置和输出装置,这些组件通过总线***和/或其他形式的连接机构(未示出)互连。
此外,该输入装置还可以包括例如键盘、鼠标等等。该输出装置可以向外部输出各种信息,包括确定出的距离信息、方向信息等。
当然,为了简化,图6中仅示出了该电子设备中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的推荐方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述部分中描述的根据本公开各种实施例的推荐方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。
本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于方法实施例而言,由于其与***实施例基本对应,所以描述的比较简单,相关之处参见***实施例的部分说明即可。
本公开中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
可能以许多方式来实现本公开的方法和装置。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本公开的方法和装置。用于所述方法的步骤的上述顺序仅是为了进行说明,本公开的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本公开实施为记录在记录介质中的程序,这些程序包括用于实现根据本公开的方法的机器可读指令。因而,本公开还覆盖存储用于执行根据本公开的方法的程序的记录介质。
还需要指出的是,在本公开的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本公开的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (10)
1.一种推荐***,其特征在于,包括:分别独立配置的策略信息存储模块、应用层模块、计算层模块和数据层模块;其中:
所述策略信息存储模块,用于存储预先配置的至少一条推荐策略的推荐策略信息;其中,每条所述推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略;每条所述推荐策略信息包括以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息;
所述应用层模块,用于接收请求方发送的推荐请求,从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述计算层模块;以及基于所述推荐请求对应的目标业务规则,对所述计算层模块返回的策略执行结果进行处理,得到推荐结果并返回所述请求方;
所述计算层模块,用于执行所述目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中调用所述数据层模块获取需要的数据,将执行所述目标推荐策略得到的所述策略执行结果发送给所述应用层模块;
所述数据层模块,用于基于所述计算层模块的请求,从数据存储模块中获取所述需要的数据并返回所述计算层模块。
2.根据权利要求1所述的***,其特征在于,所述应用层模块包括应用程序接口API单元、策略配置管理单元、业务管理单元和至少一个业务规则执行单元,所述计算层模块包括执行管理单元和至少一个策略执行单元,所述数据层模块包括数据获取单元;
所述API单元,用于接收请求方发送的推荐请求并转发给所述策略配置管理单元;以及将所述业务管理单元发送的推荐结果转发给所述请求方;
所述策略配置管理单元,用于从所述策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述业务管理单元,以及从规则存储模块获取所述推荐请求对应的目标业务规则信息并发送给所述业务管理单元;所述目标推荐策略信息包括与所述至少一个策略执行单元对应的至少一个目标子策略信息;所述目标业务规则信息包括至少一个目标子规则信息;
所述业务管理单元,用于将所述目标推荐策略信息转发给所述执行管理单元;以及响应于接收到所述执行管理单元返回的策略执行结果,基于所述目标业务规则信息,将所述策略执行结果和所述至少一个目标子规则信息中相应目标子规则信息发送给对应的业务规则执行单元;以及将基于所述至少一个目标子规则信息对应的至少一个目标子规则对所述策略执行结果处理得到的推荐结果转发给所述API单元;
所述业务规则执行单元,用于响应于接收到策略执行结果和相应目标子规则信息,基于接收到的目标子规则信息对应的目标子规则对接收到的策略执行结果进行处理,得到处理后的策略执行结果并返回所述业务管理单元;
所述执行管理单元,用于将所述目标推荐策略信息中的至少一个目标子策略信息分发给对应的策略执行单元,并将所述策略执行单元返回的策略执行结果转发给所述业务管理单元;
所述策略执行单元,用于执行接收到的目标子策略信息对应的目标子策略,响应于在执行目标子策略的过程中需要获取数据,向所述数据获取单元发送数据获取请求;
所述数据获取单元,用于基于所述数据获取请求从数据存储模块中获取对应的数据并返回所述策略执行单元。
3.根据权利要求2所述的***,其特征在于,所述至少一个策略执行单元包括以下任意一个或多个:候选召回单元,策略融合单元,排序单元,推荐理由单元;
所述候选召回单元,用于基于所述目标推荐策略信息中的目标召回策略信息对应的目标召回策略,请求所述数据获取单元获取与所述目标召回策略匹配的候选对象数据;
所述策略融合单元,用于基于所述目标推荐策略信息中的目标融合策略信息对应的目标融合策略,根据所述候选召回单元召回的候选对象数据对相应的候选对象进行排序,得到第一排序列表;
所述排序单元,用于调用模型层模块预测所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标推荐策略信息中的目标排序策略信息对应的目标排序策略,对所述第一排序列表中的候选对象进行排序,得到第二排序列表;
所述推荐理由单元,用于基于所述目标推荐策略信息中的目标推荐理由生成策略信息对应的目标推荐理由生成策略,生成所述第二排序列表中各候选对象的推荐理由,并基于所述目标推荐策略中的目标推荐理由展示策略信息对应的目标推荐理由展示策略,生成所述第二排序列表中各候选对象的推荐理由的展示信息。
4.根据权利要求3所述的***,其特征在于,所述数据存储模块包括:
候选数据库,用于存储候选对象数据;
所述数据获取单元,具体用于从所述候选数据库中获取与所述目标召回策略匹配的候选对象数据。
5.根据权利要求4所述的***,其特征在于,所述数据存储模块还包括:
特征数据库,用于存储用户的特征信息和候选对象的特征信息;
所述排序单元,具体用于请求所述数据获取单元获取所述推荐请求中用户标识ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息,调用所述模型层模块中的预测模型,基于所述目标用户的特征信息和所述第一排序列表中各候选对象的特征信息得到所述第一排序列表中各候选对象的得分,并根据各候选对象的得分,基于所述目标推荐策略中的目标排序策略对所述第一排序列表中的候选对象进行排序,得到第二排序列表;
所述数据获取单元,还用于从所述特征数据库获取所述推荐请求中用户ID对应的目标用户的特征信息、以及所述第一排序列表中各候选对象的特征信息;
所述模型层模块包括:
所述预测模型,用于基于所述目标用户的特征信息和所述第一排序列表中各候选对象的特征信息得到所述第一排序列表中各候选对象的得分。
6.根据权利要求5所述的***,其特征在于,所述数据存储模块还包括:
用户数据库,用于存储各用户的用户信息;
所述模型层模块还包括:
特征工程单元,用于分别基于各用户的用户信息生成各用户的特征信息并存储在所述特征数据库中;以及分别基于所述候选数据库中各候选对象的候选对象数据生成各候选对象的特征信息并存储在所述特征数据库中。
7.根据权利要求3-6任一所述的***,其特征在于,每条所述推荐策略还包括:黑名单策略;每条所述推荐策略信息还包括黑名单策略信息;
所述至少一个策略执行单元还包括:黑名单过滤单元;
所述黑名单过滤单元,用于基于所述目标推荐策略信息中的目标黑名单策略信息对应的目标黑名单策略,对所述候选召回单元召回的候选对象数据进行过滤;
所述策略融合单元,具体用于基于所述目标融合策略,对经所述黑名单过滤单元过滤后的候选对象数据对相应的候选对象进行排序,得到第一排序列表。
8.一种推荐方法,其特征在于,所述推荐方法基于权利要求1-7任一所述的推荐***实现;所述推荐方法包括:
响应于接收到请求方发送的推荐请求,应用层模块从预先配置的策略存储模块中获取所述推荐请求对应的目标推荐策略信息并发送给所述计算层模块;其中,所述策略存储模块存储有预先配置的至少一条推荐策略的推荐策略信息;其中,每条所述推荐策略包括以下任意一项或多项子策略:召回策略,融合策略,排序策略,推荐理由生成策略,推荐理由展示策略;每条所述推荐策略信息包括以下任意一项或多项子策略信息:召回策略信息,融合策略信息,排序策略信息,推荐理由生成策略信息,推荐理由展示策略信息;
所述计算层模块执行所述目标推荐策略信息对应的目标推荐策略,并在执行所述目标推荐策略的过程中,调用所述数据层模块从数据存储模块中获取需要的数据,将执行所述目标推荐策略得到的所述策略执行结果发送给所述应用层模块;
所述应用层模块基于所述推荐请求对应的目标业务规则,对所述计算层模块返回的策略执行结果进行处理,得到推荐结果并返回所述请求方。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求8所述的推荐方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时,实现上述权利要求8所述的推荐方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010864639.XA CN111966908A (zh) | 2020-08-25 | 2020-08-25 | 推荐***和方法、电子设备和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010864639.XA CN111966908A (zh) | 2020-08-25 | 2020-08-25 | 推荐***和方法、电子设备和计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111966908A true CN111966908A (zh) | 2020-11-20 |
Family
ID=73390809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010864639.XA Pending CN111966908A (zh) | 2020-08-25 | 2020-08-25 | 推荐***和方法、电子设备和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111966908A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464088A (zh) * | 2020-11-24 | 2021-03-09 | 上海哔哩哔哩科技有限公司 | 推荐请求响应方法、装置及推荐***开发方法 |
CN113051479A (zh) * | 2021-04-19 | 2021-06-29 | 北京百度网讯科技有限公司 | 文件处理、推荐信息生成方法、装置、设备及存储介质 |
CN113204702A (zh) * | 2021-04-23 | 2021-08-03 | Oppo广东移动通信有限公司 | 推荐方法、推荐***及存储介质 |
CN114579861A (zh) * | 2022-03-03 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、电子设备及可读存储介质 |
CN115858930A (zh) * | 2022-12-09 | 2023-03-28 | 贝壳找房(北京)科技有限公司 | 基于编码的信息查询方法、设备、介质及计算机程序产品 |
CN116600020A (zh) * | 2023-07-13 | 2023-08-15 | 支付宝(杭州)信息技术有限公司 | 协议生成方法、端云协同推荐方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109408703A (zh) * | 2018-09-03 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 信息推荐方法及其***、装置、电子设备、存储介质 |
US20190207985A1 (en) * | 2016-12-08 | 2019-07-04 | Tencent Technology (Shenzhen) Company Limited | Authorization policy recommendation method and apparatus, server, and storage medium |
CN110221817A (zh) * | 2019-06-17 | 2019-09-10 | 北京酷我科技有限公司 | 一种数据召回模块及推荐*** |
CN111125518A (zh) * | 2019-12-10 | 2020-05-08 | 海尔优家智能科技(北京)有限公司 | 家电信息推荐的***及方法 |
-
2020
- 2020-08-25 CN CN202010864639.XA patent/CN111966908A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190207985A1 (en) * | 2016-12-08 | 2019-07-04 | Tencent Technology (Shenzhen) Company Limited | Authorization policy recommendation method and apparatus, server, and storage medium |
CN109408703A (zh) * | 2018-09-03 | 2019-03-01 | 腾讯科技(深圳)有限公司 | 信息推荐方法及其***、装置、电子设备、存储介质 |
CN110221817A (zh) * | 2019-06-17 | 2019-09-10 | 北京酷我科技有限公司 | 一种数据召回模块及推荐*** |
CN111125518A (zh) * | 2019-12-10 | 2020-05-08 | 海尔优家智能科技(北京)有限公司 | 家电信息推荐的***及方法 |
Non-Patent Citations (1)
Title |
---|
蒋国瑞;青海;黄梯云;: "一种柔性的电子商务推荐***", 计算机应用研究, no. 03, 15 March 2009 (2009-03-15) * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112464088A (zh) * | 2020-11-24 | 2021-03-09 | 上海哔哩哔哩科技有限公司 | 推荐请求响应方法、装置及推荐***开发方法 |
CN113051479A (zh) * | 2021-04-19 | 2021-06-29 | 北京百度网讯科技有限公司 | 文件处理、推荐信息生成方法、装置、设备及存储介质 |
CN113051479B (zh) * | 2021-04-19 | 2024-04-26 | 北京百度网讯科技有限公司 | 文件处理、推荐信息生成方法、装置、设备及存储介质 |
CN113204702A (zh) * | 2021-04-23 | 2021-08-03 | Oppo广东移动通信有限公司 | 推荐方法、推荐***及存储介质 |
CN114579861A (zh) * | 2022-03-03 | 2022-06-03 | 腾讯科技(深圳)有限公司 | 信息推送方法、装置、电子设备及可读存储介质 |
CN115858930A (zh) * | 2022-12-09 | 2023-03-28 | 贝壳找房(北京)科技有限公司 | 基于编码的信息查询方法、设备、介质及计算机程序产品 |
CN115858930B (zh) * | 2022-12-09 | 2024-02-20 | 贝壳找房(北京)科技有限公司 | 基于编码的信息查询方法、设备、介质及计算机程序产品 |
CN116600020A (zh) * | 2023-07-13 | 2023-08-15 | 支付宝(杭州)信息技术有限公司 | 协议生成方法、端云协同推荐方法及装置 |
CN116600020B (zh) * | 2023-07-13 | 2023-10-10 | 支付宝(杭州)信息技术有限公司 | 协议生成方法、端云协同推荐方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111966908A (zh) | 推荐***和方法、电子设备和计算机可读存储介质 | |
US11727039B2 (en) | Low-latency streaming analytics | |
US20200364279A1 (en) | Unified data processing across streaming and indexed data sets | |
US20200364223A1 (en) | Search time estimate in a data intake and query system | |
US11645471B1 (en) | Determining a relationship recommendation for a natural language request | |
US11281706B2 (en) | Multi-layer partition allocation for query execution | |
US11163758B2 (en) | External dataset capability compensation | |
US11416528B2 (en) | Query acceleration data store | |
US11829330B2 (en) | Log data extraction from data chunks of an isolated execution environment | |
US11663176B2 (en) | Data field extraction model training for a data intake and query system | |
US11650995B2 (en) | User defined data stream for routing data to a data destination based on a data route | |
US11886430B1 (en) | Intent-based natural language processing system | |
Costa-Montenegro et al. | Which App? A recommender system of applications in markets: Implementation of the service for monitoring users’ interaction | |
US20220036177A1 (en) | Data field extraction by a data intake and query system | |
US8793312B2 (en) | Bridging social silos for knowledge discovery and sharing | |
US20180089278A1 (en) | Data conditioning for dataset destination | |
US11288319B1 (en) | Generating trending natural language request recommendations | |
US20220036002A1 (en) | Log sourcetype inference model training for a data intake and query system | |
WO2020210411A1 (en) | System and method for customer journey event representation learning and outcome prediction using neural sequence models | |
US11475053B1 (en) | Providing completion recommendations for a partial natural language request received by a natural language processing system | |
WO2014004735A1 (en) | Recommendations system | |
US20180012237A1 (en) | Inferring user demographics through categorization of social media data | |
US11663172B2 (en) | Cascading payload replication | |
WO2012117420A1 (en) | System and method for user classification and statistics in telecommunication network | |
US20230385288A1 (en) | User interface for customizing data streams and processing pipelines |
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 |