一种在线的对象匹配方法及装置
技术领域
本申请涉及信息技术领域,尤其涉及一种在线的对象匹配方法及装置。
背景技术
在线对象匹配,是指网络服务器基于某种规则,对登录到该网络服务器上的两个或多个智能设备进行匹配,以使匹配到的各智能设备之间通过网络服务器进行数据交互。在线对象匹配的应用场景有很多,例如网络打车、在线婚恋交友、在线求职和招聘等。
在实际应用中,以网络打车为例,现有的网络打车软件也是对乘客和乘客附近的司机进行随机匹配,当网络打车软件接收到乘客对某个司机的差评(假设差评理由是该司机所驾驶的车型较破)之后,仅仅是对该司机采取了相应的惩罚措施,但当该乘客下次打车时,仍有可能被随机匹配到驾驶该车型或类似车型的的司机,一般情况,乘客基于上次的经验,往往会取消本次匹配结果,重新开始一次匹配,这会浪费服务器资源。
在其他应用领域,同样,现有在线对象匹配方法的随机机制,会促使用户在对匹配结果不满意时,取消本次匹配结果,重新开始一次匹配,导致服务器资源的浪费。
可见,如何设计一种不完全随机的在线对象匹配方法以避免服务器资源的浪费,成为本技术领域急需解决的问题。
发明内容
本申请实施例提供了一种在线的对象匹配方法及装置,用于解决现有的在线的对象匹配方法浪费服务器资源的问题。
本申请实施例提供的一种在线的对象匹配方法,包括:
接收用户发送的对象匹配请求;
根据所述对象匹配请求,随机确定至少两个备选对象;
根据预先记录的所述用户的历史特征,在各备选对象中,确定当前匹配对象;其中,所述用户的历史特征是根据所述用户与各历史匹配对象的交互结果记录的。
本申请实施例提供的一种在线的对象匹配装置,包括:
接收模块,接收用户发送的对象匹配请求;
第一确定模块,根据所述对象匹配请求,随机确定至少两个备选对象;
第二确定模块,根据预先记录的所述用户的历史特征,在各备选对象中,确定当前匹配对象;其中,所述用户的历史特征是根据所述用户与各历史匹配对象的交互结果记录的。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
在随机确定的至少两个备选对象中,根据预先记录的用户的历史特征,确定当前匹配对象,基于这种方法的在线对象的匹配机制不是完全随机的,使得用户因不满意随机匹配到的当前匹配对象而取消本次匹配结果的情况大为减少,进而节省了服务器的资源。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请实施例提供的一种在线的对象匹配方法流程图;
图2是本申请实施例提供的一种在线打车的对象匹配方法流程图;
图3是本申请实施例提供的一种在线游戏的对象匹配方法流程图;
图4是本申请实施例提供的一种在线的对象匹配装置示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下结合附图,详细说明本申请各实施例提供的技术方案。
实施例一:
图1是本申请实施例提供的一种在线的对象匹配方法流程图,包括以下步骤:
S101:接收用户发送的对象匹配请求。
在本申请实施例中,图1所示方法的执行主体可以是服务器。所述用户登录到服务器后,向服务器发送对象匹配请求。值得说明的是,除了所述用户,还包括登录到服务器的其他用户或服务器上预置的对象(如智能机器人程序、预置的名单等)。
在线对象匹配的原理是,由服务器在登录到服务器的其他用户中或预置的对象中,为所述用户确定一个或多个当前匹配对象。其中,所述当前匹配对象可以是登录到服务器的其他用户,也可以是服务器上预置的对象,还可以既包括所述其他用户也包括服务器上预置的对象。
为了方便描述,后文以在登录到服务器的其他用户中为所述用户确定一个当前匹配对象为例,但这并不构成对本申请的限制。值得说明的是,在本申请实施例中,可以是在登录到服务器,且也发送了对象匹配请求的其他用户中为所述用户确定当前匹配对象。
在本申请实施例中,所述对象匹配请求可以是携带有所述用户的标识的请求消息,也可以是携带有所述用户的标识和基本信息(如年龄、性别、等级、位置等)的请求消息。所述请求消息可以是超文本传输协议(HyperText Transfer Protocol,HTTP)请求。
在本申请实施例中,图1所示的在线的对象匹配方法可以有多种应用场景,只要是利用网络对两个以上的对象进行匹配的应用场景即可,本申请不作限制。
在本申请的一种应用场景下,如在线打车,所述用户可以是登录到打车平台服务器的打车用户,所述用户所请求匹配的当前匹配对象可以是登录到服务器的司机,也可以是服务器上预置的司机名单中的司机。所述对象匹配请求可以携带有所述用户的性别、位置、喜好等基本信息,本申请对所述用户的基本信息不作具体限制。
在本申请的其他应用场景下,如在线求职和招聘、在线婚恋交友等,本方法的技术特征可参照上述对其他应用场景的解释,不再赘述。
为了方便描述,后文以所述用户发送的对象匹配请求携带有所述打车用户的位置为例进行说明,但这不构成对本申请的限制。
S102根据所述对象匹配请求,随机确定至少两个备选对象。
在本申请实施例中,服务器可以响应于所述对象匹配请求,在登录到服务器的其他用户中,随机确定至少两个用户,作为备选对象。
也可以根据所述对象匹配请求携带的所述用户的基本信息,在登录到服务器的其他用户中,确定出若干待备选用户,然后在若干待备选用户中,随机确定至少两个待备选用户,作为备选对象。
具体而言,在在线打车的应用场景下,可以根据用户发送的对象匹配请求携带的所述用户的位置,在登录到打车平台服务器的司机中,确定与所述位置接近的至少两个司机,作为备选对象。
S103:根据预先记录的所述用户的历史特征,在各备选对象中,确定当前匹配对象。
在本申请实施例中,所述用户的历史特征是根据所述用户与各历史匹配对象的交互结果记录的。
本申请的核心思想是,通过对所述用户在历史上的基于完全随机机制的在线匹配记录进行分析,得出所述用户的历史特征,进而使得之后的在线的对象匹配过程都是基于所述历史特征的,而非完全随机。
在本申请实施例中,可以预设不同的交互结果分别对应的参考特征,根据所述用户与各历史匹配对象的交互结果,将为特定结果的交互结果所对应的参考特征确定为历史特征。
在本申请实施例中,还可以预先根据所述用户与各历史匹配对象的交互结果,确定交互结果为特定结果的历史匹配对象,作为特定对象;在确定出特定对象后,可以针对每个特定对象,确定该特定对象在历史上与所述用户进行交互时的实时特征;在确定出各特定对象的实时特征后,可以根据确定出的各特定对象的实时特征,记录所述用户的历史特征。
具体而言,所述交互结果可以是通过在线的对象匹配,匹配到一起的两个以上对象之间的交互结果,其中,所述两个以上对象包括所述用户和所述当前匹配对象。所述交互结果可以是包括正面的、负面的以及其他性质等多种可能的交互结果,而所述特定结果可以是所述多种可能的交互结果中的一种。
此外,所述交互结果可以与具体的应用场景一致,例如,在在线打车的应用场景下,所述交互结果可以是所述用户乘车后是否发表差评,所述特定结果可以是所述用户乘车后发表差评。
在本申请实施例中,所述实时特征可以是一个具体的特征,也可以是包括多个子特征的上位特征。例如,在在线打车的应用场景下,所述实时特征可以是一个具体的特征,司机年龄;也可以是包括多个子特征的上位特征,各子特征可以是司机年龄、车型、驾龄、司机性别等。
在本申请实施例中,当所述实时特征是一个具体的特征时,可以将各特定对象的实时特征作为所述用户的历史特征,如在上述场景中,可以将各特定对象(被所述用户反馈过差评的司机)的年龄一并作为所述用户的历史特征。倘若有3个特定对象,年龄分别为18岁、20岁、21岁,则所述用户的历史特征为18岁、20岁和21岁。
值得说明的是,倘若各特征对象的实时特征存在重复的情况,则可以将没有重复的实时特征的出现次数记为1次,将各实时特征及其出现的次数一并作为所述用户的历史特征;也可以忽略实时特征重复的次数,将实时特征不重复地作为所述用户的历史特征。如在上述场景中,倘若3个特定对象的实时特征为19岁、20岁、19岁,则可以将(19岁,2次)、(20岁,1次)作为所述历史特征,也可以将19岁、20岁作为所述历史特征。
当所述实时特征是包括多个子特征的上位特征时,可以将各特定对象的各子特征都作为所述历史特征。当进一步存在子特征重复出现的情况时,可以针对每个子特征,统计该子特征在各特定对象的实时特征中的出现次数;将各子特征及其对应的出现次数作为所述用户的历史特征;也可以将出现不止一次或特定次数的子特征作为所述历史特征。
如上述应用场景中,倘若3个特定对象的实时特征分别为:(19岁,男,车型A)、(40岁,男,车型B)、(35岁,女,车型A),既可以将19岁、40岁、35岁、男、女、车型A和车型B作为所述历史特征,也可以将(19岁,1次)、(40岁,1次)、(35岁,1次)、(男,2次)、(女,1次)、(车型A,2次)和(车型B,1次)作为所述历史特征,还可以将出现了两次的子特征:男、车型A作为所述历史特征。
值得强调的是,还可以根据所述用户针对与各特定对象的交互结果反馈的具体信息确定所述历史特征。具体而言,若所述用户针对与某个特定对象的交互结果反馈了具体信息,该具体信息中包含了该特定对象的部分子特征,则不必将该特定对象的实时特征中的所有子特征都作为所述历史特征,只须将该部分子特征作为所述历史特征。在上述应用场景下,倘若3个特定对象的实时特征分别为(19岁,男,车型A)、(40岁,男,车型B)、(35岁,女,车型A),并且所述用户针对第二个特定对象反馈的具体信息包含了“车型B”这一子特征,则所述历史特征为(19岁,1次)、(35岁,1次)、(男,1次)、(女,1次)、(车型A,2次)和(车型B,1次)。
总之,根据确定出的各特定对象的实时特征,记录所述用户的历史特征的方式可以有多种,只要记录的历史特征可以实现不完全随机的匹配机制即可,本申请对此不作限制。
值得强调的是,所述用户的历史特征可以是在完全随机的匹配机制下,所述用户与各历史匹配对象的交互结果积累到一定数量后,由服务器根据根据所述用户与各历史匹配对象的交互结果记录的。
以下详细说明在本申请实施例中,如何根据预先记录的所述用户的历史特征,在各备选对象中,确定当前匹配对象。
在本申请实施例中,在随机确定出至少两个备选对象后,可以针对每个备选对象,获取该备选对象的实时特征,然后在根据所述用户的历史特征和该备选对象的实时特征,确定所述用户与该备选对象的匹配度,最后,根据所述用户与该备选对象的匹配度,在各备选对象中,确定当前匹配对象。
由于所述用户的历史特征中,记录了与所述用户的交互结果为特定结果的历史匹配对象的实时特征,因此,将备选对象的实时特征与所述历史特征进行对比分析,即可实现在以往经验的指导下,确定合适的备选对象为当前匹配对象。基于以上技术思想,根据所述历史特征,在各备选对象中确定当前匹配对象的方式有多种,本申请实施例所列举的方式并不构成对本申请的限制。
在本申请实施例中,可以将各备选对象按顺序进行排列,其中,所述顺序可以是依据某一标准,如在上述应用场景下,依据各备选对象的年龄由大到小。按顺序针对每个备选对象,获取该备选对象的实时特征,判断该备选对象的实时特征中的各子特征与所述历史特征中的各特征的重复率是否为百分之五十以下,若是,则当所述历史特征是根据所述特定结果为负的特定对象的实时特征记录的时,确定该备选对象为当前匹配对象,并停止执行以上步骤,否则,针对下一个备选对象继续执行以上步骤。
在本申请实施例中,也可以分别对所述用户的历史特征和每个备选对象的实时特征的近似度进行分析,得到对应的匹配度,将特定匹配度对应的备选对象,确定为当前匹配对象。其中,若所述历史特征是根据所述特定结果为负的特定对象的实时特征记录的,则所述近似度越高,相应的所述匹配度越低;若所述历史特征是根据所述特定结果为正的特定对象的实时特征记录的,则所述近似度越高,相应的所述匹配度越高。
更具体地,当所述实时特征是包括多个子特征的上位特征时,可以对每个备选对象而言,针对每个备选对象的实时特征中的每个子特征,确定该子特征在所述用户的历史特征中对应的出现次数;再根据该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数,确定所述用户与该备选对象的匹配度。例如,对每个备选对象而言,可以将该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数进行相加(未出现的子特征记为出现0次),将得到的数值作为近似度,进而得到所述匹配度,然后将各备选对象的匹配度进行比较,将匹配度最大备选对象确定为当前匹配对象。
在在线打车的应用场景中,举例说明。假设所述历史特征为(19岁,1次)、(40岁,1次)、(35岁,1次)、(男,2次)、(女,1次)、(车型A,2次)和(车型B,1次),假设两个备选对象甲和乙,二者的实时特征分别为,甲:(19岁,男,车型E);乙:(38岁,女,车型B),则甲的近似度为1+2+0=3;乙的近似度为0+1+1=2,若所述历史特征是根据所述特定结果为负的特定对象的实时特征记录的,则所述近似度越高,相应的所述匹配度越低,因此,司机乙与所述用户的匹配度更高,应将乙确定为当前匹配对象。
进一步地,倘若各备选对象的实时特征的子特征都没有出现在历史特征中或各备选对象的实时特征的子特征只有少数1-2个出现在历史特征中,没有参考性,则采用修正方法确定各备选对象与所述用户的匹配度。
具体而言,该修正方法可以是,对每个备选对象而言,针对每个备选对象的实时特征中的每个子特征,判断在所述用户的历史特征中是否有与该子特征近似的特征,若是,则将该相似的特征的次数作为该子特征在历史特征中对应的出现次数,否则,将该子特征的出现次数记为0。对每个备选对象而言,将该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数进行相加,将得到的数值作为所述近似度,进而得到所述匹配度,将各备选对象的匹配度进行比较,将匹配度最大的备选对象确定为当前匹配对象。
继续沿用上例,倘若两个备选对象甲和乙,二者的实时特征分别为,甲:(20岁,男,车型E);乙:(52岁,男,车型F),两个备选对象对应的各子特征中,仅仅是性别相关的子特征出现在了所述历史特征中,可参考性不强,故进一步针对每个备选对象的实时特征中的每个子特征,判断在所述用户的历史特征中是否有与该子特征近似的特征,通过判断,将甲的子特征“20岁”作为历史特征中的“19岁”的近似特征,则甲的近似度为1+2+0=3,乙的近似度为0+2+0=2,可见,乙的匹配度更高,应将乙确定为当前匹配对象。
进一步地,倘若在各备选对象中,存在两个或两个以上拥有相同的最高匹配度的冲突备选对象,则可以在各冲突备选对象中随机指定一个作为当前匹配对象,也可以进一步分析各冲突备选对象的实时特征中的各子特征在历史特征中出现的次数的分布,将最平缓的分布对应的备选对象确定为当前匹配对象。
本申请实施例提供了一种分析比较各冲突备选对象的实时特征中的各子特征在历史特征中出现的次数的分布的方法,即针对每个冲突备选对象,计算该冲突备选对象的各子特征在历史特征中出现的次数的方差,方差越小分布越平缓,将最小的方差对应的冲突备选对象确定为当前匹配对象。
具体地,倘若两个备选对象丙和丁的匹配度相同,二者的实时特征中的子特征在所述历史特征中出现的次数都是12,备选对象丙的实时特征中的子特征在历史特征中出现的次数为3、2、3、4,丁的实时特征中的子特征在历史特征中出现的次数为0、5、3、4,由方差公式其中,s^2为方差,n为每个备选对象的实时特征中子特征的个数,x1~xn为每个备选对象中的各个子特征在历史特征中出现的次数,x为每个备选对象的各子特征在历史特征中出现的平均次数。通过计算可知,丙对应的方差为0.5,丁对应的方差为3.5,因此,丙对应的分布最平缓,因此将丙确定为当前匹配对象。
另外,在执行完步骤S103之后,服务器还可以根据所述用户与当前匹配对象的交互结果,更新所述用户的历史特征。
具体而言,倘若所述用户与当前匹配对象的交互结果为所述特定结果,则将所述当前匹配对象的实时特征添加到所述用户的历史特征中,以完成所述历史特征的更新。具体的更新方法,可参见前文关于预先记录所述用户的历史特征的解释,不再赘述。完成所述历史特征的更新后,当所述用户发送下一次对象匹配请求时,服务器便根据最新的所述历史特征,确定当前匹配对象。
通过如图1所示的方法,在随机确定的至少两个备选对象中,根据预先记录的用户的历史特征,确定当前匹配对象,基于这种方法的在线对象的匹配机制不是完全随机的,使得用户因不满意随机匹配到的当前匹配对象而取消本次匹配结果的情况大为减少,进而节省了服务器的资源。
另外,为了更为具体地解释图1所示的方法,以下再提供两个结合应用场景的实施例。
实施例二:
本实施例的应用场景在线打车软件。现有的网络打车软件也是对乘客和乘客附近的司机进行随机匹配,当网络打车软件接收到乘客对某个司机的差评(假设差评理由是该司机所驾驶的车型较破)之后,仅仅是对该司机采取了相应的惩罚措施,但当该乘客下次打车时,仍有可能被随机匹配到驾驶该车型或类似车型的的司机,一般情况,乘客基于上次的经验,往往会取消本次匹配结果,重新开始一次匹配,这会浪费服务器资源。而图2所示的方法可以解决该问题。
图2是本申请实施例提供的一种在线打车的对象匹配方法,包括以下步骤:
S201:接收用户发送的司机匹配请求。
S202:根据所述司机匹配请求,随机确定至少两个备选司机。
S203:针对每个备选司机,获取该备选司机的实时特征。
S204:针对该备选司机的实时特征中的每个子特征,确定该子特征在所述用户的历史特征中对应的出现次数。
S205:根据该备选司机的实时特征中的各子特征在所述用户的历史特征中对应的出现次数,确定所述用户与该备选司机的匹配度。
S206:将匹配度最高的备选司机,确定为当前匹配司机。
S207:根据所述用户的评价,更新所述用户的历史特征。
在本申请实施例中,除以下解释外,请参见前文对图1所示方法的解释,不再赘述。
在本申请实施例中,当所述用户第一次向打车平台服务器反馈差评时,打车平台服务器记录下该差评对应的司机的实时特征,该实时特征中的子特征为:年龄19岁、性别女、车型落后。此次乘车后,所述用户的历史特征已经生成,为(年龄19岁,1次)、(性别女,1次)、(车型落后,1次)。当所述用户第二次打车时,打车平台服务器在离所述用户位置较近的周围随机确定三位司机甲、乙、丙,甲的实时特征中的子特征为:年龄40岁、性别女、车型普通;乙的实时特征中的子特征为:年龄21岁、性别男、车型普通;丙的实时特征中的子特征为:年龄40、性别男、车型较落后。那么,打车平台服务器通过分析,各备选司机的子特征中只有性别女出现在所述历史特征中,没有参考性,故采用修正方法,确定年龄21岁为年龄19岁的近似特征,车型较落后为车型落后的近似特征,各备选司机的近似度为,甲:0+1+0=1;乙:1+0+0=1,丙:0+0+1=1,三个备选司机的近似度相同,他们与所述用户的匹配度也相同,因此可以随机确定甲、乙、丙三人中的任何一人为所述用户的当前匹配司机。
进一步地,倘若当所述用户第一次向打车平台服务器反馈差评时,所述用户还给出了具体的差评原因:司机年纪太小。那么,此次乘车后,所述用户的历史特征为年龄19岁。所述用户下一次打车时,打车平台服务器依然会采取上述方法,将年龄与19岁相差最远的司机确定为当前匹配司机。
实施例三:
本实施例的应用场景是运行于移动端的在线卡牌类游戏。假设该卡牌类游戏的规则为玩家1V1对战,玩家在发送游戏对象匹配请求前需要先选择己方出战的牌组,每个牌组中有3张属性牌,不同的属性牌之间存在克制关系,玩家可以在自己拥有各属性牌(该卡牌类游戏可以提供上百种属性牌,对玩家可以拥有的属性牌数量也不做限制)中抽取3张组合成一个牌组。匹配到的两个玩家通过操纵各自牌组中的3张属性牌,进行对战,一个回合过后,产生胜负结果。玩家想要继续游戏,需要重新选择牌组,并再次发送游戏对象匹配请求。
由于不同属性牌之间存在克制关系,因此一个回合的胜负很大程度上取决于游戏双方出战牌组的3张属性牌组合的克制关系。在完全随机的匹配机制下,倘若某个玩家连续多回合匹配到操纵克制自己牌组的牌组的其他玩家,导致自己连续战败,那么下一次匹配到类似玩家时,该玩家很可能会选择离开本回合,使本回合成为无效回合,浪费服务器资源。而图3所述的方法可以解决该问题。
图3是本申请实施例提供的一种在线游戏的对象匹配方法,包括以下步骤:
S301:接收用户发送的游戏对象匹配请求。
S302:根据所述游戏对象匹配请求,随机确定至少两个备选游戏对象。
S303:针对每个备选游戏对象,获取该备选游戏对象的实时特征。
S304:针对该备选游戏对象的实时特征中的每个子特征,确定该子特征在所述用户的历史特征中对应的出现次数。
S305:根据该备选游戏对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数,确定所述用户与该备选游戏对象的匹配度。
S306:将匹配度最高的备选游戏对象,确定为当前游戏匹配对象。
S307:根据所述用户与当前游戏匹配对象的对战结果,更新所述用户的历史特征。
在本申请实施例中,除以下解释外,请参见前文对图1所示方法的解释。
在本申请实施例中,所述用户的出战牌组中的属性牌为:A2、B3、E8。服务器随机确定了三个备选对象张三、李四、朱六,他们的出战牌组中的属性牌分别是,张三:A3、B3、E8;李四:A2、B4、E2;朱六:A2、B3、E4。
同时,所述用户的历史特征记载了所述用户在游戏服务器上游戏了100回合后的,战胜所述用户的玩家的实时特征,具体表1:
表1
通过对比分析,可知,张三的实时特征下的子特征出现的次数为:1+1=0=2;李四的实时特征下的子特征出现的次数为:3+0+0=3;朱六的实时特征下的子特征出现的次数为:3+1+0=4。若所述历史特征是根据所述特定结果为负的特定对象的实时特征记录的,则所述近似度越高,相应的所述匹配度越低。张三的实时特征与表3所示的历史特征近似度最低,因此张三和所述用户的匹配度最高,应将张三确定为当前匹配对象。
当然,若表1中的所述历史特征记载了所述用户在游戏服务器上进行了100回合后的,败于所述用户的玩家的实时特征,则通过对比分析,与所述历史特征近似度最高的朱六与所述用户的匹配度最高,应将朱六确定为当前匹配对象。
进一步地,本申请实施例还提供了另外一种计算近似度的方法。在记录所述历史特征时,可以预先建立一个n位的空白属性牌向量[0,0,0,……,0],其中,n位属性牌向量的每一位都对应一张特定属性牌(子特征),0表示该位对应的特定属性牌出现的次数。针对每个特定对象,获取该特定对象的属性牌向量,将各特定对象的属性牌向量之和作为所述用户的历史特征。在确定当前匹配对象时,获取各备选对象的属性牌向量,将n位属性牌向量视为在n维空间中的一个点,针对每个备选对象,计算该备选对象的属性牌向量与所述历史特征的属性牌向量的欧式距离,将计算出的欧式距离的相反数作为该备选对象的实时特征与所述历史特征的近似度。若所述历史特征是根据所述特定结果为负的特定对象的实时特征记录的,则所述近似度越高,相应的所述匹配度越低,那么,将最小近似度对应的备选对象确定为当前匹配对象。
具体而言,若在本申请实施例中,假设该卡牌类游戏提供的属性牌共有8张,即A、B、C、D、E、F、G、H,所述用户在游戏服务器上游戏了100回合后,记录的历史特征的属性牌向量为[1,2,0,4,1,0,3,0],表示所述玩家在历史上负于的特定游戏对象操纵的牌组中的属性牌A出现过1次,B出现过2次,D出现过4次,E出现过1次,G出现过3次,服务器随机确定的三个备选对象甲、乙、丙的牌组为,甲:B、C、G;乙:A、B、B;丙:B、E、F。对应的属性牌向量为,甲[0,1,1,0,0,0,1,0],乙[1,2,0,0,0,0,0,0],丙[0,1,0,0,1,1,0,0]。根据欧式距离公式d(a,b)=sqrt[∑((a[i]-b[i])^2)](i=1,2,…,n),其中,d(a,b)为n维空间中点a和点b之间的距离(对应于历史特征与某个备选对象的欧氏距离),i表示空间向量中的位(对应属性牌向量中的位),分别计算各备选对象的属性牌向量与历史特征的属性牌向量的欧氏距离,甲的近似度为-sqrt((1-0)^2+(2-1)^2+(0-1)^2+(4-0)^2+(1-0)^2+(0-0)^2+(3-1)^2+(0-0)^2),即-4.8;类似的,乙的近似度为-5.1,丙的近似度为-5.3,可见,丙的实时特征与所述历史特征的近似度最小,故丙与所述用户的匹配度最高,应将丙确定为当前匹配对象。
值得说明的是,上述计算近似度的方法不仅适用于本申请实施例,还适用于包括本申请提供的其他实施例在内的本申请所要求保护的范围内的各种实施方式。
基于图1所示的在线的对象匹配方法,本申请实施例还对应提供一种在线的对象匹配装置,如图4所示。
图4是本申请实施例提供的一种在线的对象匹配装置示意图,包括:
接收模块401,接收用户发送的对象匹配请求;
第一确定模块402,根据所述对象匹配请求,随机确定至少两个备选对象;
第二确定模块403,根据预先记录的所述用户的历史特征,在各备选对象中,确定当前匹配对象;其中,所述用户的历史特征是根据所述用户与各历史匹配对象的交互结果记录的。
所述第二确定模块403,针对每个备选对象,获取该备选对象的实时特征;根据所述用户的历史特征和该备选对象的实时特征,确定所述用户与该备选对象的匹配度;根据所述用户与该备选对象的匹配度,在各备选对象中,确定当前匹配对象。
所述装置还包括:记录模块404,预先根据所述用户与各历史匹配对象的交互结果,确定交互结果为特定结果的历史匹配对象,作为特定对象;针对确定出的每个特定对象,确定该特定对象在历史上与所述用户进行交互时的实时特征;根据确定出的各特定对象的实时特征,记录所述用户的历史特征。
每个实时特征均包括多个子特征;
所述记录模块404,针对每个子特征,统计该子特征在各特定对象的实时特征中的出现次数;将各子特征及其对应的出现次数作为所述用户的历史特征。
所述第二确定模块403,针对该备选对象的实时特征中的每个子特征,确定该子特征在所述用户的历史特征中对应的出现次数;根据该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数,确定所述用户与该备选对象的匹配度。
所述装置还包括:更新模块405,根据所述用户与当前匹配对象的交互结果,更新所述用户的历史特征。
所述对象匹配请求包括:游戏对手匹配请求;所述特定结果为:所述用户败于历史匹配对象;针对每个备选对象,该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数越多,所述第二确定模块403确定的该备选对象与所述用户的匹配度越小;或者
所述对象匹配请求包括:在线打车请求;所述特定结果为:所述用户返回的评价信息为差评;针对每个备选对象,该备选对象的实时特征中的各子特征在所述用户的历史特征中对应的出现次数越多,所述第二确定模块403确定的该备选对象与所述用户的匹配度越小。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。