I've added case normalization and punctuation stripping to my USM library, on the basis that ShingleCloud basically does both of these things, so the comparison between them is not really level unless this is done. The results will most likely be to even up the runtimes, because USM will run more slowly, but presumably it will improve the "success" of USM when compared to SC, which is currently doing better (based on my own human judgement of successful matches). I'll now have to re-run all the tests again with this new measure, but I think what I'll do is to merge all of the different variants for the Lear texts into a single operation, which will take a long time to run and process, but will perhaps give more useful output when it's done.
I've also done a fair amount of examination of the existing Lear results, and it does seem that without normalization, even SC needle/haystack calculations result in a longer run of intuitively "good" matches before spurious ones begin to appear. USM/NCD manage about 60 matches before we start to see oddities, but SC gets into the 70s.