Методы извлечения информации

Download Report

Transcript Методы извлечения информации

Введение в
Информационный
Поиск
Денис Турдаков
ИСП РАН / ВМиК МГУ
О чем речь?
Информационный поиск (information
retrieval) — это область компьютерных
технологий, которая ставит своей целью
поиск всех документов из данного
множества, отвечающих условиям
запроса пользователя
План
• Часть 1. Векторно-пространственная
модель
• Часть 2. Обзор стратегий извлечения
информации
Часть 1
Методы информационного
поиска
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Методы извлечения информации
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Векторно-пространственная
модель
• Идея: слова используемые в документе
характеризуют этот документ
• Для каждого документа и запроса
строится вектор терминов
• Расстояние между документами (и
запросом) вычисляется как расстояние
между векторами.
Мера близости
• Используется величина угла между
векторами (скалярное произведение)
• Можно использовать любую
монотонную функцию от угла
Вес терминов
• Некоторые термины могут быть более
важными чем другие
• Веса терминов расставляются либо
вручную, либо автоматически
• Редкие термины имеют больший вес
Используемые обозначения
• t = число различных терминов в
коллекции документов
• tfij = число вхождений термина tj в
документ Di. Частота термина (term
frequency)
• dfj = число документов содержащих Tj.
Частота документа (document
frequency)
• idfj=log(d/dfj), где d число всех
документов. Инвертированная частота
документа (inverse document frequency)
Автоматическая генерация весов
• Чем больше раз встречается термин в
документе тем больший он имеет вес
• Чем больше раз встречается термин в
коллекции документов тем меньший он
имеет вес
• dij = tfij x idfj
• Коэффициент похожести (similarity
coefficient)
SC(Q,Di)=Stj=1 wqj x dij
Пример
•
•
•
•
•
•
Q: “gold silver truck”
D1: “Shipment of gold damaged in a fire”
D2: “Delivery of silver arrived in a silver truck”
D3: “Shipment of gold arrived in a truck”
d=3
idf: log(3/1)=0.477; log(3/2)=0.176; log(3/3)=0
Idfa = 0
Idfarrived = 0.176
Idfdamaged = 0.477
Idfdelivery = 0.477
Idffire=0.477
Idfin = 0
Idfof = 0
Idfsilver = 0.477
Idfshipment = 0.176
Idftruck = 0.176
Idfgold=0.176
Пример
docid
a
D1
arrived
damaged
delivery
fire
gold
0 0
.477
0
.477
D2
0 .176
0
.477
D3
0 .176
0
Q
0 0
0
in
Of
shipment
silver
truck
.176 0
0
.176
0
0
0
0
0
0
0
.954
.176
0
0
.176 0
0
.176
0
.176
0
0
.176 0
0
0
.477
.176
SC(Q, D1) = (0)(0) + (0)(0) + (0)(0.477) + (0)(0) + (0)(0.477) + (0.176)(0.176)
+ (0)(0) + (0)(0) + (0)(0.176) + (0.477)(0) + (0.176)(0) = (0.176)2  0.031
SC(Q,D2) = (0.954)(0.477) + (0.176)2  0.486
SQ(Q,D3) = (0.176)2 + (0.176)2  0.062
Особенности реализации
Реализация векторнопространнственной модели, а так
же других стратегий извлечения
информации, использует
инвертированный индекс, чтобы
избежать многократного
сканирования всех документов
Модификации алгоритма
Следующая формула считается хорошей для подсчета
весов:
Решена проблема: Если в запросе и документе совпал
один термин, с высокой частотой (tf), то результат
может стать «перекошенным»
Подсчет коэффициента
похожести
Чаще всего для подсчета коэффициента похожести
используются
Косинус угла:
Мера Дайса (Dice)
Мера Джаккарда (Jaccard)
Часть 2
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Вероятностные методы
• Вычисляется вероятность того, что
термин появится в релевантном
документе
• Эта вероятность считается для каждого
термина коллекции
• Мера похожести между запросом и
документом вычисляется как сочетание
вероятностей для каждого совпавшего
термина
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Языковые модели
• Статистические языковые модели – это
вероятностный механизм для генерации
части текста
• Для каждого документа коллекции
строится модель
• Вычисляется вероятность того, что по
документу можно сгенерировать запрос
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Сети вывода
• Сети вывода являются развитием
вероятностной модели
• Сущность заключается в использование
известных зависимостей для вывода
других зависимостей
• Используются байесовские сети
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Булева индексация
• Для использования в запросах булевых
функций необходимо расширение
булевской модели
• Каждому термину приписывается
некоторый вес
• Этот вес используется для вычисления
коэффициента похожести и
ранжирования полученных результатов
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Неявное семантическое
индексирование
• Предпосылка: одна и та же идея может
быть описана разными словами
• Основная идея: найти термины
описывающие семантику лежащую в
основе документа
• Метод: Сингулярное разложение SVD
(Singular Value Decomposition)
• Минус: большая вычислительная
сложность
Сингулярное разложение SVD
• Строится матрица термин-документ А элемент
(i ,j): какое число раз термин i появляется в
документе j
• SVD этой матрицы: USVT, где S – диагональная
матрица
• Элементы матрицы S ранжируются и
выбираются k максимальных, остальные
обнуляются
• Соответственно уменьшается размерность
матриц U и V (получаются Uk и VkT)
• Сравнение терминов осуществляется с
помощью скалярного произведения строк в Uk,
документов – ск. произведения столбцов VkT.
Пример
Q: “gold silver truck”
D1: “Shipment of gold damaged in a fire”
D2: “Delivery of silver arrived in a silver truck”
D3: “Shipment of gold arrived in a truck”
Пример
Пример
D1 = (-0.4945 0.6492)
D2 = (-0.6458 -0.7194)
D3 = (-0.5817 -0.2469)
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Поиск информации с помощью
нейронных сетей
• На вход сети подаются термины из
запроса
• Вес каждого синапса запоминается и
используется для вычисления
коэффициента подобия между
запросом и документом
• Обучение заключается в регулировке
весов для получения релевантных и
нерелевантных документов
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Генетические алгоритмы
• Предпосылка: если найдена часть
релевантных документов, то остальные тоже
будут найдены
• Исходная популяция: Терминам запроса
приписываются некоторым образом веса
• Вычисляется дистанция от запроса до всех
документов и выбирается х релевантных
• Новые запросы (хромосомы) получаются с
помощью мутации и скрещивания
• Выживают наиболее близкие к известным
документам запросы
Коротко о методах
•
•
•
•
•
•
Векторно-пространственная модель (Vector Space Model)
Вероятностные методы (Probabilistic Retrieval)
Языковые модели (Language Models)
Сети вывода (Inference Networks)
Булева индексация (Boolean Indexing)
Неявное семантическое индексирование (Latent Semantic
Indexing)
• Нейронный сети (Neural Networks)
• Генетические алгоритмы (Genetic Algorithms)
• Нечеткая логика (Fuzzy Set Retrieval)
Нечеткая логика
• Нечеткое множество: каждому элементу
назначается степень принадлежности
множеству
• Пример: «горячий чай» - C={0/0; 0/10; 0/20;
0,15/30; 0,30/40; 0,60/50; 0,80/60; 0,90/70; 1/80; 1/90; 1/100}
• Документ отображается на нечеткое
множество. Булевские операции
отображаются в операции над нечетким
множеством
• Вычисляется степень принадлежности
документа множеству, которая затем
используется как коэффициент подобия
Что не попало в презентацию
•
Вспомогательные методы для
улучшения результатов
1. Обратная связь о релевантности
2. Кластеризация
3. Извлечение, основанное на частях
документа (passage-based retrieval)
4. Разбор текста (стемминг, морфологический
и грамматический анализ)
5. N-граммы
6. Тезаурус
7. Семантические сети
8. Регрессионный анализ
Что не попало в презентацию
• Использование нескольких языков
(cross-language information retrieval)
• Вопросы эффективности реализации
• Извлечение информации из
структурированных данных
• Параллельное извлечение информации
• Распределенное извлечение
информации
Спасибо за внимание
Презентация доступна на сайте
http://modis.ispras.ru/turdakov/ir.ppt
Мой e-mail: [email protected]