Читаете между строк практически. Правда средства по контролю за подобной деятельностью за последнее время расширились на порядок. Одна надежда — хакеры.
Кстати, при чтении idx файла нельзя вызывать decode(«utf-8») для каждого байта, иначе декодер вываливается с ошибкой на первом же мультибайтном символе. Нужно побайтно прочитать всю последовательность до '\0' в бинарную строку и только затем вызвать decode для всей строки.
В остальном спасибо за статью, очень приятно было читать ваш код.
Верно ли я понял, что слово commander-in-chief не будет правильно нормализовано описанной выше версией нормализатора из-за наличия предлога in, который не будет нормализован?
Вряд ли вам что-то помешает общаться с человеком у которого другой характер, но схожая система ценностей (если он не бык и не тролль, но это вероятнее всего отразится и в выбранных пользователем наиболее релевантных оценках). Важно то, что выбрал пользователь в качестве того, что наиболее ярко его характеризует через оценки. Какие-то психологические тесты можно добавить но не думаю что это критично.
Если вы внимательно читали пост, то могли увидеть, что оценка сходства не бинарна — только да или нет, а континуальна и определяется это тем, есть ли у данных пользователей еще какие-нибудь точки соприкосновения. Если оценивать только паттерны и политику, то сказать о сходстве можно очень немного. В реальной жизни то же самое, вам не кажется? Более того первично то, что пользователь оценивает наиболее высоко если для них релевантность паттернов и политики совпадающая, (то есть паттерны практически не релевантны, а политика во все поля) то скорей всего единомышленниками они не будут. Все просто.
В остальном спасибо за статью, очень приятно было читать ваш код.