Search result ranking method and apparatus, terminal, and storage medium

By assigning random perturbation values ​​to search results and combining them with a random walk algorithm, the problem of unconsidered irregularity in user clicks is solved, resulting in a more reasonable ranking of search results.

CN116304395BActive Publication Date: 2026-06-26BEIJING IQIYI TECH CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING IQIYI TECH CO LTD
Filing Date
2022-12-12
Publication Date
2026-06-26

Smart Images

  • Figure CN116304395B_ABST
    Figure CN116304395B_ABST
Patent Text Reader

Abstract

The embodiment of the present application provides a search result sorting method, device, terminal and storage medium, wherein the method comprises: after searching based on a search condition and obtaining a plurality of search results, performing the following polling step: randomly generating a random disturbance value of the search result, and determining a total score of the search result according to an initial score of the search result and the corresponding random disturbance value, then sorting the plurality of search results according to the total score from large to small, and recording the search result in a set order; after reaching a polling end condition, re-sorting the plurality of search results according to the number of times the search result is recorded, and obtaining a re-sorting result; in the process of re-sorting, the embodiment of the present application uses the random disturbance value to simulate the characteristics of the search result being clicked irregularly by the user, predicts the probability of each search result being clicked, and re-sorts the search result combined with the probability predicted for multiple times, which is more reasonable than the initial sorting.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of computer technology, and in particular to a method, apparatus, terminal, and storage medium for sorting search results. Background Technology

[0002] With the development of digital technology, people are exposed to massive amounts of information and data every day. How to quickly and accurately extract data of interest from this data is a problem that various search engines need to solve during their development process.

[0003] After receiving the search criteria entered by the user, existing search engines first filter the search results from a massive set of candidate results based on the search criteria, and then display the multiple search results to the user.

[0004] In presenting multiple search results to users, the issue of sorting these results arises. Properly sorting search results helps users find their desired results accurately and efficiently. It can be argued that search result sorting is the most crucial component of a search engine, largely determining its quality and user acceptance.

[0005] Current technologies typically rank search results by considering factors such as the relevance of the search results to the search criteria and the upload time. However, in reality, users often only indicate their desired search direction when entering search criteria, suitable for fuzzy searches. For example, a user might enter "technology" as a search term without a more specific need, leading to random clicks on search results. Current technologies ignore this randomness in search result ranking, making the ranking results unpredictable and insufficiently reliable in predicting the probability of each result being clicked. Summary of the Invention

[0006] This invention provides a method, apparatus, terminal, and computer-readable storage medium for sorting search results, so as to achieve a more reasonable sorting of search results.

[0007] This invention discloses a method for ranking search results, the method comprising:

[0008] A search is performed based on search criteria to obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results;

[0009] When the number of iterations is less than a preset value, within a first preset random number range, multiple random perturbation values ​​are randomly generated that correspond one-to-one with the multiple search results; the random perturbation values ​​are used to characterize the probability of the search results being clicked.

[0010] For each search result, the total score of the search result is determined based on the initial score of the search result and the corresponding random perturbation value;

[0011] Sort the multiple search results in descending order of total score, record the search results in the set order, and increment the loop count by 1;

[0012] When the number of iterations equals the preset value, or when any search result is recorded a number of times, the multiple search results are reordered in descending order of the number of times they are recorded, to obtain a reordering result.

[0013] Optionally, the initial score consists of multiple feature values, and the random perturbation value includes multiple feature random perturbation values. The step of randomly generating multiple random perturbation values, each corresponding one-to-one with one of the multiple search results, within a first preset random number range, includes:

[0014] Determine the second preset random number range corresponding to each feature value;

[0015] Within a second preset random number range, for each search result, multiple feature random perturbation values ​​are randomly generated that correspond one-to-one with multiple feature values ​​of the search result; the first preset random number range includes the second preset random number range.

[0016] Optionally, before generating multiple random perturbation values ​​corresponding one-to-one with the multiple feature values ​​of the search results for each search result within a second preset random number range, the method further includes:

[0017] Determine the weights of each eigenvalue;

[0018] For each search result, determining the total score of the search result based on its initial score and corresponding random perturbation value includes:

[0019] For each search result, the total score of the search result is determined based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value.

[0020] Optionally, determining the weights of each feature value includes:

[0021] Determine whether the number of iterations is the initial value;

[0022] If so, then within the preset weight range, the weights of each feature value are randomly generated;

[0023] If not, the weights are updated according to a preset formula, which is expressed as follows:

[0024] λ n =Aλ n-1 ;

[0025] Where, λ n λ represents the weight corresponding to the current iteration number; A represents the weighting factor, and the value of A ranges from (0, 1); λ n-1 This represents the weight corresponding to the current loop count minus 1.

[0026] Optionally, determining the total score of each search result based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value includes:

[0027] For each search result, the feature values ​​of the search result are weighted using the corresponding weights, and then added to the corresponding feature random perturbation value to obtain the feature score of each feature value.

[0028] The total score of the search results is determined based on the feature scores of each feature value of the search results.

[0029] Optionally, before generating multiple random perturbation values ​​corresponding one-to-one with the multiple search results within a first preset random number range when the number of iterations is less than a preset value, the method further includes:

[0030] The preset value is determined based on the total number of search results;

[0031] or,

[0032] The preset value is determined based on the number of search results that can be displayed on the page.

[0033] Optionally, the search based on search criteria yields multiple search results, including:

[0034] Search based on search criteria to obtain multiple initial search results for various information categories;

[0035] Extract multiple search results belonging to the target information category from the multiple initial search results;

[0036] or,

[0037] Extract a preset number of search results from the multiple initial search results, prior to the first one in the initial order.

[0038] This invention also discloses a search result sorting device, the device comprising:

[0039] The search result acquisition module is used to perform a search based on search criteria and obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results;

[0040] The random perturbation value generation module is used to randomly generate multiple random perturbation values ​​corresponding one-to-one with the multiple search results within a first preset random number range when the number of cycles is less than a preset value; the random perturbation values ​​are used to characterize the randomness probability of the search results being clicked;

[0041] The total score determination module is used to determine the total score of each search result based on the initial score of the search result and the corresponding random perturbation value.

[0042] The search result recording module is used to sort multiple search results in descending order of total score, record the search results in a set order, and increment the loop count by 1.

[0043] The search result sorting module is used to reorder multiple search results in descending order of the number of times they have been recorded when the number of iterations equals the preset value, or when any search result has been recorded a preset number of times.

[0044] Optionally, the initial score consists of multiple feature values, the random perturbation value includes multiple feature random perturbation values, and the random perturbation value generation module includes:

[0045] The random number range determination submodule is used to determine the second preset random number range corresponding to each feature value;

[0046] The feature random perturbation value generation submodule is used to randomly generate multiple feature random perturbation values ​​corresponding one-to-one with multiple feature values ​​of the search results for each search result within a second preset random number range; the first preset random number range includes the second preset random number range.

[0047] Optionally, the device further includes:

[0048] The weight determination module is used to determine the weight of each feature value;

[0049] The total score determination module is specifically used to determine the total score of each search result based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value.

[0050] Optionally, the weight determination module includes:

[0051] The loop count determination submodule is used to determine whether the loop count is the initial value;

[0052] The first processing submodule is used to randomly generate the weights of each feature value within a preset weight range if the number of iterations is an initial value.

[0053] The second processing submodule is used to update the weights according to a preset formula if the number of iterations is not the initial value. The preset formula is expressed as follows:

[0054] λ n =Aλ n-1 ;

[0055] Where, λ n λ represents the weight corresponding to the current iteration number; A represents the weighting factor, and the value of A ranges from (0, 1); λ n-1 This represents the weight corresponding to the current loop count minus 1.

[0056] Optionally, the total score determination module includes:

[0057] The feature score calculation submodule is used to calculate the feature score of each feature value for each search result by weighting each feature value of the search result with the corresponding weight and then adding it to the corresponding feature random perturbation value.

[0058] The total score calculation submodule is used to determine the total score of the search results based on the feature scores of each feature value of the search results.

[0059] Optionally, the device further includes:

[0060] A preset value determination module is used to determine the preset value based on the total number of search results; or, it is used to determine the preset value based on the number of search results that can be displayed on the page.

[0061] Optionally, the search result obtaining module includes:

[0062] The initial search results acquisition submodule is used to perform searches based on search criteria and obtain multiple initial search results for various information categories;

[0063] The search result determination submodule is used to extract multiple search results belonging to the target information category from the multiple initial search results; or, it is used to extract a preset number of search results with an initial order from the multiple initial search results.

[0064] This invention also discloses an electronic device, including: a processor, a memory, and a computer program stored in the memory and capable of running on the processor, wherein the computer program, when executed by the processor, implements a search result sorting method as described above.

[0065] This invention also discloses a computer-readable storage medium storing a computer program, which, when executed by a processor, implements a search result sorting method as described above.

[0066] The embodiments of the present invention have the following advantages:

[0067] In this embodiment of the invention, after obtaining multiple search results based on search criteria, the following polling steps are performed: Random perturbation values ​​are randomly generated, corresponding one-to-one with the multiple search results. Based on the initial score of each search result and its corresponding random perturbation value, the total score of each search result is determined. Then, the multiple search results are sorted in descending order of total score, and the search results are recorded in a predetermined order until the number of polling iterations reaches a preset value, or until any search result is recorded a preset number of times. Finally, based on the number of times each search result is recorded, the multiple search results are reordered in descending order of the number of recorded iterations to obtain a reordered result. This embodiment of the invention leverages the irregular nature of user clicks on search results. During the reordering process, random perturbation values ​​are used to simulate the irregular clicking behavior of search results. By using random perturbation values ​​and initial scores to reorder multiple search results, the reordering result overcomes the irrationality of existing technologies that do not consider the irregular clicking behavior of users when sorting search results. Therefore, the reordering result of this embodiment of the invention can improve the rationality of search result sorting.

[0068] The above description is merely an overview of the technical solution of the present invention. In order to better understand the technical means of the present invention and to implement it in accordance with the contents of the specification, and in order to make the above and other objects, features and advantages of the present invention more apparent and understandable, specific embodiments of the present invention are described below. Attached Figure Description

[0069] Various other advantages and benefits will become apparent to those skilled in the art upon reading the following detailed description of preferred embodiments. The accompanying drawings are for illustrative purposes only and are not intended to limit the invention. Furthermore, the same reference numerals denote the same parts throughout the drawings. In the drawings:

[0070] Figure 1This is a flowchart illustrating the steps of a search result sorting method provided in an embodiment of the present invention;

[0071] Figure 2 This is a flowchart illustrating the steps of another search result sorting method provided in an embodiment of the present invention;

[0072] Figure 3 This is a schematic structural block diagram of a search result sorting device provided in an embodiment of the present invention;

[0073] Figure 4 This is a schematic diagram of the structure of a terminal provided in an embodiment of the present invention. Detailed Implementation

[0074] Exemplary embodiments of the invention will now be described in more detail with reference to the accompanying drawings. While exemplary embodiments of the invention are shown in the drawings, it should be understood that the invention may be implemented in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this invention will be thorough and complete, and will fully convey the scope of the invention to those skilled in the art.

[0075] One of the core concepts of this invention is that, after obtaining multiple search results, a random perturbation value is assigned to each search result using the idea of ​​a random walk algorithm to update the score related to the search result ranking. Through multiple rounds of polling, search results that meet the criteria are recorded. Finally, the multiple search results are reordered based on the number of times each search result is recorded, resulting in a reordered result. Because a random perturbation value is assigned to each search result during the reordering process to simulate the characteristic of users clicking search results randomly, the reordered result can more accurately reflect the probability of each search result being clicked by the user, thus improving the rationality of the reordered result.

[0076] Random walks refer to situations where the future development steps and directions are unpredictable. For example, when users browse the internet, they often exhibit similar online behavior: entering a URL, browsing the page, and then continuously opening new web pages following the links on that page. It can be assumed that each web page has an equal probability of being opened. The core concept of random walks is that the conserved quantities carried by any random walker correspond to a diffusion transport law, approximating Brownian motion, representing the ideal mathematical state of Brownian motion.

[0077] In other words, the basic idea of ​​the random walk algorithm is to traverse a graph starting from one or a series of vertices, and to stay at one vertex after each walk. This invention, based on the idea of ​​the random walk algorithm, assigns a random perturbation value to each search result. By recording the search results that meet the conditions in each round, after multiple rounds, the search results are reordered according to the number of times each search result is recorded.

[0078] Figure 1 This is a flowchart illustrating an exemplary search result ranking method provided in an embodiment of the present invention. The method of this embodiment is applicable to reordering search results retrieved by a search service platform, which may be a search engine server or a multimedia server platform involving a search engine server, etc. This method can be executed by a search result reordering device; wherein, the search result reordering device can be implemented by software and / or hardware, and is generally integrated into an electronic device with data processing capabilities. This electronic device can be a single server or a single terminal device, or a cluster composed of multiple servers or terminal devices.

[0079] like Figure 1 As shown, the search result sorting method provided in this embodiment may include the following steps:

[0080] Step 101: Perform a search based on the search criteria to obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results.

[0081] In this embodiment of the invention, users can input search criteria through a terminal device to obtain multiple search results. The search criteria can refer to the conditions used by the search service platform during the search operation. For example, search criteria can be search terms entered by the user in the search input field, or search terms selected by the user from existing search terms, etc.

[0082] A search operation based on search criteria yields multiple search results, each with an initial score. These initial scores determine the initial order of the search results. In essence, after performing a search based on search criteria, the resulting search results have an initial order, which is determined by sorting the search results according to their initial scores. For example, sorting the search results from highest to lowest initial score gives the initial order of the search results.

[0083] Depending on the search scenario, the multiple search results may include one or more information categories such as long videos, short videos, audio, or text.

[0084] In other words, multiple search results obtained based on search criteria may involve multiple information categories, or they may involve only one information category.

[0085] The embodiments of the present invention can be used to reorder the overall results of multiple search results involving one or more information categories obtained based on search criteria.

[0086] Considering that when multiple search results involve multiple information categories, it may only be necessary to reorder the search results of one information category, in some optional embodiments of the present invention, when multiple search results containing multiple information categories are obtained based on search conditions, multiple search results belonging to the target information category can also be reordered to improve the sorting rationality of each search result belonging to the target information category.

[0087] To facilitate differentiation, multiple search results obtained based on search criteria, encompassing various information categories, are denoted as multiple initial search results. Multiple search results belonging to the target information category are extracted from these initial search results, and then reordered. This target information category can be predefined; for example, it can be set based on the primary services provided by the search application, or it can be determined by selecting information categories with fewer than a specified number of initial search results for each category. It is understood that there can be one or more target information categories. When there are multiple target information categories, the search results under each target information category can be reordered separately.

[0088] For example, when M initial search results are obtained, these M initial search results include P initial search results belonging to the long video information category, q initial search results belonging to the short video information category, and r initial search results belonging to the text information category, where p + q + r = M. Assuming the target information category is long video information, only the p initial search results belonging to the long video information category are reordered from the M initial search results; the order and position of the other q initial search results belonging to the short video information category and the r initial search results belonging to the text information category will not be changed.

[0089] Considering that when a search based on search criteria yields a large number of initial search results, sorting all of these initial search results may consume significant computing resources and time. Therefore, in some optional embodiments of the present invention, the aforementioned search based on search criteria to obtain multiple search results may include:

[0090] The search is performed based on the search criteria, yielding multiple initial search results.

[0091] Extract a preset number of search results from multiple initial search results, prior to the first in the initial order.

[0092] This embodiment only reorders a preset number of search results that are initially ranked first, while the original initial order of the search results that are not reordered is maintained.

[0093] The preset quantity can be a fixed value, for example, the preset quantity can be 20. When the number of initial search results is 100, the first 20 initial search results are extracted as the search results that need to be reordered according to the initial order of the initial search results.

[0094] The preset number can be related to the number of search results that can be displayed on the page. Generally, the more search results that can be displayed on the page, the larger the preset number should be. For example, if the number of search results that can be displayed on the page is 10, then the preset number can be 10.

[0095] Furthermore, the aforementioned extraction of a preset number of search results with a high initial order from multiple initial search results may include:

[0096] When the number of initial search results exceeds the preset number, the preset number of search results with the highest order are extracted from the multiple initial search results according to their initial order.

[0097] In this embodiment, if the number of initial search results exceeds a preset number, the top preset number of search results can be reordered. It can be understood that if the number of initial search results does not exceed the preset number, all initial search results are reordered.

[0098] Step 102: When the number of cycles is less than a preset value, within the first preset random number range, generate multiple random perturbation values ​​that correspond one-to-one with multiple search results; the random perturbation values ​​are used to characterize the probability of a search result being clicked.

[0099] After each search based on the search criteria yields multiple search results, a loop process can be entered. In some embodiments of the present invention, a counter can be used to record the number of loops. Specifically, when entering the loop for the first time, the counter is initialized, and the count value after initialization is less than a preset value to trigger multiple loops to execute subsequent operations. Each time the loop is executed, the count value of the counter is incremented by 1 until the loop termination condition is met, at which point the loop exits.

[0100] For example, after searching based on the search results and obtaining multiple search results, a counter is initialized with a count value of 0, and a loop operation is executed. After each loop operation is completed, the count value is incremented by 1 until the loop termination condition is met, at which point the loop exits.

[0101] When multiple search results are obtained, but the user has not yet clicked on any of them, objectively speaking, the probability of each search result being clicked by the user is the same. This means the future development steps and directions are unpredictable. The inventors discovered that this scenario belongs to the category of random walks. Therefore, in this embodiment, multiple random perturbation values ​​are randomly generated in each loop, corresponding one-to-one with the multiple search results, to simulate the characteristics of users randomly clicking on search results. That is, the random perturbation values ​​are used to characterize the probability of a search result being randomly clicked by the user. Combining the core concept of random walks, the conserved quantities carried by any random walker correspond to a diffusion transport law. In other words, each random walk yields a probability distribution that describes the probability of each point in the graph being visited. Therefore, the probability of each point becoming the final stop point of the random walk can be predicted. In this embodiment of the invention, by combining the initial order with the core concept of random walks, the influence of the probability of users randomly clicking on search results on the initial order can be predicted, thereby determining a new sorting order. To improve the accuracy of prediction results, this embodiment of the invention combines a new sorting order determined through multiple iterations to determine the final reordering result, which can prioritize search results with a high probability of user clicks.

[0102] The first preset random number range can be set according to actual needs. Generally, when the actual need is to strengthen the initial order and weaken the influence of randomness, the first preset random number range is smaller than the range of the initial score. For example, when the range of the initial score is [0, 10], the first preset random number range can be [0, 1]. When the actual need is to strengthen the influence of randomness, the range of the first preset random number can be increased accordingly. The first preset random number range can be consistent with the range of the initial score or larger than the range of the initial score. For example, when the range of the initial score is [0, 10], the first preset random number range can be [0, 10]. In practical applications, the first preset random number range can also include a negative range. The specific range can be determined by the experience of relevant personnel. For example, when the range of the initial score is [0, 10], the first preset random number range can be [-10, 10].

[0103] Step 103: For each search result, determine the total score of the search result based on the initial score of the search result and the corresponding random perturbation value.

[0104] After generating a random perturbation value for each search result, a total score for each search result can be calculated. This total score represents the probability that the search result will be selected in the current iteration.

[0105] For example, the total score for each search result is equal to the sum of the initial score of that search result and the corresponding random perturbation value.

[0106] In some optional embodiments of the invention, the initial score consists of multiple feature values. It can be understood that each search result has multiple feature values, and the sum of these feature values ​​is the initial score of that search result. Correspondingly, the random perturbation value may also include multiple feature random perturbation values. That is, within the first preset random number range, multiple random perturbation values ​​corresponding one-to-one with the multiple search results are randomly generated, which may include:

[0107] Determine the second preset random number range corresponding to each feature value;

[0108] Within the second preset random number range, for each search result, multiple random perturbation values ​​corresponding one-to-one with the multiple feature values ​​of the search result are randomly generated.

[0109] In this context, feature values ​​refer to the characteristic data that influences the likelihood of a user clicking on a search result, and are represented by the numerical value of the corresponding feature. The range of the second preset random number corresponding to the feature values ​​of different features can be the same or different. Generally, when the range of feature values ​​is the same, the range of the corresponding second preset random number is also the same.

[0110] For example, each search result may have multiple feature values ​​that include at least two of the following: feature values ​​related to the number of impressions, feature values ​​related to the upload time, feature values ​​related to the number of clicks, feature values ​​related to the ratings, feature values ​​related to the creation time, and feature values ​​related to the relevance of the search criteria.

[0111] Feature values ​​are specific numerical values. For example, the actual number of times a search result is displayed can be used as a feature value related to the number of displays. Alternatively, the actual number of displays can be converted according to a first specified numerical scoring system to obtain a feature value related to the number of displays. Similarly, the rating score of a search result can be used as a feature value related to the rating. Alternatively, the rating score can be converted according to a second specified numerical scoring system to obtain a feature value related to the rating. Furthermore, the reciprocal of the time difference between the upload time of the search result and the current search time can be used as a feature value related to the upload time; or, the reciprocal of the time difference can be converted according to a third specified numerical scoring system to obtain a feature value related to the upload time.

[0112] Optionally, the first, second, and third specified numerical scoring systems can be the same. It can be understood that each feature value adopts the same numerical scoring system. For example, they all adopt a 1-point scoring system, that is, the value range of each feature value is [0, 1]; or they all adopt a 10-point scoring system, that is, the value range of each feature value is [0, 10].

[0113] Given that current search service platforms need to be user-centric, different users may have different purposes even if they enter the same search criteria. Even for the same user, entering the same search criteria can lead to changes in needs depending on the time and context.

[0114] Therefore, the feature values ​​related to the number of times the search results are displayed may include feature values ​​related to the first number of times the search results are displayed and feature values ​​related to the second number of times the search results are displayed. The feature values ​​related to the first number of times the search results are displayed within a specified time and a specified geographical area, and the feature values ​​related to the second number of times the search results are displayed on the user's terminal device or account.

[0115] The aforementioned feature values ​​related to the number of clicks may include feature values ​​related to a first number of clicks and feature values ​​related to a second number of clicks. The feature values ​​related to the first number of clicks are used to represent the number of clicks on the search results within a specified time and a specified geographical area, while the feature values ​​related to the second number of clicks are used to represent the number of clicks on the search results on the user's terminal device or account.

[0116] This embodiment influences each feature value through random perturbation values, thereby affecting the total score of the search results. For example, search result 1 has feature value 1 and feature value 2, where feature value 1 corresponds to feature random perturbation value 1 and feature value 2 corresponds to feature random perturbation value 2. In this case, the total score of search result 1 = feature value 1 + feature random perturbation value 1 + feature value 2 + feature random perturbation value 2. The first preset random number range includes the second preset random number range. For example, the first preset random number range can be [0, 10], while the second preset random number range can be [0, 1].

[0117] The second preset random number range is similar in value to the first preset random number range and can be set according to actual needs. Generally, when the actual need is to strengthen the initial influence of the feature value and weaken the influence of randomness, the second preset random number range is smaller than the range of the feature value. For example, when the range of the feature value is [0, 1], the second preset random number range can be [0, 0.1]. When the actual need is to strengthen the influence of randomness, the second preset random number range can be increased accordingly. The second preset random number range can be consistent with the range of the feature value or larger than the range of the feature value. For example, when the range of the feature value is [0, 1], the second preset random number range can be [0, 1]. In practical applications, the second preset random number range can also include negative numbers. The specific value range can be determined by the experience of relevant personnel. For example, when the range of the feature value is [0, 1], the second preset random number range can be [-1, 1].

[0118] Step 104: Sort the multiple search results in descending order of total score, record the search results in the set order, and increment the loop count by 1.

[0119] After calculating the total score for each search result, multiple total scores can be obtained for multiple search results. Then, the multiple total scores are sorted in descending order, and the search results in the set order are recorded. It can be understood that in each loop, the search result with the higher total score in the set order will be recorded once.

[0120] When the order is set to 1, the search result with the highest total score is recorded. There may be multiple search results with the highest total score; in this case, multiple search results with the highest total score need to be recorded.

[0121] When the order is set to 3, the search results for the first, second, and third highest total scores are recorded.

[0122] Optionally, the setting order can be related to the number of search results that can be displayed on the page; the more search results that can be displayed on the page, the higher the setting order should be. For example, when a page can display 10 search results, the setting order can be the same as the number of search results that can be displayed on the page, i.e., the setting order is 10.

[0123] After completing steps 102, 103, and 104, sorting multiple search results in descending order of total score, and recording the search results in the set order, one loop is considered complete. At this point, the loop count needs to be incremented by 1 to count the number of loops executed.

[0124] Step 105: When the number of iterations equals the preset value, or when any search result has been recorded a certain number of times, the multiple search results are reordered in descending order of the number of times they have been recorded, and the reordered result is obtained.

[0125] In some optional embodiments of the present invention, the loop termination condition is that the number of loops equals a preset value. That is, if a counter is used to record the number of loops, the loop will exit when the counter value equals the preset value. At this time, the multiple search results are reordered according to the number of times each search result is recorded during the loop execution of the above steps.

[0126] The preset value is set before the loop starts. The relationship between the counter value and the preset value is compared to determine whether to continue the loop steps or exit the loop.

[0127] For example, the preset value can be a fixed value, such as 1000.

[0128] For example, a preset value can be determined based on the total number of search results; that is, the preset value is determined by the total number of search results to be reordered as needed. Generally, the larger the total number, the larger the corresponding preset value, so that after a certain number of iterations, the convergence of the number of times each search result is recorded is better, and the differences in the probability of each search result being clicked by the user can be better reflected.

[0129] For example, when the total number of search results is 6, the setting value can be 800; when the total number of search results is 10, the setting value can be 1600.

[0130] For example, the preset value can be determined based on the number of search results that can be displayed on the page. Generally, the more search results that can be displayed on the page, the larger the corresponding setting value should be.

[0131] In some alternative embodiments of the present invention, the loop termination condition is that the number of times any one of the multiple search results is recorded reaches a preset number. For example, the preset number could be 10 times.

[0132] It is understandable that if at least one search result is recorded a certain number of times before the counter reaches the preset value, the loop can be broken and multiple search results can be reordered based on the number of times each search result is recorded.

[0133] In this embodiment of the invention, a certain number of search results are recorded in each loop. Therefore, after exiting the loop, the number of times each search result is recorded can be determined, and then the multiple search results are reordered based on the number of times each search result is recorded.

[0134] In one example, when a search is performed based on search criteria and multiple search results are obtained, these results have an initial order, meaning they are sorted according to that initial order. Therefore, after exiting the loop, the search results are reordered based on the number of times each search result is recorded. Specifically, this could be done as follows:

[0135] The search results, initially sorted, are adjusted according to the number of times they are recorded, resulting in a reordering of the search results.

[0136] Considering that after multiple rounds of iteration, there may be search results that are recorded the same number of times, this embodiment reorders the search results based on the number of times each search result is recorded, building upon the initial order.

[0137] As you can understand, this example first sorts multiple search results in descending order of the number of times they were recorded. For multiple search results that were recorded the same number of times, they are then sorted according to their order in the initial sequence.

[0138] For example, if the initial order of the four search results is search result 1, search result 2, search result 3, and search result 4; and each search result is recorded 1, 2, 1, and 0 times respectively; then the reordering order is: search result 2, search result 1, search result 3, and search result 4.

[0139] In another example, after exiting the loop, the multiple search results are reordered based on the number of times each search result is recorded. Specifically, this could be done as follows:

[0140] Multiple search results are sorted in descending order of the number of times they are recorded. For multiple search results with the same number of records, they are randomly sorted.

[0141] For example, if the initial order of the four search results is search result 1, search result 2, search result 3, and search result 4; and each search result is recorded 1, 2, 1, and 0 times respectively; then the reordering order can be randomly determined from two orders: the first order is search result 2, search result 1, search result 3, and search result 4; and the second order is search result 2, search result 3, search result 1, and search result 4.

[0142] In this embodiment of the invention, after obtaining multiple search results based on search conditions, the following polling steps are performed, incorporating the idea of ​​a random walk algorithm: Random perturbation values ​​are randomly generated, each corresponding to one of the multiple search results, to simulate the characteristics of users clicking search results randomly. Based on the initial score of each search result and its corresponding random perturbation value, the total score of each search result is determined. Then, the multiple search results are sorted in descending order of their total scores. This sorting result represents the order of the probability of each search result being clicked by the user, based on the initial order and considering the characteristics of users clicking search results randomly. To improve the accuracy of the prediction results, this embodiment of the invention performs multiple polling steps. To reduce computational load, this embodiment of the invention records only the top-ranked search results after each poll. Once the polling result conditions are met, multiple search results are reordered based on the number of times each search result has been recorded. This overcomes the problem in existing technologies where the sorting of search results does not consider the characteristics of users clicking on search results randomly, leading to unreasonable sorting results. This embodiment of the invention, by reordering search results based on the initial sorting results and incorporating the characteristics of users clicking on search results randomly, allows the reordering of multiple search results to more accurately reflect the probability of each search result being clicked by the user, thus improving the rationality of the search result sorting.

[0143] Reference Figure 2The diagram illustrates a flowchart of another search result sorting method according to an embodiment of the present invention, which may specifically include the following steps:

[0144] Step 201: Perform a search based on the search criteria to obtain multiple search results; each search result has an initial score, which consists of multiple feature values.

[0145] Step 202: When the number of iterations is less than a preset value, determine the weights of multiple feature values ​​of multiple search results.

[0146] In this embodiment, the feature values ​​are also affected by weights, which are used to weight the feature values. It can be understood that in this embodiment, weights are used to perform weighted calculations on each feature value. By performing weighted calculations on the feature values ​​to simulate the annealing mechanism, the situation of getting trapped in local optima can be avoided to a certain extent, thereby improving the accuracy of the re-ranking results obtained after combining the random click characteristics of users.

[0147] In some examples, multiple feature values ​​can be weighted using the same weight, meaning only one weight needs to be determined in each iteration. In other examples, multiple feature values ​​can be weighted using different weights. Specifically, the weight can be determined based on the feature to which the feature value corresponds; that is, in the same iteration, the feature values ​​representing the same feature in different search results have the same weight.

[0148] In some optional embodiments of the present invention, the feature values ​​can also be determined using random numbers. The weights for determining the multiple feature values ​​of multiple search results can include:

[0149] Determine the weights of multiple feature values ​​for multiple search results, including:

[0150] Check if the loop count is the initial value;

[0151] If so, then within the preset weight range, the weights of each feature value are randomly generated; wherein, the preset weight range can be determined by relevant personnel based on experience, for example, the preset weight range can be [0, 1.25];

[0152] If not, the weights will be updated according to a preset formula, which is expressed as follows:

[0153] λ n =Aλ n-1 ;

[0154] Where, λ n λ represents the weight corresponding to the current count value; A represents the weighting factor, and the value of A ranges from (0, 1); n-1 This represents the weight corresponding to the current count value being reduced by 1.

[0155] This example determines how the weights are generated by checking if the number of iterations is the initial value. Specifically, when the counter count is the initial value, the weights are generated randomly. In other words, the weights are generated randomly before entering the loop.

[0156] When the number of iterations is not the initial value, the weights are updated according to a preset formula. In other words, after entering the loop, the weights in each iteration are calculated based on the weights of the previous iteration. As can be seen from the preset formula above, the range of the weight A is (0, 1), indicating that the weight in each iteration is smaller than the weight in the previous iteration.

[0157] For example, when the randomly generated weight is 1 and the weighting factor A is 0.85, then the weight in the first loop is 1, the weight in the second loop is 1 × 0.85 = 0.85, the weight in the third loop is 0.85 × 0.85 = 0.7225, and so on.

[0158] Since the initial weights are determined randomly, randomness can be reflected. Furthermore, since the weights in each iteration of the loop are reduced by a fixed factor based on the weights of the previous iteration, the changes in weights tend to be gradual as the number of iterations increases, meaning that the weights are constantly converging. Therefore, the concentration of search results for subsequent records can be improved.

[0159] Step 203: Within the second preset random number range, randomly generate multiple feature random perturbation values ​​that correspond one-to-one with the multiple feature values ​​of each search result.

[0160] Step 204: For each search result, determine the total score of the search result based on the multiple feature values ​​of the search result, the weights corresponding to each feature value, and the random perturbation values ​​corresponding to each feature value.

[0161] After generating the feature random perturbation value corresponding to each feature value of each search result, the total score of each search result can be calculated by combining the weights. This total score is used to represent the probability that the search result is selected in the current cycle.

[0162] For example, determining the total score of each search result based on multiple feature values ​​of the search result, the weights corresponding to each feature value, and the random perturbation values ​​corresponding to each feature value may include:

[0163] For each search result, the feature values ​​of the search result are weighted according to their corresponding weights, and then added to the corresponding feature random perturbation value to obtain the feature score of each feature value.

[0164] The total score of the search results is determined based on the feature scores of each feature value in the search results.

[0165] In this example, each feature value can be weighted according to the weight to obtain a weighted feature value. Then, the weighted feature value is added to the corresponding feature random perturbation value to obtain the feature score of each feature value. After obtaining the feature score of each feature value, the feature scores of multiple feature values ​​in the search results are added together to obtain the total score of the search results.

[0166] For example, search result 1 has feature value 1 and feature value 2. Feature value 1 corresponds to random perturbation value 1, and feature value 2 corresponds to random perturbation value 2. In this case, the total score of search result 1 = weight × feature value 1 + random perturbation value 1 + weight × feature value 2 + random perturbation value 2.

[0167] Step 205: Sort the multiple search results in descending order of total score, record the search results in the set order, and increment the loop count by 1.

[0168] Step 206: When the number of iterations equals a preset value, or when any search result has been recorded a preset number of times, close the multiple searches and reorder them according to the number of times they have been recorded, from largest to smallest, to obtain the reordered result.

[0169] and Figure 1 Compared to the corresponding embodiments, this embodiment uses weights and feature random perturbation values ​​to jointly influence the total score of the search results. By using a weighted simulated annealing mechanism, it avoids getting trapped in local optima to a certain extent. Furthermore, the weights in each iteration are reduced based on the weights in the previous iteration. When the number of iterations is large, the weights tend to stabilize, which can improve the concentration of the final recorded search results.

[0170] When the loop ends when any search result is recorded a preset number of times, this embodiment can improve the concentration of the final recorded search results, thus achieving the loop end condition faster.

[0171] When the loop ends when the counter value equals the preset value, this embodiment can improve the concentration of the final recorded search results, thus making the recorded search results more concentrated, thereby narrowing the range of search results with a high probability of user clicks, so as to display the search results with a high probability of user clicks in the limited display interface as much as possible.

[0172] To facilitate understanding of this solution by those skilled in the art, an example of the search result sorting method in one embodiment of the present invention will be described below.

[0173] In this example, a search was performed based on the search criteria, and four search results were obtained. The information of these four search results is shown in Table 1 below.

[0174] Table 1

[0175] Feature 1 Feature 2 Initial order Search result 1 8 5 1 Search result 2 7 6 2 Search Results 3 9 2 3 Search Results 4 5 5 4

[0176] As can be seen, the feature value corresponding to feature 1 of search result 1 is 8, and the feature value corresponding to feature 2 of search result 1 is 5; the feature value corresponding to feature 1 of search result 2 is 7, and the feature value corresponding to feature 2 of search result 2 is 6; the feature value corresponding to feature 1 of search result 3 is 9, and the feature value corresponding to feature 2 of search result 3 is 2; the feature value corresponding to feature 1 of search result 4 is 5, and the feature value corresponding to feature 2 of search result 4 is 5. The following matrix can be constructed:

[0177]

[0178] For ease of understanding, the default value of the loop termination condition is set to 2, the initial count value of the counter is 0, and the range of the randomly generated weight λ0 is [0, 1.25]. n =Aλ n-1 Where A = 0.85, and n is an integer greater than 0.

[0179] In the first loop, the counter is initialized to 0, which is less than the preset value of 2. Therefore, a weight λ is randomly generated, assuming λ0 = 1. Random perturbation values ​​for each feature value are then generated, with the range of these values ​​being [-1, 1]. Assume the eight random perturbation values ​​corresponding to the eight feature values ​​of the four search results are as follows:

[0180]

[0181] The following statements represent the random perturbation values ​​for different features: Feature 1 in search result 1 has a value of -0.5, and Feature 2 in search result 1 has a value of 0; Feature 1 in search result 2 has a value of 1, and Feature 2 in search result 2 has a value of 0.5; Feature 1 in search result 3 has a value of -0.1, and Feature 2 in search result 3 has a value of 1; Feature 1 in search result 4 has a value of 0.5, and Feature 2 in search result 4 has a value of 0.5.

[0182] Given λ0 = 1, U', and U, the total score for each search result can be calculated. This involves first weighting each feature value with its corresponding weight, then summing this weighted value with the corresponding random perturbation value. Finally, the sums of all feature values ​​belonging to the same search result are added together, and the resulting value is the total score for that search result. The total score is expressed as follows:

[0183]

[0184] This indicates that the total score for search result 1 is 12.5, the total score for search result 2 is 17.5, the total score for search result 3 is 11.9, and the total score for search result 4 is 11.

[0185] Assuming the preset number of records is 1, which is the search result with the highest total score, in this loop the highest total score is 17.5, corresponding to search result 2. Therefore, this loop records search result 2.

[0186] After one loop ends, the counter value is incremented by 1. At this point, the counter value is 1, which is still less than the preset value of 2. Therefore, the second loop begins.

[0187] In the second loop, the counter's count value is not the initial value; therefore, according to formula λ... n =Aλ n-1 The weight λ1 = 0.85 can be calculated. Random perturbation values ​​for each feature value are generated. Assume the eight random perturbation values ​​corresponding to the eight feature values ​​of the four search results mentioned above in this round are as follows:

[0188]

[0189] Given λ0 = 1, U', and U, the total score for each search result can be calculated, and the total score is expressed as follows:

[0190]

[0191] This indicates that the total score for search result 1 is 11.55, the total score for search result 2 is 11.75, the total score for search result 3 is 10.05, and the total score for search result 4 is 9.2.

[0192] In this cycle, the highest total score is 11.75, which corresponds to search result 2. Therefore, this cycle records search result 2.

[0193] After the current loop ends, the counter value is incremented by 1. At this point, the counter value is 2, which is equal to the preset value of 2. Therefore, the loop is exited, and multiple search results are reordered according to the number of times each search result is recorded.

[0194] At this point, search result 1 is recorded 0 times, search result 2 is recorded 2 times, search result 3 is recorded 0 times, and search result 4 is recorded 0 times. Based on the number of times they are recorded, the search results can be reordered as follows: search result 2, search result 1, search result 3, and search result 4.

[0195] This invention, based on the characteristic of users randomly clicking search results, incorporates the idea of ​​a random walk algorithm into a scheme for reordering search results. After obtaining multiple search results in an initial ranking, it simulates the characteristic of users randomly clicking search results by randomly generating random perturbation values ​​corresponding to each feature value of each search result. Based on the core concept of random walk, the probability of each search result being clicked by the user can be predicted. Specifically, the order of the probability of a search result being clicked by the user is determined by sorting multiple search results according to their total score; that is, the higher the total score of a search result, the higher the probability of it being clicked by the user. Each loop records the predicted order of the probability of each search result being clicked by the user in that loop. Combining the recorded results from multiple loops, the search results are reordered, which can further improve the accuracy of the prediction results. In other words, this invention takes into account the characteristic of users randomly clicking search results during the reordering process, overcoming the irrationality of search result ranking caused by existing technologies that do not consider this characteristic. Therefore, the reordering result of this invention can improve the rationality of search result ranking. Furthermore, the embodiments of the present invention employ weights related to the cycle number to weight the feature values, which can avoid getting trapped in local optima and further improve the accuracy of the prediction results for users' random clicks, that is, further improve the rationality of the re-ranking results.

[0196] It should be noted that, for the sake of simplicity, the method embodiments are all described as a series of actions. However, those skilled in the art should understand that the embodiments of the present invention are not limited to the described order of actions, because according to the embodiments of the present invention, some steps can be performed in other orders or simultaneously. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions involved are not necessarily essential to the embodiments of the present invention.

[0197] Reference Figure 3 The diagram illustrates a schematic structural block diagram of a search result sorting device according to an embodiment of the present invention, which may specifically include the following modules:

[0198] The search result obtaining module 301 is used to perform a search based on search criteria and obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results;

[0199] The random perturbation value generation module 302 is used to randomly generate multiple random perturbation values ​​corresponding one-to-one with multiple search results within a first preset random number range when the number of cycles is less than a preset value; the random perturbation value is used to characterize the randomness probability of the search result being clicked;

[0200] The total score determination module 303 is used to determine the total score of each search result based on the initial score of the search result and the corresponding random perturbation value.

[0201] The search result recording module 304 is used to sort multiple search results in descending order of total score, record the search results in the set order, and increment the loop count by 1.

[0202] The search result sorting module 305 is used to reorder multiple search results in descending order of the number of times they have been recorded when the number of loops equals a preset value, or when any search result has been recorded a preset number of times.

[0203] Optionally, the initial score consists of multiple feature values, and the random perturbation value includes multiple feature random perturbation values. The random perturbation value generation module 302 may include:

[0204] The random number range determination submodule is used to determine the second preset random number range corresponding to each feature value;

[0205] The feature random perturbation value generation submodule is used to randomly generate multiple feature random perturbation values ​​corresponding one-to-one with multiple feature values ​​of the search results for each search result within a second preset random number range; the first preset random number range includes the second preset random number range.

[0206] Optionally, the above-mentioned device may further include:

[0207] The weight determination module is used to determine the weight of each feature value;

[0208] The aforementioned total score determination module 303 is specifically used to determine the total score of each search result based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value.

[0209] Optionally, the total score determination module 303 mentioned above may include:

[0210] The feature score calculation submodule is used to calculate the feature score of each feature value for each search result by weighting each feature value of the search result with the corresponding weight and then adding it to the corresponding feature random perturbation value.

[0211] The total score calculation submodule is used to determine the total score of the search results based on the feature scores of each feature value of the search results.

[0212] Optionally, the above-mentioned weight determination module may include:

[0213] The loop count determination submodule is used to determine whether the loop count is the initial value;

[0214] The first processing submodule is used to randomly generate the weights of each feature value within a preset weight range if the number of iterations is the initial value.

[0215] The second processing submodule is used to update the weights according to a preset formula if the number of iterations is not the initial value. The preset formula is expressed as follows:

[0216] λ n =Aλ n-1 ;

[0217] Where, λ n λ represents the weight corresponding to the current iteration number; A represents the weighting factor, and the value of A ranges from (0, 1); λ n-1 This represents the weight corresponding to the current loop count minus 1.

[0218] Optionally, the above-mentioned device may further include:

[0219] A preset value determination module is used to determine the preset value based on the total number of search results; or, it is used to determine the preset value based on the number of search results that can be displayed on the page.

[0220] Optionally, the search result obtaining module 301 may include:

[0221] The initial search results acquisition submodule is used to perform searches based on search criteria and obtain multiple initial search results for various information categories;

[0222] The search result determination submodule is used to extract multiple search results belonging to the target information category from the multiple initial search results; or, it is used to extract a preset number of search results with an initial order from the multiple initial search results.

[0223] As the device embodiment is basically similar to the method embodiment, the description is relatively simple, and relevant parts can be found in the description of the method embodiment.

[0224] Reference Figure 4 The present invention also provides a terminal, which may include a processor 401, a memory 402, and a computer program 403 stored in the memory 402 and capable of running on the processor 401. When the computer program 403 is executed by the processor 401, it implements the various processes of the search result sorting method embodiment described above and can achieve the same technical effect. To avoid repetition, it will not be described again here.

[0225] This invention also provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, it implements the various processes of the search result sorting method embodiments described above and achieves the same technical effect. To avoid repetition, it will not be described again here. The computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0226] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to each other.

[0227] It will be readily apparent to those skilled in the art that any combination of the above embodiments is feasible, and therefore any combination of the above embodiments is an implementation scheme of the present invention. However, due to space limitations, this specification will not describe them in detail here.

[0228] The search result ranking method provided herein is not inherently related to any particular computer, virtual system, or other device. Various general-purpose systems can also be used in conjunction with the teachings herein. Based on the above description, the required structure for constructing a system having the inventive solution is obvious. Furthermore, this invention is not directed to any particular programming language. It should be understood that the contents of the invention described herein can be implemented using various programming languages, and the above description of specific languages ​​is for the purpose of disclosing the best mode of implementation of the invention.

[0229] Numerous specific details are set forth in the specification provided herein. However, it will be understood that embodiments of the invention may be practiced without these specific details. In some instances, well-known methods, structures, and techniques have not been shown in detail so as not to obscure the understanding of this specification.

[0230] Similarly, it should be understood that, in order to simplify the invention and aid in understanding one or more of the various inventive aspects, features of the invention are sometimes grouped together in a single embodiment, figure, or description thereof in the above description of exemplary embodiments of the invention. However, this disclosure should not be construed as reflecting an intention that the claimed invention requires more features than expressly recited in each claim. Rather, as reflected in the claims, inventive aspects lie in fewer than all features of the single foregoing disclosed embodiment. Therefore, the claims following the detailed description are hereby expressly incorporated into that detailed description, wherein each claim itself is a separate embodiment of the invention.

[0231] Those skilled in the art will understand that modules in the device of the embodiments can be adaptively changed and placed in one or more devices different from that embodiment. Modules, units, or components in the embodiments can be combined into a single module, unit, or component, and further, they can be divided into multiple sub-modules, sub-units, or sub-components. Except where at least some of such features and / or processes or units are mutually exclusive, any combination can be used to combine all features disclosed in this specification (including the accompanying claims, abstract, and drawings) and all processes or units of any method or device so disclosed. Unless expressly stated otherwise, each feature disclosed in this specification (including the accompanying claims, abstract, and drawings) may be replaced by an alternative feature that serves the same, equivalent, or similar purpose.

[0232] Furthermore, those skilled in the art will understand that although some embodiments described herein include certain features but not others included in other embodiments, combinations of features from different embodiments are intended to be within the scope of the invention and form different embodiments. For example, in the claims, any of the claimed embodiments can be used in any combination.

[0233] The various component embodiments of the present invention can be implemented in hardware, or as software modules running on one or more processors, or a combination thereof. Those skilled in the art will understand that microprocessors or digital signal processors (DSPs) can be used in practice to implement some or all of the functions of some or all of the components in the search result ranking method according to embodiments of the present invention. The present invention can also be implemented as a device or apparatus program (e.g., a computer program and computer program product) for performing part or all of the methods described herein. Such programs implementing the present invention can be stored on a computer-readable medium or can be in the form of one or more signals. Such signals can be downloaded from an Internet website, provided on a carrier signal, or provided in any other form.

[0234] It should be noted that the above embodiments are illustrative of the invention and not restrictive, and that those skilled in the art can devise alternative embodiments without departing from the scope of the appended claims. In the claims, any reference signs placed between parentheses should not be construed as limiting the claims. The word "comprising" does not exclude the presence of elements or steps not listed in the claims. The word "a" or "an" preceding an element does not exclude the presence of a plurality of such elements. The invention can be implemented by means of hardware comprising several different elements and by means of a suitably programmed computer. In the unit claims enumerating several means, several of these means may be embodied by the same item of hardware. The use of the words first, second, and third, etc., does not indicate any order. These words can be interpreted as names.

Claims

1. A method for ranking search results, characterized in that, The method includes: A search is performed based on search criteria to obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results; the initial score consists of multiple feature values. When the number of iterations is less than a preset value, within a first preset random number range, multiple random perturbation values ​​are randomly generated, each corresponding to one of the multiple search results. This includes: determining the weight of each feature value; within a second preset random number range corresponding to each feature value, for each search result, multiple feature random perturbation values ​​are randomly generated, each corresponding to one of the multiple feature values ​​of the search result. The first preset random number range includes the second preset random number range. The random perturbation values ​​are used to characterize the randomness probability of a search result being clicked. The random perturbation values ​​include multiple feature random perturbation values. For each search result, the total score of the search result is determined based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value. Sort the multiple search results in descending order of total score, record the search results in the set order, and increment the loop count by 1; When the number of iterations equals the preset value, or when any search result is recorded a number of times, the multiple search results are reordered in descending order of the number of times they are recorded to obtain a reordering result; when multiple search results are recorded a number of times the same, the multiple search results are sorted according to the order in the initial order corresponding to the search results.

2. The method according to claim 1, characterized in that, The determination of the weights for each feature value includes: Determine whether the number of iterations is the initial value; If so, then within the preset weight range, the weights of each feature value are randomly generated; If not, the weights are updated according to a preset formula, which is expressed as follows: l n =Aλ n-1 ; Where, λ n λ represents the weight corresponding to the current iteration number; A represents the weighting factor, and the value of A ranges from (0, 1); n-1 This represents the weight corresponding to the current loop count minus 1.

3. The method according to claim 2, characterized in that, For each search result, the total score of the search result is determined based on multiple feature values ​​of the search result, the weights corresponding to each feature value, and the feature random perturbation values ​​corresponding to each feature value, including: For each search result, the feature values ​​of the search result are weighted using the corresponding weights, and then added to the corresponding feature random perturbation value to obtain the feature score of each feature value. The total score of the search results is determined based on the feature scores of each feature value of the search results.

4. The method according to any one of claims 1-3, characterized in that, Before generating multiple random perturbation values ​​corresponding one-to-one with the multiple search results within a first preset random number range when the number of iterations is less than a preset value, the method further includes: The preset value is determined based on the total number of search results; or, The preset value is determined based on the number of search results that can be displayed on the page.

5. The method according to claim 1, characterized in that, The search based on search criteria yields multiple search results, including: Search based on search criteria to obtain multiple initial search results for various information categories; Extract multiple search results belonging to the target information category from the multiple initial search results; or, Extract a preset number of search results from the multiple initial search results, prior to the first one in the initial order.

6. A search result sorting device, characterized in that, The device includes: The search result acquisition module is used to perform a search based on search criteria and obtain multiple search results; each search result has an initial score, which is used to determine the initial order of the search results; The random perturbation value generation module is used to randomly generate multiple random perturbation values ​​corresponding one-to-one with the multiple search results within a first preset random number range when the number of cycles is less than a preset value; the random perturbation values ​​are used to characterize the randomness probability of the search results being clicked; The total score determination module is used to determine the total score of each search result based on the initial score of the search result and the corresponding random perturbation value. The search result recording module is used to sort multiple search results in descending order of total score, record the search results in a set order, and increment the loop count by 1. The search result sorting module is used to reorder multiple search results in descending order of the number of times they are recorded when the number of iterations equals the preset value, or when any search result is recorded a certain number of times. When multiple search results are recorded a certain number of times, the module sorts the multiple search results according to the order in the initial order of the search results. The initial score is composed of multiple feature values, and the random perturbation value includes multiple feature random perturbation values; the random perturbation value generation module includes: The random number range determination submodule is used to determine the second preset random number range corresponding to each feature value; The feature random perturbation value generation submodule is used to randomly generate multiple feature random perturbation values ​​corresponding one-to-one with multiple feature values ​​of the search results for each search result within a second preset random number range; the first preset random number range includes the second preset random number range; The device further includes: The weight determination module is used to determine the weight of each feature value; The total score determination module is specifically used to determine the total score of each search result based on multiple feature values ​​of the search result, the weight corresponding to each feature value, and the feature random perturbation value corresponding to each feature value.

7. A terminal, characterized in that, include: A processor, a memory, and a computer program stored in the memory and executable on the processor, wherein the computer program, when executed by the processor, implements the search result ranking method as described in any one of claims 1-5.

8. A computer-readable storage medium, characterized in that, A computer program is stored on the computer-readable storage medium, which, when executed by a processor, implements the search result sorting method as described in any one of claims 1-5.