350 likes | 514 Views
XRANK. Ранжированный поиск ключевых слов в коллекциях XML. Структура доклада. Цель доклада X ML HTML vs XML XRANK DIL, RDIL, HDIL. Цель доклада. Получение упорядоченных по релевантности результатов информационного поиска в наборе XML-документов. XML ( eXtensible Markup Language).
E N D
XRANK Ранжированный поиск ключевых слов в коллекциях XML
Структура доклада • Цель доклада • XML • HTML vs XML • XRANK • DIL, RDIL, HDIL
Цель доклада Получение упорядоченных по релевантности результатов информационного поиска в наборе XML-документов.
XML (eXtensible Markup Language) • XML • <workshop date=”28 July 2000”> • <title> XML and IR: A SIGIR 2000 Workshop </title> • <editors> David Carmel, YoelleMaarek, AyaSoffer </editors> • <proceedings> • <paper id=”1”> • <title> XQL and Proximal Nodes </title> • <author> Ricardo Baeza-Yates </author> • <author> Gonzalo Navarro </author> • <body> • Info • <cite ref=”2”>Querying XML in Xyleme</cite> • <cite xlink=”../paper/xmlql/”>A Query … </cite> • </body> • </paper> • <paper id=”2”> • <title> Querying XML in Xyleme </title> • <body> bla... </body> • </paper> • </proceedings> • </workshop>
HTML и XML ● ищут целые документы ● ранжируют целые документы ● близость слов определяется положением в тексте ● ищут XML- элементы ● ранжируют XML- элементы ● близость слов определяется и положением в дереве
Трудности с XML ● Как учесть структуру и ссылок, и самих XML-деревьев? ● Как считать близость слов запроса в разных XML-элементах?
XRANK Решение – XRANK XRANK - обобщение с HTML на XMLпоиска на основе PageRank
ПЛАН 1. Постановка задачи 2. ElemRank 3. Обработка запросов
Постановка задачи ● Что имеем ● Что ищем ● Как ранжируем ● Архитектура XRANK
Что имеем Набор XML-документов – граф G = (V, CE, HE) V – вершины: XML-элементы CE – дуги вложенности HE – дуги ссылок
Что ищем R1 – множество XML-элементов, где каждый результат является наиболее глубоким предком элементов, содержащих все слова запроса.
Критерии функции ранжирования Критерии: а) специфичность результатов б) близость ключевых слов в) учёт ссылок
Как ранжируем Имеем: v1 in R, ElemRank(v) (~PageRank)
Функция ранжирования для одного элемента Q = (k1, ..., kn) – запрос R– результаты поиска ki in Q, v1.contains*(ki), тогда есть (v1,v2), (v2,v3), ..., (vn-1, vn) из CE: vnнепосредственно содержит ki r(v1, ki) := ElemRank(vn) * q^(n-1)
Если ключевых слов в элементе результата несколько kiin Q, v1.contains(ki) m раз тогда ř(v1, ki) := f(r1, ..., rm), где f = max или ∑
Функция ранжированияp = 1 / размер_окна (мера близости слов)
ElemRank ElemRank(v) – мера важности XML-элемента, вычисляемая на основе структуры гиперссылок
Вычисление PageRank PageRank для HTML : d = 0.85 Nd – общее число документов Nh(u) – число ссылок из u
Вычисление ElemRank Переход от HTML к XML: a) дуги из HE и CE разных весов b) дуги из CE двунаправлены c) ранг элемента зависит от рангов детей
Вычисление ElemRank d1 – вероятность, что пришли в v по ссылке Nh(u) – число ссылок из элемента u d2 – вероятность, что пришли в v из родителя Nс(u) – число детей у элемента u d3 – вероятность, что пришли в v из потомка Nde – число предков v
Обработка запросов • Наивный подход • Dewey Inverted List • Ranked Dewey Inverted List • Hybrid Dewey Inverted List
Наивная обработка запросов Обращаться с каждым XML-элементом как с отдельным документом: 1) надо много памяти 2) результаты поиска будут повторяться 3) не учитывается специфичность
Dewey Inverted List (DIL) Основная идея: сливать списки, одновременно вычисляя самый длинный общий префикс Dewey ID в разных списках Недостатки: список ответов может оказаться очень длинным, а пользователю нужны только самые важные.
Ranked Dewey Inverted List RDIL – DIL, отсортированный не по Dewey ID, а по ElemRank. Взамен храним B+ дерево по Dewey ID. Недостатки: если слова в запросе слабо коррелируют, возможно, придётся просмотреть все списки.
Hybrid Dewey Inverted List Хранить: + (полный DIL+B+tree) + начало RDIL Начинать поиск с RDIL – если медленно идёт, переходить на DIL