Извлечение объектов из поисковых запросов Михаил Обухов, Михаил Долинин
Что такое объекты? Названия организаций Имена людей Названия должностей Адреса Названия программ и т.д. ООО «Мэйл.Ру» февраля 2012 г. ГОСТ ISBN: Яхрома
Справочники СвойствоЗначение КлассЛекарственное средство НазваниеНавтизин Международное названиеНафазолин ДозировкаДетская …… Парсер запросов детский нафтизин инструкция
Для чего нужны объекты? Классификация поисковых запросов Вопросно-ответные задачи Переформулировки Индексация Обогащение поисковых запросов …
Лог поисковых запросов NEX * Объекты Задача ИндексацияПарсинг запросов *NEX – Named Entity eXtraction
Какие решения существуют? Машинное обучение – Классификаторы (Naïve Bayes, ME Models, …) – Последовательные модели (HMM, CRF, …) Системы основанные на правилах – Ручное составление – Автоматическое Использование онтологий – Wikipedia, DbPedia – Imdb
Особенности поисковых запросов Малая длина (в среднем 3 слова) Слабая грамматическая структура Не являются текстом на ЕЯ Отражают потребности пользователей Купить квартиру бесплатно Е мобиль когда начнут продавать Мать и сын Кино где купить История происхождения шотландских вислоухих
Основные предположения Объекты одного типа встречаются в одинаковых контекстах Объект является самостоятельным поисковым запросом
Общая структура метода Фаза извлечения шаблонов Лог запросов Seed Шаблоны Фаза генерации объектов Фаза извлечения объектов Объекты Лог запросов
Фаза извлечения шаблонов Лог запросов Seed Шаблоны Фаза генерации объектов Фаза извлечения объектов Объекты Лог запросов
Фаза извлечения шаблонов Исходные данные: – Лог поисковых запросов – Начальный список шаблонов (1-2 шаблона) Результат: список шаблонов с весами
Шаг 1:извлечение начальных объектов Для каждого запроса из лога – Пробуем извлечь объект – Если получилось, сохраняем Очистка извлеченных объектов – Не встречающихся как самостоятельный запрос смотреть смотреть сериал \d+ сезон \d+ серия онлайн бесплатно в хорошем качестве Начальные шаблоны должны быть точными!
Шаг 2: извлечение кандидатов Для каждого начального объекта – Из каждого запроса, где он встречается – Создаем шаблон смотреть сериал счастливы вместе онлайн серия 2 смотреть сериал онлайн серия \d+
Шаг 3: Взвешивание кандидатов Рассчитываем вес для каждого кандидата Удаляем кандидатов имеющих низкий вес Полнота (кандидат) = кол-во извлеченных начальных объектов общее кол-во начальных объектов Точность (кандидат) = кол-во извлеченных доверенных * объектов общее кол-во извлеченных объектов *Доверенный – объект извлеченный N и более различными шаблонами
сериал (.+) \d+ сезон смотреть онлайн бесплатно:0.95 сериал (.+) \d+ сезон \d+ серия смотреть онлайн:0.93 (.+) \d+ сезон смотреть онлайн:0.90 … (.+) смотреть:0.07 скачать (.+):0.03 …
Фаза извлечения объектов Фаза извлечения шаблонов Лог запросов Seed Шаблоны Фаза генерации объектов Фаза извлечения объектов Объекты Лог запросов
Фаза извлечения объектов Исходные данные: – Лог поисковых запросов – Список шаблонов (полученный ранее) Результат: список объектов с весами
Шаг 1: извлечение кандидатов Для каждого шаблона из списка – Сохраняем все объекты, которые он может извлечь Очистка извлеченных объектов – Не встречающихся как самостоятельный запрос – Не частотные объекты – Содержащие слова из списка шаблонов
Шаг 2: Взвешивание объектов Рассчитываем вес для каждого объекта в списке Удаляем объекты имеющие низкий вес Вес (объект) = Log(сколько раз объект был извлечен) Log(кол-во уникальных запросов содержащих объект)
Метод оценки результата Точность первых N объектов (10, 50, 100 …) Точность случайной выборки (100)
Результаты: точность фильмы100%94.2%89.4%81.6% рецепты100%96.1%90.7%84.3% книги94.3%80.9%74.3%68.7%
Достоинства и недостатки Достоинства – Простая реализация – Масштабируемость – Хорошая точность Недостатки – Требует ручного вмешательства (начальный список шаблонов) – Требует задания порогов
СПАСИБО! ВОПРОСЫ? Михаил Обухов Михаил Долинин