CN104166663B - 一种基于多维度的打车位置推荐系统及其推荐方法 - Google Patents

一种基于多维度的打车位置推荐系统及其推荐方法 Download PDF

Info

Publication number
CN104166663B
CN104166663B CN201410024392.5A CN201410024392A CN104166663B CN 104166663 B CN104166663 B CN 104166663B CN 201410024392 A CN201410024392 A CN 201410024392A CN 104166663 B CN104166663 B CN 104166663B
Authority
CN
China
Prior art keywords
taxi
probability
calling
dimension
user
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
CN201410024392.5A
Other languages
English (en)
Other versions
CN104166663A (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN201410024392.5A priority Critical patent/CN104166663B/zh
Publication of CN104166663A publication Critical patent/CN104166663A/zh
Application granted granted Critical
Publication of CN104166663B publication Critical patent/CN104166663B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Traffic Control Systems (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)

Abstract

本发明公开了一种基于多维度的打车位置推荐系统及其推荐方法,该系统包括:出租车历史GPS数据筛选和导入模块、MySQL数据库模块、基于Android平台的打车位置推荐客户端、数据挖掘算法训练数据库表模块、缓存刷新模块、服务器端与客户端衔接模块、后台管理系统。基于多维度的打车位置推荐方法能够有效地把握打车路口的时间维度、空间维度、客户打分参考等维度的空车概率信息,使综合各维度所得的空车概率趋于精确,客户打车的成功率得到较大提高。

Description

一种基于多维度的打车位置推荐系统及其推荐方法
技术领域
本发明涉及数据挖掘领域,特别涉及一种以基于时间、空间和客户打分三个维度为主要基准,维度可增加的多维度的辅以数据挖掘算法训练数据库表的打车位置推荐系统及其推荐方法。
背景技术
生活中,用户可能身处一个陌生的地方,想打出租车却无法在附近找到出租车的踪影;又或者用户所处的地方会出现多人争夺一辆出租车的情况,而另一方面,在离该地方不远处,又出现空出租车无人光顾的情况,上述的情况时常发生。
传统的打车软件,如《嘀嘀打车》、《易打车》等,是基于实时通信,即通过打电话找出租车,或者留下用户的电话让出租车司机找上门,这类移动软件的缺点是用户可能留下了自己的电话,但是出租车司机却迟迟未找上门,这可能是出租车司机在路途中看到另外想打车的用户,又可能是出租车司机嫌路途太远,不愿前往。此外,如《易打车》等打车软件,在传统功能上新增了预约功能,而一般人打车都是即兴打车,较少预约,因此预约功能并不能为传统打车软件行业开辟一个全新的打车方式和习惯。
发明内容
本发明为了克服传统打车软件的缺点,提出了一种基于多维度的打车位置推荐系统及其推荐方法,本发明采用的是基于数据挖掘的位置推荐技术,使打车用户自身更具自主性,通过此位置推荐技术,供用户定点选择最近最有可能打车成功的位置。
为了实现上述目的,本发明提供的一种技术方案为一种基于多维度的打车位置推荐系统,包括:
出租车历史GPS数据筛选和导入模块,用于将少量不合理的出租车历史GPS数据记录进行清除,并把合格的数据导入数据库;
打车位置推荐客户端,用于为用户提供良好的交互界面、接收用户的请求以及显示请求的结果,用户通过客户端发出定位请求,用户通过客户端发出定位请求,具体功能如:实时定位,为用户提供实时定位当前位置,向服务器请求推荐位置功能;选点定位,为用户提供地图上任意选取位置,向服务器请求推荐位置功能;搜索定位,为用户提供搜索地名来获取所寻位置坐标,向服务器请求推荐位置功能。当客户端接收到服务器返回的数据,则进行相应功能的显示,具体如下:收藏功能,为用户提供将该位置收藏到后台数据库的功能;评分模块,为用户提供该位置的评分,以动态调整空车率的功能;显示路线模块,为用户提供请求位置到目标位置的最省时的路线功能;
服务器端与客户端衔接模块,用于服务器与客户端的信息传输;
数据挖掘算法训练数据库表模块,用于使空间、时间、打分相应的概率权重趋向于合理、精准的水平;
缓存刷新模块,用于使缓存中的数据与修改后的数据库数据相匹配;
后台管理系统,用于刷新缓存、动态更新打车位置概率、实现计划任务等管理工作;
数据库模块,对数据进行存储。
进一步地,所述的服务器端与客户端衔接模块包括以下几个子模块:注册和登录业务逻辑处理模块;打车位置推荐业务逻辑处理模块;打车位置打分业务逻辑处理模块;刷新缓存业务逻辑处理模块。
进一步地,所述推荐系统是基于Android平台的打车位置推荐系统,该推荐系统通过服务器端与手机客户端衔接模块使手机客户端与服务器端发生交互。
为了实现上述目的,本发明的又一技术方案为提供了一种基于多维度的打车位置推荐系统的打车位置推荐方法,所述方法获取时间维度、空间维度、打分维度上的空车概率,采用最终打车概率算法,得出最终最有可能成功打车的位置,
所述的获取时间维度的方法为打车位置的时间维度概率算法,该方法用于获取数据挖掘训练得出每个时间段的打车概率,获取时间维度的概率;
所述的获取空间维度的方法为打车位置的空间维度概率算法,该方法用于获取相应区域的空车概率,获取空间维度的概率;
所述的获取打分维度的方法为打车位置的打分概率算法,用于获取打分维度的概率,并反馈给用户相应的打分信息来参考某位置是否具有准确性。
进一步地,所述的打车位置的时间维度概率算法包括以下几个步骤:
用户上传当前经纬度点;
建立以当前经纬度点A为圆心,以R为半径的圆形模型;
调用数据库中的全部出租车GPS记录,判断所有的记录中经纬度字段是否落在该圆形模型范围内,而且需要判断记录中的时间字段是否属于当前时间段,不符合这两个条件的记录予以排除,符合条件的记录将在下一步骤进行相关处理;
从符合条件的出租车GPS记录中获取位置字段信息,分别统计空载车辆数和满载车辆数;
通过得出圆形模型范围车辆的空载车辆数与满载车辆数,计算出A点在时间维度上的空车概率Ptime (A),即Ptime (A)=(空载车辆数)/(满载车辆数)。
进一步地,所述打车位置的空间维度概率算法包括以下步骤:
用户上传当前经纬度点;
建立以当前经纬度点A为中心,以L为边长的正方形模型;
调用数据库中的全部出租车历史GPS记录,判断每个存放记录表中的记录的经纬度字段是否落在该正方形模型范围内,不符合条件的记录予以排除,符合条件的记录将在下一步骤进行相关处理;
将第i个表中符合条件的记录按记录中的name车牌号字段分组为a[1…n],其中0<i<sum+1,sum表示存放记录表的个数;
依次计算出a[1]至a[n]出租车的空车记录数占表i中总记录数的概率Pi=(Pa[1]+ Pa[2] + ... + Pa[n])/n,从而得出sum个表各自的空车概率,其中位置字段为0;
最后,A点在空间维度上的空车概率:
Pspace(A)=(P0+P1+...+Pi+...+Psum)/sum。
进一步地,所述打车位置的打分维度概率算法包括以下步骤:
用户使用过位置推荐功能后,在手机客户端对该经纬度点进行打分;
用户在当前经纬度A点所得分值被上传至服务器数据库中存放;
计算打分维度的空车概率时,取出A位置中所有用户的打分值进行叠加,求平均值,得出A位置的平均打分值,并把该值放入数据库表中;
通过所得平均打分值,进而得出A点在打分维度上的概率Pscore(A) 。
更进一步地,所述的最终打车概率算法包括以下步骤:
用户上传当前经纬度点;
调用百度地图检索服务,返回用户当前点附近的路口的经纬度点集合,存储于数组a中;
对数组a中的每一个元素a[i],元素代表A附近的一个路口,其中0≤i≤max, max-1为数组最后一个元素,执行空间维度的space算法、时间维度的time算法、打分维度的score算法,从而分别获得时间维度的空车概率Ptime (a[i]) 、空间维度上的空车概率Pspace(a[i])、打分维度上的概率Pscore(a[i]) ;
通过上一步骤所得三个维度上的空车概率,则该路口a[i]的最终空车概率为P(a[i])= Ptime (a[i]) ×F(time)+
Pspace(a[i]) ×F(space)+
Pscore(a[i]) ×F(score)
其中,各维度的权值总和F(space)+ F(time)+F(score)=1,并把所得概率存进相对应的数组b中;
对所得概率数组b进行降序排序;
把所得结果概率数组b返回给客户端。
进一步地,所述数据挖掘算法训练数据库表模块的功能为对时间维度的概率权值F(time) 、空间维度的概率权值F(space)、打分维度的概率权值F(score) 三者进行数据挖掘训练。
本发明的有益效果在于:
1、本发明提供了一种基于数据挖掘技术的打车位置推荐系统及其推荐方法,本系统区别于传统的打车软件所依赖的实时通信方式,通过数据挖掘算法实现打车位置推荐,极具创新性。
2、本发明的应用并非基于打车者与司机双方的联系,而是由打车者根据本发明推荐的位置进行选择,具有主动性,而且基于多维度的数据挖掘位置推荐算法很大程度上保证了打车者打车的成功率。
3、本发明目前主要是基于时间、空间、打分这三个维度进行算法分析计算空车概率来获得推荐位置,但我们可以在此基础上添加更多的维度,如路况、天气等,提高本发明的准确性和应用价值。
附图说明
图1为一个基于多维度的打车位置推荐系统及方法架构图。
图2为后台系统架构图。
图3为打车空车概率计算方法实现原理图。
图4为空间维度的空车概率space算法原理图。
图5为《打车易》系统实现流程图。
具体实施方式
下面结合附图对本发明做进一步的描述,但本发明的实施方式并不限于此。
如图1所示,一种基于多维度的打车位置推荐系统包括:基于Android平台的打车位置推荐软件客户端、服务器端与客户端衔接模块、注册和登录业务逻辑处理模块、打车位置推荐业务逻辑处理模块、打车位置打分业务逻辑处理模块、刷新缓存业务逻辑处理模块、打车位置的打分概率算法、打车位置的空间维度概率算法、打车位置的时间维度概率算法、动态更新打车位置概率、打车位置的概率算法、数据挖掘算法训练数据库表、缓存刷新、后台管理系统、出租车历史GPS数据筛选和导入模块、数据库模块。其中:
基于Android平台的打车位置推荐软件客户端,通过用户上传的当前的经纬度点,调用百度PlaceAPI返回用户当前点附近的路口的经纬度点集合,通过space算法、time算法、score算法计算出降序排列的打车概率大小,反馈到用户的手机客户端上,使用户判断并选择符合用户需求的待车点。
出租车历史GPS数据筛选和导入模块的操作对象为TXT格式文件保存的原始数据,该模块的工作原理为清除存在不合格的字段的原始数据,把合理的原始数据导入数据库,建立打车概率分析模型。
服务器端与客户端衔接模块,在服务器端与手机客户端之间建立协议文档,接收从手机客户端发送来的注册、登录、获取打车位置、用户收藏、获取地名对应信息、用户对打车位置评分等功能手机客户端通过http请求请求服务器的数据,服务器经过业务逻辑计算后(期间会调用数据库数据),返回给手机客户端json格式数据,手机客户端解析数据并显示给用户。服务器端与客户端衔接模块包括以下几个子模块:
注册和登录业务逻辑处理模块,用户以邮箱格式注册账号,服务器端在数据库中插入新的用户名记录 。若得到登录请求,将传送过来的用户名和密码在数据库中的user表中进行比对,若成功则登录,反之失败;
打车位置推荐业务逻辑处理模块,用户发送推荐打车位置的请求,将会上传当前的经纬度点,调用百度PlaceAPI返回用户当前点附近的路口的经纬度点集合,通过space算法、time算法、score算法计算出降序排列的打车概率大小,并反馈给用户;
打车位置打分业务逻辑处理模块,将接收到的用户评分插入到数据库中;
刷新缓存业务逻辑处理模块,个别业务处理模块在处理业务时可能会调用到MySQL数据库,但是大部分时间,系统都是直接和缓存打交道,不会直接在数据库层面进行操作。
打车位置的空间维度概率算法,所述打车位置的空间维度概率算法是通过以所在打车位置(设为A点)为中心,边长为2*radius的正方形区域,其中radius为一边量,即正方形区域的大小可自己拟定,把所需范围的出租车记录纳入统计数据当中,将该表i(0<i<sum,设共sum个表)中所有的出租车记录 按出租车车牌分组为a[1…n],依次计算出a[1]到a[n]出租车的空车数(status字段为0)占总记录数的概率Pi,对有出租车记录的所有表进行上述过程操作,获取每一个表的空车率,把每个表的空车概率进行累加,取平均值,从而计算出A点在空间维度上的空车概率,即Pspace(A)=(P1+P2+…+Psum)/sum。
打车位置的时间维度概率算法,所述打车位置的打分维度概率算法是用户在手机客户端对A打车位置打分后,分值会被上传到服务器数据库中存放,通过对A位置不同用户打分值的叠加求平均值,得出A位置的平均打分,然后这个平均打分值可以反馈给用户来参考某已打车位置是否具有准确性。同样,本系统正是通过score算法,获取打分维度上的空车概率Pscore(A)。
打车位置推荐算法的打分算法,用户在手机客户端对A打车位置打分后,分值会被上传到服务器数据库中存放。通过对A位置不同用户打分值的叠加求平均值,得出A位置的平均打分,然后这个平均打分值可以反馈给用户来参考某已打车位置是否具有准确性。
动态更新打车位置概率,通过对历史收集的概率值进行分析,并通过数据挖掘算法训练,可以让各个维度的概率权值趋于准确水平,让用户使用到更准确的打车位置推荐。随着用户数的增加,用户的评分会增多,最终概率值的计算会很大程度依赖于打分值score算法计算出来的概率。
打车位置的概率算法,通过用户上传的当前的经纬度点,调用百度PlaceAPI返回用户当前点附近的路口的经纬度点集合,通过space算法、time算法、score算法计算出降序排列的打车概率大小。打车概率为:
P(A)=Pspace(A)× F(space)
+Ptime(A) × F(time)
+ Pscore(A) × F(score)
其中Pspace(A)是A点经过space算法计算后得到的概率,F(space)是space算法的权值。Ptime(A)是A点经过time算法计算后得到的概率,F(time)是time算法的权值。Pscore(A)是A点经过score算法计算后得到的概率,F(score)是score算法的权值。其中,权值和为F(space)+ F(time)+F(score)=1。
数据挖掘算法训练数据库表,为了使计算结果更加准确,需要动态更新数据,通过数据挖掘的方法,统计分析数据库中若干表专门存放历史space、time、score算法对应概率值。通过对这些历史数据的分析,可以让probfactor表中space、time、score概率权值趋于精准水平,让用户使用到更准确的打车位置推荐。
数据筛选,本实施例通过对原始数据进行了筛选和预处理后,数据预处理后的数据,分类后根据所得数据字段记录到表格1。如此海量的信息,通过数据库进行储存,建立恰当的关系模式,让服务器进行数据的提取和更新,以反馈至客户端。而通过数据挖掘算法训练数据库表对数据库中数据进行及时更新和维度权值的更新,让本发明为用户提供的空车概率趋于精准。
表名称 表说明
location 经纬度点表。一条记录存放一个经纬度点。
user 用户表
collectpoints 收藏打车位置
GPS 出租车行车轨迹数据
space 打车位置经过space算法计算后得到概率
space_history 收集space表历史记录
time 打车位置经过time算法计算后得到概率
time_history 收集time表历史记录
score 打车位置打分表
score_avg 打车位置平均打分表
probfactor 概率因子表
probfactor_history Probfactor的历史记录
location_prob_statistic 打车位置打车概率、使用space算法、time和score算法后的概率值以及相应的概率因子数据
sysconfig 系统配置表
表格 1。
建立概率分析模型,在出租车历史GPS数据中,每个车辆轨迹数据文件均以车牌号命名,数据文件采用csv格式存储,数据文件由7个字段构成,其中,最重要的字段是status、time、jd、wd、和name。通过这些字段可以建立打车概率分析模型,表格2为GPS数据的字段说明表格。
表格 2。
缓存刷新,通过使用缓存刷新协议实现刷新缓存。根据需要,可以分别进行单个数据库表的刷新和全部数据库表的刷新,从而使缓存中的数据与修改后的数据库数据相匹配。
后台管理系统,只有系统管理员才能登录。登录时会和远程服务器进行验证,验证通过才允许进行其它操作。是与系统管理员发生直接交互的模块,系统管理员通过它可以向系统发送管理命令。
出租车历史GPS数据筛选和导入模块,原始数据是通过多个TXT格式文件进行存储的,通过搜集出租车历史GPS进行分析,将数据进行预处理,装载在数据库中。先对数据进行数据清洗,将非法、出错的数据清除出TXT文档,再将有效、正常的数据存入数据库中。
数据库模块,数据库使用Mysql数据库对筛选过后的数据进行存储。
数据挖掘算法训练数据库表模块的功能为对时间维度的概率权值F(time) 、空间维度的概率权值F(space)、打分维度的概率权值F(score) 三者进行数据挖掘训练。
基于Android平台的打车位置推荐系统的推荐方法,推荐结果最终在基于Android平台的打车位置推荐软件客户端显示该点范围内最近最可能打的成功的待车点,
其主要依据为:所有经纬度点都会放入数据库location表中、经纬度点在location中是唯一的。经过space算法计算的经纬度点的概率值会存放在数据库表space表中,经过time算法和score算法计算的经纬度点的概率值会存放在time表和score表中。数据库有若干表专门存放历史时间维度、空间维度、打分维度算法对应概率值。这些表分别是time_history、space_history、probfactor_history、location_prob_statistic。数据库中的表probfactor中包括时间维度的概率权值F(time) 、空间维度的概率权值F(space)、打分维度的概率权值F(score)。通过对这些历史数据的分析,可以让probfactor表中时间、空间、打分三维度上的概率权值趋于精准水平,让用户得到更准确的打车位置推荐服务。随着用户数的增加,用户的评分会增多,最终概率值的计算会很大程度依赖于打分值score算法计算出来的概率,而且会相当准确。
打车位置推荐功能,最终在基于Android平台的打车位置推荐软件客户端显示该点范围内最近最可能打的成功的路口。此处应强调且注意的是,我们返回给客户端的推荐位置,并不只是一个,而是多个推荐位置及相应的空车概率,让用户可以根据自身需要,选择适合的位置等待出租车而且由打的概率从高到低给多个路口予以1~10不等的数字标号,让用户根据自身需要进行打的位置的选择。
本实施例通过对原始数据进行了筛选和预处理后,数据预处理后的数据,分类后根据所得数据字段记录到相应的表中。如此海量的信息,通过数据库进行储存,建立恰当的关系模式,让服务器进行数据的提取和更新,以反馈至客户端。而通过数据挖掘算法训练数据库表对数据库中数据进行及时更新和维度权值的更新,让本实施例为用户提供的空车概率趋于精准。
在出租车历史GPS数据中,每个车辆轨迹数据文件均以车牌号命名,数据文件采用csv格式存储,数据文件由7个字段构成。其中,最重要的字段是status、time、jd、wd、和name。通过这些字段可以建立打车概率分析模型。
如图2所示,请求通过http协议发送到Tomcat服务器,通过servlet将请求转发到业务分发模块,业务分发模块将请求分发到具体的业务处理模块。个别业务处理模块在处理业务时可能会调用到Mysql数据库,但是大部分时间,系统都是直接和缓存打交道,不会直接在数据库层面进行操作,因此使数据间的运算、传输和系统请求功能的响应得到了很大提升。
如图3所示,用户通过客户端向服务器端发送推荐打车位置的请求,将会上传当前的经纬度点,调用百度PlaceAPI返回用户当前点附近的路口的经纬度点集合,通过space算法、time算法、score算法计算空间、时间、打分三个维度上的空车概率,再通过与各自所占的权值进行运算,得出最终的空车概率,并把不同的点,按最终的空车概率降序排列,并把具体信息反馈给客户端进行显示。
如图4所示,所在打车位置(设为A点)为中心,边长为2*radius的正方形区域,把此区域内的出租车记录纳入统计范围,将该表i(0<i<sum,设共sum个表)中所有的记录按出租车车牌分组为a[1…n],依次计算出a[1]到a[n]出租车的空车数(status字段为0)占总记录数的概率Pi,对有记录的所有表进行这一过程操作,把每个表的空车概率进行累加并取平均值,计算出A点的空车概率,即P=(P1+P2+…+Psum)/sum。
如图5所示,手机客户端通过http请求请求服务器的数据,服务器经过业务逻辑计算后(期间会调用数据库数据),返回给手机客户端json格式数据,手机客户端解析数据并显示给用户。
《打车易》系统手机客户端与服务器端制定的协议格式,是基于http协议,采用post表单方式提交请求参数,服务返回byte数据流。交互的数据使用json格式包装。每次请求时在请求url后添加”&rd=随机参数”防止数据的缓存,如表格3所示,
表格3。
以上所述的本发明的实施方式,并不构成对本发明保护范围的限定。任何在本发明的精神原则之内所作出的修改、等同替换和改进等,均应包含在本发明的权利要求保护范围之内。

Claims (6)

1.一种基于多维度的打车位置推荐系统,其特征在于包括:
出租车历史GPS数据筛选和导入模块,用于将不合理的出租车历史GPS数据记录进行清除,并把合格的数据导入数据库;
打车位置推荐客户端,用于为用户提供的交互界面、接收用户的请求以及显示请求的结果;
服务器端与客户端衔接模块,用于服务器与客户端的信息传输;
数据挖掘算法训练数据库表模块,用于使空间、时间、打分相应的概率权重合理;
缓存刷新模块,用于使缓存中的数据与修改后的数据库数据相匹配;
后台管理系统,用于刷新缓存、动态更新打车位置概率、实现计划任务管理工作;
数据库模块,对数据进行存储;
所述的服务器端与客户端衔接模块包括以下几个子模块:注册和登录业务逻辑处理模块;打车位置推荐业务逻辑处理模块;打车位置打分业务逻辑处理模块;刷新缓存业务逻辑处理模块;
所述出租车历史GPS数据筛选和导入模块的操作对象为TXT格式文件保存的原始数据,该模块的工作原理为清除存在不合格的字段的原始数据,把合理的原始数据导入数据库,建立打车概率分析模型;
基于Android平台的打车位置推荐软件客户端,通过用户上传的当前的经纬度点,调用百度PlaceAPI返回用户当前点的路口的经纬度点集合,通过space算法、time算法、score算法计算出降序排列的打车概率大小,反馈到用户的手机客户端上,使用户判断并选择符合用户需求的待车点;所述打车概率大小的算法包括以下步骤:
用户上传当前经纬度点;
调用百度地图检索服务,返回用户当前点附近的路口的经纬度点集合,存储于数组a中;
对数组a中的每一个元素a[i],元素代表A附近的一个路口,其中0≤i≤max,max-1为数组最后一个元素,执行空间维度的space算法、时间维度的time算法、打分维度的score算法,从而分别获得时间维度的空车概率Ptime(a[i])、空间维度上的空车概率Pspace(a[i])、打分维度上的概率Pscore(a[i]);
通过上一步骤所得三个维度上的空车概率,则该每一个元素a[i]的最终空车概率为P(a[i])=Ptime(a[i])×F(time)+
Pspace(a[i])×F(space)+
Pscore(a[i])×F(score)
其中,各维度的权值总和F(space)+F(time)+F(score)=1,并把所得概率存进相对应的数组b中;F(time)为时间维度的概率权值,F(space)为空间维度的概率权值,F(score)为打分维度的概率权值;
对所得概率数组b进行降序排序;
把所得结果概率数组b返回给客户端;
服务器端与客户端衔接模块,在服务器端与手机客户端之间建立协议文档,接收从手机客户端发送来的注册、登录、获取打车位置、用户收藏、获取地名对应信息、用户对打车位置评分等功能手机客户端通过http请求请求服务器的数据,服务器经过业务逻辑计算后,返回给手机客户端json格式数据,手机客户端解析数据并显示给用户。
2.根据权利要求1所述的打车位置推荐系统,其特征在于:所述推荐系统是基于Android平台的打车位置推荐系统,该推荐系统通过服务器端与手机客户端衔接模块使手机客户端与服务器端发生交互。
3.根据权利要求1所述的打车位置推荐系统,其特征在于所述数据挖掘算法训练数据库表模块的功能为对时间维度的概率权值F(time)、空间维度的概率权值F(space)、打分维度的概率权值F(score)三者进行数据挖掘训练。
4.一种根据权利要求1所述的基于多维度的打车位置推荐系统的打车位置推荐方法,其特征在于:所述方法获取时间维度、空间维度、打分维度上的空车概率,采用最终打车概率算法,得出最终最有可能成功打车的位置,
所述的获取时间维度的方法为打车位置的时间维度概率算法,该方法用于获取数据挖掘训练得出每个时间段的打车概率,获取时间维度的概率;
所述的获取空间维度的方法为打车位置的空间维度概率算法,该方法用于获取相应区域的空车概率,获取空间维度的概率;
所述的获取打分维度的方法为打车位置的打分概率算法,用于获取打分维度的概率,并反馈给用户相应的打分信息来参考某位置是否具有准确性;
所述打车位置的空间维度概率算法包括以下步骤:
用户上传当前经纬度点;
建立以当前经纬度点A为中心,以L为边长的正方形模型;
调用数据库中的全部出租车历史GPS记录,判断每个存放记录表中的记录的经纬度字段是否落在该正方形模型范围内,不符合条件的记录予以排除,符合条件的记录将在下一步骤进行相关处理;
将第i个表中符合条件的记录按记录中的name车牌号字段分组为a[1…n],其中0<i<sum+1,sum表示存放记录表的个数,n为正整数;
依次计算出a[1]至a[n]出租车的空车记录数占表i中总记录数的概率Pi=(Pa[1]+Pa[2]+...+Pa[n])/n,从而得出sum个表各自的空车概率,其中位置字段为0;
最后,A点在空间维度上的空车概率:
Pspace(A)=(P0+P1+...+Pi+...+Psum)/sum。
5.根据权利要求4所述的基于多维度的打车位置推荐系统的打车位置推荐方法,其特征在于:所述的打车位置的时间维度概率算法包括以下几个步骤:
用户上传当前经纬度点;
建立以当前经纬度点A为圆心,以R为半径的圆形模型;
调用数据库中的全部出租车GPS记录,判断所有的记录中经纬度字段是否落在该圆形模型范围内,而且需要判断记录中的时间字段是否属于当前时间段,不符合这两个条件的记录予以排除,符合条件的记录将在下一步骤进行相关处理;
从符合条件的出租车GPS记录中获取位置字段信息,分别统计空载车辆数和满载车辆数;
通过得出圆形模型范围车辆的空载车辆数与满载车辆数,计算出A点在时间维度上的空车概率Ptime(A),即Ptime(A)=(空载车辆数)/(满载车辆数)。
6.根据权利要求4所述的基于多维度的打车位置推荐系统的打车位置推荐方法,其特征在于:所述打车位置的打分概率算法包括以下步骤:
用户使用过位置推荐功能后,在手机客户端对该经纬度点进行打分;
用户在当前经纬度A点所得分值被上传至服务器数据库中存放;
计算打分维度的空车概率时,取出A位置中所有用户的打分值进行叠加,求平均值,得出A位置的平均打分值,并把该值放入数据库表中;
通过所得平均打分值,进而得出A点在打分维度上的概率Pscore(A)。
CN201410024392.5A 2014-01-20 2014-01-20 一种基于多维度的打车位置推荐系统及其推荐方法 Active CN104166663B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410024392.5A CN104166663B (zh) 2014-01-20 2014-01-20 一种基于多维度的打车位置推荐系统及其推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410024392.5A CN104166663B (zh) 2014-01-20 2014-01-20 一种基于多维度的打车位置推荐系统及其推荐方法

Publications (2)

Publication Number Publication Date
CN104166663A CN104166663A (zh) 2014-11-26
CN104166663B true CN104166663B (zh) 2018-07-10

Family

ID=51910480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410024392.5A Active CN104166663B (zh) 2014-01-20 2014-01-20 一种基于多维度的打车位置推荐系统及其推荐方法

Country Status (1)

Country Link
CN (1) CN104166663B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9733096B2 (en) 2015-06-22 2017-08-15 Waymo Llc Determining pickup and destination locations for autonomous vehicles
CN105575104B (zh) * 2015-12-17 2018-03-02 小米科技有限责任公司 打车软件处理方法及装置
CN106933916B (zh) * 2015-12-31 2020-05-08 北京国双科技有限公司 Json字符串的处理方法及装置
CN105679009B (zh) * 2016-02-03 2017-12-26 西安交通大学 一种基于出租车gps数据挖掘的打车/接单poi推荐系统及方法
CN105740473B (zh) * 2016-03-14 2021-03-02 腾讯科技(深圳)有限公司 用户生成内容展示方法和装置
CN106339220A (zh) * 2016-08-22 2017-01-18 北京小米移动软件有限公司 打车信息显示方法及装置
US10559209B2 (en) * 2016-11-10 2020-02-11 Sap Se Vehicle position planning
CN106776771B (zh) * 2016-11-10 2018-06-19 百度在线网络技术(北京)有限公司 信息推送方法和装置
CN106778216A (zh) * 2016-11-23 2017-05-31 依偎科技(南昌)有限公司 一种信息处理方法及移动终端
CN112868036B (zh) * 2018-11-06 2023-12-05 北京嘀嘀无限科技发展有限公司 位置推荐的系统和方法
CN110245288A (zh) * 2019-05-17 2019-09-17 深圳市元征科技股份有限公司 一种基于多维评价系统的车辆匹配方法及装置
CN111881373A (zh) * 2020-06-19 2020-11-03 北京嘀嘀无限科技发展有限公司 一种上车点易达性确定方法及系统
CN112070258A (zh) * 2020-10-13 2020-12-11 广州宸祺出行科技有限公司 一种网约车打车订单派单的方法和系统
CN112818216B (zh) * 2021-01-13 2021-09-28 平安科技(深圳)有限公司 客户推荐方法、装置、电子设备及存储介质
CN113239281A (zh) * 2021-06-21 2021-08-10 拼途(北京)信息技术有限公司 信息展示方法、装置、用户终端、服务器和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4058058B2 (ja) * 2005-04-27 2008-03-05 株式会社ナビタイムジャパン 乗車位置案内システム、経路探索サーバおよびプログラムならびに乗車位置案内端末
CN101329183A (zh) * 2007-06-22 2008-12-24 株式会社日立制作所 路径搜索方法以及路径搜索系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4058058B2 (ja) * 2005-04-27 2008-03-05 株式会社ナビタイムジャパン 乗車位置案内システム、経路探索サーバおよびプログラムならびに乗車位置案内端末
CN101329183A (zh) * 2007-06-22 2008-12-24 株式会社日立制作所 路径搜索方法以及路径搜索系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
大规模轨迹数据的检索、挖掘和应用;袁晶;《中国博士学位论文全文数据库 信息科技辑》;20130115;第5章、第5.4.2、5.4.2.1、5.2.3节,附图5.14、5.15、5.16 *

Also Published As

Publication number Publication date
CN104166663A (zh) 2014-11-26

Similar Documents

Publication Publication Date Title
CN104166663B (zh) 一种基于多维度的打车位置推荐系统及其推荐方法
CN105357691B (zh) Lte无线网络用户感知监测方法和系统
CN104756444B (zh) 云中的cdn负载平衡
CN104756467B (zh) 云中的cdn流量管理
CN106815333A (zh) 一种智慧网格化区域管理系统
WO2016206486A1 (zh) 一种推广信息的处理方法、装置和系统
Gómez et al. IoT for environmental variables in urban areas
CN102137155B (zh) 一种基于客户感知的通信网络质量投诉处理方法
CN107315762A (zh) 服务网点匹配方法和系统
KR20120040589A (ko) 전자 입찰에 있어 투찰금액 예측방법 및 그 시스템
CN105303503B (zh) 互联网交通运政服务云
CN108011957A (zh) 基于互联网预约导游的系统及方法
CN107026750A (zh) 一种用户上网QoE评价方法及装置
US20150006255A1 (en) Determining demographic data
CN104820915A (zh) 一种个性化定制的微信智慧配送管理系统
CN104679942A (zh) 一种基于数据挖掘的建设用地承载效率测度方法
CN103778545B (zh) 一种商品信息处理方法和系统
CN109284946A (zh) 一种行程距离、物流服务行程时间确定方法、装置和系统
US20150005007A1 (en) Displaying demographic data
CN110705904A (zh) 一种在线交通承载能力评价系统
CN107995682A (zh) 无线接入点定位方法、装置、电子设备及存储介质
CN110457357A (zh) 基于神经网络的律师推荐方法及相关设备
CN108066990A (zh) 一种从候选用户列表中选择用户的方法、装置及服务器
Tanaka MAXIMUM FLOW-COVERING LOCATION AND SERVICE START TIME PROBLEM AND ITS APPLICATION TO TOKYO METROPOLITAN RAILWAY NETWORK (< Special Issue> SCOPE (Seminar on Computation and OPtimization for new Extensions))
CN107516248A (zh) 基于地址信息的任务结算方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant