Оглавление

ДИСКЛЕЙМЕР - воспринимайте эту презентацию как интерактивный конспект, по которому если что вам будет удобно погуглить

<br><br><br><br>


Фабрика семантики

Цель: PROFI.RU, как тонкая платформа, должна научиться во вменяемое время предоставлять возможность найти специалиста по любой поисково востребованной услуге

Подзадачи

<br><br><br><br>
<br><br><br><br>


Активности по нахождению новых услуг и построения цепочки “услуга -> визард -> специалист”

  1. Новые услуги в областях, которыми мы никогда не занимались:
  1. Новые услуги в привычных нам вертикалях:

<br><br><br><br>
<br><br><br><br>

up


Источники семантики

Типы источников

  1. Источники внутри (заказы, анкеты, резюме, поиск) — что еще делают наши специалисты, что еще хотят наши клиенты
  2. Источники поисковых систем — что еще искали пользователи, которые нашли нас
  3. Внешние SEO-сервисы — по каким в принципе запросам наши конкуренты ранжируются (по версии этих SEO-сервисов)
  4. Прямая работа с конкурентами. Авито, FL — заголовки объявлений, youdo — саджесты.

<br><br><br><br>
<br><br><br><br>


default

up


Итоги разметки

Для справки

Всего за время существования profi было накоплено (порядки):

<br><br><br><br>
<br><br><br><br>


Что? Размер Кто работал? Значимость для DS Значимость в услугах Ссылка
Разметка запросов конкурентов через дистилляцию 100,000 + 400,000 (20-80) 10 дней, 11 человек Вместо 15м строк обрабатываем в 100 раз меньше 400/1233/16527 услуг/подуслуг/синонимов link
Dev set, 3-6 мес поиска + заведение синонимов 20,396 5 человек, 8 дней первый размеченный датасет, 20-30 пп роста точности 323 синонима и услуги link
Разметка доп. услуг по итогу разметки 300 больше синонимов 300 услуг и синонимов в декомпозиции 100/200 link
Поиск новой семантики во внутренних базах - поиск / SEO 70,000 в среднем 6 человек, 1 месяц 2-3 пп точности классификатор 450 потенциальных новых услуг и синонимов в декомпозиции 90/450 link
Правка “дубликатов” в дереве услуг 400 очевидные косяки дерева пока в процессе, 88 синонимов выделено link
Разметка графы “другие услуги” 400 Скорее всего сотня синонимов
Разметка “Белоснежных заказов” и нестандартных услу 600 запросов за месяц, обработали ~300 некий “аналог” active learning 8/25/53 услуг/подуслуг/синонимов link link
Разметка кластеров 20,000-100,000 TBC TBC TBC TBC

up


Вступление

Пояснения основных терминов

Декомпозиция задач на примере Github

Общее понимание данных

Длина ввода (в символах)
default

Конверсия
Поисковая сессия => валидная поисковая сессия 77% => ввод или выбор услуги 85%
общая конверсия ~ 65%

Конверсия в заказ
Поисковая сессия => заказ 20-25%

Поведенческие данные

Декомпозиция задач и у нас

Про задачи NLP в целом

Общая логика работы

Кластеры

Первый подход к кластерам без разметки


Второй подход к кластерам


Демонстрация

Пересечение словарей

default

Пересечение pservice_id

default

Путь от кластеров до поиска

Готовые вектора для слов

Список векторов

Самые лучшие

Сравнение “точности” на KNN на синонимах

default

Проделанная работа по большим корпусам и н-граммам

image

Псевдо-кластеры или “дистилляция”

Что и зачем

Интуиция

Кажется, что сиамские вектора лучше генерализуются

siamese > ft:

keyword closest synonym siamese closest synonym ft
посадочная яма яблони ручная копка траншей посадочная страница
отделка стен маленькой кухни декорирование стен кухне отделка стен фанерой
спасти жесткий диск внешний жесткий диск восстановление данных жесткий цигун

ft> siamese:

keyword closest synonym siamese closest synonym ft
варочная поверхность bosch подключение монтаж подключение смесителя подключение варочной поверхности
мужская прическа косичкой короткой прическа выбритым виском женская мужская стрижка косичкой сзади
обои жидкие стен жидкие обои наклеить обои

Распределения

<img width=“403” alt=“distrsyn” src="https://user-images.githubusercontent.com/36192906/46403310-db70c000-c70a-11e8-9b55-9f6e6b165474.PNG">

Итоговый классификатор

Демонстрация

(открыть юпитер, спросить примеры из зала, посмотреть что сетка выдаст)

Архитектура

Оригинальный датасет размеченный вручную

Как росла точность наших моделей на оригинальном датасете (крайний левый столбец - нынешний алгоритм)

source top1 acc top5 acc sage acc
submit 88% 98% 65%

Больше деталей тут

С опечатками

source top1 acc top5 acc sage acc
submit 83% 95% 56%

С частичным вводом

source top1 acc top5 acc sage acc
submit 52% 70% 39%

С частичным вводом и опечатками

source top1 acc top5 acc sage acc
submit 49% 67% 35%

С частичным вводом и опечатками, в зависимости от длины фразы

# 0-4 letters 5-8 letters 9-15 letters
0 full words 13%/13% 31%/24% 34%/29%
1 full word 63%/45% 62%/43% 67%/48%
2 full words 75%/42% 78%/44% 78%/44%
3+ full words 89%/40% 83%/41% 85%/40%

Известные проблемы

2533      R'n'B
3289     A.C.T.
3626        C++
3627         C#
3999         1С
4173        К-1
4176     К.Т.А.
12134     r n b
12135       R&B
14675       С++
16696    O.P.I.
22368     r'n'b
22369       r&b
22609    a.c.t.
22942       c++
22943       с++
22944        c#
23980        1с
24127       к-1
24128    к.т.а.
24529    o.p.i.
39377         F

Решенные проблемы

Деплой