Есть ли реализация идеи, описанной в разделе «Обнаружение близких дубликатов для веб-сканирования» - PullRequest
9 голосов
/ 01 ноября 2010

Бумага: http://www2007.org/papers/paper215.pdf

Мне просто интересно, есть ли реализации главы 3 этого документа. Я имею в виду запросы среди больших наборов данных, а не только simhash (легко найти реализации simhash)

спасибо ~

Ответы [ 2 ]

0 голосов
/ 30 января 2017

Это проблема в Data mining и similarity search.Есть множество статей, описывающих, как это можно сделать, и масштабирование до огромных объемов данных.

У меня есть реализация ( github: mksteve, кластеризация , с некоторыми комментариями об этом в моем блог ) из Википедия: Метрическое дерево .Для этого необходимо, чтобы принимаемые вами меры соответствовали неравенству треугольника ( wikipedia: Метрическое пространство . То есть метрическое расстояние от элемента A до элемента C меньше или равно расстоянию от A до B + расстояниеОт B до C.

Принимая во внимание это неравенство, можно обрезать пространство поиска, поэтому поиск выполняется только по поддеревьям, которые могут перекрываться с целевой областью. Без учета этой функции (метрическое пространство).

Возможно, число разниц в simhash будет метрическим пространством.

Общее использование этих наборов данных упоминается в документе, когда упоминается mapReduce, который обычно запускаетсяна hadoop cluster. Каждый узел обработки получает подмножество данных и находит набор целевых совпадений из своих локальных наборов данных. Затем они объединяются, чтобы получить полностью упорядоченный список похожих элементов.

Есть некоторые документы (неуверенные в ссылках), которые ссылаются на использование m-деревьев в кластере, где различные части поискапространство предоставляется разным кластерам, но я не уверен, будет ли инфраструктура hadoop поддерживать использование такого высокого уровня абстракции.

0 голосов
/ 17 октября 2011

Вот один , хотя я не проверял, это работает. Хорошая вещь его с открытым исходным кодом.

...