35
Информационный поиск Андрей Федоровский, Mail.Ru [email protected]

Информационный поиск

  • Upload
    eagan

  • View
    67

  • Download
    0

Embed Size (px)

DESCRIPTION

Информационный поиск. Андрей Федоровский , Mail.Ru [email protected]. Что будем искать?. Поиск по формальным параметрам Структурированная, связанная синтетическая коллекция Точные однозначные запросы Реляционная алгебра, SQL . Результат однозначно определяем. Скучно. - PowerPoint PPT Presentation

Citation preview

Page 1: Информационный поиск

Информационный поиск

Андрей Федоровский, [email protected]

Page 2: Информационный поиск

Что будем искать?

Поиск по формальным параметрам• Структурированная, связанная синтетическая

коллекция • Точные однозначные запросы

Реляционная алгебра, SQL.Результат однозначно определяем.

Скучно.

Page 3: Информационный поиск

Что будем искать? - 2

Полнотекстовый поиск• Коллекция текстовых документов на

естественном языке• Запросы в виде короткой строки на

естественном языке

Результат – документы, релевантнные запросу.

Релевантность у каждого своя. Интересно.

Page 4: Информационный поиск

Используем

• Графематика• Морфология• Постморфология, снятие омонимии• Text mining, фактографический поиск• Размеченные корпуса для обучения

Page 5: Информационный поиск

Используем - 2

• Определение тематики документов• Фильтрация нежелательной информации• Нечеткие дубликаты• Авторитет источника• Кластеризация результатов• Машинное обучение, методы оптимизации

Page 6: Информационный поиск

Как будем искать?

Прямой поиск (Кнут-Моррис-Пратт, Бойер-Мур)

Документ длиной n, образец длиной m.• Предвычисления за O(m)• Поиск за O(n)• Гибок. Легко задать сложные критерии

совпадения: нечеткий поиск (Bitap), regexp.

Page 7: Информационный поиск

Как будем искать? - 2

Суффиксные деревья (Укконен), суффиксные массивы (Salson)

Документ длиной n, образец длиной m.• Предвычисления за O(n)• Размер индекса O(n)• Скорость поиска O(m)При хорошей скорости индексации и поиска

позволяет искать любую подстроку.

Page 8: Информационный поиск

Векторная модель документа

Документ и запрос как наборы слов.Графематический и морфологический разбор.Строим вектора в пространстве слов:

Минус – теряем взаимное расположение слов.Обычно контекст слов ценен, его жаль выбрасывать.

Page 9: Информационный поиск

Обратный индекс

Набор лемм со списком включающих ее документовПИТЬ : (d12, d821, d4421)ПИЛА : (d821)

Словопозиции, морф. параметры словоформыПИТЬ : (… d821 (pos22, "Г пр.в.,ж.р.,ед.ч. ")…)ПИЛА: (… d821 (pos22, "С ж.р.,им.п.")…)

Хорошо, если совпадают словоформы в документе и запросе. И если слова находятся рядом.

Page 10: Информационный поиск

Запрос

Превращаем строку в дерево:[Рыба пила] Рыба & (пить | пила)

Получаем списки документов из обратного индекса, объединяем или пересекаем их:

РЫБА: (d12, d56, d821, d970)ПИТЬ : (d12, d821, d4421)ПИЛА : (d821, d970)

Результат – (d12, d821, d970)

Page 11: Информационный поиск

Запрос - 2

• Удаление стоп-слов: [быть или не быть]• Расширение запросов

[МГУ адрес] => [(МГУ | Московский Государственный Университет) адрес]

• Сужение запросов. Например, исходя из геолокации пользователя[купить телефон] => [купить телефон Рязань]

• Ускорение различными эвристиками в 10-100 раз.

Page 12: Информационный поиск

Релевантность

TF – вес слова в документеIDF – насколько слово редкое в коллекции

Page 13: Информационный поиск

Релевантность BM25

Здесь учитывается длина документа. В действительности таких влияющих факторов

множество.

Page 14: Информационный поиск

Что еще влияет

• Разметка документа. Графематический модуль совмещен с парсером html и сохраняет информацию о зонах документа.

• Пассажи – компактно расположенные в документе группы слов запроса. Они же помогают формировать сниппеты и являются аннотацией документа в выдаче.

• Кворум слов запроса. С учетом IDF.

Page 15: Информационный поиск

Что еще влияет 2

• Соответствие словоформ в запросе и документе

• Совместная встречаемость слов запроса в документе недалеко друг от друга

• Согласованность тематик запроса и документа

Page 16: Информационный поиск

Определение дубликатов

Точные – контрольная суммаНечеткие – шинглы (Broder)

Я к Вам пишу, чего же болеЯ к Вам пишу, чего же боле –> CRCЯ к Вам пишу, чего же боле –> CRCЯ к Вам пишу, чего же боле –> CRC

Выбор нескольких – множеством способов:http://rcdl2007.pereslavl.ru/papers/paper_65_v1.pdf

Page 17: Информационный поиск

Авторитетность. PageRank

Вероятность пользователя случайно перейти на документ

Вероятность перейти или случайно, или по ссылке из другого документа.

Он очень быстро итеративно сходится.Через 30-50 итераций имеем устойчивое решение.

Page 18: Информационный поиск

Измерение качества

Точность

Полнота

Точность на N

Можно одновременно поднять и точность, и полноту?

Page 19: Информационный поиск

Измерение качества - 2

F-мера

Обобщение

Пока мы не учитываем позиции в результатах.

Page 20: Информационный поиск

Измерение качества - 3

Средняя точность

Полнота в формулу не входит.Почему же AvP считается интегральной мерой?

Page 21: Информационный поиск

Измерение качества - 4

DCG – оцениваем еще и позицию в выдаче.

NDCG – нормируем на идеальную выдачу.

Page 22: Информационный поиск

11-точечный график TREC

Page 23: Информационный поиск

Тестирование качества

Асессоры вручную просматривают результаты. Несколько систем образуют общий набор результатов. Документы не из этого набора считаются нерелевантными. Это – метод «общего котла» (TREC, РОМИП)

Точность системы можно понять и по одному набору.Для полноты – нужен общий.

Page 24: Информационный поиск

Оптимизация параметров

• TFIDF веса для слов и для устойчивых словосочетаний • слова запроса в заголовке документа, в начале документа• пар слов запроса в документе с сохранением смежности и порядка• пассаж в документе, плотно содержащий все слова запроса• авторитетность документа• тематика документа• наличие ссылок на документ, содержащие слова запроса• et cetera, et cetera…

Page 25: Информационный поиск

Оптимизация параметров

Набор параметровКритерий качестваПодбор оптимального набора

Метод имитации отжига (Simulated annealing)Генетические алгоритмыДеревья решений

См. «Numerical recipes in C» или Jason Brownlee «Clever Algorithms»

Page 26: Информационный поиск

Переобучение

С ростом m ошибка падает. Нужно ли брать m=n-1?

Page 27: Информационный поиск

Переобучение – 2

Переобученный поиск хорошо ищет только по тестовому набору данных.

Нужно ли идти в оптимизации параметров до конца?

И где остановиться?

Page 28: Информационный поиск

Переобучение – 3

Первое правило недопереобучения: брать несмещенный набор данных.

Training set – набор данных для обученияTest set – набор данных для проверки

качества

Page 29: Информационный поиск

Early stopping

У нас есть training set T, размеченный асессорами на соответствие набору запросов Q.

Разобьем T на T’ и validation set V.Обучаемся на T’. На каждой итерации проверяем

качество на V.Останавливаемся, когда качество перестало

улучшаться не на T’, а на V.

Как будет дальше изменяться качество на T’?А на V?

Page 30: Информационный поиск

Cross-validation

У нас есть training set T, размеченный асессорами на соответствие набору запросов Q.

Разобьем T на T1…Tk.Обучаемся на всех, кроме T1. Проверяем качество на T1.Обучаемся на всех, кроме T2. Проверяем качество на T2…По окончании получаем k решений. Что с ними делаем?

Чем этот метод лучше early stopping?А чем хуже?

Page 31: Информационный поиск

Регуляризация

Штраф за сложность модели.Обычно это большие значения параметров.

Page 32: Информационный поиск

Семплинг данных, обучение на семпле.Многократный семплинг, потом – агрегация.

Bagging

Page 33: Информационный поиск

Задача бинарной классификацииНачальные веса

Есть набор слабых алгоритмовВыберем из них тот, который классифицирует лучше всех.

Здесь ошибка

Boosting, AdaBoost

Page 34: Информационный поиск

Теперь увеличим веса тем объектам, на которых первый больше ошибался. И рассчитаем α – вес классификатора, зависящий от выданной им ошибки.

Теперь повторим выбор наилучшего классификатора, уже с новыми весами. Получим последовательность классификаторов с весами. Построим из них итоговый:

Boosting, AdaBoost – 2

Page 35: Информационный поиск

Словарь в большом массиве текстов неограниченно велик.Закон Хиппса:

Выбор слов: частые стоп-слова, редкий мусор.Выбор по Information Gain – все равно остаются тысячи слов.

A – term-document martix. Нужно ее приближение ранга k.

SVD: U,V – ортонормированы. - диагональна.

LSI