CN114297505A - Recommendation system, recommendation method, recommendation device and computer readable medium - Google Patents
Recommendation system, recommendation method, recommendation device and computer readable medium Download PDFInfo
- Publication number
- CN114297505A CN114297505A CN202111671366.8A CN202111671366A CN114297505A CN 114297505 A CN114297505 A CN 114297505A CN 202111671366 A CN202111671366 A CN 202111671366A CN 114297505 A CN114297505 A CN 114297505A
- Authority
- CN
- China
- Prior art keywords
- recommendation
- target
- recall
- sorting
- service party
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The application relates to a recommendation system, a recommendation method, a recommendation device and a computer readable medium. In the above scheme, the preset field pool covers all data fields which are possibly used for different services in different recommendation fields, and can select a feature field with higher service association for a service party to extract feature data from a log file provided by the service party, so that recall training and sequencing training are performed on the feature data according to a target recommendation strategy configured for the service party in advance, and a recommendation result required by the service party is finally obtained, thereby solving the technical problem that a recommendation platform cannot be used universally.
Description
Technical Field
The present application relates to the field of intelligent recommendation technologies, and in particular, to a recommendation system, a recommendation method, a recommendation device, and a computer-readable medium.
Background
Since the 21 st century, artificial intelligence has gradually penetrated into various fields of internet services, and intelligent recommendation algorithms developed in recommendation directions play a significant role in industries such as e-commerce, news, social contact and the like. The most important characteristic of the recommendation algorithm is personalization, and articles which the user may like are mined from data (attributes and behaviors) and recommended to the user. Recommendations have a direct relationship to the data. For different projects, data is specific to the project, and the data cannot be commonly used among the projects; even for different recommendation services (such as commodity recommendation and friend recommendation) of the same item, although the data can be universal, not all characteristic fields are helpful for recommendation, and effective fields for recommendation are still different.
At present, in the related art, for different recommended services, it is common to respectively construct a set of dedicated recommendation systems for each service to implement a specific recommendation service, and the recommendation systems are not common among the recommended services. Some companies provide personalized recommendation services for other industries needing recommendation through own recommendation platforms, but the platforms are only semi-universal, and basically need to be divided into several types of recommendation such as e-commerce, news, content, social contact and the like, so that a plurality of sets of recommendation systems are developed, the recommendation services in each type are generally similar and can be recommended by using a universal flow, but the difference among the types is large and the recommendation services cannot be universal. Therefore, a special recommendation system is separately constructed for each recommendation service, so that a lot of manpower and material resources are consumed, and the cost is high. The semi-universal recommendation platform needs to divide types according to the recommendation service, a set of universal recommendation system is constructed for each type, the difference between the types is large, and the universal recommendation platform cannot be realized in a true sense.
Aiming at the problem that the recommendation platform cannot be used universally, an effective solution is not provided at present.
Disclosure of Invention
The application provides a recommendation system, a recommendation method, recommendation equipment and a computer readable medium, which are used for solving the technical problem that a recommendation platform cannot be universal.
According to an aspect of an embodiment of the present application, there is provided a recommendation system including:
the recommendation server is used for determining a target recommendation strategy of the target object according to preset recommendation configuration matched with the target service party under the condition of receiving a recommendation request aiming at the target object and sent by the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located;
the recall server is used for selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and recalling the characteristic data as input data of the target recall model to obtain a recall result;
the sorting server is used for selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result;
and the recommendation server is also used for determining a recommendation result from the sequencing result and returning the recommendation result to the target service party.
Optionally, the recommendation server is specifically configured to:
extracting a service party identification mark of a target service party from the recommendation request, wherein the service party identification mark is configured for the target service party by a recommendation server when the target service party is accessed into the recommendation system for the first time;
acquiring a preset recommendation configuration mapped and stored with a service party identification identifier;
determining a user distribution strategy and a plurality of recommendation strategies matched with a target service party according to preset recommendation configuration; and the number of the first and second groups,
and determining a target recommendation strategy of the target object from the plurality of recommendation strategies by using the user distribution strategy.
Optionally, the recommendation server is specifically configured to:
under the condition that the recommendation purpose of a target service party is determined to be article recommendation according to a recommendation request, a first feature field with the service association degree of the target service party being greater than or equal to a first threshold value is obtained from a preset field pool, and first user feature data, article feature data and first interaction data are extracted from a log file provided by the target service party based on the first feature field, wherein the first user feature data comprise behavior feature data and attribute feature data of a target object, the article feature data are feature data of alternative recommended articles, the first interaction data are used for representing interaction behavior relations between users and articles, and the feature data comprise the first user feature data, the article feature data and the first interaction data;
under the condition that the recommendation purpose of the target service party is determined to be user recommendation according to the recommendation request, a second characteristic field with the service association degree of the target service party being larger than or equal to a second threshold value is obtained from a preset field pool, first user characteristic data, second user characteristic data and second interaction data are extracted from a log file provided by the target service party based on the second characteristic field, wherein the second user characteristic data comprise behavior characteristic data and attribute characteristic data of an alternative recommendation user, the second interaction data are used for representing interaction behavior relation between the user and the user, and the characteristic data comprise the first user characteristic data, the second user characteristic data and the second interaction data.
Optionally, the recommendation server is further configured to:
acquiring a preset recall source configuration table according to a target recommendation strategy, and determining the proportional configuration of a plurality of recall sources based on the preset recall source configuration table; and the number of the first and second groups,
and sending a recall request of a plurality of recall sources to a recall server, wherein the recall request carries a target recommendation strategy, characteristic data and proportional configuration of the plurality of recall sources.
Optionally, the recall server is specifically configured to:
under the condition of receiving a recall request, utilizing a target recommendation strategy and characteristic data to recall from a plurality of recall sources one by one according to proportion configuration to obtain a recall result consistent with the proportion configuration; and the number of the first and second groups,
and after the recall result is subjected to recall index evaluation, returning the recall result to the recommendation server for storage.
Optionally, the recommendation server is further configured to:
acquiring a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table; and the number of the first and second groups,
and sending a sorting request to a sorting server, wherein the sorting request carries a target recommendation strategy, a recall result and target sorting configuration.
Optionally, the sorting server is specifically configured to:
under the condition of receiving a sorting request, sorting according to target sorting configuration by using a target recommendation strategy and a recall result to obtain a sorting result; and the number of the first and second groups,
and returning the sequencing result to the recommendation server to return to the target service party.
Optionally, the plurality of recall models or the plurality of ranking models are obtained as follows:
acquiring a training set and a test set for recall training or sequencing training;
training the initial model by using a training set, and evaluating the trained initial model by using a test set; and the number of the first and second groups,
and under the condition that the evaluation result indicates that the evaluation index reaches the target threshold value, taking the trained initial model as a recall model or a ranking model, and storing the evaluation index of the recall model or the ranking model.
Optionally, the recommendation server is further configured to:
under the condition of receiving recommendation strategy configuration information sent by a target service party, generating a recall strategy expression and a sequencing strategy expression according to the recommendation strategy configuration information; and the number of the first and second groups,
and taking the recall strategy expression and the sequencing strategy expression as target recommendation strategies.
Optionally, the recommendation server is further configured to:
acquiring a preset operation position insertion strategy matched with a target service party, and selecting an alternative recommendation object before a target sequencing position from a sequencing result;
inserting the alternative recommended object before the target sorting position into the target operation position according to a preset operation position insertion strategy to obtain a recommendation result; and the number of the first and second groups,
and returning the recommendation result to the target service party.
According to another aspect of the embodiments of the present application, there is provided a recommendation method, including:
under the condition of receiving a recommendation request aiming at a target object sent by a target service party, determining a target recommendation strategy of the target object according to a preset recommendation configuration matched with the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located;
selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and performing recall processing by using the characteristic data as input data of the target recall model to obtain a recall result;
selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result; and the number of the first and second groups,
and determining a recommendation result from the sequencing results, and returning the recommendation result to the target service party.
According to another aspect of the embodiments of the present application, there is provided an electronic device, including a memory, a processor, a communication interface, and a communication bus, where the memory stores a computer program executable on the processor, and the memory and the processor communicate with each other through the communication bus and the communication interface, and the processor implements the steps of the method when executing the computer program.
According to another aspect of embodiments of the present application, there is also provided a computer readable medium having non-volatile program code executable by a processor, the program code causing the processor to perform the above-mentioned method.
Compared with the related art, the technical scheme provided by the embodiment of the application has the following advantages:
the technical scheme of the application provides a recommendation system, including: the recommendation server is used for determining a target recommendation strategy of the target object according to preset recommendation configuration matched with the target service party under the condition of receiving a recommendation request aiming at the target object and sent by the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located; the recall server is used for selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and recalling the characteristic data as input data of the target recall model to obtain a recall result; the sorting server is used for selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result; and the recommendation server is also used for determining a recommendation result from the sequencing result and returning the recommendation result to the target service party. In the application, the preset field pool covers all data fields which are possibly used by different services in different recommendation fields, and can select the characteristic field with higher service association for a service party to extract the characteristic data from the log file provided by the service party, so that the characteristic data is recalled, trained and sequenced according to a target recommendation strategy configured for the service party in advance, and finally, a recommendation result required by the service party is obtained, thereby solving the technical problem that a recommendation platform cannot be used universally.
Drawings
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 application.
In order to more clearly illustrate the technical solutions in the embodiments or related technologies of the present application, the drawings needed to be used in the description of the embodiments or related technologies will be briefly described below, and it is obvious for those skilled in the art to obtain other drawings without any creative effort.
FIG. 1 is a schematic structural diagram of an alternative recommendation system provided in an embodiment of the present application;
FIG. 2 is a schematic diagram of an alternative recommendation server provided in accordance with an embodiment of the present application;
FIG. 3 is a schematic diagram of an alternative recall server provided in accordance with an embodiment of the present application;
FIG. 4 is a schematic diagram of an alternative ranking server provided in accordance with an embodiment of the present application;
FIG. 5 is a schematic structural diagram of yet another alternative recommendation system provided in accordance with an embodiment of the present application;
FIG. 6 is a schematic diagram of an alternative feature platform provided in accordance with an embodiment of the present application;
FIG. 7 is a schematic diagram of an alternative recommendation hardware environment provided in accordance with an embodiment of the present application;
FIG. 8 is a flowchart illustrating an alternative recommendation method according to an embodiment of the present application;
FIG. 9 is a schematic diagram of an alternative user-item recommendation and user-user recommendation provided in accordance with an embodiment of the present application;
fig. 10 is a schematic structural diagram of an alternative electronic device according to an embodiment of the present application.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are some embodiments of the present application, but not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In the following description, suffixes such as "module", "component", or "unit" used to denote elements are used only for the convenience of description of the present application, and have no specific meaning in themselves. Thus, "module" and "component" may be used in a mixture.
First, partial nouns or terms appearing in the description of the embodiments of the present application are applicable to the following explanations:
the accuracy is as follows: and (3) evaluating the index offline by the model, wherein in the samples which are classified as the user's preference by the model, the probability that the user actually likes is also evaluated.
The recall ratio is as follows: and (3) evaluating the index by the model offline, wherein in the sample actually liked by the user, the model is also correctly classified into the liked probability of the user.
Roc (receiver Operating characteristics) curve: also known as recipient operating characteristics. The curve is firstly applied to the field of radar signal detection and is used for distinguishing signals from noise. It was later used to evaluate the predictive power of the model.
ROC-AUC value (Area Under dark): and (4) the model offline evaluation index, the area under the ROC curve, and the model classification performance are reflected.
Click rate: and (4) evaluating the index on the line, wherein the number of times the user clicks the item is the ratio of the number of times the item is exposed to the user.
Conversion rate: and (4) evaluating the index on line, wherein the number of subsequent behaviors (such as stay, collection, purchase and the like) after the user clicks the article accounts for the ratio of the number of times that the user clicks the article.
Coverage rate: the indicator is evaluated on-line, the ratio of all recommended items to the total number of items.
And (4) AB test: all users are randomly grouped, different recommendation strategies are respectively adopted, online indexes such as click rate and conversion rate under different strategies are compared, and a recommendation strategy with a better recommendation effect can be selected through AB test.
In the related art, for different recommendation services, it is common to construct a set of dedicated recommendation systems for each service respectively to implement a specific recommendation service, and the recommendation systems are not common among the recommendation services. Some companies provide personalized recommendation services for other industries needing recommendation through own recommendation platforms, but the platforms are only semi-universal, and basically need to be divided into several types of recommendation such as e-commerce, news, content, social contact and the like, so that a plurality of sets of recommendation systems are developed, the recommendation services in each type are generally similar and can be recommended by using a universal flow, but the difference among the types is large and the recommendation services cannot be universal. Therefore, a special recommendation system is separately constructed for each recommendation service, so that a lot of manpower and material resources are consumed, and the cost is high. The semi-universal recommendation platform needs to divide types according to the recommendation service, a set of universal recommendation system is constructed for each type, the difference between the types is large, and the universal recommendation platform cannot be realized in a true sense.
In order to solve the problems mentioned in the background, according to an aspect of the embodiments of the present application, there is provided an embodiment of a recommendation system, as shown in fig. 1, including:
the recommendation server 101 is configured to determine a target recommendation policy of a target object according to a preset recommendation configuration matched with the target service party when receiving a recommendation request for the target object sent by the target service party, and extract feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, where the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields include a field where the target service party is located;
the recall server 103 is used for selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and performing recall processing by using the characteristic data as input data of the target recall model to obtain a recall result;
the sorting server 105 is used for selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recalled result as input data of the target sorting model to obtain a sorting result;
the recommendation server 101 is further configured to determine a recommendation result from the sorting result, and return the recommendation result to the target service party.
In the embodiment of the present application, as shown in fig. 2, the recommendation server may serve as a recommendation management background in the recommendation system, manage recommendation tasks by applying sub-services, and control the entire recommendation process and recommended strategies, tools, and parameters, such as performing application service configuration, configuring a recall method (model) and parameters used by the recall server, configuring sorting methods (models) and parameters used by the sorting server, and selecting characteristics of data used by the recall server and the sorting server. In addition, the recommendation server is also responsible for recalling data updating, sequencing model updating, operation position management, online evaluation and the like.
In the embodiment of the application, the recommendation server provides a recommendation interface to the outside, the service party accesses the recommendation system by calling the recommendation interface, and the service party sends a recommendation request aiming at a target object to the recommendation server so as to recommend the target object aiming at the service field of the target object through the recommendation system.
In the embodiment of the application, the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and aims to mine the data characteristics of each service so as to quickly, efficiently and accurately find the characteristic field with the highest association degree with a service party when a certain service party accesses the recommendation system, thereby extracting the characteristic data from the log file provided by the service party according to the characteristic field. The preset field pool can collect the service data from the known service field in advance, so that the preset field pool can cover all possible data fields of different services in different recommendation fields, a service party only needs to provide log files or partial characteristic fields to perform recommendation tasks, and the universality is extremely high.
In the embodiment of the present application, the feature data includes user feature data (such as user age, gender, and the like), item feature data (such as item price, release time, and the like), user-item interaction data (such as behavior of user like favorite of an item), and user-user interaction data (such as behavior of contact between users like attention). The characteristic fields required by different services are all covered in the recommendation system.
In the embodiment of the present application, as shown in fig. 3, the recall server includes a recall service interface portion and a recall training portion, where the recall service interface is used to provide a calling interface for different recall methods, and the recall training is used to perform model training by using feature data provided by the recommendation service as a model input according to the recall method called by the recall server, so as to recall the alternative recommended item or the alternative recommended user. The above recall method may include, but is not limited to, the following method shown in table 1:
TABLE 1
In the embodiment of the present application, as shown in fig. 4, the ranking server includes a ranking interface portion and a ranking training portion, where the ranking service interface is configured to provide a calling interface for different ranking methods, and the ranking training portion is configured to perform model training by using a recall result provided by the recall server as a model input according to a ranking method called by the ranking server, so as to rank an alternative recommended item or an alternative recommended user. The above sequencing methods may include, but are not limited to, the methods shown in table 2 below:
TABLE 2
Sorting method | Description of the invention |
FM | Sequencing method based on FM model |
DeepFM | Sorting method based on deep FM model |
Rule-based ordering | Ordering the articles according to rules according to business side rules |
In the embodiment of the application, the recalling of the alternative recommended content by the recall server is essentially to roughly sort the alternative recommended content, for example, to screen out contents (such as articles and other users) that a user may like from different angles (such as latest, hottest, and the like), to narrow the range of the contents to be sorted, and to ensure the diversity of the recommended content at the same time. The sorting server sorts based on the recall result, and essentially precisely sorts the coarsely-recalled alternative recommended contents so as to recommend the favorite contents of the target object to the target object in the top.
In the embodiment of the application, the recommendation server determines the recommendation result from the sorting results returned by the sorting server, and finally returns the recommendation result to the service party to complete the recommendation task. The recommendation may be an item and/or other user, where the item may be a physical item, and may also be a virtual item, such as news, video, pictures, music, etc.
In the embodiment of the present application, the functional components of the recommendation server, the recall server, and the ranking server may be deployed in an online environment, and one part of the functional components may also be deployed in an offline environment, and the other part of the functional components may also be deployed in an online environment, for example, the recall training part in the recall server and the ranking training part in the ranking server may be deployed in an offline environment, and the recall service interface, the ranking service interface, and the recommendation service may be deployed in an online environment, so as to reduce a load of the online environment.
Optionally, as shown in fig. 5, the recommendation system may further provide a feature platform 107 for providing data support for the recommendation server, the recall server, and the ranking server. As shown in fig. 6, the feature platform may specifically perform timed task management, such as controlling the recall server and the ranking server to periodically query the recommendation server whether a new recommended task needs to be executed, and controlling the recall server and the ranking server to periodically perform model update. The feature platform can also be used for data preprocessing and feature file management, for example, the preset field pool is constructed, feature data is extracted from log files provided by a service party and provided to a recommendation server, a recall server and a sequencing server to execute recommendation tasks.
Optionally, the recommendation server is specifically configured to:
extracting a service party identification mark of a target service party from the recommendation request, wherein the service party identification mark is configured for the target service party by a recommendation server when the target service party is accessed into the recommendation system for the first time;
acquiring a preset recommendation configuration mapped and stored with a service party identification identifier;
determining a user distribution strategy and a plurality of recommendation strategies matched with a target service party according to preset recommendation configuration; and the number of the first and second groups,
and determining a target recommendation strategy of the target object from the plurality of recommendation strategies by using the user distribution strategy.
Optionally, the recommendation server is specifically configured to:
under the condition that the recommendation purpose of a target service party is determined to be article recommendation according to a recommendation request, a first feature field with the service association degree of the target service party being greater than or equal to a first threshold value is obtained from a preset field pool, and first user feature data, article feature data and first interaction data are extracted from a log file provided by the target service party based on the first feature field, wherein the first user feature data comprise behavior feature data and attribute feature data of a target object, the article feature data are feature data of alternative recommended articles, the first interaction data are used for representing interaction behavior relations between users and articles, and the feature data comprise the first user feature data, the article feature data and the first interaction data;
under the condition that the recommendation purpose of the target service party is determined to be user recommendation according to the recommendation request, a second characteristic field with the service association degree of the target service party being larger than or equal to a second threshold value is obtained from a preset field pool, first user characteristic data, second user characteristic data and second interaction data are extracted from a log file provided by the target service party based on the second characteristic field, wherein the second user characteristic data comprise behavior characteristic data and attribute characteristic data of an alternative recommendation user, the second interaction data are used for representing interaction behavior relation between the user and the user, and the characteristic data comprise the first user characteristic data, the second user characteristic data and the second interaction data.
Optionally, the recommendation server is further configured to:
acquiring a preset recall source configuration table according to a target recommendation strategy, and determining the proportional configuration of a plurality of recall sources based on the preset recall source configuration table; and the number of the first and second groups,
and sending a recall request of a plurality of recall sources to a recall server, wherein the recall request carries a target recommendation strategy, characteristic data and proportional configuration of the plurality of recall sources.
Optionally, the recall server is specifically configured to:
under the condition of receiving a recall request, utilizing a target recommendation strategy and characteristic data to recall from a plurality of recall sources one by one according to proportion configuration to obtain a recall result consistent with the proportion configuration; and the number of the first and second groups,
and after the recall result is subjected to recall index evaluation, returning the recall result to the recommendation server for storage.
Optionally, the recommendation server is further configured to:
acquiring a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table; and the number of the first and second groups,
and sending a sorting request to a sorting server, wherein the sorting request carries a target recommendation strategy, a recall result and target sorting configuration.
Optionally, the sorting server is specifically configured to:
under the condition of receiving a sorting request, sorting according to target sorting configuration by using a target recommendation strategy and a recall result to obtain a sorting result; and the number of the first and second groups,
and returning the sequencing result to the recommendation server and returning the sequencing result to the target service party.
Optionally, the plurality of recall models or the plurality of ranking models are obtained as follows:
acquiring a training set and a test set for recall training or sequencing training;
training the initial model by using a training set, and evaluating the trained initial model by using a test set; and the number of the first and second groups,
and under the condition that the evaluation result indicates that the evaluation index reaches the target threshold value, taking the trained initial model as a recall model or a ranking model, and storing the evaluation index of the recall model or the ranking model.
Optionally, the recommendation server is further configured to:
under the condition of receiving recommendation strategy configuration information sent by a target service party, generating a recall strategy expression and a sequencing strategy expression according to the recommendation strategy configuration information; and the number of the first and second groups,
and taking the recall strategy expression and the sequencing strategy expression as target recommendation strategies.
Optionally, the recommendation server is further configured to:
acquiring a preset operation position insertion strategy matched with a target service party, and selecting an alternative recommendation object before a target sequencing position from a sequencing result;
inserting the alternative recommended object before the target sorting position into the target operation position according to a preset operation position insertion strategy to obtain a recommendation result; and the number of the first and second groups,
and returning the recommendation result to the target service party.
According to another aspect of the embodiments of the present application, a recommendation method is provided, which can recommend different services for different applications, and has a stronger universality.
Alternatively, in the embodiment of the present application, the recommendation method may be applied to a hardware environment formed by the terminal 701 and the server 703 as shown in fig. 7. As shown in fig. 7, a server 703 is connected to the terminal 701 through a network, which may be used to provide services (such as recommendation service, recall service, ranking service, model training service, feature extraction service, etc.) for the terminal or a client installed on the terminal, and a database 705 may be provided on the server or separately from the server, and used to provide data storage services for the server 703, where the network includes but is not limited to: wide area network, metropolitan area network, or local area network, and the terminal 701 includes but is not limited to a PC, a cell phone, a tablet computer, and the like.
The recommendation method in the embodiment of the application may be executed by a recommendation system, and the recommendation system may be deployed in the hardware environment, and includes a recommendation server, a recall server, a ranking server, and the like. As shown in fig. 8, the method may include the steps of:
step S802, under the condition that a recommendation request aiming at a target object sent by a target service party is received, determining a target recommendation strategy of the target object according to a preset recommendation configuration matched with the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located;
step S804, selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and performing recall processing by using the characteristic data as input data of the target recall model to obtain a recall result;
step S806, selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result; and the number of the first and second groups,
and step S808, determining a recommendation result from the sequencing results, and returning the recommendation result to the target service party.
Through steps S802 to S808, the present application can select a feature field with higher service association for a service party to extract feature data from a log file provided by the service party based on a preset field pool covering all possible data fields of different services in different recommendation fields, and then recall training and sort training are performed on the feature data according to a target recommendation policy configured for the service party in advance, so as to finally obtain a recommendation result required by the service party, thereby solving the technical problem that a recommendation platform cannot be used universally.
It should be noted that the above steps S802 and S808 can be executed by the recommendation server, the step S804 can be executed by the recall server, and the step S806 can be executed by the ranking server.
Optionally, determining the target recommendation policy of the target object according to the preset recommendation configuration matched with the target service party includes:
step 1, extracting a service party identification mark of a target service party from a recommendation request, wherein the service party identification mark is configured for the target service party by a recommendation server when the target service party is firstly accessed into a recommendation system, and the recommendation system comprises the recommendation server, a recall server and a sequencing server;
step 2, acquiring a preset recommendation configuration mapped and stored with the service party identification identifier;
step 3, determining a user distribution strategy and a plurality of recommendation strategies matched with a target service party according to preset recommendation configuration; and the number of the first and second groups,
and 4, determining a target recommendation strategy of the target object from the plurality of recommendation strategies by using the user distribution strategy.
In the embodiment of the application, when each new application or new service is accessed, a new service party identification needs to be configured in a recommendation management background (i.e., a recommendation server), where the service party identification may be an APP ID or a Biz ID, and is used to identify different services applied to different applications, and configure a policy ID under the Biz ID. Therefore, when a recommendation request is sent to the recommendation server by a target service party, the recommendation server can extract a service party identification identifier of the target service party from the recommendation request, find a preset recommendation configuration preset for the target service party through the service party identification identifier, and finally find a user distribution strategy and a plurality of recommendation strategies of the target service party from the preset recommendation configuration, wherein the user distribution strategy is used for dividing different users into different recommendation strategies, and each recommendation strategy corresponds to a unique strategy ID. This user shunting strategy can set up according to user attribute, like sex, age and hobby, during the reposition of redundant personnel divide into different recommendation strategies according to user sex, age and hobby etc. and can also shunt the setting to user ID, as shown in Table 3:
TABLE 3
Biz ID | Policy ID | Of the shunt type | Shunting expression |
10001 | 20001 | Single digit number | 0,1,2,3,4 |
10001 | 20002 | Single digit number | 5,6,7,8,9 |
10002 | 20003 | Segmentation | [[0,1000],[2001,3000]] |
10002 | 20004 | Segmentation | [[1001,2000],[3001,4000]] |
Taking table 3 as an example, the user offloading policy may specifically be to construct an offloading expression. Under the same service, different recommendation strategies can be adopted for recommending different users, and the user ID and the adopted recommendation strategy are configured by the shunting expression. If the splitting type is a single digit, the user whose last digit of the user ID matches the splitting expression is split into the recommended policy, and for the service 10001 in table 3, the digit of the user 1091 is 1, and is split into the policy 20001; if the forking type is segmented, the user whose user ID falls within the forking expression segment is segmented into the policy recommendation, and as for the service 10002 in table 3, the user 1091 is segmented into the policy 20004.
Optionally, extracting feature data matched with the target service party from the log file provided by the target service party based on the preset field pool includes:
under the condition that the recommendation purpose of a target service party is determined to be article recommendation according to a recommendation request, a first feature field with the service association degree of the target service party being greater than or equal to a first threshold value is obtained from a preset field pool, and first user feature data, article feature data and first interaction data are extracted from a log file provided by the target service party based on the first feature field, wherein the first user feature data comprise behavior feature data and attribute feature data of a target object, the article feature data are feature data of alternative recommended articles, the first interaction data are used for representing interaction behavior relations between users and articles, and the feature data comprise the first user feature data, the article feature data and the first interaction data;
under the condition that the recommendation purpose of the target service party is determined to be user recommendation according to the recommendation request, a second characteristic field with the service association degree of the target service party being larger than or equal to a second threshold value is obtained from a preset field pool, first user characteristic data, second user characteristic data and second interaction data are extracted from a log file provided by the target service party based on the second characteristic field, wherein the second user characteristic data comprise behavior characteristic data and attribute characteristic data of an alternative recommendation user, the second interaction data are used for representing interaction behavior relation between the user and the user, and the characteristic data comprise the first user characteristic data, the second user characteristic data and the second interaction data.
In the embodiment of the present application, as shown in fig. 9, for user-item recommendation whose recommendation purpose is an item, data to be used in recommendation is user characteristic data (i.e., first user characteristic data) of a target object to receive recommendation, item characteristic data of a candidate recommended item, and user-item interaction data (i.e., first interaction data). For user-user recommendation of a user for recommendation purposes, user characteristic data (first user characteristic data) of a target object to be recommended, user characteristic data (second user characteristic data) of an alternative recommendation user, and user-user interaction data (second interaction data) are used. If the initiator of the user interaction behavior is regarded as the user and the receiver of the user interaction behavior is regarded as the article, the user-user recommendation can be regarded as a special case of the user-article recommendation, and the user and the article are both the user. Therefore, for user-user recommendation, only the labels are added in the corresponding Biz ID configuration, and the user characteristic data and the user-user interaction data are read according to the label selection during training, so that the relevant code flow of the user-article recommendation can be reused.
In this embodiment of the application, the first characteristic field and the second characteristic field may be obtained by calculating similarities between a plurality of characteristic fields in a preset field pool and service data of a target service party, selecting a characteristic field with the similarity greater than or equal to a first threshold as the first characteristic field, and selecting a characteristic field with the similarity greater than or equal to a second threshold as the second characteristic field, where the first threshold and the second threshold may be set according to actual conditions and actual needs.
In the embodiment of the application, the characteristic field can be determined and obtained based on the service type of the target service party.
In an alternative embodiment, the process of determining the service type of the target service party may be: determining description information of a target service party from a recommendation request aiming at a target object sent by the target service party; and determining a service type matched with the service description information as the service type of the target service party based on the corresponding relation between the preset description information and the service type.
In another alternative embodiment, the process of determining the service type of the target service party may be: determining description information of a target service party from a recommendation request aiming at a target object sent by the target service party; determining historical services with description information matched with the description information of the target service in each historical service which is accessed historically and serving as second reference services; and determining the service type of the target service party according to the service type of the second reference service.
And after the service type of the target service party is determined, determining the characteristic field according to the service type of the target service party. Specifically, determining the service type of the target service party as a target type; determining historical services with service types matched with the target types from various historical services which have been accessed historically, and using the historical services as first reference services; displaying the characteristic field of the first reference service as a display field; if the adjustment operation of the user on the display field is detected, adjusting the display field based on the adjustment operation; and if the confirmation operation of the user is detected, taking each field displayed currently as the characteristic field of the target service party. Or, specifically, determining the service type of the target service party as a target type; and extracting a field matched with the target type from a preset field pool as a characteristic field of the target service party.
In the embodiment of the application, the user can modify the display field through the interactive interface. The modified mode may be any of the following: addition, deletion and modification.
After the characteristic field of the target service party is obtained, the recall model and the sorting model can be used for recalling and sorting alternative recommendation results based on the characteristic field of the target service party, and then the recommendation result is obtained. Before the feature fields of the target business party are subjected to recall processing and sorting processing through the recall model and the sorting model, the recall model and the sorting model need to be trained by utilizing the feature fields of the target business party so as to enhance the adaptability of the recall model and the sorting model to the target business party.
Optionally, the method further comprises training the recall model or ranking model and updating the recall model or ranking model as follows:
step 1, acquiring a training set and a test set for recall training or sequencing training;
step 2, training an initial model by using the training set, and evaluating the trained initial model by using the test set;
step 3, under the condition that the evaluation result indicates that the evaluation index reaches a target threshold value, taking the trained initial model as the recall model or the ranking model, and storing the evaluation index of the recall model or the ranking model; and the number of the first and second groups,
and 4, replacing the existing model with the new model and storing the evaluation index of the new model under the condition that the evaluation index of the new model is superior to that of the existing model.
In step 1, a feature sample set needs to be determined from the historical information set based on the feature field, where the feature sample set includes a training set and a test set.
Because the service attributes are different, the collected historical information is also various, and therefore, for a specific service, the recommendation system and the research and development personnel of the target service party determine that a dotting log field needs to be provided. Such as e-commerce, it is necessary to provide field information of price, sales volume, etc. of goods. The news content service needs to provide the word number, the region field information, etc. of the news. The information in the history information set in the embodiment of the present application may include at least one of the following: the historical search log, the user log table and the material log table of the user can also contain other historical behavior logs of the user, such as historical click, contact, exposure, purchase and other behavior data.
The historical search logs of the user are reflected on search interaction, subjective preference of the user within a period of time is reflected, and each independent search behavior generates one search log. In a search, the user's actions typically include retrieval, exposure, and clicking. Each behavior log may be composed of some necessary fields, such as query, i.e. the searched keywords or sentences, behavior _ type, specific behavior, etc.
The user's log records the basic attributes and portrait information such as age, location, entry tags, etc. that the registered user filled in or annotated during activity. The user log can update the information of the user in time, so that some basic states of the user can be reflected conveniently.
The material log mainly refers to a recalled document in a search service, records some information after the document is created, and can update the log in time according to the modification made by the document. The searched materials log will typically record the url, title, content, etc. of the document.
In order to distinguish whether the user is the behavior generated by searching and recommending, the historical behavior searched by the user can also serve as the recommendation, and meanwhile, the search is not interfered by the recommendation data. Therefore, on the behavior log, behaviors such as clicking and the like of the material generated by the user can be divided into two types, and the behaviors generated in the search scene are recorded in the search behavior log; the behaviors generated in all scenes are recorded in a common behavior log and are used for constructing a behavior data set for recommendation training.
The log field of the search behavior needs to obtain a series of values for training through correlation, statistics, conversion, aggregation and other operations of the feature platform. For example, for e-commerce business, characteristics such as 30-day purchase of a commodity list by a user, recent one-hour browsing of the commodity list, average order amount and the like can be calculated from a user behavior log. For community content services, keywords of the content can be calculated, and NLP processing can obtain feature vectors of titles or abstracts and the like.
In an alternative embodiment, a set of historical information is obtained; wherein the log information comprises information collected for search behavior and non-search behavior of the user; constructing a first information set according to the search behavior information in the log information; constructing a second information set according to the non-search behavior information in the log information; and constructing the historical information set according to the first information set and the second information set.
After the historical information set is constructed, after the feature platform calculates and finishes a training set file (CSV file) according to a timing task, the rsync tool is moved to a designated folder of the training set. The rsync tool needs to set up a configuration file and the target address will be set by the recall service, the sort service.
And finally, extracting a characteristic sample set matched with the characteristic field of the target service party based on the historical information set.
In step 2, the initial model may be a plurality of candidate models. Optionally, the model in the embodiment of the present application is an artificial intelligence model, such as a LSTM (Long short-term memory) model, K-Nearest Neighbors, etc.
In this embodiment of the present application, a training period and parameters of each candidate model may be configured, and each candidate model is trained by using a training set according to the configuration information, taking training of candidate models of a ranking model as an example, the configuration information of the ranking model may be as shown in table 4:
TABLE 4
Different services have different recommendation requirements, so different feature selections can be configured for the target service party, the models can be ranked according to the selected features, and the requirements of the target service party can be better met. Different service corresponding to different sorting methods and different feature selections may be as shown in table 5:
TABLE 5
Biz ID | Sorting method | Price | Label (R) | Video duration | Authors refer to |
10001 | FM | √ | √ | ||
10001 | DeepFM | √ | |||
10002 | FM | √ | √ | √ |
In the embodiment of the application, for different services, recall methods and sorting methods which need training calculation can be configured, namely, only part of methods can be selected for training in a targeted manner, and methods which are not suitable for part of methods can be selected for not training. In addition, different training periods and model parameters can be set according to the service sub-models, and training processes are not interfered with one another, so that the training frequency can be increased for some models with short training time without being limited by other models with long training time. Thus, the recommendation effect on different services can be continuously optimized by adjusting these settings.
After determining the configuration information of each candidate model, the process of determining the model to be trained corresponding to the target service party in each candidate model may be:
s200: determining a type of a sample in the feature sample set; wherein the type of the sample is any one of: continuous, discrete, and sequential.
For some models, the selection of the full-scale features cannot achieve a better training effect. For example, FM and LR are not good at resolving continuous numerical features, but reflect better effects on categorical discrete features. And meanwhile, model selection training is provided, and models and feature combinations which have better offline indexes and can better express generalization performance in actual services are selected. This part of the function is integrated in the background of business model distribution management. The flexible test and timely adjustment of the effect are facilitated.
In an alternative embodiment, determining the type of the samples in the feature sample set may be: for each sample in the feature sample set, determining a first target feature from features of the sample; taking the type of the first target feature as the type of the sample; wherein the first target feature is a feature having the strongest characterization capability for the sample among the features. The characterization capabilities in this specification can be characterized by a positive contribution of the features to the convergence speed of the model during the training process. The higher the degree of improvement in the model convergence rate, the stronger the characterization ability of the feature. The characterization capability may be an empirical value.
In another optional embodiment, for each sample in the feature sample set, clustering features of the sample according to the type of the feature; taking the type of the features in the target class as the type of the sample; the target classes are the classes obtained by clustering, and the classes with the largest characteristic quantity comprise the classes.
Suitable models for the continuum model include: LightGBM, Catboost et al tree model, DNN. The model can identify the magnitude relationship of numerical values. Suitable models for discrete samples include: FM, LR, SVM model. Suitable models for the sequence-based samples include: an RNN structural model such as LSTM, a TextCNN model, or a pooling model.
S202: and determining an alternative model corresponding to the type of the feature from preset alternative models based on the corresponding relation between the preset feature type and the alternative models, and taking the alternative model as the model to be trained.
Feature types are classified into three categories on the platform: continuous type, discrete type, and sequential type, the model currently selectable by the platform also has different performance levels for the three feature types. The continuous type features are usually derived from floating point type numerical features, such as statistical type features, height, etc. Continuous features are often processed by bucket or integrated tree model training. The discrete features are generally classified features, and are the most common and more distributed features, because much data in the industry is characterized by id. The discrete features can reflect uniqueness, but cause problems of overlong input dimension and excessive sparseness, and can be generally input into a model through one-hot or hash or pre-trained into a dense vector. The discrete features tend to be relatively friendly in linear models such as FM, LR, etc. The sequence-type feature may also be referred to as a multi-valued feature, and commonly includes a multi-valued label, a time sequence, and the like. Sequence feature analysis is often complex, common coding is performed through a multi-onehot method, each element can be initialized and pooled, and in some scenes, time-sequence features are considered, and an RNN structural model is required to be pre-trained. Therefore, the feature processing modes of each type are different, and the expression effect of the model is greatly different. Therefore, the platform can obtain the corresponding type of each feature and the sequencing result of each model expression under the type, that is, the platform can judge the type of the feature according to the current feature and give the preferred sequencing of the model according to the type of the feature.
In the embodiment of the application, after the selected initial model is trained, the trained initial model needs to be evaluated by using a test set, and evaluation indexes can include accuracy, recall rate, mean square error, ROC-AUC value and the like. And under the condition that the evaluation result indicates that the evaluation index reaches a target threshold value, taking the trained initial model as the recall model or the ranking model, and saving the evaluation index of the recall model or the ranking model. The target threshold value can be set according to actual requirements. In addition, when the model is updated, if the evaluation index of the new model is superior to that of the existing model, the existing model is replaced by the new model, and the evaluation index of the new model is stored. An example of model evaluation and selection is shown in table 6:
TABLE 6
Biz ID | Sorting method | Model numbering | Offline index (json) | Activation of |
10001 | FM | 202001011235 | {"ROC-AUC":0.85,"rmse":0.08,…} | Is that |
10001 | FM | 201912311240 | {"ROC-AUC":0.80,"rmse":0.09,…} | Whether or not |
10001 | DeepFM | 202001011012 | {"ROC-AUC":0.91,"rmse":0.05,…} | Is that |
10001 | DeepFM | 201912311406 | {"ROC-AUC":0.87,"rmse":0.06,…} | Whether or not |
10002 | FM | 202001011943 | {"ROC-AUC":0.75,"rmse":0.12,…} | Is that |
10002 | FM | 201912311756 | {"ROC-AUC":0.73,"rmse":0.13,…} | Whether or not |
Optionally, after determining a target recommendation policy of the target object according to a preset recommendation configuration matched with the target service party and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, the method further includes:
step 1, acquiring a preset recall source configuration table according to a target recommendation strategy, and determining the proportional configuration of a plurality of recall sources based on the preset recall source configuration table;
step 2, sending recall requests of a plurality of recall sources to a recall service, wherein the recall requests carry target recommendation strategies, characteristic data and proportion configuration of the plurality of recall sources;
step 3, under the condition of receiving a recall request, utilizing a target recommendation strategy and characteristic data to recall from a plurality of recall sources one by one according to proportion configuration to obtain a recall result consistent with the proportion configuration; and the number of the first and second groups,
and 4, returning the recall result to the recommendation server.
In the embodiment of the application, different recommendation strategies comprise different recall sources and proportions among the configured recall sources, when a recommendation request is sent to a recommendation server by a target service direction, the recommendation server determines a target recommendation strategy of a target object through Biz ID in the request and ID of the target object, and searches recall sources and proportions configured by the strategy in a recall source configuration table of the target recommendation strategy, the recommendation server can send recall requests of the recall sources to the recall server, the recall requests carry target recommendation strategies, feature data and proportion configurations of the recall sources, and the recall server recalls from the recall sources one by one according to the proportion configurations by using the target recommendation strategy and the feature data to obtain recall results consistent with the proportion configurations. Or, the recommendation server may further send the recall request of each recall source to the recall server in sequence according to the recall source proportion, and after obtaining the recall results of each recall source, the recommendation server performs de-coincidence and obtains the recall result. Different recommendation strategies may configure different recall sources as shown in table 7:
TABLE 7
Policy ID | Recall source | Ratio of |
20001 | CF | 20% |
20001 | DSSM | 50% |
20001 | Hottest | 30% |
20002 | CF | 50% |
20002 | Hottest | 50% |
After the recall model of the target service party is obtained through the steps, the alternative recommendation results can be recalled from the plurality of recall sources based on the recall request.
In the embodiment of the application, after the recall server calculates the recall result, the recall result calculated this time can be sent to the recommendation server, and/or the recall result calculated this time can be stored in Redis to cover old data.
Optionally, after returning the recall result to the recommendation server, the method further includes:
step 1, acquiring a preset sorting configuration table, and determining a target sorting configuration of a target recommendation strategy based on the preset sorting configuration table;
step 2, sending a sorting request to a sorting server, wherein the sorting request carries a target recommendation strategy, a recall result and a target sorting configuration;
step 3, the sequencing server performs sequencing processing according to target sequencing configuration by using a target recommendation strategy and a recall result under the condition of receiving a sequencing request to obtain a sequencing result; and the number of the first and second groups,
and 4, the sequencing server returns the sequencing result to the recommendation server.
In the embodiment of the application, different recommendation strategies correspond to different sorting modes, and the recommendation server can obtain the 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 according to a target recommendation strategy, a recall result and a target sorting configuration carried in the sorting request to obtain a sorting result, or the sorting server can also obtain the recall result from Redis to perform sorting. Different recommendation strategies may be configured in different sorting manners as shown in table 8:
TABLE 8
Policy ID | Sorting mode |
20001 | FM |
20002 | DeepFM |
After the ranking model of the target business party is obtained through the steps, the recall result can be ranked based on the ranking request.
In the embodiment of the application, after the sorting server calculates the sorting result, the sorting server sends the calculated sorting result to the recommendation server.
Optionally, the determining the target recommendation policy of the target object according to the preset recommendation configuration matched with the target service party further includes:
step 1, under the condition of receiving recommendation strategy configuration information sent by a target service party, generating a recall strategy expression and a sequencing strategy expression according to the recommendation strategy configuration information; and the number of the first and second groups,
and 2, taking the recall strategy expression and the sequencing strategy expression as target recommendation strategies.
In the embodiment of the present application, as shown in table 9, the target recommendation policy may also be set according to actual requirements of a target service party, and for example, when the alternative recommendation content is recalled, the alternative recommendation content may be recalled according to actual requirements of the target service party. Different strategies are actually different rules, and different rules can be described by using rule expressions, for example, the rule type is screening, the screening expression is a simple character string, the character string is segmented by using the regular expression during use, or after screening requirements are extracted by using a Python-owned eval method, the article is filtered according to the requirements, and for example, the first item in the table 9 is an article with the screening price less than 50 and the article label of 3. If the rule type is weight reduction, providing each field of the weight reduction and corresponding weight, and ranking the articles according to the weight, wherein the second item in the table 9 is ranking the articles according to the weight, the price and the updating time. If the rule type is priority, providing an expression list according to the priority order, extracting the requirements by using a regular expression or eval method, and then sorting according to the requirements, wherein the third item in the table 9 is the item with the priority recommended price less than 50, the second item with the label of 3, and the third item with the other items.
TABLE 9
Biz ID | Rules recall source | Rule type | Rule expression (json) |
10001 | rule_10001_1 | Screening | "price<50&item_tag==3" |
10001 | rule_10001_2 | Descending right | {"weight":1,"price":-1,"update_time":0.1} |
10002 | rule_10002_1 | Priority level | ["price<50","item_tag==3"] |
Optionally, determining a recommendation result from the sorting result, and returning the recommendation result to the target service party includes:
step 1, acquiring a preset operator position insertion strategy matched with a target service party, and selecting an alternative recommendation object before a target sequencing position from a sequencing result;
step 2, inserting the alternative recommended objects before the target sorting position into the target operation position according to a preset operation position insertion strategy to obtain a recommendation result; and the number of the first and second groups,
and 3, returning the recommendation result to the target service party.
In the embodiment of the application, the recommendation server can select the first few alternative recommendation objects from the sequencing result and insert the alternative recommendation objects into the target operation position according to the preset operation position insertion strategy, so that a business party can directly recommend according to the recommendation result returned by the recommendation service, and the recommendation efficiency is improved. Table 10 shows different operator location insertion policies corresponding to different services:
watch 10
Optionally, the application may also perform an AB test, and after the user in the AB test performs a behavior (click, purchase, etc.) on the recommended item, the target service party will make a behavior log to the recommendation system. The recommendation service reads the behavior log at regular time, searches the corresponding recommendation strategy according to the user ID and the shunt expression, respectively counts the total times of all behaviors (clicking, purchasing and the like) generated by the user and covered by different recommendation strategies within a certain period of time, and calculates indexes such as click rate, conversion rate and the like so as to analyze the advantages and disadvantages of different recommendation strategies and further facilitate timely adjustment of the recommendation strategies.
According to another aspect of the embodiments of the present application, there is provided an electronic device, as shown in fig. 10, including a memory 1001, a processor 1003, a communication interface 1005 and a communication bus 1007, where the memory 1001 stores therein a computer program that is executable on the processor 1003, the memory 1001 and the processor 1003 communicate with each other through the communication interface 1005 and the communication bus 1007, and the processor 1003 implements the steps of the method when executing the computer program.
The memory and the processor in the electronic equipment are communicated with the communication interface through a communication bus. The communication bus may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus may be divided into an address bus, a data bus, a control bus, etc.
The Memory may include a Random Access Memory (RAM) or a non-volatile Memory (non-volatile Memory), such as at least one disk Memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The Processor may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the Integrated Circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, a discrete Gate or transistor logic device, or a discrete hardware component.
There is also provided, in accordance with yet another aspect of an embodiment of the present application, a computer program product or computer program comprising computer instructions 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 to cause the computer device to perform the steps of any of the embodiments described above.
Optionally, in an embodiment of the present application, a computer readable medium is configured to store program code for the processor to perform the following steps:
under the condition of receiving a recommendation request aiming at a target object sent by a target service party, determining a target recommendation strategy of the target object according to a preset recommendation configuration matched with the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located;
selecting a target recall model matched with the target recommendation strategy from the plurality of recall models, and performing recall processing by using the characteristic data as input data of the target recall model to obtain a recall result;
selecting a target sorting model matched with the target recommendation strategy from the plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result;
and determining a recommendation result from the sequencing results, and returning the recommendation result to the target service party.
Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment is not described herein again.
When the embodiments of the present application are specifically implemented, reference may be made to the above embodiments, and corresponding technical effects are achieved.
It is to be understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or any combination thereof. For a hardware implementation, the Processing units may be implemented within one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, other electronic units configured to perform the functions described herein, or a combination thereof.
For a software implementation, the techniques described herein may be implemented by means of units performing the functions described herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and in actual implementation, there may be other divisions, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solutions of the embodiments of the present application may be essentially implemented or make a contribution to the prior art, or may be implemented in the form of a software product stored in a storage medium and including several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the methods described in the embodiments of the present application. And the aforementioned storage medium includes: various media capable of storing program codes, such as a U disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk. It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The above description is merely exemplary of the present application and is presented to enable those skilled in the art to understand and practice the present application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the application. Thus, the present application is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims (13)
1. A recommendation system, comprising:
the recommendation server is used for determining a target recommendation strategy of a target object according to preset recommendation configuration matched with the target service party under the condition of receiving a recommendation request aiming at the target object and sent by the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the field where the target service party is located;
the recall server is used for selecting a target recall model matched with the target recommendation strategy from a plurality of recall models, and recalling the characteristic data as input data of the target recall model to obtain a recall result;
the sorting server is used for selecting a target sorting model matched with the target recommendation strategy from a plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result;
and the recommendation server is also used for determining a recommendation result from the sequencing result and returning the recommendation result to the target service party.
2. The system of claim 1, wherein the recommendation server is specifically configured to:
extracting a service party identification mark of the target service party from the recommendation request, wherein the service party identification mark is configured for the target service party by the recommendation server when the target service party is firstly accessed into the recommendation system;
acquiring the preset recommended configuration mapped and stored with the service party identification identifier;
determining a user distribution strategy and a plurality of recommendation strategies matched with the target service party according to the preset recommendation configuration; and the number of the first and second groups,
determining the target recommendation policy for the target object from the plurality of recommendation policies using the user offload policy.
3. The system of claim 1, wherein the recommendation server is specifically configured to:
under the condition that the recommendation purpose of the target service party is determined to be item recommendation according to the recommendation request, acquiring a first feature field of which the service association degree with the target service party is greater than or equal to a first threshold from the preset field pool, and extracting first user feature data, item feature data and first interaction data from the log file provided by the target service party based on the first feature field, wherein the first user feature data comprise behavior feature data and attribute feature data of the target object, the item feature data are feature data of alternative recommended items, the first interaction data are used for representing interaction behavior relation between a user and an item, and the feature data comprise the first user feature data, the item feature data and the first interaction data;
and under the condition that the recommendation purpose of the target service party is determined to be user recommendation according to the recommendation request, acquiring a second characteristic field of which the service association degree with the target service party is greater than or equal to a second threshold value from the preset field pool, and extracting first user characteristic data, second user characteristic data and second interaction data from the log file provided by the target service party based on the second characteristic field, wherein the second user data comprises behavior characteristic data and attribute characteristic data of an alternative recommended user, the second interaction data is used for representing an interaction behavior relationship between the user and the user, and the characteristic data comprises the first user characteristic data, the second user characteristic data and the second interaction data.
4. The system of claim 1, wherein the recommendation server is further configured to:
acquiring a preset recall source configuration table according to the target recommendation strategy, and determining the proportional configuration of a plurality of recall sources based on the preset recall source configuration table; and the number of the first and second groups,
sending a recall request of the plurality of recall sources to the recall server, wherein the recall request carries the target recommendation strategy, the feature data and the proportional configuration of the plurality of recall sources.
5. The system of claim 4, wherein the recall server is specifically configured to:
under the condition that the recall request is received, utilizing the target recommendation strategy and the feature data to recall from the plurality of recall sources one by one according to the proportion configuration to obtain the recall result consistent with the proportion configuration; and the number of the first and second groups,
and returning the recall result to the recommendation server.
6. The system of claim 1, wherein the recommendation server is further configured to:
acquiring a preset sorting configuration table, and determining the target sorting configuration of the target recommendation strategy based on the preset sorting configuration table; and the number of the first and second groups,
and sending a sorting request to the sorting server, wherein the sorting request carries the target recommendation strategy, the recall result and the target sorting configuration.
7. The system of claim 6, wherein the ranking server is specifically configured to:
under the condition that the sorting request is received, sorting processing is carried out according to the target sorting configuration by utilizing the target recommendation strategy and the recall result, and the sorting result is obtained; and the number of the first and second groups,
and returning the sorting result to the recommendation server to return to the target business party.
8. The system of claim 1, wherein the plurality of recall models or the plurality of ranking models are obtained as follows:
acquiring a training set and a test set for recall training or sequencing training;
training an initial model by using the training set, and evaluating the trained initial model by using the test set; and the number of the first and second groups,
and under the condition that the evaluation result indicates that the evaluation index reaches a target threshold value, taking the trained initial model as the recall model or the ranking model, and saving the evaluation index of the recall model or the ranking model.
9. The system of claim 1, wherein the recommendation server is further configured to:
under the condition that the recommendation strategy configuration information sent by the target service party is received, generating a recall strategy expression and a sequencing strategy expression according to the recommendation strategy configuration information; and the number of the first and second groups,
and taking the recall strategy expression and the sorting strategy expression as the target recommendation strategy.
10. The system of any of claims 1 to 9, wherein the recommendation server is further configured to:
acquiring a preset operator position insertion strategy matched with the target service party, and selecting an alternative recommended object before a target sequencing position from the sequencing result;
inserting the alternative recommended object before the target sorting position into a target operation position according to the preset operation position insertion strategy to obtain the recommendation result; and the number of the first and second groups,
and returning the recommendation result to the target service party.
11. A recommendation method, comprising:
under the condition of receiving a recommendation request aiming at a target object sent by a target service party, determining a target recommendation strategy of the target object according to a preset recommendation configuration matched with the target service party, and extracting feature data matched with the target service party from a log file provided by the target service party based on a preset field pool, wherein the preset field pool is constructed by collecting service data of a plurality of service fields in advance, and the plurality of service fields comprise the fields where the target service party is located;
selecting a target recall model matched with the target recommendation strategy from a plurality of recall models, and performing recall processing on the characteristic data serving as input data of the target recall model to obtain a recall result;
selecting a target sorting model matched with the target recommendation strategy from a plurality of sorting models, and sorting the recall result as input data of the target sorting model to obtain a sorting result; and the number of the first and second groups,
and determining a recommendation result from the sequencing results, and returning the recommendation result to the target service party.
12. An electronic device comprising a memory, a processor, a communication interface and a communication bus, wherein a computer program is stored in the memory and executable on the processor, and wherein the memory and the processor communicate with the communication interface via the communication bus, wherein the steps of the method as claimed in claim 11 are performed by the processor when the computer program is executed.
13. A computer-readable medium having non-volatile program code executable by a processor, wherein the program code causes the processor to perform the method of claim 11.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111671366.8A CN114297505A (en) | 2021-12-31 | 2021-12-31 | Recommendation system, recommendation method, recommendation device and computer readable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111671366.8A CN114297505A (en) | 2021-12-31 | 2021-12-31 | Recommendation system, recommendation method, recommendation device and computer readable medium |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114297505A true CN114297505A (en) | 2022-04-08 |
Family
ID=80974190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111671366.8A Pending CN114297505A (en) | 2021-12-31 | 2021-12-31 | Recommendation system, recommendation method, recommendation device and computer readable medium |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114297505A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984002A (en) * | 2023-02-22 | 2023-04-18 | 上海信宝博通电子商务有限公司 | Data processing method and device for vehicle transaction management |
CN116319648A (en) * | 2023-03-23 | 2023-06-23 | 携程旅游网络技术(上海)有限公司 | Message pushing method, system, equipment and storage medium based on third party platform |
CN116501976A (en) * | 2023-06-25 | 2023-07-28 | 浙江天猫技术有限公司 | Data recommendation, model training, similar user analysis methods, apparatus and media |
-
2021
- 2021-12-31 CN CN202111671366.8A patent/CN114297505A/en active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115984002A (en) * | 2023-02-22 | 2023-04-18 | 上海信宝博通电子商务有限公司 | Data processing method and device for vehicle transaction management |
CN115984002B (en) * | 2023-02-22 | 2024-01-16 | 上海信宝博通电子商务有限公司 | Data processing method and device for vehicle transaction management |
CN116319648A (en) * | 2023-03-23 | 2023-06-23 | 携程旅游网络技术(上海)有限公司 | Message pushing method, system, equipment and storage medium based on third party platform |
CN116501976A (en) * | 2023-06-25 | 2023-07-28 | 浙江天猫技术有限公司 | Data recommendation, model training, similar user analysis methods, apparatus and media |
CN116501976B (en) * | 2023-06-25 | 2023-11-17 | 浙江天猫技术有限公司 | Data recommendation, model training, similar user analysis methods, apparatus and media |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107424043B (en) | Product recommendation method and device and electronic equipment | |
CN110543598B (en) | Information recommendation method and device and terminal | |
CN111523976B (en) | Commodity recommendation method and device, electronic equipment and storage medium | |
CN105224699B (en) | News recommendation method and device | |
WO2019214245A1 (en) | Information pushing method and apparatus, and terminal device and storage medium | |
CN102483745B (en) | Co-selected image classification | |
CN114297505A (en) | Recommendation system, recommendation method, recommendation device and computer readable medium | |
US10152479B1 (en) | Selecting representative media items based on match information | |
CN111709812A (en) | E-commerce platform commodity recommendation method and system based on user dynamic classification | |
CN109492180A (en) | Resource recommendation method, device, computer equipment and computer readable storage medium | |
CN106708821A (en) | User personalized shopping behavior-based commodity recommendation method | |
CN110175895B (en) | Article recommendation method and device | |
CN107153656B (en) | Information searching method and device | |
CN112052387B (en) | Content recommendation method, device and computer readable storage medium | |
EP2668590A1 (en) | Identifying categorized misplacement | |
CN111191111B (en) | Content recommendation method, device and storage medium | |
CN109241451B (en) | Content combination recommendation method and device and readable storage medium | |
CN111143655A (en) | Method for calculating news popularity | |
CN105630836A (en) | Searching result sorting method and apparatus | |
CN114329207A (en) | Multi-service information sequencing system, method, storage medium and electronic equipment | |
CN113077317A (en) | Item recommendation method, device and equipment based on user data and storage medium | |
CN112685635A (en) | Item recommendation method, device, server and storage medium based on classification label | |
Liu et al. | Question popularity analysis and prediction in community question answering services | |
CN114693409A (en) | Product matching method, device, computer equipment, storage medium and program product | |
CN117745349A (en) | Personalized coupon pushing method and system based on user characteristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |