CN110472152A - 在线离线混合推荐方法及系统 - Google Patents

在线离线混合推荐方法及系统 Download PDF

Info

Publication number
CN110472152A
CN110472152A CN201910758655.8A CN201910758655A CN110472152A CN 110472152 A CN110472152 A CN 110472152A CN 201910758655 A CN201910758655 A CN 201910758655A CN 110472152 A CN110472152 A CN 110472152A
Authority
CN
China
Prior art keywords
model
prediction
data
result
training
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.)
Granted
Application number
CN201910758655.8A
Other languages
English (en)
Other versions
CN110472152B (zh
Inventor
唐惟鲲
芮均
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Cloud Account Network Technology Co Ltd
Original Assignee
Nanjing Cloud Account Network Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Cloud Account Network Technology Co Ltd filed Critical Nanjing Cloud Account Network Technology Co Ltd
Priority to CN201910758655.8A priority Critical patent/CN110472152B/zh
Publication of CN110472152A publication Critical patent/CN110472152A/zh
Application granted granted Critical
Publication of CN110472152B publication Critical patent/CN110472152B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Computational Linguistics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种在线离线混合推荐方法及系统,通过对全量数据进行深度学习,提高了精度与冷启动的问题。同时根据每个用户的使用情况,实时对离线使用情况进行纠正,解决个性化以及响应速度的问题。相比于传统的方案,该在线与离线混合的方案使用离线模型作为整个推荐服务的中间结果。该中间结果由于使用了全量数据进行学习,性能会更为优越。主要用以应对冷启动与数据稀少等问题。而在线模型是一个更为轻量级的模型,使用离线模型的结果与当前企业用户的偏好结合生成结果。本发明通过结合离线与在线模型在兼顾推荐质量的同时保证了不同企业的个性需求,提升了用户体验;通过自动化的训练管道,基本全自动自动更新权值,降低了模型的维护成本。

Description

在线离线混合推荐方法及系统
技术领域
本发明涉及SaaS平台推荐系统领域,尤其涉及一种在线离线混合推荐方法及系统。
背景技术
SaaS是Software-as-a-Service(软件即服务)的简称,随着互联网技术的发展和应用软件的成熟,在21世纪开始兴起的一种完全创新的软件应用模式。它与“on-demandsoftware”(按需软件),the application service provider(ASP,应用服务提供商),hosted software(托管软件)所具有相似的含义。它是一种通过Internet提供软件的模式,厂商将应用软件统一部署在自己的服务器上,客户可以根据自己实际需求,通过互联网向厂商定购所需的应用软件服务,按定购的服务多少和时间长短向厂商支付费用,并通过互联网获得厂商提供的服务。用户不用再购买软件,而改用向提供商租用基于Web的软件,来管理企业经营活动,且无需对软件进行维护,服务提供商会全权管理和维护软件,软件厂商在向客户提供互联网应用的同时,也提供软件的离线操作和本地数据存储,让用户随时随地都可以使用其定购的软件和服务。对于许多小型企业来说,SaaS是采用先进技术的最好途径,它消除了企业购买、构建和维护基础设施和应用程序的需要。SaaS应用软件的价格通常为“全包”费用,囊括了通常的应用软件许可证费、软件维护费以及技术支持费,将其统一为每个用户的月度租用费。对于广大中小型企业来说,SaaS是采用先进技术实施信息化的最好途径。但SaaS绝不仅仅适用于中小型企业,所有规模的企业都可以从SaaS中获利。
随着互联网及移动互联网技术的迅速发展,通过SaaS的方式为企业提供服务以及得到广泛的认可。但是,随着系统数据的增加、功能与信息的升级,信息过载的问题日益凸显,海量的资源常常让用户无所适从,推荐系统能有效的提高用户使用的体验,缓解信息过载问题,但不同于C端(即消费者)互联网产品,SaaS平台推荐系统也存在很多挑战:
(1)数据稀疏性:由于SaaS主要面向企业侧,单个用户产生的数据量少,传统协同过滤等方法效果一般;
(2)冷启动:在用户刚进行使用时,还未产生使用数据时,如何进行推荐;
(3)快速响应:当用户进行某些操作与选择后,如何迅速的调整模型,对推荐算法进行调整。
目前,传统的推荐系统主要分为两类,基于协同过滤等在线学习系统与基于深度学习等算法的离线学习系统,但在SaaS应用领域都存在一定的局限性:
(1)推荐精度不够高:基于协同过滤的方法主要优势在于有成熟的工具链进行非常大规模的矩阵运算,运算速度更快。在搜索引擎等C端领域取得了很好的效果,但是企业服务领域需要更精细化的推荐;
(2)缺乏个性化:虽然很多推荐系统已经引入了千人千面的概念,但主要也是对用户进行聚类推荐,并未真正做到为不同的用户定制偏好;
(3)学习速度不够快:基于深度学习模型算法的模型通常更新频度会更慢,需要有离线对数据进行学习再更新模型权值的过程。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种在线离线混合推荐方法及系统。
为实现上述目的,本发明采用了如下技术方案:
一种在线离线混合推荐方法及系统,分为训练过程与预测过程,所述预测过程包括SaaS系统调用预测服务的步骤,预测推荐模型推荐预测的步骤,结果返回的步骤,所述训练过程包括在线学习步骤和离线学习步骤。
所述SaaS系统调用预测服务的具体步骤如下:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型。
所述预测推荐模型推荐预测的具体步骤如下:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
步骤S23:若步骤S22结果为“是”,将预测结果送入Streaming Model中进行二次处理;若步骤S22结果为“否”,步骤S21直接返回推荐结果。在线推荐是在离线推荐的基础上进行修正,从而达到推荐精度的提高。
所述结果返回的具体步骤如下:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;
步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正,从而解决个性化问题。
所述在线学习步骤如下:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新。
所述离线学习步骤如下:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
优选地,所述预测服务包括如下组件:
(1)接口服务(API Server):负责对外进行沟通对接(http方式),将外部输入数据转换为模型可以接受的格式,根据条件选择使用哪个模型进行预测,并与推荐模型进行信息对接(grpc方式);
(2)模型负载均衡(load balance):由于深度学习模型是一项对资源消耗较大的耗时功能,接口服务会按照负载均衡的方式拆分请求,尽可能分担推荐请求;
(3)离线预测服务(Tensorflow-serving):将预训练好的模型与权值(weight)载入系统中,提供预测推荐服务;
(4)在线预测服务(Online-Models):将每个企业最新的信息、选项等缓存于在线预测服务的Redis数据库中,对离线模型所生成的结果进行纠正。
优选地,所述训练服务包括如下组件:
(1)在线模型(Streaming Model):通过kafka系统获取实时流数据,更新在线模型(Streaming Model),配合在线预测服务对离线模型进行结果纠正;
(2)原始数据汇总(ODS\DW\WideTable):将系统中的历史数据定时汇总成待训练的数据宽表;
(3)数据采样模块(PhaseII/PhaseIII):将待训练的数据进行进一步处理,分词、欠采样(随机将部分过于活跃用户数据划分为非训练数据)、过采样(通过近义词替换、随机增加或减少词汇等方式制造数据)并拆分训练集、测试集与验证集(通常训练集占原始数据70%,测试集占10%,验证集占20%);
(4)模型训练(Tensorflow/Spark):将处理过的数据送到不同任务下的模型里进行学习,包括独立的Spark模型(协同过滤模型)、Tensorflow模型(深度学习神经网络模型)以及两者的联结模型;
(5)模型评价模型(Evaluate Model):将训练的模型以及历史模型加载到系统中按照设定好的任务场景用测试数据进行打分,评估是否需要更新模型。
进一步的,所述训练服务在训练时设定的规则如下:
在训练时会将20%的数据设为验证数据,在每次遍历学习过一篇训练数据后,根据模型在验证集上的表现进行学习率与参数的调整,若连续两轮在验证集上的表现(loss)下降没有达到预设比率,则会将学习率按照设定比率进行下调,当连续5个轮次验证集上表现没有进步,则停止继续学习并将在验证集上表现最优模型在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
优选地,所述离线模型为使用深度学习神经网络方式利用全量历史数据进行训练所得到的模型,深度神经网络的神经元通常是如下的表示(f(Wi1x1+…+Wijxj+bi)),其中权重W与偏置项b是通过训练得到的。
进一步的,在离线模式中,通常使用交叉熵 对模型的表现(loss)进行衡量,在训练阶段每个批次数据下都将进行梯度下降反向传播。
优选地,协同过滤中使用了奇异值分解的原理,使用均方差作为模型的表现进行衡量。
本发明还提出一种一种在线离线混合推荐系统,包括训练过程模块与预测过程模块,所述预测过程模块包括SaaS系统调用预测服务子模块,预测推荐模型推荐预测子模块,结果返回子模块,所述训练过程模块包括在线学习子模块和离线学习子模块;
所述SaaS系统调用预测子模块的工作步骤包括:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型;
所述预测推荐模型推荐预测的具体步骤包括:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
步骤S23:若步骤S22结果为“是”,将预测结果送入Streaming Model中进行二次处理;若步骤S22结果为“否”,步骤S21直接返回推荐结果;
所述结果返回子模块的工作步骤包括:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正;
所述在线学习子模块工作步骤包括:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新;
所述离线学习子模块工作步骤包括:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
与现有技术相比,本发明的有益效果为:本发明通过结合传统协同过滤与深度学习模型的方式,取得一个较好的平衡点。通过对全量数据进行深度学习,提高了精度与冷启动的问题。同时根据每个用户的使用情况,实时对离线使用情况进行纠正,解决个性化以及响应速度的问题。相比于传统的方案,该在线与离线混合的方案使用离线模型作为整个推荐服务的中间结果。该中间结果由于使用了全量数据进行学习,性能会更为优越。主要用以应对冷启动与数据稀少等问题。而在线模型是一个更为轻量级的模型,使用离线模型的结果与当前企业用户的偏好结合生成结果。本发明通过结合离线与在线模型在兼顾推荐质量的同时保证了不同企业的个性需求,提升了用户体验;通过自动化的训练管道,降低了模型的维护成本,基本全自动自动更新权值,降低了模型维护成本。
附图说明
图1为本发明的流程图;
图2为本发明的系统结构图。
具体实施方式
为使对本发明的目的、构造、特征、及其功能有进一步的了解,兹配合实施例详细说明如下。
请参见图1,一种在线离线混合推荐方法及系统,分为训练过程与预测过程,所述预测过程包括SaaS系统调用预测服务的步骤,预测推荐模型推荐预测的步骤,结果返回的步骤,所述训练过程包括在线学习步骤和离线学习步骤。
所述SaaS系统调用预测服务的具体步骤如下:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型。
所述预测推荐模型推荐预测的具体步骤如下:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
在一实施例中,若步骤S22结果为“是”,则执行步骤S23:将预测结果送入Streaming Model中进行二次处理;
在一实施例中,若步骤S22结果为“否”,则执行步骤S21直接返回推荐结果。
在线推荐是在离线推荐的基础上进行修正,从而达到推荐精度的提高。
所述结果返回的具体步骤如下:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;
步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正,从而解决个性化问题。
所述在线学习步骤如下:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新。
所述离线学习步骤如下:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
在一实施例中,所述训练服务在训练时设定的规则如下:
在训练时会将20%的数据设为验证数据,在每次遍历学习过一篇训练数据后,根据模型在验证集上的表现进行学习率与参数的调整,若连续两轮在验证集上的表现(loss)下降没有达到预设比率,则会将学习率按照设定比率进行下调,当连续5个轮次验证集上表现没有进步,则停止继续学习并将在验证集上表现最优模型在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
请参见图2,所述预测服务包括如下组件:
(1)接口服务(API Server):负责对外进行沟通对接(http方式),将外部输入数据转换为模型可以接受的格式,根据条件选择使用哪个模型进行预测,并与推荐模型进行信息对接(grpc方式);
(2)模型负载均衡(load balance):由于深度学习模型是一项对资源消耗较大的耗时功能,接口服务会按照负载均衡的方式拆分请求,尽可能分担推荐请求;
(3)离线预测服务(Tensorflow-serving):将预训练好的模型与权值(weight)载入系统中,提供预测推荐服务;
(4)在线预测服务(Online-Models):将每个企业最新的信息、选项等缓存于在线预测服务的Redis数据库中,对离线模型所生成的结果进行纠正。
请进一步参见图2,所述训练服务包括如下组件:
(1)在线模型(Streaming Model):通过kafka系统获取实时流数据,更新在线模型(Streaming Model),配合在线预测服务对离线模型进行结果纠正;
(2)原始数据汇总(ODS\DW\WideTable):将系统中的历史数据定时汇总成待训练的数据宽表;
(3)数据采样模块(PhaseII/PhaseIII):将待训练的数据进行进一步处理,分词、欠采样(随机将部分过于活跃用户数据划分为非训练数据)、过采样(通过近义词替换、随机增加或减少词汇等方式制造数据)并拆分训练集、测试集与验证集(通常训练集占原始数据70%,测试集占10%,验证集占20%);
(4)模型训练(Tensorflow/Spark):将处理过的数据送到不同任务下的模型里进行学习,包括独立的Spark模型(协同过滤模型)、Tensorflow模型(深度学习神经网络模型)以及两者的联结模型;
(5)模型评价模型(Evaluate Model):将训练的模型以及历史模型加载到系统中按照设定好的任务场景用测试数据进行打分,评估是否需要更新模型。
具体地,所述离线模型为使用深度学习神经网络方式利用全量历史数据进行训练所得到的模型,深度神经网络的神经元通常是如下的表示(f(Wi1x1+…+Wijxj+bi)),其中权重W与偏置项b是通过训练得到的。
进一步的,在离线模式中,通常使用交叉熵 对模型的表现(loss)进行衡量,在训练阶段每个批次数据下都将进行梯度下降反向传播。
具体地,协同过滤中使用了奇异值分解的原理,使用均方差作为模型的表现进行衡量。
本发明还提出一种在线离线混合推荐系统,其特征在于:包括训练过程模块与预测过程模块,所述预测过程模块包括SaaS系统调用预测服务子模块,预测推荐模型推荐预测子模块,结果返回子模块,所述训练过程模块包括在线学习子模块和离线学习子模块;
所述SaaS系统调用预测子模块的工作步骤包括:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型;
所述预测推荐模型推荐预测的具体步骤包括:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
步骤S23:若步骤S22结果为“是”,将预测结果送入Streaming Model中进行二次处理;若步骤S22结果为“否”,步骤S21直接返回推荐结果;
所述结果返回子模块的工作步骤包括:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;
步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正;
所述在线学习子模块工作步骤包括:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新;
所述离线学习子模块工作步骤包括:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
本发明已由上述相关实施例加以描述,然而上述实施例仅为实施本发明的范例。必需指出的是,已揭露的实施例并未限制本发明的范围。相反地,在不脱离本发明的精神和范围内所作的更动与润饰,均属本发明的专利保护范围。

Claims (11)

1.一种在线离线混合推荐方法,其特征在于包括如下步骤:
所述在线离线混合推荐方法分为训练过程与预测过程,所述预测过程包括SaaS系统调用预测服务的步骤,预测推荐模型推荐预测的步骤,结果返回的步骤,所述训练过程包括在线学习步骤和离线学习步骤;
所述SaaS系统调用预测服务的具体步骤如下:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型;
所述预测推荐模型推荐预测的具体步骤如下:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
步骤S23:若步骤S22结果为“是”,将预测结果送入Streaming Model中进行二次处理;若步骤S22结果为“否”,步骤S21直接返回推荐结果;
所述结果返回的具体步骤如下:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;
步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正;
所述在线学习步骤如下:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新;
所述离线学习步骤如下:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
2.如权利要求1所述的在线离线混合推荐方法,其特征在于:所述预测服务包括如下组件:
(1)接口服务API Server:负责对外进行沟通对接http方式,将外部输入数据转换为模型可以接受的格式,根据条件选择使用哪个模型进行预测,并与推荐模型进行信息对接grpc方式;
(2)模型负载均衡load balance:由于深度学习模型是一项对资源消耗较大的耗时功能,接口服务会按照负载均衡的方式拆分请求,尽可能分担推荐请求;
(3)离线预测服务Tensorflow-serving:将预训练好的模型与权值(weight)载入系统中,提供预测推荐服务;
(4)在线预测服务Online-Models:将每个企业最新的信息、选项等缓存于在线预测服务的Redis数据库中,对离线模型所生成的结果进行纠正。
3.如权利要求2所述的在线离线混合推荐方法,其特征在于:所述预测服务的具体步骤如下:
步骤S121:API服务器将外部数据转换为模型可以接受的向量形式,并根据条件选择在线预测模型或离线预测模型;
步骤S122:API服务器利用负载均衡器拆分请求,并与推荐模型进行信息对接grpc方式;
步骤S123:离线预测模型将预训练好的模型与权值(weight)载入系统中,提供预测推荐服务;
步骤S124:在线预测模型将每个企业最新的信息、选项等缓存于在线预测服务的Redis数据库中,对离线模型所生成的结果进行纠正。
4.如权利要求1所述的在线离线混合推荐方法,其特征在于:所述训练服务包括如下组件:
(1)在线模型Streaming Model:通过kafka系统获取实时流数据,更新在线模型Streaming Model,配合在线预测服务对离线模型进行结果纠正;
(2)原始数据汇总ODS\DW\WideTable:将系统中的历史数据定时汇总成待训练的数据宽表;
(3)数据采样模块PhaseII/PhaseIII:将待训练的数据进行进一步处理,分词、欠采样(随机将部分过于活跃用户数据划分为非训练数据)、过采样,通过近义词替换、随机增加或减少词汇等方式制造数据)并拆分训练集、测试集与验证集;
(4)模型训练Tensorflow/Spark:将处理过的数据送到不同任务下的模型里进行学习,包括独立的Spark模型,协同过滤模型、Tensorflow模型(深度学习神经网络模型)以及两者的联结模型;
(5)模型评价模型(Evaluate Model):将训练的模型以及历史模型加载到系统中按照设定好的任务场景用测试数据进行打分,评估是否需要更新模型。
5.如权利要求4所述的在线离线混合推荐方法及系统,其特征在于:所述训练服务的具体步骤如下:
步骤S41:在线模型(Streaming Model)通过kafka系统获取实时流数据,更新在线模型(Streaming Model),配合在线预测服务对离线模型进行结果纠正;
步骤S42:将系统中的历史数据定时汇总成待训练的数据宽表;
步骤S43:将待训练的数据进行进一步处理,分词、欠采样、过采样并拆分训练集、测试集与验证集;
步骤S44:将处理过的数据送到不同任务下的模型里进行学习,包括独立的Spark模型(协同过滤模型)、Tensorflow模型(深度学习神经网络模型)以及两者的联结模型;
步骤S45:将训练的模型以及历史模型加载到系统中按照设定好的任务场景用测试数据进行打分,评估是否需要更新模型。
6.如权利要求1或4任一项所述的在线离线混合推荐方法,其特征在于:所述训练服务在训练时设定的规则如下:
在训练时会将20%的数据设为验证数据,在每次遍历学习过一篇训练数据后,根据模型在验证集上的表现进行学习率与参数的调整,若连续两轮在验证集上的表现(loss)下降没有达到预设比率,则会将学习率按照设定比率进行下调,当连续5个轮次验证集上表现没有进步,则停止继续学习并将在验证集上表现最优模型在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
7.如权利要求1所述的在线离线混合推荐方法,其特征在于:
所述离线模型为使用深度学习神经网络方式利用全量历史数据进行训练所得到的模型,深度神经网络的神经元通常是如下的表示(f(Wi1x1+…+Wijxj+bi)),其中权重W与偏置项b是通过训练得到的。
8.如权利要求1所述的在线离线混合推荐方法,其特征在于:在离线模式中,通常使用交叉熵对模型的表现(loss)进行衡量,在训练阶段每个批次数据下都将进行梯度下降反向传播。
9.如权利要求1所述的在线离线混合推荐方法,其特征在于:协同过滤中使用了奇异值分解的原理,使用均方差作为模型的表现进行衡量。
10.如权利要求4所述的在线离线混合推荐方法,其特征在于:通常训练集占原始数据70%,测试集占10%,验证集占20%。
11.一种在线离线混合推荐系统,其特征在于:包括训练过程模块与预测过程模块,所述预测过程模块包括SaaS系统调用预测服务子模块,预测推荐模型推荐预测子模块,结果返回子模块,所述训练过程模块包括在线学习子模块和离线学习子模块;
所述SaaS系统调用预测子模块的工作步骤包括:
步骤S11:SaaS系统通过API接口调用预测服务进行业务匹配或业务分类;
步骤S12:预测服务将该请求处理为模型可以接受的向量形式;
步骤S13:预测服务将处理为向量形式的请求发送给预测推荐模型;所述预测推荐模型推荐预测的具体步骤包括:
步骤S21:离线模型对请求进行计算,并返回推荐结果;
步骤S22:预测服务查询在缓存中是否需要对预测结果进行个性化纠偏,本步骤与步骤S21同时进行;
步骤S23:若步骤S22结果为“是”,将预测结果送入Streaming Model中进行二次处理;若步骤S22结果为“否”,步骤S21直接返回推荐结果;
所述结果返回子模块的工作步骤包括:
步骤S31:接收离线预测结果和二次处理结果,得出预测综合结果;
步骤S32:利用基于协同过滤方法的Streaming Model对结果进行进一步的修正;
所述在线学习子模块工作步骤包括:将用户实时的选择数据与当时的预测数据,实时送入Streaming Model中进行学习更新;
所述离线学习子模块工作步骤包括:每隔一定时间,调度器会将数据库中的历史数据抽取出来,经过处理采样后进行训练服务,在训练时会按照设定的规则自动调整参数并自动选取训练的最优模型,选出的最优模型会在评估模块中与历史版本模型在指定任务上进行评比,当性能超过历史模型达到一个阈值时,触发模型权值的更新。
CN201910758655.8A 2019-08-16 2019-08-16 在线离线混合推荐方法及系统 Active CN110472152B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910758655.8A CN110472152B (zh) 2019-08-16 2019-08-16 在线离线混合推荐方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910758655.8A CN110472152B (zh) 2019-08-16 2019-08-16 在线离线混合推荐方法及系统

Publications (2)

Publication Number Publication Date
CN110472152A true CN110472152A (zh) 2019-11-19
CN110472152B CN110472152B (zh) 2022-09-16

Family

ID=68510909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910758655.8A Active CN110472152B (zh) 2019-08-16 2019-08-16 在线离线混合推荐方法及系统

Country Status (1)

Country Link
CN (1) CN110472152B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995944A (zh) * 2019-12-19 2020-04-10 易谷网络科技股份有限公司 一种客服坐席推荐方法、装置、客服设备和存储介质
CN111901408A (zh) * 2020-07-24 2020-11-06 腾讯科技(深圳)有限公司 离线状态下的内容推荐方法、装置及计算机程序产品
CN114202093A (zh) * 2021-08-25 2022-03-18 优合集团有限公司 基于产业互联网产业链优化平台
CN114238269A (zh) * 2021-12-03 2022-03-25 中兴通讯股份有限公司 数据库参数调整方法、装置、电子设备和存储介质
CN117899492A (zh) * 2024-03-20 2024-04-19 成都帆点创想科技有限公司 一种游戏玩法场景的实时推荐方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2704089A2 (en) * 2012-08-31 2014-03-05 Accenture Global Services Limited Hybrid recommendation system
CN107635151A (zh) * 2017-09-25 2018-01-26 四川长虹电器股份有限公司 一种基于域分解机的机器学习电视节目推荐方法
CN109816015A (zh) * 2019-01-22 2019-05-28 北京科技大学 一种基于材料数据的推荐方法及系统
CN109902231A (zh) * 2019-02-22 2019-06-18 新疆大学 基于cbow模型的学习资源推荐方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2704089A2 (en) * 2012-08-31 2014-03-05 Accenture Global Services Limited Hybrid recommendation system
CN107635151A (zh) * 2017-09-25 2018-01-26 四川长虹电器股份有限公司 一种基于域分解机的机器学习电视节目推荐方法
CN109816015A (zh) * 2019-01-22 2019-05-28 北京科技大学 一种基于材料数据的推荐方法及系统
CN109902231A (zh) * 2019-02-22 2019-06-18 新疆大学 基于cbow模型的学习资源推荐方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
李菲: "基于关联规则优化的个性化推荐系统", 《内蒙古师范大学学报(自然科学汉文版)》 *
杨兴雨等: "基于聚类和随机森林的协同过滤推荐算法", 《计算机工程与应用》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995944A (zh) * 2019-12-19 2020-04-10 易谷网络科技股份有限公司 一种客服坐席推荐方法、装置、客服设备和存储介质
CN111901408A (zh) * 2020-07-24 2020-11-06 腾讯科技(深圳)有限公司 离线状态下的内容推荐方法、装置及计算机程序产品
CN111901408B (zh) * 2020-07-24 2021-08-24 腾讯科技(深圳)有限公司 离线状态下的内容推荐方法、装置及计算机程序产品
CN114202093A (zh) * 2021-08-25 2022-03-18 优合集团有限公司 基于产业互联网产业链优化平台
CN114238269A (zh) * 2021-12-03 2022-03-25 中兴通讯股份有限公司 数据库参数调整方法、装置、电子设备和存储介质
CN114238269B (zh) * 2021-12-03 2024-01-23 中兴通讯股份有限公司 数据库参数调整方法、装置、电子设备和存储介质
CN117899492A (zh) * 2024-03-20 2024-04-19 成都帆点创想科技有限公司 一种游戏玩法场景的实时推荐方法及系统

Also Published As

Publication number Publication date
CN110472152B (zh) 2022-09-16

Similar Documents

Publication Publication Date Title
CN110472152A (zh) 在线离线混合推荐方法及系统
CN108009023B (zh) 混合云中基于bp神经网络时间预测的任务调度方法
CN112650187B (zh) 一种车间调度方法、装置和系统
US9454732B1 (en) Adaptive machine learning platform
US20150058078A1 (en) Rule to constraint translator for business application systems
US20190180189A1 (en) Client synchronization for offline execution of neural networks
CN108628964B (zh) 一种智能场景化企业大数据系统
CN108021934A (zh) 多要素识别的方法及装置
CN109361535A (zh) 智能设备绑定方法、装置及存储介质
CN110196711A (zh) 基于人工智能的插件式工单辅助决策方法及其系统
CN114519435A (zh) 模型参数更新方法、模型参数更新装置和电子设备
CN104199820A (zh) 云平台MapReduce工作流调度优化方法
CN110245282A (zh) 在途快件信息实时查询更改方法及系统
AU2023241330A1 (en) Smart capacity for workload routing
Fesenko et al. E-readiness evaluation modelling for monitoring the national e-government programme (by the example of Ukraine)
CN110110962B (zh) 一种任务群智执行团队的优选方法
CN107491812B (zh) 基于实时电价的短期负荷预测方法
Verma et al. Automated optimal dispatching of service requests
CN111724176A (zh) 店铺流量调节方法、装置、设备及计算机可读存储介质
KR20090026478A (ko) 서비스로 제공되는 소프트웨어 기반의 비즈니스 프로세스관리시스템
CN113240487A (zh) 流量调控方法和装置
CN113408107A (zh) 一种支持自主智能体博弈的需求响应仿真平台及方法
Bányai Optimisation of a multi-product green supply chain model with harmony search
Wang et al. A QoS evolutionary method of cloud service based on user utility model
CN109002965B (zh) 一种云制造服务合作水平评估系统及使用方法

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 210000 10 / F, building D-1, Greenland window, Yuhuatai District, Nanjing City, Jiangsu Province

Applicant after: Cloud accounting room network technology Co.,Ltd.

Address before: 210000 10 / F, building D-1, Greenland window, Yuhuatai District, Nanjing City, Jiangsu Province

Applicant before: NANJING YUNZHANGFANG NETWORK TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: Floor 5, Building H, Shuntian R&D Center, No. 21 Software Avenue, Yuhuatai District, Nanjing City, Jiangsu Province, 210000

Patentee after: Cloud accounting room network technology Co.,Ltd.

Address before: 210000 10 / F, building D-1, Greenland window, Yuhuatai District, Nanjing City, Jiangsu Province

Patentee before: Cloud accounting room network technology Co.,Ltd.