language-icon Old Web
English
Sign In

SimRank

SimRank is a general similarity measure, based on a simple and intuitive graph-theoretic model.SimRank is applicable in any domain with object-to-object relationships, that measures similarity of the structural context in which objects occur, based on their relationships with other objects.Effectively, SimRank is a measure that says 'two objects are considered to be similar if they are referenced by similar objects.' Although SimRank is widely adopted, it may output unreasonable similarity scores which are influenced by different factors, and can be solved in several ways, such as introducing an evidence weight factor, inserting additional terms that are neglected by SimRank or using PageRank-based alternatives. SimRank is a general similarity measure, based on a simple and intuitive graph-theoretic model.SimRank is applicable in any domain with object-to-object relationships, that measures similarity of the structural context in which objects occur, based on their relationships with other objects.Effectively, SimRank is a measure that says 'two objects are considered to be similar if they are referenced by similar objects.' Although SimRank is widely adopted, it may output unreasonable similarity scores which are influenced by different factors, and can be solved in several ways, such as introducing an evidence weight factor, inserting additional terms that are neglected by SimRank or using PageRank-based alternatives. Many applications require a measure of 'similarity' between objects.One obvious example is the 'find-similar-document' query,on traditional text corpora or the World-Wide Web.More generally, a similarity measure can be used to cluster objects, such as for collaborative filtering in a recommender system, in which “similar” users and items are grouped based on the users’ preferences. Various aspects of objects can be used to determine similarity, usually depending on the domain and the appropriate definition of similarity for that domain.In a document corpus, matching text may be used, and for collaborative filtering, similar users may be identified by common preferences.SimRank is a general approach that exploits the object-to-object relationships found in many domains of interest.On the Web, for example, two pages are related if there are hyperlinks between them.A similar approach can be applied to scientific papers and their citations, or to any other document corpus with cross-reference information.In the case of recommender systems, a user’s preference for an item constitutes a relationship between the user and the item.Such domains are naturally modeled as graphs, with nodes representing objects and edges representing relationships. The intuition behind the SimRank algorithm is that, in many domains, similar objects are referenced by similar objects.More precisely, objects a {displaystyle a} and b {displaystyle b} are considered to be similar if they are pointed from objects c {displaystyle c} and d {displaystyle d} , respectively, and c {displaystyle c} and d {displaystyle d} are themselves similar.The base case is that objects are maximally similar to themselves. It is important to note that SimRank is a general algorithm that determines only the similarity of structural context.SimRank applies to any domain where there are enough relevant relationships between objects to base at least some notion of similarity on relationships.Obviously, similarity of other domain-specific aspects are important as well; these can — and should be combined with relational structural-context similarity for an overall similarity measure.For example, for Web pages SimRank can be combined with traditional textual similarity; the same idea applies to scientific papers or other document corpora.For recommendation systems, there may be built-in known similarities between items (e.g., both computers, both clothing, etc.), as well as similarities between users (e.g., same gender, same spending level).Again, these similarities can be combined with the similarity scores that are computed based on preference patterns, in order to produce an overall similarity measure. For a node v {displaystyle v} in a directed graph, we denote by I ( v ) {displaystyle I(v)} and O ( v ) {displaystyle O(v)} the set of in-neighbors and out-neighbors of v {displaystyle v} , respectively.Individual in-neighbors are denoted as I i ( v ) {displaystyle I_{i}(v)} , for 1 ≤ i ≤ | I ( v ) | {displaystyle 1leq ileq left|I(v) ight|} , and individualout-neighbors are denoted as O i ( v ) {displaystyle O_{i}(v)} , for 1 ≤ i ≤ | O ( v ) | {displaystyle 1leq ileq left|O(v) ight|} . Let us denote the similarity between objects a {displaystyle a} and b {displaystyle b} by s ( a , b ) ∈ [ 0 , 1 ] {displaystyle s(a,b)in } . Following the earlier motivation, a recursive equation is written for s ( a , b ) {displaystyle s(a,b)} .If a = b {displaystyle a=b} then s ( a , b ) {displaystyle s(a,b)} is defined to be 1 {displaystyle 1} .Otherwise, where C {displaystyle C} is a constant between 0 {displaystyle 0} and 1 {displaystyle 1} .A slight technicality here is that either a {displaystyle a} or b {displaystyle b} may not have any in-neighbors.Since there is no way to infer any similarity between a {displaystyle a} and b {displaystyle b} in this case, similarity is set to s ( a , b ) = 0 {displaystyle s(a,b)=0} , so the summation in the above equation is defined to be 0 {displaystyle 0} when I ( a ) = ∅ {displaystyle I(a)=emptyset } or I ( b ) = ∅ {displaystyle I(b)=emptyset } . Let S {displaystyle mathbf {S} } be the similarity matrix whose entry [ S ] a , b {displaystyle _{a,b}} denotes the similarity score s ( a , b ) {displaystyle s(a,b)} , and A {displaystyle mathbf {A} } be the column normalized adjacency matrix whose entry [ A ] a , b = 1 | I ( b ) | {displaystyle _{a,b}={ frac {1}{|{mathcal {I}}(b)|}}} if there is an edge from a {displaystyle a} to b {displaystyle b} , and 0 otherwise. Then, in matrix notations, SimRank can be formulated as

[ "Computation", "Graph", "Similarity measure", "Similarity (network science)" ]
Parent Topic
Child Topic
    No Parent Topic