public class PageRankServiceImpl extends java.lang.Object implements PageRankService
Modifier and Type | Field and Description |
---|---|
private static Log |
log |
Constructor and Description |
---|
PageRankServiceImpl() |
Modifier and Type | Method and Description |
---|---|
private double |
cosine(double[] u,
double[] v) |
private <T> double |
cosine(java.util.Map<T,java.lang.Double> u,
java.util.Map<T,java.lang.Double> v)
cosine of two vectors
|
private double |
difference(double[] u,
double[] v) |
private <T> double |
difference(java.util.Map<T,java.lang.Double> a,
java.util.Map<T,java.lang.Double> b)
difference between 2 vectors
|
static void |
main(java.lang.String[] args) |
double[] |
pagerankIter(double[] currentScores,
java.util.Map<java.lang.Integer,java.lang.Double> dampingVector,
ConceptGraph cg,
double dampingFactor,
double N) |
double[] |
pagerankIter(double[] currentScores,
java.util.Map<java.lang.Integer,java.lang.Double> dampingVector,
ConceptGraph cg,
double dampingFactor,
double N,
java.util.Set<java.lang.Integer> activeNodes) |
java.util.Map<java.lang.Integer,java.lang.Double> |
pagerankIter(java.util.Map<java.lang.Integer,java.lang.Double> currentScores,
java.util.Map<java.lang.Integer,java.lang.Double> dampingVector,
ConceptGraph cg,
double dampingFactor,
double N)
perform one iteration of pagerank
|
double[] |
rank(java.util.Map<java.lang.String,java.lang.Double> dampingVector,
ConceptGraph cg)
call rank() with default values for iter (30), threshold(1e-4),
dampingFactor(0.85)
|
double[] |
rank(java.util.Map<java.lang.String,java.lang.Double> dampingVector,
ConceptGraph cg,
int iter,
double threshold,
double dampingFactor)
PageRank for conceptGraph.
|
double[] |
rank2(java.util.Map<java.lang.Integer,java.lang.Double> dampingVector,
ConceptGraph cg,
int iter,
double threshold,
double dampingFactor) |
private double[] |
rankInternal(java.util.Map<java.lang.Integer,java.lang.Double> dampingVector,
ConceptGraph cg,
int iter,
double threshold,
double dampingFactor) |
double |
sim(java.lang.String concept1,
java.lang.String concept2,
ConceptGraph cg,
int iter,
double threshold,
double dampingFactor)
compute similarity using personalized page rank, as documented in Exploring Knowledge Bases for Similarity
|
private double[] rankInternal(java.util.Map<java.lang.Integer,java.lang.Double> dampingVector, ConceptGraph cg, int iter, double threshold, double dampingFactor)
private <T> double difference(java.util.Map<T,java.lang.Double> a, java.util.Map<T,java.lang.Double> b)
a
- b
- private double difference(double[] u, double[] v)
u
- v
- private double cosine(double[] u, double[] v)
public double[] pagerankIter(double[] currentScores, java.util.Map<java.lang.Integer,java.lang.Double> dampingVector, ConceptGraph cg, double dampingFactor, double N, java.util.Set<java.lang.Integer> activeNodes)
public double[] pagerankIter(double[] currentScores, java.util.Map<java.lang.Integer,java.lang.Double> dampingVector, ConceptGraph cg, double dampingFactor, double N)
public double[] rank2(java.util.Map<java.lang.Integer,java.lang.Double> dampingVector, ConceptGraph cg, int iter, double threshold, double dampingFactor)
rank2
in interface PageRankService
public java.util.Map<java.lang.Integer,java.lang.Double> pagerankIter(java.util.Map<java.lang.Integer,java.lang.Double> currentScores, java.util.Map<java.lang.Integer,java.lang.Double> dampingVector, ConceptGraph cg, double dampingFactor, double N)
currentScores
- cg
- public double sim(java.lang.String concept1, java.lang.String concept2, ConceptGraph cg, int iter, double threshold, double dampingFactor)
sim
in interface PageRankService
concept1
- concept2
- cg
- iter
- threshold
- dampingFactor
- private <T> double cosine(java.util.Map<T,java.lang.Double> u, java.util.Map<T,java.lang.Double> v)
u
- v
- public static void main(java.lang.String[] args)
public double[] rank(java.util.Map<java.lang.String,java.lang.Double> dampingVector, ConceptGraph cg, int iter, double threshold, double dampingFactor)
PageRankService
rank
in interface PageRankService
dampingVector
- topic vector/personalized pagerank vector. If null will use
normal pagerank with a damping vector where every value is 1/Ncg
- concept graphiter
- max number of iterationsthreshold
- convergence thresholdpublic double[] rank(java.util.Map<java.lang.String,java.lang.Double> dampingVector, ConceptGraph cg)
PageRankService
rank
in interface PageRankService