语义数据处理、内容推荐方法、装置和计算机设备与流程

未命名 08-15 阅读:83 评论:0


1.本技术涉及计算机技术领域,特别是涉及一种语义数据处理方法、装置、计算机设备、存储介质和计算机程序产品,以及一种内容推荐方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着计算机技术的发展,在越来越多的场景中,计算机设备需要根据用户的需求召回目标对象,例如,在内容推荐场景中,召回用户感兴趣的内容并推荐给用户。
3.传统技术中,通常是将用户和内容使用node2vec模型得到嵌入表示向量,并将得到的向量一一进行存储以进行后续地对象召回,然而该模型在不同的训练过程对于同一节点得到的向量并不相同,每次训练后需要使用得到的新向量替换掉之前的向量,导致召回效率低下。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高召回效率的语义数据处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.一方面,本技术提供了一种语义数据处理方法。所述方法包括:
6.获取预先建立的异构图;所述异构图中包括通过第一关系边进行连接的用户节点和内容节点;
7.获取所述异构图中目标节点的语义标签,并获取所述语义标签所对应的语义表征度;所述目标节点为所述用户节点和所述内容节点中的一种;
8.基于所述目标节点的语义标签及所述语义标签所对应的语义表征度,确定所述目标节点的第一语义向量;
9.将所述目标节点的第一语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点;
10.基于传播至所述目标邻居节点的第一语义向量,确定所述目标邻居节点的第二语义向量;所述第一语义向量以及所述第二义向量,用于召回目标对象。
11.另一方面,本技术还提供了一种语义数据处理装置。所述装置包括:
12.异构图获取模块,用于获取预先建立的异构图;所述异构图中包括通过第一关系边进行连接的用户节点和内容节点;
13.语义标签获取模块,用于获取所述异构图中目标节点的语义标签,并获取所述语义标签所对应的语义表征度;所述目标节点为所述用户节点和所述内容节点中的一种;
14.第一向量确定模块,用于基于所述目标节点的语义标签及所述语义标签所对应的语义表征度,确定所述目标节点的第一语义向量;
15.向量传播模块,用于将所述目标节点的第一语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点;
16.第二向量确定模块,用于基于传播至所述目标邻居节点的第一语义向量,确定所述目标邻居节点的第二语义向量;所述第一语义向量以及所述第二义向量,用于召回目标对象。
17.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述语义数据处理方法的步骤。
18.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述语义数据处理方法的步骤。
19.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述语义数据处理方法的步骤。
20.上述语义数据处理方法、装置、计算机设备、存储介质和计算机程序产品,获取预先建立的异构图,异构图中包括通过第一关系边进行连接的用户节点和内容节点,获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量,第一语义向量以及第二义向量,用于召回目标对象,由于是基于语义向量进行召回的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高对象召回的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
21.另一方面,本技术还提供了一种内容推荐方法。所述方法包括:
22.从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取所述参考节点的语义向量;其中,所述异构图中用户节点和内容节点通过第一关系边进行连接;所述用户节点用于表示当前用户集合中的用户;所述内容节点用于表示当前内容集合中的内容;所述用户节点和内容节点中其中一种为目标节点;与所述目标节点通过第一关系边连接的节点为所述目标节点的目标邻居节点;所述目标邻居节点的语义向量是基于通过所述第一关系边传播至所述目标邻居节点的语义向量得到的;传播至所述目标邻居节点的语义向量是在所述异构图中与所述目标邻居节点通过所述第一关系边连接的目标节点的语义向量,所述目标节点的语义向量是基于所述目标节点的语义标签及所述语义标签所对应的语义表征度得到的;
23.基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行内容推荐。
24.另一方面,本技术还提供了一种内容推荐装置。所述装置包括:
25.获取模块,用于从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取所述参考节点的语义向量;其中,所述异构图中用户节点和内容节点通过第一关系边进行连接;所述用户节点用于表示当前用户集合中的用户;所述内容节点用于表示当前内容集合中的内容;所述用户节点和内容节点中其中一种为目标节点;与所述目标节
点通过第一关系边连接的节点为所述目标节点的目标邻居节点;所述目标邻居节点的语义向量是基于通过所述第一关系边传播至所述目标邻居节点的语义向量得到的;传播至所述目标邻居节点的语义向量是在所述异构图中与所述目标邻居节点通过所述第一关系边连接的目标节点的语义向量,所述目标节点的语义向量是基于所述目标节点的语义标签及所述语义标签所对应的语义表征度得到的;
26.推荐模块,用于基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行内容推荐。
27.另一方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述内容推荐方法的步骤。
28.另一方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述内容推荐方法的步骤。
29.另一方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述内容推荐方法的步骤。
30.上述内容推荐方法、装置、计算机设备、存储介质和计算机程序产品,由于是基于语义向量进行推荐的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高内容推荐的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
附图说明
31.图1为一个实施例中语义数据处理方法和内容推荐方法的应用环境图;
32.图2为一个实施例中语义数据处理方法的流程示意图;
33.图3为一个实施例中实施例中建立得到的异构图的示意图;
34.图4为另一个实施例中语义数据处理方法的流程示意图;
35.图5为另一个实施例中建立得到的异构图的示意图;
36.图6为又一个实施例中建立得到的异构图的示意图;
37.图7为一个实施例中内容推荐方法的流程示意图;
38.图8为一个实施例中数据处理装置的结构框图;
39.图9为一个实施例中内容推荐装置的结构框图;
40.图10为一个实施例中计算机设备的内部结构图;
41.图11为一个实施例中计算机设备的内部结构图。
具体实施方式
42.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
43.本技术实施例提供的语义数据处理方法以及内容推荐方法,可以应用于如图1所
示的应用环境中。其中,终端102通过网络与服务器104进行通信。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他网络服务器上。其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、智能语音交互设备、物联网设备和便携式可穿戴设备,物联网设备可为智能音箱、智能电视、智能空调、车载终端、飞行器等。便携式可穿戴设备可为智能手表、智能手环、头戴设备等。终端上可以设有应用程序,通过该应用程序可以对服务器推荐的内容进行展示,该应用程序可以是客户端,客户端(又可称为应用客户端、app客户端)是指安装并运行在终端中的程序;应用程序也可以是指免安装的应用程序,即无需下载安装即可使用的应用程序,这类应用程序又可以称为小程序,它通常作为子程序运行于客户端中;应用程序还可以是指通过浏览器打开的web应用程序。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群或云服务器来实现。本技术对服务器和终端的数量不做限定,终端可以是一个或者多个,服务器也可以是一个或者多个。其中,多个指的是至少两个。
44.具体地,服务器104可以获取预先建立的异构图,异构图中包括通过第一关系边进行连接的用户节点和内容节点获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度,目标节点为用户节点和内容节点中的一种,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量,服务器104可以基于第一语义向量和第二语义向量用于召回目标对象,根据召回的目标对象可以向终端102进行内容推荐。
45.在一个实施例中,如图2所示,提供了一种语义数据处理方法,该方法可以由终端或者服务器单独执行,也可以由终端和服务器协同执行,在本技术实施例中,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
46.步骤202,获取预先建立的异构图;异构图中包括通过第一关系边进行连接的用户节点和内容节点。
47.其中,异构图指的是包含不同类型节点的图结构。本技术实施例中,异构图至少包括通过第一关系边进行连接的用户节点和内容节点。其中,用户节点指的是用于表征用户的节点,内容节点指的是用于表征内容的节点,这里的内容可以是图像、视频、音乐、新闻、商品等中的任意一种或者多种。第一关系边用于表征用户和内容之间的关系。在一个实施例中,第一关系边可以表征用户对内容的操作信息,举例说明,假设内容为新闻,用户a与内容b之间的第一关系边可以表征用户a对内容b的点击、浏览、收藏、分享、点赞、评论等操作中的任意一种。
48.具体地,预先建立的异构图可以存储在服务器本地,则服务器可以从本地数据库中获取到预先建立的异构图。在其他实施例中,服务器还可以通过有线或者无线通信等方式从其他计算机设备获取预先建立的异构图。
49.在一个实施例中,上述异构图可通过以下方式进行建立:将用户集合中的用户表征为用户节点,将内容集合中的内容表征为内容节点,并基于用户针对内容的操作信息建立第一关系边,以连接存在操作行为关系的用户节点和内容节点,基于用户节点、内容节点以及第一关系边,得到异构图。举例说明,如图3所示,为一个实施例中建立得到的异构图的
示意图。图3中,用户节点包括5个节点,分别表征5个不同的用户,内容节点包括6个节点,分别表征6个不同的内容。
50.步骤204,获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种。
51.其中,目标节点为用户节点和内容节点,即目标节点可以是用户节点或者内容节点。语义标签指的是具备语义信息的离散文本标签。在一个实施例中,当目标节点为内容节点时,语义标签的类型可以是实体、分词、主题(topic)、关键词、概念、类别等,举例说明,假设内容为视频,对于某个视频“猫和老鼠”,其语义标签可以包括:实体标签:猫、老鼠;主题标签:猫、老鼠、tom(猫在视频中的昵称),jerry(老鼠在视频中的昵称);类别标签:动画片、幽默剧、儿童剧等。当目标节点为用户节点时,目标节点的语义标签可以是用户的特征信息,例如,用户的兴趣爱好、性别、年龄等等。语义标签所对应的语义表征度指的是语义标签对语义的表达程度,语义表征度越大,则语义标签对语义的表达程度越大,即该语义标签越能够进行语义信息地表达。语义标签的语义表征度具体可以是语义标签的权重。
52.具体地,对于异构图中每一个目标节点,服务器可以获取该目标节点的语义标签,获取的语义标签可以是一个或者多个,这里多个指的是至少两个。对于每一个语义标签,服务器可以进一步获取该语义标签的语义表征度。
53.在一个实施例中,目标节点的语义标签可以是预先确定并保存的,例如,在建立异构图时,可以将语义标签同时作为异构图中除用户节点和内容节点之前的第三类节点,该类节点与用户节点或者内容节点通过第二关系边进行连接。在其他实施例中,目标节点的语义标签可以是服务器在获取到异构图后,根据异构图中各个目标节点所表征的信息生成的,例如,当目标节点用于表征新闻时,则对于某个目标节点所表征的新闻,服务器可以采用lda(latent dirichlet allocation)主题模型提取该新闻的主题特征作为语义标签,或者采用文本聚类算法获取该新闻的聚类类别作为语义标签。
54.在一个实施例中,语义标签的语义表征度可以是预先确定并与语义标签进行关联存储的,那么服务器在获取到某个语义标签后,可以根据关联关系获取到其对应的语义表征度。在其他实施例中,语义标签的语义表征度可以是服务器在获取到语义标签后,对语义标签进行计算得到的,例如,服务器可以采用tf-idf(term frequency

inverse document frequency)算法计算得到语义标签的权重作为语义表征度。
55.步骤206,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量。
56.其中,目标节点的第一语义向量为用于表达目标节点的语义信息的稀疏向量。可以理解的是,若目标节点为用户节点,则第一语义向量为用户节点的语义向量,用于表达用户节点的语义信息。若目标节点为内容节点,则第一语义向量为内容节点的语义向量,用于表达内容节点的语义信息。
57.具体地,对于异构图中的每一个目标节点,服务器可以将该目标节点的语义标签及语义表征度进行组合,作为该目标节点的语义向量的向量分量,从而可以得到该目标节点的第一语义向量。第一语义向量由于是更加语义标签及其语义表征度得到的,可以表达目标节点的语义标签的分布情况。
58.举例说明,假设某个目标节点有三个语义标签,分别为标签a、标签b和标签c,其
中,标签a的语义表征度为0.5,标签b的语义表征度为0.4,标签c的语义表征度为0.2,则可以得到该目标节点的语义向量为{标签a:0.5,标签b:0.4,标签c:0.2}。
59.在一个实施例中,为方便后续召回过程中的计算,服务器可以首先将目标节点的各个语义标签分别和对应的语义表征度进行组合得到各个向量分量,将各个向量分量组成的向量作为初始向量,进而可以对初始向量进行截断处理,以保留所包含的语义表征度最大的预设数量的向量分量,得到目标节点的语义向量。在另一个实施例中,服务器在得到目标节点的语义向量后,还可以对初始语义向量进行归一化处理,使得目标节点的语义向量的模长为1。归一化的方式例如可以是采用l1范数归一化或者采用l2范数归一化。
60.步骤208,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点。
61.其中,目标节点对应的目标邻居节点为与目标节点通过第一关系边进行连接的相邻节点。可以理解的是,若目标节点为用户节点,则目标节点对应的目标邻居节点为内容节点。若目标节点为内容节点,则目标节点对应的目标邻居节点为用户节点。举例说明,参考图3,假设目标节点为内容节点,对于图3中的内容节点a,其对应的目标邻居节点为用户节点a、用户节点b和用户节点c,对于图3中的内容节点b,其对应的目标邻居节点为用户节点a。
62.具体地,服务器将各个目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将各个目标节点的第一语义向量传播至各个目标节点各自的目标邻居节点,从而将目标节点的目标邻居节点赋予该目标节点的语义标签分布信息。语义向量传播至目标邻居节点后,目标邻居节点即接收到了该语义向量,目标邻居节点接收到的语义向量可以用于确定该目标邻居节点自身的语义向量。
63.举例说明,继续参考图3,假设内容节点a的第一语义向量为{标签a:0.5,标签b:0.4,标签c:0.2},则将该第一语义向量通过与之连接的三条第一关系边可以传播至用户节点a、用户节点b和用户节点c,假设内容节点b的第一语义向量为{标签d:0.7,标签b:0.3,标签c:0.3},将该语义向量通过与内容节点b连接的第一关系边传播至用户节点a,则用户节点a可以接收到两个语义向量:{标签a:0.5,标签b:0.4,标签c:0.2}以及{标签d:0.7,标签b:0.3,标签c:0.3}。
64.步骤210,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量;第一语义向量以及第二义向量,用于召回目标对象。
65.其中,目标邻居节点的第二语义向量为用于表达该邻居节点的语义信息的稀疏向量。在一个实施例中,目标节点为用户节点,目标节点的目标邻居节点为与该目标节点通过第一关系边连接的内容节点,则第二语义向量为用于表达内容节点的语义信息的稀疏向量。在另一个实施例中,目标节点为内容节点,内容节点的目标邻居节点为与该内容节点通过第一关系边连接的用户节点,则第二语义向量为用于表达用户节点的语义信息的稀疏向量。目标对象指的是需要召回的对象,该对象可以是内容,也可以是用户。召回目标对象指的从对象集合中触发返回目标对象。具体地,服务器在完成语义向量传播后,对于接收到语义向量的各个目标邻居节点,若某个目标邻居节点接收到多个语义向量,则对这多个语义向量进行融合,基于得到的融合语义向量得到该目标邻居节点的第二语义向量,若某个目标邻居节点只接收到一个语义节点,则可以直接基于该语义向量得到目标邻居节点的第二
语义向量。由于第二语义向量是基于第一语义向量得到的,第二语义向量与第一语义向量处于同一语义空间,均可表达语义标签的分布情况。
66.在一个实施例中,服务器可以基于第一语义向量和第二语义向量召回目标内容,这里召回目标内容指从内容集合中触发返回目标内容。在一个实施例中,召回的目标内容可以推荐给对其感兴趣的目标用户。在其他的实施例中,召回的目标内容可以作为检索结果,以进行内容分析。
67.在一个实施例中,由于第二语义向量与第一语义向量处于同一语义空间,服务器可以处于该语义空间中各语义向量之间的距离,具体可以是第一语义向量与第一语义向量之间的距离、第二语义向量与第二语义向量之间的距离、第一语义向量与第二语义向量之间的距离中的至少一种,召回目标对象。具体可以参考后文实施例中的描述。
68.在一个实施例中,对于接收到第一语义向量的目标邻居节点,服务器可以将该目标邻居节点接收到的多个第一语义向量进行融合,得到融合语义向量,将该融合语义向量作为该目标邻居节点的第二语义向量。举例说明,继续参考图3,对于用户节点a,其同时作为内容节点a和内容节点b的目标邻居节点,则传播至用户节点a的语义向量有两个,即{标签a:0.5,标签b:0.4,标签c:0.2}以及{标签d:0.7,标签b:0.3,标签c:0.3},则可以将这两个向量进行融合,得到用户节点a的语义向量。这里的融合指的是用一个向量表达多个向量的信息,在一个实施例中,融合得到的融合向量可以为{标签a:0.5,标签b:0.7,标签c:0.5,标签d:0.7}。
69.在一个实施例中,服务器还可以对融合向量进行截断处理,以保留所包含的语义表征度最大的预设数量的向量分量,将截断处理后的向量作为第二语义向量。在其他实施例中,服务器还可以对截断处理后的向量进行归一化,将归一化后得到的向量作为第二语义向量。
70.上述语义数据处理方法中,获取预先建立的异构图,异构图中包括通过第一关系边进行连接的用户节点和内容节点,获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量,第一语义向量以及第二义向量,用于召回目标对象,由于是基于语义向量进行召回的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高对象召回的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
71.在一个实施例中,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量,包括:将目标节点的语义标签和语义标签的语义表征度进行组合作为向量分量,得到初始向量;将初始向量进行截断处理,以在初始向量中筛选出满足预设条件的向量分量得到目标节点的第一语义向量;预设条件包括向量分量所包含的语义表征度排序在排序阈值之前或者向量分量所包含的语义表征度大于预设阈值。
72.具体地,对于目标节点的各个语义标签,服务器可以将各个语义标签和各自对应的语义表征度进行组合,得到多个向量分量,这些向量分量可以组成初始向量,服务器进一步对初始向量进行截断处理,截断处理指的是对向量的长度进行截断,从而可以在初始向量的各个向量分量中筛选出满足预设条件的向量分量,满足预设条件的这些向量分量可以用于代表其他的向量分量,筛选出的向量分量最终组成目标节点的第一语义向量。
73.在一个实施例中,预设条件为向量分量所包含的语义表征度大于预设阈值,则服务器可以从初始向量的各个向量分量中筛选出所包含的语义表征度大于预设阈值到的向量分量,将筛选出的向量分量组成第一语义向量,筛选的过程即保留筛选得到的向量分量并丢弃其他向量分量。其中,预设阈值可以根据需要进行设定。所包含的语义表征度大于预设阈值的向量分量对于目标节点的语义表达程度较强,而所包含的小于预设阈值的向量分量对于目标节点的语义表达程度较弱,因此通过选择所包含的大于预设阈值的向量分量能够对目标节点的语义信息进行更加准确地表达。
74.举例说明,假设某个目标节点包括4个语义标签,这4个标签分别和各自的语义表征度各自进行组合得到4个向量分量,这些向量分量组成初始向量为{标签a:0.5,标签b:0.7,标签c:0.3,标签d:0.6},预设阈值为0.4,则可以得到第一语义向量为{标签a:0.5,标签b:0.7,标签d:0.6}。
75.上述实施例中,通过对初始向量进行截断处理,得到第一语义向量,可以减少后续召回过程的计算量,进一步提高召回效率。
76.在一个实施例中,将初始向量进行截断处理,以在初始向量中筛选出满足预设条件的向量分量得到目标节点的第一语义向量,包括:将初始向量中各个向量分量按照其包含的语义表征度从大到小进行排序,得到第一中间向量;将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量,以得到目标节点的第一语义向量。
77.具体地,本实施例中,预设条件为向量分量所包含的语义表征度排序在排序阈值之前,则服务器在得到初始向量后,可以首先对初始向量中的各个向量分量进行从大到小排序,排序的依据为各个向量分量所包含的语义表征度,得到第一中间向量,对于得到的第一中间向量,服务器将排序在前的预设数量的向量分量保留,并丢弃其他向量分量,从而实现在初始向量中筛选出满足预设条件的向量分量,以得到目标节点的第一语义向量。其中,预设数量根据排序阈值进行确定,例如排序阈值为4,则预设数量可以为3。可以理解的是,排序在前的这些向量分量是所有的向量分量中,语义表征度最大的一些向量分量,这些向量分量对目标节点的语义表达程度也是最强的,因此得到的第一语义向量更加准确。
78.在一个实施例中,服务器可以将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后所得到的向量,直接作为第一语义向量。举例说明,假设某个目标节点的初始向量为{标签a:0.5,标签b:0.7,标签c:0.3,标签d:0.6},则可以首先对该初始向量进行排序得到第一中间向量为{标签b:0.7,标签d:0.6,标签a:0.5,标签c:0.3},预设数量为3,则可以得到第一语义向量为{标签b:0.7,标签d:0.6,标签a:0.5}。
79.可以理解的是,在其他实施例中,还可以对初始向量中的各个向量分量按照其所包含的语义表征度进行从小到大排序,得到第一中间向量,将第一中间向量中排序在后的预设数量的向量分量保留并丢弃其他向量分量,以得到目标节点的第一语义向量。
80.上述实施例中,通过对初始向量中的各个向量分量进行排序,可以准确快速的筛
选出语义表征度最大的向量分量,从而得到更为准确的第一语义向量。
81.在一个实施例中,将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量,以得到目标节点的第一语义向量,包括:将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后所得到的向量,作为第二中间向量;基于第二中间向量中各个向量分量的语义表征度,计算得到收缩基准值;基于计算得到的收缩基准值,将第二中间向量中各个向量分量所包含的语义表征度按照预设收缩方式进行收缩,得到目标节点的第一语义向量。
82.其中,收缩基准值指的是作为基准值对各个向量分量的语义表征度进行收缩后的数值。其中,收缩指的是将语义表征度按照一定的程度进行减小的过程。将语义表征度进行收缩后,语义表征度变小,从而可以方便后续召回过程的计算。
83.具体地,服务器将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后所得到的向量,作为第二中间向量,并继续对第二中间向量中各个向量分量进行收缩处理,得到目标节点的第一语义向量。如上面的例子中,假设对初始向量进行排序得到第一中间向量为{标签b:0.7,标签d:0.6,标签a:0.5,标签c:0.3},预设数量为3,则可以得到第二中间向量为{标签b:0.7,标签d:0.6,标签a:0.5},继续对该第二中间向量进行收缩处理可以得到目标节点的第一语义向量。
84.在一个实施例中,服务器可以计算第二中间向量所包含的各个语义表征度的平方和,对平方和进行开平方,得到收缩基准值,进而将第二中间向量中各个向量分量所包含的语义表征度分别除以该收缩基准值得到各个语义表征度各自的目标收缩值,用目标收缩值替换掉第二中间向量中原始的语义表征度值,得到第一语义向量。在其他实施例中,服务器还可以计算第二中间向量所包含的各个语义表征度的绝对值和作为收缩基准值,同样地,将第二中间向量中各个向量分量所包含的语义表征度分别除以该收缩基准值得到各个语义表征度各自的目标收缩值,用目标收缩值替换掉第二中间向量中原始的语义表征度值,得到第一语义向量。
85.上述实施例中,通过对第二中间向量各个语义表征度进行收缩处理,可以减少后续召回过程的计算量,提高召回效率。
86.在一个实施例中,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量,包括:将传播至目标邻居节点的各个第一语义向量中,包含相同语义标签的第一向量分量的语义表征度进行累加,将累加得到的语义表征度与相同语义标签进行组合得到第一目标向量分量;将传播至目标邻居节点的各个第一语义向量中,包含的语义标签互不相同的第二向量分量作为第二目标向量分量;基于第一目标向量分量和第二目标向量分量,得到目标邻居节点的第二语义向量。
87.其中,第一向量分量指的是多个第一语义向量各自的向量分量中所包含的语义标签相同的向量分量,多个指的是至少两个。而第二向量分量指的是多个第一语义向量各自的向量分量中,所包含的语义标签互不相同的向量分量。
88.具体地,服务器将传播至目标邻居节点的各个第一语义向量的向量分量进行比对,基于比对结果确定包含相同语义标签的向量分量,作为第一向量分量,以及基于比对结果确定包含的语义标签互不相同的向量分量,作为第二向量分量,对于每个相同语义标签,将包含该相同语义标签的第一向量分量的语义表征度进行累加,将累加得到的语义表征度
与该相同语义标签进行组合得到第一目标向量分量,对于每一个第二向量分量,将该第二向量分量作为第二目标向量分量,最后基于各个第一目标向量分量和各个第二目标向量分量得到目标邻居节点的第二语义向量。
89.举例说明,假设传播至某个目标节点的第一语义向量有三个,分别为{标签a:0.6,标签b:0.5,标签c:0.4}、{标签f:0.7,标签d:0.7,标签a:0.5}、{标签c:0.8,标签e:0.6,标签a:0.3},其中,标签a:0.6、标签a:0.5、标签a:0.3这三个向量分量包含相同的语义标签“标签a”,将这三个向量分量作为第一向量分量,对于这三个第一向量分量中的语义表征度进行累加并与“标签a”组合得到第一向量目标分量为,标签a:1.4;标签c:0.4、标签c:0.8这两个向量分量包含相同的语义标签“标签c”,将这两个向量分量作为第一向量分量,对于这两个个第一向量分量中的语义表征度进行累加并与“标签c”组合得到第一目标向量分量为,标签c:1.2;其他的向量分量,标签b:0.5、标签f:0.7、标签d:0.7、标签e:0.6都作为第二目标向量分量,最后可以将各个第一目标向量分量和各个第二目标向量分量进行组合得到目标邻居节点的第二语义向量,即{标签a:1.4,标签c:1.2,标签b:0.5,标签f:0.7,标签d:0.7,标签e:0.6}。
90.在一个实施例中,服务器可以首先将各个第一目标向量分量和各个第二目标向量分量进行组合得到中间向量,进而对中间向量进行截断处理,以在初始向量中筛选出满足预设条件的向量分量得到目标邻居节点的第二语义向量。截断处理具体可以参考上文实施例中的描述。举例说明,对于上述例子中,将各个第一目标向量分量和各个第二目标向量分量进行组合得到中间向量,即{标签a:1.4,标签c:1.2,标签b:0.5,标签f:0.7,标签d:0.7,标签e:0.6},可以对该中间向量中各个向量分量按照语义表征度从大到小排序,选取排序在前的4个向量分量得到第二语义向量,即{标签a:1.4,标签c:1.2,标签f:0.7,标签d:0.7}。
91.上述实施例中,由于可以对包含相同语义标签的第一向量分量的语义表征度进行累加得到第一目标向量分量,将包含的语义标签互不相同的第二向量分量作为第二目标向量分量,基于第一目标向量分量和第二目标向量分量得到目标邻居节点的第二语义向量,得到的第二语义向量可以很好地融合多个语义向量,从而可以准确地表达目标邻居节点的语义信息。
92.在一个实施例中,如图4所示,提供了一种语义数据处理方法,该方法可以由终端或者服务器单独执行,也可以由终端和服务器协同执行,在本技术实施例中,以该方法应用于图1中的服务器为例进行说明,该方法具体包括以下步骤:
93.步骤402,获取预先建立的异构图;异构图中包括通过第一关系边进行连接的用户节点和内容节点。
94.步骤404,获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种。
95.步骤406,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量。
96.步骤408,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点。
97.步骤410,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语
义向量。
98.上述步骤402-步骤410的具体步骤可以参考上文实施例步骤202-步骤210中的描述,本技术在此不赘述。
99.步骤412,将目标邻居节点的第二语义向量在异构图中通过第一关系边进行传播,以将目标邻居节点的第二语义向量传播至所对应的目标节点。
100.在一个实施例中,目标节点为内容节点,目标邻居节点为用户节点,则第二语义向量为用户节点的语义向量,服务器可以进一步将用户节点所对应的第二语义向量在异构图中通过第一关系边进行传播,以将用户节点所对应的第二语义向量传播至与该用户节点相连接的内容节点。
101.在另一个实施例中,目标节点为用户节点,目标邻居节点为内容节点,则第二语义向量为内容节点的语义向量,服务器可以进一步将内容节点所对应的第二语义向量在异构图中通过第一关系边进行传播,以将内容节点对应的第二语义向量传播至与该内容节点相连接的用户节点。
102.步骤414,基于传播至各个目标节点的第二语义向量,更新各个目标节点的第一语义向量。
103.具体地,服务器将传播至同一目标节点的第二语义向量进行融合,用融合后的向量替换各个目标节点的初始的第一语义向量,得到更新后的第一语义向量。可以理解的是,若传播至某个目标节点的第二语义向量只有一个,则可以直接用该向量作为更新后的第一语义向量。
104.举例说明,假设有三个目标节点分别为节点a、节点b和节点c,5个第二语义向量在异构图中进行传播,其中第二语义向量1和第二语义向量2传播至节点a,则将第二语义向量1、第二语义向量2进行融合,用融合后的向量更新节点a的第一语义向量,第二语义向量3和第二语义向量4传播至节点b,则将第二语义向量3、第二语义向量4进行融合,用融合后的向量更新节点b的第一语义向量,第二语义向量5传播至节点c,则用第二语义向量5更新节点c的第一语义向量。
105.步骤416,基于更新后的第一语义向量和第二语义向量中的至少一种,召回目标对象。
106.在一个实施例中,若目标节点为内容节点,则更新后的第一语义向量为内容节点的语义向量,第二语义向量为用户节点的语义向量,当给定某个内容节点的参考语义向量,需要召回相似内容时,可以基于参考语义向量和各个更新后的第一语义向量之间的向量距离,召回向量距离最小的预设数量的内容节点对应的内容。
107.在一个实施例中,服务器可以再次将更新后的第一语义向量按照与初始的第一语义向量相同的方式传播至目标邻居节点,以更新目标邻居节点的第二语义向量。在其他实施例中,服务器还可以将更新后的第二语义向量按照与初始的第二语义向量相同的方式传播至目标节点。可以理解的是,在其他实施例中,服务器可以进行反复地多次传播,具体传播次数本技术不做限制。但是需要说明的是,随着传播次数的增加,会导致泛化的类别类标签的语义表征度过大,从而造成对节点的表示上泛化性过强而独特性不足的问题。
108.上述实施例中,将目标邻居节点的第二语义向量再传播至目标节点,通过两轮传播,可以使得目标节点上的第一语义向量表达的语义信息更加准确,避免第一语义向量泛
化性过强而独特性不足的问题。
109.在一个实施例中,更新后的第一语义向量和第二语义向量用于作为各自对应节点的目标语义向量;基于更新后的第一语义向量和第二语义向量中的至少一种,召回目标对象,包括:从异构图中确定待推荐用户对应的用户节点作为待推荐节点;计算待推荐节点对应的目标语义向量与各个内容节点各自的目标语义向量之间的向量距离;基于各个内容节点各自对应的向量距离,从各个内容节点中选取满足距离条件的内容节点作为第一目标内容节点;从当前内容集合中召回第一目标内容节点所表征的内容,将召回的内容推荐给待推荐用户。
110.其中,当前内容集合指的是异构图中各个内容节点所对应的内容组合的集合。向量距离用于表征两个节点的语义相似度,两个节点之间的向量距离越小,则这两个节点在语义空间中越接近,即这两个节点的语义信息越接近,语义相似度越大。更新后的第一语义向量和第二语义向量用于作为各自对应节点的目标语义向量,那么:若目标节点为内容节点,则更新后的第一语义向量用于作为其对应的内容节点的目标语义向量,第二语义向量用于作为其对应的用户节点的目标语义向量;若目标节点为用户节点,则更新后的第一语义向量用于作为其对应的用户节点的目标语义向量,第二语义向量用于作为其对应的内容节点的目标语义向量。内容节点对应的向量距离指的是计算得到的待推荐节点对应的目标语义向量和该内容节点的目标语义向量之间的向量距离。
111.在一个实施例中,服务器确定了待推荐节点后,可以计算待推荐节点对应的目标语义向量与各个内容节点各自的目标语义向量之间的向量距离,得到各个内容节点各自的向量距离,从各个内容节点中选取向量距离小于预设阈值的内容节点作为第一目标内容节点。
112.在另一个实施例中,服务器在得到各个内容节点各自的向量距离后,可以基于向量距离对各个内容节点进行按照从小到大排序,根据排序结果选取排序在排序阈值之前的内容节点作为第一目标内容节点。
113.在一个实施例中,服务器在召回第一目标内容节点所表征的内容后,可以将召回的内容按照向量距离从小到大进行排序,并发送至待推荐用户的终端,待推荐用户的终端可以按照排序依次展示接收到的内容。
114.在一个实施例中,服务器在计算两个目标语义向量的向量距离时,可以计算两个目标语义向量之间的夹角余弦值得到余弦相似度,用1减去余弦相似度得到余弦距离,将余弦距离作为第二语义向量与更新后的第一语义节点之间的向量距离。
115.上述实施例中,通过计算待推荐用户对应的语义向量和当前内容集合中各个内容节点的语义向量之间的向量距离,可以快速地召回待推荐用户感兴趣的内容,从而可以提高推荐效率。
116.在一个实施例中,更新后的第一语义向量和第二语义向量用于作为各自对应节点的目标语义向量;基于更新后的第一语义向量和第二语义向量中的至少一种,召回目标对象,包括:从异构图中确定待推荐用户对应的用户节点作为待推荐节点;将异构图中,与待推荐节点通过第一关系边相连接的内容节点作为推荐参考节点,计算推荐参考节点的目标语义向量与各个内容节点中非推荐参考节点的目标语义向量之间的向量距离;基于各个非推荐参考节点各自对应的向量距离,从各个非推荐参考节点中选取满足距离条件的内容节
点作为第二目标内容节点;从当前内容集合中召回第二目标内容节点所表征的内容,将召回的内容推荐给待推荐用户。其中,非推荐参考节点指的各个内容节点中推荐参考节点之外的内容节点。非推荐参考节点对应的向量距离指的是计算得到的推荐参考节点的目标语义向量和该非推荐参考节点的目标语义向量之间的向量距离。
117.本实施例中,考虑到当用户对某个内容感兴趣时,用户很大可能也会对与该内容相似的内容同样感兴趣,基于此,服务器可以将异构图中,与待推荐节点通过第一关系边相连接的内容节点作为推荐参考节点,进而计算推荐参考节点的目标语义向量与各个内容节点中非推荐参考节点的目标语义向量之间的向量距离,由于向量距离可以表征两个节点之间的语义相似度,从而服务器可以基于各个非推荐参考节点各自对应的向量距离,从各个非推荐参考节点中选取满足距离条件的内容节点作为第二目标内容节点。此处具体的选取方式可以参考上文实施例中选取第一目标内容节点的方式,本技术在此不赘述。
118.在一个实施例中,服务器在召回第二目标内容节点所表征的内容后,将召回的内容按照向量距离从小到大进行排序,并发送至待推荐用户的终端,待推荐用户的终端可以按照排序依次展示接收到的内容。
119.上述实施例中,通过为待推荐用户确定推荐参考节点,计算推荐参考节点对应的语义向量其他内容节点的语义向量之间的向量距离,可以快速地召回待推荐用户感兴趣的内容,从而可以提高推荐效率。
120.在一个实施例中,上述方法还包括:获取当前用户集合、当前内容集合以及当前用户集合中的用户对当前内容集合中的内容的操作信息;将当前用户集合中的用户表征为用户节点,将当前内容集合中的内容表征为内容节点,并基于操作信息建立第一关系边,以连接存在操作关系的用户节点和内容节点;基于用户节点、内容节点以及第一关系边,得到异构图。
121.其中,用户对内容的操作信息指的是当该内容在用户的终端进行展示时,用户对展示的内容进行的操作。以内容为商品为例,操作信息可以是点击,浏览,收藏,加购物车,转发,置顶,评论,购买等操作中的至少一种。可以理解的是,当用户a对内容b进行了操作时,则该用户a对应的用户节点和该内容b对应的内容节点之间存在操作关系。
122.具体地,服务器在获取到当前用户集合以及当前内容集合后,对于当前用户集合中每一个用户,服务器可以获取该用户的操作日志数据,从操作日志数据中获取到用户对内容的操作信息,进而将当前用户集合中各个用户表征为各个用户节点,将当前内容集合中各个内容表征为内容节点,基于从日志中获取到的操作信息确定存在操作关系的用户节点和内容节点,从而将存在操作关系的用户节点和内容节点建立第一关系边,最后基于各个用户节点、各个内容节点以及各个第一关系边,建立得到异构图。举例说明,如图3所示,为一个实施例中,建立得到的异构图的示意图。
123.上述实施例中,通过将用户表征为用户节点,将内容表征为内容节点,并基于操作信息建立第一关系边,以连接存在操作关系的用户节点和内容节点,可以快速地建立得到异构图,并且由于第一关系边表征的是用户对内容的操作关系,召回的内容可以更好地用于推荐。
124.在一个实施例中,基于用户节点、内容节点以及第一关系边,得到异构图,包括:获取当前内容集合各个内容各自的语义标签;各个内容与各自的语义标签之间存在属性关
系;将各个语义标签表征为语义标签节点,并建立第二关系边,以连接存在属性关系的内容节点和语义标签节点;基于用户节点、内容节点、语义标签节点、第一关系边和第二关系边,得到异构图;获取异构图中目标节点的语义标签,包括:从异构图中获取与目标节点通过第二关系边连接的语义标签节点,得到目标节点的语义标签。
125.其中,内容a与语义标签b之间存在属性关系指的是该语义标签b可以作为该内容a的属性。
126.具体地,本实施例中,目标节点为内容节点。对于当前内容集合各个内容,服务器可以获取这些内容各自的语义标签,从而可以得到多个语义标签,服务器可以将这些语义标签也表征为异构图中的节点,即得到语义标签节点,并将存在属性关系的内容节点和语义标签节点之间建立第二关系边,从而基于用户节点、内容节点、语义标签节点、第一关系边和第二关系边得到异构图,此时由于异构图中存在语义标签节点,那么服务器在需要获取异构图中某个目标节点的语义标签时,可以直接从异构图中获取与该目标节点通过第二关系边连接的语义标签节点,以得到目标节点的语义标签。
127.举例说明,如图5所示,为一个实施例中建立得到的异构图的示意图。参考图5,包括用户节点、内容节点和语义标签节点,其中图5中用于连接两个节点的虚线为第一关系边,用户节点和内容节点之间通过第一关系边相连接,内容节点和语义标签节点之间通过第二关系边相连接,图5中用于连接两个节点的实线为第二关系边。
128.在其他实施例中,若目标节点为用户节点,则服务器可以获取当前用户集合各个用户各自的语义标签,其中,各个用户与各自的语义标签之间存在属性关系,将各个语义标签表征为语义标签节点,并建立第二关系边,以连接存在属性关系的用户节点和语义标签节点;基于用户节点、内容节点、语义标签节点、第一关系边和第二关系边,得到异构图,获取异构图中目标节点的语义标签,包括:从异构图中获取与目标节点通过第二关系边连接的语义标签节点,得到目标节点的语义标签。举例说明,如图6所示,为一个实施例中建立得到的异构图的示意图。参考图6,包括用户节点、内容节点和语义标签节点,其中图6中的用于连接两个节点的虚线为第一关系边,用户节点和内容节点之间通过第一关系边相连接,用户节点和语义标签节点之间通过第二关系边相连接,图6中用于连接两个节点的实线为第二关系边。
129.上述实施例中,在建立异构图时,可以将语义标签也作为节点,从而在获取语义标签时,可以直接从异构图中进行获取,提高了语义标签的获取效率。
130.在一个实施例中,目标节点的语义标签包括多个,各个语义标签组成语义标签集合;上述方法还包括:统计异构图中目标节点的数量,得到第一目标数量;对于语义标签集合中每一个语义标签,从各个目标节点各自对应的语义标签集合中统计包含语义标签的语义标签集合的数量,得到第二目标数量;基于第一目标数量和第二目标数量,计算语义标签的语义区分度;获取语义标签在其所在的语义标签集合中的出现频率,基于出现频率和语义区分度计算得到语义标签的语义表征度。
131.其中,语义标签的语义区分度指的是该语义标签区分语义信息的能力。语义区分度和第一目标数量呈正相关,即第一目标数量越大,则语义区分度越大。语义区分度与第二目标数量呈反相关,即第二目标数量越大,则语义区分度越小。语义区分度与语义表征度呈正相关,即语义区分度越大,则语义表征度越大。
132.具体地,服务器统计异构图中所有目标节点的数量,得到第一目标数量,并且对于语义标签集合中每一个语义标签,从各个目标节点各自对应的语义标签集合中统计包含语义标签的语义标签集合的数量,得到第二目标数量,基于第一目标数量和第二目标数量计算该语义标签的语义区分度。在一个实施例中,服务器可以参考以下公式(1)计算语义区分度:
133.语义区分度=log[第一目标数量/(1+第二目标数量)](1)
[0134]
进一步地,服务器获取该语义标签在其的语义标签集合中的出现频率,将语义标签对应的出现频率和语义区分度相乘得到该语义标签的语义表征度。可以理解的是,语义标签集合中各个语义标签只出现一次,因此语义标签的出现频率均为1。
[0135]
上述实施例中,通过统计得到第一目标数量和第二目标数量从而得到语义区分度,可以基于语义区分度和语义标签的出现频率得到语义表征度,对于某个语义标签的语义表征度,由于综合考虑了语义区分度,以及在该语义标签的语义标签集合中的出现频率,得到的语义表征度能够准确体现该语义标签对语义信息的表达程度。
[0136]
在一个实施例中,将目标节点的第一语义向量在异构图中通过关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点,包括:将异构图中与目标节点连接的第一关系边确定为目标关系边;获取目标关系边的权重,基于权重对第一语义向量中各个向量分量所包含的语义表征度进行加权处理;将加权处理得到的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点。
[0137]
具体地,本实施例中,异构图中的各个第一关系边都是有权重,则服务器对异构图中的某个目标节点的第一语义向量进行传播时,可以将与该目标节点相连接的第一关系边确定为目标关系边,获取目标关系标的权重,进而基于将该目标节点的第一语义向量中各个向量分量所包含的语义表征度进行加权处理,将加权处理得到的第一语义向量在异构图中通过第一关系边进行传播。
[0138]
举例说明,参考图3,在将内容节点b的第一语义向量{标签d:0.7,标签b:0.3,标签c:0.3},通过与内容节点b连接的第一关系边传播至用户节点a时,获取到该第一关系边的权重为0.3,则进行加权处理得到的第一语义向量为{标签d:0.21,标签b:0.09,标签c:0.09}。
[0139]
在一个实施例中,第一关系边的权重可以通过以下方式进行确定,对于某个第一关系边所表征的操作信息,从用户的操作日志中统计该操作信息的出现次数,以及用户的所有操作信息出现的总次数,从而计算出该第一关系边所表征的操作信息的出现次数在所有操作信息的出现的总次数中所占的比例,将该比例作为该第一关系边的权重。
[0140]
上述实施例中,通过对第一语义向量进行加权处理,可以对第一语义向量进行更加准确地传播。
[0141]
在一个实施例中,如图7所示,提供了一种内容推荐方法,该方法可以由终端或者服务器单独执行,也可以由终端和服务器协同执行,在本技术实施例中,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
[0142]
步骤702,从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取参考节点的语义向量;其中,异构图中用户节点和内容节点通过第一关系边进行连
接;用户节点用于表示当前用户集合中的用户;内容节点用于表示当前内容集合中的内容;用户节点和内容节点中其中一种为目标节点;与目标节点通过第一关系边连接的节点为目标节点的目标邻居节点;目标邻居节点的语义向量是基于通过第一关系边传播至目标邻居节点的语义向量得到的,传播至目标邻居节点的语义向量是在异构图中与目标邻居节点通过第一关系边连接的目标节点的语义向量;目标节点的语义向量是基于目标节点的语义标签及语义标签所对应的语义表征度得到的。
[0143]
步骤704,基于参考节点的语义向量召回目标对象,基于目标对象进行内容推荐。
[0144]
其中,异构图中的参考节点指的在推荐的召回过程中用于作为参考的节点。根据不同的推荐方式,参考节点可以是用户节点,或者是内容节点,或者是用户节点和内容节点。
[0145]
上述实施例中,由于是基于语义向量进行推荐的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高内容推荐的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
[0146]
在一个实施例中,目标节点为内容节点,基于参考节点的语义向量召回目标对象,基于目标对象进行内容推荐,包括:对于待推荐内容,获取待推荐内容的目标语义标签,并获取目标语义标签对应的语义表征度;待推荐内容异于当前内容集合中各个内容;基于目标语义标签及目标语义标签对应的语义表征度,确定待推荐内容的目标语义向量;基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户。
[0147]
其中,待推荐内容指的是需要进行推荐的内容。当前内容集合以及当前用户集合指的是用于生成异构图的内容、内容各自形成的集合。当前内容集合中的内容与当前用户集合中的内容之间存在操作关系。待推荐内容异于当前内容集合中各个内容,即待推荐内容为新的内容,和当前内容集合中的任何一个内容都不相同,且和当前用户集合中的内容不存在操作关系。本实施例提供的内容推荐方法可以对新的内容进行内容推荐,以实现冷启动过程中的推荐。
[0148]
具体地,对于异于当前内容集合中各个内容的待推荐内容,服务器可以获取待推荐内容的目标语义标签,并获取目标语义标签的语义表征度,将目标语义标签和目标语义标签的语义表征度组合得到向量分量,以得到待推荐内容的目标语义向量,进而可以基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户。
[0149]
在一个实施例中,参考节点为内容节点,服务器基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户具体可以是:服务器可以计算待推荐内容对应的语义向量和异构图中各个内容节点的语义向量之间的向量距离,按照向量距离从小到大对各个内容节点进行排序,选取排序在前的预设数量的内容节点作为目标内容节点,从异构图中确定与这些目标内容节点相连接的用户节点作为目标用户节点,从当前用户集合确定目标用户节点所表征的用户作为目标推荐用户,进而召回这些目标推荐用户,将待推荐内容推荐给这些目标推荐用户。可以
理解的是,本技术实施例中所指的召回用户,这里的用户指的是存储于计算机设备上用于标识用户的数据信息,例如,可以是用户标识。
[0150]
在一个实施例中,参考节点为用户节点,服务器基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户具体可以是:服务器可以计算待推荐内容对应的语义向量和异构图中各个用户节点的语义向量之间的向量距离,按照向量距离从小到大对各个用户节点进行排序,选取排序在前的预设数量的用户节点作为目标用户节点,从当前用户集合确定目标用户节点所表征的用户作为目标推荐用户,进而召回这些目标推荐用户,将待推荐内容推荐给这些目标推荐用户。
[0151]
上述实施例中,由于异构图中包括通过第一关系边进行连接的用户节点和内容节点,用户节点和内容节点均存在对应的语义向量,这些语义向量都是通过内容节点的语义标签的分布信息来表达,处于内容节点的语义标签所形成的语义空间,那么通过目标语义标签及目标语义标签对应的语义表征度,确定待推荐内容的目标语义向量,该目标语义向量与其他内容节点处于同一语义空间,从而可以基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户,实现了对新的内容进行推荐,提高内容推荐过程中的推荐效果。
[0152]
在一个实施例中,目标节点为内容节点,基于参考节点的语义向量召回目标对象,基于目标对象进行内容推荐,包括:对于待推荐用户,从当前内容集合中确定待推荐用户的初始推荐内容,将初始推荐内容推荐给待推荐用户;待推荐用户异于当前用户集合中各个用户;基于待推荐用户对初始推荐内容的操作信息,将待推荐用户作为节点添加至异构图中;将待推荐用户对应的节点作为推荐节点,将异构图中与推荐节点连接的内容节点的语义向量传播至推荐节点,以得到待推荐用户对应的语义向量;基于待推荐用户对应的语义向量和参考节点的语义向量,从当前内容集合中召回待推荐用户的目标推荐内容,将目标推荐内容推荐给待推荐用户。
[0153]
其中,待推荐用户指的是需要进行内容推荐的用户。当前内容集合以及当前用户集合指的是用于生成异构图的用户、内容各自形成的集合。当前内容集合中的内容与当前用户集合中的用户之间存在操作关系。待推荐用户异于当前用户集合中各个用户,即待推荐用户为新的用户,和当前用户集合中的任何一个用户都不相同,且和当前内容集合中的内容不存在操作关系。本实施例提供的内容推荐方法可以对新的用户进行内容推荐,以实现用户冷启动过程中的推荐。
[0154]
具体地,对于异于当前用户集合中各个用户的待推荐用户,服务器可以根据预设策略从当前内容集合中确定待推荐用户的初始推荐内容,初始推荐内容可以是一个或者多个。多个指的是至少两个。服务器进一步可以将初始推荐内容推送至待推荐用户对应的终端。其中,预设策略指的是可以用于推荐的策略,例如,热门策略,即服务器可以从当前内容集合中确定热门内容作为待推荐内容,这里的热门可以理解为热度高,例如,该内容与绝大多数的用户之间都存在操作关系。
[0155]
服务器将初始推荐内容推荐给待推荐用户后,待推荐用户的终端可以展示待推荐内容,待推荐用户可以对展示的待推荐内容中的一个或者多个内容进行操作,例如,点击、浏览、收藏等等中任意一种或者多种。服务器进而可以获取到该待推荐用户的操作信息,基
于该操作信息确定与待推荐用户存在操作关系的内容,进而将待推荐用户表征为异构图中的用户节点,并建立该用户节点与存在操作关系的内容之间的第一关系边,从而实现将待推荐用户作为用户节点添加至异构图中。
[0156]
服务器将待推荐用户对应的节点作为推荐节点,将异构图中与推荐节点连接的内容节点的语义向量传播至推荐节点,若推荐节点接收到多个语义向量,则将这些语义向量进行融合,将融合得到的向量作为待推荐用户对应的语义向量。其中融合的具体步骤可以参考上文实施例中的描述。
[0157]
在一个实施例中,参考节点为内容节点,服务器基于待推荐用户对应的语义向量和参考节点的语义向量,从当前内容集合中召回待推荐用户的目标推荐内容,将目标推荐内容推荐给待推荐用户具体可以是:服务器可以计算待推荐用户对应的语义向量和异构图中各个内容节点的语义向量之间的向量距离,按照向量距离从小到大对各个内容节点进行排序,选取排序在前的预设数量的内容节点作为目标内容节点,从当前内容集合确定目标内容节点所表征的内容作为目标推荐内容,进而召回这些目标推荐内容推荐给待推荐用户。
[0158]
在一个实施例中,参考节点为用户节点,服务器基于待推荐用户对应的语义向量和参考节点的语义向量,从当前内容集合中召回待推荐用户的目标推荐内容,将目标推荐内容推荐给待推荐用户具体可以是:服务器可以计算待推荐用户对应的语义向量和异构图中其他用户节点的语义向量之间的向量距离,按照向量距离从小到大对各个用户节点进行排序,选取排序在前的预设数量的用户节点作为目标用户节点,将与目标用户节点相连接的内容节点作为目标内容节点,从当前内容集合确定目标内容节点所表征的内容作为目标推荐内容,进而召回这些目标推荐内容推荐给待推荐用户。
[0159]
上述实施例中,由于异构图中包括通过第一关系边进行连接的用户节点和内容节点,用户节点和内容节点均存在对应的语义向量,这些语义向量都是通过内容节点的语义标签的分布信息来表达,处于内容节点的语义标签所形成的语义空间,因此可以将异构图中与推荐节点连接的内容节点的语义向量传播至推荐节点,以得到处于同一语义空间的待推荐用户对应的语义向量,进而基于该语义向量和参考节点的语义向量,从当前内容集合中召回待推荐用户的目标推荐内容推荐给待推荐用户,实现了对新用户进行个性化推荐,提高内容推荐过程中的推荐效果。
[0160]
本技术还提供一种应用场景,该应用场景应用上述的语义数据处理方法和内容推荐方法。该应用场景中,根据“用户
”‑“
内容
”‑“
语义标签”的异构图得到图中用户与内容的稀疏向量(即上文的语义向量),以实现内容推荐。
[0161]
具体地,以应用于服务器为例,该语义数据处理方法和内容推荐方法在该应用场景的应用如下:
[0162]
1、构建“用户
”‑“
内容
”‑“
语义标签”的异构图
[0163]
首先,根据用户的操作日志以及物料库中的商品属性标签,得到一个“用户
”‑“
内容
”‑“
语义标签”的异构图。如图5所示,为异构图的示意图。该异构图中节点主要分为3种:第一种节点是“用户”节点,第二种节点是“内容”节点,第三种节点是内容的“语义标签”节点。这3种节点的主要有两种关系:
[0164]
1.1、“用户操作”关系:用户操作关系数据可以通过用户操作日志得到。用户操作
可以包括对内容的评分、点赞、观看、点击、评论、收藏、加入购物车、购买等行为。这些操作中的一种或几种都可以作为该异构图中连接“用户
”‑“
内容”的边。
[0165]
1.2、“内容属性”关系:主要是描述内容的离散“语义标签”特征,可以是:实体、分词、主题(topic)、关键词、概念、类别等离散文本标签。
[0166]
2、“用户”与“内容”节点的稀疏向量生成
[0167]
服务器可以用标签向量传播的方法来得到用户与内容节点上的“语义标签”稀疏向量。具体来说:
[0168]
2.1、生成内容节点的语义向量。
[0169]
1)、将目标节点的语义标签和语义标签的权重进行组合作为向量分量,得到初始向量。其中,语义标签的权重通过以下方式进行计算:
[0170]
首先保证每个内容中的每个标签只能出现一次,将每个内容看做一个文档,计算每个标签的idf分数,因为每个内容中的每个标签只能出现一次,所以每个文档中的每个标签的tf分数均为1,然后即可算出每个文章中各个标签的tf-idf得分,将tf-idf得分作为语义标签的权重。
[0171]
2)、将初始向量中各个向量分量按照其包含的权重从大到小进行排序,得到第一中间向量。
[0172]
3)、将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后作为第二中间向量。
[0173]
4)对第二中间向量,通过l2范数归一化,使得向量的模长为1,得到内容节点的语义向量。
[0174]
2.2、将内容节点的语义向量传播至用户节点
[0175]
具体地,将内容节点的语义向量沿着连接内容节点和用户节点的关系边传播至用户节点上,并将传播至同一用户节点的语义向量进行融合,对融合后的向量中各个向量分量按照其所所包含的权重从大到小进行排序,以截断得到排序在前的预设数量的向量分量后,再通过l2范数归一化,使得向量的模长为1,得到用户节点的语义向量。
[0176]
2.3、将用户节点的语义向量再传播至内容节点
[0177]
具体地,将用户节点的语义向量沿着连接内容节点和用户节点的关系边传播至内容节点上,并将传播至同一内容节点的语义向量进行融合,对融合后的向量中各个向量分量按照其所所包含的权重从大到小进行排序,以截断得到排序在前的预设数量的向量分量后,再通过l2范数归一化,使得向量的模长为1,得到当前语义向量,用当前语义向量替换内容节点的初始语义向量,得到各个内容节点的语义向量。
[0178]
2.4、内容推荐
[0179]
1)、对于异构图中已有的内容节点或者用户节点,通过计算该节点与异构图中其他节点之间的向量距离,实现内容推荐。具体可参考上文实施例中的描述。
[0180]
2)、对于新的内容,尚未有任何用户操作关系可以构建“用户”与新“内容”连接时,不再依赖用户的“语义标签”向量构建内容的向量,而是使用内容自带的“语义标签”,通过语义标签的idf分数计算其tf-idf分数,得到权重,进而得到该内容的语义向量。这些新“内容”的语义向量,与在“用户
”‑“
内容
”‑“
语义标签”的异构图中学习到的节点的稀疏向量在同一向量空间,因此可以根据该向量与“用户
”‑“
内容
”‑“
语义标签”的异构图中用户节点或
内容节点计算距离,实现内容推荐。具体可以参考上文实施例中的描述。
[0181]
3)、对于新的用户,首先按照一些简单策略对用户进行推荐,例如:热门策略等。在用户有少量操作后,即可构建该用户与这些内容节点的关系边,通过该关系边将内容节点上的向量传播至新用户节点上,得到新用户在内容节点的语义标签所构成的向量空间中的稀疏向量。最后,可以根据该向量与“用户
”‑“
内容
”‑“
语义标签”的异构图中用户节点或内容节点计算距离,以实现内容推荐。具体可以参考上文实施例中的描述。
[0182]
本实施例具有如下有益效果:
[0183]
1)较为轻量级,可以利用常见的分布式数据平台,如:spark、hadoop,即可得到相关的节点稀疏向量表示。
[0184]
2)生成的向量可解释性强利于找到向量生成的原因与定位向量生成过程中出现的错误。
[0185]
3)能为异构图中的所有用户节点根据其操作赋予相关的稀疏向量,从而缓解用户冷启动的问题。
[0186]
4)对新加入内容节点友好,可迅速得到其语义向量,然后可以与已有语义向量的用户节点或内容节点计算距离,由此得到推荐结果。
[0187]
5)两次相同的输入对相同节点的稀疏表示差异不大,相较于嵌入表示的模型训练结果,本实施例中不必要求每次都需要用模型的新输出替换掉已有的节点表示,这样可以极大地减小系统维护的负担。
[0188]
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0189]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的语义数据处理方法的语义数据处理装置,以及一种用于实现上述所涉及的内容推荐方法的内容推荐装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个语义数据处理装置/内容推荐装置实施例中的具体限定可以参见上文中对于语义数据处理方法/内容推荐方法的限定,在此不再赘述。
[0190]
在一个实施例中,如图8所示,提供了一种语义数据处理装置800,包括:
[0191]
异构图获取模块802,用于获取预先建立的异构图;异构图中包括通过第一关系边进行连接的用户节点和内容节点;
[0192]
语义标签获取模块804,用于获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种;
[0193]
第一向量确定模块806,用于基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量;
[0194]
向量传播模块808,用于将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点;
[0195]
第二向量确定模块810,用于基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量;第一语义向量以及第二义向量,用于召回目标对象。
[0196]
上述语义数据处理装置,获取预先建立的异构图,异构图中包括通过第一关系边进行连接的用户节点和内容节点,获取异构图中目标节点的语义标签,并获取语义标签所对应的语义表征度;目标节点为用户节点和内容节点中的一种,基于目标节点的语义标签及语义标签所对应的语义表征度,确定目标节点的第一语义向量,将目标节点的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点,基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量,第一语义向量以及第二义向量,用于召回目标对象,由于是基于语义向量进行召回的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高对象召回的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
[0197]
在一个实施例中,第一向量确定模块806,用于将目标节点的语义标签和语义标签的语义表征度进行组合作为向量分量,得到初始向量;将初始向量进行截断处理,以在初始向量中筛选出满足预设条件的向量分量得到目标节点的第一语义向量;预设条件包括向量分量所包含的语义表征度排序在排序阈值之前或者向量分量所包含的语义表征度大于预设阈值。
[0198]
在一个实施例中,第一向量确定模块806,还用于将初始向量中各个向量分量按照其包含的语义表征度从大到小进行排序,得到第一中间向量;将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量,以得到目标节点的第一语义向量。
[0199]
在一个实施例中,第一向量确定模块806,还用于将第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后所得到的向量,作为第二中间向量;基于第二中间向量中各个向量分量的语义表征度,计算得到收缩基准值;基于计算得到的收缩基准值,将第二中间向量中各个向量分量所包含的语义表征度按照预设收缩方式进行收缩,得到目标节点的第一语义向量。
[0200]
在一个实施例中,第二向量确定模块810,还用于将传播至目标邻居节点的各个第一语义向量中,包含相同语义标签的第一向量分量的语义表征度进行累加,将累加得到的语义表征度与相同语义标签进行组合得到第一目标向量分量;将传播至目标邻居节点的各个第一语义向量中,包含的语义标签互不相同的第二向量分量作为第二目标向量分量;基于第一目标向量分量和第二目标向量分量,得到目标邻居节点的第二语义向量。
[0201]
在一个实施例中,上述装置还包括:对象召回模块,用于将目标邻居节点的第二语义向量在异构图中通过第一关系边进行传播,以将目标邻居节点的第二语义向量传播至所对应的目标节点;基于传播至各个目标节点的第二语义向量,更新各个目标节点的第一语义向量;基于更新后的第一语义向量和第二语义向量中的至少一种,召回目标对象。
[0202]
在一个实施例中,更新后的第一语义向量和第二语义向量用于作为各自对应节点的目标语义向量,对象召回模块,还用于从异构图中确定待推荐用户对应的用户节点作为待推荐节点;计算待推荐节点对应的目标语义向量与各个内容节点各自的目标语义向量之
间的向量距离;基于各个内容节点各自对应的向量距离,从各个内容节点中选取满足距离条件的内容节点作为第一目标内容节点;从当前内容集合中召回第一目标内容节点所表征的内容,将召回的内容推荐给待推荐用户。
[0203]
在一个实施例中,更新后的第一语义向量和第二语义向量用于作为各自对应节点的目标语义向量,对象召回模块,还用于从异构图中确定待推荐用户对应的用户节点作为待推荐节点;将异构图中,与待推荐节点通过第一关系边相连接的内容节点作为推荐参考节点,计算推荐参考节点的目标语义向量与各个内容节点中非推荐参考节点的目标语义向量之间的向量距离;基于各个非推荐参考节点各自对应的向量距离,从各个非推荐参考节点中选取满足距离条件的内容节点作为第二目标内容节点;从当前内容集合中召回第二目标内容节点所表征的内容,将召回的内容推荐给待推荐用户。
[0204]
在一个实施例中,上述方法还包括:异构图建立模块,用于获取当前用户集合、当前内容集合以及当前用户集合中的用户对当前内容集合中的内容的操作信息;将当前用户集合中的用户表征为用户节点,将当前内容集合中的内容表征为内容节点,并基于操作信息建立第一关系边,以连接存在操作关系的用户节点和内容节点;基于用户节点、内容节点以及第一关系边,得到异构图。
[0205]
在一个实施例中,异构图建立模块,还用于获取当前内容集合各个内容各自的语义标签;各个内容与各自的语义标签之间存在属性关系;将各个语义标签表征为语义标签节点,并建立第二关系边,以连接存在属性关系的内容节点和语义标签节点;基于用户节点、内容节点、语义标签节点、第一关系边和第二关系边,得到异构图;语义标签获取模块,还用于从异构图中获取与目标节点通过第二关系边连接的语义标签节点,得到目标节点的语义标签。
[0206]
在一个实施例中,目标节点的语义标签包括多个,各个语义标签组成语义标签集合;上述方法还包括:语义表征度计算模块,用于统计异构图中目标节点的数量,得到第一目标数量;对于语义标签集合中每一个语义标签,从各个目标节点各自对应的语义标签集合中统计包含语义标签的语义标签集合的数量,得到第二目标数量;基于第一目标数量和第二目标数量,计算语义标签的语义区分度;获取语义标签在其所在的语义标签集合中的出现频率,基于出现频率和语义区分度计算得到语义标签的语义表征度。
[0207]
在一个实施例中,向量传播模块,还用于将异构图中与目标节点连接的第一关系边确定为目标关系边;获取目标关系边的权重,基于权重对第一语义向量中各个向量分量所包含的语义表征度进行加权处理;将加权处理得到的第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点。
[0208]
上述语义数据处理装置以及内容推荐装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0209]
在一个实施例中,如图9所示,提供了一种内容推荐装置900,包括:
[0210]
获取模块902,用于从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取参考节点的语义向量;其中,异构图中用户节点和内容节点通过第一关系边进行连接;用户节点用于表示当前用户集合中的用户;内容节点用于表示当前内容集合
中的内容;用户节点和内容节点中其中一种为目标节点;与目标节点通过第一关系边连接的节点为目标节点的目标邻居节点;目标邻居节点的语义向量是基于通过第一关系边传播至目标邻居节点的语义向量得到的;传播至目标邻居节点的语义向量是在异构图中与目标邻居节点通过第一关系边连接的目标节点的语义向量,目标节点的语义向量是基于目标节点的语义标签及语义标签所对应的语义表征度得到的。
[0211]
推荐模块904,用于基于参考节点的语义向量召回目标对象,基于目标对象进行内容推荐。
[0212]
上述内容推荐装置,由于是基于语义向量进行推荐的,而语义向量表达的是语义信息,对于同一节点,其语义信息较为稳定,因此不需要每次都去替换已经得到的语义向量,从而可以提高内容推荐的效率,由于不需要替换语义向量,本技术还可以极大地减小数据库的维护负担。并且,由于生成的语义向量的语义信息是通过标签分布来进行表达的,可解释性强,有利于找到向量生成的原因以及定位向量生成过程中出现的错误。
[0213]
在一个实施例中,推荐模块904,还用于对于待推荐内容,获取待推荐内容的目标语义标签,并获取目标语义标签对应的语义表征度;待推荐内容异于当前内容集合中各个内容;基于目标语义标签及目标语义标签对应的语义表征度,确定待推荐内容的目标语义向量;基于目标语义向量和参考节点的语义向量,从当前用户集合中召回待推荐内容的目标推荐用户,将待推荐内容推荐给目标推荐用户。
[0214]
在一个实施例中,推荐模块904,还用于对于待推荐用户,从当前内容集合中确定待推荐用户的初始推荐内容,将初始推荐内容推荐给待推荐用户;待推荐用户异于当前用户集合中各个用户;基于待推荐用户对初始推荐内容的操作信息,将待推荐用户作为节点添加至异构图中;将待推荐用户对应的节点作为推荐节点,将异构图中与推荐节点连接的内容节点的语义向量传播至推荐节点,以得到待推荐用户对应的语义向量;基于待推荐用户对应的语义向量和参考节点的语义向量,从当前内容集合中召回待推荐用户的目标推荐内容,将目标推荐内容推荐给待推荐用户。
[0215]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储语义向量数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种语义数据处理方法或者一种内容推荐方法。
[0216]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性
存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种语义数据处理方法或者一种内容推荐方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置,显示屏可以是液晶显示屏或电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
[0217]
本领域技术人员可以理解,图10和图11中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0218]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的语义数据处理方法或者内容推荐方法的步骤。
[0219]
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的语义数据处理方法或者内容推荐方法的步骤。
[0220]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的语义数据处理方法或者内容推荐方法的步骤。
[0221]
需要说明的是,本技术所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0222]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形
处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0223]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0224]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。

技术特征:
1.一种语义数据处理方法,其特征在于,所述方法包括:获取预先建立的异构图;所述异构图中包括通过第一关系边进行连接的用户节点和内容节点;获取所述异构图中目标节点的语义标签,并获取所述语义标签所对应的语义表征度;所述目标节点为所述用户节点和所述内容节点中的一种;基于所述目标节点的语义标签及所述语义标签所对应的语义表征度,确定所述目标节点的第一语义向量;将所述目标节点的第一语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点;基于传播至所述目标邻居节点的第一语义向量,确定所述目标邻居节点的第二语义向量;所述第一语义向量以及所述第二义向量,用于召回目标对象。2.根据权利要求1所述的方法,其特征在于,所述基于所述目标节点的语义标签及所述语义标签所对应的语义表征度,确定所述目标节点的第一语义向量,包括:将所述目标节点的语义标签和所述语义标签的语义表征度进行组合作为向量分量,得到初始向量;将所述初始向量进行截断处理,以在所述初始向量中筛选出满足预设条件的向量分量得到所述目标节点的第一语义向量;所述预设条件包括向量分量所包含的语义表征度排序在排序阈值之前或者向量分量所包含的语义表征度大于预设阈值。3.根据权利要求2所述的方法,其特征在于,所述将所述初始向量进行截断处理,以在所述初始向量中筛选出满足预设条件的向量分量得到所述目标节点的第一语义向量,包括:将所述初始向量中各个向量分量按照其包含的语义表征度从大到小进行排序,得到第一中间向量;将所述第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量,以得到所述目标节点的第一语义向量。4.根据权利要求3所述的方法,其特征在于,所述将所述第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量,以得到所述目标节点的第一语义向量,包括:将所述第一中间向量中排序在前的预设数量的向量分量保留并丢弃其他向量分量后所得到的向量,作为第二中间向量;基于所述第二中间向量中各个向量分量的语义表征度,计算得到收缩基准值;基于计算得到的收缩基准值,将所述第二中间向量中各个向量分量所包含的语义表征度按照预设收缩方式进行收缩,得到所述目标节点的第一语义向量。5.根据权利要求1所述的方法,其特征在于,所述基于传播至所述目标邻居节点的第一语义向量,确定所述目标邻居节点的第二语义向量,包括:将传播至所述目标邻居节点的各个第一语义向量中,包含相同语义标签的第一向量分量的语义表征度进行累加,将累加得到的语义表征度与所述相同语义标签进行组合得到第一目标向量分量;将传播至所述目标邻居节点的各个第一语义向量中,包含的语义标签互不相同的第二
向量分量作为第二目标向量分量;基于所述第一目标向量分量和所述第二目标向量分量,得到所述目标邻居节点的第二语义向量。6.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述目标邻居节点的第二语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标邻居节点的第二语义向量传播至所对应的目标节点;基于传播至各个所述目标节点的第二语义向量,更新各个所述目标节点的第一语义向量;基于更新后的第一语义向量和所述第二语义向量中的至少一种,召回目标对象。7.根据权利要求6所述的方法,其特征在于,所述更新后的第一语义向量和所述第二语义向量用于作为各自对应节点的目标语义向量;所述基于更新后的第一语义向量和所述第二语义向量中的至少一种,召回目标对象,包括:从所述异构图中确定待推荐用户对应的用户节点作为待推荐节点;计算所述待推荐节点对应的目标语义向量与各个所述内容节点各自的目标语义向量之间的向量距离;基于各个所述内容节点各自对应的向量距离,从各个所述内容节点中选取满足距离条件的内容节点作为第一目标内容节点;从当前内容集合中召回所述第一目标内容节点所表征的内容,将召回的内容推荐给所述待推荐用户。8.根据权利要求6所述的方法,其特征在于,所述更新后的第一语义向量和所述第二语义向量用于作为各自对应节点的目标语义向量;所述基于更新后的第一语义向量和所述第二语义向量中的至少一种,召回目标对象,包括:从所述异构图中确定待推荐用户对应的用户节点作为待推荐节点;将所述异构图中,与所述待推荐节点通过所述第一关系边相连接的内容节点作为推荐参考节点,计算所述推荐参考节点的目标语义向量与各个内容节点中非推荐参考节点的目标语义向量之间的向量距离;基于各个所述非推荐参考节点各自对应的向量距离,从各个所述非推荐参考节点中选取满足距离条件的内容节点作为第二目标内容节点;从当前内容集合中召回所述第二目标内容节点所表征的内容,将召回的内容推荐给所述待推荐用户。9.根据权利要求1所述的方法,其特征在于,所述方法还包括:获取当前用户集合、当前内容集合以及当前用户集合中的用户对当前内容集合中的内容的操作信息;将所述当前用户集合中的用户表征为用户节点,将所述当前内容集合中的内容表征为内容节点,并基于所述操作信息建立第一关系边,以连接存在操作关系的用户节点和内容节点;基于所述用户节点、所述内容节点以及所述第一关系边,得到所述异构图。10.根据权利要求9所述的方法,其特征在于,所述基于所述用户节点、所述内容节点以及所述第一关系边,得到所述异构图,包括:
获取所述当前内容集合各个内容各自的语义标签;各个所述内容与各自的语义标签之间存在属性关系;将各个所述语义标签表征为语义标签节点,并建立第二关系边,以连接存在属性关系的内容节点和语义标签节点;基于所述用户节点、所述内容节点、所述语义标签节点、所述第一关系边和所述第二关系边,得到所述异构图;所述获取所述异构图中目标节点的语义标签,包括:从所述异构图中获取与所述目标节点通过第二关系边连接的语义标签节点,得到所述目标节点的语义标签。11.根据权利要求1所述的方法,其特征在于,所述目标节点的语义标签包括多个,各个语义标签组成语义标签集合;所述方法还包括:统计所述异构图中目标节点的数量,得到第一目标数量;对于所述语义标签集合中每一个语义标签,从各个所述目标节点各自对应的语义标签集合中统计包含所述语义标签的语义标签集合的数量,得到第二目标数量;基于所述第一目标数量和第二目标数量,计算所述语义标签的语义区分度;获取所述语义标签在其所在的语义标签集合中的出现频率,基于所述出现频率和所述语义区分度计算得到所述语义标签的语义表征度。12.根据权利要求1所述的方法,其特征在于,所述将所述目标节点的第一语义向量在所述异构图中通过所述关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点,包括:将所述异构图中与所述目标节点连接的第一关系边确定为目标关系边;获取所述目标关系边的权重,基于所述权重对所述第一语义向量中各个向量分量所包含的语义表征度进行加权处理;将加权处理得到的第一语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点。13.一种内容推荐方法,其特征在于,所述方法包括:从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取所述参考节点的语义向量;其中,所述异构图中用户节点和内容节点通过第一关系边进行连接;所述用户节点用于表示当前用户集合中的用户;所述内容节点用于表示当前内容集合中的内容;所述用户节点和内容节点中其中一种为目标节点;与所述目标节点通过第一关系边连接的节点为所述目标节点的目标邻居节点;所述目标邻居节点的语义向量是基于通过所述第一关系边传播至所述目标邻居节点的语义向量得到的,传播至所述目标邻居节点的语义向量是在所述异构图中与所述目标邻居节点通过所述第一关系边连接的目标节点的语义向量;所述目标节点的语义向量是基于所述目标节点的语义标签及所述语义标签所对应的语义表征度得到的;基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行内容推荐。14.根据权利要求13所述的方法,其特征在于,所述目标节点为内容节点,所述基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行内容推荐,包括:
对于待推荐内容,获取所述待推荐内容的目标语义标签,并获取所述目标语义标签对应的语义表征度;所述待推荐内容异于所述当前内容集合中各个内容;基于所述目标语义标签及所述目标语义标签对应的语义表征度,确定所述待推荐内容的目标语义向量;基于所述目标语义向量和所述参考节点的语义向量,从当前用户集合中召回所述待推荐内容的目标推荐用户,将所述待推荐内容推荐给所述目标推荐用户。15.根据权利要求13所述的方法,其特征在于,所述目标节点为内容节点,所述基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行内容推荐,包括:对于待推荐用户,从所述当前内容集合中确定所述待推荐用户的初始推荐内容,将所述初始推荐内容推荐给所述待推荐用户;所述待推荐用户异于所述当前用户集合中各个用户;基于所述待推荐用户对所述初始推荐内容的操作信息,将所述待推荐用户作为节点添加至所述异构图中;将所述待推荐用户对应的节点作为推荐节点,将所述异构图中与所述推荐节点连接的内容节点的语义向量传播至所述推荐节点,以得到所述待推荐用户对应的语义向量;基于所述待推荐用户对应的语义向量和所述参考节点的语义向量,从所述当前内容集合中召回所述待推荐用户的目标推荐内容,将所述目标推荐内容推荐给所述待推荐用户。16.一种语义数据处理装置,其特征在于,所述装置包括:异构图获取模块,用于获取预先建立的异构图;所述异构图中包括通过第一关系边进行连接的用户节点和内容节点;语义标签获取模块,用于获取所述异构图中目标节点的语义标签,并获取所述语义标签所对应的语义表征度;所述目标节点为所述用户节点和所述内容节点中的一种;第一向量确定模块,用于基于所述目标节点的语义标签及所述语义标签所对应的语义表征度,确定所述目标节点的第一语义向量;向量传播模块,用于将所述目标节点的第一语义向量在所述异构图中通过所述第一关系边进行传播,以将所述目标节点的第一语义向量传播至所对应的目标邻居节点;第二向量确定模块,用于基于传播至所述目标邻居节点的第一语义向量,确定所述目标邻居节点的第二语义向量;所述第一语义向量以及所述第二义向量,用于召回目标对象。17.一种内容推荐装置,其特征在于,所述装置包括:获取模块,用于从异构图所包括的用户节点和内容节点中确定用于内容推荐的参考节点,获取所述参考节点的语义向量;其中,所述异构图中用户节点和内容节点通过第一关系边进行连接;所述用户节点用于表示当前用户集合中的用户;所述内容节点用于表示当前内容集合中的内容;所述用户节点和内容节点中其中一种为目标节点;与所述目标节点通过第一关系边连接的节点为所述目标节点的目标邻居节点;所述目标邻居节点的语义向量是基于通过所述第一关系边传播至所述目标邻居节点的语义向量得到的;传播至所述目标邻居节点的语义向量是在所述异构图中与所述目标邻居节点通过所述第一关系边连接的目标节点的语义向量,所述目标节点的语义向量是基于所述目标节点的语义标签及所述语义标签所对应的语义表征度得到的;推荐模块,用于基于所述参考节点的语义向量召回目标对象,基于所述目标对象进行
内容推荐。18.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至15中任一项所述的方法的步骤。19.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。20.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至15中任一项所述的方法的步骤。

技术总结
本申请涉及一种语义数据处理、内容推荐方法、装置和计算机设备。其中语义数据处理方法包括:获取异构图;异构图中包括通过第一关系边进行连接的用户节点和内容节点;获取目标节点的语义标签以及语义标签的语义表征度,目标节点为用户节点和内容节点中的一种;基于目标节点的语义标签及语义标签的语义表征度,确定目标节点的第一语义向量;将第一语义向量在异构图中通过第一关系边进行传播,以将目标节点的第一语义向量传播至所对应的目标邻居节点;基于传播至目标邻居节点的第一语义向量,确定目标邻居节点的第二语义向量;第一语义向量以及第二义向量用于召回目标对象。其中内容节点可以表征音乐或者视频。采用本方法能够提供召回效率。回效率。回效率。


技术研发人员:叶祺 王峰
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2022.01.29
技术公布日:2023/8/14
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐