Information recommendation method, device, equipment and storage medium

By constructing user feature vectors and object feature vectors from multi-source spatiotemporal heterogeneous data, the problem of low accuracy caused by the lack of historical user behavior data in personalized recommendation systems is solved, achieving high-concurrency and low-latency information recommendation, and improving the accuracy and user experience of the recommendation system.

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

Patent Information

Application Number
CN202210127573.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-02-11
Publication Date
2025-10-28
Estimated Expiration
2042-02-11

AI Technical Summary

Technical Problem

Existing personalized recommendation systems have low recommendation accuracy when there is limited historical user behavior data, especially during cold starts, and cannot effectively recommend users and cannot handle multiple user requests with high concurrency and low latency.

Method used

By constructing user feature vectors and object feature vectors from multi-source spatiotemporal heterogeneous data, and utilizing users' social friends' interests and objects' geographical region information, high-concurrency, low-latency information recommendation is achieved.

Benefits of technology

It improves the accuracy of information recommendations, better meets user needs, enhances user experience, solves the cold start problem, and enables rapid response under high concurrency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114443972B_ABST
    Figure CN114443972B_ABST
Patent Text Reader

Abstract

This application provides an information recommendation method, apparatus, device, and storage medium. The method includes: receiving a recommendation request, the recommendation request including a user's identifier; determining candidate objects; determining a user feature vector corresponding to the user based on the user's identifier and a preset correspondence, the correspondence representing the mapping relationship between the user and the user feature vector, the user feature vector being obtained by training a vectorized representation of users in user data, and representing the degree of interest of the user in the object and the influence of the interests of the user's social friends on the user's interest; determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, the feature vector of the candidate object being obtained by training a vectorized representation of the object in user data, and representing the user group of the object; ranking the candidate objects according to the recommendation degree, obtaining a recommendation result, and returning it to the user's terminal device.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to information processing technology, and more particularly to an information recommendation method, apparatus, device, and storage medium. Background Technology

[0002] With the development of information technology, the amount of data is increasing dramatically. This data can be used to make personalized recommendations to users. Personalized recommendations do not require users to provide explicit needs; they can recommend information and products that users are interested in based on their information needs and interests.

[0003] Current personalized recommendations primarily rely on creating user profiles based on historical behavioral data, and then using these profiles to provide personalized recommendations within the recommendation system. This historical behavioral data includes objects the user has interacted with, such as tourist attractions, merchants, and business districts.

[0004] However, when there is limited historical user behavior data, the accuracy of recommendations will be lower. Summary of the Invention

[0005] This application provides an information recommendation method, apparatus, device, and storage medium to address the problem of low recommendation accuracy when there is limited historical user behavior data.

[0006] Firstly, this application provides an information recommendation method applied to a server. The method includes: receiving a recommendation request, the recommendation request including a user's identifier; determining candidate objects based on the user's identifier, the candidate objects being objects used for pre-recommendation to the user; determining a user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, the correspondence representing a mapping relationship between the user and the user feature vector, the user feature vector being obtained by training a vectorized representation of users in the user data based on user data, and representing the degree of interest of the user in the object and the influence of the interests of the user's social friends on the user's points of interest; determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, the feature vector of the candidate object being obtained by training a vectorized representation of objects in the user data based on user data, and representing the user group of the object; and sorting the candidate objects according to the recommendation degree of the candidate objects to the user, obtaining a recommendation result and returning it to the user's terminal device.

[0007] Secondly, this application provides an information recommendation method applied to a terminal device. The method includes: sending a recommendation request to a server, the recommendation request including a user's identifier; receiving a recommendation result returned by the server based on the recommendation request; wherein the recommendation result is a result obtained by the server determining candidate objects based on the user's identifier, determining a user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, and ranking the candidate objects based on the recommendation degree of the candidate objects to the user; the correspondence is used to represent the mapping relationship between users and user feature vectors, the user feature vector is obtained by training a vectorized representation of user data, and is used to represent the degree of interest of the user in the object and the degree of influence of the interests of the user's social friends on the user's point of interest, the user data includes information of multiple users and geographical locations of multiple objects, at least some of the multiple users have social relationships, and the multiple objects are access objects of the multiple users; the feature vector of the candidate object is obtained by training a vectorized representation of the user data, and is used to represent the user group of the object.

[0008] Thirdly, this application provides an information recommendation device, comprising: a receiving module, a first determining module, a second determining module, a third determining module, and a sorting and returning module; the receiving module is used to receive a recommendation request, the recommendation request including a user's identifier; the first determining module is used to determine candidate objects for the user, the candidate objects being objects for pre-recommendation to the user; the second determining module is used to determine a user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, the correspondence being used to represent the mapping relationship between users and user feature vectors, the user feature vector being determined based on user data. The first module is a vector representation obtained through training, used to represent the degree of interest of the user in the object and the influence of the interests of the user's social friends on the user's points of interest; the second module is used to determine the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, wherein the feature vector of the candidate object is obtained through training the vector representation of the object in the user data based on the user data, and is used to represent the user group of the object; the third module is used to sort the candidate objects according to the recommendation degree of the candidate objects to the user, obtain the recommendation result and return it to the user's terminal device.

[0009] Fourthly, this application provides an information recommendation device, comprising: a sending module and a receiving module; the sending module is configured to send a recommendation request to a server, the recommendation request including a user's identifier; the receiving module is configured to receive a recommendation result returned by the server based on the recommendation request; wherein, the recommendation result is a result obtained by the server determining candidate objects based on the user's identifier, determining the user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, and ranking the candidate objects based on the recommendation degree of the candidate objects to the user; the correspondence is used to represent the mapping relationship between users and user feature vectors, the user feature vector is obtained by training a vectorized representation of user data, and is used to represent the degree of influence of the user's interest in the object and the interests of the user's social friends on the user's point of interest, the user data includes information of multiple users and the geographical locations of multiple objects, at least some of the multiple users have social relationships, and the multiple objects are the access objects of the multiple users; the feature vector of the candidate object is obtained by training a vectorized representation of the user data, and is used to represent the user group of the object.

[0010] Fifthly, this application provides an electronic device, including: a memory, a processor; the memory for storing processor-executable instructions; wherein the processor is configured to implement the method as described in the first aspect.

[0011] In a sixth aspect, this application provides a computer-readable storage medium storing computer-executable instructions that, when executed by a processor, are used to implement the method described in the first aspect.

[0012] In a seventh aspect, this application provides a computer program product, including a computer program that, when executed by a processor, implements the method described in the first aspect.

[0013] The information recommendation method, apparatus, device, and storage medium provided in this application involve receiving a recommendation request, the recommendation request including a user's identifier; determining candidate objects based on the user's identifier, the candidate objects being objects used for pre-recommendation to the user; determining a user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, the correspondence representing the mapping relationship between the user and the user feature vector, the user feature vector being obtained by training a vectorized representation of users in the user data based on user data, and representing the degree of interest of the user in the object and the influence of the interests of the user's social friends on the user's points of interest; determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, the feature vector of the candidate object being obtained by training a vectorized representation of objects in the user data based on user data, and representing the user group of the object; sorting the candidate objects according to the recommendation degree of the candidate objects to the user, obtaining a recommendation result, and returning it to the user's terminal device. Since the user feature vector is obtained by training a vectorized representation of users in the user data based on user data, and it represents the influence of the user's interest in an object and the interests of the user's social friends on the user's point of interest, and the candidate object feature vector is obtained by training a vectorized representation of objects in the user data based on user data, and it represents the geographic region between the object's user group and the object, it can be seen that this embodiment adds the influence of the user's social friends' interests on the user's point of interest and uses it as a user feature, thereby more accurately expressing the user's features. Furthermore, the object's feature vector adds the object's geographic region to express the object's features, thereby improving the accuracy of expressing the features of both users and objects. Therefore, in the information recommendation process, it can improve the accuracy of information recommendation, recommending objects that better meet the user's needs to the user, thus improving the user experience. Attached Figure Description

[0014] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0015] Figure 1 This is a schematic diagram illustrating an application scenario applicable to the embodiments of this application;

[0016] Figure 2 The flow of the information recommendation method provided in the embodiments of this application Figure 1 ;

[0017] Figure 3An architecture diagram of the recommendation system provided in the embodiments of this application;

[0018] Figure 4 A logic block diagram of the information recommendation method provided in the embodiments of this application;

[0019] Figure 5 The flow of the information recommendation method provided in the embodiments of this application Figure 2 ;

[0020] Figure 6 A schematic diagram of two sets provided for embodiments of this application;

[0021] Figure 7 A schematic diagram illustrating the construction of a heterogeneous information network provided in an embodiment of this application;

[0022] Figure 8 A schematic diagram illustrating training based on a heterogeneous information network, provided for an embodiment of this application;

[0023] Figure 9 The flow of the information recommendation method provided in the embodiments of this application Figure 3 ;

[0024] Figure 10 The flow of the information recommendation method provided in the embodiments of this application Figure 4 ;

[0025] Figure 11 The flow of the information recommendation method provided in the embodiments of this application Figure 5 ;

[0026] Figure 12 An example diagram illustrating the determination of candidate objects provided in this application embodiment;

[0027] Figure 13 Another example diagram for determining candidate objects provided in this application embodiment;

[0028] Figure 14 A schematic diagram of the structure of the information recommendation device provided in the embodiments of this application;

[0029] Figure 15 A schematic diagram of another information recommendation device provided in this application embodiment;

[0030] Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application.

[0031] The accompanying drawings illustrate specific embodiments of this application, which will be described in more detail below. These drawings and descriptions are not intended to limit the scope of the concept in any way, but rather to illustrate the concept of this application to those skilled in the art through reference to particular embodiments. Detailed Implementation

[0032] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0033] Terminology Explanation:

[0034] Location-based services (LBS) utilize various types of positioning technologies to obtain the current location of a positioning device and provide information resources and basic services to the positioning device via the mobile internet.

[0035] Figure 1 This is a schematic diagram illustrating an application scenario applicable to embodiments of this application. For example... Figure 1 As shown, the application scenario includes: terminal device 11 and server 12, and terminal device 11 and server 12 are connected in communication.

[0036] Among them, the terminal device 11 can be a smartphone, tablet computer, computer, etc.

[0037] Server 12 can be a single server or a server cluster comprising multiple servers. Server 12 is equipped with a recommendation system. Users send recommendation requests to the server through their terminal devices, and the server generates recommendation results for the user through the recommendation system and sends them back to the user's terminal device.

[0038] Current information recommendation systems mostly rely on a single information source or two types of information, resulting in low accuracy and a poor user experience. Furthermore, they fail to effectively leverage the long-tail effect, leading to top-recommended items becoming increasingly popular while those at the bottom remain unvisited.

[0039] In addition, users with limited user behavior data face the challenge of a cold start, resulting in lower accuracy in information recommendations. Furthermore, for objects with low user traffic, since current information recommendations largely rely on user-object interaction information, recommendations cannot be made when these objects first enter the recommendation system.

[0040] Furthermore, recommendation systems typically need to handle multiple user requests simultaneously, supporting a number of concurrent users greater than the existing number of active users. On the other hand, to ensure a good user experience, the system service needs to respond quickly, meaning it must return recommendation results to users with low latency. Therefore, how to return recommendation results to users with high concurrency and low latency is also a crucial issue.

[0041] To address the aforementioned technical problems, the inventors of this application propose the following technical concept: For users, location-based service scenarios contain rich, multi-source, spatiotemporally heterogeneous data, such as user check-in data, user comment text, user social relationships, and spatial associations between objects. The heterogeneity and correlation of various types of information can more fully express the characteristics of users and objects, enriching their features. Therefore, this application generates user feature vectors and object feature vectors through various types of data, thereby recommending objects highly correlated with user characteristics to users during the recommendation process, improving recommendation accuracy. Furthermore, regarding the cold start problem, even if there is limited relevant data for users or objects, the features of users or objects can be enriched based on this data, thus effectively solving the cold start problem.

[0042] Furthermore, during the recall phase, by incorporating factors such as the user's location and the objects visited by the user's social friends, some objects can be filtered out from thousands of objects, thereby achieving the effect of high concurrency and low latency recommendation.

[0043] The embodiments of this application can be applied to scenarios such as scenic spot information recommendation, cross-traffic generation in business districts, point of interest recommendation, and merchant recommendation.

[0044] The technical solution of this application and how the technical solution of this application solves the above-mentioned technical problems are described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described again in some embodiments. The embodiments of this application will now be described with reference to the accompanying drawings.

[0045] Figure 2 The flow of the information recommendation method provided in the embodiments of this application Figure 1 .like Figure 2 As shown, this information recommendation method includes the following steps:

[0046] S201. The terminal device sends a recommendation request to the server, which includes the user's identifier.

[0047] In this embodiment, the recommendation request includes at least the user's identifier.

[0048] In some alternative implementations, recommendation requests can be initiated by the user. For example, a user can generate a recommendation request by entering search keywords into a search engine. For instance, if a user enters "park" into a search engine, the terminal device will generate a recommendation request based on the search keyword "park" and the user's identifier.

[0049] In some alternative implementations, the recommendation request can also be initiated by the user's terminal device. The user's terminal device automatically sends a recommendation request to the server to push information to the user's terminal device based on the recommendation results. For example, a travel application (APP) recommends nearby attractions to the user based on the user's current location. The travel application can proactively send a recommendation request to the server to obtain attractions around the user and push them to the user. In this implementation, the recommendation request includes the user's location and user identifier.

[0050] The user's identifier can be either a unique identifier for the user's terminal device or a unique identity identifier for the user.

[0051] S202. The server filters out candidate objects from all objects in the recommendation system based on the user's identifier and preset filtering rules. These candidate objects are used to pre-recommend the user.

[0052] This step corresponds to the recall phase in the recommendation service. In the recall phase, a subset of objects needs to be selected from the numerous objects in the object library as candidate objects. Each candidate object is then scored, ranked according to its score, and finally, recommendations are made to users based on the ranking results.

[0053] Optionally, the preset filtering rules can be filtering rules based on user information such as user interests, historical behavior, and static attributes.

[0054] Figure 3 This is an architecture diagram of the recommendation system provided in the embodiments of this application. Figure 3 As shown, the recommendation system includes a recall module 21, a recommendation service module 22, a feature service module 23, and an online service module 24.

[0055] The user's recommendation request is sent to the recommendation system through the terminal device. The recommendation system calls the recall module 21 to initially filter out a batch of recommended objects in the object library and obtain candidate objects.

[0056] S203. The server determines the user feature vector corresponding to the user's identifier based on the user's identifier and the preset correspondence. The correspondence is used to represent the mapping relationship between the user and the user feature vector. The user feature vector is obtained by training the vectorization representation of user data and is used to represent the degree of user interest in objects and the degree of influence of the user's social friends' interests on the user's interest points.

[0057] User data includes information about multiple users and the geographical locations of multiple objects. At least some of the users have social relationships with each other, and the objects are the access objects of the multiple users.

[0058] Please continue reading. Figure 3 Feature service module 23 is used to construct a spatiotemporal heterogeneous information network, which is used to represent the network features of users and the network features of objects.

[0059] The recommendation service module 22 is used for offline training of the recommendation model to obtain the feature representation vectors of users and objects.

[0060] The online service module 24 is used for real-time reasoning for recommendations. It reads in the feature representation vectors of users and objects obtained from the recommendation service module 22 and predicts and ranks the candidate objects.

[0061] S204. The server determines the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object. The feature vector of the candidate object is obtained by training the user data to vectorize it and is used to represent the user group of the object.

[0062] In this embodiment, the recommendation system includes multiple users and multiple objects. Objects are used to make recommendations to users and can be items or information, such as tourist attractions, restaurants, shopping malls, movies, etc. Any information that users can obtain through a search engine can be used as a recommendation object.

[0063] In a recommendation system, each user has a corresponding feature vector, which represents the user's characteristics. There is a correspondence between a user's identifier and their feature vector. Based on the user's identifier and this correspondence, the user's feature vector can be determined.

[0064] In a recommendation system, each object also has a corresponding feature vector, which is used to represent the object's features.

[0065] User feature vectors and object feature vectors are obtained in advance by the recommendation system through vectorization of user data. The user feature vector represents information such as the user's level of interest in an object and the influence of the interests of the user's social friends on the user's interests. The object feature vector represents the user group associated with that object, such as which user groups prefer to access that object.

[0066] The user data used during training includes the following different dimensions: user dimension, interaction dimension, and object dimension. The user dimension includes users' social relationship data, primarily used to characterize users' social profiles. The interaction dimension includes users' check-in records, primarily used to generate interaction profiles between users and objects, mainly describing the degree of user preference for a particular object. The object dimension includes object neighborhood correlation, using information from this dimension to construct regional profiles between objects.

[0067] Taking attraction information recommendations as an example, user data includes three types of entities: users, friends, and attractions. Users refer to those who actually check in and visit attractions. Friends refer to the social relationships users have on social networks, including real-life friends and online friends (such as those on social apps like Weibo and WeChat). Attractions include parks, tourist attractions, etc.

[0068] For example, real-life friends can be identified based on a user's place of residence, interests, and the objects they visit. For instance, friends who live in the same area, share similar interests, and have visited the same attractions at the same time can be identified as real-life friends. This expands the scope of user data.

[0069] Specifically, this step determines the recommendation level of a candidate object to the user based on the user's feature vector and the candidate object's feature vector. This includes: calculating the similarity between the user and the candidate object based on their feature vectors; and determining the recommendation level of the candidate object to the user based on this similarity. The similarity between the user and the candidate object is positively correlated with the recommendation level. That is, the greater the similarity between the user and the candidate object, the greater the user's preference for that object, and the higher the probability of the user selecting that object. Conversely, the smaller the similarity between the user and the candidate object, the smaller the user's preference for that object, and the lower the probability of the user selecting that object.

[0070] Optionally, the similarity calculation above can be cosine similarity. Specifically, the similarity calculation process can be expressed as the following formula (1):

[0071]

[0072] In equation (1), u represents the user feature vector, p represents the object feature vector, u·p represents the dot product operation of the user feature vector and the object feature vector, ||u|| represents the absolute value of u, and ||p|| represents the absolute value of p.

[0073] S205. The server sorts the candidate objects according to their recommendation scores for the user from highest to lowest, and obtains a recommendation list.

[0074] Figure 4 A logic block diagram of the information recommendation method provided in the embodiments of this application.

[0075] like Figure 4 As shown, for user u1, a recommendation list including objects L1, L2, and L3 can be obtained (the recommendation degree decreases from top to bottom); for user u2, a recommendation list including objects L5, L2, and L1 can be obtained after sorting (the recommendation degree decreases from top to bottom); for user u3, a recommendation list including objects L7, L8, and L9 can be obtained after sorting (the recommendation degree decreases from top to bottom); for user u4, a recommendation list including objects L1, L5, and L7 can be obtained after sorting (the recommendation degree decreases from top to bottom).

[0076] S206. The server returns the recommendation list to the user's terminal device.

[0077] After the server returns the recommendation list to the user's terminal device, the terminal device can display the recommended objects according to the recommendation list.

[0078] This embodiment determines candidate objects based on the user's identifier in the recommendation request. These candidate objects are used for pre-recommendation to the user. Based on the user's identifier and a pre-defined correspondence, a user feature vector corresponding to the user's identifier is determined. This correspondence represents the mapping relationship between the user and the user feature vector. The user feature vector is obtained by training a vectorized representation of users in the user data based on user data, and it represents the influence of the user's interest in the object and the interests of the user's social friends on the user's points of interest. Based on the user feature vector and the feature vector of the candidate object, the recommendation degree of the candidate object for the user is determined. The feature vector of the candidate object is obtained by training a vectorized representation of objects in the user data based on user data, and it represents the user group of the object. The candidate objects are ranked according to their recommendation degree, and the recommendation result is obtained and returned to the user's terminal device. Since the user feature vector is obtained by training a vectorized representation of users in the user data based on user data, and it represents the influence of the user's interest in the object and the interests of the user's social friends on the user's points of interest, and the feature vector of the candidate object is obtained by training a vectorized representation of objects in the user data based on user data, and it represents the user group of the object and the geographical region between the object. This embodiment adds the influence of a user's social friends' interests on their overall interests and incorporates this as a user feature, thus enabling a more accurate representation of user characteristics. Furthermore, the object's feature vector incorporates its geographical region, further enhancing the accuracy of feature representation. Therefore, in the information recommendation process, this improves the accuracy of recommendations, presenting users with more relevant and personalized information, thereby enhancing the user experience. Because richer feature information can be extracted from both users and objects, even for objects with limited user behavior data or infrequent user visits, richer feature information can be extracted for effective information recommendation.

[0079] Based on the above embodiments, it is necessary to pre-generate user feature vectors and object feature vectors. The following will provide a detailed explanation of how to generate user feature vectors and object feature vectors:

[0080] Figure 5 The flow of the information recommendation method provided in the embodiments of this application Figure 2 .like Figure 5 As shown, the information recommendation method includes:

[0081] S501. Obtain user data, which includes information about multiple users and the geographical locations of multiple objects. At least some of the users have social relationships with each other, and the objects are the interaction objects of the multiple users.

[0082] S502. Train a vectorized representation of an interaction relationship for each of the multiple users to obtain the first pre-feature vector of the user and the first pre-feature vector of the object.

[0083] S503. If the user has other interaction relationships, and these other interaction relationships include trained users or trained objects, then train the other interaction relationships based on the first pre-feature vector of the trained user or the first pre-feature vector of the trained object, until all users in the user data have been trained, and obtain the user feature vector and the object feature vector.

[0084] This embodiment can be understood as dividing multiple users into one set and multiple objects into another set, referred to as the first set and the second set, respectively.

[0085] Figure 6 This is a schematic diagram of two sets provided for embodiments of this application. For example... Figure 6 As shown in the diagram, each circle to the left of the straight line represents a user in the first set 61, and each circle to the right of the straight line represents an object in the second set 62. The line connecting each pair of circles indicates that there is an interaction relationship between the users corresponding to those two circles, that is, the user has visited that object.

[0086] For example, this embodiment can be carried out according to Figure 6 The training process proceeds sequentially from top to bottom for each pair of interaction relationships. After training a pair of relationships, when training other interaction relationships, including those involving users or objects from previously trained relationships, training continues based on the previously trained results. For example, after training a pair of interaction relationships and obtaining feature vectors for the user and object, these vectors can be used for subsequent training. Through continuous iteration, more features are extracted from the user and object, resulting in a more comprehensive and accurate representation of their characteristics.

[0087] In this embodiment, the user data can be represented using a graph structure, such as a heterogeneous information network.

[0088] Figure 7 This is a schematic diagram illustrating the construction of a heterogeneous information network as provided in an embodiment of this application. Figure 7 As shown, user data includes: user check-in records, user social relationships, and geographical associations between objects.

[0089] The user's check-in record refers to the objects that the user has visited, which can be represented as shown in Table 1 below:

[0090] Table 1 User Check-in Records

[0091] user object time u1 p1 t1 u1 P2 t2 u1 p1 t3 u2 p4 t4 f1 p1 t5 f2 p2 t6 f2 p2 t7 f3 p3 t8 f3 p4 t9 f3 p5 t10

[0092] A user's social relationships can be represented as shown in Table 2 below:

[0093] Table 2. Users' social relationships

[0094] user User's friend u1 f1 u1 f2 u1 f3 u2 f2 u2 f3

[0095] The geographical relationships between objects can be represented as shown in Table 3 below:

[0096] Table 3 Geographical associations between objects

[0097] object Geographical regions between objects p1 r1 p2 r2 p3 r3 p4 r4 p5 r5

[0098] Based on the data in Tables 1, 2, and 3 above, a heterogeneous information network can be constructed (shown to the right of the arrow in the figure). In this heterogeneous information network, each node represents a user, a user's friend, or an object. The edge between two nodes represents the relationship between a user and their social friends, or the interaction between a user and an object, or the relationship between objects, or the interaction between a user's friend and an object.

[0099] In this heterogeneous information network, each edge has a corresponding weight. Specifically, the weight of the edge between a user and their friend can be expressed as follows (2):

[0100]

[0101] In equation (2), u represents the current user, f represents the friend of the current user u, and F u F represents the collection of social friends of user u. f L represents the collection of social friends of user f. u L represents the collection of check-in objects for user u. f η represents the set of check-in objects for user f, and η is the weighting coefficient used to adjust the balance of the two terms before and after the plus sign in formula (2).

[0102] Secondly, the weight of the edge between the user and the object can be determined by the frequency of the user's access to the object.

[0103] Finally, for the weight of the edges between objects, the edge weight between two objects belonging to the same geographical region can be marked as 1.

[0104] When training based on user data, the user data can be divided according to three different dimensions:

[0105] The first dimension involves dividing all users in the user data into two categories, each corresponding to a user set. Within each user set, no two users have a social relationship. However, social relationships exist between the two user categories.

[0106] The second dimension: Divide all users in the user data into one set, and all objects into another set.

[0107] The third dimension: Divide all objects in the user data into two categories. Each category corresponds to a set of objects. There is no relationship between any two objects in each set, meaning that the two objects do not belong to the same geographical area.

[0108] Step S502 can be understood as performing joint training based on data from three dimensions. Specifically, training is performed separately using the data from the first and third dimensions to obtain the intermediate feature vectors for users and objects. Then, training is performed again using the intermediate feature vectors for users and objects, along with the intermediate feature vectors for objects, to obtain the feature vectors for users and objects.

[0109] The above three-dimensional partitioning results can be understood as three bipartite graphs. The training in this embodiment can be understood as training on these three bipartite graphs.

[0110] Figure 8 This is a schematic diagram illustrating training based on a heterogeneous information network, provided as an embodiment of this application. For example... Figure 8 As shown, the three bipartite diagrams, from left to right, represent the first diagram structure, the second diagram structure, and the third diagram structure, respectively.

[0111] In this context, users (including users and their social friends) in the user data can be represented as user set A, and objects in the user data can be represented as set B. The first graph structure is used to represent the interaction relationships between users in user set A and objects in object set B. Each edge in the graph connects two nodes that belong to set A and set B, respectively.

[0112] In this graph, set A can be divided into set A1 and set A2. No two users in set A1 are related to each other, and no two users in set A2 are related to each other. Any user in set A1 has a social relationship with at least one user in set A2. Each edge in the second graph structure connects two nodes belonging to sets A1 and A2 respectively.

[0113] In this structure, set B can be divided into set B1 and set B2. No two objects in set B1 are related to each other, and no two objects in set B2 are related to each other. However, any object in set B1 is related to at least one object in set B2. In the third graph structure, each edge connects two nodes belonging to sets B1 and B2 respectively.

[0114] By learning and training the first, second, and third graph structures, we can obtain the latent vector representation between users and objects, that is, represent users and objects in user data as low-dimensional vectors.

[0115] Learning and training based on heterogeneous information networks can include the following two stages:

[0116] Phase 1: Learning and training are performed on the second and third graph structures respectively to obtain the intermediate feature vectors of users and objects.

[0117] Second stage: Based on the training results of the second graph structure and the third graph structure, train the first graph structure to obtain the user feature vector and the object feature vector.

[0118] The training process for the first and second stages will be described below:

[0119] Specifically, the learning and training process for the second graph structure to obtain the intermediate feature vector of the user includes: training a vectorized representation of one social relationship for each user among multiple users to obtain the second pre-feature vector of the user and the second pre-feature vector of another user; if the user has other social relationships, and one of the other social relationships is a trained user or another trained user, then the other social relationships are trained based on the second pre-feature vector of the trained user or the second pre-feature vector of the trained user, until all users in the user data have been trained, to obtain the intermediate feature vector of each user among the multiple users.

[0120] Figure 9 The flow of the information recommendation method provided in the embodiments of this application Figure 3 .

[0121] like Figure 9 As shown, the first stage involves learning and training the structure of the second graph to obtain the user's intermediate feature vector, specifically including:

[0122] S901. For the m-th training, determine the third feature vector and the fourth feature vector. The third feature vector is the feature vector obtained by adjusting the feature vector of the user obtained in the (m-1)-th training. The fourth feature vector is the feature vector obtained by adjusting the feature vector of another user obtained in the (m-1)-th training. m is a positive integer greater than 2.

[0123] Specifically, during the first training iteration for each pair of users, if the user has already been trained, the previously trained feature vector is used as the user's initial feature vector for the current training process. If the user has not been trained before, the user's initial feature vector is obtained through random initialization.

[0124] S902. Determine the second probability value based on the third and fourth eigenvectors. The second probability value is used to represent the degree of familiarity between a user and another user.

[0125] S903. Iterative training is performed based on the error between the second probability value and the second weight until the training ends, resulting in the second pre-feature vector of the user and the second pre-feature vector of the other user.

[0126] In this embodiment, after the learning and training of a pair of users with social relationships among multiple users is completed, if in the subsequent training process, the learning and training of other two users with social relationships includes users who have already undergone learning and training, then the learning and training can continue based on the feature vectors already learned by those users.

[0127] For example, suppose we perform multiple iterations of training on users 1 and 2 who have social relationships, obtaining feature vectors for users 1 and 2 respectively. Then, we perform iterative training on users 3 and 2 who also have social relationships. During the iterative training of users 3 and 2, when calculating the second probability value, we can only perform random initialization on user 3 to obtain an initial feature vector for user 3. The second probability value is then calculated based on the initial feature vector of user 3 and the feature vector already learned by user 2.

[0128] After training all users in the second graph structure, an intermediate feature vector for each user can be obtained. This intermediate feature vector represents the user's interests and hobbies as determined during the intermediate training process, as well as the influence of the interests and hobbies of the user's social friends. This intermediate feature vector needs to be further trained in the second stage of training to obtain the final user feature vector.

[0129] The following will refer to the accompanying drawings. Figure 8The embodiments shown are described in detail below:

[0130] Please continue reading. Figure 8 In the second diagram structure, each pair of nodes with a connection can be understood as two users with a social relationship.

[0131] This embodiment learns sequentially for every two connected nodes in the second graph structure. Taking the training process of two pairs of connected nodes (referred to as the first user, the second user, and the third user, where the first user has social relationships with both the second and third users) as an example, the details are as follows:

[0132] a1. Train for the first user and the second user to obtain the pre-feature vectors of the first user and the second user.

[0133] Specifically, training is performed on the first user and the second user to obtain pre-feature vectors for the first user and the second user, including:

[0134] a11. For the first training of the first user and the second user, the first user and the second user are randomly initialized according to the random initialization algorithm to obtain the initial feature vector of the first user and the initial feature vector of the second user.

[0135] a12. Calculate the second probability value based on the initial feature vector of the first user and the initial feature vector of the second user.

[0136] Specifically, step a12 can be expressed as the following formula (3):

[0137]

[0138] In equation (3), p(v j |v i ) is the first probability value, representing the conditional probability value between node vi and node vj; vi is a node in set A1; Let vj be the vectorized representation of node vi; vj is a node in set A2. This is the vectorized representation of node vj; This represents the vector obtained by transposing vj, and vk is the node in set A2 that is related to node vi, excluding node vj. This is the vectorized representation of node vk. Representative to The vector obtained by transposing the vector. When i = 1, vi is the initial feature vector of the first user. Similarly, when j = 1, vj is the initial feature vector of the second user.

[0139] a13. Determine the error between the second probability value and the second weight, and adjust the initialization vector of the first user and the initialization vector of the second user according to the error, and continue training until the training ends.

[0140] The second weight can be determined using the following method:

[0141] b1. Determine the third sub-weight, which is the weight between a user and another user.

[0142] b2. Determine the fourth sub-weight, which is the sum of the weights between the user and all of the user's social friends.

[0143] b3. Determine the second weight based on the ratio of the third sub-weight to the fourth sub-weight.

[0144] In step b3, the second weight can be represented by an empirical distribution, specifically as shown in the following formula (4):

[0145]

[0146] In equation (4), w ij The deg represents the weight of the edge between nodes vi and vj. i This represents the sum of edge weights between node vi and all other nodes in set A2 that are associated with node vi, excluding node vj.

[0147] It should be understood that the training objective of this embodiment is to make the conditional probability between two nodes approximate the empirical distribution between the two nodes. To measure whether the conditional probability between two nodes approximates the empirical distribution between the two nodes, an objective function can be used, which can be specifically expressed as the following formula (5):

[0148]

[0149] In equation (5), vi is a node in set A1; Let vj be the vectorized representation of node vi; vj is a node in set A2. Let vj be the vectorized representation of node vj; K is the number of negative edges. This indicates that among all other nodes not connected to node vi, according to the sampling probability... Sample the vn node, where d v It is the out-degree of node vn; This is the vectorized representation of node vn; Representative to The vector obtained by transposing.

[0150] Regarding formula (5), it can be understood that the training in this embodiment aims to minimize the above objective function. Minimizing the above objective function can be achieved by minimizing the error between the second probability value and the second weight, that is, after multiple iterations of training, the error between the second probability value and the second weight no longer changes, at which point the training ends.

[0151] Additionally, a preset error can be set, and the training can be terminated based on this preset error. Specifically, this includes the following steps c1 and c2:

[0152] c1. If the error between the second probability value and the second weight is greater than the preset error, then adjust the initialization vector of the first user and the initialization vector of the second user according to the error of the current iteration of training, and continue iterative training according to the adjusted feature vector of the first user and the adjusted feature vector of the second user.

[0153] c2. If the error between the second probability value and the second weight is less than or equal to the preset error, then the feature vector of the first user in the current iteration of training is determined as the pre-feature vector of the first user, and the feature vector of the second user in the current iteration of training is determined as the pre-feature vector of the second user.

[0154] Specifically, continuing iterative training in c1 means continuing to execute steps a11 and a12 on the adjusted feature vectors of the first user and the second user until the iterative training meets the conditions in c2, at which point the training ends and the intermediate feature vectors of the users are obtained.

[0155] a2. Train for the first user and the third user to obtain the pre-training results for the first user and the third user.

[0156] Specifically, step a2 can be understood as using the pre-training results of the first user for training on both the first and third users. That is: in the first training iteration on both users, the pre-training results of the first user, obtained from training on both users, are used as the initial feature vector for the first user during training on both users; the third user is randomly initialized using a random initialization method to obtain its initial feature vector; and iterative training is performed based on the initial feature vectors of the first and third users.

[0157] The iterative training based on the initial feature vectors of the first user and the third user can be found in the specific implementation process of iterative training based on the initial feature vectors of the first user and the second user, which will not be repeated here.

[0158] The learning and training process for the third graph structure to obtain intermediate feature vectors for objects includes: training a vectorized representation of a relationship between each object and another object to obtain the third pre-feature vector of the object and the third pre-feature vector of another object; if the object has other relationships, and one of the other relationships is a trained object or another trained object, then the other relationships are trained based on the third pre-feature vector of the trained object or the third pre-feature vector of the trained object, until all objects in the user data have been trained, thus obtaining the intermediate feature vector of each object among the multiple objects.

[0159] Figure 10 The flow of the information recommendation method provided in the embodiments of this application Figure 4 .

[0160] like Figure 10 As shown, the first stage involves learning and training the structure of the third graph to obtain the intermediate feature vector of the object, specifically including:

[0161] S1001. For the m-th training, determine the fifth feature vector and the sixth feature vector. The fifth feature vector is the feature vector obtained by adjusting the feature vector of the object obtained in the (m-1)-th training. The sixth feature vector is the feature vector obtained by adjusting the feature vector of another object obtained in the (m-1)-th training. m is a positive integer greater than 2.

[0162] In the first training iteration for each pair of objects, if the object has been trained previously, the previously trained feature vector is used as the initial feature vector for that object in the current training process. If the object has not been trained previously, it is randomly initialized to obtain its initial feature vector.

[0163] S1002. Based on the fifth and sixth eigenvectors, determine the third probability value, which is used to indicate whether the geographical regions of one object and another object are the same.

[0164] Step S1002 can be expressed as the following formula (6):

[0165]

[0166] In equation (6), p(rj|ri) is the third probability value, representing the conditional probability value between node rj and node ri; ri is a node in set B1; Let r be the vectorized representation of node ri; rj is a node in set B2; Let rj be the vectorized representation of node rj; rk is the node in set B2 that has an association with node ri, excluding node rj. This is the vectorized representation of node rk.

[0167] S1003. Iterative training is performed based on the error between the third probability value and the third weight until the training ends, resulting in the third pre-feature vector of the object and the third pre-feature vector of another object.

[0168] Steps S1001 to S1003 can be understood as training a pair of related objects among multiple objects.

[0169] Specifically, after training a pair of related objects among multiple objects, if in subsequent training processes, training is conducted on two other related objects, and one of these other related objects is an object that has already been trained, then training can continue based on the feature vectors already learned by that object.

[0170] For example, suppose we perform multiple iterations of training on objects 1 and 2 that have a relationship, obtaining feature vectors for object 1 and object 2. Then, we perform iterative training on objects 3 and 2 that have a social relationship. During the iterative training of objects 3 and 2, when calculating the second probability value, we can simply perform random initialization on object 3 to obtain its initial feature vector. The third probability value can then be calculated based on the initial feature vector of object 3 and the feature vector already learned by object 2.

[0171] After training on all objects in the third graph structure, an intermediate feature vector for each object can be obtained. This intermediate feature vector represents the user group of that object obtained during the intermediate training process. The intermediate feature vector of each object needs to be further trained in the second stage of training to obtain the final feature vector of that object.

[0172] The third weight is determined according to the following method:

[0173] d1. Determine the fifth sub-weight, which is the weight between an object and another object.

[0174] d2. Determine the sixth sub-weight, which is the sum of the weights between the object and each other object within the geographical region of the object.

[0175] d3. Determine the third weight based on the ratio of the fifth sub-weight to the sixth sub-weight.

[0176] In this embodiment, the third weight can be understood as being represented by an empirical distribution, specifically as shown in the following formula (7):

[0177]

[0178] In equation (7), w ij The deg represents the weight of the edge between nodes ri and rj. i This represents the sum of edge weights between node ri and all other nodes in set B2 that are associated with node ri, excluding node rj.

[0179] It should be understood that the training objective of this embodiment is to make the conditional probability between two nodes approximate the empirical distribution between the two nodes. To measure whether the conditional probability between two nodes approximates the empirical distribution between the two nodes, an objective function can be used, which can be specifically expressed as the following formula (8):

[0180]

[0181] In equation (8), ri is a node in set B1; Let r be the vectorized representation of node ri; rj is a node in set B2; Let rj be the vectorized representation of node rj; K is the number of negative edges. This indicates that among all other nodes not connected to node vi, according to the sampling probability... Sample the rn nodes, where d r It is the out-degree of node rn; For the vectorized representation of node rn; Representative to A vector that is transposed.

[0182] Regarding formula (8), it can be understood that the training in this embodiment aims to minimize the above objective function. Minimizing the above objective function can be achieved by minimizing the error between the third probability value and the third weight, that is, after multiple iterations of training, the error between the third probability value and the third weight no longer changes, at which point the training ends.

[0183] Additionally, a preset error can be set, and the training can be terminated based on this preset error. Specifically, this includes the following steps e1 and e2:

[0184] e1. If the error between the third probability value and the third weight is greater than the preset error, then adjust the initialization vector of the object and the initialization vector of the other object according to the error of the current iteration of training, and continue iterative training according to the adjusted feature vector of the object and the adjusted feature vector of the other object.

[0185] e2. If the error between the third probability value and the third weight is less than or equal to the preset error, then the feature vector of the object trained in the current iteration is determined as the pre-feature vector of that object, and the feature vector of another object trained in the current iteration is determined as the pre-feature vector of that other object.

[0186] Specifically, continuing iterative training in e1 means continuing to execute steps S901 and S902 on the adjusted feature vector of one object and the adjusted feature vector of another object until the iterative training meets the condition in e2, at which point the training ends and the intermediate feature vector of each object is obtained.

[0187] It should be noted that learning the intermediate feature vector of each object based on the third graph structure is similar to learning the intermediate feature vector of each user based on the second graph structure. For details, please refer to the specific implementation process of learning and training the third graph structure.

[0188] In the second stage, based on the training results of the second graph structure and the third graph structure, the first graph structure is trained to obtain the user feature vector and the object feature vector.

[0189] Figure 11 The flow of the information recommendation method provided in the embodiments of this application Figure 5 .

[0190] like Figure 11 As shown, the second stage involves learning and training the structure of the first graph to obtain user feature vectors and object feature vectors, specifically including:

[0191] S1101. For the nth training, determine the first feature vector and the second feature vector. The first feature vector is the feature vector obtained by adjusting the feature vector of the user obtained in the (n-1)th training. The second feature vector is the feature vector obtained by adjusting the feature vector of the object obtained in the (n-1)th training. n is a positive integer greater than 2.

[0192] The nth training iteration is performed on every two users and objects that have a relationship among multiple users and multiple objects.

[0193] For n=2, the first feature vector during the first training iteration is the intermediate feature vector of the user obtained by training on the user in the second graph structure. Similarly, the second feature vector during the first training iteration is the intermediate feature vector of the object obtained by training on the object in the third graph structure.

[0194] For n greater than 2, i.e., in the second and subsequent training sessions, the first feature vector is obtained by adjusting the user feature vector obtained in the (n-1)th training session, and the second feature vector is obtained by adjusting the object feature vector obtained in the (n-1)th training session.

[0195] S1102. Determine a first probability value based on the first feature vector and the second feature vector. The first probability value is used to represent the user's degree of interest in the object.

[0196] S1103. Iterative training is performed based on the error between the first probability value and the first weight until the training for a pair of users and objects with an interactive relationship is completed.

[0197] Specifically, steps S1101 to S1103 can be understood as training a pair of users and objects with an interactive relationship among multiple users and multiple objects. (Still referencing...) Figure 8 Steps S1101 to S1103 are for Figure 8 Training is performed on a pair of nodes that are connected in the first structural graph.

[0198] Specifically, after training on a pair of users and objects with an interactive relationship, if in subsequent training on other users and objects with interactive relationships, the other users and objects with interactive relationships include users or objects that have already been trained, then training can continue based on the feature vectors already learned by those users or objects.

[0199] For example, suppose we perform multiple iterations of training on user 1 and object 1, which have an interactive relationship, to obtain the feature vectors of user 1 and object 1. Then, we perform iterative training on user 1 and object 2, which have a social relationship. During the iterative training on user 1 and object 2, when calculating the first probability value, we can only perform random initialization on object 2, and calculate the first probability value based on the feature vectors already learned by user 1.

[0200] After training on all users and objects with interactive relationships in the first graph structure, a user feature vector can be obtained for each user. Each user feature vector represents the user's interests and the degree to which the interests of the user's social friends influence the user. This user feature vector has high accuracy and can more accurately represent the user's characteristics, making it directly usable for information recommendation.

[0201] The following will refer to the accompanying drawings. Figure 11 The embodiments shown are described in detail below:

[0202] Please continue reading. Figure 8In the first graph structure, each pair of nodes with a connection can be understood as a user and an object with an interactive relationship.

[0203] This embodiment trains each pair of connected nodes in the first graph structure sequentially. Taking the training process of two pairs of connected nodes (referred to as the first user, the first object, and the second object, respectively, where the first user has social relationships with both the first object and the second object) as an example, the details are as follows:

[0204] f1. Train on the first user and the first object to obtain the pre-feature vectors of the first user and the first object.

[0205] Specifically, training is performed on the first user and the first object to obtain pre-feature vectors for the first user and the first object, including:

[0206] f11. For the first training of the first user and the first object, the intermediate feature vector of the first user is used as the initial feature vector of the first user during the first training, and the intermediate feature vector of the first object is used as the initial feature vector of the first object during the first training.

[0207] f12. Calculate the second probability value based on the initial feature vector of the first user and the initial feature vector of the first object during the first training.

[0208] Specifically, step f12 can be expressed as the following formula (9):

[0209]

[0210] In equation (9), p(rj|vi) is the first probability value, representing the conditional probability value between node vi and node rj; vi is a node in set A; Let be the vectorized representation of node vi; rj is a node in set B; Let rj be the vectorized representation of node rj; rk is the node in set B that is associated with node rj, excluding node rj. Let be the vectorized representation of node rk. When i = 1, vi is the intermediate feature vector of the first user. Similarly, when j = 1, rj is the intermediate feature vector of the first object.

[0211] f13. Determine the error between the first probability value and the first weight, and adjust the intermediate feature vector of the first user and the intermediate feature vector of the first object according to the error to continue training until the training ends.

[0212] The first weight can be determined according to the following method:

[0213] h1. Determine the first sub-weight, which is the frequency of user access to the object.

[0214] h2. Determine the second sub-weight, which is the total frequency of user access to all previously accessed objects;

[0215] h3. Obtain the first weight based on the ratio of the first sub-weight to the second sub-weight.

[0216] In step h3, the first weight can be represented by an empirical distribution, specifically as shown in the following formula (10):

[0217]

[0218] In equation (10), w ij The deg represents the weight of the edge between nodes vi and rj. i This represents the sum of edge weights between node vi and all other nodes in set B that are associated with node vi, excluding node vj.

[0219] It should be understood that the training objective of this embodiment is to make the conditional probability between two nodes approximate the empirical distribution between the two nodes. To measure whether the conditional probability between two nodes approximates the empirical distribution between the two nodes, an objective function can be used, which can be specifically expressed as the following formula (11):

[0220]

[0221] In equation (11), vi is a node in set A; Let be the vectorized representation of node vi; rj is a node in set B; Let be the vectorized representation of node vi; K is the number of negative edges. This indicates that among all other nodes not connected to node vi, according to the sampling probability... Sample the rn nodes, where d v It is the out-degree of node rn; For the vectorized representation of node rn; Representative to A vector that is transposed.

[0222] Regarding formula (11), it can be understood that the training in this embodiment aims to minimize the above objective function. Minimizing the above objective function can be achieved by minimizing the error between the first probability value and the first weight, that is, after multiple iterations of training, the error between the first probability value and the first weight no longer changes, at which point the training ends.

[0223] Additionally, a preset error can be set, and the training can be terminated based on this preset error. Specifically, this includes the following steps k1 and k2:

[0224] k1. If the error between the first probability value and the first weight is greater than the preset error, then adjust the initial feature vector of the first user and the initial feature vector of the first object according to the error of the current iteration of training, and continue iterative training according to the adjusted feature vector of the first user and the adjusted feature vector of the first object.

[0225] k2. If the error between the first probability value and the first weight is less than or equal to the preset error, then the feature vector of the first user in the current iteration of training is determined as the pre-feature vector of the first user, and the feature vector of the first object in the current iteration of training is determined as the pre-feature vector of the first object.

[0226] Specifically, continuing iterative training in k1 means continuing to execute steps f11 and f12 for the adjusted feature vectors of the first user and the first object until the iterative training meets the conditions in k2, at which point the training for the first user and the first object ends.

[0227] f2. Train for the first user and the second object to obtain the pre-training results for the first user and the third user.

[0228] Specifically, step f2 can be understood as using the pre-training results of the first user for training the first user and the second object. That is, in the first training for the first user and the second object, the pre-training results obtained from training the first user and the second object are used as the initial feature vector of the first user when training the first user and the second object; then, the second object is randomly initialized according to the random initialization method to obtain the initial feature vector of the second object; and iterative training is performed on the first user and the second object based on the initial feature vector of the first user and the initial feature vector of the second object.

[0229] During the training process of the above three dimensions, the objective function can be optimized using the asynchronous stochastic gradient descent method.

[0230] Based on the above embodiments, in order to achieve high concurrency and low latency, this embodiment can also optimize the recall stage through at least two of the following implementation methods to filter out objects that users are unlikely to select from a large number of objects, thereby narrowing the range of candidate objects and improving recommendation efficiency.

[0231] In one optional implementation, determining candidate objects specifically includes: obtaining the user's location; and identifying objects within a preset search range centered on the user's location as candidate objects. This implementation can be understood as determining candidate objects through region optimization.

[0232] Figure 12 This is an example diagram illustrating the determination of candidate objects according to an embodiment of this application. Figure 12 As shown, the system can locate a user's area using LBS (Location-Based Services) and perform address resolution on the specific latitude and longitude. Because of the hierarchical nature of geographical regions, the user's location can be mapped to their street and geographical area. Other objects not within this area and whose actual distance exceeds the inaccessibility limit are filtered out. For example, based on a user's current location, inaccessible attractions within a preset distance, such as 80 kilometers, can be filtered out. The circular area in the diagram represents the user's accessible area.

[0233] This embodiment optimizes the recall phase based on the user's location, thereby narrowing the filtering scope and improving calculation speed. Therefore, it can handle multiple user requests simultaneously, supporting a concurrent user count greater than the existing number of active users. Furthermore, it improves the response speed of the recommendation service, achieving low-latency return of recommendation results.

[0234] In another alternative implementation, candidate objects can be obtained by filtering all objects in the recommendation system that match the user's interests and the interests of the user's social friends.

[0235] Figure 13 This is another example diagram illustrating the determination of candidate objects provided in an embodiment of this application. For example... Figure 13 As shown, in LBS applications, the weight of attractions visited by a user's social friends can be increased, while the weight of attractions with similar functional attributes can be decreased. For example, if a user is currently located at location A, and most of their social friends have visited attraction D (the museum attraction shown in the circular area), which is a history-related attraction and the user is interested in history, then the weight of attraction D can be increased, while the weight of other attractions such as E (the museum attraction outside the circular area in the diagram) can be decreased. This implementation method can be understood as determining candidate attractions through social optimization.

[0236] This embodiment optimizes the recall phase based on the interests of the user's social friends, thereby narrowing the filtering scope and improving calculation speed. Therefore, it can handle multiple user requests simultaneously, supporting a concurrent user count greater than the existing number of active users. Furthermore, it improves the response speed of the recommendation service, achieving low-latency return of recommendation results.

[0237] Based on the above method embodiments, Figure 14 This is a schematic diagram of the structure of an information recommendation device provided in an embodiment of this application. The information recommendation device may be a server. For example... Figure 14 As shown, the device includes: a receiving module 141, a first determining module 142, a second determining module 143, a third determining module 144, and a sorting and returning module 145; wherein, the receiving module 141 is used to receive a recommendation request, the recommendation request including a user's identifier; the first determining module 142 is used to determine candidate objects for the user, the candidate objects being objects used for pre-recommendation to the user; the second determining module 143 is used to determine the user feature vector corresponding to the user's identifier according to the user's identifier and a preset correspondence relationship, the correspondence relationship being used to represent the mapping relationship between the user and the user feature vector, the user feature vector being determined based on user data... The first module 144 is used to train a vector representation of users in the user data, and is used to represent the degree of user interest in objects and the influence of the interests of the user's social friends on the user's points of interest; the second module 145 is used to determine the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object. The feature vector of the candidate object is obtained by training a vector representation of the objects in the user data based on the user data, and is used to represent the user group of the object; the third module 145 is used to sort the candidate objects according to the recommendation degree of the candidate objects to the user, obtain the recommendation result and return it to the user's terminal device.

[0238] In one possible design, the device further includes: an acquisition module 146 and a training module 147; wherein, the acquisition module 146 is used to acquire user data, which includes information of multiple users and geographical locations of multiple objects, at least some of the multiple users have social relationships, and the multiple objects are the interaction objects of the multiple users; the training module 147 is used to train a vectorized representation of an interaction relationship for each of the multiple users, to obtain a first pre-feature vector of the user and a first pre-feature vector of the object; if the user has other interaction relationships, and the other interaction relationships include trained users or trained objects, then the other interaction relationships are trained based on the first pre-feature vector of the trained user or the first pre-feature vector of the trained object, until all users in the user data have been trained, to obtain the user feature vector and the object feature vector.

[0239] In one possible design, the training module 147 trains a vectorized representation of an interaction relationship for each of multiple users to obtain the user's pre-feature vector and the object's pre-feature vector. Specifically, this includes: for the nth training iteration, determining a first feature vector and a second feature vector, where the first feature vector is obtained by adjusting the user's feature vector obtained in the (n-1)th training iteration, and the second feature vector is obtained by adjusting the object's feature vector obtained in the (n-1)th training iteration, where n is a positive integer greater than 2; determining a first probability value based on the first and second feature vectors, where the first probability value represents the user's degree of interest in the object; iteratively training based on the error between the first probability value and the first weight until training ends, determining the first feature vector obtained at the end of training as the user's first pre-feature vector, and determining the second feature vector obtained at the end of training as the object's first pre-feature vector.

[0240] In one possible design, the training module 147 determines the first weight according to the following method: determining the first sub-weight, which is the frequency of user access to an object; determining the second sub-weight, which is the total frequency of user access to all previously accessed objects; and obtaining the first weight based on the ratio of the first sub-weight to the second sub-weight.

[0241] In one possible design, the first feature vector trained in the first training is the user's intermediate feature vector. The training module 147 determines the user's intermediate feature vector according to the following method: training a vectorized representation of one social relationship for each user among multiple users to obtain the user's second pre-feature vector and another user's second pre-feature vector; if the user has other social relationships, and there are already trained users or another trained user in the other social relationships, then train the other social relationships according to the second pre-feature vector of the trained user or the second pre-feature vector of the trained user, until all users in the user data have been trained, and obtain the intermediate feature vector of each user among multiple users.

[0242] In one possible design, the training module 147 trains a vectorized representation of a social relationship for each of multiple users, obtaining a second pre-feature vector for the user and a second pre-feature vector for another user. This includes: for the m-th training iteration, determining a third feature vector and a fourth feature vector, where the third feature vector is an adjusted feature vector obtained from the (m-1)-th training iteration for the user, and the fourth feature vector is an adjusted feature vector obtained from the (m-1)-th training iteration for the other user, where m is a positive integer greater than 2; determining a second probability value based on the third and fourth feature vectors, where the second probability value represents the degree of familiarity between the user and the other user; and iteratively training based on the error between the second probability value and the second weights until training ends, obtaining the second pre-feature vector for the user and the second pre-feature vector for the other user.

[0243] In one possible design, the training module 147 determines the second weight according to the following method: determining the third sub-weight, which is the weight between the user and another user; determining the fourth sub-weight, which is the sum of the weights between the user and all of the user's social friends; and determining the second weight according to the ratio of the third sub-weight to the fourth sub-weight.

[0244] In one possible design, the second feature vector trained in the first training is the intermediate feature vector of the object. Then, the training module 147 determines the intermediate feature vector of the object according to the following method: train the vectorized representation of one association relationship of each object in the multiple objects to obtain the third pre-feature vector of the object and the third pre-feature vector of another object; if the object has other association relationships, and the other object relationship has already trained objects or another object that has been trained, then train the other association relationships according to the third pre-feature vector of the trained objects or the third pre-feature vector of the trained other objects, until all objects in the user data have been trained, and obtain the intermediate feature vector of each object in the multiple objects.

[0245] In one possible design, the training module 147 trains a vectorized representation of a relationship between each of the multiple objects to obtain the third pre-feature vector of the object and the third pre-feature vector of the other object. This includes: for the m-th training iteration, determining the fifth and sixth feature vectors, where the fifth feature vector is an adjusted feature vector obtained from the (m-1)-th training iteration of the object, and the sixth feature vector is an adjusted feature vector obtained from the (m-1)-th training iteration of the other object, where m is a positive integer greater than 2; determining a third probability value based on the fifth and sixth feature vectors, where the third probability value indicates whether the geographical regions of the object and the other object are the same; and iteratively training based on the error between the third probability value and the third weight until the training ends, thus obtaining the third pre-feature vector of the object and the third pre-feature vector of the other object.

[0246] In one possible design, training module 147 determines the third weight as follows: determines the fifth sub-weight, which is the weight between the object and another object; determines the sixth sub-weight, which is the sum of the weights between the object and each other object within the geographical area of ​​the object; and determines the third weight based on the ratio of the fifth sub-weight to the sixth sub-weight.

[0247] In one possible design, the first determining module 142 determines candidate objects for the user, specifically including: obtaining the user's location; and determining objects within a preset search range centered on the user's location as candidate objects.

[0248] In one possible design, user information also includes the user's social friends; the first determining module 142 determines candidate objects for the user, specifically including: based on the user's interests and the interests of the user's social friends, filtering out objects that match the user's interests and the interests of the user's social friends from all objects in the recommendation system to obtain candidate objects.

[0249] The information recommendation device provided in this application embodiment can be used to execute the technical solution of the information recommendation method in the above embodiment. Its implementation principle and technical effect are similar, and will not be described again here.

[0250] Based on the above method embodiments, Figure 15 This is a schematic diagram of another information recommendation device provided in an embodiment of this application. This information recommendation device can be a terminal device. For example... Figure 15As shown, the device includes a sending module 151 and a receiving module 152. The sending module 151 sends a recommendation request to a server, the recommendation request including the user's identifier. The receiving module 152 receives a recommendation result returned by the server based on the recommendation request. The recommendation result is obtained by the server determining candidate objects based on the user's identifier, determining the user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, and ranking the candidate objects based on the recommendation degree of the candidate object to the user. The correspondence represents the mapping relationship between the user and the user feature vector. The user feature vector is obtained by training a vectorized representation of user data and represents the degree of influence of the user's interest in the object and the interests of the user's social friends on the user's points of interest. The user data includes information about multiple users and the geographical locations of multiple objects. At least some of the users have social relationships, and the multiple objects are access objects for multiple users. The feature vector of the candidate object is obtained by training a vectorized representation of user data and represents the user group of the object.

[0251] The information recommendation device provided in this application embodiment can be used to execute the technical solution of the information recommendation method in the above embodiment. Its implementation principle and technical effect are similar, and will not be described again here.

[0252] It should be noted that the acquisition, storage, and application of user personal information involved in the technical solution disclosed herein comply with the provisions of relevant laws and regulations and do not violate public order and good morals.

[0253] It should be noted that the division of the various modules in the above device is merely a logical functional division. In actual implementation, they can be fully or partially integrated into a single physical entity, or they can be physically separated. Furthermore, these modules can be implemented entirely in software via processing element calls; they can be fully implemented in hardware; or some modules can be implemented by processing element calls to software, while others are implemented in hardware. For example, the first determining module 142 can be a separately established processing element, or it can be integrated into a chip in the above device. Alternatively, it can be stored as program code in the memory of the above device, and its function can be called and executed by a processing element of the above device. The implementation of other modules is similar. Moreover, these modules can be fully or partially integrated together, or they can be implemented independently. The processing element here can be an integrated circuit with signal processing capabilities. In the implementation process, each step of the above method or each of the above modules can be completed through integrated logic circuits in the hardware of the processor element or through software instructions.

[0254] Figure 16 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Figure 16 As shown, the computer device may include: receiver 160, transmitter 161, processor 162, and memory 163.

[0255] Processor 162 executes computer execution instructions stored in memory, causing processor 162 to perform the scheme in the above embodiments. Processor 162 may be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it may also be a digital signal processor (DSP), an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0256] The memory 163 is connected to the processor 162 via the system bus and completes communication between them. The memory 163 is used to store computer program instructions.

[0257] Transceiver 161 can be used to receive operation commands.

[0258] The system bus can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The system bus can be divided into address bus, data bus, control bus, etc. For ease of representation, only one thick line is used in the diagram, but this does not indicate that there is only one bus or one type of bus. Transceivers are used to enable communication between database access devices and other computers (e.g., clients, read-write libraries, and read-only libraries). Memory may include random access memory (RAM) and may also include non-volatile memory.

[0259] The electronic device provided in this application embodiment may be the terminal device or server described in the above embodiments.

[0260] The electronic device provided in this application embodiment can be used to execute the technical solution of the information recommendation method in the above embodiment. Its implementation principle and technical effect are similar, and will not be described again here.

[0261] This application also provides a chip for executing instructions, which is used to execute the information recommendation method described in the above embodiments.

[0262] This application also provides a computer-readable storage medium storing computer instructions that, when executed on a computer, cause the computer to perform the information recommendation method described in the above embodiments.

[0263] This application also provides a computer program product, which includes a computer program stored in a computer-readable storage medium. At least one processor can read the computer program from the computer-readable storage medium, and when the at least one processor executes the computer program, it can implement the technical solution of the information recommendation method in the above embodiments.

[0264] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features therein. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of this application.

[0265] Other embodiments of this application will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this application that follow the general principles of this application and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this application are indicated by the following claims.

[0266] It should be understood that this application is not limited to the precise structure described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is limited only by the appended claims.

Claims

1. An information recommendation method, characterized in that, Applied to a server, the method includes: Receive a recommendation request, the recommendation request including the user's identifier; Based on the user's identifier, candidate objects are determined, which are objects used for pre-recommendation to the user; Based on the user's identifier and the preset correspondence, the user feature vector corresponding to the user's identifier is determined. The correspondence is used to represent the mapping relationship between the user and the user feature vector. The user feature vector is obtained by training the vector representation of the user in the user data based on the user data, and is used to represent the degree of the user's interest in the object and the degree of influence of the user's social friends' interests on the user's interest points. Based on the user feature vector and the feature vector of the candidate object, the recommendation degree of the candidate object to the user is determined. The feature vector of the candidate object is obtained by training the vector representation of the object in the user data based on the user data, and is used to represent the user group of the object. The candidate objects are sorted according to their recommendation ratings for the user, and the recommendation results are returned to the user's terminal device. It also includes: acquiring the user data, which includes information on multiple users and the geographical locations of multiple objects, wherein at least some of the multiple users have social relationships, and the multiple objects are the interaction objects of the multiple users; For the nth training iteration, a first feature vector and a second feature vector are determined. The first feature vector is obtained by adjusting the feature vector of the user obtained in the (n-1)th training iteration, and the second feature vector is obtained by adjusting the feature vector of the object obtained in the (n-1)th training iteration, where n is a positive integer greater than 2. Based on the first feature vector and the second feature vector, a first probability value is determined, which represents the degree of interest of the user in the object; the first weight is the ratio of the user's access frequency to the object to the total access frequency of all objects the user has ever accessed. Iterative training is performed based on the error between the first probability value and the first weight until the training ends. The first feature vector obtained after the training ends is determined as the first pre-feature vector of the user, and the second feature vector obtained after the training ends is determined as the first pre-feature vector of the object. If the user has other interaction relationships, and the other interaction relationships include trained users or trained objects, then the other interaction relationships are trained based on the first pre-feature vector of the trained user or the first pre-feature vector of the trained object until all users in the user data have been trained, thereby obtaining the user feature vector and the object feature vector.

2. The method according to claim 1, characterized in that, The first feature vector from the first training iteration is the user's intermediate feature vector. The user's intermediate feature vector is then determined using the following method: Training is performed on a vectorized representation of a social relationship for each of multiple users to obtain the second pre-feature vector of the user and the second pre-feature vector of another user; If the user has other social relationships, and one of the other social relationships is a trained user or another trained user, then the other social relationships are trained based on the second pre-feature vector of the trained user or the second pre-feature vector of the other trained user until all users in the user data have been trained, thus obtaining the intermediate feature vector of each of the multiple users.

3. The method according to claim 2, characterized in that, The training of vectorized representations for a social relationship of each of multiple users to obtain the second pre-feature vector of the user and the second pre-feature vector of another user includes: For the m-th training iteration, a third feature vector and a fourth feature vector are determined. The third feature vector is obtained by adjusting the feature vector of the user obtained in the (m-1)-th training iteration, and the fourth feature vector is obtained by adjusting the feature vector of another user obtained in the (m-1)-th training iteration, where m is a positive integer greater than 2. A second probability value is determined based on the third feature vector and the fourth feature vector, and the second probability value is used to represent the degree of familiarity between the user and another user; Iterative training is performed based on the error between the second probability value and the second weight until the training ends, resulting in the second pre-feature vector of the user and the second pre-feature vector of another user.

4. The method according to claim 3, characterized in that, The second weight is determined according to the following method: Determine a third sub-weight, which is the weight between the user and the other user; Determine the fourth sub-weight, which is the sum of the weights between the user and all of the user's social friends; The second weight is determined based on the ratio of the third sub-weight to the fourth sub-weight.

5. The method according to claim 1, characterized in that, The second feature vector from the first training iteration is the intermediate feature vector of the object. The intermediate feature vector of the object is then determined using the following method: Training is performed on a vectorized representation of a relationship between each of the multiple objects to obtain the third pre-feature vector of the object and the third pre-feature vector of another object; If the object has other relationships, and one of the other object relationships is a trained object or another trained object, then the other relationships are trained based on the third pre-feature vector of the trained object or the third pre-feature vector of the other trained object until all objects in the user data have been trained, and an intermediate feature vector of each of the multiple objects is obtained.

6. The method according to claim 5, characterized in that, The training of vectorized representation for a relationship between each of the multiple objects to obtain the third pre-feature vector of the object and the third pre-feature vector of another object includes: For the m-th training iteration, a fifth feature vector and a sixth feature vector are determined. The fifth feature vector is obtained by adjusting the feature vector of the object obtained in the (m-1)-th training iteration, and the sixth feature vector is obtained by adjusting the feature vector of another object obtained in the (m-1)-th training iteration, where m is a positive integer greater than 2. Based on the fifth feature vector and the sixth feature vector, a third probability value is determined, which is used to indicate whether the geographical region of the object is the same as that of another object; Iterative training is performed based on the error between the third probability value and the third weight until the training ends, resulting in the third pre-feature vector of the object and the third pre-feature vector of another object.

7. The method according to claim 6, characterized in that, The third weight is determined according to the following method: Determine the fifth sub-weight, which is the weight between the object and the other object; Determine a sixth sub-weight, which is the sum of the weights between the object and each of the other objects located within the geographical region of the object; The third weight is determined based on the ratio of the fifth sub-weight to the sixth sub-weight.

8. The method according to claim 1, characterized in that, The process of determining candidate users includes: Obtain the user's location; Objects within a preset search range centered on the user's location are identified as candidate objects.

9. The method according to claim 1, characterized in that, The user data also includes the user's social friends, so determining candidate users for the user includes: Based on the user's interests and the interests of the user's social friends, the system filters out objects from all objects that match the user's interests and the interests of the user's social friends to obtain the candidate objects.

10. An information recommendation method, characterized in that, Applied to a terminal device, the method includes: Send a recommendation request to the server, the recommendation request including the user's identifier; Receive the recommendation results returned by the server based on the recommendation request; The recommendation result is obtained by the server determining candidate objects based on the user's identifier, determining the user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, and sorting the candidate objects based on the recommendation degree of the candidate object to the user. The correspondence is used to represent the mapping relationship between users and user feature vectors. The user feature vectors are obtained by training the vectorized representation of user data and are used to represent the degree of interest of the user in objects and the degree of influence of the interests of the user's social friends on the user's points of interest. The user data includes information of multiple users and geographical locations of multiple objects. At least some of the multiple users have social relationships with each other, and the multiple objects are the access objects of the multiple users. The feature vector of the candidate object is obtained by training the user data to vectorize it, and is used to represent the user group of the object. The user data is acquired by a server. After acquiring the user data, the server further determines a first feature vector and a second feature vector for the nth training iteration. The first feature vector is obtained by adjusting the feature vector of the user acquired in the (n-1)th training iteration, and the second feature vector is obtained by adjusting the feature vector of the object acquired in the (n-1)th training iteration, where n is a positive integer greater than 2. Based on the first and second feature vectors, a first probability value is determined, representing the user's level of interest in the object. A first weight is the ratio of the user's access frequency to the object to the total access frequency of all previously accessed objects. The error between the first probability value and the first weight is then used to... The training is iterated until the training ends. The first feature vector obtained at the end of the training is determined as the first pre-feature vector of the user, and the second feature vector obtained at the end of the training is determined as the first pre-feature vector of the object. If the user has other interaction relationships, and the other interaction relationships include trained users or trained objects, then the other interaction relationships are trained based on the first pre-feature vector of the trained users or the first pre-feature vector of the trained objects until all users in the user data have been trained, and the user feature vector and the object feature vector are obtained. The user data includes information of multiple users and geographical locations of multiple objects. At least some of the multiple users have social relationships, and the multiple objects are the interaction objects of the multiple users.

11. An information recommendation device, characterized in that, include: The module includes a receiving module, a first determining module, a second determining module, a third determining module, a sorting and returning module, an acquisition module, and a training module. The receiving module is used to receive recommendation requests, the recommendation requests including the user's identifier; The first determining module is used to determine candidate objects for the user, wherein the candidate objects are objects used for pre-recommendation to the user; The second determining module is used to determine the user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence relationship. The correspondence relationship is used to represent the mapping relationship between the user and the user feature vector. The user feature vector is obtained by training the vector representation of the user in the user data based on the user data, and is used to represent the degree of interest of the user in the object and the degree of influence of the user's social friends' interests on the user's interest points. The third determining module is used to determine the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object. The feature vector of the candidate object is obtained by training the vector representation of the object in the user data based on the user data, and is used to represent the user group of the object. The sorting and returning module is used to sort the candidate objects according to the recommendation degree of the candidate objects to the user, obtain the recommendation result and return it to the user's terminal device. The acquisition module is used to acquire the user data, which includes information of multiple users and geographical locations of multiple objects. At least some of the multiple users have social relationships, and the multiple objects are the interaction objects of the multiple users. The training module is used to determine a first feature vector and a second feature vector for the nth training iteration. The first feature vector is obtained by adjusting the feature vector of the user obtained in the (n-1)th training iteration, and the second feature vector is obtained by adjusting the feature vector of the object obtained in the (n-1)th training iteration, where n is a positive integer greater than 2. Based on the first feature vector and the second feature vector, a first probability value is determined, which represents the degree of interest of the user in the object. The first weight is the ratio of the user's access frequency to the object to the total access frequency of all objects visited by the user. Iterative training is performed based on the error between the first probability value and the first weight until training ends. The first feature vector obtained after training is determined as the first pre-feature vector of the user, and the second feature vector obtained after training is determined as the first pre-feature vector of the object. If the user has other interaction relationships, and the other interaction relationships include trained users or trained objects, then the other interaction relationships are trained based on the first pre-feature vector of the trained users or the first pre-feature vector of the trained objects until all users in the user data have been trained, and the user feature vector and the object feature vector are obtained.

12. An information recommendation device, characterized in that, include: Sending module and receiving module; The sending module is used to send a recommendation request to the server, the recommendation request including the user's identifier; The receiving module is configured to receive the recommendation result returned by the server based on the recommendation request; wherein, the recommendation result is the result obtained by the server determining candidate objects based on the user's identifier, determining the user feature vector corresponding to the user's identifier based on the user's identifier and a preset correspondence, determining the recommendation degree of the candidate object to the user based on the user feature vector and the feature vector of the candidate object, and sorting the candidate objects based on the recommendation degree of the candidate object to the user; the correspondence is used to represent the mapping relationship between users and user feature vectors, the user feature vector is obtained by training the vectorized representation of user data, and is used to represent the degree of influence of the user's interest in the object and the interests of the user's social friends on the user's interest points, the user data includes information of multiple users and geographical locations of multiple objects, at least some of the multiple users have social relationships, and the multiple objects are the access objects of the multiple users; the feature vector of the candidate object is obtained by training the vectorized representation of the user data, and is used to represent the user group of the object; The user data is acquired by a server. After acquiring the user data, the server further determines a first feature vector and a second feature vector for the nth training iteration. The first feature vector is obtained by adjusting the feature vector of the user acquired in the (n-1)th training iteration, and the second feature vector is obtained by adjusting the feature vector of the object acquired in the (n-1)th training iteration, where n is a positive integer greater than 2. Based on the first and second feature vectors, a first probability value is determined, representing the user's level of interest in the object. A first weight is the ratio of the user's access frequency to the object to the total access frequency of all previously accessed objects. The error between the first probability value and the first weight is then used to... The training is iterated until the training ends. The first feature vector obtained at the end of the training is determined as the first pre-feature vector of the user, and the second feature vector obtained at the end of the training is determined as the first pre-feature vector of the object. If the user has other interaction relationships, and the other interaction relationships include trained users or trained objects, then the other interaction relationships are trained based on the first pre-feature vector of the trained users or the first pre-feature vector of the trained objects until all users in the user data have been trained, and the user feature vector and the object feature vector are obtained. The user data includes information of multiple users and geographical locations of multiple objects. At least some of the multiple users have social relationships, and the multiple objects are the interaction objects of the multiple users.

13. An electronic device, characterized in that, include: Memory, processor; Memory, used to store the processor-executable instructions; The processor is configured to implement the method as described in any one of claims 1-10.

14. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by a processor, are used to implement the method as described in any one of claims 1-10.

15. A computer program product, characterized in that, Includes a computer program that, when executed by a processor, implements the method described in any one of claims 1-10.

Citation Information

Patent Citations

  • POI recommendation method and device based on graph database, and storage medium

    US20210406313A1