sS ai_ngb_correctWords1_explain(S input, O... _) { optPar int maxPerWord = 3; optPar int minDistance = 1; optPar int maxDistance = 1; ret mapJavaTokens(s -> joinWithSlash( map(w -> w + "[" + ai_ngbWordList_multiSet().get(w) + "]", takeFirst(maxPerWord, sortByCalculatedFieldDesc(w -> ai_ngbWordList_multiSet().get(w), asCISet(allWithLevenICDistanceBetween(minDistance, maxDistance, ai_ngbWordListByFrequency(), s))))) ), input); }