CN109614456B - 一种基于深度学习的地理信息的定位分区方法及装置 - Google Patents
一种基于深度学习的地理信息的定位分区方法及装置 Download PDFInfo
- Publication number
- CN109614456B CN109614456B CN201811448666.8A CN201811448666A CN109614456B CN 109614456 B CN109614456 B CN 109614456B CN 201811448666 A CN201811448666 A CN 201811448666A CN 109614456 B CN109614456 B CN 109614456B
- Authority
- CN
- China
- Prior art keywords
- information
- partition
- operator
- preset
- attribute
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于深度学习的地理信息的定位分区方法及装置,其中的方法利用Geocoding API作为映射工具,将本来无法选取分裂属性的问题得以解决,在此基础上,通过设计的预剪枝法和PEP剪枝法、结合数据和Geocoding API特性并基于决策树C4.5算法改进而得到的精准定位分区的决策树模型,且根据预设信息增益率求解算法从求解出的属性值中选择出分裂属性,通过预设决策树模型来对通过预设深度学习模型获得的预测结果进行进一步定位分区,获得了精确的分区信息,实现了提高定位分区精度不高的技术效果。
Description
技术领域
本发明涉及人工智能技术领域,具体涉及一种基于深度学习的地理信息的定位分区方法及装置。
背景技术
随着国民经济的日益提高,尤其是电子商务行业的蓬勃发展,无论是出于社会安全考虑,还是出于商家优化管理、降低成本和提升效益考虑,对用户的地理位置信息进行精准而快捷的分析越来越受到重视。
然而,由于用户数据的急速增长,而且地理信息往往发生着日新月异的变化,尤其是收集数据的渠道受到历史原因和工作场景等因素的限制而呈现出多样性和随意性的态势,造成了用户信息存在诸多问题,主要表现在“地理信息缺乏规范性”和“错别字较为普遍”两个方面,这给精准高效的分析带来了一定的挑战。
在对用户地理信息进行分析识别得到识别结果后,由于用户信息可能存在信息不规范、不完整以及错别字等不可预测的问题,虽然一定程度上可以解决小区名称和道路识别的任务,但是无法保证定位分区的精度。
由上可知,现有技术的方法存在定位分区精度不高的技术问题。
发明内容
有鉴于此,本发明提供了一种基于深度学习的地理信息的定位分区方法及装置,用以解决或者至少部分解决现有技术的方法存在定位分区精度不高的技术问题。
本发明第一方面提供了一种基于深度学习的地理信息的定位分区方法,包括:
步骤S1:获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应;
步骤S2:判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index;
步骤S3:获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区;
步骤S4:判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
步骤S5:查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
步骤S6:将S5中求解出的对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息。
在一种实施方式中,步骤S5中,根据预先获取的实际数据中的信息求解对应的属性值,具体包括:
根据预先获取的实际数据确定输入信息,其中,输入信息包括城市C、县区R、道路L和小区P;
根据预测结果,对输入信息进行组合与筛选,获得R、RP和RL三种组合,其中,RP表示县区与小区的组合,RL表示县区和道路的组合;
利用预设地理编码服务接口GeocodingAPI,T、C和PE三个算子,实现属性的数值化,其中,T算子为Type(x),表示取x中的类型信息,x表示Geocoding API解析的结果,C算子为Confidence(x),表示取x中的置信度,PE算子为Precise(x),表示取x中的精度,PE算子的值只有0和1;
根据引入的T、C和PE三个算子,进行预剪枝处理,获得对应的属性值,具体为PE(RP),TC(RP),PE(LP),TC(LP),TC(R),其中,TC算子根据T算子和C算子获得。
在一种实施方式中,在步骤S6中,预设决策树模型通过下述方式进行构建:
基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性;
根据选择出的分裂属性和C4.5算法构建所述预设决策树。
在一种实施方式中,基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性具体包括:根据公式(1)~(4)计算信息增益率值,
其中,公式(1)求解信息增益率,IGR代表信息增益率,S代表训练数据集,即已知分区的用户信息组成的集合,A代表当前的属性;公式(2)求解分裂之前样本集S的熵E(S),其中xi代表分类标签,p(xi)代表xi在样本集S中出现的频率,N=2,表示是否正确分区,xi表示“分区正确”和“分区错误”;公式(3)求解通过属性A分裂之后样本集的熵EA(S),S按照A划分后得到M个子集,Si为第i个子集;公式(4)求解属性A的分裂信息SIA(S),其中,训练数据集S通过属性A的属性值划分为M个子数据集,|Si|表示第i个子数据集中样本数量,|S|表示划分之前数据集中样本总数量。
在一种实施方式中,根据引入的T、C和PE三个算子,进行预剪枝处理包括:删除C算子中低于预设值的C,并根据预设规则将T赋予权重,对T进行数值化处理,引入TC算子替代T算子和C算子,以及删除PE(R)。
在一种实施方式中,所述方法还包括:
通过构建RL算子,建立获得的属性与预设分区之间的对应关系,其中预设分区包括东区、南区、西区和北区;
根据所述对应关系,将RL算子与目标分区是否相等作为分类标签,其中,目标分区为预先获得训练集中标注的分区。
在一种实施方式中,在步骤6之后所述方法还包括:
根据RL算子,获得最终的分区信息。
在一种实施方式中,在获得最终的分区信息之后,所述方法还包括:
将最终的分区信息存储至定位分区字典中。
基于同样的发明构思,本发明第二方面提供了一种基于深度学习的地理信息的定位分区装置,包括:
预测结果获取模块,用于获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应;
记录判断模块,用于判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index;
地理信息获取模块,用于获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区;
求解判断模块,用于判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
查询模块,用于查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
分区模块,用于将对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息。
基于同样的发明构思,本发明第三方面提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被执行时实现第一方面的所述的方法。
本申请实施例中的上述一个或多个技术方案,至少具有如下一种或多种技术效果:
在本发明提供的方法,通过预设决策树模型来对通过预设深度学习模型获得的预测结果进行进一步定位分区,并根据预先获取的实际数据中的信息求解对应的属性值,可以在得到的预测结果的基础上,进一步获得精确的分区信息,解决了现有技术中存在的定位分区精度不高的技术问题。
进一步地构建预设信息增益率求解算法,通过信息增益率来从求解出的属性值中选择对应的属性,从而可以更好地确定分裂属性。
进一步地,在预设决策树模型构建过程中,进行属性组合、属性数值化和预剪枝处理可以获得对应的属性,从而可以解决根据输入信息(城市C、县区R、道路L和小区P)无法构建决策树模型的问题,即根本无法直接利用四个信息(C,R,L和P)进行决策树的构建。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于深度学习的地理信息的定位分区方法的流程图;
图2为另一种实施方式中定位分区方法的流程图;
图3为本发明实施例中一种基于深度学习的地理信息的定位分区装置的结构框图;
图4为本发明实施例中计算机可读存储介质的结构图。
具体实施方式
本发明提供了一种基于深度学习的地理信息的定位分区方法,通过预设决策树模型来进行精确的定位分区,结合用户信息自身特点,利用GeocodingAPI作为一个映射工具,将本来无法选取属性的问题得以解决,在此基础上,通过预剪枝法、结合数据和GeocodingAPI特性并基于决策树C4.5算法改进而得到的精准预设决策树模型,该模型为GCpDT算法。其中,G代表GeocodingAPI,C代表C4.5,p代表PEP,DT代表决策树模型。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供了一种基于深度学习的地理信息的定位分区方法,请参见图1,该方法包括:
首先执行步骤S1:获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应。
具体来说,预设深度学习模型可以为已知的BiLSTM+CRF深度神经网络模型或者改进后的模型。根据该模型,可以对原始用户信息进行预测和识别,获得预测结果,预测结果中的记录即为一条条的信息,这些记录与用户信息一一对应。
本发明申请人通过大量的实践,发现:当得到预测结果(即用户的小区信息和位置信息)后,还无法进行精确的定位。因而提出了一种定位分区方法,而且其中分区,即在地图上自定义分区(东区,南区,西区和北区)。
一般来说,根据当前的城市,区县,道路信息和小区名称,比较容易得到精确的位置信息,进而得到相当准确的分区。但是,由于用户信息可能存在信息不规范、不完整以及错别字等不可预测的问题,利用深度学习模型,可以一定程度上解决小区名称和道路识别的任务,并在真实测试集上达到较高的精度。不过在分区的时候,利用地理编码服务(又名GeocodingAPI)WebAPI接口服务,就可以得到经纬度,然而研究发现,这种分区的结果,在真实测试集上只达到了85.3%的精度。经过分析后发现,主要是用户信息的问题,因而需要对预测结果进行进一步定位分区。
然后执行步骤S2:判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index。
具体来说,PerdictedInfs存放了批量的预测结果,且与UserInfs一一对应的。
接着执行步骤S3:获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区。
具体来说,inf中的地理信息是一条原始的用户信息,其中地理信息是县区,道路和小区组成的元组,也就是预测结果中的地理信息。
接下来执行步骤S4:判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
具体来说,本实施例的方法开始逐条读取PerdictedInfs,index为下标,从0开始。以10为例进行说明,则查看0到9这10条记录,如果已经存在,则说明已经求解过,就不用再次求解,可以直接从预设信息中得到结果,从而可以提高求解的效率。而已经求解出的小区信息和分区信息可以存储于“定位分区字典”中。定位分区字典中存储有对应的分区信息,分区字典由键和值组成,键也就是列表,形式化描述如下:<plot,city,region>,它的值就是分区结果,因而定位分区字典中的一条信息可以如下描述:“<A小区,B市,C区>,南区”,其中,“南区”为分区结果。
接下来执行步骤S5:查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
具体来说,查询表达式是根据小区、城市和县区构建的,在具体实现时,可以直接用“列表”联合起来作为主键进行查询,从而提高查询效率。本申请发明人通过实践发现,在真实的数据集中,含有大量的重复项,有的是直接用户信息的重复,比如同一个人订购了多种用户商品,不仅如此,对于同一个小区的多个用户,其分区也是相同的,因此本发明构建了定位分区字典,这样可以大大简化分区方法,提高分区的效率。
步骤S5中,根据预先获取的实际数据中的信息求解对应的属性值,具体包括:
根据预先获取的实际数据确定输入信息,其中,输入信息包括城市C、县区R、道路L和小区P;
根据预测结果,对输入信息进行组合与筛选,获得R、RP和RL三种组合,其中,RP表示县区与小区的组合,RL表示县区和道路的组合;
利用预设地理编码服务接口GeocodingAPI,T、C和PE三个算子,实现属性的数值化,其中,T算子为Type(x),表示取x中的类型信息,x表示Geocoding API解析的结果,C算子为Confidence(x),表示取x中的置信度,PE算子为Precise(x),表示取x中的精度,PE算子的值只有0和1;
根据引入的T、C和PE三个算子,进行预剪枝处理,获得对应的属性值,具体为PE(RP),TC(RP),PE(LP),TC(LP),TC(R),其中,TC算子根据T算子和C算子获得。
具体来说,实际数据即为利用现有的工具获取的某个地区的真实数据,例如某个市。预设地理编码服务接口GeocodingAPI是地理编码服务的WebAPI接口服务。本发明利用GeocodingAPI做一个映射工具,将本来无法选取分裂属性的问题得以解决。
在一种实施方式中,预设决策树模型通过下述方式进行构建:
基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性;
根据选择出的分裂属性和C4.5算法构建所述预设决策树。
其中,预设信息增益率求解算法可以根据C4.5算法来进行设置。
在一种实施方式中,根据预设信息增益率求解算法从求解出的属性值中,选择出分裂属性,具体包括:
根据公式(1)~(4)计算信息增益率,
其中,公式(1)求解信息增益率,IGR代表信息增益率,S代表训练数据集,即已知分区的用户信息组成的集合,A代表当前的属性;公式(2)求解分裂之前样本集S的熵E(S),其中xi代表分类标签,p(xi)代表xi在样本集S中出现的频率,N=2,表示是否正确分区,xi表示“分区正确”和“分区错误”;公式(3)求解通过属性A分裂之后样本集的熵EA(S),S按照A划分后得到M个子集,Si为第i个子集;公式(4)求解属性A的分裂信息SIA(S),其中,训练数据集S通过属性A的属性值划分为M个子数据集,|Si|表示第i个子数据集中样本数量,|S|表示划分之前数据集中样本总数量。
具体来说,C4.5算法中,利用属性的信息增益率作为属性选择度量,进而决定分裂属性。举例来说,以求解TC(LP)属性的信息增益率为例,通过一个具体的信息增益率求解算法来进行详细介绍。
信息增益率求解算法的输入为:预设深度学习模型预测后的用户信息S,S为一个集合,表示全部的用户信息,其中的用户信息包括小区名称(P)和道路信息(L),作为训练集,还包括分区信息;
参数:属性TC(LP);
输出:信息增益率IGR(TC(LP));
1)算法开始
2)遍历S,统计出各个分区出现的次数,按照公式(10)计算E(S),;
3)求解TC(LP);
①初始化:index=0,wt=0,wc=0;
②读取Sindex(S的第index条记录),对其做地址规范化,得到Normal(Loc(Sindex)),简记N[i],其类型记为Type[i];
③判断Type[i]的类型,如果是普通道路,转至④;如果是交叉口,则转至⑤;
④求解T(LP)并量化T(LP),记为wt,求解C(LP),记为wc,求解RL(LP),即为Regionindex,简记Region[i],转至⑥;
⑤求解T(L),并量化T(L),记为wt,求解C(L),记为wc,求解RL(L),即为Regionindex,简记Region[i],转至⑥;
⑥wtc=wt*wc,即为TC(LP);
⑦返回TC(LP),求解TC(LP)结束;
4)TC(LP)是连续值,按照C4.5算法的离散化方法进一步处理;
5)分类标签可以根据步骤3)得到的Region[i]和目标分区Ψ做比较得到;
6)按照公式(9)(10)(11)(12),得到信息增益率,记为IGR TC(LP);
7)算法结束
具体地,步骤2)中的分区是指“东区”“南区”“西区”和“北区”,这些分区信息是已知的,预先定义好。一个分区对应地图上的一个多边形区域。算法4实现了信息增益率的计算,这样就可以利用C4.5算法构建决策树模型了。C4.5算法是由Ross Quinlan开发的用于产生决策树的算法。该算法是对Ross Quinlan之前开发的ID3算法的一个扩展。C4.5算法产生的决策树可以被用作分类目的,因此该算法也可以用于统计分类。
然后执行步骤S6:将对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息。
具体来说,通过将对应的属性值输入构建的预设决策树模型,则可以得到对应的分区信息。
在一种实施方式中,根据引入的T、C和PE三个算子,进行预剪枝处理包括:删除C算子中低于预设值的C,并根据预设规则将T赋予权重,对T进行数值化处理,引入TC算子替代T算子和C算子,以及删除PE(R)。
具体来说,本发明中定位的目的是分区,而且分区在机器学习中属于分类问题,根据用户数据的自身特点,基于决策树的C4.5算法,可以获得性能良好的决策树,并基于该决策树实现精准的分区。而传统的决策树C4.5算法中一个关键问题就是分裂属性的选取,而本申请中,面临的问题比较复杂,一方面属性很多,另一方面属性之间也相互影响,即属性之间不是独立的,而是具有一定的关系。因此,我们先对属性进行分析,本发明的数据主要由以下四个信息组成,并结合真实数据进行详细的说明:
(1)城市:对于本研究的数据而言,绝大部分都是“郑州”;
(2)区县:就是市的区行政功能划分,比如“二七区”,“金水区”等;
(3)道路:由于是基于深度学习模型预测的结果,正如前面所述,从深度学习模型来看,结果是非常理想的,但是从GeocodingAPI角度,就存在不规范和不准确的问题,除了错别字外,还会有一些习惯问题,比如典型的问题:不会区分“商城南路”、“商城东路”和“商城路”的区别,但是在GeocodingAPI看来,差别是很大的,实际上确实是三条不同的路。
(4)小区名称:基本情况与道路类似。
实际情况还包括:道路和小区都有被用户省略、缺失关键信息、存在错别字等,这些都对信息产生了很大程度的干扰,因此这是两个非常重要的属性,却很难断定其真实的价值。
与此同时,道路和小区这两个属性的值几乎是难以枚举的,而且随着时间的推移,都会发生不可预料的变化,这对于决策树模型来说是很难直接使用的。基于C4.5算法的思想,本发明借助GeocodingAPI,将以上四种属性进行联合,并做一个映射进行数值化,然后作为属性,这样就可以使用C4.5算法进行决策树模型的构建。
记C为城市,R为区县,L为道路,P为小区,A[,,]表示组合变量,比如A[R,P]表示区县和小区的联合表示(形如“二七区保利心语”)。
为了给出形式化描述,给出如下算子的定义:
URL(A)表示将A转化为GeocodingAPI所需的url格式字符串;
G(url)表示借助GeocodingAPI解析的结果,其中url是包含地理信息的字符串,可由URL(A)求解得到;
Type(x)表示取x中的类型信息,这里的x表示GeocodingAPI解析的结果,下同;
Status(x)表示取x的状态;
Confidence(x)表示取x中的置信度;
Precise(x)表示取x中的精度,其值只有0和1;
LngLat(x)表示取x中的经纬度信息;
Region(LngLat(x))表示求解分区,简记为RL(x)。
上述算子可由GeocodingAPI自身提供,然后将通过这些算子构建属性。在具体的实施过程中,可以通过属性的选取算法来构建属性。
该算法的输入为:城市C,县区R,道路L和小区P;
输出为:一组适合决策树模型的属性;
1)算法开始
2)属性组合:
根据数据本身和实验结果,对输入信息进行组合并做筛选,得到R,RP和RL三种有效的组合;
3)属性数值化:
利用GeocodingAPI,引入T、C和PE三个算子,实现属性的数值化或为数值化做准备;
4)预剪枝处理:
①忽略低于20的C的值;
②减少T的种类,并赋予T权重以数值化T;
③引入TC算子代替T和C两个算子;
④忽略PE(R);
5)得到五个属性:PE(RP),TC(RP),PE(LP),TC(LP),TC(R);
6)算法结束
具体来说,对C,R,L,P做组合,即为A,通过Type(G(URL(A))),就可以得到组合后的类型信息,简记为T(A),而这些类型是可以枚举的,而且由于数据的自身特性,真实的类型数目更加有限。Confidence(G(URL(A)))是0~100的数字,标识了本次模糊匹配的置信度,简记为C(A)。Precise(G(URL(A)))为精度,简记为PE(A)。
至此,得到了可供选择的属性:C,R,L,P,T(A),C(A)和PE(A),其中A为C,R,L,P的至少两个组合,按照组合数公式计算,共有11种组合,实际上,根据GeocodingAPI的特性,C可以直接传进去,所以C是必然的选择,(这是因为C代表的是当前的城市,利用GeocodingAPI时,可以直接GeocodingAPI传递一个参数,告知GeocodingAPI当前的城市,这个是必然的选择,与分裂属性可以说完全没有关系这样),那么此时只有4种选择了,即RL,RP,LP和RLP,根据常识,RL,RLP并没有实际意义(RL的组合表示区县的某一条道路,而实际上不会将某一条路划分给某一个区县),所以也不用考虑,此时只剩下RP和LP。
更进一步地考虑,L,P可以归到LP中,因为LP本身就包含了两者,而且更具专业领域知识,LP的联合本身就比L、P单独使用更好,RP也是一样的道理。此时备选属性剩下:R,RP和LP。正如前所述,直接通过R,RP和LP是不合适的,而是要用PE、T和C算子,PE算子结果很简单,就是0和1,因此其作为属性非常合适;T算子表示类型,GeocodingAPI官方文档共有37种,考虑到数据是用户信息,类型更加有限,因此作为属性也是合适的,C算子表示置信度,是0~100的连续值,按照C4.5算法中的离散化做对应处理即可。
综上所述,选取的属性为:PE(RP),T(RP),C(RP),PE(LP),T(LP),C(LP),PE(R),T(R),C(R)。
在选取上述属性后,可以看到目前的属性仍然是比较复杂的,构建决策树时计算信息增益率的任务较为困难,因此引入两种剪枝处理:预剪枝和后剪枝,预剪枝可以基于专业领域知识(例如GeocodingAPI)进行处理,而后剪枝利用PEP剪枝法进行处理。
经过大量而深入的实验发现,道路信息具有很大的不规范性,因此提出一种规范化策略:过滤无效信息(比如“北段”,“东段”等),重点关注交叉口信息,因为交叉口是一个非常重要的信息;所以将道路分为两种:普通道路和交叉道路,对于这两种情形,对LP进行了更细致的划分,换句话说,就是将T算子的类型进一步减少,与此同时,对于C算子,那些低于20的结果也直接忽略,不再参与决策树的构建,从源头避免了本来就无效的决策,所以称之为“预剪枝”。
更进一步,如果将T算子的类型进行量化,即给出一个权重,这样可以将T算子和C算子结合起来。因为考虑T和C的时候,都是在进行模糊匹配的时候,而这两个算子共同作用能够更好地反映GeocodingAPI的判断结果,因此引入TC算子代替T算子和C算子,这种操作简化了决策树构建过程,并且简化了决策树的结构。这是一次很大的优化,实践证明这样不仅提高了C4.5算法的性能,而且构建的决策树更为简洁,而且保证了决策结果的准确度。此外,对于R来说,本身就是不严格的因素,所以仅仅通过TC(R)就可以了,至此,选择了PE(RP),TC(RP),PE(LP),TC(LP),TC(R)作为属性。
而对于PEP进行的后剪枝法,可以采用C4.5算法中方法来实现。
至此,通过GeocodingAPI,我们引入了算子,并根据基于足够的真实数据集进行的大量实验,得到了适合的利用C4.5算法构建决策树模型的属性。其中,属性的选取算法是选取属性的核心算法,解决了C4.5算法中属性选取问题,因为从属性的选取算法的输入来看,采用现有的方法是无法构建决策树模型的,也就是说无法直接利用四个信息(C,R,L和P)进行决策树的构建。通过上述算法,可以有效解决利用传统经典算法C4.5构建决策树模型进行分区的先天不足的问题。
在一种实施方式中,所述方法还包括:
通过构建RL算子,建立获得的属性与预设分区之间的对应关系,其中预设分区包括东区、南区、西区和北区;
根据所述对应关系,将RL算子与目标分区是否相等作为分类标签,其中,目标分区为预先获得训练集中标注的分区。
具体来说,预设决策树模型中,另外一个重要问题就是分类标签,一般地,会将四个分区作为分类标签,但PE(RP),TC(RP),PE(LP),TC(LP)和TC(R)实际上是定位结果的一组状态,这和“东区”“南区”“西区”和“北区”并没有直接的关系,所以不能作为分类标签,因此需要找到一个能够表征这种关系的量。本发明通过RL算子(Region(LngLat(x)))就能够建立这种关系,记目标分区(即训练集中标注的分区)为Ψ,将Ψ和RL的结果是否相等作为分类标签。
在一种实施方式中,在步骤6之后所述方法还包括:
根据RL算子,获得最终的分区信息。
具体来说,由于前述步骤中,通过RL算子建立了属性与分区之间的关系,那么则可以通过该算子得到最终精确的分区信息。
在一种实施方式中,在获得最终的分区信息之后,所述方法还包括:
将最终的分区信息存储至定位分区字典中。
具体来说,通过将最终的分区信息存储定位分区字典中,可以对定位分区字典进行更新与扩充,为后续的定位分区做铺垫。
为了更清楚地说明本发明的具体应用,下面通过一个具体示例予以介绍。
如图2所示,为本发明一种优选实施方式中,定位分区方法的实现流程图。
首先,获取原始的用户信息UserInfs,通过预设深度学习模型对用户信息UserInfs进行批量预测,得到批量预测结果PerdictedInfs,然后判断该预测结果PerdictedInfs是否处理完毕,如果处理完毕,则结束,如果未处理完,则读取PerdictedInfs中的一条记录inf,index为当前记录的下标,接着获取inf中的原始地理信息(即通过预设深度学习模型识别出的信息),再判断index之前是否出现过,如果出现过,则直接从以前相同的信息中获得小区信息和分区信息,以前相同的信息即预设信息,相同信息是具有相同县区,相同的道路和相同的小区,存储于“定位分区字典”中。如果没有出现过,则根据plot、city和region构建查询因子queryfactor(即查询表达式),接着查询定位分区字典,查看是否包含查询因子,如果包含,则直接从定位分区字典中获得分区信息,如果不包含,则根据预先获取的实际数据中的信息求解属性值:PE(RP),TC(RP),PE(LP),TC(LP)和TC(R),然后将求解出的属性值PE(RP),TC(RP),PE(LP),TC(LP)和TC(R)送入预设决策树模型——GCpDT,可得到有效的定位信息,再利用RL算子,可得到最终的分区,最后将分区结果存入定位分区字典中。
通过实验以及对比,未采用本发明的方法的预测结果,在真实测试集上只达到了85.3%的精度。本发明的定位分区方法是基于预设决策树模型,通过百度GeocodingAPI服务,构成的高精度的定位分区方法,达到了理想的实际应用效果。将本发明的方法投入真实的应用场景,得得了非常理想的效果。经实验数据得知,小区名称的识别率高达96.3%,而分区准确率高达98.2%,超过了预期的性能指标。
基于同一发明构思,本申请还提供了与实施例一中基于深度学习的地理信息的定位分区方法对应的装置,详见实施例二。
实施例二
本实施例提供了一种基于深度学习的地理信息的定位分区装置,请参见图3,该装置包括:
预测结果获取模块301,用于获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应;
记录判断模块302,用于判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index;
地理信息获取模块303,用于获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区;
求解判断模块304,用于判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
查询模块305,用于查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
分区模块306,用于将对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息。
在一种实施方式中,查询模块中,根据预先获取的实际数据中的信息求解对应的属性值,具体包括:
根据预先获取的实际数据确定输入信息,其中,输入信息包括城市C、县区R、道路L和小区P;
根据预测结果,对输入信息进行组合与筛选,获得R、RP和RL三种组合,其中,RP表示县区与小区的组合,RL表示县区和道路的组合;
利用预设地理编码服务接口GeocodingAPI,T、C和PE三个算子,实现属性的数值化,其中,T算子为Type(x),表示取x中的类型信息,x表示Geocoding API解析的结果,C算子为Confidence(x),表示取x中的置信度,PE算子为Precise(x),表示取x中的精度,PE算子的值只有0和1;
根据引入的T、C和PE三个算子,进行预剪枝处理,获得对应的属性值,具体为PE(RP),TC(RP),PE(LP),TC(LP),TC(R),其中,TC算子根据T算子和C算子获得。
在一种实施方式中,分区模块中的预设决策树模型通过下述方式进行构建:
基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性;
根据选择出的分裂属性和C4.5算法构建所述预设决策树。
在一种实施方式中,基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性具体包括:根据公式(1)~(4)计算信息增益率值,
其中,公式(1)求解信息增益率,IGR代表信息增益率,S代表训练数据集,即已知分区的用户信息组成的集合,A代表当前的属性;公式(2)求解分裂之前样本集S的熵E(S),其中xi代表分类标签,p(xi)代表xi在样本集S中出现的频率,N=2,表示是否正确分区,xi表示“分区正确”和“分区错误”;公式(3)求解通过属性A分裂之后样本集的熵EA(S),S按照A划分后得到M个子集,Si为第i个子集;公式(4)求解属性A的分裂信息SIA(S),其中,训练数据集S通过属性A的属性值划分为M个子数据集,|Si|表示第i个子数据集中样本数量,|S|表示划分之前数据集中样本总数量。
在一种实施方式中,根据引入的T、C和PE三个算子,进行预剪枝处理包括:删除C算子中低于预设值的C,并根据预设规则将T赋予权重,对T进行数值化处理,引入TC算子替代T算子和C算子,以及删除PE(R)。
在一种实施方式中,还包括RL算子构建模块,用于:
通过构建RL算子,建立获得的属性与预设分区之间的对应关系,其中预设分区包括东区、南区、西区和北区;
根据所述对应关系,将RL算子与目标分区是否相等作为分类标签,其中,目标分区为预先获得训练集中标注的分区。
在一种实施方式中,还包括精确分区模块,用于:
根据RL算子,获得最终的分区信息。
在一种实施方式中,还包括存储模块,用于在获得最终的分区信息之后:
将最终的分区信息存储至定位分区字典中。
由于本发明实施例二所介绍的装置,为实施本发明实施例一中基基于深度学习的地理信息的定位分区方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
实施例三
基于同一发明构思,本申请还提供了一种计算机可读存储介质400,请参见图4,其上存储有计算机程序411,该程序被执行时实现实施例一中的方法。
由于本发明实施例三所介绍的计算机可读存储介质,为实施本发明实施例一中基于深度学习的地理信息的定位分区方法所采用的计算机可读存储介质,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该计算机可读存储介质的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的计算机可读存储介质都属于本发明所欲保护的范围。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (9)
1.一种基于深度学习的地理信息的定位分区方法,其特征在于,包括:
步骤S1:获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应;
步骤S2:判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index;
步骤S3:获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区;
步骤S4:判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
步骤S5:查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
步骤S6:将S5中求解出的对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息;
其中,步骤S5中,根据预先获取的实际数据中的信息求解对应的属性值,具体包括:
根据预先获取的实际数据确定输入信息,其中,输入信息包括城市C、县区R、道路L和小区P;
根据预测结果,对输入信息进行组合与筛选,获得R、RP和RL三种组合,其中,RP表示县区与小区的组合,RL表示县区和道路的组合;
利用预设地理编码服务接口Geocoding API,T、C和PE三个算子,实现属性的数值化,其中,T算子为Type(x),表示取x中的类型信息,x表示Geocoding API解析的结果,C算子为Confidence(x),表示取x中的置信度,PE算子为Precise(x),表示取x中的精度,PE算子的值只有0和1;
根据引入的T、C和PE三个算子,进行预剪枝处理,获得对应的属性值,具体为PE(RP),TC(RP),PE(LP),TC(LP),TC(R),其中,TC算子根据T算子和C算子获得。
2.如权利要求1所述的方法,其特征在于,在步骤S6中,预设决策树模型通过下述方式进行构建:
基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性;
根据选择出的分裂属性和C4.5算法构建所述预设决策树。
3.如权利要求2所述的方法,其特征在于,基于预设信息增益率求解算法,从求解出的属性值中,选择出分裂属性具体包括:根据公式(1)~(4)计算信息增益率值,
其中,公式(1)求解信息增益率,IGR代表信息增益率,S代表训练数据集,即已知分区的用户信息组成的集合,A代表当前的属性;公式(2)求解分裂之前样本集S的熵E(S),其中xi代表分类标签,p(xi)代表xi在样本集S中出现的频率,N=2,表示是否正确分区,xi表示“分区正确”和“分区错误”;公式(3)求解通过属性A分裂之后样本集的熵EA(S),S按照A划分后得到M个子集,Si为第i个子集;公式(4)求解属性A的分裂信息SIA(S),其中,训练数据集S通过属性A的属性值划分为M个子数据集,|Si|表示第i个子数据集中样本数量,|S|表示划分之前数据集中样本总数量。
4.如权利要求1所述的方法,其特征在于,根据引入的T、C和PE三个算子,进行预剪枝处理包括:删除C算子中低于预设值的C,并根据预设规则将T赋予权重,对T进行数值化处理,引入TC算子替代T算子和C算子,以及删除PE(R)。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
通过构建RL算子,建立获得的属性与预设分区之间的对应关系,其中预设分区包括东区、南区、西区和北区;
根据所述对应关系,将RL算子与目标分区是否相等作为分类标签,其中,目标分区为预先获得训练集中标注的分区。
6.如权利要求5所述的方法,其特征在于,在步骤6之后所述方法还包括:
根据RL算子,获得最终的分区信息。
7.如权利要求6所述的方法,其特征在于,在获得最终的分区信息之后,所述方法还包括:
将最终的分区信息存储至定位分区字典中。
8.一种基于深度学习的地理信息的定位分区装置,其特征在于,包括:
预测结果获取模块,用于获取通过预设深度学习模型获得的预测结果PerdictedInfs,其中,预测结果中包括多条记录,与用户信息UserInfs中的记录一一对应;
记录判断模块,用于判断预测结果中所有记录是否处理完毕,如果否,则读取预测结果中的一条记录inf,其中,记录inf的下标为index;
地理信息获取模块,用于获取记录inf中的地理信息,其中,地理信息包括小区、城市和县区;
求解判断模块,用于判断记录inf的下标index是否求解过,如果是,则从预设信息中得出与记录inf对应的小区信息和分区信息;如果否,则根据小区、城市和县区构建查询表达式,其中,预设信息中包含已经求解出的小区信息和分区信息;
查询模块,用于查询定位分区字典中是否包含所述查询表达式,如果包含,则从定位分区字典中获取分区信息,如果不包含,则根据预先获取的实际数据中的信息求解对应的属性值,其中,定位分区字典预先构建,且其中包含与各个查询表达式对应的分区信息;
分区模块,用于将对应的属性值输入预设决策树模型,获得与该记录inf对应的分区信息;
其中,查询模块中,根据预先获取的实际数据中的信息求解对应的属性值,具体包括:
根据预先获取的实际数据确定输入信息,其中,输入信息包括城市C、县区R、道路L和小区P;
根据预测结果,对输入信息进行组合与筛选,获得R、RP和RL三种组合,其中,RP表示县区与小区的组合,RL表示县区和道路的组合;
利用预设地理编码服务接口Geocoding API,T、C和PE三个算子,实现属性的数值化,其中,T算子为Type(x),表示取x中的类型信息,x表示Geocoding API解析的结果,C算子为Confidence(x),表示取x中的置信度,PE算子为Precise(x),表示取x中的精度,PE算子的值只有0和1;
根据引入的T、C和PE三个算子,进行预剪枝处理,获得对应的属性值,具体为PE(RP),TC(RP),PE(LP),TC(LP),TC(R),其中,TC算子根据T算子和C算子获得。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被执行时实现如权利要求1至7任一项权利要求所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811448666.8A CN109614456B (zh) | 2018-11-28 | 2018-11-28 | 一种基于深度学习的地理信息的定位分区方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811448666.8A CN109614456B (zh) | 2018-11-28 | 2018-11-28 | 一种基于深度学习的地理信息的定位分区方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109614456A CN109614456A (zh) | 2019-04-12 |
CN109614456B true CN109614456B (zh) | 2020-11-03 |
Family
ID=66005961
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811448666.8A Expired - Fee Related CN109614456B (zh) | 2018-11-28 | 2018-11-28 | 一种基于深度学习的地理信息的定位分区方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109614456B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209362A (zh) * | 2020-01-07 | 2020-05-29 | 苏州城方信息技术有限公司 | 基于深度学习的地址数据解析方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102306204A (zh) * | 2011-09-28 | 2012-01-04 | 武汉大学 | 基于文本结构权重的主题区域识别方法 |
CN102323950A (zh) * | 2011-09-07 | 2012-01-18 | 深圳市名通科技有限公司 | 基于投诉信息的地点识别的方法和装置 |
CN103996287A (zh) * | 2014-05-26 | 2014-08-20 | 江苏大学 | 一种基于决策树模型的车辆强制换道决策方法 |
KR101743270B1 (ko) * | 2017-03-08 | 2017-06-05 | (주)나인정보시스템 | 다수의 플랑크톤이 응집 혹은 산재해 있는 현미경 영상에서 딥러닝을 이용하여 개개 플랑크톤을 분리 및 인식하는 방법 |
-
2018
- 2018-11-28 CN CN201811448666.8A patent/CN109614456B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102323950A (zh) * | 2011-09-07 | 2012-01-18 | 深圳市名通科技有限公司 | 基于投诉信息的地点识别的方法和装置 |
CN102306204A (zh) * | 2011-09-28 | 2012-01-04 | 武汉大学 | 基于文本结构权重的主题区域识别方法 |
CN103996287A (zh) * | 2014-05-26 | 2014-08-20 | 江苏大学 | 一种基于决策树模型的车辆强制换道决策方法 |
KR101743270B1 (ko) * | 2017-03-08 | 2017-06-05 | (주)나인정보시스템 | 다수의 플랑크톤이 응집 혹은 산재해 있는 현미경 영상에서 딥러닝을 이용하여 개개 플랑크톤을 분리 및 인식하는 방법 |
Non-Patent Citations (2)
Title |
---|
Traffic Flow Prediction With Big Data: A Deep Learning Approach;Lv, Yisheng 等;《IEEE TRANSACTIONS ON INTELLIGENT TRANSPORTATION SYSTEMS》;20150430;第16卷(第2期);865-873 * |
空间数据插值的自动化方法研究;徐武平 等;《武汉大学学报(信息科学版)》;20160405(第04期);498-502 * |
Also Published As
Publication number | Publication date |
---|---|
CN109614456A (zh) | 2019-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104769586B (zh) | 采用位置信息剖析数据 | |
CN112100529B (zh) | 搜索内容排序方法、装置、存储介质和电子设备 | |
CN105183767B (zh) | 一种基于企业网络的企业业务相似度计算方法与系统 | |
JP3648051B2 (ja) | 関連情報検索装置及びプログラム記録媒体 | |
US20150242407A1 (en) | Discovery of Data Relationships Between Disparate Data Sets | |
CN105447525A (zh) | 一种数据预测分类方法及装置 | |
CN107016068A (zh) | 知识图谱构建方法及装置 | |
CN106503223B (zh) | 一种结合位置和关键词信息的在线房源搜索方法及装置 | |
CN113342976B (zh) | 一种自动采集处理数据的方法、装置、存储介质及设备 | |
CN111191040A (zh) | 城市运行知识图谱构建方法、装置和计算机设备 | |
JP2007287139A (ja) | 消費者に製品を推奨するためのコンピュータ実施方法及びシステム | |
CN106462620A (zh) | 巨型网络上的距离查询 | |
CN104462357A (zh) | 实现个性化搜索的方法和装置 | |
WO2021189977A1 (zh) | 地址编码方法、装置、计算机设备及计算机可读存储介质 | |
CN106776729B (zh) | 一种大规模知识图谱路径查询预测器构造方法 | |
CN103678436A (zh) | 信息处理系统和信息处理方法 | |
CN109614456B (zh) | 一种基于深度学习的地理信息的定位分区方法及装置 | |
CN109885797B (zh) | 一种基于多身份空间映射的关系网络构建方法 | |
CN110737779A (zh) | 知识图谱的构建方法、装置、存储介质和电子设备 | |
CN112598405B (zh) | 一种基于大数据的商业项目数据管理方法及系统 | |
WO2019069507A1 (ja) | 特徴量生成装置、特徴量生成方法および特徴量生成プログラム | |
CN117807245A (zh) | 网络资产图谱中节点特征提取方法及相似节点搜索方法 | |
CN111339258B (zh) | 基于知识图谱的大学计算机基础习题推荐方法 | |
CN112990575A (zh) | 基于知识图谱的产业发展路径预测方法及其装置 | |
CN112801784A (zh) | 一种数字货币交易所的比特币地址挖掘方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20201103 Termination date: 20211128 |