Можете ли вы предложить хорошую реализацию Minhash?
Я пытаюсь найти реализацию с открытым исходным кодом minhash, которую я могу использовать для своей работы.
Функциональность, которая мне нужна, очень проста, учитывая набор как входной, реализация должна вернуть свой minhash.
Реализация python или C будет предпочтительнее, на всякий случай, когда мне нужно взломать ее для работы.
Любые указатели будут очень полезны.
С уважением.
Ответы
Ответ 1
Вам следует взглянуть на следующие библиотеки с открытым исходным кодом в порядке. Все они находятся на Python и показывают, как можно вычислить сходство документов с помощью LSH/MinHash:
lsh
LSHHDC: локально-чувствительная высокоуровневая кластеризация на основе хеширования
MinHash
Ответ 2
Взгляните на библиотеку datasketch . Он поддерживает сериализацию и слияние. Он реализован в чистом питоне без внешней зависимости. Go версия имеет те же самые функциональные возможности.
Ответ 3
Я предлагаю вам эту библиотеку, особенно если вам нужна настойчивость. Здесь вы можете использовать redis для хранения/получения всех ваших данных.
У вас есть возможность выбрать базу данных redis или просто использовать встроенные словари python в памяти.
Выполнения с использованием redis, по крайней мере, если сервер redis запущен на вашей локальной машине, почти идентичны тем, которые достигаются с помощью стандартных словарей python.
Вам нужно только указать словарь конфигурации, например
config = {"redis": {"host": 'localhost', "port": '6739', "db": 0}}
и передать его как аргумент конструктору класса LSHash
.