CN112101679B - 基于人工智能的导航道路选择方法、装置 - Google Patents
基于人工智能的导航道路选择方法、装置 Download PDFInfo
- Publication number
- CN112101679B CN112101679B CN202011013691.0A CN202011013691A CN112101679B CN 112101679 B CN112101679 B CN 112101679B CN 202011013691 A CN202011013691 A CN 202011013691A CN 112101679 B CN112101679 B CN 112101679B
- Authority
- CN
- China
- Prior art keywords
- road
- starting point
- determining
- positioning
- sample
- 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.)
- Active
Links
- 238000013473 artificial intelligence Methods 0.000 title claims abstract description 57
- 238000010187 selection method Methods 0.000 title claims abstract description 26
- 238000000034 method Methods 0.000 claims abstract description 49
- 238000012163 sequencing technique Methods 0.000 claims description 36
- 238000012549 training Methods 0.000 claims description 31
- 238000011156 evaluation Methods 0.000 claims description 23
- 230000015654 memory Effects 0.000 claims description 23
- 230000006870 function Effects 0.000 claims description 21
- 238000004891 communication Methods 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 10
- 230000001186 cumulative effect Effects 0.000 claims description 7
- 230000004807 localization Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 54
- 238000010586 diagram Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 230000002596 correlated effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 230000006872 improvement Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013515 script Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- General Physics & Mathematics (AREA)
- Game Theory and Decision Science (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Operations Research (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Remote Sensing (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Navigation (AREA)
Abstract
本申请提供了一种基于人工智能的导航道路选择方法、装置、电子设备及计算机可读存储介质;方法包括:在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;基于起点在地图页面中确定备选起点道路;基于起点和备选起点道路确定备选起点道路的定位特征;在道路排序模型中查找与定位特征匹配的节点,将节点的输出值作为备选起点道路的评分;在地图页面中显示评分最高的备选起点道路,以作为通向终点的导航路线的起点道路。通过本申请,能够提高起点道路选择的精确性。
Description
技术领域
本申请涉及人工智能技术,尤其涉及一种基于人工智能的导航道路选择方法、装置、电子设备及计算机可读存储介质。
背景技术
人工智能(Artificial Intelligence,AI)是计算机科学的一个综合技术,通过研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,例如自然语言处理技术以及机器学习/深度学习等几大方向,随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
相关技术中缺乏基于人工智能确定导航的起点道路的有效方案,主要依赖于人为制定的策略选择导航的起点道路,使得选择的起点道路的准确性较低。
发明内容
本申请实施例提供一种基于人工智能的导航道路选择方法、装置、电子设备及计算机可读存储介质,能够提高起点道路选择的精确性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种基于人工智能的导航道路选择方法,包括:
在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;
基于所述起点在所述地图页面中确定备选起点道路;
基于所述起点和所述备选起点道路确定所述备选起点道路的定位特征;
在道路排序模型中查找与所述定位特征匹配的节点,将所述节点的输出值作为所述备选起点道路的评分;
在所述地图页面中显示评分最高的所述备选起点道路,以作为通向所述终点的导航路线的起点道路。
本申请实施例提供一种基于人工智能的导航道路选择装置,包括:
显示模块,用于在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;以及用于在所述地图页面中显示评分最高的备选起点道路,以作为用于通向所述终点的导航路线的起点道路;
第一确定模块,用于基于所述起点在所述地图页面中确定备选起点道路;
第二确定模块,用于基于所述起点和所述备选起点道路确定所述备选起点道路的定位特征;
评分模块,用于在道路排序模型中查找与所述定位特征匹配的节点,将所述节点的输出值作为所述备选起点道路的评分。
上述方案中,所述第一确定模块,还用于:
根据所述起点与所述备选起点道路之间的距离阈值,确定所述起点的道路选取区域,将所述道路选取区域中的多条道路作为所述备选起点道路;或
确定所述地图页面中显示的每条道路与所述起点之间的距离,将距离小于距离阈值的多条道路作为所述备选起点道路。
上述方案中,所述定位特征包括属性和关联关系;所述第二确定模块,还用于:
执行以下操作至少之一:
确定所述起点的属性;
确定每个前序定位点的属性,其中,所述前序定位点为在所述起点之前进行定位所确定的定位点;
确定所述起点与所述备选起点道路的关联关系,并确定所述每个前序定位点与所述备选起点道路的关联关系。
上述方案中,所述第二确定模块,还用于:
执行以下操作至少之一:
确定所述起点的速度、精度和方向角度至少之一;
确定每个所述前序定位点的速度、精度和方向角度至少之一;
上述方案中,所述第二确定模块,还用于:
执行以下操作至少之一:
根据所述每个前序定位点的速度,确定多个前序定位点的速度分布;
根据所述每个前序定位点的精度,确定所述多个前序定位点的精度分布;
根据所述每个前序定位点的方向角度,确定所述多个前序定位点的方向角度变化分布。
上述方案中,所述第二确定模块,还用于:
执行以下操作至少之一:
确定所述起点与所述备选起点道路的距离;
确定所述起点的方向角度与所述备选起点道路的方向角度的差值;
上述方案中,所述第二确定模块,还用于:
执行以下操作至少之一:
确定所述每个前序定位点与所述备选起点道路是否具有连通关系;
确定所述每个前序定位点与所述备选起点道路之间的距离;
确定所述每个前序定位点的方向角度与所述备选起点道路的方向角度的差值。
上述方案中,所述道路排序模型包括多个节点,每个节点包括对应所述定位特征包括的不同类型属性或不同类型关联关系的取值条件、以及符合相应取值条件时的输出值或跳转的下一个节点;所述评分模块,还用于:
根据所述定位特征包括的属性和关联关系,从所述道路排序模型中查找匹配的节点,并将查找的最后一个匹配的节点的输出值,作为所述备选起点道路的评分。
上述方案中,所述基于人工智能的导航道路选择装置还包括训练模块,用于:
获取道路样本集合,所述道路样本集合包括多个道路样本、以及与所述多个道路样本对应的定位特征;
针对所述道路样本集合执行以下处理:
对所述道路样本集合中的道路样本进行随机进行排序,并基于预测得到的评分对所述道路样本集合中的道路样本进行排序;
基于所述道路样本集合的排序结果与所述道路样本集合的真实排序结果的差异,确定所述道路样本集合对应的评价指标;
基于所述评价指标和所述道路样本集合的概率损失函数确定所述道路样本集合中每个道路样本对应的梯度;
基于所述每个道路样本对应的梯度确定分裂代价最小的多个节点,得到由所述多个节点构成的道路排序模型;
基于所述道路排序模型中划分到每个节点的道路样本对应的梯度,确定所述道路排序模型中每个节点的数值。
上述方案中,所述道路样本的类型包括正样本和负样本,所述正样本为基于样本定位起点正确规划的起点道路,所述负样本为基于所述样本定位起点错误规划的起点道路;所述训练模块,还用于:
确定与所述样本定位起点的时间相匹配的真实轨迹;
确定导航历史日志中与所述真实轨迹对应的规划起点道路和其他备选起点道路;
当所述规划起点道路与所述真实轨迹一致时,将所述规划起点道路作为所述正样本,并将所述其他备选起点道路作为所述负样本;
分别获取所述正样本的定位特征和所述负样本的定位特征。
上述方案中,所述训练模块,还用于:
对所述道路样本集合中的道路样本赋予标签值,其中,所述正样本和所述负样本被赋予不同的标签值;
基于所述排序结果和所述道路样本的标签值,确定所述道路样本集合中道路样本的折损累计增益;
基于所述道路样本集合中的道路样本的标签值,对所述道路样本集合中的道路样本进行排序,得到所述真实排序结果;
基于所述真实排序结果中的所述道路样本的标签值确定所述道路样本的真实折损累计增益;
将所述道路样本的所述折损累计增益与所述真实折损累计增益的比值作为所述评价指标。
本申请实施例提供一种电子设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的基于人工智能的导航道路选择方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的基于人工智能的导航道路选择方法。
本申请实施例具有以下有益效果:
在基于起点确定备选起点道路后,通过道路排序模型查找到与备选起点道路的定位特征相匹配的节点,将节点的输出值作为备选起点道路的评分,从而能够以道路的定位特征与评分之间的关联来筛选出精确的起点道路。
附图说明
图1A是本申请实施例提供的导航系统10的架构示意图;
图1B是本申请实施例提供的导航系统10的架构示意图;
图2是本申请实施例提供的终端400的结构示意图;
图3A是本申请实施例提供的基于人工智能的导航道路选择方法的流程示意图;
图3B是本申请实施例提供的训练道路排序模型的流程示意图;
图3C是本申请实施例提供的基于人工智能的导航道路选择方法的交互流程示意图;
图4A是本申请实施例提供的发起导航时的地图页面示意图;
图4B是本申请实施例提供的导航模式下的地图页面示意图;
图5是本申请实施例提供的道路排序模型的处理过程示意图;
图6A是本申请实施例提供的规划起点道路正确的示意图;
图6B是本申请实施例提供的规划起点道路错误的示意图;
图7是本申请实施例提供的起点道路选择的对比示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
相关技术在通过全球定位系统确定用户所在的起点之后,将距离起点最近的道路,或道路方向与起点方向最为接近的道路作为起点道路。然而,用户在使用终端进行导航时,因为终端的导航信号受环境影响较大,在终端的地图显示页面中经常会发生导航位置漂移,与实际位置不同的现象。因此,如果按照相关技术中的上述人为制定的固定规则选择起点道路,可能会误判,将用户所在道路附近的一条其他道路判断为起点道路,最终导致导航路线错误。
并且,上述固定规则在实际使用过程中,规则之间有可能会出现互斥的现象,例如,在使用与用户前进方向最为接近的道路时,可能会将距离起点更远的其他道路作为起点道路。可见,上述固定规则使用的因素较少,不能全方位的使用与起点道路相关的因素,因此,实用性较差。
为了解决上述固定规则所带来的误判问题,相关技术只能通过不断的添加新规则对导航进行优化,然而制定新规则对本领域技术人员具有较高的经验要求,这将导致导航功能的更新迭代较慢,无法在第一时间解决误判问题。
为至少解决相关技术的上述技术问题,本申请实施例提供一种基于人工智能的导航道路选择方法、装置、电子设备和计算机可读存储介质,能够综合使用与起点道路相关的因素,提高起点道路选择的精确性。
本申请实施例提供的基于人工智能的导航道路选择方法可以由各种电子设备实施,例如,可以由终端单独实施,也可以由服务器和终端协同实施。例如终端独自执行下文所述的基于人工智能的导航道路选择方法,或者,由终端和服务器协同执行下文所述的基于人工智能的导航道路选择方法,例如终端向服务器发送起点和备选起点道路,服务器根据接收的起点和备选起点道路执行基于人工智能的导航道路选择方法。
本申请实施例提供的用于导航道路选择的电子设备可以是各种类型的终端设备或服务器,其中,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器;终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请对此不做限制。
以服务器为例,例如可以是部署在云端的服务器集群,向用户开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务,这种服务模式类似于一个AI主题商城,所有的用户都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
例如,其中的一种人工智能云服务可以为导航道路选择服务,即云端的服务器封装有本申请实施例提供的导航道路选择的程序。终端响应于用户的导航操作,通过调用云服务中的导航道路选择服务,以使部署在云端的服务器调用封装的导航道路选择的程序,基于起点和备选起点道路确定起点的定位特征,并根据定位特征预测各个备选起点道路的评分,最后将各个备选起点道路的评分返回给终端,以使终端的导航页面中显示评分最高的备选起点道路。
下面以服务器和终端协同实施本申请实施例提供的基于人工智能的导航道路选择方法为例进行说明。参见图1A,图1A是本申请实施例提供的导航系统10的架构示意图。终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
在一些实施例中,终端400响应于用户的导航操作,基于起点确定多个备选起点道路,并生成携带起点和多个备选起点道路的导航请求,将导航请求发送给服务器200,服务器200接收导航请求后,基于起点和多个备选起点道路确定备选起点道路的定位特征,并根据定位特征预测每个备选起点道路对应的评分,最后将各备选起点道路的评分返回给终端400,终端400从多个备选起点道路中选择评分最高的备选起点道路作为起点道路,在导航页面中显示起点道路。
在另一些实施例中,终端400在确定多个备选起点道路之后,可基于起点和多个备选起点道路确定备选起点道路的定位特征,并向服务器200发送携带备选起点道路的定位特征的导航请求,服务器200根据导航请求中的定位特征预测每个备选起点道路对应的评分,并将各备选起点道路的评分返回给终端400,最终在终端400的导航页面中显示评分最高的备选起点道路。当终端400检测到用户按照备选起点道路前进,并且即将达到分叉路口时,确定与分叉路口连通的多条道路,并确定多条道路的定位特征,多条道路的定位特征包括分岔路口的属性、多条道路的属性以及分岔路口与多条道路的关联关系。终端400向服务器200发送携带多条道路的定位特征的导航请求,服务器200根据导航请求中多条道路的定位特征预测与分岔路口连通的每条道路对应的评分,并将每条道路的评分返回给终端400,终端400选取评分最高的道路作为起点道路的下一条道路。当遇到分岔路口时,重复上述处理过程以选取下一条道路,直至下一条道路为直接到达终点的道路。
本申请实施例还可以通过区块链技术来实现,参见图1B,图1B是本申请实施例提供的导航系统10的架构示意图。终端400在每次导航结束后,将导航数据发送给区块链网络500(示例性示出了区块链网络500包括的节点510-1、节点510-2和节点510-3),或者每间隔固定时间将导航数据发送给区块链网络500,当区块链网络500收集的导航数据达到一定规模时,将导航数据发送给服务器200,服务器200基于接收的导航数据训练道路排序模型,并将训练得到的道路排序模型部署到线上。当服务器200接收到来自于终端400的导航请求时,可通过道路排序模型预测出导航请求中各个备选起点道路的评分,并将评分返回给终端400。此外,区块链网络500可定期将接收到的新的导航数据发送给服务器200,服务器200可基于新的导航数据进行增量学习,对已有的道路排序模型继续训练,不断的优化道路排序模型。
在一些实施例中,以本申请实施例提供的电子设备为终端400为例,终端400通过运行计算机程序来实现本申请实施例提供的基于人工智能的导航道路选择方法,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,例如地图客户端、共享单车客户端、出行客户端等;也可以是浏览器,其通过网页的形式显示地图页面和导航页面;也可以是能够嵌入至任意APP中的导航小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
下面以本申请实施例提供的电子设备为上文所述的终端400为例进行说明,参见图2,图2是本申请实施例提供的终端400的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2将各种总线都标为总线系统440。
处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Me mory),易失性存储器可以是随机存取存储器(RAM,Random Access Memor y)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在一些实施例中,本申请实施例提供的基于人工智能的导航道路选择装置可以采用软件方式实现,图2示出了存储在存储器450中的基于人工智能的导航道路选择装置455,其可以是程序和插件等形式的软件,包括显示模块4551、第一确定模块4552、第二确定模块4553和评分模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
在一些实施例中,在基于人工智能的导航道路选择装置455包括上述模块的基础上,还可以包括训练模块4555,用于训练得到道路排序模型。
需要指出,图2示出的基于人工智能的导航道路选择装置455中的模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的基于人工智能的导航道路选择装置可以采用硬件方式实现,作为示例,本申请实施例提供的基于人工智能的导航道路选择装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的基于人工智能的导航道路选择方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Spe cific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex ProgrammableLogic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
下面说明本申请实施例提供的基于人工智能的导航道路选择方法,下述方法的执行主体可以为终端,具体可以是终端通过运行上文的各种计算机程序来实现的;当然,根据对下文的理解,不难看出也可以由终端和服务器协同实施本申请实施例提供的基于人工智能的导航道路选择方法。
参见图3A,图3A是本申请实施例提供的基于人工智能的导航道路选择方法的流程示意图,将结合图3A示出的步骤进行说明。
在步骤101中,在地图页面中呈现定位的起点,并接收用于设定终点的导航操作。
在一些实施例中,在用户打开地图客户端时,地图客户端调用终端中的定位模块,对用户的位置进行定位并记录。当接收到用户的导航操作后,记录用户当前的起点位置,并将起点之前一段时间(如5s,10s等)内记录的连续的多个定位点作为本次导航的前序点位点。在接收到导航操作的同时,还将接收到用户选择的起点和终点。
在本申请实施例中,用户所选择的起点为当前定位点。如图4A所示,图4A是本申请实施例提供的发起导航时的地图页面示意图。在地图客户端的整个运行过程中,始终显示用户当前的位置,如图4A中的起点401所示。其中,定位的起点与终点不一定位于同一条道路上,起点所在道路与终点所在道路之间可能连接有多条中间道路,相应地,有多种从起点到终点的导航路线可供用户选择,用户可选择时间最短或距离最短或红绿灯最少等条件下的导航路线。图4A中默认的导航路线为第一种方案中的路径,其所需时间最短,且红绿灯最少。
在步骤102中,基于起点在地图页面中确定备选起点道路。
在一些实施例中,基于起点在地图页面中确定备选起点道路,可以采用如下方式实现:根据起点与备选起点道路之间的距离阈值,确定起点的道路选取区域,将道路选取区域中的多条道路作为备选起点道路;或确定地图页面中显示的每条道路与起点之间的距离,将距离小于距离阈值的多条道路作为备选起点道路。
例如,可在地图页面中,以起点为圆心,以设定的距离阈值为半径,将得到的圆形区域作为起点的道路选取区域;或者,以起点为正方形中心,以距离阈值为正方形的长或者对角线长,得到方形区域作为道路选取区域,当然,不排除基于距离阈值的其他几何形状,例如距离阈值为长半径或短半径的椭圆;然后将道路选取区域中的所有道路都作为备选起点道路。还可以确定起点到地图页面中的每条道路的最短距离,即垂直距离,将最短距离小于距离阈值(例如5米)的多条道路都作为备选起点道路。
需要说明的是,确定备选起点道路的方法不限于上述所列举的方法。本申请实施例对具体确定备选起点道路的方法不做限定。
在步骤103中,基于起点和备选起点道路确定备选起点道路的定位特征。
在一些实施例中,定位特征包括属性和关联关系;属性包括起点属性、前序定位点属性、备选起点道路属性,关联关系包括起点与备选起点道路的关联关系、前序定位点与备选起点道路的关联关系。其中,起点属性包括起点的速度、方向角度和精度等。前序定位点属性包括前序定位点速度分布、前序定位点精度分布、相邻前序定位点方向角度变化分布等。备选起点道路属性包括道路长度、道路等级、车道数、路口红绿灯信息等。起点与备选起点道路的关联关系包括起点到备选起点道路的垂直距离、起点方向角度与备选起点道路方向角度的差值等。前序定位点与备选起点道路的关联关系包括前序定位点与备选起点道路的连通关系、前序定位点与备选起点道路的垂直距离、前序定位点的方向角度与备选起点道路的方向角度的差值等。
因此,基于起点和备选起点道路确定备选起点道路的定位特征,即确定定位特征的上述属性和关联关系。因为起点和前序定位点都是定位点,而定位点都有自身的速度、方向角度和精度。因此,在确定起点和多个前序点后,可确定起点和每个前序定位点的速度、方向角度和精度等。
在得到每个前序定位点的速度之后,还可以得到前序定位点的整体速度分布情况,例如,可根据各个前序定位点的速度统计出速度等级分别为快速、中速和慢速的前序定位点在所有前序定位点中所占的比例等。
因为不同时刻的定位点的精度不同,而定位点的精度将影响起点道路的选择,因此,需要统计各个前序定位点的精度,以确定不同精度的前序定位点的分布情况。例如,分别统计出高精度的前序定位点、平均精度的前序定位点和低精度的前序定位点在所有前序定位点中所占的比例。
前序定位点的方向角度用于描述前序定位点的前行方向,例如正东方表示前序定位点向正东方移动,再如东偏南45度表示前序定位点向东南方移动。统计每个前序定位点与上一个前序定位点之间的方向角度变化的情况,从而可确定相邻前序定位点方向角度变化分布。例如,在某一时间段内,连续多个前序定位点的方向角度变化幅度较大,则可确定在该时间段内,前序定位点频繁变化。
在确定备选起点道路之后,可通过查询在线数据库或离线存储的道路信息等方式,确定备选起点道路的道路长度、道路等级、车道数、路口红绿灯信息等信息。
确定前序定位点与备选起点道路是否具有连通关系,即确定多个前序定位点对应的最近道路与备选起点道路的连通关系。例如,确定与多个前序定位点最近的道路为道路A,备选起点道路为道路B和道路C,则需要分别确定道路A是否与道路B连通,道路A是否与道路C连通。在一些实施例中,可通过广度优先搜索、宽度优先搜索等方法确定连通性。
确定前序定位点与备选起点道路的距离,即确定每个前序定位点到每条备选起点道路的垂直距离。确定前序定位点的方向角度与备选起点道路的方向角度的差值,即确定每个前序定位点的方向角度与每条备选起点道路的方向角度的差值的绝对值。
可见,本申请实施例相较于人为设定的固定规则,不仅使用了起点和备选起点道路的相关信息,还使用了固定规则所未涉及的前序定位点的相关信息,如此,使用的影响起点道路选择的因素更为全面,根据上述因素(即定位特征)选取的起点道路也更为精准。
在步骤104中,在道路排序模型中查找与定位特征匹配的节点,将节点的输出值作为备选起点道路的评分。
在一些实施例中,道路排序模型是机器学习模型,例如可以是基于单文档方法(Pointwise)的排序模型,也可以是基于文档对方法(Pairwise)的排序模型,还可以是基于文档列表方法(Listwise)的排序模型。
下面以搜索为例说明Listwise的排序过程,Listwise将每个查询对应的所有查询结果列表作为一个训练样例,根据训练样例训练得到最优评分函数。最优评分函数对新的查询所对应的所有查询结果进行评分,然后根据评分将查询结果由高到低排序,得到最终的排序结果。因为Listwise的排序效果优于Pointwi se和Pairwise,因此,本申请实施例可以选用Listwise这种排序方法。
在一些实施例中,道路排序模型包括多个节点,每个节点包括对应定位特征包括的不同类型属性或不同类型关联关系的取值条件、以及符合相应取值条件时的输出值或跳转的下一个节点。其中,输出值为道路排序模型中与定位特征匹配的各个节点所在的节点路径中的最后一个节点的输出值。
例如,如图5所示,图5是本申请实施例提供的道路排序模型的处理过程示意图,以道路排序模型为回归树模型为例,假设定位特征包括三个子特征f1、f2和f3,f1是起点的属性,f2是前序定位点的属性,f3是起点与备选起点道路的关联关系。道路排序模型为树状结构,包括节点1(即根节点)、节点2(叶节点)和节点3(叶节点),节点1与子特征f1对应,用于根据子特征f1的取值确定下一个节点。节点2与子特征f2对应,节点2为该节点路径(包括节点1和节点2)的最后一个节点,用于输出该节点路径的结果;节点3与子特征f3对应,节点3为该节点路径(包括节点1和节点3)的最后一个节点,用于输出该节点路径的结果。节点1对应的阈值为10.8,相应的取值条件为f1<10.8,当满足这一取值条件时,节点1的下一个节点为节点2,当不满足这一条件时,下一个节点为节点3。节点2对应的阈值为1,相应的取值条件为f2<1,当满足这一取值条件时,该节点路径的输出值为0.7,当不满足这一条件时,该节点路径的输出值为0.8。节点3对应的阈值为1.2,相应的取值条件为f3<1.2,当满足这一取值条件时,该节点路径的输出值为0.5,当不满足这一条件时,该节点路径的输出值为0.4。
在一些实施例中,在道路排序模型中查找与定位特征匹配的节点,将节点的输出值作为备选起点道路的评分,可以采用如下方式实现:根据定位特征包括的属性和关联关系,从道路排序模型中查找匹配的节点,并将查找的最后一个匹配的节点的输出值,作为备选起点道路的评分。
以下结合图5说明上述处理过程,将包含子特征f1、f2和f3的定位特征输入道路排序模型中,在定位特征中查找与道路排序模型的第一个节点相匹配的子特征f1,判断f1是否小于第一个节点的阈值10.8,若小于10.8,进入第二个节点。查找与第二个节点相匹配的子特征f2,判断f2是否小于第二个节点的阈值1;若小于1,则节点路径的输出值为0.7,若大于或等于1,则对应的输出值为0.8。
需要说明的是,图5示出的道路排序模型只包括一棵回归树,包括多条节点路径,不同的节点路径的输出值(即最后一个节点的输出值)不同。作为替代方案,道路排序模型可以是由多棵回归树构成的集成树模型,每棵回归树都包括多个节点组成的多条节点路径,不同的节点路径的输出值(即最后一个节点的输出值)不同。此时,备选起点道路的评分为每棵回归树中与定位特征匹配的最后一个节点所在节点路径的输出值的平均值。例如,集成树模型包括3棵回归树,第一棵树中与定位特征匹配的最后一个节点所在节点路径的输出值为0.1,第二棵树中与定位特征匹配的最后一个节点所在节点路径的输出值为0.3,第三棵树中与定位特征匹配的最后一个节点所在节点路径的输出值为0.5,则最终输出的评分为0.3。
需要说明的是,定位特征中不同子特征的重要性不同,道路排序模型中排序靠前的节点所对应的子特征的重要性更高,其对子特征的区分也更好。如此,可使道路排序模型更加关注对起点道路选择影响较大的子特征,使预测的评分更加精确,更能准确的反应备选起点道路是实际的起点道路的可能性。
在步骤105中,在地图页面中显示评分最高的备选起点道路,以作为通向终点的导航路线的起点道路。
在一些实施例中,在确定各个备选起点道路的评分之后,地图客户端选取评分最高的备选起点道路作为起点道路,同时生成从起点到终点的导航路线。导航路线可包括多条道路,起点道路是导航路线中的第一条道路。将地图客户端切换至导航模式,并在导航模式下的地图页面中显示包括起点道路的导航路线,如图4B中的起点道路402所示,图4B是本申请实施例提供的导航模式下的地图页面示意图。
下面说明基于道路样本集合训练得到道路排序模型的方案。
参见图3B,图3B是本申请实施例提供的训练道路排序模型的流程示意图。下面结合图3B示出的步骤进行说明。在步骤201中,获取道路样本集合。
在一些实施例中,道路样本集合包括多个道路样本、以及与多个道路样本分别对应的定位特征。道路样本的类型包括正样本和负样本,正样本为基于样本定位起点正确规划的起点道路,负样本为基于样本定位起点错误规划的起点道路。
在一些实施例中,获取道路样本集合,可以采用如下方式实现:确定与样本定位起点的时间相匹配的真实轨迹;确定导航历史日志中与真实轨迹对应的规划起点道路和其他备选起点道路;当规划起点道路与真实轨迹一致时,将规划起点道路作为正样本,并将其他备选起点道路作为负样本;分别获取正样本的定位特征和负样本的定位特征。
其中,真实轨迹为用户在某次导航过程中全程的定位点所组成的点串,真实轨迹的时间尺度相较于起点道路更长。不同的道路样本中定位的起点不同,起点所对应的时间也不同,因此,可以在多条真实轨迹中,确定出时间与样本定位起点所对应的时间相一致的真实轨迹,即确定与样本定位起点的时间相匹配的真实轨迹。
在导航历史日志中,每条真实轨迹都对应一条规划起点道路和多条备选起点道路。规划起点道路可能正确,也可能错误。当规划起点道路与真实轨迹一致时,即规划起点道路与真实轨迹的部分或全部重合时,将规划起点道路作为该道路样本的正样本,并将其他多条备选起点道路作为该道路样本的负样本。之后,分别获取正样本的定位特征和负样本的定位特征,即获取前文所述的属性和关联关系。
其中,道路样本集合是用于训练道路排序模型的训练数据集。道路样本集合可包括在一次导航过程中生成的多个道路样本,也可包括多次导航过程中生成的多个道路样本。在一些实施例中,可从道路样本集合中选取一部分道路样本作为训练数据集,一部分作为验证数据集,一部分作为测试数据集。其中,训练数据集用于训练道路排序模型,验证数据集用于验证预测的精度是否满足实用需求,测试用于测试道路排序模型的效果。
针对道路样本集合执行以下步骤202至步骤206。
在步骤202中,对道路样本集合中的道路样本随机进行排序。
在一些实施例中,道路样本集合的排序结果可以是道路样本集合中的道路样本在初始状态下的排序,也可以是对道路样本集合中的道路样本随机排序后得到的排序。
在步骤203中,基于道路样本集合的排序结果与道路样本集合的真实排序结果的差异,确定道路样本集合对应的评价指标。
在一些实施例中,基于道路样本集合的排序结果与道路样本集合的真实排序结果的差异,确定道路样本集合对应的评价指标,可以采用如下方式实现:对道路样本集合中的道路样本赋予标签值,其中,正样本和负样本被赋予不同的标签值;基于排序结果和道路样本的标签值,确定道路样本集合中道路样本的折损累计增益;基于道路样本集合中的道路样本的标签值,对道路样本集合中的道路样本进行排序,得到真实排序结果;基于真实排序结果中的道路样本的标签值确定道路样本的真实折损累计增益;将道路样本的折损累计增益与真实折损累计增益的比值作为评价指标。
其中,可对道路样本集合中的正样本赋予标签值1,对负样本赋予标签值0。假设正样本和负样本一共有10个,则可按如下公式(1)计算折损累计增益(DCG,DiscountedCumulative Gain)DCG@10:
其中,reli为第i个道路样本的标签值,@10表示参与评分的道路样本数。
然后,将上述道路样本按照道路样本的标签值从高到低排列,得到真实排序结果,并计算真实排序结果时的真实折损累计增益(IDCG,Ideal Discounted Cumulative Gain)IDCG@10,得到:
最后,将道路样本的折损累计增益DCG@10与真实折损累计增益IDCG@10的比值作为该道路样本的评价指标NDCG@10,即归一化折损累计增益(NDCG,Normalized DiscountedCumulative Gain)。
在步骤204中,基于评价指标和道路样本集合的概率损失函数确定道路样本集合中每个道路样本对应的梯度。
在一些实施例中,在得到道路样本的评价指标NDCG@10之后,可计算道路样本中第i个道路样本与第j个道路样本互换位置后的评价指标与最初得到的评价指标NDCG@10的绝对差值|ΔNDCGij|。
在一些实施例中,道路样本集合的概率损失函数λij的计算过程如公式(2)至公式(4)所示。
若用xi和xj分别表示道路集合中第i个道路样本和第j个道路样本的特征,w表示参数,Si=f(xi;w)代表第i个道路样本的评分,Sj=f(xj;w)代表第j个道路样本的评分。将第i个道路样本比第j个道路样本与实际起点道路更相关的概率定义为Pij,Pij的表达式如公式(2)所示:
其中,σ为待学习的参数。
定义Sij为道路样本的标签,若第i个道路样本比第j个道路样本更相关,则Sij=1;若第j个道路样本比第i个道路样本更相关,则Sij=-1;若第i个道路样本与第j个道路样本的相关程度一样,则Sij=0。
定义概率损失函数λij为损失函数Lij对第i个道路样本的评分Si的偏导,其表达式如公式(4)所示:
根据概率损失函数λij和绝对差值|ΔNDCGij|可计算道路样本集合中第i个道路样本对应的梯度Ti,其计算如公式(5)所示:
其中,I为道路样本集合。(i,j)∈I表示在道路样本集合中,与实际起点道路的相关程度小于第i个道路样本与实际起点道路的相关程度的道路样本。(j,i)∈I表示在道路样本集合中,与实际起点道路的相关程度大于第i个道路样本与实际起点道路的相关程度的道路样本。
可见,梯度Ti代表了道路样本下一次迭代优化的方向和强度,由于引入了更关注排序头部的正确率的评价指标,因此,位置靠前的相关性更高的道路样本的排序位置得以进一步提升,有效避免了排位靠前的道路样本的位置被下调的情况发生。
在步骤205中,基于每个道路样本对应的梯度确定分裂代价最小的多个节点,得到由多个节点构成的道路排序模型。
在一些实施例中,在得到道路样本集合中第i个道路样本对应的梯度Ti后,可通过最小化平方误差和确定分裂代价最小的多个节点,得到由多个节点构成的道路排序模型。
例如,在某个节点分裂过程中,选定一个阈值,将梯度小于该阈值的道路样本划分至该节点分裂出的左节点中,将梯度大于该阈值的道路样本划分至该节点分裂出的右节点中。然后分别计算划分到左/右节点中的道路样本的梯度的平方误差和,将左节点的平方误差和与右节点的平方误差和之和作为该节点的分裂代价。计算节点的不同阈值所对应的分裂代价。将分裂代价最小时的阈值作为该节点的阈值,同时可确定该节点下一级左右两边的节点。不断分裂节点,直至达到设定的节点个数,得到由多个节点构成的道路排序模型。
在步骤206中,基于道路排序模型中划分到每个节点的道路样本对应的梯度,确定道路排序模型中每个节点的数值。
在一些实施例中,可以通过牛顿迭代法对划分到道路排序模型中各个节点的道路样本的梯度进行计算,得到各个节点的数值,其计算公式如公式(6)所示:
其中,γkm表示第m(m为大于或等于2的整数,取值依次递增)棵树的第k(k为大于或等于1的整数)个节点的数值,xi∈Rkm表示划分到第m棵树的第k个节点的道路样本。
通过步骤201至步骤206可以训练得到包括一棵回归树的道路排序模型。对于道路排序模型是多棵回归树构成的集成树模型的情况,可以在步骤206得到的一棵回归树的基础上,对新的道路样本集合继续迭代训练,生成新的回归树,以此类推迭代,将多棵回归树组成集成树模型。
作为示例,在生成第一棵回归树之后,后续生成集成树模型的过程如下:计算新的道路样本集合中第i个道路样本和第j个道路样本互换位置后评价指标的变化|ΔNDCGij|,并根据|ΔNDCGij|和概率损失函数计算新的道路样本集合中每个道路样本对应的梯度。以最小化节点对应的道路样本的梯度的平方误差和为目标,根据每个道路样本对应的梯度确定第m棵回归树的各个节点,并通过牛顿迭代法确定各个节点的数值。用学习率η(作为正则化系数)对第m棵回归树的节点的输出值进行正则化,这样可以减少过拟合现象,并将正则化后的第m棵回归树加入到前m-1棵回归树中,如公式(7)所示:
如此,不断地通过新的道路样本集合对道路排序模型进行更新,可不断地提高道路排序模型的拟合效果。
最后,可通过验证数据集验证道路排序模型对备选起点道路评分预测的精度是否满足实用需求,通过测试数据集测试道路排序模型效果。
在本申请实施例中,通过基于人工智能的导航道路选择方法可确定不同备选起点道路的评分,基于评分选取起点道路,使起点道路的选取准确率更高。而且,本申请实施例训练得到的道路排序模型不仅可以学习到不同特征的重要性,根据特征的重要性确定各节点所匹配的特征,还可以不断地基于新的道路样本对已有的道路排序模型继续训练,通过增量学习不断地优化道路排序模型,提高道路排序模型评分的准确性。当使用特殊场景下的样本数据(如隧道等封闭式道路)对道路排序模型进行训练时,道路排序模型可以学习到固定规则所无法判断的复杂情况,大大地提高了道路排序模型的应用范围。
参加图3C,图3C是本申请实施例提供的基于人工智能的导航道路选择方法的交互流程示意图。下面将结合图3C中的步骤301至步骤307说明由终端和服务器协同实施本申请实施例提供的基于人工智能的导航道路选择方法的过程。
步骤301,终端在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;
步骤302,终端基于起点在地图页面中确定备选起点道路;
步骤303,终端基于起点和备选起点道路确定备选起点道路的定位特征;
步骤304,终端向服务器发送携带备选起点道路的定位特征的导航请求;
步骤305,服务器根据定位特征包括的属性和关联关系,从道路排序模型中查找与定位特征匹配的节点,并将查找的最后一个匹配的节点的输出值,作为备选起点道路的评分;
步骤306,服务器向终端发送备选起点道路的评分;
步骤307,终端选取评分最高的备选起点道路作为通向终点的导航路线的起点道路,并在地图页面中显示起点道路。
需要说明的是,在前文中已对上述步骤进行了详细的描述,此处不再赘述。
可见,在本申请实施例中,终端通过服务器中的道路排序模型预测备选起点道路的评分,如此,可在减轻终端的计算压力的同时,得到同样准确的备选起点道路的评分,并用于最终的起点道路的选择。
下面,以本申请实施例提供的基于人工智能的导航道路选择方法由终端实施为例,说明在导航场景中的示例性应用。
首先,收集导航历史日志数据,得到道路样本集合。
在一些实施例中,导航客户端中的导航历史日志数据包括起点、前序定位点、备选起点道路、规划起点道路等数据。其中,规划起点道路是备选起点道路中的一条道路。备选起点道路可能有1条、3条、5条、10条等,本申请对备选起点道路的条数不做限定。
获取导航客户端中的导航历史日志数据以及对应的用户真实轨迹,对比导航历史日志数据中的规划起点道路和用户的真实轨迹,可确定规划起点道路是否正确。
需要说明的是,用户的真实轨迹对应的时间尺度较长,例如可以是24h,或12h等。因此,即使在一段时间内,导航的定位点发生漂移,与实际道路不符,仍然可以根据该时间段之前和之后的导航数据对该时间段的导航数据进行修正。例如,因为定位点漂移,在一小段时间中,导航的定位点由主路变到了辅路,但之后的较长时间中,定位点都位于主路上,则可确定该小段时间中定位点漂移,由主路漂移至辅路,可根据该小段时间之前和之后的导航数据对该小段时间内的导航数据进行修正。如此,可保证最终得到的真实轨迹的正确性。
规划起点道路对应的时间尺度相对较短。一条真实轨迹可能对应多条规划起点道路,代表用户在一段时间中多次发起导航。因此,对比规划起点道路和真实轨迹,即判断对比规划起点道路与真实轨迹的部分轨迹是否一致。
如图6A和图6B所示,图6A是本申请实施例提供的规划起点道路正确的示意图,图6B是本申请实施例提供的规划起点道路错误的示意图。图6A中,起点和前序定位点均与真实轨迹重合,说明起点未发生漂移,起点道路与真实轨迹一致,说明规划起点道路正确,用户的真实轨迹经过规划起点道路。图6B中,前序定位点与真实轨迹重合,然而起点发生了漂移,起点漂移后,距离起点最近的道路为图6B所示的规划起点道路,与用户的真实轨迹所在道路不同。图6B中的规划起点道路为单向道路,其走向为先东北后东,然而,根据用户的真实轨迹可知用户前进方向为东北方,因此,如果按照规划起点道路前行,最后的前行方向显然与实际不符,规划起点道路错误。
将每次导航时,确定为正确的规划起点道路作为一个用例的正样本,并将其他的备选起点道路作为该用例的负样本。若负样本有9个,则根据每次导航的历史日志数据和真实轨迹可得到一个用例的道路样本集合,道路样本集合中包括1个正样本,9个负样本。通过大量用例生成大量的道路样本集合,形成数据集,可用于后续训练。
然后,计算道路样本集合中各样本的定位特征,形成数据集。
在得到大量的道路样本集合之后,可进一步得到道路样本集合中样本的属性和关联关系,每个样本的属性和关联关系构成了该样本的定位特征。如表1所示,样本的属性包括起点属性、前序定位点属性、样本道路属性,关联关系包括起点与样本道路关系、前序定位点与样本道路关系。各属性和关联关系具体包括的特征可参见表1。
表1样本的定位特征表
其中,因为不同时刻的前序定位点的精度不同,所以统计了前序定位点精度分布,以确定不同精度的前序定位点的分布情况。相邻前序定位点方向角度变化分布用于确定起点之前的前序定位点是否频繁变化。
确定每一个用例(即每一个道路样本集合)中作为正样本的规划起点道路和作为负样本的备选起点道路的上述特征,得到每一个规划起点道路和每一个备选起点道路对应的特征列表,可将这些特征列表合成为用于训练道路排序模型的数据集。
在数据集中随机抽取60%的样本数据作为训练数据集,20%的数据作为验证数据集,20%的数据作为测试数据集。训练数据集用于训练道路排序模型,验证数据集用于验证道路排序模型对备选起点道路评分预测的精度是否满足实用需求,测试数据集用于测试道路排序模型效果。
之后,通过数据集训练道路排序模型。
在一些实施例中,使用listwise方法中的LambdaMART算法对数据集进行训练。LambdaMART算法是一种Listwise类型的排序算法,它基于LambdaRa nk算法和多重累计回归树算法(MART,Multiple Additive Regression Tree),将排序问题转化为回归决策树问题。通过输入的训练数据集训练道路排序模型,可以很好的对数据进行拟合。
listwise方法即文档列表方法,在排序学习中,通过使用文档列表方法,对每个用例中的每个道路样本赋予标签,将每个用例中的道路样本按照不同的顺序组合成列表并打分,列表所对应的标签排序顺序不同,则评分也相应的不同,以此寻找最优的样本排序顺序。在一些实施例中,由每一个用例生成的道路样本集合即为上述文档列表。
在道路排序模型训练过程中,采用NDCG作为评价指标,该指标使道路排序模型更关注排序靠前的优质样本的排序位置的提升。在一些实施例中,每一个用例对应的道路样本集合中有10个样本(1个正样本和9个负样本,正样本标签为1,负样本标签为0),由此,可得到评价指标NDCG@10。NDCG@10的计算过程如下:
A、对道路样本集合中的道路样本随机排序,按照前文的公式(1)计算每一个道路样本集合对应的DCG@10。
B、计算理想情况下的DCG@10,理想情况是将道路样本按照样本的标签值从高到低排列,即正样本(标签值为1)排第一位,其他负样本(标签值为0)任意排在其他位置,得到:
其中,IDCG@10表示理想情况下DCG@10,本方案中IDCG@10为1。
C、计算NDCG@10,计算如公式(8)所示:
其中,NDCG@10的值越高(最高为1),表示模型越优秀。
D、对所有道路样本集合的NDCG@10求平均值,得到最终模型评价指标。此后,可基于所有道路样本集合的NDCG@10对模型进行训练,并将训练得到的最优的道路排序模型部署到线上。
最后,通过部署到线上的道路排序模型预测对起点道路进行预测与推荐,流程如下:
1、获取备选起点道路:根据起点的位置等信息,将距离起点位置最近的10条道路作为备选起点道路。
2、计算特征数据:对每条备选起点道路计算相应的定位特征。
3、进行模型预测:将所有备选起点道路的定位特征输入道路排序模型确定所有备选起点道路的评分。
4、起点道路推荐:使用评分最高的备选起点道路作为起点道路进行导航。
通过上述流程可为用户推荐最优的起点道路,从而极大的提高用户体验。
以下结合图7说明通过本申请实施例提供的基于人工智能的导航道路选择方法选择起点道路与通过固定规则选取起点道路的结果差异。图7是本申请实施例提供的起点道路选择的对比示意图。图7中,根据用户的真实轨迹可知用户实际位于道路701上,但前序定位点和起点漂移至道路701右边,如果按照固定规则将距离起点最近的道路702作为起点道路,则会导致导航路线错误,通过本申请实施例提供的基于人工智能的导航道路选择方法,可选取出正确的起点道路701。可见,本申请实施例提供的基于人工智能的导航道路选择方法相较于固定规则,所使用的影响因素更多,更能反映实际情况,因此,对起点道路的选取也更为准确。
下面继续说明本申请实施例提供的基于人工智能的导航道路选择装置455的实施为软件模块的示例性结构,在一些实施例中,如图2所示,存储在存储器450的基于人工智能的导航道路选择装置455中的软件模块可以包括:显示模块4551,用于在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;以及用于在地图页面中显示评分最高的备选起点道路,以作为用于通向终点的导航路线的起点道路;第一确定模块4552,用于基于起点在地图页面中确定备选起点道路;第二确定模块4553,用于基于起点和备选起点道路确定备选起点道路的定位特征;评分模块4554,用于在道路排序模型中查找与定位特征匹配的节点,将节点的输出值作为备选起点道路的评分。
在一些实施例中,第一确定模块4552,还用于:根据起点与备选起点道路之间的距离阈值,确定起点的道路选取区域,将道路选取区域中的多条道路作为备选起点道路;或确定地图页面中显示的每条道路与起点之间的距离,将距离小于距离阈值的多条道路作为备选起点道路。
在一些实施例中,定位特征包括属性和关联关系;第二确定模块4553,还用于:执行以下操作至少之一:确定起点的属性;确定每个前序定位点的属性,其中,前序定位点为在起点之前进行定位所确定的定位点;确定起点与备选起点道路的关联关系,并确定每个前序定位点与备选起点道路的关联关系。
在一些实施例中,第二确定模块4553,还用于:执行以下操作至少之一:确定起点的速度、精度和方向角度至少之一;确定每个前序定位点的速度、精度和方向角度至少之一。
在一些实施例中,第二确定模块4553,还用于:执行以下操作至少之一:根据每个前序定位点的速度,确定多个前序定位点的速度分布;根据每个前序定位点的精度,确定多个前序定位点的精度分布;根据每个前序定位点的方向角度,确定多个前序定位点的方向角度变化分布。
在一些实施例中,第二确定模块4553,还用于:执行以下操作至少之一:确定起点与备选起点道路的距离;确定起点的方向角度与备选起点道路的方向角度的差值。
在一些实施例中,第二确定模块4553,还用于:执行以下操作至少之一:确定每个前序定位点与备选起点道路是否具有连通关系;确定每个前序定位点与备选起点道路之间的距离;确定每个前序定位点的方向角度与备选起点道路的方向角度的差值。
在一些实施例中,道路排序模型包括多个节点,每个节点包括对应定位特征包括的不同类型属性或不同类型关联关系的取值条件、以及符合相应取值条件时的输出值或跳转的下一个节点;评分模块4554,还用于:根据定位特征包括的属性和关联关系,从道路排序模型中查找匹配的节点,并将查找的最后一个匹配的节点的输出值,作为备选起点道路的评分。
在一些实施例中,基于人工智能的导航道路选择装置还包括训练模块4555,用于:获取道路样本集合,道路样本集合包括多个道路样本、以及与多个道路样本对应的定位特征;针对道路样本集合执行以下处理:对道路样本集合中的道路样本随机进行排序;基于道路样本集合的排序结果与道路样本集合的真实排序结果的差异,确定道路样本集合对应的评价指标;基于评价指标和道路样本集合的概率损失函数确定道路样本集合中每个道路样本对应的梯度;基于每个道路样本对应的梯度确定分裂代价最小的多个节点,得到由多个节点构成的道路排序模型;基于道路排序模型中划分到每个节点的道路样本对应的梯度,确定道路排序模型中每个节点的数值。
在一些实施例中,道路样本的类型包括正样本和负样本,正样本为基于样本定位起点正确规划的起点道路,负样本为基于样本定位起点错误规划的起点道路;训练模块4555,还用于:确定与样本定位起点的时间相匹配的真实轨迹;确定导航历史日志中与真实轨迹对应的规划起点道路和其他备选起点道路;当规划起点道路与真实轨迹一致时,将规划起点道路作为正样本,并将其他备选起点道路作为负样本;分别获取正样本的定位特征和负样本的定位特征。
在一些实施例中,训练模块4555,还用于:对道路样本集合中的道路样本赋予标签值,其中,正样本和负样本被赋予不同的标签值;基于排序结果和道路样本的标签值,确定道路样本集合中道路样本的折损累计增益;基于道路样本集合中的道路样本的标签值,对道路样本集合中的道路样本进行排序,得到真实排序结果;基于真实排序结果中的道路样本的标签值确定道路样本的真实折损累计增益;将道路样本的折损累计增益与真实折损累计增益的比值作为评价指标。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的基于人工智能的导航道路选择方法。
本申请实施例提供一种存储有可执行指令的存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的基于人工智能的导航道路选择方法,例如,如图3A示出的基于人工智能的导航道路选择方法。
在一些实施例中,存储介质可以是FRAM、ROM、PROM、EPROM、EE PROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,本申请实施例在基于起点确定备选起点道路后,通过道路排序模型查找到与备选起点道路的定位特征相匹配的节点,将节点的输出值作为备选起点道路的评分,从而能够以道路的定位特征与评分之间的关联来筛选出精确的起点道路。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。
Claims (10)
1.一种基于人工智能的导航道路选择方法,其特征在于,包括:
获取包括多个道路样本的道路样本集合、以及与所述多个道路样本分别对应的定位特征;
对所述道路样本集合中的道路样本赋予标签值;
对所述道路样本集合中的道路样本随机进行排序,并基于所述道路样本集合的排序结果和所述道路样本的标签值,确定所述道路样本集合中道路样本的折损累计增益;
基于所述道路样本集合中的道路样本的标签值,对所述道路样本集合中的道路样本进行排序,得到真实排序结果;
基于所述真实排序结果中的所述道路样本的标签值确定所述道路样本的真实折损累计增益;
将所述道路样本的所述折损累计增益与所述真实折损累计增益的比值作为所述道路样本集合对应的评价指标;
基于所述评价指标和所述道路样本集合的概率损失函数确定所述道路样本集合中每个所述道路样本对应的梯度;
基于每个所述道路样本对应的梯度确定分裂代价最小的多个节点,得到由所述多个节点构成的道路排序模型;
基于所述道路排序模型中划分到每个节点的道路样本对应的梯度,确定所述道路排序模型中每个节点的数值;
在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;
基于所述起点在所述地图页面中确定备选起点道路;
基于所述起点和所述备选起点道路确定所述备选起点道路的定位特征;
根据所述备选起点道路的定位特征包括的属性和关联关系,从所述道路排序模型中查找匹配的节点,并将查找的最后一个匹配的节点的输出值,作为所述备选起点道路的评分;
在所述地图页面中显示评分最高的所述备选起点道路,以作为通向所述终点的导航路线的起点道路;
将地图客户端切换至导航模式,并在所述导航模式下的所述地图页面中显示包括所述起点道路的所述导航路线。
2.根据权利要求1所述的方法,其特征在于,所述基于所述起点在所述地图页面中确定备选起点道路,包括:
根据所述起点与所述备选起点道路之间的距离阈值,确定所述起点的道路选取区域,将所述道路选取区域中的多条道路作为所述备选起点道路;或
确定所述地图页面中显示的每条道路与所述起点之间的距离,将距离小于距离阈值的多条道路作为所述备选起点道路。
3.根据权利要求1-2任一项所述的方法,其特征在于,所述定位特征包括属性和关联关系;所述基于所述起点和所述备选起点道路确定所述备选起点道路的定位特征,包括:
执行以下操作至少之一:
确定所述起点的属性;
确定每个前序定位点的属性,其中,所述前序定位点为在所述起点之前进行定位所确定的定位点;
确定所述起点与所述备选起点道路的关联关系,并确定所述每个前序定位点与所述备选起点道路的关联关系。
4.根据权利要求3所述的方法,其特征在于,所述确定所述起点的属性,包括:
执行以下操作至少之一:
确定所述起点的速度、精度和方向角度至少之一;
确定每个所述前序定位点的速度、精度和方向角度至少之一;
所述确定每个前序定位点的属性,包括:
执行以下操作至少之一:
根据所述每个前序定位点的速度,确定多个前序定位点的速度分布;
根据所述每个前序定位点的精度,确定所述多个前序定位点的精度分布;
根据所述每个前序定位点的方向角度,确定所述多个前序定位点的方向角度变化分布。
5.根据权利要求3所述的方法,其特征在于,所述确定所述起点与所述备选起点道路的关联关系,包括:
执行以下操作至少之一:
确定所述起点与所述备选起点道路的距离;
确定所述起点的方向角度与所述备选起点道路的方向角度的差值;
所述确定所述每个前序定位点与所述备选起点道路的关联关系,包括:
执行以下操作至少之一:
确定所述每个前序定位点与所述备选起点道路是否具有连通关系;
确定所述每个前序定位点与所述备选起点道路之间的距离;
确定所述每个前序定位点的方向角度与所述备选起点道路的方向角度的差值。
6.根据权利要求1-2任一项所述的方法,其特征在于,所述道路排序模型包括多个节点,且每个节点包括对应所述定位特征包括的不同类型属性或不同类型关联关系的取值条件、以及符合相应取值条件时的输出值或跳转的下一个节点。
7.根据权利要求1所述的方法,其特征在于,所述道路样本的类型包括正样本和负样本,所述正样本为基于样本定位起点正确规划的起点道路,所述负样本为基于所述样本定位起点错误规划的起点道路,且所述正样本和所述负样本被赋予不同的标签值;
所述获取包括多个道路样本的道路样本集合、以及与所述多个道路样本分别对应的定位特征,包括:
确定与所述样本定位起点的时间相匹配的真实轨迹;
确定导航历史日志中与所述真实轨迹对应的规划起点道路和其他备选起点道路;
当所述规划起点道路与所述真实轨迹一致时,将所述规划起点道路作为所述正样本,并将所述其他备选起点道路作为所述负样本;
分别获取所述正样本的定位特征和所述负样本的定位特征。
8.一种基于人工智能的导航道路选择装置,其特征在于,包括:
训练模块,用于获取包括多个道路样本的道路样本集合、以及与所述多个道路样本分别对应的定位特征;对所述道路样本集合中的道路样本赋予标签值;对所述道路样本集合中的道路样本随机进行排序,并基于所述道路样本集合的排序结果和所述道路样本的标签值,确定所述道路样本集合中道路样本的折损累计增益;基于所述道路样本集合中的道路样本的标签值,对所述道路样本集合中的道路样本进行排序,得到真实排序结果;基于所述真实排序结果中的所述道路样本的标签值确定所述道路样本的真实折损累计增益;将所述道路样本的所述折损累计增益与所述真实折损累计增益的比值作为所述道路样本集合对应的评价指标;基于所述评价指标和所述道路样本集合的概率损失函数确定所述道路样本集合中每个所述道路样本对应的梯度;基于每个所述道路样本对应的梯度确定分裂代价最小的多个节点,得到由所述多个节点构成的道路排序模型;基于所述道路排序模型中划分到每个节点的道路样本对应的梯度,确定所述道路排序模型中每个节点的数值;
显示模块,用于在地图页面中呈现定位的起点,并接收用于设定终点的导航操作;以及用于在所述地图页面中显示评分最高的备选起点道路,以作为用于通向所述终点的导航路线的起点道路;以及将地图客户端切换至导航模式,并在所述导航模式下的所述地图页面中显示包括所述起点道路的所述导航路线;
第一确定模块,用于基于所述起点在所述地图页面中确定备选起点道路;
第二确定模块,用于基于所述起点和所述备选起点道路确定所述备选起点道路的定位特征;
评分模块,用于根据所述备选起点道路的定位特征包括的属性和关联关系,从所述道路排序模型中查找匹配的节点,并将查找的最后一个匹配的节点的输出值,作为所述备选起点道路的评分。
9.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的基于人工智能的导航道路选择方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至7任一项所述的基于人工智能的导航道路选择方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013691.0A CN112101679B (zh) | 2020-09-24 | 2020-09-24 | 基于人工智能的导航道路选择方法、装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011013691.0A CN112101679B (zh) | 2020-09-24 | 2020-09-24 | 基于人工智能的导航道路选择方法、装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112101679A CN112101679A (zh) | 2020-12-18 |
CN112101679B true CN112101679B (zh) | 2022-11-04 |
Family
ID=73756158
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011013691.0A Active CN112101679B (zh) | 2020-09-24 | 2020-09-24 | 基于人工智能的导航道路选择方法、装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112101679B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108362298A (zh) * | 2018-02-22 | 2018-08-03 | 青岛融汇通投资控股有限公司 | 区域地图中导航方法及装置 |
CN110542425A (zh) * | 2018-05-28 | 2019-12-06 | 百度在线网络技术(北京)有限公司 | 导航路径选择方法、导航装置、计算机设备及可读介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5914249B2 (ja) * | 2012-08-10 | 2016-05-11 | クラリオン株式会社 | 経路計算システム、ナビゲーション装置および経路計算方法 |
CN110823237B (zh) * | 2019-10-24 | 2021-08-17 | 百度在线网络技术(北京)有限公司 | 起点绑路及预测模型获取方法、装置及存储介质 |
CN110830915B (zh) * | 2019-10-28 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 一种确定起点位置的方法及装置 |
-
2020
- 2020-09-24 CN CN202011013691.0A patent/CN112101679B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108362298A (zh) * | 2018-02-22 | 2018-08-03 | 青岛融汇通投资控股有限公司 | 区域地图中导航方法及装置 |
CN110542425A (zh) * | 2018-05-28 | 2019-12-06 | 百度在线网络技术(北京)有限公司 | 导航路径选择方法、导航装置、计算机设备及可读介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112101679A (zh) | 2020-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10989544B2 (en) | Utilizing artificial neural networks to evaluate routes based on generated route tiles | |
Zheng et al. | Reducing uncertainty of low-sampling-rate trajectories | |
US20200073977A1 (en) | Validating road intersections | |
US10520326B2 (en) | Driving route matching method and apparatus, and storage medium | |
US20210239486A1 (en) | Method and apparatus for predicting destination, electronic device and storage medium | |
CN111582559B (zh) | 一种到达时间的预估方法及装置 | |
CN108204819B (zh) | 一种地图数据自动检测方法和装置、及混合导航系统 | |
CN105091889A (zh) | 一种热点路径的确定方法及设备 | |
CN107145991B (zh) | 一种考虑路段相关性的时变随机网络动态路径搜索方法 | |
CN104794181A (zh) | 一种基于电子地图的服务处理方法和装置 | |
CN113808400B (zh) | 车流迁徙情况的展示方法、装置、设备及介质 | |
CN104112366B (zh) | 基于隐语义模型的交通信号优化方法 | |
CN111027743A (zh) | 基于分层路网的od最优路径搜索方法及装置 | |
TW202146852A (zh) | 路線偏差量化和基於其之交通工具路線學習 | |
CN111949306A (zh) | 一种支持开源项目碎片化学习的推送方法和系统 | |
CN113779430A (zh) | 路网数据生成方法、装置、计算设备和存储介质 | |
CN113639757B (zh) | 基于双向评分模型和回溯校正机制的地图匹配方法及系统 | |
Bandil et al. | Geodart: A system for discovering maps discrepancies | |
Zheng et al. | Landmark-based route recommendation with crowd intelligence | |
CN112101679B (zh) | 基于人工智能的导航道路选择方法、装置 | |
Friedrich et al. | Routing for on-street parking search using probabilistic data | |
CN115183789A (zh) | 一种导航路线的确定方法及装置 | |
KR102480518B1 (ko) | 신용평가 모델 업데이트 또는 교체 방법 및 장치 | |
Xi et al. | Improved dynamic time warping algorithm for bus route trajectory curve fitting | |
CN112269845B (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 |