Поиск в коллекциях текстовых документов на основе методов

advertisement
Поиск в коллекциях текстовых документов на основе
методов семантического анализа, использующих
универсальные гипертекстовые энциклопедии
Александр Болдаков
Институт системного программирования РАН
boldakov@ispras.ru
Московская секция ACM SIGMOD, 27 ноября 2008 г.
План доклада




Необходимость применения методов
семантического анализа при поиске
Wikipedia как основа для построения
универсальной базы знаний
Обзор методов семантического анализа текстов,
основанных на использовании Wikipedia
Применения знаний о семантике текста для
решения задачи поиска и автоматического
извлечения полезных категорий для навигации по
результатам поиска
Задача поиска в текстовых
коллекциях



Information retrieval & Semantic Web
Актуальность (Web 2.0 – очередной
всплеск)
Разные типы документов в коллекциях




Блоги (мало связанные, актуальные,…)
Новости (мало связанные, очень актуальные,…)
Научные статьи (строгая терминология, мало
именованных сущностей,…)
Web (большое количество “мусора”, сильная
связанность,…)
Проблемы лексического поиска по
ключевым словам

Лексическая многозначность терминов




Учет синонимов



Многозначность терминов в запросе
Многозначность терминов в тексте документа
Результат: ухудшение точности результатов
Синонимы, аббревиатуры, сленг, прозвища и
т.д.
Результат: ухудшение полноты результатов
Оценка релевантности


Основана на композиции статистических
значений
Результат: ухудшение сортировки результатов
Проблемы лексического поиска по
ключевым словам (2)

Сложность подбора ключевых слов




Неопределенность предмета поиска
Недостаточная осведомленность о предметной
области
Результат: ухудшение полноты результатов
Интерфейс




Система – “черный ящик”
Модель поиска – несвязанная
последовательность запросов
Нет механизмов уточнения поиска
Результат: снижение эффективности поиска и
“ощущение потерянности” в данных
Методы семантического анализа текстов,
основанные на использовании Wikipedia




Устранение лексической
многозначности
Нахождение терминов, семантически
близких к данному
Ранжирование терминов в документе
Выделение ключевых слов в тексте
Wikipedia - основа для построения
универсальной базы знаний




Универсальность (более 3х
миллионов статей)
Актуальность
Структурированность информации
Доступность для пополнения
пользователями (в отличии от многих
формальных языков описания
знаний)
Построение универсальной базы
знаний на основе Wikipedia




Словарь из концепций
База данных возможных значений для
многозначных слов
База данных возможных синонимов
для концепций
Взвешенный граф из концепций с
расстояниями, отражающими
семантическую близость между
концепциями
Структура Wikipedia

Статьи различных типов:




Концепции
Статьи, содержащие возможные варианты значений для
многозначных терминов
Статьи – переадресации на другие статьи (синонимы,
аббревиатуры, …)
Гипертекстовые ссылки между статьями
различных типов





Ссылки
Ссылки
Ссылки
Ссылки
…
в тексте статьи
в разделе “см.также”
на даты
на категории
Измерение семантической
близости концепций Википедии


Концепции вместе со ссылками
образуют граф ссылок Википедии
Меры семантической близости в
графах


Коэффициент Дайса (нормированное
количество общих соседей)
Учет весов ссылок
Нахождение концепций,
семантически близких к данной



Задача: получить N наиболее близких по
смыслу концепций к заданной
Проблема: подход в “лоб” неэффективен
(статья “United Kingdom” содержит более
1млн статей с ненулевым значением
близости)
Решение: использование набора эвристик,
понижающих точность, но повышающих
эффективность вычисления меры близости
Устранение лексической
многозначности терминов



Задача: связать многозначный термин в
тексте с одним из возможных значений
Возможные значения для многозначных
терминов определены в базе знаний
Критерий выбора: максимизация суммы мер
семантической близости между значением
и терминами, входящими в контекст
многозначного термина
Устранение лексической
многозначности терминов: пример

Текст: “Jigsaw is W3C's open-source project that
started in May 1996. It is a web server platform that
provides a sample HTTP 1.1 implementation and …”
Ранжирование терминов в
документе




Задача: отсортировать термины в
документе по их семантической важности
Термины в документе образуют
взвешенный граф
Критерий важности термина:
центральность вершины в графе
(вершина в графе важна, если она
находится в окружении сильно связанных с
ней вершин)
Для определения веса используется
алгоритм PageRank на взвешенном графе
Выделение ключевых слов


Ключевое слово — слово в тексте,
способное в совокупности с другими
ключевыми словами дать представление о
содержимом документа
Метод основан на ранжировании терминов
в документе и специальном критерии
выбора граничного значения для
отнесения термина к ключевым
Семантический
инструментарий

База знаний на основе Wikipedia





Словарь концепций
Синонимы для концепций
Варианты значений для многозначных
слов
Мера близости между концепциями
Методы извлечения семантики из
текстов
Применение семантических
методов для улучшения поиска

Устранение лексической многозначности



Учет синонимов


Учёт семантической важности концепции в документе
Помощь в подборе поисковых терминов


Синонимы и в запросе, и в документе связаны с основной
концепцией
Ранжирование результатов


Использование словаря для формирования поисковых запросов
Устранение лексической многозначности терминов в документах
Расширение запроса семантически близкими концепциями, с
учетом степени близости
Поисковый интерфейс


Поиск как многошаговая комбинация поиска и навигации
Автоматическое извлечение и рекомендация уточняющих
категорий
Необходимость интеграции с
традиционным лексическим поиском


Не все концепции есть в Wikipedia
(как и в любом другом источнике)
Виды поиска

Навигационный


Пример: Болдаков доклад SIGMOD 2006
Исследовательский

Пример: Electric Car
Терминология


Концепция – некоторая однозначноидентифицируемая сущность,
которой соответствует статья
Wikipedia
Термин – слово на естественном
языке
Что может быть поисковым
запросом?




Концепция
Термин
Произвольная комбинация концепций
и терминов
Пример:
-
Electric Car
Electric Car; General Motors;
Electric Car; “fastest speed”
Извлечение семантики из
документа



Документ D состоит из последовательности
лексем L(D)=l1,l2,…,lk
C(D) = {ci} – концепции, выделенные в
документе
G(D) = (V,E) – взвешенный граф
концепций: V=C(D), E=VxV. Вес каждого
ребра – семантическая близость
концепций
Лексическое представление
концепций

NormName(c) = title(c) без выражения в скобках
в конце строки



c = sedna (database)
NormName(c) = “sedna”
LexName(c) =
if (title(c) = NormName(c))
then title(c)+”_(concept)”
else replace(title(c),” “,”_”)

Пример:


c = IBM, LexName(c) = “IBM_(concept)”
с = sedna (database), LexName(c) = “sedna_(database)”
Модель представления
документов и запросов


Документ (запрос) представлен
вектором концепций и терминов.
Размерность вектора |C|+|W|
Если концепция или термин
присутствуют в документе (запросе)
они получают ненулевой вес в
соответствующей компоненте
вектора
Критерии значимости
терминов и концепций


Значимость терминов: значимость
определяется статистическими
величинами
Значимость концепций: концепция в
документе тем более значима, чем
больше в документе сильно
связанных с ней концепций


Sedna (database) в окружении не связанных концепций
Sedna (database) в окружении XML, XQuery, XML database
Соотношение лексических и
семантических весов


Если концепция встречается в документе
без связанных с ней концепций, то её
вклад в релевантность такой же, как у
лексического термина
Если концепция встречается в документе в
окружении связанных с ней концепций, то
её вклад должен асимптотически
приближаться к вкладу еще одного слова
из запроса
Определение весов для
терминов

Измерение косинуса между векторами
fd,t – частота встречаемости термина в документе
ft – число документов в которых встречается термин
N – общее число документов в коллекции
Определение весов для
концепций



wd ,c  1  ln  f d ,c  1   f d ,ci  Sim c, ci  


 ci R c 


f d ,c  частота встречаемости концепции c в документе
Rc   множество концепций в документе, связанных с c
Sim c, ci   мера семантической близости c и ci

Если нет связанных вершин, то вес совпадает
с лексическим весом концепции
Индексация документов

Для каждой концепций сi из C(D) в
индекс добавляется запись
LexName(сi) → (idD,wсi)

Для каждого термина li из L(D) в
индекс добавляется запись
li → (idD,wli)
Семантика поиска по
концепции


Наиболее релевантными должны
быть документы, в которых
присутствует искомая концепция
(семантически)
Необходимо учитывать ошибки
алгоритмов устранения лексической
многозначности и ошибок при
выделении терминов в тексте
Учет ошибок устранения
многозначности и ошибок при
выделении терминов



L – последовательность слов
Repr(c) = {Li} – множество возможных
текстовых представлений концепции
Пример:
c = IBM
Repr(c) = IBM, International Business Machines, Big Blue, …
Выполнение запросов: поиск
по концепции



Поиск по концепции с
Repr(c) = {Li}
Интерпретация запроса:
LexName(сi), L1*w, L2*w, …, LN*w
w - вес понижающий вклад

Li в релевантность
Li – улучшают полноту выборки и не
влияют на порядок документов,
содержащих распознанную концепцию
Выполнение запросов: поиск
по терминам

Поиск по терминам l1,l2,…,lk

Интерпретация запроса:
l1,l2,…,lk

Ранжирование результатов
происходит по статистическим
принципам
Выполнение запросов:
смешанный поиск




Поиск по концепции с и лексеме l
Repr(c) = {Li}
Интерпретация запроса:
LexName(сi),L1*w,…,LN*w, l
w - вес понижающий вклад Li в релевантность
Li – улучшают полноту выборки и не
влияют на порядок документов,
содержащих распознанную концепцию с
и/или термин l
Расширение запроса концепциями,
семантически близкими к искомой
Существующие подходы:


Расширение запроса терминами из
внешних источников: словарей,
онтологий,…
Расширение запроса терминами из
документов, релевантных оригинальному
запросу
Расширение запроса концепциями,
семантически близкими к искомой (2)



Exp(c)={c1,…,ck} – множество
концепций: Sim(c1,c2)!=0
Expp(c)={c1,…,ck} – множество
концепций: Sim(c1,c2)>p
Расширение запроса по концепции с
Qorig = c
Qexpanded = c;c1*w1;…;ck*wk
wi = Sim(c,ci)
Построение фасетного
поискового интерфейса


Комбинация навигационного и поискового
интерфейсов
В ответ на поисковый запрос фасетная поисковая
система формирует:


Список релевантных результатов на текущий запрос
Набор фасетов – терминов, предназначенных для:



Уточнения поискового запроса
Навигации по коллекции документов
Методы извлечения фасетных терминов:


Использование созданной вручную метаинформации о
документах
Автоматическое извлечение фасетных терминов
Автоматическое извлечение
фасетных терминов
Подзадачи


Идентификация терминов-кандидатов
Рекомендация конкретных фасетов
на текущем шаге поиска


Учет текущего запроса
Учет текущего множества результатов
Построение фасетного поиска на основе
методов семантического анализа текстов

Идентификация фасетов: хорошие претенденты – ключевые

Рекомендация фасетов:
слова в документах



Объединение ключевых слов для всех документов из текущего
множества результатов – множество возможных фасетов
Термины, семантически близкие к запросу, описывают
текущий домен интересов пользователя
Решение:
RQ   Di  текущее множество результато в, релевантных запросу Q
KW D   множество ключевых концепций документа D
Exp(Q)  {ci : Sim (Q, ci )  0}  множество концепций,
семантически связанных с Q
F  ExpQ  
D   множество фасетов на заданном шаге поиска
 KW

DR Q
Спасибо за внимание
Александр Болдаков
Институт системного программирования РАН
boldakov@ispras.ru
Download