CN110046218B - 一种用户出行模式的挖掘方法、装置、系统和处理器 - Google Patents
一种用户出行模式的挖掘方法、装置、系统和处理器 Download PDFInfo
- Publication number
- CN110046218B CN110046218B CN201910394768.4A CN201910394768A CN110046218B CN 110046218 B CN110046218 B CN 110046218B CN 201910394768 A CN201910394768 A CN 201910394768A CN 110046218 B CN110046218 B CN 110046218B
- Authority
- CN
- China
- Prior art keywords
- interest
- user
- driving
- mining
- travel
- 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
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/36—Creation of semantic tools, e.g. ontology or thesauri
Abstract
本申请公开了一种用户出行模式的挖掘方法、装置、系统和处理器,方法包括:从用户的驾驶行程中提取兴趣点,兴趣点包括驾驶行程的起点和终点;根据兴趣点确定对应的兴趣区域;对兴趣区域进行语义标注;兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;根据预设时间段内所有驾驶行程中的兴趣点的语义生成出行语义序列;预设时间段包括至少一个驾驶行程;根据预设挖掘周期内用户的所有出行语义序列挖掘用户的出行模式,预设挖掘周期的长度大于预设时间段。该方法可以保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,提高了针对用户出行模式挖掘的准确性。
Description
技术领域
本申请涉及数据处理技术领域,尤其涉及一种用户出行模式的挖掘方法、装置、系统和处理器。
背景技术
随着人们出行需求的日益丰富,可定位的智能设备受到广泛的应用,例如具有定位功能的智能手机和智能穿戴设备等。利用可定位的智能设备能够获得用户的位置数据,基于多个位置数据可相应地形成用户的出行轨迹。
对用户的出行轨迹进行挖掘获得用户的出行模式属于目前的研究热点。由于出行轨迹中蕴藏着丰富的信息,例如用户的移动规律以及交通状况等。出行轨迹的挖掘具有诸多应用,例如,获知用户经常出行的路线,可以预先通知用户该路线的路况,如果该路线拥堵,用户可以根据预先的通知选择其他路线出行,进而规避拥堵。此外,也可以基于用户频繁出行的路线,向用户推荐路线周边的商家信息等。
目前,已经有一些针对用户进行出行模式挖掘的方法。这些方法首先识别出用户的停留点作为兴趣点,其后对每个兴趣点进行出行模式挖掘。但是,该方法基于距离阈值和时间阈值识别停留点,距离阈值和时间阈值的设置直接影响停留点的识别。下面进行示例性说明:如果时间阈值设置过长,则识别出用户的停留点较少,容易遗漏用户的兴趣点,导致停留点与用户的实际出行轨迹存在较大偏差;如果时间阈值设置过短,则识别出用户的停留点过多,例如道路拥堵时车辆未启动却识别为停留点,但是这并不是用户真正的停留点,用户驾驶行程并没有结束,用户也没有下车。
由此可见,距离阈值和时间阈值的设置影响停留点识别的准确度,而停留点识别不准确也将影响对用户出行模式挖掘的准确性。目前,如何对用户出行模式进行准确的挖掘已成为本领域急需解决的技术问题。
发明内容
基于以上技术问题,本申请提供一种用户出行模式的挖掘方法、装置、系统和处理器,以解决对用户出行模式挖掘不准确的问题。
本申请提供一种用户出行模式的挖掘方法,包括:
从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点;
根据所述兴趣点确定对应的兴趣区域;
对所述兴趣区域进行语义标注;所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;
根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列;所述预设时间段包括至少一个所述驾驶行程;
根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,所述预设挖掘周期的长度大于所述预设时间段。
可选地,所述根据所述兴趣点确定对应的兴趣区域,具体包括:
根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合;
根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则两个所述驾驶行程视为同一个类别的驾驶行程,反之则两个所述驾驶行程视为不同类别的驾驶行程;
将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得所述密度聚类算法的输出量;
将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径,根据所述半径确定所述兴趣区域。
可选地,所述对所述兴趣区域进行语义标注,具体包括:
根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度;
将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
可选地,所述根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,具体包括:
获得所述所有出行语义序列对应的所有项集,所述项集的项数为N,所述N为大于或等于2的正整数;所述项集中的项为对应兴趣点的语义;所述项集中的项先后顺序不同则为不同的项集;
获得每个所述项集占相同项数对应的所有项集的比例;
将所述比例大于预设阈值的项集作为所述用户的出行模式。
可选地,所述获得每个所述项集占相同项数对应的所有项集的比例,具体包括:
对每个所述出行语义序列进行字符编码获得编码后字符,所述出行语义序列中的每项由一个字符表示;
根据所述编码后字符获得每个所述出行语义序列包括的所述项数对应的项集数目;所述项集数目为所述编码后字符的字符数减去所述项数再加一;
获得所述预设挖掘周期内所述用户的所有出行语义序列的所述项数对应的项集数目之和;
获得所述项集的数目与所述项集数目之和的比值作为所述比例。
本申请还提供一种用户出行模式的挖掘装置,包括:
兴趣点提取模块,用于从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点;
兴趣区域确定模块,用于根据所述兴趣点确定对应的兴趣区域;
语义标注模块,用于对所述兴趣区域进行语义标注;所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;
出行语义序列生成模块,用于根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列;所述预设时间段包括至少一个所述驾驶行程;
出行模式挖掘模块,用于根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,所述预设挖掘周期的长度大于所述预设时间段。
可选地,所述兴趣区域确定模块,具体包括:
第一获取单元,用于根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合;
第二获取单元,用于根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则两个所述驾驶行程视为同一个类别的驾驶行程,反之则两个所述驾驶行程视为不同类别的驾驶行程;
第三获取单元,用于将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得所述密度聚类算法的输出量;
邻域半径确定单元,用于将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径;
兴趣区域确定单元,用于根据所述半径确定所述兴趣区域。
可选地,所述语义标注模块,具体包括:
第一挖掘单元,用于根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度;
语义标注单元,用于将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
本申请还提供一种用户出行模式的挖掘系统,包括:采集终端和服务器;
所述采集终端,用于采集用户的驾驶行程,并将所述驾驶行程发送至所述服务器;
所述服务器,用于执行以上所述的用户出行模式的挖掘方法。
本申请还提供一种处理器,用于运行程序,所述程序运行时执行以上所述的用户出行模式的挖掘方法。
可选地,所述出行模式挖掘模块,具体包括:
项集获取单元,用于获得所述所有出行语义序列对应的所有项集,所述项集的项数为N,所述N为大于或等于2的正整数;所述项集中的项为对应兴趣点的语义;所述项集中的项先后顺序不同则为不同的项集;
项集占比获取单元,用于获得每个所述项集占相同项数对应的所有项集的比例;
出行模式确定单元,用于将所述比例大于预设阈值的项集作为所述用户的出行模式。
可选地,所述项集占比获取单元,具体包括:
编码子单元,用于对每个所述出行语义序列进行字符编码获得编码后字符,所述出行语义序列中的每项由一个字符表示;
第一获取子单元,用于根据所述编码后字符获得每个所述出行语义序列包括的所述项数对应的项集数目;所述项集数目为所述编码后字符的字符数减去所述项数再加一;
第二获取子单元,用于获得所述预设挖掘周期内所述用户的所有出行语义序列的所述项数对应的项集数目之和;
项集占比获取子单元,用于获得所述项集的数目与所述项集数目之和的比值作为所述比例。
与现有技术相比,本申请至少具有以下优点:
本申请针对驾车出行的用户进行出行模式挖掘,首先从用户的驾驶行程中提取兴趣点,兴趣点包括驾驶行程的起点和终点;其后根据兴趣点确定对应的兴趣区域;然后对兴趣区域进行语义标注,使得兴趣区域以及兴趣区域内的所有兴趣点具备相同的语义;接着根据预设时间段(例如一天)内用户所有驾驶行程中兴趣点的语义生成出行语义序列;最后根据预设挖掘周期(例如一个月或半年)内用户的所有出行语义序列挖掘用户的出行模式。
由于该方法提取出的兴趣点包含驾驶行程的起点和终点,本方法的兴趣点对应的是驾驶行程的起始和结束,如果用户没有下车则不认为是驾驶行程的结束,而现有技术的停留点是通过设置停留时间的阈值进行识别,阈值的选取直接影响停留点识别的准确度。本方法完全脱离了时间阈值,而是真实地以用户驾驶行程的起点和终点作为兴趣点,因此兴趣点的选取更加准确。另外,本申请引出兴趣区域的概念,只要在同一个兴趣区域,则该兴趣区域内的所有兴趣点的语义均相同。驾驶行程的起点和终点均利用兴趣区域来进行语义标注,例如,兴趣区域为公司,则用户驾驶行程的终点位于该兴趣区域的范围内,则均认为终点为公司。建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方法,本方法保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,提高了针对用户出行模式挖掘的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请实施例提供的一种用户出行模式的挖掘方法流程图;
图2为本申请实施例提供的一种兴趣点分布示意图;
图3为本申请实施例提供的另一种用户出行模式的挖掘方法流程图;
图4为本申请实施例提供的一种用户出行模式的挖掘装置结构示意图;
图5为本申请实施例提供的一种用户出行模式的挖掘系统结构示意图;
图6为本申请实施例提供的一种用户出行模式的挖掘设备硬件结构图。
具体实施方式
本申请提供的实施例应用于对驾车出行的用户进行出行模式挖掘。正如前文所述,目前针对用户出行轨迹进行出行模式挖掘的方法存在准确性不足的问题。这些方法以距离阈值和时间阈值为依据识别用户的停留点,将这些停留点作为兴趣点,并对每个兴趣点进行出行模式挖掘。然而,停留点的识别受到所设置的距离阈值和时间阈值影响,当这两个阈值设置过大或过小时,识别获得的停留点准确度受限,例如,用户停车等待红灯时,停车时间较长,将停车地点识别为兴趣点,但是该点对于用户出行模式挖掘并没有意义。进而,这些方法容易导致挖掘出的用户出行模式的准确性降低。
基于以上问题,发明人经过研究,提供一种用户出行模式的挖掘方法、装置、系统和处理器。本申请适用于对驾车出行的用户进行出行模式挖掘,首先提取包含驾驶行程的起点和终点在内的兴趣点,相比于现有技术通过设置阈值识别出的兴趣点,本方法的兴趣点能够更加准确地反映用户的行程目的。此外,根据多个驾驶行程的邻近的兴趣点构建具有相同语义的兴趣区域,建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方法,本方法保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,基于兴趣区域以及兴趣点的语义对用户的出行模式进行挖掘,有效提高出行模式挖掘的准确性。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
方法实施例一
参见图1,该图为本申请实施例提供的一种用户出行模式的挖掘方法流程图。
如图1所示,本实施例提供的用户出行模式的挖掘方法,包括:
步骤101:从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点。
作为一种可能的实现方式,本步骤可以利用用户的移动终端确定驾驶行程的起点和终点。移动终端可以是任何移动或便携式电子设备,包括但不限于智能手机、移动电脑、平板电脑、个人数字助理(英文:Personal Digital Assistant,缩写:PDA)、媒体播放器等。可以理解的是,移动终端上安装有多种传感器,例如陀螺仪,因此移动终端能够确定用户当前处于行车状态或处于步行状态。当移动终端确定用户从行车状态切换为步行状态,表明用户已经下车,驾驶行程结束,则可以将该状态切换时刻移动终端所处的位置作为驾驶行程的终点;当移动终端确定用户从步行状态切换为行车状态,则表明用户已经上车,开始驾驶行程,则可以将该状态切换时刻移动终端所处的位置作为驾驶行程的起点。
作为另一种可能的实现方式,本步骤可以通过用户所驾驶车辆上的定位系统等确定用户驾驶行程的起点和终点。车辆点火通常表示用户即将开始一个驾驶行程,车辆熄火通常表示用户即将结束一个驾驶行程。当车辆检测到车辆的点火动作时,将点火动作时刻定位系统中车辆所处的位置作为驾驶行程的起点;当车辆检测到车辆的熄火动作时,将熄火动作时刻定位系统中车辆所处的位置作为驾驶行程的终点。车辆与用户的移动终端可以实现信号交互,从而移动终端也可以获得用户的兴趣点。需要说明的是,本实现方式中为保证起点和终点识别的准确性,还可进一步对提取的起点和终点进行异常点排除,将排除异常点后的剩余起点和终点作为兴趣点。例如,有些路段过于崎岖导致用户容易在短时间内频繁点火或熄火,导致可能提取到一些异常点。这些异常点显然不代表驾驶行程的开始或终止,因此需要排除。
以上仅为本步骤的两种示例性的实现方式,在实际应用中还可采用其它方式从用户的驾驶行程中提取兴趣点。本实施例对于步骤101的具体实现方式不加以限定。
可以理解的是,一个驾驶行程对应有一个起点和一个终点。作为一示例,用户驾驶车辆从A地前往B地接朋友,抵达B地时,用户将车辆停放后下车在B地一处餐厅与朋友共进午餐;用餐完毕后,用户与朋友从B地驱车返回A地。在该示例中,从A地至B地称为第一个驾驶行程,从B地至A地称为第二个驾驶行程。在第一个驾驶行程中,起点为A地,终点为B地;在第二个驾驶行程中,起点为B地,终点为A地。
步骤102:根据兴趣点确定对应的兴趣区域。
本步骤中,可以根据从多个驾驶行程中提取出的兴趣点确定兴趣区域。为便于理解,可参见图2,该图为本申请实施例提供的一种兴趣点分布示意图。图2中,各个圆形点201均表示某用户的停车位置。由于图2所示的场景区域比较大,而且车位众多,用户无法保证每一次停车均停在同一个车位,因此,图2中停车位置201呈现出散乱的分布效果。可以理解的是,在本实施例中,对于图2中所示的每一个停车位置201,其均可视为一个驾驶行程的起点,也可以视为另一个驾驶行程的终点。尽管图2中各个兴趣点201分布散乱,但是各个兴趣点201表示用户抵达或出发的区域均是D公司。因此,可以根据多个驾驶行程中提取出的兴趣点201确定兴趣区域202。
需要说明的是,本步骤确定的兴趣区域的面积、尺寸和形状等特征与兴趣点相关。例如,兴趣点分布得越分散,确定的兴趣区域的面积可能越大;兴趣点分布得越聚集,确定的兴趣区域的面积可能越小。图2中兴趣区域202仅为示意,兴趣区域的形状可以是圆形、椭圆形或方形等,本实施例对于兴趣区域的形状不加以限定。
步骤103:对兴趣区域进行语义标注,所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同。
作为一种可能的实现方式,本步骤可以根据兴趣区域内建筑的性质对兴趣区域进行语义标注。例如,兴趣区域内有一建筑为大型商场,则可以将兴趣区域标注为“购物中心”;兴趣区域内有一建筑为住宅楼,则可以将兴趣区域标注为“家”;兴趣区域内有一建筑为办公楼,则可以将兴趣区域标注为“公司”;兴趣区域内有一个操场和教学楼,则可以将兴趣区域标注为“学校”。
对于图2所示的兴趣区域202,由于其中包含多个办公楼,因此可以将兴趣区域202标注为“公司”。可以理解的是,这种标注方式为较为宽泛的标注方式,假如用户的同一驾驶行程的起点和终点分别所在两个不同的兴趣区域均包含办公楼,则对该两个兴趣区域进行“公司”这种类型概念的语义标注难以从语义上将两个兴趣区域进行区分。因此,还可以对兴趣区域进行进一步更细致的语义标注,例如,将兴趣区域202标注为“D公司”。
显然,用户停车于图2所示的兴趣区域202内任意一个兴趣点201的目的均是抵达该兴趣区域202,用户从任意一个兴趣点201驶离的目的均是从该兴趣区域202离开,因此,兴趣区域202内的每一个兴趣点201均与兴趣区域具备相同的语义。也就是说,如果兴趣区域202的语义为“公司”,则兴趣区域202内每一个兴趣点201的语义也均为“公司”。由此可见,本步骤通过对兴趣区域进行语义标注,最终相应地实现对该兴趣区域内每一个兴趣点的语义标注。兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同。
步骤104:根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列。
作为示例,本实施例中预设时间段可以为1天(24小时)。考虑到用户的驾车出行习惯,如果用户从未在某个时间段驾车出行,还可将预设时间段设置为小于1天。可以理解的是,以上预设时间段的设置方式仅为示例,本实施例中对于预设时间段的长度和区间范围不加以限定。
在实际应用中,一个预设时间段对应一个出行语义序列。也就是说,如果一个预设时间段内用户包括多个驾驶行程,则预设时间段对应的出行序列中包含多个驾驶行程的起点和终点的语义。下面以举例形式进行具体说明。
对于本实施例中提及的预设时间段,其中包括至少一个所述驾驶行程。作为示例,用户在其住宅所在小区内的多个停车位置k位于兴趣区域K;用户在其公司的多个停车位置p位于兴趣区域P。通过执行步骤103,兴趣区域K以及兴趣区域K之内的兴趣点,即停车位置k,均标注有语义“家”;兴趣区域P以及兴趣区域P之内的兴趣点,即停车位置p,均标注有语义“公司”。预设时间段为2月1日1天,用户2月1日08:20从停车位置k出发,驾驶车辆08:40到达停车位置p,从起点k(08:20)到终点p(08:40)的行程为用户当天的第一个驾驶行程;用户2月1日17:50从停车位置p出发,驾驶车辆18:20到达停车位置k,从起点p(17:50)到终点k(18:20)的行程为当天的第二个驾驶行程。
由于停车位置k的语义为“家”,停车位置p的语义为“公司”,因此在用户2月1日的出行语义序列为{家、公司、家},其中,前两项对应于上述示例中2月1日用户的第一个驾驶行程,后两项对应于用户的第二个驾驶行程。
步骤105:根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式。
本实施例中,预设挖掘周期的长度大于预设时间段。作为示例,预设挖掘周期可以为1个月、3个月或6个月等。每个预设时间段对应用户的一个出行语义序列。由于预设挖掘周期长度大于预设时间段,则预设挖掘周期内预设时间段的数目即为预设挖掘周期内出行语义序列的数目。例如,预设挖掘周期为1月1日至1月31日,在此期间内,共有5天用户驾车出行,则驾车出行的每一天可作为一个预设时间段,此5天的每一天对应一个出行语义序列。
为便于理解,可参见下表1的示例。表1为预设挖掘周期(1月1日至1月31日)内每个预设时间段对应的用户出行语义序列。
表1预设时间段与出行语义序列的对照表
预设时间段 | 出行语义序列 |
1月3日 | {家、公司} |
1月13日 | {家、公司、商场、家} |
1月19日 | {公司、家} |
1月22日 | {家、学校、公司、家、公司、家} |
1月26日 | {家、公司、家} |
在表1中,从家到公司(4次)以及从公司到家(4次)分别为用户的两种最为频繁的驾驶行程,而从公司到商场,从商场到家,从家到学校,从学校到公司,分别为仅出现一次的驾驶行程,因此可以将从家到公司以及从公司到家挖掘为用户的两种出行模式。
当然,以上仅为本步骤的示例性实现方式。在实际应用中,还可采用其他方式利用用户的所有出行语义序列挖掘所述用户的出行模式。因此,本实施例中对于本步骤的具体实现方式不加以限定。
以上即为本申请实施例提供的出行模式挖掘方法,首先从用户的驾驶行程中提取兴趣点,兴趣点包括驾驶行程的起点和终点;其后根据兴趣点确定对应的兴趣区域;然后对兴趣区域进行语义标注,使得兴趣区域以及兴趣区域内的所有兴趣点具备相同的语义;接着根据预设时间段(例如一天)内用户所有驾驶行程中兴趣点的语义生成出行语义序列;最后根据预设挖掘周期(例如一个月或半年)内用户的所有出行语义序列挖掘用户的出行模式。
由于该方法提取出的兴趣点包含驾驶行程的起点和终点,本方法的兴趣点对应的是驾驶行程的起始和结束,如果用户没有下车则不认为是驾驶行程的结束,而现有技术的停留点是通过设置停留时间的阈值进行识别,阈值的选取直接影响停留点识别的准确度。本方法完全脱离了时间阈值,而是真实地以用户驾驶行程的起点和终点作为兴趣点,因此兴趣点的选取更加准确。另外,本申请引出兴趣区域的概念,只要在同一个兴趣区域,则该兴趣区域内的所有兴趣点的语义均相同。驾驶行程的起点和终点均利用兴趣区域来进行语义标注,例如,兴趣区域为公司,则用户驾驶行程的终点位于该兴趣区域的范围内,则均认为终点为公司。建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方法,本方法保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,提高了针对用户出行模式挖掘的准确性。
在实际应用中,考虑到不同用户的驾驶行程以及兴趣点的差异性,如果采用同一种方式对不同的用户进行兴趣区域挖掘可能缺乏对用户的适应性,从而影响用户出行模式挖掘的准确性。为避免此问题,发明人通过研究,在前述实施例的基础上进一步提供了另一种用户出行模式的挖掘方法,在进行兴趣区域挖掘时充分利用用户的驾驶行程相关的历史数据,使得兴趣区域匹配于用户驾驶行程,从而提升最终出行模式挖掘的准确性。下面结合实施例和附图对该方法的具体实现进行详细描述。
方法实施例二
参见图3,该图为本申请实施例提供的另一种用户出行模式的挖掘方法流程图。
如图3所示,本实施例提供的用户出行模式的挖掘方法,包括:
步骤301:从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点。
本实施例中步骤301的实现方式与前述实施例中步骤101的实现方式相同,关于步骤301的相关描述可参照前述实施例,此处不再赘述。
本实施例中,提供一种能够适用于用户的兴趣区域挖掘方法,下面结合步骤302至305进行详细描述。
步骤302:根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合。
本实施例提供的用户兴趣区域挖掘方法主要基于密度聚类(Density-BasedSpatial Clustering of Application with Noise,DBSCAN)算法实现。DBSCAN算法中,邻域半径和最小邻域点数作为参数。本步骤的目的即是求取DBSCAN算法的参数之一,即邻域半径。
本步骤中,用户的所有驾驶行程,可以是指在预设挖掘周期内用户的所有驾驶行程,也可以是指所有历史数据中用户的所有驾驶行程。为区分不同的驾驶行程,以di表示用户的第i个驾驶行程的里程,1≤i≤n,其中,n表示用户所有被统计的驾驶行程的总数。
用户所有驾驶行程的里程汇集于数据集D,D={d1,d2,…,dn}。里程即是至驾驶行程中起点到终点的行驶距离。本实施例中,邻域半径为判定两个点属于同一类的距离阈值。换而言之,两个点距离小于邻域半径时,将此两点确定为同一类。因为起点和终点属于不同类点,因此邻域半径一定小于里程,在本实施例中可以基于里程缩小领域半径的选取范围。
在实际应用中,用户有很多个驾驶行程,每个驾驶行程的里程很可能存在差异,所以为了避免将邻域半径选取得过于绝对化,本实施例中选取数据集D中各个里程的众数、平均数、最小值、25分位数、中位数等具有代表性的数值指标,作为里程的参考值。由于邻域半径应小于里程,因此还为上述数值指标配以系数。在实际应用中,系数需大于0,而考虑到实际情况,系数还应小于或等于二分之一。因此,本实施例中为各项数值指标配以系数二分之一、三分之一或四分之一。作为示例,邻域半径的集合由r表示,其中,z、mean、min、p25和mid分别表示数据集D的众数、平均数、最小值、25分位数以及中位数。该集合仅为本实施例提供的一种邻域半径的集合示例,此处对于邻域半径的集合不进行限定。在求取邻域半径的集合r中各个数值之前,可以对数据集D中的所有驾驶行程的里程进行从小到大的排序。求取某一数据集中的众数、平均数、最小值、25分位数以及中位数属于本领域比较成熟的计算方法,因此此处不再赘述。在实际应用中,可以取邻域半径的集合r中任意一个数值作为DBSCAN算法中的邻域半径。
步骤303:根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则两个所述驾驶行程视为同一个类别的驾驶行程,反之则两个所述驾驶行程视为不同类别的驾驶行程。
本步骤的目的即是求取DBSCAN算法的参数之二,即最小邻域点数。
为便于理解驾驶行程类别,下面通过举例方式进行说明。例如,用户对应5个驾驶行程,第一个驾驶行程的起点为a,终点为b;第二个驾驶行程的起点为a,终点为c;第三个驾驶行程的起点为b,终点为a;第四个驾驶行程的起点为a,终点为b;第五个驾驶行程的起点为a,终点为e。第一、第三和第四个驾驶行程的起点和终点的集合分别为{a,b}、{b,a}和{a,b}。由于第一、第三和第四个驾驶行程的起点和终点的集合交集分别为第一、第三和第四个驾驶行程的起点和终点的全集,因此,将第一、第三和第四个驾驶行程视为同一个类别的驾驶行程,将此类别的驾驶行程称为驾驶行程ab或ba,在本实施例中驾驶行程ab等同于驾驶行程ba。而第二个驾驶行程,由于其起点和终点的集合{a,c}与第一、第三和第四个驾驶行程的起点和终点的集合交集不是{a,c}全集,而是仅有{a},因此第二个驾驶行程与第一、第三和第四个驾驶行程三者中任何一个驾驶行程类别均不相同,将此类别的驾驶行程称为驾驶行程ac。同理,第五个驾驶行程类别为驾驶行程ae。
因此,在上述示例中,用户共有三类驾驶行程,驾驶行程ab、ac以及ae。其中,驾驶行程ab的次数为3次,驾驶行程ac的次数为1次,驾驶行程ae的次数为1次。将各个驾驶行程类别的次数按照从大到小或从小到大的顺序进行排序得到序列{1,1,3}(从小到大)或{3,1,1}(从大到小),取序列中的中位数1作为最小邻域点数m。如果共有偶数个驾驶行程类别的次数进行排序,则取序列中的中间两个次数的平均值作为DBSCAN算法中的最小邻域点数m。
在本实施例中,用户以往的驾驶行程类别以及驾驶行程类别的次数均属于驾驶行程相关的历史数据。本实施例具体根据用户驾驶行程相关的历史数据确定邻域半径和最小邻域点数,最终目的是确定兴趣区域。使得兴趣区域与用户驾驶行程更加匹配,从而有助于提高兴趣区域的准确性。
步骤304:将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得密度聚类算法的输出量。
对于本领域技术人员来说,在已知DBSCAN算法输入量,即起点和终点的前提下,采用参数(最小邻域点数m以及邻域半径)获得DBSCAN算法的输出量,属于比较成熟的技术,因此本实施例对此过程不做详述。
在实际应用中,DBSCAN算法的输入量可以具体为兴趣点的经纬度坐标。DBSCAN算法的输出量为兴趣点的类别标号。例如,兴趣点位于区域1,则输出其类别标号为1;兴趣点位于区域2,则输出其类别标号为2。本实施例中对于类别标号的具体形式不进行限定,例如可以是数字形式的标号,也可以是字母形式的标号。
步骤305:将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径,根据所述半径确定所述兴趣区域。
本步骤中,目标函数的公式参见公式(1)。
上式中,Vi表示第i个驾驶行程的起点的类别标号,Wi表示第i个驾驶行程的终点的类别标号,1≤i≤n,其中,n表示用户所有被统计的驾驶行程的总数。I表示指示函数,当Vi≠Wi时,I的值为1;当Vi=Wi时,I的值为0。
根据前述步骤302至303可知,最小邻域点数已经确定,而邻域半径需要从集合r中取其一。在实际应用中,用户的同一驾驶行程的起点和终点应该属于不同的兴趣区域,即在聚类过程中应该属于不同的类簇,因此采用公式(1)作为目标函数,其中,y表示取不同邻域半径时,用户同一驾驶行程的起点和终点为不同类别的最大数目。
越大,表示DBSCAN算法将同一驾驶行程的起点和终点分别识别为不同类别的数目越多。例如,以作为邻域半径时将同一驾驶行程的起点和终点分别识别为不同类别的数目大于以作为邻域半径时将同一驾驶行程的起点和终点分别识别为不同类别的数目,则表示以作为邻域半径时DBSCAN算法的准确度越高。本实施例中,目标函数即是以将同一驾驶行程的起点和终点分别识别为不同类别的数目最多为目的,保障DBSCAN算法的准确度。由于邻域半径从集合r中选取,因此将r中不同的值分别与最小邻域点数进行搭配后输入至DBSCAN算法中,获得输出量,并依据目标函数确定出能够保证达到最大的邻域半径。最终,依据此邻域半径确定本实施例中的兴趣区域。
本实施例中,为提高对兴趣区域进行语义标注的便捷性,采用一种分类模型对兴趣区域进行语义标注。下面结合步骤306至307对具体标注过程进行描述。
步骤306:根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度。
可以理解的是,驾驶行程的起点和终点属于时空数据,即对于用户的每一个驾驶行程,其起点和终点均携带有位置信息和时间特征。也就是说,驾驶行程的起点对应于一个时间特征,驾驶行程的终点对应于另一个时间特征。例如,用户于08:00从C地驱车前往D地,并于09:00抵达D地,由此可见起点C地和终点D地分别携带有在该驾驶行程中的不同的时间特征。
在实际应用中,时间特征可以具体到月份、星期几、工作日或非工作日、几号、时间段(例如早上、中午、傍晚或晚上)和几点钟等。本实施例中对于时间特征的具体划分方式不加以限定。
对于同一个兴趣区域,其中包含的兴趣点既可能有驾驶行程的起点,也可能有驾驶行程的终点。利用兴趣区域中的所有起点构成起点集合S,并利用兴趣区域中的所有终点构成终点集合E。
本步骤中,可以采用频繁模式挖掘算法挖掘起点集合S和终点集合E各自的频繁时间模式和支持度。
为训练一个能够对兴趣区域进行语义标注的分类模型,本实施例中可以预先对多种频繁时间模式进行编码,不同的频繁时间模式具有唯一对应的编码。作为一示例,频繁时间模式的编码可以是[1,g]区间内的一个正整数,其中,正整数g表示时间模式数,时间模式数为所有时间特征中时间取值个数的乘积。可见,频繁时间模式共有g种可能。例如,月份的取值个数为12,星期几的取值个数为7,工作日或非工作日的取值个数为2,几号的取值个数为31,时间段的取值个数为4,几点钟的取值个数为24,因此时间模式数g=12×7×2×31×4×24。
起点集合S和终点集合E的频繁时间模式分别为g个时间模式中的某一种。相应地,还可以确定起点集合S频繁时间模式的支持度,以及终点集合E频繁时间模式的支持度。起点与其所在的起点集合S具有相同的频繁时间模式,以及相同的频繁时间模式的支持度;同理,终点与其所在的终点集合E具有相同的频繁时间模式,以及相同的频繁时间模式的支持度。
在训练分类模型的过程中,以一些语义已知的兴趣区域中兴趣点类型(起点或终点)、频繁时间模式、支持度和语义信息作为训练数据,最终训练获得能够对兴趣区域准确进行语义标注的分类模型。
步骤307:将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
分类模型训练完成后,将未经语义标注的兴趣区域的兴趣点对应的频繁时间模式和支持度输入该分类模型后,即可获得对应的输出。分类模型所输出内容为推荐标注该兴趣区域的语义,可对应地以该语义对该兴趣区域进行标注。
步骤308:根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列。
本实施例中步骤308的实现方式与前述实施例中步骤104的实现方式相同,关于步骤308的相关描述可参照前述实施例,此处不再赘述。
本实施例中,提供一种用户出行模式挖掘的具体实现方式,为便于理解该具体实现方式,首先对项、项集和项数概念进行介绍和说明。
项,是指一个出行语义序列中的最小处理单位,对应于一个出行语义序列中一个兴趣点的语义。例如,出行语义序列为{家、公司、学校},该出行语义序列中包含三个不同的项,即家、公司和学校。
项集,由一个出行语义序列中的至少两个项组成;项数,是指一个项集中项的数目。假设项集的项数为N,则N为大于或等于2的正整数。例如,出行语义序列{家、公司、家、学校}中包含项数为2的项集有:{家、公司},{公司、家},{家、学校};包含项数为3的项集有:{家、公司、家},{公司、家、学校};包含项数为4的项集有:{家、公司、家、学校}。需要说明的是,项集是有序的,例如,尽管项数为2的项集{家、公司}和项集{公司、家}中包含的项相同,但是由于项集中项的先后顺序不同,因此项集{家、公司}和项集{公司、家}为两种不同的项集。
下面结合步骤309至311对用户出行模式挖掘的具体实现方式进行详细描述。
步骤309:获得预设挖掘周期内用户的所有出行语义序列对应的所有项集。
可以理解的是,对于每一个出行语义序列,由于其中包含至少两个兴趣点的语义,因此可根据出行语义序列获得至少一个项集。对实施例中对于项集的项数不进行限定。作为一具体示例,出行语义序列{家、公司、家、学校}项数为2的项集有:{家、公司},{公司、家},{家、学校};项数为3的项集有:{家、公司、家},{公司、家、学校};项数为4的项集有:{家、公司、家、学校}。以上项集即为出行语义序列{家、公司、家、学校}对应的所有项集。
步骤310:获得每个所述项集占相同项数对应的所有项集的比例。
执行步骤309后,已经获得预设挖掘周期内用户的所有出行语义序列对应的所有项集,所有项集中很可能包含相同的项集。可参见表2示例,该表为统计获得的用户出行语义序列。通过表1可知,从ID为1、2和4的出行语义序列中均可获得相同的项集{家、公司}。
表2用户出行语义序列统计表
出行语义序列ID | 出行语义序列 | 编码后字符 |
1 | {家、公司} | LM |
2 | {家、公司、商场、家} | LMOL |
3 | {公司、家} | ML |
4 | {家、学校、公司、家、公司、家} | LRMLML |
为便于理解本步骤,下面通过举例方式进行说明。以项集{家、公司}为示例,本步骤获得每个项集占相同项数对应的所有项集的比例,即是指求取{家、公司}占所有项数为2的项集的比例。从表2中可以获得的项数为2的项集共有10个,分别为:ID为1的出行语义序列中项集{家、公司};ID为2的出行语义序列中项集{家、公司},{公司、商场},{商场、家};ID为3的出行语义序列中项集{公司、家};ID为4的出行语义序列中项集{家、学校},{学校、公司},{公司,家},{家、公司},{公司,家}。由于在以上10个项数为2的项集中项集{家、公司}总共出现3次,因此项集{家、公司}占相同项数对应的所有项集的比例为3/10。
以上仅为以项数为2的项集{家、公司}进行的示例性说明。可以理解的是,对于所有项集中任意项数的项集,均可参照以上方式求取项集占相同项数对应的所有项集的比例。
本实施例还提供步骤310的一种具体的实现方式,下面结合步骤3101至3104进行具体说明。
步骤3101:对每个所述出行语义序列进行字符编码获得编码后字符。
参见表2所示,各个出行语义序列中每项由一个字符表示。家、公司、商场和学校分别由字符L、M、O和R表示。通过执行本步骤,ID为1的出行语义序列编码为LM;ID为2的出行语义序列编码为LMOL;ID为3的出行语义序列编码为ML;ID为4的出行语义序列编码为LRMLML。
步骤3102:根据所述编码后字符获得每个出行语义序列包括的项数对应的项集数目;所述项集数目为编码后字符的字符数减去所述项数再加一。
本步骤的执行目的是获取每个出行语义序列中每个项数对应的项集数目,即步骤310求取比例时的分母。仍以表2为例,下面描述求取项数为2对应的项集数目。
表2中,LM中项数为2的项集数目为:2(字符数)-2(项数)+1=1;
LMOL中项数为2的项集数目为:4(字符数)-2(项数)+1=3;
ML中项数为2的项集数目为:2(字符数)-2(项数)+1=1;
LRMLML中项数为2的项集数目为:6(字符数)-2(项数)+1=5。
步骤3103:获得所述预设挖掘周期内所述用户的所有出行语义序列的所述项数对应的项集数目之和。
本步骤的执行目的是获取所有出行语义序列中每个项数对应的项集数目,即步骤310求取比例时的分母。结合步骤3102中描述的示例,统计所有出行语义序列的项数为2对应的项集数目之和为:1+3+1+5=10。
步骤3104:获得所述项集的数目与所述项集数目之和的比值作为所述比例。
已项集{家、公司}(对应的编码为LM)为例,由于表2中项集{家、公司}的数目为3,该项集的项数为2,经过步骤3103获得的所有出行语义序列的项数为2对应的项集数目之和为10,因此可以获得该项集{家、公司}占相同项数2对应的所有项集的比例,即3/10。
步骤311:将所述比例大于预设阈值的项集作为所述用户的出行模式。
通过执行前述步骤,能够对用户预设挖掘周期内所有出行语义序列中所有项集求取一个步骤310描述的比例。为挖掘用户的出行模式,可以预先设定一个阈值,例如0.2或0.25等,将各个项集对应的比例与预设阈值进行比较,从而确定用户的出行模式。
假设预设阈值为0.2,由于项集{家、公司}占相同项数2对应的所有项集的比例为0.3,该值大于预设阈值,因此可以将{家、公司}确定为用户的一个出行模式。
以上仅以项数为2的项集{家、公司}为示例进行描述和说明,对于相同项数的其他项集和不同项数的其他项集,可采用类似的方式确定其是否为用户的出行模式。例如,由于项集{商场、家}占相同项数2对应的所有项集的比例为0.1,该值小于预设阈值,因此{商场、家}无法作为用户的出行模式。
以上即为本申请实施例提供的用户出行模式的挖掘方法。该方法在进行兴趣区域挖掘时,充分利用用户的驾驶行程相关的历史数据,对于不同用户可能采用不同的邻域半径挖掘兴趣区域,从而使得兴趣区域与用户驾驶行程更加匹配,进一步提升最终出行模式挖掘的准确性。此外,通过训练分类模型并利用该分类模型,实现对兴趣区域高效精准的语义标注,保证后续进行模式挖掘时所依据的出行语义序列的准确性。
基于前述实施例提供的用户出行模式的挖掘方法,相应地,本申请还提供一种用户出行模式的挖掘装置。下面结合实施例和附图对该装置的具体实现进行描述和说明。
装置实施例
参见图4,该图为本申请实施例提供的一种用户出行模式的挖掘装置的结构示意图。
如图4所示,本实施例提供的用户出行模式的挖掘装置,包括:兴趣点提取模块401,兴趣区域确定模块402,语义标注模块403,出行语义序列生成模块404和出行模式挖掘模块405。
其中,兴趣点提取模块401,用于从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点;
兴趣区域确定模块402,用于根据所述兴趣点确定对应的兴趣区域;
语义标注模块403,用于对所述兴趣区域进行语义标注;所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;
出行语义序列生成模块404,用于根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列;所述预设时间段包括至少一个所述驾驶行程;
出行模式挖掘模块405,用于根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,所述预设挖掘周期的长度大于所述预设时间段。
由于该装置提取出的兴趣点包含驾驶行程的起点和终点,兴趣点对应的是驾驶行程的起始和结束,如果用户没有下车则不认为是驾驶行程的结束,而现有技术的停留点是通过设置停留时间的阈值进行识别,阈值的选取直接影响停留点识别的准确度。本装置完全脱离了时间阈值,而是真实地以用户驾驶行程的起点和终点作为兴趣点,因此兴趣点的选取更加准确。另外,本申请引出兴趣区域的概念,只要在同一个兴趣区域,则该兴趣区域内的所有兴趣点的语义均相同。驾驶行程的起点和终点均利用兴趣区域来进行语义标注,例如,兴趣区域为公司,则用户驾驶行程的终点位于该兴趣区域的范围内,则均认为终点为公司。建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方式,本装置保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,提高了针对用户出行模式挖掘的准确性。
在实际应用中,考虑到不同用户的驾驶行程以及兴趣点的差异性,如果采用同一种方式对不同的用户进行兴趣区域挖掘可能缺乏对用户的适应性,从而影响用户出行模式挖掘的准确性。为避免此问题,作为一种可能的实现方式,上述装置中兴趣区域确定模块402具体可以包括:
第一获取单元,用于根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合;
第二获取单元,用于根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则视为同一个类别的驾驶行程,反之则视为不同类别的驾驶行程;
第三获取单元,用于将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得所述密度聚类算法的输出量;
邻域半径确定单元,用于将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径;
兴趣区域确定单元,用于根据所述半径确定所述兴趣区域。
利用上述兴趣区域确定模块402,在进行兴趣区域挖掘时充分利用用户的驾驶行程相关的历史数据,使得兴趣区域与用户驾驶行程更加匹配,从而提升最终出行模式挖掘的准确性。
可选地,为实现对兴趣区域语义的高效准确的标注,本实施例中语义标注模块403具体可以包括:
第一挖掘单元,用于根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度;
语义标注单元,用于将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
作为一种可能的实现方式,出行模式挖掘模块405具体可以包括:
项集获取单元,用于获得所述所有出行语义序列对应的所有项集,所述项集的项数为N,所述N为大于或等于2的正整数;所述项集中的项为对应兴趣点的语义;所述项集中的项先后顺序不同则为不同的项集;
项集占比获取单元,用于获得每个所述项集占相同项数对应的所有项集的比例;
出行模式确定单元,用于将所述比例大于预设阈值的项集作为所述用户的出行模式。
作为一种可能的实现方式,出行模式挖掘模块405中项集占比获取单元具体可以包括:
编码子单元,用于对每个所述出行语义序列进行字符编码获得编码后字符,所述出行语义序列中的每项由一个字符表示;
第一获取子单元,用于根据所述编码后字符获得每个所述出行语义序列包括的所述项数对应的项集数目;所述项集数目为所述编码后字符的字符数减去所述项数再加一;
第二获取子单元,用于获得所述预设挖掘周期内所述用户的所有出行语义序列的所述项数对应的项集数目之和;
项集占比获取子单元,用于获得所述项集的数目与所述项集数目之和的比值作为所述比例。
基于前述实施例提供的用户出行模式的挖掘方法和装置,相应地,本申请还提供一种用户出行模式的挖掘系统。下面结合实施例和附图对该系统的具体实现进行描述。
系统实施例
参见图5,该图为本申请实施例提供的用户出行模式的挖掘系统结构示意图。
如图5所示,本实施例提供的用户出行模式的挖掘系统,包括:采集终端501和服务器502。
其中,采集终端501用于采集用户的驾驶行程,并将所述驾驶行程发送至服务器502。采集终端501可以是用户的移动终端,包括但不限于智能手机、移动电脑、平板电脑、PDA、媒体播放器等。采集终端501可以连接服务器502,从而将采集的数据发送至服务器502。图5中采集终端501以智能手机的形式进行表示,在实际应用中对于采集终端的具体形式不加以限定。例如,采集终端501还可以是与服务器502远程连接的车载的终端设备,该采集设备能够在车辆一端采集用户的驾驶行程数据并上传至服务器502。
本实施例提供的系统中,服务器502用于执行前述方法实施例提供的用户出行模式挖掘方法中的部分或全部步骤。由于上文中已经对出行模式挖掘方法进行了详细描述和说明,因此此处对于服务器502所执行的功能不进行赘述。详细内容可参照前述方法实施例。
由于该系统中服务器提取出的兴趣点包含驾驶行程的起点和终点,兴趣点对应的是驾驶行程的起始和结束,如果用户没有下车则不认为是驾驶行程的结束,而现有技术的停留点是通过设置停留时间的阈值进行识别,阈值的选取直接影响停留点识别的准确度。本系统完全脱离了时间阈值,而是真实地以用户驾驶行程的起点和终点作为兴趣点,因此兴趣点的选取更加准确。另外,本申请实施例引出兴趣区域的概念,只要在同一个兴趣区域,则该兴趣区域内的所有兴趣点的语义均相同。驾驶行程的起点和终点均利用兴趣区域来进行语义标注,例如,兴趣区域为公司,则用户驾驶行程的终点位于该兴趣区域的范围内,则均认为终点为公司。建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方式,本系统保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,提高了针对用户出行模式挖掘的准确性。
另外,本实施例提供的系统还可进一步包括:接收装置。当服务器502挖掘获得用户的出行模式后,可以将出行模式以信号的形式发送至接收装置。本实施例中,接收装置可以隶属于保险公司、商家或车队。保险公司、商家或车队可利用接收装置获得服务器502挖掘所得的用户出行模式,并将用户的出行模式结合到实际业务应用中。例如,车队根据用户的出行模式,确定用户的驾驶行为是否符合车队要求;商家根据用户的出行模式,向用户进行美食和折扣券的推荐等。本实施例中对于保险公司或车队基于用户出行模式展开的实际业务应用的形式不加以具体限定。
本申请实施例还提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现本申请方法实施例一和方法实施例二保护的用户出行模式的挖掘方法中部分或全部步骤。该存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行方法实施例一和方法实施例二保护的用户出行模式的挖掘方法中部分或全部步骤。
基于前述实施例提供的存储介质和处理器,本申请还提供了一种用户出行模式的挖掘设备。
设备实施例
参见图6,该图为本实施例提供的用户出行模式的挖掘设备硬件结构图。
如图6所示,用户出行模式的挖掘设备包括:存储器601、处理器602、通信总线603和通信接口604。
其中,存储器601上存储有可在处理器上运行的程序,程序执行时实现本申请方法实施例一和方法实施例二提供的用户出行模式的挖掘方法中部分或全部步骤。存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
该设备中,处理器602与存储器601通过通信总线传输信令、逻辑指令等。该定位设备能够通过通信接口604与其它设备进行通信交互。
通过程序执行上述方法,相比于现有技术通过设置阈值识别出的兴趣点,能够更加准确地反映用户的行程目的。根据多个驾驶行程的邻近的兴趣点构建具有相同语义的兴趣区域,建立出行模式与兴趣区域语义的联系,相比于现有技术中以逐个兴趣点挖掘出行模式的方法,处理器执行程序保证同一兴趣区域各个兴趣点的语义一致性,避免多次驾驶行程中车辆停放位置不一致导致的兴趣点识别偏差。从而,有效提高挖掘得到的用户出行模式的准确性。
以上所述,仅是本申请的较佳实施例而已,并非对本申请作任何形式上的限制。虽然本申请已以较佳实施例揭露如上,然而并非用以限定本申请。任何熟悉本领域的技术人员,在不脱离本申请技术方案范围情况下,都可利用上述揭示的方法和技术内容对本申请技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本申请技术方案的内容,依据本申请的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本申请技术方案保护的范围内。
Claims (10)
1.一种用户出行模式的挖掘方法,其特征在于,包括:
从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点;
根据所述兴趣点确定对应的兴趣区域;
对所述兴趣区域进行语义标注;所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;
根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列;所述预设时间段包括至少一个所述驾驶行程;
根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,所述预设挖掘周期的长度大于所述预设时间段。
2.根据权利要求1所述的方法,其特征在于,所述根据所述兴趣点确定对应的兴趣区域,具体包括:
根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合;
根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则两个所述驾驶行程视为同一个类别的驾驶行程,反之则两个所述驾驶行程视为不同类别的驾驶行程;
将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得所述密度聚类算法的输出量;
将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径,根据所述半径确定所述兴趣区域。
3.根据权利要求1所述的方法,其特征在于,所述对所述兴趣区域进行语义标注,具体包括:
根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度;
将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,具体包括:
获得所述所有出行语义序列对应的所有项集,所述项集的项数为N,所述N为大于或等于2的正整数;所述项集中的项为对应兴趣点的语义;所述项集中的项先后顺序不同则为不同的项集;
获得每个所述项集占相同项数对应的所有项集的比例;
将所述比例大于预设阈值的项集作为所述用户的出行模式。
5.根据权利要求4所述的方法,其特征在于,所述获得每个所述项集占相同项数对应的所有项集的比例,具体包括:
对每个所述出行语义序列进行字符编码获得编码后字符,所述出行语义序列中的每项由一个字符表示;
根据所述编码后字符获得每个所述出行语义序列包括的所述项数对应的项集数目;所述项集数目为所述编码后字符的字符数减去所述项数再加一;
获得所述预设挖掘周期内所述用户的所有出行语义序列的所述项数对应的项集数目之和;
获得所述项集的数目与所述项集数目之和的比值作为所述比例。
6.一种用户出行模式的挖掘装置,其特征在于,包括:
兴趣点提取模块,用于从用户的驾驶行程中提取兴趣点,所述兴趣点包括所述驾驶行程的起点和终点;
兴趣区域确定模块,用于根据所述兴趣点确定对应的兴趣区域;
语义标注模块,用于对所述兴趣区域进行语义标注;所述兴趣区域内所有兴趣点的语义与所属兴趣区域的语义相同;
出行语义序列生成模块,用于根据预设时间段内所有所述驾驶行程中的所述兴趣点的语义生成出行语义序列;所述预设时间段包括至少一个所述驾驶行程;
出行模式挖掘模块,用于根据预设挖掘周期内所述用户的所有出行语义序列挖掘所述用户的出行模式,所述预设挖掘周期的长度大于所述预设时间段。
7.根据权利要求6所述的装置,其特征在于,所述兴趣区域确定模块,具体包括:
第一获取单元,用于根据所述用户的所有驾驶行程的里程获得所述兴趣区域的邻域半径的集合;
第二获取单元,用于根据所述用户的驾驶行程类别和每个所述驾驶行程类别的次数获得最小邻域点数;任意两个所述驾驶行程各自起点和终点组成的集合的交集为全集则两个所述驾驶行程视为同一个类别的驾驶行程,反之则两个所述驾驶行程视为不同类别的驾驶行程;
第三获取单元,用于将所述起点和所述终点作为密度聚类算法的输入量,将所述邻域半径集合中的邻域半径和所述最小邻域点数作为所述密度聚类算法的参数,获得所述密度聚类算法的输出量;
邻域半径确定单元,用于将所述密度聚类算法的输出量作为目标函数的输入,使所述目标函数获得最大值的邻域半径作为所述兴趣区域的半径;
兴趣区域确定单元,用于根据所述半径确定所述兴趣区域。
8.根据权利要求6所述的装置,其特征在于,所述语义标注模块,具体包括:
第一挖掘单元,用于根据所述兴趣点中起点和终点携带的时间特征,利用频繁模式挖掘算法分别挖掘所述起点的频繁时间模式和支持度,以及所述终点的频繁时间模式和支持度;
语义标注单元,用于将所述兴趣区域的兴趣点对应的所述频繁时间模式和支持度以及所述兴趣点的类型输入分类模型,所述分类模型的输出作为所述兴趣区域的语义标注。
9.一种用户出行模式的挖掘系统,其特征在于,包括:采集终端和服务器;
所述采集终端,用于采集用户的驾驶行程,并将所述驾驶行程发送至所述服务器;
所述服务器,用于执行如权利要求1-5任一项所述的用户出行模式的挖掘方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,所述程序运行时执行如权利要求1-5任一项所述的用户出行模式的挖掘方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394768.4A CN110046218B (zh) | 2019-05-13 | 2019-05-13 | 一种用户出行模式的挖掘方法、装置、系统和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910394768.4A CN110046218B (zh) | 2019-05-13 | 2019-05-13 | 一种用户出行模式的挖掘方法、装置、系统和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110046218A CN110046218A (zh) | 2019-07-23 |
CN110046218B true CN110046218B (zh) | 2021-05-07 |
Family
ID=67281711
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910394768.4A Active CN110046218B (zh) | 2019-05-13 | 2019-05-13 | 一种用户出行模式的挖掘方法、装置、系统和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110046218B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909037B (zh) * | 2019-10-09 | 2024-02-13 | 中国人民解放军战略支援部队信息工程大学 | 一种频繁轨迹模式的挖掘方法及装置 |
CN111027644B (zh) * | 2019-12-26 | 2023-12-26 | 湖南大学 | 出行模式分类方法、装置、计算机设备和存储介质 |
CN111551187B (zh) * | 2020-06-04 | 2021-09-24 | 福建江夏学院 | 一种基于捕食搜索策略的行车路线规划方法及系统 |
CN116935655B (zh) * | 2023-09-15 | 2023-12-05 | 武汉市规划研究院 | 一种面向复杂城市道路网络的交通状态判别方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101999A (zh) * | 2016-05-27 | 2016-11-09 | 广州杰赛科技股份有限公司 | 一种用户轨迹的识别方法及装置 |
CN108230020A (zh) * | 2017-12-28 | 2018-06-29 | 西北大学 | 一种基于多维时间粒度时空频繁区域挖掘的方法 |
CN108509434A (zh) * | 2017-02-23 | 2018-09-07 | 中国移动通信有限公司研究院 | 一种群体用户的挖掘方法及装置 |
CN108882168A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 出行轨迹获取方法、装置及服务器 |
CN109034454A (zh) * | 2018-06-25 | 2018-12-18 | 腾讯大地通途(北京)科技有限公司 | 路线挖掘方法、装置、计算机可读存储介质和计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9726510B2 (en) * | 2012-10-25 | 2017-08-08 | Intel Corporation | Route optimization including points of interest |
-
2019
- 2019-05-13 CN CN201910394768.4A patent/CN110046218B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106101999A (zh) * | 2016-05-27 | 2016-11-09 | 广州杰赛科技股份有限公司 | 一种用户轨迹的识别方法及装置 |
CN108509434A (zh) * | 2017-02-23 | 2018-09-07 | 中国移动通信有限公司研究院 | 一种群体用户的挖掘方法及装置 |
CN108882168A (zh) * | 2017-05-10 | 2018-11-23 | 腾讯科技(深圳)有限公司 | 出行轨迹获取方法、装置及服务器 |
CN108230020A (zh) * | 2017-12-28 | 2018-06-29 | 西北大学 | 一种基于多维时间粒度时空频繁区域挖掘的方法 |
CN109034454A (zh) * | 2018-06-25 | 2018-12-18 | 腾讯大地通途(北京)科技有限公司 | 路线挖掘方法、装置、计算机可读存储介质和计算机设备 |
Non-Patent Citations (1)
Title |
---|
车辆GPS轨迹兴趣区域提取算法研究;何源浩等;《测绘工程》;20160531;第25卷(第05期);第47-55页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110046218A (zh) | 2019-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110046218B (zh) | 一种用户出行模式的挖掘方法、装置、系统和处理器 | |
Hasnat et al. | Identifying tourists and analyzing spatial patterns of their destinations from location-based social media data | |
Castro et al. | From taxi GPS traces to social and community dynamics: A survey | |
CN110414732B (zh) | 一种出行未来轨迹预测方法、装置、储存介质及电子设备 | |
CN106931974B (zh) | 基于移动终端gps定位数据记录计算个人通勤距离的方法 | |
Lai et al. | Urban traffic Coulomb’s law: A new approach for taxi route recommendation | |
CN111653099B (zh) | 基于手机信令数据的公交客流od获取方法 | |
CN111212383B (zh) | 区域常住人口数量的确定方法、装置、服务器和介质 | |
CN104902438B (zh) | 一种基于移动通信终端分析客流特征信息的统计方法及其系统 | |
CN107092638A (zh) | 基于位置从地图历史提供相关元素信息的方法和计算装置 | |
CN110134865B (zh) | 一种基于城市公共交通出行大数据的通勤乘客社交推荐方法及平台 | |
CN105023020A (zh) | 语义标注设备及其方法 | |
CN108427679B (zh) | 一种人流分布处理方法及其设备 | |
CN110598917B (zh) | 一种基于路径轨迹的目的地预测方法、系统及存储介质 | |
Cesario et al. | An approach for the discovery and validation of urban mobility patterns | |
CN110118567A (zh) | 出行方式推荐方法及装置 | |
CN112885099A (zh) | 用于确定车辆轨迹关键点的方法、装置及设备 | |
Koolwal et al. | A comprehensive survey on trajectory-based location prediction | |
CN110888979A (zh) | 一种兴趣区域提取方法、装置及计算机存储介质 | |
CN117056823A (zh) | 一种识别共享单车通勤用户职业类型的方法及系统 | |
CN109977527B (zh) | 一种城市公共充电站网络的充电桩配置方法 | |
Jang et al. | Pedestrian mode identification, classification and characterization by tracking mobile data | |
Yu et al. | Data-driven approach for passenger mobility pattern recognition using spatiotemporal embedding | |
CN113888867A (zh) | 一种基于lstm位置预测的车位推荐方法及系统 | |
Zhou et al. | Identifying trip ends from raw GPS data with a hybrid spatio-temporal clustering algorithm and random forest model: a case study in Shanghai |
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 |