Алгоритм приближенного выполнения операции соединения по подобию Перевалова Марина, 545 группа

реклама
Алгоритм приближенного выполнения
операции соединения по подобию
Перевалова Марина,
545 группа
научный руководитель:
Новиков Б.А.
рецензент:
Графеева Н.Г.
Область использования
Big data:
 Языки запросов
 Декларативность
 Возможности для оптимизации
 Гетерогенность
 Соединение данных из разных источников
 Слабая структурированность
 Оценки
 Подобие
Соединение по подобию
 Объекты представлены, как множества токенов
 Для двух множеств X и Y операция соединение по подобию
возвращает все пары объектов <x,y> для которых sim(x,y) ≥ t.
x = {A,B,C,D,E}
y = {B,C,D,E,F}
Известные функции подобия:
 Жаккара:
J ( x, y ) 
 Косинусная:
C ( x, y ) 
 Дайса:
D ( x, y ) 
 t заранее неизвестно
x y
x y
x y
x y
2x y
x y
t
4/6 = 0.67
t
4/5 = 0.8
t
8/10 = 0.8
top-k запросы
Постановка задачи
 Приближенный алгоритм:
 ограниченное время работы
 приближенный результат
Вход:
k
Результат:
Коллекция 1
<объект1, оценка>
<объект1, объект2
итоговая оценка>
Коллекция 2
<объект2, оценка>
ожидаемое качество
качество = 100%
результата
время
 Расширенная модель стоимости:
 ожидаемое качество результата
k
Сокращение числа кандидатов
 Фильтрование по размеру
x=
С
D
E
y=
A
B
E
F
G
 Префиксное фильтрование
x=
y=
A
С
B
D
Функция подобия Жаккара:
x y
x y
t tx  y
t = 0.8 ⇒ 4 ≰ 3
t = 0.8, |x|=|y|=5 ⇒
|x  y|  4
max|x  y| = 3 < 4
 Пара должна иметь хотя бы один общий токен в префиксе
 Токены отсортированы в глобальном порядке
Разработанный алгоритм
Основная идея:
 Постепенное уточнение k пар в буфере
Итоговая оценка:
ϴ = min(Ax,Ay)*sim(x,y), где Ax, Ay – оценки объектов
Условие остановки:
min(Ax,Ay) < T
T = mink ϴ
↓Axi
x1
↓Ayi
y1
y2
y3
или: заданное время
y4
y5
x2
x3
x4
x5
x6
x7
Модель стоимости
time = f(k, tsys, call, cs, cp, cv, lob, lpr)
 call – количество пар объектов, обработанных алгоритмом (без






учета первых k)
cs – количество пар, прошедших фильтрование по размеру
cp – количество пар, прошедших префиксное фильтрование
cv – количество пар, записываемых в буфер
lob– средняя длина объекта
lpr – средняя длина префикса
tsys– среднее системное время, затрачиваемое на:
 чтение
 запись
 одну вычислительную операцию
Модель стоимости
 Время ↝ количество обработанных пар
 Время ↝ ожидаемое качество результата
 k’ – количество пар из возвращаемых k,
принадлежащих истинным k
 k’/k – точность результата, k’/k ∊ [0, 1]
 Оценка параметров:
 мат. ожидание
 накопление статистики
Эксперименты
700
время работы
(грубая оценка)
500
время работы
(статистика)
400
300
заданное
время
200
100
0
10
точность результата
время, с
600
500
1500
2500
3500
4500
5500
6500
7500
8500
k
1
ожидаемая точность
(грубая оценка)
ожидаемая точность
(статистика)
реальная точность
0.8
0.6
0.4
0.2
0
1
2
3
4
5
6
7
8
9 10 11 12
Эксперименты
 Увеличить точность модели?
 Сокращение проверок → сокращение количества
параметров → увеличение точности модели →
увеличение времени работы
450
400
время, с
350
Разработанный
алгоритм
300
250
200
Наивный
алгоритм
150
100
50
0
10
50
100
500 1000 2000 3000 4000 5000 6000 7000
k
Итоги
 Разработан и реализован приближенный алгоритм
соединения по подобию для множеств объектов с
оценками
 Построена расширенная модель стоимости,
позволяющая управлять соотношением
время/качество
 Проведены эксперименты, тестирующие точность
разработанной модели
Скачать