A next POI recommendation method based on a graph convolution network

By using a graph convolutional network-based approach, which integrates check-in sequence, category, and time information through embedding and convolutional layers, the problem of poor recommendation performance in the next POI recommendation is solved, and more accurate POI recommendations are achieved.

CN115795182BActive Publication Date: 2026-01-27CHONGQING UNIV OF POSTS & TELECOMM
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202211411140.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-11
Publication Date
2026-01-27
Estimated Expiration
2042-11-11

AI Technical Summary

Technical Problem

Existing technologies struggle to effectively utilize temporal context and POI category information in the next POI recommendation, resulting in poor recommendation performance. Furthermore, graph convolutional networks suffer from gradient vanishing and low training efficiency when processing check-in data.

Method used

We employ a graph convolutional network-based approach, generating user, POI, time, and category embeddings through embedding layers. By combining attention mechanisms and feedforward layers, we construct convolutional layers to fuse the effects of check-in sequences, categories, and time, and use inner product operations to predict user preferences for POIs.

Benefits of technology

It improves the accuracy and efficiency of the next POI recommendation, effectively captures temporal and category features, and enhances the model's performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115795182B_ABST
    Figure CN115795182B_ABST
Patent Text Reader

Abstract

The application relates to a next POI recommendation method based on a graph convolution network and belongs to the technical field of Internet. A next POI recommendation method (CTGCN) based on a graph convolution network is proposed by fusing categories and time influences by using the graph convolution network. In the present application, firstly, an initialization embedding layer of user embedding, POI embedding, time embedding, category embedding and relative position embedding is generated. Then, a convolution layer is built based on a graph convolution network, an attention mechanism and a feedforward layer. Finally, the user features and the POI features obtained are subjected to an inner product operation to obtain the preference of the user for the POI.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of Internet technology and relates to a method for recommending the next POI based on graph convolutional networks. Background Technology

[0002] With the widespread adoption of mobile internet, location-based social networks (LBSNs), such as Foursquare abroad and Dida.com in China, have shown strong growth momentum. LBSNs contain massive amounts of rich data because thousands of users are constantly sharing what they hear, see, feel, and think. How to effectively mine the value of this data has become a common concern for both research and industry. Since this data includes check-in data, a mainstream approach is to provide personalized Points of Interest (POI) recommendations based on users' check-in records. Recently, next POI recommendations based on user check-in sequence patterns have attracted widespread attention in the research community. This recommendation aims to suggest the next point of interest to a user at a specific time based on their historical check-in records.

[0003] In the next POI recommendation, temporal context information has a significant impact on recommendation performance. For example... Figure 1 As shown, we can observe that different users' preferences change over time. Suppose we need to recommend a Point of Interest (POI) to user 3 at 8 PM. If we only consider the similarity of check-in locations without considering the temporal context, we might recommend the library to user 3 because of the similarity between user 2's and user 3's previous check-in locations. However, if we take the time "8 PM" into account, the movie theater might be a better choice for user 3.

[0004] Current research considering the time factor mainly falls into two directions. One direction is based on factorization. It assumes that timestamps within the same time interval have the same impact on user check-ins, thus mapping the entire set of possible timestamps to a finite set of time intervals. A low-dimensional latent space is then used to capture the features of these time intervals, further combined with other user preferences to achieve POI recommendations. However, this approach makes it difficult to determine the granularity of the time intervals, leading to inaccurate recommendations from the model. The other direction utilizes RNNs to fuse various time-aware unit structures to achieve the next POI recommendation. However, RNNs suffer from limitations in effectively capturing long-term temporal dynamics, low training efficiency, and the vanishing gradient problem.

[0005] Meanwhile, POI category information also has a certain impact on POI recommendations. Statistical analysis of check-in data reveals that different categories of POIs have different time distributions, and the categories of POIs checked in also differ in different time periods. This paper also found similar phenomena through temporal pattern analysis of categories in the NYC and TKY datasets, such as... Figure 2 , 3 As shown in the diagram. For example, users in New York prefer to work out in the morning and after 4 PM, and prefer to drink coffee in the morning rather than in the afternoon, and like to go to bars between 5 PM and 1 AM the next day; users in Tokyo prefer to work out in the afternoon and evening, and prefer to drink coffee in the afternoon rather than in the morning, and like to go to bars between 5 PM and midnight. Therefore, how to reasonably utilize the contextual information in check-in data to improve model performance is a problem worth studying.

[0006] Furthermore, because user check-in data exhibits the irregular arrangement characteristic of non-Euclidean data, and inspired by the ability of graph convolutional networks to effectively handle non-Euclidean spatial data, this paper explores using graph convolutional networks to learn check-in collaboration signals from the bipartite graph of user-POI check-ins, and then integrating these signals into the embedding features of users and POIs. However, the next POI needs to consider the sequential nature of user check-ins; therefore, how to effectively model user check-in sequence patterns using graph convolutional networks is a problem that needs to be solved. Summary of the Invention

[0007] In view of this, the purpose of this invention is to provide a next POI recommendation method based on graph convolutional networks.

[0008] To address the data sparsity problem and improve recommendation performance in next-point-of-purchase (POI) recommendation, this paper proposes a Graph Convolutional Network-based POI recommendation method (CTGCN) that integrates category and temporal influences. First, an initial embedding layer is generated, containing user embeddings, POI embeddings, temporal embeddings, category embeddings, and relative position embeddings. Then, convolutional layers are constructed based on Graph Convolutional Networks, an attention mechanism, and a feedforward layer. Finally, the inner product operation is performed on the obtained user features and POI features to obtain the user's preference for POIs.

[0009] To achieve the above objectives, the present invention provides the following technical solution:

[0010] A method for recommending the next POI based on graph convolutional networks includes the following steps:

[0011] S1: Define symbols and questions;

[0012] U is the user set, L is the POI set, M is the number of users, N is the number of POIs, V is the number of categories, and E is the number of categories. UFor user embedding, E L For POI embedding, E C For category embedding, E T For time embedding, E P For position embedding, S is the check-in sequence;

[0013] For each user, the check-in sequence is defined as follows:

[0014] Define the check-in sequence: The check-in sequence for each user u∈U is represented as a time series. Each check-in Represented as (l i ,c i ,t i The meaning is that user u at time point t i For POIl i I checked in, and c i ∈C is POIl i Category;

[0015] Define the next POI recommendation: given the historical check-in sequence of user u And the next check-in time t n+1 The goal is to recommend the next POI from the candidate POI set L. n+1 ;

[0016] S2: Design model framework, consisting of three parts:

[0017] (1) Embedding layer, generating user embedding, POI embedding, time embedding, category embedding, and relative position embedding;

[0018] (2) Convolutional layer, which considers the user's check-in sequence and integrates the effects of category and time;

[0019] (3) Prediction layer: The user's preference for POI is obtained by learning the user features and POI features;

[0020] (1) Embedded layer

[0021] The purpose of the embedding layer is to map a given input into a low-dimensional dense vector representation; to effectively simulate the effects of sequence patterns, check-in time, and category, the user index, POI index, category index, check-in time, and the relative position of each interaction in the node neighborhood are encoded into a shared latent space.

[0022] Create an embedding matrix for the user Create an embedding matrix for POI Create a matrix for POI categories Where d is the dimension of the embedding vector; neighborhood aggregation is used to update user embeddings, POI embeddings, and category embeddings;

[0023] The embeddings for time and relative position are obtained using the mentioned encoding method, as follows: Given a timestamp t, first map t to a four-dimensional feature vector:

[0024] f(t) = [e m ,e d ,e w ,e h (1)

[0025] Among them, e m ,e d ,e w ,e h This vector represents "months of the year", "days of the month", "days of the week", and "hours of the day"; this vector forms the original feature vector of the timestamp; each feature in f(t) is extended to a multi-dimensional vector using sine and cosine functions, as follows:

[0026]

[0027]

[0028] Where x∈{m,d,w,h} represents a time-dimensional feature, d f r represents the dimension of each feature. x This represents the range of values ​​for the corresponding feature; the timestamp t will be calculated as a 4-dimensional vector F(t):

[0029] F(t) = [e m ,e d ,e w ,e h (4)

[0030] The time embedding matrix can be obtained through formula (4).

[0031] To effectively model check-in sequences, the location information of each interaction is encoded in the user's neighborhood or POI neighborhood; a relative location embedding matrix is ​​used. It can be obtained through the following formula:

[0032]

[0033]

[0034] in, It is the sequence position, r P It is the sequence length;

[0035] (2) Convolutional layer

[0036] Given a set N of neighbors of a node u u This includes the direct neighbors of node u at the k-th iteration, and a single graph convolution operation is the current representation connecting node u. Aggregated representation of features of its neighbors To update node embedding The standard graph convolution is represented as follows:

[0037]

[0038]

[0039] Where Aggregate(·) is an aggregation function, Concat(·) is a join function, and W (k) σ is a weight matrix, and σ is a non-linear activation function;

[0040] Sequence features are added to general graph convolution, and to further improve the model's performance, category and temporal context information are fused.

[0041] Based on the different node types, graph convolutional layers are divided into two categories: user neighborhood aggregation and POI neighborhood aggregation. Regarding user neighborhood aggregation: given user u and its neighbors N... u User neighborhood aggregation is represented as follows:

[0042]

[0043] in, It represents the fusion of current user characteristics, time characteristics, and relative location characteristics; This indicates the fusion of the current user's neighbor POI features, neighbor POI temporal features, neighbor POI relative position features, and neighbor POI category features; the Attention(·) function is the proposed attention mechanism, specifically represented as follows:

[0044]

[0045] Where Softmax(·) is the activation function that maps the output value to [0,1], and z is the dimension of Q and K;

[0046] To avoid problems such as overfitting and gradient vanishing, a feedforward layer is used to aggregate the current user's features and the features of its neighbors; the details are as follows:

[0047]

[0048] In this context, Dropout(·) is a function that randomly and temporarily discards some neurons with a certain probability, W1 and W2 are weight matrices, and ReLU(·) is the activation function. It is a feature representation of user u. It is the feature representation after aggregating the neighborhood of user u;

[0049] Given POIl and its neighbors N l POI neighborhood aggregation is represented as follows:

[0050]

[0051] in, It represents the fusion of current POI features, time features, relative location features, and category features; This involves fusing the features of the current POI's neighboring users, their temporal features, and their relative location features. A feedforward layer is used to aggregate the features of the current POI and its neighbors. Specifically:

[0052]

[0053] in This is a feature representation of POIl. It is the feature representation after POIl neighborhood aggregation;

[0054] To capture high-order collaborative signals of user interaction with POIs, neighborhood aggregation is incorporated into the architecture of graph convolution.

[0055] (3) Prediction layer

[0056] Given a target user u and a target time t, the corresponding user embedding representation is obtained. Embedded representation of the target POI Use the inner product operation to obtain the user's preference value for the target POI:

[0057]

[0058] S3: Optimization model;

[0059] To train the model, binary cross-entropy is chosen as the loss function; the loss function is defined as follows:

[0060]

[0061] Where G={u,l,l′} is the training set, a negative sample is sampled for each positive sample to check in to the POI, λ is the regularization parameter, and ||·|| is the F-norm;

[0062] Finally, the Adam optimization method is used to optimize the model, and the mini-batch stochastic gradient descent (SGD) method is used to accelerate the training process.

[0063] The beneficial effects of this invention are as follows:

[0064] (1) This paper introduces a time encoding method that maps timestamps to their multi-scale periodic representation, thereby capturing temporal information features more effectively. At the same time, the relative position embedding also adopts a similar operation.

[0065] (2) This paper utilizes the attention mechanism and feedforward layer to construct an aggregation layer that can model categories, time, and sequences, and integrates this aggregation layer into a graph convolutional network to propose the next POI recommendation method (CTGCN) based on graph convolutional networks.

[0066] (3) In order to measure the effectiveness of CTGCN, this chapter conducted relevant experiments on the NYC and TKY datasets. The results show that CTGCN achieved optimal performance on all evaluation metrics.

[0067] Other advantages, objectives, and features of the invention will be set forth in part in the description which follows, and in part will be apparent to those skilled in the art from the following examination, or may be learned from practice of the invention. The objectives and other advantages of the invention can be realized and obtained through the following description. Attached Figure Description

[0068] To make the objectives, technical solutions, and advantages of the present invention clearer, the preferred embodiments of the present invention will be described in detail below with reference to the accompanying drawings, wherein:

[0069] Figure 1 Here is an example of how time context affects user check-in;

[0070] Figure 2 Analysis of temporal patterns of categories on the NYC dataset;

[0071] Figure 3 Analysis of temporal patterns of categories on the TKY dataset;

[0072] Figure 4 Here is a diagram of the CTGCN model framework;

[0073] Figure 5 For user neighborhood aggregation graph;

[0074] Figure 6 This is a POI neighborhood aggregation graph;

[0075] Figure 7 For performance comparison on the NYC dataset; Figure 7 (a) Using HT metrics; Figure 7 (b) Using NDCG metrics;

[0076] Figure 8 For performance comparison on the TKY dataset; Figure 8 (a) Using HT metrics; Figure 8 (b) is for using NDCG metrics. Detailed Implementation

[0077] The following specific examples illustrate the implementation of the present invention. Those skilled in the art can easily understand other advantages and effects of the present invention from the content disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and various details in this specification can be modified or changed based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the illustrations provided in the following embodiments are only schematic representations of the basic concept of the present invention. Unless otherwise specified, the following embodiments and features can be combined with each other.

[0078] The accompanying drawings are for illustrative purposes only and are schematic diagrams, not actual pictures. They should not be construed as limiting the invention. To better illustrate the embodiments of the invention, some parts in the drawings may be omitted, enlarged, or reduced, and do not represent the actual product dimensions. It is understandable to those skilled in the art that some well-known structures and their descriptions may be omitted in the drawings.

[0079] In the accompanying drawings of the embodiments of the present invention, the same or similar reference numerals correspond to the same or similar components. In the description of the present invention, it should be understood that if terms such as "upper," "lower," "left," "right," "front," and "rear" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the drawings, they are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, the terms used to describe positional relationships in the drawings are only for illustrative purposes and should not be construed as limiting the present invention. For those skilled in the art, the specific meaning of the above terms can be understood according to the specific circumstances.

[0080] 1. Definition

[0081] 1.1 Definition of relevant symbols

[0082] This chapter proposes a next-generation POI recommendation method based on graph convolutional networks. Before detailing the model, this section describes the relevant symbols used below, as shown in Table 1.

[0083] Table 1. Description of relevant symbols in this chapter

[0084]

[0085] 1.2 Problem Definition

[0086] For each user, the check-in sequence is defined as follows.

[0087] Definition 1 (Check-in Sequence): The check-in sequence for each user u∈U can be represented as a time series. And each check-in It can also be represented as (l) i ,c i ,t i The meaning is that user u at time point t i For POIl i I checked in, and c i ∈C is POIl i The category.

[0088] Definition 2 (Next POI Recommendation): Given a user u's historical check-in sequence And the next check-in time t n+1 The goal is to recommend the next POI from the candidate POI set L. n+1 .

[0089] 2. Model Framework Design

[0090] This section introduces the proposed CTGCN method, whose overall framework diagram is shown below. Figure 4 As shown. The framework consists of three parts: (1) an embedding layer that generates user embeddings, POI embeddings, time embeddings, category embeddings, and relative position embeddings; (2) a convolutional layer that considers the user's check-in sequence and integrates the influence of category and time; and (3) a prediction layer that obtains the user's preference for POI by combining the learned user features with the POI features.

[0091] 2.1 Embedding Layer

[0092] The purpose of the embedding layer is to map a given input into a low-dimensional, dense vector representation. To effectively model the effects of sequence patterns, check-in time, and category, this section encodes the user index, POI index, category index, check-in time, and the relative position of each interaction in the node's neighborhood into a shared latent space.

[0093] Specifically, this article creates an embedding matrix for the user. Create an embedding matrix for POI Create a matrix for POI categories Where d is the dimension of the embedding vector. This paper uses neighborhood aggregation to update user embeddings, POI embeddings, and category embeddings.

[0094] For the embedding of time and relative position, this paper uses the mentioned encoding method, as follows. Given a timestamp t, this paper first maps t to a four-dimensional feature vector:

[0095] f(t) = [e m ,ed ,e w ,e h (1)

[0096] Among them, e m ,e d ,e w ,e h This represents "a month of the year", "a day of the month", "a day of the week", and "an hour of the day". For example, the timestamp "2022-Mar-5Saturday11:09:00" is mapped to [3,5,6,11]. This vector forms the original feature vector of the timestamp. Furthermore, this paper extends each feature in f(t) into a multi-dimensional vector using sine and cosine functions, as follows:

[0097]

[0098]

[0099] Where x∈{m,d,w,h} represents a time-dimensional feature, d f r represents the dimension of each feature. x This represents the range of values ​​for the corresponding feature. Ultimately, the timestamp t will be calculated as a 4-dimensional vector F(t):

[0100] F(t) = [e m ,e d ,e w ,e h (4)

[0101] The time embedding matrix can be obtained through formula (4).

[0102] To effectively model check-in sequences, this paper considers encoding the location information of each interaction in the user's neighborhood or POI's neighborhood. Relative location embedding matrix. It can be obtained through the following formula:

[0103]

[0104]

[0105] in, It is the sequence position, r P It is the sequence length.

[0106] 2.2 Convolutional Layers

[0107] Convolutional layers, built upon a graph convolutional architecture, model the effects of check-in sequences, categories, and time, and capture high-order collaboration signals in the bipartite graph of users and POIs. The goal of graph convolution is to learn node representations by smoothing features on a graph. Graph convolutional neural networks iteratively perform graph convolution operations, updating the representation of each node by aggregating features from its neighbors. Given a set N of neighbors for a node u... u It contains the direct neighbors of node u at the k-th iteration, and a graph convolution operation is the current representation connecting node u. Aggregated representation of features of its neighbors To update node embedding A standard graph convolution can be represented as follows:

[0108]

[0109]

[0110] Where Aggregate(·) is an aggregation function, Concat(·) is a join function, and W (k) σ is a weight matrix, and σ is a non-linear activation function.

[0111] Currently, some GCN models suffer from the inability to capture the sequence information of nodes in the neighborhood. In the next POI recommendation, the order of check-ins is a crucial factor that cannot be ignored. Therefore, this paper incorporates sequence features into the general graph convolution, and further improves the model's performance by fusing category and temporal context information.

[0112] Furthermore, this paper categorizes graph convolutional layers into two types based on node type: user neighborhood aggregation and POI neighborhood aggregation. Regarding user neighborhood aggregation, for example... Figure 5 As shown. Given user u and its neighbors N u User neighborhood aggregation is represented as follows:

[0113]

[0114] in, It indicates that it integrates current user characteristics, time characteristics, and relative location characteristics; This indicates that the features of the current user's neighboring POIs are integrated, including the current user's neighboring POIs' time features, relative position features, and category features. The Attention(·) function is the proposed attention mechanism, specifically represented as follows:

[0115]

[0116] Softmax(·) is the activation function that maps the output value to [0,1], and z is the dimension of Q and K.

[0117] To avoid problems such as overfitting and gradient vanishing, this paper uses a feedforward layer to aggregate the current user's features and the features of its neighbors. Specifically:

[0118]

[0119] In this context, Dropout(·) is a function that randomly and temporarily discards some neurons with a certain probability, W1 and W2 are weight matrices, and ReLU(·) is the activation function. It is a feature representation of user u. It is the feature representation after aggregating the neighborhood of user u.

[0120] Regarding neighborhood aggregation of POIs, such as Figure 6 As shown. Given POIl and its neighbors N l POI neighborhood aggregation is represented as follows:

[0121]

[0122] in, It indicates that it integrates current POI features, time features, relative location features, and category features; This indicates that the features of the current POI are fused with the features of its neighboring users, their time features, and their relative location features. Similarly, a feedforward layer is used to aggregate the features of the current POI and its neighbors. Specifically:

[0123]

[0124] in This is a feature representation of POIl. It is the feature representation after POIl neighborhood aggregation.

[0125] To capture high-order collaborative signals between users and Points of Interest (POIs), this paper incorporates neighborhood aggregation into the architecture of graph convolution. The specific implementation process is shown in Table 2.

[0126] Table 2 Description of Convolutional Layer Algorithms

[0127]

[0128]

[0129] 2.3 Prediction Layer

[0130] Through continuous iteration, user features and POI features can be trained based on historical check-in data. Therefore, for a given target user u and target time t, the corresponding user embedding representation can be obtained. Embedded representation of the target POI Finally, the inner product operation is used to obtain the user's preference value for the target POI:

[0131]

[0132] 2.4 Optimization

[0133] To train the model, this paper chooses binary cross-entropy as the loss function. The loss function is defined as follows:

[0134]

[0135] Where G = {u,l,l′} is the training set. In this paper, one negative sample is sampled for each positive sample checking in at a POI. The specific sampling process is shown in Table 3. λ is the regularization parameter, and ||·|| is the F-norm.

[0136] Finally, this paper uses the Adam optimization method to optimize the model and the mini-batch stochastic gradient descent (SGD) method to accelerate the training process.

[0137] Table 3 Description of the Negative Sample Sampling Algorithm

[0138]

[0139] 3. Experiment and Analysis

[0140] 3.1 Dataset

[0141] This chapter's experiments use the NYC and TKY datasets, collected from New York City and Tokyo respectively, as the evaluation datasets for the proposed model. These two datasets were collected between April 12, 2012, and February 16, 2013, and have been widely used in numerous related research papers. Each check-in record includes the user ID, POI ID, POI category, GPS location, and timestamp. The statistical results for these two datasets after data preprocessing are shown in Table 4.

[0142] Table 4 Dataset Statistics

[0143]

[0144] 3.2 Evaluation Indicators

[0145] This paper uses Hit@K (HT@K) from formula (15) and NDCG@K from formula (16) to evaluate the performance of different methods, where the value of K ranges from {1, 5, 10, 15, 20}. Larger values ​​for Hit and NDCG indicate better model performance. Hit@K represents the probability that a user's actual visited POI is among the top K recommended POIs. A larger Hit value indicates better accuracy in model recommendations. NDCG is used to measure the ranking quality of model recommendations. A larger NDCG value indicates higher ranking quality.

[0146]

[0147]

[0148] Where T u R is the POI that user u actually accesses. u (K) represents the K Points of Interest (POIs) recommended to user u, where i represents the position in the POI recommendation list.

[0149] 3.3 Baseline and Parameter Settings

[0150] To demonstrate the effectiveness of the CTGCN model proposed in this chapter, this paper will compare it with several competitive baseline methods. These baseline methods are summarized below:

[0151] FPMC: This method combines ordinary Markov chains and matrix factorization to capture sequence patterns and long-term user preferences.

[0152] Caser: This method is a convolutional sequence embedding order recommendation method that embeds the checked-in POIs into an "image" in sequence and uses horizontal and vertical convolutional filters to learn the local features of the "image".

[0153] HGN: This method is a hierarchical gating network combined with BPR. It controls which items and their related items can be passed to downstream layers, and also features fewer parameters and higher speed.

[0154] TimeSAN: This method is a time-modulated attention network. It learns the correlation between a user's next POI visit and past visits through a self-attention mechanism, where the correlation is modulated by the temporal context.

[0155] PLSPL: This method combines users' long-term and short-term preferences using a linear combination unit. In the long-term module, it considers the contextual features of POIs in the user's historical records and utilizes an attention mechanism to capture long-term preferences. In the short-term module, it learns the influence of location and category on user check-ins using an LSTM model.

[0156] The above comparison methods maintain parameter settings as closely as possible to the original literature to optimize the performance of each method. For the CTGCN method proposed in this paper, the parameter settings are as follows: number of convolutional layers is set to 2, user sequence length is set to 30, and embedding dimension is set to 128.

[0157] 3.4 Experimental Results and Analysis

[0158] The performance comparison of the proposed method with other state-of-the-art methods on the NYC and TKY datasets is as follows: Figure 7 As shown. Figure 7 (a) Using HT metrics; Figure 7 (b) Using NDCG as a metric. As can be clearly seen from the figure, the proposed method CTGCN achieves the best performance in both Hit and NDCG compared to the benchmark method, thus effectively demonstrating the effectiveness of the proposed method. Furthermore, the following analytical results can also be observed:

[0159] (1) Comparing the CTGCN method with the best-performing baseline method, PLSPL. On the NYC dataset, the hit rate is improved by 1.9%–8.8%, and the NDCG is improved by 1.9%–6%; on the TKY dataset, the hit rate is improved by 5%–11%, and the NDCG is improved by 6.1%–7.9%. Although both methods consider class and time factors, there are still significant performance differences because CTGCN uses a graph convolutional network, while PLSPL uses an LSTM. When dealing with non-Euclidean data such as check-in data, using a graph convolutional network makes it easier to learn the higher-order cooperative signals between nodes.

[0160] (2) On the NYC and TKY datasets, the FPMC method performed the worst. This is because FPMC is a traditional machine learning method that combines linear matrix factorization and Markov chains, while the other methods are deep learning methods. This also indirectly confirms that traditional learning methods generally perform worse than deep learning-based methods.

[0161] Figure 8 For performance comparison on the TKY dataset; Figure 8 (a) Using HT metrics; Figure 8 (b) is for using NDCG metrics.

[0162] (3) The CTGCN method is compared with the TimeSAN method, which ranks second only to PLSPL among the baseline methods. On the NYC dataset, the hit rate is improved by 6.7%-13.8%, and the NDCG is improved by 6.7%-10.9%; on the TKY dataset, the hit rate is improved by 10.1%-15%, and the NDCG is improved by 11.8%-13%. There are two reasons for the performance difference. On the one hand, the TimeSAN method only integrates time as a contextual feature, while CTGCN integrates both category and time contextual information. On the other hand, TimeSAN only uses the attention mechanism, while CTGCN considers both the attention mechanism and graph convolution.

[0163] (4) On the NYC and TKY datasets, the Caser method and the HGN method showed similar performance. However, the reasons for the performance difference with the CTGCN method differed. The Caser method's performance was weaker than the CTGCN method because it used a convolutional neural network, which excels at processing Euclidean data with regular structures like images, while check-in data is often irregular and non-Euclidean. The HGN method's performance was weaker than the CTGCN method because it only considered the sequential nature of the check-in data without incorporating the rich contextual information to alleviate data sparsity. This further illustrates that incorporating rich contextual information to improve the performance of the next POI recommendation is beneficial and necessary.

[0164] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention and are not intended to limit it. Although the present invention has been described in detail with reference to preferred embodiments, those skilled in the art should understand that modifications or equivalent substitutions can be made to the technical solutions of the present invention without departing from the spirit and scope of the present invention, and all such modifications or substitutions should be covered within the scope of the claims of the present invention.

Claims

1. A method for recommending the next POI based on graph convolutional networks, characterized in that: The method includes the following steps: S1: Define symbols and questions; For user collection, For the POI set, For the number of users, For the number of POIs, For the number of categories, Embedded for users, Embedding for POI, Embedding for categories, For time embedding, For position embedding, This is the check-in sequence; For each user, the check-in sequence is defined as follows: Define the check-in sequence: for each user The sign-in sequence is represented as a time series. Each sign-in Represented as Its meaning is user At the point of time For POI I checked in, and It is POI Category; Define the next POI recommendation: given a user Historical check-in sequence And the next check-in time The goal is to select from the candidate POI set Recommend the next POI ; S2: Design Model Framework The framework consists of three parts: (1) Embedding layer, generating user embedding, POI embedding, time embedding, category embedding, and relative position embedding; (2) Convolutional layer, considering the user's check-in sequence, and integrating the effects of category and time; (3) Prediction layer: The user's preference for POI is obtained by learning the user features and POI features; (1) Embedded layer The purpose of the embedding layer is to map a given input into a low-dimensional dense vector representation; to effectively simulate the effects of sequence patterns, check-in time, and category, the user index, POI index, category index, check-in time, and the relative position of each interaction in the node neighborhood are encoded into a shared latent space. Create an embedding matrix for the user Create an embedding matrix for the POI Create a matrix for POI categories ,in It is the dimension of the embedding vector; neighborhood aggregation is used to update user embeddings, POI embeddings, and category embeddings; The embedding of time and relative position is obtained using the mentioned encoding method, as follows: given a timestamp First of all Mapped to a four-dimensional feature vector: (1) in, This vector represents "a month in a year", "a day in a month", "a day in a week", and "an hour in a day"; this vector forms the original feature vector of the timestamp; Each feature in the vector is extended to a multidimensional vector using sine and cosine functions, as follows: (2) (3) in, This represents a time-dimensional feature. The dimension representing each feature. Indicates the range of values ​​for the corresponding feature; timestamp It will be calculated as a 4-dimensional vector. : (4) The time embedding matrix can be obtained through formula (4). ; To effectively model check-in sequences, the location information of each interaction is encoded in the user's neighborhood or POI neighborhood; a relative location embedding matrix is ​​used. It can be obtained through the following formula: (5) (6) in, It is the sequence position. It is the sequence length; (2) Convolutional layer Given a node Neighbor set , including the node at the k-th iteration The direct neighbors of the nodes, and a single graph convolution operation connects the nodes. The current representation Aggregated representation of features of its neighbors To update node embedding The standard graph convolution is represented as follows: (7) (8) in It is an aggregate function. It is a join function. It is a weight matrix. It is a non-linear activation function; Sequence features are added to general graph convolution, and to further improve the model's performance, category and temporal context information are fused. Based on the different node types, graph convolutional layers are divided into two categories: user neighborhood aggregation and POI neighborhood aggregation; regarding user neighborhood aggregation; given a user and his neighbors User neighborhood aggregation is represented as follows: (9) in, This indicates the fusion of current user characteristics, time characteristics, and relative location characteristics; This indicates that the features of the current user's neighbor POIs, the time features of neighbor POIs, the relative location features of neighbor POIs, and the category features of neighbor POIs are integrated. The function is the proposed attention mechanism, and its specific representation is as follows: (10) in It maps the output value to Activation function, yes and The dimension; To avoid overfitting and gradient vanishing problems, a feedforward layer is used to aggregate the current user's features and the features of its neighbors; specifically as follows: (11) in, It is a function that randomly and temporarily discards some neuron nodes with a certain probability. It is a weight matrix. It is an activation function. User Feature representation, User Feature representation after neighborhood aggregation; Given POI and his neighbors POI neighborhood aggregation is represented as follows: (12) in, This means that the current POI features, time features, relative location features, and category features are integrated; This indicates the fusion of neighboring user features, neighboring user time features, and neighboring user relative location features of the current POI; the feedforward layer aggregates the features of the current POI and its neighbors; specifically as follows: (13) in It is POI Feature representation, It is POI Feature representation after neighborhood aggregation; To capture high-order collaborative signals of user interaction with POIs, neighborhood aggregation is incorporated into the architecture of graph convolution. (3) Prediction layer For a given target user and target time To obtain the corresponding user embedding representation Embedded representation of the target POI Use the inner product operation to obtain the user's preference value for the target POI: (14) S3: Optimization model; To train the model, binary cross-entropy is chosen as the loss function; the loss function is defined as follows: (13) in, It is the training set, where a negative sample is sampled for each positive sample checking in at a POI. It is a regularization parameter. It is the F-norm; Finally, the Adam optimization method is used to optimize the model, and the mini-batch stochastic gradient descent (SGD) method is used to accelerate the training process.