CN108806241B - 一种常用驾车路线的确定方法及装置 - Google Patents

一种常用驾车路线的确定方法及装置 Download PDF

Info

Publication number
CN108806241B
CN108806241B CN201710288330.9A CN201710288330A CN108806241B CN 108806241 B CN108806241 B CN 108806241B CN 201710288330 A CN201710288330 A CN 201710288330A CN 108806241 B CN108806241 B CN 108806241B
Authority
CN
China
Prior art keywords
cluster
driving route
pair
driving
point
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
Application number
CN201710288330.9A
Other languages
English (en)
Other versions
CN108806241A (zh
Inventor
吴跃进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Original Assignee
Alibaba China Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba China Co Ltd filed Critical Alibaba China Co Ltd
Priority to CN201710288330.9A priority Critical patent/CN108806241B/zh
Publication of CN108806241A publication Critical patent/CN108806241A/zh
Application granted granted Critical
Publication of CN108806241B publication Critical patent/CN108806241B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions
    • G08G1/0125Traffic data processing
    • G08G1/0129Traffic data processing for creating historical data or processing based on historical data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096805Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route
    • G08G1/096811Systems involving transmission of navigation instructions to the vehicle where the transmitted instructions are used to compute a route where the route is computed offboard
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0968Systems involving transmission of navigation instructions to the vehicle
    • G08G1/096833Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route
    • G08G1/096838Systems involving transmission of navigation instructions to the vehicle where different aspects are considered when computing the route where the user preferences are taken into account or the user selects one route out of a plurality

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Navigation (AREA)

Abstract

本发明公开了一种常用驾车路线的确定方法及装置,用以解决现有技术无法为所有用户提供常用驾车路线推荐服务的问题。所述常用驾车路线的确定方法,包括:获取用户的历史驾车路线数据,历史驾车路线数据中包括起点终点OD对以及OD对对应的驾车路线;对OD对进行聚类,得到至少一个OD对类簇;确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。

Description

一种常用驾车路线的确定方法及装置
技术领域
本发明涉及数据挖掘技术领域,尤其涉及一种常用驾车路线的确定方法及装置。
背景技术
随着智能交通系统的日益普及和应用的迅速发展,地图导航服务在智能交通系统内的应用越来越广泛与深入,对地图导航服务的个性化需求也越来越多,为用户推荐常用驾车路线是地图导航服务的个性化需求之一。
用户两次以上通过同一条驾车路线从同一个起点到达同一个终点,则该条驾车路线可被认为是用户从该起点到该终点的常用驾车路线。目前,用户可以通过地图导航软件的客户端手动设置常用驾车路线,设置常用驾车路线之后,在导航路线推荐时可将用户通过客户端设置的常用驾车路线推荐给用户。
虽然现有技术通过用户手动设置的常用驾车路线,保证了推荐给用户的常用驾车路线的准确性,但若用户没有设置,则现有技术无法确定出这部分用户的常用驾车路线,进而推荐给用户。因此,亟需提供一种确定用户常用驾车路线的技术方案,以解决现有技术无法为所有用户提供常用驾车路线推荐服务的问题。
发明内容
本发明实施例提供了一种常用驾车路线的确定方法及装置,用以解决现有技术无法为所有用户提供常用驾车路线推荐服务的问题。
本发明实施例提供的一种常用驾车路线的确定方法,该方法包括:获取用户的历史驾车路线数据,所述历史驾车路线数据中包括起点终点OD对以及所述OD对对应的驾车路线;对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件;确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;根据所述OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;根据所述驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。
本发明实施例提供的一种常用驾车路线的确定装置,该装置包括:历史驾车路线数据获取单元,用于获取用户的历史驾车路线数据,所述历史驾车路线数据中包括起点终点OD对以及所述OD对对应的驾车路线;OD对聚类单元,用于对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件;相似度计算单元,用于确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;驾车路线聚类单元,用于根据所述OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;常用驾车路线确定单元,用于根据所述驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。
本发明实施例提供一种常用驾车路线的确定方法及装置,该方法获取用户的历史驾车路线数据,历史驾车路线数据中包括起点终点OD对以及OD对对应的驾车路线,对OD对进行聚类,得到至少一个OD对类簇,确定一个OD 对类簇包括的OD对对应的驾车路线之间的相似度值,根据OD对类簇包括的 OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇,并根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。通过上述方法,能够从用户的历史驾车路线数据中确定出用户的常用驾车路线,从而无需用户手动设置常用驾车路线,即可向用户推荐确定出的常用驾车路线,提高了用户对导航服务推荐驾车路线的采纳度和认可度。
附图说明
图1为本发明实施例提供的一种常用驾车路线的确定方法的示意流程图;
图2为本发明实施例提供的一种常用驾车路线的确定装置的结构示意图。
具体实施方式
本发明实施例提供的常用驾车路线的确定方法及装置,能够从用户的历史驾车路线数据中确定出用户的常用驾车路线,从而无需用户手动设置常用驾车路线,即可向用户推荐确定出的常用驾车路线,提高了用户对导航服务推荐驾车路线的采纳度和认可度。
下面结合说明书附图,对本发明实施例进行详细描述。
图1为本发明实施例提供的常用驾车路线的确定方法,如图1所示,具体包括以下步骤:
步骤S101,获取用户的历史驾车路线数据,其中,历史驾车路线数据中包括起点终点OD对以及OD对对应的驾车路线。
本发明实施例中提到的用户是指使用某一地图导航软件的用户。历史驾车路线数据是指用户在过去一段时间(例如:三个月、半年或者一年)内的驾车路线数据的历史累积,即,用户的历史驾车路线数据是过去一段时间内用户所有驾车路线数据的集合。每条驾车路线数据中都包含起点终点(Origin Destination,OD)对,以及与该OD对对应的驾车路线,驾车路线一般用一组具有前后顺序的Link序列表示。
在获取用户的历史驾车路线数据之后,从每条历史驾车路线数据中分离出该条历史驾车路线中包括的OD对以及Link序列。
作为较为具体的实施例,全城用户UAllCity={uk|1≤k≤K},全城共有K 个用户,某一用户uk对应的历史驾车路线数据
Figure BDA0001281258890000031
此用户共有S条驾车路线数据,每一驾车路线数据routes,分别对应一个OD对
Figure BDA0001281258890000041
和一组Link序列
Figure BDA0001281258890000042
其中, Link序列
Figure BDA0001281258890000043
由N个Link组成,且具有前后顺序。
步骤S102,对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件。
本发明实施例中对OD对进行聚类,是指将起点和终点均距离较近的多个 OD对聚在一起,通过对OD对进行聚类,得到OD对类簇,可以消除起点终点之间微小变化导致的常用路线重复计算,减小计算量。
本发明实施例中将OD对中的起点作为第一类点,终点作为第二类点,或者将OD对中的终点作为第一类点,起点作为第二类点,则对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件,包括:将OD对中的第一类点进行聚类,得到至少一个第一类点簇;将一个第一类点簇包括的每一个第一类点对应的第二类点进行聚类,得到第一类点簇对应的至少一个第二类点簇,一个第一类点和对应的一个第二类点来源于同一个OD对;将一个第二类点簇中包括的第二类点对应的OD对聚合在一个OD对类簇中,第二类点来源于对应的OD对;其中,第一类点簇中包括的第一类点的数量大于预设的数量阈值,且有一个第一类点到该第一类点簇中其他任意一个第一类点的距离均小于预设的第一距离阈值;第二类点簇中包括的第二类点的数量大于预设的数量阈值,且有一个第二类点到该第二类点簇中其他任意一个第二类点的距离均小于预设的第二距离阈值。
具体实施时,对OD对进行聚类,包括以下两种实施方式,具体来说:
实施方式一、OD对中的起点作为第一类点,终点作为第二类点
在实施步骤S101获取用户的历史驾车路线数据之后,从用户的历史驾车路线数据中获取每条驾车路线对应的OD对,在获取到OD对之后,先对OD 对中包括的起点O进行聚类,得到至少一个O类簇,然后针对每个O类簇,对该O类簇包括的每一个起点O对应的终点D进行聚类,得到该O类簇对应的至少一个D类簇,针对每一个D类簇,将该D类簇中包括的终点D对应的 OD对聚合在一个OD对类簇中,其中,一个起点O和该起点O对应的终点D 来源于同一个OD对,终点D来源于该终点D对应的OD对。
实施方式二、OD对中的终点作为第一类点,起点作为第二类点
在实施步骤S101获取用户的历史驾车路线数据之后,从用户的历史驾车路线数据中获取每条驾车路线对应的OD对,在获取到OD对之后,先对OD 对中包括的终点D进行聚类,得到至少一个D类簇,然后针对每个D类簇,对该D类簇包括的每一个终点D对应的起点O进行聚类,得到该D类簇对应的至少一个O类簇,针对每一个O类簇,将该O类簇中包括的起点O对应的 OD对聚合在一个OD对类簇中,其中,一个终点D和该终点D对应的起点O 来源于同一个OD对,起点O来源于该起点O对应的OD对。
值得说明的是,在对OD对进行聚类生成的OD对类簇中,每个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件,其中,预设的聚类距离条件,包括:O类簇中包括的起点的数量大于预设的数量阈值,且有一个起点O到该O类簇中其他任意一个起点O的距离均小于预设的第一距离阈值;D类簇中包括的终点D的数量大于预设的数量阈值,且有一个终点 D到该D类簇中其他任意一个终点D的距离均小于预设的第二距离阈值。其中,预设的数量阈值、预设的第一距离阈值和预设的第二距离阈值可以自由设定,例如:预设的数量阈值为2,预设的第一距离阈值和预设的第二距离阈值均为50米。
下面对本发明实施例中对OD对进行聚类,得到OD对类簇的方法进行详细说明。
(1)在实施步骤S101获取用户的历史驾车路线数据之后,从用户的历史驾车路线数据中获取每条驾车路线对应的OD对,在获取到OD对之后,基于 OD对中的所有终点D进行聚类(聚类算法采用本发明下述实施例提供的聚类方法),以获得n个D类簇:
Figure BDA0001281258890000061
(2)从n个D类簇中任意取出一个D类簇dsi,对dsi中包含的终点D对应的起点O进行聚类(聚类算法采用本发明下述实施例提供的聚类方法),以得到m个O类簇:
Figure BDA0001281258890000062
(3)针对m个O类簇中的任意一个O类簇osj={ol|1≤l≤k}(包含k 个起点),将该O类簇中包括的起点O对应的OD对聚合在一个OD对类簇中,聚合生成的OD对类簇为odsj={[ol,dl]|1≤l≤k}(包含k个OD对),以此类推,步骤(2)中得到的m个O类簇可以得到m个OD对类簇
Figure BDA0001281258890000063
(4)重复执行步骤(2)和步骤(3),直至n个D类簇中的每个D类簇均进行计算。
上述步骤(1)和步骤(2)中对OD对中起点O或者终点D进行聚类的方法,具体包括:
(11)在获取到OD对之后,取出OD对中的起点O(或者终点D)生成坐标点集:Pset={pi|1≤i≤N},设置预设的第一距离阈值和预设的第二距离阈值均为Tl,预设的数量阈值Tp;其中,预设的数量阈值、预设的第一距离阈值和预设的第二距离阈值可以由用户自由设定。
(12)设置一个空簇PS,从坐标点集Pset中任选一个坐标点pk,并将pk加入空簇PS中,从Pset中删除对象pk
(13)从坐标点集Pset中取出一个坐标点pl,计算此点与坐标点pk之间的直线距离disl,k
(14)若直线距离disl,k≤Tl,则将pl加入簇PS中,从坐标点集Pset中删除对象pl
(15)循环执行步骤(13)和步骤(14),直至取完坐标点集Pset中所有对象;
(16)若簇PS中坐标点的个数count(PS)≥Tp,则将簇PS作为一个O类簇(若步骤11中取出OD对中的终点D生成坐标点集,则此处将簇PS作为一个D类簇),然后执行步骤(12),继续从坐标点集中选择其它起点O,以确定其它O类簇(或者D类簇)。
当然,本领域技术人员应当理解的是,在对OD对中起点或者终点进行聚类时,也可以采用其它方法,此处并不用于具体限定。
由于本发明实施例通常在用户两次以上通过同一条驾车路线从同一个起点到达同一个终点时,将该条驾车路线认为是用户从该起点到该终点的常用驾车路线,因此,本发明实施例在步骤S102对OD对进行聚类,得到至少一个 OD对类簇之后,可以将OD对类簇中的所有起点O看作是同一个起点,可以将OD对类簇中的所有终点D看作是同一个终点,但是OD对类簇包括的OD 对中,每个OD对均对应一条驾车路线,因此,还需要在OD对类簇包括的 OD对对应的多条驾车路线中确定用户的常用驾车路线,也即确定用户行驶过两次以上的驾车路线。
本发明实施例中通过计算OD对类簇包括的OD对对应的驾车路线之间的相似度值的方法,确定用户的常用驾车路线,本发明其它实施例中也可以采用其它方法。通过计算OD对类簇包括的OD对对应的驾车路线之间的相似度值的方法,确定用户的常用驾车路线,具体包括:
步骤S103,确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值。
在一种可能的实施方式中,确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值,包括:针对一个OD对类簇包括的OD对对应的驾车路线,每次任意读取出两条驾车路线;获取读取出的两条驾车路线各自的总里程数;获取两条驾车路线包含的相同路段的里程数和值;将相同路段的里程数和值与总里程数中较大一个的比值,作为两条驾车路线的相似度值。
作为较为具体的实施例,假设读取出的两条驾车路线为驾车路线A和驾车路线B,其中,驾车路线A的里程数为5652米,驾车路线B的里程数为5023 米,驾车路线A和驾车路线B包含的相同路段的里程数和值为5000米,则可以确定驾车路线A和驾车路线B的相似度值为:5000/5652=0.88。
结合本发明实施例,由于驾车路线以Link序列表示,在步骤S102中确定出用户的m个常用OD对类簇
Figure BDA0001281258890000081
之后,针对OD对类簇odsj={[ol,dl]|1≤l≤k}(该类簇odsj包含k个OD对),OD对类簇中的每个OD对[ol,dl]均对应一条驾车路线,也即每个OD对均对应一组Link序列
Figure BDA0001281258890000082
Link序列
Figure BDA0001281258890000083
包含Q个Link对象linkq, linkq-1与linkq具有前后顺序且相互连通,用户在驾车经过Link对象linkq-1之后经过Link对象linkq。则计算OD对类簇包括的OD对对应的驾车路线之间的相似度值,可以采用如下方法:
(21)输入任意两组Link序列
Figure BDA0001281258890000084
Figure BDA0001281258890000085
计算Link序列
Figure BDA0001281258890000086
的总里程数
Figure BDA0001281258890000087
和 Link序列
Figure BDA0001281258890000088
的总里程数distj
(22)令两组Link序列重复Link里程数和值为
Figure BDA0001281258890000089
Figure BDA00012812588900000810
(23)令n=same_ind;
(24)比较两个Link:
Figure BDA00012812588900000811
Figure BDA00012812588900000812
是否相同,若相同,则执行步骤(25),否则执行步骤(26);
(25)令
Figure BDA00012812588900000813
若n==N或者m==M,则执行步骤(27),否则,令same_ind=n+1,m+=1,执行步骤(23);
(26)若m==M,则执行步骤(27);若n==N,则令m+=1,则执行步骤(23);否则令n+=1,执行步骤(24);
(27)两组Link序列
Figure BDA00012812588900000814
Figure BDA00012812588900000815
相互之间的相似度
Figure BDA00012812588900000816
计算结束。
当然,本领域技术人员应当理解的是,在计算OD对类簇包括的OD对对应的驾车路线之间的相似度值时,也可以采用其它方法,此处并不用于具体限定。
步骤S104,根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇。
在一种可能的实施方式中,根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇,包括:
从OD对类簇包括的OD对对应的驾车路线之间的相似度值中,找到最大相似度值;
步骤1:判断最大相似度值是否小于预设的阈值,若是,则放弃对OD对类簇的处理,若否,则进入步骤2;其中,预设的阈值可以自由设定,例如:预设的阈值为0.85。
步骤2:从驾车路线之间的相似度值中,查找与最大相似度值对应的任意一条驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线作为相似驾车路线;
步骤3:针对一条相似驾车路线,从驾车路线之间的相似度值中,查找与相似驾车线路的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线也作为相似驾车路线;
针对每一条相似驾车路线重复执行步骤3,直到查找不到可以作为相似驾车路线的驾车路线,则执行步骤4;
步骤4:将最大相似度值对应的驾车路线及重复执行步骤3查找到所有相似驾车路线聚合在一个驾车路线簇中;
步骤5:判断OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤1;若无,则结束流程。
具体实施时,由于OD对类簇包括的OD对对应的驾车路线两两之间都需要计算相似度值,为了方便表示OD对类簇包括的OD对对应的驾车路线之间的相似度值,同时也为了方便确定每一相似度值对应的两条驾车路线,可以以矩阵形式表示OD对类簇包括的OD对对应的驾车路线之间的相似度值,当然,在本发明其它实施例中也可以以其它形式表示,例如:集合。
结合本发明实施例步骤S103中提供的确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值的方法,以矩阵形式表示OD对类簇包括的 OD对对应的驾车路线之间的相似度值为例,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇的方法,进行详细说明。
假设步骤S103中,从m个OD对类簇
Figure BDA0001281258890000101
中取出的OD对类簇为odsj={[ol,dl]|1≤l≤k},odsj中包括k个OD对,k个OD 对对应k个驾车路线,也即OD对类簇odsj包括的k个OD对对应k个Link序列,其分别为
Figure BDA0001281258890000102
其中1≤l≤k,从k组Link序列
Figure BDA0001281258890000103
取出两组Link序列
Figure BDA0001281258890000104
Figure BDA0001281258890000105
计算两组序列之间的相似度值 simi,j(相似度值的计算方法采用本发明实施例步骤S103中提供的相似度值计算方法),如此计算所有组之间的相似度值,并以矩阵形式表示相似度值:
Figure BDA0001281258890000106
则对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇的方法,具体包括:
(31)设置预设的阈值Tsim以及簇SS,其中,预设的阈值可以自由设定,例如:预设的阈值Tsim为0.85;
(32)从相似度矩阵
Figure BDA0001281258890000107
中获取最大相似度值sinmax=simi,j;若 simmax≥Tsim,则执行步骤(33);否则,放弃对该OD对类簇的处理;
(33)将最大相似度值simmax加入簇SS内,并将矩阵
Figure BDA0001281258890000108
中元素 simmax所在位置设置为0;
(34)从簇SS内取出一个未被取出过的相似度对象simi,j,若簇SS内所对象都被取出处理过则执行步骤(39);
(35)读取矩阵
Figure BDA0001281258890000111
中第i行所有元素sim1,i…simk,i,若其中任一元素simm,i≥Tsim,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000112
中元素simm,i所在位置设置为0;
(36)读取矩阵
Figure BDA0001281258890000113
中第i列所有元素simi,1…simi,k,若其中任一元素simi,m≥Tsim,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000114
中元素simi,m所在位置设置为0;
(37)读取矩阵
Figure BDA0001281258890000115
中第j行所有元素sim1,j…simk,j,若其中任一元素simm,j≥Tsim,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000116
中元素simm,j所在位置设置为0;
(38)读取矩阵
Figure BDA0001281258890000117
中第j列所有元素simj,1…simj,k,若其中任一元素simj,m≥Tsim,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000118
中元素simj,m所在位置设置为0;然后执行步骤(34);
(39)将簇SS中任一数值sim对应的Link序列进行排查与汇总,以得到驾车路线簇
Figure BDA0001281258890000119
(310)判断该OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤32;若无,则结束流程。
值得说明的是,本发明实施例中在用户两次以上通过同一条驾车路线从同一个起点到达同一个终点时,将该条驾车路线认为是用户从该起点到该终点的常用驾车路线,因此,即使驾驶路线簇中只包括两条驾车路线,那么根据这两条驾车路线也可以确定出一条常用驾车路线。但是在本发明其它实施例中,若在用户R次以上通过同一条驾车路线从同一个起点到达同一个终点时,将该条驾车路线认为是用户从该起点到该终点的常用驾车路线,则在确定驾车路线簇时,若驾车路线簇中包括的驾车路线小于R,则该驾车路线簇中无法确定出常用驾车路线,因此,为了减小计算量,可以设置驾车路线簇阈值R,在确定驾车路线簇之后,确定驾车路线簇中包括的驾车路线是否大于或者等于驾车路线簇阈值R,若是,则保留该驾车路线簇,否则,舍弃该驾车路线簇。
步骤S105,根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。
在一种可能的实施方式中,根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线,包括:针对一个驾车路线簇,从该驾车路线簇包括的驾车路线之间的相似度值中,获取最大相似度值;获取最大相似度值在驾车路线簇中对应的两条驾车路线的长度;将长度较长的驾车路线确定为一个常用驾车路线。
结合本发明实施例,驾车路线簇lsn包含L条驾车路线,需要将同一驾车路线簇lsn的L条驾车路线抽象为一条此用户的常用驾车路线,例如:某一驾车路线簇routen={l1,l2,l3,…,li,…},则根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线,具体包括:
(1)根据步骤S103中的计算结果,确定驾车路线簇 routen={l1,l2,l3,…,li,…}中驾车路线之间的相似度值,并获取最大相似度值 simi,j(此为驾车路线i和驾车路线j之间的相似度);具体实施时,也可以直接从该驾车路线簇对应的簇SS中获取最大相似度值,以避免重复计算,减小计算量;
(2)分别计算驾车路线i和驾车路线j的路线总长度;
(3)将长度较长的驾车路线作为常用驾车路线。
在一种可能的实施方式中,本发明实施例还包括:从OD对类簇包括的 OD对中,确定常用OD对。
具体实施时,在从OD对类簇包括的OD对中确定常用OD对之后,可以将在该OD对类簇中确定出的常用驾车路线作为常用OD对对应的常用驾车路线。
进一步地,还可以存储常用OD对与常用驾车路线之间的对应关系,以在确定用户使用地图导航软件时选择的起点与终点与存储的任一常用OD对相同时,向用户推荐该常用OD对对应的常用驾车路线。
在一种可能的实施方式中,本发明实施例提供的方法中,从OD对类簇包括的OD对中,确定常用OD对,包括:从OD对类簇包括的起点中,确定一个与其它起点的距离之和最小的起点作为常用起点,从OD对类簇所包括的终点中,确定一个与其它终点的距离之和最小的终点作为常用终点,将常用起点和常用终点组合为常用OD对。
具体实施时,在确定常用起点时,可以计算多个起点中每个起点与其它起点之间的距离之和,得到每个起点对应的距离之和,将最小距离之和对应的起点作为OD对类簇的常用起点;在确定常用终点时,可以计算多个终点中每个终点与其它终点之间的距离之和,得到每个终点对应的距离之和,将最小距离之和对应的终点作为OD对类簇的常用终点。
作为较为具体的实施例,假设全城用户UAllCity={uk|1≤k≤K},全城共有K个用户,如下表1所示,示出了10个用户。
编号 用户
1 2DECE20E-F982-4201-958E-AA44EEE2E03D
2 176C22CA-8B92-409B-B044-534DFB8ED5FD
3 864323021601258
4 869654011100942
5 5C7D0F76-1A23-4964-87AF-5BC874A8C46C
6 354273058788014
7 869654011100942
8 866229024688465
9 355868053225828
10 176C22CA-8B92-409B-B044-534DFB8ED5FD
表1
确定用户(例如:编号3的用户)常用驾车路线的步骤,具体包括:
步骤A、获取编号3的用户的历史驾车路线数据。
如下表2所示,在表2中示出编号3的用户864323021601258的75条历史驾车路线数据。
Figure BDA0001281258890000141
Figure BDA0001281258890000151
表2
一条驾车路线routes,分别对应一个OD对
Figure BDA0001281258890000161
和一组Link序列
Figure BDA0001281258890000162
其中Link序列
Figure BDA0001281258890000163
由N个Link 组成,且具有前后顺序。表2中示出了用户864323021601258对应OD对和Link 序列数据,其中Link序列包括Link ID和Link长度。
步骤B、对OD对进行聚类,得到至少一个OD对类簇。
首先对本实施例中对起点或者终点的聚类方法进行说明。以对起点聚类为例,本实施例中对起点聚类的方法,包括:
步骤B1,从表2中示出的75个OD对中获取75个起点O组成坐标点集: Pset={116.380478:39.896206,116.379181:39.897976, 116.414322:39.853024,…,116.314819:39.760258,116.322006:39.763317} 设置预设的距离阈值Tl=800米,预设的数量阈值Tp=2;
步骤B2,设置一个空簇PS,从坐标点集Pset中任选一个坐标点 pk=[116.380478:39.896206],并将pk加入空簇PS中,从Pset中删除对象pk
步骤B3,从坐标点集Pset中取出一个坐标点 pl=[116.379181:39.897976],计算此点与坐标点pk之间的直线距离 disl,k=226;
步骤B4,若直线距离disl,k≤Tl,则将pl加入簇PS中,从坐标点集Pset中删除对象pl
步骤B5,循环执行步骤B3和步骤B4,直至取完坐标点集Pset中所有起点,执行步骤B6;
步骤B6,若簇PS中点对象个数count(PS)≥Tp,则将簇PS作为一个O 类簇,然后执行步骤B2,继续从坐标点集中选择其它起点O,以确定其它O 类簇。
介绍了本实施例中对起点或者终点的聚类方法之后,下面对本实施例中对 OD对进行聚类,得到至少一个OD对类簇的方法进行说明。
步骤B11,基于表2中示出的OD对对应的所有终点进行聚类,假设获得 2个D类簇:
Figure BDA0001281258890000171
其中,D类簇1包括29个终点,D类簇2包括25个终点;
步骤B12,从2个D类簇中任意取出一个D类簇dsi(例如:D类簇1),对dsi中包括的终点对应的起点进行聚类,假设获得1个O类簇:
Figure BDA0001281258890000172
其中,O类簇1中包括19个起点;
步骤B13,基于获得的一个O类簇osj,将该O类簇中包括的起点O对应的OD对聚合在一个OD对类簇中,该OD对类簇为:
odsj={[116.379578:39.896523,116.314049:39.759796],
[116.379562:39.896545,116.314034:39.759796],…,
[116.381256:39.897434,116.314049:39.759796],[116.380257:39.897270,116.314034:39.759796]}
(该OD对类簇中也包含19个OD对),如此得到1个OD对类簇
Figure BDA0001281258890000173
步骤B14,重复执行步骤B12和步骤B13,直至对2个D类簇中的每个D 类簇均进行计算。
经过上述OD聚类过程,可以生成两个OD对类簇:
{[116.379578:39.896523,116.314049:39.759796],
[116.379562:39.896545,116.314034:39.759796],…,
[116.381256:39.897434,116.314049:39.759796],[116.380257:39.897270,116.314034:39.759796]}
{[116.314445:39.759796,116.379471:39.897144],
[116.314941:39.759792,116.379471:39.897144],…,
[116.314819:39.760418,116.379471:39.897144],
[116.314819:39.760418,116.379471:39.897144]}
其中,OD对类簇1中包括19个OD对,OD对类簇2中包括18个OD对。
在计算得到2个OD对类簇
Figure BDA0001281258890000174
之后,从OD对类簇包括的OD对中,确定常用OD对,以代表此OD对类簇内的所有OD对,具体以上述OD对类簇1为例对此过程进行说明。
以OD对类簇1为例,OD对类簇1包含所有OD对对应起点集合:
{116.379578:39.896523,116.379562:39.896545,…,
116.381256:39.897434,116.380257:39.897270}
从起点集合中确定与其它所有起点之间的直线距离之和最小的起点,经计算此起点为[116.379532:39.896702];与此类似,在OD对类簇1包含所有OD对对应终点集合中确定与其它所有终点之间的直线距离之和最小的终点,经计算此终点为[116.314034:39.759796];由此OD对类簇1对应的常用OD对为 [116.379532:39.896702,116.314034:39.759796]。依照相同的方法,可以计算OD 对类簇2对应的常用OD对为[116.314857:39.759888,116.379471:39.897144]。
步骤C、确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值。
从2个OD对类簇
Figure BDA0001281258890000182
中取出一个OD对类簇1,该 OD对类簇中包含19个OD对,OD对类簇1中包含19个OD对,对应19组 Link序列
Figure BDA0001281258890000183
其中1≤l≤19,从19组Link序列
Figure BDA0001281258890000186
取出两组Link序列
Figure BDA0001281258890000184
Figure BDA0001281258890000185
计算两组序列之间的相似度值 simi,j;如此计算所有组之间的相似度值以组成相似度值矩阵,相似度值的计算采用本发明实施例中的相似度值计算方法,此处不再赘述。相似度值矩阵为:
Figure BDA0001281258890000181
Figure BDA0001281258890000191
步骤D,根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对 OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇。具体包括:
步骤D1,设置预设的阈值Tsim=0.8以及空簇SS;
步骤D2,从相似度矩阵
Figure BDA0001281258890000192
中获取数值最大相似度值 simmax=sim19,5=0.99;若sim19,5≥Tsim=0.8,则执行步骤D3,否则,放弃对该OD对类簇的处理;
步骤D3,将最大相似度值sim19,5加入簇SS内,则簇SS={sim19,5},并将相似度值矩阵
Figure BDA0001281258890000193
中元素sim19,5所在位置设置为0;
步骤D4,从簇SS内取出一个未被取出过的相似度对象sim19,5,若簇SS 内所有对象都被取出过,则执行步骤D9;
步骤D5,读取矩阵
Figure BDA0001281258890000194
中第5行所有元素sim1,5…sim19,5,若其中任一元素simm,5≥Tsim=0.8,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000201
中元素simm,5所在位置设置为0;此时簇SS={sim19,5,sim7,5,sim8,5,sim9,5,sim10,5, sim12,5,sim13,5,sim14,5,sim15,5,sim16,5,sim17,5,sim18,5};
步骤D6,读取矩阵
Figure BDA0001281258890000202
中第5列所有元素sim5,1…sim5,19,若其中任一元素sim5,m≥Tsim=0.8,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000203
中元素sim5,m所在位置设置为0;此时簇SS={sim19,5,sim7,5,sim8,5,sim9,5,sim10,5, sim12,5,sim13,5,sim14,5,sim15,5,sim16,5,sim17,5,sim18,5,sim5,1,sim5,2};
步骤D7,读取矩阵
Figure BDA0001281258890000204
中第19行所有元素sim19,1…sim19,k,其中没有任何元素达到要求,也即其中没有任何元素大于Tsim=0.8;
步骤D8,读取矩阵
Figure BDA0001281258890000205
中第19列所有元素sim19,1…sim19,19,若其中任一元素sim19,m≥Tsim=0.8,则将此元素加入簇SS内,并将矩阵
Figure BDA0001281258890000206
中元素sim19,m所在位置设置为0;此时簇SS={sim19,5,sim7,5,sim8,5,sim9,5, sim10,5,sim12,5,sim13,5,sim14,5,sim15,5,sim16,5,sim17,5,sim18,5,sim5,1,sim5,2, sim19,1,sim19,2,sim19,7,sim19,8,sim19,9,sim19,10,sim19,12,sim19,13,sim19,14,sim19,15, sim19,16,sim19,17,sim19,18};然后执行步骤D4继续计算;
步骤D9,经过上述循环过程中,得出第1个簇SS={sim19,5,sim7,5,sim8,5, sim9,5,sim10,5,sim12,5,sim13,5,sim14,5,sim15,5,sim16,5,sim17,5,sim18,5,sim5,1, sim5,2,sim19,1,sim19,2,sim19,7,sim19,8,sim19,9,sim19,10,sim19,12,sim19,13,sim19,14, sim19,15,sim19,16,sim19,17,sim19,18,sim8,7,sim9,7,sim10,7,sim12,7,sim13,7,sim14,7, sim15,7,sim16,7,sim17,7,sim18,7,sim7,1,sim7,2,sim9,8,sim10,8,sim12,8,sim13,8, sim14,8,sim15,8,sim16,8,sim17,8,sim18,8,sim8,1,sim8,2,sim10,9,sim12,9,sim13,9, sim14,9,sim15,9,sim16,9,sim17,9,sim18,9,sim9,1,sim9,2,sim12,10,sim13,10,sim14,10, sim15,10,sim16,10,sim17,10,sim18,10,sim10,1,sim10,2,sim13,12,sim14,12,sim15,12, sim16,12,sim17,12,sim18,12,sim12,1,sim12,2,sim14,13,sim15,13,sim16,13,sim17,13, sim18,13,sim13,1,sim13,2,sim15,14,sim16,14,sim17,14,sim18,14,sim14,1,sim14,2, sim16,15,sim17,15,sim18,15,sim15,1,sim15,2,sim17,16,sim18,16,sim16,1,sim16,2, sim18,17,sim17,1,sim17,2,sim18,1,sim18,2,sim2,1},簇SS中一 共有105个元素,此簇中每个元素对应两条驾车路线,该簇对应的驾车路线簇 RS={1,2,5,7,8,9,10,12,13,14,15,16,17,18,19},共有15条路线;
步骤D10,判断该OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤D2;若无,则结束流程。经过计算,OD对类簇一共确定出两个驾车路线类簇:RS1={1,2,5,7,8,9,10,12,13,14,15,16,17,18,19}, RS2={3.4,6}。
步骤E、根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。
对OD对类簇1中包含的19条驾车路线聚类,共得到2个驾车路线类簇,分别为:RS1={1,2,5,7,8,9,10,12,13,14,15,16,17,18,19},RS2={3.4,6}。其中,驾车路线类簇RS1包含15条驾车路线、驾车路线簇RS2包含3条驾车路线,因此,需要将同一驾车路线簇中包含的多条驾车路线抽象为一条此用户的常用驾车路线,其中,常用驾车路线route为驾车路线簇中的一条。
常用驾车路线route确定方法,具体包括:
步骤E1,获取驾车路线簇RS1={1,2,5,7,8,9,10,12,13,14,15,16,17,18,19}中驾车路线之间的相似度值,且从中取出其中最大相似度值sim19,5=0.99(此为驾车路线5和驾车路线19之间的相似度值);
步骤E2,计算驾车路线5和驾车路线19的路线总长度分别为21969和 21911;
步骤E3,将驾车路线长度较长的驾车路线5确定为常用驾车路线:
Figure BDA0001281258890000211
经过上述计算可知,驾车路线簇RS1对应的常用驾车路线为:
Figure BDA0001281258890000212
由于OD对类簇1的常用OD对为,[116.379532:39.896702, 116.314034:39.759796],因此,该常用驾车路线为OD对[116.379532:39.896702, 116.314034:39.759796]对应的常用驾车路线。
以上为本发明实施例提供的常用驾车路线的确定方法,基于同样的发明思路,本发明实施例还提供一种常用驾车路线的确定装置,如图2所示。
图2示出的本发明实施例提供的常用驾车路线的确定装置,包括:
历史驾车路线数据获取单元202,用于获取用户的历史驾车路线数据,历史驾车路线数据中包括起点终点OD对以及OD对对应的驾车路线;OD对聚类单元204,用于对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件;相似度计算单元206,用于确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;驾车路线聚类单元208,用于根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;常用驾车路线确定单元210,用于根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。
在一种可能的实施方式中,本发明实施例提供的装置中,将OD对中的起点作为第一类点,终点作为第二类点,或者将OD对中的终点作为第一类点,起点作为第二类点;则OD对聚类单元204,具体用于:将OD对中的第一类点进行聚类,得到至少一个第一类点簇;将一个第一类点簇包括的每一个第一类点对应的第二类点进行聚类,得到第一类点簇对应的至少一个第二类点簇,一个第一类点和对应的一个第二类点来源于同一个OD对;将一个第二类点簇中包括的第二类点对应的OD对聚合在一个OD对类簇中,第二类点来源于对应的OD对;其中,第一类点簇中包括的第一类点的数量大于预设的数量阈值,且有一个第一类点到该第一类点簇中其他任意一个第一类点的距离均小于预设的第一距离阈值;第二类点簇中包括的第二类点的数量大于预设的数量阈值,且有一个第二类点到该第二类点簇中其他任意一个第二类点的距离均小于预设的第二距离阈值。
在一种可能的实施方式中,本发明实施例提供的装置中,相似度计算单元 206,具体用于:针对一个OD对类簇包括的OD对对应的驾车路线,每次任意读取出两条驾车路线;获取读取出的两条驾车路线各自的总里程数;获取两条驾车路线包含的相同路段的里程数和值;将相同路段的里程数和值与总里程数中较大一个的比值,作为两条驾车路线的相似度值。
在一种可能的实施方式中,本发明实施例提供的装置中,驾车路线聚类单元208,具体用于:从OD对类簇包括的OD对对应的驾车路线之间的相似度值中,找到最大相似度值;步骤1:判断最大相似度值是否小于预设的阈值,若是,则放弃对OD对类簇的处理,若否,则进入步骤2;步骤2:从驾车路线之间的相似度值中,查找与最大相似度值对应的任意一条驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线作为相似驾车路线;步骤3:针对一条相似驾车路线,从驾车路线之间的相似度值中,查找与相似驾车线路的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线也作为相似驾车路线;针对每一条相似驾车路线重复执行步骤 3,直到查找不到可以作为相似驾车路线的驾车路线,则执行步骤4;步骤4:将最大相似度值对应的驾车路线及重复执行步骤3查找到所有相似驾车路线聚合在一个驾车路线簇中;步骤5:判断OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤1;若无,则结束流程。
在一种可能的实施方式中,本发明实施例提供的装置中,常用驾车路线确定单元210,具体用于:针对一个驾车路线簇,从该驾车路线簇包括的驾车路线之间的相似度值中,获取最大相似度值;获取最大相似度值在驾车路线簇中对应的两条驾车路线的长度;将长度较长的驾车路线确定为一个常用驾车路线。
在一种可能的实施方式中,本发明实施例提供的装置中,该装置还包括:常用OD对确定单元212,用于从OD对类簇包括的OD对中,确定常用OD 对。
在一种可能的实施方式中,本发明实施例提供的装置中,常用OD对确定单元212,具体用于:从OD对类簇包括的起点中,确定一个与其它起点的距离之和最小的起点作为常用起点,从OD对类簇所包括的终点中,确定一个与其它终点的距离之和最小的终点作为常用终点,将常用起点和常用终点组合为常用OD对。
综上,本发明实施例提供的一种常用驾车路线的确定方法及装置,获取用户的历史驾车路线数据,历史驾车路线数据中包括起点终点OD对以及OD对对应的驾车路线,对OD对进行聚类,得到至少一个OD对类簇,确定一个 OD对类簇包括的OD对对应的驾车路线之间的相似度值,根据OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇,并根据驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,确定常用驾车路线。通过上述方法,能够从用户的历史驾车路线数据中确定出用户的常用驾车路线,从而无需用户手动设置常用驾车路线,即可向用户推荐确定出的常用驾车路线,提高了用户对导航服务推荐驾车路线的采纳度和认可度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和 /或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/ 或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (12)

1.一种常用驾车路线的确定方法,其特征在于,该方法包括:
获取用户的历史驾车路线数据,所述历史驾车路线数据中包括起点终点OD对以及所述OD对对应的驾车路线;
对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件;
确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;
根据所述OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;
根据所述驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,在所述驾车路线簇包括的驾车路线中确定常用驾车路线,
其中,根据所述驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,在所述驾车路线簇包括的驾车路线中确定常用驾车路线,包括:
针对一个驾车路线簇,从该驾车路线簇包括的驾车路线之间的相似度值中,获取最大相似度值;
获取所述最大相似度值在所述驾车路线簇中对应的两条驾车路线的长度;
将长度较长的驾车路线确定为一个常用驾车路线。
2.根据权利要求1所述的方法,其特征在于,将OD对中的起点作为第一类点,终点作为第二类点,或者将OD对中的终点作为第一类点,起点作为第二类点,则所述对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件,包括:
将OD对中的第一类点进行聚类,得到至少一个第一类点簇;
将一个第一类点簇包括的每一个第一类点对应的第二类点进行聚类,得到所述第一类点簇对应的至少一个第二类点簇,一个第一类点和对应的一个第二类点来源于同一个OD对;
将一个第二类点簇中包括的第二类点对应的OD对聚合在一个OD对类簇中,所述第二类点来源于所述对应的OD对;
其中,所述第一类点簇中包括的第一类点的数量大于预设的数量阈值,且有一个第一类点到该第一类点簇中其他任意一个第一类点的距离均小于预设的第一距离阈值;
所述第二类点簇中包括的第二类点的数量大于预设的数量阈值,且有一个第二类点到该第二类点簇中其他任意一个第二类点的距离均小于预设的第二距离阈值。
3.根据权利要求1所述的方法,其特征在于,所述确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值,包括:
针对一个OD对类簇包括的OD对对应的驾车路线,每次任意读取出两条驾车路线;
获取读取出的两条驾车路线各自的总里程数;
获取两条驾车路线包含的相同路段的里程数和值;
将相同路段的里程数和值与所述总里程数中较大一个的比值,作为所述两条驾车路线的相似度值。
4.根据权利要求1所述的方法,其特征在于,所述根据所述OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线类簇,包括:
从所述OD对类簇包括的OD对对应的驾车路线之间的相似度值中,找到最大相似度值;
步骤1:判断所述最大相似度值是否小于预设的阈值,若是,则放弃对所述OD对类簇的处理,若否,则进入步骤2;
步骤2:从驾车路线之间的相似度值中,查找与所述最大相似度值对应的任意一条驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线作为相似驾车路线;
步骤3:针对一条相似驾车路线,从所述驾车路线之间的相似度值中,查找与所述相似驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线也作为相似驾车路线;
针对所述每一条相似驾车路线重复执行所述步骤3,直到查找不到可以作为相似驾车路线的驾车路线,则执行步骤4;
步骤4:将所述最大相似度值对应的驾车路线及重复执行所述步骤3查找到所有相似驾车路线聚合在一个驾车路线簇中;
步骤5:判断所述OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤1;若无,则结束流程。
5.根据权利要求1-4中任一项所述的方法,其特征在于,该方法还包括:
从所述OD对类簇包括的OD对中,确定常用OD对。
6.根据权利要求5所述的方法,其特征在于,从所述OD对类簇包括的OD对中,确定常用OD对,包括:
从所述OD对类簇包括的起点中,确定一个与其它起点的距离之和最小的起点作为常用起点,从所述OD对类簇所包括的终点中,确定一个与其它终点的距离之和最小的终点作为常用终点,将所述常用起点和所述常用终点组合为常用OD对。
7.一种常用驾车路线的确定装置,其特征在于,该装置包括:
历史驾车路线数据获取单元,用于获取用户的历史驾车路线数据,所述历史驾车路线数据中包括起点终点OD对以及所述OD对对应的驾车路线;
OD对聚类单元,用于对OD对进行聚类,得到至少一个OD对类簇,一个OD对类簇中的起点之间的距离和/或终点之间的距离满足预设的聚类距离条件;
相似度计算单元,用于确定一个OD对类簇包括的OD对对应的驾车路线之间的相似度值;
驾车路线聚类单元,用于根据所述OD对类簇包括的OD对对应驾车路线之间的相似度值,对OD对类簇包括的OD对对应的驾车路线进行聚类,生成至少一个驾车路线簇;
常用驾车路线确定单元,用于根据所述驾车路线簇包括的驾车路线之间的相似度值以及驾车路线的长度,在所述驾车路线簇包括的驾车路线中确定常用驾车路线,
其中,所述常用驾车路线确定单元,具体用于:
针对一个驾车路线簇,从该驾车路线簇包括的驾车路线之间的相似度值中,获取最大相似度值;
获取所述最大相似度值在所述驾车路线簇中对应的两条驾车路线的长度;
将长度较长的驾车路线确定为一个常用驾车路线。
8.根据权利要求7所述的装置,其特征在于,将OD对中的起点作为第一类点,终点作为第二类点,或者将OD对中的终点作为第一类点,起点作为第二类点;
则所述OD对聚类单元,具体用于:
将OD对中的第一类点进行聚类,得到至少一个第一类点簇;
将一个第一类点簇包括的每一个第一类点对应的第二类点进行聚类,得到所述第一类点簇对应的至少一个第二类点簇,一个第一类点和对应的一个第二类点来源于同一个OD对;
将一个第二类点簇中包括的第二类点对应的OD对聚合在一个OD对类簇中,所述第二类点来源于所述对应的OD对;
其中,所述第一类点簇中包括的第一类点的数量大于预设的数量阈值,且有一个第一类点到该第一类点簇中其他任意一个第一类点的距离均小于预设的第一距离阈值;
所述第二类点簇中包括的第二类点的数量大于预设的数量阈值,且有一个第二类点到该第二类点簇中其他任意一个第二类点的距离均小于预设的第二距离阈值。
9.根据权利要求7所述的装置,其特征在于,所述相似度计算单元,具体用于:
针对一个OD对类簇包括的OD对对应的驾车路线,每次任意读取出两条驾车路线;
获取读取出的两条驾车路线各自的总里程数;
获取两条驾车路线包含的相同路段的里程数和值;
将相同路段的里程数和值与所述总里程数中较大一个的比值,作为所述两条驾车路线的相似度值。
10.根据权利要求7所述的装置,其特征在于,所述驾车路线聚类单元,具体用于:
从所述OD对类簇包括的OD对对应的驾车路线之间的相似度值中,找到最大相似度值;
步骤1:判断所述最大相似度值是否小于预设的阈值,若是,则放弃对所述OD对类簇的处理,若否,则进入步骤2;
步骤2:从驾车路线之间的相似度值中,查找与所述最大相似度值对应的任意一条驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线作为相似驾车路线;
步骤3:针对一条相似驾车路线,从所述驾车路线之间的相似度值中,查找与所述相似驾车路线的相似度值大于预设的阈值的驾车路线,若查找到,则将查找到的驾车路线也作为相似驾车路线;
针对所述每一条相似驾车路线重复执行所述步骤3,直到查找不到可以作为相似驾车路线的驾车路线,则执行步骤4;
步骤4:将所述最大相似度值对应的驾车路线及重复执行所述步骤3查找到所有相似驾车路线聚合在一个驾车路线簇中;
步骤5:判断所述OD对类簇包括的OD对对应的驾车路线是否有剩余的未被聚合的驾车路线,若有,则从未被聚合的驾车路线之间的相似度值中,获取最大相似度值,执行步骤1;若无,则结束流程。
11.根据权利要求7-10中任一项所述的装置,其特征在于,该装置还包括:
常用OD对确定单元,用于从所述OD对类簇包括的OD对中,确定常用OD对。
12.根据权利要求11所述的装置,其特征在于,所述常用OD对确定单元,具体用于:
从所述OD对类簇包括的起点中,确定一个与其它起点的距离之和最小的起点作为常用起点,从所述OD对类簇所包括的终点中,确定一个与其它终点的距离之和最小的终点作为常用终点,将所述常用起点和所述常用终点组合为常用OD对。
CN201710288330.9A 2017-04-27 2017-04-27 一种常用驾车路线的确定方法及装置 Active CN108806241B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710288330.9A CN108806241B (zh) 2017-04-27 2017-04-27 一种常用驾车路线的确定方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710288330.9A CN108806241B (zh) 2017-04-27 2017-04-27 一种常用驾车路线的确定方法及装置

Publications (2)

Publication Number Publication Date
CN108806241A CN108806241A (zh) 2018-11-13
CN108806241B true CN108806241B (zh) 2021-08-17

Family

ID=64070251

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710288330.9A Active CN108806241B (zh) 2017-04-27 2017-04-27 一种常用驾车路线的确定方法及装置

Country Status (1)

Country Link
CN (1) CN108806241B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110427574B (zh) * 2019-08-02 2022-10-14 江苏满运软件科技有限公司 路线相似度确定方法、装置、设备和介质
CN110443493B (zh) * 2019-08-02 2022-09-23 贵阳货车帮科技有限公司 路线相似度确定方法、装置、设备和介质
CN110796278B (zh) * 2019-10-22 2021-09-07 上海钧正网络科技有限公司 信息处理方法、装置、终端及可读存储介质
CN111457925B (zh) * 2020-04-15 2022-03-22 湖南赛吉智慧城市建设管理有限公司 社区路径导航方法、装置、计算机设备及存储介质
CN111460076B (zh) * 2020-04-20 2023-05-26 亚美智联数据科技有限公司 驾驶路线熟悉度确定方法、装置、计算机设备和存储介质
CN114579063B (zh) * 2022-05-07 2022-09-02 浙江口碑网络技术有限公司 Od数据的存储及读取方法、装置、存储介质及计算机设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964148A (zh) * 2009-07-24 2011-02-02 日立(中国)研究开发有限公司 道路交通信息记录服务器和gps用户终端
CN102622370A (zh) * 2011-01-30 2012-08-01 北京高德泰信科技有限公司 一种获取路线描述的方法及装置、电子地图服务器
CN104089620A (zh) * 2014-04-04 2014-10-08 北京乐投信息技术有限公司 一种基于数据分析的自动路线规划方法及其系统
CN105203120A (zh) * 2014-06-30 2015-12-30 腾讯科技(深圳)有限公司 导航路线评测方法及装置
CN105528649A (zh) * 2015-11-30 2016-04-27 山东烟草研究院有限公司 一种基于聚类和节约算法的路线优化推荐方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5459667A (en) * 1993-01-22 1995-10-17 Sumitomo Electric Industries, Ltd. Navigation apparatus for informing vehicle driver of information regarding travel route
JPH08240437A (ja) * 1995-03-03 1996-09-17 Mitsubishi Electric Corp 車両経路案内装置
JP2000155036A (ja) * 1998-11-19 2000-06-06 Mitsubishi Electric Corp 経路予測装置
CN101308027A (zh) * 2008-05-29 2008-11-19 飞图科技(北京)有限公司 一种用于gps设备的快速去常用地的方法
CN102840867B (zh) * 2011-06-21 2015-06-17 歌乐株式会社 基于常用路线的路线搜索系统及方法
CN102506853B (zh) * 2011-11-10 2015-09-02 深圳市凯立德欣软件技术有限公司 路径规划法方法、导航方法、位置服务设备及服务器
CN106504534B (zh) * 2016-11-28 2019-06-14 北京世纪高通科技有限公司 一种预测道路路况的方法、装置及用户设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101964148A (zh) * 2009-07-24 2011-02-02 日立(中国)研究开发有限公司 道路交通信息记录服务器和gps用户终端
CN102622370A (zh) * 2011-01-30 2012-08-01 北京高德泰信科技有限公司 一种获取路线描述的方法及装置、电子地图服务器
CN104089620A (zh) * 2014-04-04 2014-10-08 北京乐投信息技术有限公司 一种基于数据分析的自动路线规划方法及其系统
CN105203120A (zh) * 2014-06-30 2015-12-30 腾讯科技(深圳)有限公司 导航路线评测方法及装置
CN105528649A (zh) * 2015-11-30 2016-04-27 山东烟草研究院有限公司 一种基于聚类和节约算法的路线优化推荐方法

Also Published As

Publication number Publication date
CN108806241A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
CN108806241B (zh) 一种常用驾车路线的确定方法及装置
WO2020082865A1 (zh) 用于构建机器学习模型的特征选取方法、装置以及设备
CN106484777B (zh) 一种多媒体数据处理方法以及装置
CN106909901B (zh) 从图像中检测物体的方法及装置
CN109145003B (zh) 一种构建知识图谱的方法及装置
CN108279016B (zh) Had地图的平滑处理方法和装置、导航系统及自动驾驶系统
EP3452782A1 (en) Method and apparatus for matching probe points to road segments utilizing a trajectory identifier
CN106407349A (zh) 一种产品推荐方法及装置
CN102622370A (zh) 一种获取路线描述的方法及装置、电子地图服务器
CN103365998A (zh) 一种相似字符串检索方法
CN111858922A (zh) 服务方信息查询方法、装置、电子设备以及存储介质
CN111831894A (zh) 一种信息匹配方法及装置
CN105468632A (zh) 一种地理编码方法及装置
CN106708875B (zh) 一种特征筛选方法及系统
CN106815179B (zh) 一种文本相似度确定方法及装置
CN114328785A (zh) 提取道路信息的方法和装置
CN107943982B (zh) 内置约束规则的k-means文本聚类方法及装置
CN113792084A (zh) 数据热度的分析方法、装置、设备及存储介质
CN108681581A (zh) 一种就业数据的协同过滤方法及系统
CN107391728B (zh) 数据挖掘方法以及数据挖掘装置
CN109783513B (zh) 数据处理方法、装置、服务器和计算机可读存储介质
CN106815290B (zh) 一种基于图挖掘的银行卡归属的确定方法及装置
CN109828996A (zh) 一种不完备数据集快速属性约简方法
CN107908771B (zh) 内置约束规则的k-means文本聚类方法及装置
CN112508654A (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
TA01 Transfer of patent application right

Effective date of registration: 20200506

Address after: 310052 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Applicant after: Alibaba (China) Co.,Ltd.

Address before: 102200, No. 18, No., Changsheng Road, Changping District science and Technology Park, Beijing, China. 1-5

Applicant before: AUTONAVI SOFTWARE Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant