Method for recommending crowd-sensing task based on user preference and matching degree
By constructing a user preference prediction network through deep learning and combining task difficulty and user reliability, a comprehensive recommendation score is generated. This solves the problem of unbalanced user preferences and task difficulty in existing technologies, achieving high accuracy and efficiency in task recommendation, and improving user participation and data quality.
Patent Information
- Application Number
- CN202311186629.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-14
- Publication Date
- 2025-11-25
- Estimated Expiration
- 2043-09-14
AI Technical Summary
Existing crowd-sensing task allocation and recommendation models fail to effectively balance user preferences and task difficulty, resulting in low user participation and unstable data quality, which affects the platform's effectiveness.
A user preference prediction network is constructed using deep learning technology. Combining task difficulty and user reliability, a comprehensive recommendation score is generated through an embedding layer, an attention mechanism layer, a pooling layer, and a fully connected layer. Considering user preferences and matching degree, suitable tasks are recommended.
It improved the accuracy and resource utilization of task recommendations, enhanced user participation and data quality, and improved the efficiency and effectiveness of the perception platform.
Smart Images

Figure CN117150140B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of computer, and particularly relates to a crowdsourcing task. BACKGROUND
[0002] Crowdsensing is a sensing method that uses large-scale crowds to participate, and intelligent devices such as smart phones and sensors as basic sensing units to collect and analyze environmental data to collaboratively complete large sensing tasks and solve various large-scale data demand problems. Since crowdsensing uses large-scale ordinary users to collect and upload data, it has the advantages of wide distribution, mobile flexibility and low cost. At present, mobile crowdsensing has been widely used in various fields such as traffic condition monitoring, air quality monitoring and social network architecture, and has brought different degrees of convenience to daily life.
[0003] At present, the research of crowdsensing mainly has two modes, one is a task allocation model, and the other is a task recommendation model. The general framework of the task allocation model mainly includes three parts: a task model, a user model and a task allocation method. The task model is constructed according to the attributes of the tasks published by the data requester, the user model is constructed according to the attribute requirements of the tasks on the users, and the allocation algorithm is designed according to different optimization goals, such as maximizing the task coverage rate or the highest overall task completion quality, so as to realize the accurate allocation of the tasks. The task recommendation model gives users more opportunities to choose preferred tasks. In the crowdsensing task recommendation system, after the sensing task is published by the data requester, the platform will show the users the task content and related requirements that can be completed in the system, so as to provide the users with browsing and selection. The users select the tasks that they are interested in and complete them, and upload the sensing data to the sensing platform. Due to the diversity and complexity of crowdsensing tasks, and in order to ensure the recommendation efficiency and overall utility of the sensing platform, how to effectively recommend suitable tasks for users has become an important research topic.
[0004] In crowd sensing, the essence of task assignment and task recommendation is to find the best match between users and tasks. Existing task assignment and recommendation models have their own shortcomings due to only considering one-sided influencing factors. For task assignment models, existing research mainly focuses on the interests of data requesters, and concerns how to complete more sensing tasks with less cost and obtain higher quality sensing data, without considering the task preferences of users. This leads to the fact that users may receive task recommendations that they are not interested in, thereby reducing their participation enthusiasm and uploading data quality, resulting in low task acceptance rate and poor user attitude towards completing tasks. On the contrary, task recommendation models only consider the preferences of users or the interests of individual users, without considering the ability of users and the difficulty of tasks. Users select tasks they want to complete or tasks with high rewards by browsing the available task information in the system, but they cannot objectively assess whether their ability can complete the task. The ability of users to complete tasks is uneven, and the quality of uploaded data is unstable, which may lead to a large deviation between the task results and the actual situation. In order to overcome the above problems, it is necessary to consider the above two factors to propose a new crowd sensing task recommendation method to balance the interests of both parties, and to consider the interests of users while improving the platform utility as much as possible, which is a problem to be solved. SUMMARY
[0005] The technical problem to be solved by the present application is to overcome the shortcomings of the prior art and provide a crowd sensing task recommendation method based on user preferences and matching degree with high accuracy and high resource utilization.
[0006] The technical solution adopted to solve the above technical problems comprises the following steps:
[0007] (1) Preprocessing data
[0008] The data comes from the MovieLens movie rating dataset, which contains 6040 users, 3706 movies, 18 movie categories and 1000209 rating records. Each movie is regarded as a crowd sensing task, and the features of users include user number, gender, age and occupation. The features of crowd sensing tasks include task number, task name and task type. Each rating record contains user number, task number, sensing data and the time of uploading sensing data. The first (a-1) completed tasks of each user are regarded as a training set S, and the a-th completed task is regarded as a test set, where a is the length of the user's historical task record.
[0009] (2) Constructing a user preference prediction network
[0010] The user preference prediction network is composed of an embedding layer, an attention mechanism layer, a pooling layer, a feature connection layer and a fully connected layer connected in sequence.
[0011] (3) Training the user preference prediction network
[0012] 1) Constructing the loss function
[0013] The loss function L is constructed as follows:
[0014]
[0015] Where, x r The input to the user preference prediction network, y r Indicates whether the user has selected the task, y r ∈{0,1}, p(x r ) represents the predicted rating of user preference, and G represents the number of samples in the training set.
[0016] 2) Training the user preference prediction network
[0017] The training set is input into the user preference prediction network for training. The training batch size is 32, the initial learning rate is 1, and the learning rate is adjusted to 0.1 every 336,000 training samples. The training continues until the loss function converges.
[0018] (4) Testing the user preference prediction network
[0019] The user set U is determined by the following formula:
[0020] U = {n1, n2, ..., n} i}
[0021] Where, n i Let i represent the i-th user, 1≤i≤N, where N represents the number of users and is a finite positive integer.
[0022] The task set T is determined by the following formula:
[0023] T = {s1, s2} 2 , ..., s j}
[0024] Among them, s j Let s represent the j-th perception task, 1≤j≤M, where M represents the number of collective perception tasks and is a finite positive integer. Each perception task s j They belong to a task type c, and the set of group sensing tasks of type c is T. c The total number of types of crowd-sensing tasks is C.
[0025] The test set is input into the trained user preference prediction network to obtain the result for user n. i Generate crowd-sensing tasks j Preference rating p i,j .
[0026] (5) Determine the task difficulty and user reliability
[0027] The user's historical uploaded perception data set B is determined as follows:
[0028] B = {x 1,1 , x 1,2 ,..., x 2,1 , x 2,2 ,..., x i,j}
[0029] wherein x i,j is the perception data uploaded by user n i for task s j .
[0030] The method for determining the task difficulty and user reliability is as follows:
[0031] 1) Determine the user's completion degree for a specific crowd-sensing task
[0032] The user's completion degree for a specific crowd-sensing task is determined as follows:
[0033]
[0034]
[0035]
[0036] U j = {n i}
[0037] wherein ε is a parameter, ε is in the range of (0, 1], and is the estimated value of the true value of the crowd-sensing task s j .
[0038] 2) Determine the difficulty of the crowd-sensing task
[0039] The difficulty D of the crowd-sensing task is determined as follows: j
[0040]
[0041] wherein N j is the number of users in the user set U j that complete the task s j .
[0042] 3) Determine the user's completion degree for a specific type of crowd-sensing task
[0043] The user's completion degree for a specific type of crowd-sensing task is determined as follows:
[0044]
[0045]
[0046]
[0047] T i,c ={s j}
[0048] wherein, a and l are parameters, a and l take values in [0, 1], and m' is the time sequence of task completion.
[0049] 4) determining the reliability of a user for a specific type of crowd-sensing task
[0050] The reliability of a user for a specific type of crowd-sensing task R is determined as follows: i,c
[0051]
[0052] wherein, d, g, and q are hyperparameters, the value range of d is (0, 1], the value range of g is [-3, 3], and the value range of q is [0, 200].
[0053] (6) determining the matching degree score
[0054] The method for determining the matching degree score is as follows:
[0055] 1) determining the matching degree
[0056] The matching degree q' is determined as follows: i,j
[0057]
[0058] wherein, R i,c is the reliability of the user ni for the c-type crowd-sensing task.
[0059] 2) determining the matching degree score
[0060] The matching degree score q is determined as follows: i,j
[0061]
[0062] wherein, minq i is the matching degree of the crowd-sensing task with the lowest matching degree for the user n i , and maxq i is the matching degree of the crowd-sensing task with the highest matching degree for the user n i .
[0063] (7) generating a final recommendation result
[0064] 1) determining a comprehensive recommendation score
[0065] The comprehensive recommendation score W is determined according to the following formula: i,j :
[0066] W i,j = βp i,j +(1-β)q i,j
[0067] wherein, β is a parameter, and β is in the range of [0, 1].
[0068] 2) generating a task recommendation list
[0069] According to the comprehensive recommendation score W i,j , the crowd-sensing tasks are arranged in descending order, and the top K crowd-sensing tasks with high recommendation scores are selected as the user n i recommendation result, and K is in the range of [1, 200].
[0070] In step (4) of the present application, the user set U is determined according to the following formula:
[0071] U = {n1, n2,..., n i}
[0072] wherein, n i represents the i-th user, 1≤i≤N, N represents the number of users, and N is in the range of (0, 6100].
[0073] The task set T is determined according to the following formula:
[0074] T = {s1, s2,..., s j}
[0075] wherein, s j represents the j-th sensing task, 1≤j≤M, M represents the number of crowd-sensing tasks, and M is in the range of (0, 7000]. Each sensing task s j belongs to a task type c, and the set of crowd-sensing tasks of type c is T c , the total number of task types is C, and C is in the range of (0, 20].
[0076] The test set is input into the trained user preference prediction network to obtain the recommendation score p i for the user n j to generate a crowd-sensing task s i,j .
[0077] In step (4) of the present application, the user set U is determined according to the following formula:
[0078] U = {n1, n2,..., nN} i}
[0079] wherein, n i represents the ith user, 1≤i≤N, N represents the number of users, and N is best valued as 6040.
[0080] The task set T is determined according to the following formula:
[0081] T = {s1, s2,..., sM} j}
[0082] wherein, s j represents the jth sensing task, 1≤j≤M, M represents the number of crowd-sensing tasks, and M is best valued as 3706. j belongs to a task type c, and the set of crowd-sensing tasks of the cth type is T c , the total number of types of crowd-sensing tasks is C, and C is best valued as 18.
[0083] The test set is input into the trained user preference prediction network to obtain the recommendation score p i for the user n j to generate the crowd-sensing task s i,j .
[0084] Compared with the prior art, the present application has the following advantages:
[0085] (1) The present application uses deep learning technology to realize crowd-sensing task recommendation based on user preferences, and mines user preference information from user historical task records to recommend crowd-sensing tasks to users in the system.
[0086] (2) The present application proposes a method for characterizing task difficulty and user reliability, and proposes the concept of matching degree, determines task difficulty, user reliability and matching degree according to user uploaded historical data, and recommends tasks to users with similar completion ability according to task difficulty, thereby improving the utilization rate of user resources and ensuring the efficiency and utility of the recommendation system.
[0087] (3) The present application takes into account the interests of both users and the sensing platform, makes recommendations from two aspects of user preferences and matching degree, and generates a comprehensive recommendation result by combining the two recommendation scores, thereby improving the accuracy of the recommendation result while also improving the recommendation efficiency and utility of the sensing platform. BRIEF DESCRIPTION OF DRAWINGS
[0088] Figure 1 is a flowchart of an embodiment of the present application.
[0089] Figure 2 is a structural diagram of a user preference prediction network.
[0090] Figure 3 Hit rate curve for the recommended results of Example 1 and the comparative experiment.
[0091] Figure 4 Normalized loss cumulative gain curve for the recommended results of Example 1 and the comparative experiment.
[0092] Figure 5 Error size chart for the task recommendation score of Example 1 and the comparative experiment.
[0093] Figure 6 User utility curve for the recommended results of Example 1 and the comparative experiment. DETAILED DESCRIPTION
[0094] The application will be further described in detail below in conjunction with the accompanying drawings and examples, but the application is not limited to the following examples.
[0095] Example 1
[0096] In Figure 1 , the crowd-sensing task recommendation method based on user preference and matching degree of the present embodiment consists of the following steps:
[0097] (1) Preprocess data
[0098] The data is derived from the MovieLens movie rating dataset, which contains 6040 users, 3706 movies, 18 movie categories and 1000209 rating records. Each movie is taken as a crowd-sensing task, and the features of the user include user number, gender, age and occupation. The features of the crowd-sensing task include task number, task name and task type. Each rating record contains user number, task number, sensing data and the time of uploading the sensing data. The first (a-1) completed tasks of each user are taken as the training set S, and the a-th completed task is taken as the test set, where a is the length of the user's historical task record.
[0099] (2) Construct a user preference prediction network
[0100] In Figure 2 , the user preference prediction network of the present embodiment consists of an embedding layer, an attention mechanism layer, a pooling layer, a feature connection layer and a fully connected layer connected in sequence.
[0101] (3) Train the user preference prediction network
[0102] 1) Construct a loss function
[0103] The loss function L is constructed as follows:
[0104]
[0105] wherein, x r is the input of the user preference prediction network, y r represents whether the user selects the task, y r ∈{0,1}, p(x r ) represents the predicted score of the user preference, and G represents the number of samples in the training set.
[0106] 2) Training the user preference prediction network
[0107] The training set is input into the user preference prediction network for training, the training batch size is 32, the initial learning rate is 1, the learning rate is adjusted to 0.1 every 336,000 samples, and the iteration is performed until the loss function converges.
[0108] (4) Testing the user preference prediction network
[0109] The user set U is determined according to the following formula:
[0110] U={n1, n2,..., n i}
[0111] wherein, n i represents the i-th user, 1≤i≤N, N represents the number of users, and N takes a value of (0, 6100]; in this embodiment, N takes a value of 6040.
[0112] The task set T is determined according to the following formula:
[0113] T={s1, s2,..., s j}
[0114] wherein, s j represents the j-th perception task, 1≤j≤M, M represents the number of crowd-sensing tasks, and M takes a value of (0, 7000]; in this embodiment, M takes a value of 3706, and each perception task s j belongs to a task type c, the set of crowd-sensing tasks of type c is T c , the total number of types of crowd-sensing tasks is C, and C takes a value of (0, 20]; in this embodiment, C takes a value of 18.
[0115] The test set is input into the trained user preference prediction network to obtain the recommendation score p i for the user n j to generate the crowd-sensing task s i,j .
[0116] (5) Determining the task difficulty and user reliability
[0117] The set B of perception data uploaded by the user in history is determined according to the following formula:
[0118] B={x1,1 , x 1,2 ,..., x 2,1 , x 2,2 ,..., x i,j}
[0119] wherein x i,j is the user n i uploading the perception data for task s j .
[0120] The method for determining the task difficulty and the user reliability is as follows:
[0121] 1) Determine the completion degree of the user for a specific crowd-sensing task
[0122] The completion degree of the user for a specific crowd-sensing task is determined according to the following formula
[0123]
[0124]
[0125]
[0126] U j = {n i}
[0127] wherein ε is a parameter, ε takes a value of (0, 1], and the value of ε in the embodiment is 0.5, is the estimated value of the true value of the crowd-sensing task s j .
[0128] 2) Determine the difficulty of the crowd-sensing task
[0129] The difficulty D of the crowd-sensing task is determined according to the following formula j :
[0130]
[0131] wherein N j is the number of users in the user set U j that complete the task s j .
[0132] 3) Determine the completion degree of the user for a specific type of crowd-sensing task
[0133] The completion degree of the user for a specific type of crowd-sensing task is determined according to the following formula
[0134]
[0135]
[0136]
[0137] T i,c ={s j}
[0138] wherein, α and λ are parameters, α and λ take values [0, 1], α and λ of the embodiment take values 0.5, and m' is the time sequence of task completion.
[0139] 4) Determine the reliability of a user for a specific type of crowd-sensing task
[0140] The reliability R of a user for a specific type of crowd-sensing task is determined as follows: i,c
[0141]
[0142] wherein, δ, γ, θ are hyperparameters, δ takes values (0, 1], δ of the embodiment takes values 1, γ takes values [-3, 3], γ of the embodiment takes values -2.5, θ takes values [0, 200], and θ of the embodiment takes values 100.
[0143] (6) Determine the matching degree score
[0144] The method for determining the matching degree score is as follows:
[0145] 1) Determine the matching degree
[0146] The matching degree q' is determined as follows: i,j
[0147]
[0148] wherein, R i,c is the reliability of user n i for c type crowd-sensing task;
[0149] 2) Determine the matching degree score
[0150] The recommended score q of the matching degree is determined as follows: i,j
[0151]
[0152] wherein, minq i is the matching degree of the crowd-sensing task with the lowest matching degree for user n i , and maxq i is the matching degree of the crowd-sensing task with the highest matching degree for user n i .
[0153] (7) generating a final recommendation result
[0154] 1) determining a comprehensive recommendation score
[0155] The comprehensive recommendation score W is determined according to the following formula: i,j :
[0156] W i,j = βp i,j + (1-β)q i,j
[0157] Wherein, β is a parameter, and β takes a value of [0, 1]; the value of β in this embodiment is 0.5.
[0158] 2) generating a task recommendation list
[0159] According to the comprehensive recommendation score W i,j , the crowd-sensing tasks are arranged in descending order, and the top K crowd-sensing tasks with high recommendation scores are selected as the user n i 's recommendation result, and K takes a value of [1, 200], and the value of K in this embodiment is 100.
[0160] The crowd-sensing task recommendation method based on user preferences and matching degrees is completed.
[0161] Embodiment 2
[0162] The crowd-sensing task recommendation method based on user preferences and matching degrees in this embodiment consists of the following steps:
[0163] (1) preprocessing data
[0164] This step is the same as that in Embodiment 1.
[0165] (2) constructing a user preference prediction network
[0166] This step is the same as that in Embodiment 1.
[0167] (3) training the user preference prediction network
[0168] This step is the same as that in Embodiment 1.
[0169] (4) testing the user preference prediction network
[0170] The user set U is determined according to the following formula:
[0171] U = {n1, n2,..., n i}
[0172] Wherein, n i represents the i-th user, 1≤i≤N, N represents the number of users, and N takes a value of (0, 6100]; the value of N in this embodiment is 1.
[0173] The task set T is determined by the following formula:
[0174] T = {s1, s2, ..., s} j}
[0175] Among them, s j This represents the j-th perception task, 1≤j≤M, where M represents the number of collective perception tasks, and M takes values from (0, 7000); in this embodiment, M is 1, and each perception task s j They belong to a task type c, and the set of group sensing tasks of type c is T. c The total number of types of crowd-sensing tasks is C, and C takes the value (0, 20); in this embodiment, C takes the value 1.
[0176] The test set is input into the trained user preference prediction network to obtain the result for user n. i Generate crowd-sensing tasks j Recommended rating p i,j .
[0177] (5) Determine the task difficulty and user reliability
[0178] The user's historically uploaded sensory data set B is determined by the following formula:
[0179] B = {x} 1,1 x 1,2 , ..., x 2,1 x 2,2 , ..., x i,j}
[0180] Where, x i,j User n i For task s j Uploaded sensor data;
[0181] The methods for determining task difficulty and user reliability are as follows:
[0182] 1) Determine the user's completion rate for a specific crowd perception task.
[0183] The user's completion rate for a specific crowd perception task is determined by the following formula.
[0184]
[0185]
[0186]
[0187] U j ={n i}
[0188] wherein ε is a parameter, ε is in the range of (0, 1], and in this embodiment, ε is 0.1, for a crowd-sensing task s j an estimated value of the true value.
[0189] 2) determining the difficulty of a crowd-sensing task
[0190] The difficulty D of a crowd-sensing task is determined according to the following formula: j
[0191]
[0192] wherein N j is the number of users in the user set U j that complete the task s j .
[0193] 3) determining the completion degree of a user for a specific type of crowd-sensing task
[0194] The completion degree of a user for a specific type of crowd-sensing task is determined according to the following formula:
[0195]
[0196]
[0197]
[0198] T i,c = {s j}
[0199] wherein α and λ are parameters, α and λ are in the range of [0, 1], and in this embodiment, α and λ are 0, and m' is the time sequence of task completion.
[0200] 4) determining the reliability of a user for a specific type of crowd-sensing task
[0201] The reliability R of a user for a specific type of crowd-sensing task is determined according to the following formula: i,c
[0202]
[0203] wherein δ, γ, θ are hyperparameters, δ is in the range of (0, 1], and in this embodiment, δ is 0.1, γ is in the range of [-3, 3], and in this embodiment, γ is -3, and θ is in the range of [0, 200], and in this embodiment, θ is 0.
[0204] (6) determining the matching degree score
[0205] The method for determining the matching degree score is as follows:
[0206] 1) Determine the matching degree
[0207] Determine the matching degree q' according to the following formula i,j :
[0208]
[0209] Wherein, R i,c is the reliability of the user n i to the c-type crowd-sensing task.
[0210] 2) Determine the matching degree score
[0211] Determine the matching degree score q according to the following formula i,j :
[0212]
[0213] Wherein, minq i is the matching degree of the crowd-sensing task with the lowest matching degree to the user n i , and maxq i is the matching degree of the crowd-sensing task with the highest matching degree to the user n i .
[0214] (7) Generate the final recommendation result
[0215] 1) Determine the comprehensive recommendation score
[0216] Determine the comprehensive recommendation score W according to the following formula i,j :
[0217] W i,j = βp i,j + (1-β)q i,j
[0218] Wherein, β is a parameter, and β takes a value of [0, 1]; the value of β in this embodiment is 0.
[0219] 2) Generate the task recommendation list
[0220] According to the comprehensive recommendation score W i,j , the crowd-sensing tasks are arranged in descending order, and the first K crowd-sensing tasks with high recommendation scores are selected as the recommendation result of the user n i , and K takes a value of [1, 200], and the value of K in this embodiment is 1.
[0221] The crowd-sensing task recommendation method based on user preferences and matching degrees is completed.
[0222] Embodiment 3
[0223] The user preference and matching degree based crowd-sensing task recommendation method of the embodiment consists of the following steps:
[0224] (1) Preprocessing data
[0225] This step is the same as that of Embodiment 1.
[0226] (2) Constructing a user preference prediction network
[0227] This step is the same as that of Embodiment 1.
[0228] (3) Training the user preference prediction network
[0229] This step is the same as that of Embodiment 1.
[0230] (4) Testing the user preference prediction network
[0231] The user set U is determined according to the following formula:
[0232] U={n1,n2,...,n i}
[0233] wherein n i represents the ith user, 1≤i≤N, N represents the number of users, N takes a value of (0, 6100]; in this embodiment, N takes a value of 6100.
[0234] The task set T is determined according to the following formula:
[0235] T={s1,s2,...,s j}
[0236] wherein s j represents the jth sensing task, 1≤j≤M, M represents the number of crowd-sensing tasks, M takes a value of (0, 7000]; in this embodiment, M takes a value of 7000, and each sensing task s j belongs to a task type c, the set of crowd-sensing tasks of type c is T c , the total number of crowd-sensing task types is C, C takes a value of (0, 20]; in this embodiment, C takes a value of 20.
[0237] The test set is input into the trained user preference prediction network to obtain the recommendation score p i of the crowd-sensing task s j for the user n i,j .
[0238] (5) Determining task difficulty and user reliability
[0239] The set B of historical uploaded sensing data of the user is determined according to the following formula:
[0240] B={x 1,1, x 1,2 ,..., x 2,1 , x 2,2 ,..., x i,j}
[0241] wherein, x i,j is the perception data uploaded by user n i for task s j ;
[0242] The method for determining the task difficulty and the user reliability is as follows:
[0243] 1) Determine the completion degree of a user for a specific crowd-sensing task
[0244] The completion degree of a user for a specific crowd-sensing task is determined according to the following formula
[0245]
[0246]
[0247]
[0248] U j = {n i}
[0249] wherein, ε is a parameter, ε takes a value of (0, 1], and the value of ε in the embodiment is 1, is the estimated value of the true value of the crowd-sensing task s j .
[0250] 2) Determine the difficulty of the crowd-sensing task
[0251] The difficulty D of the crowd-sensing task is determined according to the following formula j :
[0252]
[0253] wherein, N j is the number of users in the user set U j that complete the task s j .
[0254] 3) Determine the completion degree of a user for a specific type of crowd-sensing task
[0255] The completion degree of a user for a specific type of crowd-sensing task is determined according to the following formula
[0256]
[0257]
[0258]
[0259] T i,c ={s j}
[0260] wherein, α and λ are parameters, α and λ take values [0, 1], α and λ of the embodiment take values 1, and m' is the time sequence of task completion.
[0261] 4) Determine the reliability of a user for a specific type of crowd-sensing task
[0262] The reliability R of a user for a specific type of crowd-sensing task is determined as follows: i,c
[0263]
[0264] wherein, δ, γ, θ are hyperparameters, δ takes values (0, 1], δ of the embodiment takes values 1, γ takes values [-3, 3], γ of the embodiment takes values 3, θ takes values [0, 200], and θ of the embodiment takes values 200.
[0265] (6) Determine the matching degree score
[0266] The method for determining the matching degree score is as follows:
[0267] 1) Determine the matching degree
[0268] The matching degree q' is determined as follows: i,j
[0269]
[0270] wherein, R i,c is the reliability of user n i for c-type crowd-sensing tasks.
[0271] 2) Determine the matching degree score
[0272] The matching degree score q is determined as follows: i,j
[0273]
[0274] wherein, minq i is the matching degree of the crowd-sensing task with the lowest matching degree for user n i , and maxq i is the matching degree of the crowd-sensing task with the highest matching degree for user n i .
[0275] (7) Generate the final recommendation result
[0276] 1) Determine the comprehensive recommendation score
[0277] The comprehensive recommendation score W is determined by the following formula. i,j :
[0278] W i,j =βp i,j +(1-β)q i,j
[0279] Wherein, β is a parameter, and the value of β is [0, 1]; in this embodiment, the value of β is 1.
[0280] 2) Generate a task recommendation list
[0281] Based on the comprehensive recommendation score W i,j Sort the crowd sensing tasks in descending order and select the top K crowd sensing tasks with the highest recommendation scores as user n. i The recommended result is that K takes the value [1, 200], and in this embodiment, K takes the value 200.
[0282] To verify the effectiveness of the method of the present invention, a comparative experiment was conducted using the method of Embodiment 1 of the present invention (hereinafter referred to as Hybrid) and random recommendation methods (hereinafter referred to as Random), BaseModel, DeepFM, deep interest network (hereinafter referred to as DIN), and task recommendation based only on matching degree (hereinafter referred to as Match-Only).
[0283] The experimental results of each model are analyzed using hit rate (HR), normalized depreciation cumulative gain (NDCG), weighted root mean square error (RWMSE), and platform utility. Hit rate is the probability that the user's actual chosen task appears in the recommendation list, representing the accuracy of the recommendation result. Normalized depreciation cumulative gain is a metric that measures the quality of the ranking, used to evaluate whether the task ranking in the recommendation list generated by the perception platform is sufficiently good. Weighted root mean square error reflects the accuracy of the recommendation model in calculating the recommendation score. Platform utility is used to evaluate the overall utility of user resources within the perception platform.
[0284] (1) Hit rate
[0285] The hit rate (HR) is determined by the following formula:
[0286]
[0287] Where, hits(i) represents user n i Whether the selected task is in the recommendation list generated by the platform for the user. If hits(i) = 1, it means that the task is matched; if hits(i) = 0, it means that the task is not matched.
[0288] (2) Normalized Discounted Cumulative Gain (NDCG)
[0289] The Normalized Discounted Cumulative Gain (NDCG) is determined by the following formula:
[0290]
[0291] wherein r i is the order of the selected task of user n i in the recommendation list.
[0292] (3) Weighted Root Mean Squared Error (RWMSE)
[0293] The Weighted Root Mean Squared Error (RWMSE) is determined by the following formula:
[0294]
[0295] w i = R i,c
[0296] wherein c is the type of the selected task of the user; y i is the recommendation score generated by the recommendation model, and indicates whether the user finally selects the task, if yes otherwise
[0297] (4) Platform Utility
[0298] The Platform Utility is determined by the following formula:
[0299]
[0300]
[0301] wherein K is the length of the recommendation list, q i,m is the user-task matching score of user n i and the mth task in the recommendation list.
[0302] The results of the comparative experiments are shown in Figures 3-6 .
[0303] Figure 3 The hit rate curves of the recommendation results of Example 1 and the comparative experiments. The hit rates of the DIN and Hybrid recommendation results are better than those of the other four models, and the results of Random and Match-Only are the worst. When the length of the task recommendation list is greater than 60, the results of Hybrid are better than those of DIN.
[0304] Figure 4Normalized discounted cumulative gain curves of the recommendation results of Example 1 and the comparative experiments. The experimental results prove that the present application improves the accuracy of the recommendation results.
[0305] Figure 5 Error size diagrams of the task recommendation scores of Example 1 and the comparative experiments. The error of Random is the largest, the error of Match-Only is the smallest, and the Hybrid recommendation method of the present application is the second best.
[0306] Figure 6 User utility curves of the recommendation results of Example 1 and the comparative experiments. The results prove that the method of the present application improves the utility of the crowd sensing platform.
Claims
1. A crowd-aware task recommendation method based on user preferences and matching degree, characterized in that: It consists of the following steps: (1) Preprocessed data The data comes from the MovieLens movie rating dataset, which contains 6040 users, 3706 movies, 18 movie genres, and 1000209 rating records. Each movie is treated as a group perception task. User characteristics include user ID, gender, age, and occupation. The characteristics of the group perception task include task ID, task name, and task type. Each rating record contains user ID, task ID, perception data, and the time when the perception data was uploaded. The first (a-1) completed tasks of each user are used as the training set S, and the a-th completed task is used as the test set, where a is the length of the user's historical task records. (2) Constructing a user preference prediction network The user preference prediction network consists of an embedding layer, an attention mechanism layer, a pooling layer, a feature connection layer, and a fully connected layer connected in series. (3) Training the user preference prediction network 1) Constructing the loss function The loss function L is constructed as follows: Where, x r The input to the user preference prediction network, y r Indicates whether the user has selected the task, y r ∈{0,1},p(x r ) represents the predicted rating of user preference, and G represents the number of samples in the training set; 2) Training the user preference prediction network The training set is input into the user preference prediction network for training. The training batch size is 32, the initial learning rate is 1, and the learning rate is adjusted to 0.1 every 336,000 training samples. The training continues until the loss function converges. (4) Testing the user preference prediction network The user set U is determined by the following formula: U={n1,n2,…,n i } Where, n i Let i represent the i-th user, 1≤i≤N, where N represents the number of users and is a finite positive integer. The task set T is determined by the following formula: T={s1,s2,…,s j } Among them, s j Let s represent the j-th perception task, 1≤j≤M, where M represents the number of collective perception tasks and is a finite positive integer. Each perception task s j They belong to a task type c, and the set of group sensing tasks of type c is T. c The total number of types of crowd-sensing tasks is C; The test set is input into the trained user preference prediction network to obtain the result for user n. i Generate crowd-sensing tasks j Preference rating p i,j ; (5) Determine the task difficulty and user reliability The user's historically uploaded sensory data set B is determined by the following formula: B={x 1,1 ,x 1,2 ,…,x 2,1 ,x 2,2 ,…,x i,j } Where, x i,j For user n i For task s j Uploaded sensor data; The methods for determining task difficulty and user reliability are as follows: 1) Determine the user's completion rate for a specific crowd perception task. The user's completion rate for a specific crowd perception task is determined by the following formula. U j ={n i } Where ε is a parameter, and the value of ε ranges from (0, 1]. For crowd-sensing tasks j An estimate of the true value; 2) Determine the difficulty of the crowd perception task. The difficulty D of the crowd perception task is determined by the following formula: j : Where, N j To complete task s j User set U j The number of users in; 3) Determine the user's completion rate for specific types of crowd sensing tasks. The user's completion rate for a specific type of crowd perception task is determined by the following formula. T i,c ={s j } Where α and λ are parameters, with values of [0, 1], and m′ represents the timing of task completion; 4) Determine the reliability of users for specific types of crowd perception tasks. The reliability R of a user for a specific type of crowd perception task is determined by the following formula. i,c : Wherein, δ, γ, and θ are hyperparameters, with δ ranging from (0, 1], γ ranging from [-3, 3], and θ ranging from [0, 200]. (6) Determine the matching score The method for determining the match score is as follows: 1) Determine the matching degree The matching degree q′ is determined by the following formula. i,j : Among them, R i,c For user n i Reliability of class C swarm intelligence sensing tasks; 2) Determine the matching score The matching score q is determined by the following formula. i,j : Where, minq i To interact with user n i The matching degree of the lowest swarm intelligence perception task, maxq i To interact with user n i The highest matching degree for the crowd perception task; (7) Generate the final recommendation results 1) Determine the comprehensive recommendation score The comprehensive recommendation score W is determined by the following formula. i,j : W i,j =βp i,j +(1-β)q i,j Where β is a parameter, and the value of β ranges from [0, 1]; 2) Generate a task recommendation list Based on the comprehensive recommendation score W i,j Sort the crowd sensing tasks in descending order and select the top K crowd sensing tasks with the highest recommendation scores as user n. i The recommended result is that K takes values in the range [1, 200].
2. The crowd-aware task recommendation method based on user preferences and matching degree according to claim 1, characterized in that... In step (4), the user set U is determined by the following formula: U={n1,n2,...,n i } Where, n i Let i represent the i-th user, 1≤i≤N, where N represents the number of users and takes the value (0, 6100]. The task set T is determined by the following formula: T={s1,a2,...,s j } Among them, s j Let s represent the j-th perception task, 1≤j≤M, where M represents the number of swarm perception tasks, and M takes values from (0, 7000]. Each perception task s j They belong to a task type c, and the set of group sensing tasks of type c is T. c The total number of types of crowd-sensing tasks is C, and C takes the value (0, 20]. The test set is input into the trained user preference prediction network to obtain the result for user n. i Generate crowd-sensing tasks j Recommended rating p i,j .
3. The crowd-sensing task recommendation method based on user preferences and matching degree according to claim 1, characterized in that... In step (4), the user set U is determined by the following formula: U={n1,n2,...,n i } Where, n i Let i represent the i-th user, 1≤i≤N, where N represents the number of users and N takes the value 6040; The task set T is determined by the following formula: T={s1,s2,...,s j } Among them, s j Let s represent the j-th perception task, 1≤j≤M, where M represents the number of swarm perception tasks, and M takes the value 3706. Each perception task s j They belong to a task type c, and the set of group sensing tasks of type c is T. c The total number of types of crowd-sensing tasks is C, and C takes the value of 18. The test set is input into the trained user preference prediction network to obtain the result for user n. i Generate crowd-sensing tasks j Recommended rating p i,j .
Citation Information
Patent Citations
Intelligent question and answer-based virtual learning environment construction method
CN108804654A
Social relation reasoning and task allocation method for crowd sensing system
CN114943340A