Avito каждый день помогает миллионам продавцов и покупателей найти друга несмотря на “языковой барьер”. Из доклада вы узнаете, какие алгоритмы мы используем для нахождения ошибок и опечаток, синонимов и сокр.
SphinxSearch meetup #2 @ Avito, 18.06.2016
3. Помощь при поиске
— Подсказки при вводе поискового запроса..
— Исправление раскладки
— Исправление ошибок
— Исправление раскладки и ошибки
— Разбиение на слова
— Лишние слова.
3
7. Стопслова.
— Некоторые товары нельзя продавать. наркотики, людей
— Мат, в подсказках некрасиво. Вычеркиваем о%;ительный
— Нерелевантные слова. вообще, был, для
7
10. Подготовка текста
— Парсим наши большие индексы. Раскладываем по категориям
— Удаляем дубликаты. Они испортят общую картину.
— Чистим сами слова, лишние символы
— Нормализуем входные слова, убирает стопслова
10
11. Подготовка данных
— Загружаем все слова в sphinx. без стемминга и лематизации.
— Выгружаем частотности слов
— Генерим новый индекс. Слово, Нормализированное слово, слово в
другой раскладке, частотность, биграммы
— Загружаем все слова в word2vec. Генерим большой пребольшой граф.
11
12. Прогон
— Выбираем наиболее частотные слова.
— Частотность первых 15% слов составляет 80% от частотности всех слов.
— Конструируем формулу для автоматической выборки пар.
— Сила связи между словами из вектора.(из вектора word2vec)
— Коэффициент похожести слов. (из N-gramm, Д-Левенштей, учитывается смена раскладки)
— Логарифм от частотности в тексте
— Получаем много и много пар слов.
12
15. Проверка
— Проверяем только большие индексы
— Поднимаем рядом два индекса
— Получаем их монги логи запросов.
— Если стало сильно лучше или сильно хуже смотрим глазами
15