Method, apparatus, device and product for determining score of multimedia content
By calculating the feature coefficients of multimedia content and the pre-stored user feature coefficients, the score of multimedia content is directly calculated, which solves the problem of high computational cost in recommendation systems and improves recommendation efficiency.
Patent Information
- Application Number
- CN202511033329.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-24
- Publication Date
- 2025-11-14
AI Technical Summary
Existing recommendation systems suffer from high computational cost and low recommendation efficiency when evaluating multimedia content because they consider multiple objectives.
By calculating the feature coefficients of multimedia content and retrieving pre-calculated user feature coefficients from memory, the score of multimedia content is directly calculated, avoiding the need for parsing user features.
This reduces the computational burden of scoring multimedia content and improves the efficiency of the recommendation system.
Smart Images

Figure CN120950709A_ABST
Abstract
Description
Technical Field
[0001] The embodiments in this specification generally relate to the field of computers, and more specifically to methods, apparatus, electronic devices, and computer program products for determining scores of multimedia content. Background Technology
[0002] With the development of internet technology, a vast amount of multimedia content, including videos, live streams, and text / image content, can reach users in various ways, presenting them with the challenge of choosing from a massive amount of media. Therefore, platforms need to recommend multimedia content to users based on their characteristics, thereby increasing the probability of users accessing content they are interested in. Consequently, how to efficiently recommend multimedia content to users has become a hot research topic. Summary of the Invention
[0003] The embodiments of this specification provide a method, apparatus, electronic device, and computer program product for determining a score of multimedia content.
[0004] In a first aspect of this specification, a method for determining a score for multimedia content is provided, comprising: in a current iteration, determining a first coefficient associated with a first feature of the current multimedia content; retrieving from a memory a second coefficient associated with a second feature of a user, the second coefficient being determined prior to the current iteration; and determining a score for the multimedia content based on the first and second coefficients, the score indicating whether the multimedia content should be recommended to the user.
[0005] In a second aspect of this specification, an apparatus for determining a score for multimedia content is provided, comprising: a first coefficient determining module configured to determine, in a current iteration, a first coefficient related to a first feature of the current multimedia content; a second coefficient obtaining module configured to obtain, from a memory, a second coefficient related to a second feature of a user, the second coefficient being determined prior to the current iteration; and a score determining module configured to determine a score for the multimedia content based on the first and second coefficients, the score indicating whether the multimedia content should be recommended to the user.
[0006] In a third aspect of this specification, an electronic device is provided, comprising: at least one processor; and a memory coupled to the at least one processor and having instructions stored thereon, the instructions causing the device to perform the method according to the first aspect of this specification when executed by the at least one processor.
[0007] In a fourth aspect of this specification, a computer program product is provided, comprising machine-executable instructions that, when executed, cause the method according to a first aspect of this specification to be implemented.
[0008] It should be understood that the description in the Summary of the Invention section is not intended to limit the key or essential features of the embodiments described herein, nor is it intended to restrict the scope of the invention. Other features of this specification will become readily apparent from the following description. Attached Figure Description
[0009] The above and other features, advantages, and aspects of the embodiments of this specification will become more apparent from the accompanying drawings and the following detailed description. In the drawings, the same or similar reference numerals denote the same or similar elements, wherein:
[0010] Figure 1 Schematic diagrams are shown of example environments in which some embodiments of this specification may be implemented;
[0011] Figure 2 A flowchart illustrating a method for determining a score for multimedia content, according to some embodiments of this specification, is shown;
[0012] Figure 3 A schematic diagram illustrating a process for determining a score for multimedia content, according to some embodiments of this specification, is shown.
[0013] Figure 4 Schematic diagrams illustrating the process for parsing configuration information according to some embodiments of this specification are shown;
[0014] Figure 5 A schematic block diagram of an electronic device according to some embodiments of this specification is shown.
[0015] In all the accompanying figures, the same or similar reference numerals denote the same or similar elements. Detailed Implementation
[0016] It is understood that the data involved in this technical solution (including but not limited to the data itself, the acquisition or use of the data) shall comply with the requirements of relevant laws, regulations and related provisions.
[0017] It is understood that before using the technical solutions disclosed in the embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure through appropriate means in accordance with relevant laws and regulations, and user authorization should be obtained. For example, upon receiving a user's active request, a prompt message may be sent to the user to clearly inform the user that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media that perform the operations of the technical solutions disclosed in this disclosure, based on the prompt message.
[0018] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.
[0019] Embodiments of this specification will now be described in more detail with reference to the accompanying drawings. While some embodiments of this specification are shown in the drawings, it should be understood that this specification can be implemented in various forms and should not be construed as limited to the embodiments set forth herein. Rather, these embodiments are provided to provide a more thorough and complete understanding of this specification. It should be understood that the accompanying drawings and embodiments are for illustrative purposes only and are not intended to limit the scope of protection of this invention.
[0020] In the description of embodiments in this specification, the term "comprising" and similar terms should be understood as open-ended inclusion, i.e., "including but not limited to". The term "based on" should be understood as "at least partially based on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The terms "first", "second", etc., may refer to different or the same objects. Other explicit and implicit definitions may also be included below.
[0021] In the application of recommendation services, recommendation systems often need to consider multiple objectives simultaneously to generate a recommendation list, rather than focusing on a single objective, such as maximizing click-through rate. These objectives can be user-related, such as user satisfaction, user retention rate, and user activity, or service-related, such as conversion rate, content revenue, and content consumption time. The recommendation system predicts and scores multimedia content based on multiple objectives, generating different recommendation rankings based on different objectives. In online recommendation scenarios, the recommendation results are ultimately displayed in a recommendation list. Therefore, a multi-objective fusion recommendation approach can ensure the accuracy of the recommendation results.
[0022] However, the introduction of multiple objectives into recommender systems significantly increases their workload. In related technologies, recommender systems evaluate the degree of user interest in each candidate multimedia content based on multiple dimensions of features, such as the features of the multimedia content and the user. Furthermore, these technologies incorporate rule engines such as expression languages, using regular expression matching and other methods for recommendation services. However, because evaluating each piece of multimedia content involves parsing different dimensional features, the computational load of the recommender system is high, resulting in low efficiency in recommending multimedia content to users.
[0023] Therefore, embodiments of this specification provide a method for determining a score for multimedia content. For each piece of multimedia content, a corresponding coefficient is calculated based on the characteristics of the multimedia content, and the coefficient corresponding to the characteristics of the user to be recommended is retrieved from memory. This coefficient can be pre-calculated and stored in memory. Then, based on the coefficients corresponding to the multimedia content and the user's coefficients, a score for the multimedia content is calculated. This score is used to evaluate whether to recommend the multimedia content to the user. In this way, when calculating the score for each piece of multimedia content, only the characteristics of the multimedia content need to be parsed, without needing to parsing the user's characteristics, thereby reducing the computational load of calculating the score for the multimedia content and improving the efficiency of recommending multimedia content to the user.
[0024] Figure 1 A schematic diagram of an example environment 100 in which some embodiments of this specification may be implemented is shown. In some embodiments, the example environment 100 may include a terminal 102 and a server 104. The terminal 102 includes, but is not limited to, client devices such as mobile phones, tablets, and personal computers, and the server 104 includes, but is not limited to, computing systems, single servers, distributed servers, or cloud-based servers. The terminal 102 and the server 104 may communicate via wired or wireless means.
[0025] In some embodiments, terminal 102 can send a recommendation request to server 104. For example, a user can send a recommendation request to server 104 by swiping up on a video, pulling down the interface, or clicking on a recommendation control. After receiving the recommendation request from terminal 102, server 104 can first filter multiple candidate multimedia content that may be recommended to the user from the database, including multimedia content 1061, multimedia content 1062, ..., multimedia content 106N, where N is an integer greater than or equal to 1. In some embodiments, the multimedia content includes, but is not limited to, videos, live broadcasts, songs, and text / image content.
[0026] After receiving the recommendation request sent by the terminal 102, the server 104 can recall multimedia content such as videos and live streams based on user preferences, thereby obtaining multimedia content 1061, multimedia content 1062, ..., multimedia content 106N. Then, the server 104 parses the above multimedia content 108, scores each multimedia content, and selects multimedia content 110 that can be recommended to the user based on the scoring results.
[0027] In some embodiments, during the parsing process 108, server 104 calculates corresponding coefficients for each multimedia content based on its features, and retrieves the coefficients corresponding to the features of the user to be recommended from memory. These coefficients can be pre-calculated and stored in memory. In some embodiments, the coefficients corresponding to the features of the multimedia content can be the weights of those features, which determine the degree of influence on the score of the multimedia content. Similarly, the coefficients corresponding to the user's features can be the weights of those features, which also determine the degree of influence on the score of the multimedia content. Then, server 104 calculates the score of the multimedia content based on the coefficients corresponding to the multimedia content and the coefficients corresponding to the user. This score is used to evaluate whether to recommend the multimedia content to the user.
[0028] In this way, the results of user feature parsing can be pre-stored in memory. When calculating the score of multimedia content, only the features of the multimedia content need to be parsed, without the need to parse the user's features. This reduces the computational load of calculating the score of the multimedia content and improves the efficiency of recommending multimedia content to users.
[0029] The following will combine Figures 2 to 5 The process according to embodiments of this specification is described in detail. For ease of understanding, the specific data mentioned in the following description are exemplary and not intended to limit the scope of this specification. It should be understood that the embodiments described below may also include additional actions not shown and / or actions shown may be omitted, and the scope of this specification is not limited in this respect.
[0030] Figure 2 A flowchart illustrating a method 200 for determining a score for multimedia content, according to some embodiments of this specification, is shown. In some embodiments, in Figure 1 In the example environment 100 shown, method 200 can be executed by server 104. In some embodiments, server 104 includes, but is not limited to, computing systems, single servers, distributed servers, or cloud-based servers. Method 200 may also include additional actions not shown and / or actions shown may be omitted; the scope of this specification is not limited in this respect.
[0031] At point 202, in the current iteration, a first coefficient related to a first feature of the current multimedia content is determined. In some embodiments, for multimedia content 1061, multimedia content 1062, ..., multimedia content 106N, the server 104 calculates the score of each multimedia content through multiple iterations. For the multimedia content in the current iteration, the server 104 calculates the coefficient (referred to as the first coefficient) of the multimedia content based on its features (referred to as the first feature).
[0032] At position 204, a second coefficient related to the user's second feature is retrieved from memory. This second coefficient was determined prior to the current iteration. In some embodiments, the server 104 stores coefficients (also called second coefficients) corresponding to the user's feature (which may be referred to as the second feature) in its memory. These coefficients can be determined during iterations prior to the current iteration, for example, calculated and stored by the server 104 in the first iteration. In the current iteration, the server 104 can directly retrieve the coefficients corresponding to the user's feature from memory.
[0033] At step 206, a score for the multimedia content is determined based on a first coefficient and a second coefficient. This score indicates whether the multimedia content should be recommended to the user. In some embodiments, server 104 calculates the score for the multimedia content based on the coefficient corresponding to the multimedia content and the coefficient corresponding to the user. This score is used to evaluate whether the multimedia content should be recommended to the user.
[0034] In this way, the results of user feature parsing can be pre-stored in memory. When calculating the score of multimedia content, only the features of the multimedia content need to be parsed, without the need to parse the user's features. This reduces the computational load of calculating the score of the multimedia content and improves the efficiency of recommending multimedia content to users.
[0035] In some embodiments, the configuration rules for the method used to determine the score of multimedia content in this specification may include, for example, three parts: parameter definition, coefficient configuration, and expression calculation configuration. In some embodiments, the coefficient configuration includes multiple branches of coefficient rules, such as branches named branch1, branch2, etc. Within each branch, if the IF function evaluates to TRUE, the corresponding values of the same key attribute can be added; for the same key attribute values in different branches, multiplication can be performed. The configuration information for the method of determining the score of multimedia content in this specification has been described in detail above. The following will combine... Figure 3 Describe the specific analysis process in this manual. Figure 3 A schematic diagram of a process 300 for determining a score for multimedia content, according to some embodiments of this specification, is shown. In some embodiments, in Figure 1 In the example environment 100 shown, process 300 may be executed by server 104. In some embodiments, server 104 includes, but is not limited to, computing systems, single servers, distributed servers, or cloud-based servers. Process 300 may also include additional actions not shown and / or actions shown may be omitted; the scope of this specification is not limited in this respect.
[0036] In some embodiments, after receiving a recommendation request from terminal 102, server 104 initially filters multiple videos 302 from the database based on information related to the user. These multiple videos 302 include video 1, video 2, ..., video N. It should be understood that the videos here are merely one example of multimedia content. Then, server 104 divides the multiple videos 302 into multiple packets 304. Further, server 104 processes the videos in the multiple packets in parallel, thereby synchronously processing multiple videos in a parallel manner to calculate their scores. This improves the efficiency of calculating the scores of multiple videos 302, thereby improving the efficiency of recommending videos to the user.
[0037] For example, when N is 3000, meaning the number of recalled videos is 3000, server 104 can divide these 3000 videos into 6 packets: packet 1, packet 2, packet 3, packet 4, packet 5, and packet 6, with each packet containing 500 videos. After completing the packet division, server 104 can process these 6 packets concurrently to simultaneously determine the scores of multiple videos.
[0038] In some embodiments, after the subpacketization is completed, server 104 constructs operator 306, where operator 306 is the input data for one parsing process. Operator 306 may include request parameter features 308, user features 310, and video features 312. In some embodiments, request parameter features 308 are data carried by the user in the recommendation request, such as page size, service type, sub-service type, etc. User features 310 are some descriptive features related to the user. Video features 312 are some attribute features related to the video itself, such as category, cover image, live stream, sorting, etc.
[0039] It should be understood that in this recommendation process, request parameter feature 308 and user feature 310 are fixed, while video feature 312 varies depending on the video. Therefore, during the configuration parsing process, server 104 can perform parsing only once for request parameter feature 308 and user feature 310, and perform parsing once for each video feature 312. In this way, the parsing results of the calculated request parameter feature 308 and user feature 310 can be shared during the parsing of each video feature 312. This reduces parsing time and thus optimizes recommendation performance.
[0040] At point 314, server 104 performs function execution 314. This function is the one defined in the configuration information mentioned above, and includes parameter configuration, coefficient configuration, etc. At point 316, server 104 performs coefficient calculation 316 to determine the coefficient corresponding to each feature. In some embodiments, for user feature 310, server 104 can first determine the feature value corresponding to user feature 310, and then, based on at least one condition (referred to as at least one second condition) set in the coefficient configuration information, determine the condition satisfied by the feature value (referred to as the target second condition). Further, after determining the condition satisfied by the feature value, server 104 can determine the coefficient corresponding to that condition (referred to as the second coefficient). In this way, the parsing efficiency of user feature 310 can be improved.
[0041] Similarly, for request parameter feature 308, server 104 can first determine the feature value corresponding to request parameter feature 308, and then determine the conditions satisfied by the feature value according to at least one condition set in the coefficient configuration in the above configuration information. Furthermore, after determining the conditions satisfied by the feature value, server 104 can determine the corresponding coefficient under those conditions. In this way, the parsing efficiency of request parameter feature 308 can be improved.
[0042] Similarly, for video feature 312, server 104 can first determine the feature value corresponding to video feature 312, and then, based on at least one condition set in the coefficient configuration in the above configuration information (which can be called at least one first condition), determine the condition satisfied by the feature value (which can be called the target first condition). Further, after determining the condition satisfied by the feature value, server 104 can determine the coefficient corresponding to that condition (which can be called the first coefficient). In this way, the parsing efficiency of video feature 312 can be improved.
[0043] In some embodiments, since request parameter feature 308 and user feature 310 remain unchanged throughout the parsing process, server 104 can, after determining the coefficients corresponding to request parameter feature 308 and user feature 310, store at least one of these coefficients in memory. This allows server 104 to directly retrieve the coefficients from memory during subsequent iterations for other operators without needing to repeatedly calculate them. This improves the efficiency of parsing request parameter feature 308 and user feature 310, thereby increasing the efficiency of recommending videos to users.
[0044] Specifically, during the parsing of request parameter feature 308 and user feature 310, since the calculation result of each condition in the coefficient configuration in the configuration information is fixed, only true or false, the final calculated coefficient result is also fixed. Therefore, server 104 can generate cache key 308, thereby using the coefficient result as the cache key. Then, server 104 performs local caching 320, that is, saves the cache key in the cache for subsequent direct reading of the coefficient result.
[0045] In some embodiments, after determining the coefficient results of request parameter feature 308, user feature 310, and video feature 312, server 104 performs expression calculation 322 to calculate the score of the video corresponding to operator 306. Then, server 104 outputs the score 324 to output the score of the video corresponding to operator 306 for subsequent processing.
[0046] In some embodiments, the expression in the above configuration information is an infix expression (which may be called the first expression, with the operator in the middle of the operands, such as "3+4", and the operands are the coefficient results of the above request parameter feature 308, user feature 310 and video feature 312). Therefore, the server 104 can calculate the video score based on the infix expression related to the coefficients corresponding to the above request parameter feature 308, the coefficients corresponding to the user feature 310 and the coefficients corresponding to the video feature 312.
[0047] In some embodiments, server 104 can transform the infix expression related to the coefficients corresponding to the request parameter feature 308, the user feature 310, and the video feature 312 to obtain a postfix expression (which may be called a second expression). In the postfix expression, the operator follows the corresponding operand, for example, "34+". Then, server 104 calculates the video score based on the coefficients corresponding to the request parameter feature 308, the user feature 310, the video feature 312, and the transformed postfix expression. This method allows for the calculation of the video score by combining the postfix expression, thereby improving the efficiency of video evaluation.
[0048] In some embodiments, the operators in an infix expression may include a first type of operator (referred to as the first operator) and a second type of operator (referred to as the second operator). The first type of operator is the bracket operator, used to adjust the precedence in the calculation process, including left and right brackets, such as "(" and ")". The second type of operator is used to perform logical operations between operands, including addition, subtraction, multiplication, and division operators.
[0049] During the conversion of infix expressions, server 104 can use a stack to assist in generating postfix expressions. In some embodiments, server 104 scans the infix expression; if an operand is encountered, it can be output directly. If a left parenthesis is encountered in the infix expression, server 104 pushes the left parenthesis onto the stack. Then, server 104 continues scanning, pushing the second type of operator following the left parenthesis onto the stack until server 104 encounters a right parenthesis. At this point, server 104 pops all elements from the stack and outputs the expression of the second type of operator and its corresponding operand. In some embodiments, server 104 continues scanning until it encounters a left parenthesis; at this point, server 104 can pop the left parenthesis but does not output it.
[0050] In some embodiments, for the second type of operator during the conversion process, if the server 104 encounters any of the following conditions when scanning the second type of operator, the server 104 will push the current second type of operator onto the stack: the stack is empty, the element at the top of the stack is a left parenthesis, or the priority of the second type of operator is higher than the priority of the second type of operator at the top of the stack. If none of the above conditions are met, the server 104 will pop the elements from the stack and output them, and then further determine whether the current second type of operator can be pushed onto the stack. After the infix expression is scanned, the remaining elements in the stack are popped and output sequentially to obtain the postfix expression. In this way, the efficiency of generating postfix expressions can be improved.
[0051] In some embodiments, after generating the postfix expression, the server 104 can store the infix expression and the postfix expression in a memory, so that each expression only needs to be converted once, and the postfix expression can be read directly from the memory in subsequent iterations.
[0052] In some embodiments, a stack can be used in conjunction with the calculation of the postfix expression to obtain the final score. Specifically, server 104 scans the postfix expression from left to right. When an operand is encountered, it is pushed onto the stack. When a second type of operator is encountered, the corresponding operand can be popped from the stack and calculated to obtain the calculation result (which can be called the first result). Then, server 104 pushes the calculation result onto the stack as the operand for the next calculation and repeats the above process.
[0053] For example, in the postfix expression "2 3+4×", the server first scans for 2 and 3, pushing them onto the stack in sequence. Next, the server scans for the "+" operator, popping 3 and 2 from the top of the stack, calculating 2+3=5, and then pushing 5 onto the stack. Further, the server scans for 4 and pushes it onto the stack. Finally, the server scans for the "×" operator, popping 4 and 5 from the top of the stack, calculating 4×5=20, and the final result is 20. Because postfix expressions are implemented using a stack-based calculation method, their code implementation logic is clear, thus improving the efficiency of calculating video scores.
[0054] Figure 4 A schematic diagram of a process 400 for parsing configuration information, according to some embodiments of this specification, is shown. In some embodiments, in Figure 1 In the example environment 100 shown, process 400 may be executed by server 104. In some embodiments, server 104 includes, but is not limited to, computing systems, single servers, distributed servers, or cloud-based servers. Process 400 may also include additional actions not shown and / or actions shown may be omitted, and the scope of this specification is not limited in this respect.
[0055] In some embodiments, for Figure 3 In the subsequent operator following operator 306, at point 402, server 104 retrieves the operator. It should be understood that the request parameter features and user features in this subsequently retrieved operator are the same as those in operator 306. At point 404, server 104 queries the configuration in the cache. It should be understood that since the request parameter features and user features are fixed, if the request parameter features and user features have been parsed previously, the parsing results will be recorded in the cache. Therefore, server 104 can query the parsing results in the cache at this time. Furthermore, some video features may also have the same situation, so the cache may also record the parsing results corresponding to video features. At point 406, server 104 determines whether the configuration exists in the cache. If it exists, server 104 returns 404 to continue querying the next feature configuration result. If it does not exist, server 104 performs configuration parsing 408, thereby passing... Figure 3 The parsing process shown is used to obtain the parsing result.
[0056] In some embodiments, server 104 can obtain multiple scores corresponding to multiple videos 302, and select target videos from the multiple videos 302 to recommend to the user based on these multiple scores. Specifically, when all videos in all multiple packages 304 have been parsed, server 104 can merge the score results within each package, and then further merge the scores of multiple packages 304. Furthermore, server 104 can input the merged result to the next node to obtain a list of recommended videos for the user.
[0057] In some embodiments, this specification provides an apparatus for determining a score for multimedia content, comprising: a first coefficient determining module configured to determine, in a current iteration, a first coefficient related to a first feature of the current multimedia content; a second coefficient obtaining module configured to obtain from a memory a second coefficient related to a second feature of a user, the second coefficient being determined prior to the current iteration; and a score determining module configured to determine the score of the multimedia content based on the first coefficient and the second coefficient, the score indicating whether the multimedia content should be recommended to the user.
[0058] In some embodiments, the apparatus further includes: a second coefficient determination module configured to determine, prior to the current iteration, the second coefficient associated with the second feature of the user; and a second coefficient storage module configured to store the second coefficient in the memory.
[0059] In some embodiments, the second coefficient determination module is further configured to: determine a second feature value of the second feature; and, in response to determining that the second feature value satisfies a target second condition in at least one second condition, determine the second coefficient associated with the target second condition.
[0060] In some embodiments, the first coefficient determining module is further configured to: determine a first feature value of the first feature; and, in response to determining that the first feature value satisfies a target first condition among at least one first condition, determine the first coefficient associated with the target first condition.
[0061] In some embodiments, the score determination module is further configured to: determine the score of the multimedia content based on the first coefficient, the second coefficient, and a first expression related to the first coefficient and the second coefficient, wherein the operator in the first expression is between operands corresponding to the operator, and the operands include the first coefficient or the second coefficient.
[0062] In some embodiments, the scoring module is further configured to: transform the first expression to obtain a second expression, wherein the operator in the second expression follows the operand corresponding to the operator; and determine the score of the multimedia content based on the first coefficient, the second coefficient, and the second expression.
[0063] In some embodiments, the operator includes a first operator and a second operator, the first operator includes a left parenthesis and a right parenthesis, the second operator is used to perform logical operations on the operands, and the score determination module is further configured to: add the left parenthesis to a stack in response to scanning the left parenthesis in the first expression; add the second operator after the left parenthesis to the stack; and remove an element from the stack in response to scanning the right parenthesis in the first expression, and record the second operator between the left parenthesis and the right parenthesis and the operand corresponding to the second operator.
[0064] In some embodiments, the score determination module is further configured to add the current second operator to the stack in response to determining at least one of the following conditions: the stack is empty, the element at the top of the stack is the left parenthesis, and the priority of the current second operator is higher than the priority of the second operator at the top of the stack.
[0065] In some embodiments, the score determination module is further configured to: in the current sub-iteration, in response to scanning the operand in the second expression, add the operand to a stack; and in response to scanning the second operator in the second expression after the operand, remove the operand and the second operator from the stack, and determine a first result based on the operand and the second operator, the first result being added to the stack as an operand in the next iteration.
[0066] In some embodiments, the apparatus further includes: a plurality of score acquisition modules configured to acquire a plurality of scores corresponding to a plurality of multimedia content related to the user; and a multimedia content selection module configured to select target multimedia content from the plurality of multimedia content according to the plurality of scores, the target multimedia content being recommended to the user.
[0067] The various embodiments in this specification are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device embodiments, computing device embodiments, and computer program product embodiments are basically similar to the method embodiments, so the descriptions are relatively simple; relevant parts can be referred to the descriptions of the method embodiments.
[0068] Figure 5 A block diagram schematically illustrates an electronic device 500 suitable for implementing embodiments of this specification. The electronic device 500 can be used to implement server 104. Figure 5 As shown, the electronic device 900 includes a processing unit (CPU) 502, which can perform various appropriate actions and processes according to computer program instructions stored in read-only memory (ROM) 504 or loaded from storage unit 516 into random access memory (RAM) 506. The RAM 506 may also store various programs and data required for the operation of the computing device 900. The CPU 502, ROM 504, and RAM 506 are interconnected via bus 508. An input / output (I / O) interface 510 is also connected to bus 508.
[0069] Multiple components in electronic device 500 are connected to I / O interface 510, including: input unit 512, output unit 514, and storage unit 516. Processing unit 502 executes the various methods and processes described above. For example, in some embodiments, the various processes or operations described above may be implemented as computer software programs stored in a machine-readable medium, such as storage unit 516. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 500 via ROM 504 and / or communication unit 518. When the computer program is loaded into RAM 506 and executed by CPU 502, the various methods and processes described above may be executed, such as performing one or more operations of method 200. Alternatively, in other embodiments, CPU 502 may be configured by any other suitable means (e.g., by means of firmware) to execute the various methods and processes described above, such as performing one or more actions of method 200.
[0070] The computer-readable program instructions described herein can be downloaded from computer-readable storage media to various computing / processing devices, or downloaded via a network, such as the Internet, local area network, wide area network, and / or wireless network, to an external computer or external storage device. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface in each computing / processing device receives the computer-readable program instructions from the network and forwards them to the computer-readable storage media in the respective computing / processing device.
[0071] The computer program instructions used to perform the operations of this invention may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and conventional procedural programming languages such as the "C" language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving a remote computer, the remote computer may be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or may be connected to an external computer (e.g., via the Internet using an Internet service provider). In some embodiments, electronic circuitry, such as programmable logic circuitry, field-programmable gate arrays (FPGAs), or programmable logic arrays (PLAs), is personalized by utilizing state information from the computer-readable program instructions. This electronic circuitry can execute the computer-readable program instructions to implement various aspects of the invention.
[0072] These computer-readable program instructions can be provided to a processor, general-purpose computer, special-purpose computer, or other programmable data processing unit in a voice interaction device to produce a machine such that, when executed by the processing unit of the computer or other programmable data processing device, these instructions create means for implementing the functions / actions specified in one or more blocks of the flowchart and / or block diagram. These computer-readable program instructions can also be stored in a computer-readable storage medium, causing a computer, programmable data processing device, and / or other device to operate in a particular manner.
[0073] The foregoing has described specific embodiments of this specification. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recited in the claims may be performed in a different order than that shown in the embodiments and may still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require the specific or sequential order shown to achieve the desired result. In some embodiments, multitasking and parallel processing are possible or may be advantageous.
[0074] The various embodiments of the present invention have been described above. These descriptions are exemplary and not exhaustive, nor are they limited to the disclosed embodiments. Many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles, practical application, or technical improvements to the embodiments in the market, or to enable others skilled in the art to understand the embodiments disclosed herein.
[0075] The above are merely optional embodiments of the present invention and are not intended to limit the present invention. For those skilled in the art, the present invention can have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.
Claims
1. A method for determining a score for multimedia content, comprising: In the current iteration, a first coefficient is determined that is associated with a first feature of the current multimedia content; Retrieve a second coefficient related to the user's second feature from memory, the second coefficient having been determined prior to the current iteration; as well as The score of the multimedia content is determined based on the first coefficient and the second coefficient, and the score is used to indicate whether the multimedia content should be recommended to the user.
2. The method according to claim 1, further comprising: Prior to the current iteration, the second coefficient associated with the user's second characteristic is determined; as well as The second coefficient is stored in the memory.
3. The method of claim 2, wherein determining the second coefficient comprises: Determine the second feature value of the second feature; as well as In response to determining that the second feature value satisfies a target second condition in at least one second condition, the second coefficient associated with the target second condition is determined.
4. The method of claim 1, wherein determining the first coefficient comprises: Determine the first feature value of the first feature; as well as In response to determining that the first feature value satisfies a target first condition among at least one first condition, the first coefficient associated with the target first condition is determined.
5. The method of claim 1, wherein determining the score comprises: The score of the multimedia content is determined based on the first coefficient, the second coefficient, and a first expression related to the first coefficient and the second coefficient, wherein the operator in the first expression is between the operands corresponding to the operator, and the operands include the first coefficient or the second coefficient.
6. The method of claim 5, wherein determining the score based on the first coefficient, the second coefficient, and the first expression comprises: The first expression is transformed to obtain a second expression, wherein the operator in the second expression follows the operand corresponding to the operator; as well as The score of the multimedia content is determined based on the first coefficient, the second coefficient, and the second expression.
7. The method according to claim 6, wherein the operator includes a first operator and a second operator, the first operator includes a left parenthesis and a right parenthesis, the second operator is used to perform logical operations on the operands, and the transformation of the first expression includes: In response to the detection of the left parenthesis in the first expression, the left parenthesis is added to the stack; Add the second operator following the left parenthesis to the stack; as well as In response to the detection of the right parenthesis in the first expression, the element in the stack is removed, and the second operator between the left parenthesis and the right parenthesis and the operand corresponding to the second operator are recorded.
8. The method of claim 7, wherein adding the second operator to the stack comprises: In response to determining at least one of the following conditions, the current second operator is added to the stack: The stack is empty, the element at the top of the stack is the left parenthesis, and the current priority of the second operator is higher than the priority of the second operator at the top of the stack.
9. The method of claim 6, wherein determining the score based on the first coefficient, the second coefficient, and the second expression comprises: In the current sub-iteration, in response to scanning the operand in the second expression, the operand is added to the stack; as well as In response to scanning the second operator following the operand in the second expression, the operand and the second operator are removed from the stack, and a first result is determined based on the operand and the second operator, the first result being added to the stack as an operand in the next iteration.
10. The method according to claim 1, further comprising: Obtain multiple scores corresponding to multiple multimedia content items related to the user; as well as Based on the multiple scores, a target multimedia content is selected from the multiple multimedia content, and the target multimedia content is used to recommend it to the user.
11. An apparatus for determining a score for multimedia content, comprising: The first coefficient determination module is configured to determine, in the current iteration, a first coefficient related to a first feature of the current multimedia content; The second coefficient acquisition module is configured to acquire a second coefficient related to a second feature of the user from memory, the second coefficient being determined prior to the current iteration; as well as The scoring module is configured to determine the score of the multimedia content based on the first coefficient and the second coefficient, the score being used to indicate whether to recommend the multimedia content to the user.
12. An electronic device, comprising: At least one processor; as well as A memory coupled to the at least one processor and having instructions stored thereon, which, when executed by the at least one processor, cause the device to perform the method according to any one of claims 1 to 10.
13. A computer program product comprising machine-executable instructions that, when executed, cause the method according to any one of claims 1 to 10 to be implemented.