LSH Binning на лету - PullRequest
       51

LSH Binning на лету

0 голосов
/ 01 июня 2019

Я хочу использовать MinHash LSH для объединения большого количества документов в группы аналогичных документов (сходство с Jaccard).

Вопрос : возможно ли вычислить сегмент MinHash, не зная о MinHash других документов?

Насколько я понимаю, LSH "просто" вычисляет хэш MinHashes. Так должно быть возможно?

Одна реализация, которую я нахожу довольно многообещающей, это datasketch. Я могу запросить LSH для документов, похожих на данный, зная MinHash всех документов. Однако я не вижу способа получить ведро одного документа, прежде чем узнавать другие. https://ekzhu.github.io/datasketch/index.html

1 Ответ

1 голос
/ 09 июля 2019

LSH не включает в себя целые документы, а также отдельные сегменты. Скорее это ведра 'полос' minhashes.

LSH - это способ как уменьшить количество хэшей, хранящихся в документе, так и уменьшить количество совпадений, обнаруженных при использовании этих хэшей для поиска похожих документов. Это достигается путем объединения нескольких мини-хешей в один хеш. Так, например, вместо того, чтобы хранить 200 минут на документ, вы можете объединить их в группы по четыре, чтобы получить 50 локальных хэшей.

Хеш для каждой полосы рассчитывается из составляющих ее минешей с использованием дешевой хеш-функции, такой как FNV-1a. Это приводит к потере некоторой информации, поэтому говорят, что LSH уменьшает размерность данных . Полученный хеш - это ведро.

Таким образом, интервал для каждой полосы minhashes в документе вычисляется без необходимости знания каких-либо других полос или любых других документов.

Использование LSH-хешей для поиска похожих документов очень просто: допустим, вы хотите найти документы, аналогичные документу A. Сначала сгенерируйте (например) 50 LSH-хешей для документа A. Затем посмотрите в свой хеш-словарь. для всех других документов, которые разделяют один или несколько из этих хэшей. Чем больше хэшей они разделяют, тем выше их предполагаемое сходство с jaccard (хотя это не линейная зависимость, как при использовании простых мин-хэшей).

Чем меньше хеш-значений хранится в документе, тем больше ошибка в оценочном сходстве jaccard и тем больше вероятность пропустить похожие документы.

Вот хорошее объяснение LSH .

...