Class PPJoinPlusPlus

  • All Implemented Interfaces:
    IMapper

    public class PPJoinPlusPlus
    extends AMapper
    Die Implementierung von PPJoin+ Algorithmus. Der Algorithmus bestimmt alle Paare von Objekten, deren Ähnlichkeit aufgrund des verwendeten Ähnlichkeitsmaßes über einem angegebenen Schwellwert (threshold) liegt. Der Prozess der Duplikaterkennung mit PPJoin+ kann in drei Phasen gegliedert werden. Das sind: die Tokenisierung der Eingabe (tokenizer), die Generierung von Kandidatenpaaren und ihre Verifikation. Um nicht alle Objekte miteinander vergleichen zu müssen, werden bei der Kandidatengenerierung drei Filterstrategien eingesetzt: Präfix-Filterung (prefix filtering), positionelle Filterung (positional filtering) und Suffix-Filterung (suffix filtering). Sie reduzieren die Anzahl der Kandidaten, die schließlich miteinander verglichen werden müssen. Diese Implementierung des Algorithmus unterstützt drei Ähnlichkeitsmaße: Jaccard-, Cosine- und Trigram-Ähnlichkeit. Siehe detaillierte Beschreibung von PPJoin+.
    Version:
    1.0
    Author:
    Dawid Kotlarz
    • Constructor Detail

      • PPJoinPlusPlus

        public PPJoinPlusPlus()
    • Method Detail

      • overlap

        public static int overlap​(algorithms.ppjoinplus.Record x,
                                  int beginnX,
                                  algorithms.ppjoinplus.Record y,
                                  int beginnY)
        Berechnet die Überlappung zwischen zwei Datensätzen mithilfe ihrer Tokens
        Parameters:
        x - erster Datensatz
        beginnX - Position des Anfangstokens vom ersten Datensatz
        y - zweiter Datensatz
        beginnY - Position des Anfangstokens vom zweiten Datensatz
        Returns:
        Überlappung von x und y
      • getName

        public String getName()
        Description copied from interface: IMapper
        Returns the name of the mapper.
        Returns:
        Mapper name as a string
      • getMapping

        public AMapping getMapping​(ACache source,
                                   ACache target,
                                   String sourceVar,
                                   String targetVar,
                                   String expression,
                                   double threshold)
        Computes a mapping between a source and a target.
        Parameters:
        source - Source cache
        target - Target cache
        sourceVar - Variable for the source dataset
        targetVar - Variable for the target dataset
        expression - Expression to process.
        threshold - Similarity threshold
        Returns:
        A mapping which contains links between the source instances and the target instances
      • getRuntimeApproximation

        public double getRuntimeApproximation​(int sourceSize,
                                              int targetSize,
                                              double threshold,
                                              IMapper.Language language)
        Description copied from interface: IMapper
        Returns the estimated time needed to obtain the mapping computed by the mapper.
        Parameters:
        sourceSize - source size
        targetSize - target size
        threshold - atomic specification threshold
        language - language of source and target variables
        Returns:
        estimated runtime, as double
      • getMappingSizeApproximation

        public double getMappingSizeApproximation​(int sourceSize,
                                                  int targetSize,
                                                  double threshold,
                                                  IMapper.Language language)
        Description copied from interface: IMapper
        Returns the estimated mapping size of the mapping computed by the mapper.
        Parameters:
        sourceSize - source size
        targetSize - target size
        threshold - atomic specification threshold
        language - language of source and target variables
        Returns:
        estimated execution time, as double