Multi-user preference area Skyline query method
Through the multi-user preference area Skyline query method, the user group preference area relationship judgment and RKID-tree index are used, combined with the data point selection of comprehensive fit, the Skyline query problem under the multi-user preference range is solved, and efficient and fair personalized recommendation is achieved.
Patent Information
- Application Number
- CN202510598641.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-09
- Publication Date
- 2025-08-05
AI Technical Summary
The existing Skyline query method cannot effectively handle the query problem of groups composed of multiple users in the preference range, and cannot effectively integrate and coordinate the preferences of multiple users.
The multi-user preference area Skyline query method is adopted, and the user group preference area relationship judgment, RKID-tree index and data point selection method based on comprehensive fit is processed to process the preferred area Skyline query of multiple users, and the first k points with the highest preference score are selected.
Effectively integrate the preference relationship between users, improve query efficiency, ensure fairness and personalized recommendations of results, and meet personalized needs in multiple user preference areas.
Smart Images

Figure CN120429332A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of Skyline query technology, and in particular to a Skyline query method for multiple user preference areas. Background Art
[0002] Skyline queries, as a multi-objective decision-making method, can find tuples that are not dominated by other tuples across all dimensions. Therefore, they are widely used in recommendation systems, database optimization, and the Internet of Vehicles. With the continuous development of skyline queries, user needs and preferences are becoming increasingly popular. As an extension of traditional skyline queries, preference skylines have been proposed and attracted the attention of researchers. Preference skylines integrate user preference information, such as attribute importance, ranking preferences, and user weights, into traditional skyline queries. This allows for the selection of optimal solutions that better meet user expectations and improve user satisfaction.
[0003] Existing preference skyline queries primarily focus on effectively integrating user preferences into skyline queries, including explicit preferences (such as priorities and attribute weights) and implicit preferences (such as selection behavior and historical records). However, less attention has been paid to queries where users have a range of preferences for the attributes of the query object. In some real-world applications, such as e-commerce systems, users may have a range of preferences for products. For example, when purchasing a product, a user may only be interested in products with a price between 100 and 300 and a rating between 8 and 10, with the lower the price and the higher the rating, the better. While there has been research on constrained skyline queries, these studies fail to address the problem of querying a preference range for a group of multiple users, and are unable to effectively integrate and coordinate the preferences of multiple users. Summary of the Invention
[0004] In response to the shortcomings of the existing technology, the present invention provides a multi-user preference area skyline query method, which aims to effectively handle skyline queries when multiple users have preference areas, and can select the top k points with the highest preference scores for users on a relatively fair basis through a data point selection method based on comprehensive fit.
[0005] The technical solution adopted by the present invention to solve the technical problem is: a multi-user preferred area skyline query method, which mainly includes the following steps:
[0006] Step 1: Get a spatial dataset D containing n data points, D = {p1, p2, ..., p n}, where each object p i Has d-dimensional properties, that is, p i ={pi [1],p i [2],...,p i [d]}, input the query user group U containing m users, U={u1,u2,…,u m}, get the user's preferred area P, P = [l1,r1]×[l2,r2]×…×[l d ,r d ], represents the set of user preference ranges on each attribute dimension, and inputs user demand variable k;
[0007] Step 2: Call the user group preference area relationship judgment method to determine whether there is a common preference area among users;
[0008] Step 3: Based on the result of step 2, two different processing methods are used depending on whether there is a common preference area between user groups. When there is a common preference area between user groups, the common preference area skyline query is called. When there is no common preference area between users, the virtual preference area skyline query is called.
[0009] Preferably, the specific steps of the method for determining the relationship between user group preference areas in step 2 include:
[0010] (1) Initialize the common preference region to an empty set and set initial upper and lower boundaries for each dimension;
[0011] (2) Traverse the preference area of each user in the user group, update the upper and lower boundaries of the current common area dimension by dimension, and take the maximum lower bound and the minimum upper bound of all users' preference intervals in this dimension respectively;
[0012] (3) If the lower bound of any dimension exceeds the upper bound, it means there is no common region and an empty set is returned; otherwise, the intersection of all dimensions is output as the common preference region I;
[0013] Preferably, the specific steps of the public preference area skyline query in step 3 mainly include:
[0014] (1) Call the preference area skyline query method based on RKID-tree index for the public preference area I to obtain the candidate set C;
[0015] (2) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C;
[0016] (3) When the size of the candidate set C is larger than k, the data point selection method based on comprehensive fit is called to obtain the top k ranked result set R;
[0017] (4) Return the result set R containing k data points;
[0018] Preferably, the specific steps of querying the virtual preferred area skyline in step 3 mainly include:
[0019] (1) Calculate the virtual point v of the user group and further calculate the user's virtual preference area V based on v;
[0020] (2) Call the preference area skyline query method based on the RKID-tree index for the virtual preference area V to obtain the candidate set C;
[0021] (3) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C;
[0022] (4) When the data set size of C is greater than k, the data point selection method based on comprehensive fit is called to obtain the top k ranked result set R;
[0023] (5) Return the result set R containing k data points;
[0024] Preferably, the specific steps of the preferred area skyline query method based on the RKID-tree index mentioned in the public preferred area skyline query specific step (1) and the virtual preferred area skyline query (2) include:
[0025] (1) Initialize the candidate result set and add the root node of the R-tree to the traversal queue, traverse each node in the R-tree and determine whether its minimum bounding rectangle intersects with the user group's preference area;
[0026] (2) If there is no intersection, skip the node. If the node is a leaf node and there is an intersection, further access the dimension tree connected to the leaf node. For each data point in the dimension tree, if it is in the preferred area and is not dominated by other points in the current candidate set, add it to the candidate set and delete the points dominated by it.
[0027] (3) If the current node is a non-leaf node and has an intersection with the preferred region, it is added to the traversal queue for further screening, and finally a candidate result set that meets the Skyline conditions is returned;
[0028] Preferably, the specific steps of the data point selection method based on comprehensive fit mentioned in the specific step (3) of the public preference area skyline query and the virtual preference area skyline query (4) include:
[0029] (1) Calculate the relationship between point p and any user u h The matching degree in the jth dimension is: where b j is user u h The nearest boundary of the preference region, if p[j] <l h,j , then b j =l h,j ; If p[j]>r h,j , then b j =r h,j , range j =r h,j -l h,j is the width of the preference range of the jth dimension, used to normalize the difference;
[0030] (2) Calculate the relationship between point p and any user u h Matching in all dimensions:
[0031] (3) The degree of compatibility between point p and the total preference of all users is expressed as
[0032] (4) Calculate the minimum value of the fit between point p and all preferences, that is, the fairness fit. The specific formula is:
[0033] (5) Calculate the user's comprehensive fit T(p) = λ·F(p) + (1-λ)·S total (p), where λ represents the weight parameter;
[0034] Preferably, the expansion coefficient α mentioned in the public preference region skyline query (2) and the virtual preference region skyline query (3) is mainly used to expand the preference region. Specifically, the expansion operation refers to symmetrically expanding the upper and lower bounds of each dimension in the preference region P by a ratio of α. Let the original interval on the jth dimension be [l j ,r j ], whose span is expressed as Δ j =l j -r j , the calculation formulas for the upper and lower bounds of the expanded dimension are as follows:
[0035] Preferably, the virtual area V in the virtual preference area skyline query (1) is mainly a super-rectangular area formed by expanding in both directions in each dimension with the virtual point v as the center, and its initial size is defined as the average size of the user group preference area;
[0036] Preferably, the RKID-tree index mentioned in the virtual preference area skyline query (2) is a hybrid index structure that constructs an R-tree based on the spatial distribution of data points. When the number of nodes in a node exceeds a set threshold θ, it is split. When the node is a leaf node, the data contained in it is dimensionally partitioned and a dimension tree is established. Specifically, the dimension with the largest variance is selected as the partitioning dimension, and the median of the dimension is used as the partition value to divide the data into left and right subtrees. The dimension partitioning threshold is set to τ.
[0037] In general, the above technical solutions conceived by the present invention can achieve the following beneficial effects compared with the prior art:
[0038] (1) The present invention adopts a method for determining the relationship between user group preference regions and introduces concepts such as virtual preference regions to effectively integrate the preference relationships between users and coordinate the processing of multiple user preferences;
[0039] (2) The present invention proposes an RKDI-tree index structure, which adopts a two-layer hybrid index mechanism: first, the upper layer R-tree is used to quickly locate in the spatial range, and then the lower layer dimension tree is used to accurately prune. This structure reduces overlapping accesses and avoids the calculation of a large number of irrelevant points, which can improve query efficiency;
[0040] (3) The present invention utilizes a data point selection method based on comprehensive fit, where the comprehensive fit is composed of preference fit and fairness fit. This method can give priority to selecting the top k data points with the highest fit with the user group's preferences on the basis of ensuring relative fairness of the results. By introducing the parameter k, the size of the result set can be flexibly controlled to better meet the personalized recommendation needs under multiple user preference areas. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 The present invention is a flowchart of a multi-user preference area skyline query method.
[0042] Figure 2 This is a distribution diagram of RKID-tree index data points in a specific embodiment of the present invention.
[0043] Figure 3 This is an example diagram of the RKID-tree index in a specific embodiment of the present invention. DETAILED DESCRIPTION
[0044] The following will be combined with the accompanying drawings in the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the examples described are only some implementation examples of the present invention, rather than all embodiments. In addition, it should be understood that after reading this invention, those skilled in the art may make various modifications or changes to the present invention, and these equivalent forms also fall within the scope defined by the appended claims.
[0045] like Figure 1 As shown, the present invention provides a multi-user preferred area skyline query method, which includes the following steps:
[0046] Step 1: Get a spatial dataset D containing n data points, D = {p1, p2, ..., p n}, where each object p i Has d-dimensional properties, that is, p i ={p i [1],p i [2],...,p i [d]}, input the query user group U containing m users, U={u1,u2,…,u m}, get the user's preferred area P, P = [l1, r1] × [l2, r2] × ... × [l d ,r d ], represents the set of user preference ranges on each attribute dimension, and inputs user demand variable k;
[0047] Step 2: Call the user group preference area relationship judgment method to determine whether there is a common preference area among users;
[0048] Specifically, the specific steps of the method for determining the relationship between user group preference regions are as follows:
[0049] (1) Initialize the common preference region to an empty set and set initial upper and lower boundaries for each dimension;
[0050] (2) Traverse the preference area of each user in the user group, update the upper and lower boundaries of the current common area dimension by dimension, and take the maximum value of the lower bound and the minimum value of the upper bound of the preference interval of all users in this dimension respectively;
[0051] (3) If the lower bound of any dimension exceeds the upper bound, it means there is no common region and an empty set is returned; otherwise, the intersection of all dimensions is output as the common preference region I;
[0052] Step 3: Based on the results of step 2, two different processing methods are used depending on whether there are common preference areas between user groups. When there are common preference areas between user groups, a common preference area skyline query is called;
[0053] Specifically, the steps for querying the public preference area skyline are as follows:
[0054] (1) Call the preference area skyline query method based on RKID-tree index for the public preference area I to obtain the candidate set C;
[0055] (2) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C;
[0056] (3) When the size of the candidate set C is larger than k, the data point selection method based on comprehensive fit is called to obtain the top k ranked result set R;
[0057] (4) Return the result set R containing k data points;
[0058] When there is no common preference area among user groups, a virtual preference area Skyline query is called;
[0059] Specifically, the virtual preferred area skyline query mainly includes the following steps:
[0060] (1) Calculate the virtual point v of the user group and further calculate the user's virtual preference area V based on v;
[0061] (2) Call the preference area skyline query method based on the RKID-tree index for the virtual preference area V to obtain the candidate set C;
[0062] (3) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C;
[0063] (4) When the data set size of C is greater than k, the data point selection method based on comprehensive fit is called to obtain the top k data points;
[0064] (5) Return the result set R containing k data points;
[0065] Specifically, the preferred area skyline query method based on the RKID-tree index mentioned in both the public preferred area skyline query and the virtual preferred area skyline query mainly includes the following steps:
[0066] (1) Initialize the candidate result set and add the root node of the R-tree to the traversal queue, traverse each node in the R-tree and determine whether its minimum bounding rectangle intersects with the user group's preference area;
[0067] (2) If there is no intersection, skip the node. If the node is a leaf node and there is an intersection, further access the dimension tree connected to the leaf node. For each data point in the dimension tree, if it is in the preferred area and is not dominated by other points in the current candidate set, add it to the candidate set and delete the points dominated by it.
[0068] (3) If the current node is a non-leaf node and has an intersection with the preferred region, it is added to the traversal queue for further screening, and finally a candidate result set that meets the Skyline conditions is returned;
[0069] Specifically, RKID-tree is a hybrid index structure that constructs an R-tree through the spatial distribution of data points. When the number of nodes in a node exceeds the set threshold θ, it is split. When the node is a leaf node, the data contained in it is divided into dimensions and a dimension tree is established. Specifically, the dimension with the largest variance is selected as the division dimension, and the median of the dimension is used as the split value to divide the data into left and right subtrees. The dimension split threshold is set to τ. For the convenience of specific description, this embodiment gives Figure 2 The data point distribution diagram shown in Figure 2 is used to construct the RKDI-tree based on this data point distribution diagram. Figure 3 As shown in Figure 2. The RKDI-tree is composed of an R-tree with a threshold value of θ of 6 and 6 dimension trees. First, the R-tree is constructed according to the spatial distribution of the data points. Then, the data in the leaf nodes of the R-tree are divided according to the non-spatial attributes. The threshold of the dimension tree is set to τ. When the number of nodes exceeds the threshold, further division is performed. The variance of each dimension is calculated, and the reward dimension with the largest variance value is used as the division dimension. The segmentation value v is further calculated to be 100, and p1, p3, and p2 that are less than v are divided into 100. 10 Divide into the left subtree, p2, p 11 , p 13 Divide into the right subtree. Since the number of data points contained in the two child nodes N1 and N2 exceeds τ, the next division is performed and the variance values of each dimension of N1 are calculated. Since the variances of the reward and reachability dimensions are the same, we randomly select the reward dimension as the division dimension, and we can get the left subtree N3 containing p3 and the left subtree N3 containing p1, p2. 10 The right subtree N4 of R3 is partitioned in the same way as N2 to obtain N5 and N6 after partitioning based on the reachability dimension. Finally, a complete dimension tree based on R3 is obtained.
[0070] Specifically, the expansion coefficient α in the public preference region skyline query (2) and the virtual preference region skyline query (3) described in step 3 is mainly used to expand the preference region. Specifically, the expansion operation refers to symmetrically expanding the upper and lower bounds of each dimension in the preference region P by a ratio of α. Let the original interval on the jth dimension be [l j ,r j ], whose span is expressed as Δ j =l j -r j , the calculation formulas for the upper and lower bounds of the expanded dimension are as follows:
[0071] Specifically, the virtual area in the virtual preference area skyline query step (1) in step 3 is a hyper-rectangular area formed by expanding in both directions in each dimension with the virtual point v as the center, and its initial size is defined as the average size of the user group's preference area;
[0072] Specifically, the specific steps of the data point selection method based on comprehensive fit mentioned in the specific steps (3) of the public preference area skyline query and the virtual preference area skyline query (4) include:
[0073] (1) Calculate the relationship between point p and any user u h The matching degree in the jth dimension is: where b j is user u h The nearest boundary of the preferred region is given if p[j] <l h,j , then b j =l h,j ; If p[j]>r h,j , then b j =r h,j , range j =r h,j -l h,j is the width of the preference range of the jth dimension, used to normalize the difference;
[0074] (2) Calculate the relationship between point p and any user u h Matching in all dimensions:
[0075] (3) The degree of compatibility between point p and the total preference of all users is expressed as
[0076] (4) Calculate the minimum value of the fit between point p and all preferences, that is, the fairness fit. The specific formula is:
[0077] (5) Calculate the user's comprehensive fit T(p) = λ·F(p) + (1-λ)·S total (p), where λ represents the weight parameter.
[0078] Although the embodiments of the present invention have been disclosed above, they are not limited to the applications listed in the description and implementation methods. They can be fully applied to various fields suitable for the present invention. For those familiar with the art, additional modifications can be easily implemented. Therefore, without departing from the general concept defined by the claims and the scope of equivalents, the present invention is not limited to the specific details and figures shown and described herein.
Claims
1. A multi-user preferred area skyline query method, characterized in that: The following steps are involved: Step 1: Get a spatial dataset D containing n data points, D = {p1, p2, ..., p n }, where each object p i Has d-dimensional properties, that is, p i ={p i [1],p i [2],...,p i [d]}, input the query user group U containing m users, U={u1,u2,…,u m }, get the user's preferred area P, P = [l1,r1]×[l2,r2]×…×[l d ,r d ], represents the set of user preference ranges on each attribute dimension, and inputs the user group demand variable k; Step 2: Call the user group preference area relationship determination method to determine whether there is a common preference area among users. The specific steps of the user group preference area relationship determination method are as follows: (1) Initialize the common preference region to an empty set and set initial upper and lower boundaries for each dimension; (2) Traverse the preference area of each user in the user group, update the upper and lower boundaries of the current common area dimension by dimension, and take the maximum lower bound and the minimum upper bound of all users' preference intervals in this dimension respectively; (3) If the lower bound of any dimension exceeds the upper bound, it means there is no common area and an empty set is returned; Otherwise, output the intersection of all dimensions as the common preference region I; Step 3: Based on the results of step 2, two different processing methods are proposed depending on whether there are common preference areas among user groups. When there are common preference areas among user groups, the common preference area skyline query is called. The specific steps include: (1) Call the preference area skyline query method based on RKID-tree index for the public preference area I to obtain the candidate set C; (2) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method mentioned in (1) is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C; (3) When the size of the candidate set C is larger than k, the data point selection method based on comprehensive fit is called to obtain the top k ranked result set R; (4) Return the result set R containing k data points; When there is no common preference area among user groups, the virtual preference area Skyline query is called. The specific steps include: (1) Calculate the virtual point v of the user group and further calculate the user's virtual preference area V based on v; (2) Call the preference area skyline query method based on the RKID-tree index for the virtual preference area V to obtain the candidate set C; (3) When the size of the candidate set C is smaller than k, the expansion coefficient α is used to relax the common preference region I, and the query method is called again to calculate the preference skyline points of the expanded part, and the obtained preference skyline points that are not dominated by the data points in C are added to C; (4) When the data set size of C is greater than k, the data point selection method based on comprehensive fit is called to obtain the top k ranked result set R; (5) Return the result set R containing k data points; The specific steps of the preferred area skyline query method based on RKID-tree index mentioned in both of the above processing methods include: (1) Initialize the candidate result set and add the root node of the R-tree to the traversal queue. Traverse each node in the R-tree and determine whether its minimum bounding rectangle intersects with the user group's preference area. (2) If the current node has no intersection with the query area, skip the node directly; if the node is a leaf node and there is an intersection, further access the dimension tree connected to the leaf node; for each data point in the dimension tree, if it is in the preferred area and is not dominated by other points in the current candidate set, add it to the candidate set and delete the points dominated by it; (3) If the current node is a non-leaf node and has an intersection with the preferred region, it is added to the traversal queue for further screening, and finally a candidate result set that meets the Skyline conditions is returned; The specific steps of the data point selection method based on comprehensive fit mentioned in both of the above processing methods include: (1) Calculate the relationship between point p and any user u h The matching degree in the jth dimension is: Among them [l h,j ,r h,j ] represents user u h The upper and lower bounds of preference on dimension j, b j is user u h The nearest boundary of the preference region, if p[j] <l h,j , then b j =l h,j ; If p[j]>r h,j , then b j =r h,j ;range j =r h,j -l h,j is the width of the preference range of the jth dimension, used to normalize the difference; (2) Calculate the relationship between point p and any user u h Matching in all dimensions: (3) The degree of compatibility between point p and the total preference of all users is expressed as (4) Calculate the minimum value of the fit between point p and all preferences, that is, the fairness fit. The specific formula is: (5) Calculate the user's comprehensive fit T(p) = λ·F(p) + (1-λ)·S total (p), where λ represents the weight parameter.
2. A multi-user preference region skyline query method according to claim 1, wherein the expansion coefficient α in the public preference region skyline query (2) and the virtual preference region skyline query (3) in step 3 is characterized in that: the expansion coefficient is mainly used to expand the preference region; specifically, the expansion operation refers to symmetrically expanding the upper and lower bounds of each dimension in the preference region P in proportion α; let the original interval on the jth dimension be [l j ,r j ], whose span is expressed as Δ j =l j -r j , the calculation formulas for the upper and lower bounds of the expanded dimension are as follows:
3. A multi-user preference area skyline query method according to claim 1, wherein the virtual point v in the virtual preference area skyline query (1) in step 3 is characterized in that it is a global equilibrium reference point obtained by averaging the upper and lower boundary values of all user preference areas.
4. A multi-user preference area skyline query method according to claim 1, wherein the virtual area V in the virtual preference area skyline query (1) in step 3 is characterized by: The virtual area is a hyper-rectangular area that is expanded to both sides in each dimension with the virtual point v as the center. Its initial size is defined as the average size of the user group's preference area.
5. The multi-user preference area skyline query method according to claim 1, wherein the RKID-tree index in the virtual preference area skyline query (2) in step 3 is characterized by: RKID-tree is a hybrid index structure that constructs an R-tree based on the spatial distribution of data points. When the number of nodes in a node exceeds the set threshold θ, it is split. When the node is a leaf node, the data it contains is dimensionally partitioned and a dimensional tree is established. Specifically, the dimension with the largest variance is selected as the partition dimension, and the median of this dimension is used as the partition value to divide the data into left and right subtrees. The dimension partition threshold is set to τ.