public float LevenshteinSimilarity(AbstractContextInfo context) { var left = ExtendedContext.Split(' '); var right = LocalContext.Split(' '); var distance = Levenshtein.Compute(left, right); return(1.0f - distance / Math.Max(left.Length, right.Length)); }
public float NormalizedLCS(AbstractContextInfo context) { var left = ExtendedContext.Split(' '); var right = LocalContext.Split(' '); var lcs = LCS.Compute(left, right); return(2.0f * lcs / (left.Length + right.Length)); }
public PredictionInfo(AbstractContextInfo context, float extendedSimilarity = 0.0f, float localSimilarity = 0.0f) { Context = context; ExtendedSimilarity = extendedSimilarity; LocalSimilarity = localSimilarity; }
public float LocalSimilarity(AbstractContextInfo context) { return(Sim.GetSimilarity(_localContext, context._localContext)); }
public float ExtendedSimilarity(AbstractContextInfo context) { return(Sim.GetSimilarity(_extendedContext, context._extendedContext)); }