基于机器学习的模型迭代更新方法、装置和计算机设备与流程

文档序号:18322091发布日期:2019-08-03 10:34阅读:536来源:国知局
基于机器学习的模型迭代更新方法、装置和计算机设备与流程

本申请涉及到计算机领域,特别是涉及到一种基于机器学习的模型迭代更新方法、装置、计算机设备和存储介质。



背景技术:

现有技术的在线模型仅能供用户使用,在使用无法进行参数更新。当发现在线模型参数需要更新时,只能将在线模型离线,终止对用户的服务,再用新的训练数据对该模型进行训练,以实现模型参数的更新。因此,会造成一定时间的模型无法使用(即服务器无法提供服务),可能引起用户不满。因此现有技术没有能够实现模型的同时使用与训练的方案。



技术实现要素:

本申请的主要目的为提供一种基于机器学习的模型迭代更新方法、装置、计算机设备和存储介质,旨在实现模型的同时使用与训练。

为了实现上述发明目的,本申请提出一种基于机器学习的模型迭代更新方法,包括以下步骤:

服务器判断当前时间是否为预设的模型更新时间点;

若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;

若当前访问所述服务器的用户数量不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

进一步地,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之前,包括:

获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1;

根据公式:模型更新时间点=t1+t,计算出所述模型更新时间点。

进一步地,所述若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值的步骤之前,包括:

获取当前时间所处更新周期之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m;

根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。

进一步地,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之后,包括:

若当前时间不是模型更新时间点,则获取用户的输入数据,所述输入数据包括输入句子及与所述输入句子对应的标准句子;

计算出所述输入句子与所述标准句子间的第一距离;

将所述第一距离输入所述服务器当前使用的第一算法模型中进行运算;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

输出运算结果。

进一步地,所述计算出所述输入句子与所述标准句子间的第一距离的步骤,包括:

查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;

采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

进一步地,所述第一算法模型为一元二次函数,所述第一算法模型的获取方法,包括:

建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分,n为3的倍数;

将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

进一步地,所述第二算法模型的获取方法,包括:

调用所述第一算法模型的参数;

将所述第一算法模型的参数初始化为初始第二算法模型的参数;

对所述初始第二算法模型采用第二训练数据继续训练,得到所述第二算法模型。

本申请提供一种基于机器学习的模型迭代更新装置,包括:

模型更新时间点判断单元,用于服务器判断当前时间是否为预设的模型更新时间点;

第一阈值判断单元,用于若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;

更新单元,用于若当前访问所述服务器的用户数量不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

本申请提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请的基于机器学习的模型迭代更新方法、装置、计算机设备和存储介质,通过判断当前时间是否为预设的模型更新时间点;若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数。从而实现了模型的同时在线使用与离线训练。

附图说明

图1为本申请一实施例的基于机器学习的模型迭代更新方法的流程示意图;

图2为本申请一实施例的基于机器学习的模型迭代更新装置的结构示意框图;

图3为本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请实施例提供一种基于机器学习的模型迭代更新方法,包括以下步骤:

s1、服务器判断当前时间是否为预设的模型更新时间点;

s2、若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;

s3、若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

本实施方式中,服务器采用第一算法模型在线对用户输入的数据进行运算,同时离线的第二算法模型利用第二训练数据训练以增加模型的准确程度,其中初始状态下,第一算法模型与第二算法模型完全相同。即在线的第一算法模型对用户输入的数据进行运算但不能提升模型参数,而离线的第二算法模型在第一算法模型的基础上,利用第二训练数据训练以更新模型参数,并可在需要的时候将在线的第一算法模型的参数更新为第二算法模型参数,从而即实现在线对用户的服务,又能提升算法模型。

如上述步骤s1所述,服务器判断当前时间是否为预设的模型更新时间点。所述模型更新时间点可设置于任意时间,优选18:00-06:00,更优选24:00-05:00、03:00-04:00。模型更新时间点的设置原则包括,选择访问服务器的用户数量最小的时间点作为更新时间点。

如上述步骤s2所述,若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值。其中第一阈值可由人为选定,也可以以当前时间之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量作为第一阈值。其中预设更新周期t优选为24h。

如上述步骤s3所述,若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。若不大于第一阈值,表明服务器处于空闲状态,此时适合更新模型。具体更新模型的方式包括:移除第一算法模型的参数,载入第二算法模型的参数。本实施方式的第一算法模型,用于将一个单句及与该单句对应的标准单句的距离(句向量间的距离),映射为反应句子间相似程度的评分。所述第一算法模型优选为一元二次函数。所述训练方法可采用神经网络模型(例如tensorflow构建的神经网络模型,其中,tensorflow是谷歌研发的第二代人工智能学习系统,为已有技术,在此不再赘述),或者采用其他方法。所述第一训练数据可通过在网络上搜集、或者采用预构建的训练数据库获得。所述第二训练数据的来源可与第一训练数据的来源相同,并且可以包括第一算法模型在线使用时收集的在线数据,以及对所述在线数据的人工评分所组成的训练数据。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤s1之前,包括:

s001、获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1;

s002、根据公式:模型更新时间点=t1+t,计算出所述模型更新时间点。

如上所述,实现了获得所述模型更新时间点。所述模型更新点的设置原则包括,选择访问服务器的用户数量最小的时间点作为更新时间点。其中,所述预设更新周期t指在一个更新周期t内,所述服务器更新一次,所述预设更新周期t可为任意数值,优选为24h。例如在当前时间之前的一个预设更新周期t(例如为24h)内,访问所述服务器的用户数量最少的第一时间点t1为晚上的23:00,根据公式:模型更新时间点=t1+t,可知本次模型更新时间点应为当天的晚上的23:00。从而以历史数据作为参考,得到准确的模型更新时间点,并且模型更新时间点与前一个预设更新周期t内的数据相关,因此在后续的多个更新周期内,能够自动获得更准确且合适的模型更新时间点。其中,获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1的过程包括:查询后台数据,获取当前时间所处更新周期之前的一个预设更新周期t内所述服务器的访问用户数随时间变化的曲线,在所述曲线中筛选出数值最小的数值点,将所述数值最小的数值点对应的时间点记为访问所述服务器的用户数量最少的第一时间点t1。

在一个实施方式中,所述若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值的步骤s2之前,包括:

s111、获取当前时间所处更新周期之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m;

s112、根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。

如上所述,实现了设置第一阈值。以当前时间之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m作为基准,根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。从而以历史数据作为参考,得到准确的第一阈值,并且第一阈值与前一个预设更新周期t内的数据相关,因此在后续的多个更新周期内,能够自动获得更准确且合适的第一阈值。其中,所述容忍值k可设为具体数量,也可以设为与m值相关,例如为k=0.1m。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤s1之后,包括:

s121、若当前时间不是模型更新时间点,则获取用户的输入数据,所述输入数据包括输入句子及与所述输入句子对应的标准句子;

s122、计算出所述输入句子与所述标准句子间的第一距离;

s123、将所述第一距离输入所述服务器当前使用的第一算法模型中进行运算;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

s124、输出运算结果。

如上所述,实现了在线模型对用户的输入数据的运算。若不是模型更新时间点,则第一算法模型正常使用,给用户提供正常服务。其中计算出所述输入句子与所述标准句子间的第一距离包括:查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;采用wmd算法(wordmover’sdistance)、simhash算法、基于余弦相似度的算法计算出所述输入句子与所述标准句子间的第一距离。再将计算出的距离输入第一算法模型,计算出相应的评分。本实施方式的第一算法模型,用于将一个单句及与该单句对应的标准单句的距离(句向量间的距离),映射为反应句子间相似程度的评分。所述第一算法模型优选为一元二次函数。

在一个实施方式中,所述计算出所述输入句子与所述标准句子间的第一距离的步骤s122,包括:

s1221、查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;

s1222、采用公式:

,

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

如上述所述,实现了计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的欧氏距离。所述欧氏距离的计算公式为:

其中d(x,y)为词向量x=(x1,x2,x3…,xn)与词向量y=(y1,y2,y3…,yn)间的欧氏距离,n为词向量的维度。将欧氏距离计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,所述第一算法模型为一元二次函数,所述第一算法模型的获取方法,包括:

s311、建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

s312、获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分,n为3的倍数;

s313、将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

s314、对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

如上述步骤所述,实现了通过训练数据训练得出预设函数。其中人为对所述训练用单句与所述训练用标准单句的相似程度的评分指,对于训练单句与标准单句的相似程度,用人为感受进行评分以反应训练单句与标准单句的相似程度。其中评分可采用百分制,即评分100表示完全相似,评分0表示完全不相似。由于一元二次方程具有三个参数a、b、c,采用3个样本即可得到确切的参数值,因此分为n/3组,从而在一定的计算量的前提下,得到不重复的n/3组参数值。为得到更准确的参数,将所述n/3组参数值做均值处理,作为参数a、b、c的最终值。其中均值处理包括:算术平均处理,几何平均处理,均方根平均处理,加权平均处理等。

在一个实施方式中,所述第二算法模型的获取方法,包括:

s321、调用所述第一算法模型的参数;

s322、将所述第一算法模型的参数初始化为初始第二算法模型的参数;

s323、对所述初始第二算法模型采用第二训练数据继续训练,得到所述第二算法模型。

如上所述,实现了获取第二算法模型。本实施方式的第二算法模型的训练过程为迁移学习的过程。将所述第一算法模型的参数作为第二算法模型的初始参数,再进行继续训练,以提升模型。其中所述第二训练数据可通过在网络上搜集、或者采用预构建的训练数据库获得,还可以包括第一算法模型在线使用时收集的在线数据,以及对所述在线数据的人工评分所组成的训练数据。其中在线数据包括:用户的输入数据及对所述输入数据计算得到的第一距离,其中所述输入数据包括输入句子及与所述输入句子对应的标准句子。人为对所述在线数据(即输入句子与所述标准句子)的相似程度进行评分。

本申请的基于机器学习的模型迭代更新方法,通过判断当前时间是否为预设的模型更新时间点;若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数。从而实现了模型的同时在线使用与离线训练。

参照图2,本申请实施例提供一种基于机器学习的模型迭代更新装置,包括:

模型更新时间点判断单元10,用于服务器判断当前时间是否为预设的模型更新时间点;

第一阈值判断单元20,用于若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;

更新单元30,用于若当前访问所述服务器的用户数量不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

本实施方式中,服务器采用第一算法模型在线对用户输入的数据进行运算,同时离线的第二算法模型利用第二训练数据训练以增加模型的准确程度,其中初始状态下,第一算法模型与第二算法模型完全相同。即在线的第一算法模型对用户输入的数据进行运算但不能提升模型参数,而离线的第二算法模型在第一算法模型的基础上,利用第二训练数据训练以更新模型参数,并可在需要的时候将在线的第一算法模型的参数更新为第二算法模型参数,从而即实现在线对用户的服务,又能提升算法模型。

如上述单元10所述,服务器判断当前时间是否为预设的模型更新时间点。所述模型更新时间点可设置于任意时间,优选18:00-06:00,更优选24:00-05:00、03:00-04:00。模型更新时间点的设置原则包括,选择访问服务器的用户数量最小的时间点作为更新时间点。

如上述单元20所述,若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值。其中第一阈值可由人为选定,也可以以当前时间之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量作为第一阈值。其中预设更新周期t优选为24h。

如上述单元30所述,若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。若不大于第一阈值,表明服务器处于空闲状态,此时适合更新模型。具体更新模型的方式包括:移除第一算法模型的参数,载入第二算法模型的参数。本实施方式的第一算法模型,用于将一个单句及与该单句对应的标准单句的距离(句向量间的距离),映射为反应句子间相似程度的评分。所述第一算法模型优选为一元二次函数。所述训练方法可采用神经网络模型(例如tensorflow构建的神经网络模型,其中,tensorflow是谷歌研发的第二代人工智能学习系统,为已有技术,在此不再赘述),或者采用其他方法。所述第一训练数据可通过在网络上搜集、或者采用预构建的训练数据库获得。所述第二训练数据的来源可与第一训练数据的来源相同,并且可以包括第一算法模型在线使用时收集的在线数据,以及对所述在线数据的人工评分所组成的训练数据。

在一个实施方式中,所述装置,包括:

第一时间点获取单元,用于获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1;

模型更新时间点计算单元,用于根据公式:模型更新时间点=t1+t,计算出所述模型更新时间点。

如上所述,实现了获得所述模型更新时间点。所述模型更新点的设置原则包括,选择访问服务器的用户数量最小的时间点作为更新时间点。其中,所述预设更新周期t指在一个更新周期t内,所述服务器更新一次,所述预设更新周期t可为任意数值,优选为24h。例如在当前时间之前的一个预设更新周期t(例如为24h)内,访问所述服务器的用户数量最少的第一时间点t1为晚上的23:00,根据公式:模型更新时间点=t1+t,可知本次模型更新时间点应为当天的晚上的23:00。从而以历史数据作为参考,得到准确的模型更新时间点,并且模型更新时间点与前一个预设更新周期t内的数据相关,因此在后续的多个更新周期内,能够自动获得更准确且合适的模型更新时间点。其中,获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1的过程包括:查询后台数据,获取当前时间所处更新周期之前的一个预设更新周期t内所述服务器的访问用户数随时间变化的曲线,在所述曲线中筛选出数值最小的数值点,将所述数值最小的数值点对应的时间点记为访问所述服务器的用户数量最少的第一时间点t1。

在一个实施方式中,所述装置,包括:

最少用户数量获取单元,用于获取当前时间所处更新周期之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m;

第一阈值计算单元,用于根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。

如上所述,实现了设置第一阈值。以当前时间之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m作为基准,根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。从而以历史数据作为参考,得到准确的第一阈值,并且第一阈值与前一个预设更新周期t内的数据相关,因此在后续的多个更新周期内,能够自动获得更准确且合适的第一阈值。其中,所述容忍值k可设为具体数量,也可以设为与m值相关,例如为k=0.1m。

在一个实施方式中,所述装置,包括:

数据接收单元,用于若当前时间不是模型更新时间点,则获取用户的输入数据,所述输入数据包括输入句子及与所述输入句子对应的标准句子;

距离计算单元,用于计算出所述输入句子与所述标准句子间的第一距离;

第一算法模型运算单元,用于将所述第一距离输入所述服务器当前使用的第一算法模型中进行运算;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。

结果输出单元,用于输出运算结果。

如上所述,实现了在线模型对用户的输入数据的运算。若不是模型更新时间点,则第一算法模型正常使用,给用户提供正常服务。其中计算出所述输入句子与所述标准句子间的第一距离包括:查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;采用wmd算法(wordmover’sdistance)、simhash算法、基于余弦相似度的算法计算出所述输入句子与所述标准句子间的第一距离。再将计算出的距离输入第一算法模型,计算出相应的评分。本实施方式的第一算法模型,用于将一个单句及与该单句对应的标准单句的距离(句向量间的距离),映射为反应句子间相似程度的评分。所述第一算法模型优选为一元二次函数。

在一个实施方式中,所述距离计算单元,包括:

词向量获取子单元,用于查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;

距离计算子单元,用于采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

如上所述,实现了计算出所述单句文字信息与预设的标准单句的距离。其中,上述公式利用了词向量的欧氏距离。所述欧氏距离的计算公式为:

其中d(x,y)为词向量x=(x1,x2,x3…,xn)与词向量y=(y1,y2,y3…,yn)间的欧氏距离,n为词向量的维度。将欧氏距离计算公式代入所述单句文字信息与预设的标准单句的距离的计算公式中,即可算出所述单句文字信息与预设的标准单句的距离。

在一个实施方式中,所述第一算法模型为一元二次函数,所述装置包括第一算法模型获取单元,第一算法模型获取单元,包括:

方程建立子单元,用于建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;

样本数据获取子单元,用于获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分,n为3的倍数;

代入子单元,用于将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;

均值处理子单元,用于对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

如上所述,实现了通过训练数据训练得出预设函数。其中人为对所述训练用单句与所述训练用标准单句的相似程度的评分指,对于训练单句与标准单句的相似程度,用人为感受进行评分以反应训练单句与标准单句的相似程度。其中评分可采用百分制,即评分100表示完全相似,评分0表示完全不相似。由于一元二次方程具有三个参数a、b、c,采用3个样本即可得到确切的参数值,因此分为n/3组,从而在一定的计算量的前提下,得到不重复的n/3组参数值。为得到更准确的参数,将所述n/3组参数值做均值处理,作为参数a、b、c的最终值。其中均值处理包括:算术平均处理,几何平均处理,均方根平均处理,加权平均处理等。

在一个实施方式中,所述装置包括第二算法模型获取单元,第二算法模型获取单元,包括:

第一算法模型的参数调用子单元,用于调用所述第一算法模型的参数;

初始化子单元,用于将所述第一算法模型的参数初始化为初始第二算法模型的参数;

继续训练子单元,用于对所述初始第二算法模型采用第二训练数据继续训练,得到所述第二算法模型。

如上所述,实现了获取第二算法模型。本实施方式的第二算法模型的训练过程为迁移学习的过程。将所述第一算法模型的参数作为第二算法模型的初始参数,再进行继续训练,以提升模型。其中所述第二训练数据可通过在网络上搜集、或者采用预构建的训练数据库获得,还可以包括第一算法模型在线使用时收集的在线数据,以及对所述在线数据的人工评分所组成的训练数据。其中在线数据包括:用户的输入数据及对所述输入数据计算得到的第一距离,其中所述输入数据包括输入句子及与所述输入句子对应的标准句子。人为对所述在线数据(即输入句子与所述标准句子)的相似程度进行评分。

本申请的基于机器学习的模型迭代更新装置,通过判断当前时间是否为预设的模型更新时间点;若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数。从而实现了模型的同时在线使用与离线训练。

参照图3,本发明实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储基于机器学习的模型迭代更新方法所用数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于机器学习的模型迭代更新方法。

上述处理器执行上述基于机器学习的模型迭代更新方法,包括以下步骤:服务器判断当前时间是否为预设的模型更新时间点;若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若当前访问所述服务器的用户数量不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之前,包括:获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1;根据公式:模型更新时间点=t1+t,计算出所述模型更新时间点。

在一个实施方式中,所述若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值的步骤之前,包括:获取当前时间所处更新周期之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m;根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之后,包括:若当前时间不是模型更新时间点,则获取用户的输入数据,所述输入数据包括输入句子及与所述输入句子对应的标准句子;计算出所述输入句子与所述标准句子间的第一距离;将所述第一距离输入所述服务器当前使用的第一算法模型中进行运算;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。输出运算结果。

在一个实施方式中,所述计算出所述输入句子与所述标准句子间的第一距离的步骤,包括:查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

在一个实施方式中,所述第一算法模型为一元二次函数,所述第一算法模型的获取方法,包括:建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分,n为3的倍数;将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

在一个实施方式中,所述第二算法模型的获取方法,包括:调用所述第一算法模型的参数;将所述第一算法模型的参数初始化为初始第二算法模型的参数;对所述初始第二算法模型采用第二训练数据继续训练,得到所述第二算法模型。

本领域技术人员可以理解,图中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。

本申请的计算机设备,通过判断当前时间是否为预设的模型更新时间点;若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数。从而实现了模型的同时在线使用与离线训练。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现基于机器学习的模型迭代更新方法,包括以下步骤:服务器判断当前时间是否为预设的模型更新时间点;若当前时间是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若当前访问所述服务器的用户数量不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分;所述第二算法模型在第一算法模型的基础上使用第二训练数据继续训练得到。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之前,包括:获取当前时间所处更新周期之前的一个预设更新周期t内,访问所述服务器的用户数量最少的第一时间点t1;根据公式:模型更新时间点=t1+t,计算出所述模型更新时间点。

在一个实施方式中,所述若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值的步骤之前,包括:获取当前时间所处更新周期之前的一个预设更新周期t内,同时访问所述服务器的最少用户数量m;根据公式:第一阈值=m+k,计算出所述第一阈值,其中k为预设的容忍值,k为整数。

在一个实施方式中,所述服务器判断当前时间是否为预设的模型更新时间点的步骤之后,包括:若当前时间不是模型更新时间点,则获取用户的输入数据,所述输入数据包括输入句子及与所述输入句子对应的标准句子;计算出所述输入句子与所述标准句子间的第一距离;将所述第一距离输入所述服务器当前使用的第一算法模型中进行运算;其中所述第一算法模型通过第一训练数据训练得出,所述第一训练数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分。输出运算结果。

在一个实施方式中,所述计算出所述输入句子与所述标准句子间的第一距离的步骤,包括:查询预设的词向量库以获取所述输入句子中各个单词的词向量,以及获取所述标准句子中各个单词的词向量;采用公式:

满足

计算出所述单句文字信息与预设的标准单句的距离;其中distance(i,r)为单句i与单句r的距离;i为所述单句文字信息;r为所述预设的标准单句;tij为单句i中第i个词至单句r中的第j个词的权重转移量;di为第i个词在单句i中的词频;d’j为第j个词在单句r中的词频;c(i,j)为单句i中的第i个词与单句r中第j个词的欧氏距离;m为单句i中具有词向量的单词数量;n为单句r中具有词向量的单词数量。

在一个实施方式中,所述第一算法模型为一元二次函数,所述第一算法模型的获取方法,包括:建立一元二次方程f(x)=ax2+bx+c,其中x为代表句子距离的自变量,f(x)为代表映射评分的因变量;获取数量为n的样本数据,将所述样本数据随机分为n/3组,其中每组具有3个样本数据,所述样本数据包括训练用单句、训练用标准单句、所述训练用单句与所述训练用标准单句的距离、和人为对所述训练用单句与所述训练用标准单句的相似程度的评分,n为3的倍数;将所述n/3组数据代入所述一元二次方程,得到n/3组参数a、b、c的值;对所述n/3组参数a、b、c的值作均值处理,得到参数a、b、c的最终值。

在一个实施方式中,所述第二算法模型的获取方法,包括:调用所述第一算法模型的参数;将所述第一算法模型的参数初始化为初始第二算法模型的参数;对所述初始第二算法模型采用第二训练数据继续训练,得到所述第二算法模型。

本申请的计算机可读存储介质,通过判断当前时间是否为预设的模型更新时间点;若是预设的模型更新时间点,判断当前访问所述服务器的用户数量是否大于第一阈值;若不大于第一阈值,则将服务器当前使用的第一算法模型的参数更新为离线的第二算法模型的参数。从而实现了模型的同时在线使用与离线训练。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

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