A computer implemented method for providing a recommendation of a media program to a user using a video delivery service, the method comprising: generating, by a computing device, a plurality of sub-relevance tables relating to a corresponding plurality of features of media programs, whereby each cell of a sub-relevance table includes a relevance value, said relevance value being a positive real value score, said score representing how similar two media programs are to each other with respect to a single feature of said plurality of features, each sub-relevance table thereby capturing relationships between media programs being offered in said delivery service; analysing at least one sub-relevance table in the plurality of sub-relevance tables to generate a plurality of questions, for a user to answer, regarding relationships between the media programs, each question relating to a relationship between three media programs, wherein the question asked is whether a first media program of the three media programs or a second media program of the three media programs is more relevant to a third media program of the three media programs; receiving, by the computing device, at least a user input for each question, the user input being a selection of either the first media program or the second media program; generating, based on the user input, labelling results indicating which of either the first media program or the second media program is selected; combining, by the computing device, the sub-relevance tables into a single relevance table on the basis of a weight vector, said weight vector comprising a weight for each sub-relevance table; adjusting the weights of said weight vector according to an optimization process based on a function L, said function L being a function of the weight vector and of the relevance values of the sub-relevance tables, wherein a gradient of said function L with respect to the weight vector is computed for each labelling result, the gradients being used to update the weight vector, wherein the optimization process is repeated until the weight vector converges, wherein the weights are used to generate the relevance values of the single relevance table; and providing, by the computing device, a recommendation to a user using the video delivery service, the recommendation being generated using relevance values of said single relevance table. generating, by a computing device, a plurality of sub-relevance tables relating to a corresponding plurality of features of media programs, whereby each cell of a sub-relevance table includes a relevance value, said relevance value being a positive real value score, said score representing how similar two media programs are to each other with respect to a single feature of said plurality of features, each sub-relevance table thereby capturing relationships between media programs being offered in said delivery service; analysing at least one sub-relevance table in the plurality of sub-relevance tables to generate a plurality of questions, for a user to answer, regarding relationships between the media programs, each question relating to a relationship between three media programs, wherein the question asked is whether a first media program of the three media programs or a second media program of the three media programs is more relevant to a third media program of the three media programs; receiving, by the computing device, at least a user input for each question, the user input being a selection of either the first media program or the second media program; generating, based on the user input, labelling results indicating which of either the first media program or the second media program is selected; combining, by the computing device, the sub-relevance tables into a single relevance table on the basis of a weight vector, said weight vector comprising a weight for each sub-relevance table; adjusting the weights of said weight vector according to an optimization process based on a function L, said function L being a function of the weight vector and of the relevance values of the sub-relevance tables, wherein a gradient of said function L with respect to the weight vector is computed for each labelling result, the gradients being used to update the weight vector, wherein the optimization process is repeated until the weight vector converges, wherein the weights are used to generate the relevance values of the single relevance table; and providing, by the computing device, a recommendation to a user using the video delivery service, the recommendation being generated using relevance values of said single relevance table.