Method and apparatus for task recommendation

By analyzing user profiles and task logs, recommendation scores and similarity are calculated to optimize task recommendations. This addresses the problem of insufficient capture of user behavior intent in existing technologies and improves user engagement and retention rates.

CN111241391BActive Publication Date: 2026-05-01BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING SANKUAI ONLINE TECH CO LTD
Filing Date
2020-01-03
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

Existing technologies, when recommending tasks by analyzing users' historical behavior information, cannot effectively capture users' current behavioral intentions, leading to user dissatisfaction with task recommendations and reducing user engagement and retention rates.

Method used

By defining user profiles of target users, classifying task types, calculating recommendation scores based on task logs, selecting the task types and stages with the highest matching degree for recommendation, and optimizing task recommendations by combining user similarity and retention feature curves.

Benefits of technology

This improved the accuracy of task recommendations, enhanced user engagement in tasks, and increased user retention.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111241391B_ABST
    Figure CN111241391B_ABST
Patent Text Reader

Abstract

The specification discloses a task recommendation method and device. The specification first determines a target user, determines at least one candidate task type corresponding to the target user according to a user portrait of the target user, determines a recommendation score of the target user for each candidate task type according to a task log of the target user for a task corresponding to the candidate task type, selects a recommended task type from the at least one candidate task type according to the recommendation score of the target user for the at least one candidate task type, determines a task stage in which the target user is located for the recommended task type as a target stage according to each task stage pre-divided for each task type, and recommends a task corresponding to the target stage to the target user as a recommended task. In this way, the task recommended to the target user can better meet the current behavior intention of the target user, improve the enthusiasm of the target user in participating in the task, and further improve the user retention rate.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This specification relates to the field of Internet technology, and in particular to methods and apparatus for task recommendation. Background Technology

[0002] With the development of technology and the increasing demands of users, the number of service providers offering services is also growing. For these service providers, improving user retention rates is particularly important for their development.

[0003] Currently, user incentives and guidance can be used to encourage users to complete tasks set by the service platform (such as sharing reviews, comments, and likes), and rewards can be given based on the user's task completion level (such as bonus points or increased user level). This increases user participation and helps the platform improve user stickiness and loyalty. To achieve these goals, existing technologies often involve analyzing the user's historical behavior information to recommend tasks in real time and providing rewards based on the user's task completion level.

[0004] In the process described above, simply recommending tasks to a user by analyzing their historical behavior information cannot effectively capture the user's current behavioral intentions. As a result, the user may not be satisfied with the tasks and rewards recommended in real time, which will reduce the user's enthusiasm for participating in subsequent tasks and may lead to a decrease in the platform's user retention rate. Summary of the Invention

[0005] This specification provides methods and apparatus for task recommendation in its embodiments, in order to partially solve the problems existing in the prior art described above.

[0006] The embodiments in this specification adopt the following technical solutions:

[0007] This manual provides a method for task recommendation, including:

[0008] Identify target users;

[0009] Based on the user profile of the target user, at least one candidate task type corresponding to the target user is determined;

[0010] For each candidate task type, a recommendation score for the target user for that candidate task type is determined based on the task logs of the target user for the corresponding task of that candidate task type.

[0011] Based on the recommendation scores of the target user for the at least one candidate task type, a recommended task type is selected from the at least one candidate task type;

[0012] Based on the pre-defined task stages for each task type, the task stage in which the target user is located for the recommended task type is determined, and this stage is taken as the target stage.

[0013] Based on the target stage, task recommendations are made to the target users.

[0014] Optionally, for each candidate task type, a recommendation score for the target user for that candidate task type is determined based on the target user's task logs for that candidate task type. Specifically, this includes: for each candidate task type, determining a first historical phase and a second historical phase in which the target user executed the task corresponding to that candidate task type based on the target user's task logs for that candidate task type; and determining the target user's recommendation score for that candidate task type based on the number of times the target user executed the task corresponding to that candidate task type per unit time in the first historical phase and the number of times the target user executed the task corresponding to that candidate task type per unit time in the second historical phase.

[0015] Optionally, based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical period, a recommendation score for the candidate task type is determined. Specifically, this includes: for each unit time in the first historical period, based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period and the weight corresponding to that unit time in the first historical period, determining the recommendation score corresponding to the task corresponding to the candidate task type per unit time in the first historical period. The further away from the current time, the smaller the weight of that unit of time within the first historical period; for each unit of time within the second historical period, based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time in the second historical period, and the weight corresponding to that unit of time within the second historical period, the recommendation score corresponding to the candidate task type within that unit of time in the second historical period is determined; based on the recommendation score corresponding to the candidate task type within each unit of time in the first historical period, and the recommendation score corresponding to the candidate task type within each unit of time in the second historical period, the recommendation score for the target user for that candidate task type is determined.

[0016] Optionally, a recommendation score for the candidate task type is determined based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical period. Specifically, this includes: determining an initial score for the candidate task type based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical period; determining the similarity between the target user and other users based on the initial score for the candidate task type and the initial scores of other users for the candidate task type; and determining a recommendation score for the target user for the candidate task type based on the similarity between the target user and other users and the initial scores of other users for the candidate task type.

[0017] Optionally, based on the initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type, the similarity between the target user and other users is determined. Specifically, this includes: determining the average of the initial scores of the target user for each task type as a first average; for each other user, determining the average of the initial scores of that other user for each task type as a second average; and determining the similarity between the target user and the other users based on the first average, the second average, the initial score of the target user for the candidate task type, and the initial scores of the other users for the candidate task type.

[0018] Optionally, based on the initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type, the similarity between the target user and other users is determined. Specifically, this includes: determining the average of the initial scores of the target user for each candidate task type as a third average; normalizing the initial score of the target user for the candidate task type based on the third average to obtain a normalized initial score; and determining the similarity between the target user and other users based on the normalized initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type.

[0019] Optionally, based on the task logs of the target user for the corresponding task of the candidate task type, a recommendation score for the target user for that candidate task type is determined. Specifically, this includes: determining a base score for the candidate task type based on the task logs of the target user for the corresponding task of the candidate task type; and determining a recommendation score for the target user for that candidate task type based on the base score and a pre-determined retention score for the target user for that candidate task type.

[0020] Optionally, the retention score of the target user for the candidate task type is predetermined, specifically including: determining the retention score of the target user for the candidate task type based on the task logs of the target user for the corresponding task of the candidate task type and the return visit probability of the target user for the corresponding task of the candidate task type.

[0021] Optionally, based on the target user's recommendation score for the at least one candidate task type, a recommended task type is selected from the at least one candidate task type. Specifically, this includes selecting the candidate task type with the highest recommendation score from the at least one candidate task type as the recommended task type.

[0022] Optionally, each task type can be pre-divided into different task stages, specifically including: for each task type, obtaining the number of times each user has executed the corresponding task for that task type in history and the user retention rate corresponding to that task type; fitting a retention characteristic curve based on the number of times each user has executed the corresponding task for that task type and the user retention rate; and dividing the task type into different task stages based on the retention characteristic curve.

[0023] Optionally, based on the retention characteristic curve, the task type is divided into different task stages, specifically including: determining each dividing point based on the slope of each point in the retention characteristic curve; and dividing the task type into different task stages based on the dividing points.

[0024] This specification provides a task recommendation device, comprising:

[0025] The user identification module is used to identify target users;

[0026] The task determination module is used to determine at least one candidate task type corresponding to the target user based on the user profile of the target user;

[0027] The score determination module is used to determine the recommended score of the target user for each candidate task type based on the task logs of the target user for the corresponding task of that candidate task type.

[0028] The selection module is used to select a recommended task type from the at least one candidate task type based on the recommendation score of the target user for the at least one candidate task type;

[0029] The task stage determination module is used to determine the task stage in which the target user is for the recommended task type based on the pre-divided task stages for each task type, and to use this as the target stage.

[0030] The recommendation module is used to recommend tasks to the target user based on the target stage.

[0031] This specification provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the recommended method for the tasks described above.

[0032] This specification provides an electronic device including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to perform the recommended method for the tasks described above.

[0033] The above-described at least one technical solution adopted in the embodiments of this specification can achieve the following beneficial effects:

[0034] First, identify the target user. Based on the user profile of the target user, identify at least one candidate task type corresponding to the target user. For each candidate task type, based on the task logs of the target user for the corresponding task of that candidate task type, determine the recommendation score of the target user for that candidate task type. Based on the recommendation score of the target user for at least one candidate task type, select a recommended task type from at least one candidate task type. Based on the task stages pre-divided for each task type, determine the task stage that the target user is in for the recommended task type, which is taken as the target stage. Recommend the task corresponding to the target stage as the recommended task to the target user.

[0035] This specification's embodiments, for each target user, determine the recommended task type for that target user from candidate task types matching that user by assigning a recommendation score. Then, it identifies the task at the appropriate task stage from pre-defined task stages for each task type and recommends that task to the target user. Tasks recommended in this way better meet the target user's current behavioral intentions, increasing their engagement and thus improving user retention. Attached Figure Description

[0036] The accompanying drawings, which are included to provide a further understanding of this specification and form part of this specification, illustrate exemplary embodiments and are used to explain this specification, but do not constitute an undue limitation thereof. In the drawings:

[0037] Figure 1 This document provides a flowchart illustrating a task recommendation method.

[0038] Figure 2A , 2B This is a schematic diagram illustrating the division of each task stage based on the fitted retention characteristic curve provided in this specification.

[0039] Figure 3 A schematic diagram of a task recommendation device provided in this specification;

[0040] Figure 4 This is a schematic diagram of the electronic device provided in this specification. Detailed Implementation

[0041] To make the objectives, technical solutions, and advantages of this specification clearer, the technical solutions of this specification will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this specification, and not all of them. Based on the embodiments in this specification, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this specification.

[0042] The technical solutions provided in the various embodiments of this specification are described in detail below with reference to the accompanying drawings.

[0043] Figure 1 This specification provides a flowchart illustrating a task recommendation method according to an embodiment of the present invention. The flowchart includes:

[0044] S100: Identify the target user.

[0045] When a user launches an application or sends a business request, that user can be identified as a target user. In this specification, the entity that determines the target user can be the server; that is, the server decides what tasks to recommend to the target user based on relevant information about the target user. The specific recommendation method will be described in detail below.

[0046] S102: Based on the user profile of the target user, determine at least one candidate task type corresponding to the target user.

[0047] In practical applications, there can be various task types, such as commenting, sharing, liking, purchasing, and saving. Among these task types, some are of interest to the target user, while others are not. Therefore, the server needs to select the task types that the target user is interested in from the numerous task types available.

[0048] Therefore, once the server identifies the target user, it can retrieve the target user's user profile. This user profile represents the user's information, behavioral preferences, etc., such as the target user's username, historical behavior information, age, city, terminal device type, and user preferences. The server can use this user profile to determine at least one candidate task type corresponding to the target user. That is, based on the target user's actual situation and behavioral habits, the server determines a task type suitable for the target user.

[0049] There are several specific methods for determining candidate task types based on the target user's user profile. For example, if the target user's engagement and satisfaction are higher when recommended tasks of a particular candidate task type based on their behavior logs, then those task types can be considered candidate task types. Another example is that for each task type, if the target user has performed tasks of that type more than a set number of times over a past period, then that task type is identified as a candidate task type. Other methods will not be detailed here.

[0050] S104: For each candidate task type, determine the target user's recommendation score for that candidate task type based on the target user's task logs for the corresponding task of that candidate task type.

[0051] After identifying the candidate task types, the server needs to further determine the recommended task types from these candidate types, and then recommend the tasks corresponding to the recommended task types to the user in subsequent processes. Specifically, the server can determine a recommendation score for each candidate task type, and then determine the recommended task type based on these recommendation scores.

[0052] Specifically, in this specification, the server can, for each candidate task type, determine the first and second historical phases of the target user's execution of the task corresponding to that candidate task type based on the target user's task logs. The first and second historical phases mentioned here are mainly divided into the more recent historical phase and the more distant historical phase. The more recent historical phase reflects the target user's recent behavioral characteristics, while the more distant historical phase reflects the target user's past behavioral characteristics.

[0053] For the first historical phase, the server can determine the recommendation score for each unit of time within that phase, based on the number of times the target user executed the task corresponding to that candidate task type within that unit of time, and the weight assigned to that unit of time within the first historical phase. Here, the first historical phase can reflect a historical period relatively distant from the present. For each unit of time within that first historical phase, the further away the unit of time is from the present, the smaller its weight, and vice versa.

[0054] This shows that the further away from the current time, the less relevant the target user's historical behavior is to the target user's current behavior. Therefore, the further away the unit time in the first historical stage is from the current time, the smaller the corresponding weight.

[0055] For the second historical phase, the server can determine the recommendation score for each unit of time within the second historical phase based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time, and the weight corresponding to that unit of time within the second historical phase. Here, the second historical phase refers to the historical phase most recent to the present.

[0056] Then, the server can determine the target user's recommendation score for that candidate task type based on the recommendation score for each unit of time in the first historical phase and the recommendation score for each unit of time in the second historical phase. The specific calculation formula for determining the target user's recommendation score for that candidate task type can be found below:

[0057]

[0058] In this formula, p k p represents the recommendation score for the target user for the candidate task type k; i This indicates the number of times the target user executes the task corresponding to this candidate task type per unit time i within the first historical phase; This represents the weight corresponding to unit time i within the first historical stage; O j θ represents the number of times the target user executes the task corresponding to this candidate task type per unit time j within the second historical phase; j I represents the weight corresponding to unit time j within the second historical stage; I represents all unit times within the first historical stage; J represents all unit times within the second historical stage.

[0059] As can be seen from the formula above, the weight corresponding to unit time i in the first historical stage is a time decay function, meaning that the further away from the current time, the lower the weight value, and the smaller the impact on user behavior at the current time. The weight corresponding to unit time j in the second historical stage can be called the real-time behavior coefficient (not referring to the current time, but to a time closer to the current time). In this specification, the weight corresponding to each unit time in the second historical stage can be a fixed value determined by the user.

[0060] Using the formula above, the following example illustrates the specific process by which the server determines the recommendation score for a candidate task type. For instance, when determining the recommendation score for user a (i.e., the target user) for candidate task type k (e.g., a transaction type), the server can determine the first and second historical phases of user a's execution of the corresponding transaction task based on the task logs for that transaction type. Assuming the past 7 days are used as an example, the first historical phase is divided into: days 2 to 7 from the current time; the second historical phase is divided into: day 1 from the current time (i.e., yesterday). Therefore, the formula for calculating the recommendation score for user a for the corresponding task of that transaction type can be:

[0061]

[0062] Where I represents the 2nd to 7th day from the current time, and J represents the 1st day from the current time.

[0063] It should be noted that the time boundaries for the first and second historical stages described above can be adjusted in real time according to the actual needs of different scenarios, and the embodiments in this specification do not impose any restrictions on this. Furthermore, the units of time in the first historical stage can be divided using multiple time units. For example, the units of time in the first historical stage can be divided using days or weeks. Similarly, the units of time in the second historical stage can also be divided using multiple time units. However, the first and second historical stages should be divided using the same time unit. For example, if the units of time in the first historical stage are divided using days, the units of time in the second historical stage should also be divided using days.

[0064] In determining the recommended score, the above only divides the target user's task log into two historical phases. However, this specification is not limited to just two historical phases; using two historical phases as an example is merely for ease of description. Of course, it can also include a third historical phase, a fourth historical phase, etc., and this specification does not impose any restrictions on this. Correspondingly, if a third historical phase and a fourth historical phase are included, then for the third historical phase and the fourth historical phase, a weight will be assigned to each unit of time in each of the third and fourth historical phases. The method of setting the weights can be adjusted according to different scenarios, and this specification's embodiment does not impose any restrictions on this.

[0065] In this specification, for each candidate task type, the server can first determine an initial score for that candidate task type, and then, based on that initial score and the similarity between the target user and other users, determine a recommended score for that candidate task type. Specifically, for each candidate task type, the server can determine the first and second historical phases of the target user's execution of the corresponding task for that candidate task type based on the target user's task logs. Furthermore, based on the number of times the target user executes the corresponding task for that candidate task type per unit time in the first historical phase and the number of times the target user executes the corresponding task for that candidate task type per unit time in the second historical phase, the server determines the target user's initial score for that candidate task type.

[0066] In other words, the above method does not directly determine the recommended score for the candidate task type, but rather first determines an initial score. The method used to determine this initial score is the same as the method used to directly determine the recommended score for the candidate task type, and will not be elaborated further here.

[0067] In this way, the server can determine the target user's initial score for each task type, and further determine the average of the target user's initial scores for each task type as the first average. At the same time, for each other user, the server can determine the average of that other user's initial scores for each task type as the second average. Then, based on the first average, the second average, the target user's initial score for the candidate task type, and the other users' initial scores for the candidate task type, the similarity between the target user and the other users can be determined.

[0068] It should be noted that "other users" in this specification refers to some or all users other than the target user. In specific application scenarios, considering that selecting all users would place a significant burden on the server, a group of users with user profiles similar to the target user can be initially selected as the "other users" mentioned here. For each other user, the server determines their initial score for each task type in the same way as the server determines the target user's recommended score for that candidate task type, and this will not be repeated here.

[0069] In this specification, the server may specifically use the following calculation formula to determine the similarity between the target user and other users:

[0070]

[0071] Where sim(m,n) represents the similarity between target user m and other users n; p mk This represents the initial score of the target user m determined by the server for this candidate task type; p represents the average of the initial scores of the target user m determined by the server for each task type, i.e., the first average score; nk This represents the initial score of other users n for this candidate task type, as determined by the server. This represents the average of the initial scores of other users n for each task type, as determined by the server, i.e., the second average; k represents the specific task type, and K represents each task type.

[0072] It should be noted that the "task types" mentioned here can refer to all task types, that is, not only the candidate task types identified above, but also other task types. Of course, the "task types" mentioned here can also refer to the candidate task types identified by the server above.

[0073] In this specification, before determining the similarity between the target user and other users, the server may first normalize the determined initial score and then determine the similarity between the target user and other users based on the normalized initial score.

[0074] Specifically, the server can determine the average of the target user's initial scores for each candidate task type as a third average, and normalize the target user's initial scores for that candidate task type based on the third average to obtain a normalized initial score. Then, the server can determine the similarity between the target user and other users based on the target user's normalized initial score for that candidate task type and the initial scores of other users for that candidate task type.

[0075] When normalizing the initial scores of target users for this candidate task type, the following calculation formula can be used as a reference:

[0076]

[0077] Where f(x) represents the normalized initial score; x represents the target user's initial score for this candidate task type; This represents the average of the initial scores of the target users for each candidate task type, i.e., the third average, σ. x This represents the determined standard deviation.

[0078] In this specification, the server can determine the recommended score for the target user for a given candidate task type based on the similarity between the target user and other users, and the initial scores of other users for that candidate task type. The specific determination method can be found in the calculation formula below:

[0079]

[0080] Where P k Let represent the recommendation score of the identified target user m for this candidate task type, sim(m,n) represent the similarity between target user m and other users n, and p nk This represents the initial score of other users n for this candidate task type, and N represents all other users selected.

[0081] As can be seen from the formula above, determining the target user's recommendation score for a candidate task type in this way is not based directly on the target user's initial score for that candidate task type, but rather on the initial scores of other users for that candidate task type and the similarity between the target user and other users. In other words, the recommendation score for the target user determined by the server is actually represented by the initial scores of other users for that candidate task type.

[0082] The purpose of this approach is to consider that the target user's behavior at any given moment may not be similar to their historical behavior. Therefore, the recommendation score for the target user for this candidate task type can be determined by analyzing the historical behavior of other users with similar user profiles. This method of determining the recommendation score not only reflects the target user's level of interest in the candidate task type but also the level of interest of other users (or user groups) with similar user profiles in the same category.

[0083] To further ensure the accuracy of the determined recommendation score, in this specification, the server can determine the base score of the candidate task type based on the task logs of the target user for the corresponding task, and determine the recommendation score of the target user for the candidate task type based on the base score and the pre-determined retention score of the target user for the corresponding candidate task type.

[0084] As described in the aforementioned instruction manual, the server can determine the recommended score in roughly two ways: one is to directly determine the recommended score based on the first and second historical stages; the other is to first determine the initial score and then determine the recommended score. Therefore, the method for determining the base score mentioned here can also be twofold: either the same method as the first method described above, or the same method as the second method described above.

[0085] In this specification, the server needs to pre-determine the retention score of the target user for the corresponding candidate task type. Specifically, the server can determine the retention score of the target user for the corresponding candidate task type based on the task logs of the target user for that candidate task type and the probability of the target user returning to the corresponding candidate task type. The higher the probability of the target user returning to the corresponding candidate task type, the higher the retention score for that candidate task type.

[0086] Regarding the aforementioned return visit probability, the server can determine the number of times the target user executed the task corresponding to that candidate task type within a past period based on the target user's task logs. The return visit probability is then determined based on this execution count. Specifically, the execution count is positively correlated with the return visit probability; that is, the higher the number of times the target user executes the task corresponding to that candidate task type as determined by the server, the higher the return visit probability, and vice versa.

[0087] After determining the probability of a target user revisiting a task corresponding to a candidate task type, a preset logistic regression model can be used to determine the retention score for that candidate task type. A higher retention score indicates a higher probability that the target user will execute the task corresponding to that candidate task type, and vice versa.

[0088] In this specification, the server can determine the recommended score using the following calculation formula:

[0089] f(k)=0.5*p k +0.4*q k +0.1*rk

[0090] In this formula, f(k) represents the recommendation score for the target user for this candidate task type, and p k q represents the baseline score of the identified target user for this candidate task type. k r represents the retention score of the identified target user for this candidate task type. k This represents the recommended parameters determined by the administrator for this candidate task type.

[0091] This shows that the server actually determines the recommendation score by comprehensively considering the target user's historical behavior and the target user's retention rate for the tasks corresponding to the candidate task type. Therefore, determining the recommendation score in the above way not only takes into account the target user's historical behavior, but also takes into account the target user's recent actual performance on the tasks corresponding to the candidate task type. Thus, the accuracy of the determined recommendation score can be effectively guaranteed.

[0092] S106: Select a recommended task type from at least one candidate task type based on the target user's recommendation score for at least one candidate task type.

[0093] After determining the recommendation score for each candidate task type, the server can select the candidate task type with the highest recommendation score from at least one candidate task type as the recommended task type. For any candidate task type, the higher the recommendation score, the higher the match between the task corresponding to that candidate task type and the target user; in other words, the more the task corresponding to that candidate task type matches the target user's interests and tastes.

[0094] S108: Based on the pre-defined task stages for each task type, determine the task stage that the target user is in for the recommended task type, and use it as the target stage.

[0095] For each task type, the server has pre-divided the task into stages. Therefore, after determining the recommended task type for the target user, the current task stage of the target user in each task stage corresponding to the recommended task type can be determined as the target stage. Then, in the subsequent process, task recommendations are made to the target user based on the target stage.

[0096] Specifically, for each task type, when the server divides the task type into different stages, it can obtain the number of times each user has executed the corresponding task for that task type in history, as well as the user retention rate for that task type. Based on the number of times each user has executed the corresponding task for that task type and the user retention rate, the server can fit a retention characteristic curve for that task type.

[0097] The historical execution counts of each user for the corresponding task type mentioned above refer to the total historical execution counts of all users for the corresponding task type. In determining the retention characteristic curve, the execution counts of each user for the corresponding task type can be used as the x-axis, and the user retention rate as the y-axis. Multiple coordinate points are obtained using historically known data for both axes. These coordinate points can then be fitted using a preset method to obtain the fitted retention characteristic curve. The server can determine the dividing points based on the slope of each point in the retention characteristic curve, and then divide the task type into different stages based on these dividing points, such as... Figure 2A , 2B As shown.

[0098] Figure 2A , 2B This is a schematic diagram illustrating the division of each task stage based on the fitted retention characteristic curve provided in this specification.

[0099] from Figure 2A As can be seen, the server obtained the coordinate points based on the historical execution frequency and retention rate of each user for this task type. These coordinate points conform to a certain distribution pattern. Therefore, the server can perform curve fitting on these coordinate points to obtain, as shown... Figure 2B The retention characteristic curve shown.

[0100] In obtaining Figure 2B After displaying the retention characteristic curve, the server can further determine the slope of each point on the curve, and then identify the points where the slope changes significantly, as the dividing points (i.e., Figure 2B (The gray dots in the graph). In other words, the server actually needs to identify some dividing points on the retention characteristic curve where the slope changes beyond a preset level, and then use these dividing points to divide the retention characteristic curve to obtain the various task stages for this task type.

[0101] Since the aforementioned retention characteristic curves are determined using historical data from all users, the task stages defined for this task type are applicable to all users. Furthermore, each task stage can be configured manually. In other words, for the same task type, the tasks corresponding to different task stages are different.

[0102] S110: Based on the target stage, recommend tasks to the target user.

[0103] After determining the current task stage (i.e., the target stage) of the recommended task type for the target user, the server can recommend tasks corresponding to that target stage to the user. Of course, to further encourage active user participation in task execution, the server can also recommend tasks corresponding to the next task stage following the target stage within the recommended task type.

[0104] It should be noted that the server can also first determine the target user's current task stage for each candidate task type, as well as the tasks corresponding to each stage. Then, it calculates the recommendation score for each candidate task type and selects the one with the highest score as the recommended task type. Finally, it recommends the task corresponding to the target user's current task stage for that recommended task type to the user. This method differs slightly in the execution order of some steps from the method described above, but it achieves the same goal of recommending a more suitable task to the user at the current moment.

[0105] This manual presents candidate task types for each target user using a recommendation score to determine the recommended task type for that user. It then identifies the task at the appropriate stage from pre-defined task stages for each task type and recommends that task to the target user. This manual recommends tasks to the target user based on mixed intent (including the target user's intent as well as the intents of other users similar to the target user). It considers multiple dimensions such as user profile, user retention rate, historical task logs of the target user and other users, task stage, and human intervention. Tasks recommended in this way better meet the target user's current behavioral intent, optimize user experience, increase user engagement, and ultimately improve user retention.

[0106] The above are the task recommendation methods provided in the embodiments of this specification. Based on the same idea, this specification also provides corresponding devices, storage media and electronic devices.

[0107] Figure 3 This is a schematic diagram of a task recommendation device provided in an embodiment of this specification. The device includes:

[0108] User identification module 200 is used to identify the target user;

[0109] The task determination module 202 is used to determine at least one candidate task type corresponding to the target user based on the user profile of the target user;

[0110] The score determination module 204 is used to determine the recommended score of the target user for each candidate task type based on the task log of the target user for the corresponding task of the candidate task type.

[0111] Selection module 206 is used to select a recommended task type from the at least one candidate task type based on the recommendation score of the target user for the at least one candidate task type;

[0112] The task stage determination module 208 is used to determine the task stage in which the target user is for the recommended task type based on the pre-divided task stages for each task type, and to use this as the target stage.

[0113] The recommendation module 210 is used to recommend tasks to the target user based on the target stage.

[0114] Optionally, the score determination module 204 is specifically used to, for each candidate task type, determine the first historical stage and the second historical stage of the target user's execution of the task corresponding to the candidate task type based on the task log of the target user for the corresponding task of the candidate task type; and determine the recommended score of the target user for the candidate task type based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical stage and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical stage.

[0115] Optionally, the score determination module 204 is further configured to, for each unit of time within the first historical period, determine the recommended score corresponding to the candidate task type within that unit of time within the first historical period, based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time within the first historical period, and the weight corresponding to that unit of time within the first historical period, wherein the further away that unit of time within the first historical period is from the current time, the smaller the weight corresponding to that unit of time within the first historical period; for each unit of time within the second historical period, determine the recommended score corresponding to the candidate task type within that unit of time within the second historical period, based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time within the second historical period, and the weight corresponding to that unit of time within the second historical period; and determine the recommended score for the target user for that candidate task type based on the recommended score corresponding to the candidate task type for each unit of time within the first historical period and the recommended score corresponding to the candidate task type for each unit of time within the second historical period.

[0116] Optionally, the score determination module 204 is further configured to: determine the initial score of the target user for the candidate task type based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical phase and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical phase; determine the similarity between the target user and other users based on the initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type; and determine the recommended score of the target user for the candidate task type based on the similarity between the target user and other users and the initial scores of other users for the candidate task type.

[0117] Optionally, the score determination module 204 is further configured to determine the average of the initial scores of the target user for each task type as a first average; for each other user, determine the average of the initial scores of that other user for each task type as a second average; and determine the similarity between the target user and the other user based on the first average, the second average, the initial score of the target user for the candidate task type, and the initial score of the other user for the candidate task type.

[0118] Optionally, the score determination module 204 is further configured to determine the average of the initial scores of the target user for each candidate task type as a third average; normalize the initial scores of the target user for the candidate task type according to the third average to obtain a normalized initial score; and determine the similarity between the target user and each other user according to the normalized initial score of the target user for the candidate task type and the initial scores of each other user for the candidate task type.

[0119] Optionally, the score determination module 204 is further configured to determine the basic score of the candidate task type based on the task log of the target user for the corresponding task of the candidate task type; and to determine the recommendation score of the target user for the candidate task type based on the basic score and the retention score of the target user for the candidate task type that has been predetermined.

[0120] Optionally, the score determination module 204 is further configured to determine the retention score of the target user for the candidate task type based on the task log of the target user for the task corresponding to the candidate task type and the return probability of the target user for the task corresponding to the candidate task type.

[0121] Optionally, the selection and determination module 206 is specifically used to select the candidate task type with the highest recommendation score from the at least one candidate task type as the recommended task type.

[0122] Optionally, the task stage determination module 208 is specifically used to obtain, for each task type, the number of times each user has executed the corresponding task for that task type in history and the user retention rate corresponding to that task type; fit a retention characteristic curve based on the number of times each user has executed the corresponding task for that task type and the user retention rate; and divide the task type into different task stages based on the retention characteristic curve.

[0123] Optionally, the task stage determination module 208 is further configured to determine each dividing point based on the slope of each point in the retention characteristic curve; and to divide each task stage of the task type based on the dividing points.

[0124] This specification also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can be used to perform the above-described actions. Figure 1 This provides a method for task recommendation.

[0125] based on Figure 1 The method for task recommendation shown in this specification also provides, in the embodiments, a method for task recommendation. Figure 4 The diagram shows the structure of the electronic device. Figure 4 At the hardware level, this electronic device includes a processor, internal bus, network interface, memory, and non-volatile memory, and may also include other hardware required for business operations. The processor reads the corresponding computer program from the non-volatile memory into memory and then executes it to achieve the above. Figure 1 The method for task recommendation described above.

[0126] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of hardware and software. In other words, the execution subject of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0127] In the 1990s, improvements to a technology could be clearly distinguished as either hardware improvements (e.g., improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the methodology). However, with technological advancements, many methodological improvements today can be considered direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved methodology into the hardware circuit. Therefore, it cannot be said that a methodological improvement cannot be implemented using hardware physical modules. For example, a Programmable Logic Device (PLD) (such as a Field Programmable Gate Array (FPGA)) is such an integrated circuit whose logic function is determined by the user programming the device. Designers can program and "integrate" a digital system onto a PLD themselves, without needing chip manufacturers to design and manufacture dedicated integrated circuit chips. Furthermore, nowadays, instead of manually manufacturing integrated circuit chips, this programming is mostly implemented using "logic compiler" software. Similar to the software compiler used in program development, the original code before compilation must be written in a specific programming language, called a Hardware Description Language (HDL). There are many HDLs, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, and RHDL (Ruby Hardware Description Language). Currently, the most commonly used are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should understand that by simply performing some logic programming on the method flow using one of these hardware description languages ​​and programming it into an integrated circuit, the hardware circuit implementing the logical method flow can be easily obtained.

[0128] The controller can be implemented in any suitable manner. For example, it can take the form of a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro)processor, logic gates, switches, application-specific integrated circuits (ASICs), programmable logic controllers, and embedded microcontrollers. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicon Labs C8051F320. A memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art will also recognize that, in addition to implementing the controller in purely computer-readable program code form, the same functionality can be achieved by logically programming the method steps to make the controller take the form of logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded microcontrollers. Therefore, such a controller can be considered a hardware component, and the means included therein for implementing various functions can also be considered as structures within the hardware component. Alternatively, the means for implementing various functions can be considered as both software modules implementing the method and structures within the hardware component.

[0129] The systems, devices, modules, or units described in the above embodiments can be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, a computer can be, for example, a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email device, game console, tablet computer, wearable device, or any combination of these devices.

[0130] For ease of description, the above devices are described in terms of function, divided into various units. Of course, in implementing this specification, the functions of each unit can be implemented in one or more software and / or hardware components.

[0131] Those skilled in the art will understand that embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0132] This specification is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this specification. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create a machine for implementing the flowchart illustrations and / or block diagrams. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0133] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0134] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0135] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0136] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0137] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0138] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0139] Those skilled in the art will understand that the embodiments of this specification can be provided as methods, systems, or computer program products. Therefore, this specification may take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this specification may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0140] This specification can be described in the general context of computer-executable instructions that are executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc., that perform a specific task or implement a specific abstract data type. This specification can also be practiced in distributed computing environments, where tasks are performed by remote processing devices connected via a communication network. In distributed computing environments, program modules can reside in local and remote computer storage media, including storage devices.

[0141] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to interchangeably. Each embodiment focuses on describing the differences from other embodiments. In particular, the system embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0142] The above description is merely an embodiment of this specification and is not intended to limit this specification. Various modifications and variations can be made to this specification by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this specification should be included within the scope of the claims of this specification.

Claims

1. A method for task recommendation, characterized in that, include: Identify target users; Based on the user profile of the target user, at least one candidate task type corresponding to the target user is determined; For each candidate task type, a recommendation score for the target user for that candidate task type is determined based on the task logs of the target user for the corresponding task of that candidate task type. Based on the recommendation scores of the target user for the at least one candidate task type, a recommended task type is selected from the at least one candidate task type; Based on the pre-defined task stages for each task type, the task stage in which the target user is located for the recommended task type is determined, and this stage is taken as the target stage. Based on the target stage, task recommendations are made to the target users.

2. The method as described in claim 1, characterized in that, For each candidate task type, based on the target user's task logs for the corresponding task of that candidate task type, a recommendation score for that candidate task type is determined, specifically including: For each candidate task type, based on the task logs of the target user for the corresponding task of that candidate task type, determine the first historical stage and the second historical stage of the target user's execution of the task corresponding to that candidate task type. The recommendation score for the candidate task type is determined based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical phase and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical phase.

3. The method as described in claim 2, characterized in that, Based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period, and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical period, a recommendation score for the target user for the candidate task type is determined, specifically including: For each unit of time within the first historical period, the recommendation score corresponding to the candidate task type is determined based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time within the first historical period, and the weight corresponding to that unit of time within the first historical period. The further away that unit of time within the first historical period is from the current time, the smaller the weight corresponding to that unit of time within the first historical period. For each unit of time within the second historical phase, the recommendation score corresponding to the candidate task type is determined based on the number of times the target user executes the task corresponding to the candidate task type within that unit of time in the second historical phase, and the weight corresponding to that unit of time in the second historical phase. The recommendation score for the target user for the candidate task type is determined based on the recommendation score of the corresponding task in each unit of time during the first historical period and the recommendation score of the corresponding task in each unit of time during the second historical period.

4. The method as described in claim 2, characterized in that, Based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical period, and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical period, a recommendation score for the target user for the candidate task type is determined, specifically including: The initial score of the target user for the candidate task type is determined based on the number of times the target user executes the task corresponding to the candidate task type per unit time in the first historical phase and the number of times the target user executes the task corresponding to the candidate task type per unit time in the second historical phase. Based on the initial score of the target user for the candidate task type and the initial scores of each other user for the candidate task type, the similarity between the target user and each other user is determined. Based on the similarity between the target user and other users, and the initial scores of the other users for the candidate task type, the recommended score of the target user for the candidate task type is determined.

5. The method as described in claim 4, characterized in that, Based on the initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type, the similarity between the target user and other users is determined, specifically including: The average of the initial scores of the target user for each task type is determined as the first average. For each other user, determine the average of that other user's initial scores for each task type as a second average; The similarity between the target user and the other user is determined based on the first average value, the second average value, the target user's initial score for the candidate task type, and the other user's initial score for the candidate task type.

6. The method as described in claim 4, characterized in that, Based on the initial score of the target user for the candidate task type and the initial scores of other users for the candidate task type, the similarity between the target user and other users is determined, specifically including: The average of the initial scores of the target user for each candidate task type is determined as the third average. Based on the third average value, the initial score of the target user for this candidate task type is normalized to obtain a normalized initial score; The similarity between the target user and each of the other users is determined based on the normalized initial score of the target user for the candidate task type and the initial scores of each of the other users for the candidate task type.

7. The method according to any one of claims 1 to 6, characterized in that, Based on the task logs of the target user for the corresponding task of the candidate task type, the recommendation score of the target user for the candidate task type is determined, specifically including: Based on the task logs of the target user for the corresponding task of the candidate task type, determine the basic score of the candidate task type; Based on the base score and the pre-determined retention score of the target user for the candidate task type, the recommendation score of the target user for the candidate task type is determined.

8. The method as described in claim 7, characterized in that, Pre-determining the retention score of the target user for the candidate task type specifically includes: Based on the target user's task logs for the corresponding task of the candidate task type and the target user's return visit probability for the corresponding task of the candidate task type, the retention score of the target user for the candidate task type is determined.

9. The method as described in claim 1, characterized in that, Based on the recommendation scores of the target user for the at least one candidate task type, a recommended task type is selected from the at least one candidate task type, specifically including: From the at least one candidate task type, select the candidate task type with the highest recommendation score as the recommended task type.

10. The method as described in claim 1, characterized in that, Pre-divide each task type into different stages, specifically including: For each task type, obtain the historical number of times each user executed the corresponding task for that task type and the user retention rate for that task type; Based on the number of times each user executes the task corresponding to this task type and the user retention rate, a retention characteristic curve is fitted; Based on the retention characteristic curve, the task stages of this task type are divided.

11. The method as described in claim 10, characterized in that, Based on the retention characteristic curve, the task types are divided into different stages, specifically including: The division points are determined based on the slope of each point in the retention characteristic curve. Based on the aforementioned dividing points, the task types are divided into different task stages.

12. A task recommendation device, characterized in that, include: The user identification module is used to identify target users; The task determination module is used to determine at least one candidate task type corresponding to the target user based on the user profile of the target user; The score determination module is used to determine the recommended score of the target user for each candidate task type based on the task logs of the target user for the corresponding task of that candidate task type. The selection and determination module is used to select a recommended task type from the at least one candidate task type based on the recommendation score of the target user for the at least one candidate task type; The task stage determination module is used to determine the task stage in which the target user is for the recommended task type based on the pre-divided task stages for each task type, and to use this as the target stage. The recommendation module is used to recommend tasks to the target user based on the target stage.

13. A computer-readable storage medium, characterized in that, The storage medium stores a computer program, which, when executed by a processor, implements the method described in any one of claims 1-11.

14. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the program, it implements the method described in any one of claims 1-11.

Citation Information

Patent Citations

  • Information scoring method and device and storage medium

    CN107729542A

  • Task display method, terminal, server and medium

    CN110399197A