+ All Categories
Home > Education > Введение в информационный поиск

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

Date post: 22-May-2015
Category:
Upload: artem-lukanin
View: 193 times
Download: 7 times
Share this document with a friend
Popular Tags:
40
Introduction to Information Retrieval Introduction to Information Retrieval Информационный поиск Введение в Автоматическая обработка естественного языка. Лекция 10 А.В. Луканин
Transcript
Page 1: Введение в информационный поиск

Introduction to Information RetrievalIntroduction to Information Retrieval

Introduction to

Information Retrieval

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

Автоматическая обработка естественного языка. Лекция 10

А.В. Луканин

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

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

Информационный поиск (IR) – это процесс поиска в большой коллекции (хранящейся, как правило, в памяти компьютеров) некоторого неструктурированного материала (обычно – документа), удовлетворяющего информационные потребности.

2

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

Неструктурированные (текст) и структурированные (базы данных) данные в 1996 г.

3

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

Неструктурированные (текст) и структурированные (базы данных) данные в 2009 г.

4

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

Неструктурированные данные в 1680 г.

Какие пьесы Шекспира содержат словаBrutus И Caesar но НЕ Calpurnia?

Можно найти (grep) все пьесы, где есть слова Brutus и Caesar, затем удалить те, в которых встречается имя Calpurnia

Почему так не делают? Медленно (для больших корпусов) Запрос НЕ Calpurnia трудно обработать Др. запросы (напр., найти слово Romans возле слова

countrymen) не допустимы Ранжированный поиск (найти лучший ответ)

5

Sec. 1.1

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

Матрица «термин-документ»

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

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

Векторы терминов и документов

Каждому термину соответствует бинарный (0/1) вектор документов.

Для ответа на запрос нужно выполнить поразрядную операцию AND векторов для Brutus, Caesar и двоичного дополнения для Calpurnia.

110100 AND 110111 AND 101111 = 100100.

7

Sec. 1.1

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

Ответ на запрос

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

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

Базовые понятия IR

Коллекция: группа документов, по которой осуществляется поиск

Цель: найти в коллекции документы, которые являются наиболее релевантными по отношению к произвольным информационным потребностям пользователя

9

Sec. 1.1

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

Классическая модель поиска

Корпус

Задача

Информационная

потребность

Запрос

Словесная форма

Результаты

ИПС

Улучшение запроса

Get rid of mice in a politically correct way

Info about removing micewithout killing them

How do I trap mice alive?

mouse trap

Непонимание?

Неверное выражение мысли?

Не те ключевые слова?

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

Эффективна ли система?

Точность (Precision) : Какая доля результатов является релевантной по отношению к информационной потребности?

Полнота (Recall) : Какая доля релевантных документов из коллекции возвращена системой?

11

Sec. 1.1

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

Более реалистичный пример

Допустим, у нас есть N = 1 миллион документов, каждый из которых содержит 1000 слов.

В среднем 6 байт/слово, включая пробелы и пунктуационные знаки Объём корпуса = 6GB.

В таком корпусе, как правило, может быть M = 500 000 разных терминов.

12

Sec. 1.1

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

Нельзя построить матрицу Матрица 500K x 1M содержит

полтриллиона нулей и единиц. Но в ней не больше одного

миллиарда единиц. Матрица очень разрежена, в ней больше

99,8% нулей. Есть ли лучший способ записи?

Записывать только единицы.

13

Почему?

Sec. 1.1

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

Инвертированный индекс

Для каждого термина 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

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

Инвертированный индекс

Нужны списки словопозиций переменной длины

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

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

Выделение лексем

Список лексем. Friends Romans Countrymen

Построение инвертированного индекса

Лингв. обработка

Нормализованныелексемы.

friend roman countryman

Индексируемыедокументы.

Friends, Romans, countrymen.

Sec. 1.2

Индекси-рование

Инвертированныйиндекс.

friend

roman

countryman

2 4

2

13 16

1

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

Шаг 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

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

Шаг 2: Сортировка

Сортировать термины А затем ID документов

Важный момент

Sec. 1.2

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

Шаг 3: Словарь и списки словопозиций

Для одинаковых терминов в документе – 1 пара.

Разбить на словарь и списки словопозиций

Добавить инф. о частоте термина.

Sec. 1.2

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

Индекс построен

Как обработать запрос? И какие запросы можно обработать,

используя такой индекс?

20

Sec. 1.3

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

Обработка запроса: 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

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

Пересечение

Сравнить 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

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

Пересечение 2 списков словопозиций(алгоритм слияния)

23

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

Булевы запросы: точное совпадение

В модели булева поиска можно задавать запросы, которые являются булевыми выражениями: Булевы запросы используют булевы операторы AND,

OR и NOT для объединения терминов Рассматривают документы как множества слов Точны: документ либо удовлетворяет запросу либо нет

Простейшая модель информационного поиска Использовалась в первых коммерческих

системах в течение 30 лет Используется во многих ИПС до сих пор:

Эл. почта, библиотечный каталог

24

Sec. 1.3

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

Пример: 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

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

Пример: 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

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

Оптимизация запроса Какой порядок обработки слов запроса лучше? Рассмотрим запрос с операцией 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

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

Пример оптимизации запроса

Обработать в порядке увеличивающейся частоты:

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

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

Общая оптимизация

напр., (madding OR crowd) AND (ignoble OR strife)

Получить док. частоты всех терминов Оценить размер каждой операции OR

как сумму док. частот. Обработать в порядке увеличения

размеров операций OR.

29

Sec. 1.3

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

Задание

Предложить порядок обработки след. запроса: 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)

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

Более сложные модели поиска Нечёткий поиск (нечувствительный к

опечаткам) Фразовый поиск

Stanford University Близость терминов: найти Gates возле

Microsoft. Необходимо хранить в индексе информацию о

позициях терминов. Поиск в зонах документов: найти документы,

где (автор = Ullman) AND (текст содержит automata).

31

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

Частота встречаемости Термин запроса встречается в документе

1 или 0 раз 2 или 1 раз 3 или 2 раза, и т.д. Обычно, чем больше, тем лучше

Нужно хранить в индексе частоту встречаемости термина для каждого документа

32

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

Ранжирование результатов поиска Булев поиск возвращает только

документы, которые включают/исключают термины запроса.

Часто нужно получить ранжированные или сгруппированные результаты Необходимо оценить близость каждого

документа запросу. Нужно решить, являются ли документы

одиночными или группами, отражающими разные аспекты запроса.

33

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

IR vs. базы данных: информация структурирована или нет Структурированная информация обычно

хранится в “таблицах”

34

Работник Начальник Зарплата

Иванов Петров 50000

Петров Васильев 60000

50000Моргунов Петров

Обычно в запросах можно использовать диапазоны значений и точное совпадение (для текста) queries:Зарплата < 60000 AND Начальник = Петров.

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

Неструктурированная информация Оперирует текстом в свободной форме Позволяет использовать

Ключевые слова и операторы в запросах Более сложные запросы с «концептами»

Найти все страницы о наркотиках

Классическая модель поиска текстовых документов

35

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

Полу-структурированная информация «Неструктурированной» информации не

существует Например, в презентациях есть заголовки

и списки тезисов Позволяет строить запросы вида:

Заголовок содержит информация AND Список_тезисов содержит запрос

… не говоря уже о лингвистической структуре

36

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

Более сложный поиск полу-структурированной информации Заголовок об объектно-ориентированном

программировании AND Автор что-то вроде stro*rup

где * - символ подстановки Проблемы:

Как обработать запрос «об»? Как ранжировать результаты поиска?

XML поиск

37

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

Кластеризация, классификация и ранжирование Кластеризация: группировать имеющиеся

документы в группы по содержимому. Классификация: на базе набора тем и

нового документа D, определить, к какой теме(ам) принадлежит D.

Ранжирование: как лучше упорядочить документы (результаты поиска)?

38

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

Поиск по интернету Разнотипные документы Разнообразные пользователи, запросы

и информационные потребности Кроме ключевых слов можно

использовать информацию из социальных сетей анализ ссылок, переходов по ссылкам ...

Как работают поисковые системы? Как их можно улучшить?

39

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

Более сложные аспекты информационного поиска Межязыковой информационный поиск Ответы на вопросы Аннотирование Интеллектуальный анализ текстов (Text

mining) …

40


Recommended