class_docstr: Ratcliff-Obershelp similarity
  This follows the Ratcliff-Obershelp algorithm to derive a similarity
  measure:
      1. Find the length of the longest common substring in sequences.
      2. Recurse on the strings to the left & right of each this substring
         in sequences. The base case is a 0 length common substring, in which
         case, return 0. Otherwise, return the sum of the current longest
         common substring and the left & right recursed sums.
      3. Multiply this length by 2 and divide by the sum of the lengths of
         sequences.
  
  https://en.wikipedia.org/wiki/Gestalt_Pattern_Matching
  https://github.com/Yomguithereal/talisman/blob/master/src/metrics/ratcliff-obershelp.js
  https://xlinux.nist.gov/dads/HTML/ratcliffObershelp.html
class_docstr_tok: ["Ratcliff-Obershelp","similarity","This","follows","the","Ratcliff-Obershelp","algorithm","to","derive","a","similarity","measure",":","1",".","Find","the","length","of","the","longest","common","substring","in","sequences",".","2",".","Recurse","on","the","strings","to","the","left","&","right","of","each","this","substring","in","sequences",".","The","base","case","is","a","0","length","common","substring",",","in","which","case",",","return","0",".","Otherwise",",","return","the","sum","of","the","current","longest","common","substring","and","the","left","&","right","recursed","sums",".","3",".","Multiply","this","length","by","2","and","divide","by","the","sum","of","the","lengths","of","sequences",".","https",":","\/\/en.wikipedia.org\/wiki\/Gestalt_Pattern_Matching","https",":","\/\/github.com\/Yomguithereal\/talisman\/blob\/master\/src\/metrics\/ratcliff-obershelp.js","https",":","\/\/xlinux.nist.gov\/dads\/HTML\/ratcliffObershelp.html"]
code: def __call__(self, *sequences: str) -> float:
      result = self.quick_answer(*sequences)
      if result is not None:
          return result
      scount = len(sequences)  # sequences count
      ecount = sum(map(len, sequences))  # elements count
      sequences = self._get_sequences(*sequences)
      return scount * self._find(*sequences) / ecount
  
imports: from __future__ import annotations
  from difflib import SequenceMatcher
  from typing import Any
  from ..utils import find_ngrams
  from .base import BaseSimilarity
  from .types import TestFunc
label_desc: Use image node_id 3 for calling the RatcliffObershelp obj's underlying member method code with example usage: obj.__call__() and returns: unknown, result