Если у нас есть набор из M слов и мы заранее знаем сходство значений каждой пары слов (имеем матрицу сходств M x M), какой алгоритм мы можем использовать для создания одного k-мерного битового векторадля каждого слова, чтобы можно было сравнить каждую пару слов, просто сравнивая их векторы (например, получая абсолютную разницу векторов)?
Я не знаю, как называется эта конкретная проблема.Если бы я знал, было бы намного проще найти среди множества алгоритмов с похожими описаниями, которые делают что-то еще.
Дополнительное наблюдение:
Я думаю, что этот алгоритм иметь для получения одного, в данном случае желаемого, побочного эффекта.Если из матрицы слово A похоже на слово B, а B похоже на C, но обнаруживается низкое сходство [A, C], то вычисленная разница векторов результата должна также привести к высокому сходству [A, C].Таким образом, мы должны были заполнить предыдущие пробелы в матрице - сгладить сходства с этим алгоритмом.Но помимо этого сглаживания цель состоит в том, чтобы получить результаты, максимально приближенные к исходным числам, которые мы имели в матрице.