CN117332165A - Candidate object reordering method, device and server - Google Patents

Candidate object reordering method, device and server Download PDF

Info

Publication number
CN117332165A
CN117332165A CN202311225591.8A CN202311225591A CN117332165A CN 117332165 A CN117332165 A CN 117332165A CN 202311225591 A CN202311225591 A CN 202311225591A CN 117332165 A CN117332165 A CN 117332165A
Authority
CN
China
Prior art keywords
candidate
executable
ordering
candidate object
reordering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311225591.8A
Other languages
Chinese (zh)
Inventor
祁秉钰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Momo Information Technology Co Ltd
Original Assignee
Beijing Momo Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Momo Information Technology Co Ltd filed Critical Beijing Momo Information Technology Co Ltd
Priority to CN202311225591.8A priority Critical patent/CN117332165A/en
Publication of CN117332165A publication Critical patent/CN117332165A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9538Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

The application provides a candidate object reordering method, a candidate object reordering device and a server. When a recommendation request is received, judging whether an executable ordering strategy matched with the recommendation request exists in the ordering rule configured at present; if so, judging whether an unprocessed reordering position of the unassigned candidate object exists in the preset reordering position; when the unprocessed reordering position of the unassigned candidate object exists, taking the first position in the unprocessed reordering position as a to-be-processed position, and judging whether a first target candidate object meeting an executable ordering strategy exists in unassigned candidate objects in a candidate set of recommendation requests; if the first target candidate object exists, the first target candidate object is used as an allocation result of the position to be processed; and executing the step of judging whether the unprocessed reordering position of the unassigned candidate exists in the preset reordering position again until the unprocessed reordering position of the unassigned candidate does not exist in the preset reordering position.

Description

Candidate object reordering method, device and server
Technical Field
The present disclosure relates to the field of recommendation technologies, and in particular, to a candidate object reordering method, device, and server.
Background
With the popularity of recommendation technology, recommendation flows such as content recommendation and advertisement recommendation are increasingly applied in life. In the recommendation process, reordering is an essential stage in most recommendation processes, and is used for adjusting the sequence of candidate sets according to service or policy requirements so as to achieve a better recommendation effect.
In the existing reordering process, no link exists between every reordering operation, after one reordering operation is performed on all candidate sets, the next reordering operation is performed until all the reordering operations are performed. Under the reordering process, the result of the first reordering operation is affected by the next reordering operation, and when all the reordering operations are completed, not all the reordering operations are satisfied.
Disclosure of Invention
In view of the foregoing, the present application provides a candidate reordering method for solving the problem that the existing reordering method cannot necessarily meet all the reordering operations.
Specifically, the application is realized by the following technical scheme:
a first aspect of the present application provides a candidate object reordering method, the method comprising:
when a recommendation request is received, judging whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present; wherein the ordering rule comprises at least one ordering policy;
If so, judging whether an unprocessed reordering position of the unassigned candidate object exists in the preset reordering position;
when an unassigned candidate object has an unassigned reordered position, taking a first position in the unassigned reordered position as a to-be-processed position, and judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the candidate set of the recommendation request;
if the first target candidate object exists, the first target candidate object is used as an allocation result of the position to be processed;
and executing the step of judging whether the unprocessed reordering position of the unassigned candidate exists in the preset reordering position or not again until the unprocessed reordering position of the unassigned candidate does not exist in the preset reordering position.
A second aspect of the present application provides a candidate object reordering apparatus, the apparatus comprising: the judging module and the processing module are used for judging whether the data is processed by the data processing module or not, wherein,
the judging module is used for judging whether an executable ordering strategy matched with the recommendation request exists in the ordering rule configured at present or not when the recommendation request is received; wherein the ordering rule comprises at least one ordering policy;
The judging module is further configured to judge whether an unprocessed reordering position of an unassigned candidate object exists in a preset reordering position when an executable ordering policy matched with the recommendation request exists in the currently configured ordering rule;
the judging module is further configured to, when there is an unassigned candidate object with an unassigned reordered position, judge whether there is a first target candidate object satisfying the executable ordering policy in unassigned candidate objects in the candidate set of the recommendation request, with a first position in the unassigned reordered position as a position to be processed;
the processing module is used for taking the first target candidate object as an allocation result of the position to be processed when the first target candidate object exists;
the judging module is further configured to execute the step of judging whether an unprocessed reorder location of the unassigned candidate object exists in the preset reorder location again until the unprocessed reorder location of the unassigned candidate object does not exist in the preset reorder location.
A third aspect of the present application provides a server comprising a memory, a processor and a computer program stored on the memory and executable on the processor, the processor implementing the steps of any of the methods provided in the first aspect of the present application when the program is executed.
A fourth aspect of the present application provides a computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of any of the methods provided in the first aspect of the present application.
According to the candidate object reordering method, device and server, when a recommendation request is received, whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present or not is judged; when an executable ordering strategy matched with the recommendation request exists in the ordering rule of the current configuration, judging whether an unprocessed reordering position of an unassigned candidate object exists in preset reordering positions, when the unprocessed reordering position of the unassigned candidate object exists, taking a first position in the unprocessed reordering position as a position to be processed, judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the recommendation request, when the first target candidate object exists, taking the first target candidate object as an allocation result of the position to be processed, and executing the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering positions again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position. In this way, for each preset reordering position, a candidate object meeting the executable ordering policy is allocated for the preset reordering position, and when a candidate object is allocated for one preset reordering position, the allocated candidate object meets all the executable ordering policies at the same time, and after the candidate object is allocated for the preset reordering position, the allocation result of the position is not modified any more. Therefore, each preset reordering position can describe the reordering intention from the global angle based on a unified allocation principle, so that the reordering method can meet all reordering operation intents.
Drawings
FIG. 1 is a flowchart of a first embodiment of a candidate reordering method provided herein;
FIG. 2 is a diagram illustrating a reorder configured platform visualization interface according to an exemplary embodiment of the present application;
FIG. 3 is a flowchart of a second embodiment of a candidate reordering method provided in the present application;
FIG. 4 is a flowchart of a third embodiment of a candidate reordering method provided in the present application;
FIG. 5 is a flowchart of a fourth embodiment of a candidate reordering method provided in the present application;
FIG. 6 is a flowchart of a fifth embodiment of a candidate reordering method provided in the present application;
FIG. 7 is an explanatory diagram showing an execution effect of a conventional reordering method according to an exemplary embodiment of the present application;
FIG. 8 is an explanatory diagram illustrating an execution effect of the reordering method proposed in the present application according to an exemplary embodiment of the present application;
FIG. 9 is a hardware configuration diagram of a server where the candidate reordering device provided in the present application is located;
fig. 10 is a schematic structural diagram of a candidate reordering device according to an embodiment of the present application.
Detailed Description
Reference will now be made in detail to exemplary embodiments, examples of which are illustrated in the accompanying drawings. When the following description refers to the accompanying drawings, the same numbers in different drawings refer to the same or similar elements, unless otherwise indicated. The implementations described in the following exemplary examples are not representative of all implementations consistent with the present application. Rather, they are merely examples of apparatus and methods consistent with some aspects of the present application as detailed in the accompanying claims.
The terminology used in the present application is for the purpose of describing particular embodiments only and is not intended to be limiting of the present application. As used in this application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It should also be understood that the term "and/or" as used herein refers to and encompasses any or all possible combinations of one or more of the associated listed items.
It should be understood that although the terms first, second, third, etc. may be used herein to describe various information, these information should not be limited by these terms. These terms are only used to distinguish one type of information from another. For example, a first message may also be referred to as a second message, and similarly, a second message may also be referred to as a first message, without departing from the scope of the present application. The word "if" as used herein may be interpreted as "at … …" or "at … …" or "responsive to a determination", depending on the context.
The application provides a candidate object reordering method, a candidate object reordering device and a candidate object reordering server, which are used for solving the problem that the existing reordering method cannot meet all reordering operation intents.
According to the candidate object reordering method, device and server, when a recommendation request is received, whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present or not is judged; when an executable ordering strategy matched with the recommendation request exists in the ordering rule of the current configuration, judging whether an unprocessed reordering position of an unassigned candidate object exists in preset reordering positions, when the unprocessed reordering position of the unassigned candidate object exists, taking a first position in the unprocessed reordering position as a position to be processed, judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the recommendation request, when the first target candidate object exists, taking the first target candidate object as an allocation result of the position to be processed, and executing the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering positions again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position. In this way, for each preset reordering position, a candidate object meeting the executable ordering policy is allocated for the preset reordering position, and when a candidate object is allocated for one preset reordering position, the allocated candidate object meets all the executable ordering policies at the same time, and after the candidate object is allocated for the preset reordering position, the allocation result of the position is not modified any more. Therefore, each preset reordering position can describe the reordering intention from the global angle based on a unified allocation principle, so that the reordering method can meet all reordering operation intents.
Specific examples are given below to describe the technical solutions of the present application in detail.
Fig. 1 is a flowchart of a first embodiment of a candidate reordering method provided in the present application. Referring to fig. 1, the method provided in this embodiment includes:
s101, when a recommendation request is received, judging whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present; wherein the ordering rules comprise at least one ordering policy.
The candidate object reordering method and device provided by the embodiment can be applied to a server.
Specifically, the recommendation request is from a client (a user on the client side triggers a recommendation request) and is used for indicating the server to recommend a recommendation object to the user, where the recommendation object may be a commodity, a social user, or the like, and in this embodiment, the recommendation object is not specifically limited.
It should be noted that, when receiving a recommendation request, the server firstly selects a candidate set formed by candidate objects for the recommendation request, then reorders the candidate objects in the candidate set, and finally determines a final recommendation object based on the reordered result, thereby recommending the recommendation object to the user. In particular, the present application mainly describes how to reorder the candidate objects, and for specific implementation principles and implementation procedures of selecting the candidate set, reference may be made to descriptions in the related art, which are not repeated herein.
Specifically, the ordering rule refers to an overall rule followed by the candidate object when reordered, the ordering rule includes at least one ordering policy, and the ordering policy refers to ordering logic followed by the candidate object when reordered. It should be noted that, the sorting rule is configured by a configurator in advance according to actual needs, and the configuration process of the sorting rule is briefly introduced below.
Specifically, the configuration process of the ordering rule includes:
(1) When receiving the ordering rule configuration request, displaying a plurality of preset ordering strategies to configuration personnel.
Specifically, after a configurator logs in the reorder configurator platform, the configurator platform can trigger a sequencing rule configuration request to request the reorder configurator platform for configuring the sequencing rule. After receiving an ordering rule configuration request triggered by a configurator, the reordering configuration platform displays a plurality of preset ordering strategies to the configurator so as to enable the configurator to configure the ordering rules.
Further, the preset plurality of sorting strategies are set according to actual needs, and in this embodiment, the preset plurality of sorting strategies are not limited. For example, table 1 shows a number of ordering strategies for an exemplary embodiment of the present application:
Table 1 multiple ordering strategies
Specifically, each sort policy includes a type of the sort policy, an effective condition of the sort policy in a request dimension, an effective condition of the sort policy in a candidate set dimension, a priority of the sort policy, and the like.
In particular implementations, each ordering policy is described by a fixed DSL (Domain Specific Language ) syntax specification. For example, in one embodiment, the DSL syntax of the ordering policy is defined as follows:
“//top topfilter atleast atmost percent unique windowUnique fixed random percentAtleast percentAtmost action:Identifier;
configuration of space separation
actionConfig:businessExpression;
The greater the number of/(and the higher the priority
priority:DecimalLiteral;
whenExpression:businessExpression;
whereExpression:businessExpression;
nameString:StringLiteral;
maxSeek:DecimalLiteral;
maxRerank:DecimalLiteral;
Business key word
Rerank:‘rerank’;
When:‘when’;
Where:‘where’;
Name:‘name’;
MaxSeek:‘maxSeek’;
MaxRerank:‘maxRerank’;
Priority:‘priority’;”
Referring to the grammar definition, wherein the action defines the type of the ordering policy, the write statement describes the effective condition of the ordering policy in the request dimension, the where statement describes the effective condition of the ordering policy in the candidate set dimension, and the priority statement describes the priority of the ordering policy.
For example, in one embodiment, upon receiving an ordering rule configuration request, the reorder configuration platform presents a plurality of ordering policies shown in table 1 to a configurator.
(2) And generating a sequencing rule matched with the configuration operation in response to the configuration operation of the configurator selecting at least one target sequencing strategy from the plurality of sequencing strategies and the configuration operation of the configurator on the target sequencing strategy.
Specifically, after the multiple sorting strategies are displayed to the configurator, the configurator can select at least one target sorting strategy from the multiple sorting strategies on the reordering configuration platform through the visual interface and perform configuration operation on the target sorting strategy. Further, the reorder configurational platform may generate an ordering rule that matches the configuration operation based on the configuration operation of the configurator.
In one embodiment, the reorder-configured platform may be integrated into a server.
For example, FIG. 2 is a diagram illustrating a reorder configured platform visualization interface according to an exemplary embodiment of the present application.
In combination with the above example, the configurator selects the sorting policy atm, the sorting policy atleast and the sorting policy topfilter from the plurality of sorting policies shown in table 1 as the target sorting policies, and performs the configuration operation on the target sorting policies, where the configured target sorting policy is atm 3A, atleast 3B, topfilter C, and at this time, the generated sorting rule is atm 3A, atleast 3B, topfilter C, in other words, the generated sorting rule is that the type a results have at most 1 per 3 in the final result list, while the type B results have at least 1 per 3 in the final result list, and the last type C results cannot appear in the first 10 bits in the final result list.
Specifically, whether an executable ordering policy matching the recommended request exists in at least one ordering policy in the ordering rules can be determined based on the effective condition of the ordering policy in the request dimension. For example, in one possible implementation, the validation condition of a ranking policy is a male user. At this time, if the recommendation request comes from a male user, the ranking policy is an executable ranking policy.
S102, if so, judging whether the unprocessed reordering position of the unassigned candidate exists in the preset reordering position.
Specifically, the preset reordering position is set according to actual needs, and in this embodiment, a specific value of the preset reordering position is not limited. For example, in one embodiment, when 10 candidate objects are to be selected from the candidate set as recommended objects by reordering, the predetermined reordering positions include reordering position 1, reordering position 2, … …, and reordering position 10.
Specifically, in the scheme provided by the application, when reordering the candidate objects, the main objective is to allocate the candidate objects for each reordered position.
For example, in one possible implementation, the predetermined reordering positions include reordering position 1, reordering position 2, … …, and reordering position 10, wherein reordering position 1 has allocated a candidate object, and other reordering positions have not allocated a processed object, and at this time, reordering positions 2 to 10 have not allocated a candidate object, i.e. reordering positions 2 to 10 are unprocessed reordering positions.
And S103, when the unprocessed reorder positions of the unassigned candidate objects exist, taking the first position in the unprocessed reorder positions as a to-be-processed position, and judging whether first target candidate objects meeting the executable ordering strategy exist in unassigned candidate objects in the candidate set of the recommendation request.
In combination with the above example, at this time, reorder position 2 is taken as a pending position, and a candidate is allocated to reorder position 2.
Further, for example, in one embodiment, the candidate set includes candidate 1, candidate 2, … …, candidate 50, wherein candidate 1 is assigned to reorder location 1. In this step, the reorder location 2 is taken as the pending location, and it is determined whether there is a first target candidate that satisfies the executable ordering policy among the candidates 2 to 50.
It should be noted that the candidate object meeting the executable ordering policy refers to the candidate object meeting the effective condition of the ordering policy in the dimension of the candidate set.
And S104, if the first target candidate object exists, taking the first target candidate object as an allocation result of the position to be processed.
In connection with the above example, for example, if any of candidate 2 through candidate 50 satisfies the executable ordering policy, that candidate is assigned to reorder location 2.
S105, the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering position is executed again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position.
In connection with the above example, in this step, the step of assigning candidates for reorder position 3 is continued until reorder position 10 is also assigned candidates.
According to the candidate object reordering method provided by the embodiment, when a recommendation request is received, whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present or not is judged; when an executable ordering strategy matched with the recommendation request exists in the ordering rule of the current configuration, judging whether an unprocessed reordering position of an unassigned candidate object exists in preset reordering positions, when the unprocessed reordering position of the unassigned candidate object exists, taking a first position in the unprocessed reordering position as a position to be processed, judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the recommendation request, when the first target candidate object exists, taking the first target candidate object as an allocation result of the position to be processed, and executing the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering positions again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position. In this way, for each preset reordering position, a candidate object meeting the executable ordering policy is allocated for the preset reordering position, and when a candidate object is allocated for one preset reordering position, the allocated candidate object meets all the executable ordering policies at the same time, and after the candidate object is allocated for the preset reordering position, the allocation result of the position is not modified any more. Therefore, each preset reordering position can describe the reordering intention from the global angle based on a unified allocation principle, so that the reordering method can meet all reordering operation intents.
Fig. 3 is a flowchart of a second embodiment of a candidate reordering method provided in the present application. Referring to fig. 3, in the method provided in this embodiment, if the first target candidate object does not exist, the method further includes:
s301, selecting a target executable ordering strategy with highest priority from the executable ordering strategies.
In connection with the above example, the executable ordering policy includes atm ost 3A, atleast 3B, topfilter C, where the priority of atleast 3B > the priority of atm ost 3A > the priority of topfilter 10, in which step atleast 3B is selected as the target executable ordering policy.
S302, selecting a second target candidate object meeting the target executable ordering strategy from the unassigned candidate objects, and taking the second target candidate object as an allocation result of the to-be-processed position.
In connection with the previous example, the candidate set contains, for example, candidate 1, candidate 2, … …, candidate 50, wherein candidate 1 is assigned to reorder location 1. In assigning candidates for reorder position 2, if the first target candidate that satisfies the executable ordering policy atmost 3A, atleast 3B, topfilter C is not satisfied among the candidates 2 to 50, then the candidate that satisfies the target executable ordering policy atleast 3B among the candidates 2 to 50 is assigned as the second target candidate to reorder position 2.
According to the method provided by the embodiment, when the first target candidate object does not exist, the target executable ordering strategy with the highest priority is selected from the executable ordering strategies, and then a second target candidate object meeting the target executable ordering strategy is selected from the unassigned candidate objects, and the second target candidate object is used as an allocation result of the position to be processed. In this way, when the first target candidate object does not exist, the unassigned candidate object can be assigned to the to-be-processed position by selecting the target executable ordering strategy with the highest priority, so that the stringency of the reordering method is improved.
Fig. 4 is a flowchart of a third embodiment of a candidate reordering method provided in the present application. The method provided in this embodiment, on the basis of the foregoing embodiment, includes determining whether a first target candidate object that satisfies the executable ranking policy exists in unallocated candidate objects that are not allocated in the candidate set of recommendation requests, including:
s401, judging whether unallocated candidate objects exist in the candidate set.
In connection with the above example, the candidate set contains candidate 1, candidate 2, … …, candidate 50. In this step, it is determined whether or not there is an unallocated candidate among the candidates 1 to 50.
The unassigned candidate refers to a candidate that is not assigned to any one of the reordered positions.
And S402, if not, determining that a first target candidate object meeting the executable ordering strategy does not exist in unallocated candidate objects which are not allocated in the candidate set of the recommendation request.
In combination with the above example, if candidate 1 through candidate 50 have all been assigned to a reorder location, it is determined that there is no first target candidate that satisfies the executable ordering policy among unassigned candidates in the candidate set for the recommendation request.
And S403, if so, taking a first unallocated candidate in the unallocated candidates as a candidate to be allocated, and judging whether the candidate to be allocated meets the executable ordering strategy.
In combination with the above example, if the candidate 1 is allocated to the reorder location 1, in this step, the candidate 2 is taken as the candidate to be allocated, and it is determined whether the candidate 2 satisfies the executable ordering policy.
S404, if the candidate object to be allocated meets the executable ordering policy, determining that the candidate object to be allocated is a first target candidate object meeting the executable ordering policy in the candidate object not to be allocated.
In this step, in combination with the above example, if the candidate 2 satisfies the executable ordering policy, the candidate 2 is determined to be the first target candidate.
And S405, if the candidate object to be allocated does not meet the executable ordering policy, executing the step of judging whether unallocated candidate objects exist in the candidate set again.
In this step, if the candidate 2 does not satisfy the executable ordering policy, the next candidate, i.e. the candidate 3, is determined to be the candidate to be allocated, and it is determined whether the candidate 3 satisfies the executable ordering policy, until the step of determining whether the candidate 50 satisfies the executable ordering policy is performed.
According to the candidate object reordering method provided by the embodiment, whether unallocated candidate objects exist in the candidate set is judged, if the unallocated candidate objects do not exist in the candidate set, the first target candidate objects meeting the executable ordering strategy do not exist in the unallocated candidate objects in the candidate set of the recommendation request are directly determined; if the unallocated candidate objects exist in the candidate set, taking a first unallocated candidate object in the unallocated candidate objects as a candidate object, judging whether the candidate object to be allocated meets the executable ordering policy, if the candidate object to be allocated meets the executable ordering policy, determining that the candidate object to be allocated is a first target candidate object meeting the executable ordering policy in the unallocated candidate objects, and if the candidate object to be allocated does not meet the executable ordering policy, executing the step of judging whether the unallocated candidate objects exist in the candidate set again. In this way, unallocated candidates that satisfy an executable ordering policy may be allocated to reorder locations, normalizing the reordering method.
Fig. 5 is a flowchart of a fourth embodiment of a candidate reordering method provided in the present application. Referring to fig. 5, in the method provided in the present embodiment, on the basis of the foregoing embodiment, the determining whether the candidate object to be allocated meets the executable ordering policy includes:
s501, judging whether a target executable ordering strategy which is not executed on the pending position exists in the executable ordering strategies.
Specifically, the target executable ordering policy refers to an executable ordering policy that is not executed on a pending location.
In connection with the above example, the candidate set contains candidate 1, candidate 2, … …, candidate 50. Wherein candidate 1 is assigned to reorder location 1 and the executable ordering policy includes atm 3A, atleast 3B, topfilter C, where the location to be processed is reorder location 2 and the candidate to be assigned is candidate 2. In this step, it is judged whether or not the atm st 3A, atleast 3B, topfilter C is performed at the reordering position 2.
S502, if not, determining that the candidate object to be allocated meets the executable ordering strategy.
In connection with the above example, if the executable ordering policy atm 3A, atleast 3B, topfilter C is all executing on reorder location 2, then it is determined that candidate 2 satisfies the executable ordering policy atm 3A, atleast 3B, topfilter C.
And S503, if so, judging whether the candidate object to be allocated meets the target executable ordering strategy.
In combination with the above example, if the ordering policy topfilter 10C is not executed at the reorder location 2, the ordering policy topfilter 10C is the target executable ordering policy, and in this step, it is determined whether the candidate object 2 satisfies the ordering policy topfilter 10C.
S504, if the candidate object to be distributed does not meet the target executable ordering strategy, determining that the candidate object to be distributed does not meet the executable ordering strategy.
In connection with the above example, if candidate 2 does not satisfy the ordering policy topfilter 10C, then it is determined that candidate 2 does not satisfy the executable ordering policy atm 3A, atleast 3B, topfilter C.
S505, if the candidate object to be allocated meets the target executable ordering strategy, executing the step of judging whether the target executable ordering strategy which is not executed on the position to be processed exists in the executable ordering strategy again.
In connection with the above example, if candidate 2 satisfies ordering policy topfilter 10C, it is again determined whether executable ordering policy atm_3A, atleast 3B, topfilter C is all executed on reorder location 2.
According to the candidate object reordering method provided by the embodiment, whether the candidate object to be allocated meets the executable ordering policy is determined by judging whether a target executable ordering policy which is not executed on the to-be-processed position exists in the executable ordering policy, if the target executable ordering policy which is not executed on the to-be-processed position exists in the executable ordering policy, the candidate object to be allocated meets the executable ordering policy, and if the target executable ordering policy which is not executed on the to-be-processed position exists in the executable ordering policy, whether the candidate object to be allocated meets the target executable ordering policy is judged; and if the candidate object to be allocated does not meet the target executable ordering strategy, determining that the candidate object to be allocated does not meet the executable ordering strategy, and if the candidate object to be allocated meets the target executable ordering strategy, executing the step of judging whether the target executable ordering strategy which is not executed on the to-be-processed position exists in the executable ordering strategy again. Therefore, whether the candidate objects to be allocated meet the executable ordering strategy can be judged based on strict judgment logic, and the accuracy of the reordering method is improved.
Fig. 6 is a flowchart of a fifth embodiment of a candidate reordering method provided in the present application. Referring to fig. 6, the method provided in this embodiment includes:
s601, when a recommendation request is received, judging whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present; wherein the ordering rules comprise at least one ordering policy. If yes, go to step S602; if not, step S611 is performed.
S602, judging whether an unprocessed reordering position of an unassigned candidate exists in the preset reordering position; if yes, go to step S603; if not, step S611 is performed.
S603, taking the first position in the unprocessed reordering positions as a position to be processed.
S604, judging whether unallocated candidate objects exist in the candidate set; if yes, go to step S605; if not, go to step S609.
S605, taking a first unallocated candidate in the unallocated candidates as a candidate to be allocated.
S606, judging whether a target executable ordering strategy which is not executed on the to-be-processed position exists in the executable ordering strategies; if yes, go to step S607, if no, go to step S608.
S607, judging whether the candidate object to be allocated meets the target executable ordering strategy; if yes, step S606 is executed, and if no, step S604 is executed.
S608, determining the candidate object to be allocated as a first target candidate object meeting the executable ordering policy in the unallocated candidate objects, and taking the first target candidate object as an allocation result of the position to be processed.
S609, selecting a target executable ordering strategy with highest priority from the executable ordering strategies, selecting a second target candidate object meeting the target executable ordering strategy from the unallocated candidate objects, and taking the second target candidate object as an allocation result of the to-be-processed position.
S610, the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering position is executed again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position.
S611, finishing the processing.
For example, fig. 7 is an explanatory diagram showing an execution effect of a conventional reordering method according to an exemplary embodiment of the present application; fig. 8 is an explanatory diagram showing an execution effect of the reordering method proposed in the present application according to an exemplary embodiment of the present application.
According to the candidate object reordering method, device and server, when a recommendation request is received, whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present or not is judged; when an executable ordering strategy matched with the recommendation request exists in the ordering rule of the current configuration, judging whether an unprocessed reordering position of an unassigned candidate object exists in preset reordering positions, when the unprocessed reordering position of the unassigned candidate object exists, taking a first position in the unprocessed reordering position as a position to be processed, judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the recommendation request, when the first target candidate object exists, taking the first target candidate object as an allocation result of the position to be processed, and executing the step of judging whether the unprocessed reordering position of the unassigned candidate object exists in the preset reordering positions again until the unprocessed reordering position of the unassigned candidate object does not exist in the preset reordering position. In this way, for each preset reordering position, a candidate object meeting the executable ordering policy is allocated for the preset reordering position, and when a candidate object is allocated for one preset reordering position, the allocated candidate object meets all the executable ordering policies at the same time, and after the candidate object is allocated for the preset reordering position, the allocation result of the position is not modified any more. Therefore, each preset reordering position can describe the reordering intention from the global angle based on a unified allocation principle, so that the reordering method can meet all reordering operation intents.
Corresponding to the embodiment of the candidate object reordering method, the application also provides an embodiment of the candidate object reordering device.
The embodiment of the candidate object reordering device can be applied to candidate object reordering equipment. The apparatus embodiments may be implemented by software, or may be implemented by hardware or a combination of hardware and software. Taking software implementation as an example, the device in a logic sense is formed by reading corresponding computer program instructions in the nonvolatile memory into the memory by the processor of the candidate reordering device where the device is located. In terms of hardware, as shown in fig. 9, a hardware structure diagram of a server where the candidate reordering device provided in the present application is located is shown in fig. 9, and in addition to the processor, the memory, the network interface, and the nonvolatile memory shown in fig. 9, the server where the device is located in the embodiment generally includes other hardware according to the actual function of the candidate reordering device, which is not described herein again.
Fig. 10 is a schematic structural diagram of a candidate reordering device according to an embodiment of the present application. Referring to fig. 10, the apparatus provided in this embodiment includes: a decision module 1010, and a processing module 1020, wherein,
The judging module 1010 is configured to, when receiving a recommendation request, judge whether an executable ordering policy matched with the recommendation request exists in the currently configured ordering rule; wherein the ordering rule comprises at least one ordering policy;
the judging module 1010 is further configured to judge whether an unprocessed reorder location of the unassigned candidate object exists in the preset reorder location when there is an executable ordering policy matched with the recommendation request in the currently configured ordering rule;
the determining module 1010 is further configured to determine, when there is an unassigned candidate object with an unassigned reordered position, whether there is a first target candidate object that satisfies the executable ordering policy in unassigned candidate objects in the candidate set of recommendation requests, by using a first position in the unassigned reordered position as a to-be-processed position;
the processing module 1020 is configured to, when the first target candidate object exists, use the first target candidate object as an allocation result of the to-be-processed location;
the determining module 1010 is further configured to perform the step of determining whether an unprocessed reorder location of the unassigned candidate exists in the preset reorder locations again until the unprocessed reorder location of the unassigned candidate does not exist in the preset reorder locations.
The device provided in this embodiment may be used to implement the technical method of the method embodiment shown in fig. 1, and its implementation principle and technical effects are similar, and will not be described here again.
Optionally, the processing module 1020 is further configured to select, when the first target candidate object does not exist, a target executable ranking policy with a highest priority from the executable ranking policies;
the processing module 1020 is further configured to select a second target candidate object that meets the target executable ordering policy from the unallocated candidate objects, and use the second target candidate object as an allocation result of the to-be-processed location.
Optionally, the determining module 1010 is specifically configured to determine whether there is an unallocated candidate in the candidate set;
the determining module 1010 is specifically configured to determine that, in determining that there is no unallocated candidate in the candidate set, there is no first target candidate satisfying the executable ranking policy in unallocated candidate in the candidate set of the recommendation request;
the determining module 1010 is specifically configured to, when it is determined that there is an unallocated candidate in the candidate set, determine whether the candidate to be allocated meets the executable ranking policy by using a first unallocated candidate in the unallocated candidate as a candidate to be allocated;
The determining module 1010 is specifically configured to determine, when the candidate to be allocated meets the executable ordering policy, that the candidate to be allocated is a first target candidate that meets the executable ordering policy in the candidate to be unallocated;
the determining module 1010 is specifically configured to, when the candidate to be allocated does not meet the executable ordering policy, perform the step of determining whether there is an unallocated candidate in the candidate set again.
With continued reference to fig. 9, the present application further provides a server, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the steps of any of the methods provided in the first aspect of the present application when the program is executed.
Further, the present application also provides a computer readable storage medium having stored thereon a computer program which when executed by a processor implements the steps of any of the methods provided in the first aspect of the present application.
The implementation process of the functions and roles of each unit in the above device is specifically shown in the implementation process of the corresponding steps in the above method, and will not be described herein again.
For the device embodiments, reference is made to the description of the method embodiments for the relevant points, since they essentially correspond to the method embodiments. The apparatus embodiments described above are merely illustrative, wherein the elements illustrated as separate elements may or may not be physically separate, and the elements shown as elements may or may not be physical elements, may be located in one place, or may be distributed over a plurality of network elements. Some or all of the modules may be selected according to actual needs to achieve the purposes of the present application. Those of ordinary skill in the art will understand and implement the present invention without undue burden.
The foregoing description of the preferred embodiments of the present invention is not intended to limit the invention to the precise form disclosed, and any modifications, equivalents, improvements and alternatives falling within the spirit and principles of the present invention are intended to be included within the scope of the present invention.

Claims (10)

1. A method of candidate reordering, the method comprising:
when a recommendation request is received, judging whether an executable ordering strategy matched with the recommendation request exists in an ordering rule configured at present; wherein the ordering rule comprises at least one ordering policy;
If so, judging whether an unprocessed reordering position of the unassigned candidate object exists in the preset reordering position;
when an unassigned candidate object has an unassigned reordered position, taking a first position in the unassigned reordered position as a to-be-processed position, and judging whether a first target candidate object meeting the executable ordering strategy exists in unassigned candidate objects in the candidate set of the recommendation request;
if the first target candidate object exists, the first target candidate object is used as an allocation result of the position to be processed;
and executing the step of judging whether the unprocessed reordering position of the unassigned candidate exists in the preset reordering position or not again until the unprocessed reordering position of the unassigned candidate does not exist in the preset reordering position.
2. The method of claim 1, wherein if the first target candidate is not present, the method further comprises:
selecting a target executable ordering strategy with highest priority from the executable ordering strategies;
and selecting a second target candidate object meeting the target executable ordering strategy from the unallocated candidate objects, and taking the second target candidate object as an allocation result of the to-be-processed position.
3. The method of claim 1, wherein the determining whether there is a first target candidate object that satisfies the executable ordering policy among unassigned candidate objects in the candidate set of recommendation requests comprises:
judging whether unallocated candidate objects exist in the candidate set;
if not, determining that a first target candidate object meeting the executable ordering strategy does not exist in unallocated candidate objects which are not allocated in the candidate set of the recommendation request;
if yes, taking a first unallocated candidate in the unallocated candidate as a candidate to be allocated, and judging whether the candidate to be allocated meets the executable ordering strategy;
if the candidate object to be allocated meets the executable ordering strategy, determining the candidate object to be allocated as a first target candidate object meeting the executable ordering strategy in the candidate object not to be allocated;
and if the candidate object to be allocated does not meet the executable ordering strategy, executing the step of judging whether unallocated candidate objects exist in the candidate set again.
4. A method according to claim 3, wherein said determining whether said candidate for allocation satisfies said executable ordering policy comprises:
Judging whether a target executable ordering strategy which is not executed on the to-be-processed position exists in the executable ordering strategy or not;
if not, determining that the candidate object to be allocated meets the executable ordering strategy;
if yes, judging whether the candidate object to be allocated meets the target executable ordering strategy;
if the candidate object to be distributed does not meet the target executable ordering strategy, determining that the candidate object to be distributed does not meet the executable ordering strategy;
and if the candidate object to be allocated meets the target executable ordering strategy, executing the step of judging whether the target executable ordering strategy which is not executed on the position to be processed exists in the executable ordering strategy again.
5. The method of claim 1, wherein the configuration process of the ordering rule comprises:
when receiving a sequencing rule configuration request, displaying a plurality of preset sequencing strategies to a configurator;
and generating a sequencing rule matched with the configuration operation in response to the configuration operation of the configurator selecting at least one target sequencing strategy from the plurality of sequencing strategies and the configuration operation of the configurator on the target sequencing strategy.
6. A candidate object reordering device, the device comprising: the judging module and the processing module are used for judging whether the data is processed by the data processing module or not, wherein,
the judging module is used for judging whether an executable ordering strategy matched with the recommendation request exists in the ordering rule configured at present or not when the recommendation request is received; wherein the ordering rule comprises at least one ordering policy;
the judging module is further configured to judge whether an unprocessed reordering position of an unassigned candidate object exists in a preset reordering position when an executable ordering policy matched with the recommendation request exists in the currently configured ordering rule;
the judging module is further configured to, when there is an unassigned candidate object with an unassigned reordered position, judge whether there is a first target candidate object satisfying the executable ordering policy in unassigned candidate objects in the candidate set of the recommendation request, with a first position in the unassigned reordered position as a position to be processed;
the processing module is used for taking the first target candidate object as an allocation result of the position to be processed when the first target candidate object exists;
The judging module is further configured to execute the step of judging whether an unprocessed reorder location of the unassigned candidate object exists in the preset reorder location again until the unprocessed reorder location of the unassigned candidate object does not exist in the preset reorder location.
7. The apparatus of claim 6, wherein the processing module is further configured to select a highest priority target executable ordering policy from the executable ordering policies when the first target candidate object is absent;
the processing module is further configured to select a second target candidate object that meets the target executable ordering policy from the unallocated candidate objects, and use the second target candidate object as an allocation result of the to-be-processed location.
8. The apparatus according to claim 6, wherein the determining module is configured to determine whether there are unassigned candidates in the candidate set;
the judging module is specifically configured to determine that, in the candidate set, there is no unallocated candidate object, and determine that there is no first target candidate object that satisfies the executable ranking policy in unallocated candidate objects in the candidate set of the recommendation request;
The judging module is specifically configured to, when it is judged that there is an unallocated candidate in the candidate set, judge whether the candidate to be allocated meets the executable ordering policy by using a first unallocated candidate in the unallocated candidate as a candidate to be allocated;
the judging module is specifically configured to determine, when the candidate object to be allocated meets the executable ordering policy, that the candidate object to be allocated is a first target candidate object that meets the executable ordering policy in the candidate object not to be allocated;
the judging module is specifically configured to execute the step of judging whether an unallocated candidate exists in the candidate set again when the candidate to be allocated does not satisfy the executable ordering policy.
9. A server comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of claims 1-5 when the program is executed.
10. A computer readable storage medium, on which a computer program is stored, characterized in that the program, when being executed by a processor, implements the steps of the method according to any of claims 1-5.
CN202311225591.8A 2023-09-21 2023-09-21 Candidate object reordering method, device and server Pending CN117332165A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311225591.8A CN117332165A (en) 2023-09-21 2023-09-21 Candidate object reordering method, device and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311225591.8A CN117332165A (en) 2023-09-21 2023-09-21 Candidate object reordering method, device and server

Publications (1)

Publication Number Publication Date
CN117332165A true CN117332165A (en) 2024-01-02

Family

ID=89289491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311225591.8A Pending CN117332165A (en) 2023-09-21 2023-09-21 Candidate object reordering method, device and server

Country Status (1)

Country Link
CN (1) CN117332165A (en)

Similar Documents

Publication Publication Date Title
US10127618B2 (en) Determining connectivity within a community
US20180270323A1 (en) Distributed data-based concurrent processing method and system, and computer storage medium
JP6677743B2 (en) Data processing method and device
US8612532B2 (en) System and method for optimizing response handling time and customer satisfaction scores
WO2013097026A1 (en) Systems and methods for visualizing social graphs
US9135668B2 (en) Contact center routing using characteristic mapping
CN112074818A (en) Method and node for enabling access to past transactions in a blockchain network
US20070116241A1 (en) Support case management system
CN110288232A (en) Order dispatch method and device
US20150363801A1 (en) Apparatus and method for predicting the behavior or state of a negative occurrence class
AU2017208356A1 (en) Continuous learning based semantic matching for textual samples
CN112732765B (en) Method and device for determining experimental path and electronic equipment
JP2020009161A (en) Information processing device, method and program
CN117332165A (en) Candidate object reordering method, device and server
US20090132491A1 (en) Data Processing System And Method
CN108961071B (en) Method for automatically predicting combined service income and terminal equipment
CN113590274A (en) Task allocation method and device and task processing system
CN109002355B (en) Distribution method, device and equipment for processing requests
US20170289095A1 (en) Methods And Systems For Determining An Optimal Subnet
US11016828B2 (en) Task support system and method
CN114283931A (en) Automatic order allocation method and device, electronic equipment and storage medium
JP6891542B2 (en) Personal connection information creation device, personal connection information creation program and personal connection information creation method
CN110880107A (en) Financial resource transfer method, device, computer equipment and storage medium
CN110414758B (en) Region determination method and device and electronic equipment
JP7523697B2 (en) Advertising effectiveness prediction device

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination