Type Parameters:
U - type of the users
All Implemented Interfaces:
GlobalReranker<U,​U>

public class InterCommunityDegreeGiniComplement<U>
extends InterCommunityReranker<U>
Implementation of a global reranking strategy for balancing the distribution of the degrees of the communities in a community graph. It only considers links between communities.
  • Field Details

    • orientation

      protected final EdgeOrientation orientation
      Community Gini orientation selection
    • sum

      protected double sum
      Number of edges between communities
    • degrees

      protected java.util.Map<java.lang.Integer,​java.lang.Integer> degrees
      Community degrees.
  • Constructor Details

    • InterCommunityDegreeGiniComplement

      public InterCommunityDegreeGiniComplement​(double lambda, int cutoff, java.util.function.Supplier<Normalizer<U>> norm, Graph<U> graph, Communities<U> communities, EdgeOrientation orientation)
      Constructor.
      Parameters:
      lambda - trade-off between the recommendation score and the novelty/diversity value.
      cutoff - number of elements to take.
      norm - the normalization strategy.
      graph - the original graph.
      communities - the relation between users and communities.
      orientation - the neighborhood selection for computing the degree.
  • Method Details

    • nov

      protected double nov​(U user, org.ranksys.core.util.tuples.Tuple2od<U> item)
      Description copied from class: GlobalRankingLambdaReranker
      Finds the novelty score for a user-item pair.
      Specified by:
      nov in class GlobalRankingLambdaReranker<U,​U>
      Parameters:
      user - the target user.
      item - the candidate item (with its score).
      Returns:
      the novelty value for the item.
    • update

      protected void update​(U user, org.ranksys.core.util.tuples.Tuple2od<U> selectedItem)
      Description copied from class: GlobalRankingGreedyReranker
      Updates the value of the objective function after a selection.
      Specified by:
      update in class GlobalRankingGreedyReranker<U,​U>
      Parameters:
      user - the selected user.
      selectedItem - the selected item and its score.