Лекция 6

Download Report

Transcript Лекция 6

Slide 1

Технологии обработки информации.
Лекция 6. Технологии поиска информации
Антон Викторович Кудинов,
доцент кафедры ВТ


Slide 2

Содержание
 Понятие

поиска
 Виды поиска
 Оценка эффективности
 Методы и стратегии поиска
 Алгоритмы (индексы, деревья, графы,
хеширование)
 Поиск изображений
2


Slide 3

Поиск (в широком смысле)
1) действия субъекта, направленные на получение
нового или утерянного (забытого):







новой информации, данных, сведений, знаний
открытие закономерностей
действия по раскрытию (осознанию) скрытых содержаний,
недостающих для целостного состояния (действие по
восстановлению целостности)

2) один из способов обучения,
обеспечивающих возможность получения
знаний через самостоятельные
мыслительные действия для решения возникающих
задач


3

http://ru.wikipedia.org/


Slide 4

Понятия поиска (2)
Поиск данных — раздел информатики, изучающий
алгоритмы для поиска и обработки информации как в
структурированных (базы данных) так и
неструктурированных (текстовый документ) данных
Информационный поиск (англ. Information retrieval) —
процесс поиска неструктурированной документальной
информации, удовлетворяющей информационные
потребности, и наука об этом поиске
Поиск информации — процесс выявления в массиве
информации записей, удовлетворяющих заранее
определенному условию поиска или запросу
Термин был впервые введён Кельвином Муром в 1948








4


Slide 5

Поиск как наука
Алгоритмы и структуры данных
Машинное обучение (Machine Learning) - обширный
подраздел искусственного интеллекта, изучающий
методы построения моделей, способных обучаться, и
алгоритмов для их построения и обучения
НИУ ВШЭ → Факультет компьютерных наук → Базовая
кафедра Яндекс. Курсы магистратуры:












5

Web-графы и поиск
Алгоритмы и структуры данных для поиска
Анализ символьных последовательностей
Многомерный статистический анализ


Slide 6

Поиск как процесс
последовательность операций, направленных на сбор,
обработку и предоставление информации



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

предоставление и
оценка результатов
6


Slide 7

Виды поиска

Что и как можно искать?
7


Slide 8

Виды поиска
полнотекстовый - поиск по всему содержимому
документа
по метаданным - поиск по атрибутам документа
(название, дата создания, размер, автор и т. д.)
поиск изображений – распознавание объектов, лиц





Существует путаница, связанная с понятиями поиска
данных, поиска документов, информационного
поиска и текстового поиска.



8


Slide 9

Методы поиска
Адресный поиск – знаем точный адрес документа
(URL, библиографическая ссылка и т.д.)
Семантический поиск – по содержанию
Документальный поиск
Фактографический поиск






9


Slide 10

Стратегии поиска. Классификация.
Индексы




Классификатор (индекс) — систематизированный
перечень наименованных объектов, каждому из
которых в соответствие дан уникальный код (индекс)
Методы:






Иерархический
Фасетный

Кодирование - присвоение кода классификационной
группировке или объекту классификации. Методы:




10

Порядковый
Серийно-порядковый
Последовательный
Параллельный


Slide 11

Пример: индекс в БД





объект базы данных, создаваемый с целью
повышения производительности поиска данных
Индекс формируется из значений одного или
нескольких столбцов таблицы и указателей на
соответствующие строки таблицы и, таким образом,
позволяет искать строки, удовлетворяющие критерию
поиска
Ускорение работы с использованием индексов
достигается за счёт того, что индекс имеет структуру,
оптимизированную под поиск — например,
сбалансированного дерева, В-дерева и т.д.
11


Slide 12

Стратегии поиска. Деревья




Двоичное дерево — древовидная структура данных, в
которой каждый узел имеет не более двух потомков
(детей)
Двоичное дерево поиска — это двоичное дерево, для
которого выполняются следующие дополнительные
условия (свойства дерева поиска):




12

Оба поддерева — левое и правое, являются двоичными
деревьями поиска
У всех узлов левого поддерева произвольного узла X
значения ключей данных меньше, нежели значение ключа
данных самого узла X
В то время, как у всех узлов правого поддерева того же
узла X значения ключей данных не меньше, нежели
значение ключа данных узла X


Slide 13

Двоичное дерево поиска (2)




Двоичное дерево состоит из узлов— записей вида
(data, left, right), где data — некоторые данные,
привязанные к узлу, left и right — ссылки на узлы,
являющиеся детьми данного узла - левый и правый
сыновья соответственно
Данные (data) обладают ключом (key), на котором
определена операция сравнения "меньше". В
конкретных реализациях это может быть пара (key,
value) - (ключ и значение), или ссылка на такую пару,
или простое определение операции сравнения на
необходимой структуре данных или ссылке на неё
13


Slide 14

Двоичное дерево поиска (3)





Поиск элемента (FIND)
Дано: дерево Т и ключ K
Задача: проверить, есть ли узел с ключом K в дереве Т,
и если да, то вернуть ссылку на этот узел
Алгоритм:



Если дерево пусто, сообщить, что узел не найден, и
остановиться
Иначе сравнить K со значением ключа корневого узла X





14

Если K=X, выдать ссылку на этот узел и остановиться
Если K>X, рекурсивно искать ключ K в правом поддереве Т
Если K

Slide 15

Стратегии поиска. Хэширование








преобразование по детерминированному алгоритму
входного массива данных произвольной длины в
выходную битовую строку фиксированной длины
Такие преобразования также называются хешфункциями или функциями свёртки, а их результаты
называют хешем, хеш-кодом или сводкой сообщения
Если у двух строк хеш-коды разные, строки
гарантированно различаются, если одинаковые —
строки, вероятно, совпадают
Предложил сотрудник IBM Хансу Петер Лун в январе
1953 года
15


Slide 16

Хэширование (2)






Существует множество алгоритмов хеширования с
различными свойствами (разрядность,
вычислительная сложность, криптостойкость и т. п.)
Простейшие примеры хеш-функций: контрольная
сумма или CRC
Хорошая хеш-функция должна удовлетворять двум
свойствам:
1.
2.



Быстро вычисляться
Минимизировать количество коллизий

Коллизией хеш-функции H называется два различных
входных блока данных x и y таких, что H(x) = H(y)
16


Slide 17

Хэширование.Виды (3)


Хеш-функции основанные на делении







H (k) = k mod m

Мультипликативная схема хеширования
Хеширование строк переменной длины (Хеширование
Пирсона)
Универсальное хеширование - используется не одна
конкретная хеш-функция, а происходит выбор из
заданного семейства по случайному алгоритму

17


Slide 18

Хэширование.Хэш-таблицы(3)




Хеш-таблицей называется структура данных,
позволяющая хранить пары вида (ключ,хеш-код) и
поддерживающая операции поиска, вставки и
удаления элемента
Бытовым аналогом хеширования в данном случае
может служить помещение слов в словаре по
алфавиту. Первая буква слова является его хеш-кодом,
и при поиске мы просматриваем не весь словарь, а
только нужную букву

18


Slide 19

Информационный поиск (Information retrieval)






Документ - некий объект, содержащий информацию в
зафиксированном виде (тексты на естественном или
формализованном языке, изображения, звуковая
информация и т.д.)
Запрос - формализованный способ выражения
информационных потребностей пользователя
системы (языки поисковых запросов, синтаксис
которых варьируется)
Релевантность - функция соответствия документа
запросу, субъективна

19


Slide 20

Оценки эффективности поиска

Как численно определить качество
результатов поиска?
20


Slide 21

Оценки эффективности. Релева́нтность


(лат. relevo — поднимать, облегчать) в
информационном поиске — семантическое
соответствие поискового запроса и поискового образа
документа

21


Slide 22

Оценки эффективности. Точность (precision)


Определяется как отношение числа релевантных
документов, найденных ИПС, к общему числу
найденных документов

где
— это множество релевантных
документов в базе,
а
— множество документов, найденных
системой
22


Slide 23

Оценки эффективности. Полнота (recall)


Отношение числа найденных релевантных
документов, к общему числу релевантных документов
в базе

где —
это множество релевантных
документов в базе,
а
— множество документов, найденных
системой
23


Slide 24

Оценки эффективности. Выпадение (fall-out)


Выпадение характеризует вероятность нахождения
нерелевантного ресурса и определяется, как
отношение числа найденных нерелевантных
документов к общему числу нерелевантных
документов в базе

где Dnrel — это множество нерелевантных
документов в базе,
а
— множество документов, найденных
системой
24


Slide 25

F-мера (F-measure, мера Ван Ризбергена)




Сбалансированная F-мера (F1-мера)придает
одинаковый вес точности и полноте ( = ½)

25


Slide 26

Модели информационного поиска
 Булевская
 Векторная
 Вероятностная

…

26


Slide 27

Булевская модель





Словарь: T = {t1, . . . tn}, где ti — термы
Документ: D ⊂ T, иначе говоря D ∈ {0, 1}n
Запрос: t5 OR t7 NOT t12
Используется:






Внутрикорпоративные системы поиска
Базы данных

Недостаток:



27

Жесткость
Непригодность для ранжирования


Slide 28

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




Реализована в 1968 Джерардом Солтоном (Gerard
Salton) в поисковой системе SMART
Снова коллекция документов, каждый из которых
теперь является мультимножеством слов
Матрица M, где Mij = TFij · IDFi , где:






Частота терма TFij — относительная доля слова i в тексте j
Обратная встречаемость в документах IDFi — величина,
обратная количеству документов, содержащих слово i

Физический смысл Mij — степень соответствия слова i
тексту j
Запрос: t3 AND t5 (разрешаем только AND)
28


Slide 29

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


Робертсон (Robertson) и Спарк-Джоунз (Sparck-Jones) в 1977г.



Релевантность – здесь вероятность того, что данный
документ может оказаться интересным пользователю
Документ: множество слов D = {d1, . . . , dn}
Запрос: Qk — тоже, но храним как множество
Соответствие:










29

Зафиксируем запрос Qk
Пусть есть распределение вероятностей на всех текстах “быть
релевантным запросу Qk ”: обозначаем P(R|Qk ,D)
Пусть есть распределение вероятностей на всех текстах “быть
НЕрелевантным запросу Qk ”: обозначаем P(Ṝ|Qk ,D)
Функцией соответствия будет их отношение (или логарифм
этой дроби)


Slide 30

Поиск в Вебе


Нужно анализировать не только текст документа, но и
off-page факторы:









положение на сайте
посещаемость
авторитетность источника
частота обновления
цитируемость страницы и ее авторов

Искусственное накручивание рейтинга страниц (SEO)
Поиск в полуструктурированных данных

30


Slide 31

Полуструктурированные данные
1)

2)

31

такой способ хранения данных, при котором у
каждой единицы информации может быть
произвольный набор полей
данные без постоянной чётко определённой
структуры, либо данные со структурой, неизвестной
пользователю. Их удобно представлять в виде графа


Slide 32

XML


XML (eXtensible Markup Language) – язык текстовой
разметки, стандартизованный W3C, удобный для
представления полуструктурированных данных

XML and IR: A SIGIR 2000 Workshop
David Carmel, Yoelle Maarek, Aya Soffer


XQL and Proximal Nodes
Ricardo Baeza-Yates
Gonzalo Navarro

bla... bla... bla...
bla... bla... bla...
bla... bla... bla...



Querying XML in Xyleme
bla...




32


Slide 33

Поиск в HTML vs. XML

В HTML:
• ищут целые документы
• ранжируют целые документы
• близость слов определяется
положением в тексте
33

В XML:
• ищут XML-элементы
• ранжируют XML-элементы
• близость слов определяется ещё и
положением в дереве


Slide 34

Принцип поиска


Что ищем





R0 – множество XML-элементов, содержащих все
слова запроса.
R1 – множество XML-элементов, таких, что ≥1
потомков содержат все слова запроса, ≥1 потомков
содержат только часть слов

Ранжирование результатов. ElemRank:

34


Slide 35

Качество ранжирования веб-страниц




PageRank — это алгоритм, позволяющий оценить,
насколько данная интернет-страница популярна
предложен Брином и Пейджем в 1998 г.
идея: определять рейтинг страницы через количество
ведущих на нее ссылок и рейтинг ссылающихся
страниц

35


Slide 36

Поиск нечетких дубликатов документов













MD5
TF
TF*IDF
TF*RIDF
Long Sent
Heavy Sent
Megashingles
Lex Rand
Log Shingles
Descr Words
Opt Freq
36


Slide 37

Семантический поиск





Семантический Веб — новая концепция развития Веба
и сети Интернет, принятая и продвигаемая W3C
Проблема : большинство данных в Вебе хранится в
форме, рассчитанной на восприятие человеком, их
структура не очевидна роботу
Семантический Веб — это не отдельная сеть, а
расширение уже существующей

37


Slide 38

Принципы работы


Агент — программа, работающая без
непосредственного управления со стороны человека
или другого постоянного контроля, созданная для
достижения целей, поставленных перед ней
пользователем





38

Закажи для меня эту книгу в ближайшей библиотеке.
Посмотри на расписание электричек и мое расписание и
выбери билеты в театр, чтобы я мог успеть
после работы.
Скажи мне, какое вино нужно купить к каждому из блюд в
этом меню. И кстати, я не люблю Сотерн.
Микроволновка, сходи на сайт производителя и загрузи
оптимальные параметры подогрева.


Slide 39

Сценарии использования





Семантический поиск. Поисковая система сможет
выдавать только те сайты, где упоминается в точности
искомое понятие, а не произвольные страницы, в
тексте которых встретилось данное многозначное
ключевое слово.
Объединение знаний (интеграция баз данных)
Всепроникающие вычисления (ubiquitous computing).
Расширение сферы влияния на физический мир

39


Slide 40

Основная цель Семантического Веба


создание языка, на котором можно будет описать как
данные, так и правила рассуждений об этих данных,
так что правила вывода, существующие в какой-либо
системе представления знаний, можно будет
экспортировать в Веб






синтаксис
семантика

XML – есть синтаксис, но не определена семантика!
Тим Бернерс-Ли

40


Slide 41

Структура языка





RDF (Resource Description Framework) — язык,
отвечающий за синтаксис документов Семантического
Веба. В нем широко используются ссылки на
онтологии для определения смысла слов
OWL (Ontology Web Language) — язык описания
онтологий.
Онтология — описание классов объектов, их свойств и
взаимоотношений для какой-то предметной области
(домена)

41


Slide 42

План реализации
1.
2.
3.
4.

5.
6.
7.
8.42

Синтаксис для представления знаний,
использующий ссылки на онтологии (сделано: RDF)
Язык описания онтологий (сделано: OWL)
Язык описания веб-сервисов (начато: WSDL, OWL-S)
Инструменты чтения и разработки документов
Семантического Веба (начато: Jena, Haystack,
Protege)
Язык запросов к знаниям, записанным в RDF (начато:
SPARQL)
Логический вывод знаний (не сделано).
Семантическая поисковая система (начато: SHOE).
Агенты Семантического Веба (не сделано).


Slide 43

Архитектура

43


Slide 44

RDF: синтаксис Семантического Веба




XML дает возможность создавать документы
произвольной структуры, однако данный язык ничего
не говорит о том, что означает эта структура
RDF кодирует смысл при помощи деревьев глубины
три (Notation3), где каждое дерево состоит из:








субъекта (подлежащее)
свойства (сказуемое)
объекта (дополнение)

«Небо голубого цвета»
=
субъект — «небо», свойство — «иметь цвет», объект
— «голубой»
44


Slide 45

Пример: RSS




RSS — семейство XML-форматов, предназначенных
для описания лент новостей, анонсов статей,
изменений в блогах и т. п. Информация из различных
источников, представленная в формате RSS, может
быть собрана, обработана и представлена
пользователю в удобном для него виде специальными
программами-агрегаторами.
Под RSS может пониматься:




45

Rich Site Summary — богатая сводка сайта
RDF Site Summary — сводка сайта с применением
инфраструктуры описания ресурсов
Really Simple Syndication — очень простая синдикация


Slide 46

Обработка естественного языка




Natural Language Processing, NLP - технологии
обработки естественных языков
Question-Answering Systems, QAS - вопросно-ответные
системы
На вход такой системе подаётся запрос,
сформулированный на естественном языке, после
чего он обрабатывается с использованием методов
NLP, и генерируется естественно-языковой ответ

46


Slide 47

Схема процесса
отбор
документов

• например, поиск по ключевым словам

фильтрация
документов

• выделение фрагментов
текста, потенциально
содержащих ответ

синтез
ответа
47


Slide 48

Проблемы создания QAS













Типы вопросов
Обработка вопросов
Контекстные вопросы
Источники знаний для QA-системы
Выделение ответов
Формулировка ответа (слияние ответов из разных
документов)
Ответы на вопросы в реальном времени
Многоязыковые запросы
Интерактивность
Механизм рассуждений (вывода)
Профили пользователей QA-систем
48


Slide 49

Поиск изображений по содержанию
англ. Content-based image retrieval (CBIR) — раздел
компьютерного зрения, решающий задачу поиска
изображений, которые имеют требуемое содержание,
в большом наборе цифровых изображений
 Алгоритм поиска должен анализировать содержание
изображения, например, цвет представленных на нём
объектов, их форму, текстуру, композицию сцены
 Термин «Content-based image retrieval» впервые был
введен в употребление в 1992 г. Т. Като
 Альтернатива: методы, основанные исключительно на
категоризации метаданных (не подходит к
автомтически созданным изображениям, камеры
49наблюдений)



Slide 50

Области применения












Поиск изображений в сети интернет
Каталогизация изображений произведений искусства
Организация работы с архивами фотографических снимков
Организация каталогов розничной продажи товаров
Медицинская диагностика заболеваний
Предотвращение преступлений и беспорядков
Военно-оружейное применение
Вопросы контроля за распространением интеллектуальной
собственности
Получение информации о местоположении удаленных
зондов и географическое позиционирование
Контроль за содержимым массивов изображений
50


Slide 51

Общая схема





система производит поиск на основе входного
изображения, указываемого пользователем
все результирующие экземпляры изображений должны
иметь общие элементы с входом, указанным
пользователем
пользователь может подать на вход как существующее
изображение, так и грубый набросок требуемого
результата

51


Slide 52

Описание содержания. Цвет




Поиск изображений с помощью сравнения цветовых
составляющих производится с помощью построения
гистограммы их распределения
изображение делится на регионы по сходным
цветовым характеристикам, и далее учитывается их
взаимное расположение

52


Slide 53

Описание содержания. Текстура



сравнение текстурных образцов, присутствующих на
изображении, и их взаимного расположения
текстоны - содержат не только информацию,
описывающую текстуру, но и её местоположение на
описываемом изображении

53


Slide 54

Описание содержания. Форма




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

54


Slide 55

Примеры поисковых систем









Google Image Search
Visual Image Search
Chic Engine
Visual Recognition Factory
Empora
Обратный поиск изображений TinEye.com
Поиск людей по фотографиям PhotoDate.ru
Поиск изображений по содержанию Immenselab.com

55


Slide 56

Источники








Дональд Кнут. Искусство программирования, том 3.
Сортировка и поиск /The Art of Computer
Programming, vol.3. Sorting and Searching./ — 2-е изд. —
М.: «Вильямс», 2007. — С. 824.
MIT OpenCourseWare http://ocw.mit.edu
Школа анализа данных Яндекс http://shad.yandex.ru/
Юрий Лифшиц - курс "Алгоритмы для Интернета"
http://yury.name/internet/
Илья Сегалович «Как работают поисковые системы»
http://download.yandex.ru/company/iworld-3.pdf

56


Slide 57

Спасибо за внимание!



57

[email protected]