Resource recall method and apparatus, electronic device, and storage medium

By constructing a candidate pool and utilizing the CGC multi-objective ranking model and CMA-ES evolutionary learning, resources that users may be interested in are pre-determined, solving the problem of low accuracy in recall results and achieving efficient and accurate resource recommendation.

CN116304314BActive Publication Date: 2026-08-04BEIJING BAIDU NETCOM SCI & TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING BAIDU NETCOM SCI & TECH CO LTD
Filing Date
2023-02-24
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

Existing technologies do not have high accuracy in recalling results when recommending resources, and traditional models struggle to balance computational speed and accuracy.

Method used

By constructing a candidate pool, utilizing the CGC multi-objective ranking model and the CMA-ES evolutionary learning approach, resources that users may be interested in are pre-determined. Combining the multi-objective prediction results and fusion parameters, a fusion score is calculated to select near-line recall results.

Benefits of technology

It improves the accuracy and diversity of recall results, reduces duplicate displays and subsequent processing workload, is applicable to both historical and new users, and adapts to various resource types.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116304314B_ABST
    Figure CN116304314B_ABST
Patent Text Reader

Abstract

This disclosure provides a resource retrieval method, apparatus, electronic device, and storage medium, relating to artificial intelligence fields such as big data processing, deep learning, and information flow recommendation. The method may include: acquiring resource requests from a user to be processed; in response to determining that the user to be processed is a historical user who has sent historical resource requests, using a candidate pool corresponding to the user to be processed as a pending candidate pool, the candidate pool including: resources potentially of interest to the user selected from the retrieval results of historical resource requests of the corresponding historical user; using each resource in the pending candidate pool as a candidate resource, acquiring multi-objective prediction results for each candidate resource, and acquiring fusion parameters for each objective; determining a fusion score for each candidate resource based on the multi-objective prediction results and fusion parameters; and selecting a subset of candidate resources based on the fusion scores as the desired nearline retrieval results. Applying the scheme described in this disclosure can improve the accuracy of the retrieval results, etc.
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 retrieval methods, apparatus, electronic devices and storage media in the fields of big data processing, deep learning and information flow recommendation. Background Technology

[0002] When recommending resources based on user requests, the system first needs to select a subset of resources that may meet the user's needs from the full resource library (i.e., all recommendable resources). This stage is called "recall." Afterward, a further subset of resources can be selected from the recall results and recommended to the user. A user can make a resource request by performing a pre-defined action, such as opening an application or webpage, or by clicking a pre-order button; the specific method is not limited. Summary of the Invention

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

[0004] A resource retrieval method, comprising:

[0005] Get resource requests from users to be processed. In response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool, which includes: resources that the user may be interested in selected from the recall results of the historical resource requests of the corresponding historical user.

[0006] Each resource in the candidate pool to be processed is taken as a candidate resource. The multi-objective prediction result of each candidate resource is obtained, and the fusion parameter of each objective is obtained. The fusion score of each candidate resource is determined according to the multi-objective prediction result and the fusion parameter.

[0007] Based on the fusion score, a subset of candidate resources are selected from the pool of candidates to be processed, which serve as the nearline recall result corresponding to this resource request.

[0008] A resource retrieval device includes: a determination module, an acquisition module, and a retrieval module;

[0009] The determining module is used to obtain resource requests from users to be processed. In response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool, which includes: resources that the user may be interested in selected from the recall results of the historical resource requests of the corresponding historical user.

[0010] The acquisition module is used to take each resource in the candidate pool to be processed as a candidate resource, acquire the multi-objective prediction result of each candidate resource, acquire the fusion parameters of each objective, and determine the fusion score of each candidate resource based on the multi-objective prediction result and the fusion parameters.

[0011] The recall module is used to select a portion of candidate resources from the pending candidate pool based on the fusion score, as the near-line recall result corresponding to this resource request.

[0012] An electronic device, comprising:

[0013] At least one processor; and

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

[0015] 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.

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

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

[0018] 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

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

[0020] Figure 1 This is a flowchart of the first embodiment of the resource recall method described in this disclosure;

[0021] Figure 2 This is a flowchart of the second embodiment of the resource recall method described in this disclosure;

[0022] Figure 3 This is a schematic diagram of the composition structure of the first embodiment 300 of the resource recall device described in this disclosure;

[0023] Figure 4 This is a schematic diagram of the composition structure of the second embodiment 400 of the resource recall device described in this disclosure;

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

[0025] 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.

[0026] 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.

[0027] Figure 1 This is a flowchart of the first embodiment of the resource recall method described in this disclosure. Figure 1 As shown, the specific implementation methods are as follows.

[0028] In step 101, resource requests from users to be processed are obtained. In response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool, which includes resources that the user may be interested in selected from the recall results of the historical resource requests of the corresponding historical user.

[0029] In step 102, each resource in the candidate pool to be processed is taken as a candidate resource, the multi-objective prediction results of each candidate resource are obtained, and the fusion parameters of each objective are obtained. Based on the multi-objective prediction results and the fusion parameters, the fusion score of each candidate resource is determined.

[0030] In step 103, a portion of candidate resources are selected from the candidate pool to be processed based on the fusion score, which are used as the nearline recall results corresponding to this resource request.

[0031] In traditional methods, the recall operation is usually performed only after the user's resource request is obtained. In order to speed up the processing, the strategies and models used in the recall cannot be too complex, which in turn leads to low accuracy of the recall results.

[0032] Using the scheme described in the above method embodiments, a candidate pool can be determined in advance based on the user's historical resource requests, that is, the resources that the user may be interested in can be determined. Subsequently, when the user's resource request is obtained, some resources can be determined from the resources that the user may be interested in and returned as near-line recall results, thereby enriching the content of the recall results. Moreover, the recall results selected from the resources that the user may be interested in are usually more in line with the user's actual needs, thereby improving the accuracy of the recall results.

[0033] For each historical user, a corresponding candidate pool can be constructed. Preferably, for any historical user, the recall results corresponding to the historical user's historical resource requests can be obtained (including various recall results obtained through different methods), and resources that have not been shown to the historical user can be selected from the obtained recall results. The selected resources are then used to form the candidate pool corresponding to the historical user. Alternatively, the recall results corresponding to the historical user's historical resource requests can be obtained, and resources that have not been shown to the historical user can be selected from the obtained recall results. Then, the selected resources can be filtered according to predetermined filtering conditions, and the filtered resources are used to form the candidate pool corresponding to the historical user.

[0034] For example, if a user has previously sent resource requests, that user can be identified as a historical user, and a corresponding candidate pool can be built for that user. Specifically, the recall results for each historical resource request of that historical user can be obtained, and resources that have not been shown to that historical user can be selected from the obtained recall results. These selected resources are then used to form the candidate pool for that historical user. In other words, only resources that have not been shown are added to the candidate pool, thereby minimizing the repeated display of the same resources. Alternatively, the recall results for each historical resource request of that historical user can be obtained, and resources that have not been shown to that historical user can be selected from the obtained recall results. These selected resources can then be filtered according to predetermined filtering conditions, and the filtered resources are used to form the candidate pool for that historical user. Through filtering, the quality of resources in the candidate pool can be improved, and the workload of subsequent processing can be reduced, thereby improving processing efficiency.

[0035] There are no restrictions on the specific conditions for the predefined filtering. For example, considering the timeliness of resources, some resources with high time sensitivity can be filtered out, that is, resources that are already expired at the current time.

[0036] Through the above processing, candidate pools corresponding to different historical users can be constructed efficiently and accurately. These pools can include resources that users may be interested in, thus laying a good foundation for subsequent processing. Moreover, the specific resources to be added to the candidate pool can be determined according to actual needs, which is very flexible and convenient.

[0037] Furthermore, the candidate pool can be updated at any time. For example, each time a new historical resource request is generated, the corresponding candidate pool can be updated. Alternatively, after a first predetermined time period (such as one day), the corresponding candidate pool can be updated based on the historical resource requests generated within that predetermined time period. Additionally, to save storage space, some resources in the candidate pool can be periodically deleted, such as resources whose corresponding historical resource requests were sent more than a second predetermined time period ago.

[0038] Accordingly, after receiving a resource request from a user to be processed, it can first be determined whether the user to be processed is a historical user, that is, whether the user has sent a historical resource request. If so, the candidate pool corresponding to the user to be processed can be directly used as the candidate pool to be processed.

[0039] In addition, preferably, if it is determined that the user to be processed is a non-historical user, that is, the user to be processed is a new user and not a historical user, then the historical user most similar to the user to be processed can be determined from all historical users, and then the candidate pool corresponding to the most similar historical user can be used as the candidate pool to be processed.

[0040] There are no restrictions on how to identify the most similar historical user to the user to be processed from among all historical users. For example, attribute information of both the user to be processed and each historical user can be obtained separately, and the most similar historical user can be identified based on the attribute information. The attribute information may include gender, age, education level, and region, and there are no restrictions on the specific information included.

[0041] By using the above method, regardless of whether the user to be processed is a historical user, the corresponding candidate pool to be processed can be determined to complete the subsequent processing. That is, the solution described in this disclosure is applicable to both historical users and new users and has universal applicability.

[0042] After determining the candidate pool to be processed, each resource in the candidate pool can be used as a candidate resource, and the multi-objective prediction results of each candidate resource can be obtained separately.

[0043] Preferably, the multi-objective prediction result corresponding to any candidate resource includes: the multi-objective prediction result of the candidate resource determined by the Customized Gate Control (CGC) multi-objective ranking model, wherein the multi-objective prediction result includes: the prediction values ​​of M different objectives, where M is a positive integer greater than one.

[0044] For any candidate resource, it can be input into the CGC multi-objective ranking model to obtain the model's output of M predicted values ​​for different objectives. The specific value of M can be determined according to actual needs. Different objectives refer to different predicted objectives. Taking the resource as a video as an example, different objectives may include playback duration, click-through rate, and interaction rate, etc.

[0045] By adopting the CGC multi-objective ranking model, the estimated values ​​of multiple different objectives for the same candidate resource can be obtained simultaneously, thereby improving the efficiency of obtaining the estimated values.

[0046] Furthermore, in practical applications, for each candidate pool, the multi-objective prediction results of each resource can be pre-determined using the CGC multi-objective ranking model and stored. For example, the candidate pool and the multi-objective prediction results of each resource within it can be stored in a database. Subsequently, after a candidate pool is determined as a candidate pool to be processed, the multi-objective prediction results of each candidate resource can be directly retrieved from the database. Alternatively, no pre-processing can be performed; instead, after a candidate pool is determined as a candidate pool to be processed, the multi-objective prediction results of each candidate resource within it can be determined using the CGC multi-objective ranking model. The specific method is not limited. Preferably, the former method can be adopted.

[0047] In addition, preferably, the CGC multi-objective ranking model can adopt a fully connected deep neural network (DNN) structure, and the multi-objective prediction results can be determined by using the DNN structure.

[0048] In traditional methods, when obtaining the estimated values ​​of different targets, a Deep Structured Semantic Model (DSSM) structure is usually used, employing a dual-tower model that sacrifices some accuracy to improve computational speed. However, in the scheme described in this disclosure, since the multi-target prediction results of each resource can be predetermined, the requirement for computational speed is lower. Therefore, a more accurate DNN structure can be used to determine the multi-target prediction results of each resource, thereby improving the accuracy of the prediction results.

[0049] In addition, the fusion parameters of each target can be obtained separately, such as the fusion parameters of playback duration, click-through rate, and interaction rate.

[0050] Preferably, the fusion parameters for each objective can be the globally optimal fusion parameters for each objective determined by the evolutionary learning method of Covariance Matrix Adaptation Evolution Strategy (CMA-ES).

[0051] Furthermore, the fusion score of each candidate resource can be determined based on the multi-objective prediction results and fusion parameters.

[0052] In practical applications, formula-based fusion methods are typically used to calculate fusion scores. Fusion parameters are usually heuristically determined manually based on business objectives. The more objectives there are, the more factors need to be considered when manually determining the target parameters, leading to significant difficulties in parameter tuning and poor accuracy. The solution described in this disclosure employs CMA-ES evolutionary learning to determine the globally optimal fusion parameters for each objective. Furthermore, user session duration, step size, and interaction behavior can be used as rewards to guide the evolutionary direction. Consequently, the accuracy of the obtained fusion parameters can be improved, thereby enhancing the accuracy of the subsequent fusion score.

[0053] When determining the fusion score of each candidate resource based on the multi-objective prediction results and fusion parameters, for any candidate resource, the fusion score of the candidate resource can be calculated by a predetermined calculation method (such as a predetermined formula) based on the predicted values ​​of each different objective of the candidate resource and the fusion parameters corresponding to each different objective.

[0054] Furthermore, based on the fusion score, some candidate resources can be selected from the pool of candidates to be processed as the nearline recall result corresponding to this resource request.

[0055] Preferably, the candidate resources can be sorted in descending order of their fusion scores, and the top N candidate resources after sorting are taken as the near-line recall results for this resource request. N is a positive integer, and the value of N is less than the number of candidate resources in the candidate pool to be processed. The specific value of N can be determined according to actual needs.

[0056] The above method allows for the convenient and rapid selection of the desired near-line recall results from various candidate resources. Furthermore, the number of selected near-line recall results can be flexibly set according to actual needs.

[0057] In addition, resources recommended to users awaiting processing can be determined based on near-line recall results. Preferably, non-near-line recall results can also be obtained, which are recall results filtered from the full resource database for this resource request. Then, the near-line recall results and non-near-line recall results can be combined to determine the resources recommended to users awaiting processing and make recommendations.

[0058] Non-near-line recall results are the recall results obtained in the traditional way.

[0059] The system can aggregate near-line recall results and non-near-line recall results to obtain an aggregated resource set. Then, it can perform coarse and fine ranking on each resource in the aggregated resource set. Fine ranking involves roughly sorting the resources in the aggregated resource set, reducing a certain number of resources while maintaining a certain level of accuracy, such as discarding the lowest-ranked resources. Fine ranking, based on the coarse ranking, performs a more precise ranking on the remaining resources, and recommends the highest-ranked resources to the user. Alternatively, near-line recall results can skip coarse ranking and directly participate in fine ranking. The specific implementation method is not limited.

[0060] By combining near-line recall results and non-near-line recall results, the diversity of recall results can be improved, which in turn can improve the diversity of recommendation results.

[0061] Based on the above introduction, Figure 2 This is a flowchart of a second embodiment of the resource recall method described in this disclosure. Figure 2 As shown, the specific implementation methods are as follows.

[0062] In step 201, a corresponding candidate pool is constructed for each historical user and stored in the database.

[0063] Specifically, for any historical user, the method of constructing its corresponding candidate pool may include: obtaining the recall results corresponding to the historical user's historical resource requests, selecting resources that have not been shown to the historical user from the obtained recall results, and using the selected resources to form the candidate pool corresponding to the historical user; or, obtaining the recall results corresponding to the historical user's historical resource requests, selecting resources that have not been shown to the historical user from the obtained recall results, filtering the selected resources according to predetermined filtering conditions, and using the filtered resources to form the candidate pool corresponding to the historical user.

[0064] In step 202, the CGC multi-objective ranking model is used to determine the multi-objective prediction results of each resource in each candidate pool and store them in the database.

[0065] The CGC multi-objective ranking model can use a DNN structure to determine the multi-objective prediction results.

[0066] In step 203, resource requests from the user to be processed are obtained.

[0067] In step 204, it is determined whether the user to be processed is a historical user. If so, step 205 is executed; otherwise, step 206 is executed.

[0068] In step 205, the candidate pool corresponding to the user to be processed is selected as the candidate pool to be processed, and then step 207 is executed.

[0069] In step 206, the historical user most similar to the user to be processed is identified from all historical users, and the candidate pool corresponding to the most similar historical user is taken as the candidate pool to be processed. Then, step 207 is executed.

[0070] In step 207, each resource in the candidate pool to be processed is taken as a candidate resource, and the multi-objective prediction results of each candidate resource are obtained from the database.

[0071] In step 208, the CMA-ES evolutionary learning method is used to determine the globally optimal fusion parameters for each objective.

[0072] In step 209, the fusion score of each candidate resource is determined based on the multi-objective prediction results and the fusion parameters.

[0073] In step 210, the candidate resources are sorted in descending order of fusion score, and the top N candidate resources after sorting are taken as the near-line recall results corresponding to this resource request, and then the process ends.

[0074] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all 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. Secondly, 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. Furthermore, for parts not described in detail in a certain embodiment, please refer to the relevant descriptions in other embodiments.

[0075] In summary, the scheme described in the embodiments of this disclosure can enrich the content of the recall results, improve the diversity of the recall results, and improve the accuracy of the recall results. Moreover, the recalled resources can be of any type, such as videos and news, which means it is applicable to various scenarios.

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

[0077] Figure 3 This is a schematic diagram of the structural composition of the first embodiment 300 of the resource recall device described in this disclosure. Figure 3 As shown, it includes: a determination module 301, an acquisition module 302, and a recall module 303.

[0078] The determination module 301 is used to obtain resource requests from users to be processed. In response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool, which includes resources that the user may be interested in selected from the recall results of the historical resource requests of the corresponding historical user.

[0079] The acquisition module 302 is used to take each resource in the candidate pool to be processed as a candidate resource, acquire the multi-objective prediction results of each candidate resource, acquire the fusion parameters of each objective, and determine the fusion score of each candidate resource based on the multi-objective prediction results and fusion parameters.

[0080] The recall module 303 is used to select a portion of the candidate resources from the pending candidate pool based on the fusion score, as the near-line recall result corresponding to this resource request.

[0081] Using the scheme described in the above device embodiment, a candidate pool can be determined in advance based on the user's historical resource requests, that is, the resources that the user may be interested in can be determined. Subsequently, when the user's resource request is obtained, some resources can be determined from the resources that the user may be interested in and returned as near-line recall results, thereby enriching the content of the recall results. Moreover, the recall results selected from the resources that the user may be interested in are usually more in line with the user's actual needs, thereby improving the accuracy of the recall results.

[0082] Preferably, if the determining module 301 determines that the user to be processed is a non-historical user, that is, determines that the user to be processed is a new user and not a historical user, then it can determine the historical user most similar to the user to be processed from all historical users, and then the candidate pool corresponding to the most similar historical user can be used as the candidate pool to be processed.

[0083] For each historical user, a corresponding candidate pool can be constructed. Preferably, for any historical user, the determining module 301 can obtain the recall results corresponding to the historical user's historical resource requests, and select resources that have not been shown to the historical user from the obtained recall results, and use the selected resources to form the candidate pool corresponding to the historical user. Alternatively, it can obtain the recall results corresponding to the historical user's historical resource requests, and select resources that have not been shown to the historical user from the obtained recall results, and then filter the selected resources according to predetermined filtering conditions, and use the filtered resources to form the candidate pool corresponding to the historical user.

[0084] After determining the candidate pool to be processed, the acquisition module 302 can take each resource in the candidate pool as a candidate resource and obtain the multi-objective prediction results of each candidate resource.

[0085] Preferably, the multi-objective prediction result corresponding to any candidate resource includes: the multi-objective prediction result of the candidate resource determined by the CGC multi-objective ranking model, wherein the multi-objective prediction result includes: the prediction values ​​of M different objectives, where M is a positive integer greater than one.

[0086] For any candidate resource, it can be input into the CGC multi-objective ranking model to obtain the predicted values ​​of M different objectives output by the model.

[0087] In addition, preferably, the CGC multi-objective ranking model can adopt a DNN structure, and the multi-objective prediction results can be determined by using the DNN structure.

[0088] The acquisition module 302 can also acquire the fusion parameters of each target separately. Preferably, the fusion parameters of each target can be the globally optimal fusion parameters for each target determined by the CMA-ES evolutionary learning method.

[0089] Furthermore, the acquisition module 302 can determine the fusion score of each candidate resource based on the multi-objective prediction results and fusion parameters.

[0090] Accordingly, the recall module 303 can select a portion of candidate resources from the pending candidate pool based on the fusion score, as the near-line recall result corresponding to this resource request. Preferably, the recall module 303 can sort the candidate resources in descending order of the fusion score, and take the top N candidate resources after sorting as the near-line recall result corresponding to this resource request, where N is a positive integer and the value of N is less than the number of candidate resources in the pending candidate pool.

[0091] Figure 4 This is a schematic diagram of the structural composition of the second embodiment 400 of the resource recall device described in this disclosure. Figure 4 As shown, it includes: a determination module 301, an acquisition module 302, a recall module 303, and a recommendation module 304.

[0092] Among them, the determination module 301, the acquisition module 302, and the recall module 303 are... Figure 3 The same applies to the embodiments shown.

[0093] The recommendation module 304 is used to obtain non-near-line recall results. These non-near-line recall results are the recall results filtered from the full resource database for this resource request. Combining the near-line recall results and the non-near-line recall results, resources are determined and recommended to the user awaiting processing. The non-near-line recall results are the recall results obtained using traditional methods.

[0094] Figure 3 and Figure 4 The specific workflow of the device embodiment shown can be found in the relevant descriptions in the foregoing method embodiments, and will not be repeated here.

[0095] In summary, the solution described in the embodiments of this disclosure can enrich the content of the recall results, improve the diversity of the recall results, and improve the accuracy of the recall results. Moreover, the recalled resources can be of any type, such as videos and news, which means it is applicable to various scenarios.

[0096] The solutions described in this disclosure can be applied to the field of artificial intelligence, particularly in areas such as big data processing, deep learning, and information flow recommendation. 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.

[0097] Furthermore, the resources 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.

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

[0099] Figure 5 A schematic block diagram of an electronic device 500 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, workstations, 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.

[0100] like Figure 5As shown, device 500 includes a computing unit 501, which can perform various appropriate actions and processes based on a computer program stored in read-only memory (ROM) 502 or a computer program loaded from storage unit 508 into random access memory (RAM) 503. RAM 503 may also store various programs and data required for the operation of device 500. The computing unit 501, ROM 502, and RAM 503 are interconnected via bus 504. Input / output (I / O) interface 505 is also connected to bus 504.

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

[0102] The computing unit 501 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 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 501 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 508. In some embodiments, part or all of the computer program can be loaded and / or installed on device 500 via ROM 502 and / or communication unit 509. When the computer program is loaded into RAM 503 and executed by the computing unit 501, one or more steps of the methods described in this disclosure can be performed. Alternatively, in other embodiments, the computing unit 501 can be configured to perform the methods described in this disclosure by any other suitable means (e.g., by means of firmware).

[0103] 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.

[0104] 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.

[0105] 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.

[0106] 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).

[0107] 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.

[0108] 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.

[0109] 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.

[0110] 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 retrieval method, comprising: Get resource requests from users to be processed. In response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool. The construction method of each candidate pool includes: getting the recall result corresponding to the historical resource requests of the corresponding historical user, selecting resources that have not been shown to the historical user from the recall result, and determining the candidate pool corresponding to the historical user based on the selected resources. Each resource in the candidate pool is used as a candidate resource. The multi-objective prediction results for each candidate resource are obtained, and the fusion parameters for each objective are also obtained. The fusion score for each candidate resource is determined based on the multi-objective prediction results and the fusion parameters. The multi-objective prediction results include: prediction values ​​for M different objectives, where M is a positive integer greater than one. The fusion parameters for each objective include: globally optimal fusion parameters for each objective determined using an evolutionary learning method with an adaptive covariance matrix strategy. The evolutionary learning uses the duration, step size, and interaction behavior within the user session as rewards to guide the evolutionary direction. Based on the fusion score, a subset of candidate resources are selected from the pool of candidates to be processed, which serve as the nearline recall result corresponding to this resource request.

2. The method according to claim 1, further comprising: In response to determining that the user to be processed is a non-historical user, the historical user most similar to the user to be processed is determined from all historical users, and the candidate pool corresponding to the most similar historical user is used as the candidate pool to be processed.

3. The method of claim 1, wherein, The step of determining the candidate pool corresponding to the historical user based on the selected resources includes: The selected resources are used directly to form the candidate pool corresponding to the historical users; Alternatively, the selected resources can be filtered according to predetermined filtering conditions, and the filtered resources can be used to form a candidate pool corresponding to the historical users.

4. The method according to claim 1 or 2, wherein, The multi-objective prediction results for any candidate resource include: the multi-objective prediction results of the candidate resource determined using a customized gating network multi-objective ranking model.

5. The method according to claim 4, wherein, The customized gating network multi-objective ranking model adopts a fully connected deep neural network structure, and the multi-objective prediction results are determined using the fully connected deep neural network structure.

6. The method according to claim 1 or 2, wherein, The step of selecting a subset of candidate resources from the candidate pool to be processed based on the fusion score as the near-line recall result corresponding to this resource request includes: The candidate resources are sorted in descending order of the fusion score, and the top N candidate resources after sorting are taken as the near-line recall result, where N is a positive integer and the value of N is less than the number of candidate resources in the candidate pool to be processed.

7. The method according to claim 1 or 2, further comprising: Obtain non-near-line recall results, which are the recall results selected from the full resource database for this resource request; Based on the near-line recall results and the non-near-line recall results, resources recommended to the users to be processed are determined and recommended.

8. A resource recall apparatus comprising: The module includes a determination module, an acquisition module, and a recall module. The determining module is used to obtain resource requests from users to be processed, and in response to determining that the user to be processed is a historical user who has sent historical resource requests, the candidate pool corresponding to the user to be processed is used as the candidate pool to be processed. Each historical user has a corresponding candidate pool, and the construction method of each candidate pool includes: obtaining the recall result corresponding to the historical resource requests of the corresponding historical user, selecting resources that have not been shown to the historical user from the recall result, and determining the candidate pool corresponding to the historical user based on the selected resources. The acquisition module is used to take each resource in the candidate pool as a candidate resource, acquire the multi-objective prediction result of each candidate resource, and acquire the fusion parameters of each objective. Based on the multi-objective prediction result and the fusion parameters, the fusion score of each candidate resource is determined. The multi-objective prediction result includes: the prediction values ​​of M different objectives, where M is a positive integer greater than one. The fusion parameters of each objective include: the globally optimal fusion parameters corresponding to each objective determined by the covariance matrix adaptive evolution strategy evolutionary learning method. The evolutionary learning uses the duration, step size, and interaction behavior within the user session as rewards to guide the evolutionary direction. The recall module is used to select a portion of candidate resources from the pending candidate pool based on the fusion score, as the near-line recall result corresponding to this resource request.

9. The apparatus according to claim 8, wherein, The determining module is further configured to, in response to determining that the user to be processed is a non-historical user, determine the historical user most similar to the user to be processed from among the historical users, and use the candidate pool corresponding to the most similar historical user as the candidate pool to be processed.

10. The apparatus according to claim 8, wherein, The determining module can either directly use the selected resources to form the candidate pool corresponding to the historical user, or filter the selected resources according to predetermined filtering conditions and use the filtered resources to form the candidate pool corresponding to the historical user.

11. The apparatus according to claim 8 or 9, wherein, The multi-objective prediction results for any candidate resource include: the multi-objective prediction results of the candidate resource determined using a customized gating network multi-objective ranking model.

12. The apparatus according to claim 11, wherein, The customized gating network multi-objective ranking model adopts a fully connected deep neural network structure, and the multi-objective prediction results are determined using the fully connected deep neural network structure.

13. The apparatus according to claim 8 or 9, wherein, The recall module sorts the candidate resources in descending order of the fusion score, and takes the top N candidate resources after sorting as the near-line recall result, where N is a positive integer and the value of N is less than the number of candidate resources in the candidate pool to be processed.

14. The apparatus according to claim 8 or 9, further comprising: The recommendation module is used to obtain non-near-line recall results, which are the recall results filtered from the full resource library for this resource request. Combining the near-line recall results and the non-near-line recall results, the module determines the resources to recommend to the user to be processed and makes recommendations.

15. 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-7.

16. 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-7.

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