会员体验
专利管家(专利管理)
工作空间(专利管理)
风险监控(情报监控)
数据分析(专利分析)
侵权分析(诉讼无效)
联系我们
交流群
官方交流:
QQ群: 891211   
微信请扫码    >>>
现在联系顾问~
首页 / 专利库 / 数学与统计 / 时空 / 一种基于时空约束的位置搜索与推荐方法

一种基于时空约束的位置搜索与推荐方法

阅读:905发布:2021-02-28

IPRDB可以提供一种基于时空约束的位置搜索与推荐方法专利检索,专利查询,专利分析的服务。并且本发明提供一种基于时空约束的位置搜索与推荐方法,包括:获取时间-空间耦合约束条件;计算位置和时间约束下的空间可达范围;在得到的空间可达范围内,搜索满足关键字的信息并返还给用户,结束此次流程。如果不成功,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索。优点为:本发明提供一种基于时空约束的位置搜索与推荐方法,利用用户输入的时间和空间位置约束来计算空间可达范围,从而利用该空间可达范围作为索引来精简搜索实体空间中目标项目,解决了与时空相关的查询中大量不必要的检索,提高检索效率。,下面是一种基于时空约束的位置搜索与推荐方法专利的具体信息内容。

1.一种基于时空约束的位置搜索与推荐方法,其特征在于,包括单人场景下的基于时空约束的位置搜索与推荐方法,以及多人场景下的基于时空约束的位置搜索与推荐方法;

其中,单人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1-步骤4:步骤1,获取时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度其中,单程出行时间tti是指行程单程上最长允许花费的时间;上标i代表任意用户i;

其中,目标活动为在搜索的目标位置进行的活动;预估参与目标活动的时间长度 是指:预计在该目标位置进行目标活动的时间长度;

所述时间-空间耦合约束条件包括以下四种时空约束情况:第一种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 存在约束;终止位置 存在约束;

其中,起始位置 是指:目标活动前出发位置;

起始时间 是指:从起始位置 出发的最早出发时刻;

终止位置 是指:目标活动后要到达的下一位置;

终止时间 是指:到达终止位置 的最晚到达时刻;

第二种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间的信息,未接收到用户输入的终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 存在约束;终止位置 不存在约束;

第三种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止位置的信息,未接收到用户输入的终止时间 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 存在约束;

第四种时空约束情况:获取起始时间 和起始位置 的信息,未接收到用户输入的终止时间 和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 不存在约束;

步骤2,计算位置和时间约束下的空间可达范围,包括:步骤2.1,在起始位置周围的空间中选取若干个采样点,设选取n个采样点,n个采样点集合为:{P1,P2,P3...Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3...n;

步骤2.2,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤

2.3;如果没有得到任何可行采样点,则执行步骤4;

步骤2.2.1,对于第一种时空约束情况:

(1)首先计算前序时间 和后序时间

其中:

前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为: 其中ETA(·)为任意可用的受出发时间和交通状况影响的预估到达时间算法,即根据起始位置 采样点位置Pj和起始时间 计算到达采样点位置Pj的时间;

后序时间 为从采样点Pj到终止位置 的路程在路网上考虑出发时间对应的交通状况下所用时间;其计算方式为: 即从采样点Pj出发,到时终止位置 时,考虑到出发时间为 时对交通状况影响的因素下,所需用的时间;

(2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;

约束条件1:

约束条件2:

约束条件3:

步骤2.2.2,对于第二种时空约束情况:

(1)首先计算前序时间 和后序时间

其中:

前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为:由于终止位置无约束,后序时间无法精确计算,因此假设后序时间 等于前序时间即:(2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;

约束条件1: 由于 因此,

约束条件2:

步骤2.2.3,对于第三种时空约束情况:

(1)首先计算前序时间 和后序时间

其中:

前序时间 计算方式为:

后序时间 计算方式为:

(2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;

约束条件1:

约束条件2:

步骤2.2.4,对于第四种时空约束情况:

(1)首先计算前序时间

其中:

前序时间 计算方式为:

(2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;

约束条件1:

步骤2.3,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;

然后执行步骤3;

步骤3,在步骤2得到的空间可达范围内,搜索满足关键字的信息并返还给用户,结束此次流程;

步骤4,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索;

多人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1A-步骤4:步骤1A,设共有V个用户需要联合参与位置搜索与推荐,分别为1,2...V;任意一个用户为i,获取每个用户i的时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度 其中,用户i的时间-空间耦合约束条件与单人场景下的时间-空间耦合约束条件相同;

步骤2A,计算位置和时间约束下的空间可达范围,包括:步骤2.1A,计算V个用户的可用时间交集w;

其中,V个用户的可用时间交集w包括以下两种情况:第一种交集情况:对于V个用户,每个用户均具有起始时间 的约束,至少一个用户具有终止时间 的约束,因此,可用时间交集w为双侧时间约束,即:w=[w0,w1],其中,起始约束时间w0为:V个用户中,起始时间 的最大值;终止约束时间w1为:V个用户中,对于不具有终止时间 约束的用户,其终止时间 为+∞,即正向无穷大,此时,终止约束时间w1为V个用户中,终止时间 的最小值;

第二种交集情况:对于V个用户,每个用户均具有起始时间 的约束,所有用户均不具有终止时间 的约束,因此,可用时间交集w为单侧时间约束,即:w=[w0,+∞],其中,起始约束时间w0为:V个用户中,起始时间 的最大值;

步骤2.2A,在起始位置周围的空间中选取若干个采样点,设选取n个采样点,n个采样点集合为:{P1,P2,P3...Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3...n;

步骤2.3A,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤

2.1D;如果没有得到任何可行采样点,则执行步骤4A;

多人时空约束条件1:对于V个用户1,2...V;采样点Pj与每一个用户i均采用步骤2.2的方法判断其是否为单人场景下的可行采样点,如果是,则满足多人时空约束条件1;否则,不满足多人时空约束条件1;

多人时空约束条件2:如果多人的可用时间交集w为双侧时间约束,则:其中: 代表起始时间 最晚的人所在的起始位置L0到采样点Pj的路程在路网上考虑最晚起始时间 对应的交通状况下所用时间;其中,起始时间 最晚的人所在的起始位置L0即为与w0相对应的位置L0;

1

代表采样点Pj到终止时间 最早的人所在的终止位置L的路程在路网上考虑出发时间对应的交通状况下所用时间;其中,终止时间 最早的人所在的终止位置L1即为与w1相对应的位置L1;

为:多人场景下的预估参与目标活动的时间长度;其中,在多人场景下,每个用户i输入的预估参与目标活动的时间长度 均相等,等于步骤2.4A,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;

然后执行步骤3A;

步骤3A,在步骤2A得到的空间可达范围内,搜索满足关键字的信息并返还给用户,并返回到达每个可行采样点Pj的最早时刻 结束此次流程;

步骤4A,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索。

2.根据权利要求1所述的一种基于时空约束的位置搜索与推荐方法,其特征在于,采用以下方法获取起始时间 和起始位置由用户直接输入或指定本次搜索所需要的起始时间 和起始位置 则以用户直接输入或指定的起始时间 和起始位置 作为获取到的起始时间 和起始位置如果用户没有直接输入、同时没有指定本次搜索所需要的起始时间 和起始位置则将当前时间作为起始时间 将当前用户所在位置作为起始位置

3.根据权利要求1所述的一种基于时空约束的位置搜索与推荐方法,其特征在于,步骤

4和步骤4A中,提示用户更换搜索条件后再进行重新搜索,具体包括以下情况:(1)如果用户本次输入的时空约束条件属于第一种时空约束情况,则提示用户更改起始时间 和/或终止时间(2)如果用户本次输入的时空约束条件属于第二种时空约束情况,则调大后序时间令 为大于前序时间 的时间;

(3)提示用户调整预估参与目标活动的时间长度

说明书全文

一种基于时空约束的位置搜索与推荐方法

技术领域

[0001] 本发明属于地图位置推荐与搜索服务技术领域,具体涉及一种基于时空约束的位置搜索与推荐方法。

背景技术

[0002] 随着移动互联网的迅猛发展,搜索与推荐服务正在逐渐渗透并影响着人们的日常生活,为人们消费、出行、社交、安全提供一定的便利。
[0003] 目前常用的搜索与推荐服务为“附近”和“搜周边”算法,其实现原理为:通过商户到用户当前所在位置的距离来筛选推荐内容,例如,用户在推荐APP中输入“餐厅”这一关键词,APP会以一定的排序规则将用户当前所在位置附近的餐厅推送出来。
[0004] 上述搜索与推荐服务主要存在以下问题:仅仅考虑了空间约束,考虑的约束条件过少,难以为用户提供精确的、多维度的、更符合用户需求的搜索与推荐服务。

发明内容

[0005] 针对现有技术存在的缺陷,本发明提供一种基于时空约束的位置搜索与推荐方法,可有效解决上述问题。
[0006] 本发明采用的技术方案如下:
[0007] 本发明提供一种基于时空约束的位置搜索与推荐方法,包括单人场景下的基于时空约束的位置搜索与推荐方法,以及多人场景下的基于时空约束的位置搜索与推荐方法;
[0008] 其中,单人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1-步骤4:
[0009] 步骤1,获取时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度 其中,单程出行时间tti是指行程单程上最长允许花费的时间;上标i代表任意用户i;其中,目标活动为在搜索的目标位置进行的活动;预估参与目标活动的时间长度是指:预计在该目标位置进行目标活动的时间长度;
[0010] 所述时间-空间耦合约束条件包括以下四种时空约束情况:
[0011] 第一种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间 和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间存在约束;终止位置 存在约束;
[0012] 其中,起始位置 是指:目标活动前出发位置;
[0013] 起始时间 是指:从起始位置 出发的最早出发时刻;
[0014] 终止位置 是指:目标活动后要到达的下一位置;
[0015] 终止时间 是指:到达终止位置 的最晚到达时刻;
[0016] 第二种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间 的信息,未接收到用户输入的终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 存在约束;终止位置 不存在约束;
[0017] 第三种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止位置 的信息,未接收到用户输入的终止时间 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 存在约束;
[0018] 第四种时空约束情况:获取起始时间 和起始位置 的信息,未接收到用户输入的终止时间 和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 不存在约束;
[0019] 步骤2,计算位置和时间约束下的空间可达范围,包括:
[0020] 步骤2.1,在起始位置周围的空间中选取若干个采样点,设选取n个采样点,n个采样点集合为:{P1,P2,P3…Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3…n;
[0021] 步骤2.2,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤2.3;如果没有得到任何可行采样点,则执行步骤4;
[0022] 步骤2.2.1,对于第一种时空约束情况:
[0023] (1)首先计算前序时间 和后序时间
[0024] 其中:
[0025] 前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为: 其中ETA(·)为任意可用的受出发时间和交通状况影响的预估到达时间算法,即根据起始位置 采样点位置Pj和起始时间 计算到达采样点位置Pj的时间;
[0026] 后序时间 为从采样点Pj到终止位置 的路程在路网上考虑出发时间对应的交通状况下所用时间;其计算方式为: 即从采样点Pj出发,到时终止位置 时,考虑到出发时间为 时对交通状况影响的因素下,所需用的时间;
[0027] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0028] 约束条件1:
[0029] 约束条件2:
[0030] 约束条件3:
[0031] 步骤2.2.2,对于第二种时空约束情况:
[0032] (1)首先计算前序时间 和后序时间
[0033] 其中:
[0034] 前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为:
[0035] 由于终止位置无约束,后序时间无法精确计算,因此假设后序时间 等于前序时间 即:
[0036] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0037] 约束条件1: 由于 因此,
[0038]
[0039] 约束条件2:
[0040] 步骤2.2.3,对于第三种时空约束情况:
[0041] (1)首先计算前序时间 和后序时间
[0042] 其中:
[0043] 前序时间 计算方式为:
[0044] 后序时间 计算方式为:
[0045] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0046] 约束条件1:
[0047] 约束条件2:
[0048] 步骤2.2.4,对于第四种时空约束情况:
[0049] (1)首先计算前序时间
[0050] 其中:
[0051] 前序时间 计算方式为:
[0052] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0053] 约束条件1:
[0054] 步骤2.3,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;然后执行步骤3;
[0055] 步骤3,在步骤2得到的空间可达范围内,搜索满足关键字的信息并返还给用户,结束此次流程;
[0056] 步骤4,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索;
[0057] 多人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1A-步骤4:
[0058] 步骤1A,设共有V个用户需要联合参与位置搜索与推荐,分别为1,2…V;任意一个用户为i,获取每个用户i的时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度 其中,用户i的时间-空间耦合约束条件与单人场景下的时间-空间耦合约束条件相同;
[0059] 步骤2A,计算位置和时间约束下的空间可达范围,包括:
[0060] 步骤2.1A,计算V个用户的可用时间交集w;
[0061] 其中,V个用户的可用时间交集w包括以下两种情况:
[0062] 第一种交集情况:对于V个用户,每个用户均具有起始时间 的约束,至少一个用户具有终止时间 的约束,因此,可用时间交集w为双侧时间约束,即:w=[w0,w1],其中,起0 1
始约束时间w为:V个用户中,起始时间 的最大值;终止约束时间w 为:V个用户中,对于不具有终止时间 约束的用户,其终止时间 为+∞,即正向无穷大,此时,终止约束时间w1为V个用户中,终止时间 的最小值;
[0063] 第二种交集情况:对于V个用户,每个用户均具有起始时间 的约束,所有用户均不具有终止时间 的约束,因此,可用时间交集w为单侧时间约束,即:w=[w0,+∞],其中,起始约束时间w0为:V个用户中,起始时间 的最大值;
[0064] 步骤2.2A,在起始位置周围的空间中选取若干个采样点,设选取n个采样点,n个采样点集合为:{P1,P2,P3…Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3…n;
[0065] 步骤2.3A,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤2.1D;如果没有得到任何可行采样点,则执行步骤4A;
[0066] 多人时空约束条件1:对于V个用户1,2…V;采样点Pj与每一个用户i均采用步骤2.2的方法判断其是否为单人场景下的可行采样点,如果是,则满足多人时空约束条件1;否则,不满足多人时空约束条件1;
[0067] 多人时空约束条件2:如果多人的可用时间交集w为双侧时间约束,则:
[0068] 其中: 代表起始时间 最晚的人所在的起始位置L0到采样点Pj的路程在路网上考虑最晚起始时间 对应的交通状况下所用时间;其中,起始时间 最晚的人所在的0 0 0
起始位置L即为与w相对应的位置L;
[0069] 代表采样点Pj到终止时间 最早的人所在的终止位置L1的路程在路网上考虑出发时间对应的交通状况下所用时间;其中,终止时间 最早的人所在的终止位置L1即为与w1相对应的位置L1;
[0070] 为:多人场景下的预估参与目标活动的时间长度;其中,在多人场景下,每个用户i输入的预估参与目标活动的时间长度 均相等,等于
[0071] 步骤2.4A,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;然后执行步骤3A;
[0072] 步骤3A,在步骤2A得到的空间可达范围内,搜索满足关键字的信息并返还给用户,并返回到达每个可行采样点Pj的最早时刻 结束此次流程;
[0073] 步骤4A,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索。
[0074] 优选的,采用以下方法获取起始时间 和起始位置
[0075] 由用户直接输入或指定本次搜索所需要的起始时间 和起始位置 则以用户直接输入或指定的起始时间 和起始位置 作为获取到的起始时间 和起始位置[0076] 如果用户没有直接输入、同时没有指定本次搜索所需要的起始时间 和起始位置则将当前时间作为起始时间 将当前用户所在位置作为起始位置
[0077] 优选的,步骤4和步骤4A中,提示用户更换搜索条件后再进行重新搜索,具体包括以下情况:
[0078] (1)如果用户本次输入的时空约束条件属于第一种时空约束情况,则提示用户更改起始时间 和/或终止时间
[0079] (2)如果用户本次输入的时空约束条件属于第二种时空约束情况,则调大后序时间 令 为大于前序时间 的时间;
[0080] (3)提示用户调整预估参与目标活动的时间长度
[0081] 本发明提供的一种基于时空约束的位置搜索与推荐方法具有以下优点:
[0082] 本发明提供一种基于时空约束的位置搜索与推荐方法,利用用户输入的时间和空间位置约束来计算空间可达范围,从而利用该空间可达范围作为索引来精简搜索实体空间中目标项目,解决了与时空相关的查询中大量不必要的检索,提高检索效率。

附图说明

[0083] 图1为本发明提供的基于时空约束的位置搜索与推荐方法的流程示意图;
[0084] 图2为本发明提供的多人场景下时间约束的10种类型示意图;
[0085] 图3为本发明提供的多人时空约束中的时间窗口交集示意图;
[0086] 图4为本发明提供的可达范围示意图在矢量数据结构上的结果示意图;
[0087] 图5为本发明提供的可达范围示意图在栅格数据结构上的结果示意图。

具体实施方式

[0088] 以下结合附图对本发明进行详细说明:
[0089] 目前利用机器学习和深度学习的推荐方法并没有以某人前后活动行程和时间规划为主导的搜索启发算法。在O2O领域,由于和真实物理世界有交互,地理位置和时间是两个重要元素。现有常用的“附近”和“搜周边”算法,只是简单通过商户到用户当前所在位置的距离来筛选推荐内容,而并没有做时间规划和可达范围计算。
[0090] 本发明为一种基于时空约束的位置搜索与推荐方法,其解决的技术问题是利用时间地理学理论框架实现一个在真实物理世界的时空约束下的启发式搜索方法,用以检索在此可行的出行范围内的相关资源,且只在此范围内对相关资源进一步进行排序和推荐,从而精准化搜索和推荐过程,以及减少不必要的搜索。
[0091] 本发明提供一种基于时空约束的位置搜索与推荐方法,其特点是利用用户输入的时间和空间位置约束来计算空间可达范围,从而利用该空间可达范围作为索引来精简搜索实体空间中目标项目的结果。
[0092] 用户端可以接纳单人或多人的时空约束输入。由于数学建模需要,方法根据不同情况分类讨论,其情况分为:单人场景下的基于时空约束的位置搜索与推荐方法,以及多人场景下的基于时空约束的位置搜索与推荐方法,这两者实现构思相同,但某些具体操作方法有不同,下面分别介绍:
[0093] (一)单人场景
[0094] 单人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1-步骤4:
[0095] 步骤1,获取时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度 其中,单程出行时间tti是指行程单程上最长允许花费的时间;上标i代表任意用户i;其中,目标活动为在搜索的目标位置进行的活动;预估参与目标活动的时间长度是指:预计在该目标位置进行目标活动的时间长度;
[0096] 所述时间-空间耦合约束条件包括以下四种时空约束情况:
[0097] 第一种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间 和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间存在约束;终止位置 存在约束;
[0098] 其中,起始位置 是指:目标活动前出发位置;
[0099] 起始时间 是指:从起始位置 出发的最早出发时刻;
[0100] 终止位置 是指:目标活动后要到达的下一位置;
[0101] 终止时间 是指:到达终止位置 的最晚到达时刻;
[0102] 为方便对上述各个名词的概念进行充分理解,下面介绍一种具体的应用场景:
[0103] 同学聚会场景1:假设当前时间为2018.01.10,小明需要在2018.01.20从位置A(例如家里)出发,最早出发时刻为8点钟,并且,需要在某时刻到达某个位置B(此时刻和位置为待求值)参加同学聚会,并且,在参加完同学聚会后,小明最晚在13点钟需要到达位置C参与一项培训活动。
[0104] 为满足小明的上述需求,需要规划确定同学聚会的聚会地点,即位置B。通过本发明的方法,可以在满足各项时空约束的条件下,规划出位置B的范围,并在规划出的范围中以餐厅为关键词进行搜索,并向用户推荐可选餐厅列表。
[0105] 在上面例子中:
[0106] 目标活动为:同学聚会;
[0107] 起始位置 为:位置A;
[0108] 起始时间 为:从位置A出发的最早出发时刻,即2018.01.20的8点钟;
[0109] 终止位置 为:位置C;
[0110] 终止时间 为:到达位置C的最晚到达时刻,即2018.01.20的13点钟;
[0111] 总出行时间tti为:终止时间 和起始时间 的时间差,即13-8=5小时;
[0112] 预估参与目标活动的时间长度 为:预估参加同学聚会的时间长度;
[0113] 单程出行时间tti为:从位置A到位置B的行程单程上最长允许花费的时间;以及,从位置B到位置C的行程单程上最长允许花费的时间;例如,单程出行时间为1小时,代表用户连续坐车的时间不能超过1小时,也就是说,位置A到位置B的路上时间不能超过1小时,同时,从位置B到位置C的路上时间不能超过1小时。
[0114] 具体实现上,采用以下方法获取起始时间 和起始位置
[0115] 由用户直接输入或指定本次搜索所需要的起始时间 和起始位置 则以用户直接输入或指定的起始时间 和起始位置 作为获取到的起始时间 和起始位置[0116] 如果用户没有直接输入、同时没有指定本次搜索所需要的起始时间 和起始位置则将当前时间作为起始时间 将当前用户所在位置作为起始位置
[0117] 对于上面的同学聚会场景1,如果当前时间为2018.01.10,而小明需要对将来的时间,即2018.01.20的活动进行规划,因此,需要由小明输入起始时间 和起始位置 而如果当前时间为2018.01.20的9点钟,小明当前所在位置为家里,此时,不需要小明再手动输入起始时间 和起始位置 系统直接定位到小明当前所在位置,并以定位到的位置作为起始位置 同时,系统直接以当前获取到的当前时间作为起始时间 此种方法简化了用户的输入操作,提高用户的使用体验。
[0118] 第二种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止时间 的信息,未接收到用户输入的终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 存在约束;终止位置 不存在约束;
[0119] 下面介绍此种时空约束下的一种具体使用场景:
[0120] 同学聚会场景2:假设当前时间为2018.01.10,小明需要在2018.01.20从位置A(例如家里)出发,最早出发时刻为8点钟,并且,需要某个时刻到达某个位置B(此时刻和位置为待求值)参加同学聚会,并且,在参加完同学聚会后,小明最晚在13点钟需要和英语语伴练习,但练习的地点不确定。
[0121] 第三种时空约束情况:获取起始时间 和起始位置 接收到用户输入的终止位置 的信息,未接收到用户输入的终止时间 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 存在约束;
[0122] 下面介绍此种时空约束下的一种具体使用场景:
[0123] 同学聚会场景3:假设当前时间为2018.01.10,小明需要在2018.01.20从位置A(例如家里)出发,最早出发时刻为8点钟,并且,需要在某时刻到达某个位置B(此时刻和位置为待求值)参加同学聚会,并且,在参加完同学聚会后,小明需要去位置C购物,但到达购物地点,即位置C的时间并不限制。
[0124] 第四种时空约束情况:获取起始时间 和起始位置 的信息,未接收到用户输入的终止时间 和终止位置 的信息,则:起始时间 存在约束;起始位置 存在约束;终止时间 不存在约束;终止位置 不存在约束;
[0125] 同学聚会场景4:假设当前时间为2018.01.10,小明需要在2018.01.20从位置A(例如家里)出发,最早出发时刻为8点钟,并且,需要在某时刻到达某个位置B(此位置为待求值)参加同学聚会,在参加完同学聚会后,小明对后续的行程时间和行程地点均没有限制。
[0126] 在理论上,单人输入的时间约束条件存在以下4种类型:
[0127]
[0128] 在实际操作中,因为起始时间无法早于当前时间,所以起始时间隐含也是存在约束的,因此,两侧无约束的情况可归纳到单侧约束-左侧情况。对于单侧约束-右侧的情况,也受到不能早于当前时间的约束,因此可以归纳到双侧约束的情况。由此可知,时间约束从实践上分为两类:1)起始时间有约束,终止时间无约束;2)起始时间和终止时间均有约束。
[0129] 对于起始位置和终止位置的约束,由于起始位置总是已知的,具体由用户操作时,起始位置可以是用户手动输入的,也可以是用户选择默认当前手机或网络所获取的位置、或是选择所存储的用户常用位置作为起始位置。对于终止位置,可能是已知或未知。综合起始、终止位置的时间、空间耦合约束,可能存在如下情况(表2):
[0130]
[0131] 由此可见,本发明中,起始位置和起始时间是必须确定的参数,不能为空。用户可能未明确指定起始位置或起始时间,则默认为当前手机定位的位置为起始位置,默认当前时间为起始时间;若用户指定起始位置和起始时间,则用用户输入的内容作为参数。
[0132] 终止位置和终止时间是可选给出的。当终止位置、终止时间没有被用户明确给出时,则认为没有约束。
[0133] 用户输入的可选时间窗口理论上可以是多个。鉴于多个时间窗口在数学上本质和单个时间窗口的算法没有大区别,本发明只讨论单个时间窗口的计算方法。
[0134] 步骤2,计算位置和时间约束下的空间可达范围
[0135] 此步骤为本发明的核心创新点,即设计一套可操作方案实现时间地理学方法论,用于建立启发式算法进行和空间相关的搜索,从而简化搜索过程提高计算效率。
[0136] 计算位置和时间约束下的空间可达范围包括:
[0137] 步骤2.1,在起始位置周围的空间中选取若干个采样点,采样点可以是将空间网格化之后每个网格单元的中心点或代表点,也可以是路网上的节点。
[0138] 采样范围可使用但不限于以起始位置、终止位置为焦点、市内汽车平均速度 与出发时间、最大出行时间2tti的乘积 作为半长轴长度的椭圆。
[0139] 设选取n个采样点,n个采样点集合为:{P1,P2,P3…Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3…n;
[0140] 搜索采样点的顺序有多种启发式算法。最基本的可以在空间中逐点搜索一一排查是否符合条件。也可以按照对每个用户而言由近及远的方法搜索采样点,当某个方向上搜到某采样点不再满足以下时空约束条件的时候,即终止该方向上的搜索。无论哪种具体方法,必须满足如下条件才能定义为可行采样点。
[0141] 步骤2.2,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤2.3;如果没有得到任何可行采样点,则执行步骤4;
[0142] 此处需要说明的是,在判断采样点Pj是否为可行采样点时,本发明给出的计算方法是最基本的方法,并不包含任何启发式算法。任何与其数学结果等价的启发式算法都可应用在此处。例如,可以是从当前位置沿不同方向向周围由近及远搜索采样点,当搜索到达某个采样点不再是可行采样点时,即停止该方向的搜索。
[0143] 步骤2.2.1,对于第一种时空约束情况:
[0144] (1)首先计算前序时间 和后序时间
[0145] 其中:
[0146] 前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为: 其中ETA(·)为任意可用的受出发时间和交通状况影响的预估到达时间算法,即根据起始位置 采样点位置Pj和起始时间 计算到达采样点位置Pj的时间;
[0147] 需要强调的是,由于前序时间和后序时间是受到交通状况影响的,因此受到出发时刻的影响,所以本发明在计算前序时间和后序时间时,考虑了出发时刻的交通影响,从而提高整个推荐过程的准确性和实用性。
[0148] 对于上面描述的同学聚会场景1,前序时间 即为:考虑2018.01.20的08点钟对交通状况的影响,从位置A到采样点Pj所用时间;
[0149] 后序时间 为从采样点Pj到终止位置 的路程在路网上考虑出发时间对应的交通状况下所用时间;其计算方式为: 即从采样点Pj出发,到时终止位置 时,考虑到出发时间为 时对交通状况影响的因素下,所需用的时间;
[0150] 对于上面描述的同学聚会场景1,后序时间 为:假设用户设定单程出行时间tti为1小时,则出发时间为 后序时间即为:考虑2018.01.20的12点钟对交通状况的影响,从采样点Pj到位置C所需用的时间。
[0151] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0152] 约束条件1: 即:前序时间加后序时间加活动时长之和小于最晚到达时刻与最早出发时刻的时间差;
[0153] 约束条件2:
[0154] 约束条件3:
[0155] 约束条件2和约束条件3的含义为:每段行程的出行时间分别满足单程出行的时间约束。
[0156] 步骤2.2.2,对于第二种时空约束情况:
[0157] (1)首先计算前序时间 和后序时间
[0158] 其中:
[0159] 前序时间 为从起始位置 到采样点Pj的路程在路网上考虑起始时间 对应的交通状况下所用时间;其计算方式为:
[0160] 假设后序时间 等于前序时间 即:
[0161] 当终止位置无约束而终止时间有约束时,无法计算后序时间 此时,一般情况下,考虑到人们在预算行程安排时不会有特别的偏差,后序时间不会与前序时间相差太多,并且,为估计可行解,假设后序时间 等于前序时间 即:
[0162] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0163] 约束条件1: 由于 因此,
[0164] 约束条件2:
[0165] 如果没有合适的返回结果,则需要在满足其他条件的基础上放松条件,例如,将后序时间 调整为:后序时间
[0166] 步骤2.2.3,对于第三种时空约束情况:
[0167] (1)首先计算前序时间 和后序时间
[0168] 其中:
[0169] 前序时间 计算方式为:
[0170] 后序时间 计算方式为:
[0171] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0172] 约束条件1:
[0173] 约束条件2:
[0174] 也就是说,当终止位置已知而终止时间无约束时,需要同时满足:从起始位置到采样点的出行时间比单程出行时间tti用时小,即 且从采样点到终止位置的用时小于单程出行时间tti,即
[0175] 步骤2.2.4,对于第四种时空约束情况:
[0176] (1)首先计算前序时间
[0177] 其中:
[0178] 前序时间 计算方式为:
[0179] (2)判断是否同时满足以下约束条件,如果满足,则采样点Pj为可行采样点;否则,采样点Pj为不可行采样点;
[0180] 约束条件1:
[0181] 也就是说,当终止位置的时间和空间均无约束时,确定起始时间后,只需要从起始位置到某个采样点的出行时间,即前序时间 比此次单程出行时间tti用时小,即[0182] 步骤2.3,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;然后执行步骤3;
[0183] 对所有采样点进行计算和评估,得到可行采样点集合,即为前后时间约束下的空间可达范围(如果计算在栅格上进行,可达范围即为所有可行采样点所在的格子,如图4;如果计算在矢量上进行,即采用所有采样点的最小外包多边形作为可达范围,如图5)。
[0184] 本发明中,根据可行采样点计算空间区域的方法包括但不限于外包矩形、外接圆、凸包等方法,通常要求点数>2才能得到,实际情况里也通常是这样;但如果只返回一个或两个可行采样点,则采用取采样点周围小范围邻域的方法得到可达范围。
[0185] 步骤3,在步骤2得到的空间可达范围内,搜索满足关键字的信息并返还给用户,并返回到达每个可行采样点Pj的最早时刻 结束此次流程;
[0186] 步骤4,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索。
[0187] (二)多人场景
[0188] 与单人场景不同之处在于,多人场景下的基于时空约束的位置搜索与推荐方法,需要协调多个人的时间交集,因此步骤略有不同。
[0189] 多人场景下的时间约束条件,是基于单人场景下的4种类型,可具体分为10种类型,如图2所示。其最终依然归纳到表2中的四种基本类型。
[0190] 多人场景下的基于时空约束的位置搜索与推荐方法,包括以下步骤1A-步骤4:
[0191] 步骤1A,设共有V个用户需要联合参与位置搜索与推荐,分别为1,2…V;任意一个用户为i,获取每个用户i的时间-空间耦合约束条件、总出行时间tti和预估参与目标活动的时间长度 其中,用户i的时间-空间耦合约束条件与单人场景下的时间-空间耦合约束条件相同;
[0192] 多人场景下的一个具体应用场景举例如下:
[0193] 假设共有三个人,分别为小王、小李和小赵,三人准备在2018.01.20的某时刻在某个位置D(此时刻和位置为待求值)进行同学聚会,其中:小王准备在2018.01.20从位置E1(例如家里)出发,最早出发时刻为8点钟,并且,在参加完同学聚会后,小王最晚在13点钟需要到达位置F1参与一项培训活动。小李准备在2018.01.20从位置E2(例如家里)出发,最早出发时刻为7点钟,并且,在参加完同学聚会后,没有其他行程安排。而小赵准备在2018.01.20从位置E3(例如家里)出发,最早出发时刻为7点半,并且,在参加完同学聚会后,小赵准备到达位置F2的图书馆看书,但对于到达位置F2的图书馆的到达时间没有要求。
[0194] 因此,本发明要解决的问题就是:如何确定一个可达范围,此可达范围可同时满足小王、小李和小赵三个人的时空约束;在确定可达范围后,以餐厅为关键字检索,得到可达范围内的多个餐厅,并按顺序排列后推荐给用户;同时推荐在每个餐厅见面的建议时间,即根据多个人约束计算的可到达该餐厅的最早时间。
[0195] 步骤2A,计算位置和时间约束下的空间可达范围,包括:
[0196] 步骤2.1A,计算V个用户的可用时间交集w;
[0197] 其中,V个用户的可用时间交集w包括以下两种情况:
[0198] 第一种交集情况:对于V个用户,每个用户均具有起始时间 的约束,至少一个用户具有终止时间 的约束,因此,可用时间交集w为双侧时间约束,即:w=[w0,w1],其中,起始约束时间w0为:V个用户中,起始时间 的最大值;终止约束时间w1为:V个用户中,对于不具有终止时间 约束的用户,其终止时间 即正向无穷大,此时,终止约束时间w1为V个用户中,终止时间 的最小值;
[0199] 第二种交集情况:对于V个用户,每个用户均具有起始时间 的约束,所有用户均不具有终止时间 的约束,因此,可用时间交集w为单侧时间约束,即:w=[w0,+∞],其中,起始约束时间w0为:V个用户中,起始时间 的最大值;
[0200] 在确定多个人的可用时间交集w时,根据V个用户的时间安排(此处只讨论每个人只有一个时间窗口),首先选出所有人可用的时间窗口作为活动时间选项。如图3所示,为多个人的可用时间交集w的计算原理图。多个人的可用时间交集w必须满足时间交集长度大于活动预估时长,即 根据表1所示以及图2所示多人情况下推出的时间约束情况,这个可用时间交集w理论上可能存在四种情况,而实际中,因为起始时间不能早于当前时间,因而可以归结为两种:同时具有起始时间和终止约束约束;只有起始时间约束,不具有终止时间约束。
[0201] 例如,在上述小王、小李、小赵三人情景下,V=3,小王的起始时间为8点,终止时间为13点,因此,其时间区间为[8,13]点,小李的起始时间为8点,对终止时间没有限制,因此,其时间区间为[7,+∞]点,小赵的起始时间为7:30,对终止时间没有限制,因此,其时间区间0 1
为[7:30,+∞]点,求交集得到w=[8,13],因此w=8,w=13。活动时长默认为1小时,时间交集长度为5小时,满足要求。
[0202] 步骤2.2A,在起始位置周围的空间中选取若干个采样点;采样点可以是将空间网格化之后每个网格单元的中心点或代表点,也可以是路网上的节点。
[0203] 设选取n个采样点,n个采样点集合为:{P1,P2,P3…Pn};其中,Pj为采样点集合中任意一个采样点;j=1,2,3…n;
[0204] 步骤2.3A,对于任意的采样点Pj,均采用以下方法确定其是否为可行采样点;如果最终得到若干个可行采样点,由所得到的所有可行采样点构成可行采样点集合;然后执行步骤2.1D;如果没有得到任何可行采样点,则执行步骤4A;
[0205] 多人时空约束条件1:对于V个用户1,2…V;采样点Pj与每一个用户i均采用步骤2.2的方法判断其是否为单人场景下的可行采样点,如果是,则满足多人时空约束条件1;否则,不满足多人时空约束条件1;
[0206] 多人时空约束条件2:如果多人的可用时间交集w为双侧时间约束,则:
[0207] 其中: 代表起始时间 最晚的人所在的起始位置L0到采样点Pj的路程在路网上考虑当前交通状况下所用时间;其中,起始时间 最晚的人所在的起始位置L0即为与w0相对应的位置L0;
[0208] 代表采样点Pj到终止时间 最早的人所在的终止位置L1的路程在路网上考虑当前交通状况下所用时间;其中,终止时间 最早的人所在的终止位置L1即为与w1相对应的位置L1;
[0209] 为:多人场景下的预估参与目标活动的时间长度;其中,在多人场景下,每个用户i输入的预估参与目标活动的时间长度 均相等,等于
[0210] 具体的,当多个人的时间约束的交集w为起始和终止时间双侧约束时(即部分人有终止时间约束),需满足如下更强的约束条件:即,最晚可以出发的人所在的起始位置(即与w0相对应的位置L0)到采样点的出行时间 与采样点到最早需要参与下一活动的人的终止位置(即与w1相对应的位置L1)的出行时间 之和加上活动预估时长 应小于多人可用的时间交集w的长度,即
[0211] 满足此条件保证了最晚可以出发的人能到达的地点,也可以满足最早需要赶下一个地点的人的出行需求。由表2所示,可能存在相应的终止位置L1未被用户指定的情况(即*最早参与下一活动的人i没有指定其下一活动位置 ),这时的约束为较弱的约束,可以设此时L1为相应用户i*的起始位置用来估算,即
[0212] 以两个人为例具体来说,假设有a和b两个人,a的出行安排按照起始位置、起始时间、终止位置、终止时间可以表示成一个四元组 b的安排相应可以表示为可能出现如下两种情况:
[0213] 如果a的起始时间和终止时间的约束都更强于b,即: 且 那么最终确定地点主要受制于a,w0和w1为对应a的起始时间和终止时间。在计算时,只需要计算a和b每个人单独的约束条件即可。如果w1对应的a的终止位置没有确定(未给出L1),那么根据上述规则,令
[0214] 如果a的起始时间约束更强,b的终止时间约束更强,即: 且 则有 对应 约束条件不再仅受一个人的约束条件控
制。此时的可行解不仅需要满足a和b每个人单独的约束条件,还需要满足联合约束条件:对于每个被检查的采样点Pj而言, 如果b没有指定
则令 替换上一不等式得到
[0215] 步骤2.4A,在得到可行采样点集合后,可行采样点集合围成的区域形成空间可达范围;然后执行步骤3A;
[0216] 对所有采样点进行以上的计算和评估,得到可行采样点集合,即为前后时间约束下的空间可达范围(如果计算在栅格上进行,可达范围即为所有可行采样点所在的格子,如图4;如果计算在矢量上进行,即采用所有采样点的最小外包多边形作为可达范围,如图5)。
[0217] 步骤3A,在步骤2A得到的空间可达范围内,搜索满足关键字的信息并返还给用户,同时计算对于同一组的所有参与者而言,到达每个可行的推荐位置的最早时刻,并返还给用户,结束此次流程;
[0218] 具体的,在上一步得到的空间可达范围内,对目标地点进行关键字匹配,对于每个目标地点,按照匹配到的关键字数目进行加权排序,并将匹配排序结果返回给用户,作为算法的位置推荐结果;
[0219] 对每个可行的位置,计算V个用户都能到达该位置的最早时间作为此位置的见面时间推荐结果;在前述情景中,小王8点出发,假设需要0.5小时到某个可行的推荐地点Pj,小李7点出发需要1小时,小赵7点半出发需要45分钟,那么对于三人而言,可以到达该推荐地点的最早时刻为8点半,此时刻作为与Pj相应的推荐时刻,并返还给用户。
[0220] 步骤4A,向用户返回搜索不成功的通知消息,并提示用户更换搜索条件后再进行重新搜索。
[0221] 无论单人场景或多人场景,当本次搜索不成功后,需要提示用户更换搜索条件后再进行重新搜索,具体包括以下情况:
[0222] (1)如果用户本次输入的时空约束条件属于第一种时空约束情况,则提示用户更改起始时间 和/或终止时间
[0223] (2)如果用户本次输入的时空约束条件属于第二种时空约束情况,则调大后序时间 令 为大于前序时间 的时间;
[0224] (3)提示用户调整预估参与目标活动的时间长度
[0225] 在技术上,本发明解决了与时空相关的查询中大量不必要的检索。“不必要”是指在现实的物理生活空间里,受物理定律约束和人的心理承受能力约束,不可达的范围。通过建立由用户输入的空间索引而快速将选项收敛至实际空间可行范围。
[0226] 从社会生活来看,此技术方法在日常生活的O2O线下推荐中非常必要,可以节约查询和选择时间。多人聚会是日常生活中常见的活动,参加聚会的人员通常分布于城市的不同地方,在确定聚会地点的过程中需要协调每个人在聚会前和聚会后的行程和时间安排,这些约束使得确定聚会地点需要耗费组织者的大量精力。本发明提供的一种基于时空约束的位置搜索与推荐方法,可以综合协调每个人的时间和行程安排,自动推荐合适的聚会地点,从而为大众的日常生活提供便利。同时可节省聚会参与者在聚会决策、参加聚会上的时间消耗,并能在一定程度上缓解城市的交通压力。
[0227] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
高效检索全球专利

IPRDB是专利检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,专利查询、专利分析

电话:13651749426

侵权分析

IPRDB的侵权分析产品是IPRDB结合多位一线专利维权律师和专利侵权分析师的智慧,开发出来的一款特色产品,也是市面上唯一一款帮助企业研发人员、科研工作者、专利律师、专利分析师快速定位侵权分析的产品,极大的减少了用户重复工作量,提升工作效率,降低无效或侵权分析的准入门槛。

立即试用