Space-time dynamic perception-based point of interest recommendation method, system and storage medium

By constructing a heterogeneous graph group and relational graph convolutional network, and combining it with a dynamic information aggregation model with an information enhancement layer and a spatiotemporal self-attention layer, the problem of capturing users' dynamic behavioral intentions and the dynamic activity connotations of points of interest is solved, achieving more accurate point of interest recommendations.

CN117435819BActive Publication Date: 2025-10-21JINGDONG CITY BEIJING DIGITS TECH CO LTD +1
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202311515112.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-11-14
Publication Date
2025-10-21
Estimated Expiration
2043-11-14

AI Technical Summary

Technical Problem

Existing technologies cannot effectively capture users' dynamic behavioral intentions and the dynamic activity connotations of points of interest in different time contexts, resulting in insufficient accuracy in point of interest recommendations.

Method used

By constructing a heterogeneous graph group, using the relational graph convolutional network to learn the node embedding vector representation, and combining the information enhancement layer, spatiotemporal self-attention layer and candidate interest point attention scoring layer, the dynamic aggregation model is trained to recommend personalized interest points.

Benefits of technology

The accuracy of POI recommendations is improved, and it can reflect the user's dynamic behavioral intentions and the dynamic activity connotations of POIs in different time contexts, providing more accurate personalized recommendations.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117435819B_ABST
    Figure CN117435819B_ABST
Patent Text Reader

Abstract

The present disclosure provides a spatio-temporal dynamic perception point recommendation method, system and storage medium, data processing field. The method comprises: constructing a heterogeneous graph group according to each first check-in record in a plurality of user trajectories, and dividing by time slot, each heterogeneous graph in the heterogeneous graph group comprising a user node, a point of interest node, a region node, a category node, and an edge relationship between the nodes; learning an embedding vector representation of each node in each heterogeneous graph by using a relational graph convolution network; and training a dynamic information aggregation model based on the embedding vector representation of each node, each second check-in record in a target user trajectory, and a label value of each candidate point of interest, so as to recommend a point of interest to the target user by using the trained dynamic information aggregation model. The present disclosure realizes the capture of the dynamic behavior intention of the user in the location-based social network and the dynamic activity connotation of the POI, and improves the accuracy of the point of interest recommendation.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of data processing, and more particularly to a method, system, and storage medium for recommending points of interest based on spatiotemporal dynamic perception. Background Art

[0002] Location-Based Social Networks (LBSNs) provide users with a platform and opportunity to share points of interest, post, and interact with others. Personalized location-based recommendation services attract a large number of users to social platforms and provide service providers with opportunities for targeted advertising. Among the many location-based recommendation tasks, next point of interest recommendation is the most prominent and widely used task. It recommends users the next destination or activity they might be interested in.

[0003] In related technologies, the main focus is to learn a high-quality embedding representation for each user from a global perspective for personalized next point of interest recommendation. Summary of the Invention

[0004] A technical problem to be solved by the present disclosure is to provide a method, system and storage medium for recommending points of interest with spatiotemporal dynamic perception, which can improve the accuracy of point of interest recommendations.

[0005] According to one aspect of the present disclosure, a method for recommending points of interest is proposed, including: constructing a heterogeneous graph group based on each first check-in record in multiple user trajectories and dividing them into time slots, where each heterogeneous graph in the heterogeneous graph group includes a user node, a point of interest node, a region node, a category node, and edge relationships between the nodes; using a relational graph convolutional network to learn an embedded vector representation of each node in each heterogeneous graph; and training a dynamic information aggregation model based on the embedded vector representation of each node, each second check-in record in the target user's trajectory, and the label value of each candidate point of interest, so as to recommend points of interest to the target user using the trained dynamic information aggregation model.

[0006] In some embodiments, a relational graph convolutional network is used to learn and obtain an embedded vector representation of each node in each heterogeneous graph, including: initializing an embedding vector for each node in each heterogeneous graph to obtain an initialized embedding vector matrix for each node; using the initialized embedding vector matrix of each node, edge relationships, neighbor nodes of each node, and a message aggregation function to construct a correspondence between the embedding vector representation of each node in the lth layer of the relational graph convolutional network and the embedding vector representation of the l+1th layer, where l is a positive integer; and based on a first loss function, training the relational graph convolutional network to learn and obtain the embedded vector representation of each node in each time slot.

[0007] In some embodiments, constructing a correspondence between the embedding vector representation of each node in the lth layer of the graph convolution network and the embedding vector representation of the l+1th layer includes: constructing a first transformation matrix of each edge relationship in each heterogeneous graph in the lth layer of the graph convolution network, and a second transformation matrix of each node in each heterogeneous graph in the lth layer of the graph convolution network; normalizing the product of the embedding vector representation of the jth neighbor node of the i-th node in each heterogeneous graph in the lth layer of the graph convolution network and the first transformation matrix of the rth edge relationship of the i-th node in the lth layer of the graph convolution network to obtain The first value, i is a positive integer, ts is a positive integer, j is a positive integer, and r is a positive integer; the first values ​​corresponding to all neighbor nodes of the i-th node are summed to obtain the second value; the second values ​​corresponding to all edge relationships of the i-th node are summed to obtain the third value; the embedding vector representation of the i-th node in the l-th layer of the relational graph convolutional network is calculated, and the product of the second transformation matrix of the i-th node in the l-th layer of the relational graph convolutional network is obtained to obtain the fourth value; and the message aggregation function is used to calculate the sum of the third value and the fourth value to obtain the embedding vector representation of the i-th node in the l+1-th layer of the relational graph convolutional network.

[0008] In some embodiments, the first loss function includes an unsupervised loss function based on negative sampling, wherein training the relational graph convolutional network includes: training the relational graph convolutional network based on the unsupervised loss function based on negative sampling according to the embedding vector representation of the i-th node in the l+1-th layer of the relational graph convolutional network, and the embedding vector representation of the j-th neighbor node of the i-th node in the l+1-th layer of the relational graph convolutional network.

[0009] In some embodiments, the dynamic information aggregation model includes an information enhancement layer, a spatiotemporal self-attention layer, and a candidate point of interest attention scoring layer, wherein training the dynamic information aggregation model includes: inputting the embedding vector representation of each node and each second check-in record in the target user trajectory into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory; inputting the first embedding vector matrix corresponding to the target user trajectory into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors; inputting the second embedding vector matrix and the third embedding vector matrix of each candidate point of interest into the candidate point of interest attention scoring layer to obtain a score for each candidate point of interest; and training the dynamic information aggregation model using a second loss function based on the score of each candidate point of interest and the label value of each candidate point of interest.

[0010] In some embodiments, the embedding vector representation of each node and each second check-in record in the target user trajectory are input into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory, including: obtaining the check-in time corresponding to any point of interest of each second check-in record according to each second check-in record in the target user trajectory; determining the time slot corresponding to the check-in time; obtaining the first fused embedding vector representation of the target node corresponding to each second check-in record according to the embedding vector representation of each node, the position of the check-in time in the corresponding time slot, and the context information of each second check-in record, where the target node is any one of the user node, the point of interest node, the region node, and the category node. a node; the embedding vector representations of the target nodes in the same time period as the time slot corresponding to the check-in time within the predetermined time range are added and averaged to obtain a second fused embedding vector representation; the first fused embedding vector representation and the second fused embedding vector representation are weighted to obtain a third fused embedding vector representation of the target node; the third fused embedding vector representation of the target node corresponding to each second check-in record and the check-in time are concatenated and processed using a feedforward neural network to obtain an embedding vector matrix corresponding to each second check-in record; and the first embedding vector matrix corresponding to the target user trajectory is obtained based on the embedding vector matrix corresponding to each second check-in record.

[0011] In some embodiments, obtaining a first fused embedding vector representation of the target node corresponding to each second check-in record includes: determining, based on the embedding vector representation of each node, a first embedding vector representation of the target node corresponding to each second check-in record in the time slot corresponding to the check-in time, a second embedding vector representation of the target node in the next time slot of the time slot corresponding to the check-in time, and a third embedding vector representation of the target node in the previous time slot of the time slot corresponding to the check-in time; and determining, based on the position of the check-in time in the corresponding time slot, as well as the first embedding vector representation, the second embedding vector representation, and the third embedding vector representation, a first fused embedding vector representation of the target node after fusing context information.

[0012] In some embodiments, based on the position of the check-in time in the corresponding time slot, as well as the first embedding vector representation, the second embedding vector representation and the third embedding vector representation, a first fused embedding vector representation of the target node after fusing the context information is determined, including: when the check-in time is greater than or equal to the sum of the lower bound time point of the time slot and the time threshold, and less than or equal to the difference between the upper bound time point of the time slot and the time threshold, using the first embedding vector representation as the first fused embedding vector representation; when the check-in time is greater than the lower bound time point of the time slot and less than the sum of the lower bound time point of the time slot and the time threshold, determining the first fused embedding vector representation based on the first embedding vector representation and the second embedding vector representation; and when the check-in time is greater than the difference between the upper bound time point of the time slot and the time threshold, and less than the upper bound time point of the time slot, determining the first fused embedding vector representation based on the first embedding vector representation and the third embedding vector representation.

[0013] In some embodiments, the first embedding vector matrix corresponding to the target user trajectory is input into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors, including: constructing a first spatiotemporal weight matrix according to the target user trajectory; and using the query space parameter matrix, key space parameter matrix and value space parameter matrix of the spatiotemporal self-attention layer to perform normalized exponential processing on the first embedding vector matrix and the first spatiotemporal weight matrix to obtain a second embedding vector matrix.

[0014] In some embodiments, a first spatiotemporal weight matrix is ​​constructed based on the target user trajectory, including: obtaining a first time weight matrix based on the time difference between any two check-ins in the target user trajectory using a decay function; obtaining a first spatial weight matrix based on the distance difference between any two check-ins in the target user trajectory using a decay function; and performing weighted calculation on the first time weight matrix and the first spatial weight matrix to obtain a first spatiotemporal weight matrix.

[0015] In some embodiments, the second embedding vector matrix and the third embedding vector matrix of each candidate interest point are input into the candidate interest point attention scoring layer to obtain the score of each candidate interest point, including: obtaining a second spatiotemporal weight matrix related to the interest point recommendation; and using the normalized exponential function and weighted sum function of the candidate interest point attention scoring layer to process the second embedding vector matrix, the third embedding vector matrix of each candidate interest point, and the second spatiotemporal weight matrix to obtain the score of each candidate interest point.

[0016] In some embodiments, obtaining a second spatiotemporal weight matrix related to point of interest recommendations includes: obtaining a second time weight matrix based on the time difference between the time when the target user generates a recommendation demand and the check-in time corresponding to each second check-in record in the target user's trajectory; obtaining a second spatial weight matrix based on the distance difference between the position of each candidate point of interest and the position corresponding to each second check-in record in the target user's trajectory; and performing weighted calculation on the second time weight matrix and the second spatial weight matrix to obtain a second spatiotemporal weight matrix.

[0017] In some embodiments, the second loss function is a cross-entropy loss function.

[0018] In some embodiments, a heterogeneous graph group is constructed based on each first check-in record in multiple user trajectories and divided according to time slots, including: dividing a predetermined time range into multiple time slots; mapping each first check-in record in the predetermined time range to a corresponding time slot; constructing a heterogeneous graph corresponding to each time slot based on the first check-in record in each time slot; and obtaining a heterogeneous graph group corresponding to the predetermined time range based on the heterogeneous graph corresponding to each time slot.

[0019] In some embodiments, the types of edge relationships between nodes include type edges between users and points of interest, type edges between points of interest and regions, type edges between points of interest and categories, type edges between regions and categories, type edges between points of interest and points of interest, type edges between regions and regions, and type edges between categories.

[0020] According to another aspect of the present disclosure, a point of interest recommendation system is proposed, including: a first module, configured to construct a heterogeneous graph group based on each first check-in record in multiple user trajectories, divided according to time slots, each heterogeneous graph in the heterogeneous graph group includes user nodes, point of interest nodes, region nodes, category nodes, and edge relationships between nodes, and use a relational graph convolutional network to learn and obtain an embedded vector representation of each node in each heterogeneous graph; and a second module, configured to train a dynamic information aggregation model based on the embedded vector representation of each node, each second check-in record in the target user trajectory, and the label value of each candidate point of interest, so as to use the trained dynamic information aggregation model to recommend points of interest to the target user.

[0021] According to another aspect of the present disclosure, a point of interest recommendation system is provided, including: a memory; and a processor coupled to the memory, wherein the processor is configured to execute the above-mentioned point of interest recommendation method based on instructions stored in the memory.

[0022] According to another aspect of the present disclosure, a computer-readable storage medium is further provided, on which computer program instructions are stored. When the instructions are executed by a processor, the above-mentioned method for recommending points of interest is implemented.

[0023] In the disclosed embodiment, from a global perspective, by dividing time slots, constructing dynamic perception heterogeneous graph groups, and designing relational graph convolutional networks, pre-training of users, POIs, regions, and category nodes is achieved, and high-quality embedding vector representations of each node are obtained. Then, from a local perspective, the learned high-quality embedding representations are used to provide personalized point of interest recommendations for a user based on the historical trajectory of a certain user, thereby capturing the dynamic behavioral intentions of users in location-based social networks and the dynamic activity connotations of POIs, and improving the accuracy of point of interest recommendations.

[0024] Other features and advantages of the present disclosure will become apparent from the following detailed description of exemplary embodiments of the present disclosure with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0025] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments of the present disclosure and, together with the description, serve to explain the principles of the present disclosure.

[0026] The present disclosure can be more clearly understood from the following detailed description with reference to the accompanying drawings, in which:

[0027] Figure 1 Schematic diagram of user trajectories in some embodiments;

[0028] Figure 2 A flowchart of some embodiments of the method for recommending points of interest disclosed herein;

[0029] Figure 3 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest disclosed herein;

[0030] Figure 4 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest disclosed herein;

[0031] Figure 5 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest disclosed herein;

[0032] Figure 6 A schematic diagram of time slot division in some embodiments of the present disclosure;

[0033] Figure 7 A schematic diagram of the time periodicity of user activities in some embodiments of the present disclosure;

[0034] Figure 8 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest disclosed herein;

[0035] Figure 9 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest disclosed herein;

[0036] Figure 10 Schematic diagram of the model structure of some embodiments of the present disclosure;

[0037] Figure 11 Schematic diagram of the structure of some embodiments of the point of interest recommendation system disclosed in the present invention;

[0038] Figure 12 Schematic diagram of the structure of some other embodiments of the point of interest recommendation system disclosed in the present invention. DETAILED DESCRIPTION

[0039] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that unless otherwise specifically stated, the relative arrangement of components and steps, numerical expressions and numerical values ​​set forth in these embodiments do not limit the scope of the present disclosure.

[0040] At the same time, it should be understood that for the convenience of description, the sizes of the various parts shown in the drawings are not drawn according to the actual proportional relationship.

[0041] The following description of at least one exemplary embodiment is merely illustrative in nature and is in no way intended to limit the present disclosure, its application, or uses.

[0042] Technologies, methods, and equipment known to ordinary technicians in the relevant art may not be discussed in detail, but where appropriate, the technologies, methods, and equipment should be considered part of the specification.

[0043] In all examples shown and discussed herein, any specific values ​​should be interpreted as merely exemplary and not limiting. Therefore, other examples of the exemplary embodiments may have different values.

[0044] It should be noted that like reference numerals and letters refer to like items in the following figures, and therefore, once an item is defined in one figure, it need not be further discussed in subsequent figures.

[0045] In order to make the objectives, technical solutions and advantages of the present disclosure more clearly understood, the present disclosure is further described in detail below in conjunction with specific embodiments and with reference to the accompanying drawings.

[0046] Related technologies only reflect the overall historical preferences of users, but cannot reflect the dynamic behavioral intentions of users at different times. Moreover, a static, unified embedding vector cannot fully reflect the activity connotations of POIs (Point of Interest) in different time contexts. For example, Figure 1As shown, Lucy studies and works in the morning, exercises in the afternoon, and relaxes with friends in the evening. This means she has different behavioral intentions in different time contexts. However, related techniques learn a globally unified static embedding vector for Lucy to represent user preferences, which is insufficient to characterize her dynamic behavioral intentions. Furthermore, Lucy likes to go to the store to buy bread for breakfast in the morning. In this case, the activity connotation provided by the store is similar to that of a breakfast shop or bakery. In the afternoon, after exercising, Lucy buys a drink at the store. In this case, the activity connotation provided by the store is similar to that of a milk tea shop or ice cream shop. Related techniques are unable to capture the activity connotations of POIs in different time contexts.

[0047] With the maturity of Internet technology, users' demand for location-based services has increased dramatically. It is crucial to improve the user experience and provide users with a more accurate next point of interest.

[0048] Figure 2 The figure is a flowchart of some embodiments of the method for recommending points of interest of the present disclosure.

[0049] In step 210 , a heterogeneous graph group is constructed based on each first check-in record in the plurality of user trajectories and divided according to time slots. Each heterogeneous graph in the heterogeneous graph group includes user nodes, point of interest nodes, region nodes, category nodes, and edge relationships between the nodes.

[0050] In next POI recommendation, users and POIs are not isolated nodes; they are influenced by many factors, such as check-in time, contextual information, spatial location, and POI activity category. Check-in time refers to the time a user visits a POI. Contextual information refers to the relationship between the current check-in behavior and the previous or next check-in behavior along the user's trajectory.

[0051] In some embodiments, to learn high-quality dynamic embedding representations, a predetermined time period is divided into multiple time slots. Each first check-in record within the predetermined time range is mapped to a corresponding time slot. Based on the first check-in record within each time slot, a heterogeneous graph corresponding to each time slot is constructed. Based on the heterogeneous graphs corresponding to the multiple time slots, a heterogeneous graph group corresponding to the predetermined time range is obtained.

[0052] For example, a week T is divided into |T| time slots, T = {1, 2, ..., |T|}. For each time slot ts∈T, each check-in record in the user trajectory will be mapped to the corresponding time slot. Users, POIs, regions, and categories are regarded as nodes. There are 7 types of edge relationships between these four types of nodes. Based on the 7 edge relationships, a dynamic perception heterogeneous graph group is constructed. Among them, each time slot ts corresponds to a heterogeneous graph

[0053] The types of edge relationships between nodes include type edges between users and points of interest, type edges between points of interest and regions, type edges between points of interest and categories, type edges between regions and categories, type edges between points of interest and points of interest, type edges between regions and regions, and type edges between categories and categories.

[0054] For any user u , n , , z , m , , n , m1 , z , z1 , n , z,n,ts ,

[0058] , m ,

[0059] ,

[0056] , m ,

[0057] , n , z2 , m,n,ts , z1,z2,ts , z , edge e i,z,ts represents that user u i visited point of interest p at time slot ts z . Therefore, the <user - POI> type of edge can intuitively reflect the user's point - of - interest preference within time slot ts.

[0055] The type edge e between a point of interest and a region z,m,ts indicates that within time slot ts, there is a user who visited point of interest p z , and point of interest p z is located in region r m . Therefore, the <POI - region> type of edge can implicitly understand the activity region of the user between time slots ts.

[0056] The type edge e between a point of interest and a category z,n,ts indicates that within time slot ts, there is a user who visited point of interest p z , and point of interest p z belongs to category c n . Therefore, the <POI - category> type of edge helps to implicitly capture the type of activity preferred by the user during time period ts. <00002,The type edge e between a region and a category m,n,ts , connecting region r m and category c n , indicates that there is a user's check - in record (p z , r m , c n ) within time period ts. Therefore, the <region - category> type of edge can capture which types of activity services are mainly provided by region r m during time period ts, and category node c n can learn which regions provide this type of service activity during time period ts.

[0058] [[ID=5, The type edge e between a point of interest and a point of interest z1,z2,ts indicates that there is a user who visited point of interest p z1 and p z2 within time slot ts, so that the POI can learn the embedding representation of other POI nodes similar to its context environment.

[0059] Region r m1 and rm2 If the regions are adjacent in physical space or have been visited by the same user within the time slot ts, then a type edge e is constructed between the regions. m1,m2,ts In this way, spatially adjacent regions with similar activities will learn similar embedding expressions.

[0060] Type edge e between categories n1,n2,ts , indicating that there are users who have visited activity type c at the same time during the ts period m1 and c m2 POI activity categories with similar functions in the same time period will learn similar embedding expressions.

[0061] In step 220, a relational graph convolutional network is used to learn and obtain an embedded vector representation of each node in each heterogeneous graph.

[0062] In some embodiments, the embedding vector of each node is first initialized, and then the function of each layer of the relational graph convolutional network is constructed. The relational graph convolutional network is trained using the loss function. All nodes will learn |T| groups of embedding vector representations, which are then input as initialization parameters into the dynamic information aggregation model of the next stage.

[0063] Through steps 210 and 220 , the user's dynamic behavioral intention and the dynamic activity connotation of the POI are learned by utilizing multiple dynamic background factors such as the user, check-in time, POI category, and region in the user's trajectory check-in interaction.

[0064] In step 230, a dynamic information aggregation model is trained based on the embedding vector representation of each node, each second check-in record in the target user's trajectory, and the label value of each candidate point of interest, so as to recommend points of interest to the target user using the trained dynamic information aggregation model.

[0065] In some embodiments, the dynamic information aggregation model includes an information enhancement layer, a spatiotemporal self-attention layer, and a candidate POI attention scoring layer. In this step, a dynamic information aggregation model is constructed from a local perspective. This dynamic information aggregation model integrates the high-quality embedding vector representations of each node learned from pre-training in the global view, and further captures dynamic user intent influenced by spatiotemporal factors through the information enhancement layer and spatiotemporal self-attention layer. Finally, the candidate POI attention scoring layer recommends at least one location that the user may be interested in next.

[0066] In the above embodiment, from a global perspective, by dividing time slots, constructing dynamic perception heterogeneous graph groups, and designing relational graph convolutional networks, pre-training of users, POIs, regions, and category nodes is achieved, and high-quality embedding vector representations of each node are obtained. Then, from a local perspective, the learned high-quality embedding representations are used to provide personalized point of interest recommendations for a user based on the historical trajectory of a certain user, thereby capturing the dynamic behavioral intentions of users in location-based social networks and the dynamic activity connotations of POIs, thereby improving the accuracy of point of interest recommendations.

[0067] Figure 3 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest of the present disclosure.

[0068] In step 310 , a heterogeneous graph group is constructed based on each first check-in record in the multiple user trajectories and divided according to time slots. Each heterogeneous graph in the heterogeneous graph group includes user nodes, point of interest nodes, region nodes, category nodes, and edge relationships between nodes.

[0069] For each heterogeneous graph It is an unweighted and undirected heterogeneous graph consisting of 4 types of nodes and 7 types of edge relationships.

[0070] In step 320 , an embedding vector is initialized for each node in each heterogeneous graph to obtain an initialized embedding vector matrix for each node.

[0071] In this step, the embedding vectors are initialized for all nodes in the heterogeneous graph group, with a user node u i For example, the initialization embedding vectors in |T| time slots constitute the set in d represents the embedding dimension, For user node u i Initialization vector at time slot ts. In some embodiments, the value of d is determined by parameter experiments. Based on experience, the embedding dimension d = [10, 20, 30, 4, 50, 60] was selected for experimentation. When d = 50, the recommendation model has a high recall rate.

[0072] A POI node p z The initialization embedding vectors of A regional node r m The initialization embedding vectors of A category node c n The initialization embedding vectors of Through this step, all nodes in the heterogeneous graph group complete the initialization of embedding vectors.

[0073] In step 330, the initialization embedding vector matrix of each node, the edge relationship, the neighbor nodes of each node, and the message aggregation function are used to construct the correspondence between the embedding vector representation of each node in the lth layer of the relational graph convolutional network and the embedding vector representation of the l+1th layer, where l is a positive integer.

[0074] In some embodiments, a first transformation matrix of each edge relationship in each heterogeneous graph in the lth layer of the relational graph convolution network and a second transformation matrix of each node in each heterogeneous graph in the lth layer of the relational graph convolution network are constructed; the product of the embedding vector representation of the jth neighbor node of the ith node in each heterogeneous graph in the lth layer of the relational graph convolution network and the first transformation matrix of the rth edge relationship of the ith node in the lth layer of the relational graph convolution network is normalized to obtain a first value, where i is a positive integer, ts is a positive integer, j is a positive integer, and r is a positive integer; the first values ​​corresponding to all neighbor nodes of the ith node are summed to obtain a second value; the second values ​​corresponding to all edge relationships of the ith node are summed to obtain a third value; the embedding vector representation of the ith node in the lth layer of the relational graph convolution network and the product of the second transformation matrix of the ith node in the lth layer of the relational graph convolution network are calculated to obtain a fourth value; and the sum of the third value and the fourth value is calculated using a message aggregation function to obtain an embedding vector representation of the ith node in the l+1th layer of the relational graph convolution network.

[0075] For example, for each edge relationship r, construct a trainable transformation matrix To capture the high-order features of the node, that is, to extract the nonlinear features of neighboring nodes under different relationships, where d′ represents the hidden layer vector dimension. For the node, a trainable transformation matrix is ​​constructed Used to extract the nonlinear features of node i in layer l.

[0076] The message aggregation function can be expressed as:

[0077]

[0078] in, Indicates In the figure, node i is represented by the embedding vector at layer l+1 after message aggregation, and R represents all types of edge relationships. represents all neighbor nodes of node i in time slot ts under relationship r, represents the normalization constant, and σ(·) represents the sigmoid activation function.

[0079] In step 340, the relational graph convolutional network is trained based on the first loss function to learn and obtain the embedded vector representation of each node in each time slot.

[0080] In some embodiments, the first loss function includes an unsupervised loss function based on negative sampling. The graph convolutional network is trained based on the embedding vector representation of the i-th node at the l+1th layer of the graph convolutional network and the embedding vector representation of the j-th neighbor node of the i-th node at the l+1th layer of the graph convolutional network.

[0081] For example, the unsupervised loss function based on negative sampling in, Represented in heterogeneous graph In the graph, the embedding vector output of node i in the last layer of the convolutional network (l = K) is: Represents the embedding vector output of node i’s neighbor node j in the last layer of the graph convolutional network (l=K). n represents the negative sampling node, that is, random sampling of non-neighbor nodes of node i. represents the embedding vector of the negatively sampled node n within the heterogeneous graph. NEG(i,ts) is the set of negative samples for node i within the time slot ts. After training and optimizing the graph convolutional network, all nodes will learn |T| sets of embedding representations, which are input as initialization parameters into the dynamic information aggregation model.

[0082] In the above embodiment, a fine-grained time-enhanced graph neural network is constructed from a global perspective through steps 310-340, which fully depicts the dynamic behavioral intentions of users and the dynamic activity connotations of POIs under different time backgrounds, thereby being able to learn the fine-grained expressions of users and POIs affected by time.

[0083] Figure 4 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest of the present disclosure.

[0084] In step 410 , the embedding vector representation of each node and each second check-in record in the target user trajectory are input into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory.

[0085] In this step, the periodicity and contextual fine-grained information of each node in the time slot are fused to reduce the impact of check-in time fluctuations and time slot division on the node embedding representation.

[0086] In step 420, the first embedding vector matrix corresponding to the target user trajectory is input into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors.

[0087] In this step, the spatiotemporal relationship information between check-in records is integrated into the attention mechanism, resulting in an embedding vector representation of each historical check-in record optimized by spatiotemporal and contextual factors. Through the spatiotemporal self-attention layer, the sequential dependencies between check-in records in the user's trajectory can be effectively captured.

[0088] In step 430, the second embedding vector matrix and the third embedding vector matrix of each candidate interest point are input into the candidate interest point attention scoring layer to obtain a score for each candidate interest point.

[0089] The accuracy of the next POI recommendation task depends heavily on the user's current time environment and the distance between the candidate POI and the user's historical activity range. The score of each candidate POI is calculated using the candidate POI attention scoring layer.

[0090] In step 440 , the dynamic information aggregation model is trained using a second loss function based on the score of each candidate interest point and the label value of each candidate interest point.

[0091] In some embodiments, the second loss function is a cross entropy loss function. For example, in order to make full use of user check-in data, we establish a mask matrix Gradually train from the fragment to the entire sequence, taking the last visible POI as a positive sample each time. Train the dynamic information aggregation model. NEG(k,u i ) represents randomly selecting a group of users u from all candidate POI sets i Points of interest that have not been visited are used as negative samples. is the score of the last positive interest point in the user’s trajectory, is the score of the negative sample interest point, m represents the interest point used for training, for example, if a trajectory includes 30 interest points, then the value of m ranges from 1 to 29, when m = 1, k is 2, when m = 2, k is 3, and so on. After training and iteration, from all the scoring The top-K points of interest with the highest scores are selected and recommended to the user.

[0092] In the above embodiment, in the local view, the dynamic information aggregation model pre-trains and learns the fine-grained representation of each node from the global view, and further captures the dynamic user intention affected by spatiotemporal factors through the information enhancement layer and the spatiotemporal self-attention layer. Finally, the candidate POI attention scoring layer recommends the top-K locations that the user may be interested in next.

[0093] Figure 5 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest of the present disclosure.

[0094] In step 510 , based on each second check-in record in the target user's trajectory, the check-in time corresponding to any point of interest in each second check-in record is obtained.

[0095] In step 520, the time slot corresponding to the check-in time is determined.

[0096] For example, t identifies the exact time when the user checks in, and this time t is mapped to the corresponding time slot ts.

[0097] In step 530, based on the embedding vector representation of each node, the position of the check-in time in the corresponding time slot, and the context information of each second check-in record, a first fused embedding vector representation of the target node corresponding to each second check-in record is obtained. The target node is any one of the user node, point of interest node, region node, and category node.

[0098] In some embodiments, based on the embedding vector representation of each node, a first embedding vector representation of the target node corresponding to each second check-in record in the time slot corresponding to the check-in time, a second embedding vector representation of the target node in the next time slot of the time slot corresponding to the check-in time, and a third embedding vector representation of the target node in the previous time slot of the time slot corresponding to the check-in time are determined; and based on the position of the check-in time in the corresponding time slot, as well as the first embedding vector representation, the second embedding vector representation and the third embedding vector representation, a first fused embedding vector representation of the target node after the context information is fused is determined.

[0099] For example, Represents the embedding vector of node i after training the relational graph convolutional network model. and Represents the heterogeneous graphs of the two adjacent time slots of node i and The embedding vector learned in .

[0100] Each time slot includes a central part that is not easily disturbed and edge parts at both ends that are easily disturbed. The central part has a higher tolerance to user check-in time jitter and time slot division, while the ends are more easily affected. For example, if a user's check-in information at 19:59 and at 20:01 is divided into two time slots, it will cause a significant difference in the node embedding vector. In this embodiment, the time slot is divided into a central part and two end parts. Figure 6 As shown, Δ is the set disturbance sensitivity threshold, t H and t L Represent the upper and lower bound time points of the time slot ts respectively. L +Δ≤t≤t H -Δ, indicating that the user's check-in time is at the center of the time slot, t L <t<tL +Δ or t H -Δ <t<t H , indicating that the user's check-in time is at both ends of the time slot.

[0101] In some embodiments, when the check-in time is greater than or equal to the sum of the lower bound time point of the time slot and the time threshold, and less than or equal to the difference between the upper bound time point of the time slot and the time threshold, the first embedding vector representation is used as the first fused embedding vector representation; when the check-in time is greater than the lower bound time point of the time slot, and less than the sum of the lower bound time point of the time slot and the time threshold, the first fused embedding vector representation is determined based on the first embedding vector representation and the second embedding vector representation; and when the check-in time is greater than the difference between the upper bound time point of the time slot and the time threshold, and less than the upper bound time point of the time slot, the first fused embedding vector representation is determined based on the first embedding vector representation and the third embedding vector representation.

[0102] For example, in, Represents the embedded vector representation of node i after integrating context information.

[0103] In step 540, the embedding vector representations of the target nodes in the same time period as the time slot corresponding to the check-in time within the predetermined time range are summed and averaged to obtain a second fused embedding vector representation.

[0104] like Figure 7 As shown in the figure, the user's behavior activity pattern shows obvious periodicity over time, so the relationship is established. Among them, WK(ts) is the set of time slot IDs that are in the same time period as the target time slot ts within a week, Represents the embedded vector representation of node i after periodic information fusion.

[0105] In step 550, a weighted calculation is performed on the first fused embedding vector representation and the second fused embedding vector representation to obtain a third fused embedding vector representation of the target node.

[0106] After being enhanced with contextual information and periodic information, the final expression of node i is The parameter μ is the balance factor, which is used to balance the weights of context information and periodic information.

[0107] In step 560 , a concatenation operation is performed on the third fused embedding vector representation of the target node corresponding to each second check-in record and the check-in time, and a feedforward neural network is used to process the concatenated vector representation to obtain an embedding vector matrix corresponding to each second check-in record.

[0108] For example, for a check-in record u i Indicates user id, p z Indicates the point of interest id, r m Indicates the id of the area where the point of interest is located, c n Indicates the id of the category to which the point of interest belongs, t j Indicates the exact time when the check-in is generated. First, the time t j Project it into the corresponding time slot ts, and initialize an embedding vector ts for each time slot. Apply the above information enhancement operation to the four types of nodes, and get the vectors Finally got The final expression of this check-in: Among them, FFN(·) is a feed-forward neural network, and Concat(·) represents the concatenation operation of the embedded vectors.

[0109] In step 570 , a first embedding vector matrix corresponding to the target user trajectory is obtained based on the embedding vector matrix corresponding to each second check-in record.

[0110] For user u i A set of historical check-in trajectories The embedding vector matrix can be L represents the maximum length of each trajectory. In this embodiment, each user trajectory is converted into a fixed-length sequence. For example, L is set to 30. For a user, if the trajectory length is less than 30, it is padded to 30. If the trajectory length is greater than 30, for example, 45, the trajectory is cut into two segments, one of 30 and the other of 15, and the length of 15 is padded to 30. By converting each user trajectory into a fixed-length sequence, data calculation and processing are facilitated.

[0111] In the above embodiment, for each time slot ts, the periodicity and contextual fine-grained information of each node in the time slot are integrated, thereby reducing the impact of check-in time fluctuations and time slot division on the node embedding representation.

[0112] Figure 8 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest of the present disclosure.

[0113] In step 810 , a first spatiotemporal weight matrix is ​​constructed according to the target user trajectory.

[0114] In some embodiments, a first time weight matrix and a first space weight matrix are constructed based on the target user trajectory, and a weighted calculation is performed on the first time weight matrix and the first space weight matrix to obtain a first spatiotemporal weight matrix.

[0115] In some embodiments, a first time weight matrix is ​​obtained based on the time difference between any two check-ins in the target user trajectory using a decay function; and a first spatial weight matrix is ​​obtained based on the distance difference between any two check-ins in the target user trajectory using a decay function.

[0116] In this step, the time weight matrix and the space weight matrix are constructed according to the historical trajectory of each user. For example, for user u i And its check-in track Time weight matrix Spatial weight matrix m and n represent the trajectory Any two check-in locations in . represents the time weight matrix, Δt m,n =|t m -t n | represents the time difference between two check-ins. Spatial weight matrix Δdm ,n Represents the distance between two check-ins, calculated using the haversine formula, Δd m,n =Haversine(lon m ,lat m ,lon n ,lat n ). ψ(x)=1 / log(e+x) represents the decay function, which is used to convert the time difference and distance difference into weights. Haversine is used to calculate the distance between two longitude and latitude points.

[0117] Where R is the radius, lon m is the longitude information of the check-in point m, lat m is the latitude information of the check-in point m, lon n is the longitude information of the check-in point n, lat n is the latitude information of check-in point n.

[0118] In some embodiments, represents the mixed weight of the time weight matrix and the space weight matrix, ρ represents the weight factor to balance the influence of temporal and spatial information.

[0119] In step 820, the query space parameter matrix, key space parameter matrix, and value space parameter matrix of the spatiotemporal self-attention layer are used to perform normalized exponential processing on the first embedding vector matrix and the first spatiotemporal weight matrix to obtain a second embedding vector matrix.

[0120] For example, an improved self-attention mechanism is used to take spatiotemporal factors into account and learn the embedding vector representation of user trajectories. in, Used to embed the trajectory into E (hist) Projecting into the matrix enables the model to capture other check-ins that are more relevant to a certain check-in and assign them appropriate weights. The embedding vector of the trajectory after passing through the spatiotemporal self-attention layer is expressed as:

[0121] The self-attention mechanism can effectively capture the sequential dependencies between check-in records in a user's trajectory. In the above embodiment, the spatiotemporal relationship information between check-in records is integrated into the attention mechanism, thereby obtaining an embedded vector representation of each historical check-in record optimized by spatiotemporal and contextual factors.

[0122] Figure 9 Schematic diagram of the flow chart of other embodiments of the method for recommending points of interest of the present disclosure.

[0123] In step 910 , a second spatiotemporal weight matrix related to POI recommendation is obtained.

[0124] In some embodiments, a second time weight matrix is ​​obtained based on the time difference between the time when the target user generates a recommendation demand and the check-in time corresponding to each second check-in record in the target user's trajectory; a second spatial weight matrix is ​​obtained based on the distance difference between the position of each candidate point of interest and the position corresponding to each second check-in record in the target user's trajectory; and a second spatiotemporal weight matrix is ​​obtained by performing weighted calculation on the second time weight matrix and the second spatial weight matrix.

[0125] For example, the accuracy of the next POI recommendation task depends largely on the user's current time environment and the distance between the candidate POI and the user's historical activity range. Therefore, a spatial weight matrix of all candidate POIs is constructed. and the time weight matrix Δt k,n =|t k -t n |, t k Indicates the time when the current user generates the recommendation demand, t n Indicates the time of all historical check-ins of the user; Δd k,n Represents all candidate interest points d k All points of interest visited by the user in history n The distance between them is also calculated using the haversine formula. The spatial weight matrix of candidate interest points in is the total number of candidate interest points, and L is the length of the user's historical trajectory. Time weight matrix It is further expanded to the same dimension to obtain the spatiotemporal mixing weight matrix ρ represents the weight factor to balance the influence of temporal and spatial information,

[0126] In step 920, the second embedding vector matrix, the third embedding vector matrix of each candidate interest point, and the second spatiotemporal weight matrix are processed using the normalized exponential function and weighted sum function of the candidate interest point attention scoring layer to obtain the score of each candidate interest point.

[0127] When user u i In t k When the next recommendation demand is generated at time t k Belonging to time slot ts, each candidate interest point p i The overall embedding vector of can be expressed as For user u i 、Points of interest i 、p i The area and p i The embedding expression of the category in the ts period. Further, the embedding vector matrix of all candidate interest points can be obtained The score of each candidate interest point is calculated using the following formula:

[0128]

[0129] Among them, Sum(·) represents the weighted sum of the last dimension, Among them, each Indicates that the model has the interest point p i The higher the score, the more likely the model thinks the user is to go to this place next.

[0130] In some embodiments of the present disclosure, Figure 10 As shown in Figure 1, it includes stage 1, which is to build a fine-grained time-enhanced graph neural network from a global perspective. A week is divided into |T| time slots, forming a heterogeneous graph group containing |T| heterogeneous graphs. User node u i The initialization embedding vectors constitute a set POI node p z The initialization embedding vectors constitute a set Regional node r m The initialization embedding vectors constitute a set Category node c n The initialization embedding vectors constitute a set

[0131] The above vector sets are input into the corresponding relational graph convolutional network (RGCN) layers RGCN1, RGCN2…RGCN |T| After training and optimization, all nodes learn to obtain the embedding vector representation of |T| groups, which are input into the dynamic information aggregation model in stage 2 as initialization parameters.

[0132] Phase 2 uses a local perspective to further capture dynamic user intentions affected by spatiotemporal factors through the information enhancement layer and spatiotemporal self-attention layer. Finally, the candidate POI attention scoring layer recommends the top-K locations that the user may be interested in. At the information reinforcement layer, through context information fusion and periodic information fusion, local information aggregation and output are finally performed. It can reduce the impact of check-in time fluctuations and time slot division on node embedding representation.

[0133] {a1,a2,…,a L} is input to the spatiotemporal self-attention layer, and the spatiotemporal relationship information between check-in records is integrated into the attention mechanism, thereby obtaining the embedding representation of each historical check-in record {a′1,a′2,…,a′} optimized by spatiotemporal factors and contextual factors. L}. Embedding matrix of all candidate interest points Input into the candidate POI attention scoring layer and calculate the score of each candidate POI Then for user node u i Recommend the k points of interest with the highest scores.

[0134] In the above embodiment, by dividing time slots, constructing dynamic perception heterogeneous graph groups, and designing relational graph convolutional networks, pre-training of users, POIs, regions, and category nodes is achieved to obtain high-quality embedded representations of users and POIs. In the dynamic information aggregation model, through the information enhancement layer, fine-grained periodic information and contextual information are fully integrated to reduce the impact of user check-in time jitter and time slot division on the embedded representation, thereby enhancing the robustness of the model. Through the attention mechanism, the impact of spatiotemporal correlation on user behavior is explored. Since the dynamic characteristics of check-in and punch-in are taken into account, the dynamic behavioral intentions of users and the dynamic activity connotations of POIs are taken into account, thus improving the quality of user and POI embedded representations, and ultimately improving the performance of point of interest recommendation.

[0135] Figure 11 11 is a schematic structural diagram of some embodiments of the point of interest recommendation system disclosed herein, wherein the point of interest recommendation system includes a first module 1110 and a second module 1120 .

[0136] The first module 1110 is configured to construct a heterogeneous graph group based on each first check-in record in multiple user trajectories, divided by time slots. Each heterogeneous graph in the heterogeneous graph group includes user nodes, point of interest nodes, region nodes, category nodes, and edge relationships between nodes. The relational graph convolutional network is used to learn and obtain an embedded vector representation of each node in each heterogeneous graph.

[0137] In some embodiments, the first module 1110 divides the predetermined time range into multiple time slots; maps each first check-in record within the predetermined time range to a corresponding time slot; constructs a heterogeneous graph corresponding to each time slot based on the first check-in record in each time slot; and obtains a heterogeneous graph group corresponding to the predetermined time range based on the heterogeneous graph corresponding to each time slot.

[0138] The types of edge relationships between nodes include type edges between users and points of interest, type edges between points of interest and regions, type edges between points of interest and categories, type edges between regions and categories, type edges between points of interest and points of interest, type edges between regions and regions, and type edges between categories.

[0139] In some embodiments, the first module 1110 initializes an embedding vector for each node in each heterogeneous graph to obtain an initialized embedding vector matrix for each node; utilizes the initialized embedding vector matrix of each node, the edge relationship, the neighbor nodes of each node, and the message aggregation function to construct a correspondence between the embedding vector representation of each node in the lth layer of the relational graph convolutional network and the embedding vector representation of the l+1th layer, where l is a positive integer; and based on the first loss function, trains the relational graph convolutional network to learn and obtain the embedding vector representation of each node in each time slot.

[0140] In some embodiments, constructing a correspondence between the embedding vector representation of each node in the lth layer of the graph convolution network and the embedding vector representation of the l+1th layer includes: constructing a first transformation matrix of each edge relationship in each heterogeneous graph in the lth layer of the graph convolution network, and a second transformation matrix of each node in each heterogeneous graph in the lth layer of the graph convolution network; normalizing the product of the embedding vector representation of the jth neighbor node of the i-th node in each heterogeneous graph in the lth layer of the graph convolution network and the first transformation matrix of the rth edge relationship of the i-th node in the lth layer of the graph convolution network to obtain The first value, i is a positive integer, ts is a positive integer, j is a positive integer, and r is a positive integer; the first values ​​corresponding to all neighbor nodes of the i-th node are summed to obtain the second value; the second values ​​corresponding to all edge relationships of the i-th node are summed to obtain the third value; the embedding vector representation of the i-th node in the l-th layer of the relational graph convolutional network is calculated, and the product of the second transformation matrix of the i-th node in the l-th layer of the relational graph convolutional network is obtained to obtain the fourth value; and the message aggregation function is used to calculate the sum of the third value and the fourth value to obtain the embedding vector representation of the i-th node in the l+1-th layer of the relational graph convolutional network.

[0141] In some embodiments, training the relational graph convolutional network includes: training the relational graph convolutional network based on an unsupervised loss function of negative sampling according to the embedding vector representation of the i-th node in the l+1-th layer of the relational graph convolutional network and the embedding vector representation of the j-th neighbor node of the i-th node in the l+1-th layer of the relational graph convolutional network.

[0142] The second module 1120 is configured to train the dynamic information aggregation model based on the embedded vector representation of each node, each second check-in record in the target user's trajectory, and the label value of each candidate point of interest, so as to use the trained dynamic information aggregation model to recommend points of interest to the target user.

[0143] In some embodiments, the dynamic information aggregation model includes an information enhancement layer, a spatiotemporal self-attention layer, and a candidate point of interest attention scoring layer. The second module 1120 inputs the embedding vector representation of each node and each second check-in record in the target user trajectory into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory; inputs the first embedding vector matrix corresponding to the target user trajectory into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors; inputs the second embedding vector matrix and the third embedding vector matrix of each candidate point of interest into the candidate point of interest attention scoring layer to obtain a score for each candidate point of interest; and based on the score of each candidate point of interest and the label value of each candidate point of interest, the dynamic information aggregation model is trained using a second loss function.

[0144] In some embodiments, the embedding vector representation of each node and each second check-in record in the target user trajectory are input into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory, including: obtaining the check-in time corresponding to each second check-in record according to each second check-in record in the target user trajectory; determining the time slot corresponding to the check-in time; obtaining the first fused embedding vector representation of the target node corresponding to each second check-in record according to the embedding vector representation of each node, the position of the check-in time in the corresponding time slot, and the context information of each second check-in record, where the target node is any one of a user node, a point of interest node, a region node, and a category node. Node; add and average the embedding vector representations of the target nodes in the same time period as the time slot corresponding to the check-in time within the predetermined time range to obtain a second fused embedding vector representation; perform weighted calculation on the first fused embedding vector representation and the second fused embedding vector representation to obtain a third fused embedding vector representation of the target node; concatenate the third fused embedding vector representation of the target node corresponding to each second check-in record and the check-in time, and process them using a feedforward neural network to obtain an embedding vector matrix corresponding to each second check-in record; obtain the first embedding vector matrix corresponding to the target user trajectory based on the embedding vector matrix corresponding to each second check-in record.

[0145] In some embodiments, obtaining a first fused embedding vector representation of the target node corresponding to each second check-in record includes: determining, based on the embedding vector representation of each node, a first embedding vector representation of the target node corresponding to each second check-in record in the time slot corresponding to the check-in time, a second embedding vector representation of the target node in the next time slot of the time slot corresponding to the check-in time, and a third embedding vector representation of the target node in the previous time slot of the time slot corresponding to the check-in time; and determining, based on the position of the check-in time in the corresponding time slot, as well as the first embedding vector representation, the second embedding vector representation, and the third embedding vector representation, a first fused embedding vector representation of the target node after fusing context information.

[0146] In some embodiments, based on the position of the check-in time in the corresponding time slot, as well as the first embedding vector representation, the second embedding vector representation and the third embedding vector representation, a first fused embedding vector representation of the target node after fusing the context information is determined, including: when the check-in time is greater than or equal to the sum of the lower bound time point of the time slot and the time threshold, and less than or equal to the difference between the upper bound time point of the time slot and the time threshold, using the first embedding vector representation as the first fused embedding vector representation; when the check-in time is greater than the lower bound time point of the time slot and less than the sum of the lower bound time point of the time slot and the time threshold, determining the first fused embedding vector representation based on the first embedding vector representation and the second embedding vector representation; and when the check-in time is greater than the difference between the upper bound time point of the time slot and the time threshold, and less than the upper bound time point of the time slot, determining the first fused embedding vector representation based on the first embedding vector representation and the third embedding vector representation.

[0147] In some embodiments, the first embedding vector matrix corresponding to the target user trajectory is input into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors, including: constructing a first spatiotemporal weight matrix according to the target user trajectory; and using the query space parameter matrix, key space parameter matrix and value space parameter matrix of the spatiotemporal self-attention layer to perform normalized exponential processing on the first embedding vector matrix and the first spatiotemporal weight matrix to obtain a second embedding vector matrix.

[0148] Based on the target user trajectory, a first spatiotemporal weight matrix is ​​constructed, including: obtaining a first time weight matrix based on the time difference between any two check-ins in the target user trajectory using a decay function; obtaining a first spatial weight matrix based on the distance difference between any two check-ins in the target user trajectory using a decay function; and performing weighted calculation on the first time weight matrix and the first spatial weight matrix to obtain a first spatiotemporal weight matrix.

[0149] In some embodiments, the second embedding vector matrix and the third embedding vector matrix of each candidate interest point are input into the candidate interest point attention scoring layer to obtain the score of each candidate interest point, including: obtaining a second spatiotemporal weight matrix related to the interest point recommendation; and using the normalized exponential function and weighted sum function of the candidate interest point attention scoring layer to process the second embedding vector matrix, the third embedding vector matrix of each candidate interest point, and the second spatiotemporal weight matrix to obtain the score of each candidate interest point.

[0150] Obtaining a second spatiotemporal weight matrix related to point of interest recommendation, including: obtaining a second time weight matrix based on the time difference between the time when the target user generates a recommendation demand and the check-in time corresponding to each second check-in record in the target user's trajectory; obtaining a second spatial weight matrix based on the distance difference between the position of each candidate point of interest and the position corresponding to each second check-in record in the target user's trajectory; and performing weighted calculation on the second time weight matrix and the second spatial weight matrix to obtain a second spatiotemporal weight matrix.

[0151] In the above embodiment, the POI recommendation system designs a fine-grained time-enhanced graph neural network from a global perspective to learn the fine-grained expression of users and POIs affected by time; constructs a dynamic information aggregation module from a local perspective, and uses the learned high-quality embedding representation to provide users with personalized POI recommendations, thereby capturing the user's dynamic behavioral intentions and the dynamic activity connotations of POIs.

[0152] Figure 12 Schematic diagram of the structure of other embodiments of the point of interest recommendation system disclosed herein. The point of interest recommendation system 1200 includes a memory 1210 and a processor 1220. The memory 1210 may be a disk, flash memory, or any other non-volatile storage medium. The memory 1210 is used for instructions of the point of interest recommendation method in the embodiment corresponding to the above embodiment. The processor 1220 is coupled to the memory 1210 and may be implemented as one or more integrated circuits, such as a microprocessor or microcontroller. The processor 1220 is used to execute instructions stored in the memory.

[0153] In some embodiments, the processor 1220 is coupled to the memory 1210 via a BUS 1230. The POI recommendation system 1200 may also be connected to an external storage system 1250 via a storage interface 1240 to access external data, and may also be connected to a network or another computer system (not shown) via a network interface 1260. A detailed description thereof will not be given here.

[0154] In this embodiment, the accuracy of the POI recommendation is improved by storing data instructions in a memory and processing the instructions through a processor.

[0155] In other embodiments, a computer-readable storage medium stores computer program instructions thereon, which, when executed by a processor, implement the steps of the method in the above-described embodiment. Those skilled in the art will appreciate that the embodiments of the present disclosure may be provided as methods, devices, or computer program products. Therefore, the present disclosure may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Furthermore, the present disclosure may take the form of a computer program product implemented on one or more computer-usable non-transient storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0156] The present disclosure is described with reference to flowcharts and / or block diagrams of methods, devices (systems) and computer program products according to embodiments of the present disclosure. It should be understood that each process and / or block in the flowchart and / or block diagram and the combination of processes and / or blocks in the flowchart and / or block diagram can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0157] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0158] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0159] The present disclosure has been described in detail so far. To avoid obscuring the concept of the present disclosure, some details known in the art have not been described. Based on the above description, those skilled in the art can fully understand how to implement the technical solutions disclosed herein.

[0160] Although some specific embodiments of the present disclosure have been described in detail by way of examples, those skilled in the art will appreciate that the above examples are for illustrative purposes only and are not intended to limit the scope of the present disclosure. Those skilled in the art will appreciate that modifications may be made to the above embodiments without departing from the scope and spirit of the present disclosure. The scope of the present disclosure is defined by the appended claims.

Claims

1. A method for recommending points of interest, comprising: Dividing a predetermined time range into multiple time slots, mapping each first check-in record in multiple user trajectories within the predetermined time range to a corresponding time slot, constructing a heterogeneous graph corresponding to each time slot based on the first check-in record in each time slot, and obtaining a heterogeneous graph group corresponding to the predetermined time range based on the heterogeneous graph corresponding to each time slot, wherein each heterogeneous graph in the heterogeneous graph group includes a user node, a point of interest node, a region node, a category node, and edge relationships between the nodes; Initialize an embedding vector for each node in each heterogeneous graph to obtain an initialized embedding vector matrix for each node, and use the initialized embedding vector matrix for each node, the edge relationship, the neighbor nodes of each node, and the message aggregation function to construct a correspondence between the embedding vector representation of each node in the lth layer of the relational graph convolutional network and the embedding vector representation of the l+1th layer, where l is a positive integer. Based on a first loss function, train the relational graph convolutional network to learn and obtain the embedding vector representation of each node in each time slot; as well as Based on the embedded vector representation of each node, each second check-in record in the target user's trajectory, and the label value of each candidate point of interest, a dynamic information aggregation model is trained, and points of interest are recommended to the target user using the trained dynamic information aggregation model.

2. The method for recommending points of interest according to claim 1, wherein: The constructing a correspondence between the embedding vector representation of each node in the relational graph convolutional network at the lth layer and the embedding vector representation of the l+1th layer includes: Constructing a first transformation matrix of each edge relationship in each heterogeneous graph in the lth layer of the relationship graph convolution network, and a second transformation matrix of each node in each heterogeneous graph in the lth layer of the relationship graph convolution network; Normalize the product of the embedding vector representation of the jth neighbor node of the i-th node in each heterogeneous graph in the l-th layer of the graph convolutional network and the first transformation matrix of the r-th edge relationship of the i-th node in the l-th layer of the graph convolutional network to obtain a first value, where i is a positive integer, ts is a positive integer, j is a positive integer, and r is a positive integer; Adding the first values ​​corresponding to all neighboring nodes of the i-th node to obtain a second value; Add the second values ​​corresponding to all edge relationships of the i-th node to obtain a third value; Calculating the product of an embedding vector representation of the i-th node in the l-th layer of the graph convolutional network and a second transformation matrix of the i-th node in the l-th layer of the graph convolutional network to obtain a fourth value; and The message aggregation function is used to calculate the sum of the third value and the fourth value to obtain an embedding vector representation of the i-th node in the l+1-th layer of the relational graph convolutional network.

3. The method for recommending points of interest according to claim 2, wherein: The first loss function includes an unsupervised loss function based on negative sampling, wherein training the relational graph convolutional network includes: The relational graph convolution network is trained based on the unsupervised loss function of negative sampling according to the embedded vector representation of the i-th node in the l+1-th layer of the relational graph convolution network and the embedded vector representation of the j-th neighbor node of the i-th node in the l+1-th layer of the relational graph convolution network.

4. The method for recommending points of interest according to any one of claims 1 to 3, wherein: The dynamic information aggregation model includes an information enhancement layer, a spatiotemporal self-attention layer, and a candidate interest point attention scoring layer, wherein training the dynamic information aggregation model includes: Inputting the embedding vector representation of each node and each second check-in record in the target user trajectory into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory; Inputting the first embedding vector matrix corresponding to the target user trajectory into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors; Inputting the second embedding vector matrix and the third embedding vector matrix of each candidate interest point into the candidate interest point attention scoring layer to obtain a score for each candidate interest point; and Based on the score of each candidate point of interest and the label value of each candidate point of interest, the dynamic information aggregation model is trained using a second loss function.

5. The method for recommending points of interest according to claim 4, wherein: Inputting the embedding vector representation of each node and each second check-in record in the target user trajectory into the information enhancement layer to obtain a first embedding vector matrix corresponding to the target user trajectory includes: According to each second check-in record in the target user's trajectory, obtaining a check-in time corresponding to any point of interest in each second check-in record; Determine the time slot corresponding to the check-in time; Obtaining, based on the embedded vector representation of each node, the position of the check-in time in the corresponding time slot, and the context information of each second check-in record, a first fused embedded vector representation of a target node corresponding to each second check-in record, where the target node is any one of a user node, a point of interest node, a region node, and a category node; Performing summation and averaging calculation on the embedded vector representations of the target node within a predetermined time range and in the same time period as the time slot corresponding to the check-in time, to obtain a second fused embedded vector representation; Performing a weighted calculation on the first fused embedding vector representation and the second fused embedding vector representation to obtain a third fused embedding vector representation of the target node; performing a concatenation operation on the third fused embedding vector representation of the target node corresponding to each second check-in record and the check-in time, and processing them using a feedforward neural network to obtain an embedding vector matrix corresponding to each second check-in record; and According to the embedding vector matrix corresponding to each second check-in record, a first embedding vector matrix corresponding to the target user trajectory is obtained.

6. The method for recommending points of interest according to claim 5, wherein: Obtaining a first fused embedding vector representation of the target node corresponding to each second check-in record includes: Determining, based on the embedding vector representation of each node, a first embedding vector representation of the target node corresponding to each second check-in record in the time slot corresponding to the check-in time, a second embedding vector representation of the target node in the time slot next to the time slot corresponding to the check-in time, and a third embedding vector representation of the target node in the time slot previous to the time slot corresponding to the check-in time; and A first fused embedding vector representation of the target node after fusing the context information is determined according to the position of the check-in time in the corresponding time slot, and the first embedding vector representation, the second embedding vector representation, and the third embedding vector representation.

7. The method for recommending points of interest according to claim 6, wherein: The determining, based on the position of the check-in time in the corresponding time slot, the first embedding vector representation, the second embedding vector representation, and the third embedding vector representation, a first fused embedding vector representation after the target node is fused with context information, includes: When the check-in time is greater than or equal to the sum of the lower bound time point of the time slot and a time threshold, and less than or equal to the difference between the upper bound time point of the time slot and the time threshold, using the first embedding vector representation as the first fused embedding vector representation; When the check-in time is greater than the lower bound time point of the time slot and less than the sum of the lower bound time point of the time slot and a time threshold, determining the first fused embedding vector representation according to the first embedding vector representation and the second embedding vector representation; and When the check-in time is greater than the difference between the upper limit time point of the time slot and the time threshold, and less than the upper limit time point of the time slot, the first fused embedding vector representation is determined according to the first embedding vector representation and the third embedding vector representation.

8. The method for recommending points of interest according to claim 4, wherein: The step of inputting the first embedding vector matrix corresponding to the target user trajectory into the spatiotemporal self-attention layer to obtain a second embedding vector matrix with spatiotemporal factors includes: Constructing a first spatiotemporal weight matrix according to the target user trajectory; and The query space parameter matrix, key space parameter matrix, and value space parameter matrix of the spatiotemporal self-attention layer are used to perform normalized exponential processing on the first embedding vector matrix and the first spatiotemporal weight matrix to obtain the second embedding vector matrix.

9. The method for recommending points of interest according to claim 8, wherein: According to the target user trajectory, a first spatiotemporal weight matrix is ​​constructed, including: According to the time difference between any two check-ins in the target user's trajectory, a first time weight matrix is ​​obtained using a decay function; Obtaining a first spatial weight matrix using a decay function based on the distance difference between any two check-ins in the target user's trajectory; and A weighted calculation is performed on the first time weight matrix and the first space weight matrix to obtain a first space-time weight matrix.

10. The method for recommending points of interest according to claim 4, wherein: Inputting the second embedding vector matrix and the third embedding vector matrix of each candidate interest point into the candidate interest point attention scoring layer to obtain a score for each candidate interest point includes: Obtaining a second spatiotemporal weight matrix related to point of interest recommendation; and The second embedding vector matrix, the third embedding vector matrix of each candidate interest point and the second spatiotemporal weight matrix are processed using the normalized exponential function and weighted sum function of the attention scoring layer of the candidate interest point to obtain the score of each candidate interest point.

11. The method for recommending points of interest according to claim 10, wherein: The obtaining of a second spatiotemporal weight matrix related to the recommendation of points of interest includes: Obtaining a second time weight matrix according to the time difference between the time when the target user generates a recommendation demand and the check-in time corresponding to each second check-in record in the target user's trajectory; Obtaining a second spatial weight matrix based on the distance difference between the position of each candidate point of interest and the position corresponding to each second check-in record in the target user trajectory; and A weighted calculation is performed on the second time weight matrix and the second space weight matrix to obtain the second space-time weight matrix.

12. The method for recommending points of interest according to claim 4, wherein: The second loss function is a cross entropy loss function.

13. The method for recommending points of interest according to any one of claims 1 to 3, wherein: The types of edge relationships between the nodes include type edges between users and points of interest, type edges between points of interest and regions, type edges between points of interest and categories, type edges between regions and categories, type edges between points of interest and points of interest, type edges between regions and regions, and type edges between categories.

14. A point of interest recommendation system, comprising: A first module is configured to divide a predetermined time range into multiple time slots, map each first check-in record in multiple user trajectories within the predetermined time range to a corresponding time slot, construct a heterogeneous graph corresponding to each time slot based on the first check-in record in each time slot, obtain a heterogeneous graph group corresponding to the predetermined time range based on the heterogeneous graph corresponding to each time slot, each heterogeneous graph in the heterogeneous graph group includes a user node, a point of interest node, an area node, a category node, and an edge relationship between nodes, initialize an embedding vector for each node in each heterogeneous graph, obtain an initialized embedding vector matrix for each node, use the initialized embedding vector matrix of each node, the edge relationship, the neighbor nodes of each node, and a message aggregation function to construct a correspondence between the embedding vector representation of each node in the lth layer of the relationship graph convolution network and the embedding vector representation of the l+1th layer, where l is a positive integer, and train the relationship graph convolution network based on a first loss function to learn and obtain the embedding vector representation of each node in each time slot; as well as The second module is configured to train a dynamic information aggregation model based on the embedded vector representation of each node, each second check-in record in the target user's trajectory, and the label value of each candidate point of interest, and use the trained dynamic information aggregation model to recommend points of interest to the target user.

15. A point of interest recommendation system, comprising: Memory; as well as A processor coupled to the memory, wherein the processor is configured to execute the method for recommending points of interest according to any one of claims 1 to 13 based on instructions stored in the memory.

16. A computer-readable storage medium having computer program instructions stored thereon, wherein when the instructions are executed by a processor, the method for recommending points of interest according to any one of claims 1 to 13 is implemented.

Citation Information

Patent Citations

  • Interest point recommendation method and system based on heterogeneous graph neural network, and medium

    CN113505306A