位置推荐方法及系统的制作方法

文档序号:10553053阅读:511来源:国知局
位置推荐方法及系统的制作方法
【专利摘要】本发明提供一种位置推荐方法,包括:从一个或者多个用户轨迹记录中,获取一个地理属性范围内的位置数据集合;根据所述位置数据集合提取出位置间转移关系数据,构成一个由位置间转移关系数据组成的目标数据集合;采用统计推理方法,从所述目标数据集合中计算出每一个位置间转移关系数据的发生概率;及基于上述计算出来的转移关系数据的发生概率以及用户的当前位置,选择前K个推荐位置,并按其排序发送给实时推荐引擎。本发明还提供一种位置推荐系统。利用本发明能够使位置推荐结果更加个性化,更符合用户需求。
【专利说明】位置推荐方法及系统 【技术领域】
[0001] 本发明涉及移动互联网应用技术领域,尤其涉及一种位置推荐方法以及系统。 【【背景技术】】
[0002] 对于移动互联网应用而言,除了传统互联网所积累的海量信息、各种丰富应用可 供使用外,移动互联网本身也产生了海量的内容和应用,怎样基于所述海量信息,准确识别 地出用户的喜好并在此基础上向用户推荐最相关的产品、服务、信息是移动互联网的主流 应用。
[0003] 目前使用的无论是基于内容过滤(Content-Based filtering)的个性化推荐技 术,还是基于协同过滤(Collaborative filtering)的个性化推荐技术,基于互联网的个性 化推荐基本上还是基于用户历史行为数据(例如,包括购买行为、点击行为、收藏行为、点评 行为等)+当前内容场景(例如,正在查询的内容、浏览的图书、正在交流的SNS好友等)来进 行上下文推荐的,可以说互联网个性化推荐主要还是偏重于线上服务本身的,对于用户的 位置因素以及其他相关因素(如个人喜好等)并没有太多的考虑。
[0004] 与基于互联网的个性化推荐相比,基于位置服务的个性化推荐更有意义。位置服 务应用融合产生了基于位置的社交网络(location-based social networks),简称位置社 交网络。在位置社交网络中,用户可以建立社交链接(social links),通过具有定位功能的 移动设备(如带GPS的手机),签到(check-in)自己所在的位置,特别是某些感兴趣的位置, 如餐馆、商店、博物馆等;撰写评论以分享访问(签到)位置的经历。
[0005] 由于位置社交网络包含大量的位置,基于位置服务的推荐技术可以使用户更容易 找到符合自己偏好的位置。因此,位置推荐有利于人们探索城市中的新地带,提高城市生活 质量。特别是当用户身处在一个陌生环境的时候。也可以利用位置推荐为实体商店发现潜 在客户,并为这些客户提供相关广告,促使客户访问商店,从而提高商家的利润。位置推荐 还可以为用户推荐符合个人偏好的旅行路线,帮助用户避免信息过载、节约行程安排时间, 以及提高旅行意愿,推动旅游业的发展。因为位置推荐能够为大众、商家和旅行者带来便利 和利益,所以,在位置社交网络中,为用户进行位置推荐是尤为重要的。
[0006] 目前,有许多关于位置推荐的技术,但其只是简单地利用空间特征,忽略了时间特 征。依据传统协同过滤思想的位置推荐方法得到的位置结果,可能距离用户当前位置非常 远而不能马上前往,或者与用户当前位置属性相似而不大可能连续被访问,从而影响用户 的积极性,即传统位置推荐系统未考虑用户当前位置信息、位置间属性等因素对用户的影 响。 【
【发明内容】

[0007] 鉴于以上内容,有必要提出一种位置推荐方法,能够使位置推荐结果更加个性化, 更符合用户需求。
[0008] -种位置推荐方法,包括:
[0009] 从一个或者多个用户轨迹记录中,获取一地理属性范围内的位置数据集合;
[0010] 根据所述位置数据集合提取出位置间转移关系数据,构成一个由位置间转移关系 数据组成的目标数据集合;
[0011] 采用统计推理方法,从所述目标数据集合中计算出每一个位置间转移关系数据的 发生概率;及
[0012] 基于上述计算出来的转移关系数据的发生概率以及用户的当前位置,选择前K个 推荐位置,并按其排序发送给实时推荐引擎。
[0013] 优选地,该方法还包括:
[0014] 所述实时推荐引擎向一终端设备进行位置推荐。
[0015] 优选地,所述用户轨迹记录包括实时获取的用户位置数据以及该位置的访问时间 数据。
[0016] 优选地,所述统计推理方法为最大似然估计思想,用于推理出发生的可能性最大 的位置间转移关系数据,其中:
[0017] 代表用户u从位置1转移到位置i的概率值的概率函数为:
[0018] fui(i) = 〇(<vu,Viu>+<vi,Vii>);
[0019] 其中:符号〈,>代表两向量内积;逻辑函数
?起归一化作用;向量Vu代 表用户u的偏好向量;向量vi代表当前位置1的属性向量;向量Viu代表下一个位置i与用户u 交互的属性向量;以及向量vii代表下一个位置i与当前位置1交互的属性向量。
[0020] 优选地,所述统计推理方法包括:
[0021] 将所有可能的Vu、VI、Viu、Vil组成一个参数矩阵? = {U,U,Liu,Lu},其中,U代表由 所有用户偏好向量组成的矩阵,L1代表由所有当前位置1的属性向量V1组成的矩阵,Liu代 表由所有下一个位置i与用户u交互的属性向量v lu组成的矩阵,以及Lil代表由所有下一个 位置i与当前位置1交互的属性向量^1组成的矩阵;
[0022]对所述目标数据集合Ds做最大似然估计,得到优化函数:
[0023] L( ? ) =argmaxn〇(〈vu,viu>+〈vi,vii>);及
[0024]对上述优化函数进行计算求解,以不断更新其属性向量值VU,VI,Viu及Vil,使得函 数L( ? )结果不断增大直至收敛,得到的收敛时的向量值vu,vi,viu及vu。
[0025] 鉴于以上内容,还有必要提出一种位置推荐方法,能够使位置推荐结果更加个性 化,更符合用户需求。
[0026] -种位置推荐系统,包括:
[0027]数据处理模块,用于从一个或者多个用户轨迹记录中,获取一地理属性范围内的 位置数据集合,并根据所述位置数据集合提取出位置间转移关系数据,构成一个由位置间 转移关系数据组成的目标数据集合;
[0028] 数据建模求解模块,用于采用统计推理方法,从所述目标数据集合中计算出每一 个位置间转移关系数据的发生概率;及
[0029] 推荐位置分析模块,用于基于上述计算出来的转移关系数据的发生概率以及用户 的当前位置,选择前K个推荐位置,并按其排序发送给实时推荐引擎。
[0030] 优选地,该系统进一步包括:
[0031] 数据获取模块,用于从一个或者多个终端设备获取所述用户轨迹记录。
[0032] 优选地,所述用户轨迹记录包括实时获取的用户位置数据以及该位置的访问时间 数据。
[0033]优选地,所述统计推理方法为最大似然估计思想,用于推理出发生的可能性最大 的位置间转移关系数据,其中:
[0034]代表用户u从位置1转移到位置i的概率值的概率函数为:
[0035] fui(i) = 〇(<vu,Viu>+<vi,Vii>);
[0036] 其中:符号〈,>代表两向量内积;逻辑函数
-起归一化作用;向量Vu代 表用户u的偏好向量;向量vi代表当前位置1的属性向量;向量Viu代表下一个位置i与用户u 交互的属性向量;以及向量vii代表下一个位置i与当前位置1交互的属性向量。
[0037]优选地,所述统计推理方法包括:
[0038] 将所有可能的vu、vi、viu、vii组成一个参数矩阵? = {U,Li,Liu,Lu},其中,U代表由 所有用户偏好向量组成的矩阵,L1代表由所有当前位置1的属性向量V1组成的矩阵,Liu代 表由所有下一个位置i与用户u交互的属性向量Vu组成的矩阵,以及Lil代表由所有下一个 位置i与当前位置1交互的属性向量^1组成的矩阵;
[0039]对所述目标数据集合Ds做最大似然估计,得到优化函数:
[0040] L( ? ) =argmaxn〇(〈vu,viu>+〈vi,vii>);及
[0041] 对上述优化函数进行计算求解,以不断更新其属性向量值vu,vi,ViU及vu,使得函 数L( ? )结果不断增大直至收敛,得到的收敛时的向量值vu,vi,viu及vu。
[0042] 相较于现有技术,本发明综合用户对位置访问的轨迹数据及其产生的位置间的转 移关系数据,进行建模、求解,以实现下一个位置推荐,推荐结果更加个性化,更符合用户需 求而容易被接受。 【【附图说明】】
[0043] 图1是一个示意图演示了本发明位置推荐方法较佳实施例的方法流程图。
[0044] 图2为一个用户轨迹示意图。
[0045] 图3是一个示意图演示了本发明实现所述位置推荐方法较佳实施例的硬件系统架 构图。
[0046] 图4是一个示意图演示了本发明位置推荐系统的较佳实施例的功能模块图。
[0047]【主要元件符号说明】
[0048] 终端设备 1
[0049] 服务器 2
[0050] 位置推荐系统 10
[0051] 处理器 11、21
[0052] 位置获取单元 12
[0053] 电子地图单元 13、23
[0054] 计时单元 14
[0055] 通讯单元 15、25
[0056] 存储设备 26
[0057] 数据获取模块 100
[0058] 数据处理模块 101
[0059] 数据建模求解模块 102
[0060] 推荐位置分析模块 103
[0061 ]如下【具体实施方式】将结合上述附图进一步说明本发明。 【【具体实施方式】】
[0062]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清除、完 整地描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。
[0063] 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所 获得的所有其他实施例,都属于本发明保护的范围。
[0064] 请参考图1,是本发明提供的位置推荐方法较佳实施例的方法流程图。根据不同的 需求,该图所示流程图中步骤的执行顺序可以改变,某些步骤可以省略。
[0065]所述位置推荐方法包括:
[0066] S10,终端设备在得到用户允许的情况下,实时获取用户位置数据以及该位置的访 问时间数据,将获取的数据记录到一个用户轨迹记录集中,并将该用户轨迹记录集传送给 服务器。
[0067] 其中,所述终端设备可以是用户的手持式电子设备,如用户的智能手机,笔记本电 脑,智能式穿戴式设备等。
[0068] 所述智能式穿戴设备可以不依赖智能手机实现完整或者部分的功能。例如,所述 的智能式穿戴设备可以是智能手表或智能眼镜等。
[0069] 所述智能式穿戴设备也可以只专注于某一类应用功能,需要和其它设备,如智能 手机配合使用,以进行各种体征监测。例如,所述的智能式穿戴设备可以是智能手环、智能 首饰等。
[0070] 所述终端设备具有位置获取功能。所述终端设备首先需要检测用户是否允许获取 该用户的地理定位信息。获取地理定位信息可能侵犯用户的隐私,因此,除非用户同意,否 则所述终端设备的位置获取功能是不可用的。
[0071]终端设备可以在其用户界面上弹出一个对话框,表明是否允许获取用户的地理定 位信息。若用户选择允许获取地理定位信息,则所述终端设备的位置获取功能可用,否则, 若用户选择不允许获取地理定位信息,则所述终端设备的位置获取功能不可用。
[0072] 本发明的一个实施例中,所述位置获取功能可以基于GPS(Global Positioning System,全球定位系统)定位获取用户位置数据。所述基于GPS定位是通过测量出已知位置 的卫星到用户接收机(例如,用户的终端设备上安装的GPS模块)之间的距离,然后,综合多 颗卫星的数据计算出所述接收机的具体位置。
[0073] 本发明其他实施例中,所述位置获取功能也可以是基于通讯运营商的基站定位获 取用户位置数据。所述基站定位一般应用于手机用户,手机基站定位服务又叫做移动位置 服务(LBS,Location Based Service),是通过通讯运营商的网络(如GSM网,Global System for Mobile Communication)获取移动终端用户的手机SIM卡(Subscriber Identity Module,客户识别模块)的位置信息(如,经炜度坐标),在电子地图平台,如Google地图服 务,的支持下进行对接,并将所述位置信息显示到所述电子地图上面,从而达到定位的目 的。
[0074] 本发明其他实施例中,所述位置获取功能也可以是基于辅助全球卫星定位系统 (AGPS,ASsist edGPS)定位获取用户位置数据。所述AGPS定位是利用通讯基站信息来辅助 GPS模块进行手机定位,以在受遮盖的室内没有GPS信号的地方,利用基站定位来提供位置 信息,缩小定位盲区,减轻GPS模块对卫星的依赖度。
[0075] 此外,在本发明其他实施例中,所述位置获取功能也可以是利用Wi-Fi在小范围内 的定位方式或者其他任何已经在使用或者尚未开发使用的任何位置获取技术。
[0076]进一步地,所述终端设备同时具有计时功能,以记录用户在某个地理位置的访问 时间。
[0077]其中,所述数据记录包括所述用户位置数据,例如位置名称(例如天安门、故宫等) 以及经炜度信息等数据,以及该位置的访问时间数据。进一步地,在本发明的其他实施例 中,所述位置数据还可以包括位置所属类别(例如餐饮、旅游、住宿等)。
[0078] 所述数据记录可以显示在电子地图上,如Google地图、百度地图、高德地图等。如 图2所示,某一用户在2016年2月23日,从上午9点钟左右到下午2点钟左右的大概5个小时, 连续访问了前门、天安门、故宫博物院、景山公园等位置。
[0079] S11,所述服务器从所接收的所有用户轨迹记录集中获取一个地理属性范围内的 位置数据集合。
[0080]每一个终端设备在得到了用户的允许的情况下,在获取了该用户的位置数据后, 都会通过该终端设备的通讯单元将由所述位置数据组成的用户轨迹记录集传送给所述服 务器。因此,所述服务器可以获取多个用户的用户轨迹记录集。
[0081 ] 所述通讯单元可以是无线通讯模块,包括Wi-Fi模块,WiMax(World Interoperability for Microwave Access,即全球微波接入互操作性)模块,GSM(Global System for Mobile Communication,全球移动通信系统)模块,CDMA(Code Division Multiple Access,码分多址)包括CDMA2000,CDMA,CDMA2000 lx evdo,WCDMA,TD-SCDMA等 等),ITE(Long Term Evolution,长期演进),HiperLAN(high_performance radio local area network,高性能无线局域网)等等。
[0082] 在本实施例中,所述服务器对所有用户轨迹记录集中的位置数据记录,以一个相 同的地理属性,例如,以城市这个属性,对所有位置数据进行分类,并得到某一个城市,例如 某一用户A当前所在城市这个地理范围内的所有位置数据集合。
[0083] 应该了解,在收集位置数据时,所选取的地理范围的大小会影响数据规模和位置 推荐的准确度,本实施例以城市为单位进行位置数据收集。在本发明的其他实施例中,也可 以采用其他的地理属性,如以某一位置(如用户A当前所在位置)为中心,以500米、1000米或 者2000米等为活动半径的地理范围内。
[0084] S12,所述服务器根据所述位置数据集合提取出位置间转移关系数据,从而构成一 个由位置间转移关系数据组成的目标数据集合Ds。
[0085] 在本实施例中,上述获取的位置数据集合中包括用户访问位置数据(u,l,t),其 中,u代表用户,1代表位置,t代表访问时间。所述位置间转移关系数据为(u,l,i),其中,i是 转移位置,其代表用户从位置1转移到位置i,其中,位置i的选择原则为ti-tl〈T,即从位置1 到达位置i的时间小于预设时间T。
[0086] 本实施例中,从位置1到位置i的时间可以是利用电子地图的导航功能所计算出来 的时间。例如,现在的百度地图、高德地图、Google地图等都能够根据确定的起始地及目的 地计算从所述起始地到所述目的地的大概时间,包括步行时间、乘坐公共交通工具时间及 自驾时间等。
[0087] 根据不同的系统设置或者用户设置,所述预设时间T可以是步行时间、乘坐公共交 通工具时间或者自驾时间等。例如,用户可以通过该用户的终端设备提供的一个设置界面 设置预设时间T的个性化需求,如自驾一个小时之内、步行二十分钟之内、公共交通工具直 达且时间在半个小时之内、最多转车一次且时间在一个小时之内,等等。
[0088] 在其中一个示意性的例子中,根据所述用户轨迹记录集,用户A在11位置停留了tl 分钟,在12位置停留了t2分钟,在13位置停留了t3分钟,在14位置停留了tl分钟;用户B在11 位置停留了 t4分钟,在15位置停留了 t2分钟,在16位置停留了 t5分钟,在14位置停留了 t6分 钟;用户C在17位置停留了t7分钟,在12位置停留了t8分钟,在18位置停留了t9分钟,在19位 置停留了 tl分钟。
[0089] 因此,根据上述例子,所述用户访问位置数据包括(uA,ll,tl)、(uA,12,t2)、(uA, 13,t3)、(uA,14,tl)、(uB,ll,t4)、(uB,15,t2)、(uB,16,t5)、(uB,14,t6)、(uC,17,t7)、(uC, 12 48)、(11(:,18 49)、(11(:,19 41)。所提取出的位置间转移关系数据可以包括(1^,11,15)、 (uA,ll,16)、(uA,12,15)、(uA,12,14),等等。
[0090] S13,所述服务器采用统计推理方法,从所述目标数据集合Ds中计算出每一个位置 间转移关系数据的发生概率。
[0091] 在本实施例中,所述统计推理方法为最大似然估计思想,即最合理的推理是使已 有的位置间转移关系数据发生的可能性最大。其中,代表用户u从位置1转移到位置i的概率 值的概率函数为:
[0092] fui (i) = 〇 (<vu,viU>+〈vi,vii>)。
[0093] 其中:符号〈,>代表两向量内积;逻辑函数
-起归一化作用;向量vu代 表用户u的偏好向量,如用户u喜欢的位置类别;向量V1代表当前位置1的属性向量,如位置1 的位置名称、所属类别、经炜度等;向量vlu代表下一个位置i与用户u交互的属性向量,如用 户u对位置i的喜欢程度;以及向量vu代表下一个位置i与当前位置1交互的属性向量,如从 当前位置1转移到下一位置i的概率。
[0094] 所有可能的%、^、%11、%1可以组成一个参数矩阵0={1]丄1,1^,1^1}。
[0095] 其中:U代表由所有用户偏好向量vu组成的矩阵,L1代表由所有当前位置1的属性 向量vi组成的矩阵,Liu代表由所有下一个位置i与用户u交互的属性向量vi U组成的矩阵,以 及Lil代表由所有下一个位置i与当前位置1交互的属性向量Vll组成的矩阵。
[0096] 在本实施例中,对所述目标数据集合Ds做最大似然估计,得到优化函数:L( ? )= argmax n o (<vu, viu>+<vi, vu>) 〇
[0097] 进一步对上述优化函数进行计算求解,以不断更新其属性向量值vu,vi,Viii及vu, 使得函数L( ? )结果不断增大直至收敛,得到的收敛时的向量值vu,vi,viu及vug卩为最优结 果D
[0098]详细地,所述计算求解算法如下: 输入:所有位置转移关系数据(u ,1,i ); 输出:所有参数0 procedure Learn i ng(0) randomly initialize 0
[0099] repeat draw (Uj 1, i) uniformly from Ds for () d 和沒 + , V奴 > + < V;, vz7 >)) end for until convergence
[0100] return ? end procedure.
[0101] 在上述求解算法中,所有位置间转移关系数据(u,l,i)组成集合Ds作为算法输入, 其对应参数集合为? = {1]儿1,1^1!,1^1},当优化函数收敛时,参数集合亦是算法输出。过程 则是不断从集合Ds中随机选取一个(u,l,i)转移关系数据,并依据梯度上升思想对相应参
数做修改,既 直至函数收敛。 5
[0102] 利用每一个位置间转移关系数据(u,l,i)对应的参数0,以及上述的概率函数ful (i)=〇(〈vu,viU>+〈vi,vii>),可以计算出每一个位置间转移关系数据(u,l,i)的发生概率。
[0103] S14,所述服务器基于上述计算出来的转移关系数据(u,l,i)的发生概率以及用户 的当前位置,根据所述转移关系数据中的转移位置i,选择多个(例如前K个)推荐位置,并按 其发生概率从大到小进行排序后,发送给实时推荐引擎,由所述实时推荐引擎向终端设备 进行位置推荐。
[0104]至此,完成一次位置推荐过程。
[0105]上述图1详细介绍了本发明的位置推荐方法,下面结合第3~4图,分别对实现上述 位置推荐方法的硬件系统架构以及实现该位置推荐方法的软件系统的功能模块进行介绍。 [0106]应该了解,该实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
[0107] 如图3所示,为本发明实现所述位置推荐方法较佳实施例的硬件系统架构图。
[0108] 在本发明的其中一个较佳实施例中,所述位置推荐方法的实现由两大部分构成:
[0109] -、收集用户位置数据的一台或者多台终端设备1
[0110]其中,所述终端设备1可以是用户的手持式电子设备,如用户的智能手机,笔记本 电脑,智能式穿戴式设备等。 所述智能式穿戴设备可以不依赖智能手机实现完整或者部分的功能。例如,所述 智能式穿戴设备可以是智能手表或智能眼镜等。其他实施例中,所述智能式穿戴设备也可 以只专注于某一类应用功能,需要和其它设备,如智能手机配合使用,以进行各种体征监 测。例如,所述的智能式穿戴设备可以是智能手环、智能首饰等。
[0112] 所述终端设备1包括处理器11、位置获取单元12、电子地图单元13、计时单元14以 及通讯单元15。应该了解,所述终端设备1也可以包括其他硬件或者软件,例如,存储设备、 显示屏幕、摄像头等,而并不限制于上述列举的部件。
[0113] 在本发明的其中一个实施例中,所述位置获取单元12可以是GPS(Global Positioning System,全球定位系统)模块,其基于GPS系统定位获取用户位置数据。所述 GPS定位是测量出已知位置的卫星到用户接收机(如用户终端设备的GPS模块)之间的距离, 然后综合多颗卫星的数据计算出接收机的具体位置。
[0114] 在本发明的其他实施例中,所述位置获取单元12也可以是基站定位模块,其基于 通讯运营商的基站定位获取用户位置数据。所述基站定位是基于通讯运营商信号塔的定位 方式,通过信号塔获取到手机SIM(Subscriber Identity Module客户识别模块)卡的经炜 度信息,通过计算将该位置点通过与电子地图单元13,如Google地图服务,进行对接显示到 电子地图单元13上,达到定位的目的。
[0115] 在本发明的其他实施例中,所述位置获取单元12也可以是GPS模块与基站定位模 块的组合,其基于AGPSUssistedGPS:辅助全球卫星定位系统)定位获取用户位置数据。所 述AGPS利用通讯基站信息来辅助GPS模块进行手机定位,以在室内没有GPS信号的地方利用 基站定位来提供位置信息,缩小定位盲区。
[0116] 此外,在本发明的其他实施例中,所述位置获取单元12也可以是Wi-Fi模块,其利 用Wi-Fi实现在小范围内的定位。或者所述位置获取单元 12也可以是其他任何已经在使用 或者尚未开发使用的能够支持位置获取技术的任何模块,而不限于上述所列举的。
[0117] 所述电子地图单元13即数字地图,是利用计算机技术,以数字方式存储和查阅的 地图。电子地图储存资讯的方法,一般使用向量式图像储存,地图比例可放大、缩小或旋转 而不影响显示效果。
[0118]所述电子地图单元13结合卫星图片、地图,以及搜索技术可以获取全球地理信息。
[0119] 在本发明的其中一个实施例中,所述电子地图单元13可以是,但并不限制于, Google地图、百度地图、高德地图等。
[0120] 所述计时单元14用于记录用户在某个地理位置的访问时间。例如,图2所示,所述 计时单元14记录了某个用户于2016年2月23日,在前门、天安门、故宫博物院、景山公园等位 置,从上午9点钟左右到下午2点钟左右,连续访问了大概5个小时。
[0121] 所述通讯单元15可以是无线通讯模块,包括Wi-Fi模块,WiMax(World Interoperability for Microwave Access,即全球微波接入互操作性)模块,GSM(Global System for Mobile Communication,全球移动通信系统)模块,CDMA(Code Division Multiple Access,码分多址)包括CDMA2000,CDMA,CDMA2000 lx evdo,WCDMA,TD-SCDMA等 等),ITE(Long Term Evolution,长期演进),HiperLAN(high_performance radio local area network,高性能无线局域网)等等。
[0122] 所述通讯单元15可以用于终端设备1与其他设备,如其他终端设备1或者服务器之 间的信息交换。
[0123] 所述处理器11又称中央处理器(CI^tLCentral Processing Unit),是一块超大规 模的集成电路,是终端设备1的运算核心(Cor e)和控制核心(Con tro 1 Unit)。处理器11的功 能主要是解释程序指令以及处理软件中的数据。
[0124] 所述处理器11连接于所述位置获取单元12、电子地图单元13、计时单元14以及通 讯单元15,用于控制位置获取单元12获取用户的位置数据以及控制计时单元14记录用户在 某个地理位置的访问时间,将所述位置数据以及访问时间数据进行处理,如存储在用户轨 迹记录集,及/或显示在所述电子地图单元13上等等。
[0125] 在本实施例的其中一个应用实例中,当用户来到某个地方时,该用户随身携带的 终端设备1,如用户的手机,通过其位置获取单元12,得到用户当前所述的位置,将此时的经 度和维度保存起来。进一步地,还可以透过电子地图单元13获取所述位置的名称,如XX公 园,并得到该位置的所属类别,如属于景点,并将该些信息一并保存起来。进一步地,终端设 备1的计时单元14还会记录用户在该位置的访问时间(即停留时间)。其中,所述用户记为u, 所述位置记为1,以及所述时间记为t。
[0126] 所述终端设备1会将由用户访问位置数据(包括所述用户u,位置1,以及时间t)组 成的用户轨迹记录集传送至一服务端系统中,待该服务端系统进行数据处理,得到推荐位 置,并将所述推荐位置推送给所述终端设备1,供用户参考使用。
[0127] 二、数据处理的服务器2
[0128] 所述服务器2可以是云服务器。与所述终端设备1相似地,所述服务器2包括处理器 21、电子地图单元23以及通讯单元25。此外,所述服务器2还安装有位置推荐系统10。
[0129] 本实施例中,所述位置推荐系统10可以包括多个由程序段所组成的功能模块(详 见图4)。所述位置推荐系统10中的各个程序段的程序代码可以存储于服务器2的存储设备 26中,并由服务器2的处理器21所执行,以对所述终端设备1传送过来的用户轨迹记录集进 行数据处理,得到一个或者多个推荐位置,并将所述推荐位置推送给所述终端设备1,供用 户参考使用(详见图4中描述)。
[0130]参阅图4所示,为本发明位置推荐系统较佳实施例的功能模块图。本实施例中,所 述位置推荐系统10根据其所执行的功能,可以被划分为多个功能模块。本实施例中,所述功 能模块包括:数据获取模块100、数据处理模块101、数据建模求解模块102以及推荐位置分 析模块103。
[0131]所述数据获取模块100用于从各个终端设备1获取每个终端设备1所收集的用户轨 迹记录集。
[0132] 本实施例中,每一台终端设备1在得到用户允许的情况下,实时获取用户位置数据 以及该位置的访问时间数据,将获取的数据记录到一个用户轨迹记录集中,并将获取的数 据记录到一个用户轨迹记录集中。
[0133] 所述终端设备1首先要检测用户是否允许获取地理定位信息。获取地理定位信息 可能侵犯用户的隐私,因此除非用户同意,否则位置获取功能是不可用的。
[0134] 终端设备1可以在其用户界面上弹出一个对话框,表明是否允许获取用户的地理 定位信息。若用户选择允许获取地理定位信息,则所述终端设备1的位置获取功能可用,否 贝1J,若用户选择不允许获取地理定位信息,则所述终端设备1的位置获取功能不可用。
[0135] 其中,其中,所述数据记录包括所述用户位置数据,例如位置名称(例如天安门、故 宫等)以及经炜度信息等数据,以及该位置的访问时间数据。进一步地,本发明其他实施例 中,所述位置数据还可以包括位置所属类别(例如餐饮、旅游、住宿等)。
[0136] 所述数据记录可以显示在电子地图上,如Google地图、百度地图、高德地图等。如 图2所示,某个用户在2016年2月23日,从上午9点钟左右到下午2点钟左右的大概5个小时, 连续访问了前门、天安门、故宫博物院、景山公园等位置。
[0137] 所述数据处理模块101用于从所有用户轨迹记录集中获取一个地理属性范围内的 位置数据集合。
[0138] 每一个终端设备1在得到了用户的允许的情况下,在获取了该用户的位置数据后, 都会通过有线或者无线的方式将由所述位置数据组成的用户轨迹记录集传送给所述服务 器。因此,所述服务器可以获取多个用户的用户轨迹记录集。
[0139] 本实施例中,所述服务器对所有用户轨迹记录集中的位置数据记录,以一个相同 的地理属性,例如,以城市这个属性,对所有位置数据进行分类,得到某一个城市,例如某个 用户A当前所在城市这个地理范围内的所有位置数据集合。
[0140] 应该了解,在收集位置数据时,所选取的地理范围的大小会影响数据规模和位置 推荐的准确度,本实施例中以城市为单位进行位置数据收集。在本发明的其他实施例中,也 可以采用其他的地理属性,如以某个位置(如用户A当前所在位置)为中心,以500米、1000米 或者2000米等为活动半径的地理范围内。
[0141] 进一步地,所述数据处理模块101还用于根据所述位置数据集合提取出位置间转 移关系数据,从而构成一个由出位置间转移关系数据组成的目标数据集合Ds。
[0142] 本实施例中,上述获取的位置数据集合中包括用户访问位置数据(u,l,t),其中,u 代表用户,1代表位置,t代表访问时间。所述位置间转移关系数据为(u,l,i),其中,i是转移 位置,其代表用户从位置1转移到位置i,其中,位置i的选择原则为ti_tl〈T,即从位置1到达 位置i的时间小于预设时间T。
[0143] 本实施例中,从位置1到位置i的时间可以是利用电子地图的导航功能所计算出来 的时间。例如,现在的百度地图、高德地图、Google地图等都能够根据确定的起始地及目的 地计算从所述起始地到所述目的地的大概时间,包括步行时间、乘坐公共交通工具时间及 自驾时间等。
[0144] 根据不同的系统设置或者用户设置,所述预设时间T可以是步行时间、乘坐公共交 通工具时间或者自驾时间等。例如,用户可以通过该用户的终端设备提供的一个设置界面 设置预设时间T的个性化需求,如自驾一个小时之内、步行二十分钟之内、公共交通工具直 达且时间在半个小时之内、最多转车一次且时间在一个小时之内,等等。
[0145] 在其中一个示意性的例子中,根据所述用户轨迹记录集,用户A在11位置停留了tl 分钟,在12位置停留了t2分钟,在13位置停留了t3分钟,在14位置停留了tl分钟;用户B在11 位置停留了 t4分钟,在15位置停留了 t2分钟,在16位置停留了 t5分钟,在14位置停留了 t6分 钟;用户C在17位置停留了t7分钟,在12位置停留了t8分钟,在18位置停留了t9分钟,在19位 置停留了 tl分钟。
[0146] 因此,根据上述例子,所述用户访问位置数据包括(uA,ll,tl)、(uA,12,t2)、(uA, 13,t3)、(uA,14,tl)、(uB,ll,t4)、(uB,15,t2)、(uB,16,t5)、(uB,14,t6)、(uC,17,t7)、(uC, 12 48)、(11(:,18 49)、(11(:,19 41)。所提取出的位置间转移关系数据可以包括(1^,11,15)、 (uA,ll,16)、(uA,12,15)、(uA,12,14),等等。
[0147] 所述数据建模求解模块102用于采用统计推理方法,从所述目标数据集合Ds中计 算出每一个转移关系数据的发生概率。
[0148] 本实施例中,所述统计推理方法为最大似然估计思想,即最合理的推理是使已有 的位置间转移关系数据发生的可能性最大。其中,代表用户u从位置1转移到位置i的概率值 的概率函数为:
[0149] fui (i) = 〇 (<vu,viU>+〈vi,vii>) 〇
[0150] 其中:符号〈,>代表两向量内积;逻辑函数
-起归一化作用;向量Vu代 表用户u的偏好向量,如用户u喜欢的位置类别;向量V1代表当前位置1的属性向量,如位置1 的位置名称、所属类别、经炜度等;向量vlu代表下一个位置i与用户u交互的属性向量,如用 户u对位置i的喜欢程度;以及向量vu代表下一个位置i与当前位置1交互的属性向量,如从 当前位置1转移到下一位置i的概率。
[0151] 所有可能的%、^、%11、%1可以组成一个参数矩阵0={1]丄1,1^,1^1}。
[0152] 其中:U代表由所有用户偏好向量vu组成的矩阵,L1代表由所有当前位置1的属性 向量vi组成的矩阵,Liu代表由所有下一个位置i与用户u交互的属性向量vi U组成的矩阵,以 及Lil代表由所有下一个位置i与当前位置1交互的属性向量Vll组成的矩阵。
[0153] 本实施例中,对所述目标数据集合Ds做最大似然估计,得到优化函数:
[0154] L( ? ) =argmaxn〇(〈vu,viu>+〈vi,vii>) 0
[0155] 进一步对上述优化函数进行计算求解,以不断更新其属性向量值vu,vi,Viii及vu, 使得函数L( ? )结果不断增大直至收敛,得到的收敛时的向量值vu,vi,viu及vug卩为最优结 果。
[0156] 详细地,所述计算求解算法如下:
[0157] 输入:所有位置转移关系数据(U,1 , i ); 输出:所有参数? procedure Learning(0) randomly initialize ? repeat draw (u, 1, i) uniformly from Ds
[0158] for
end for until convergence return 0 end procetliire,
[0159] 在上述求解算法中,所有位置间转移关系数据(u,l,i)组成集合Ds作为算法输入, 其对应参数集合为? = {1]儿1,1^1!,1^1},当优化函数收敛时,参数集合亦是算法输出。过程 则是不断从集合Ds中随机选取一个(u,l,i)转移关系数据,并依据梯度上升思想对相应参
数做修改,既 直至函数收敛。 ,.
[0160] 利用每一个位置间转移关系数据(u,l,i)对应的参数0,以及上述的概率函数ful (i)=〇(〈vu,viU>+〈vi,vii>),可以计算出每一个位置间转移关系数据(u,l,i)的发生概率。
[0161] 所述推荐位置分析模块103用于基于上述计算出来的转移关系数据(u,l,i)的发 生概率以及用户的当前位置,根据所述转移关系数据中的转移位置i,选择前K个推荐位置, 并按其发生概率从大到小进行排序后,发送给所述服务器2中的实时推荐引擎,由所述实时 推荐引擎向终端设备1进行位置推荐。
[0162] 需要说明的是,上述描述的实施例采用的是服务器-客户端的模式对用户进行位 置推荐。即所述位置推荐系统安装于服务器中,由服务器执行数据处理与位置推荐的动作。
[0163] 该种模式的应用场景可以是利用服务器通过网络进行主动的位置推荐。只要用户 有联网,并开启了某个应用时,如开启了浏览器、团购网站等时,所述服务器就会执行位置 推荐操作。
[0164] 该种模式的另一个应用场景可以是利用目前流行的微信公众号的形式,当用户关 注了某个特定公众号,并在该公众号平台执行了刷新或者其他任何预先设定的动作时,所 述服务器就会执行位置推荐操作。在其他实施例中,用户也可以在所述公众号平台输入一 个特定关键字,如"餐饮",则所述服务器也可以从所分析出来的位置中筛选出具有该关键 字特性的前K个推荐位置进行推荐。
[0165] 应该了解,本发明所述应用场景不限于上述所列举的情况。本领域技术人员在了 解本发明方案的基础上,可以将本发明所述方案应用到任何适合的场景中。
[0166] 在本发明的其他实施例中,所述位置推荐系统10也可以安装于任何的终端设备 中,由终端设备对用户进行位置推荐。本实施例中,服务器可以定时或者实施将收集到的其 他用户的用户轨迹记录集发送给终端设备。当终端设备上的位置推荐系统10被开启后即可 实现位置推荐操作。此时,即使终端设备不能连上网络,也可以根据其之前从服务器中得到 的用户轨迹记录执行位置推荐操作。
[0167] 在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以 通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的 划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
[0168] 另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以 是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单 元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
[0169] 上述以软件功能模块的形式实现的集成的单元,可以存储在一个计算机可读取存 储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机 设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个 实施例所述方法的部分步骤。
[0170] 对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在 不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论 从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权 利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有 变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此 外,显然"包括"一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个 单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表 示名称,而并不表示任何特定的顺序。
[0171]最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照 较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的 技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
【主权项】
1. 一种位置推荐方法,其特征在于,该方法包括: 从一个或者多个用户轨迹记录中,获取一个地理属性范围内的位置数据集合; 根据所述位置数据集合提取出位置间转移关系数据,构成一个由位置间转移关系数据 组成的目标数据集合; 采用统计推理方法,从所述目标数据集合中计算出每一个位置间转移关系数据的发生 概率;及 基于所述转移关系数据的发生概率W及用户的当前位置,选择前K个推荐位置,并按推 荐位置的排序发送给实时推荐引擎。2. 如权利要求1所述的位置推荐方法,其特征在于,该方法进一步包括: 所述实时推荐引擎向终端设备发送位置推荐。3. 如权利要求1所述的位置推荐方法,其特征在于,所述用户轨迹记录包括实时获取的 用户位置数据W及该位置数据对应的访问时间数据。4. 如权利要求1所述的位置推荐方法,其特征在于,所述统计推理方法为最大似然估计 思想,用于推理出发生的可能性最大的位置间转移关系数据,其中: 代表用户U从位置1转移到位置i的概率值的概率函数为:ful(i) = 〇(<Vu,Viu> + <Vl,Vil>); 其中:符号 <,〉代表两向量内积;逻辑函数 臣归一化作用;向量Vu代表用 户U的偏好向量;向量代表当前位置1的属性向量;向量Viu代表下一个位置i与用户U交互 的属性向量;W及向量Vil代表下一个位置i与当前位置1交互的属性向量。5. 如权利要求4所述的位置推荐方法,其特征在于,所述统计推理方法包括: 将所有可能的Vu、vi、viu、vi組成一个参数矩阵0 =化山,Liu,Lii},其中,U代表由所有 用户偏好向量Vu组成的矩阵,Ll代表由所有当前位置1的属性向量组成的矩阵,Liu代表由 所有下一个位置i与用户U交互的属性向量vi。组成的矩阵,W及Lil代表由所有下一个位置i 与当前位置1交互的属性向量Vil组成的矩阵; 对所述目标数据集合化做最大似然估计,得到优化函数: 1(0)=日1'卵日义11〇(<乂11,¥111> + <¥1,¥11>);及 对上述优化函数进行计算求解,W不断更新其属性向量值Vu,yi,yi。及Vi 1,使得函数L (@ )结果不断增大直至收敛,得到的收敛时的向量值Vu,Vl,Vi^Vil。6. -种位置推荐系统,其特征在于,该系统包括: 数据处理模块,用于从一个或者多个用户轨迹记录中,获取一个地理属性范围内的位 置数据集合,并根据所述位置数据集合提取出位置间转移关系数据,构成一个由位置间转 移关系数据组成的目标数据集合; 数据建模求解模块,用于采用统计推理方法,从所述目标数据集合中计算出每一个位 置间转移关系数据的发生概率;及 推荐位置分析模块,用于基于所述转移关系数据的发生概率W及用户的当前位置,选 择前K个推荐位置,并按推荐位置的排序发送给实时推荐引擎。7. 如权利要求6所述的位置推荐系统,其特征在于,该系统进一步包括: 数据获取模块,用于从一个或者多个终端设备获取所述用户轨迹记录。8. 如权利要求7所述的位置推荐系统,其特征在于,所述用户轨迹记录包括实时获取的 用户位置数据W及该位置数据对应的访问时间数据。9. 如权利要求6所述的位置推荐系统,其特征在于,所述统计推理方法为最大似然估计 思想,用于推理出发生的可能性最大的位置间转移关系数据,其中: 代表用户U从位置1转移到位置i的概率值的概率函数为: ful(i) = 〇(<Vu,Viu> + <Vl,Vil>); 其中:符号 <,〉代表两向量内积;逻辑函I起归一化作用;向量Vu代表用 户U的偏好向量;向量Vl代表当前位置1的属性向量;向量Viu代表下一个位置i与用户U交互 的属性向量;W及向量Vil代表下一个位置i与当前位置1交互的属性向量。10. 如权利要求9所述的位置推荐系统,其特征在于,所述统计推理方法包括: 将所有可能的Vu、vi、viu、vi組成一个参数矩阵0 =化山,Liu,Lii},其中,U代表由所有 用户偏好向量Vu组成的矩阵,Ll代表由所有当前位置1的属性向量组成的矩阵,Liu代表由 所有下一个位置i与用户U交互的属性向量Viu组成的矩阵,W及Lil代表由所有下一个位置i 与当前位置1交互的属性向量Vil组成的矩阵; 对所述目标数据集合化做最大似然估计,得到优化函数: 1(0)=日1'卵日义11〇(<乂11,¥111> + <¥1,¥11>);及 对上述优化函数进行计算求解,W不断更新其属性向量值Vu,Vl,Viu及Vil,使得函数L (@ )结果不断增大直至收敛,得到的收敛时的向量值Vu,Vl,Vi^Vil。
【文档编号】G06F17/30GK105912702SQ201610266263
【公开日】2016年8月31日
【申请日】2016年4月26日
【发明人】姚伟, 曹奕松, 焦凯
【申请人】南京酷派软件技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1