Введение в информационный поиск
TRANSCRIPT
Introduction to Information RetrievalIntroduction to Information Retrieval
Introduction to
Information Retrieval
Информационный поискВведение в
Автоматическая обработка естественного языка. Лекция 10
А.В. Луканин
Информационный поиск
Информационный поиск (IR) – это процесс поиска в большой коллекции (хранящейся, как правило, в памяти компьютеров) некоторого неструктурированного материала (обычно – документа), удовлетворяющего информационные потребности.
2
Неструктурированные (текст) и структурированные (базы данных) данные в 1996 г.
3
Неструктурированные (текст) и структурированные (базы данных) данные в 2009 г.
4
Неструктурированные данные в 1680 г.
Какие пьесы Шекспира содержат словаBrutus И Caesar но НЕ Calpurnia?
Можно найти (grep) все пьесы, где есть слова Brutus и Caesar, затем удалить те, в которых встречается имя Calpurnia
Почему так не делают? Медленно (для больших корпусов) Запрос НЕ Calpurnia трудно обработать Др. запросы (напр., найти слово Romans возле слова
countrymen) не допустимы Ранжированный поиск (найти лучший ответ)
5
Sec. 1.1
Матрица «термин-документ»
Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth
Antony 1 1 0 0 0 1
Brutus 1 1 0 1 0 0
Caesar 1 1 0 1 1 1
Calpurnia 0 1 0 0 0 0
Cleopatra 1 0 0 0 0 0
mercy 1 0 1 1 1 1
worser 1 0 1 1 1 0
1, если пьеса содержит слово, 0 - нетBrutus И Caesar но
НЕ Calpurnia
Sec. 1.1
Векторы терминов и документов
Каждому термину соответствует бинарный (0/1) вектор документов.
Для ответа на запрос нужно выполнить поразрядную операцию AND векторов для Brutus, Caesar и двоичного дополнения для Calpurnia.
110100 AND 110111 AND 101111 = 100100.
7
Sec. 1.1
Ответ на запрос
Antony and Cleopatra, Act III, Scene iiAgrippa [Aside to DOMITIUS ENOBARBUS]: Why, Enobarbus,
When Antony found Julius Caesar dead,
He cried almost to roaring; and he wept
When at Philippi he found Brutus slain.
Hamlet, Act III, Scene iiLord Polonius:
I did enact Julius Caesar I was killed i' the Capitol; Brutus killed me.
8
Sec. 1.1
Базовые понятия IR
Коллекция: группа документов, по которой осуществляется поиск
Цель: найти в коллекции документы, которые являются наиболее релевантными по отношению к произвольным информационным потребностям пользователя
9
Sec. 1.1
Классическая модель поиска
Корпус
Задача
Информационная
потребность
Запрос
Словесная форма
Результаты
ИПС
Улучшение запроса
Get rid of mice in a politically correct way
Info about removing micewithout killing them
How do I trap mice alive?
mouse trap
Непонимание?
Неверное выражение мысли?
Не те ключевые слова?
Эффективна ли система?
Точность (Precision) : Какая доля результатов является релевантной по отношению к информационной потребности?
Полнота (Recall) : Какая доля релевантных документов из коллекции возвращена системой?
11
Sec. 1.1
Более реалистичный пример
Допустим, у нас есть N = 1 миллион документов, каждый из которых содержит 1000 слов.
В среднем 6 байт/слово, включая пробелы и пунктуационные знаки Объём корпуса = 6GB.
В таком корпусе, как правило, может быть M = 500 000 разных терминов.
12
Sec. 1.1
Нельзя построить матрицу Матрица 500K x 1M содержит
полтриллиона нулей и единиц. Но в ней не больше одного
миллиарда единиц. Матрица очень разрежена, в ней больше
99,8% нулей. Есть ли лучший способ записи?
Записывать только единицы.
13
Почему?
Sec. 1.1
Инвертированный индекс
Для каждого термина t необходимо хранить список всех документов, которые содержат t.
14
Brutus
Calpurnia
Caesar
1 2 4 5 6 16 57 132
1 2 4 11 31 45173
2 31
Sec. 1.2
174
54101
Инвертированный индекс
Нужны списки словопозиций переменной длины
15
СловарьСписки словопозиций
Отсортированы по ID документа
СловопозицияСловопозиция
Sec. 1.2
Brutus
Calpurnia
Caesar
1 2 4 5 6 16 57 132
1 2 4 11 31 45173
2 31
174
54101
Выделение лексем
Список лексем. Friends Romans Countrymen
Построение инвертированного индекса
Лингв. обработка
Нормализованныелексемы.
friend roman countryman
Индексируемыедокументы.
Friends, Romans, countrymen.
Sec. 1.2
Индекси-рование
Инвертированныйиндекс.
friend
roman
countryman
2 4
2
13 16
1
Шаг 1
Список пар (лексема, ID документа).
I did enact JuliusCaesar I was killed
i' the Capitol; Brutus killed me.
Doc 1
So let it be withCaesar. The noble
Brutus hath told youCaesar was ambitious
Doc 2
Sec. 1.2
Шаг 2: Сортировка
Сортировать термины А затем ID документов
Важный момент
Sec. 1.2
Шаг 3: Словарь и списки словопозиций
Для одинаковых терминов в документе – 1 пара.
Разбить на словарь и списки словопозиций
Добавить инф. о частоте термина.
Sec. 1.2
Индекс построен
Как обработать запрос? И какие запросы можно обработать,
используя такой индекс?
20
Sec. 1.3
Обработка запроса: AND
Рассмотрим следующий запрос:Brutus AND Caesar Найти термин Brutus в словаре;
Получить его список словопозиций. Найти термин Caesar в словаре;
Получить список его словопозиций. Найти пересечение 2 списков словопозиций:
21
128
34
2 4 8 16 32 64
1 2 3 5 8 13
21
Brutus
Caesar
Sec. 1.3
Пересечение
Сравнить 2 списка последовательно и выписать совпадающие документы
22
34
1282 4 8 16 32 64
1 2 3 5 8 13 21
128
34
2 4 8 16 32 64
1 2 3 5 8 13 21
Brutus
Caesar2 8
Если длины списков равны x и y, объединение займётO(x+y) операций.Важно: списки словопозиций отсортированы по docID.
Sec. 1.3
Пересечение 2 списков словопозиций(алгоритм слияния)
23
Булевы запросы: точное совпадение
В модели булева поиска можно задавать запросы, которые являются булевыми выражениями: Булевы запросы используют булевы операторы AND,
OR и NOT для объединения терминов Рассматривают документы как множества слов Точны: документ либо удовлетворяет запросу либо нет
Простейшая модель информационного поиска Использовалась в первых коммерческих
системах в течение 30 лет Используется во многих ИПС до сих пор:
Эл. почта, библиотечный каталог
24
Sec. 1.3
Пример: WestLaw http://www.westlaw.com/
Самая крупная коммерческая ИПС правовых документов (с 1975; ранжирование с 1992)
Десятки терабайт данных; 700 000 пользователей
Большинство пользователей до сих пор пользуются булевыми запросами
Пример запроса: What is the statute of limitations in cases involving the
federal tort claims act? LIMIT! /3 STATUTE ACTION /S FEDERAL /2 TORT /3
CLAIM /3 = within 3 words, /S = in same sentence
25
Sec. 1.4
Пример: WestLaw http://www.westlaw.com/
Другой пример запроса: Requirements for disabled people to be able to access a
workplace disabl! /p access! /s work-site work-place (employment /3
place ПРОБЕЛ для дизъюнкции, не конъюнкции! Длинные точные запросы; операторы близости;
постоянно улучшаемые Многие профессионалы предпочитают булев
поиск Вы точно знаете, что получите
Но это не значит, что он лучше…
Sec. 1.4
Оптимизация запроса Какой порядок обработки слов запроса лучше? Рассмотрим запрос с операцией AND для n
терминов. Для каждого из n терминов получить списки
словопозиций, и выполнить их пересечение.
Brutus
Caesar
Calpurnia
1 2 3 5 8 16 21 34
2 4 8 16 32 64128
13 16
Запрос: Brutus AND Calpurnia AND Caesar 27
Sec. 1.3
Пример оптимизации запроса
Обработать в порядке увеличивающейся частоты:
28
Для этого необходимо хранить документную частоту
Выполнить запрос как (Calpurnia AND Brutus) AND Caesar.
Sec. 1.3
Brutus
Caesar
Calpurnia
1 2 3 5 8 16 21 34
2 4 8 16 32 64128
13 16
Общая оптимизация
напр., (madding OR crowd) AND (ignoble OR strife)
Получить док. частоты всех терминов Оценить размер каждой операции OR
как сумму док. частот. Обработать в порядке увеличения
размеров операций OR.
29
Sec. 1.3
Задание
Предложить порядок обработки след. запроса: Term Freq
eyes 213312
kaleidoscope 87009
marmalade 107913
skies 271658
tangerine 46653
trees 316812
30
(tangerine OR trees) AND(marmalade OR skies) AND(kaleidoscope OR eyes)
Более сложные модели поиска Нечёткий поиск (нечувствительный к
опечаткам) Фразовый поиск
Stanford University Близость терминов: найти Gates возле
Microsoft. Необходимо хранить в индексе информацию о
позициях терминов. Поиск в зонах документов: найти документы,
где (автор = Ullman) AND (текст содержит automata).
31
Частота встречаемости Термин запроса встречается в документе
1 или 0 раз 2 или 1 раз 3 или 2 раза, и т.д. Обычно, чем больше, тем лучше
Нужно хранить в индексе частоту встречаемости термина для каждого документа
32
Ранжирование результатов поиска Булев поиск возвращает только
документы, которые включают/исключают термины запроса.
Часто нужно получить ранжированные или сгруппированные результаты Необходимо оценить близость каждого
документа запросу. Нужно решить, являются ли документы
одиночными или группами, отражающими разные аспекты запроса.
33
IR vs. базы данных: информация структурирована или нет Структурированная информация обычно
хранится в “таблицах”
34
Работник Начальник Зарплата
Иванов Петров 50000
Петров Васильев 60000
50000Моргунов Петров
Обычно в запросах можно использовать диапазоны значений и точное совпадение (для текста) queries:Зарплата < 60000 AND Начальник = Петров.
Неструктурированная информация Оперирует текстом в свободной форме Позволяет использовать
Ключевые слова и операторы в запросах Более сложные запросы с «концептами»
Найти все страницы о наркотиках
Классическая модель поиска текстовых документов
35
Полу-структурированная информация «Неструктурированной» информации не
существует Например, в презентациях есть заголовки
и списки тезисов Позволяет строить запросы вида:
Заголовок содержит информация AND Список_тезисов содержит запрос
… не говоря уже о лингвистической структуре
36
Более сложный поиск полу-структурированной информации Заголовок об объектно-ориентированном
программировании AND Автор что-то вроде stro*rup
где * - символ подстановки Проблемы:
Как обработать запрос «об»? Как ранжировать результаты поиска?
XML поиск
37
Кластеризация, классификация и ранжирование Кластеризация: группировать имеющиеся
документы в группы по содержимому. Классификация: на базе набора тем и
нового документа D, определить, к какой теме(ам) принадлежит D.
Ранжирование: как лучше упорядочить документы (результаты поиска)?
38
Поиск по интернету Разнотипные документы Разнообразные пользователи, запросы
и информационные потребности Кроме ключевых слов можно
использовать информацию из социальных сетей анализ ссылок, переходов по ссылкам ...
Как работают поисковые системы? Как их можно улучшить?
39
Более сложные аспекты информационного поиска Межязыковой информационный поиск Ответы на вопросы Аннотирование Интеллектуальный анализ текстов (Text
mining) …
40