Recommendation system, recommendation method, device, and computer-readable medium
By introducing preset field pools and dynamically adjusted recall and sorting models in the recommendation system, the problem that existing recommendation platforms cannot achieve universality is solved, and system universality and flexibility between different recommendation services are achieved.
Patent Information
- Application Number
- CN202111671366.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-31
- Publication Date
- 2025-04-22
- Estimated Expiration
- 2041-12-31
AI Technical Summary
The existing recommendation platforms cannot achieve true universality, and the recommendation systems between each recommendation service are not universal, resulting in the need to construct a unique recommendation system separately for each recommendation service, which is relatively expensive.
Provide a recommendation system, including a recommendation server, a recall server and a sorting server, extract feature data through a preset field pool, select matching recall and sorting models for processing, and generate recommendation results. The system can dynamically adjust recommendation strategies and models according to the needs of different business parties to achieve recommendations across business fields.
It realizes the universality of recommendation systems between different recommendation services, reduces the cost of building and maintaining recommendation systems, and improves the flexibility and adaptability of recommendation systems.
Smart Images

Figure CN114297505B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of intelligent recommendation technology, and in particular to a recommendation system and recommendation method, device, and computer-readable medium. Background Art
[0002] Since the beginning of the 21st century, artificial intelligence has gradually penetrated into various fields of Internet business. The intelligent recommendation algorithms developed in the recommendation direction have played a pivotal role in e-commerce, news, social networking and other industries. The most important feature of the recommendation algorithm is personalization, which digs out items that users may like from data (attributes, behaviors) and recommends them to users. Recommendation has a direct relationship with data. For different projects, the data is unique to the project and cannot be used universally between projects; even for different recommendation businesses of the same project (such as product recommendations and friend recommendations), although the data can be used universally, not all feature fields are helpful for recommendation, and the valid fields used for recommendation are still different.
[0003] At present, in the relevant technology, for different recommendation businesses, it is common to build a set of proprietary recommendation systems for each business to implement specific recommendation services, and the recommendation systems between different recommendation businesses are not universal. Some companies will provide personalized recommendation services for other industries that need recommendations through their own recommendation platforms, but this platform is only semi-universal. Basically, it still needs to be divided into several major types of recommendations such as e-commerce, news, content, and social networking, and multiple recommendation systems have been developed. The recommendation services in each type are generally similar and can be recommended using a common process, but the differences between the types are large and cannot be universal. Therefore, constructing a unique recommendation system for each recommendation business will consume a lot of manpower and material resources and be costly. A semi-universal recommendation platform needs to be divided into types according to the recommendation business, and a relatively general recommendation system is built for each type. The differences between the types are large, and a truly universal recommendation platform cannot be achieved.
[0004] There is currently no effective solution to the problem that recommendation platforms cannot be used universally. Summary of the invention
[0005] The present application provides a recommendation system and recommendation method, device, and computer-readable medium to solve the technical problem that recommendation platforms cannot be universal.
[0006] According to one aspect of an embodiment of the present application, the present application provides a recommendation system, including:
[0007] The recommendation server is used to, upon receiving a recommendation request for a target object sent by a target business party, determine a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extract feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located;
[0008] The recall server is used to select a target recall model that matches the target recommendation strategy from multiple recall models, and use the feature data as input data of the target recall model to perform recall processing to obtain a recall result;
[0009] A sorting server is used to select a target sorting model that matches the target recommendation strategy from multiple sorting models, and use the recall result as input data of the target sorting model to perform sorting processing to obtain a sorting result;
[0010] The recommendation server is also used to determine the recommendation result from the sorting result and return the recommendation result to the target business party.
[0011] Optionally, the recommendation server is specifically used for:
[0012] Extracting a business party identification identifier of the target business party from the recommendation request, wherein the business party identification identifier is configured by the recommendation server for the target business party when the target business party first accesses the recommendation system;
[0013] Obtaining a preset recommended configuration stored in a mapping with a business party identification identifier;
[0014] Determine a user diversion strategy and multiple recommendation strategies that match the target business party according to the preset recommendation configuration; and
[0015] The user diversion strategy is used to determine the target recommendation strategy for the target object from multiple recommendation strategies.
[0016] Optionally, the recommendation server is specifically used for:
[0017] In the case where it is determined according to the recommendation request that the recommendation purpose of the target business party is item recommendation, a first feature field whose business relevance to the target business party is greater than or equal to a first threshold is obtained from a preset field pool, and first user feature data, item feature data, and first interaction data are extracted from a log file provided by the target business party based on the first feature field, wherein the first user feature data includes behavior feature data and attribute feature data of the target object, the item feature data is feature data of the candidate recommended item, the first interaction data is used to represent the interaction behavior relationship between the user and the item, and the feature data includes the first user feature data, the item feature data, and the first interaction data;
[0018] When it is determined that the recommendation purpose of the target business party is user recommendation according to the recommendation request, a second feature field whose business relevance to the target business party is greater than or equal to a second threshold is obtained from a preset field pool, and first user feature data, second user feature data and second interaction data are extracted from a log file provided by the target business party based on the second feature field, wherein the second user data includes behavioral feature data and attribute feature data of the candidate recommended user, the second interaction data is used to represent the interactive behavior relationship between users, and the feature data includes the first user feature data, the second user feature data and the second interaction data.
[0019] Optionally, the recommendation server is further configured to:
[0020] Obtaining a preset recall source configuration table according to the target recommendation strategy, and determining a ratio configuration of multiple recall sources based on the preset recall source configuration table; and,
[0021] A recall request of multiple recall sources is sent to a recall server, wherein the recall request carries a target recommendation strategy, feature data, and a ratio configuration of multiple recall sources.
[0022] Optionally, the recall server is specifically used to:
[0023] When a recall request is received, the target recommendation strategy and feature data are used to perform recall processing from multiple recall sources one by one according to the proportion configuration to obtain a recall result consistent with the proportion configuration; and
[0024] After evaluating the recall index of the recall results, the recall results are returned to the recommendation server for storage.
[0025] Optionally, the recommendation server is further configured to:
[0026] Obtaining a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table; and,
[0027] A sorting request is sent to the sorting server, wherein the sorting request carries the target recommendation strategy, the recall result, and the target sorting configuration.
[0028] Optionally, the sorting server is specifically used for:
[0029] When receiving a sorting request, using the target recommendation strategy and the recall result, performing sorting processing according to the target sorting configuration to obtain a sorting result; and
[0030] The ranking result is returned to the recommendation server to be returned to the target business party.
[0031] Optionally, the multiple recall models or the multiple ranking models are obtained as follows:
[0032] Get the training set and test set for recall training or ranking training;
[0033] Training the initial model using the training set and evaluating the trained initial model using the test set; and,
[0034] When the evaluation result indicates that the evaluation index reaches the target threshold, the trained initial model is used as the recall model or the sorting model, and the evaluation index of the recall model or the sorting model is saved.
[0035] Optionally, the recommendation server is further configured to:
[0036] Upon receiving the recommended strategy configuration information sent by the target business party, generating a recall strategy expression and a sorting strategy expression according to the recommended strategy configuration information; and,
[0037] The recall strategy expression and the sort strategy expression are used as the target recommendation strategy.
[0038] Optionally, the recommendation server is further configured to:
[0039] Obtain a preset operation position insertion strategy that matches the target business party, and select the candidate recommendation object before the target ranking position from the sorting results;
[0040] Inserting the candidate recommended objects before the target sorting position into the target operating position according to the preset operating position insertion strategy to obtain the recommendation result; and
[0041] The recommendation results are returned to the target business party.
[0042] According to another aspect of the embodiment of the present application, the present application provides a recommendation method, including:
[0043] In the case of receiving a recommendation request for a target object sent by a target business party, determining a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extracting feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located;
[0044] A target recall model matching the target recommendation strategy is selected from multiple recall models, and the feature data is used as input data of the target recall model for recall processing to obtain a recall result;
[0045] Selecting a target ranking model that matches the target recommendation strategy from multiple ranking models, and using the recall result as input data of the target ranking model for ranking processing to obtain a ranking result; and,
[0046] Determine the recommended results from the sorted results and return the recommended results to the target business party.
[0047] According to another aspect of an embodiment of the present application, the present application provides an electronic device, including a memory, a processor, a communication interface and a communication bus, wherein the memory stores a computer program that can be run on the processor, the memory and the processor communicate through the communication bus and the communication interface, and the steps of the above method are implemented when the processor executes the computer program.
[0048] According to another aspect of an embodiment of the present application, the present application also provides a computer-readable medium having a non-volatile program code executable by a processor, and the program code enables the processor to execute the above method.
[0049] The above technical solution provided by the embodiment of the present application has the following advantages compared with the related art:
[0050] The technical solution of the present application provides a recommendation system, including: a recommendation server, which is used to determine the target recommendation strategy of the target object according to the preset recommendation configuration matching the target business party when receiving a recommendation request for a target object sent by a target business party, and extract feature data matching the target business party from the log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located; a recall server, which is used to select a target recall model matching the target recommendation strategy from multiple recall models, and use the feature data as input data of the target recall model for recall processing to obtain a recall result; a sorting server, which is used to select a target sorting model matching the target recommendation strategy from multiple sorting models, and use the recall result as input data of the target sorting model for sorting processing to obtain a sorting result; the recommendation server is also used to determine the recommendation result from the sorting result, and return the recommendation result to the target business party. In this application, the preset field pool covers all possible data fields used in different businesses in different recommendation fields, and can select feature fields that are highly correlated with the business for the business party to extract feature data from the log files provided by the business party, and then perform recall training and sorting training on the feature data according to the target recommendation strategy pre-configured for the business party, and finally obtain the recommendation results required by the business party, solving the technical problem that the recommendation platform cannot be universal. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0052] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related technologies, the drawings required for use in the embodiments or the related technical descriptions are briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0053] Figure 1 A schematic diagram of an optional recommendation system structure provided according to an embodiment of the present application;
[0054] Figure 2 A schematic diagram of an optional recommendation server provided according to an embodiment of the present application;
[0055] Figure 3 A schematic diagram of an optional recall server provided according to an embodiment of the present application;
[0056] Figure 4 A schematic diagram of an optional sorting server provided according to an embodiment of the present application;
[0057] Figure 5 A schematic diagram of another optional recommendation system structure provided according to an embodiment of the present application;
[0058] Figure 6 A schematic diagram of an optional feature platform provided according to an embodiment of the present application;
[0059] Figure 7 A schematic diagram of a hardware environment of an optional recommended method provided according to an embodiment of the present application;
[0060] Figure 8 A schematic diagram of an optional recommended method flow chart provided according to an embodiment of the present application;
[0061] Fig. 9 This is an optional schematic diagram of user-item recommendation and user-user recommendation provided according to an embodiment of the present application;
[0062] Fig.10 A schematic diagram of an optional electronic device structure provided in an embodiment of the present application. DETAILED DESCRIPTION
[0063] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.
[0064] In the subsequent description, the suffixes such as "module", "component" or "unit" used to represent elements are only used to facilitate the description of the present application and have no specific meaning. Therefore, "module" and "component" can be used interchangeably.
[0065] First, some nouns or terms that appear in the description of the embodiments of the present application are subject to the following interpretation:
[0066] Accuracy: An offline evaluation indicator of the model, which is the probability that the user actually likes the samples classified by the model as liked by the user.
[0067] Recall rate: An offline evaluation indicator of the model, which is the probability that the model correctly classifies the samples that the user actually likes as the user's favorite.
[0068] ROC (Receiver Operating Characteristic) curve: also known as the receiver operating characteristic curve. This curve was first used in the field of radar signal detection to distinguish between signals and noise. Later, people used it to evaluate the prediction ability of the model.
[0069] ROC-AUC value (Area Under Curve): Model offline evaluation indicator, the area under the ROC curve, reflects the model classification performance.
[0070] Click-through rate: An online evaluation indicator, the ratio of the number of times users click on an item to the number of times the item is exposed to the user.
[0071] Conversion rate: an online evaluation indicator, which is the ratio of the number of times users take subsequent actions (such as staying, collecting, purchasing, etc.) after clicking on an item to the number of times users click on the item.
[0072] Coverage: An online evaluation indicator, the ratio of all recommended items to the total number of items.
[0073] AB testing: All users are randomly divided into groups, different recommendation strategies are adopted respectively, and online indicators such as click-through rate and conversion rate under different strategies are compared. Through AB testing, a recommendation strategy with better recommendation effect can be selected.
[0074] In the related art, for different recommendation businesses, it is common to build a set of proprietary recommendation systems for each business to implement specific recommendation services, and the recommendation systems between different recommendation businesses are not universal. Some companies will provide personalized recommendation services for other industries that need recommendations through their own recommendation platforms, but this platform is only semi-universal. Basically, it still needs to be divided into several major types of recommendations such as e-commerce, news, content, and social networking, and multiple recommendation systems have been developed. The recommendation services in each type are generally similar and can be recommended using a general process, but the differences between the types are large and cannot be universal. Therefore, constructing a unique recommendation system for each recommendation business will consume a lot of manpower and material resources and be costly. A semi-universal recommendation platform needs to be divided into types according to the recommendation business, and a more general recommendation system is built for each type. The differences between the types are large, and a truly universal recommendation platform cannot be achieved.
[0075] In order to solve the problems mentioned in the background technology, according to one aspect of the embodiments of the present application, an embodiment of a recommendation system is provided, such as Figure 1 As shown, the recommendation system includes:
[0076] The recommendation server 101 is used to, upon receiving a recommendation request for a target object sent by a target business party, determine a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extract feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located;
[0077] The recall server 103 is used to select a target recall model that matches the target recommendation strategy from multiple recall models, and use the feature data as input data of the target recall model to perform recall processing to obtain a recall result;
[0078] The sorting server 105 is used to select a target sorting model that matches the target recommendation strategy from multiple sorting models, and use the recall result as input data of the target sorting model to perform sorting processing to obtain a sorting result;
[0079] The recommendation server 101 is further configured to determine a recommendation result from the sorting result and return the recommendation result to the target business party.
[0080] In the present application embodiment, Figure 2As shown in the figure, the recommendation server can be used as the recommendation management background in the recommendation system to manage the recommendation tasks by application and business, and control the entire recommendation process as well as the recommendation strategies, tools, and parameters, such as configuring the application business, configuring the recall method (model) and parameters used by the recall server, configuring the sorting method (model) and parameters used by the sorting server, and selecting the features of the data used by the recall server and sorting server. In addition, the recommendation server is also responsible for updating the recall data, updating the sorting model, operating position management, and online evaluation.
[0081] In an embodiment of the present application, the recommendation server provides a recommendation interface to the outside, and the business party accesses the recommendation system by calling the recommendation interface. The business party sends a recommendation request for the target object to the recommendation server so that the target object can be recommended for its business field through the recommendation system.
[0082] In the embodiment of the present application, the preset field pool is constructed by pre-collecting business data from multiple business fields, with the purpose of mining the data features of each business, so that when a business party accesses the recommendation system, it can quickly, efficiently and accurately find the feature field with the highest correlation with the business party, so that the feature data can be extracted from the log file provided by the business party according to the above feature field. The preset field pool can collect the business data from known business fields in advance, so that the preset field pool can cover all possible data fields used by different businesses in different recommendation fields. The business party only needs to provide log files or provide some feature fields to perform recommendation tasks, and it is highly versatile.
[0083] In the embodiment of the present application, feature data includes user feature data (such as user age, gender, etc.), item feature data (such as item price, release time, etc.), user-item interaction data (such as user's favorites on items, etc.) and user-user interaction data (users' contact and attention, etc.). Feature fields required by different businesses are all included in this recommendation system.
[0084] In the present application embodiment, Figure 3 As shown, the recall server includes a recall service interface part and a recall training part, wherein the recall service interface is used to provide a calling interface for different recall methods, and the recall training part is used to perform model training based on the recall method called by the recall server and the feature data provided by the recommendation service as the model input, so as to recall the candidate recommended items or candidate recommended users. The above-mentioned recall method may include but is not limited to the method shown in the following Table 1:
[0085] Table 1
[0086]
[0087] In the present application embodiment, Figure 4 As shown, the sorting server includes a sorting interface part and a sorting training part, wherein the sorting service interface is used to provide a calling interface for different sorting methods, and the sorting training part is used to perform model training according to the sorting method called by the sorting server, using the recall result provided by the recall server as the model input, so as to sort the candidate recommended items or candidate recommended users. The above-mentioned sorting method may include but is not limited to the method shown in the following Table 2:
[0088] Table 2
[0089] Sorting method illustrate FM Sorting method based on FM model DeepFM Sorting method based on DeepFM model Rule-based sorting According to the business rules, sort the items according to the rules
[0090] In the embodiment of the present application, the recall server recalls the candidate recommended content, which is essentially a rough sorting of the candidate recommended content, such as screening out the content (such as items, other users) that the user may like from different angles (such as the latest, the hottest, etc.), narrowing the scope of the content to be sorted, and ensuring the diversity of the recommended content. The sorting server sorts based on the recall result, which is essentially an accurate sorting of the candidate recommended content after the rough sorting of the recall, so as to put the target object's favorite content at the front and recommend it to the target object.
[0091] In the embodiment of the present application, the recommendation server determines the recommendation result from the sorting result returned by the sorting server, and finally returns it to the business party to complete the recommendation task. The recommendation result can be an item and / or other users, where the item can be a physical item or a virtual item, such as news, videos, pictures, music, etc.
[0092] In an embodiment of the present application, the functional components of the above-mentioned recommendation server, recall server and sorting server can be deployed in an online environment, and one part can be deployed in an offline environment and the other part can be deployed in an online environment. For example, the recall training part in the recall server and the sorting training part in the sorting server can be deployed in an offline environment, and the recall service interface, sorting service interface and recommendation service can be deployed in an online environment to reduce the load on the online environment.
[0093] Alternatively, if Figure 5 As shown, the recommendation system can also be provided with a feature platform 107 for providing data support for the recommendation server, the recall server and the sorting server. Figure 6 As shown, the feature platform can specifically manage scheduled tasks, such as controlling the recall server and the sorting server to periodically query the recommendation server whether there are new recommendation tasks to be executed, and controlling the recall server and the sorting server to periodically update the model. The feature platform can also be used for data preprocessing and feature file management, such as building the above-mentioned preset field pool, extracting feature data from the log files provided by the business party and providing it to the recommendation server, the recall server, and the sorting server to perform recommendation tasks.
[0094] Optionally, the recommendation server is specifically used for:
[0095] Extracting a business party identification identifier of the target business party from the recommendation request, wherein the business party identification identifier is configured by the recommendation server for the target business party when the target business party first accesses the recommendation system;
[0096] Obtaining a preset recommended configuration stored in a mapping with a business party identification identifier;
[0097] Determine a user diversion strategy and multiple recommendation strategies that match the target business party according to the preset recommendation configuration; and
[0098] The user diversion strategy is used to determine the target recommendation strategy for the target object from multiple recommendation strategies.
[0099] Optionally, the recommendation server is specifically used for:
[0100] In the case where it is determined according to the recommendation request that the recommendation purpose of the target business party is item recommendation, a first feature field whose business relevance to the target business party is greater than or equal to a first threshold is obtained from a preset field pool, and first user feature data, item feature data, and first interaction data are extracted from a log file provided by the target business party based on the first feature field, wherein the first user feature data includes behavior feature data and attribute feature data of the target object, the item feature data is feature data of the candidate recommended item, the first interaction data is used to represent the interaction behavior relationship between the user and the item, and the feature data includes the first user feature data, the item feature data, and the first interaction data;
[0101] When it is determined that the recommendation purpose of the target business party is user recommendation according to the recommendation request, a second feature field whose business relevance to the target business party is greater than or equal to a second threshold is obtained from a preset field pool, and first user feature data, second user feature data and second interaction data are extracted from a log file provided by the target business party based on the second feature field, wherein the second user data includes behavioral feature data and attribute feature data of the candidate recommended user, the second interaction data is used to represent the interactive behavior relationship between users, and the feature data includes the first user feature data, the second user feature data and the second interaction data.
[0102] Optionally, the recommendation server is further configured to:
[0103] Obtaining a preset recall source configuration table according to the target recommendation strategy, and determining a ratio configuration of multiple recall sources based on the preset recall source configuration table; and,
[0104] A recall request of multiple recall sources is sent to a recall server, wherein the recall request carries a target recommendation strategy, feature data, and a ratio configuration of multiple recall sources.
[0105] Optionally, the recall server is specifically used to:
[0106] When a recall request is received, the target recommendation strategy and feature data are used to perform recall processing from multiple recall sources one by one according to the proportion configuration to obtain a recall result consistent with the proportion configuration; and
[0107] After evaluating the recall index of the recall results, the recall results are returned to the recommendation server for storage.
[0108] Optionally, the recommendation server is further configured to:
[0109] Obtaining a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table; and,
[0110] A sorting request is sent to the sorting server, wherein the sorting request carries the target recommendation strategy, the recall result, and the target sorting configuration.
[0111] Optionally, the sorting server is specifically used for:
[0112] When receiving a sorting request, using the target recommendation strategy and the recall result, performing sorting processing according to the target sorting configuration to obtain a sorting result; and
[0113] The ranking result is returned to the recommendation server and returned to the target business party.
[0114] Optionally, the multiple recall models or the multiple ranking models are obtained as follows:
[0115] Get the training set and test set for recall training or ranking training;
[0116] Training the initial model using the training set and evaluating the trained initial model using the test set; and,
[0117] When the evaluation result indicates that the evaluation index reaches the target threshold, the trained initial model is used as the recall model or the sorting model, and the evaluation index of the recall model or the sorting model is saved.
[0118] Optionally, the recommendation server is further configured to:
[0119] Upon receiving the recommended strategy configuration information sent by the target business party, generating a recall strategy expression and a sorting strategy expression according to the recommended strategy configuration information; and,
[0120] The recall strategy expression and the sort strategy expression are used as the target recommendation strategy.
[0121] Optionally, the recommendation server is further configured to:
[0122] Obtain a preset operation position insertion strategy that matches the target business party, and select the candidate recommendation object before the target ranking position from the sorting results;
[0123] Inserting the candidate recommended objects before the target sorting position into the target operating position according to the preset operating position insertion strategy to obtain the recommendation result; and
[0124] The recommendation results are returned to the target business party.
[0125] According to another aspect of the embodiment of the present application, the present application provides a recommendation method that can recommend different applications and different services, and has stronger versatility.
[0126] Optionally, in the embodiment of the present application, the above-mentioned recommended method can be applied to Figure 7 In the hardware environment composed of terminal 701 and server 703 shown in FIG. Figure 7 As shown, the server 703 is connected to the terminal 701 via a network, and can be used to provide services (such as recommendation services, recall services, sorting services, model training services, feature extraction services, etc.) for the terminal or a client installed on the terminal. A database 705 can be set on the server or independently of the server to provide data storage services for the server 703. The above-mentioned network includes but is not limited to: a wide area network, a metropolitan area network or a local area network, and the terminal 701 includes but is not limited to a PC, a mobile phone, a tablet computer, etc.
[0127] A recommendation method in an embodiment of the present application can be executed by a recommendation system, which can be deployed in the above hardware environment, including a recommendation server, a recall server, a sorting server, etc. Figure 8 As shown, the method may include the following steps:
[0128] Step S802, when receiving a recommendation request for a target object sent by a target business party, determining a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extracting feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located;
[0129] Step S804, selecting a target recall model that matches the target recommendation strategy from multiple recall models, and performing recall processing using the feature data as input data of the target recall model to obtain a recall result;
[0130] Step S806, selecting a target ranking model that matches the target recommendation strategy from the multiple ranking models, and performing ranking processing using the recall result as input data of the target ranking model to obtain a ranking result; and
[0131] Step S808: determine the recommendation result from the sorting result, and return the recommendation result to the target business party.
[0132] Through steps S802 to S808, the present application is based on a preset field pool covering all possible data fields of different businesses in different recommendation fields. It can select feature fields with a higher correlation with the business for the business party to extract feature data from the log files provided by the business party, and then perform recall training and sorting training on the feature data according to the target recommendation strategy pre-configured for the business party, and finally obtain the recommendation results required by the business party, solving the technical problem that the recommendation platform cannot be universal.
[0133] It should be noted that the above steps S802 and S808 may be executed by the recommendation server, step S804 may be executed by the recall server, and step S806 may be executed by the sorting server.
[0134] Optionally, determining a target recommendation strategy for a target object according to a preset recommendation configuration matching the target business party includes:
[0135] Step 1: extracting a target business party identification identifier from the recommendation request, wherein the target business party identification identifier is configured by the recommendation server for the target business party when the target business party first accesses the recommendation system, and the recommendation system includes a recommendation server, a recall server, and a sorting server;
[0136] Step 2, obtaining a preset recommended configuration mapped and stored with the business party identification identifier;
[0137] Step 3: determining a user diversion strategy and multiple recommendation strategies matching the target business party according to the preset recommendation configuration; and
[0138] Step 4: Determine a target recommendation strategy for the target object from multiple recommendation strategies using a user diversion strategy.
[0139] In the embodiment of the present application, when each new application or new business is connected, it is first necessary to configure a new business party identification identifier in the recommendation management background (i.e., the recommendation server). The business party identification identifier can be an APP ID or a Biz ID, which is used to identify different applications and different businesses, and configure the policy ID under the Biz ID. In this way, when the target business sends a recommendation request to the recommendation server, the recommendation server can extract the business party identification identifier of the target business party from the recommendation request, and find the preset recommendation configuration pre-set for the target business party through the business party identification identifier. Finally, from the preset recommendation configuration, the user diversion strategy and multiple recommendation strategies of the target business party are found. The user diversion strategy is used to divide different users into different recommendation strategies, and each recommendation strategy corresponds to a unique strategy ID. The user diversion strategy can be set according to user attributes, such as gender, age, interests and hobbies, etc. When diverting, it is divided into different recommendation strategies according to the user's gender, age, interests and hobbies, etc., and the user ID can also be set for diversion, as shown in Table 3:
[0140] Table 3
[0141] Biz ID Strategy ID Shunt Type Shunt Expression 10001 20001 Single digit 0,1,2,3,4 10001 20002 Single digit 5,6,7,8,9 10002 20003 Segmentation [[0,1000],[2001,3000]] 10002 20004 Segmentation [[1001,2000],[3001,4000]]
[0142] Taking Table 3 as an example, the user diversion strategy can specifically be to construct a diversion expression. Under the same business, different recommendation strategies can be adopted for different user recommendations, and the diversion expression configures the user ID and the adopted recommendation strategy. If the diversion type is a single digit, the user whose last digit of the user ID matches the diversion expression is divided into the recommendation strategy. For example, in Table 3, for business 10001, the single digit of user 1091 is 1, and is divided into strategy 20001; if the diversion type is segmented, the user whose user ID falls within the segment of the diversion expression is divided into the recommendation of the strategy. For example, in Table 3, for business 10002, user 1091 is divided into strategy 20004.
[0143] Optionally, extracting feature data matching the target business party from the log file provided by the target business party based on the preset field pool includes:
[0144] In the case where it is determined according to the recommendation request that the recommendation purpose of the target business party is item recommendation, a first feature field whose business relevance to the target business party is greater than or equal to a first threshold is obtained from a preset field pool, and first user feature data, item feature data, and first interaction data are extracted from a log file provided by the target business party based on the first feature field, wherein the first user feature data includes behavior feature data and attribute feature data of the target object, the item feature data is feature data of the candidate recommended item, the first interaction data is used to represent the interaction behavior relationship between the user and the item, and the feature data includes the first user feature data, the item feature data, and the first interaction data;
[0145] When it is determined that the recommendation purpose of the target business party is user recommendation according to the recommendation request, a second feature field whose business relevance to the target business party is greater than or equal to a second threshold is obtained from a preset field pool, and first user feature data, second user feature data and second interaction data are extracted from a log file provided by the target business party based on the second feature field, wherein the second user data includes behavioral feature data and attribute feature data of the candidate recommended user, the second interaction data is used to represent the interactive behavior relationship between users, and the feature data includes the first user feature data, the second user feature data and the second interaction data.
[0146] In the present application embodiment, Fig. 9 As shown, for user-item recommendation where the purpose of recommendation is items, the data required for recommendation are the user feature data of the target object receiving the recommendation (i.e., the first user feature data), the item feature data of the candidate recommended items, and the user-item interaction data (i.e., the first interaction data). For user-user recommendation where the purpose of recommendation is users, the user feature data of the target object receiving the recommendation (i.e., the first user feature data), the user feature data of the candidate recommended users (i.e., the second user feature data), and the user-user interaction data (i.e., the second interaction data) are required. If the initiator of the user interaction behavior is regarded as the user and the recipient of the user interaction behavior is regarded as the item, the user-user recommendation can be regarded as a special case of the user-item recommendation, in which case both the user and the item are users. Therefore, for user-user recommendation, it is only necessary to mark it in the corresponding Biz ID configuration, and select to read the user feature data and user-user interaction data according to the mark during training, so that the relevant code flow of user-item recommendation can be reused.
[0147] In an embodiment of the present application, the first characteristic field and the second characteristic field can be obtained by calculating the similarity between multiple characteristic fields in a preset field pool and the business data of the target business party, selecting a characteristic field whose similarity is greater than or equal to a first threshold as the first characteristic field, and selecting a characteristic field whose similarity is greater than or equal to a second threshold as the second characteristic field. The above-mentioned first threshold and second threshold can be set according to actual conditions and actual needs.
[0148] In the embodiment of the present application, the characteristic field can be determined based on the business type of the target business party.
[0149] In an optional embodiment, the process of determining the business type of the target business party may be: determining the description information of the target business party from the recommendation request for the target object sent by the target business party; based on the correspondence between the preset description information and the business type, determining the business type that matches the business description information as the business type of the target business party.
[0150] In another optional embodiment, the process of determining the business type of the target business party may be: determining the description information of the target business party from the recommendation request for the target object sent by the target business party; determining, among the historical businesses that have been accessed in the past, a historical business whose description information matches the description information of the target business as a second reference business; and determining the business type of the target business party based on the business type of the second reference business.
[0151] After determining the business type of the target business party, determine the characteristic fields according to the business type of the target business party. Specifically, determine the business type of the target business party as the target type; among the historical businesses that have been accessed in the past, determine the historical business whose business type matches the target type as the first reference business; display the characteristic fields of the first reference business as display fields; if a user adjustment operation on the display field is detected, adjust the display field based on the adjustment operation; if a user confirmation operation is detected, use the currently displayed fields as the characteristic fields of the target business party. Or, specifically, determine the business type of the target business party as the target type; extract the fields that match the target type from the preset field pool as the characteristic fields of the target business party.
[0152] In the embodiment of the present application, the user can modify the display field through the interactive interface. The modification method can be any of the following: adding, deleting, and modifying.
[0153] After obtaining the characteristic fields of the target business party, the recall model and the sorting model can be used to recall and sort the candidate recommendation results based on the characteristic fields of the target business party, thereby obtaining the recommendation results. Before the recall model and the sorting model are used to recall and sort the characteristic fields of the target business party, the recall model and the sorting model need to be trained using the characteristic fields of the target business party to enhance the adaptability of the recall model and the sorting model to the target business party.
[0154] Optionally, the method further includes training a recall model or a ranking model, and updating the recall model or the ranking model in the following manner:
[0155] Step 1: Obtain a training set and a test set for recall training or sorting training;
[0156] Step 2, using the training set to train the initial model, and using the test set to evaluate the trained initial model;
[0157] Step 3, when the evaluation result indicates that the evaluation index reaches the target threshold, the trained initial model is used as the recall model or the sorting model, and the evaluation index of the recall model or the sorting model is saved; and,
[0158] Step 4: When the evaluation index of the new model is better than the evaluation index of the existing model, the existing model is replaced with the new model, and the evaluation index of the new model is saved.
[0159] In the above step 1, it is necessary to determine a feature sample set from the historical information set based on the feature field, and the feature sample set includes a training set and a test set.
[0160] Due to different business attributes, the historical information collected is also varied. Therefore, for specific businesses, the recommendation system and the R&D personnel of the target business party determine the log fields that need to be marked. For example, for e-commerce business, it is necessary to provide field information such as the price and sales volume of the product. For news content business, it is necessary to provide the number of words in the news, regional field information, etc. The information in the historical information set in the embodiment of the present application may include at least one of the following: the user's historical search log, user log table, material log table, and may also include other historical behavior logs of the user, such as historical clicks, contacts, exposure, purchases and other behavior data.
[0161] The user's historical search log is reflected in the search interaction, reflecting the user's subjective preference over a period of time. Each independent search behavior generates a search log. In search, user behavior usually includes retrieval, exposure, and clicks. Each behavior log will consist of some necessary fields, such as query, that is, the searched keyword or sentence, behavior_type (behavior type), specific behavior, etc.
[0162] The user log table records the basic attributes and profile information filled in or annotated by the registered user during the active period, such as age, region, entry tags, etc. The user log can update the user's information in a timely manner to reflect some basic status of the user.
[0163] In the search business, material logs mainly refer to recalled documents. The logs record some information after the document is created and can be updated in time according to the changes made to the document. The searched material logs generally record the URL, title, content, etc. of the document.
[0164] In order to distinguish whether the user's behavior is generated through search and recommendation, the user's search history can also serve the recommendation, and the search will not be interfered by the recommendation data. For this reason, in the behavior log, the user's click on the material and other behaviors will be divided into two types: the behavior generated in the search scenario is recorded in the search behavior log; the behavior generated in all scenarios will be recorded in the general behavior log, which is used to construct the behavior data set for recommendation training.
[0165] The log fields of search behavior need to be associated, counted, converted, and aggregated through the feature platform to obtain a series of values that can be trained. For example, for e-commerce business, from the user behavior log, you can calculate the user's purchase list of products in the past 30 days, the list of products browsed in the last hour, the average order amount and other features. For community content business, you can calculate the keywords of the content, and use NLP processing to obtain the feature vector of the title or summary.
[0166] In an optional embodiment, a historical information set is obtained; wherein the log information includes information collected on the user's search behavior and non-search behavior; a first information set is constructed based on the search behavior information in the log information; a second information set is constructed based on the non-search behavior information in the log information; and the historical information set is constructed based on the first information set and the second information set.
[0167] After the historical information set is built, the feature platform calculates the training set file (CSV file) according to the scheduled task, and then uses the rsync tool to specify the folder for the training set. The rsync tool needs to set a configuration file, and the target address will be set by the recall service and the sorting service.
[0168] Finally, based on the historical information set, a feature sample set that matches the feature fields of the target business party can be extracted.
[0169] In the above step 2, the above initial model may be several candidate models. Optionally, the model in the embodiment of the present application is an artificial intelligence model, such as an LSTM (Long short-term memory) model, K-NearestNeighbors, etc.
[0170] In the embodiment of the present application, the training cycle and parameters of each candidate model can be configured, and each candidate model can be trained using a training set according to the above configuration information. Taking the training of the candidate model of the sorting model as an example, the configuration information of the sorting model can be shown in Table 4:
[0171] Table 4
[0172]
[0173]
[0174] Since different businesses have different recommendation requirements, different feature selections can be configured for the target business party so that the model can sort the selected features to better meet the needs of the target business party. Different sorting methods and different feature selections corresponding to different businesses can be shown in Table 5:
[0175] Table 5
[0176] Biz ID Sorting method price Label Video Length author 10001 FM √ √ 10001 DeepFM √ 10002 FM √ √ √
[0177] In the embodiment of the present application, for different businesses, the recall methods and sorting methods that need to be trained and calculated can be configured, that is, only some methods are selected for training in a targeted manner, and some inapplicable methods can be selected not to be trained. In addition, different training cycles and model parameters can be set for different businesses and models, and each training process does not interfere with each other. In this way, for some models with short training time, the training frequency can be increased without being restricted to other models with long training time. Therefore, the recommendation effects on different businesses can be continuously optimized by adjusting these settings.
[0178] After determining the configuration information of each candidate model, the process of determining the corresponding model to be trained for the target business party from each candidate model may be:
[0179] S200: Determine the type of samples in the feature sample set; wherein the type of the samples is any one of the following: continuous, discrete, and sequential.
[0180] For some models, selecting all features does not achieve better training results. For example, FM and LR are not good at parsing continuous numerical features, but can reflect better results for categorical discrete features. At the same time, model selection training is provided to select models and feature combinations with better offline indicators and better generalization performance in actual business. This part of the function will be integrated in the business model distribution management background. It is convenient for flexible testing and timely adjustment of effects.
[0181] In an optional embodiment, the type of the sample in the feature sample set may be determined by: for each sample in the feature sample set, determining a first target feature from the features of the sample; taking the type of the first target feature as the type of the sample; wherein the first target feature is the feature with the strongest characterization capability for the sample among the features. The characterization capability in this specification may be characterized by the positive contribution of the feature to the convergence speed of the model during the training process. The higher the degree of improvement in the convergence speed of the model, the stronger the characterization capability of the feature. The characterization capability may be an empirical value.
[0182] In another optional embodiment, for each sample in the feature sample set, the features of the sample are clustered according to the type of the feature; the type of the feature in the target class is used as the type of the sample; wherein the target class is the class containing the largest number of features among the classes obtained by clustering.
[0183] Applicable models for continuous samples include: LightGBM, CatBoost and other tree models, DNN. The above models can identify the size relationship of values. Applicable models for discrete samples include: FM, LR, SVM models. Applicable models for sequence samples include: LSTM and other RNN structure models, TextCNN models, or pooling models.
[0184] S202: Based on the correspondence between preset feature types and candidate models, determine a candidate model corresponding to the type of the feature from the preset candidate models as the model to be trained.
[0185] Feature types are divided into three categories on the platform: continuous, discrete, and sequence. The models currently available on the platform also have different performance levels for the three feature types. Continuous features usually come from floating-point numerical features, such as statistical features, height, etc. Continuous features are often processed by bucketing or ensemble tree model training. Discrete features are generally categorical features, which are the most common and widely distributed features, because many data in the industry are represented by IDs. Discrete features can reflect uniqueness, but will cause the input dimension to be too long and too sparse. Generally, they can be input into the model through one-hot or hash or pre-trained as dense vectors. Discrete features are often more friendly in linear models such as FM and LR. Sequence features can also be called multi-valued features, which commonly include multi-valued labels, time series, etc. Sequence feature analysis is often more complicated. It is common to encode them through the multi-onehot method, or to initialize the embedding of each element and perform pooling. Some scenarios consider time sequence features and need to use RNN structure models for pre-training. Therefore, the processing methods of each type of feature are inconsistent, and there are also significant differences in the expression effects of the model. Therefore, the platform can obtain the corresponding type of each feature and the ranking results of the performance of each model under this type. In other words, the platform can make a judgment on the feature type based on the current feature and give the preferred ranking of the model for this type of feature.
[0186] In an embodiment of the present application, after the training of the selected initial model is completed, the trained initial model needs to be evaluated using a test set, and the evaluation indicators may include accuracy, recall rate, mean square error, and ROC-AUC value, etc. When the evaluation result indicates that the evaluation indicator reaches the target threshold, the trained initial model is used as the recall model or the sorting model, and the evaluation indicator of the recall model or the sorting model is saved. The above target threshold can be set according to actual needs. In addition, when updating the model, if the evaluation indicator of the new model is better than the evaluation indicator of the existing model, the existing model is replaced with the new model, and the evaluation indicator of the new model is saved. Model evaluation and selection examples are shown in Table 6:
[0187] Table 6
[0188] Biz ID Sorting method Model Number Offline indicators (json) Enable 10001 FM 202001011235 {"ROC-AUC":0.85,"rmse":0.08,…} yes 10001 FM 201912311240 {"ROC-AUC":0.80,"rmse":0.09,…} no 10001 DeepFM 202001011012 {"ROC-AUC":0.91,"rmse":0.05,…} yes 10001 DeepFM 201912311406 {"ROC-AUC":0.87,"rmse":0.06,…} no 10002 FM 202001011943 {"ROC-AUC":0.75,"rmse":0.12,…} yes 10002 FM 201912311756 {"ROC-AUC":0.73,"rmse":0.13,…} no
[0189] Optionally, after determining the target recommendation strategy of the target object according to the preset recommendation configuration matching the target business party, and extracting feature data matching the target business party from the log file provided by the target business party based on the preset field pool, the method further includes:
[0190] Step 1: obtaining a preset recall source configuration table according to the target recommendation strategy, and determining a ratio configuration of multiple recall sources based on the preset recall source configuration table;
[0191] Step 2: Send a recall request of multiple recall sources to the recall service, wherein the recall request carries a target recommendation strategy, feature data, and a ratio configuration of multiple recall sources;
[0192] Step 3, when a recall request is received, using the target recommendation strategy and feature data, recall processing is performed one by one from multiple recall sources according to the proportion configuration to obtain a recall result consistent with the proportion configuration; and
[0193] Step 4: Return the recall result to the recommendation server.
[0194] In an embodiment of the present application, different recommendation strategies include different recall sources and the ratio between the configured multiple recall sources. When the target business sends a recommendation request to the recommendation server, the recommendation server determines the target recommendation strategy of the target object through the Biz ID in the request and the ID of the target object, and searches for each recall source and its ratio configured by the strategy in the recall source configuration table of the target recommendation strategy. The recommendation server can send a recall request for multiple recall sources to the recall server. The recall request carries the target recommendation strategy, feature data, and the ratio configuration of multiple recall sources. Then, the recall server uses the target recommendation strategy and feature data to perform recall processing from multiple recall sources one by one according to the ratio configuration, and obtains a recall result consistent with the ratio configuration. Alternatively, the recommendation server can also send a recall request for each recall source to the recall server in sequence according to the recall source ratio, and after obtaining the recall results of each channel, remove overlaps and merge to obtain the recall result. Different recall sources configured with different recommendation strategies can be shown in Table 7:
[0195] Table 7
[0196] Strategy ID Recall Source Proportion 20001 CF 20% 20001 DSSM 50% 20001 Hottest 30% 20002 CF 50% 20002 Hottest 50%
[0197] After the recall model of the target business party is obtained through the aforementioned steps, the candidate recommendation results can be recalled from the aforementioned multiple recall sources based on the recall request.
[0198] In an embodiment of the present application, after calculating the recall result, the recall server may send the calculated recall result to the recommendation server, and / or store the calculated recall result in Redis, overwriting the old data.
[0199] Optionally, after returning the recall result to the recommendation server, the method further includes:
[0200] Step 1, obtaining a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table;
[0201] Step 2: Send a sorting request to the sorting server, where the sorting request carries the target recommendation strategy, the recall result, and the target sorting configuration;
[0202] Step 3, when receiving the sorting request, the sorting server uses the target recommendation strategy and the recall result to perform sorting processing according to the target sorting configuration to obtain a sorting result; and
[0203] Step 4: The sorting server returns the sorting result to the recommendation server.
[0204] In the embodiment of the present application, different recommendation strategies correspond to different sorting methods. The recommendation server can obtain a preset sorting configuration table and determine the target sorting configuration of the target recommendation strategy based on the preset sorting configuration table. When the recommendation server sends a sorting request to the sorting server, the sorting server performs sorting processing according to the target recommendation strategy, recall result and target sorting configuration carried in the sorting request to obtain the sorting result. Alternatively, the sorting server can also obtain the recall result from Redis for sorting processing. Different sorting methods configured with different recommendation strategies can be shown in Table 8:
[0205] Table 8
[0206] Strategy ID sort by 20001 FM 20002 DeepFM
[0207] After obtaining the sorting model of the target business party through the aforementioned steps, the recall results can be sorted based on the sorting request.
[0208] In the embodiment of the present application, after calculating the ranking result, the ranking server sends the ranking result calculated this time to the recommendation server.
[0209] Optionally, determining the target recommendation strategy of the target object according to the preset recommendation configuration matching the target business party further includes:
[0210] Step 1: upon receiving the recommended strategy configuration information sent by the target business party, generate a recall strategy expression and a sorting strategy expression according to the recommended strategy configuration information; and,
[0211] Step 2: Use the recall strategy expression and the sorting strategy expression as the target recommendation strategy.
[0212] In the embodiment of the present application, as shown in Table 9, the above-mentioned target recommendation strategy can also be set according to the actual needs of the target business party. Taking the recall server as an example, when the alternative recommended content is recalled, it can be recalled according to the actual needs of the target business party. Different strategies are actually different rules. Different rules can be described by regular expressions. For example, if the rule type is screening, the screening expression is a simple string. When using it, the string is segmented with a regular expression, or the eval method provided by Python is used to extract the screening requirements, and then the items are filtered according to the requirements. For example, the first item in Table 9 is to filter the items with a price less than 50 and an item label of 3. If the rule type is demotion, the fields and corresponding weights of the demotion are provided, and the items are scored and sorted according to the weight. For example, the second item in Table 9 is to sort the items by weight, price, and update time. If the rule type is priority, an expression list is provided in priority order, and the requirements are extracted by regular expression or eval method, and then sorted according to the requirements. For example, the third item in Table 9 is to give priority to recommending items with a price less than 50, followed by items with a label of 3, and then other items.
[0213] Table 9
[0214] Biz ID Rule recall source Rule Type Regular Expression (json) 10001 rule_10001_1 filter "price<50&item_tag==3" 10001 rule_10001_2 Demotion {"weight":1,"price":-1,"update_time":0.1} 10002 rule_10002_1 Priority ["price<50","item_tag==3"]
[0215] Optionally, determining a recommendation result from the sorting result and returning the recommendation result to the target business party includes:
[0216] Step 1: Obtain a preset operation position insertion strategy that matches the target business party, and select the candidate recommendation object before the target ranking position from the sorting results;
[0217] Step 2, inserting the candidate recommended objects before the target sorting position into the target operating position according to the preset operating position insertion strategy to obtain the recommendation result; and
[0218] Step 3: Return the recommendation results to the target business party.
[0219] In the embodiment of the present application, the recommendation server can select the top candidate recommendation objects from the sorting results and insert them into the target operation position according to the preset operation position insertion strategy, so that the business party can directly make recommendations based on the recommendation results returned by the recommendation service, thereby improving the recommendation efficiency. Different business corresponding to different operation position insertion strategies are shown in Table 10:
[0220] Table 10
[0221]
[0222]
[0223] Optionally, this application can also conduct AB testing. After the user in the AB test takes action (click, purchase, etc.) on the recommended items, the target business party will send a behavior log to the recommendation system. The recommendation service reads the behavior log regularly, searches for the corresponding recommendation strategy based on the user ID and diversion expression, and counts the total number of behaviors (clicks, purchases, etc.) generated by users covered by different recommendation strategies within a certain period of time, calculates indicators such as click-through rate and conversion rate, so as to analyze the advantages and disadvantages of different recommendation strategies, and further facilitate timely adjustments to the recommendation strategy.
[0224] According to another aspect of the embodiments of the present application, the present application provides an electronic device, such as Fig.10 As shown, it includes a memory 1001, a processor 1003, a communication interface 1005 and a communication bus 1007. The memory 1001 stores a computer program that can be run on the processor 1003. The memory 1001 and the processor 1003 communicate through the communication interface 1005 and the communication bus 1007. When the processor 1003 executes the computer program, the steps of the above method are implemented.
[0225] The memory and processor in the above electronic device communicate via a communication bus and a communication interface. The communication bus may be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus may be divided into an address bus, a data bus, a control bus, etc.
[0226] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0227] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0228] According to another aspect of the embodiments of the present application, a computer program product or a computer program is provided, the computer program product or the computer program includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any of the above embodiments.
[0229] Optionally, in an embodiment of the present application, the computer-readable medium is configured to store program codes for the processor to perform the following steps:
[0230] In the case of receiving a recommendation request for a target object sent by a target business party, determining a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extracting feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located;
[0231] A target recall model matching the target recommendation strategy is selected from multiple recall models, and the feature data is used as input data of the target recall model for recall processing to obtain a recall result;
[0232] Selecting a target ranking model that matches the target recommendation strategy from multiple ranking models, and using the recall result as input data of the target ranking model for ranking processing to obtain a ranking result;
[0233] Determine the recommended results from the sorted results and return the recommended results to the target business party.
[0234] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.
[0235] When the embodiments of the present application are specifically implemented, reference may be made to the above-mentioned embodiments, which have corresponding technical effects.
[0236] It is understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or a combination thereof. For hardware implementation, the processing unit may be implemented in one or more application specific integrated circuits (ASIC), digital signal processors (DSP), digital signal processing devices (DSPD), programmable logic devices (PLD), field programmable gate arrays (FPGA), general purpose processors, controllers, microcontrollers, microprocessors, other electronic units for performing the functions described in the present application, or a combination thereof.
[0237] For software implementation, the technology described herein can be implemented by a unit that performs the functions described herein. The software code can be stored in a memory and executed by a processor. The memory can be implemented in the processor or outside the processor.
[0238] Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professional and technical personnel can use different methods to implement the described functions for each specific application, but such implementation should not be considered to be beyond the scope of this application.
[0239] Those skilled in the art can clearly understand that, for the convenience and brevity of description, the specific working processes of the systems, devices and units described above can refer to the corresponding processes in the aforementioned method embodiments and will not be repeated here.
[0240] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are only schematic. For example, the division of the modules is only a logical function division. There may be other division methods in actual implementation, such as multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be an indirect coupling or communication connection through some interfaces, devices or units, which can be electrical, mechanical or other forms.
[0241] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0242] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
[0243] If the function is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or the part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to make a computer device (which can be a personal computer, a server, or a network device, etc.) perform all or part of the steps of the method described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as a USB flash drive, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk. It should be noted that, in this article, relational terms such as "first" and "second" are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply that there is any such actual relationship or order between these entities or operations. Moreover, the term "include", "include" or any other variant thereof is intended to cover non-exclusive inclusion, so that the process, method, article or device including a series of elements includes not only those elements, but also includes other elements that are not explicitly listed, or also includes elements inherent to such a process, method, article or device. Without more constraints, an element defined by the phrase "comprising a..." does not exclude the existence of other identical elements in the process, method, article or apparatus comprising the element.
[0244] The above description is only a specific implementation of the present application, so that those skilled in the art can understand or implement the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein can be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest range consistent with the principles and novel features applied for herein.
Claims
1. A recommendation system, characterized in that: include: A recommendation server, configured to, upon receiving a recommendation request for a target object sent by a target business party, determine a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extract feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located; A recall server is used to select a target recall model that matches the target recommendation strategy from multiple recall models, and use the feature data as input data of the target recall model to perform recall processing to obtain a recall result; A sorting server is used to select a target sorting model that matches the target recommendation strategy from multiple sorting models, and use the recall result as input data of the target sorting model to perform sorting processing to obtain a sorting result; The recommendation server is further used to determine a recommendation result from the sorting result, and return the recommendation result to the target business party; The recall server includes a recall service interface part and a recall training part, wherein the recall service interface part is used to provide a calling interface of different recall methods, and the recall training part is used to perform model training according to the recall method called by the recall server and take the feature data provided by the recommendation server as the model input to recall the candidate recommended items or candidate recommended users; The sorting server includes a sorting interface part and a sorting training part, wherein the sorting service interface part is used to provide a calling interface for different sorting methods, and the sorting training part is used to perform model training according to the sorting method called by the sorting server and take the recall result provided by the recall server as the model input to sort the candidate recommended items or candidate recommended users; The recommendation system also includes a feature platform, which is used to provide data support for the recommendation server, the recall server and the sorting server, including scheduled task management, data preprocessing and feature file management.
2. The system according to claim 1, characterized in that The recommendation server is specifically used for: Extracting a business party identification identifier of the target business party from the recommendation request, wherein the business party identification identifier is configured by the recommendation server for the target business party when the target business party first accesses the recommendation system; Acquire the preset recommended configuration stored in a mapping relationship with the business party identification identifier; Determine a user diversion strategy and multiple recommendation strategies that match the target service party according to the preset recommendation configuration; and The target recommendation strategy for the target object is determined from the multiple recommendation strategies using the user diversion strategy.
3. The system according to claim 1, characterized in that The recommendation server is specifically used for: In the case where it is determined according to the recommendation request that the recommendation purpose of the target business party is item recommendation, a first feature field whose business relevance to the target business party is greater than or equal to a first threshold is obtained from the preset field pool, and first user feature data, item feature data and first interaction data are extracted from the log file provided by the target business party based on the first feature field, wherein the first user feature data includes behavior feature data and attribute feature data of the target object, the item feature data is feature data of candidate recommended items, the first interaction data is used to represent the interaction behavior relationship between the user and the item, and the feature data includes the first user feature data, the item feature data and the first interaction data; When it is determined that the recommendation purpose of the target business party is user recommendation according to the recommendation request, a second feature field whose business relevance to the target business party is greater than or equal to a second threshold is obtained from the preset field pool, and based on the second feature field, the first user feature data, the second user feature data and the second interaction data are extracted from the log file provided by the target business party, wherein the second user data includes behavior feature data and attribute feature data of the candidate recommended users, the second interaction data is used to represent the interaction behavior relationship between users, and the feature data includes the first user feature data, the second user feature data and the second interaction data.
4. The system according to claim 1, characterized in that The recommendation server is further used for: Obtaining a preset recall source configuration table according to the target recommendation strategy, and determining a ratio configuration of multiple recall sources based on the preset recall source configuration table; and, Sending a recall request of the multiple recall sources to the recall server, wherein the recall request carries the target recommendation strategy, the feature data, and the ratio configuration of the multiple recall sources.
5. The system according to claim 4, characterized in that The recall server is specifically used for: When the recall request is received, the target recommendation strategy and the feature data are used to perform recall processing from the multiple recall sources one by one according to the proportion configuration to obtain the recall result consistent with the proportion configuration; as well as, The recall result is returned to the recommendation server.
6. The system according to claim 1, characterized in that The recommendation server is further used for: Obtaining a preset sorting configuration table, and determining a target sorting configuration of the target recommendation strategy based on the preset sorting configuration table; and, A sorting request is sent to the sorting server, wherein the sorting request carries the target recommendation strategy, the recall result, and the target sorting configuration.
7. The system according to claim 6, characterized in that The sorting server is specifically used for: When receiving the sorting request, using the target recommendation strategy and the recall result, performing sorting processing according to the target sorting configuration to obtain the sorting result; as well as, The ranking result is returned to the recommendation server to be returned to the target business party.
8. The system according to claim 1, characterized in that The multiple recall models or the multiple ranking models are obtained in the following manner: Get the training set and test set for recall training or ranking training; Using the training set to train the initial model, and using the test set to evaluate the trained initial model; as well as, When the evaluation result indicates that the evaluation index reaches the target threshold, the trained initial model is used as the recall model or the sorting model, and the evaluation index of the recall model or the sorting model is saved.
9. The system according to claim 1, characterized in that The recommendation server is further used for: Upon receiving the recommended strategy configuration information sent by the target service party, generating a recall strategy expression and a sorting strategy expression according to the recommended strategy configuration information; and, The recall strategy expression and the sort strategy expression are used as the target recommendation strategy.
10. The system according to any one of claims 1 to 9, characterized in that: The recommendation server is further used for: Obtaining a preset operation position insertion strategy that matches the target business party, and selecting a candidate recommendation object before the target ranking position from the ranking results; Inserting the candidate recommended object before the target sorting position into the target operating position according to the preset operating position insertion strategy, obtaining the recommendation result; as well as, The recommendation result is returned to the target business party.
11. A recommendation method, applied to the recommendation system according to any one of claims 1 to 10, characterized in that: include: In the case of receiving a recommendation request for a target object sent by a target business party, determining a target recommendation strategy for the target object according to a preset recommendation configuration matching the target business party, and extracting feature data matching the target business party from a log file provided by the target business party based on a preset field pool, wherein the preset field pool is constructed by pre-collecting business data of multiple business fields, and the multiple business fields include the field where the target business party is located; Selecting a target recall model that matches the target recommendation strategy from multiple recall models, and performing recall processing using the feature data as input data of the target recall model to obtain a recall result; Selecting a target ranking model that matches the target recommendation strategy from multiple ranking models, and performing ranking processing using the recall result as input data of the target ranking model to obtain a ranking result; and A recommendation result is determined from the sorting results, and the recommendation result is returned to the target business party.
12. An electronic device, comprising a memory, a processor, a communication interface and a communication bus, wherein the memory stores a computer program that can be run on the processor, and the memory and the processor communicate through the communication bus and the communication interface, characterized in that: When the processor executes the computer program, the steps of the method according to claim 11 are implemented.
13. A computer-readable medium having a non-volatile program code executable by a processor, characterized in that: The program code enables the processor to execute the method of claim 11.
Citation Information
Patent Citations
Recommendation system and method, electronic equipment and computer readable storage medium
CN111966908A
Recommendation information generation method and device, storage medium and electronic equipment
CN113065911A
Data processing method, device and system, equipment and readable storage medium
CN113128741A