com.wcohen.secondstring
Class Level2

java.lang.Object
  |
  +--com.wcohen.secondstring.AbstractStringDistance
        |
        +--com.wcohen.secondstring.Level2
All Implemented Interfaces:
StringDistance
Direct Known Subclasses:
Level2Jaro, Level2JaroWinkler, Level2Levenstein, Level2MongeElkan, Level2SLIM, Level2SLIMWinkler

public class Level2
extends AbstractStringDistance

Generic version of Monge & Elkan's "level 2" recursive field matching. Given strings A, B that are broken into substrings A = A1...Ak and B=B1...Bm, the recursive string matching algorithm scores

score(A,B) = 1/k [ sum_i max_j score(Ai,Bj) ] For level 1, substrings Ai, Bj are delimited by commas; for level 2, they are tokens.


Constructor Summary
Level2(Tokenizer tokenizer, StringDistance tokenDistance)
           
 
Method Summary
 java.lang.String explainScore(StringWrapper s, StringWrapper t)
          Explain how the distance was computed.
static void main(java.lang.String[] argv)
           
 StringWrapper prepare(java.lang.String s)
          Preprocess a string by finding tokens.
 double score(StringWrapper s, StringWrapper t)
          This method needs to be implemented by subclasses.
 java.lang.String toString()
           
 
Methods inherited from class com.wcohen.secondstring.AbstractStringDistance
accumulateStatistics, doMain, explainScore, score
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

Level2

public Level2(Tokenizer tokenizer,
              StringDistance tokenDistance)
Method Detail

score

public double score(StringWrapper s,
                    StringWrapper t)
Description copied from class: AbstractStringDistance
This method needs to be implemented by subclasses.

Specified by:
score in interface StringDistance
Specified by:
score in class AbstractStringDistance

prepare

public StringWrapper prepare(java.lang.String s)
Preprocess a string by finding tokens.

Specified by:
prepare in interface StringDistance
Overrides:
prepare in class AbstractStringDistance

explainScore

public java.lang.String explainScore(StringWrapper s,
                                     StringWrapper t)
Explain how the distance was computed.

Specified by:
explainScore in interface StringDistance
Specified by:
explainScore in class AbstractStringDistance

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

main

public static void main(java.lang.String[] argv)