[WIP] Updated analysis code

- thesaurus now holds vectors, so added a call to get_nearest_neighbours
- no need for thesaurus caching, it is now slower
- replacement ranks statistics makes no sense, as it is always the top 3 neighbours returned (search is done in a smaller pool of candidates)