У компании есть ещё похожие вакансии
Постановка задачи:• оценить сходство вакансий;
• объединить похожие вакансии в группы;
• показать одного представителя группы в выдаче.
Похожие вакансии
Paul Jaccard
J (A, B)=AA
BB
Хэшированиеmd5('водитель такси') 7e0e61c15101ae881bf1a63484907871
md5('водитель такси')
md5('водитель такси с авто')
7e0e61c15101ae881bf1a63484907871
e8b91c39a5b888620801f1bbe3529e54
Хэширование
LSH locality-sensitive hashing
simhash vs minhash
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]doc = [“водитель”,“такси”,“авто”]
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]doc = [“водитель”,“такси”,“авто”] doc = [01111001, 00110101, 00101110]
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]doc = [“водитель”,“такси”,“авто”] doc = [01111001, 00110101, 00101110]
01111001 00110101 00101110 +
hash =[-3,-1,3,1,1,1,-1,1]
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]doc = [“водитель”,“такси”,“авто”] doc = [01111001, 00110101, 00101110]
01111001 00110101 00101110 +
hash =[-3,-1,3,1,1,1,-1,1] hash =[ 0, 0,1,1,1,1, 0,1]
SimHash-алгоритмhash = [0,0,0,0,0,0,0,0]doc = [“водитель”,“такси”,“авто”] doc = [01111001, 00110101, 00101110]
hash =[-3,-1,3,1,1,1,-1,1] hash =[ 0, 0,1,1,1,1, 0,1]
simhash(doc) = 00111101
01111001 00110101 00101110 +
SimHash-алгоритм 00111101XOR 00111000 = 00000101
SimHash-алгоритм 00111101XOR 00111000 = 00000101
Similarity index = 6/8 = 0.75 (75%)
Постановка задачи: оценить сходство вакансий;
• объединить похожие вакансии в группы;
• показать одного представителя группы в выдаче.
Поиск похожих документовНайдем отличающиеся не более чем на 2 бита:
h1 = 00111101
Поиск похожих документовНайдем отличающиеся не более чем на 2 бита:
h1 = 00111101h2 = 00111000 h3 = 00001101
Поиск похожих документовНайдем отличающиеся не более чем на 2 бита:
h1 = 00111101h2 = 00111000 h3 = 00001101
d(h1,h2) = 2 d(h1,h3) = 2
Поиск похожих документовНайдем отличающиеся не более чем на 2 бита:
h1 = 00111101h2 = 00111000 h3 = 00001101
d(h1,h2) = 2 d(h1,h3) = 2 d(h2,h3) > 2
!
Поиск похожих документовНайдем отличающиеся не более чем на 2 бита:
h1 = 00111101h2 = 00111000 h3 = 00001101
d(h1,h2) = 2 d(h1,h3) = 2 d(h2,h3) > 2 !!!
Свойства групп:
1. все вакансии в группе должны отличаться друг от друга не более чем на определенную величину;
2. добавление, изменение или удаление не должно приводить к полному изменению состава групп;
3. количество групп заранее не известно.
Иерархическая кластеризацияComplete linkage (метод полной связи)Сложность O(n3)
Дендрограмма
a b
bc de
def
bcdef
abcdef
dc e f
Дендрограмма
distance
Дендрограмма
a gb j k lndc e f ih m
a
g
b jk
i
l
n
d
c
e
f
h
m
distance threshhold
Дендрограмма
a gb j k lndc e f ih m
a
g
b jk
i
l
n
d
c
e
f
h
m
distance threshhold
Постановка задачи: оценить сходство вакансий;
объединить похожие вакансии в группы;
• показать одного представителя группы в выдаче.
Реализацияочередь в rabbitmq на вычисление simhash
очередь в rabbitmq на кластеризацию
SPH_GROUPBY_ATTR
hierarchical-clustering package
Постановка задачи: оценить сходство вакансий;
объединить похожие вакансии в группы;
показать одного представителя группы в выдаче.
Метрики1. конверсия в отклики (отношение всех поисков к поискам
с отправкой резюме) — Impact: 7.6%2. конверсия в отклики с первой страницы поиска с кластером
на ней — Impact: 9.1%3. конверсия в просмотр двух и более уникальных клиентов
на поиск — Impact: 6%4. средняя и средне-максимальная глубина просмотра результатов
поиска: control1 1.4406 1.4885 control2 1.4494 1.4835 grouped 1.3708 1.4424
В 75% поисков возможна группировка похожих вакансий. В 66% поисков пользователь видел похожие вакансии.
Ссылкиhttp://www.cs.princeton.edu/courses/archive/spring04/cos598B/bib/CharikarEstim.pdf
http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.473.7179&rep=rep1&type=pdf
http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/33026.pdf
http://jmlr.org/proceedings/papers/v33/shrivastava14.pdf
https://hackage.haskell.org/package/hierarchical-clustering
http://rcdl2007.pereslavl.ru/papers/paper_65_v1.pdf
http://keldysh.ru/abrau/2015/202.pdf
https://habrahabr.ru/users/korzhik/
https://www.facebook.com/dkozhokar
#superjobmeetup
#superjobmeetup