Введение в информационный поиск

Post on 22-May-2015

201 Views

Category:

Education

7 Downloads

Preview:

Click to see full reader

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

top related