Скачать презентацию Интернет-математика Спецглавы математики Информационный поиск Индексирование структуры Скачать презентацию Интернет-математика Спецглавы математики Информационный поиск Индексирование структуры

896f85a8b87d3ab0c4934a73416147cc.ppt

  • Количество слайдов: 23

Интернет-математика / Спецглавы математики Информационный поиск Индексирование, структуры данных, булев поиск Петрозаводский государственный университет Интернет-математика / Спецглавы математики Информационный поиск Индексирование, структуры данных, булев поиск Петрозаводский государственный университет Крижановский Андрей Анатольевич andrew. krizhanovsky 1 . . . gmail. com

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

Основные структуры данных в ИПС Словарь Инвертированный индекс Term-document incidence matrices N-gram index Suffix Основные структуры данных в ИПС Словарь Инвертированный индекс Term-document incidence matrices N-gram index Suffix tree Suffix array (memory) 3

Представление документа Весь текст (самое полное представление) Список всех слов Список нормализованных слов Индекс Представление документа Весь текст (самое полное представление) Список всех слов Список нормализованных слов Индекс (слово -> документ) 4

Term-document incidence matrices МАТРИЦЫ ИНЦИДЕНЦИЙ ТЕРМИН-ДОКУМЕНТ 5 Term-document incidence matrices МАТРИЦЫ ИНЦИДЕНЦИЙ ТЕРМИН-ДОКУМЕНТ 5

Пример информационного поиска Пьеса? (37) Brutus AND Caesar AND NOT Calpurnia Linear scanning: grepping Пример информационного поиска Пьеса? (37) Brutus AND Caesar AND NOT Calpurnia Linear scanning: grepping (прямой поиск) + джокеры (wildcard pattern matching) <1 млн слов 6

Усложнение задачи 1. Большая коллекция документов 2. Гибкость запроса “Romans NEAR countrymen”, ⊗grep 3. Усложнение задачи 1. Большая коллекция документов 2. Гибкость запроса “Romans NEAR countrymen”, ⊗grep 3. Ранжированный поиск 7

Ускорение поиска (модель булева поиска) ∀ документ → слово (лексикон 32 000), 1. 1 Ускорение поиска (модель булева поиска) ∀ документ → слово (лексикон 32 000), 1. 1 MB term-document incidence matrix термин (IR) <> слово вектор термина (по строкам) вектор документа (столбец) 8

Brutus AND Caesar AND NOT Calpurnia 110100 AND 110111 AND ⇒ 110111 AND NOT Brutus AND Caesar AND NOT Calpurnia 110100 AND 110111 AND ⇒ 110111 AND NOT 010000 101111= 100100 9

Модель булева поиска это модель информационного поиска, в ходе которого можно обрабатывать любой запрос, Модель булева поиска это модель информационного поиска, в ходе которого можно обрабатывать любой запрос, имеющий вид булева выражения, т. е. выражения, в котором термины используются в сочетании с операциями AND, OR и NOT. В этой модели – документ: множество слов 10

Реалистичный пример (1) N = 1 миллион документов группа документов: коллекция, корпус, массив текстов Реалистичный пример (1) N = 1 миллион документов группа документов: коллекция, корпус, массив текстов (body of texts) ⊐ документ в 1000 слов (2 -3 стр) если слово 6 байт, то коллекция ~ ? Гб м. б. обычно ~ 500 000 разных терминов Цель – разработать систему, выполняющую поиск по произвольному запросу (ad hoc retrieval) 11

Реалистичный пример (2) Матрица 500 тыс ∙ 1 млн = 500 млрд = 500 Реалистичный пример (2) Матрица 500 тыс ∙ 1 млн = 500 млрд = 500 Гб разреженная, 99. 8% нули Структура получше? будем хранить в памяти только единицы 12

Инвертированный индекс Ключевая структура данных в современных ИПС 13 Инвертированный индекс Ключевая структура данных в современных ИПС 13

(не)координатный инвертированный индекс ∃ термин в документе координата термина в этом документе (словопозиция, posting) (не)координатный инвертированный индекс ∃ термин в документе координата термина в этом документе (словопозиция, posting) 14

Handout 15 Handout 15

Этапы построения инвертированного индекса 1. Собираем документы Цыганы шумною толпой 2. Размечаем текст, превращая Этапы построения инвертированного индекса 1. Собираем документы Цыганы шумною толпой 2. Размечаем текст, превращая ∀ документ в список лексем (tokens) Цыганы 3. шумною толпой … Для вас Предварительная лингвистическая обработка цыган 4. Для вас, души моей В ауле, на своих царицы, порогах, шумный толпа … для вас Индексируем документы (рис. ) 16

Построение инв. индекса doc. ID – идентификатор документа ∀ документ, на входе: список нормализованных Построение инв. индекса doc. ID – идентификатор документа ∀ документ, на входе: список нормализованных лексем для каждого документа, т. е. список пар «термин-doc. ID» 17

документная частота (document frequency) sort 18 Группировка по слову, по документам документная частота (document frequency) sort 18 Группировка по слову, по документам

Инвертированный индекс Основные структуры данных: Словарь Списки словопозиций Массив фиксированной длины? . . 19 Инвертированный индекс Основные структуры данных: Словарь Списки словопозиций Массив фиксированной длины? . . 19

Структура данных для списков словопозиций Односвязные списки (singly linked lists) Массивы переменной длины вставка Структура данных для списков словопозиций Односвязные списки (singly linked lists) Массивы переменной длины вставка O(1) память ↘ (нет указателей) списки с пропусками (skip list) t↗ (процессор с кэшем) См. анимацию в статье ВП «Список с пропусками» 20

Литература Маннинг К. , Рагхаван П. , Шютце Х. Введение в информационный поиск. — Литература Маннинг К. , Рагхаван П. , Шютце Х. Введение в информационный поиск. — Вильямс, 2011. — ISBN 978 -58459 -1623 -5. http: //rutracker. org/forum/viewtopic. php? t=3887364 21

Задачи IR Проектирование ИПС Классификация / кластеризация док-в Классификация веб-запросов Извлечение информации (Information extraction) Задачи IR Проектирование ИПС Классификация / кластеризация док-в Классификация веб-запросов Извлечение информации (Information extraction) Извлечение терминологии / концептов Выделение именованных сущностей (Named-entity recognition) Разрешение кореферентности (Coreference resolution) Извлечение семантических отношений Анализ терминальных данных 22

Спасибо за внимание! http: //vk. com/club 41102811 “Интернет-математика в Петр. ГУ” 23 Спасибо за внимание! http: //vk. com/club 41102811 “Интернет-математика в Петр. ГУ” 23