CN106878772B - Program recommendation method and device - Google Patents

Program recommendation method and device Download PDF

Info

Publication number
CN106878772B
CN106878772B CN201710107905.2A CN201710107905A CN106878772B CN 106878772 B CN106878772 B CN 106878772B CN 201710107905 A CN201710107905 A CN 201710107905A CN 106878772 B CN106878772 B CN 106878772B
Authority
CN
China
Prior art keywords
program
program recommendation
recommendation
algorithms
list
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.)
Active
Application number
CN201710107905.2A
Other languages
Chinese (zh)
Other versions
CN106878772A (en
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.)
Ud Network Co ltd
Original Assignee
Ud Network 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 Ud Network Co ltd filed Critical Ud Network Co ltd
Priority to CN201710107905.2A priority Critical patent/CN106878772B/en
Publication of CN106878772A publication Critical patent/CN106878772A/en
Application granted granted Critical
Publication of CN106878772B publication Critical patent/CN106878772B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26291Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for providing content or additional data updates, e.g. updating software modules, stored at the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • H04N21/4586Content update operation triggered locally, e.g. by comparing the version of software modules in a DVB carousel to the version stored locally
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4826End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score

Abstract

The invention discloses a program recommendation method and a device, wherein the program recommendation method comprises the following steps: acquiring feedback information fed back by a user based on a program recommendation system, wherein the program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, and the more than two program recommendation models are respectively constructed by different program recommendation algorithms; updating the weights of the more than two program recommendation models when calculating the program recommendation list based on the feedback information; and updating the program recommendation list according to the weights of the more than two updated program recommendation models when the program recommendation list is calculated. The program recommendation method provided by the invention can make full use of the feedback information of the user and dynamically adjust the weight of each program recommendation model in the program recommendation system, so that the final recommendation result is more in line with the requirement change and experience result of the user.

Description

Program recommendation method and device
Technical Field
The invention relates to the field of communication, in particular to a program recommendation method and device.
Background
With the advancement of science and technology, Internet Protocol Television (IPTV) gradually moves into the lives of people. In order to better meet the requirements of people, the existing program recommendation system of the IPTV can recommend related commodities to users and provide personalized services for the users by acquiring user information and mining mass behaviors of the users. Common IPTV program recommendation systems include statistics-based recommendations, content-relevance-based recommendations, collaborative filtering-based recommendations, and the like. The program recommendation algorithms are based on a series of user one-time feedback information such as user browsing page, click watching and watching duration and the like for recommendation.
However, there are disadvantages to the above program recommendation algorithms. Recommending that there is a cold start problem for a new user based on statistics; recommendation based on content relevance can solve the cold start problem, but lacks personalized data; recommendation based on collaborative filtering can be personalized according to the user's behavior, but also faces the problem of cold start.
Because the program recommendation algorithms have respective advantages and disadvantages, the program recommendation algorithms are generally used comprehensively through a program recommendation model in practical use. Developers usually use the user secondary feedback behavior information to evaluate the program recommendation model, where the user secondary feedback behavior includes browsing the program recommendation list by the user, clicking to watch an IPTV program through the program recommendation list, and evaluating the use of the program recommendation system by the user. Because the existing program recommendation model is fixed after being designed in the initial stage, when the secondary feedback behavior of the user changes in the later stage, the evaluation of the program recommendation model cannot be correctly reflected on the finally obtained program recommendation list. That is to say, the existing program recommendation system has a lag in response to the secondary feedback behavior of the user, and the program recommendation system can follow the secondary feedback behavior of the user only by manually correcting the program recommendation model by a developer, which is not only inefficient, but also wastes labor cost.
Disclosure of Invention
The embodiment of the invention provides a program recommendation method and device, aiming at enabling a recommendation result to quickly respond to user behaviors and better meeting the requirements of users.
In a first aspect of the embodiments of the present invention, a program recommendation method is provided, where the program recommendation method includes:
acquiring feedback information fed back by a user based on a program recommendation system, wherein the program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, and the more than two program recommendation models are respectively constructed by different program recommendation algorithms;
updating the weights of the more than two program recommendation models when calculating the program recommendation list based on the feedback information;
and updating the program recommendation list according to the weights of the more than two updated program recommendation models when the program recommendation list is calculated.
In a second aspect of the embodiments of the present invention, there is provided a program recommending apparatus, including:
the system comprises a feedback information acquisition unit, a program recommendation system and a program recommendation system, wherein the feedback information acquisition unit is used for acquiring feedback information fed back by a user based on the program recommendation system, the program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, and the more than two program recommendation models are respectively constructed by different program recommendation algorithms;
the weight updating unit is used for updating the weights of the more than two program recommendation models when the program recommendation list is calculated based on the feedback information acquired by the feedback information acquiring unit;
and the program recommendation list updating unit is used for updating the program recommendation list according to the weights of the more than two updated program recommendation models obtained by the weight updating unit when the program recommendation list is calculated.
As can be seen from the above, in the embodiment of the present invention, first, feedback information fed back by a user based on a program recommendation system is obtained, the program recommendation system is configured to calculate a program recommendation list, and the program recommendation system is configured based on more than two program recommendation models, where the more than two program recommendation models are respectively configured by different program recommendation algorithms, then weights of the more than two program recommendation models when calculating the program recommendation list are updated based on the feedback information, and finally, the program recommendation list is updated according to the updated weights of the more than two program recommendation models when calculating the program recommendation list. The embodiment of the invention can automatically correct the weighting coefficient of the program recommendation model in the operation process of the program recommendation system, so that the program recommendation list can be updated in real time according to the factors such as the behavior of the user and the like, and the requirements of the user can be better met.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to the drawings without creative efforts.
Fig. 1 is a flowchart illustrating an implementation of a program recommendation method according to an embodiment of the present invention;
fig. 2 is a block diagram of a program recommendation apparatus according to an embodiment of the present invention.
Detailed Description
In order to make the objects, features and advantages of the present invention more obvious and understandable, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The following detailed description of the implementation of the present invention is made with reference to specific embodiments:
example one
Fig. 1 shows an implementation flow of a program recommendation method provided in an embodiment of the present invention, which is detailed as follows:
in step S101, feedback information fed back by the user based on the program recommendation system is acquired.
In the embodiment of the present invention, in order to better describe the scheme of the embodiment of the present invention, first, a brief description is made on a program recommendation system. The program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, wherein the more than two program recommendation models are respectively constructed by different program recommendation algorithms, and each program recommendation model has different weights when the program recommendation list is calculated. The program recommendation system builds and calculates a final recommendation index of each program by using the more than two program recommendation models, and generates a program recommendation list according to the final recommendation index so as to recommend the programs to a user. In step S101, the program recommendation apparatus first acquires feedback information fed back by the user based on the program recommendation system.
Optionally, the recommendation algorithm includes a statistics-based recommendation algorithm. Then, in step S101, the feedback information fed back by the user based on the program recommendation system, which needs to be acquired first, is the user program viewing time length and the program category, and is sorted into a user viewing information matrix according to the user IP being 1,2, … …, i and the program ID being 1,2, … …, j, which is used as a data source of the recommendation algorithm based on statistics. The user viewing information matrix is expressed as follows:
Figure BDA0001233637570000051
where t denotes the acquired viewing information element. In the present embodiment, T1To simplify the calculation, the ratio of the watching time length of the program j by the user i (for convenience of explanation, the user i in this embodiment refers to the user whose user IP is i) is used as the scoring criterion, for example, if the user i watches the complete program j, t is setijIs 1; if the time length of the program j watched by the user i is less than 10% of the total time length of the program j, setting tijIs 0.1, and so on, let t beijIs limited to [0,1 ]]Within the interval of (a). The recommendation algorithm based on statistics is calculated by using the user viewing information matrix and using f1(T1) To indicate.
Optionally, the recommendation algorithm further includes a recommendation algorithm based on the content relevancy. At this time, in step S101, only the association between two programs needs to be obtained, where the relationship between the programs may be described from the perspective of program content, and the association between the programs is organized into a program information matrix, where the program information matrix is represented as follows:
Figure BDA0001233637570000052
wherein, p represents an element using program content as data, and the program content can be simplified into basic information of the program, such as program name, program director, program presenter, etc. The recommendation algorithm based on the content relevance calculates by using the user pickup information matrix and uses f2(T2) To indicate.
Of course, the recommendation algorithm may also include other algorithms, such as recommendation algorithm based on collaborative filtering, and the like, which is not limited herein. In embodiments of the present invention, f may be usedn(Tn) To indicate any one of the recommendation algorithms, e.g. using f3(T3) To represent collaborative filtering based recommendation algorithms.
In step S102, the weights of the two or more program recommendation models in calculating the program recommendation list are updated based on the feedback information.
In the embodiment of the present invention, the weights of the two or more program recommendation models when calculating the program recommendation list are updated according to the feedback information acquired in step S101. Specifically, the calculation of the program recommendation list by the program recommendation model is implemented as follows: because the different program recommendation algorithms respectively construct a program recommendation model, when the program recommendation system is initialized, the plurality of program recommendation models are integrated through a recommendation algorithm mixed model, and the recommendation algorithm mixed model can be defined as:
S=H(f1(T1),f2(T2),……,fn(Tn))
wherein H represents a recommendation algorithm mixed model, and S represents a result obtained by calculation of the recommendation algorithm mixed model, namely a final recommendation index. Generally, the result S can be expressed as a final recommended index matrix:
Figure BDA0001233637570000061
wherein s isijIs the final recommendation index for program j to user i.
Specifically, in the embodiment of the present invention, the recommendation algorithm mixture model H may be simplified to a weighting model, which is represented as follows:
S=H(f1(T1),f2(T2),……,fn(Tn))=a1f1+a2f2+……+anfn
wherein, a abovenAre preset initial weights for each recommendation algorithm, and thus, in step S102, the weights of the recommended program model may be adjusted in real time based on the feedback information obtained in step S101. The feedback information mainly expresses the recommendation accuracy and reliability of a program recommendation algorithm used by each program recommendation model. When the accuracy and reliability of the program recommendation algorithm used by a certain program recommendation model are higher, the weight of the program recommendation model is increased in step S102; conversely, when the accuracy and reliability of the program recommendation algorithm used by each program recommendation model are low, the weight of the program recommendation model is reduced in step S102.
In step S103, the program recommendation list is updated according to the weights of the two or more updated program recommendation models when calculating the program recommendation list.
In the embodiment of the present invention, the program recommendation list is updated according to the weights of the two or more updated program recommendation models obtained in step S102 when calculating the program recommendation list. Optionally, in order to make the program recommendation result meet the expectations and experiences of the user faster, and respond to the feedback of the user on the program recommendation result quickly, a dual closed-loop control model through a control theory may also be introduced, and then step S103 may be represented as: based on a first-order transfer function model, calculating to obtain the final recommendation index of each program according to the weights of the more than two updated program recommendation models when calculating the program recommendation list; and adjusting the program recommendation list according to the high-low sequence of the final recommendation index of each program.
The method includes the following steps that based on a first-order transfer function model, the final recommendation index of each program is obtained through calculation according to weights of the two or more updated program recommendation models when the program recommendation list is calculated, and specifically:
gij=y1 ia1f1 ij+y2 ia2f2 ij+...yn ianfn ij
wherein, gijThe final recommendation index y of the updated user i to the program j obtained by the embodiment of the invention is shownn iThe recommendation algorithm f is modified according to the personalized difference of the user inInitial weight of anI.e., the updated weights obtained in step S102. It can be seen that the final recommendation index S ═ a obtained at the initialization of the program recommendation system1f1+a2f2+……+anfnIn contrast, the final recommendation index obtained here introduces yn iAccording to the method and the device, the weight of each program recommendation model can be adjusted in a personalized manner according to the trust degree of the user on the recommendation algorithm, so that the weight of each program recommendation model can be adjusted in real time. Alternatively, other mathematical models may be used to calculate the final recommendation index of each program, for example, a pole-zero residue model or a pole-zero gain model, which is not limited herein.
Optionally, in order to better evaluate the accuracy and reliability of the program recommendation algorithm of each program recommendation model, the feedback information obtained in step S101 may include click frequency information of each program clicked by the user through the program recommendation list, and at this time, step S102 is specifically represented as:
generating scores of recommendation algorithms of the programs according to the click frequency of the programs;
according to the scores of the program recommendation algorithms of the programs, respectively carrying out weighted summation on the program recommendation algorithms to obtain the scores of the program recommendation algorithms;
taking the scores of the program recommendation algorithms as the updated weights of the program recommendation models corresponding to the program recommendation algorithms;
the ranking of each program in the program recommendation list is determined by the program recommendation algorithm of each program recommendation model, so that the accuracy and reliability of each program recommendation algorithm when the final recommendation index of the program is calculated are reflected by the side surface of the number of times that the user clicks the program through the program recommendation list. After the scores of the program recommendation algorithms for the programs are generated according to the click frequency of the programs, since the scores of each individual program recommendation algorithm are finally required, the program recommendation algorithms need to be weighted and summed respectively from the obtained scores of the program recommendation algorithms of the programs to obtain the scores of the program recommendation algorithms, and the scores of the program recommendation algorithms are used as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
Specifically, the generating of the score of each program recommendation algorithm for each program according to the click frequency of each program may be implemented as follows:
for any program, obtaining a final recommendation index of each program calculated by the program recommendation system in a current program recommendation list;
respectively obtaining independent recommendation indexes of the programs calculated by the program recommendation algorithms;
and respectively multiplying the ratio of the independent recommendation index of each program to the final recommendation index of the corresponding program by the click frequency of the corresponding program to obtain the score of each program recommendation algorithm of the corresponding program.
The program recommendation algorithms calculate the programs to obtain corresponding independent recommendation indexes, so that the ratio of each independent recommendation index to the final recommendation index is calculated at first, and the scores of the program recommendation algorithms of the corresponding programs are calculated through the click frequency. To represent the above calculation process, a user matrix B may be first constructed by using the obtained click frequency, where the user matrix B may be represented as:
Figure BDA0001233637570000091
program recommendation algorithm f for program j by user inScore y ofnComprises the following steps:
Figure BDA0001233637570000101
wherein, the above is xn ijLast final recommendation index sijRatio of (1) to (b), xn ijRecommendation algorithm f for programsnIndependent recommendation index of (1), sijFor the last final index of recommendation, bijAnd (5) clicking the program j for the user i through the program recommendation list. In particular, each time user i clicks once on program j through the program recommendation list, bijAnd adding one. F, the user matrix B is used according to a program recommendation algorithmnAfter the calculation is disassembled, a program recommendation algorithm f can be obtainednScore matrix Y ofnExpressed as:
Figure BDA0001233637570000102
summing the matrixes according to coefficients of matrix rows i to obtain a program recommendation algorithm f of the user inThe evaluation of (a) is expressed as:
Figure BDA0001233637570000103
y is aboven iRecommending algorithm f for program for user inThe score of (1).
Optionally, to avoid the above-mentioned calculated user-to-program recommendation algorithm fnThe scoring result is over-fitted, and the following optimization calculation can be carried out;
adding the scores of the program recommendation algorithms to a preset regularization coefficient, and dividing the added result by the preset normalization coefficient to obtain the optimized scores of the program recommendation algorithms;
then, at this time, the above-mentioned result after the weighted summation is taken as the weight after the program recommendation model corresponding to each program recommendation algorithm is updated, which specifically is:
and taking the optimization scores of the program recommendation algorithms as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
Wherein, the calculation result of the optimization score is realized by the following steps:
Figure BDA0001233637570000111
in the above formula, m is a preset normalization coefficient, cnIs a preset regularization coefficient. Here, user i is recommending algorithm f based on statistics1Is evaluated as y1 i(ii) a For recommendation algorithm f based on content relevance2Is evaluated as y2 i(ii) a By analogy, the user recommends the algorithm f to other algorithmsnIs evaluated as yn i. By introducing the normalization coefficient and the regularization coefficient, overfitting of the obtained scores of the program recommendation algorithms can be effectively prevented.
In order to make the above steps clearer, the following specific examples are given for detailed description, and it should be noted that, for the sake of brevity, the following examples may omit some optional implementation procedures of the above steps:
suppose there is program 1, program 2 in the system, and only one user makes a selection of the program.
Hypothesis statistics-based recommendation algorithm f1And recommendation algorithm f based on content relevancy2The independent recommendation index for the user is as follows;
f1 11(T)=0.7,f1 12(T)=0.2,f2 11(T)=0.1,f2 12(T)=0.8
suppose where f1And f2The initial weights of (a) are:
a1=1,a2=1
then the final recommendation index for this user for program 1 and program 2 is:
S11=1×0.7+1×0.1=0.8
S12=1×0.2+1×0.8=1
so the final recommended index matrix is:
S=[0.8,1]
wherein the recommendation score for program 1 is 0.8 and the recommendation score for program 2 is 1.
It is assumed that the user affects the recommender system by watching the program multiple times. Click program 1 4 times and click program 21 times, resulting in a user matrix B of [4,1 ] for programs]And converting the scores of the user for the program 1 and the program 2 into a program recommendation algorithm f by splitting1The score of (a) is:
Figure BDA0001233637570000121
program recommendation algorithm f2The score of (a) is:
Figure BDA0001233637570000122
in the above calculation, in order to simplify the calculation, the normalization coefficient m is adjusted to 1, and the normalization coefficient c is adjustednThe value is adjusted to 0.
Then in combination with a program recommendation algorithm f1And f2And initial weights, one can obtain:
g11=3.7×1×0.7+1.3×1×0.1=2.59+0.13=2.72
g12=3.7×1×0.2+1.3×1×0.8=0.74+1.04=1.78
namely, the updated final recommendation index obtained this time, program 1 is 2.72, and program 2 is 1.78. As shown in the above calculation, the initial program 1 is lower than the final recommendation index of the program 2, and the new final recommendation index of the program 1 becomes higher than the program 2 by the behavior and transfer function calculation of the user selecting the program 1 with the lower initial evaluation score for a plurality of times, so as to better meet the preference and operation experience of the user.
As can be seen from the above, in the embodiments of the present invention, first, feedback information fed back by a user based on a program recommendation system is obtained, where the program recommendation system is configured to calculate a program recommendation list, and the program recommendation system is configured based on two or more program recommendation models, where the two or more program recommendation models are respectively configured by different program recommendation algorithms, then weights of the two or more program recommendation models when calculating the program recommendation list are updated based on the feedback information, and finally, the program recommendation list is updated according to the updated weights of the two or more program recommendation models when calculating the program recommendation list. In the process, feedback information of the user is fully utilized, particularly feedback information of a recommendation list used by the user, a score of the user on a program recommendation algorithm is formed, and the weight of each program recommendation model in the program recommendation system is dynamically adjusted, so that the final recommendation result is more in line with the requirement change and experience result of the user. In addition, because the embodiment of the invention also introduces the double closed-loop control model, the dynamic performance of the program recommendation system is higher, the starting performance is better, and the influence of the user behavior change on the program recommendation algorithm can be quickly and correspondingly realized.
It will be understood by those skilled in the art that all or part of the steps in the method for implementing the above embodiments may be implemented by using a program to instruct the relevant hardware, and the corresponding program may be stored in a computer-readable storage medium, such as ROM/RAM, magnetic disk or optical disk.
Example two
Fig. 2 is a block diagram showing a specific structure of a program recommending apparatus according to a second embodiment of the present invention, and only the parts related to the second embodiment of the present invention are shown for convenience of description. The program recommendation apparatus 2 includes: a feedback information acquisition unit 21, a weight update unit 22, and a program recommendation list update unit 23.
The feedback information acquiring unit 21 is configured to acquire feedback information fed back by a user based on a program recommendation system, where the program recommendation system is configured to calculate a program recommendation list, and the program recommendation system is constructed based on more than two program recommendation models, where the more than two program recommendation models are constructed by different program recommendation algorithms respectively;
a weight updating unit 22, configured to update weights of the two or more program recommendation models when calculating the program recommendation list based on the feedback information acquired by the feedback information acquiring unit 21;
a program recommendation list updating unit 23, configured to update the program recommendation list according to the weights of the two or more updated program recommendation models obtained by the weight updating unit 22 when calculating the program recommendation list.
Optionally, the feedback information obtaining unit 21 specifically includes:
the click frequency obtaining subunit is used for obtaining the click frequency of each program clicked by the user through the program recommendation list;
the weight updating unit 22 specifically includes:
the score preliminary generation subunit is used for generating scores of the program recommendation algorithms of the programs according to the click frequency of the programs acquired by the click frequency acquisition subunit;
the weighted sum calculation subunit is used for respectively carrying out weighted sum on the program recommendation algorithms according to the scores of the program recommendation algorithms of the programs generated by the algorithm score generation subunit to obtain the scores of the program recommendation algorithms;
and the weight determining subunit is used for taking the scores of the program recommendation algorithms calculated by the weighted sum calculating subunit as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
Optionally, the scoring preliminary generation subunit specifically includes:
a final recommendation index obtaining subunit, configured to obtain, for any program, a final recommendation index of each program in a current program recommendation list, where the final recommendation index is calculated by the program recommendation system;
the independent recommendation index obtaining subunit is used for respectively obtaining the independent recommendation indexes of the programs calculated by the program recommendation algorithms;
and the score calculating subunit is used for multiplying the ratio of the independent recommendation index of each program acquired by the independent recommendation index acquiring subunit to the final recommendation index of the corresponding program acquired by the final recommendation index acquiring subunit by the click frequency of the corresponding program to obtain the score of each program recommendation algorithm of the corresponding program.
Optionally, the program recommending apparatus 2 further includes:
the optimized score calculating unit is used for adding the scores of the program recommendation algorithms calculated by the weighted sum calculating subunit with a preset regularization coefficient, and dividing the added result by the preset regularization coefficient to obtain the optimized scores of the program recommendation algorithms;
at this time, the weight determining subunit is specifically configured to use the optimization score of each program recommendation algorithm as the weight after the program recommendation model corresponding to each program recommendation algorithm is updated.
Optionally, the program recommendation list updating unit 23 specifically includes:
a final recommendation index calculating subunit, configured to calculate, based on a first-order transfer function model, a final recommendation index of each program this time according to weights of the two or more updated program recommendation models obtained by the weight updating unit 22 when calculating the program recommendation list;
and the recommendation list sequence adjusting subunit is used for adjusting the program recommendation list according to the high-low sequence of the final recommendation index of each program calculated by the final recommendation index calculating subunit.
As can be seen from the above, the program recommendation device according to the embodiment of the present invention may obtain feedback information fed back by a user based on a program recommendation system, where the program recommendation system is configured to calculate a program recommendation list, and the program recommendation system is configured based on two or more program recommendation models, where the two or more program recommendation models are respectively configured by different program recommendation algorithms, then update weights of the two or more program recommendation models when calculating the program recommendation list based on the feedback information, and finally update the program recommendation list according to the weights of the two or more updated program recommendation models when calculating the program recommendation list. In the process, the program recommending device makes full use of feedback information of the user, particularly feedback information of a recommendation list used by the user, scores of the user for a program recommending algorithm are formed, and the weight of each program recommending model in the program recommending system is dynamically adjusted, so that the final recommending result is more in line with the requirement change and experience result of the user.
It should be noted that, in the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the above-described apparatus embodiments are merely illustrative, and for example, the above-described division of units is only one type of division of logical functions, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
While, for purposes of simplicity of explanation, the foregoing method embodiments have been described as a series of acts or combination of acts, it will be appreciated by those skilled in the art that the present invention is not limited by the illustrated ordering of acts, as some steps may occur in other orders or concurrently with other steps in accordance with the invention. Further, those skilled in the art will appreciate that the embodiments described in the specification are presently preferred and that no acts or modules are necessarily required of the invention.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and for parts that are not described in detail in a certain embodiment, reference may be made to related descriptions of other embodiments.
In view of the above, it is intended that the present invention not be limited to the particular embodiments disclosed, but that the present invention cover modifications, variations and equivalents of the embodiments of the present invention.

Claims (10)

1. A program recommendation method, characterized in that the program recommendation method comprises:
acquiring feedback information fed back by a user based on a program recommendation system, wherein the program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, and different program recommendation algorithms respectively construct a program recommendation model;
updating the weights of the more than two program recommendation models when calculating the program recommendation list based on the feedback information;
and updating the program recommendation list according to the weights of the more than two updated program recommendation models when the program recommendation list is calculated.
2. The method of claim 1, wherein the obtaining feedback information fed back by the user based on the program recommendation system comprises:
acquiring the click frequency of each program clicked by the user through the program recommendation list;
the updating of the weights of the more than two program recommendation models when calculating the program recommendation list based on the feedback information specifically includes:
generating scores of recommendation algorithms of the programs according to the click frequency of the programs;
according to the scores of the program recommendation algorithms of the programs, respectively carrying out weighted summation on the program recommendation algorithms to obtain the scores of the program recommendation algorithms;
and taking the scores of the program recommendation algorithms as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
3. The method of claim 2, wherein generating a score for each program recommendation algorithm for each program based on the frequency of clicks for each program comprises:
for any program, obtaining a final recommendation index of each program calculated by the program recommendation system in a current program recommendation list;
respectively obtaining independent recommendation indexes of the programs calculated by the program recommendation algorithms;
and multiplying the ratio of the independent recommendation index of each program to the final recommendation index of the corresponding program by the click frequency of the corresponding program to obtain the score of each program recommendation algorithm of the corresponding program.
4. The method of claim 2, wherein the weighting and summing are performed on the program recommendation algorithms respectively according to the scores of the program recommendation algorithms to obtain the scores of the program recommendation algorithms, and then further comprising:
adding the scores of the program recommendation algorithms to a preset regularization coefficient, and dividing the added result by the preset normalization coefficient to obtain the optimized scores of the program recommendation algorithms;
taking the result after the weighted summation as the updated weight of the program recommendation model corresponding to each program recommendation algorithm, specifically:
and taking the optimized scores of the program recommendation algorithms as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
5. The program recommendation method according to any one of claims 1 to 4, wherein said updating the program recommendation list according to the updated weights of said two or more program recommendation models in calculating said program recommendation list comprises:
based on a first-order transfer function model, calculating to obtain the final recommendation index of each program according to the weights of the more than two updated program recommendation models when calculating the program recommendation list;
and adjusting the program recommendation list according to the high-low sequence of the final recommendation index of each program.
6. A program recommendation apparatus, characterized in that the program recommendation apparatus comprises:
the feedback information acquisition unit is used for acquiring feedback information fed back by a user based on a program recommendation system, the program recommendation system is used for calculating a program recommendation list and is constructed based on more than two program recommendation models, wherein different program recommendation algorithms respectively construct a program recommendation model;
the weight updating unit is used for updating the weights of the more than two program recommendation models when the program recommendation list is calculated based on the feedback information acquired by the feedback information acquiring unit;
and the program recommendation list updating unit is used for updating the program recommendation list according to the weights of the more than two updated program recommendation models obtained by the weight updating unit when the program recommendation list is calculated.
7. The program recommending apparatus of claim 6, wherein the feedback information acquiring unit specifically comprises:
the click frequency obtaining subunit is used for obtaining the click frequency of each program clicked by the user through the program recommendation list;
the weight updating unit specifically includes:
the score preliminary generation subunit is used for generating scores of the program recommendation algorithms of the programs according to the click frequency of the programs acquired by the click frequency acquisition subunit;
the weighted sum calculation subunit is used for respectively carrying out weighted sum on the program recommendation algorithms according to the scores of the program recommendation algorithms of the programs generated by the algorithm score generation subunit to obtain the scores of the program recommendation algorithms;
and the weight determining subunit is used for taking the scores of the program recommendation algorithms calculated by the weighted sum calculating subunit as the updated weights of the program recommendation models corresponding to the program recommendation algorithms.
8. The program recommending apparatus of claim 7, wherein said score preliminary generating subunit comprises:
the final recommendation index obtaining subunit is configured to obtain, for any one program, a final recommendation index of each program calculated by the program recommendation system in the current program recommendation list;
the independent recommendation index obtaining subunit is used for respectively obtaining the independent recommendation indexes of the programs calculated by the program recommendation algorithms;
and the score calculating subunit is configured to multiply the ratio of the independent recommendation index of each program acquired by the independent recommendation index acquiring subunit to the final recommendation index of the corresponding program acquired by the final recommendation index acquiring subunit by the click frequency of the corresponding program, and then obtain the score of each program recommendation algorithm of the corresponding program.
9. The program recommending apparatus of claim 7, wherein said program recommending apparatus further comprises:
the optimized score calculating unit is used for adding the scores of the program recommendation algorithms calculated by the weighted sum calculating subunit with a preset regularization coefficient, and dividing the added result by the preset regularization coefficient to obtain the optimized scores of the program recommendation algorithms;
the weight determining subunit is specifically configured to use the optimization scores of the program recommendation algorithms as weights of the updated program recommendation models corresponding to the program recommendation algorithms.
10. The program recommending apparatus according to any one of claims 6 to 9, wherein said program recommendation list updating unit comprises:
a final recommendation index calculating subunit, configured to calculate, based on a first-order transfer function model, a final recommendation index of each program according to weights of the two or more updated program recommendation models obtained by the weight updating unit when calculating the program recommendation list;
and the recommendation list sequence adjusting subunit is used for adjusting the program recommendation list according to the high-low sequence of the final recommendation index of each program calculated by the final recommendation index calculating subunit.
CN201710107905.2A 2017-02-27 2017-02-27 Program recommendation method and device Active CN106878772B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710107905.2A CN106878772B (en) 2017-02-27 2017-02-27 Program recommendation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710107905.2A CN106878772B (en) 2017-02-27 2017-02-27 Program recommendation method and device

Publications (2)

Publication Number Publication Date
CN106878772A CN106878772A (en) 2017-06-20
CN106878772B true CN106878772B (en) 2020-04-07

Family

ID=59168898

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710107905.2A Active CN106878772B (en) 2017-02-27 2017-02-27 Program recommendation method and device

Country Status (1)

Country Link
CN (1) CN106878772B (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107948752B (en) * 2017-11-14 2021-01-08 广州虎牙信息科技有限公司 Ordering method, device and terminal for subscription anchor
CN110337012B (en) * 2019-05-08 2021-07-20 未来电视有限公司 Intelligent recommendation method and device based on Internet television platform
CN110825971B (en) * 2019-11-11 2023-04-14 辽宁师范大学 Article cold start recommendation algorithm integrating relationship mining and collaborative filtering
CN112633321A (en) * 2020-11-26 2021-04-09 北京瑞友科技股份有限公司 Artificial intelligence recommendation system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431694B (en) * 2008-11-26 2010-09-29 深圳市天威视讯股份有限公司 Digital television program recommending method and system based on Bayesian algorithm
CN102523511A (en) * 2011-11-09 2012-06-27 中国传媒大学 Network program aggregation and recommendation system and network program aggregation and recommendation method
CN105760544A (en) * 2016-03-16 2016-07-13 合网络技术(北京)有限公司 Video recommendation method and device
CN106454431B (en) * 2016-10-14 2017-09-05 合肥工业大学 TV programme suggesting method and system

Also Published As

Publication number Publication date
CN106878772A (en) 2017-06-20

Similar Documents

Publication Publication Date Title
US11960509B2 (en) Feedback loop content recommendation
CN106878772B (en) Program recommendation method and device
Stai et al. A holistic approach for personalization, relevance feedback & recommendation in enriched multimedia content
US11263217B2 (en) Method of and system for determining user-specific proportions of content for recommendation
CN105404700B (en) A kind of video column recommendation system and recommended method based on collaborative filtering
US9235574B2 (en) Systems and methods for providing media recommendations
US20170171580A1 (en) Clustering and adjudication to determine a recommendation of multimedia content
US8972419B2 (en) Item selecting apparatus, item selecting method and item selecting program
RU2725659C2 (en) Method and system for evaluating data on user-element interactions
US20090031336A1 (en) Group preference control system
CN108595493B (en) Media content pushing method and device, storage medium and electronic device
CN104182449A (en) System and method for personalized video recommendation based on user interests modeling
US20150019469A1 (en) Method of recommending items to a group of users
CN105574198B (en) column recommendation method and device
CN107544981B (en) Content recommendation method and device
CN106131703A (en) A kind of method of video recommendations and terminal
JP2008529117A (en) Method and apparatus for obtaining degree of common interest of user groups
CN111105269B (en) Advertisement delivery processing method, device, equipment and storage medium
US20160110755A1 (en) Online ad campaign tuning with pid controllers
US20150248720A1 (en) Recommendation engine
US8843428B2 (en) Survey prioritization engine
JP2008210010A (en) Content delivery method and system
CN115455280A (en) Recommendation list determining method and server
CN109063080B (en) Video recommendation method and device
CN105208409A (en) Information recommendation method and 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
CB02 Change of applicant information

Address after: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets Gao Xin Road No. 016 three storey building on the east side of Lenovo

Applicant after: Excellent network Co., Ltd.

Address before: 518000 Guangdong city of Shenzhen province Nanshan District Guangdong streets Gao Xin Road No. 016 three storey building on the east side of Lenovo

Applicant before: UT Starcom (Shenzhen) Technology Co., Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant