Resource recommendation method, device and system

Through multi-scenario combination experiments and optimized processing strategies, the matching problem of existing resource recommendation technologies in multiple scenarios was solved, and flexible and efficient resource recommendation was achieved.

CN118277661BActive Publication Date: 2026-06-26BAIDU COM TIMES TECH (BEIJING) CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BAIDU COM TIMES TECH (BEIJING) CO LTD
Filing Date
2024-03-21
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing resource recommendation technologies struggle to efficiently match users and resources across multiple scenarios, resulting in poor recommendation performance.

Method used

Experiments were constructed by combining multiple scenarios, matching users with user-dimensional scenarios and resource-dimensional scenarios respectively, and optimizing target resources according to the optimization processing strategy of the experiment to achieve resource recommendation.

Benefits of technology

It improves the flexibility and efficiency of resource recommendation, makes resource recommendation adjustable and controllable, and enhances the recommendation effect.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118277661B_ABST
    Figure CN118277661B_ABST
Patent Text Reader

Abstract

The present disclosure provides resource recommendation methods, devices and systems, relating to the field of artificial intelligence such as intelligent recommendation, distributed storage and database. The method can comprise: obtaining a recommendation request of a first user; for each experiment online, the following processing is performed respectively: matching the first user with a user dimension scene in the experiment, in response to determining that the matching is successful, matching each resource to be recommended with a resource dimension scene in the experiment, and taking the matching successful resource as a target resource, the experiment including at least two scenes, each scene belonging to a user dimension scene or a resource dimension scene; performing optimization processing on the target resource according to the optimization processing strategy corresponding to the experiment; and combining the optimization processing result to recommend resources for the first user from the resources to be recommended.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of artificial intelligence technology, and in particular to resource recommendation methods, apparatus and systems in the fields of intelligent recommendation, distributed storage and databases. Background Technology

[0002] Currently, resource recommendation technology is needed in many situations. For example, with the popularity of short videos, recommending short videos that users like is an important way to increase user stickiness. Summary of the Invention

[0003] This disclosure provides methods, apparatus, electronic devices, and storage media for resource recommendation.

[0004] A resource recommendation method, comprising:

[0005] Obtain the first user's recommendation request;

[0006] For each online experiment, the following processing is performed: the first user is matched with the user-dimensional scenario in the experiment; in response to a successful match, each resource to be recommended is matched with the resource-dimensional scenario in the experiment, and the successfully matched resource is taken as the target resource. The experiment includes at least two scenarios, each of which belongs to either the user-dimensional scenario or the resource-dimensional scenario; the target resource is optimized according to the optimization processing strategy corresponding to the experiment.

[0007] Based on the optimization results, resource recommendations are made for the first user from the resources to be recommended.

[0008] A resource recommendation device includes: an acquisition module, a processing module, and a recommendation module;

[0009] The acquisition module is used to acquire the recommendation request of the first user;

[0010] The processing module is used to perform the following processing for each online experiment: matching the first user with the user-dimensional scenario in the experiment; in response to determining a successful match, matching each resource to be recommended with the resource-dimensional scenario in the experiment, and taking the successfully matched resource as the target resource; the experiment includes at least two scenarios, each scenario belonging to either the user-dimensional scenario or the resource-dimensional scenario; and optimizing the target resource according to the optimization processing strategy corresponding to the experiment.

[0011] The recommendation module is used to recommend resources to the first user from the resources to be recommended, based on the optimization processing results.

[0012] A resource recommendation system, comprising:

[0013] The resource recommendation device and configuration platform described above;

[0014] The configuration platform is used by the second user to edit and generate configuration description files. Each experiment belongs to a separate configuration description file, and each configuration description file includes at least one experiment.

[0015] An electronic device, comprising:

[0016] At least one processor; and

[0017] A memory communicatively connected to the at least one processor; wherein,

[0018] The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method described above.

[0019] A non-transitory computer-readable storage medium storing computer instructions for causing a computer to perform the methods described above.

[0020] A computer program product includes a computer program / instructions that, when executed by a processor, implement the method described above.

[0021] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description

[0022] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein:

[0023] Figure 1 This is a flowchart of an embodiment of the resource recommendation method described in this disclosure;

[0024] Figure 2 This is a schematic diagram of the composition structure of the first embodiment 200 of the resource recommendation device described in this disclosure;

[0025] Figure 3 This is a schematic diagram of the composition structure of the second embodiment 300 of the resource recommendation device described in this disclosure;

[0026] Figure 4 This is a schematic diagram of the composition structure of the first embodiment 400 of the resource recommendation system described in this disclosure;

[0027] Figure 5 This is a schematic diagram of the composition structure of the second embodiment 500 of the resource recommendation system described in this disclosure;

[0028] Figure 6 A schematic block diagram of an electronic device 600 that can be used to implement embodiments of the present disclosure is shown. Detailed Implementation

[0029] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.

[0030] Furthermore, it should be understood that the term "and / or" in this article is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this article generally indicates that the preceding and following related objects have an "or" relationship.

[0031] Figure 1 This is a flowchart illustrating an embodiment of the resource recommendation method described in this disclosure. Figure 1 As shown, the specific implementation methods are as follows.

[0032] In step 101, the recommendation request of the first user is obtained.

[0033] In step 102, for each online experiment, the following processing is performed: the first user is matched with the user dimension scenario in the experiment. In response to the successful matching, each resource to be recommended is matched with the resource dimension scenario in the experiment, and the successfully matched resource is taken as the target resource. The experiment includes at least two scenarios, each of which belongs to the user dimension scenario or the resource dimension scenario. The target resource is optimized according to the optimization processing strategy corresponding to the experiment.

[0034] In step 103, resource recommendations are made for the first user from the resources to be recommended, based on the optimization results.

[0035] Using the above-described method, experiments can be constructed through a combination of multiple scenarios, and resources can be recommended to users based on the experiments. In addition, the scenarios included in the experiments can be adjusted at any time according to actual needs, which is very flexible and convenient, and achieves adjustable and controllable resource recommendations.

[0036] The resource mentioned can refer to video. Additionally, "first user" refers to an online user, not a specific user, and a recommendation request refers to an online request initiated by the first user.

[0037] After obtaining the recommendation request from the first user, the same approach can be used to process each online experiment. That is, for each experiment, the first user can be matched with the user dimension scenario in that experiment. In response to the confirmation of a successful match, each resource to be recommended can be matched with the resource dimension scenario in that experiment. The successfully matched resource can be used as the target resource. Furthermore, the target resource can be optimized according to the optimization processing strategy corresponding to that experiment.

[0038] Each experiment includes at least two scenarios, each belonging to either the user dimension scenario or the resource dimension scenario.

[0039] Taking videos as an example of resources to be recommended, the scenarios may include: source, user attributes, video, and small-traffic sampling, etc.

[0040] Here, "source" refers to the source of traffic, such as different channels, including live streams, trending topics, followed content, and group buying. User attributes can refer to the user's gender, age, frequency of product use, and duration of use. "Video" can refer to the video type, duration, and number of views; video types can include food, travel, movies, games, and comedy. Furthermore, multi-scenario combinations usually require experimental verification; therefore, small-scale traffic sampling can also be considered a scenario.

[0041] Preferably, the aforementioned sources, user attributes, and small-volume sampling constitute the user-dimensional scenario, while the aforementioned videos constitute the resource-dimensional scenario.

[0042] Preferably, each scenario may include at least one logical rule unit. Accordingly, for any experiment, matching the first user with the user dimension scenario in the experiment may include: matching the first user with the logical rule unit in the user dimension scenario. Similarly, matching each resource to be recommended with the resource dimension scenario in the experiment may include: for any resource, matching the resource with the logical rule unit in the resource dimension scenario.

[0043] In other words, a unified format can be used to organize various scenarios, i.e., to provide logical descriptions, thereby facilitating editing, management, and maintenance.

[0044] For any scenario, when the number of logical rule units included is greater than one, the logical rule units can be related by "and" or "or".

[0045] Accordingly, preferably, the number of user dimension scenarios can be greater than one. For any experiment, matching the first user with the user dimension scenario in that experiment may include: for any user dimension scenario, performing the following processing respectively: in response to determining that the user dimension scenario includes only one logical rule unit and determining that the first user matches the logical rule unit, in response to determining that the user dimension scenario includes at least two logical rule units and determining that the at least two logical rule units are in an AND relationship, when the first user matches both of the at least two logical rule units, determining that the first user matches the user dimension scenario; in response to determining that the user dimension scenario includes at least two logical rule units and determining that the at least two logical rule units are in an OR relationship, when the first user matches any one of the at least two logical rule units, determining that the first user matches the user dimension scenario; in addition, in response to determining that the first user matches all user dimension scenarios, it can be determined that the matching is successful.

[0046] Similarly, the number of resource dimension scenarios can be equal to one. For any resource, matching the resource with the logical rule units in the resource dimension scenarios can include: in response to determining that the resource dimension scenario includes only one logical rule unit and that the resource matches the logical rule unit, the resource is designated as the target resource; in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an AND relationship, the resource is designated as the target resource when it matches all logical rule units; in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an OR relationship, the resource is designated as the target resource when it matches any one of the at least two logical rule units.

[0047] As can be seen from the above processing method, the solution described in this disclosure is applicable to various situations. That is, the number of logical rule units included in the same scenario can be one or more, and the relationship between multiple logical rule units can be AND or OR. It can be set according to actual needs, which is very flexible and convenient.

[0048] Preferably, each logical rule unit may include: a logical symbol, a field name, and a reference value corresponding to the field name. Accordingly, matching a first user with any logical rule unit may include: the relationship between the value of the first user corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol. Matching any resource with any logical rule unit may include: the relationship between the value of the resource corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol.

[0049] For example, each logical rule unit can be represented as: "$op":["$fileld",$value], where $op represents the logical symbol of the operation, such as equality, inclusion, greater than, etc., $fileld represents the configured field name, such as channel, gender, age, etc., and $value represents the value corresponding to the configured field. For ease of description, the scheme described in this disclosure refers to it as a reference value, which is related to $op. In terms of format, $value can be a single item or an array (i.e., multiple items).

[0050] $field (dynamic) and $value (static) can be used to determine whether a specific rule is met through $op. If it is met, it means a match has been made; otherwise, it means a match has not been made.

[0051] Example 1:

[0052] "s_in":[

[0053] "sid",["1123231","2343112"] ];

[0055] If the security identifier (SID) of the first user is contained in ["1123231","2343112"], it is considered a hit; otherwise, it is considered a miss.

[0056] Example 2:

[0057] ">":[

[0058] "video_play_time", 100; ];

[0060] This means that if the video playback duration is greater than 100, it is considered a hit; otherwise, it is considered a miss.

[0061] In addition, Table 1 shows the specific meanings of various logical symbols (op):

[0062] op name meaning > Greater than, where $value is an item of integer type (int). >= Greater than or equal to, $value is an item of type int. < Less than, $value is an item of type int <= Less than or equal to, $value is an item of type int. == It is equal to $value, which is an item of type int. != Not equal to, $value is an item of type int. s_in It contains multiple values, each of type string. s_eq If they are equal, $value represents an item of type string. s_neq They are not equal; $value is an item of type string. Other custom types …

[0063] Table 1: Specific meanings of various op symbols

[0064] For ease of parsing, a lightweight data exchange format (JSON) can be used for organization. Accordingly, a complete multi-scenario combination experiment can be shown below:

[0065]

[0066]

[0067]

[0068] As can be seen, the above experiment includes four scenarios, of which scenario 1, scenario 2 and scenario 3 are user-dimensional scenarios, and scenario 4 is a resource-dimensional scenario.

[0069] After obtaining the recommendation request from the first user, for the above experiment, we can first determine whether the first user's SID is contained in ["1123231", "2343112"]. If not, the judgment ends. If yes, we further determine whether the source is a live channel. If not, the judgment ends. If yes, we further determine whether the first user meets the following conditions at the same time: male gender and age greater than or equal to 21 years old and less than or equal to 25 years old. If not, the judgment ends. If yes, we further determine whether there are any videos of the game or movie type among the resources to be recommended, or whether there are any videos with more than 10,000 views. If so, the corresponding videos can be used as target videos.

[0070] Furthermore, for any given experiment, the target video can be optimized according to the optimization processing strategy corresponding to that experiment.

[0071] Preferably, in response to determining that the optimization processing strategy is a filtering strategy, the target resource can be filtered out from the first set, which is a set of resources to be recommended. In response to determining that the optimization processing strategy is a weighting strategy, the weight of the target resource in resource recommendation can be increased by a predetermined amount. In response to determining that the optimization processing strategy is a diversity strategy, the diversity list used for resource recommendation can be updated according to the target resource.

[0072] For example, assuming the first set contains 3000 videos, and the experiment identifies 5 target resources (5 target videos), these 5 target resources can be filtered out from the first set. Alternatively, assuming the experiment identifies 5 target resources, the weight of these 5 target resources can be increased; the specific increase can be determined according to actual needs, thereby increasing the likelihood of these 5 target resources being selected during resource recommendation. Furthermore, assuming the experiment identifies 5 target resources, the diversity list can be updated based on the type of these 5 target resources to reduce similar recommendations in the future.

[0073] The specific optimization strategy corresponding to different experiments can be determined based on actual needs. Furthermore, the same experiment can correspond to one optimization strategy or multiple optimization strategies.

[0074] Furthermore, based on the optimization results, resources can be recommended to the first user from among the resources to be recommended using traditional methods. In this process, optimizing the target resources allows for preprocessing of the resources to be recommended using experiments, thereby improving subsequent recommendation efficiency and effectiveness.

[0075] The entity executing the resource recommendation method described above can be a recommendation system.

[0076] Preferably, each experiment belongs to a separate configuration description file, and each configuration description file includes at least one experiment. The configuration description file is generated by the second user through the configuration platform.

[0077] The second user refers to the configuration user, not a specific user. The second user can operate on the configuration platform to edit and generate the required configuration description files.

[0078] For example, a second user can select the desired scenario on the interface displayed on the configuration platform and combine them to obtain the required configuration description file. Alternatively, for commonly used combined scenarios, they can be packaged in the form of scenario groups for ease of use. For example, scenario group 1 can package male users aged 18-25, and scenario group 2 can package female users aged 25-30, etc.

[0079] The configuration platform allows second users to easily and quickly edit and generate the required configuration description files, thus laying a good foundation for subsequent processing.

[0080] Preferably, each experiment that goes online may include: each experiment that is published online through a hierarchical publishing method after the publishing system obtains the configuration description file and assigns it a unique version number. The publishing system is also used to update the version number accordingly after determining that the second user has updated the configuration description file, and supports the second user to perform version rollback processing of the configuration description file.

[0081] Additionally, preferably, the generated configuration description file can be stored in a pre-editing database, which may include a relational database. The hierarchical release method may include sequentially writing the configuration description file with assigned version numbers to databases of different levels, with a predetermined time interval between adjacent writes. The different levels of databases may include non-relational databases. The specific value of the predetermined time interval can be determined according to actual needs.

[0082] The configuration description file edited and generated by the second user in the configuration platform is equivalent to a pre-edited draft file, which can be saved in the pre-editing database. In addition to storing the edited configuration description file, the pre-editing database can also store operator information (i.e., second user information) and operation time information, etc. Furthermore, the pre-editing database can be a relational database, such as a My Structured Query Language (MySQL) database, to facilitate queries based on conditions.

[0083] When the deployment system publishes a configuration description file, it assigns a unique version number and implements a tiered deployment approach. This involves deploying to a subset of machines first, observing whether it meets expectations, and then continuing the deployment. For example, it might first write to the Tier 1 database, wait a period before writing to the Tier 2 database, and so on, until all machines are deployed, thus deploying all databases across different tiers. This tiered deployment approach prevents system crashes due to anomalies. The databases for different tiers can be non-relational databases, such as a remote dictionary server (Redis), to improve access efficiency. The Redis database can use different keys to distinguish tiers, such as stage 1, stage 2, and stage 3. Each stage represents a tier, and deploying to a different stage means writing to the appropriate key.

[0084] As can be seen from the above introduction, after the second user generates the configuration description file, it needs to be applied to the recommendation system. Accordingly, data interaction can be carried out through the database. The publishing system writes the data into the database, and the recommendation system retrieves the data from the database to signify that the configuration has been applied. Furthermore, the publishing system can adopt a hierarchical control method when the configuration is applied.

[0085] In addition, the publishing system can also be used to update the version number accordingly after confirming that a second user has updated the configuration description file, and it supports the second user in performing version rollback processing of the configuration description file. For example, suppose the configuration description file contains three experiments: Experiment 1, Experiment 2, and Experiment 3. If the second user modifies Experiment 1, it means that the configuration description file has been updated, and correspondingly, the version number needs to be updated. Furthermore, if unexpected situations occur, the second user can also perform rollback processing, such as reverting to the previous version.

[0086] In addition, for the tiered release method described in this disclosure, the version status of each stage can also be recorded, such as using a separate data table to record the version number of each stage. When releasing in a tiered manner, the version number of the corresponding stage needs to be updated simultaneously to prevent confusion and facilitate rollback processing.

[0087] Preferably, the request volume and request ratio matching each experiment can also be obtained separately, and the influence surface of each experiment can be determined based on the obtained results, and / or the influence effect of each experiment on the recommendation results can be determined based on the resource recommendation results. For any experiment, the request ratio is the proportion of the request volume matching that experiment to the total request volume.

[0088] For example, for any given experiment, the number and proportion of requests matching the experiment within a predetermined timeframe (the specific value can be determined according to actual needs) can be statistically analyzed. The impact of the experiment can be determined based on the statistical results, i.e., the number of users affected. The method for determining the impact is not limited; for example, a predetermined formula can be used to calculate the impact. Furthermore, the recommendation results obtained after recommending resources according to the scheme described in this disclosure can be compared with the recommendation results obtained by directly recommending resources using traditional methods. The comparison results can then determine the impact of each experiment on the recommendation results, such as its impact on the accuracy of the recommendation results.

[0089] As can be seen, the above processing method can be used to obtain experimental results quickly and easily to verify the experiment. Accordingly, after meeting the expectations, full recommendation can be carried out, and it can be applied to all recommendation scenarios.

[0090] It should be noted that, for the sake of simplicity, the foregoing method embodiments are described as a series of actions. However, those skilled in the art should understand that this disclosure is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this disclosure. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this disclosure.

[0091] The above is an introduction to the method embodiments. The following describes the solution described in this disclosure further through device and system embodiments.

[0092] Figure 2 This is a schematic diagram of the structural composition of the first embodiment 200 of the resource recommendation device described in this disclosure. Figure 2 As shown, it includes: an acquisition module 201, a processing module 202, and a recommendation module 203.

[0093] The acquisition module 201 is used to acquire the recommendation request of the first user.

[0094] The processing module 202 is used to perform the following processing for each online experiment: matching the first user with the user dimension scenario in the experiment; in response to confirming a successful match, matching each resource to be recommended with the resource dimension scenario in the experiment, and taking the successfully matched resource as the target resource. The experiment includes at least two scenarios, each of which belongs to either the user dimension scenario or the resource dimension scenario; and optimizing the target resource according to the optimization processing strategy corresponding to the experiment.

[0095] The recommendation module 203 is used to recommend resources to the first user from among the resources to be recommended, based on the optimization processing results.

[0096] Using the above-described device embodiment, experiments can be constructed through a combination of multiple scenarios, and resources can be recommended to users based on the experiments. In addition, the scenarios included in the experiments can be adjusted at any time according to actual needs, which is very flexible and convenient, and achieves adjustable and controllable resource recommendations.

[0097] Preferably, each scenario may include at least one logical rule unit. Accordingly, for any experiment, the processing module 202 may match the first user with the user dimension scenario in the experiment by matching the first user with the logical rule unit in the user dimension scenario. Similarly, the processing module 202 may match each resource to be recommended with the resource dimension scenario in the experiment by matching each resource with the logical rule unit in the resource dimension scenario.

[0098] Preferably, the number of user dimension scenarios can be greater than one. For any experiment, the processing module 202 can match the first user with the user dimension scenarios in that experiment, which may include the following processing for each user dimension scenario: In response to determining that the user dimension scenario includes only one logical rule unit and determining that the first user matches the logical rule unit, in response to determining that the user dimension scenario includes at least two logical rule units and determining that the at least two logical rule units are in an AND relationship, when the first user matches both of the at least two logical rule units, the first user is determined to be matched with the user dimension scenario; in response to determining that the user dimension scenario includes at least two logical rule units and determining that the at least two logical rule units are in an OR relationship, when the first user matches any one of the at least two logical rule units, the first user is determined to be matched with the user dimension scenario; in addition, in response to determining that the first user matches all user dimension scenarios, the matching can be determined to be successful.

[0099] Preferably, the user dimension scenario may include: small-volume sampling, source, and user attributes.

[0100] Additionally, preferably, the number of resource dimension scenarios can be equal to one. For any resource, the processing module 202 can match the resource with the logical rule units in the resource dimension scenarios. This can include: in response to determining that the resource dimension scenario includes only one logical rule unit and that the resource matches the logical rule unit, the resource is designated as the target resource; in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an AND relationship, the resource is designated as the target resource when it matches all logical rule units; in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an OR relationship, the resource is designated as the target resource when it matches any one of the at least two logical rule units.

[0101] Preferably, each logical rule unit may include: a logical symbol, a field name, and a reference value corresponding to the field name. Accordingly, matching a first user with any logical rule unit may include: the relationship between the value of the first user corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol. Matching any resource with any logical rule unit may include: the relationship between the value of the resource corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol.

[0102] In addition, preferably, in response to determining that the optimization processing strategy is a filtering strategy, the processing module 202 can filter out the target resource from the first set, which is a set of resources to be recommended; in response to determining that the optimization processing strategy is a weighting strategy, the weight of the target resource in resource recommendation can be increased by a predetermined amount; and in response to determining that the optimization processing strategy is a diversity strategy, the diversity list used for resource recommendation can be updated according to the target resource.

[0103] Figure 3 This is a schematic diagram of the structural composition of the second embodiment 300 of the resource recommendation device described in this disclosure. Figure 3 As shown, it includes: an acquisition module 201, a processing module 202, a recommendation module 203, and a verification module 204.

[0104] Among them, the acquisition module 201, the processing module 202, and the recommendation module 203 are... Figure 2 The same applies to the embodiments shown.

[0105] The verification module 204 is used to obtain the request volume and request ratio that match each experiment, determine the impact of each experiment based on the acquisition results, and / or determine the impact of each experiment on the recommendation results based on the resource recommendation results. For any experiment, the request ratio is the proportion of the request volume that matches the experiment to the total request volume.

[0106] Figure 4 This is a schematic diagram of the structural composition of the first embodiment 400 of the resource recommendation system described in this disclosure. Figure 4 As shown, it includes: a resource recommendation device 401 and a configuration platform 402.

[0107] Among them, the resource recommendation device 401 can be used as Figure 2 or Figure 3 The resource recommendation device shown corresponds to the recommendation system described in the method embodiment section.

[0108] Configuration platform 402 is used by a second user to edit and generate configuration description files. Each experiment belongs to a separate configuration description file, and each configuration description file includes at least one experiment.

[0109] Figure 5 This is a schematic diagram of the structural composition of the second embodiment 500 of the resource recommendation system described in this disclosure. Figure 5 As shown, it includes: a resource recommendation device 401, a configuration platform 402, and a publishing system 403.

[0110] The publishing system 403 is used to assign a unique version number to the configuration description file edited and generated by the second user according to the configuration platform 402, publish each experiment in it to the online platform in a hierarchical manner, update the version number accordingly after determining that the second user has updated the configuration description file, and support the second user to perform version rollback processing of the configuration description file.

[0111] In addition, preferably, Figure 4 and Figure 5 In the illustrated embodiment, the configuration description file generated by editing can be stored in a pre-editing database, which may include a relational database; the hierarchical release method may include: sequentially writing the configuration description file after assigning a version number to databases of different levels, with a predetermined time interval between two adjacent writes, and the databases of different levels may include non-relational databases.

[0112] The specific workflow of the above-described apparatus and system embodiments can be found in the relevant descriptions in the foregoing method embodiments, and will not be repeated hereafter.

[0113] The solutions described in this disclosure can be applied to the field of artificial intelligence, particularly in areas such as intelligent recommendation, distributed storage, and databases. Artificial intelligence is the study of enabling computers to simulate certain human thought processes and intelligent behaviors (such as learning, reasoning, thinking, and planning). It involves both hardware and software technologies. Artificial intelligence hardware technologies generally include sensors, dedicated AI chips, cloud computing, distributed storage, and big data processing. Artificial intelligence software technologies mainly include computer vision, speech recognition, natural language processing, machine learning / deep learning, big data processing, and knowledge graph technologies.

[0114] Furthermore, the configuration description files and experiments described in the embodiments of this disclosure are not targeted at any specific user and do not reflect the personal information of any specific user. The collection, storage, use, processing, transmission, provision, and disclosure of user personal information involved in the technical solutions of this disclosure all comply with relevant laws and regulations and do not violate public order and good morals.

[0115] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.

[0116] Figure 6 A schematic block diagram of an electronic device 600 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workbenches, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0117] like Figure 6 As shown, device 600 includes a computing unit 601, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 602 or a computer program loaded from storage unit 608 into random access memory (RAM) 603. RAM 603 may also store various programs and data required for the operation of device 600. The computing unit 601, ROM 602, and RAM 603 are interconnected via bus 604. Input / output (I / O) interface 605 is also connected to bus 604.

[0118] Multiple components in device 600 are connected to I / O interface 605, including: input unit 606, such as keyboard, mouse, etc.; output unit 607, such as various types of monitors, speakers, etc.; storage unit 608, such as disk, optical disk, etc.; and communication unit 609, such as network card, modem, wireless transceiver, etc. Communication unit 609 allows device 600 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0119] The computing unit 601 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 601 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 601 performs the various methods and processes described above, such as those described in this disclosure. For example, in some embodiments, the methods described in this disclosure can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 608. In some embodiments, part or all of the computer program can be loaded and / or installed on device 600 via ROM 602 and / or communication unit 609. When the computer program is loaded into RAM 603 and executed by the computing unit 601, one or more steps of the methods described in this disclosure can be performed. Alternatively, in other embodiments, the computing unit 601 can be configured to perform the methods described in this disclosure by any other suitable means (e.g., by means of firmware).

[0120] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0121] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data processing apparatus, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0122] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0123] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device for displaying information to the user (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor); and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).

[0124] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include frontend components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with embodiments of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.

[0125] Computer systems can include clients and servers. Clients and servers are generally located far apart and typically interact via communication networks. Client-server relationships are created by computer programs running on the respective computers and having a client-server relationship with each other. Servers can be cloud servers, servers in distributed systems, or servers incorporating blockchain technology.

[0126] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure can be achieved, and this is not limited herein.

[0127] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure should be included within the scope of protection of this disclosure.

Claims

1. A resource recommendation method, comprising: Obtain the first user's recommendation request; For each online experiment, the following processing is performed: the first user is matched with the user-dimensional scenario in the experiment; in response to a successful match, each resource to be recommended is matched with the resource-dimensional scenario in the experiment, and the successfully matched resource is taken as the target resource. The experiment includes at least two scenarios, each of which belongs to either the user-dimensional scenario or the resource-dimensional scenario; the target resource is optimized according to the optimization processing strategy corresponding to the experiment. Based on the optimization results, resource recommendations are made for the first user from the resources to be recommended.

2. The method according to claim 1, wherein, Each scenario includes at least one logical rule unit; The step of matching the first user with the user-dimensional scenario in the experiment includes: matching the first user with the logical rule unit in the user-dimensional scenario; The step of matching each resource to be recommended with the resource dimension scenario in the experiment includes: for any resource, matching the resource with the logical rule unit in the resource dimension scenario.

3. The method according to claim 2, wherein, The number of user-dimensional scenarios is greater than one; the matching of the first user with the user-dimensional scenarios in the experiment includes: For any user-centric scenario, the following processing is performed: In response to determining that the user dimension scenario includes only one logical rule unit, and determining that the first user matches the logical rule unit, the first user matches the user dimension scenario; In response to determining that the user dimension scenario includes at least two logical rule units, and determining that the at least two logical rule units are in an AND relationship, when the first user matches both of the at least two logical rule units, it is determined that the first user matches the user dimension scenario. In response to determining that the user dimension scenario includes at least two logical rule units, and determining that there is an OR relationship between the at least two logical rule units, when the first user matches any one of the at least two logical rule units, it is determined that the first user matches the user dimension scenario; Upon determining that the first user matches all user-dimensional scenarios, a successful match is confirmed.

4. The method according to claim 3, wherein, The user-dimensional scenarios include: small-volume sampling, source, and user attributes.

5. The method according to claim 3, wherein, The number of resource dimension scenarios is equal to one; the step of matching each resource with the logical rule units in the resource dimension scenarios includes: In response to determining that the resource dimension scenario includes only one logical rule unit, and determining that the resource matches the logical rule unit, the resource is designated as the target resource; In response to determining that the resource dimension scenario includes at least two logical rule units, and determining that the at least two logical rule units are related by AND, when the resource matches each logical rule unit, the resource is taken as the target resource; In response to determining that the resource dimension scenario includes at least two logical rule units, and determining that there is an OR relationship between the at least two logical rule units, when the resource matches any one of the at least two logical rule units, the resource is taken as the target resource.

6. The method according to claim 5, wherein, Each logical rule unit includes: a logical symbol, a field name, and a reference value corresponding to the field name; The first user being matched with any logical rule unit includes: the relationship between the value of the first user corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol; The resource being matched with any logical rule unit includes: the relationship between the value of the field name corresponding to the resource and the reference value conforms to the relationship represented by the logical symbol.

7. The method according to claim 1, wherein, The optimization process for the target resource according to the optimization strategy corresponding to the experiment includes: In response to determining that the optimization processing strategy is a filtering strategy, the target resource is filtered out from the first set, which is a set consisting of the resources to be recommended; In response to determining that the optimization processing strategy is a weighting strategy, the weight of the target resource in resource recommendation is increased by a predetermined amount. In response to determining that the optimization processing strategy is a diversity strategy, the diversity list used when making resource recommendations is updated based on the target resource.

8. The method according to any one of claims 1 to 7, wherein, Each experiment belongs to a separate configuration description file, and each configuration description file includes at least one experiment. The configuration description file is generated by a second user through the configuration platform.

9. The method according to claim 8, wherein, The experiments launched include: each experiment is published online through a hierarchical release method after the release system obtains the configuration description file and assigns it a unique version number. The release system is also used to update the version number accordingly after determining that the second user has updated the configuration description file, and supports the second user to perform version rollback processing of the configuration description file.

10. The method according to claim 9, wherein, The generated configuration description file is stored in a pre-edited database, which includes a relational database. The tiered release method includes: sequentially writing the configuration description file after assigning the version number to databases of different tiers, with a predetermined time interval between two adjacent writes, and the databases of different tiers include: non-relational databases.

11. The method according to any one of claims 1 to 7, further comprising: Obtain the request volume and request ratio matching each experiment, determine the impact of each experiment based on the results, and / or determine the impact of each experiment on the recommendation results based on the resource recommendation results. For any experiment, the request ratio is the proportion of the request volume matching the experiment to the total request volume.

12. A resource recommendation device, comprising: The module includes an acquisition module, a processing module, and a recommendation module. The acquisition module is used to acquire the recommendation request of the first user; The processing module is used to perform the following processing for each online experiment: matching the first user with the user-dimensional scenario in the experiment; in response to determining a successful match, matching each resource to be recommended with the resource-dimensional scenario in the experiment, and taking the successfully matched resource as the target resource; the experiment includes at least two scenarios, each scenario belonging to either the user-dimensional scenario or the resource-dimensional scenario; and optimizing the target resource according to the optimization processing strategy corresponding to the experiment. The recommendation module is used to recommend resources to the first user from the resources to be recommended, based on the optimization processing results.

13. The apparatus according to claim 12, wherein, Each scenario includes at least one logical rule unit; The processing module matches the first user with the logical rule units in the user-dimensional scenario, and for any resource, matches the resource with the logical rule units in the resource-dimensional scenario.

14. The apparatus according to claim 13, wherein, The number of user-dimensional scenarios is greater than one; For any user-dimensional scenario, the processing module performs the following processing: In response to determining that the user-dimensional scenario includes only one logical rule unit, and determining that the first user matches the logical rule unit, the first user is determined to be matched with the user-dimensional scenario; In response to determining that the user-dimensional scenario includes at least two logical rule units, and determining that the at least two logical rule units are in an AND relationship, when the first user matches both of the at least two logical rule units, the first user is determined to be matched with the user-dimensional scenario; In response to determining that the user-dimensional scenario includes at least two logical rule units, and determining that the at least two logical rule units are in an OR relationship, when the first user matches any one of the at least two logical rule units, the first user is determined to be matched with the user-dimensional scenario; In response to determining that the first user matches all user-dimensional scenarios, the matching is determined to be successful.

15. The apparatus according to claim 14, wherein, The user-dimensional scenarios include: small-volume sampling, source, and user attributes.

16. The apparatus according to claim 14, wherein, The number of resource dimension scenarios is equal to one; For any resource, the processing module, in response to determining that the resource dimension scenario includes only one logical rule unit and that the resource matches the logical rule unit, designates the resource as the target resource; in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an AND relationship, designates the resource as the target resource when the resource matches all logical rule units; and in response to determining that the resource dimension scenario includes at least two logical rule units and that the at least two logical rule units are in an OR relationship, designates the resource as the target resource when the resource matches any one of the at least two logical rule units.

17. The apparatus according to claim 16, wherein, Each logical rule unit includes: a logical symbol, a field name, and a reference value corresponding to the field name; The first user being matched with any logical rule unit includes: the relationship between the value of the first user corresponding to the field name and the reference value conforms to the relationship represented by the logical symbol; The resource being matched with any logical rule unit includes: the relationship between the value of the field name corresponding to the resource and the reference value conforms to the relationship represented by the logical symbol.

18. The apparatus according to claim 12, wherein, In response to determining that the optimization processing strategy is a filtering strategy, the processing module filters out the target resource from the first set, which is a set composed of the resources to be recommended; in response to determining that the optimization processing strategy is a weighting strategy, the processing module increases the weight of the target resource in resource recommendation by a predetermined amount; in response to determining that the optimization processing strategy is a diversity strategy, the processing module updates the diversity list used for resource recommendation based on the target resource.

19. The apparatus of claim 12, further comprising: The verification module is used to obtain the request volume and request ratio that match each experiment, determine the impact of each experiment based on the obtained results, and / or determine the impact of each experiment on the recommendation results based on the resource recommendation results. For any experiment, the request ratio is the proportion of the request volume that matches the experiment to the total request volume.

20. A resource recommendation system, comprising: The resource recommendation device as described in any one of claims 12 to 19, and the configuration platform; The configuration platform is used by the second user to edit and generate configuration description files. Each experiment belongs to a separate configuration description file, and each configuration description file includes at least one experiment.

21. The resource recommendation system according to claim 20, further comprising: The publishing system is used to assign a unique version number to the configuration description file, publish each experiment in it to the online platform in a hierarchical manner, update the version number accordingly after determining that the second user has updated the configuration description file, and support the second user to perform version rollback processing of the configuration description file.

22. The resource recommendation system according to claim 21, wherein, The generated configuration description file is stored in a pre-edited database, which includes a relational database. The tiered release method includes: sequentially writing the configuration description file after assigning the version number to databases of different tiers, with a predetermined time interval between two adjacent writes, and the databases of different tiers include: non-relational databases.

23. An electronic device, comprising: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-11.

24. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-11.

25. A computer program product comprising a computer program / instructions that, when executed by a processor, implement the method of any one of claims 1-11.