Approximate k-Nearest Neighbours in high-dimensional space via Locality Sensitive Hashing

Приближенный алгоритм поиска ближайших соседей в пространствах больших размерностей с помощью хеширования, чувствительного к местоположению

Что такое поиск ближайших соседей?

Что такое поиск приблизительных соседей?

Где может использоваться поиск соседей?

  • Рекомендательные системы
  • Распознавание образов
  • Распознавание музыки
  • Кластеризация данных
  • Поиск плагиата
  • Агрегация новостей

Последовательность действий для поиска похожих текстов

  • Очистка текста
  • Токенизация текста (слова, н-граммы)
  • MinHash
  • LSH для MinHash signatures

Последовательность действий для поиска похожих текстов

Очистка текста

Последовательность действий для поиска похожих текстов

Токенизация текста. Построение н-грамм

3-граммы - abcdab - {abc, bcd, cda, dab}

Представление документов

Представление документов

Minhash

Minhash

Minhash

Minhash

Minhash

x - номер строки

r - общее количество строк

a, b - случайные числа (a, b < r)

Измерение расстояний

  1. cat caught bird
  2. dog follows cat

Сравнение схожести

 Minhash и попарного сравнения

Minhash

Сharacteristic matrix

Почему это работает?

Схожесть

Почему это работает?

Схожесть

Вероятность h(D1) = h(D2)

Вероятность встретить строку А перед строкой B

Если первая встреченная строка типа А - h(D1) = h(D2). Если первая встреченная  строка B - то h(D1) ≠ h(D2)

Locality sensitive hashing

Locality sensitive hashing

Locality sensitive hashing

ANN LSH

By __

ANN LSH

  • 11