一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

物料序列的调整方法、装置以及计算机程序产品与流程

2021-11-26 21:52:00 来源:中国专利 TAG:


1.本公开涉及计算机领域,更具体地,涉及物料序列的调整方法、装置以及计算机程序产品。


背景技术:

2.近年来基于大数据驱动下的推荐算法和方案取得了巨大的进展,全社会都陷入到大数据的狂欢中—一切以数据驱动。但是行业专家或者资深人士的判断不一定比数据挖掘出来的缺少依据或者准确度。因为数据本身(至少当前技术下)是没有先验知识,纵使建立起了庞大的知识图谱,为数据和模型建立起了基本的世界观,仍然和人类本身几十年的学习能力下掌握的知识在宏观层面上相差甚远。例如,大数据驱动下的图像识别技术可能从很多图片中准确识别出猫,甚至强过人类本身,但是它极可能不知道猫到底是什么。此外,通过大数据分析工具对海量数据进行挖掘,通过算法模型完成预测分析的过程也需要很多的时间才能辅助决策,这样对于很多热点事件的反应速度受限于算法模型还需要长时间来学习。
3.物料序列的调整常见于物料推荐系统和物料搜索系统当中。现有的系统中常见的是基于使用者的行为偏好、物料偏好和人物画像,再结合物料信息和搜索信息等来调整物料序列,虽然在一定程度上实现了个性化呈现,但就目前实际效果上来看,容易造成“回声室效应”。
4.因此,需要一种能够利用行业专家或者资深人士的知识对基于大数据算法生成的物料序列进行调整的技术。


技术实现要素:

5.根据本公开的一方面,提供了一种物料序列的调整方法。该调整方法包括:获取待调整的物料序列,其中,所述物料序列具有多个位置并且包括分别在多个位置处的多个物料,每个物料具有特征数据;获取条件判断规则集合,其中,所述条件判断规则集合是由用户配置得到的;以及对于所述物料序列的至少一部分位置,按照所述物料序列中的位置顺序:利用所述条件判断规则集合中的各个条件判断规则,依次对在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,其中,每个条件判断规则指示所述当前位置关联位置,以及基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。
6.根据本公开的实施例,其中,所述获取条件判断规则集合包括通过发送第一读取请求从所述第一存储单元读取配置文件组合,所述配置文件组合限定所述条件判断规则集合,其中,在第二存储单元被写入更新的配置文件组合之后且在更新的配置文件组合从第二存储单元写入到所述第一存储单元中之前,所述获取条件判断规则集合包括通过发送第二读取请求从第二存储单元获取更新的配置文件组合,在更新的配置文件组合从第二存储
单元写入到所述第一存储单元中之后,所述获取条件判断规则集合包括通过发送第三读取请求从所述第一存储单元获取更新的配置文件组合。
7.根据本公开的实施例,其中,调整方法还包括:将用户历史配置的条件判断规则集合中的条件判断规则作为历史条件判断规则;其中,获取条件判断规则集合,包括:针对特定场景,基于随机优化算法从所述历史条件判断规则中选择所述条件判断规则集合。
8.根据本公开的一方面,提供了一种物料序列的调整装置。调整装置可以包括物料序列获取模块、规则获取模块以及调整模块。物料序列获取模块用于获取待调整的物料序列,其中,物料序列具有多个位置并包括分别放置在多个位置处的多个物料,每个物料具有特征数据。规则获取模块用于获取条件判断规则集合,其中,条件判断规则集合是由用户配置得到的。调整模块用于对于所述物料序列的至少一部分位置,按照所述物料序列中的位置顺序:利用所述条件判断规则集合中的各个条件判断规则,依次对在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,其中,每个条件判断规则指示所述当前位置关联位置,以及基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。
9.根据本公开的实施例,其中,调整装置还可以包括第一存储单元、第二存储单元和监控单元,或者第一存储单元、第二存储单元和监控单元可以独立于该调整装置而存在。第一存储单元和第二存储单元用于存储配置文件组合,并且监控单元用于监控第一存储单元和第二存储单元的状态,以监控第一存储单元和第二存储单元中是否有更新的配置文件组合。规则获取单元一般仅从第一存储单元获取配置文件组合,例如通过向监控单元发送第一读取请求,然后监控单元控制第一存储单元向规则获取单元返回配置文件组合,并且用户仅向第二存储单元写入配置文件组合。在监控单元监控到第二存储单元的状态更新(配置文件组合被写入第二存储单元)时,基于接收到第二读取请求,监控单元控制第二存储单元向规则获取单元返回更新的配置文件组合,并触发第二存储单元将更新的配置文件组合写入到第一存储单元中,从而覆盖第一存储单元中原有的配置文件组合。此后,监控单元又能监控到第一存储单元的状态更新,从而基于接收到第三读取请求,监控单元又能控制第一存储单元向规则获取单元返回更新的配置文件组合。
10.根据本公开的实施例,其中,规则获取模块还可以将用户历史配置的条件判断规则集合中的条件判断规则作为历史条件判断规则;并针对特定场景,基于随机优化算法从所述历史条件判断规则中选择所述条件判断规则集合。
11.根据本公开的又一方面,还提供了一种计算机设备。该计算机设备包括处理器和存储器。存储器上存储有计算机程序,所述计算机程序在被所述处理器执行时实现如上所述的调整方法的各个步骤。
12.根据本公开的再一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面的物料序列的调整方法的各步骤。
13.根据本公开的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前面的物料序列的调整方法的各步骤。
14.基于上述本公开的各方面,通过在用户侧配置排序策略,使得能够利用行业专家或者资深人士的智慧和想法来实时对物料进行排序。此外,采用格式化配置方式,使得在用
户侧的配置更方便。同时,根据在用户侧配置的条件判断规则集合,基于每个条件判断规则生成的判断结果来进行序列调整,无需人为干扰。基于物料对来配置各种判断过程的方式比较方便于计算机实现。通过设置冗余存储手段,可以实现条件判断规则集合的在线热更新,从而可以节省时间成本。最后,还可以针对不同的场景,利用随机优化算法从已经配置过的多种条件判断规则中选择最优条件判断规则集合,完善了物料序列调整的性能。
附图说明
15.图1示出了根据本公开实施例的物料序列的调整方法的示意流程图。
16.图2示出了根据本公开实施例的物料序列的调整方法的另一示意流程图。
17.图3示出了根据本公开实施例的用于判断是否存在颜色三连珠情况的条件判断规则的配置文件示例以及对应的流程图。
18.图4示出了根据本公开实施例的实现条件判断规则集合的在线热更新方案的示意图。
19.图5a

5c示出了根据本公开实施例的物料序列的调整装置的结构框图。
20.图6a

6b示出了根据本公开实施例的计算机设备的结构框图。
具体实施方式
21.为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
22.在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
23.大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。大数据的用法倾向于预测分析、用户行为分析或某些其他高级数据分析方法的使用等。
24.如前面所述,对于物料排序,现有的流行策略都严重依赖大数据,但是对于中小微企业的b端客户而言,他们并不具备这样的大数据资源,并且在商品(物料)量级和用户量级上都和大平台相聚甚远,因此无法通过大数据来训练算法模型来对他们自己的商品的物料序列进行调整。此外,即使他们自身在行业当中储备了许多先进靠谱的经验,却苦于无法方便且实时地施展,作用于物料序列的调整当中。
25.存在为这些b端客户(后文有时也称为企业用户、商家)进行能力输出的tob产业链,该tob产业链以企业客户为中心,包括多种模式,其中一种最常见的模式包括:这些b端客户的产品通过线上交易平台,售卖给个人用户。在向个人用户呈现的过程中,线上交易平台会利用自身算法对各个产品(物料)进行排序(例如基于根据大数据而确定的个人用户的偏好)。
26.现有的物料序列调整技术和方法至少存在下述问题:
27.·
对b端客户不友好,无法很好的支持b端客户自主地、自定义地干预展示页面的
物料序列。
28.·
b端客户设计的排序调整方案无法直接上线到系统中,需要提交给平台的研发人员开发而后上线,大大增加了b端客户的时间成本、降低了b端客户对环境热点的快速反应能力。而当前流行的平台的推荐系统当中对用户历史行为的分析虽然能够准确地把握用户喜好,但是对于突发的环境热点也是束手无策,因为没有对应的数据,此时就需要一线的行业专家和运营人人为干预,如果还要经过漫长的研发流程必然错失良机。
29.·
因为b端客户无法自定义物料排序序列或者虽然可以自定义,但是支持的规则种类有限,且可编辑的能力的不高。这极大限制了b端客户运营人员或行业专家们自身的创造力和行业经验的发掘和使用。
30.例如,对于某个商家的各个商品,线上交易平台通过内部算法可能按照买家的偏好和/或销量、上市时间的降序等因素而将这些商品进行排序以呈现给买家,但是,商家可能发现在最近的一两周某一类型的产品有流行的趋势并可能在后期大爆,因此,目前的排序方案可能并不是商家想要的,商家可能希望尽早将该序列中已有的这一类型的产品、或者新上的这一类型产品排到序列的前面,以增加曝光从而抢得市场,然而,通过目前的技术,商家可能无法迅速地调整序列,或者序列调整的方式有限无法满足当前需求,或者自身并不具备调整序列的能力。
31.因此,需要一种对物料序列进行调整的方法,使得b端客户可以自主地、方便地、无需二次研发上线就达到干预、调整现行物料序列的目的,从而节约时间成本,同时也赋予b端客户自主更新物料序列的能力,激发b端客户主观能动性和创造力。
32.据此,本公开提出了一种对物料序列进行调整的方法、装置和计算机程序产品,通过在用户侧(例如,企业用户侧)配置排序策略(条件判断规则集合),使得能够利用行业专家或者资深人士的智慧和想法来实时对物料进行排序。此外,采用格式化配置方式(例如,格式化的配置语言或格式化的配置界面),使得在用户侧的配置更方便。同时,根据在用户侧配置的条件判断规则集合,基于每个条件判断规则生成的判断结果来进行序列调整,无需人为干扰。此外,如后文所描述的,本公开的实施例中,对物料序列的调整通常涉及到比较过程,例如各个物料的特定特征数据之间的比较、物料的特定特征数据与阈值的比较等等,这些比较都可以通过针对物料对的配置来实现,并且基于物料对来配置各种判断过程的方式比较方便于计算机实现,因此,在本公开的方案中,在配置条件判断规则时基于物料对来进行配置。通过设置冗余存储手段,可以实现条件判断规则集合的在线热更新,从而可以节省时间成本。最后,还可以针对不同的场景,利用随机优化算法从已经配置过的多种条件判断规则中选择适合的最优条件判断规则集合,完善了物料序列调整的性能。
33.根据本公开的一方面,提供了一种物料序列的调整方法。
34.图1示出了根据本公开实施例的物料序列的调整方法100。
35.在步骤s110中,获取待调整的物料序列,其中,所述物料序列具有多个位置并且包括分别在多个位置处的多个物料,每个物料具有特征数据。
36.例如,物料序列可以是指电子商务的商品列表中的商品序列、搜索引擎的信息检索列表中的信息检索项序列、以及视频网站长短视频列表中的视频序列等,这些物料序列都是有序的。
37.例如,该物料序列可以是平台基于大数据(例如,根据个人用户偏好、搜索历史等)
而确定的有序序列,从而针对每个个人用户呈现的物料序列中的物料可以不同的。
38.可选地,物料一般都具有各种属性,例如针对商品的商品型号、商品上市时间、商品颜色等等,针对视频的视频时长、视频创作者等,针对信息检索列表的信息发布时间、信息发布者类型等等,在本公开中,物料的特征数据可以被理解为一个特征数据集合,用于指代各个属性以及各自对应的属性值。
39.在步骤s120中,获取条件判断规则集合,其中,条件判断规则集合是由用户配置得到的。
40.可选地,根据b端客户(商家、搜素引擎、视频运营者等企业用户)期望的排序目标,可以配置一个或多个条件判断规则作为条件判断规则集合。例如,视频网站运营者的排序目标1是某一类型的视频往前排,排序目标2是连续的三个视频不要来自同一创作者,因此可以由视频运营者配置两个条件判断规则,并基于这两个条件判断规则来对视频序列进行调整。
41.在一些实施方式中,配置过程是离线的,新配置的条件判断规则与历史上配置好的各个条件判断规则作为规则的资源池,基于例如随机优化算法来从资源池中选择最优的条件判断规则集合。
42.可选地,每个条件判断规则由企业用户在用户侧采用格式化配置的方式配置的一个配置文件限定。所述格式化配置方式可以为格式化配置语言、或格式化配置界面。例如,格式化配置语言可以是yaml文件形式,也可以是诸如xml文件或者hdfs的其他格式。例如,格式化配置方式可以包括用于物料对配置(例如如后文所述的物料对判断条件、物料对判断条件的数量、不同物料对判断条件之间的关系等)的配置字段。例如,格式化配置界面可以包括用于指定物料对配置(例如物料对判断条件、物料对判断条件的数量、不同物料对判断条件之间的关系)的配置字段的界面框。
43.此外,如前面所述,物料对的配置更有利于物料序列的调整的计算机实现,因此在配置文件中,基于物料对来进行条件判断规则的配置。每个配置文件限定一个条件判断规则,下面对条件判断规则的内容进行介绍。
44.每个条件判断规则可以包括特定数量的物料对判断条件以及基于各个物料对判断条件的判断结果生成该条件判断规则的综合判断结果的生成方式。
45.每个条件判断规则里包括的物料对判断条件的特定数量可以根据排序目标来进行选择。例如,如果排序目标是使商品序列中不存在颜色相同的连续三个商品(即,避免颜色的三连珠),那么可以将当前位置的商品的颜色与前一个位置的商品的颜色、前两个位置的商品的颜色进行比较,如果均相等的情况下,则需要对当前位置的商品进行调整,在这种情况下,条件判断规则里包括两个商品对(物料对),即当前位置和前一个位置的商品算一个商品对,当前位置与前两个位置的商品算一个商品对。
46.此外,每个条件判断规则里包括的、基于各个物料对判断条件的判断结果生成综合判断结果的生成方式可以为逻辑运算,例如,“与运算”或者“或运算”,或者根据实际的排序目标而配置的其他生成方式。例如,在上述避免商品的颜色三连珠的情况下,仅在两个商品对中各自的两个商品的颜色都相同,才被确定存在颜色三连珠的情况,假设当两个商品对中各自的两个商品的颜色都相同时商品对判断条件的判断结果为1,则需要对两个商品对判断条件的判断结果进行“与运算”,并且在“与运算”结果为1的情况下,认为存在颜色三
连珠的情况。
47.更具体地,每个物料对判断条件可以包括:当前位置关联位置的指示信息、判断用特征数据的数据信息、以及用于生成判断结果的针对物料对的判断方式。
48.可选地,物料对判断条件中的当前位置关联位置的指示信息可以为相对于当前位置的偏移量的两个数值,比如,指示信息为1和2可以指示物料对中的一个物料的位置为当前位置后一个位置且另一个物料的位置为当前位置后两个位置,或者指示信息可以为相对于当前位置的偏移量的一个数值和物料对中的两个位置之间的偏移量的一个数值的组合,比如,指示信息为

2和

1可以指示物料对中的一个物料的位置为当前位置前一个位置以及另一个物料的位置为相对于当前位置前一个位置向前偏移两个位置的位置,即当前位置前三个位置。另外,物料对的指示信息也可以仅指示当前位置,即当前位置相关位置可以是当前位置自身,例如,指示信息可以为0和0,这种情况多存在于对当前位置处的物料本身的特征数据(例如,诸如颜色、型号等的属性和属性值)进行判断的情况。当然,指示信息可以具有其他形式,只要能够清楚地指示物料对判断条件中涉及的当前位置相关位置即可。
49.可选地,物料对判断条件中的判断用特征数据的数据信息可以包括特征字段。例如,如果要用商品的颜色的特征数据进行判断,则该特征字段可以为“color(颜色)”。此外,数据信息还可以包括该特征字段的基准值。例如,如果需要判断商品的颜色是否为红色,则该基准值可以为“red(红色)”,即,可以将当前位置的商品的颜色的特征字段的值与该基准值红色进行比较,如果相等,则确定当前位置商品的颜色为红色。
50.可选地,物料对判断条件中的针对物料对的判断方式可以包括以下方式之一:方式a,判断物料对中的物料是否存在于预设数据源中;方式b,判断物料对中的两个物料的判断用特征数据是否都与阈值相等或者物料对中的两个物料的判断用特征数据是否相等;方式c,判断物料对中的两个物料的判断用特征数据是否小于或是否大于阈值;以及方式d,判断物料对中的两个物料的判断用特征数据的差的绝对值是否小于或是否大于阈值。
51.其中,预设数据源可以为外部的数据源,用于提供完成判断条件所需的额外数据,可以将这些额外数据以列表的形式写在配置文件里。例如,仍然以商品序列为例,如果商户的商品众多,商户想确定商品序列中的商品是否存在于其想上架的一系列商品(以列表形式作为预设数据源)之中,因此可以将商品序列中的各个位置的商品与预设数据源进行比较,以确定想要上架的一个或多个商品是否已存在于当前的商品序列中。此时,物料对中的当前位置关联位置即为当前位置自身,即判断当前位置处的物料是否存在于预设数据源中。当然,也可以根据实际的排序目标而配置其他的判断方式或与其他判断方式结合。
52.可选地,同一个条件判断规则中的各个物料对判断条件所针对的判断用特征数据可以不同。例如,如果要对当前位置的商品是否是“红色大衣”进行判断时,可以设置一个条件判断规则并在其中包括两个物料对判断条件,其中一个物料对判断条件针对颜色的特征数据进行判断,另一个物料对判断条件针对衣服类型的特征数据进行判断,并将两个物料对判断条件的判断结果进行逻辑运算(例如,“与运算”)而确定当前位置处的商品是否是红色大衣。
53.此外,每个条件判断规则还包括当前位置处的物料的调整方式以及后续操作模式,用于指示在需要对当前位置处的物料进行调整时应该如何进行调整以及调整之后进行什么操作。
54.在步骤s130中,对于物料序列中的至少一部分位置,按照在物料序列中的位置顺序,执行:i.利用条件判断规则集合中的各个条件判断规则依次对在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,其中,每个条件判断规则指示当前位置关联位置,以及ii.对于每个条件判断规则,基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。
55.例如,在某些场景下,可能只需要对物料序列的部分位置处的物料进行调整,例如对于视频序列,可能仅需要对视频序列中呈现在首页的前二十个位置的视频进行调整,以尽可能呈现可能高点击率的视频;再例如,在需要将当前位置的商品和前面的n个(n为大于等于1的整数)商品的某个特征数据进行比较才能确定是否需要对当前位置的商品进行调整的情况下,步骤s130是在商品序列的第n 1个位置处开始往下执行的。
56.下面结合图2来对物料序列的调整方法进行进一步的描述,特别是针对步骤s130。
57.图2示出了根据本公开实施例的物料序列的调整方法的另一示意图。
58.如图2所示,图1中的步骤s130中的操作i可以包括以下各子步骤。
59.在操作i中,针对物料列表中的至少一部分位置,例如从所针对的第一个位置开始,利用条件判断规则集合(一个或多个条件判断规则)中的各条件判断规则依次判断放置在当前位置处的物料是否合适,并且在某个条件判断规则判断出当前位置处的物料不合适时,需要对当前位置处的物料进行调整。下面的各个子步骤可以为例如正对放置在第n个位置处的物料进行判断时进行的操作,前面第n

1个位置处的物料已经调整好或不需要进行调整。
60.在子步骤s1301中,针对当前条件判断规则,基于包括的各个指示信息以及各个数据信息获取当前条件判断规则包括的各个物料对的物料的判断用特征数据。
61.例如,如果当前条件判断规则中包括的指示信息(实际为各个物料对判断条件中的指示信息)指示当前位置相关位置为当前位置的前一个以及前两个相邻位置,并且数据信息指示获取物料的颜色数据(实际为各个物料对判断条件中的数据信息),则首先获取当前位置、前一个相邻位置、以及前两个相邻位置处的物料的颜色数据,作为判断用特征数据。
62.在步骤s1302中,根据当前条件判断规则包括的各个物料对判断条件中各自包括的判断方式,对各自的判断用特征数据进行判断,得到各个物料对判断条件的各个判断结果。
63.例如,假设当前条件判断规则中包括两个物料对,则基于每个物料对中的判断方式对子步骤s1301中获取的对应的物料对中的物料的特征数据进行判断,例如每个物料对中的两个物料的颜色是否相等,而得到两个判断结果。
64.在步骤s1303中,根据当前条件判断规则包括的生成方式,基于各个判断结果得到针对当前条件判断规则的综合判断结果。
65.例如,如果生成方式为“与运算”,那么在步骤s1302中获得的两个判断结果均为相等(例如,用1表示)的情况下,则可以确定综合判断结果为1,即存在连续三个物料的颜色相同的情况。当然,生成方式可以为其他逻辑运算,并且可以用0表示每个物料对判断条件的指示“相等”的判断结果,只需合理设计相互之间的逻辑关系,符合排序目标即可。
66.如图2所示,图1中的步骤s130中的操作ii可以包括以下各子步骤。
67.在操作ii中,在对当前位置处的物料是否合适进行判断的过程中(例如当前位置为第n个位置,前n

1个位置已经调整好或都满足排序目标),在针对当前条件判断规则的综合判断结果有效的情况下,基于当前条件判断规则对放置在当前位置处的物料进行调整。这里的有效可以用0或1来指示,具体根据排序目标以及条件判断规则中包括的物料对判断条件以及生成方式而确定,因为如前面所述,对于当前条件判断规则,综合判断结果可以基于各个物料对判断条件的判断结果经过“或运算”或者“与运算”而生成,而每个物料对判断条件的判断结果均为“是”或“否”(可以通过二进制1和0来进行表示)两种结果。
68.可选地,针对当前条件判断规则的综合判断结果有效则表示需要对当前位置处的物料进行调整。例如,如果用于判断商品颜色的三连珠情况的条件判断规则的综合判断结果有效(例如为1),则表示当前位置的商品与前两个位置的商品的颜色相同,因此需要将它们打散,即需要对当前位置的商品进行调整(一般仅对当前位置处的物料进行调整,以简化过程)。
69.在子步骤s1304中,利用当前条件判断规则中包括的调整方式对放置在当前位置处的物料进行一次调整。
70.例如,当前位置处的物料的调整方式包括以下各项之一:将放置在当前位置处的物料与放置在物料序列的其他位置处的物料交换位置;在当前位置处插入另一物料,另一物料为来自外部数据源待添加到物料列表的新的物料或者其他位置处的物料;以及删除放置在当前位置处的物料。
71.在子步骤s1305中,在对放置在当前位置处的物料进行一次调整之后,基于当前条件判断规则中包括的后续操作模式而利用所述条件判断规则集合对当前位置处的物料进行进一步调整或者停止对当前位置处的物料的调整。
72.例如,在对放置在当前位置处的物料进行一次调整之后,可以立即中止对当前位置处的物料的进一步调整,或者也可以判断当前位置的调整后的物料是否满足当前条件判断规则,如果所述条件判断规则集合包括多个条件判断规则,则还可以判断当前位置的调整后的物料是否满足所有条件判断规则。在一次调整之后具体怎么进行接下来的操作可以通过当前条件判断规则中包括的后续操作模式来确定,例如,根据不同的排序目标而可以在条件判断规则中包括不同的后续操作模式,后续操作模式可以包括:中止操作模式(当前位置的该次调整结束后,直接跳到下一个位置继续从头执行所有条件判断,例如排序目标是互换位置);继续执行模式(当前位置的该次调整结束后,重头利用所有的条件判断规则判断当前位置调整后的物料是否满足所有条件判断规则);重复执行模式(当前位置的该次调整结束后,仅重复执行当前条件判断规则以确定当前位置调整后的物料是否满足当前条件判断规则,例如当前条件判断规则的优先级较高,仅需满足该条件判断规则即可)。
73.因此,对应地,子步骤s1305可以具体包括:1)停止对放置在当前位置处的调整后的物料的进一步调整,并对下一个位置处的物料进行判断和调整操作,即依次利用条件判断规则集合中的各个条件判断规则对放置在下一个位置处的物料、和下一个位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,以确定是否对在下一个位置处的物料进行调整,即得到针对每个条件判断规则的综合判断结果,以基于针对每个条件判断规则的综合判断结果确定是否对放置在下一个位置处的物料进行调整;或者2)重
新对放置在当前位置处的调整后的物料进行相同操作,即依次利用条件判断规则集合中的各个条件判断规则对放置在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,以确定是否对在当前位置处的调整后的物料进行进一步调整,即基于针对每个条件判断规则的综合判断结果确定是否对放置在当前位置处的调整后的物料进行进一步调整;或者3)重新利用当前条件判断规则对放置在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据判断用特征数据进行判断,以确定是否对在当前位置处的调整后的物料进行进一步调整,即得到针对当前条件判断规则的更新的综合判断结果,以基于针对当前条件判断规则的更新的综合判断结果确定是否对放置在当前位置处的调整后的物料进行进一步调整。
74.此外,在操作ii中,在对当前位置处的物料是否合适进行判断的过程中(例如当前位置为第n个位置,前n

1个位置已经调整好或都满足排序目标),在针对当前条件判断规则的综合判断结果无效的情况下,操作ii还可以包括以下子步骤。
75.在子步骤s1306中,不对放置在当前位置处的物料进行调整。
76.即,针对当前条件判断规则,当前位置处的物料是合适的,因此此时无需进行调整。
77.在步骤s1307,基于所述条件判断规则集合中的下一个条件判断规则对在当前位置处的物料、和下一个条件判断规则中指示的当前位置关联位置处的物料中的至少一者的特征数据中要用于判断的选定特征数据进行判断,以确定是否对在当前位置处的调整后的物料进行调整,直到已经利用所有条件判断规则进行了判断或者针对某个条件判断规则确定要对在当前位置处的物料进行调整。
78.即,先得到针对该下一个条件判断规则的综合判断结果,并基于针对该下一个条件判断规则的综合判断结果而确定是否对放置在当前位置处的物料进行调整。
79.例如,基于当前条件判断规则判断出当前位置处的物料合适的,因此利用下一个条件判断规则来继续对当前位置处的物料进行判断,以判断针对下一个条件判断规则,当前位置处的物料是否仍是合适的。
80.同样的,针对下一个条件判断规则(变为当前条件判断规则)的综合判断结果也可能是有效或无效的,如果该综合判断结果是无效的,则说明针对下一个条件判断规则,当前位置处的物料也是合适的,因此也不需要调整,再继续利用下下个条件判断规则对当前位置处的物料进行判断,以此类推。如果直到最后一个条件判断规则,针对最后一个条件判断规则的综合判断结果仍然无效,则确定当前位置不再需要调整,然后开始利用条件判断规则集合针对下一个位置处的物料进行同样的判断和调整过程。或者,如果针对下一个条件判断规则的综合判断结果是有效的,则基于该下一个条件判断规则对当前位置处的物料进行调整,例如执行子步骤s1304

1305的操作。
81.通过采用参考图1

2所描述的物料序列的调整方法,使得企业用户能够自行地实时地对物料进行排序。同时,根据在用户侧配置的条件判断规则集合,基于每个条件判断规则生成的判断结果来进行序列调整,无需人为干扰。此外,基于物料对判断条件来配置条件判断规则比较方便于计算机实现。
82.上面参考图1

2所描述的物料序列的调整方法可以由计算机执行(例如,解析)配
置文件组合(每个配置文件对应一个条件判断规则)来实现。为了更清楚地解释本公开的条件判断规则的配置方式,下面以一个配置文件的具体内容来示例性地进行说明。
83.图3示出了用于判断是否存在颜色三连珠情况的条件判断规则的配置文件示例以及对应的流程图。
84.如图3右侧部分所示,数量(num)表示组成整个条件判断规则的物料对判断条件的预设数量。如前面分析,三连珠的判断需要用到两个物料对判断条件,因此这里num为2。
85.逻辑关系(relation)表示基于各个物料对判断条件的判断结果生成该条件判断规则的综合判断结果的生成方式。如前面分析,在对三连珠的情况进行判断时需要采用各个物料对判断条件的判断结果的“与运算”结果,因此这里relation对应的内容应为“and”。
86.接下来,针对两个物料对中的每个物料对(item

pair),对物料对判断条件进行如下配置:首先,需要对每个物料对进行命名,例如为了简单、方便,可以如图所示按照“name” index的形式生成物料对的名称,但是这仅仅是示例性的,也可以采用其他命名方式。a和b对应当前位置关联位置,b是相对于当前物料位置的偏移量,a是相对于b的偏移量,即a位置处的物料和b位置处的物料共同组成一个物料对。在对三连珠的情况进行判断时,如前面分析的,需要将当前位置处的物料和前一个、前两个位置处的物料(的特征数据,例如颜色)分别组成两个物料对,以各自进行比较,因此这里在一个物料对判断条件中,b应为0以指示当前位置,同时a取值为

1以指示b的位置(当前位置)的前一个位置,并且在另一个物料对判断条件中,b应为0以指示当前位置,同时a取值为

2以指示b的位置(当前位置)的前二个位置。c和d可以被视为判断用特征数据的数据信息。c是物料对中的物料为了进行判断应被选取的特征数据的特征字段,例如,可以为color(颜色),以指示提取各个物料的颜色的特征数据来进行判断。d可以指示特征字段对应的基准值,用于与特征字段对应的特征数据进行比较,而在对三连珠的情况进行判断时,d可以为空,因为只需要各个物料的相同类型的特征数据相互之间的比较,因此不需要设置基准值。数据源(data_source)是完成判断条件所需的额外数据,可以以列表(list[string])的形式直接写在配置文件里,例如有些判断方式可能需要判断当前位置处的物料是否存在于该数据源中,在对三连珠的情况进行判断时,无需该数据源,因此data_source也可以为空。也就是说,c、d和data_source共同决定了物料对条件判断的判断过程依据的所有数据。
[0087]
物料对判断条件还可以包括反向信息(reverse)字段,reverse字段的值表示对应的物料对判断条件的如下所述的判断方式的判断结果的逻辑值是否反转(即,如果reverse为1,则反转,并且如果reverse为0,则不需要反转)。
[0088]
物料对判断条件还可以包括判断方式(judge),如前面所述的,根据具体的排序目标,本公开的实施例可以采用以下四种方式之一:
[0089]
a.物料对中的物料是否存在于数据源(data_source)的判断,这基于调用exist_func函数来实现,此时要求a=0,同时配合reverse字段可以实现不存在的判断;
[0090]
b.判断物料对中的两个物料的判断用特征数据是否都与阈值相等或者物料对中的两个物料的判断用特征数据是否相等,这基于调用equal_func函数来实现,并且d不为空时,判断物料对中的两个物料的判断用特征数据是否都与d相等,当d为空时,则物料对中的两个物料的判断用特征数据是否相等,此外也可以比较配合reverse字段可以实现不等的判断;
[0091]
c.判断物料对中的两个物料的判断用特征数据是否小于阈值或是否大于阈值,这基于调用comp_func函数来实现,其中,这是针对a等于0的情况,即物料对中的两个物料为同一个物料,如果comp_func函数默认是执行判断该物料的用于判断的特征数据的值是否大于阈值的判断,配合reverse字段可以实现其是否小于等于阈值的判断,阈值仍然用d来进行指示;此外,如果需要执行是否小于阈值的判断,可以通过在阈值减去一个极小值得到实现,譬如判断是否小于100,可以通过设置阈值为100

1e
‑7,通过调用comp_func函数来判断是否大于(100

e
‑7),通过reverse字段则可以实现其是否小于等于(100

e
‑7),如果满足小于等于(100

e
‑7),则必然满足小于100;此外,对于区间判断,可以对阈值分桶后转化为基于调用equal_func函数的判断等;
[0092]
d.判断物料对中的两个物料的判断用特征数据的差的绝对值是否小于或是否大于阈值,这也基于调用comp_func函数来实现,其中,这是针对a不等于0的情况,即物料对中的两个物料为两个不同物料,如果判断默认是执行是否大于阈值的判断,即判断一个物料的判断用特征数据的值是否大于另一个物料的判断用特征数据的值加上阈值,配合reverse字段可以实现相反大小关系的判断,且阈值仍然用d来进行指示。
[0093]
在对三连珠的情况进行判断时,仅需要执行是否相等的判断,即选择判断方式b,因此在judge字段指定的内容处示出调用的是equal_func函数,且d为空。
[0094]
条件判断规则的配置文件中还可以包括调整方式(implement),该调整方式是指在基于物料对判断条件的判断结果生成的综合判断结果为有效(存在三连珠)的情况下,针对当前位置处的物料进行调整。如前面所述,调整方式也可以包括三种:a.插入操作(基于调用insert_func函数来实现);b.删除操作(基于调用del_func函数来实现);c.移动操作(基于move_func函数来实现,本质是两个不同位置处的物料相互交换位置)。
[0095]
在针对三连珠的情况进行调整时,可以选择调整方式c,即将当前位置处的物料与其他位置处的物料进行对调。例如,在move_func函数中,可以设计在移动时将当前位置处的物料向下移动n个单位,与对应位置处的物料做一个位置交换,如果当前位置的交换后的物料仍然不满足条件判断规则集合(例如从第一个条件判断规则开始利用条件判断规则集合对当前位置的交换后的物料进行判断),则恢复交换之前的物料,再将当前位置处的物料向下移动n 1个单位,继续同样的操作,但是这部分调整细节仅仅是示例,也可以设计其他调整方式的函数。
[0096]
条件判断规则的配置文件中还可以包括后续操作模式(next_step),后续操作模式是指在进行调整之后接下来需要执行的操作的模式。如前面所述,后续操作模式可以包括三种:a.中止操作(基于调用break函数来实现,当前位置处的物料调整结束,直接跳到下一个位置继续重新基于所有的条件判断规则进行判断并调整);b.继续执行(基于调用move_on函数来实现,指基于当前条件判断规则进行调整后,重新基于所有的条件判断规则进行判断并调整);c.重复执行(基于调用repeat函数来实现,指仅重复执行当前的条件判断规则)。
[0097]
在对三连珠的情况进行判断时,可以选择模式b,基于当前条件判断规则对当前位置处的物料进行调整后,重新基于所有的条件判断规则进行判断并调整。当然,也可以选择其他两种模式。
[0098]
上述内容对图3中的配置文件示例的详细描述,下面简单介绍执行该配置文件(一
个条件判断规则)时实现的操作对应的流程图。
[0099]
如图3左侧部分所示,第一区域(z1)示出的操作对应于确定物料对判断条件的数量(num)和基于各个物料对判断条件的判断结果生成综合判断结果的生成方式(relation)。
[0100]
第二区域(z2)示出的操作对应于执行该条件判断规则中的各个物料对判断条件,以得到对应的各个判断结果。
[0101]
第三区域(z3)示出的操作对应于基于各个物料对判断条件的判断结果生成综合判断结果,并基于该综合判断结果执行对当前位置处的物料的调整操作。
[0102]
第四区域(z4)示出的操作对应于在针对该配置文件配置的条件判断规则对当前位置处的物料的调整操作之后,执行后续操作。
[0103]
由上可知,通过图3所示的配置文件,可以采用格式化的配置语言来配置每个条件判断规则,使得在用户侧的配置更方便。
[0104]
下面以三种具体的场景来对本公开的上述实施例进行示例性说明,以帮助对其的理解。
[0105]
第一种场景为商品序列调整的情况,针对此场景设计的调整目标是将商品的颜色打散,具体地,相同颜色(例如,红色)的商品不会出现三连珠。该场景前面已经作为示例进行过解释,例如可以首先确定当前位置的商品与前一个位置的商品的颜色是否相等、当前位置的商品与前两个位置的商品的颜色是否相等,如果两个结果都是相等,则说明出现了三连珠的情况,因此需要对放置在这三个位置处的商品的序列进行调整(为了简单处理,一般是对放置在当前位置的商品进行调整)。具体的条件判断规则以及对应的判断和调整过程已经在前文描述,因此这里省略对该场景下的序列调整的进一步描述。
[0106]
第二种场景是视频序列调整的情况,例如,网站的运营者发现一个中文的自然景观的视频比较火,因此视频网站的运营者可能希望将已经存在的各种语言的自然景观中的视频序列(例如,可能根据播放时长的有序序列)中涉及中文的自然景观的视频尽可能往前排从而提升点击率。在这种情况下,针对此场景设计的调整目标是中文的自然景观排在视频序列的前面。可以从第一个位置开始,确定每个位置处放置的视频的是否是中文的自然景观的视频,如果是,则不需要对该位置的视频进行调整,反之,则对该位置的视频进行调整。此外,如果针对在其处放置的视频不是中文的自然景观的视频的一个位置,经过了预设次数的调整,仍然无法将中文的自然景观放置在其处,可以认为该视频序列中的所有的中文的自然景观视频均已排在该位置的前面的位置,从而可以终止对视频序列的调整。或者,考虑到视频网站的多元化以及不同受众,可能只期望在前二十个位置处放置中文的自然景观的视频,因此可以只针对前二十个位置处的视频进行调整,这些都可以通过程序来实现,本公开对此不做限制。
[0107]
根据如上的视频序列的调整方法,可以如下设置一个条件判断规则:设置两个视频对(表示为name1,name2),均为(当前位置的视频,当前位置的视频),一个用于判断当前位置的视频是否是中文的视频,一个用于判断当前位置的视频是否是自然景观相关视频,两者针对同一个当前位置的视频来进行判断;第一个视频对的条件判断规则中包括以下内容:视频对中的视频相对于当前位置的位置偏移(表示为(a,b),本场景中是对当前位置的视频的特定特征数据进行判断,因此该视频对中的视频位置可以表示为(x,x),x为当前位
置;判断用特征数据的数据信息(表示为c,例如,视频语言的特征字段,用于指示视频对中的视频的特征数据中要用于判断的是视频语言这个特征数据);阈值(表示为d,用于指示作为要用于判断的基准语言是中文);判断方式(表示为judge,本场景中是判断当前位置的视频的语言是否与基准语言相等,因此视频对中的判断方式可以为“是否相等”);同样的,第二个视频对的条件判断中包括以下内容:视频对中的视频相对于当前位置的位置偏移(也可以表示为(0,0));判断用特征数据的数据信息(表示为c,例如,景观类型的特征字段,用于指示视频对中的视频的特征数据中要用于判断的是景观类型这个特征数据);阈值(表示为d,用于指示作为要用于判断的基准景观类型的是自然景观);判断方式(表示为judge,本场景中是判断当前位置的视频的景观类型是否与基准景观类型相等,因此视频对中的判断方式可以为“是否相等”)。
[0108]
此外,在两个视频对判断条件的判断结果均为“相等”的情况下,才认为当前位置的视频是中文的自然景观视频,因此不需要进行调整,反之,则需要进行调整。因此,该条件判断规则还需要包括基于视频对的判断结果生成综合判断结果的生成方式,本场景中为“与运算”。
[0109]
进一步地,如果当前位置处的视频是中文的自然景观视频,则两个视频对的判断结果均为“相等”,则此时开始针对下一个位置的视频进行同样的判断以及可能的调整过程(两个视频对的判断结果之一不为“相等”的情况下进行调整)。
[0110]
如果当前位置处的视频不是中文的自然景观视频,则可以按照以下方式对放置在当前位置处的视频进行调整:将当前位置处的视频与预设数量(例如二十个位置)个位置之后的其他位置处的视频相互交换位置。
[0111]
在对放置在当前位置处的视频进行上述调整之后,需要判断当前位置调整后的视频是否使条件判断规则成立,如果不成立就说明仍然不是中文的自然景观视频,因此还需要进一步调整。因此,在对放置在当前位置的视频进行上述调整之后,可以进行以下操作:利用条件判断规则判断当前位置的调整后的视频是否是中文的自然景观视频,如果不是,则还原该次调整前的各位置的视频,并将当前位置的视频与另一预设数量个位置(例如二十一个位置)之后的位置处的视频进行互换,重复该操作,直到当前位置处的视频为中文的自然景观视频。
[0112]
然后类似地开始对下一个位置处的视频利用条件判断规则判断其是否是中文的自然景观视频,直到针对在其处放置的视频不是中文的自然景观的视频的一个位置,经过了预设次数的调整,仍然无法将中文的自然景观视频放置在其处,或者前预设数量的位置处的视频均为中文的自然景观视频。
[0113]
以上均是针对条件判断规则集合中只有一个条件判断规则的情况的场景,下面以条件判断规则集合中有两个条件判断规则的情况进行示例性描述。
[0114]
第三种场景仍然是视频序列场景,只是视频运营者期望将中文的自然景观视频往前排,并且连续的三个中文的自然景观视频不是同一个地区。这种情况下,基于前面同样的原理,可以设计两个条件判断规则。由于用于n连珠(该场景中为n=3)的条件判断规则一般从物料序列的第n个位置处才开始进行判断,因此为了使前n

1个位置处的视频能够为中文的自然景观视频,因此可以先判断视频是否是中文的自然景观视频,再判断是否与前面的视频形成n连珠,同时,针对前n

1个位置只利用第一个条件判断规则进行判断和调整,并且
从第n个位置开始才利用两个条件判断规则来进行判断和调整。
[0115]
第一个条件判断规则可以与前面第二种场景中的将中文的自然景观视频尽可能地往前放置而设计的规则相同,第二个条件判断规则可以与前面第一种场景中的避免商品三连珠而设计的规则相同,因此不再对每个条件判断规则内的物料对的具体配置进行详细描述。
[0116]
在这种情况下,首先针对放置在当前位置处的视频利用第一个条件判断规则判断当前位置的视频是否是中文的自然景观视频,如果是,则利用第二条件判断规则判断当前位置的视频是否与前两个位置的视频都与同一个地区相关(即是否三连珠形式),如果是(三连珠形式),则需要对放置在当前位置的视频(用第一视频表示)进行调整,例如与预设数量个(例如20个)位置之后的位置处的视频(第二视频)进行对调,则将第二视频视为暂时放置到当前位置,然后重新利用第一个条件判断规则判断暂时放置在当前位置的第二视频是否是中文的自然景观视频,如果是,则利用第二条件判断规则判断放置在当前位置的第二视频是否与前两个位置的视频都与同一个地区相关(即是否三连珠形式),如果不是(三连珠形式),则针对当前位置的视频的调整结束,即确定将第二视频放置在当前位置处,且在后续位置的视频的调整过程中也不再改变。然后开始针对放置在下一个位置的视频利用第一/二个条件判断规则进行类似的判断和调整过程。
[0117]
或者,如果重新利用第一个条件判断规则判断出暂时放置在当前位置的第二视频不是中文的自然景观视频,则说明第二视频也不适合被放置在当前位置,因此恢复此次对调前的各个位置的视频,然后将恢复后当前位置的第一视频与第三视频(例如可以为第21个位置之后的位置处的视频)进行对调,并重新利用第一个条件判断规则判断暂时放置在当前位置的第三视频是否与前两个位置的视频都与同一个地区的视频相关(即是否三连珠形式),如果不是,则针对当前位置的视频的调整结束,即确定将第三视频放置在当前位置处,且在后续位置的视频的调整过程中也不再改变。然后开始针对放置在下一个位置的视频利用第一/二个条件判断规则进行类似的判断和调整过程。
[0118]
通过参考图3以及上述各种示例场景的排序过程的描述可知,可以根据各种排序目标而通过格式化的配置语言在用户侧配置条件判断规则集合,从而用于序列调整,比较方便于计算机实现和企业用户迅速且便捷地调整序列。
[0119]
根据本公开的另一些实施方式,条件判断规则集合可能需要实时更新,例如,如果根据某种需要,商家想要立即更改自定义的条件判断规则集合。因此,本公开的实施例还提供了条件判断规则集合在线热更新的方案。这可以通过冗余存储技术来实现。
[0120]
图4示出了根据本公开实施例的实现条件判断规则集合的在线热更新方案的示意图。
[0121]
诸如b端客户的企业用户在配置配置文件组合时,一般是将配置文件组合写入存储单元中,从而在例如处理器的处理单元在需要获取条件判断规则集合时则从存储单元读取配置文件组合,并执行(例如,解析)配置文件组合而获得。
[0122]
在本公开的实施例中,在采用冗余存储技术的情况下,如图4中左侧部分所示,可以设置两个存储单元,即第一存储单元和第二存储单元,且将当前执行的配置文件组合存储这两个存储单元中,同时还会设置一个监控单元,用于监控第一存储单元和第二存储单元的状态,以监控第一存储单元和第二存储单元中是否有更新的配置文件组合。可选地,结
合图4右侧部分的流程示意图,默认例如处理器的处理单元在需要获取条件判断规则集合时从第一存储单元获取配置文件组合,例如处理单元向监控单元发送第一读取请求,然后监控单元控制第一存储单元向处理单元返回配置文件组合,并且默认用户仅能向第二存储单元写入配置文件组合(例如,用户写好的配置文件组合被保存在缓存中,进而触发第二存储单元的重写操作)。在监控单元监控到第二存储单元的状态更新(配置文件组合被写入第二存储单元)时,基于接收到第二读取请求,监控单元控制第二存储单元向处理单元返回更新的配置文件组合,并触发第二存储单元将更新的配置文件组合写入到第一存储单元中,从而覆盖第一存储单元中原有的配置文件组合。此后,监控单元又能监控到第一存储单元的状态更新,从而基于接收到第三读取请求,监控单元又能控制第一存储单元向处理单元返回更新的配置文件组合,用于后续的判断和物料序列的调整过程。
[0123]
因此,基于如图4所示的在线热更新方案,图1中的步骤s120中的获取条件判断规则集合的步骤可以包括通过发送第一读取请求从第一存储单元读取条件判断规则集合,并且,在第二存储单元被写入更新的条件判断规则集合之后且在更新的条件判断规则集合从第二存储单元写入到第一存储单元中之前,获取条件判断规则集合的步骤可以包括通过发送第二读取请求从第二存储单元获取更新的条件判断规则集合,在更新的条件判断规则集合从第二存储单元写入到第一存储单元中之后,获取条件判断规则集合的步骤可以包括通过发送第三读取请求从第一存储单元获取更新的条件判断规则集合。
[0124]
因此,通过设置冗余存储手段,可以实现条件判断规则集合的在线热更新,从而可以节省时间成本。
[0125]
根据本公开的另一些实施方式,用户可以在每次期望调整物料序列的顺序前配置新的条件判断规则集合,以仅利用新的条件判断规则集合对物料序列进行调整。此外,由于企业用户可以根据不同场景(例如针对商品新品和针对商品促销)实时地基于排序目标而自行配置条件判断规则,每次配置后的条件判断规则可以被存储,相当于存在一个资源池,并且这些条件判断规则的数量在理论上是没有限制的,只要存储单元的容量够大,因此存储单元中可能存储有大量的针对不同场景的历史条件判断规则。此时,用户可以不必重复地进行配置,而是可以例如通过随机优化算法从历史存储的历史条件判断规则中选择出针对该特定场景的最优条件判断规则集合,且将该最优的条件判断规则集合应用于前面如参考图1

2描述的物料序列的调整方法。
[0126]
一种随机优化算法的示例是采用遗传算法(ga)。例如,基于用户已经配置的n个条件判断规则随机生成初始种群,初始种群中包括m个个体,每个个体具有一个染色体,每个染色体通过以下方式随机生成。
[0127]
对已配置的n个条件判断规则进行编号(从1开始),并且对于每个染色体,随机地确定采用哪几个条件判断规则,如下表所示,各个条件判断规则对应的标志位0代表其不被采用,1代表被采用。例如,下表中示出了一个染色体,被编码为11

01。其余染色体也基于类似的方式来随机生成并编码。
[0128]
[0129]
匹配度(fitness)在遗传算法中表示染色体对环境的适应度,值越大,说明适应度越高,染色体越优良。匹配度(fitness)可以通过体现偏好的行为来得到,例如,采用物料序列所面对的观众/买家等的点击行为,例如在基于每个染色体对应的条件判断规则集合生成的物料序列中计算点击行为的map(map是一种排序指标),以map作为该染色体的匹配度(fitness)的值,越大说明对应的染色体的适应度越好,应该被保留。在随机生成的染色体包括的条件判断规则集合中可能有不能兼容的规则,在基于该条件判断规则集合调整物料时,如果针对其中的一个条件判断规则经过预设次数的调整仍无法符合该条件判断规则,则可以直接将该条件判断规则集合的匹配度(fitness)的值设置为较低水平。对ga算法中的染色体和匹配度(fitness)进行了定义,然后就可以基于m个个体构成的初始种群进行遗传算法中的各个步骤,例如,确定选择哪个作为父母、交叉、变异等,经过一定数量次数的迭代就可以进行最优化求解,得到最优的条件判断规则集合。因为ga是很传统的算法,对应算法工程人员都了解,所以本公开对此不做详细介绍。当然,其他类型的随机优化算法也是可行的,例如模拟退火算法、蚁群算法、粒子群算法等等。
[0130]
因此,基于随机优化算法,可以针对不同的场景,从已经配置过的多种条件判断规则中选择适合特定场景的最优条件判断规则集合,完善了物料序列调整的性能。
[0131]
根据本公开的另一方面,还提供了一种物料序列的调整装置。
[0132]
图5a

5c公开了一种根据本公开实施例的物料序列的调整装置700的示意性框图。
[0133]
如图5a所示,该调整装置500可以包括物料序列获取模块510、规则获取模块520以及调整模块530。
[0134]
物料序列获取模块510用于获取待调整的物料序列,其中,物料序列具有多个位置并且包括分别放置在多个位置处的多个物料,每个物料具有特征数据。
[0135]
规则获取模块520用于获取条件判断规则集合,其中,条件判断规则集合是由用户配置得到的。
[0136]
此外,规则获取模块520还可以用于针对特定场景,基于随机优化算法从用户配置的历史条件判断规则集合包括的历史条件判断规则中选择所述条件判断规则集合。
[0137]
调整模块530用于对于所述物料序列中的至少一部分位置,按照在所述物料序列中的位置顺序:利用所述条件判断规则集合中的各个条件判断规则依次对在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,其中,每个条件判断规则指示当前位置关联位置,以及基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。
[0138]
每个条件判断规则的具体内容以及配置方式与前面参考图1

2所述的内容相同,因此这里不再重复描述。
[0139]
更具体地,如图5b所示,调整模块530可以包括:特征数据获取子模块5301,用于针对当前条件判断规则,基于包括的各个指示信息以及各个数据信息获取当前条件判断规则包括的各个物料对的物料的判断用特征数据;判断子模块5302,用于根据当前条件判断规则包括的各个物料对判断条件中各自包括的判断方式,对各自的判断用特征数据进行判断,得到各个物料对判断条件的各个判断结果;以及结果生成子模块5303,用于根据当前条件判断规则包括的生成方式,基于各个判断结果得到针对当前条件判断规则的综合判断结
果。
[0140]
例如,调整模块530还可以包括调整子模块5304,用于基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。具体地,调整子模块5304在针对当前条件判断规则的综合判断结果有效的情况下:利用当前条件判断规则中包括的调整方式对放置在当前位置处的物料进行一次调整;以及在对放置在当前位置处的物料进行一次调整之后,基于当前条件判断规则中包括的后续操作模式而利用所述条件判断规则集合对当前位置处的物料进行进一步调整或者停止对当前位置处的物料的调整(基于后续操作模式的操作的具体内容与前面参考图1

2描述的内容相同,因此这里不再重复)。
[0141]
并且,调整子模块5304还用于在针对当前条件判断规则的综合判断结果无效的情况下:不对放置在当前位置处的物料进行调整;基于所述条件判断规则集合中的下一个条件判断规则对在当前位置的物料、和下一个条件判断规则中指示的当前位置关联位置处的物料中的至少一者的特征数据中要用于判断的选定特征数据进行判断,以确定是否对在当前位置处的调整后的物料进行调整,直到已经利用所有条件判断规则进行了判断或者针对某个条件判断规则确定要对在当前位置处的物料进行调整。即,先得到针对该下一个条件判断规则的综合判断结果,并基于针对该下一个条件判断规则的综合判断结果确定是否对放置在当前位置处的物料进行调整,直到所有条件判断规则都判断完毕且综合判断结果均无效或者针对某个条件判断规则的综合判断结果有效。
[0142]
此外,在一些实施方式中,该调整装置500还可以应用冗余存储技术来实现配置文件组合(条件判断规则集合)的在线热更新。
[0143]
如图5c所示,该调整装置500还可以包括第一存储单元550、第二存储单元560和监控单元570,或者第一存储单元550、第二存储单元560和监控单元550可以独立于该调整装置500而存在。第一存储单元和第二存储单元用于存储配置文件组合,并且监控单元用于监控第一存储单元和第二存储单元的状态,以监控第一存储单元和第二存储单元中是否有更新的配置文件组合。可选地,规则获取单元520一般仅从第一存储单元获取配置文件组合,例如通过向监控单元发送第一读取请求,然后监控单元控制第一存储单元向规则获取单元520返回配置文件组合,并且用户仅向第二存储单元写入配置文件组合(例如,用户写好的配置文件组合被保存在缓存中,进而触发第二存储单元的重写操作)。在监控单元监控到第二存储单元的状态更新(配置文件组合被写入第二存储单元)时,基于接收到第二读取请求,监控单元控制第二存储单元向规则获取单元520返回更新的配置文件组合,并触发第二存储单元将更新的配置文件组合写入到第一存储单元中,从而覆盖第一存储单元中原有的配置文件组合。此后,监控单元又能监控到第一存储单元的状态更新,从而基于接收到第三读取请求,监控单元又能控制第一存储单元向规则获取单元520返回更新的配置文件组合,用于后续的判断和物料序列的调整过程。
[0144]
通过根据本公开实施例的物料序列的调整装置,用户能够实时地自定义的对物料进行排序。此外,采用格式化的配置语言,使得在用户侧的配置更方便。同时,根据在用户侧配置的条件判断规则集合,基于每个条件判断规则生成的综合判断结果来进行序列调整,无需人为干扰。此外,基于物料对来配置各种判断过程的方式比较方便于计算机实现,还可以针对不同的场景,利用随机优化算法从已经配置过的多种条件判断规则中选择适合特定场景的最优条件判断规则集合,完善了物料序列调整的性能。最后,通过设置冗余存储手
段,可以实现条件判断规则集合的在线热更新,从而可以节省时间成本。
[0145]
根据本公开的又一方面,还提供了一种计算机设备。
[0146]
图6a

6b公开了一种根据本公开实施例的计算机设备的示意性框图。
[0147]
如图6a所示,计算机设备600a包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该终端的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现如前面参考图1

2描述的对物料序列进行调整的方法的各步骤中描述的各种操作。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行同样的对物料序列进行调整的方法的各步骤中描述的各种操作。
[0148]
例如,这些操作可以包括:获取待调整的物料序列,其中,物料序列具有多个位置并且包括分别在多个位置处的多个物料,每个物料具有特征数据;获取条件判断规则集合,其中,条件判断规则集合是由用户配置得到的;以及对于所述物料序列中的至少一部分位置,按照在所述物料序列中的位置顺序:利用所述条件判断规则集合中的各个条件判断规则依次对在当前位置处的物料、和当前位置关联位置处的物料中的至少一者的特征数据中的判断用特征数据进行判断,得到针对每个条件判断规则的综合判断结果,其中,每个条件判断规则指示当前位置关联位置,以及基于针对当前条件判断规则的综合判断结果,确定是否对在当前位置处的物料进行调整。
[0149]
每个条件判断规则的具体内容以及配置方式与前面参考图1

2所述的内容相同,因此这里不再重复描述。
[0150]
例如,得到每个条件判断规则的综合判断结果的操作包括:针对当前条件判断规则,基于包括的各个指示信息以及各个数据信息获取当前条件判断规则包括的各个物料对的物料的判断用特征数据;根据当前条件判断规则包括的各个物料对判断条件中各自包括的判断方式,对各自的判断用特征数据进行判断,得到各个物料对判断条件的各个判断结果;根据当前条件判断规则包括的生成方式,基于各个判断结果得到针对当前条件判断规则的综合判断结果。
[0151]
例如,在针对当前条件判断规则的综合判断结果有效的情况下,利用当前条件判断规则中包括的调整方式对放置在当前位置处的物料进行一次调整;以及在对放置在当前位置处的物料进行一次调整之后,基于当前条件判断规则中包括的后续操作模式而利用条件判断规则集合对当前位置处的物料进行进一步调整或者停止对当前位置处的物料的调整(基于后续操作模式的操作的具体内容与前面参考图1

2描述的内容相同,因此这里不再重复)。
[0152]
例如,在针对当前条件判断规则的综合判断结果无效的情况下,不对放置在当前位置处的物料进行调整;基于所述条件判断规则集合中的下一个条件判断规则对在当前位置处的物料、和下一个条件判断规则中指示的当前位置关联位置处的物料中的至少一者的特征数据中要用于判断的选定特征数据进行判断,以确定是否对在当前位置处的调整后的物料进行调整,直到已经利用所有条件判断规则进行了判断或者针对某个条件判断规则确定要对在当前位置处的物料进行调整。即,先得到针对该下一个条件判断规则的综合判断结果,并基于针对该下一个条件判断规则的综合判断结果确定是否对放置在当前位置处的物料进行调整,直到所有条件判断规则都判断完毕且综合判断结果均无效或者针对某个条
件判断规则的综合判断结果有效。
[0153]
例如,针对特定场景,基于随机优化算法从用户配置的历史条件判断规则集合包括的历史条件判断规则中选择所述条件判断规则集合。
[0154]
处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开的实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是x84架构或arm架构的。
[0155]
非易失性存储器可以是只读存储器(rom)、可编程只读存储器(prom)、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)或闪存。应注意,本公开描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
[0156]
计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是终端外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0157]
此外,本公开的实施例还基于冗余存储技术来实现配置文件组合的在线热更新。在这种情况下,如图6b所示,存储器可以包括第一存储单元和第二存储单元,或者第一存储单元和第二存储单元可以独立于存储器而存在,甚至第一存储单元和第二存储单元以及后文的监控单元可以独立于计算机设备600b而存在。计算机设备还包括监控单元,用于监控第一存储单元和第二存储单元的状态,以监控第一存储单元和第二存储单元中是否有更新的配置文件组合。第一存储单元、第二存储单元、监控单元以及处理器之间的交互与前面参考图5c描述的第一存储单元550、第二存储单元560、监控单元570以及规则获取模块520之间的交互相同,因此这里不再重复描述。
[0158]
通过根据本公开实施例的计算机设备,用户能够实时地自定义的对物料进行排序。此外,采用格式化的配置语言,使得在用户侧的配置更方便。同时,根据在用户侧配置的条件判断规则集合,基于每个条件判断规则生成的综合判断结果来进行序列调整,无需人为干扰。此外,基于物料对来配置各种判断过程的方式比较方便于计算机实现,还可以针对不同的场景,利用随机优化算法从已经配置过的多种条件判断规则中选择适合特定场景的最优条件判断规则集合,完善了物料序列调整的性能。最后,通过设置冗余存储手段,可以实现条件判断规则集合的在线热更新,从而可以节省时间成本。
[0159]
根据本公开的另一方面,还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面的物料序列的调整方法的各步骤。
[0160]
根据本公开的又一方面,还提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前面的物料序列的调整方法的各步骤。
[0161]
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而
定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0162]
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
[0163]
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献