用户位置确定方法、图模型生成方法、装置及服务器
技术领域
本发明涉及计算机技术领域,尤其涉及一种用户位置确定方法、图模型生成方法、装置及服务器。
背景技术
随着科学技术的不断进步,无线网络得到了广泛应用,很多商区的商铺都安装了无线网络设备(例如wifi设备)以向用户提供无线网络。用户可以通过用户终端搜索到附近商铺的无线网络设备,并根据需要加入到的任一个无线网络设备的无线网络中。由于用户终端接收到的无线网络设备的信号强度在一定程度上反映了用户终端与无线网络设备的位置关系,例如,用户终端接收到的无线网络设备的信号越强,表明用户终端距离该无线网络设备越近。因此,现有技术中可以根据用户终端搜索到的信号强度最大的无线网络设备所在的商铺,推断用户位于该商铺内。
但由于用户终端接收无线网络设备的信号强度会受到多方面因素的影响,例如受到无线网络设备的功率、障碍物遮挡、用户终端对信号强度的敏感度等因素的影响。因此,根据信号强度最大的无线网络设备所在位置来确定用户终端所在的商铺,存在准确率较低的问题。
发明内容
本说明书实施例提供及一种用户位置确定方法、图模型生成方法、装置及服务器。
第一方面,本说明书实施例提供一种用户位置确定方法,包括:
获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,N为正整数;
基于训练好的图模型,确定M个商铺结点向量,以及确定与所述N个无线网络设备的标识信息对应的N个设备结点向量,所述训练好的图模型包括用于表征预设区域中各个商铺的商铺结点向量,以及用于表征所述预设区域中各个无线网络设备的设备结点向量,M为正整数;
根据所述M个商铺结点向量、所述N个设备结点向量、以及所述N个无线网络设备的信号强度,计算所述M个商铺结点向量中每个商铺结点向量与所述N个设备结点向量之间的连接概率;
将计算得到的M个连接概率中最大的连接概率所对应的商铺,确定为所述用户终端当前所在的目标商铺。
第二方面,本说明书实施例提供一种图模型生成方法,包括:
基于用户终端在预设区域中的商铺中搜索到的无线网络设备的标识信息,以及所述无线网络设备的信号强度,构建训练数据;
基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得训练好的图模型。
第三方面,本说明书实施例提供一种用户位置确定装置,所述装置包括:
获取模块,用于获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,N为正整数;
向量确定模块,用于基于训练好的图模型,确定M个商铺结点向量,以及确定与所述N个无线网络设备的标识信息对应的N个设备结点向量,所述训练好的图模型包括用于表征预设区域中各个商铺的商铺结点向量,以及用于表征所述预设区域中各个无线网络设备的设备结点向量,M为正整数;
处理模块,用于根据所述M个商铺结点向量、所述N个设备结点向量、以及所述N个无线网络设备的信号强度,计算所述M个商铺结点向量中每个商铺结点向量与所述N个设备结点向量之间的连接概率;
位置确定模块,用于将计算得到的M个连接概率中最大的连接概率所对应的商铺,确定为所述用户终端当前所在的目标商铺。
第四方面,本说明书实施例提供一种图模型生成装置,所述装置包括:
数据构建模块,用于基于用户终端在预设区域中的商铺中搜索到的无线网络设备的标识信息,以及所述无线网络设备的信号强度,构建训练数据;
获取模块,用于基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得训练好的图模型。
第五方面,本说明书实施例提供一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行上述第一方面所述方法的步骤。
第六方面,本说明书实施例提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
本说明书实施例有益效果如下:
在本说明书实施例提供的用户位置确定方法中,获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,基于训练好的图模型,确定M个商铺结点向量,以及和N个无线网络设备的标识信息对应的N个设备结点向量,进一步的根据M个商铺结点向量、N个设备结点向量、N个无线网络设备的信号强度,计算每个商铺结点向量与N个设备结点向量之间的连接概率,并将计算得到的最大的连接概率所对应的商铺作为用户终端当前所在的目标商铺。上述方案中,通过计算商铺结点向量和N个设备结点向量之间的连接概率,来确定用户终端的当前位置,能够充分挖掘终端设备搜索到的各个无线网络设备与商铺之间的关系,有效避免了现有技术中仅依靠信号强度最大的无线网络设备来判断用户终端位置所导致的低准确率,提高了用户终端位置确定的准确率和可靠性。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本说明书实施例第一方面提供的一种用户位置确定方法的流程图;
图2为本说明书实施例第二方面提供的一种图模型生成方法的流程图;
图3为本说明书实施例第三方面提供的一种用户位置确定装置的示意图;
图4为本说明书实施例第四方面提供的一种图模型生成装置的示意图;
图5为本说明书实施例第五方面提供的服务器的示意图。
具体实施方式
为了更好的理解上述技术方案,下面通过附图以及具体实施例对本说明书实施例的技术方案做详细的说明,应当理解本说明书实施例以及实施例中的具体特征是对本说明书实施例技术方案的详细的说明,而不是对本说明书技术方案的限定,在不冲突的情况下,本说明书实施例以及实施例中的技术特征可以相互组合。
第一方面,本说明书实施例提供的一种用户位置确定方法,如图1所示,为本说明书实施例提供的一种用户位置确定方法的流程图,该方法包括以下步骤。
步骤S11:获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,N为正整数;
步骤S12:基于训练好的图模型,确定M个商铺结点向量,以及确定与所述N个无线网络设备的标识信息对应的N个设备结点向量,所述训练好的图模型包括用于表征预设区域中各个商铺的商铺结点向量,以及用于表征所述预设区域中各个无线网络设备的设备结点向量,M为正整数;
步骤S13:根据所述M个商铺结点向量、所述N个设备结点向量、以及所述N个无线网络设备的信号强度,计算所述M个商铺结点向量中每个商铺结点向量与所述N个设备结点向量之间的连接概率;
步骤S14:将计算得到的M个连接概率中最大的连接概率所对应的商铺,确定为所述用户终端当前所在的目标商铺。
本说明书实施例提供的用户位置确定方法可以应用于服务器,例如,可以应用于为商铺提供支付服务的服务器,如支付宝的服务器,也可以应用于为商铺提供各类业务的服务器,如提供外卖服务的服务器,还可以应用于其他服务器,这里不做限定。用户终端可以是用户的手机、平板电脑等电子设备。
首先,执行步骤S11:获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,N为正整数。
需要说明的是,对于一个区域来讲,该区域中可以包含有多个商铺,每个商铺又可以安装有一个以上的无线网络设备(如wifi设备)。当用户位于该区域中的任意商铺时,可以通过多种方式获取用户终端当前搜索到的N个无线网络设备的标识信息,以及N个无线网络设备的信号强度。其中,无线网络设备的标识信息可以是设备名称、设备编号等,无线网络设备的信号轻度可以是信号强度大小、信号强度等级等。
以通过获取用户终端的无线网络信号列表的方式为例,无线网络信号列表中包括用户终端当前搜索到的N个无线网络设备的设备名称,以及N个无线网络设备的信号强度大小。那么,可以将N个无线网络设备的设备名称作为N个无线网络设备的标识信息,将信号强度大小作为N个无线网络设备的信号强度。
其次,在步骤S12中,预设区域可以是根据实际需要确定的任意区域,例如,预设区域可以是商区A,也可以是自定义范围的区域,这里不做限定。对于预设区域中包含的每个商铺以及每个无线网络设备,均看作是训练好的图模型中的一个结点。以预设区域为商区A为例,如果商区A的范围内包含有a个商铺,以及设置有b个无线网络设备(如wifi设备),则训练好的图模型为包含有a个商铺结点以及b个设备结点的图模型。另外,每个商铺结点用一个商铺结点向量来表示,每个设备结点用一个设备结点向量来表示,则上述例子中,训练好的图模型中包含有a个商铺结点向量,以及b个设备结点向量。其中,各个商铺结点向量和各个设备结点向量能够反映出各个商铺与各个无线网络设备在商区A内的实际位置关系。
应理解的是,图模型是是通过训练得到的,针对范围较大的区域,可以通过训练得到一个训练好的图模型。或者,为了提高图模型的生成效率,可以将该区域分割成多个子区域,针对每个子区域训练得到一个子图模型,所有子图模型的集合可以作为训练好的图模型。图模型的训练过程是对图模型中的商铺结点向量和设备结点向量不断调整的过程,当商铺结点向量和设备结点向量调整完毕后,得到训练好的图模型。
进一步的,根据用户终端搜索到的N个无线网络设备的标识信息,在训练好的图模型中确定出对应的N个设备结点,获取这N个设备结点对应的N个设备结点向量。
本说明书实施例中,基于训练好的图模型,还可以在训练好的图模型中确定出M个商铺结点,并获取这M个商铺结点对应的M个商铺结点向量。其中,M个商铺结点可以根据实际需要进行选择,例如,M个商铺结点可以是训练好的图模型中包含的所有商铺结点,M个商铺结点也可以是与搜索到的N个设备结点距离一预设范围内的商铺结点,还可以是其他商铺结点,这里不做限定。
接下来,执行步骤S13:根据所述M个商铺结点向量、所述N个设备结点向量、以及所述N个无线网络设备的信号强度,计算所述M个商铺结点向量中每个商铺结点向量与所述N个设备结点向量之间的连接概率。
本说明书实施例中,对于M个商铺结点向量中的每个商铺结点向量来说,需要计算每个商铺结点向量和N个设备结点向量之间的连接概率,共计获得M个连接概率。连接概率的计算方式可以根据实际需要来进行设定,例如,通过无线网络设备的信号强度对设备结点向量进行加权处理,再将加权处理得到的向量与M个商铺结点向量计算内积、欧式距离等方式来得到连接概率等,这里不做限定。需要说明的是,在计算每个商铺结点向量与N个设备结点向量之间的连接概率时,可以采用与图模型训练过程中所使用的连接概率计算方式相同的方式来进行计算。
在获取到M个连接概率之后,确定出最大的连接概率,并将最大的连接概率对应的商铺作为用户终端当前所在的目标商铺。在具体实施过程中,可以将M个连接概率按照从大到小的顺序进行排列,将排在第一位的最大连接概率对应的商铺确定出来,作为目标商铺。
上述方案中,通过计算商铺结点向量和N个设备结点向量之间的连接概率,来确定用户终端的当前位置,能够充分挖掘终端设备搜索到的各个无线网络设备与商铺之间的关系,有效避免了现有技术中仅依靠信号强度最大的无线网络设备来判断用户终端位置所导致的低准确率,提高了用户终端位置确定的准确率和可靠性。
为了更好的理解本说明书实施例中的图模型,下面对图模型的训练过程进行详细说明,图模型的训练过程为:基于多个终端在所述预设区域中的商铺中搜索到的无线网络设备的标识信息、以及搜索到的无线网络设备的信号强度,构建训练数据;基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得所述训练好的图模型。
终端可以为任意用户的终端设备,训练数据包括终端当前所在商铺的商铺信息、在当前商铺中搜索到的无线网络设备的标识信息、以及无线网络设备的信号强度。
无线网络设备的标识信息以及无线网络设备的信号强度可以通过采集用户终端的无线网络信息列表来实现。举例来讲,当用户位于Z商铺时,用户打开手机搜索无线网络,搜索完毕后显示当前搜索到的无线网络信息列表,该无线网络信息列表中包含有无线网络设备的标识信息(如设备名称)以及信号强度。因此,通过获取终端的无线网络信息列表即可得到无线网络设备的标识信息以及信号强度。
为了确保无线网络设备的标识信息以及信号强度为在实际的商铺内搜索到的,在采集无线网络设备的标识信息以及信号强度的同时,获取终端所在商铺的商铺信息。商铺信息可以通过多种方式获取,例如,可以通过获取终端的位置信息来确定终端所在的商铺信息,还可以获取用户使用终端进行点餐、付款等产生的包含有商铺信息的数据,根据这些数据确定终端所在商铺的商铺信息。
应理解的是,商铺信息可以是商铺名称、商铺编号、营业执照上的注册号或组织结构代码(即:统一社会信用代码)等,无线网络设备的标识信息可以是设备名称、设备编号、MAC地址等,无线网络设备的信号强度可以是信号强度值、信号强度等级等。
训练数据的构建可以通过多种方式来实现,在具体实施过程中,可以通过以下步骤来构建训练数据:
基于所述多个终端设备所在商铺的商铺信息、所述搜索到的无线网络设备的标识信息、所述搜索到的无线网络设备的信号强度、以及第一标签值生成正样本,其中任一正样本中的第一标签值表示该条正样本中的无线网络设备是在该条正样本中的商铺中搜索到的;
修改任一正样本的第一标签值为第二标签值,以及修改该条正样本中的商铺信息为任一其他商铺信息,构成一负样本。
具体来讲,训练数据包括两类样本数据:正样本和负样本。正样本是在实际的商铺内真实搜索到的无线网络设备的标识信息以及信号强度,负样本是伪造的终端在商铺内搜索到的无线网络设备的标识信息以及信号强度。正样本和负样本可以通过设置标签值来区分。
在构建正样本数据时,可以通过预设数据格式对采集到的信息进行整理。预设数据格式可以根据实际需要进行设置,在一个实施例中,预设数据格式可以为按照标签值、商铺信息、无线网络设备的标识信息、无线网络设备的信号强度进行排列的数据格式。以商铺信息为商铺编号、无线网络设备的标识信息为设备编号、无线网络设备的信号强度为信号强度值为例,正样本数据可以为以下格式:
1,s0,w0:-20,w1:-30,w2:-80;
1,s1,w2:-43,w4:-82,w8:-30;
1,s2,w5:-87,w6:-19,w7:-23;
…
上述正样本数据中,每条正样本数据都可以由三部分组成,第一部分为标签值(即:数字“1”),第二部分为商铺编号si,s代表商铺,i为商铺的编号,第三部分为无线网络设备的设备编号以及对应的信号强度值,其中,设备编号为wj,w代表无线网络设备,j为设备的编号,wj后所跟的数字为该设备的信号强度值。
在正样本数据中,每条正样本数据的标签值均置为第一标签值,在本实施例中,第一标签值为1。以上述正样本数据中的第一条数据来说,该条数据对应用户终端在实际的商铺s0内真实采集到的数据。即,用户在商铺s0时,通过终端搜索到三个无线网络设备,分别为w0,w1,w2,其中,w0的信号强度值为-20,w1的信号强度值为-30,w2的信号强度值为-80。
进一步的,根据正样本数据,以及第二标签值,构建负样本数据。负样本数据可以通过多种方式构建。例如,将正样本数据中的标签值替换为第二标签值,将正样本数据中的设备编号以及信号强度替换为随机的设备编号以及随机的信号强度等。由于负样本为伪造的虚假数据,因此,负样本为在实际的商铺中采集不到的数据,即与正样本不同的数据,本说明书实施例中,可以通过以下方式构建负样本:
确定对正样本数据的遍历次数;在对正样本数据的每次遍历过程中,执行以下步骤以得到负样本数据:将正样本数据中的第一标签值置为所述第二标签值,并将所述正样本数据中的商铺信息置为随机生成的与当前商铺信息不同的商铺信息。
本说明书实施例中,为了便于使用正样本以及负样本对图模型进行训练,负样本的数据格式可以与正样本的数据格式相同。负样本可以通过对正样本进行变形得到。具体的,通过对正样本的遍历过程生成负样本,在一次遍历过程中,针对一条正样本数据,对应生成一条负样本数据。因此,可以根据正样本的数据量以及负样本的数据量之间的比例来确定遍历次数。例如,将负样本的数据量设置为正样本的数据量的5倍,则遍历次数为5。在一个实施例中,遍历次数可以为4到10之间的任意值。
本说明书实施例中,构建负样本所依据的原理为:在实际商铺中搜索到的无线网络设备的标识信息以及信号强度,无法在其他商铺中搜索到。即,用户在两个不同的店铺内,搜索到的无线网络设备的标识信息以及信号强度信不可能完全相同。因此,如果在除了用户终端当前所在的商铺以外的商铺中搜索到与当前商铺相同的无线网络设备的标识信息以及信号强度,则这条数据为虚假数据。
具体的,在每一次遍历过程中,针对每条正样本数据,将该条数据中的标签值置为第二标签值,将该条数据中的商铺信息置为随机生成的商铺信息,且随机生成的商铺信息与原商铺信息不同,无线网络设备的标识信息以及信号强度保持不变。仍以商铺信息为商铺编号、无线网络设备的标识信息为设备编号、无线网络设备的信号强度为信号强度值为例,沿用上述的正样本,在对上述正样本进行一次遍历,得到的负样本为:
0,s73,w0:-20,w1:-30,w2:-80;
0,s98,w2:-43,w4:-82,w8:-30;
0,s199,w5:-87,w6:-19,w7:-23;
…
上述负样本中,每条数据也有三部分组成,其中第一部分的标签值均置为第二标签值,在该实施例中,第二标签值为0。第二部分中的商铺编号为随机生成的商铺编号。第三部分与第一数据中的第三部分相同。
应说明的是,除了训练数据,还可以构建用于模型测试的测试数据。测试数据的构建过程可以和上述训练数据的构建过程一致。当然,还可以在上述构建好的训练数据中划分出来一部分作为测试数据,这里不做限定。训练数据和测试数据的比例可以根据实际需要进行设置,例如,训练数据与测试数据的比例为7:3。基于训练数据,可以对初始的图模型进行训练,获得原始的图模型;基于测试数据,对原始的图模型进行测试,得到最终的训练好的图模型。
本说明书实施例中,初始的图模型可以用预设区域内每个商铺结点的初始商铺结点向量,以及每个无线网络设备结点的初始设备结点向量来表示。初始商铺结点向量以及初始设备结点向量可以根据实际需要进行设置,例如,每个初始商铺结点向量可以用随机生成的k维向量表示,每个初始设备结点向量也用随机生成的k维向量表示。
由于各个向量都是随机的,因此,初始图模型中的各个结点的分布也是随机的,随着对图模型的不断训练,会不断的对每个商铺结点向量以及每个设备结点向量进行更新调整,直到每个商铺结点向量以及每个设备结点向量能够反映各个商铺与各个网络设备之间真实的位置关系。
本说明书实施例中,所述基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得所训练好的图模型,包括以下步骤:
根据所述正样本,计算所述初始图模型中每个商铺结点向量与对应的设备结点向量之间的第一类连接概率;
根据所述负样本,计算所述初始图模型中每个商铺结点向量与对应的设备结点向量之间的第二类连接概率;
根据所述第一类连接概率以及所述第二类连接概率,对所述初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得所述训练好的图模型。
在该实施例中,通过商铺结点向量与设备结点向量之间的连接概率,来逐步调整图模型。由于在本说明书实施例中,训练数据分为正样本以及负样本,因此,在计算连接概率时,可以根据数据的标签值来分别计算。连接概率的计算方式可以根据实际需要来选择,在一种实施方式中,采用以下方式来计算连接概率:根据所述N个无线网络设备的信号强度,对所述N个设备结点向量进行加权处理,得到加权处理后的设备结点向量;分别计算所述M个商铺结点向量中每个商铺结点向量与所述加权处理后的设备结点向量之间的连接概率。
为了便于说明,以商铺结点向量为随机生成的k维初始商铺结点向量、设备结点向量为随机生成的k维初始设备结点向量为例,来对连接概率的计算方式进行说明。对训练数据进行遍历,通过以下连接概率计算公式来计算每个商铺结点向量与无线网络设备结点向量的连接概率:
σ(x)=1/(1+exp(-x));
上述公式中,p(s
i|w
0,w
1,...)为商铺s
i的商铺结点向量和训练数据中s
i所属数据中的多个设备结点向量的总和之间的连接概率。
为商铺s
i的商铺向量,
为s
i所属的数据中通过信号强度对设备结点向量进行加权处理后得到的向量,即,
其中,n(i)表示s
i所属的数据中的无线网络设备,
为无线网络设备对应的设备结点向量,w(j)表示与
对应的信号强度。
具体的,以1,s
0,w
0:-20,w
1:-30,w
2:-80这条数据为例,与商铺结点s
0对应的设备结点为w
0、w
1、w
2,确定这三个设备节点的对应的结点向量,并根据各自的信号强度对每个结点向量进行加权,得到加权求和后的向量,即:
然后再计算
应理解的是,连接概率可以根据数据的标签值来计算,即对于商铺si来说,将标签值为1的数据统计在一起,根据上述公式计算商铺si的商铺结点向量与对应的设备结点向量和之间的第一类连接概率。另外,将与商铺si对应的标签值为0的数据统计在一起,根据上述公式计算商铺si的商铺结点向量与对应的设备结点向量和之间的第二类连接概率。
进一步的,在获得了第一类连接概率以及第二类连接概率之后,对商铺结点向量以及设备结点向量进行调整,以得到训练好的图模型。本说明书实施例中,可以根据梯度下降法,例如随机梯度下降法来实现对图模型的训练。具体的,可以根据连接概率,构建损失函数,并根据损失函数来确定商铺结点向量以及设备结点向量的梯度下降方向,接下来根据梯度下降方向以及调整步长对商铺结点向量以及设备结点向量进行更新调整,再次根据调整后的设备结点向量以及商铺结点向量计算第一类连接概率以及第二类连接概率,并循环执行上述步骤直到满足预设的训练条件。其中,预设的训练条件可以根据实际需要进行设定,例如,预设的训练条件为预设的迭代次数,或者预设的训练条件为调整前的向量与调整后的向量的差距小于阈值等等。
下面,以预设的训练条件为预设的迭代次数为例,来对图模型的训练过程来进行说明。具体的,该过程包括以下步骤:
根据所述第一类连接概率以及所述第二类连接概率,构建损失函数;
根据所述损失函数,对所述初始图模型中的各个商铺结点向量以及各个设备结点向量进行调整,得到调整后的各个商铺向量以及调整后的各个设备结点向量;
在向量调整次数未达到预设次数时,根据所述调整后的各个商铺向量以及调整后的各个设备结点向量,重新计算第一类连接概率以及第二类连接概率,并根据重新计算的第一类连接概率以及重新计算的第二类连接概率重新构建损失函数,并基于重新构建的损失函数对所述调整后的各个商铺向量以及调整后的各个设备结点向量继续进行调整,直到所述向量调整次数达到所述预设次数。
本说明书实施例中,通过以下公式来构建损失函数:
loss=y log(p)+(1-y)log(1-p)
其中,y为标签值,p为上述计算得到的每个商铺结点向量与设备结点向量之间的连接概率。对于第一类连接概率和第二类连接概率来说,由于各自的标签值不同,第一类连接概率对应的标签值为1,第二类连接概率对应的标签值为0,可以分别带入上述公式,得到损失函数。应理解的是,对于训练数据包含有多组数据,因此损失函数为一求和公式,根据上述公式对所有连接概率进行处理后的总和。
根据损失函数,确定商铺结点向量以及设备结点向量的梯度下降方向,在一个实施例中,梯度下降方向通过对损失函数求导得到。另外,还需要确定商铺结点向量以及设备结点向量的步长,步长的选择可以根据实际需要进行设定,例如根据步长公式来计算获得。进一步的,根据梯度下降方向以及步长,来调整商铺结点向量以及设备结点向量,得到调整后的商铺结点向量以及调整后的设备结点向量。此时,确定图模型的训练次数,即各个向量的调整次数是否达到预设次数,预设次数可以根据需要进行设定,例如,预设次数可以选择1-10中的任一次数。当未达到预设次数时,重复执行上述步骤,即,根据调整后的商铺结点向量以及调整后的设备结点向量,重新计算各个商铺结点向量与设备结点向量之间的连接概率,并根据重新计算的连接概率构建损失函数,并根据重新构建的损失函数再次调整各个商铺结点向量以及各个设备结点向量,直到向量的调整次数达到预设次数为止。
进一步的,基于训练数据得到训练好的图模型之后,可以利用测试数据对图模型的准确率进行测试,在该图模型的准确率满足预设范围时,认为该图模型通过测试,可以将该图模型进行存储。当然,除了上述通过训练获得图模型的方法外,图模型可以是通过定位装置获得的地图模型,还可以是通过其他方式获得的,这里不做限定。
另外,对于一个区域来说,商铺存在转让出售、无线网络设备也存在变更或更新,因此,与该区域对应的图模型也需要定期更新,以符合该区域的当前情况。本说明书实施例中,可以通过以下方式来进行训练好的图模型的更新:在检测到所述预设区域中的各个商铺和/或各个无线网络设备发生变化时,对所述训练好的图模型进行更新调整。
具体的,可以每隔一预设时长采集一次各个商铺的商铺信息以及各个无线网络设备的标识信息以及信号强度,例如,每隔一个月的时间通过上面介绍的采集方式重新采集商铺的商铺信息以及无线网络设备的标识信息和信号强度。将每次采集到的商铺信息、标识信息与信号强度与当前训练好的图模型对应的商铺信息、标识信息、信号强度进行一一比对。在比对的过程中如果发现差异时,则对当前训练好的图模型进行调整。
对图模型的调整过程可以根据实际需要进行设定,例如可以对图模型进行局部调整,也可以对整个图模型进行整体更新。举例说明,当检测到一商铺更换商铺名称时,可以将训练好的图模型中与该商铺对应的商铺信息更新为更换后的商铺名称。再如,当检测到存在多个商铺更换商铺名称,且存在多个无线网络设备被更换时,可以根据上述方法重新生成图模型。当然,还可以根据其他方式来更新图模型,这里不做限定。
另外,本说明书实施例中,在确定了用户所在的目标商铺后,还可以包括以下步骤:确定与所述目标商铺对应的推送信息;将所述推送信息发送至所述用户终端。
在具体实施过程中,在确定了用户终端所在的目标商铺,可以实现对用户的信息精准推送。举例来讲,当用户终端在A商铺内时,可以确定A商铺当前的促销信息,例如满减活动、特价商品等,并将这些信息发送给用户终端,以使用户对当前店铺的各种活动进行了解。应说明的是,推送信息可以是目标商铺的当前活动信息,或者是目标商铺附近商铺的促销信息,还可以是其他的信息,这里不做限定。
综上所述,本说明书实施例中的方案可以通过终端当前搜索到的多个无线网络设备的标识信息以及信号强度,将用户位置转换为设备结点向量与商铺结点向量之间相似度的关系,并在训练好的图模型中唯一的确定出终端所在的目标商铺,即,通过多个无线网络设备确定目标商铺,使得最终获得的目标商铺更加可信,准确率更高。
第二方面,本说明书实施例提供一种图模型生成方法,如图2所示,为本说明书实施例提供的一种图模型生成方法的流程图,该方法包括以下步骤。
步骤S21:基于用户终端在预设区域中的商铺中搜索到的无线网络设备的标识信息,以及所述无线网络设备的信号强度,构建训练数据;
步骤S22:基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得训练好的图模型。
关于上述图模型生成方法,其中各个步骤的具体功能已经在本发明实施例提供的用户位置确定方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第三方面,本说明书实施例提供一种用户位置确定装置,请参考图3,包括:
获取模块31,用于获取用户终端当前搜索到的N个无线网络设备的标识信息,以及所述N个无线网络设备的信号强度,N为正整数;
向量确定模块32,用于基于训练好的图模型,确定M个商铺结点向量,以及确定与所述N个无线网络设备的标识信息对应的N个设备结点向量,所述训练好的图模型包括用于表征预设区域中各个商铺的商铺结点向量,以及用于表征所述预设区域中各个无线网络设备的设备结点向量,M为正整数;
处理模块33,用于根据所述M个商铺结点向量、所述N个设备结点向量、以及所述N个无线网络设备的信号强度,计算所述M个商铺结点向量中每个商铺结点向量与所述N个设备结点向量之间的连接概率;
位置确定模块34,用于将计算得到的M个连接概率中最大的连接概率所对应的商铺,确定为所述用户终端当前所在的目标商铺。
在一种可选实现方式中,所述装置还包括图模型生成模块,用于:
基于多个终端在所述预设区域中的商铺中搜索到的无线网络设备的标识信息、以及搜索到的无线网络设备的信号强度,构建训练数据;
基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得所述训练好的图模型。
在一种可选实现方式中,所述图模型生成模块,用于:
基于所述多个终端设备所在商铺的商铺信息、所述搜索到的无线网络设备的标识信息、所述搜索到的无线网络设备的信号强度、以及第一标签值生成正样本,其中任一正样本中的第一标签值表示该条正样本中的无线网络设备是在该条正样本中的商铺中搜索到的;
修改任一正样本的第一标签值为第二标签值,以及修改该条正样本中的商铺信息为任一其他商铺信息,构成一负样本。
在一种可选实现方式中,所述图模型生成模块,用于:
根据所述正样本,计算所述初始图模型中每个商铺结点向量与对应的设备结点向量之间的第一类连接概率;
根据所述负样本,计算所述初始图模型中每个商铺结点向量与对应的设备结点向量之间的第二类连接概率;
根据所述第一类连接概率以及所述第二类连接概率,对所述初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得所述训练好的图模型。
在一种可选实现方式中,所述图模型生成模块,用于:
根据所述第一类连接概率以及所述第二类连接概率,构建损失函数;
根据所述损失函数,对所述初始图模型中的各个商铺结点向量以及各个设备结点向量进行调整,得到调整后的各个商铺向量以及调整后的各个设备结点向量;
在向量调整次数未达到预设次数时,根据所述调整后的各个商铺向量以及调整后的各个设备结点向量,重新计算第一类连接概率以及第二类连接概率,并根据重新计算的第一类连接概率以及重新计算的第二类连接概率重新构建损失函数,并基于重新构建的损失函数对所述调整后的各个商铺向量以及所述调整后的各个设备结点向量继续进行调整,直到所述向量调整次数达到所述预设次数。
在一种可选实现方式中,处理模块33,用于:
根据所述N个无线网络设备的信号强度,对所述N个设备结点向量进行加权处理,得到加权处理后的设备结点向量;
分别计算所述M个商铺结点向量中每个商铺结点向量与所述加权处理后的设备结点向量之间的连接概率。
在一种可选实现方式中,所述装置还包括图模型更新模块,用于:
在检测到所述预设区域中的各个商铺和/或各个无线网络设备发生变化时,对所述训练好的图模型进行更新调整。
在一种可选实现方式中,所述装置还包括:
推送信息确定模块,用于确定与所述目标商铺对应的推送信息;
发送模块,用于将所述推送信息发送至所述用户终端。
关于上述装置,其中各个模块的具体功能已经在本发明实施例提供的用户位置确定方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第四方面,本说明书实施例提供一种图模型生成装置,请参考图4,该图模型生成装置包括:
数据构建模块41,用于基于用户终端在预设区域中的商铺中搜索到的无线网络设备的标识信息,以及所述无线网络设备的信号强度,构建训练数据;
获取模块42,用于基于所述训练数据,对初始图模型中的各个商铺结点向量以及各个设备结点向量进行训练,获得训练好的图模型。
关于上述装置,其中各个模块的具体功能已经在本发明实施例提供的用户位置确定方法的实施例中进行了详细描述,此处将不做详细阐述说明。
第五方面,基于与前述实施例中用户位置确定方法和/或图模型生成方法同样的发明构思,本发明还提供一种服务器,如图5所示,包括存储器604、处理器602及存储在存储器604上并可在处理器602上运行的计算机程序,所述处理器602执行所述程序时实现前文所述的用户位置确定方法和/或图模型生成方法的任一方法的步骤。
其中,在图5中,总线架构(用总线600来代表),总线600可以包括任意数量的互联的总线和桥,总线600将包括由处理器602代表的一个或多个处理器和存储器604代表的存储器的各种电路链接在一起。总线600还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口606在总线600和接收器601和发送器603之间提供接口。接收器601和发送器603可以是同一个元件,即收发机,提供用于在传输介质上与各种其他装置通信的单元。处理器602负责管理总线600和通常的处理,而存储器604可以被用于存储处理器602在执行操作时所使用的数据。
第六方面,基于与前述实施例中基于用户位置确定方法和/或图模型生成方法的发明构思,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前文所述基于用户位置确定方法和/或图模型生成方法的任一方法的步骤。
本说明书是参照根据本说明书实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的设备。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令设备的制造品,该指令设备实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。