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

public class ModularityComplement<U>
extends CompleteCommunityReranker<U>
Implementation of a reranker which promotes the modularity complement of the network.
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected java.util.Map<U,​java.lang.Integer> inDegree
    The relation between the users and their in-degree.
    protected long numEdges
    The number of edges of the user graph.
    protected java.util.Map<U,​java.lang.Integer> outDegree
    The relation between the users and their out-degree.
    protected double sum
    K(G,C) = \sum_i,j |\Gamma_out(i)||\Gamma_in(j)|\delta(c_i, c_j)

    Fields inherited from class es.uam.eps.ir.relison.links.recommendation.reranking.global.globalranking.communities.CompleteCommunityReranker

    communities, communityGraph, graph

    Fields inherited from class es.uam.eps.ir.relison.links.recommendation.reranking.global.globalranking.GlobalRankingLambdaReranker

    lambda, novStats, recStats

    Fields inherited from class es.uam.eps.ir.relison.links.recommendation.reranking.global.globalranking.GlobalRankingGreedyReranker

    cutOff
  • Constructor Summary

    Constructors 
    Constructor Description
    ModularityComplement​(double lambda, int cutoff, java.util.function.Supplier<Normalizer<U>> norm, Graph<U> graph, Communities<U> communities)
    Constructor.
  • Method Summary

    Modifier and Type Method Description
    protected double nov​(U user, org.ranksys.core.util.tuples.Tuple2od<U> item)
    Finds the novelty score for a user-item pair.
    protected void update​(U user, org.ranksys.core.util.tuples.Tuple2od<U> selectedItem)
    Updates the value of the objective function after a selection.

    Methods inherited from class es.uam.eps.ir.relison.links.recommendation.reranking.global.globalranking.GlobalRankingLambdaReranker

    score, selectRecommendation

    Methods inherited from class es.uam.eps.ir.relison.links.recommendation.reranking.global.globalranking.GlobalRankingGreedyReranker

    rerankRecommendations

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • numEdges

      protected long numEdges
      The number of edges of the user graph.
    • inDegree

      protected java.util.Map<U,​java.lang.Integer> inDegree
      The relation between the users and their in-degree.
    • outDegree

      protected java.util.Map<U,​java.lang.Integer> outDegree
      The relation between the users and their out-degree.
    • sum

      protected double sum
      K(G,C) = \sum_i,j |\Gamma_out(i)||\Gamma_in(j)|\delta(c_i, c_j)
  • Constructor Details

    • ModularityComplement

      public ModularityComplement​(double lambda, int cutoff, java.util.function.Supplier<Normalizer<U>> norm, Graph<U> graph, Communities<U> communities)
      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.
  • 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.