用户位置定位方法、装置、设备及介质与流程

文档序号:17898854发布日期:2019-06-13 16:11阅读:160来源:国知局
用户位置定位方法、装置、设备及介质与流程

本发明实施例涉及通信技术领域,尤其涉及一种用户位置定位方法、装置、设备及介质。



背景技术:

近年来,随着lte(longtermevolution,长期演进)网络的普及,商用,其lte网络覆盖越来越密集,覆盖区域越来越多。同时,接入到lte网络的通讯设备数量每天以万计的增长。运用通讯信号参数采集及人工智能训练模型技术,可以弥补gps(globalpositioningsystem,全球定位系统)应用范围的限制,同时提高定位精度,增加效率,充分别利用智能终端,方便快速,便于普及,成本低。

目前电信行业获取用户位置有多种方式,目前以指纹库定位应用较多。不过发明人在对相关现有技术的研究过程中发现,现有采用神经网络构建指纹库进行用户位置识别时,多采用较为单一的模型,没有进行模型处理精准度的比较评估,导致可能最终得到的用户位置数据不准确。



技术实现要素:

本发明实施例提供了一种用户位置定位方法、装置、设备及介质,以提高用户位置定位的准确性。

第一方面,本发明实施例提供了一种用户位置定位方法,方法包括:

采集每一个栅格区域的测量报告数据;

针对每一个栅格区域,利用该栅格区域的测量报告数据分别训练多种不同的计算模型;

确定该栅格区域对应的最优计算模型,其中,所述最优计算模型是指定位精度最高的计算模型;

将所确定的最优计算模型作为该栅格区域对应的栅格区域指纹库,用以对该栅格区域内的用户进行用户位置定位。

第二方面,本发明实施例提供了一种用户位置定位装置,所述装置包括:

采集模块,用于采集每一个栅格区域的测量报告数据;

训练模块,用于针对每一个栅格区域,利用该栅格区域的测量报告数据分别训练多种不同的计算模型;

确定模块,用于确定该栅格区域对应的最优计算模型,其中,所述最优计算模型是指定位精度最高的计算模型;

定位模块,用于将所确定的最优计算模型作为该栅格区域对应的栅格区域指纹库,用以对该栅格区域内的用户进行用户位置定位。

第三方面,本发明实施例提供了一种用户位置定位设备,包括:至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现如上述实施方式中第一方面的方法。

本发明实施例提供的用户位置定位方法、装置、设备及介质,针对不同的栅格区域,均训练多个不同类型的计算模型,并且选择最优的计算模型作为栅格区域指纹库以对用户进行位置定位。与现有技术中针对所有的栅格区域采用同一种计算模型作为指纹数据库的方式相比,本发明的技术方案能够更好的匹配不同的栅格区域的具体情况,从而使得对该栅格区域内的用户位置的定位更为精确。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了本发明一实施例提供的用户位置定位方法的主要流程;

图2示出了本发明一实施例提供的用户位置定位方法中训练计算模型的过程以及计算模型的筛选过程;

图3示出了本发明一实施例提供的用户位置定位装置的结构框图;

图4示出了本发明一实施例提供的用户位置定位设备的结构框图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例,为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本发明,并不被配置为限定本发明。对于本领域技术人员来说,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

第一方面,本发明实施例提供了一种用户位置定位方法,该方法可以由具有处理器的计算机设备执行,该计算机设备通常包括处理器和存储器,处理器被配置为执行存储器中存储的计算机程序。参考图1,本实施例的用户位置定位方法包括:

步骤s11,采集每一个栅格区域的测量报告数据。

在实施时,可以从omc(操作维护中心:operationandmaintenancecenter,操作维护网络系统中的各功能实体)采集上报的mr(measurementreport,测量报告),mr数据通常包含:用户身份、时间、网络环境参数:主小区全球唯一标识,主小区及邻小区mr.rsrp(参考信号接受功率),主小区及邻小区mr.rsrq(参考信号接收质量),mr.tadv(时间提前量),ncpci(lte已定义邻区关系和未定义邻区关系的物理小区识别码),sinrul(td-lte服务小区上行信噪比)。

步骤s12,针对每一个栅格区域,利用该栅格区域的测量报告数据分别训练多种不同的计算模型。

一般的,这里所指的训练是指将栅格区域的测量报告数据作为计算模型的训练数据,利用人工智能学习的方法得到用于后续训练及生成的模型。

步骤s13,确定该栅格区域对应的最优计算模型,其中,所述最优计算模型是指定位精度最高的计算模型。

具体来说,可以将计算模型所预测的用户的位置信息与用户的实际位置信息进行比较,将二者的差值最小时的计算模型确定为精度最高的计算模型。

步骤s14,将所确定的最优计算模型作为该栅格区域对应的栅格区域指纹库,用以对该栅格区域内的用户进行用户位置定位。

栅格区域指纹库一般是包括主小区全球唯一标识,主小区及邻小区mr.rsrp,主小区及邻小区mr.rsrq,mr.tadv,ncpci,sinrul等网络环境特征参数和经纬度的一个多维矩阵库。利用指纹库对用户进行位置定位的具体过程可以参考相关现有技术,在此不再赘述。

本发明实施例中,针对不同的栅格区域,均训练多个不同类型的计算模型,并且选择最优的计算模型作为栅格区域指纹库以对用户进行位置定位。与现有技术中针对所有的栅格区域采用同一种计算模型作为指纹数据库的方式相比,能够更好的匹配不同的栅格区域的具体情况,从而使得对该栅格区域内的用户位置的定位更为精确。

在具体实施时,这里的栅格区域可以通常是指100*100(单位:米)。

训练数据的生成过程

如以上所述的,在实施时,可以从omc中获取mr数据,并将获取到的测量报告数据直接作为训练数据。可替代的,在本发明实施例的一个可选的实施方式中,还可以对omc中获取到的mr数据首先进行筛选,以得到较优的mr数据作为训练数据。

具体来说,可以利用应用程序(app)上报的用户位置信息对mr数据进行筛选,然后将筛选得到的测量报告数据作为训练数据对各个计算模型进行训练。具体的筛选过程可以包括:

步骤s21,确定应用程序上报的位置信息与通过基站定位算法所获取的测量报告数据对应的位置信息之间的位置偏差。

具体来说,该步骤s21可以包括:

s211.mr数据本身不携带经纬度数据,mr数据只包含:用户身份、时间、网络环境参数。例如,mr数据包含以下测量参数:主小区全球唯一标识,主服务小区和邻区mr.rsrp(参考信号接收功率),主小区及邻小区mr.rsrq(参考信号接收质量),mr.tadv(时间提前量),sinrul(td-lte服务小区上行信噪比)。而智能手机有较多的app会通过手机自带的gps模块获取手机经纬度信息,通过移动数据网络上报用户身份、时间、经纬度信息,此类数据获取方式通过在lte网络的s1-u接口解析获取。通过app上报数据和mr数据中共同的“时间”、“用户身份”字段,对上述app上报数据中与mr数据中同一用户、相同时间点的用户位置信息,比如用户经纬度信息与该条mr数据进行关联。由于两类数据获取的时间点不一定完全匹配,因此可以采用时间窗的方式就近递推匹配,例如,在mr数据上报时间点预定时间(例如3秒)范围内寻找是否有app上报经纬度数据)。

在一个实施例中,可以从资源管理系统里面采集lte网络小区工参数据,包含小区全球唯一标识,经度,纬度,方向角。从lte网络的s1-u(lte基站和sgw之间的接口)接口获取app上报的携带用户经纬度的数据。

s212.通过小区工参数据中的“小区全球唯一标识”,就可以获取小区的经纬度数据、方向角数据,将这些数据进行s211关联匹配后有经纬度的mr数据作为s213的基站定位算法的输入参数。

s213.将s211中通过用户app上报的经纬度关联后的mr数据以及小区工参数据输入到基站定位法,计算出对应的经纬度数据。计算原理为:

先将小区的经纬度转换为平面坐标(xc,yc)。然后根据mr中的aoa(到达角,angleofarrival,手机无线信号到达基站小区的角度),ta时间提前量(timingadvance,时间提前量的作用是为了补偿电波传输延迟,而根本目的则是为了提高信道编解码效率),方向角(azimuth)计算出该mr数据对应经纬度数据坐标(x,y)。计算公式如下:

x=xc+78.24*ta*cos((90-azimuth+aoa*0.5)*π/180)(公式1);

y=yc+78.24*ta*sin((90-azimuth+aoa*0.5)*π/180)(公式2)。

再将(x,y)转为wg84坐标(wgs84:worldgeodeticsystem1984,是为gps全球定位系统使用而建立的坐标系统,通过遍布世界的卫星观测站观测到的坐标建立)。

s214.将通过app上报的经纬度数据与通过基站定位算法获取的mr数据对应的经纬度数据进行对比,确定这两种方式计算的经纬度偏差。

步骤s22,在经纬度位置偏差小于预设值时,将所对应的测量报告mr数据作为训练数据。

通过这种方式,能够使得作为训练数据的测量报告数据更为准确。从而使得训练得到的计算模型能够更为精确定位用户位置。

在具体实施时,这里的预设值可以根据实际需要限定。在一个实施方式中,这里的预设值可以为0.5%-1.5%。更为具体的,可以为1%。

mr数据是由众多的mr点组成的,一条mr点数据里就包含用户身份、时间、网络环境参数等信息。因此,在一个实施例中,可以将s22中的mr点归属到近似100*100(单位:米)的栅格区域中。在后续的训练处理过程中,可以将上述通过两种定位方式筛选后的mr训练数据(学习样本数据,mro点携带准确的经纬度和网络环境参数)输入到为每个区域(100*100的栅格区域)建立好的人工智能模型中进行比对,然后将每个区域的神经网络计算模型保存下来作为栅格区域指纹库。该指纹库是多种机器学习方法(例如,神经网络、贝叶斯网络、svm、c&r)的对比结果。

训练过程

在一种可选的实施方式中,所训练的多种计算模型可以分别为:神经网络计算模型、贝叶斯网络计算模型、支持向量机svm计算模型、分类及回归树c&r计算模型。为了搭建模型及对比方便,该技术方案选用了一个比较成熟的分析工具spss(statisticalproductandservicesolutions,统计产品与服务解决方案)。相应的,四种计算模型的训练方法如下。

在一个示例中,神经网络计算模型训练方法可以为:将准备好的训练数据集输入到spss工具中(如图2中的train_data节点),使用type节点(如图2中的type节点)将输入数据集转成训练样本集合并过滤垃圾数据(如图2中的filter节点)。拖出神经网络节点(如图2中的neuralnet节点),配置输入神经元个数,例如8个,输出层例如2个,然后根据离散函数传递,最后将训练完的结果进行保存。

在一个示例中,贝叶斯网络模型搭建方法可以为:将准备好的训练数据集输入到spss工具中(如图2中的train_data节点),使用type节点(如图2中的type节点)将输入数据集转成训练样本集合并过滤垃圾数据(如图2中的filter节点)。拖出神经网络节点(如图2中的bayesian_mkv节点),将样本数据分区输入,采用markovblanket结构传递,选用最大似然的学习方法进行模型训练,调整输入元素的权重比,使模型调试到最优即可。

在一个示例中,svm计算模型训练方法可以为:将准备好的训练数据集输入到spss工具中(如图2中的train_data节点),使用type节点(如图2中的type节点)将输入数据集转成训练样本集合并过滤垃圾数据(如图2中的filter节点)。拖出神经网络节点(如图2中的svm节点),将样本数据作为输入,选择重要预测参数作为输入,通过回归分类生成训练结果。

在一个示例中,c&r计算模型训练方法可以为:将准备好的训练数据集输入到spss工具中(如图2中的train_data节点),使用type节点(如图2中的type节点)将输入数据集转成训练样本集合并过滤垃圾数据(如图2中的filter节点)。拖出神经网络节点(如图2中的c&r节点),选择树状深度,例如深度为5,选择分类目标,例如为3,然后调整修改输入参数的权重,直到结果达到最优即可。

然后,可以在每个栅格区域针对以上4种模型进行训练,将以上4种模型都保存,然后将已知精确经纬度的mr数据网络环境数据输入到对比模型,分别输出运算后的预测经纬度数据,通过precision和recall(精确率和召回率)两个公式进行比对,即可确定最优计算模型。

确定最优计算模型

在一个具体实施方式中,该确定最优计算模型的过程的基本步骤可以包括:

步骤s31,利用已知位置信息的测量报告数据输入到各个计算模型,得到各个计算模型所确定的预测位置信息。

步骤s32,根据已知位置信息和预测位置信息得到精确率和召回率。

在实施时,精确率p的计算公式可以为:

p=tp/(tp+fp)(公式3);

召回率r的计算公式可以为:

r=tp/(tp+fn)(公式4);

其中,tp为检索出的相关信息量;fp为检索出的信息总量;fn为系统中的相关信息总量。

【tp计算:栅格区域内与指纹库运算经纬度匹配成功的样本数】

算法满足条件如下:

同一样本的已知经纬度和通过某一模型指纹库运算后经纬度偏差小于例如5%。

【fp计算:栅格区域内与指纹库运算经纬度匹配成功度应该高的样本数】

算法满足如下条件:

该样本采集的主服务小区和邻区数量要和指纹库中例如90%一致。

【fn计算:样本(训练数据)中全部属于该栅格区域内的样本数】

算法满足如下条件:

栅格区域内所有具备已知精确经纬度数据的mr数据。

步骤s33,根据精确率和召回率确定最优计算模型;

通过将上述计算的tp、fp、fn参数代入公式,可以计算出精确率、召回率。然后,在一个实施例中,可以使用f值(f-score)作为调和精确率和召回率这两个参数的综合指标,并选取四种模型中f-score的值最大的模型作为准确度最高的神经网络计算模型。该最优的计算模型可以作为该栅格区域后续的训练及生产的神经网络计算模型。

在一个具体示例中,通过f-score中的参数β调节精确率p和召回率r这两部分的比例。带有这个参数的计算公式是:

f_score=((β^2+1)pr)/(β^2(p+r))(公5)。

f-score综合了p和r的结果,当其较高时则说明该方法更理想,通过了众多训练数据的比对。

在一个实施例中,在栅格区域的最适合的神经网络计算模型确定后,针对没有经纬度的mr数据,将其网络环境参数输入到该神经网络计算模型指纹库,得到该条mr数据具体栅格区域中心作为该点的位置。

第二方面,本发明实施例提供了一种用户位置定位装置,可以用于执行第一方面的实施例所提供的用户位置定位方法,参见图3,该装置可以包括:

采集模块31,用于采集每一个栅格区域的测量报告数据;

训练模块32,用于针对每一个栅格区域,利用该栅格区域的测量报告数据分别训练多种不同的计算模型;

确定模块33,用于确定该栅格区域对应的最优计算模型,其中,所述最优计算模型是指定位精度最高的计算模型;

定位模块34,用于将所确定的最优计算模型作为该栅格区域对应的栅格区域指纹库,用以对该栅格区域内的用户进行用户位置定位。

在一些实施方式中,所述训练模块32,用于利用该栅格区域的测量报告数据分别训练多种不同的计算模型,包括:

利用该栅格区域的测量报告数据分别训练至少如下计算模型:神经网络计算模型、贝叶斯网络计算模型、支持向量机svm计算模型、分类及回归树c&r计算模型。

在一些实施方式中,所述训练模块32,用于利用该栅格区域的测量报告数据分别训练多种不同的计算模型,包括:

利用应用程序上报的位置信息对该栅格区域的测量报告数据进行筛选;

将所筛选出的测量报告数据作为训练数据分别训练多种不同的计算模型。

在一些实施方式中,所述训练模块32,用于利用应用程序上报的位置信息对该栅格区域的测量报告数据进行筛选,包括:

确定应用程序上报的位置信息与通过基站定位算法所获取的测量报告数据对应的位置信息之间的位置偏差;

在所述位置偏差小于预设值时,将所对应的测量报告数据作为训练数据。

在一些实施方式中,所述预设值的范围为0.5%-1.5%。

在一些实施方式中,所述确定模块33,用于确定该栅格区域对应的最优计算模型,包括:

利用已知位置信息的测量报告数据输入到各个计算模型,得到各个计算模型所确定的预测位置信息;

根据所述已知位置信息和所述预测位置信息得到精确率和召回率;

根据所述精确率和召回率确定最优计算模型。

在一些实施方式中,所述确定模块33,用于根据所述已知位置信息和所述预测位置信息得到精确率和召回率,包括:

根据检索出的相关信息量和检索出的信息总量确定精确率;

根据检索出的相关信息量和系统中的相关信息总量确定召回率。

在一些实施方式中,所述确定模块33,用于根据所述精确率和召回率确定最优计算模型,包括:

根据精确率、召回率以及预设调节参数β确定各个计算模型中对应的f-score;

将各个计算模型中对应的f-score最大的计算模型确定为最优计算模型。

在一些实施方式中,所述定位模块34,用于所述对该栅格区域内的用户进行用户位置定位,包括:

针对没有经纬度的测量报告数据,将该测量报告数据输入到该栅格区域对应的神经网络计算模型,将测量报告mr数据对应的栅格区域的中心作为用户的位置。

在一些实施方式中,所述位置信息包括经纬度信息。

本发明第二方面的实施例提供的用户位置定位装置是可以用于实现第一方面的实施例中提供的位置定位方法的装置,其中的相关术语以及具体的实施方式可以参见第一方面的描述,在此不再详细说明。

另外,结合图1描述的本发明实施例的用户位置定位方法可以由用户位置定位设备来实现。图4示出了本发明实施例提供的用户位置定位设备的硬件结构示意图。

用户位置定位设备可以包括处理器401以及存储有计算机程序指令的存储器402。

具体地,上述处理器401可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,asic),或者可以被配置成实施本发明实施例的一个或多个集成电路。

存储器402可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器402可包括硬盘驱动器(harddiskdrive,hdd)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在数据处理装置的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(rom)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(prom)、可擦除prom(eprom)、电可擦除prom(eeprom)、电可改写rom(earom)或闪存或者两个或更多个以上这些的组合。

处理器401通过读取并执行存储器402中存储的计算机程序指令,以实现上述实施例中的任意一种用户位置定位方法。

在一个示例中,用户位置定位设备还可包括通信接口403和总线410。其中,如图4所示,处理器401、存储器402、通信接口403通过总线410连接并完成相互间的通信。

通信接口403,主要用于实现本发明实施例中各模块、装置、单元和/或设备之间的通信。

通信总线410包括硬件、软件或两者,将用户位置定位设备的部件彼此耦接在一起。举例来说而非限制,总线可包括加速图形端口(agp)或其他图形总线、增强工业标准架构(eisa)总线、前端总线(fsb)、超传输(ht)互连、工业标准架构(isa)总线、无限带宽互连、低引脚数(lpc)总线、存储器总线、微信道架构(mca)总线、外围组件互连(pci)总线、pci-express(pci-x)总线、串行高级技术附件(sata)总线、视频电子标准协会局部(vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,通信总线410可包括一个或多个总线。尽管本发明实施例描述和示出了特定的总线,但本发明考虑任何合适的总线或互连。

该用户位置定位设备可以基于获取到待测小区的网管性能指标,执行本发明实施例中的用户位置定位方法,从而实现结合图1描述的用户位置定位方法。

另外,结合上述实施例中的用户位置定位方法,本发明实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种用户位置定位方法。

需要明确的是,本发明并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本发明的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本发明的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

以上所述的结构框图中所示的功能块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。机器可读介质的例子包括电子电路、半导体存储器设备、rom、闪存、可擦除rom(erom)、软盘、cd-rom、光盘、硬盘、光纤介质、射频(rf)链路,等等。代码段可以经由诸如因特网、内联网等的计算机网络被下载。

还需要说明的是,本发明中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本发明不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本发明的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。

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