出行信息的向量化表示方法及装置与流程

文档序号:28163076发布日期:2021-12-24 20:57阅读:89来源:国知局
出行信息的向量化表示方法及装置与流程

1.本公开涉及人工智能领域,尤其涉及智能搜索、智能推荐领域,可以用于电子地图中针对用户搜索推荐合理的出行方案。


背景技术:

2.随着基础设施的快速发展,公共交通系统也得以长足发展,并且在公众出行中占据着越来越重要的地位。同时,为了承载公众的出行诉求,公共交通系统也在不断演进,其形态也越来越复杂,从而衍生出了普通公交、轨道交通、机场大巴、快速公交、高峰专线、旅游专线等数十种交通工具,极大地提升了公众出行的可选择性。
3.此外,公众在出行过程中,通常会考虑到交通工具的差异性,结合个体出行偏好,兼顾时间、换乘、步行等因素,选择适合的出行方案,快速、便捷、高效地到达目的地。由此使得地图类产品中的路线检索功能,尤其是公共交通场景下的路线推荐功能,面临着交通工具、出行场景、方案特点、个体习惯等多种因素共同影响所带来的挑战。


技术实现要素:

4.本公开提供了一种出行信息的向量化表示方法、用户群体出行信息的向量化表示方法、深度学习模型的训练方法、知识图谱的构建方法、装置、设备、存储介质以及计算机程序产品。
5.根据本公开的一方面,提供了一种出行信息的向量化表示方法,包括:确定目标用户所属的用户群体;基于深度学习模型的隐藏层系数,确定所述用户群体的出行信息向量化表示,其中,所述深度学习模型是基于相似用户群体对样本训练得到的;以及基于所述用户群体的出行信息向量化表示,确定所述目标用户的出行信息向量化表示。
6.根据本公开的另一方面,提供了一种出行信息的向量化表示方法,包括:从深度学习模型的隐藏层导出对应的隐藏层系数,其中,所述深度学习模型是基于相似用户群体对样本训练得到的;以及基于所述隐藏层系数构建对应的系数矩阵,以得到多个用户群体中每个用户群体的向量化表示,其中,所述系数矩阵中的每行权值表示的行向量对应于所述多个用户群体中的一个用户群体。
7.根据本公开的另一方面,提供了一种深度学习模型的训练方法,包括:基于知识图谱,获取相似用户群体对样本,其中,所述知识图谱包括用户群体类节点和出行信息类节点,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点;以及利用所述相似用户群体对样本,对深度学习网络进行训练,以得到对应的深度学习模型。
8.根据本公开的另一方面,提供了一种知识图谱的构建方法,包括:将用户的群体化表示与所述用户在至少一个特定场景下选择的出行方案的离散化表示进行关联,以获得对应的关联数据;以及基于多个所述用户获得的关联数据,构建包含用户群体类节点和出行信息类节点的知识图谱,其中,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
9.根据本公开的另一方面,提供了一种出行信息的向量化表示装置,包括:第一确定模块,用于确定目标用户所属的用户群体;第二确定模块,用于基于深度学习模型的隐藏层系数,确定所述用户群体的出行信息向量化表示,其中,所述深度学习模型是基于相似用户群体对样本训练得到的;以及第三确定模块,用于基于所述用户群体的出行信息向量化表示,确定所述目标用户的出行信息向量化表示。
10.根据本公开的另一方面,提供了一种出行信息的向量化表示装置,包括:导出模块,用于从深度学习模型的隐藏层导出对应的隐藏层系数,其中,所述深度学习模型是基于相似用户群体对样本训练得到的;以及第一构建模块,用于基于所述隐藏层系数构建对应的系数矩阵,以得到多个用户群体中每个用户群体的向量化表示,其中,所述系数矩阵中的每行权值表示的行向量对应于所述多个用户群体中的一个用户群体。
11.根据本公开的另一方面,提供了一种深度学习模型的训练装置,包括:第一获取模块,用于基于知识图谱,获取相似用户群体对样本,其中,所述知识图谱包括用户群体类节点和出行信息类节点,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点;以及训练模块,用于利用所述相似用户群体对样本,对深度学习网络进行训练,以得到对应的深度学习模型,其中,所述深度学习模型的隐藏层系数可用于刻画多个用户群体的出行信息向量化表示。
12.根据本公开的另一方面,提供了一种知识图谱的构建装置,包括:关联模块,用于将用户的群体化表示与所述用户在至少一个特定场景下选择的出行方案的离散化表示进行关联,以获得对应的关联数据;以及第二构建模块,用于基于多个所述用户获得的关联数据,构建包含用户群体类节点和出行信息类节点的知识图谱,其中,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
13.根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本公开实施例所述的方法。
14.根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据本公开实施例所述的方法。
15.根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据本公开实施例所述的方法。
16.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
17.附图用于更好地理解本方案,不构成对本公开的限定。其中:
18.图1示例性示出了适于本公开实施例的系统架构;
19.图2示例性示出了根据本公开实施例的出行信息的向量化表示方法的流程图;
20.图3示例性示出了根据本公开另一实施例的出行信息的向量化表示方法的流程图;
21.图4示例性示出了根据本公开实施例的深度学习模型的训练方法的流程图;
22.图5示例性示出了根据本公开实施例的知识图谱的构建方法的流程图;
23.图6示例性示出了根据本公开实施例的挖掘用户出行信息的原理图;
24.图7示例性示出了根据本公开实施例的用户出行信息的向量化表示装置的框图;
25.图8示例性示出了根据本公开实施例的用户群体出行信息的向量化表示装置的框图;
26.图9示例性示出了根据本公开实施例的深度学习模型的训练装置的框图;
27.图10示例性示出了根据本公开实施例的知识图谱的构建装置的框图;
28.图11示例性示出了用来实现本公开实施例的电子设备的框图。
具体实施方式
29.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
30.应该理解,出行线路检索系统在基于检索关键词推荐出行方案时,可以由两种处理方式。
31.方式1,依赖用户反馈、专家评估等手段,对不同因素进行人工赋权,并进行归一化打分,从而最终实现出行路线的排序和推荐。
32.方式2,依赖个体用户的社会学属性,如性别、年龄、职业等,对路线推荐系统进行优化,从而提升推荐的准确性。
33.应该理解,方式1中,存在如下局限性:1)受个体经验的局限性,难以覆盖所有场景;2)难以精确地刻画用户的出行信息或偏好;3)随着系统的演进,系统越来越复杂,迭代过程难以为继;4)难以准确地刻画其他个体的出行信息,并将其应用于路线推荐。
34.还应该理解,方式2中,存在如下局限性:1)在路线推荐场景下,尤其是使用公共交通的出行场景,个体用户因出行频次较低,所积累的样本不足;2)用户画像的维度极为丰富,包括性别、年龄、职业、消费水平等几十种维度,在使用过程中,会带来维度的快速扩张,进而给下游系统带来极大麻烦。
35.对此,本公开实施例提供了一种出行信息的挖掘方案,包括:出行信息的向量化表示方法、深度学习模型的训练方法、知识图谱的构建方法,可以实现个体用户出行信息的精准刻画以及高效刻画,进而可以提升路线推荐的准确性。
36.以下将结合附图和具体实施例详细阐述本公开。
37.适于本公开实施例的系统架构介绍如下。
38.图1示例性示出了适于本公开实施例的系统架构。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他环境或场景。
39.如图1所示,本公开实施例中系统架构100可以包括:知识图谱构建模块101、模型训练模块102、系数矩阵构建模块103、出行信息向量化表示处理模块104和出行路线推荐模块105。
40.其中,知识图谱构建模块101用于执行本公开实施例中的知识图谱构建方法。模型
训练模块102用于执行本公开实施例中的知模型训练方法。系数矩阵构建模块103用于执行本公开实施例中的系数矩阵构建方法。出行信息向量化表示处理模块104用于执行本公开实施例中的出行信息的向量化表示方法。出行路线推荐模块105用于基于出行信息向量化表示处理模块104提供的用户的出行信息的向量化表示为用户推荐合理的出行路线。
41.适于本公开实施例的应用场景介绍如下。
42.本公开实施例提供的技术方案,可以应用于智能搜索、智能推荐领域,例如可以用于电子地图中针对用户搜索推荐合理的出行方案。
43.根据本公开的实施例,本公开提供了一种出行信息的向量化表示方法。
44.图2示例性示出了根据本公开实施例的出行信息的向量化表示方法的流程图。
45.如图2所示,出行信息的向量化表示方法200可以包括操作s210~s230。
46.操作s210,确定目标用户所属的用户群体。
47.操作s220,基于深度学习模型的隐藏层系数,确定用户群体的出行信息向量化表示,其中,深度学习模型是基于相似用户群体对样本训练得到的。
48.操作s230,基于用户群体的出行信息向量化表示,确定目标用户的出行信息向量化表示。
49.在本公开的一个实施例中,可以预先将各用户特征属性(如用户各社会学属性,包括:性别、年龄、职业等)进行离散化处理,得到各用户特征属性对应的离散化处理结果。
50.示例性的,如用户年龄,可以离散化为不同的年龄段。如用户性别,可以离散化为“男”和“女”,等等。
51.应该理解,通过用户特征属性的离散化处理,可以解决单一用户特征属性维度上,训练样本覆盖不全的问题。
52.因此,操作s210中,可以将目标用户的各特征属性映射至对应特征属性的离散化处理结果上,以确定该目标用户的群体化表示。示例性的,如某用户,性别为男、年龄为25岁、收入为10000元、消费水平为800元/月,则通过将这些特征属性映射至对应特征属性的离散化处理结果上,可以得到该用户的群体化表示为“男

年龄段1

收入高

消费低”。即,可以得知该用户属于“男

年龄段1

收入高

消费低”这一用户群体。
53.应该理解,通过对单个用户进行群体化表示,可以有效地解决公共交通场景下,因单个用户检索频次低所带来的样本量稀疏的问题。
54.此外,在本公开的一个实施例中,还可以利用相似用户群体对样本(即,训练样本为“输入用户

>输出用户”对,如“u1

>u3”、“u1

>u2”、“u1

>u4”、“u2

>u3”),预先训练深度学习网络(如3层的dnn网络),使得该网络可以学习各“输入用户”与对应的各“输出用户”之间的相似性,从而得到对应的深度学习模型。并在深度学习模型训练成功后,导出模型中隐藏层(即模型中除输入层和输出层之外的中间层)的隐藏层系数。进而基于导出的隐藏层系数构建对应的系数矩阵。其中,该系数矩阵中的每行权值表示的行向量对应于一个用户群体,如第1行行向量可以是用户群体u1的出行信息的向量化表示,第2行行向量可以是用户群体u2的出行信息的向量化表示,......第n行行向量可以是用户群体un的出行信息的向量化表示。
55.应该理解,通过上述用户群体出行信息的向量化表示,可以大幅提升单个用户出行信息的刻画效率和刻画精度,进而可以大幅提升路线推荐系统的服务效果。
56.因此,操作s220中,可以从上述系数矩阵的各行中(如1~n行)找到该目标用户所属的用户群体ui对应的第i行,并且直接将第i行行向量作为该用户群体ui的出行信息的向量化表示。
57.进一步,操作s230中,可以将该目标用户所属的用户群体ui的出行信息的向量化表示作为该目标用户的出行信息的向量化表示。
58.通过本公开实施例,采用对各用户特征属性离散化处理,并在此基础上采用对目标用户进行群体化表示的技术手段,可以解决特定场景下(如公共出行场景下)单个用户存在训练样本稀疏的问题。并且,通过对各用户群体进行出行信息向量化表示,并在此基础上对各用户进行出行信息向量化表示,可以避免因直接使用用户画像进行离散化处理,而导致不得不对用户特征进行one

hot编码,进而导致由于各特征维度快速膨胀而给下游节点带来处理困难的问题,从而可以提升对单个用户出行信息的刻画效率和刻画精度。
59.作为一种可选的实施例,确定目标用户所属的用户群体包括:获取目标用户的特征属性的群体化表示;以及基于群体化表示,确定目标用户所属的用户群体。
60.在本公开的一个实施例中,可以将目标用户在各个维度上的特征属性映射至对应特征属性的离散化处理结果上,以确定该目标用户的群体化表示。示例性的,如某用户,性别为女、年龄为23岁、收入为11000元、消费水平为3000元/月,则通过将这些特征属性映射至对应特征属性的离散化处理结果上,可以得到该用户的群体化表示为“女

年龄段1

收入高

消费高”。即,可以得知该用户属于“女

年龄段1

收入高

消费高”这一用户群体。
61.通过本公开实施例,对单个用户进行群体化表示,可以有效地解决公共交通场景下,因单个用户检索频次相对较低所带来的样本量稀疏的问题。
62.作为一种可选的实施例,基于深度学习模型的隐藏层系数,确定用户群体的出行信息向量化表示,包括:将系数矩阵中与用户群体对应的行向量作为用户群体的出行信息向量化表示。其中,系数矩阵是基于深度学习模型的隐藏层导出的隐藏层系数构建的,且矩阵中的每行权值表示的行向量对应于一个用户群体。
63.在本公开的一个实施例中,可以利用相似用户群体对样本(即,训练样本为“输入用户

>输出用户”对,如“u1

>u3”、“u1

>u2”、“u1

>u4”、“u2

>u3”),预先训练深度学习网络(如3层的dnn网络),使得该网络可以学习各“输入用户”与对应的各“输出用户”之间的相似性,从而得到对应的深度学习模型。并在深度学习模型训练成功后,导出模型中隐藏层的隐藏层系数。进而基于导出的隐藏层系数构建对应的系数矩阵。其中,该系数矩阵中的每行权值表示的行向量对应于一个用户群体,如第1行行向量可以是用户群体u1的出行信息的向量化表示,第2行行向量可以是用户群体u2的出行信息的向量化表示,......第n行行向量可以是用户群体un的出行信息的向量化表示。
64.然后,可以从上述系数矩阵的各行中(如1~n行)找到目标用户所属的用户群体ui对应的第i行,并且将第i行行向量作为该用户群体ui的出行信息的向量化表示。
65.通过本公开实施例,预先将各用户群体的出行信息进行向量化表示,在此基础上再基于各个用户的群体化表示刻画各个用户的出行信息,因而可以大幅提升各用户出行信息的刻画效率和刻画精度,进而可以大幅提升路线推荐系统的服务效果。
66.作为一种可选的实施例,该方法还包括:将确定出的目标用户的出行信息向量化表示发送至下游节点,以便为目标用户推荐对应的出行方案。
67.在本公开的一个实施例中,在特定场景中(如在公共出行场景下),响应于获取到目标用户在电子地图中输入的搜索条件,可以根据前述各实施例提供的用户出行信息的向量化表示方法,获取该目标用户的出行信息的向量化表示,并将获取的该目标用户的出行信息的向量化表示发送至下游节点,以便该下游节点能够基于该目标用户的出行信息的向量化表示,先确定该目标用户的出行信息,再按照其出行信息,自上而下依次显示系统推荐的至少一个合乎其出行信息的出行方案。
68.通过本公开实施例,可以为下游节点能够为目标用户推荐合理的出行方案而提供有力的数据支持。并且,将各用户的出行信息进行向量化表示,相比于one

hot编码方法,可以大幅提升公共交通场景下,路线推荐的精准性。
69.其中,本实施例中,关于用户群体出行信息的向量化表示方法,可以参考下述实施例中的相关描述,本实施例在此不再赘述。
70.根据本公开的实施例,本公开提供了另一种出行信息的向量化表示方法。
71.图3示例性示出了根据本公开另一实施例的出行信息的向量化表示方法的流程图。
72.如图3所示,出行信息的向量化表示方法300可以包括操作s310~s320。
73.操作s310,从深度学习模型的隐藏层导出对应的隐藏层系数,其中,深度学习模型是基于相似用户群体对样本训练得到的。
74.操作s320,基于隐藏层系数构建对应的系数矩阵,以得到多个用户群体中每个用户群体的向量化表示。
75.其中,系数矩阵中的每行权值表示的行向量对应于多个用户群体中的一个用户群体。
76.在本公开的一个实施例中,可以预先基于一定的相似用户群体对样本对深度学习网络进行训练,直到训练得到预定的深度学习模型为止。
77.示例性的,可以利用相似用户群体对样本(即,训练样本为“输入用户

>输出用户”对,如“u1

>u3”、“u1

>u2”、“u1

>u4”、“u2

>u3”),预先训练深度学习网络(如3层的dnn网络),使得该网络可以学习各“输入用户”与对应的各“输出用户”之间的相似性,从而得到对应的深度学习模型。
78.进一步,在深度学习模型训练成功后,可以导出模型中隐藏层的隐藏层系数。
79.更进一步,可以基于上述操作导出的隐藏层系数构建对应的系数矩阵。其中,该系数矩阵中的每行权值表示的行向量对应于一个用户群体,如第1行行向量可以是用户群体u1的出行信息的向量化表示,第2行行向量可以是用户群体u2的出行信息的向量化表示,......第n行行向量可以是用户群体un的出行信息的向量化表示。由此可以u1~un这多个用户群体中每个用户群体的向量化表示。
80.通过本公开实施例,可以直接从对应深度学习模型的隐藏层提取的隐藏层系数,并依次来刻画各用户群体的出行信息,因而可以提高各用户群体的出行信息的刻画效率和刻画精度。
81.其中,本实施例中,关于深度学习模型的训练方法,可以参考下述实施例中的相关描述,本实施例在此不再赘述。
82.根据本公开的实施例,本公开提供了一种深度学习模型的训练方法。
83.图4示例性示出了根据本公开实施例的深度学习模型的训练方法的流程图。
84.如图4所示,深度学习模型的训练方法400可以包括操作s410~s420。
85.操作s410,基于知识图谱,获取相似用户群体对样本,其中,知识图谱包括用户群体类节点和出行信息类节点,知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
86.操作s420,利用相似用户群体对样本,对深度学习网络进行训练,以得到对应的深度学习模型,其中,深度学习模型的隐藏层系数可用于刻画多个用户群体的出行信息向量化表示。
87.在本公开的一个实施例中,可以预先构建包含用户群体类节点和出行信息类节点的知识图谱(也称异质网络图)。在该知识图谱中每组相似的用户群体对应的多个节点可以连接至同一出行信息节点。即,知识图谱中每组相似的用户群体对应的多个节点可以通过同一出行信息节点间接连接,这种情况表示一组相似的用户群体具有相同的出行信息。
88.进一步,可以基于知识图谱中各用户群体对应的节点与各出行信息节点之间的连接关系,获取相似用户群体对样本,并利用该相似用户群体对样本(即,训练样本为“输入用户

>输出用户”对,如“u1

>u3”、“u1

>u2”、“u1

>u4”、“u2

>u3”),对深度学习网络(如3层的dnn网络)进行训练,使得该网络可以学习各“输入用户”与对应的各“输出用户”之间的相似性,从而得到对应的深度学习模型。
89.示例性的,如知识图谱中可以包括:用户群体u1~用户群体u4对应的4个用户群体类节点,以及出行信息节点i1~出行信息节点i3,这些节点之间的连接关系如下:u1~u3均与i2连接;u1、u3、u4均与i3连接;u1还与i1连接。其中,节点u1表示的用户群体为“男

年龄段1

收入高

消费低”,节点u2表示的用户群体为“男

年龄段2

收入高

消费高”,节点u3表示的用户群体为“女

年龄段1

收入高

消费高”,节点u4表示的用户群体为“男

年龄段3

收入低

消费低”。节点i1表示的出行信息为“3
‑2‑
1”,即,在时间、步行、换乘等维度上,排位分别为3、2、1;节点i2表示的出行信息为“1
‑2‑
1”,即,在时间、步行、换乘等维度上,排位分别为1、2、1;节点i3表示的出行信息为“2
‑1‑
2”,即,在时间、步行、换乘等维度上,排位分别为2、1、2。
90.由此图中的知识图谱图得到的训练样本可以包括如下相似用户群体对:如“u1

>u3”、“u1

>u2”、“u1

>u4”、“u2

>u3”,“u3

>u4”,其中,这些相似用户群体对中的前者可以作为深度学习网络的输入用户,对应的后者可以作为深度学习网络的输出用户。利用此训练样本进行模型训练,可以使得网络学习到各“输入用户”与对应的各“输出用户”之间的相似性,从而得到对应的深度学习模型。
91.通过本公开实施例,可以通过深度学习网络直接进行余弦计算来刻画各用户群体之间的相似性,并对各用户群体的出行信息进行向量化表示,因而与one

hot编码相比可以大幅提升训练效率。这是因为,从one

hot编码到用户的群体化向量表示,训练特征可以从上千数量级快速下降至数百数量级,所以可以大幅提升训练效率。
92.作为一种可选的实施例,基于知识图谱,获取相似用户群体对样本,包括:基于知识图谱,生成关于用户群体和出行信息的至少一个关联序列;以及基于至少一个关联序列,生成对应的相似用户群体对样本。
93.在本公开的一个实施例中,可以按照特定策略对预先构建的知识图谱进行随机游
走,从而生成关于用户群体和出行信息的至少一个关联序列。然后,基于以上生成的关联序列,可以进一步生成对应的相似用户群体对样本。
94.应该理解,上述的特定策略可以包括以下中至少之一。
95.如,从u型节点(即用户群体类节点)到i型节点(即出行信息类节点)的游走,具体可以使用等概率随机游走。例如,ui节点连接着n个i型节点如i1、i2、......、in,则ui节点到i1节点的概率就是1/n。
96.再如,从i型节点到u型节点的游走,具体可以使用基于连接次数的概率分配法随机游走。例如,ii节点连着u1、u2、u3等节点,其中如果u1到ii的连接是基于100个用户的日志得到的,u2、u3到ii的连接分别是基于50、50个用户的日志得到的。那么ii到u1的概率就是100/(100+50+50)=0.5。
97.示例性的,如对某知识图谱进行随机游走,可以生成如下关联序列:如u1

>i2

>u3

>i3

>u1、u2

>i2

>u3

>i3

>u1,......。对于这些关联序列,参照word2ve词向量生成方法,可以生成对应的训练样本,即“输入用户

>输出用户”的相似用户群体对,如u1

>u3、u1

>u2、u1

>u4、u2

>u3、......。
98.示例性的,在得到上述训练样本后,可以使用3层dnn网络进行模型训练。
99.应该理解,在知识图谱中,由于用户群体ui和用户群体uj并不是直接相连的,而是通过出行信息(即出行方案偏好)来连接的。因此,如果用户群体ui和用户群体uj连接了相同的i型节点,则可以理解为用户群体ui和用户群体uj是相似的。
100.此外,还应该理解,在本公开实施例中,用户群体的出行信息向量以及用户的出行信息向量均并不代表着“具体”的出行信息。例如,并不是出行信息向量[0.5,0.5,0,5]代表少步行偏好,出行信息向量[0.4,0.4,0.4]代表少时间偏好。这些出行信息向量实际刻画的是:用户群体的出行信息之间的相似性。比如,用户群体u1的出行信息向量化表示为[0.5,0.5,0,5],以及用户群体u2的出行信息向量化表示为[0.4,0.4,0.4],用户群体u3的出行信息向量化表示为[0.1,0.1,0.1],则代表着用户群体u1和用户群体u2的出行信息更相似。具体这个相似的偏好是什么,并没有一个具体表征,如少步行之类。
[0101]
此外,还应该理解,在本公开实施例中,在获得用户的出行信息的向量化表示后,可以将其给到下游节点的排序模块,以便用来实现排序推荐。在这个过程中,不同用户的出行信息的向量化表示的差异就会得以体现。如可以针对不同的出行信息向量化表示向量给出不同的推荐路线。
[0102]
通过本公开实施例,基于知识图谱中各类节点之间的连接关系,可以明确并获知其中具有相似性的u型节点,在此基础上,可以生成具有一定相似性的相似用户群体对样本。
[0103]
其中,本实施例中,关于知识图谱的构建方法,可以参考下述实施例中的相关描述,本实施例在此不再赘述。
[0104]
根据本公开的实施例,本公开提供了一种知识图谱的构建方法。
[0105]
图5示例性示出了根据本公开实施例的知识图谱的构建方法的流程图。
[0106]
如图5所示,知识图谱的构建方法500可以包括操作s510~s520。
[0107]
操作s510,针对将用户的群体化表示与用户在至少一个特定场景下选择的出行方案的离散化表示进行关联,以获得对应的关联数据。
[0108]
操作s520,基于多个用户获得的关联数据,构建包含用户群体类节点和出行信息类节点的知识图谱,其中,知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
[0109]
在本公开的一个实施例中,可以挖掘多个用户的出行信息(即出行偏好),并在此基础上构建对应的知识图谱。
[0110]
示例性的,对于每个用户而言,可以基于其历史日志,挖掘其曾经选择的出行方案。具体地,可以依赖用户的历史检索日志,并结合用户收藏和分享的出行方案、以及用户曾使用的公交导航数据,挖掘用户当次检索后,选择的出行方案。进一步,基于用户选择的出行方案,可以生成当次出行信息的离散化表示。如某用户,其当次检索后,选择了第二条出行方案,且第二条出行方案,在时间、步行、换乘等维度上,排位分别为2、3、1,则,当次出行信息的离散化表示可以为“2
‑3‑
1”。
[0111]
此外,对于每个用户而言,还可以基于上述实施例提供的方法,获取用户的特征属性的群体化表示,本实施例在此不再赘述。
[0112]
应该理解,每个用户在不同的特定场景下,可能会有不同的出行信息。因而,对于同一用户而言,可以将其特征属性的群体化表示与其在不同特定场景下选择的出行方案的离散化表示进行一一关联,从而得到对应的关联数据。
[0113]
示例性的,如某用户,其群体化表示为“男

22至30岁

收入高

消费低”,某次其出行信息的离散化表示为“2
‑3‑
1”,则可建立关联关系“男

22至30岁

收入高

消费低
”‑
>“2
‑3‑
1”。
[0114]
在按照上述方案得到各用户的关联数据后,可以绘制知识图谱中包含的各u型节点和各i型节点,并将其中有关联的u型节点和i型节点彼此相连,从而构建出对应的知识图谱。
[0115]
本公开实施例中,通过对各用户出行偏好的挖掘,可以精确地刻画出各用户在不同检索场景下,对时间、步行、换乘等影响因素的偏好,进而可以基于各用户的出行偏好,为其之后的出行推荐更合理的出行方案。并且,通过知识图谱的构建,可以生成不同用户群体与不同出行信息之间的连接关系,这对于生成用户群体的向量化表示十分便利。
[0116]
作为一种可选的实施例,通过以下操作确定用户的群体化表示:获取各用户特征属性对应的离散化处理结果;以及基于离散化处理结果,确定用户的群体化表示。
[0117]
在本公开的一个实施例中,可以预先将各用户特征属性(如用户各社会学属性,包括:性别、年龄、职业等)进行离散化处理,得到各用户特征属性对应的离散化处理结果。
[0118]
示例性的,如用户年龄,可以离散化为不同的年龄段。如用户性别,可以离散化为“男”和“女”,等等。
[0119]
应该理解,通过用户特征属性的离散化处理,可以解决单一用户特征属性维度上,训练样本覆盖不全的问题。
[0120]
由此,对于每个用户而言,可以将其各特征属性映射至对应特征属性的离散化处理结果上,以确定其群体化表示。示例性的,如某用户,性别为男、年龄为25岁、收入为10000元、消费水平为800元/月,则通过将这些特征属性映射至对应特征属性的离散化处理结果上,可以得到该用户的群体化表示为“男

年龄段1

收入高

消费低”。即,可以得知该用户属于“男

年龄段1

收入高

消费低”这一用户群体。
[0121]
应该理解,通过对单个用户进行群体化表示,可以有效地解决公共交通场景下,因单个用户检索频次低所带来的样本量稀疏的问题。
[0122]
作为一种可选的实施例,通过以下操作确定用户选择的出行方案的离散化表示:基于历史日志,挖掘用户在对应的特定场景下选择的出行方案;以及针对用户在对应的特定场景下选择的出行方案,按照出行方案中各因素在对应维度上的排位,确定出行方案的离散化表示。
[0123]
在本公开的一个实施例中,可以挖掘多个用户的出行信息(即出行偏好),并在此基础上构建对应的知识图谱。
[0124]
示例性的,对于每个用户而言,可以基于其历史日志,挖掘其曾经选择的出行方案。具体地,可以依赖用户的历史检索日志,并结合用户收藏和分享的出行方案、以及用户曾使用的公交导航数据,挖掘用户当次检索后,选择的出行方案。进一步,基于用户选择的出行方案,可以生成当次出行信息的离散化表示。如某用户,其当次检索后,选择了第二条出行方案,且第二条出行方案,在时间、步行、换乘等维度上,排位分别为2、3、1,则,当次出行信息的离散化表示可以为“2
‑3‑
1”。
[0125]
以下将结合附图和具体实施例详细阐述本公开实施例的基本原理。如图6所示,整个处理流程如下:
[0126]
操作s610,将各用户的特征属性进行群体化表示。
[0127]
操作s620,基于历史日志,挖掘操作s610中各用户的出行信息,并得到对应出行信息的离散化表示。
[0128]
操作s630,基于操作s610得到的各群体化表示与操作s620得到的各离散化表示之间的关联关系,构建知识图谱。
[0129]
操作s640,基于操作s630构建的知识图谱,获取相似用户群体对样本。
[0130]
操作s650,进行模型训练。
[0131]
操作s660,基于由操作s650训练得到的模型导出的隐藏层系数,构建系数矩阵,该系数矩阵中的每行权值表示一个用户群体的出行信息的向量化表示。
[0132]
操作s670,基于操作s660构建的系数矩阵,对个体用户的出行信息进行向量化表示,并将结果发送至下游节点处理。
[0133]
根据本公开的实施例,本公开还提供了一种出行信息的向量化表示装置。
[0134]
图7示例性示出了根据本公开实施例的出行信息的向量化表示装置的框图。
[0135]
如图7所示,用户出行信息的向量化表示装置700可以包括:第一确定模块710、第二确定模块720和第三确定模块730。
[0136]
第一确定模块710,用于确定目标用户所属的用户群体。
[0137]
第二确定模块720,用于基于深度学习模型的隐藏层系数,确定所述用户群体的出行信息向量化表示,其中,所述深度学习模型是基于相似用户群体对样本训练得到的。
[0138]
第三确定模块730,用于基于所述用户群体的出行信息向量化表示,确定所述目标用户的出行信息向量化表示。
[0139]
作为一种可选的实施例,所述第一确定模块包括:
[0140]
获取单元,用于获取所述目标用户的特征属性的群体化表示;以及
[0141]
确定单元,用于基于所述群体化表示,确定所述目标用户所属的用户群体。
[0142]
作为一种可选的实施例,所述第二确定模块还用于:
[0143]
将系数矩阵中与所述用户群体对应的行向量作为所述用户群体的出行信息向量化表示,
[0144]
其中,所述系数矩阵是基于所述深度学习模型的隐藏层导出的隐藏层系数构建的,且矩阵中的每行权值表示的行向量对应于一个用户群体。
[0145]
作为一种可选的实施例,装置还包括:
[0146]
发送模块,用于将确定出的所述目标用户的出行信息向量化表示发送至下游节点,以便为所述目标用户推荐对应的出行方案。
[0147]
根据本公开的实施例,本公开还提供了一种用户群体出行信息的向量化表示装置。
[0148]
图8示例性示出了根据本公开实施例的出行信息的向量化表示装置的框图。
[0149]
如图8所示,出行信息的向量化表示装置800可以包括:导出模块810和第一构建模块820。
[0150]
导出模块810,用于从深度学习模型的隐藏层导出对应的隐藏层系数,其中,所述深度学习模型是基于相似用户群体对样本训练得到的。
[0151]
第一构建模块820,用于基于所述隐藏层系数构建对应的系数矩阵,以得到多个用户群体中每个用户群体的向量化表示,其中,所述系数矩阵中的每行权值表示的行向量对应于所述多个用户群体中的一个用户群体。
[0152]
根据本公开的实施例,本公开还提供了一种深度学习模型的训练装置。
[0153]
图9示例性示出了根据本公开实施例的深度学习模型的训练装置的框图。
[0154]
如图9所示,深度学习模型的训练装置900可以包括:第一获取模块910和训练模块920。
[0155]
第一获取模块910,用于基于知识图谱,获取相似用户群体对样本,其中,所述知识图谱包括用户群体类节点和出行信息类节点,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
[0156]
训练模块920,用于利用所述相似用户群体对样本,对深度学习网络进行训练,以得到对应的深度学习模型。
[0157]
作为一种可选的实施例,所述获取模块包括:第一生成单元,用于基于所述知识图谱,生成关于用户群体和出行信息的至少一个关联序列;以及第二生成单元,用于基于所述至少一个关联序列,生成对应的相似用户群体对样本。
[0158]
根据本公开的实施例,本公开还提供了一种知识图谱的构建装置。
[0159]
图10示例性示出了根据本公开实施例的知识图谱的构建装置的框图。
[0160]
如图10所示,知识图谱的构建装置1000可以包括:关联模块1010和第二构建模块1020。
[0161]
关联模块1010,用于将用户的群体化表示与所述用户在至少一个特定场景下选择的出行方案的离散化表示进行关联,以获得对应的关联数据。
[0162]
第二构建模块1020,用于基于多个所述用户获得的关联数据,构建包含用户群体类节点和出行信息类节点的知识图谱,其中,所述知识图谱中每组相似用户群体对应的多个节点连接至同一出行信息节点。
[0163]
作为一种可选的实施例,装置还包括:第二获取模块,用于获取各用户特征属性对应的离散化处理结果;以及第四确定模块,用于基于所述离散化处理结果,确定所述用户的群体化表示。
[0164]
作为一种可选的实施例,装置还包括:挖掘模块,用于基于历史日志,挖掘所述用户在对应的特定场景下选择的出行方案;以及第五确定模块,用于针对所述用户在对应的特定场景下选择的出行方案,按照出行方案中各因素在对应维度上的排位,确定出行方案的离散化表示。
[0165]
应该理解,本公开装置部分的实施例与本公开方法部分的实施例对应相同或类似,所解决的技术问题和所达到的技术效果也对应相同或类似,本公开在此不再赘述。
[0166]
根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
[0167]
图11示出了可以用来实施本公开的实施例的示例电子设备1100的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
[0168]
如图11所示,电子设备1100包括计算单元1101,其可以根据存储在只读存储器(rom)1102中的计算机程序或者从存储单元1108加载到随机访问存储器(ram)1103中的计算机程序,来执行各种适当的动作和处理。在ram 1103中,还可存储电子设备1100操作所需的各种程序和数据。计算单元1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0169]
电子设备1100中的多个部件连接至i/o接口1105,包括:输入单元1106,例如键盘、鼠标等;输出单元1107,例如各种类型的显示器、扬声器等;存储单元1108,例如磁盘、光盘等;以及通信单元1109,例如网卡、调制解调器、无线通信收发机等。通信单元1109允许设备1100通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
[0170]
计算单元1101可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1101的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元1101执行上文所描述的各个方法和处理,例如出行信息的向量化表示方法。例如,在一些实施例中,出行信息的向量化表示方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1108。在一些实施例中,计算机程序的部分或者全部可以经由rom 1102和/或通信单元1109而被载入和/或安装到设备1100上。当计算机程序加载到ram 1103并由计算单元1101执行时,可以执行上文描述的出行信息的向量化表示方法的一个或多个步骤。备选地,在其他实施例中,计算单元1101可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行出行信息的向量化表示方法。
[0171]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0172]
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0173]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd

rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0174]
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0175]
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0176]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端

服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0177]
本公开的技术方案中,所涉及的用户数据的记录,存储和应用等,均符合相关法律
法规的规定,且不违背公序良俗。
[0178]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
[0179]
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1