Push information determination method and apparatus
By constructing a target binary index tree and searching for matching interest preference feature vectors within it, the problem of low efficiency in pushing information in existing technologies is solved, and fast and accurate information pushing is achieved.
Patent Information
- Application Number
- CN202210470283.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-28
- Publication Date
- 2026-02-03
- Estimated Expiration
- 2042-04-28
AI Technical Summary
Existing methods for determining push information are inefficient and cannot effectively meet the diverse needs of entities in logistics scenarios.
By acquiring historical entity resource interaction information, a target binary index tree is constructed. The target entity's interest preference feature vector is then used to search for matching target entity interest preference feature vectors in the index tree to determine the push information.
It improves the efficiency of push notification determination, enabling quick retrieval of information related to the entity to be recommended, thereby improving the accuracy and efficiency of information push.
Smart Images

Figure CN117033835B_ABST
Abstract
Description
Technical Field
[0001] This application mainly relates to the field of information push technology, specifically to a method and apparatus for determining push information. Background Technology
[0002] Information push is a new technology that uses certain technical standards or protocols to reduce information overload by periodically delivering needed information to entities over the internet. Push technology reduces the time spent searching online by automatically delivering information to entities. It searches and filters information based on the entity's interests and pushes it to the entity periodically, helping them efficiently discover valuable information. However, logistics scenarios are complex and ever-changing, entity needs vary greatly, and different value-added service products are designed for different scenarios. Due to the large amount of data in logistics scenarios, traditional information push methods are inefficient.
[0003] In other words, the efficiency of existing methods for determining push information is relatively low. Summary of the Invention
[0004] This application provides a method and apparatus for determining push information, aiming to solve the problem of low efficiency in existing push information determination methods.
[0005] Firstly, this application provides a method for determining push notification information, the method comprising:
[0006] Obtain historical entity resource interaction information from multiple entities;
[0007] Based on the historical entity resource interaction information, multiple first entity interest preference feature vectors are determined, and the first entity interest preference vectors represent the probability of an entity preferring various types of resources;
[0008] Construct a target binary index tree based on multiple first entity interest preference feature vectors;
[0009] Based on the interest preference feature vector of the entity to be recommended, the target binary index tree is searched to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0010] Push information is determined based on the feature vectors of interest preferences of multiple target entities.
[0011] Optionally, constructing the target binary index tree based on multiple first entity interest preference feature vectors includes:
[0012] Randomly sample the multiple first entity interest preference feature vectors to obtain multiple second entity interest preference feature vectors;
[0013] A first binary index tree is constructed based on the interest preference feature vectors of multiple second entities;
[0014] The multiple first entity interest preference feature vectors are mapped to the partition vector set corresponding to each leaf node on the first binary index tree to obtain the second binary index tree;
[0015] The target binary index tree is determined based on the second binary index tree.
[0016] Optionally, constructing the first binary index tree based on multiple second entity interest preference feature vectors includes:
[0017] Obtain the second mean vector of multiple second entity interest preference feature vectors;
[0018] Calculate the second average distance value between multiple second entity interest preference feature vectors and the second mean vector;
[0019] The second average distance value of multiple second entity interest preference feature vectors is used as the root node;
[0020] The root node is bisected into a left child node and a right child node. The second entity interest preference feature vector whose distance value from the second mean vector is less than the second average distance value is mapped to the vector set corresponding to the left child node. The second entity interest preference feature vector whose distance value from the second mean vector is greater than the second average distance value is mapped to the vector set corresponding to the left child node.
[0021] By taking the left child node and the right child node as the root node respectively, and performing binary branching until the number of vectors in the vector set corresponding to the node after the binary branching is less than a preset value, the first binary index tree is obtained.
[0022] Optionally, determining the target binary index tree based on the second binary index tree includes:
[0023] Get the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree;
[0024] The leaf nodes corresponding to the partition vector set with a vector number greater than the preset value are binary-branched to obtain the second binary index tree after the binary branching.
[0025] When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than a preset value, the second binary index tree after the binary fork is determined as the third binary index tree;
[0026] The target binary index tree is determined based on the third binary index tree.
[0027] Optionally, determining the target binary index tree based on the third binary index tree includes:
[0028] In the third binary index tree, the interest preference feature vector of each first entity is mapped to the two adjacent partition vector sets of its partition vector set, respectively, to obtain the fourth binary index tree;
[0029] Calculate the fourth mean vector of each partition vector set in the fourth binary index tree;
[0030] Calculate the distance between the first entity's interest preference feature vector and the fourth mean vector in the partition vector set;
[0031] In each partition vector set, sort the first entity interest preference feature vectors in the partition vector set in descending order of their distance from the fourth mean vector;
[0032] The target binary index tree is obtained by removing the first entity interest preference feature vector that is sorted after a preset value from each partition vector set in the fourth binary index tree.
[0033] Optionally, the step of searching the target binary index tree based on the target entity's interest preference feature vector to obtain multiple target entity interest preference feature vectors that match the target entity's interest preference feature vector, including:
[0034] Obtain the entity identifier of the entity to be recommended;
[0035] Determine whether there exists an interest preference feature vector of the entity to be recommended that matches the entity identifier in the cache database;
[0036] If there is no entity interest preference feature vector matching the entity identifier in the cache database, then the entity interest preference feature vector matching the entity identifier is obtained from the storage database.
[0037] Based on the interest preference feature vector of the entity to be recommended, a search is performed in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0038] Optionally, determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information includes:
[0039] Based on the historical entity resource interaction information, a first knowledge graph is constructed with entities, entrusted items, and resources as nodes.
[0040] Obtain the probability of occurrence of relationships between nodes in the first knowledge graph;
[0041] Remove node relationships in the first knowledge graph whose probability of occurrence is lower than the preset probability to obtain the second knowledge graph;
[0042] Graph embedding is performed on the second knowledge graph to obtain multiple first entity interest preference feature vectors.
[0043] Secondly, this application provides a push information determining device, the push information determining device comprising:
[0044] The acquisition unit is used to acquire historical entity resource interaction information of multiple entities.
[0045] The first determining unit is used to determine multiple first entity interest preference feature vectors based on the historical entity resource interaction information, wherein the first entity interest preference vector represents the probability that an entity prefers various types of resources;
[0046] The building unit is used to construct a target binary index tree based on multiple first entity interest preference feature vectors;
[0047] The search unit is used to search the target binary index tree based on the interest preference feature vector of the entity to be recommended, and obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0048] The second determining unit is used to determine push information based on the interest preference feature vectors of multiple target entities.
[0049] Optionally, the building unit is used for:
[0050] Randomly sample the multiple first entity interest preference feature vectors to obtain multiple second entity interest preference feature vectors;
[0051] A first binary index tree is constructed based on the interest preference feature vectors of multiple second entities;
[0052] The multiple first entity interest preference feature vectors are mapped to the partition vector set corresponding to each leaf node on the first binary index tree to obtain the second binary index tree;
[0053] The target binary index tree is determined based on the second binary index tree.
[0054] Optionally, the building unit is used for:
[0055] Obtain the second mean vector of multiple second entity interest preference feature vectors;
[0056] Calculate the second average distance value between multiple second entity interest preference feature vectors and the second mean vector;
[0057] The second average distance value of multiple second entity interest preference feature vectors is used as the root node;
[0058] The root node is bisected into a left child node and a right child node. The second entity interest preference feature vector whose distance value from the second mean vector is less than the second average distance value is mapped to the vector set corresponding to the left child node. The second entity interest preference feature vector whose distance value from the second mean vector is greater than the second average distance value is mapped to the vector set corresponding to the left child node.
[0059] By taking the left child node and the right child node as the root node respectively, and performing binary branching until the number of vectors in the vector set corresponding to the node after the binary branching is less than a preset value, the first binary index tree is obtained.
[0060] Optionally, the building unit is used for:
[0061] Get the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree;
[0062] The leaf nodes corresponding to the partition vector set with a vector number greater than the preset value are binary-branched to obtain the second binary index tree after the binary branching.
[0063] When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than a preset value, the second binary index tree after the binary fork is determined as the third binary index tree;
[0064] The target binary index tree is determined based on the third binary index tree.
[0065] Optionally, the building unit is used for:
[0066] In the third binary index tree, the interest preference feature vector of each first entity is mapped to the two adjacent partition vector sets of its partition vector set, respectively, to obtain the fourth binary index tree;
[0067] Calculate the fourth mean vector of each partition vector set in the fourth binary index tree;
[0068] Calculate the distance between the first entity's interest preference feature vector and the fourth mean vector in the partition vector set;
[0069] In each partition vector set, sort the first entity interest preference feature vectors in the partition vector set in descending order of their distance from the fourth mean vector;
[0070] The target binary index tree is obtained by removing the first entity interest preference feature vector that is sorted after a preset value from each partition vector set in the fourth binary index tree.
[0071] Optionally, the search unit is used for:
[0072] Obtain the entity identifier of the entity to be recommended;
[0073] Determine whether there exists an interest preference feature vector of the entity to be recommended that matches the entity identifier in the cache database;
[0074] If there is no entity interest preference feature vector matching the entity identifier in the cache database, then the entity interest preference feature vector matching the entity identifier is obtained from the storage database.
[0075] Based on the interest preference feature vector of the entity to be recommended, a search is performed in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0076] Optionally, the acquisition unit is configured to:
[0077] Based on the historical entity resource interaction information, a first knowledge graph is constructed with entities, entrusted items, and resources as nodes.
[0078] Obtain the probability of occurrence of relationships between nodes in the first knowledge graph;
[0079] Remove node relationships in the first knowledge graph whose probability of occurrence is lower than the preset probability to obtain the second knowledge graph;
[0080] Graph embedding is performed on the second knowledge graph to obtain multiple first entity interest preference feature vectors.
[0081] Thirdly, this application provides a computer device, the computer device comprising:
[0082] One or more processors;
[0083] Memory; and
[0084] One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the push information determination method as described in any one of the first aspects.
[0085] Fourthly, this application provides a computer-readable storage medium storing a plurality of instructions adapted for loading by a processor to perform the steps of the push information determination method described in any one of the first aspects.
[0086] This application provides a method and apparatus for determining push information. The method includes: acquiring historical entity resource interaction information of multiple entities; determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information; constructing a target binary index tree based on the multiple first entity interest preference feature vectors; searching the target binary index tree based on the target entity interest preference feature vector of the entity to be recommended, to obtain multiple target entity interest preference feature vectors that match the target entity interest preference feature vector; and determining push information based on the multiple target entity interest preference feature vectors. In view of the low efficiency of existing push information determination methods, this application creatively proposes a method that first determines the first entity interest preference feature vector of each entity based on the historical shopping behavior information of a large number of entities, and then constructs a target binary index tree from the multiple first entity interest preference feature vectors. When a new entity needs to be recommended, the method directly searches the target binary index tree to find multiple target entity interest preference feature vectors that match the target entity interest preference feature vector, enabling rapid retrieval of information related to the entity to be recommended from a large amount of information. Then, push information is determined based on the multiple target entity interest preference feature vectors, thereby improving the efficiency of push information determination. Attached Figure Description
[0087] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0088] Figure 1 This is a schematic diagram of a push information determination system provided in an embodiment of this application;
[0089] Figure 2 This is a flowchart illustrating one embodiment of the push information determination method in this application.
[0090] Figure 3 This is a schematic diagram of the first knowledge graph in the push information determination method in the embodiments of this application;
[0091] Figure 4 This is a schematic diagram of the network structure embedded in the push information determination method in the embodiments of this application;
[0092] Figure 5 This is a schematic diagram of the target binary index tree in the push information determination method in the embodiments of this application;
[0093] Figure 6 This is a schematic diagram of an embodiment of the push information determination device provided in this application.
[0094] Figure 7 This is a schematic diagram of an embodiment of the computer device provided in this application. Detailed Implementation
[0095] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0096] In the description of this application, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," and "outer," etc., indicating orientation or positional relationships based on the orientation or positional relationships shown in the accompanying drawings, are used only for the convenience of describing this application and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this application. Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of indicated technical features. Thus, features defined with "first" and "second" may explicitly or implicitly include one or more features. In the description of this application, "a plurality of" means two or more, unless otherwise explicitly specified.
[0097] In this application, the term "exemplary" is used to mean "used as an example, illustration, or description." Any embodiment described as "exemplary" in this application is not necessarily to be construed as being more preferred or advantageous than other embodiments. The following description is provided to enable any person skilled in the art to make and use this application. Details are set forth in the following description for purposes of explanation. It should be understood that those skilled in the art will recognize that this application can be made without using these specific details. In other instances, well-known structures and processes are not described in detail to avoid obscuring the description of this application with unnecessary detail. Therefore, this application is not intended to be limited to the embodiments shown, but is consistent with the broadest scope of the principles and features disclosed in this application.
[0098] This application provides a method and apparatus for determining push information, which will be described in detail below.
[0099] Please see Figure 1 , Figure 1This is a schematic diagram of a push information determination system provided in an embodiment of this application. The push information determination system may include a computer device 100, which integrates a push information determination device.
[0100] In this embodiment, the computer device 100 can be a standalone server, a server network, or a server cluster. For example, the computer device 100 described in this embodiment includes, but is not limited to, a computer, a network host, a single network server, a set of multiple network servers, or a cloud server composed of multiple servers. The cloud server is composed of a large number of computers or network servers based on cloud computing.
[0101] In this embodiment, the computer device 100 described above can be a general-purpose computer device or a special-purpose computer device. In specific implementations, the computer device 100 can be a desktop computer, a portable computer, a network server, a handheld computer (Personal Digital Assistant, PDA), a mobile phone, a tablet computer, a wireless terminal device, a communication device, an embedded device, etc. This embodiment does not limit the type of computer device 100.
[0102] Those skilled in the art will understand that Figure 1 The application environment shown is merely one application scenario of the solution in this application and does not constitute a limitation on the application scenario of the solution in this application. Other application environments may include more than one application scenario. Figure 1 The number of computer devices shown is more or less, for example Figure 1 Only one computer device is shown in the image. It is understood that the push information determination system may also include one or more other computer devices capable of processing data, which are not specifically limited here.
[0103] In addition, such as Figure 1 As shown, the push information determination system may also include a memory 200 for storing data.
[0104] It should be noted that, Figure 1 The schematic diagram of the push information determination system shown is merely an example. The push information determination system and scenario described in this application embodiment are for the purpose of more clearly illustrating the technical solutions of this application embodiment and do not constitute a limitation on the technical solutions provided in this application embodiment. As those skilled in the art will know, with the evolution of the push information determination system and the emergence of new business scenarios, the technical solutions provided in this application embodiment are also applicable to similar technical problems.
[0105] First, this application provides a method for determining push information, which includes: acquiring historical entity resource interaction information of multiple entities; determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information; constructing a target binary index tree based on the multiple first entity interest preference feature vectors; searching in the target binary index tree based on the target entity interest preference feature vector of the entity to be recommended, to obtain multiple target entity interest preference feature vectors that match the target entity interest preference feature vector; and determining push information based on the multiple target entity interest preference feature vectors.
[0106] like Figure 2 As shown, Figure 2 This is a flowchart illustrating one embodiment of the push information determination method in this application, which includes the following steps S201 to S205:
[0107] S201. Obtain historical entity resource interaction information for multiple entities.
[0108] Historical entity resource interaction information includes information on resources purchased by an entity when it mails or collects a particular item. For example, entity u1 purchases resource i1 when mailing or collecting item c1. Specifically, historical entity resource interaction information for multiple entities refers to their interactions within a preset period, such as one month, two months, etc., depending on the specific settings. It should be noted that historical entity resource interaction information is obtained through legal and reasonable means, and personal information is encrypted during data processing.
[0109] S202. Determine multiple first entity interest preference feature vectors based on historical entity resource interaction information.
[0110] In one specific embodiment, determining multiple first entity interest preference feature vectors based on historical entity resource interaction information may include:
[0111] (1) Construct a first knowledge graph based on historical entity resource interaction information, with entities, entrusted items and resources as nodes.
[0112] like Figure 3 As shown, Figure 3 In the first knowledge graph, Users represent entities, Cargos represent items to be sent, Items represent resources, and Entities represent resource attributes. 'r' represents the node relationship between nodes; r1 represents sending an item, and r3 represents adding to a purchase. For example, entity u1 purchases resource i1 when sending item c1. In the first knowledge graph, the node relationship between entity u1 and item c1 is sending (r1), and the node relationship between item c1 and resource i1 is adding to a purchase (r3).
[0113] (2) Obtain the probability of occurrence of the relationship between each node in the first knowledge graph.
[0114] (3) Remove the node relationships in the first knowledge graph whose probability of occurrence is lower than the preset probability to obtain the second knowledge graph.
[0115] Because of the existence of multi-hop relationships, the number of high-order relationships increases dramatically and their contribution to different resources is extremely uneven. Removing node relationships with a probability lower than a preset probability from the first knowledge graph to obtain the second knowledge graph allows for the elimination of node relationships with low weight values in the first knowledge graph, resulting in a second knowledge graph with a smaller data volume. This improves the efficiency of subsequent calculations.
[0116] (4) Graph embedding is performed on the second knowledge graph to obtain multiple first entity interest preference feature vectors.
[0117] The purpose of graph embedding is to map each node in a given graph to a low-dimensional vector representation (or commonly known as node embedding), which typically preserves some key information about the nodes in the original graph. Nodes in a graph can be viewed from two domains: 1) the original graph domain, where nodes are connected by edges (or graph structure); and 2) the embedding domain, where each node is represented as a continuous vector.
[0118] like Figure 4 As shown, Figure 4 This is a schematic diagram of a graph embedding network structure. In a specific embodiment, a second knowledge graph is input into the graph embedding network to obtain multiple first entity interest preference feature vectors. The graph embedding network can be GCN, SDNE, etc.
[0119] S203. Construct a target binary index tree based on multiple first entity interest preference feature vectors.
[0120] like Figure 5 As shown, Figure 5 This is a binary index tree. A binary index tree, also called a number state array, has an array storage structure but a tree logical structure. Think of heap sort; although we use an array to store the numbers, logically it's a complete binary tree. Node 5 is the root node, nodes 2 and 8 are the left and right children of node 5, respectively, and nodes 1, 3, and 7 are leaf nodes. Leaf nodes generally refer to leaf nodes. The leaf nodes of an index refer to the data blocks that make up the lowest level of the B-tree index, storing the sorted index column values and the rowid of the record containing those values. The index column values are sorted in ascending order by default. A leaf node is a concept from discrete mathematics. A node in a tree with no children (i.e., a degree of 0) is called a leaf node, or simply "leaf." A leaf refers to a node with a degree of 0, also known as a terminal node.
[0121] In a specific embodiment, a first mean vector is obtained from multiple first entity interest preference feature vectors. The first mean vector is the average of the multiple first entity interest preference feature vectors; alternatively, it can be the cluster centers obtained by clustering the multiple first entity interest preference feature vectors. A first average distance value is calculated between the multiple first entity interest preference feature vectors and the first mean vector; the distance between the vectors can be Manhattan distance, Chebyshev distance, Mahalanobis distance, etc. The first average distance value of the multiple second entity interest preference feature vectors is determined as the root node; the root node is bisected into a left child node and a right child node. First entity interest preference feature vectors whose distance from the first mean vector is less than the first average distance value are mapped to the vector set corresponding to the left child node, and first entity interest preference feature vectors whose distance from the first mean vector is greater than the first average distance value are mapped to the vector set corresponding to the right child node. The left and right child nodes are then bisected again until the number of vectors in the vector sets corresponding to the resulting nodes is less than a preset value, thus obtaining the target binary index tree. The preset value K can be set according to specific circumstances.
[0122] If the target binary index tree is directly constructed using multiple first entity interest preference feature vectors, the data volume is too large, and the construction speed is slow. To improve the construction speed, in another specific embodiment, the target binary index tree is constructed based on multiple first entity interest preference feature vectors, including:
[0123] (1) Randomly sample multiple first entity interest preference feature vectors to obtain multiple second entity interest preference feature vectors.
[0124] The number of feature vectors representing the interests and preferences of the second entity is less than the number of feature vectors representing the interests and preferences of the first entity. The sampling ratio for random sampling can be 0.1, 0.2, etc., and can be set according to the specific situation.
[0125] (2) Construct the first binary index tree based on the interest preference feature vectors of multiple second entities.
[0126] In a specific embodiment, a second mean vector is obtained from multiple second entity interest preference feature vectors. The second mean vector is the average of the multiple second entity interest preference feature vectors; alternatively, it can be the cluster centers obtained by clustering the multiple second entity interest preference feature vectors. A second average distance value is calculated between the multiple second entity interest preference feature vectors and the second mean vector; the distance between the vectors can be Manhattan distance, Chebyshev distance, Mahalanobis distance, etc. The second average distance value of the multiple second entity interest preference feature vectors is determined as the root node; the root node is bisected into a left child node and a right child node. Second entity interest preference feature vectors whose distance from the second mean vector is less than the second average distance value are mapped to the vector set corresponding to the left child node, and second entity interest preference feature vectors whose distance from the second mean vector is greater than the second average distance value are mapped to the vector set corresponding to the right child node. The left and right child nodes are then bisected again until the number of vectors in the vector sets corresponding to the resulting nodes is less than a preset value, thus obtaining a first binary index tree. The preset value K can be set according to specific circumstances.
[0127] (3) Map multiple first entity interest preference feature vectors to the partition vector set corresponding to each leaf node on the first binary index tree to obtain the second binary index tree.
[0128] In a specific embodiment, the distance between each first entity interest preference feature vector and the third mean vector of the partition vector set corresponding to each leaf node on the first binary index tree is calculated, and the first entity interest preference feature vector is mapped to the partition vector set corresponding to the third mean vector with the highest distance value.
[0129] (4) Determine the target binary index tree based on the second binary index tree.
[0130] In one specific embodiment, determining the target binary index tree based on the second binary index tree includes: determining the second binary index tree as the target binary index tree. That is, using a small number of second entity interest preference feature vectors to construct a basic first binary index tree, and then mapping a large number of first entity interest preference feature vectors to the leaf nodes of the first binary index tree, can improve construction efficiency.
[0131] To improve the accuracy of the target binary index tree, in another specific embodiment, the target binary index tree is determined based on the second binary index tree, including:
[0132] (1) Obtain the number of vectors in the partition vector set corresponding to each leaf node on the second binary index tree.
[0133] (2) The leaf nodes corresponding to the partition vector set with a vector number greater than the preset value are binary-branched to obtain the second binary index tree after the binary branch.
[0134] If the number of vectors in the partition vector set is greater than the preset value K, it indicates that the data volume of the partition is too large, the constructed second binary index tree is unbalanced, and it needs to be binary-branched again.
[0135] (3) When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than the preset value, the second binary index tree after the binary fork is determined as the third binary index tree.
[0136] When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than the preset value K, it indicates that the second binary index tree has forked to a balanced state, and the second binary index tree after the binary fork is determined as the third binary index tree.
[0137] If there is a set of partition vectors in the second binary index tree after the binary branching that has a number of vectors greater than the preset value K, it indicates that the second binary index tree has not branched to a balanced state. The leaf nodes corresponding to the set of partition vectors with a number of vectors greater than the preset value K are then binary branched again.
[0138] (4) Determine the target binary index tree based on the third binary index tree.
[0139] In one specific embodiment, determining the target binary index tree based on the third binary index tree includes: determining the third binary index tree as the target binary index tree.
[0140] In another specific embodiment, to further improve the accuracy of the target binary index tree and ensure that the vector set corresponding to the same leaf node contains the most similar vector, the target binary index tree is determined based on the third binary index tree, including:
[0141] (1) In the third binary index tree, each first entity interest preference feature vector is mapped to the two adjacent partition vector sets of its partition vector set to obtain the fourth binary index tree.
[0142] All first entity interest preference feature vectors are mapped to their respective partitions and their neighboring partitions according to the distance between the vectors, that is, each vector will be mapped to three partitions.
[0143] (2) Calculate the fourth mean vector of each partition vector set in the fourth binary index tree.
[0144] (3) Calculate the distance between the first entity interest preference feature vector and the fourth mean vector in the partition vector set.
[0145] (4) Sort the first entity interest preference feature vectors in each partition vector set in descending order of their distance from the fourth mean vector.
[0146] (5) Remove the first entity interest preference feature vector that is sorted after the preset value in each partition vector set in the fourth binary index tree to obtain the target binary index tree.
[0147] In the fourth binary index tree, the first entity interest preference feature vector that is sorted after a preset value K in each partition vector set will be removed, and only the first preset value K first entity interest preference feature vectors will be retained in each partition vector set.
[0148] S204. Based on the interest preference feature vector of the entity to be recommended, search in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0149] In one specific embodiment, the target binary index tree is searched based on the target entity's interest preference feature vector to obtain multiple target entity interest preference feature vectors that match the target entity's interest preference feature vector, including:
[0150] (1) Obtain the entity identifier of the entity to be recommended.
[0151] Entity identifiers can be physical mobile phone numbers, login accounts, etc.
[0152] (2) Determine whether there is an interest preference feature vector of the entity to be recommended that matches the entity identifier in the cache database.
[0153] Specifically, the cache database is a Redis cache. Redis is a high-speed in-memory cache database. Reading the interest preference feature vectors of the entities to be recommended, which match the entity identifiers, from the cache database can improve the speed of obtaining the interest preference feature vectors of the entities to be recommended.
[0154] (3) If there is no entity interest preference feature vector matching the entity identifier in the cache database, then obtain the entity interest preference feature vector matching the entity identifier from the storage database. If there is an entity interest preference feature vector matching the entity identifier in the cache database, then obtain the entity interest preference feature vector matching the entity identifier from the cache database.
[0155] The storage database is HBase. The storage database contains more data than the cache database. The data read speed of the storage database is slower than that of the cache database.
[0156] (4) Search the target binary index tree based on the interest preference feature vector of the entity to be recommended to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0157] In one specific embodiment, the interest preference feature vector of the entity to be recommended is searched in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended. Specifically, it is determined whether the distance between the interest preference feature vector of the entity to be recommended and the mean vector corresponding to the root node is less than a first average distance value. If so, the search is performed in the left child node corresponding to the root node; otherwise, the search is performed in the right child node corresponding to the root node. After determining the left or right child node, the search is performed again with the left or right child node as the root node. When the search reaches a leaf node of the target binary index tree, the multiple first entity interest preference feature vectors corresponding to the leaf node are determined as multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0158] S205. Determine push information based on the interest preference feature vectors of multiple target entities.
[0159] In one specific embodiment, multiple target entity interest preference feature vectors are input into a preset ranking model to obtain multiple resources, which are then pushed to the entities as push information. Specifically, the resource information of the multiple resources is sent to the entity's browser. The preset ranking model is trained based on a preset training set, which includes multiple training samples. Each training sample includes multiple first entity interest preference feature vectors and corresponding sample labels. The sample labels are resources corresponding to the product features of multiple first historical entities. The preset ranking model can be LightGBM.
[0160] To better implement the push information determination method in the embodiments of this application, based on the push information determination method, the embodiments of this application also provide a push information determination device, such as... Figure 6 As shown, the push information determination device 300 includes:
[0161] The acquisition unit 301 is used to acquire historical entity resource interaction information of multiple entities;
[0162] The first determining unit 302 is used to determine multiple first entity interest preference feature vectors based on historical entity resource interaction information;
[0163] Construction unit 303 is used to construct a target binary index tree based on multiple first entity interest preference feature vectors;
[0164] The search unit 304 is used to search in the target binary index tree based on the interest preference feature vector of the entity to be recommended, and obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0165] The second determining unit 305 is used to determine push information based on the interest preference feature vectors of multiple target entities.
[0166] Optionally, building unit 303 is used for:
[0167] Random sampling is performed on multiple first entity interest preference feature vectors to obtain multiple second entity interest preference feature vectors;
[0168] A first binary index tree is constructed based on the interest preference feature vectors of multiple second entities;
[0169] Multiple first entity interest preference feature vectors are mapped to the partition vector set corresponding to each leaf node on the first binary index tree to obtain the second binary index tree;
[0170] The target binary index tree is determined based on the second binary index tree.
[0171] Optionally, building unit 303 is used for:
[0172] Obtain the second mean vector of multiple second entity interest preference feature vectors;
[0173] Calculate the second average distance value between multiple second entity interest preference feature vectors and the second mean vector;
[0174] The second average distance value of multiple second entity interest preference feature vectors is used as the root node;
[0175] The root node is bisected into a left child node and a right child node. The second entity interest preference feature vector whose distance value from the second mean vector is less than the second average distance value is mapped to the vector set corresponding to the left child node. The second entity interest preference feature vector whose distance value from the second mean vector is greater than the second average distance value is mapped to the vector set corresponding to the left child node.
[0176] By taking the left child node and the right child node as the root node respectively, and performing binary branching until the number of vectors in the vector set corresponding to the node after the binary branching is less than a preset value, the first binary index tree is obtained.
[0177] Optionally, building unit 303 is used for:
[0178] Get the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree;
[0179] The leaf nodes corresponding to the partition vector set with a vector number greater than the preset value are binary-branched to obtain the second binary index tree after the binary branching.
[0180] When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than a preset value, the second binary index tree after the binary fork is determined as the third binary index tree;
[0181] The target binary index tree is determined based on the third binary index tree.
[0182] Optionally, building unit 303 is used for:
[0183] In the third binary index tree, the interest preference feature vector of each first entity is mapped to the two adjacent partition vector sets of its partition vector set, respectively, to obtain the fourth binary index tree;
[0184] Calculate the fourth mean vector of each partition vector set in the fourth binary index tree;
[0185] Calculate the distance between the first entity's interest preference feature vector and the fourth mean vector in the partition vector set;
[0186] In each partition vector set, sort the first entity interest preference feature vectors in the partition vector set in descending order of their distance from the fourth mean vector;
[0187] The target binary index tree is obtained by removing the first entity interest preference feature vector that is sorted after a preset value from each partition vector set in the fourth binary index tree.
[0188] Optionally, the lookup unit 304 is used for:
[0189] Obtain the entity identifier of the entity to be recommended;
[0190] Determine whether there is an interest preference feature vector for the entity to be recommended that matches the entity identifier in the cache database;
[0191] If there is no entity interest preference feature vector matching the entity identifier in the cache database, then retrieve the entity interest preference feature vector matching the entity identifier from the storage database.
[0192] Based on the interest preference feature vector of the entity to be recommended, a search is performed in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
[0193] Optionally, the acquisition unit 301 is used for:
[0194] Construct a first knowledge graph based on historical entity resource interaction information, with entities, entrusted items, and resources as nodes;
[0195] Obtain the probability of occurrence of relationships between nodes in the first knowledge graph;
[0196] Remove node relationships in the first knowledge graph whose probability of occurrence is lower than the preset probability to obtain the second knowledge graph;
[0197] Graph embedding is performed on the second knowledge graph to obtain multiple first entity interest preference feature vectors.
[0198] This application also provides a computer device that integrates any of the push information determining devices provided in this application. The computer device includes:
[0199] One or more processors;
[0200] Memory; and
[0201] One or more applications, wherein the applications are stored in memory and configured to be executed by a processor in the steps of the push information determination method in any of the embodiments described above.
[0202] like Figure 7 As shown, it illustrates a structural schematic diagram of the computer device involved in the embodiments of this application, specifically:
[0203] The computer device may include components such as a processor 401 with one or more processing cores, a memory 402 with one or more computer-readable storage media, a power supply 403, and an input unit 404. Those skilled in the art will understand that the computer device structure shown in the figures does not constitute a limitation on the computer device, and may include more or fewer components than shown, or combine certain components, or have different component arrangements. Wherein:
[0204] Processor 401 is the control center of the computer device. It connects various parts of the computer device via various interfaces and lines, and performs various functions and processes data by running or executing software programs and / or modules stored in memory 402, and by calling data stored in memory 402, thereby providing overall monitoring of the computer device. Optionally, processor 401 may include one or more processing cores; processor 401 may be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or any conventional processor. Preferably, processor 401 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may not be integrated into processor 401.
[0205] The memory 402 can be used to store software programs and modules. The processor 401 executes various functional applications and data processing by running the software programs and modules stored in the memory 402. The memory 402 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, application programs required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 402 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device. Accordingly, the memory 402 may also include a memory controller to provide the processor 401 with access to the memory 402.
[0206] The computer device also includes a power supply 403 that supplies power to the various components. Preferably, the power supply 403 can be logically connected to the processor 401 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system. The power supply 403 may also include one or more DC or AC power supplies, recharging systems, power fault detection circuits, power converters or inverters, power status indicators, and other arbitrary components.
[0207] The computer device may also include an input unit 404, which can be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal inputs related to user settings and function control.
[0208] Although not shown, the computer device may also include a display unit, etc., which will not be described in detail here. Specifically, in this embodiment, the processor 401 in the computer device loads the executable files corresponding to the processes of one or more applications into the memory 402 according to the following instructions, and the processor 401 runs the applications stored in the memory 402 to realize various functions, as follows:
[0209] The process involves: acquiring historical entity resource interaction information for multiple entities; determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information; constructing a target binary index tree based on the multiple first entity interest preference feature vectors; searching the target binary index tree based on the target entity interest preference feature vector of the entity to be recommended to obtain multiple target entity interest preference feature vectors that match the target entity interest preference feature vector; and determining the push information based on the multiple target entity interest preference feature vectors.
[0210] Those skilled in the art will understand that all or part of the steps in the various methods of the above embodiments can be performed by instructions, or by instructions controlling related hardware. These instructions can be stored in a computer-readable storage medium and loaded and executed by a processor.
[0211] Therefore, embodiments of this application provide a computer-readable storage medium, which may include: read-only memory (ROM), random access memory (RAM), a disk, or an optical disk, etc. A computer program is stored thereon, and the computer program is loaded by a processor to execute the steps in any of the push information determination methods provided in embodiments of this application. For example, the computer program loaded by the processor can execute the following steps:
[0212] The process involves: acquiring historical entity resource interaction information for multiple entities; determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information; constructing a target binary index tree based on the multiple first entity interest preference feature vectors; searching the target binary index tree based on the target entity interest preference feature vector of the entity to be recommended to obtain multiple target entity interest preference feature vectors that match the target entity interest preference feature vector; and determining the push information based on the multiple target entity interest preference feature vectors.
[0213] In the above embodiments, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the detailed descriptions of other embodiments above, which will not be repeated here.
[0214] In practice, each of the above units or structures can be implemented as an independent entity or can be arbitrarily combined to be implemented as the same or several entities. For the specific implementation of each of the above units or structures, please refer to the previous method embodiments, which will not be repeated here.
[0215] For details on the implementation of each of the above operations, please refer to the previous examples, which will not be repeated here.
[0216] The above provides a detailed description of a push information determination method and apparatus provided in the embodiments of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for determining push information, characterized in that, The method for determining the push information includes: Obtain historical entity resource interaction information from multiple entities; Based on the historical entity resource interaction information, multiple first entity interest preference feature vectors are determined, and the first entity interest preference vectors represent the probability of an entity preferring various types of resources; Construct a target binary index tree based on multiple first entity interest preference feature vectors; Based on the interest preference feature vector of the entity to be recommended, the target binary index tree is searched to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended. Push information is determined based on the feature vectors of interest preferences of multiple target entities; The construction of the target binary index tree based on multiple first entity interest preference feature vectors includes: Randomly sample the plurality of first entity interest preference feature vectors to obtain a plurality of second entity interest preference feature vectors; wherein the number of second entity interest preference feature vectors is less than the number of first entity interest preference feature vectors. A first binary index tree is constructed based on the interest preference feature vectors of multiple second entities; The multiple first entity interest preference feature vectors are mapped to the partition vector set corresponding to each leaf node on the first binary index tree to obtain the second binary index tree; The target binary index tree is determined based on the second binary index tree.
2. The method for determining push information according to claim 1, characterized in that, The construction of the first binary index tree based on multiple second entity interest preference feature vectors includes: Obtain the second mean vector of multiple second entity interest preference feature vectors; Calculate the second average distance value between multiple second entity interest preference feature vectors and the second mean vector; The second average distance value of multiple second entity interest preference feature vectors is used as the root node; The root node is bisected into a left child node and a right child node. The second entity interest preference feature vector whose distance value from the second mean vector is less than the second average distance value is mapped to the vector set corresponding to the left child node. The second entity interest preference feature vector whose distance value from the second mean vector is greater than the second average distance value is mapped to the vector set corresponding to the right child node. By taking the left child node and the right child node as the root node respectively, and performing binary branching until the number of vectors in the vector set corresponding to the node after the binary branching is less than a preset value, the first binary index tree is obtained.
3. The method for determining push information according to claim 1, characterized in that, Determining the target binary index tree based on the second binary index tree includes: Get the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree; The leaf nodes corresponding to the partition vector set with a vector number greater than the preset value are binary-branched to obtain the second binary index tree after the binary branching. When the number of vectors in the partition vector set corresponding to each leaf node in the second binary index tree after the binary fork is not greater than a preset value, the second binary index tree after the binary fork is determined as the third binary index tree; The target binary index tree is determined based on the third binary index tree.
4. The method for determining push information according to claim 3, characterized in that, Determining the target binary index tree based on the third binary index tree includes: In the third binary index tree, the interest preference feature vector of each first entity is mapped to the two adjacent partition vector sets of its partition vector set, respectively, to obtain the fourth binary index tree; Calculate the fourth mean vector of each partition vector set in the fourth binary index tree; Calculate the distance between the first entity's interest preference feature vector and the fourth mean vector in the partition vector set; In each partition vector set, sort the first entity interest preference feature vectors in the partition vector set in descending order of their distance from the fourth mean vector; The target binary index tree is obtained by removing the first entity interest preference feature vector that is sorted after a preset value from each partition vector set in the fourth binary index tree.
5. The method for determining push information according to claim 1, characterized in that, The feature vector of the entity to be recommended is searched in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the feature vector of the entity to be recommended, including: Obtain the entity identifier of the entity to be recommended; Determine whether there exists an interest preference feature vector of the entity to be recommended that matches the entity identifier in the cache database; If there is no entity interest preference feature vector matching the entity identifier in the cache database, then the entity interest preference feature vector matching the entity identifier is obtained from the storage database. Based on the interest preference feature vector of the entity to be recommended, a search is performed in the target binary index tree to obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended.
6. The method for determining push information according to claim 1, characterized in that, The step of determining multiple first entity interest preference feature vectors based on the historical entity resource interaction information includes: Based on the historical entity resource interaction information, a first knowledge graph is constructed with entities, entrusted items, and resources as nodes. Obtain the probability of occurrence of relationships between nodes in the first knowledge graph; Remove node relationships in the first knowledge graph whose probability of occurrence is lower than the preset probability to obtain the second knowledge graph; Graph embedding is performed on the second knowledge graph to obtain multiple first entity interest preference feature vectors.
7. A push information determination device, characterized in that, The push information determination device includes: The acquisition unit is used to acquire historical entity resource interaction information of multiple entities. The first determining unit is used to determine multiple first entity interest preference feature vectors based on the historical entity resource interaction information, wherein the first entity interest preference vector represents the probability that an entity prefers various types of resources; The building unit is used to construct a target binary index tree based on multiple first entity interest preference feature vectors; The search unit is used to search the target binary index tree based on the interest preference feature vector of the entity to be recommended, and obtain multiple target entity interest preference feature vectors that match the interest preference feature vector of the entity to be recommended. The second determining unit is used to determine push information based on the interest preference feature vectors of multiple target entities; The construction unit is further configured to randomly sample the plurality of first entity interest preference feature vectors to obtain a plurality of second entity interest preference feature vectors; wherein the number of second entity interest preference feature vectors is less than the number of first entity interest preference feature vectors; construct a first binary index tree based on the plurality of second entity interest preference feature vectors; map the plurality of first entity interest preference feature vectors to the partition vector set corresponding to each leaf node on the first binary index tree to obtain a second binary index tree; and determine the target binary index tree based on the second binary index tree.
8. A computer device, characterized in that, The computer device includes: One or more processors; Memory; and One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the processor to implement the push information determination method according to any one of claims 1 to 6.
9. A computer-readable storage medium, characterized in that, It stores a computer program, which is loaded by a processor to perform the steps in the push information determination method according to any one of claims 1 to 6.
Citation Information
Patent Citations
Interest preference prediction method and device, computer equipment and storage medium
CN108804619A
Apparatus for generating user interest information and method therefor
CN111434118A