一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种位置预测方法、装置、设备及计算机可读存储介质与流程

2022-12-09 22:45:57 来源:中国专利 TAG:


1.本技术涉及数据挖掘领域,涉及但不限于一种位置预测方法、装置、设备及计算机可读存储介质。


背景技术:

2.近些年来,随着移动设备、通信技术的不断发展以及大规模使用,移动设备产生的时空数据发生了爆发式增长,与此同时,各类导航、社交等软件应运而生,使得时空数据中包括众多关于用户或者移动设备的位置信息。基于此,为了提供更多的便民服务,例如兴趣推荐、出行规划、设备追寻等等,基于位置信息预测下一时刻用户或者移动设备的位置显得尤为重要。
3.考虑到信号、移动设备、服务器等存在故障的问题,随之,缺少位置信息的情况时有发生,便导致位置信息缺乏完整性,那么,在基于缺乏完整性的位置信息进行位置预测时,深度循环神经网络、马尔可夫模型、户群体社会关系模体等相关技术会使得位置预测更加复杂、耗时,同时也使得位置预测结果不够精确,从而降低位置预测效率,并影响后续基于预测位置的下一步决策。


技术实现要素:

4.有鉴于此,本技术实施例提供一种位置预测方法、装置、设备及计算机可读存储介质。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种位置预测方法,包括:
7.获取待预测对象在预设时长内的元数据,并基于所述元数据确定所述待预测对象的位置数据信息,所述位置数据信息至少包括待预测对象在当前时间节点的当前位置数据信息;
8.获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息;所述预测模型至少用于预测所述待预测对象的位置信息;
9.基于所述当前时间节点和预设时间间隔确定预测时间节点;
10.将所述当前位置数据信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
11.本技术实施例提供一种位置预测装置,所述装置包括:
12.第一获取模块,用于获取待预测对象在预设时长内的元数据,并基于所述元数据确定所述待预测对象的位置数据信息,所述位置数据信息至少包括待预测对象在当前时间节点的当前位置数据信息;
13.第二获取模块,用于获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息;所述预测模型至少用于预测所述待预测对象的位置信息;
14.确定模块,用于基于所述当前时间节点和预设时间间隔确定预测时间节点;
15.输入模块,用于将所述当前位置数据信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
16.本技术实施例提供一种位置预测设备,所述位置预测设备包括:
17.处理器;以及
18.存储器,用于存储可在所述处理器上运行的计算机程序;
19.其中,所述计算机程序被处理器执行时实现上述位置预测方法。
20.本技术实施例提供一种计算机可读存储介质,所述计算机存储介质中存储有计算机可执行指令,该计算机可执行指令配置为执行上述位置预测方法。
21.本技术实施例提供一种位置预测方法、装置、设备及计算机可读存储介质,获取待预测对象在预设时长内的元数据,并基于元数据确定待预测对象的位置数据信息,其中,位置数据信息至少包括待预测对象在当前时间节点的当前位置数据信息;然后,获取预测模型在上一时间节点针对预测对象的第一历史输出信息,其中,预测模型至少用于预测待预测对象的位置信息,该第一历史输出信息包括待预测对象在之前时间节点的相关位置数据信息;接着,基于当前时间节点和预设时间间隔确定预测时间节点;最后将当前位置数据信息、第一历史输出信息和预测时间节点输入至预测模型,从而得到待预测对象在预测时间节点的目标位置信息。这样,通过获取待预测对象的当前位置数据信息和上一时间节点的第一历史输出信息,丰富预测模型的输入信息,接着,将当前位置数据信息、第一历史输出信息以及预测时间节点输入预测模型,便充分利用已有信息,从而能够快速得到待预测对象在预测时间节点的目标位置信息,且该目标位置信息的精确度较高,到达快速地获得精确度较高的目标位置信息的目的,最终提升位置预测效率,有利于基于预测位置进行下一步决策,并能够提供更多的便民服务。
附图说明
22.在附图(其不一定是按比例绘制的)中,相似的附图标记可在不同的视图中描述相似的部件。附图以示例而非限制的方式大体示出了本文中所讨论的各个实施例。
23.图1为本技术实施例提供的位置预测方法的一种实现流程示意图;
24.图2为本技术实施例提供的位置预测方法的另一种实现流程示意图;
25.图3为本技术实施例提供的确定相似对象方法的一种实现流程示意图;
26.图4为本技术实施例提供的确定元数据之间相似度值方法的一种实现流程示意图;
27.图5为本技术实施例提供的位置预测方法的再一种实现流程示意图;
28.图6为本技术实施例提供的元数据传输的一种示意图;
29.图7为本技术实施例提供的数据挖掘和聚类处理方法的一种实现流程示意图;
30.图8为本技术实施例提供的确定用户相似度方法的一种实现流程示意图;
31.图9为本技术实施例提供的预测模块组成结构示意图;
32.图10为本技术实施例提供的预测模块工作原理示意图;
33.图11为本技术实施例提供的数据预处理方法的一种实现流程示意图;
34.图12为本技术实施例提供的位置预测装置的组成结构示意图;
35.图13为本技术实施例提供的位置预测设备的组成结构示意图。
具体实施方式
36.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
37.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
38.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
39.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
40.基于相关技术所存在的问题,本技术实施例提供一种位置预测方法,本技术实施例提供的方法可以通过计算机程序来实现,该计算机程序在执行的时候,完成本技术实施例提供的位置预测方法中各个步骤。在一些实施例中,该计算机程序可以在位置预测设备中的处理器执行。图1为本技术实施例提供的位置预测方法的一种实现流程示意图,如图1所示,所述方法包括:
41.步骤s101,获取待预测对象在预设时长内的元数据,并基于所述元数据确定所述待预测对象的位置数据信息。
42.这里,位置预测设备可周期性或者实时从服务器中获取待预测对象在预设时长内的元数据,当然,位置预测设备也可基于获取指令从服务器中获取待预测对象在预设时长内的元数据。该服务器可以为主用服务器,也可以为备用服务器,还可以为物理服务器或者虚拟服务器,本技术实施例仅仅为示例性说明,而并不做限定。元数据,又称中介数据、中继数据,为描述数据的数据,主要描述数据属性的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。元数据是关于数据的组织、数据域及其关系的信息。
43.所述位置数据信息至少包括待预测对象在当前时间节点的当前位置数据信息。其中,待预测对象可以为位置预测设备本身,还可以为使用该位置预测设备的用户。预设时长可以为最近12个月、8个月、6个月等等,该预设时长可以为默认值,也可以为自定义设置的值。当前时间节点用于表征当前时间,该当前时间节点可以为精确至秒的时间节点,例如:a年b月c日d时e分f秒;也可以为精确至时的时间节点,例如:a年b月c日d时;当然还可以为精确至日的时间节点,本技术实施例仅仅为示例性说明,对此并不做限定。
44.在本技术实施例中,可对元数据进行预处理,从而获得位置信息、语义信息以及时间信息,并将位置信息、语义信息以及时间信息确定为位置数据信息。其中,位置信息包括位置标识(identity document,id)、位置描述信息等信息,语义信息包括语义id、语义描述信息等信息,时间信息包括时间点、时间间隔等信息。这里,在执行预处理时,可通过不同信息的标识或者信息本身的内容来分辨出不同的信息,基于此,便可从元数据中获得位置信息、语义信息以及时间信息,也即,从元数据中获得位置数据信息。
45.步骤s102,获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息。
46.这里,所述预测模型至少用于预测所述待预测对象的位置信息。其中,该预测模型包含两个门控循环单元(gate recurrent unit,gru),其中,上一时间节点是指该预测模型在上一次预测时的时间节点,第一历史输出信息至少包括位置信息,还可以包括语义信息、时间信息等,从而能够反映出待预测对象在历史预测时间点的位置相关信息。此外,基于gru的循环原理,该第一历史输出信息包含之前节点的位置语义相关信息。
47.步骤s103,基于所述当前时间节点和预设时间间隔确定预测时间节点。
48.这里,预设时间间隔可以为3小时、6小时、12小时等等,该预设时间间隔可以为默认值,也可以为自定义的设置值。
49.在本技术实施例中,可以在当前时间节点的基础上累加预设时间间隔,获得累加结果,再将该累加结果作为预测时间节点。
50.步骤s104,将所述当前位置数据信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
51.在本技术实施例中,预测模型包括三个输入,这三个输入分别为步骤s101中的当前位置数据信息、步骤s102中的第一历史输出信息以及步骤s103的预测时间节点,基于此,将当前位置数据信息、预测时间节点输入至一个门控循环单元,将第一历史输出信息输入至另一个门控循环单元,然后基于神经网络进行训练、预测,从而获得预测结果,也即,预测模型能够输出待预测对象在预测时间节点的目标位置信息。
52.其中,在预测模型基于这三个输入进行预测时,还可以先确定出当前位置数据信息对应的第一权重因子、第一历史输出信息对应的第二权重因子、预测时间节点对应的第三权重因子,且这三个权重因子之和为1;然后再基于这三个权重因子、当前位置数据信息、第一历史输出信息和预测时间节点,预测出待预测对象在预测时间节点的目标位置信息。在确定三个权重因子时,可以通过预设矩阵、当前位置数据信息、第一历史输出信息和预测时间节点来确定权重因子,该预设矩阵能够调节元数据处于不同稀疏情况下的权重因子。从而在进行预测时能够充分考虑到元数据为稀疏数据的情况,从而提高稀疏数据情况下位置预测的精确度。
53.举例来说,在元数据不为稀疏数据时,在进行预测时,当前位置数据信息和第一历史输出信息均具备较高的参考意义,那么,可将第一权重因子和第二权重因子设置为相近似或者差值较小的值,此时,将当前位置数据信息对应的第一权重因子设置为0.4,将第一历史输出信息对应的第二权重因子设置为0.3,将预测时间节点对应的第三权重因子设置为0.3;在元数据为稀疏数据时,在进行预测时,则表明在上一时间节点进行预测时,输入数据并不完整,那么所得第一历史输出信息的精确度并不是很高,基于此,当前位置数据信息的参考意义高于第一历史输出信息的参考意义,那么,第一权重因子大于第二权重因子,且第一权重因子和第二权重因子的差值较大,此时,将当前位置数据信息对应的第一权重因子设置为0.5,将第一历史输出信息对应的第二权重因子设置为0.2,将预测时间节点对应的第三权重因子设置为0.3。
54.本技术实施例提供一种位置预测方法,获取待预测对象在预设时长内的元数据,并基于元数据确定待预测对象的位置数据信息,其中,位置数据信息至少包括待预测对象
在当前时间节点的当前位置数据信息;然后,获取预测模型在上一时间节点针对预测对象的第一历史输出信息,其中,预测模型至少用于预测待预测对象的位置信息,该第一历史输出信息包括待预测对象在之前时间节点的相关位置数据信息;接着,基于当前时间节点和预设时间间隔确定预测时间节点;最后将当前位置数据信息、第一历史输出信息和预测时间节点输入至预测模型,从而得到待预测对象在预测时间节点的目标位置信息。这样,通过获取待预测对象的当前位置数据信息和上一时间节点第一历史输出信息,丰富预测模型的输入信息,接着,将当前位置数据信息、第一历史输出信息以及预测时间节点输入预测模型,其中,将当前位置数据信息和预测时间节点输入至一个门控循环单元,将第一历史输出信息输入至另一个门控循环单元,再通过训练、预测获得预测结果,便充分利用已有信息,从而能够快速得到待预测对象在预测时间节点的目标位置信息,且该目标位置信息的精确度较高,到达快速地获得精确度较高的目标位置信息的目的,最终提升位置预测效率,有利于基于预测位置进行下一步决策,并能够提供更多的便民服务。
55.基于上述实施例,本技术再提供一种位置预测方法,如图2所示,在执行步骤s102之前,所述方法还可以执行以下步骤s201至步骤s208:
56.步骤s201,基于所述多个时间间隔,确定所述元数据是否满足数据稀疏条件。
57.这里,所述位置数据信息还包括多个时间间隔,该时间间隔是指不同元数据获取时刻之间的间隔。
58.在实现步骤s201时,可以是确定所述多个时间间隔中是否存在大于间隔阈值的目标时间间隔。
59.这里,可直接从位置数据信息中获取多个时间间隔。间隔阈值可以为1周、2周、1个月等等,该间隔阈值可以为默认值,也可以为自定义设置的值。当多个时间间隔中存在大于间隔阈值的目标时间间隔时,确定元数据满足稀疏条件,则进入步骤s203。当多个时间间隔中不存在大于间隔阈值的目标时间间隔时,表明每个时间间隔均小于或者等于间隔阈值,那么,确定元数据不满足稀疏条件,则执行步骤s202。
60.步骤s202,获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息。
61.这里,步骤s202的实现过程可参考上述步骤s102的实现过程。
62.步骤s203,获取除元数据之外的其他元数据集合。
63.这里,所述其他元数据集合包括除待预测对象之外的其他对象的其他元数据。元数据还可以包括用户信息,那么,位置预测设备还可以基于用户信息从服务器中获取除待预测对象之外的其他对象的其他元数据,由于服务器中包含多个其他对象,那么,获取到的则为多个其他对象对应的其他元数据集合。
64.步骤s204,基于所述元数据和所述其他元数据集合,确定所述其他对象中是否存在与所述待预测对象满足相似条件的相似对象。
65.在实现步骤s204时,可先基于其他元数据集合中的各个其他元数据,确定各个其他元数据的位置信息和语义信息,再进行挖掘聚类处理,获得各个其他元数据的位置语义聚类集;然后,合成位置信息和语义信息,获得待预测对象的位置语义信息;接着,基于位置语义聚类集和位置语义信息确定最长位置语义公共序列,并基于该最长位置语义公共序列确定元数据和各个其他元数据之间的各个相似度;进一步地,确定出最高相似度值,当该最
高相似度值大于或者等于相似度阈值时,表明存在与待预测对象满足相似条件的相似对象,则进入步骤s205;当该最高相似度值小于相似度阈值时,表明不存在与待预测对象满足相似条件的相似对象,则进入步骤s207。
66.步骤s205,获取所述预测模型在上一时间节点针对所述相似对象的第二历史输出信息。
67.这里,所述预测模型还用于预测所述相似对象的位置信息。其中,相似对象的其他元数据不为稀疏数据,也即,相似对象对应的其他元数据为完整数据,那么,基于相似对象的完整其他元数据和预测模型,能够获得在上一时间节点预测的精确度较高的第二历史输出信息。
68.步骤s206,将所述当前位置数据信息、第二历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
69.步骤s206的实现步骤可参考步骤s104的实现步骤,其中,步骤s206与步骤s104不同的是,用相似对象对应的第二历史输出信息替换步骤s104中的第一历史输出信息作为输入信息。
70.步骤s207,从所述当前位置数据信息中提取所述当前位置信息和所述当前语义信息。
71.这里,与位置数据信息相类似,当前位置数据信息包括当前位置信息和当前语义信息,其中,当前位置信息包括当前位置id、位置描述信息等信息,语义信息包括语义id、语义描述信息等信息,可基于不同信息的标识提取出当前位置信息和当前语义信息。
72.步骤s208,将所述当前位置信息、当前语义信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
73.这里,当前位置信息和当前语义信息能够表征待预测对象在当前时间节点的位置相关信息,此时待预测对象并不存在相似对象,那么,则直接将自身的相关信息输入至预测模型,经预测模型预测后,可获得待预测对象在预测时间节点的目标位置信息。
74.在本技术实施例中,通过步骤s201至步骤s208,先基于时间间隔确定元数据是否满足稀疏条件,如果元数据不满足稀疏条件,元数据不为稀疏数据,则获取预测模型在上一时间节点针对待预测对象的第一历史输出信息。而如果元数据满足稀疏条件时,元数据为稀疏数据,则基于最长位置语义公共序列确定相似度阈值,当最高相似度阈值大于或者等于相似度阈值时,能够确定相似对象,进一步地,获取预测模型在上一时间节点针对相似对象的第二历史输出信息,然后将待预测对象的当前位置数据信息、第二历史输出参数以及预测时间节点输入至预测模型,从而获得待预测对象在预测时间节点精确度较高的目标位置信息;而当最高相似度阈值小于相似度阈值时,便不能够确定相似对象,进一步地,从当前位置数据信息中提取当前位置信息和当前语义信息,将当前位置信息、当前语义信息、第一历史输出信息和预测时间节点输入至预测模型,从而同样得到待预测对象在预测时间节点较为精确的目标位置信息。从而能够快速得到待预测对象在预测时间节点的目标位置信息,且该目标位置信息的精确度较高,到达快速地获得精确度较高的目标位置信息的目的,最终提升位置预测效率。
75.在一些实施例中,在实现步骤s204时,如图3所示,可通过以下步骤s2041至步骤s2047来实现:
76.步骤s2041,基于所述其他元数据集合中的各个其他元数据,确定各个其他元数据的位置信息和语义信息。
77.这里,其他元数据中还包括位置信息、语义信息和时间信息,其中,位置信息包括位置id、位置描述信息等信息,其中,位置id可以为该位置的经纬度坐标,例如位置id可以为(x,y);位置描述信息可以为该位置的名称、性质等属性信息,例如位置描述信息可以为a大厦、写字楼、公司、商场等等。语义信息包括语义id、语义描述信息等信息,其中,语义id可以为预设的编码,例如语义id可以为0123;语义描述可以为在对应位置所处状态的描述,例如语义描述信息可以为上班、培训、娱乐、出差等等。那么,可基于不同的id从各个其他元数据中确定各个其他元数据的位置信息和语义信息。
78.步骤s2042,对所述各个其他元数据的位置信息和语义信息进行挖掘聚类,获得所述各个其他元数据的位置语义聚类集。
79.这里,可通过用户信息、位置信息和时间信息对每个其他用户进行位置模式挖掘,获得位置模式集。还可通过用户信息、语义信息和时间信息对每个其他用户进行语义模式挖掘,获得语义模式集。其中,模式挖掘算法可以为前缀投影的模式挖掘(prefix-projected pattern growth,prefixspan)算法,针对模式挖掘算法,本技术实施例仅仅为示例性说明,而并不做限定;然后,再对位置模式集和语义模式集进行聚合处理,获得位置语义聚类集。
80.步骤s2043,确定所述元数据和所述其他元数据集合中各个其他元数据之间的各个相似度值。
81.在实现步骤s2043时,如图4所示,可通过以下步骤s431至步骤s433来实现:
82.步骤s431,合成所述位置信息和所述语义信息,获得位置语义信息。
83.这里,位置语义信息包括待预测对象的位置语义序列集合。举例来说,位置信息为《a大厦、b广场、c小区》,对应的语义信息为《公司、餐厅、家》,那么,合成后对应的位置语义序列集合为《公司-a大厦、餐厅-b广场、家-c小区》。进一步地,该位置语义序列集合中包括3个序列。
84.步骤s432,基于所述位置语义信息和所述位置语义聚类集,确定所述元数据与各个其他元数据之间的最长位置语义公共序列。
85.这里,位置语义聚类集包括其他对象的位置语义序列集合,在实现步骤s432时,逐一比对位置语义信息和各个其他元数据的位置语义聚类集,从位置语义聚类集中确定出与位置语义信息包括序列相同的相同位置语义序列集合,并将相同位置语义序列集合中包括序列个数最多的确定为最长位置语义公共序列,其中,当不存在相同位置语义序列集合,则认为最长位置语义公共序列为空集。
86.步骤s433,根据所述最长位置语义公共序列,确定所述元数据和所述其他元数据集合中各个其他元数据之间的各个相似度值。
87.这里,以一个其他元数据为例,在确定元数据和该其他元数据的相似度值时,可将最长位置语义公共序列中所包含的位置语义个数确定为分子;然后,获取位置语义序列集合中所包含的位置语义第一个数,还获取该其他元数据位置语义序列集合中所包含的位置语义第二个数,基于此,获取第一个数和第二个数的和,并将该和确定为分母;最后,将最终的比值确定为相似度值。举例来说,当最长位置语义序列为《餐厅-b广场、家-c小区》,位置
语义序列集合为《公司-a大厦、餐厅-b广场、家-c小区》,其他元数据位置语义序列集合为《图书馆-d大楼、公司-a大厦、餐厅-b广场、家-c小区》时,此时,分子为2,第一数为3,第二数为4,分母则为7,那么,相似度值为2/7。也即,相似度值近似为0.286。
88.步骤s2044,从各个相似度值中确定最高相似度值。
89.步骤s2045,确定所述最高相似度值是否大于或者等于相似度阈值。
90.这里,相似度阈值可以为0.6、0.8等,当最高相似度阈值大于或者等于相似度阈值时,则进入步骤s2046,也即,表明待预测对象存在相似对象;当最高相似度阈值小于相似度阈值时,则进入步骤s2047,也即,表明待预测对象不存在相似对象。
91.步骤s2046,确定存在与所述待预测对象满足相似条件的相似对象。
92.此时,最高相似度值大于或者等于相似度阈值,则表明存在与所述待预测对象满足相似条件的相似对象,其中,相似对象为最高相似度阈值所对应的其他对象。
93.步骤s2047,确定不存在与所述待预测对象满足相似条件的相似对象。
94.通过步骤s2041至步骤s2047,先基于其他元数据集合中的各个其他元数据,确定各个其他元数据的位置信息和语义信息,再进行挖掘聚类处理,获得各个其他元数据的位置语义聚类集;然后,合成位置信息和语义信息,获得待预测对象的位置语义信息;接着,基于位置语义聚类集和位置语义信息确定最长位置语义公共序列,并基于该最长位置语义公共序列确定元数据和各个其他元数据之间的各个相似度;进一步地,确定出最高相似度值,当该最高相似度值大于或者等于相似度阈值时,表明存在与待预测对象满足相似条件的相似对象;当该最高相似度值小于相似度阈值时,表明不存在与待预测对象满足相似条件的相似对象,从而判断是否存在相似对象,当存在相似对象时,确定出该相似对象。
95.基于上述实施例,本技术实施例再提供一种位置预测方法,本技术实施例为解决用户位置预测及预测过程中存在数据稀疏问题。一方面,通过挖掘和聚类使得数据方面具有准确性、完整性、一致性。另一方面,对模型进行改进,通过改进的门控循环单元和gru串联,使得后期可以构建较大的网络和模型,因其具有两个门控,计算效率相比于其他一个门控也比较高,提高了用户位置下一个位置的精确度以及前k个位置的准确率。
96.在本技术实施例中,通过移动通信基站和卫星信号或者在某个平台的签到数据可以获取到用户的位置数据。本技术将某个时间段个体用户位置数据缺失的情况考虑进去,通过数据预处理和设计预测模型两个部分进行解决。个体用户位置预测整体装置模块如下,主要分为如下三个模块:位置数据预处理、位置数据挖掘和聚类、位置预测。
97.如图5所示,本技术实施例提供的位置预测方法可以通过如下步骤s501至步骤s509来实现:
98.步骤s501,获取个体用户元数据。
99.这里,可以从服务器中获取个体用户的元数据。用户元数据的传输示意图如图6所示。在图6中,终端中安装有定位芯片,一方面,终端能够通过访问基站实现自身位置定位,另一方面,终端可通过卫星实现定位;接着,在终端接入互联网后,可将终端/用户位置信息通过网络传输至工作站,经工作站汇总,再将终端/用户位置信息上传至服务器。因此,笔记本能够从服务器中获得该终端/用户位置信息,以便对该终端/用户位置信息进行分析处理。
100.步骤s502,预处理个体用户元数据,获得处理后的数据。
101.这里,预处理可以为解析、分解处理,经过预处理,处理后的数据可以包括用户类信息、地理位置类信息、语义类信息、时间类信息、距离类信息等,其中,用户类信息可以包括用户标识(identity document,id);地理位置类信息包括位置id和位置信息;语义类信息包括语义id和语义信息;时间类信息包括时间间隔;距离类信息包括距离间隔。在进行预处理时,还可以滤除用户类信息、地理位置类信息、语义类信息、时间类信息、距离类信息之外的信息。
102.步骤s503,判断处理后的数据是否满足稀疏条件。
103.这里,判断的是时间间隔内的个体用户时空数据的稀疏判断,也即,稀疏条件为个体用户元数据在一周或者半个月内无位置信息,时间间隔是根据元数据的稀疏性设定判断条件。当处理后的数据满足稀疏条件,则表明个体用户数据为稀疏数据,记为数据b,进入步骤s504,获得所有用户元数据;当处理后的数据不满足稀疏条件,则表明个体用户数据不为稀疏数据,记为数据a,进入步骤s508,直接将处理后的数据输入预测模块。
104.步骤s504,获得所有用户元数据。
105.这里,从服务器中获取步骤s501中个体用户元数据之外的所有用户元数据。
106.步骤s505,对所有用户元数据进行数据挖掘和聚类处理。
107.在实现步骤s505时,将所有用户元数据利用prefixspan算法数据挖掘方式、关联规则和最长公共子序列聚类方式进行挖掘聚类,得到处理后的数据集合。
108.在一些实施例中,位置标签是基本数据,通常语义序列与位置序列是一对多关系,举例来说,“上课”、“午休”、“自习”等语义序列可以对应“d学校”这一位置序列。因此,可以在对元数据模式挖掘基础上进行语义模式挖掘。根据唯一用户标识id,基于prefixspan算法对其进行位置和/或语义模式挖掘。位置模式挖掘要求的数据信息包括用户id、位置id、时间信息。语义挖掘模式要求的数据信息包括用户id、时间信息、语义id、语义信息。每个用户的位置和/或语义模式在长时间内可能不止一种模式,例如,一个用户在一定时间内存在两种模式《家,公司》、《家,学校,公司》等。但是在某个固定的时间段内一个用户只有一种模式。
109.在其他一些实施例中,如图7所示,可以通过如下步骤s5051至步骤s50510来实现步骤s505:
110.步骤s5051,预处理所有用户元数据,获得处理后的数据集。
111.这里,数据集中包括语义标签序列和位置标签序列。
112.步骤s5052,获得数据集中的位置标签序列。
113.步骤s5053,对位置标签序列进行位置模式挖掘。
114.步骤s5054,获得位置模式集。
115.步骤s5055,判断是否需要语义量。
116.如果需要语义量,则进入步骤s5057,也即,继续获取语义序列;如果不需要语义序列,则进入步骤s5056,直接输出用户位置聚类集。
117.步骤s5056,输出用户位置聚类集。
118.步骤s5057,基于用户位置聚类集和数据集,获得语义标签序列。
119.步骤s5058,对语义标签序列进行语义模式挖掘。
120.步骤s5059,获得语义模式集。
121.步骤s50510,输出所有用户位置和/或语义聚类集。
122.步骤s506,判断所有用户中是否存与个体用户相似的相似用户。
123.这里,将所有用户中各个用户的位置和/或语义聚类集合记为数据c,从数据c中查找与数据b相似个体用户,并利用该相似个体用户的数据进行位置预测。相似性是利用关联规则和最长公共子序列得出的用户相似度量值进行判断,若集合中的最大相似度量值小于设定的阈值。也即,相似度量值不满足条件,不存在与个体用户相似的相似用户,则弃之,进入步骤s508,直接将个体用户数据输入预测模块;若集合中的最大相似度量值大于或者等于设定的阈值。也即,相似度量值满足条件,则选取最大相似度量值对应的相似用户的数据d,存在与个体用户相似的相似用户,进入步骤s507,将相似用户的数据输入预测模块。其中,设定的阈值可以设置为0.68,该设定的阈值还可以为默认值,也可以为自定义值。
124.在本技术实施例中,如图8所示,获取两个用户之间的相似度可通过以下步骤s5061至步骤s5065来实现:
125.步骤s5061,获取第一用户的位置和/或语义模式集。
126.这里,可将第一用户的位置和/或语义模式集记为user-a。
127.步骤s5062,获取第二用户的位置和/或语义模式集。
128.这里,可将第一用户的位置和/或语义模式集记为user-b。
129.步骤s5063,确定第一用户和第二用户的最长公共子序列。
130.这里,分析user-a中的子序列,也分析user-b中的子序列,确定出两个模式集中的公共子序列,记为lcs(user-a,user-b)。
131.步骤s5064,计算第一用户和第二用户的模式相似度。
132.在实现步骤s5064时,可通过如下公式(1)计算:
[0133][0134]
其中,
[0135]
步骤s5065,计算两个用户的相似度。
[0136]
在实现步骤s5065时,可通过如下公式(2)计算:
[0137][0138]
其中,user-a={p
a1
,p
a2
,...,p
an
}和user-b={p
b1
,p
b2
,...,p
bm
}分别是第一用户和第二用户的模式集。s(p
ai
)、s(p
bj
)为关联规则里面的支持度,也即,分别是具有p
ai
,p
bj
的用户人数除以用户总人数。
[0139]
步骤s507,将相似用户的数据输入预测模块。
[0140]
这里,如图9所示,预测模块是由改进的门控循环单元、门控循环单元单元、激励函数层和训练模块组成,其中该激励函数可以为softmax。
[0141]
其中,通过改进的门控循环单元实现预测时,当个体用户的数据被判断为稀疏,对
后面模型训练有较大影响时,就可以通过步骤s501至步骤s505对数据处理,然后有两种选择预测方法:第一种预测方法,存在另一个用户与个体用户相似度大于设定的最大阈值,这种就可以通过相似度很高用户来预测下一次可能在的位置。第二种预测方法,未能获取相似度合适的其他用户,这时利用用户自身的位置和/或语义模式集,预测在未来时间用户更偏向的位置。若是用户数据虽稀疏但是对模型训练影响不大时,即用户元数据中在短时间间隔内无数据,或者是有很多数据之间有短时间间隔,这时可以通过选择合适的模型来预测下一个位置。本领域一般常规的模型的前提条件都是数据是由规定的序列,比如等时间间隔划分数据,然而针对短时间内无数据的情况,并不利于特征的训练。传统的门控循环神经网络系统基于位置/语义状态序列信息作为输入门,但是面对一定时间内无数据的情况下,历史的序列状态信息被模型遗忘。基于此,如图10所示,本技术实施例提出将时间状态信息作为第一输入,在基本的门控循环单元上加一个输入为时间状态的接口,并用一个sigmoid门来控制二者在预测中所占的比例,当序列状态信息消失以后,还有时间状态信息在模型中起作用。参考图10:
[0142]hn-1
为第1输入,是上一时间点传下来的隐状态,这个隐状态包含了之前节点的相关信息,如时间点,位置和/或语义信息等。
[0143]
为第2输入,是当前时间节点的位置和/或语义信息。
[0144]
为第3输入,是用户个体编码,输入预测的下一个时间点、与当前的时间间隔。
[0145]
参考图10,fn的运算如公式(3),in的运算如公式(4):
[0146][0147][0148]
其中,公式(3)和公式(4)这两个公式均控制个体用户历史以及当前输入的位置、语义、时间状态信息。
[0149]
参考图10,的运算如公式(5):
[0150][0151]
公式(3)表示个体用户长时间内位置、语义状态的更新过程。
[0152]
参考图10,的运算如公式(6),hn的运算如公式(7):
[0153][0154][0155]
其中,公式(5)根据控制位置、语义信息隐状态和时间信息隐状态的权重得到不同的神经元。u为个体用户编码,p
n-1
为上一次位置向量,s
n-1
为上一次语义向量。tn为个体用户被预测下一位置/语义信息的时间,td为预测时间与上一次时间的时间间隔。门函数将序列隐状态和时间隐状态的权重限制在0到1之间。af,ai,ah,a
t
,为线性变换矩阵,bf,bi,bh,b
t
,为线性变换偏移。σ为激活函数sigmoid,h
n-1
为上一次时间段的隐状态向量。
[0156]
在图10中,输出hn会作为下一次预测的第一输入,如此实现循环,使得每次预测的第一输入均包括之前所有节点的相关信息,并且能够保证在数据稀疏的情况下,实现精确预测。
[0157]
步骤s508,将个体用户的数据输入预测模块。
[0158]
如图11所示,可通过步骤s5081至步骤s5084实现步骤s508:
[0159]
步骤s5081,对个体用户数据进行独热(one-hot)编码。
[0160]
这里,在已知用户及其历史位置和/或语义序列,预测其下一次时间的位置/语义信息。由于个体用户的位置/语义数据都是离散的,为了方便各个离散值之间的计算,利用one-hot编码将离散数据转成稀疏矩阵。
[0161]
步骤s5082,进行矩阵分解降维。
[0162]
步骤s5083,线性转换。
[0163]
这里,将个体用户的5个输入特征量经过线性转换组合为2个输入特征:序列特征和时间特征其中,5个输入特征量分别是:数据位置和/或语义向量,上一次的位置向量,上一次的语义向量,上一次的时间向量,上一次时间和预测时间的时间间隔向量。
[0164]
步骤s5084,输入改进的门控循环单元。
[0165]
将上述得到的两个输入特征作为改进的门控循环单元的输入。训练模块利用随机梯度下降算法减少交叉熵损失。
[0166]
步骤s509,输出预测结果。
[0167]
这里,可将个体用户与其他用户的相似度阈值为0.68,因为个体用户下一个位置时一个确定的地理位置坐标,但是可选的地理位置比较多,在实际预测的时候会给出多个预测结果。因此在此领域通常都是通过前k个预测位置的准确率作为位置预测的性能,如表1所示,以“纽约”位置为例,当k取10时,准确率为0.7142,该准确率大于相似度阈值。因此,本技术实施例中将k取10,也即,比较前10个的预测准确度。同样基于foursquare提供的开发者应用程序编程接口(application programming interface,api)签到数据。利用xavier初始化整个网络的权重,利用学习率衰减的随机梯度下降来降低损失函数,并选取使得交叉熵损失最小的隐层维度为228层。
[0168]
表1“纽约”位置预测准确率示例表
[0169]
数据集前1个准确率前5个准确率前10个准确率纽约0.35040.63210.7142
[0170]
这样一来,通过步骤s501至步骤s509,获取个体用户元数据,并预处理个体用户元数据,获得处理后的数据信息;然后判断该处理后的数据是否为稀疏数据,如果处理后的数据是稀疏数据,则进一步获得所有用户元数据,并对所有用户元数据进行数据挖掘和聚类处理,从而获得所有用户位置和/或语义聚类集;基于此,通过相似度判断所有用户中是否存在与个体用户相似的相似用户,如果存在相似用户,则将该相似用户输入包括改进门控循环单元的预测模块;如果不存在相似用户或者个体用户处理后的数据不是稀缺数据时,则直接将个体用户数据输入包括改进门控循环单元的预测模块,如此,能够基于稀疏数据下的位置预测,加快预测时间,并提升位置预测的准确性,从而提升预测效率。
[0171]
基于前述的实施例,本技术实施例提供一种位置预测装置,该装置包括的各模块、
以及各模块包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(central processing unit,cpu)、微处理器(microprocessor unit,mpu)、数字信号处理器(digital signal processing,dsp)或现场可编程门阵列(field programmable gate array,fpga)等。
[0172]
本技术实施例再提供一种位置预测装置,图12为本技术实施例提供的位置预测装置的组成结构示意图,如图12所示,所述位置预测装置1200包括:
[0173]
第一获取模块1201,用于获取待预测对象在预设时长内的元数据,并基于所述元数据确定所述待预测对象的位置数据信息,所述位置数据信息至少包括待预测对象在当前时间节点的当前位置数据信息;
[0174]
第二获取模块1202,用于获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息;所述预测模型至少用于预测所述待预测对象的位置信息;
[0175]
确定模块1203,用于基于所述当前时间节点和预设时间间隔确定预测时间节点;
[0176]
输入模块1204,用于将所述当前位置数据信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
[0177]
在一些实施例中,确定模块1203,还用于基于所述多个时间间隔,确定所述元数据是否满足数据稀疏条件;所述位置预测装置1200还包括:
[0178]
第三获取模块,用于当确定不满足数据稀疏条件时,获取预测模型在上一时间节点针对所述预测对象的第一历史输出信息。
[0179]
在一些实施例中,所述位置预测装置1200还包括:
[0180]
第四获取模块,用于当确定所述元数据满足数据稀疏条件时,获取除元数据之外的其他元数据集合,所述其他元数据集合包括除待预测对象之外的其他对象的其他元数据;
[0181]
确定模块1203,还用于基于所述元数据和所述其他元数据集合,确定所述其他对象中是否存在与所述待预测对象满足相似条件的相似对象;
[0182]
第五获取模块,用于当存在所述相似对象时,获取所述预测模型在上一时间节点针对所述相似对象的第二历史输出信息,所述预测模型还用于预测所述相似对象的位置信息;
[0183]
输入模块1204,还用于将所述当前位置数据信息、第二历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
[0184]
在一些实施例中,所述当前位置数据信息包括当前位置信息和当前语义信息,所述位置预测装置1200还包括:
[0185]
提取模块,用于当不存在所述相似对象时,从所述当前位置数据信息中提取所述当前位置信息和所述当前语义信息;
[0186]
输入模块1204,还用于将所述当前位置信息、当前语义信息、第一历史输出信息和预测时间节点输入至所述预测模型,得到所述待预测对象在预测时间节点的目标位置信息。
[0187]
在一些实施例中,所述基于所述元数据和所述其他元数据集合,所述确定模块1203包括:
[0188]
第一确定单元,用于确定所述元数据和所述其他元数据集合中各个其他元数据之
间的各个相似度值;
[0189]
第二确定单元,用于从各个相似度值中确定最高相似度值;
[0190]
第三确定单元,用于确定所述最高相似度值是否大于或者等于相似度阈值,其中,当所述最高相似度值大于或者等于相似度阈值时,确定存在与所述待预测对象满足相似条件的相似对象,当所述最高相似度值小于所述相似度阈值时,确定不存在与所述待预测对象满足相似条件的相似对象。
[0191]
在一些实施例中,确定模块1203,还用于基于所述其他元数据集合中的各个其他元数据,确定各个其他元数据的位置信息和语义信息;所述位置预测装置1200还包括:
[0192]
挖掘聚类模块,用于对所述各个其他元数据的位置信息和语义信息进行挖掘聚类,获得所述各个其他元数据的位置语义聚类集。
[0193]
在一些实施例中,所述位置数据信息还包括位置信息和语义信息,所述确定模块1203还包括:
[0194]
合成单元,用于合成所述位置信息和所述语义信息,获得位置语义信息;
[0195]
第四确定单元,用于基于所述位置语义信息和所述位置语义聚类集,确定所述元数据与各个其他元数据之间的最长位置语义公共序列;
[0196]
第五确定单元,用于根据所述最长位置语义公共序列,确定所述元数据和所述其他元数据集合中各个其他元数据之间的各个相似度值。
[0197]
在一些实施例中,所述确定模块1203还包括:
[0198]
第六确定单元,用于确定所述多个时间间隔中是否存在大于间隔阈值的目标时间间隔;其中,当存在所述目标时间阈值时,确定所述元数据满足稀疏条件,当不存在所述目标时间间隔时,确定所述元数据不满足稀疏条件。
[0199]
在一些实施例中,所述第一获取模块1201包括:
[0200]
预处理单元,用于对所述元数据进行预处理,获得位置信息、语义信息以及时间信息;
[0201]
第七确定单元,用于将所述位置信息、语义信息以及时间信息确定为所述位置数据信息。
[0202]
在一些实施例中,所述输入模块1204包括:
[0203]
第八确定单元,用于基于预设矩阵、所述当前位置数据信息、所述第一历史输出信息和所述预测时间节点,确定权重因子,其中,所述权重因子包括所述当前位置数据信息对应的第一权重因子,所述第一历史输出信息对应的第二权重因子,所述预测时间节点对应的第三权重因子,其中,所述预设矩阵用于调节所述元数据处于不同稀疏情况下的权重因子;
[0204]
预测单元,用于基于所述第一权重因子、第二权重因子、第三权重因子、当前位置数据信息、第一历史输出信息和预测时间节点,预测所述待预测对象在预测时间节点的目标位置信息。
[0205]
需要说明的是,本技术实施例位置预测装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0206]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的位置预
测方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0207]
相应地,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现上述实施例中提供的位置预测方法中的步骤。
[0208]
本技术实施例提供一种位置预测设备,图13为本技术实施例提供的位置预测设备的组成结构示意图,如图13所示,所述位置预测设备1300包括:一个处理器1301、至少一个通信总线1302、用户接口1303、至少一个外部通信接口1304和存储器1305。其中,通信总线1302配置为实现这些组件之间的连接通信。其中,用户接口1303可以包括显示屏,外部通信接口1304可以包括标准的有线接口和无线接口。其中,所述处理器1301配置为执行存储器中存储的位置预测方法的程序,以实现以上述实施例提供的位置预测方法中的步骤。
[0209]
以上位置预测设备和存储介质实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术位置预测设备和存储介质实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0210]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0211]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0212]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0213]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单
元上;可以根据实际的需要选择其中的部分或全部单元来实现本技术实施例方案的目的。
[0214]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0215]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0216]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台ac执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0217]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献