CN107704929A - 一种模型更新方法和装置 - Google Patents
一种模型更新方法和装置 Download PDFInfo
- Publication number
- CN107704929A CN107704929A CN201610645496.7A CN201610645496A CN107704929A CN 107704929 A CN107704929 A CN 107704929A CN 201610645496 A CN201610645496 A CN 201610645496A CN 107704929 A CN107704929 A CN 107704929A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- feature sequence
- sequence
- section
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N99/00—Subject matter not provided for in other groups of this subclass
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种模型更新方法和装置,涉及计算机技术领域,用以至少解决因相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征之间变化不明显,而导致的该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义,从而造成的资源浪费的问题。该方法包括:获取在待测触发点所在的窗口内接收到的第一在线业务数据;根据第一在线业务数据的数据特征,构建第一特征序列;确定第一特征序列与至少一个代表切片之间的关联关系;代表切片是根据历史业务数据的数据特征构建的特征序列的切片;若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种模型更新方法和装置。
背景技术
机器学习算法是通过对已知数据进行分析,获得数据模型(下文中称为模型),利用该模型对未知数据进行预测的算法;示例的,利用该模型和待接收的数据进行内容推荐服务等。传统的机器学习算法需要在学习之前,准备好所有的已知数据,且模型一旦获得,就不再更改。
随着在线类业务(例如在线推荐类业务、在线营销类业务等)的发展,数据规模不断增大,数据变化速率越来越快,利用传统的机器学习算法得到的模型不能很好地适应新增的数据的变化规律,使得利用该模型对未知数据的预测的准确率降低。基于此,增量建模技术应运而生。增量建模技术支持利用新增的数据渐进地对已得到的模型进行更新,使更新后的模型更能适应新增的数据的变化规律,从而提高对未知数据的预测的准确率。
目前,增量建模技术提供的模型更新方法如下:获取新增的数据、历史模型和更新触发点;在更新触发点所在的时刻,利用新增的数据更新历史模型,从而训练出新的模型。在增量建模技术中,何时触发模型的更新是一个关键问题,这影响到模型的更新频率及利用模型对未知数据进行预测的准确率。目前,一般将固定时长或固定数据量作为更新触发点,即:若从上一更新触发点所在的时刻至当前时刻之间的时间段达到固定时长,则触发模型进行更新;或,若从上一更新触发点所在的时刻开始新增的数据量达到固定数据量,则触发模型进行更新。
在利用上述确定更新触发点的方法进行模型更新的过程中,若相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征之间变化不明显,则会导致该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义,从而造成资源的浪费。
发明内容
本发明的实施例提供一种模型更新方法和装置,用以至少解决因相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征之间变化不明显,而导致的该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义,从而造成的资源浪费的问题。
为达到上述目的,本发明的实施例采用如下技术方案:
一方面,提供一种模型更新方法,包括:获取在待测触发点所在的窗口内接收到的第一在线业务数据,其中,待测触发点可以是任意一个待测触发点;然后,根据第一在线业务数据的数据特征,构建第一特征序列;确定第一特征序列与至少一个代表切片之间的关联关系,其中,代表切片是根据历史业务数据的数据特征构建的特征序列的切片;若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。可见,本发明实施例提供的技术方案中结合了在线业务数据的数据特征、历史业务的数据特征、二者所构建的特征序列之间的关联关系,以及预设条件这些特征,来确定待测触发点是否为更新触发点;与现有技术提供的将固定时长或固定数据量作为更新触发点的技术方案相比,能够减少因相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征之间变化不明显,而导致的该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义的问题,从而节省资源。
其中,关联关系,是指一个特征序列与一个代表切片之间的关联关系。具体实现时,若使用向量表示第一特征序列和代表切片,则一个特征序列与一个代表切片之间的关联关系可以用一个特征序列与一个代表切片之间的距离或相似度等表示。若至少一个代表切片包括多个代表切片,则第一特征序列与至少一个代表切片之间的关联关系满足预设条件可以包括:第一特征序列与该多个代表切片中的任意一个或多个代表切片之间的关联关系满足预设条件。
在一种可能的设计中,在确定第一特征序列与至少一个代表切片之间的关联关系之后,该方法还可以包括:若第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,则获取待测触发点的后续待测触发点所在的窗口内接收到的第二在线业务数据;然后,根据第一在线业务数据的数据特征和第二在线业务数据的数据特征,按照接收时间先后顺序构建第二特征序列;确定第二特征序列与至少一个代表切片之间的关联关系;若第二特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。实际实现时,可选的,若第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,则获取待测触发点的下一待测触发点所在的窗口内接收到的在线业务数据;然后根据第一在线业务数据的数据特征和该下一待测触发点所在的窗口内接收到的在线业务数据按照接收时间先后顺序构建新的特征序列,并确定该新的特征序列与至少一个代表切片之间的关联关系,若该关联关系满足预设条件,则更新当前模型。若该关联关系不满足预设条件,则获取该下一待测触发点的下一待测触发点所在的窗口内接收到的在线业务数据……直至所构建的新的特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
在一种可能的设计中,使用向量表示第一特征序列和代表切片;确定第一特征序列与至少一个代表切片之间的关联关系,可以包括:确定第一特征序列与至少一个代表切片之间的距离。该情况下,若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型,可以包括:若距离小于或等于第一预设阈值,则更新当前模型。
在一种可能的设计中,使用向量表示第一特征序列和代表切片;确定第一特征序列与至少一个代表切片之间的关联关系,可以包括:确定第一特征序列与至少一个代表切片之间的相似度。该情况下,若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型,可以包括:若相似度大于或等于第二预设阈值,则更新当前模型。
在一种可能的设计中,根据第一在线业务数据的数据特征,构建第一特征序列,可以包括:根据第一在线业务数据的数据特征,构建第一数据序列;其中,第一数据序列中的一个元素为一个数据点,数据点至少包含以下特征:数据点所在的时刻,数据点所对应的业务数据的数据特征;示例的,第一在线业务数据对应的数据点至少包含以下特征:该数据点所在的时刻(即第一在线业务数据的接收窗口的末尾处),第一在线业务数据的数据特征。示例的,数据点可以表示为(t,v),其中,t表示该数据点所在的时刻,v表示该数据点所对应的业务数据的数据特征。然后,将第一数据序列生成第一特征序列;其中,第一特征序列中的元素至少包含以下特征:该数据点所在的时刻,该数据点与前一数据点(即与该数据点相邻的前一数据点)之间的变化速率;可选的,还可以包括以下特征:该数据点所在的时刻与前一数据点所在的时刻之间的时间段。示例的,第一特征序列中的元素可以表示为(t,△,d),其中,t表示该数据点所在的时刻,△表示该数据点与前一数据点之间的变化速率,d表示该数据点所在的时刻与前一数据点所在的时刻之间的时间段。该可选的设计给出了一种根据在线业务数据的数据特征构建的特征序列的具体实现方式,但是,具体实现时不限于此。例如,特征序列中的每个元素所包含的特征的数量、含义等可以根据实际需要进行更改,即使如此,其整体的构思也使用了该可能的设计中的构思。
在一种可能的设计中,在根据第一在线业务数据的数据特征,构建第一数据序列之后,该方法还可以包括:提取第一数据序列中的特征点(即特殊的数据点,或称为有代表性的数据点,具体实现时,可以根据实际需要进行确定。从物理意义上来讲,特征点是曲线上的局部极值点、拐点等,其中,局部极值点可以包括:峰值点、谷值点等),并根据第一数据序列中的特征点构建第二数据序列。该情况下,将第一数据序列生成第一特征序列,可以包括:将第二数据序列生成第一特征序列;其中,第一特征序列中的元素包括特征点所在的时刻,特征点与前一特征点之间的变化速率,以及特征点所在的时刻与前一特征点所在的时刻之间的时间段。
由于实际实现时,第一数据序列中包含的数据点的个数会很多,这样,若直接根据第一数据序列生成第一特征序列,则第一特征序列中的元素的个数会很多,这会使得在确定第一特征序列与至少一个代表切片之间的关联关系的过程中的计算量较大;该可能的设计通过提取第一数据序列中的特征点得到第二数据序列,并根据第二数据序列生成第一特征序列;该可能的设计中生成的第一特征序列中的元素的个数小于,根据第一数据特征得到第一特征序列中的元素的个数,因此,能够减少确定第一特征序列与至少一个代表切片之间的关联关系的过程中的计算量,从而加快处理速度。另外,由于特征点是第一数据序列中的一些特殊的数据点,因此,利用第一数据序列中的特征点得到的第二特征序列生成的第一特征序列与至少一个代表切片之间的关联关系,与,利用第一数据序列生成的第一特征序列与至少一个代表切片之间的关联关系之间的误差不会太大。
在一种可能的设计中,上述待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则该待测触发点所在的窗口是指从开始接收在线业务数据的时刻至待测触发点之间的窗口;若i≥2,则该待测触发点所在的窗口是从第i-1个待测触发点至待测触发点之间的窗口。该可能的设计,若服务器源源不断地接收在线业务数据,则能够保证后续步骤中,服务器在任意一待测触发点均获取到一组数据特征,从而能够保证确定每个待测触发点是否是更新触发点。
在一种可能的设计中,上述待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则该待测触发点所在的窗口是指从开始接收在线业务数据的时刻至待测触发点之间的窗口的1/N;若i≥2,则该待测触发点所在的窗口是从第i-1个待测触发点至待测触发点之间的窗口的1/N。其中,N>2,N是整数,1/N表示N分之一。该可能的设计,若服务器源源不断地接收在线业务数据,则能够保证后续步骤中,服务器在任意一待测触发点均获取到多组数据特征,从而能够保证确定每个待测触发点是否是更新触发点;并且,相比上一可能的设计,该可能的设计中,获取数据特征的粒度(即窗口)更小,从而得到的数据特征的数量更多,从统计学的角度上来讲,这能够提高计算的精确度。
在一种可能的设计中,该方法还可以包括:将从开始接收在线业务数据的时刻开始的预设时长的整数倍时的时刻,确定为待测触发点。
在一种可能的设计中,该方法还可以包括:将从开始接收在线业务数据的时刻开始至接收到的在线业务数据为预设数据量的整数倍时的时刻,确定为待测触发点。
需要说明的是,实际实现时,根据任意规则确定待测触发点,均不会影响本发明实施例提供的技术方案的基本构思,因此,如何确定待测触发点的具体实现方式不限于上述提供的两种可能的设计。
在一种可能的设计中,在所述确定所述第一特征序列与至少一个代表切片之间的关联关系之前,所述方法还可以包括:获取历史业务数据,并根据所述历史业务数据构建历史特征序列;然后,确定所述历史特征序列中的模型变化点,其中,模型变化点是指:所触发的模型更新过程前后的两个模型之间的变化幅度大于或等于预设阈值的更新触发点;接着,基于所述历史特征序列中的模型变化点对历史特征序列进行切割,得到代表切片。其中,确定模型变化点和切割历史特征序列的具体实现方式可以参考图11。该可能的设计中提供的方法可以在离线状态下得到,也可以是在在线状态下得到的;并且,代表切片可以一生成就不再改变,或者在需要对代表切片进行更新时再更新,也可以随着历史特征序列的更新而更新。具体实现时,还可以根据经验确定代表切片,然后预先存储这些代表切片。
在一种可能的设计中,上述基于模型变化点对历史特征序列进行切割,得到代表切片,可以包括:基于模型变化点对历史特征序列进行切割,并对切割后得到的切片进行聚类,得到代表切片。相比上一可能的设计,该可能的设计能够减少代表切片的数量,从而节省代表切片库所占的存储空间;进一步地,还可以减少确定在线特征序列(例如第一特征序列或第二特征序列)与这些特征类似的代表切片之间的关联关系的过程中的计算量,从而提高模型更新速率。
另一方面,提供一种模型更新装置,该装置可以实现上述方法示例中所执行的功能,示例的,该装置可以包括:获取模块、构建模块、确定模块和更新模块。其中:获取模块,用于获取在待测触发点所在的窗口内接收到的第一在线业务数据。构建模块,用于根据第一在线业务数据的数据特征,构建第一特征序列。确定模块,用于确定第一特征序列与至少一个代表切片之间的关联关系;代表切片是根据历史业务数据的数据特征构建的特征序列的切片。更新模块,用于若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
在一种可能的设计中,获取模块还可以用于:若第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,则获取该待测触发点的后续待测触发点所在的窗口内接收到的第二在线业务数据;构建模块还可以用于:根据第一在线业务数据的数据特征和第二在线业务数据的数据特征,按照接收时间先后顺序构建第二特征序列;确定模块还可以用于:确定第二特征序列与至少一个代表切片之间的关联关系;更新模块还可以用于:若第二特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
在一种可能的设计中,使用向量表示第一特征序列和代表切片;确定模块具体可以用于:确定第一特征序列与至少一个代表切片之间的距离;更新模块具体可以用于:若距离小于或等于第一预设阈值,则更新当前模型。
在一种可能的设计中,使用向量表示第一特征序列和代表切片;确定模块具体可以用于:确定第一特征序列与至少一个代表切片之间的相似度;更新模块具体可以用于:若相似度大于或等于第二预设阈值,则更新当前模型。
在一种可能的设计中,构建模块具体可以用于:根据第一在线业务数据的数据特征,构建第一数据序列;其中,第一数据序列中的一个元素为一个数据点,数据点至少包含以下特征:数据点所在的时刻,数据点所对应的业务数据的数据特征;将第一数据序列生成第一特征序列;其中,第一特征序列中的元素至少包含以下特征:数据点所在的时刻,数据点与前一数据点之间的变化速率,以及数据点所在的时刻与前一数据点所在的时刻之间的时间段。
在一种可能的设计中,构建模块还可以用于:提取第一数据序列中的特征点,并根据第一数据序列中的特征点构建第二数据序列。该情况下,构建模块在执行将第一数据序列生成第一特征序列时,具体可以用于:将第二数据序列生成第一特征序列;其中,第一特征序列中的元素包括特征点所在的时刻,特征点与前一特征点之间的变化速率,以及特征点所在的时刻与前一特征点所在的时刻之间的时间段。
在一种可能的设计中,该待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则该待测触发点所在的窗口是指从开始接收在线业务数据的时刻至该待测触发点之间的窗口;若i≥2,则该待测触发点所在的窗口是从第i-1个待测触发点至该待测触发点之间的窗口。
在一种可能的设计中,该待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则该待测触发点所在的窗口是指从开始接收在线业务数据的时刻至该待测触发点之间的窗口的1/N;若i≥2,则该待测触发点所在的窗口是从第i-1个待测触发点至该待测触发点之间的窗口的1/N。其中,N≥2,N是整数。
在一种可能的设计中,确定模块还可以用于:将从开始接收在线业务数据的时刻开始的预设时长的整数倍时的时刻,确定为该待测触发点。
在一种可能的设计中,确定模块还可以用于:将从开始接收在线业务数据的时刻开始至接收到的在线业务数据为预设数据量的整数倍时的时刻,确定为该待测触发点。
在一种可能的设计中,获取模块还可以用于:获取历史业务数据;构建模块还可以用于:根据历史业务数据构建历史特征序列;确定模块还可以用于:确定历史特征序列中的模型变化点;该装置还可以包括:生成模块,用于基于历史特征序列中的模型变化点对历史特征序列进行切割,得到代表切片。
在一种可能的设计中,生成模块具体可以用于:基于模型变化点对历史特征序列进行切割,并对切割后得到的切片进行聚类,得到代表切片。
又一方面,提供一种模型更新装置,该装置可以实现上述方法示例中所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。
在一种可能的设计中,该装置的结构中包括处理器存储器、***总线和通信接口;该处理器被配置为支持该装置执行上述方法中相应的功能。该通信接口用于支持该装置与其他网元之间的通信。该装置还可以包括存储器,该存储器用于与处理器耦合,其保存该装置必要的程序指令和数据。该通信接口具体可以是收发器。
再一方面,本发明实施例提供了一种计算机存储介质,用于储存上述方法所对应的计算机软件指令,其包含用于执行上述方面所设计的程序。
可以理解地,上述提供的任一种模型更新装置或计算机存储介质均用于执行上文所提供的模型更新方法,因此,其所能达到的有益效果可参考上文所提供的相应的模型更新方法中的有益效果,此处不再赘述。
附图说明
图1为本发明实施例提供的技术方案所适用的一种***的架构示意图;
图2为本发明实施例提供的一种模型更新装置的结构示意图;
图3为本发明实施例提供的一种模型更新方法的流程示意图;
图3a为本发明实施例提供的另一种模型更新方法的流程示意图;
图4为一种窗口与待测触发点之间的关系的示意图;
图5为另一种窗口与待测触发点之间的关系的示意图;
图6为本发明实施例提供的另一种模型更新方法的流程示意图;
图6a为本发明实施例提供的另一种模型更新方法的流程示意图;
图7为本发明实施例提供的一种确定特征点的示意图;
图8为本发明实施例提供的一种获取代表切片的方法的流程示意图;
图8a为本发明实施例提供的一种获取代表切片的方法的流程示意图;
图9为本发明实施例提供的一种根据第一数据序列绘制的曲线的示意图;
图10为本发明实施例提供的一种图9所示的曲线确定的特征点的示意图;
图11为本发明实施例提供的一种更新触发点前后模型变化的示意图;
图12为本发明实施例提供的一种基于图9所示的曲线确定的模型变化点的示意图;
图13为本发明实施例提供的一种根据数据点绘制的曲线的示意图;
图14为本发明实施例提供的一种模型更新装置的结构示意图;
图15为本发明实施例提供的另一种模型更新装置的结构示意图。
具体实施方式
本发明实施例提供的技术方案的基本原理为:根据在线业务数据的数据特征构建的特征序列,与根据历史业务数据的数据特征构建的特征序列的代表切片,之间的关联关系满足预设条件时,对模型进行更新。由于本发明实施例提供的技术方案中结合了在线业务数据的数据特征、历史业务的数据特征、二者所构建的特征序列之间的关联关系,以及预设条件这些特征,来确定待测触发点是否为更新触发点;与现有技术提供的将固定时长或固定数据量作为更新触发点的技术方案相比,能够减少因相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征变化不明显,而导致的该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义的问题,从而节省资源。
如图1所示,是本发明实施例提供的技术方案所适用的一种***的架构示意图,该***可以包括服务器和与该服务器连接的一个或多个业务客户端,图1中是以***中包含两个业务客户端,即业务客户端1和业务客户端2,为例进行说明的。其中,业务客户端可以为在线类业务的用户使用端,例如,网路协议电视(internet protocol television,IPTV)的机顶盒、智能手机、电脑等。
业务客户端可以获取并记录业务数据,并根据预设规则向服务器发送业务数据,示例的,以业务客户端为视频播放客户端为例,视频播放客户端可以在播放视频的过程中,获取并记录业务数据,并在视频结束时刻逐条或批量地向服务器发送该业务数据。服务器用于接收业务客户端发送的业务数据,并根据业务数据维护(或更新)模型,其中,更新后的模型用于使服务器根据待接收的业务数据进行预测。
如图2所示,是本发明实施例提供的一种模型更新装置20的结构示意图。该模型更新装置20可以是服务器,该模型更新装置20可以包括:处理器201、存储器202、***总线203和通信接口204。其中:存储器202用于存储计算机执行指令,处理器201与存储器202通过***总线连接,当模型更新装置20运行时,处理器201执行存储器203存储的计算机执行指令,以使模型更新装置20执行本发明实施例提供的任意一种模型更新方法。具体的模型更新方法可参考下文及附图中的相关描述,此处不再赘述。
本发明实施例还提供一种存储介质,该存储介质可以包括存储器202。
处理器201可以是一个处理器,也可以是多个处理元件的统称。例如,处理器201可以为中央处理器(central processing unit,CPU)。处理器201也可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器201还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。进一步地,该专用处理器还可以包括具有模型更新装置20其他专用处理功能的芯片。
存储器202可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器202也可以包括非易失性存储器(non-volatilememory),例如只读存储器(英文全称:read-only memory,英文缩写:ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器202还可以包括上述种类的存储器的组合。
***总线203可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图2中将各种总线都示意为***总线203。
通信接口204具体可以是模型更新装置20上的收发器。该收发器可以为无线收发器。例如,无线收发器可以是模型更新装置20的天线等。处理器201通过通信接口204与其他设备,例如与业务客户端之间进行数据的收发。
在具体实现过程中,下文中提供的任意一种模型更新方法流程中的各步骤均可以通过硬件形式的处理器201执行存储器202中存储的软件形式的计算机执行指令实现。为避免重复,此处不再赘述。
下面对本发明实施例中的部分术语进行解释说明,以方便读者理解:
1)、业务数据,在线业务数据,历史业务数据
业务数据,是指业务客户端在使用业务的过程中产生的数据。业务数据可以包括业务本身的数据,也可以包括用户对业务的反馈数据。业务数据表示为时序形式,以业务客户端为IPTV在线视频播放客户端为例,IPTV在线视频业务的业务数据可以包括但不限于以下任意一种信息:会话标识(Session ID)、用户账号、视频的开始播放时间、视频的结束播放时间、播放类型、视频类型、视频ID、用户对视频的操作记录等;其中,ID是身份标识号码(identity)的英文缩写;用于对视频的操作记录可以包括但不限于:用户对视频的收藏、浏览、用户对视频推荐内容是否点击等。
本发明实施例中的在线业务数据和历史业务数据均是对服务器而言的,具体的,在线业务数据是指服务器从当前时刻开始的、且在当前时刻之前的预设时间段之内接收到的业务数据。历史业务数据是指服务器从当前时刻开始的、且在当前时刻之前的预设时间段之外接收到的业务数据。
2)、待测触发点,更新触发点和模型变化点
待测触发点、更新触发点和模型变化点均是时间域中的概念,也就是说是一维概念。示例的,待测触发点、更新触发点和模型变化点均可以用t来表示,例如,待测触发点t1用于表示将t1时刻作为待测触发点,又如,更新触发点t2用于表示将t2时刻作为更新触发点。
待测触发点,是指根据一定的规则设置的、且用于使服务器判断是否需要对模型进行更新的触发点(即时域上的点,即时间点)。需要说明的是,服务器可以定期或源源不断地接收与该服务器连接的一个或多个业务客户端发送的在线业务数据,服务器可以在一些特定的时刻确定是否对模型进行更新,这些特定的时刻即为待测触发点。本发明实施例对如何确定待测触发点的方式不进行限定,理论上,服务器可以将任意一时刻作为待测触发点;实际实现时,服务器可以包括但不限于通过以下两种实现方式确定待测触发点:
方式1:服务器可以将从开始接收在线业务数据的时刻开始的预设时长的整数倍时的时刻,作为待测触发点。例如,若预设时长为T,服务器将从开始接收在线业务数据的时刻为t0,则服务器可以将t0+nT时刻作为待测触发点;其中,T大于0,n可以是大于或等于0的任意一整数。本发明实施例对T的具体取值不进行限定。
方式2:服务器可以将从开始接收在线业务数据的时刻开始至接收到的在线业务数据为预设数据量的整数倍时的时刻,作为待测触发点。例如,若预设数据量为R,服务器将开始接收在线业务数据的时刻为t0,服务器可以将从t0开始每接收到R个在线业务数据时的时刻,作为待测触发点。
更新触发点,可以理解为实际触发点或有效触发点,是指执行模型更新的触发点。待测触发点可能是更新触发点,也可能不是更新触发点。在现有技术中,可以将按照上述方式1或方式2确定的每个待测触发点均作为更新触发点;在本发明实施例中,需要根据一定的规则确定一个待测触发点是否为更新触发点。具体示例可以参考下文。
模型变化点,用于确定代表切片的过程中,其是指所触发的模型更新过程前后的两个模型之间的变化幅度大于或等于预设阈值的更新触发点。其中,这里的更新触发点可以是现有技术中的更新触发点,也可以是本发明实施例提供的更新触发点。具体说明可以参考下文。
3)、数据点和特征点
数据点和特征点均是时间域和数据特征域中的概念,也就是说是二维概念。示例的,数据点可以表示为(t,v),其中,t表示数据点所在的时刻,v表示数据点所对应的业务数据的数据特征。特征点是特殊的数据点。具体说明可以参考下文。
需要说明的是,为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。“多个”是指两个或两个以上。
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行示例性描述。
如图3所示,为本发明实施例提供的一种模型更新方法的流程示意图。图3所示的方法的执行主体可以是服务器,该方法可以包括以下步骤:
S301、获取在待测触发点所在的窗口内接收到的第一在线业务数据。
可以理解的,服务器可以定期或源源不断地接收与该服务器连接的一个或多个业务客户端发送的在线业务数据,本发明实施例的后续步骤中,服务器基于窗口内接收到的在线业务数据的数据特征更新模型。具体的:S301可以包括:服务器获取待测触发点所在的窗口内接收到的来自与该服务器连接的一个或多个业务客户端的在线业务数据,并将这些在线业务数据作为第一在线业务数据。
S301中的待测触发点可以是任意一个待测触发点。窗口,可以是时间窗口或数据量窗口等。一个时间窗口可以是指一个时间段,其中,趋近于0的时间段,即为时刻。一个数据量窗口可以是指固定的数据量。本发明实施例对待测触发点所在的窗口的大小不进行限定。
需要说明的是,实际实现时,服务器可能在每个窗口内均接收到在线业务数据,也可能在某些窗口内接收不到在线业务数据。例如,在业务高峰期时,服务器可能在一段时间内的每个窗口内均接收到在线业务数据;在业务低峰期时,服务器可能在在某些窗口内接收不到在线业务数据。
S302、根据第一在线业务数据的数据特征,构建第一特征序列。
在S302之前,该方法还可以包括:获取第一在线业务数据的数据特征。其中,本发明实施例对在线业务数据的数据特征的具体内容和数量,以及获取方式等均不进行限定,其可以根据业务数据本身、实际需求等因素确定。示例的,以IPTV在线视频是动画片为例,第一在线业务数据的数据特征可以包括但不限于:第一在线业务数据的接收窗口(即待测触发点所在的窗口)内观看动画片的人数、第一在线业务数据的接收窗口内动画片的平均播放时长等。具体的:若服务器接收到的IPTV在线视频业务的业务数据为:Session ID、用户账号、视频的开始播放时间、视频的结束播放时间、播放类型、视频类型、视频ID、用户对视频的操作记录等,则服务器通过统计第一在线业务数据的接收窗口内,视频类型为动画片的独立用户账号的数量,即可得出第一在线业务数据的接收窗口内观看动画片的人数。服务器通过统计第一在线业务数据的接收窗口内观看动画片的独立用户的“视频的结束播放时间与视频的开始播放时间之差”的平均值,即可得出第一在线业务数据的接收窗口内动画片的平均播放时长。
需要说明的是,为了描述上的简洁,下文中将数据特征和数据特征的特征值统一用数据特征来表示。本领域普通技术人员可以理解:本文中描述的数据特征,在某些场景下应当被理解为数据特征的特征值。例如,上述“获取第一在线业务数据的数据特征”应当被理解为:获取第一在线业务数据的数据特征的特征值。关于下文中的相关描述,不再一一叙述。
可选的,可以使用向量表示第一特征序列,该情况下,第一特征序列中的元素是根据一个或多个窗口内获取到的在线业务数据的数据特征得到的。下文中,均以使用向量表示第一特征序列为例进行说明。
S303、确定第一特征序列与至少一个代表切片之间的关联关系;代表切片是根据历史业务数据的数据特征构建的特征序列的切片。
至少一个代表切片包括一个或多个代表切片,代表切片可以是业务专家确定的,也可以是服务器根据一定的方法生成的;代表切片可以预先存储在服务器中的,也可以是在执行S303之前由服务器生成的。可以使用向量表示代表切片,当然,具体实现时,不限于此。第一特征序列与至少一个代表切片之间的关联关系可以是二者之间的相似度或距离等。
具体的,若以向量表示第一特征序列和代表切片;则S303可以包括:获取该至少一个代表切片中的与该第一特征序列中的元素个数相等的代表切片,确定第一特征序列与该第一特征序列中的元素个数相等的代表切片,之间的关联关系。其具体示例可以参考下文。
S304、若第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
若至少一个代表切片包括多个代表切片,则第一特征序列与至少一个代表切片之间的关联关系满足预设条件,可以包括:第一特征序列与该多个代表切片中的至少一个代表切片之间的关联关系满足预设条件。预设条件可以是根据关联关系的任一种表示方式(例如距离或相似度等),实际需求和经验等一种或多种因素预先确定的。
可选的,若至少一个代表切片包括多个代表切片,则S303~S304可以包括:服务器确定第一特征序列与该多个代表切片中的一个代表切片之间的关联关系,并在确定该关联关系不满足预设条件时,确定第一特征序列与该多个代表切片中的另一个代表切片之间的关联关系,依次类推,直至,第一特征序列与该多个代表切片中的某一个代表切片之间的关联关系满足预设条件为止,即认为:第一特征序列与该多个代表切片之间的关联关系满足预设条件。
本发明实施例提供的模型更新方法中,根据在线业务数据的数据特征构建的特征序列,与根据历史业务数据的数据特征构建的特征序列的代表切片,之间的关联关系满足预设条件时,对模型进行更新。由于本发明实施例提供的技术方案中结合了在线业务数据的数据特征、历史业务的数据特征、二者所构建的特征序列之间的关联关系,以及预设条件这些特征,来确定待测触发点是否为更新触发点;与现有技术提供的将固定时长或固定数据量作为更新触发点的技术方案相比,能够减少因相邻两个更新触发点之间的新增数据的数据特征与之前数据的数据特征变化不明显,而导致的该相邻两个更新触发点所触发的两次模型更新中在后的一次模型更新的意义不大,甚至毫无疑义的问题,从而节省资源。
可选的,如图3a(图3a是基于图3进行绘制的)所示,在S303之后,该方法还可以包括:
S305:若第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,则获取待测触发点的后续待测触发点所在的窗口内接收到的第二在线业务数据。
其中,若至少一个代表切片包括多个代表切片,则第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,可以包括:第一特征序列与该多个代表切片中的每个代表切片之间的关联关系均不满足预设条件。
S306:根据第一在线业务数据的数据特征和第二在线业务数据的数据特征,按照接收时间先后顺序构建第二特征序列。
S307:确定第二特征序列与至少一个代表切片之间的关联关系。
S308:若第二特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
示例的,S307~S308的具体实现方式可以参考上文中S303~S304的具体实现方式,此处不再赘述。
可选的,S305~S308可以包括:若第一特征序列与至少一个代表切片之间的关联关系不满足预设条件,则获取待测触发点的下一个待测触发点所在的窗口内接收到的在线业务数据;其中,将该待测触发点表示为第i个待测触发点,将该待测触发点的下一个待测触发点表示为第i+1个待测触发点。然后,根据第i个待测触发点所在的窗口内接收到的在线业务数据(即上述第一在线业务数据)的数据特征和第i+1个待测触发点所在的窗口内接收到的在线业务数据,构建特征序列。确定该特征序列与至少一个代表切片之间的关联关系。若该关联关系满足预设条件,则更新当前模型。若该关联关系不满足预设条件,则获取第i+2个待测触发点所在的窗口内接收到的在线业务数据;然后,根据第i个待测触发点所在的窗口内接收到的在线业务数据(即上述第一在线业务数据)的数据特征、第i+1个待测触发点所在的窗口内接收到的在线业务数据和第i+2个待测触发点所在的窗口内接收到的在线业务数据,构建特征序列。确定该特征序列与至少一个代表切片之间的关联关系。若该关联关系满足预设条件,则更新当前模型。若该关联关系不满足预设条件,则获取第i+3个待测触发点所在的窗口内接收到的在线业务数据,依次类推,直至更新当前模型。
结合下文中的描述,若以向量表示特征序列(包括第一特征序列和第二特征序列),则可以理解的,服务器每次获取到的新的特征序列可以是在上一次特征序列中的各元素之后,增加根据新获取的在线业务数据的数据特征得到的元素。示例的,与上述S302相比,则S306可以理解为:在第一特征序列中的各元素之后,增加根据第二在线业务数据的数据特征得到的元素,得到第二特征序列。
需要说明的是,具体实现时,服务器在每次对模型进行更新之后,可以删除本次更新过程中使用的特征序列,也可以将本次更新过程中最后一次使用的特征序列,作为后续的历史特征序列中的一部分。
可选的,上述方法还可以包括:确定S301中的待测触发点所在的窗口的大小,具体的:假设S301中的待测触发点是第i个待测触发点,i≥1,i是整数;那么:
实现方式1:若i=1,则该待测触发点所在的窗口,可以是从服务器开始接收在线业务数据的时刻至该待测触发点之间的窗口;若i≥2,则待测触发点所在的窗口,可以是从第i-1个待测触发点至该待测触发点之间的窗口。
实现方式2:若i=1,则该待测触发点所在的窗口,可以是从服务器开始接收在线业务数据的时刻至该待测触发点之间的窗口的1/N;若i≥2,则待测触发点所在的窗口,可以是从第i-1个待测触发点至该待测触发点之间的窗口的1/N;其中,N≥2,N是整数,1/N表示N分之一。
其中,若窗口是时间窗口,则两个时刻之间的窗口是指两个时刻之间的时间段。示例的,若时间窗口为10min分钟,则相邻两个待测触发点之间的窗口,是指相邻两个待测触发点之间的时间段长度为10min。
若窗口是数据量窗口,则两个时刻之间的窗口是指服务器接收到固定数据量的在线业务数据的之间的窗口;其中,在线业务数据的数据量可以在线业务的流量或个数等。示例的,若数据量窗口为10M(兆),则相邻两个待测触发点之间的窗口,是指服务器在相邻两个待测触发点之间,接收到的在线业务数据的流量是10M。若数据量窗口为500个,则相邻两个待测触发点之间的窗口,是指服务器在相邻两个待测触发点之间,接收到的在线业务数据的个数为500。
如图4所示,为一种窗口(具体是时间窗口)与待测触发点之间的关系的示意图。图4中以上述实现方式1,且从服务器开始接收在线业务数据的时刻至当前时刻这段时间内包含两个待测触发点1和待测触发点2,为例进行说明。图4中,待测触发点1所在的窗口是窗口1,待测触发点2所在的窗口是窗口2。
如图5所示,为一种窗口(具体是时间窗口)与待测触发点之间的关系的示意图。图5中以上述实现方式2,且N=3,且从服务器开始接收在线业务数据的时刻至当前时刻这段时间内包含两个待测触发点1和待测触发点2,为例进行说明。图5中,待测触发点1所在的窗口是窗口3,待测触发点2所在的窗口是窗口6。
由于后续步骤中是按照窗口内接收到的在线业务数据,确定在线业务数据的数据特征的,且一个窗口内接收到的在线业务数据,可以生成一组数据特征(包括一个或多个数据特征),因此,该可选的实现方式,能够保证后续步骤中,服务器在任意一待测触发点均获取到一组数据特征,从而能够保证确定每个待测触发点是否是更新触发点。另外,上述实现方式1能够保证在第一个待测触发点之前,或任意相邻的两个待测触发点之间,均获取到一组数据特征;上述实现方式2能够保证在第一个待测触发点之前,或任意相邻的两个待测触发点之间,均获取到多组数据特征。其中,关于数据特征的描述可参考下文。
基于上述实现方式2:
若i=1,则S302可以包括:根据该待测触发点所在的窗口内接收的在线业务数据的数据特征,以及从开始接收在线业务数据的时刻至该待测触发点之间的窗口中的、且除待测触发点所在的窗口之外的至少一个窗口内接收到的在线业务数据的数据特征,构建第一特征序列。可选的,该至少一个窗口是指每个窗口。示例的,基于图5,若待测触发点是待测触发点1,则S302可以包括:根据窗口1内接收到的在线业务数据的数据特征、窗口2内接收到的在线业务数据的数据特征和窗口3内接收到的在线业务数据的数据特征,构建第一特征序列。
若i≥2,则S302可以包括:根据该待测触发点所在的窗口内接收的在线业务数据的数据特征,以及从第i-1个待测触发点至第一待测触发点之间的窗口中的、且除待测触发点所在的窗口之外的至少一个窗口内接收到的在线业务数据的数据特征,构建第一特征序列。可选的,该至少一个窗口是指每个窗口。示例的,基于图5,若待测触发点是待测触发点2,则S302可以包括:根据窗口4内接收到的在线业务数据的数据特征、窗口5内接收到的在线业务数据的数据特征和窗口6内接收到的在线业务数据的数据特征,构建第一特征序列。
可选的,如图6所示(图6是基于图3进行绘制的),S302可以包括:
S302.1:根据第一在线业务数据的数据特征,构建第一数据序列;其中,第一数据序列中的一个元素为一个数据点,数据点至少包含以下特征:数据点所在的时刻,数据点所对应的业务数据的数据特征。
其中,数据点所在的时刻是指该数据点所对应的各业务数据的接收窗口的结尾处,即待测触发点,可选的,可以使用该数据点所对应的业务数据的接收窗口的序号表示,当然,具体实现时,不限于此。示例的,第一在线业务的数据特征对应的数据点可以表示为(t,v);其中,t表示第一在线业务的数据特征的接收窗口的序号,v表示第一在线业务的数据特征。
第一数据序列可以理解为是由一个数据点构成的集合,或由多个数据点按照该多个数据点所在的时刻的时间先后顺序构成的集合,该集合可以使用向量表示。
示例的,第一数据序列中的第n个数据点可以表示为(tn,vn),其中,tn表示第一数据序列中的第n个数据点所在的时刻,vn表示第一数据序列中的第n个数据点所对应的在线业务数据的数据特征;1≤n≤N,n和N均是整数,N表示第一数据序列中的数据点的总数目。该情况下,第一数据序列可以表示为{(t1,v1),t2,v2),……(tn,vn)……(tN,vN)}。若在线业务数据的数据特征为多维度(即在线业务数据的数据特征的数量为多个),则第n个数据点(tn,vn)中的vn可以用向量形式表示,示例的,第n个数据点可以表示为:(tn,vn1,vn2,……vnm……vnM),其中,vnm表示第n个数据点所对应的在线业务数据的第m个数据特征;该情况下,第一数据序列可以表示为{(t1,v11,v12,……v1m……v1M),(t2,v21,v22,……v2m……v2M),……(tn,vn1,vn2,……vnm……vnM),……(tN,vN1,vN2,……vNm……vNM)。
基于S302中的示例,第一在线业务数据的数据特征可以表示为(t,v1,v2),其中,t表示第一在线业务数据的接收窗口的序号,v1表示第一在线业务数据的接收窗口内观看动画片的人数,v2表示第一在线业务数据的接收窗口内动画片的平均播放时长。
S302.2:将第一数据序列生成第一特征序列;其中,第一特征序列中的元素至少包含以下特征:数据点所在的时刻,数据点与前一数据点之间的变化速率。
可选的,第一特征序列中的元素还可以包含以下特征:数据点所在的时刻与前一数据点所在的时刻之间的时间段。由于该可选的特征可以根据该数据点所在的时刻的前一数据点所在的时刻推断出,因此,具体实现时,第一特征序列中的元素可以不包含该可选的特征。
其中,若在时序上,第一数据序列之前还有其他数据序列,则第一数据序列中的第一个数据点的前一数据点是前一个数据序列中的最后一个数据点,需要说明的是,根据下文中对模型变化点的描述部分可知,该最后一个数据点是距离当前时刻最近的一个模型变化点。若在时序上,第一数据序列之前没有其他数据序列,则第一数据序列中的第一个数据点实际上为:从服务器开始接收在线业务数据的时刻(即起始点)开始的第二个数据点,其前一个数据点为从服务器开始接收在线业务数据的时刻开始的第一个数据点。这是因为:从服务器开始接收在线业务数据的时刻开始的第一个数据点的前一数据点不存在,因此,该第一数据点与其前一数据点之间的变化速率没有意义,从而导致该第一数据点没有意义。示例的,如图4所示,第一数据序列中的首个数据点所在的时刻是第二待测触发点。下文中均以第一数据序列之前还有其他的数据序列为例进行说明。
示例的,第一特征序列中的第n个元素可以表示为(tn,△n,dn),其中,tn表示第一数据序列中的第n个数据点所在的时刻,△n表示第一数据序列中的第n个数据点与前一数据点(具体可以是第一数据序列中的第n-1个数据点,或第一数据序列的前一数据序列中的最后一个数据点)之间的变化速率,dn表示第一数据序列中的第n个数据点所在的时刻与前一数据点所在的时刻之间的时间段。该情况下,第一特征序列可以表示为:TS={(t1,△1,d1),(t2,△2,d2)……(tn,△n,dn)……(tN,△N,dN)}。若在线业务数据的数据特征为多维度,则TS中的第n个元素(tn,△n,dn)中的△n可以用向量的形式表示,示例的,第n个元素(tn,△n,dn)可以表示为:(tn,△n1,△n2,……△nm……△nM,dn),其中,△nm表示对于第m个数据特征而言,第一数据序列中的第n个数据点与前一数据点之间的变化速率;示例的,基于S302.1中的示例,第一在线业务数据的数据特征可以表示为(t,v1,v2),若第m个数据特征表示第1个数据特征,例如在线业务数据的接收窗口内观看动画片的人数,则△nm表示(tn,vn1)与(tn-1,v(n-1)1)之间的变化斜率。该情况下,第一数据序列可以表示为{(t1,△11,△12,……△1m……△1M,d1),(t2,△21,△22,……△2m……△2M,d2,……(tn,△n1,△n2,……△nm……△nM,dn)……(tN,△N1,△N2,……△Nm……△NM,dN)。
需要说明的是,若服务器在连续的多个窗口(不包含从开始接收业务数据之后的第一个窗口)中的每个窗口内均接收到在线业务数据,则根据每个窗口内接收到的在线业务数据可以得到一个数据点,该情况下,数据点所在的时刻与前一数据点所在的时刻之间的时间段为一个窗口对应的时间段。实际实现时,服务器可能在某些窗口内接收不到在线业务数据,则基于该窗口不能得到一个数据点,该情况下,数据点所在的时刻与前一数据点所在的时刻之间的时间段不为一个窗口对应的时间段,具体可以为多个窗口对应的时间段。
数据点与前一数据点之间的变化速率△,可以是以下任意一种:数据点与前一数据点之间的斜率、数据点与前一数据点之间的斜率的归一化处理、数据点与前一数据点之间的斜率的反正切值、数据点与前一数据点之间的斜率的反正切值的归一化处理、数据点与前一数据点之间的斜率的反正切值对应的符号等。示例的,一种表示数据点与前一数据点之间的变化速率的示例如表1所示:
表1
上述表1中将斜率的反正切值的范围分为上述7个子区域,即将数据点与前一数据点之间的变化速率定位7个等级,实际实现时,不限于此。例如,可以将数据点与前一数据点之间的变化速率定位任意等级。
示例的,基于表1,第一特征序列可以是:{(3,-2,1),(4,3,1),(5,0,1)……}。其中,元素(4,3,1)中的“4”表示该元素对应的数据点所在的时刻,具体为该数据点所对应的在线业务数据的接收窗口的序号,“3”表示该数据点与前一数据点之间的变化速率为快速上升(见表1),“1”表示该数据点所在的时刻与前一数据点所在的时刻之间的时间段,具体为:1个窗口对应的时间段。
进一步可选的,如图6a(图6a是基于图3和图6进行绘制的)所示,在S302.1之后,该方法还可以包括:
S302.1a:提取第一数据序列中的特征点,并根据第一数据序列中的特征点构建第二数据序列。
从物理意义上来讲,特征点是曲线上的局部极值点(例如,峰值点、谷值点)、拐点等。对于本发明实施例来说,第一数据序列中的特征点可以是由第一数据序列中的各数据点构成的曲线上的特征点。其中,数据点与特征点的关系为:特征点一定是数据点,但是,数据点不一定是特征点。
可选的,对于任意一维度的数据特征来说,服务器可以根据第n-1个数据点(tn-1,vn-1)、第n+1个数据点(tn+1,vn+1)之间的关系,确定第n个数据点(tn,vn)是否为特征点;具体的:该关系可以用以下公式表示:其中,Thre1为大于或等于0的一个常量。
需要说明的是,若在线业务数据的数据特征是多个维度的,则只要至少一个维度的数据特征满足上述公式,则可将第n个数据点作为特征点。
进一步可选的,与前一特征点之间的时间间隔大于或等于Thre2;其中,Thre2为大于或等于0的一个常量。该进一步可选的实现方式用于避免因相邻两个数据点中的数据特征的特征值突变,而导致的将连续的两个数据点均作为特征点,从而导致的获取到的特征点的精确度较低,最终导致模型更新的精确度较低的问题。示例的,可能因服务器在相邻两个窗口中的后一个窗口内重复接收在线业务数据等,而导致的数据特征的特征值突然变大;或者,因服务器网络在相邻两个窗口中的后一个窗口内网络连接错误业务数据或没有接收到在线业务数据等,而导致的数据特征的特征值突然变小。也就是说,该进一步可选的实现方式用于避免因相邻两个数据点中的数据特征的特征值突变,而导致的相邻两个窗口中的后一个窗口内接收到的在线业务数据的数据特征突变对获取特征点的精确度的影响,
具体实现时,若Thre1为0,且Thre2为小于或等于最小窗口对应的时间段,则第一数据序列与第二数据序列相同。
示例的,如图7所示,为一种确定特征点的示意图。图7中的横坐标表示t,纵坐标表示v;服务器获取到的时序上三个连续的数据点为数据点A(tn-1,vn-1)、数据点B(tn,vn)和数据点C(tn+1,vn+1);其中,数据点A(tn-1,vn-1)表示在时间窗口tn-1内观看动画片的人数为vn-1,数据点B(tn,vn)表示在时间窗口tn内观看动画片的人数为vn,数据点C(tn+1,vn+1)表示在时间窗口tn+1内观看动画片的人数为vn+1。数据点B的前一特征点为(t1,v1),其中,在本示例中,n为大于或等于2的整数。那么,根据上述条件1和条件2可知,若数据点B的纵坐标偏离AC所在直线上的tn时刻对应的点B'(即数学意义上的点)的纵坐标大于或等于Thre1,且数据点B所在的时刻tn与前一特征点所在的时刻t1之间的时间段大于或等于Thre2,则确定数据点B为特征点。
需要说明的是,实际实现时,若当前待测触发点是待测触发点1,且根据待测触发点1所在的窗口内接收到的在线业务数据的数据特征得到的数据点为数据点B,即数据点B为确定待测触发点1是否是更新触发点的过程中新增的数据点,则在本次确定更新触发点的过程中,直接将数据点B作为特征点B。若当前待测触发点是待测触发点1的下一待测触发点(即待测触发点2),且数据点C为确定待测触发点2是否是更新触发点的过程中新增的数据点,则在本次确定更新触发点的过程中,按照图7所示的方法确定数据点B是否是特征点。另外,在待测触发点2不是更新触发点之后,确定待测触发点2的后续待测触发点是否是下一个更新触发点的过程中,将数据点C直接作为特征点;直至确定某个待测触发点为更新触发点为止。
基于包含S301.1a的可选的实现方式中,图6中的S302.2可以包括以下S302.2',如图6a所示:
S302.2':将第二数据序列生成第一特征序列;其中,第一特征序列中的元素包括该特征点所在的时刻,特征点与前一特征点之间的变化速率,以及特征点所在的时刻与前一特征点所在的时刻之间的时间段。
其中,步骤S302.2'的具体实现方式可以参考上文S302.2的具体实现方式,此处不再赘述。
示例的,基于表1,第一特征序列可以为:{(5,-2,5),(14,-1,9)……}。其中,元素(14,-1,9)中的“14”表示该元素对应的特征点所在的时刻,具体为该特征点对应的在线业务数据的接收窗口的序号,“-1”表示该特征点与前一特征点之间的变化速率为缓慢下降(见表1),“9”表示该特征点所在的时刻与前一特征点所在的时刻之间的时间段,具体为:9个窗口对应的时间段。
需要说明的是,实际实现时,第一数据序列中包含的数据点的个数会很多,这样,若直接根据第一数据序列生成第一特征序列,则第一特征序列中的元素的个数会很多,这会使得在确定第一特征序列与至少一个代表切片之间的关联关系的过程中的计算量较大;该可选的实现方式通过提取第一数据序列中的特征点得到第二数据序列,并根据第二数据序列生成第一特征序列;该可选的实现方式中生成的第一特征序列中的元素的个数小于,根据第一数据特征得到第一特征序列中的元素的个数,因此,能够减少确定第一特征序列与至少一个代表切片之间的关联关系的过程中的计算量,从而加快处理速度。另外,由于特征点是第一数据序列中的一些特殊的数据点(称为有代表性的数据点),因此,利用第一数据序列中的特征点得到的第二特征序列生成的第一特征序列与至少一个代表切片之间的关联关系,与,利用第一数据序列生成的第一特征序列与至少一个代表切片之间的关联关系之间的误差不会太大。
可选的,使用向量表示第一特征序列和代表切片;该情况下,S303可以包括:确定第一特征序列与至少一个代表切片之间的距离。S304可以包括:若该距离小于或等于第一预设阈值,则更新当前模型。
实际上,代表切片为根据历史业务数据的数据特征构建的特征序列,因此,其可以使用上述表示第一特征序列的方式来表示代表切片。具体示例可参考上文,需要说明的是,确定第一特征序列的在线业务数据的数据特征与历史业务数据的数据特征相同,例如,在线业务数据的数据特征与历史业务数据的数据特征均为:接收窗口内观看动画片的人数、接收窗口内动画片的平均播放时长。
第一特征序列与代表切片之间的距离,可以看作是两个向量之间的距离。具体实现时,可以用任意一种方式来确定两个向量之间的距离。另外,也可以将第一特征序列和代表切片均看作是切片,下面提供一种确定两个切片之间的距离的可选的实现方式,需要说明的是,计算距离的两个切片中的元素的个数是相等的:
将第一特征序列表示为Slicep,代表切片表示为Sliceq,以下公式确定Slicep与Sliceq之间的距离:
其中,D(Slicep,Sliceq)表示Slicep与Sliceq之间的距离;I表示第一特征序列中的数据点(可选的为特征点)的个数,I为大于或等于1的整数,Dm(Slicepi,Sliceqi)表示Slicep对应的在线业务数据的第i个数据特征与Sliceq对应的历史业务数据的第i个数据特征之间的模式距离;Dd(Slicepi,Sliceqi)表示Slicep对应的在线业务数据的第i个数据特征与Sliceq对应的历史业务数据的第i个数据特征之间的时间距离。其中:
Dm(Slicepi,Sliceqi)=|Δpi-Δqi|;
Dd(Slicepi,Sliceqi)=|Rpi-Rqi|;
其中,Δpi表示Slicep中的第i个数据点与前一数据点之间的变化速率,Δqi表示Sliceq中的第i个数据点与前一数据点之间的变化速率;Rpi表示Slicep中的第i个数据点与前一数据点之间的时间段dpi占Slicep的总时间段的比例;tlast表示Slicep的最后一个数据点所在的时刻,tfirst表示Slicep的第一个数据点所在的时刻;dfirst表示Slicep的第一个数据点与前一切片中的最后一个数据点之间的时间段(此时间段保存在Slicep的第一个元素中)。
可选的,使用向量表示第一特征序列和代表切片;该情况下,S303可以包括:确定第一特征序列与至少一个代表切片之间的相似度。S304可以包括:若相似度大于或等于第二预设阈值,则更新当前模型。
第一特征序列与代表切片之间的相似度,可以看作是两个向量之间的相似度。具体实现时,可以用任意一种方式来确定两个向量之间的相似度。另外,也可以将第一特征序列和代表切片均看作是切片,下面提供一种确定两个切片之间的相似度的可选的实现方式,需要说明的是,计算相似度的两个切片中的元素的个数是相等的:
将第一特征序列表示为Slicep,代表切片表示为Sliceq,以下公式确定Slicep与Sliceq之间的相似度:
D(Slicep,Sliceq)=Dm(Slicep,Sliceq)+Dt(Slicep,Sliceq);
其中,D(Slicep,Sliceq)表示Slicep与Sliceq之间的相似度;Dm(Slicepi,Sliceqi)表示Slicep对应的在线业务数据的第i个数据特征与Sliceq对应的历史业务数据的第i个数据特征之间的模式距离;Dd(Slicepi,Sliceqi)表示Slicep对应的在线业务数据的第i个数据特征与Sliceq对应的历史业务数据的第i个数据特征之间的时间距离。其中:
其中,I表示第一特征序列中的数据点(可选的为特征点)的个数,I为大于或等于1的整数,
Rpi表示Slicep中的第i个数据点与前一数据点之间的时间段dpi占Slicep的总时间段的比例;tlast表示Slicep的最后一个数据点所在的时刻,tfirst表示Slicep的第一个数据点所在的时刻;dfirst表示Slicep的第一个数据点与前一切片中的最后一个数据点之间的时间段(此时间段保存在Slicep的第一个元素中)。
如图8所示,为本发明实施例提供的一种获取代表切片的方法的流程示意图。图8所示的方法可以包括:
S801:获取历史业务数据,并根据历史业务数据的数据特征构建历史特征序列。
其中,历史业务数据是指相对于当前时刻来说的任意一部分历史业务数据或全部的历史业务数据。根据历史业务数据的数据特征构建历史特征序列的具体实现方式可以参考上文中根据在线业务数据的数据特征构建第一特征序列的具体实现方式,此处不再赘述。
示例的,以IPTV在线视频是动画片,在线业务数据的数据特征为观看动画片的人数为例,假设窗口为时间窗口,例如半小时,那么,S801可以包括:
S1:服务器统计一段时间内的每个窗口下观看动画片的人数,得到数据序列1。
其中,数据序列1可以类似于上文提供的第一数据特征。根据第一数据序列绘制的曲线的示意图如图9所示,其中,图9中横坐标表示窗口序号,纵坐标表示观看动画片的人数,图9中表示出了若干窗口内得到的观看动画片的人数。
S2:服务器提取数据特征1中的特征点,并将提取出的特征点构建数据序列2。
其中,数据序列2可以类似于上文提供的第二数据特征。将提取出的特征点分别表示为特征点A~P,如图10(图10是基于图9进行绘制的)所示。
S3:根据数据特征2构建历史特征序列。
基于图10所示的示例,S3中得到的历史特征序列可以为:HTS={(5,-2,5),(14,3,9)……};其中,(5,-2,5)表示特征点B,(14,3,9)表示特征点C。
S802:确定历史特征序列中的模型变化点。
其中,模型变化点是指:所触发的模型更新过程前后的两个模型之间的变化幅度大于或等于预设阈值的更新触发点。其中,该更新触发点可以是按照现有技术中提供的确定更新触发点的方法所确定的更新触发点,也可以是按照本发明实施例提供的任意一种确定更新触发点的方法所确定的更新触发点。下面通过一个具体的示例对模型变化点进行说明:
假设t0时刻,服务器中的模型为模型1,按照时间先后顺序对更新触发点进行排列后得到的序列为:更新触发点1、2,那么,在更新触发点1所在的时刻对当前模型(即模型1)进行更新之后,得到模型2;在更新触发点2所在的时刻对当前模型(即模型2)进行更新之后,得到模型3,如图11所示。该情况下,对于更新触发点1来说,若更新触发点1所触发的模型更新过程前后的两个模型(即模型1和模型2)之间的变化幅度大于或等于预设阈值,则将更新触发点1作为模型变化点;对于更新触发点2来说,若更新触发点2所触发的模型更新过程前后的两个模型(即模型2和模型3)之间的变化幅度大于或等于预设阈值,则将更新触发点2作为模型变化点。
本发明实施例对两个模型之间的变化幅度的具体实现方式不进行限定,其可以使用现有技术中的任何一种方式实现。可选的,可以通过以下任意一种方式确定两个模型之间的变化幅度:
方式1、以本发明实施例中的模型是逻辑回归模型为例,可以将两个模型的参数分别组成的向量之间的欧式距离,作为这两个模型之间的变化幅度。
方式2、以本发明实施例中的模型为朴素贝叶斯模型为例,可以将两个模型的先验概率分别组成的向量之间的欧式距离,作为这两个模型之间的变化幅度。
需要说明的是,以该可选的实现方式中的更新触发点是本发明实施例提供的任意一种确定更新触发点的方法所确定的更新触发点为例,对待测触发点、更新触发点,以及模型变化点之间的关系进行说明:首先,待测触发点、更新触发点和模型变化点是时间概念。其次,待测触发点可能是更新触发点,也可能不是更新触发点;更新触发点一定是待测触发点;更新触发点可能是模型变化点,也可能不是模型变化点;模型变化点一定是更新触发点。另外,相邻更新触发点之间的间隔为相邻待测触发点之间的间隔的整数倍;相邻模型变化点之间的间隔为相邻待测触发点之间的间隔的整数倍;相邻更新触发点之间的间隔与相邻模型变化点之间的间隔没有直接关系。
另外需要说明的是,数据点所在的时刻、特征点所在的时刻与模型变化点之间的关系如下:数据点所在的时刻可能是模型变化点,也可能不是模型变化点;模型变化点一定是数据点所在的时刻;特征点所在的时刻与模型变化点之间没有直接关系。
基于上述S1~S3的示例,假设在S802中确定的模型变化点如图12所示,图12中的每个小圆点所对应的横坐标表示一个模型变化点,部分模型变化点与特征点所在的时刻重合。需要说明的是,图12是基于图10进行绘制的;实际实现时,服务器是基于更新触发点确定模型变化点的,为了下文中清楚说明特征点所在的时刻与模型变化点无关,将图11与所确定的模型变化点合并在了一个附图(即图12)中。由图12可知,相邻模型变化点之间可以包含一个或多个特征点所在的时刻,例如,相邻模型变化点F、H之间包含特征点F、G和H所在的时刻;相邻特征点所在的时刻之间可以包含一个或多个模型变化点,例如,相邻特征点B、C所在的时刻之间包括3个模型变化点。因此,特征点所在的时刻与模型变化点无关。
S803:基于模型变化点对历史特征序列进行切割,得到代表切片。
具体的,在每个模型变化点,对历史特征序列进行切割,得到多个片段;其中,进行切割时,可以将模型变化点作为后一个片段的起点。每个片段均是历史特征序列的子集。
假设历史特征序列为HTS={(t1,m1,d1),(t2,m2,d2),……(tn,mn,dn)},并且S802中确定的模型变化点有L-1个,那么,在S803中,对历史特征序列HTS进行切割之后,得到L个切片,分别如下:
……
其中,k为大于或等于2的整数,L为大于或等于2的整数,n为大于或等于2的整数。
需要说明的是,图8所示的方法可以是服务器在离线状态下执行的,也可以是服务器在在线状态下执行的。若图8所示的方法是服务器在在线状态下执行的,则图8所示的方法可以在执行上文所述的S303之前的任意一步骤执行。
若将S803中得到的代表切片构成的集合称为代表切片库,则该代表切片库可以一旦确定,就不再更新;也可以随着历史特征序列的更新而更新。其中,更新历史特征序列可以包括:当随着时间的推移,在线特征序列(例如上文中的第一特征序列和第二特征序列等)会逐渐变成新增的历史特征序列,该情况下,可以将这些新增的历史特征序列作为新的代表切片更新代表切片库,也可以将这些新增的历史特征序列与原先的历史特征序列结合,重新确定代表切片来更新代表切片库;这样,服务器中可以不保存历史业务数据及历史业务数据的数据特征,而是保存历史特征序列,从而节省存储空间,并且可以提高更新代表切片库的速率,缩短更新代表切片库的时间。
基于S802中的示例,在模型变化点8、9之间的切片可以表示为:{(33,2,3),(38,1,5)}。相邻特征点B、C之间的切片可以表示为:Slice_1={(7,3,2)},Slice_2={(10,3,3)},Slice_3={(14,3,4)}。需要说明的是,相邻两个特征点之间的多个切片中的变化速率共用这两个特征点之间的变化速率。
可选的,如图8a(图8a是基于图8进行绘制的)所示,S803可以包括:
S803':基于模型变化点对历史特征序列进行切割,并对切割后得到的切片进行聚类,得到代表切片。
具体的,基于模型变化点对历史特征序列进行切割,并利用聚类算法对切割后得到的切片进行聚类,得到代表切片。其中,本发明实施例对聚类算法的具体实现不进行限定,其可以是现有技术中的任意一种聚类算法,例如,可以是k-means聚类算法。
示例的,确定任意两个切片之间的关联关系,若该关联关系满足一定的条件,则可以对这两个切片进行聚类(即认为这两个切片为同一种类的的切片),然后选择其中的任意一个切片作为该类的代表切片。其中,两个切片之间的关联关系的具体实现方式可以参考上文。例如,根据上文中确定Slicep与Sliceq之间的距离的计算方法,确定切割后得到的任意两个切片之间的距离,若该距离小于或等于预设阈值,则将这两个切片进行聚类,并将这两个切片中的一个切片作为代表切片。
基于S803中的示例,Slice_1和Slice_2之间的模式距离Dm(Slice_1,Slice_2),时间距离Dt(Slice_1,Slice_2),以及总距离D(Slice_1,Slice_2)如表2所示:
表2
Dm(Slice_1,Slice_2) | Dt(Slice_1,Slice_2) | D(Slice_1,Slice_2) |
|3-3|=0 | |2/2-3/3|=0 | 0 |
同理,可计算得到D(Slice_1,Slice_3)和D(Slice_2,Slice_3)的距离均为0,因此,这三个切片可选slice_1作为代表切片。
类似地,可以得出如图12所示的各切片的代表切片为表3所示:
表3
Slice_AB | Slice_BC | Slice_CE | Slice_FH |
{(5,-2,5)} | {(7,3,2)} | {(16,-3,3),(21,2,5)} | {(33,2,3),(38,1,5)} |
需要说明的是,对历史特征序列进行切割后得到的部分片段(即切片)的特征可能类似,利用该可选的实现方式对切割后得到的切片进行聚类之后,能够减少代表切片的数量,从而节省代表切片库所占的存储空间;进一步地,还可以减少确定在线特征序列(例如第一特征序列或第二特征序列)与这些特征类似的代表切片之间的关联关系的过程中的计算量,从而提高模型更新速率。
下面以一个具体示例对上文提供的模型更新方法进行说明:
假设当前时刻服务器中的数据序列中为{数据点a(104,v1),数据点b(109,v2)},也就是说,数据点a、b为不是更新触发点,数据点a的前一数据点为更新触发点,其中,“104”表示第104个时间窗口,“109”表示第109个时间窗口。那么,若当前时刻为一待测触发点,则:
S11:获取该待测触发点内接收到的在线业务数据,及该在线业务数据的数据特征v3,并得到数据点c(114,v3),“114”表示第114个时间窗口,假设根据数据点a、b和c绘制的曲线如图13所示。
S12:将数据点c(114,v3)加入数据序列{数据点a(104,v1),数据点b(109,v2)}中,得到第一数据序列{数据点a(104,v1),数据点b(109,v2),数据点c(114,v3)}。
S13:根据上文提供的特征点的判断方法,提取第一数据序列中的特征点,生成第二数据序列。
需要说明的是,既然数据特征{数据点a(104,v1),数据点b(109,v2)}中包含数据点a,且数据点a不是该数据序列中的最后一个数据点,说明在判断上一待测触发点是否为更新触发点的过程中确定了数据点a为特征点。S13具体可以包括:根据上文提供的方法确定数据点b是否为特征点,并直接将数据点c作为特征点。假设所确定的第二数据序列为:{数据点a(104,v1),数据点b(109,v2),数据点c(114,v3)}。
S14:根据第二数据序列确定的特征序列TS={(109,2,3),(114,1,5)}。
S15:确定特征序列TS={(109,2,3),(114,1,5)}与至少一个代表切片之间的距离,并确定该距离是否小于或等于预设的距离阈值(即上文中的第一预设阈值),以判断数据点c所在的时刻(即待测触发点)是否为更新触发点。
由于当前时刻为数据点c所在的时刻,因此,只需要判断数据点c所在的时刻是否为更新触发点。
假设代表切片库中的各代表切片如表3所示,那么,根据特征序列TS中包含的元素的个数为2,可知,在S5中,需要计算结算Slice ac{(109,2,3),(114,1,5)}分别与SliceCE、Slice FH之间的距离,具体计算过程如表4所示:
表4
假设预设的距离阈值为0.5,则根据表4可知,D(Slice_ac,Slice_FH)=0<0.5,因此,c为更新触发点。
不失一般性,在判断数据点c所在的时刻是否为更新触发点之前,已经判断过数据点b所在的时刻是否为更新触发点了。
示例的,假设当前时刻为数据点b所在的时刻,则判断数据点b是否为更新触发点可以包括:计算ab所表示的切片Slice_ab(109,2,3)与代表切片Slice_AB{(5,-2,5)}、Slice_BC1{(7,3,2)}的距离,如表5所示。
表5
D(Slice_ab,Slice_AB) | D(Slice_ab,Slice_BC) |
|2-(-2)|+|3/3-5/5|=4 | |2-3|+|3/3-2/2|=1 |
假设预设的距离阈值为0.5,那么由表5可知,数据点b所在的时刻不是更新触发点。
上述主要从模型更新装置(具体是指服务器)的角度对本发明实施例提供的方案进行了介绍。可以理解的是,为了实现上述各个功能,模型更新装置包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对模型更新装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用各个功能划分的各个功能模块的情况下,图14示出了一种模型更新装置140的结构示意图。该模型更新装置140可以是上述实施例中所涉及的服务器。该模型更新装置140可以包括:获取模块1401、构建模块1402、确定模块1403和更新模块1404;可选的,还可以包括:生成模块1405。这各功能模块中的每个功能模块所具有的功能可以根据上文所提供的各方法实施例中的各步骤推断出来,或者可以参考上文发明内容部分所提供的内容,此处不再赘述。
在采用集成的模块的情况下,上述获取模块1401、构建模块1402、确定模块1403、更新模块1404和生成模块1405均可以集成为一个模型更新装置中的一个处理模块。另外,模型更新装置中还可以包括通信模块和存储模块。
如图15所示,为本发明实施例提供的一种模型更新装置150的结构示意图。该模型更新装置150可以是上述实施例中所涉及的服务器。该模型更新装置150可以包括:处理模块1501和通信模块1502。其中,处理模块1501用于对模型更新装置150的工作进行控制管理,例如,处理模块1501用于支持模型更新装置150执行图3、图3a、图6、图6a、图8、图8a中的各步骤,和/或用于本文所描述的技术的其它过程。例如,还可以用于支持上文具体示例中提供的S1~S3、S11~S15中的各步骤等。通信模块1502用于支持模型更新装置150与其他网络实体的通信,例如与业务客户端的通信等。可选的,模型更新装置150还可以包括:存储模块1503,用于存储模型更新装置150执行上文所提供的任一模型更新方法所对应的程序代码和数据。
其中,处理模块1501可以是处理器或控制器,例如可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明实施例公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信模块1502可以是收发器、收发电路或通信接口等。存储模块1503可以是存储器。
当处理模块1501为处理器,通信模块1502为收发器,存储模块1503为存储器时,本发明实施例所涉及的模型更新装置150可以以图2所示的模型更新装置20所示。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的***、装置和模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (23)
1.一种模型更新方法,其特征在于,包括:
获取在待测触发点所在的窗口内接收到的第一在线业务数据;
根据所述第一在线业务数据的数据特征,构建第一特征序列;
确定所述第一特征序列与至少一个代表切片之间的关联关系;所述代表切片是根据历史业务数据的数据特征构建的特征序列的切片;
若所述第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
2.根据权利要求1所述的方法,其特征在于,在确定所述第一特征序列与至少一个代表切片之间的关联关系之后,所述方法还包括:
若所述第一特征序列与所述至少一个代表切片之间的关联关系不满足所述预设条件,则获取所述待测触发点的后续待测触发点所在的窗口内接收到的第二在线业务数据;
根据所述第一在线业务数据的数据特征和所述第二在线业务数据的数据特征,按照接收时间先后顺序构建第二特征序列;
确定所述第二特征序列与所述至少一个代表切片之间的关联关系;
若所述第二特征序列与所述至少一个代表切片之间的关联关系满足预设条件,则更新所述当前模型。
3.根据权利要求1或2所述的方法,其特征在于,使用向量表示所述第一特征序列和所述代表切片;所述确定所述第一特征序列与至少一个代表切片之间的关联关系,包括:
确定所述第一特征序列与至少一个代表切片之间的距离;
若所述第一特征序列与所述至少一个代表切片之间的关联关系满足预设条件,则更新当前模型,包括:
若所述距离小于或等于第一预设阈值,则更新当前模型。
4.根据权利要求1或2所述的方法,其特征在于,使用向量表示所述第一特征序列和所述代表切片;所述确定所述第一特征序列与至少一个代表切片之间的关联关系,包括:
确定所述第一特征序列与至少一个代表切片之间的相似度;
若所述第一特征序列与所述至少一个代表切片之间的关联关系满足预设条件,则更新当前模型,包括:
若所述相似度大于或等于第二预设阈值,则更新当前模型。
5.根据权利要求1至4任意一项所述的方法,其特征在于,所述根据所述第一在线业务数据的数据特征,构建第一特征序列,包括:
根据所述第一在线业务数据的数据特征,构建第一数据序列;其中,所述第一数据序列中的一个元素为一个数据点,所述数据点至少包含以下特征:所述数据点所在的时刻,所述数据点所对应的业务数据的数据特征;
将所述第一数据序列生成第一特征序列;其中,所述第一特征序列中的元素至少包含以下特征:所述数据点所在的时刻,所述数据点与前一数据点之间的变化速率,以及所述数据点所在的时刻与所述前一数据点所在的时刻之间的时间段。
6.根据权利要求5所述的方法,其特征在于,在所述根据所述第一在线业务数据的数据特征,构建第一数据序列之后,所述方法还包括:
提取所述第一数据序列中的特征点,并根据所述第一数据序列中的特征点构建第二数据序列;
所述将所述第一数据序列生成第一特征序列,包括:
将所述第二数据序列生成第一特征序列;其中,所述第一特征序列中的元素包括所述特征点所在的时刻,所述特征点与前一特征点之间的变化速率,以及所述特征点所在的时刻与所述前一特征点所在的时刻之间的时间段。
7.根据权利要求1至6任意一项所述的方法,其特征在于,所述待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则所述待测触发点所在的窗口是指从开始接收在线业务数据的时刻至所述待测触发点之间的窗口;若i≥2,则所述待测触发点所在的窗口是从第i-1个待测触发点至所述待测触发点之间的窗口。
8.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
将从开始接收在线业务数据的时刻开始的预设时长的整数倍时的时刻,确定为所述待测触发点。
9.根据权利要求1至7任意一项所述的方法,其特征在于,所述方法还包括:
将从开始接收在线业务数据的时刻开始至接收到的在线业务数据为预设数据量的整数倍时的时刻,确定为所述待测触发点。
10.根据权利要求1至9任意一项所述的方法,其特征在于,在所述确定所述第一特征序列与至少一个代表切片之间的关联关系之前,所述方法还包括:
获取历史业务数据,并根据所述历史业务数据构建历史特征序列;
确定所述历史特征序列中的模型变化点;
基于所述历史特征序列中的模型变化点对历史特征序列进行切割,得到代表切片。
11.根据权利要求10所述的方法,其特征在于,所述基于模型变化点对历史特征序列进行切割,得到代表切片,包括:
基于模型变化点对历史特征序列进行切割,并对切割后得到的切片进行聚类,得到代表切片。
12.一种模型更新装置,其特征在于,包括:
获取模块,用于获取在待测触发点所在的窗口内接收到的第一在线业务数据;
构建模块,用于根据所述第一在线业务数据的数据特征,构建第一特征序列;
确定模块,用于确定所述第一特征序列与至少一个代表切片之间的关联关系;所述代表切片是根据历史业务数据的数据特征构建的特征序列的切片;
更新模块,用于若所述第一特征序列与至少一个代表切片之间的关联关系满足预设条件,则更新当前模型。
13.根据权利要求12所述的装置,其特征在于,
所述获取模块还用于:若所述第一特征序列与所述至少一个代表切片之间的关联关系不满足所述预设条件,则获取所述待测触发点的后续待测触发点所在的窗口内接收到的第二在线业务数据;
所述构建模块还用于:根据所述第一在线业务数据的数据特征和所述第二在线业务数据的数据特征,按照接收时间先后顺序构建第二特征序列;
所述确定模块还用于:确定所述第二特征序列与所述至少一个代表切片之间的关联关系;
所述更新模块还用于:若所述第二特征序列与所述至少一个代表切片之间的关联关系满足预设条件,则更新所述当前模型。
14.根据权利要求12或13所述的装置,其特征在于,使用向量表示所述第一特征序列和所述代表切片;
所述确定模块具体用于:确定所述第一特征序列与至少一个代表切片之间的距离;
所述更新模块具体用于:若所述距离小于或等于第一预设阈值,则更新当前模型。
15.根据权利要求12或13所述的装置,其特征在于,使用向量表示所述第一特征序列和所述代表切片;
所述确定模块具体用于:确定所述第一特征序列与至少一个代表切片之间的相似度;
所述更新模块具体用于:若所述相似度大于或等于第二预设阈值,则更新当前模型。
16.根据权利要求12至15任意一项所述的装置,其特征在于,所述构建模块具体用于:
根据所述第一在线业务数据的数据特征,构建第一数据序列;其中,所述第一数据序列中的一个元素为一个数据点,所述数据点至少包含以下特征:所述数据点所在的时刻,所述数据点所对应的业务数据的数据特征;
将所述第一数据序列生成第一特征序列;其中,所述第一特征序列中的元素至少包含以下特征:所述数据点所在的时刻,所述数据点与前一数据点之间的变化速率,以及所述数据点所在的时刻与所述前一数据点所在的时刻之间的时间段。
17.根据权利要求16所述的装置,其特征在于,
所述构建模块还用于:提取所述第一数据序列中的特征点,并根据所述第一数据序列中的特征点构建第二数据序列;
所述构建模块在执行所述将所述第一数据序列生成第一特征序列时,具体用于:将所述第二数据序列生成第一特征序列;其中,所述第一特征序列中的元素包括所述特征点所在的时刻,所述特征点与前一特征点之间的变化速率,以及所述特征点所在的时刻与所述前一特征点所在的时刻之间的时间段。
18.根据权利要求12至17任意一项所述的装置,其特征在于,所述待测触发点是第i个待测触发点,i≥1,i是整数;若i=1,则所述待测触发点所在的窗口是指从开始接收在线业务数据的时刻至所述待测触发点之间的窗口;若i≥2,则所述待测触发点所在的窗口是从第i-1个待测触发点至所述待测触发点之间的窗口。
19.根据权利要求12至18任意一项所述的装置,其特征在于,
所述确定模块还用于:将从开始接收在线业务数据的时刻开始的预设时长的整数倍时的时刻,确定为所述待测触发点。
20.根据权利要求12至18任意一项所述的装置,其特征在于,
所述确定模块还用于:将从开始接收在线业务数据的时刻开始至接收到的在线业务数据为预设数据量的整数倍时的时刻,确定为所述待测触发点。
21.根据权利要求12至20任意一项所述的装置,其特征在于,
所述获取模块还用于:获取历史业务数据;
所述构建模块还用于:根据所述历史业务数据构建历史特征序列;
所述确定模块还用于:确定所述历史特征序列中的模型变化点;
所述装置还包括:
生成模块,用于基于所述历史特征序列中的模型变化点对历史特征序列进行切割,得到代表切片。
22.根据权利要求21所述的装置,其特征在于,
所述生成模块具体用于:基于模型变化点对历史特征序列进行切割,并对切割后得到的切片进行聚类,得到代表切片。
23.一种模型更新装置,其特征在于,包括:处理器、存储器、***总线和通信接口;
所述存储器用于存储计算机执行指令,所述处理器与所述存储器通过所述***总线连接,当所述装置运行时,所述处理器执行所述存储器存储的所述计算机执行指令,以使所述装置执行如权利要求1-11任意一项所述的模型更新方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610645496.7A CN107704929B (zh) | 2016-08-08 | 2016-08-08 | 一种模型更新方法和装置 |
PCT/CN2017/090609 WO2018028326A1 (zh) | 2016-08-08 | 2017-06-28 | 一种模型更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610645496.7A CN107704929B (zh) | 2016-08-08 | 2016-08-08 | 一种模型更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107704929A true CN107704929A (zh) | 2018-02-16 |
CN107704929B CN107704929B (zh) | 2020-10-23 |
Family
ID=61162616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610645496.7A Active CN107704929B (zh) | 2016-08-08 | 2016-08-08 | 一种模型更新方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107704929B (zh) |
WO (1) | WO2018028326A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175084A (zh) * | 2019-04-04 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 数据变化的监控方法及装置 |
CN111538767A (zh) * | 2020-05-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111083722B (zh) * | 2019-04-15 | 2024-06-07 | 中兴通讯股份有限公司 | 模型的推送、模型的请求方法及装置、存储介质 |
CN111080092B (zh) * | 2019-11-29 | 2023-04-18 | 北京云聚智慧科技有限公司 | 数据标注管理方法及装置、电子设备和可读存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620597A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 移动通信业数据业务的产品关联分析方法 |
CN103488705A (zh) * | 2013-09-06 | 2014-01-01 | 电子科技大学 | 个性化推荐***的用户兴趣模型增量更新方法 |
CN104217040A (zh) * | 2014-10-11 | 2014-12-17 | 清华大学 | 一种基于传统在线监测仪的污染事件快速探测方法 |
CN105095271A (zh) * | 2014-05-12 | 2015-11-25 | 北京大学 | 微博检索方法和微博检索装置 |
US20160078368A1 (en) * | 2010-05-26 | 2016-03-17 | Automation Anywhere, Inc. | Artificial intelligence & knowledge based automation enhancement |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004092903A2 (en) * | 2003-04-09 | 2004-10-28 | Discovery Partners International | Spot finding algorithm using image recognition software |
CN100583101C (zh) * | 2008-06-12 | 2010-01-20 | 昆明理工大学 | 基于领域知识的文本分类特征选择及权重计算方法 |
CN105589971B (zh) * | 2016-01-08 | 2018-12-18 | 车智互联(北京)科技有限公司 | 训练推荐模型的方法、装置及推荐*** |
-
2016
- 2016-08-08 CN CN201610645496.7A patent/CN107704929B/zh active Active
-
2017
- 2017-06-28 WO PCT/CN2017/090609 patent/WO2018028326A1/zh active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620597A (zh) * | 2008-06-30 | 2010-01-06 | 上海全成通信技术有限公司 | 移动通信业数据业务的产品关联分析方法 |
US20160078368A1 (en) * | 2010-05-26 | 2016-03-17 | Automation Anywhere, Inc. | Artificial intelligence & knowledge based automation enhancement |
CN103488705A (zh) * | 2013-09-06 | 2014-01-01 | 电子科技大学 | 个性化推荐***的用户兴趣模型增量更新方法 |
CN105095271A (zh) * | 2014-05-12 | 2015-11-25 | 北京大学 | 微博检索方法和微博检索装置 |
CN104217040A (zh) * | 2014-10-11 | 2014-12-17 | 清华大学 | 一种基于传统在线监测仪的污染事件快速探测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175084A (zh) * | 2019-04-04 | 2019-08-27 | 阿里巴巴集团控股有限公司 | 数据变化的监控方法及装置 |
CN110175084B (zh) * | 2019-04-04 | 2023-04-25 | 阿里巴巴集团控股有限公司 | 数据变化的监控方法及装置 |
CN111538767A (zh) * | 2020-05-28 | 2020-08-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
CN111538767B (zh) * | 2020-05-28 | 2023-07-14 | 支付宝(杭州)信息技术有限公司 | 数据处理方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN107704929B (zh) | 2020-10-23 |
WO2018028326A1 (zh) | 2018-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107704929A (zh) | 一种模型更新方法和装置 | |
Khosravi et al. | A neural network-GARCH-based method for construction of Prediction Intervals | |
US9002774B2 (en) | Systems and methods for generating a forecasting model and forecasting future values | |
Farouk El Gayar et al. | An integrated framework for advanced hotel revenue management | |
CN111651704B (zh) | 一种内容推荐方法、计算设备以及存储介质 | |
CN108521439A (zh) | 一种消息推送的方法和装置 | |
US7664671B2 (en) | Methods and systems for profile-based forecasting with dynamic profile selection | |
CN106294830A (zh) | 多媒体资源的推荐方法及装置 | |
EP3279806A1 (en) | Data processing method and apparatus | |
CN112183818A (zh) | 一种推荐概率预测方法、装置、电子设备及存储介质 | |
CN110110592A (zh) | 业务处理方法、模型训练方法、设备及存储介质 | |
US11476669B2 (en) | Method and system for building reinforcement learning (RL) based model for generating bids | |
CN106204087A (zh) | 用于选择广告媒体的方法和装置 | |
CN102279963A (zh) | 两级预算合理性检查提醒及自动优化的方法、设备和*** | |
CN106296287A (zh) | 用于调整推广信息的出价的方法和装置 | |
CN116629937A (zh) | 营销策略推荐方法及装置 | |
CN106326244A (zh) | 用于确定用户对基于Web内容的兴趣的方法和装置 | |
CN106257449A (zh) | 一种信息确定方法和装置 | |
CN108596493A (zh) | 拆单式交易方法及装置 | |
CN107590244A (zh) | 移动设备线下活动场景的识别方法和装置 | |
CN110163701A (zh) | 推送信息的方法和装置 | |
US20120303422A1 (en) | Computer-Implemented Systems And Methods For Ranking Results Based On Voting And Filtering | |
CN113837782A (zh) | 时间序列模型的周期项参数优化方法、装置、计算机设备 | |
CN111476639A (zh) | 商品推荐策略确定方法、装置、计算机设备及存储介质 | |
CN107330732B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |