基于公共交通线路的地点推荐方法

文档序号:6733839阅读:115来源:国知局
基于公共交通线路的地点推荐方法
【专利摘要】一种基于公共交通线路的地点推荐方法,它包括如下步骤:①离线状态下,系统对于每一个公共交通站点,找寻经过该站点的所有公共交通线路,然后在地理数据库中找到沿每条公共线路的所有兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该公共交通站点的关联地点;②同样在离线状态下,系统将每一个公共交通站点、或每条公交线路、或每个地理区域的各类关联地点缓存到系统的服务器内存中;③系统根据用户指定的出发地点筛选关联地点,将遍历附近的公共交通站点,对于每个交通站点,系统直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的关联地点,系统把最符合用户要求的关联地点发送给用户。
【专利说明】基于公共交通线路的地点推荐方法
【技术领域】
[0001]本发明涉及一种基于公共交通线路的地点推荐方法。
【背景技术】
[0002]随着石化能源的日益紧缺和自然环境的日益恶化,大力发展公共交通系统,提倡绿色出行方式已经成为包括我国在内的很多国家和地区的重要政策。在传统公共交通服务的基础上,如何结合互联网技术为公共交通用户提供更为智能,方便的新型服务也成为了一个重要的技术问题,比如基于公共交通线路的地点推荐服务。
[0003]提供基于公共交通线路的地点推荐服务存在一些技术难点。其中主要的一个难点就是用户对服务实时性的要求和后台处理较为复杂之间的矛盾。显而易见,用户在提出推荐要求时总是希望尽快得到系统的推荐结果,考虑到网络的延迟,留给系统的反应时间是非常短暂的。但是另一方面,基于公共交通线路的地点推荐需要一些复杂的计算过程。假设用户周围有若干公交或地铁站点,在每个站点用户又可以乘坐若干条线路,系统需要在地理数据库中沿着这些线路把所有和初始站点之间的距离小于N站的符合用户要求的地点找到,然后按照某种规则排序,最后把排名最高的推荐给用户。如果用户不限制换乘次数的话,理论上这是一个NP难问题。即使在现实中限定最大换乘次数(比如最多换乘一次),仍然需要一定的时间开销。这样一来,如何在尽量短的时间内找到一个用户所有可能乘坐的公共交通线路沿线的合适地点就成了提高服务质量的一个关键问题。

【发明内容】

[0004]本发明的目的是提供一种相应速度快、节省系统计算资源的基于公共交通线路的地点推荐方法。
[0005]为实现上述目的,本发明采用以下技术方案:
一种基于公共交通线路的地点推荐方法,它包括如下步骤:
①、离线状态下,系统对于每一个公共交通站点,找寻经过该站点的所有公共交通线路,然后在地理数据库中找到沿每条公共线路的所有兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该公共交通站点的关联地点;或者,在离线状态下,系统对于每一个公共线路,在地理数据库中找到这条公共线路沿线的所有兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该公交线路的关联地点;或者,在离线状态下,系统对于每一个地理区域,首先找到该区域内的所有公交站点,然后在地里数据库中找到这些公交站点所关联的兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该地理区域的关联地点;
②、同样在离线状态下,系统将每一个公共交通站点、或每条公交线路、或每个地理区域的的各类关联地点缓存到系统的服务器内存中;
③、系统根据用户指定的出发地点筛选关联地点,如果系统缓存的是公交站点的关联地点,那么系统将遍历附近的公共交通站点,对于每个交通站点,系统直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;如果系统缓存的是公交线路的关联地点,那么系统遍历附近有站点的公共交通线路,然后从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;如果缓存的是地理区域的关联地点,那么系统直接根据用户指定的出发地点查找其所属的地理区域,并从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的关联地点,系统把最符合用户要求的关联地点发送给用户。
[0006]在所述的步骤②中,将公共交通站点,或公交线路,或地理区域的名称或ID号作为缓存的键,其关联站点集合作为缓存的值。
[0007]在所述的步骤③中,利用贝叶斯算法在所有符合用户要求的用户指定地点周边公共交通站点的关联地点中、或者在所有符合用户要求的经过用户指定地点的公交线路关联地点中、或者在所有符合用户要求的用户所在地理区域的公交线路关联地点中,计算得到最符合用户要求的关联地点。
[0008]采用上述技术方案的本发明,不需要过于复杂的计算过程,因而反应速度快,能在尽量短的时间内找到一个用户最合适的公交线路,提高了服务质量。
【专利附图】

【附图说明】
[0009]图1为在不考虑换乘的情况下计算“五间楼站”的关联地点图。
[0010]图2为关联地点采用对象列表的数据结构形式。
[0011]图3为在考虑一次换乘的情况下计算“五间楼站”的关联地点图。 【具体实施方式】
[0012]实施例1
一种基于公共交通线路的地点推荐方法,它包括如下步骤:
①、离线状态下,系统对于每一个公共交通站点,找寻经过该站点的所有公共交通线路,然后在地理数据库中找到沿每条公共线路的所有兴趣点(Point Of Interest),且系统根据预定义的类别对兴趣点进行归类,比如餐厅,超市,剧场,夜店,酒吧等等。为了描述的方便,在下面的描述里我们称这些兴趣点为该公共交通站点的关联地点。这一步骤比较耗时,但因为是离线操作,在系统上线前完成,不会影响系统对用户要求的响应时间。
[0013]②、同样在离线状态下,系统将每一个公共交通站点的各类关联地点通过Redis或MemoryCatche等数据缓存系统,缓存到系统的服务器内存中;且在此过程中,可以将公共交通站点的名称或ID号作为缓存的键(Key),其关联站点集合可以以某种数据结构或字符串形式作为缓存的值(Value)。上述的数据结构可以是站点对象列表(List)如哈希表(Hash Table),也可能是其它难以--列举的数据结构。
[0014]③、系统根据用户指定的出发地点,遍历附近的公共交通站点;对于每个交通站点,系统直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的用户指定地点周边公共交通站点的关联地点,系统利用某种已有的推荐排序算法,如贝叶斯算法在所有符合用户要求的用户指定地点周边公共交通站点的关联地点中,计算得到最符合用户要求的关联地点发给用户。在贝叶斯算法中,对好评度、折扣/优惠力度、竞价排名等综合分析,把排名最高的一部分推荐给用户。
[0015]如图1所示,显示了在不考虑换乘的情况下对于一个特定的公交站点“五间楼站”,系统是如何计算其关联站点并进行推荐的。
[0016]首先,系统的计算需要一个公交信息数据库用于查询站点,线路信息。此外,系统还需要一个地理信息数据库用来查询某个指定站点附近的兴趣点。
[0017]假定系统最多只能推荐距离用户指定出发地点三站内的地点并且要求推荐的地点离下车站点的距离不超过200米,对于五间楼站,系统首先通过公交信息数据库查询经过这个站点的公交线路。假设数据库记录了 723路和12路公交车经过该站,那么系统将遍历723路和12路公交车经过的所有距离五间楼站不超过三站的站点(黑色实心圆),并在地理信息数据库中找到其附近200米内的所有兴趣点(站点外围环状区域内)。这些兴趣点就是五间楼站的关联地点。对于每一个其它的站点,系统通过类似的计算过程找到其关联地点并通过缓存系统缓存在内存里。关联地点可以用对象列表的数据结构存储。一个关联地点的对象列表的结构如图2所示。该例子展示了列表中的两个关联地点(肯德基餐厅和星巴克咖啡厅)。
[0018]假定用户小王要求系统推荐一些方便从家做公交车去用餐的餐馆,系统首先通过公交信息数据库查询离小王家距离在200内的公交站点。假设五间楼站是唯一距离小王家不超过200米的公交站点,系统将调出缓存内五间楼站所有类别为餐馆的关联地点并根据指定的排名规则进行排序。
[0019]假定一个指定的排名规则是按照用户好评度进行排名,系统将把这些餐馆中用户评分最高的N个推荐给用户。
[0020]排名规则可以同时考虑多个因素,如用户评价,折扣力度,卫生环境,距离远近等。考虑多个因素的排名规则可以表示为一个根据多种因素的地点评分系统。最后的排名取决于考虑多种因素的情况下地点的评分。
[0021]如图3所示显示了在考虑一次换乘的情况下对于一个特定的公交站点“五间楼站”,系统是如何计算其关联站点并进行推荐的。和实施例1的要求一样,系统的计算需要一个公交信息数据库用于查询站点,线路信息。此外,系统还需要一个地理信息数据库用来查询某个指定站点附近的兴趣点。
[0022]假定系统最多只能推荐距离用户指定出发地点三站内的地点并且要求推荐的地点离下车站点的距离不超过200米,对于五间楼站,系统首先通过公交信息数据库查询经过这个站点的公交线路。假设数据库记录了 723路和12路公交车经过该站,那么系统将遍历723路和12路公交车经过的所有距离五间楼站不超过三站的站点(黑色实心圆),并在地理信息数据库中找到其附近200米内的所有兴趣点(站点外围环状区域内)。除此之外,系统还将这些查询所有经过这些站点的其它公交线路,比如如图所示的973路(经过723路的站点方庄桥站),并遍历这些路公交线路中所有距离五间楼站不超过三站的站点(黑色实心圆),然后在地理信息数据库中找到其附近200米内的所有兴趣点(站点外围环状区域内)。所有这些找到的兴趣点就是考虑一次换乘的情况下五间楼站的关联地点。对于每一个其它的站点,系统通过类似的计算过程找到其关联地点并通过缓存系统缓存在内存里。
[0023]实施例2
一种基于公共交通线路的地点推荐方法,它包括如下步骤:
离线状态下,系统对于每一条公共线路在地理数据库中找到其沿线的所有兴趣点(Point Of Interest),且系统根据预定义的类别对兴趣点进行归类,比如餐厅,超市,剧场,夜店,酒吧等等。为了描述的方便,在下面的描述里我们称这些兴趣点为该公交线路的关联地点。这一步骤比较耗时,但因为是离线操作,在系统上线前完成,不会影响系统对用户要求的响应时间。
[0024]同样在离线状态下,系统将每一个公共交通站点的各类关联地点通过Redis或MemoryCatche等数据缓存系统,缓存到系统的服务器内存中;且在此过程中,可以将公共交通线路的名称或ID号作为缓存的键(Key),其关联站点集合可以以站点对象列表(List)哈希表(Hash Table)等数据结构或字符串形式作为缓存的值(Value)。
[0025]系统根据用户指定的出发地点,遍历在附近有站点的公共交通线路;对于每条公交线路,系统直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的用户指定地点周边公共交通站点的关联地点,和实施例1类似,系统通过一种通用的推荐排序算法把排名最高的一部分推荐给用户。
[0026]这种方法适用于不考虑公共交通换乘的情况,因为系统之缓存了单条线路的关联地点,而没有考虑两条或多条线路组合的关联地点。
[0027]实施例3
一种基于公共交通线路的地点推荐方法,它包括如下步骤:
离线状态下,系统首先把每个城市划分为若干地理区域,然后每个地理区域到找到所有公交站点的关联地点并根据预定义的类别对兴趣点进行归类,比如餐厅,超市,剧场,夜店,酒吧等等。为了描述的方便,在下面的描述里我们称这些公交站点的关联地点为该地理区域的关联地点。这一步骤比较耗时,但因为是离线操作,在系统上线前完成,不会影响系统对用户要求的响应时间。
[0028]同样在离线状态下,系统将每一个地理区域的各类关联地点通过Redis或MemoryCatche等数据缓存系统,缓存到系统的服务器内存中;且在此过程中,可以将地理区域的名称或ID号作为缓存的键(Key),其关联站点集合可以以站点对象列表(List)哈希表(Hash Table)等数据结构或字符串形式作为缓存的值(Value)。
[0029]系统根据用户指定的出发地点,确定其所属的地理区域,然后直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的该地理区域内的关联地点,和实施例1类似,系统通过一种已有的推荐排序算法把排名最高的一部分推荐给用户。
[0030]和实施例1 一样,这种方法即适用于不考虑公共交通换乘的情况,也适用于考虑公共交通换乘的情况。但是地理区域的选择对推荐的性能有所影响。地理区域划分不能太大,如果地理区域划分的太大,比如一个城区作为一个地理区域,其中大部分公交站点用户很难到达,推荐就失去了意义。
【权利要求】
1.一种基于公共交通线路的地点推荐方法,其特征在于,它包括如下步骤: ①、离线状态下,系统对于每一个公共交通站点,找寻经过该站点的所有公共交通线路,然后在地理数据库中找到沿每条公共线路的所有兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该公共交通站点的关联地点; 或者,在离线状态下,系统对于每一个公共线路,在地理数据库中找到这条公共线路沿线的所有兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该公交线路的关联地点; 或者,在离线状态下,系统对于每一个地理区域,首先找到该区域内的所有公交站点,然后在地里数据库中找到这些公交站点所关联的兴趣点,并对兴趣点进行归类;所述的兴趣点也称为该地理区域的关联地点; ②、同样在离线状态下,系统将每一个公共交通站点、或每条公交线路、或每个地理区域的的各类关联地点缓存到系统的服务器内存中; ③、系统根据用户指定的出发地点筛选关联地点,如果系统缓存的是公交站点的关联地点,那么系统将遍历附近的公共交通站点,对于每个交通站点,系统直接从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;如果系统缓存的是公交线路的关联地点,那么系统遍历附近有站点的公共交通线路,然后从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;如果缓存的是地理区域的关联地点,那么系统直接根据用户指定的出发地点查找其所属的地理区域,并从内存的缓存中检索其关联地点并取出其中符合用户要求的类别;最后,给定所有符合用户要求的关联地点,系统把最符合用户要求的关联地点发送给用户。
2.根据权利要求1所述的基于公共交通线路的地点推荐方法,其特征在于:在所述的步骤②中,将公共交通站点,或公交线路,或地理区域的名称或ID号作为缓存的键,其关联站点集合作为缓存的值。
3.根据权利要求1所述的基于公共交通线路的地点推荐方法,其特征在于:在所述的步骤③中,利用贝叶斯算法在所有符合用户要求的用户指定地点周边公共交通站点的关联地点中、或者在所有符合用户要求的经过用户指定地点的公交线路关联地点中、或者在所有符合用户要求的用户所在地理区域的公交线路关联地点中,计算得到最符合用户要求的关联地点。
【文档编号】G08G1/00GK103578268SQ201210272706
【公开日】2014年2月12日 申请日期:2012年8月2日 优先权日:2012年8月2日
【发明者】汪晓诗 申请人:汪晓诗
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1