Lekcija 1

You might also like

Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 809

ЛЕКЦІЯ 1.

БУЛЕВИЙ
ПОШУК
Глибовець А.М.
INFORMATION RETRIEVAL (IR)
 Інформаційний пошук – що це таке?
 Інформаційний пошук (IR) – це процес
пошуку в великій колекції (що
зберігається як правило, в пам’яті
комп'ютера) деякого неструктурованого
матеріла (зазвичай – документу), що
задовольняє інформаційній потребі.
INFORMATION RETRIEVAL (IR)
 Додаткові задачі IR :
 навігаціяпо колекції документів
 фільтрація документів
 кластеризація
 класифікація
INFORMATION RETRIEVAL (IR)
 Класифікація систем інформаційного
пошуку за масштабом:
 WEB – пошук
 Системи корпоративного, відомчого і
орієнтованого на предметну область пошуку
 Персональний інформаційний пошук
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Як приклад візьмемо зібрання творів
Шекспіра.
 Припустимо, ми хочемо визначити в якому
творі використовуються слова Brutus AND
Caesar AND NOT Calpurnia.
 Як ми можемо здійснити такий пошук?
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Самий простий спосіб – «в лоб»,
послідовний перегляд всіх документів
(linear scanning)
 Часто називають – прямим пошуком або
англійською мовою grepping.
 Доволі часто така обробка доповнюється
пошуком по шаблону з джокерами
(wildcard pattern matching)
 На сучасних комп’ютерах виконання
простих запитів на колекціях даних
середніх розмірів (загальний обсяг зібрань
творів Шекспіра трохи менше одного
міліонна слів) відбудеться за прийнятний
час для пересічного користувача.
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Але дуже часто необхідно дещо більше:
 Інколи необхідно швидко обробити велику
колекцію документів (мілліарди і триліони
слів)
 Інколи необхідна більша гнучкість при
виконанні операції порівняння (Romans NEAR
countrymen, може означати «не далі ніж 5
слів», або «в межах одного речення»)
 Інколи необхідно виконати ранжований
пошук
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Для того, що б уникнути послідовного
перебору текстів при виконанні кожного
запиту, необхідно завчасно скласти індекс
документів.
ПРИКЛАД ІНФОРМАЦІЙНОГО ПОШУКУ
МАТРИЦЯ ІНЦИДЕНТНОСТІ «ТЕРМІН-
ДОКУМЕНТ»
Antony Julius The Hamle Othello Macbet …
and Caesar Tempest t h
Cleopatr
a
Antony 1 1 0 0 0 1
Brutus 1 1 0 1 0 0
Caesar 1 1 0 1 1 1
Calpurni 0 1 0 0 0 0
a
Cleopatr 1 0 0 0 0 0
a
mercy 1 0 1 1 1 1
worser 1 0 1 1 1 0

ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Для обробки запиту «Brutus AND Caesar
AND NOT Calpurnia» ми беремо вектор для
термінів Brutus, Caesar і Calpurnia,
обраховуємо двійкове доповнення до
останнього вектору і виконуємо
порозрядну операцію AND.
 110100 AND 110111 AND 101111 = 100100

 Результат запиту: Antony and Cleopatra і


Hamlet.
МОДЕЛЬ БУЛЕВОГО ПОШУКУ
 Модель булевого пошуку – це модель
інформаційного пошуку, в ході якої можна
оброблювати будь-який запит, що має
вигляд булевого виразу, тобто виразу, в
якого терміни використовуються в
поєднанні з операціями AND, OR і NOT.
 В рамках цієї моделі документ
розглядається просто як множина слів.
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Розглянемо більш реальний приклад.
 Ми маємо N=1 мільйон документів.
 Документ – будь, який об’єкт, на основі яких
вирішено будувати систему інформаційного пошуку.
 Групу документів по яким здійснюється пошук,
називають колекцією (collection). Інколи називають
корпусом (corpus) або масивом текстів (body of texts).
 Припустимо, що кожний документ складається
приблизно з 1000 слів (2-3 книжкові сторінки).
 Якщо припустити, що в середньому на зберігання
слова (з урахуванням пробілів і знаків пунктуації)
відводиться 6 байт, то така колекція займе коло 6
Гбайт (GB).
 Як правило, в таких документах може міститися
близько М = 500000 різних термінів.
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Наша мета – розробити систему, що
виконує пошук за довільним запитом (ad
hoc retrieval).
 Мета системи – знайти в колекції
документи, які являються найбільш
релевантними, по відношенню до
довільних інформаційних потреб, що
передаються системі за допомогою
одноразових, ініційованих користувачем
запитів.
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Тепер ми вже не можемо скласти матрицю
«термін-документ» наївним чином.
 Матриця розміром 500К х 1М містить пів
трильйона нулів і одиничок – надто багато.
 Але ви ж розумієте, що ця матриця надто
розріджена.
 Кожний документ складається приблизно з
1000 слів, матриця буде містити не більше
1 мільярда одиничок, тому як мінімум
99,8% комірок будуть містити 0.
 НАБАГАТО КРАЩЕ ЗБЕРІГАТИ ЛИШЕ
ОДИНИЧКИ.
ПРИКЛАД ІНФОРМАЦІЙНОГО
ПОШУКУ
 Ця ідея є основною по відношенню до
першої важливої концепції
інформаційного пошуку – інвертований
індекс.
ІНВЕРТОВАНИЙ ІНДЕКС
(ІНВЕРТОВАНИЙ ФАЙЛ)
 Основна ідея:
 Спочатку ми записуємо в пам’ять словник
термінів (vocabulary або lexicon).
 Для кожного терміну ми створюємо список, в
якому вказані документи, що містять даний
термін.
 Кожний елемент списку містить інформацію про те,
що термін знаходиться в документі, а також (доволі
часто) координату терміна в документі (posting).
 Список називається – списком словопозицій (posting

list) або інвертованим списком.


 Словник впорядковується за алфавітом.
 Кожний список словопозицій впорядковується
за ідентифікаторами документів.
ПЕРША СПРОБА СТВОРИТИ
ІНВЕРТОВАНИЙ ІНДЕКС
 Для того, що б отримати виграш в швидкості
необхідно побудувати інвертований індекс
завчасно.
 Процес складається з наступних етапів:
 Збираємо документи, що підлягають індексації
 Робимо розмітку тексту, перетворюючи кожний
документ в список лексем (tokens)
 Проводимо попередню лінгвістичну обробку,
створюємо список нормалізованих лексем, що
являють собою терміни, що індексуються
 Індексуємо документи, в яких зустрічається
термін, створюючи інвертований індекс
 Ранні етапи обробки 1-3 будуть розглянуті в
наступній лекції, тому поки, що на них не
зупиняємося. Поки, що лексеми і
нормалізовані лексеми, будемо вважати
майже еквівалентами слів.
ПЕРША СПРОБА СТВОРИТИ
ІНВЕРТОВАНИЙ ІНДЕКС
 Уявимо, що перших три етапи виконані.
 Розглянемо процес створення
інвертованого індексу на основі
індексування з сортуванням.
 Будемо вважати, що в колекції кожен
документ має унікальний номер, який
часто називається ідентифікатором
документа (docID).
 При побудові індексу ми можемо надавати
новий номер кожному новому документу
послідовно.
ПЕРША СПРОБА СТВОРИТИ
ІНВЕРТОВАНИЙ ІНДЕКС
 Вихідною інформацією для індексування є
список нормалізованих лексем для кожного
документу, який ми можемо розглядати як
список пар «термін – docID».
 Основним етапом в процесі індексування є
таке сортування списку, в результаті якої
терміни розташовуються в алфавітному
порядку. Після чого, багаторазові повторення
терміну в одному документі об’єднуються.
 Після чого екземпляри одного і того ж терміну
групуються, а результат розділяється на
словник і словопозиції.
 Після чого списки позицій сортуються по
ідентифікаторам документів.
ПЕРША СПРОБА СТВОРИТИ
ІНВЕРТОВАНИЙ ІНДЕКС
 Така структура інвертованого індексу
майже не має конкурентів, оскільки є
найбільш ефективною для текстового
пошуку по довільному запиту.
ПЕРША СПРОБА СТВОРИТИ
ІНВЕРТОВАНИЙ ІНДЕКС
 В результаті ми «платимо» за зберігання
словника і списків словопозицій.
 Списки вимагають багато місця тому
зазвичай зберігаються на жорсткому
диску, а словники в пам’яті.
 Тому тут дуже важлива оптимізація. Ми
спробуємо поговорити про це пізніше.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Як відбувається обробка запитів за
допомогою інвертованого індексу і базової
моделі булевого пошуку?
 Розглянемо обробку простого
кон’юнктивного запиту (simple conjunctive
query)
 Brutus and Calpumia
 по інвертованому індексу.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Ця обробка зводиться до наступного.
 1. Виявляємо термін Brutus в словнику.
 2. Знаходимо список його словопозіцій.
 3. Виявляємо термін Calpumia в словнику.
 4. Знаходимо список його словопозіцій.
 5. Знаходимо перетин цих двох списків.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Операція перетину (intersection) є
надзвичайно важливою.
 Існує простий і ефективний метод
перетину списку словопозицій за
допомогою алгоритму злиття.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ

ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Цей підхід можна узагальнити для
обробки і більш складних запитів
 (Brutus OR Caesar) AND NOT Calpurnia
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Оптимізація запиту - це вибір такого
способу організації обробки запиту, щоб
можна було мінімізувати загальний обсяг
роботи, яку повинна виконати система.
 Основним фактором, що впливає на
ефективність обробки булевих запитів є
порядок, в якому здійснюється доступ до
списків словопозіцій.
 Який найкращий порядок обробки запиту?
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Розглянемо запит, що складається з t термінів,
об'єднаних операцією AND. Наприклад:
 Brutus AND Caesar AND Calpumia
 Для кожного з t термінів необхідно спочатку знайти
списки словопозіцій, а потім застосувати до них
операцію AND.
 На практиці використовується стандартний
евристичний прийом, який полягає в тому, що терміни
обробляються в порядку зростання частоти документів.
 Якщо почати з перетину двох найменших списків
словопозицій то всі проміжні результати не повинні
перевищувати найменшого списку словопозицій, а
значить, ми виконаємо при цьому найменший обсяг
роботи.
 Це перший аргумент на користь того, щоб
підраховувати частоту термінів у словнику це дозволяє
ухвалити рішення про впорядкування на основі даних,
що зберігаються в пам'яті комп'ютера, не вимагаючи
доступу до списків словопозіцій.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Розглянемо тепер оптимізацію запитів більш
загального вигляду.
 (Madding AND crowd) AND (ignoble OR strife) AND
(killed OR slain)
 Як і раніше, визначимо частоту кожного
терміна, а потім отримаємо оцінки зверху
 розміру для кожного оператора OR
підсумовуючи частоти його операндів.
 Після цього запит можна обробляти в порядку
зростання розміру кожного диз’юнктного
терміна.
 Для довільних булевих запитів ми повинні
знайти і тимчасово зберегти відповіді для
проміжних виразів, що входять у більш складні
висловлювання.
ОБРОБКА БУЛЕВИХ ЗАПИТІВ
 Однак у багатьох простих ситуаціях запити є
виключно кон'юнкція термінів.
 Це пояснюється або природою мови запитів, або
широкою популярністю такої форми запитів
серед користувачів.
 В цьому випадку замість перегляду об'єднаних
списків словопозицій за допомогою функції, що
має два вхідних аргументу і окремо
повертається значення, ефективніше перетнути
всі результуючі списки словопозіцій з поточним
проміжним результатом у пам'яті.
 При цьому проміжний результат ініціалізується
шляхом завантаження списку словопозіцій
самого рідко зустрічаємого терміну.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Альтернативою моделі булевого пошуку є
моделі пошуку з ранжируванням (ranked
retrieval models), наприклад модель
векторного простору в рамках яких
користувачі в основному застосовують
вільні текстові запити (free text queries),
тобто набирають одне або кілька слів, а
не використовують суворі мовні
конструкції з операторами; система ж
сама вирішує, які документи краще за інші
задовольняють цим запитам.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Незважаючи на десятиліття академічних
досліджень переваг ранжованого пошуку,
системи, засновані на моделі булевого
пошуку, до початку 1990-х років
(приблизна дата появи мережі World Wide
Web), 30 років залишалися основним або
навіть єдиним засобом пошуку у великих
комерційних інформаційних службах.
 Однак ці системи використовували не
тільки логічні операції (AND, OR і NOT), які
ми розглядали до цього часу.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Суворі логічні вирази з термінами з
неупорядкованими результатами накладають
занадто багато обмежень при пошуку інформації
і не дозволяють повністю задовольнити
інформаційні запити користувачів, тому в цих
системах були реалізовані розширені моделі
булевого пошуку з додатковими операторами,
такими як оператори близькості термінів.
 Оператор розрахунку відстані між словами
запиту (proximity operator) дозволяє вказати,
наскільки близько один до одного повинні бути
розташовані терміни запиту в документі,
причому близькість між термінами може
вимірюватися кількістю слів між ними, або ж
задаватися структурними одиницями, наприклад
реченнями або абзацами.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Приклад Комерційна служба булевого пошуку:
Westlaw.
 Westlaw (http://www.westlaw.com/) - найбільша
юридична пошукова служба (по кількості
передплатників).
 Щоденно півмільйона її передплатників
виконують мільйони пошукових запитів в
десятках терабайтів текстових даних.
 Вона заснована в 1975 році.
 У 2005 році булевий пошук (який в системі
Westlaw називається Terms and Connectors)
залишався основним механізмом пошуку і
використовувався великою кількістю
користувачів, хоча ще в 1992 році у них
з'явилася можливість представляти вільні
текстові запити (які в системі Westlaw
називаються Natural Language).
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Розглянемо кілька прикладів булевих запитів в
системі Westlaw.
 Інформаційні потреби: інформація про юридичних
теорії, пов'язані із запобіганням розкритю
комерційної таємниці звільненими працівниками,
які перейшли на службу в конкуруючі компанії.
 Запит: "trade secret" /s disclos! /s prevent /s employee!
 Інформаційні потреби: вимоги людей з
обмеженими можливостями, що стосуються
доступу до робочого місця.
 Запит: disab! /p access! /s work-site work-place
(employment / 3 place)
 Інформаційні потреби: справи, що стосуються
відповідальності господарів за поведінку п'яних
гостей.
 Запит: host! /p (responsib! liab!) /p (intoxicat! drunk!) /p
guest
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Зверніть увагу на довгий і точний запит і використання
операторів близькості не характерних для вебу.
 У середньому запити складаються з десяти слів.
 На відміну від правил, встановлених в Інтернет,
пробіли між словами є диз'юнкцію, символ & означає
оператор AND, а символи / s, / р і / к встановлюють
пошук збігів в одному і тому ж реченні, в абзаці або в
околиці k слів відповідно.
 Подвійні лапки означають фразовий пошук (phrase
search), тобто пошук послідовних слів.
 Знак оклику (!) являє собою замикаючий джокер;
таким чином, слово liab! відповідає всім словами, що
починаються літерами liab.
 Слова work-site відповідають будь-якому варіанту:
worksite, work-site і work site.
 Типовий запит експерта зазвичай ретельно
формулюється і поступово уточнюється, поки не
призведе до бажаного результату.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Багато користувачів, особливо
професіонали, надають перевагу
булевому пошуку.
 Такі запити відрізняються точністю:
документ відповідає запиту або ні.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Ми розглянули структуру і процес
створення базового інвертованого
індексу, включаючи словник і списки
словопозицій.
 Ми ввели модель булевого пошуку

 Далі ми більш докладніше розглянемо


складніші моделі запитів і складніші
структури індексів, необхідні для
ефективної обробки таких запитів.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 Перерахуємо наші побажання:
 1. Ми хотіли б краще визначати набір
термінів у словнику і здійснювати пошук,
малочутливий до помилок і нечіткому
вибору слів.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 2. Часто хотілося б мати можливість
знаходити складені слова чи фрази, що
позначають якесь поняття, наприклад
"операційна система".
 Як свідчать приклади, пов'язані з системою
Westlaw хотілося б також мати можливість
формулювати запити про близькість термінів,
наприклад Gates NEAR Microsoft.
 Для відповіді на такі запити індекс повинен
бути істотно доповнений, щоб відображати в
якійсь формі близькість між термінами в
документі.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 3. Модель булевого пошуку дозволяє лише
визначити наявність або відсутність
терміна, але часто хотілося б
використовувати більше доступної нам
інформації, наприклад, ми могли б
присвоювати більшу вагу документом, у
яких термін зустрічається кілька разів, і
меншу вагу - документам, в яких термін
зустрічається лише один раз .
 Для цього в список словопозицій необхідно
ввести інформацію про частоту терміна,
тобто про кількість появ терміну в
документі.
ПОРІВНЯННЯ РОЗШИРЕНОЇ БУЛЕВОЇ
МОДЕЛІ І РАНЖОВАНОГО ПОШУКУ
 4. У відповідь на булеві запити просто
повертається (невпорядкована) безліч
документів, але зазвичай нам необхідний
ефективний метод, що б дозволяв
впорядкувати (ранжувати) результати
пошуку.
 Для цього потрібен механізм визначення
рангу документа, який включав би в себе
ступінь відповідності документа запиту.
 Ваші запитання.
 Дякую за увагу.
ЛЕКЦІЯ 2. ЛЕКСИКОН І
СПИСКИ СЛОВОПОЗИЦІЙ
Методи інформаційного пошуку
Глибовець А.М.
ЗГАДАЄМО ПОПЕРЕДНЮ ЛЕКЦІЮ
Документи, що Friends, Romans, countrymen.
мають бути
проіндексовані.

46
Tokenizer

Виокремлення лексем. Friends Romans Countrymen

Linguistic modules

Модифікація лексем. friend roman countryman

Indexer friend 2 4
roman 1 2
Інвертований індекс.
countryman 13 16
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Цифровий документ – послідовність бай в
файлі або на веб-сервері.
 На першому етапі обробки –
перетворюємо в лінійну послідовність
символів.
 Для англійського тексту набраного в
системі кодування ASCII задача
тривіальна.
 Але якщо ми не знаємо кодування?
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Для початку необхідно визначити вірне
кодування.
 Цю проблему можна інтерпретувати як
задачу класифікації на основі машинного
навчання.
 Але на практиці вона вирішується за
допомогою евристичних методів.
 Наприклад: метадані документа.
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Після виявлення кодування послідовність
байт перетворюється в послідовність
символів.
 Зауваження:
 Кодування необхідно зафіксувати, так як це
дає нам змогу зробити припущення про мову
документу.
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Інколи символи необхідно декодувати з
двійкового представлення, наприклад з
doc-файлу або архівних файлів.
 Відповідно спочатку необхідно визначити
формат документу і обрати необхідний
декодер.
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Навіть для простих текстових документів
може знадобитися додаткове
декодування.
В XML & -> &
 Ну і в кінці текстову частину документа
можливо прийдеться відокремити від
іншого матеріалу.
 На цій проблемі ми більше не будемо
зупинятися і будемо вважати, що
документи являють собою списки
символів.
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 Але трактовка документу як лінійної
послідовності символів часто є
неадекватною в деяких системах
писемності.
В арабській мові текст двовимірний і не має
строгого порядку слідування символів

 ← → ←→ ←
start
СХЕМАТИЗАЦІЯ ДОКУМЕНТА І
ДЕКОДУВАННЯ ПОСЛІДОВНОСТІ
СИМВОЛІВ
 На наступному етапі визначається
структурна одиниця документа для
індексування.
ВИБІР СТРУКТУРНОЇ ОДИНИЦІ
ДОКУМЕНТА
 До цього часу ми припускали, що
документи являють собою фіксовані
одиниці, що мають бути проіндексовані.
 Наприклад: кожний файл в каталозі –
документ.
 Але дуже часто це не так.
 Наприклад:
 поштові повідомлення за вкладеними файлами
 Архіви

 Презентація pptx в HTML форматі

 …
ВИБІР СТРУКТУРНОЇ ОДИНИЦІ
ДОКУМЕНТА
 Для дуже великих документів виникає
проблема деталізації індексування
(indexing granularity).
 Працюючи з колекцією книжок,
недоцільно індексувати всю книжку як
один документ.
 Пошук за фразою Chinese toys може привести
до того, що слово Chinese буде знайдено на
початку книги, а toys в кінці.
 Замість цього краще індексувати кожну
главу або абзац як міні документ.
 Але де зупинитися?
ВИБІР СТРУКТУРНОЇ ОДИНИЦІ
ДОКУМЕНТА
 Проблеми, що виникають при роботі з
великими документами можна вирішити
за допомогою явного або неявного пошуку
з урахуванням близькості слів запиту в
документі.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Вхід: “Friends, Romans, Countrymen,
lend me your ears”
 Вихід: Лексеми
 Friends
 Romans
 Countrymen
 lend
 me
 your
 ears
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Ці лексеми інколи помилково називають
термінами або словами, але інколи
необхідно чітко відрізняти клас лексем і
екземпляр лексеми.
 Лексема (token) – екземпляр послідовності
символів в певному документі, об’єднаних в
семантичну одиницю для обробки.
 Тип (type) – клас всіх лексем, що
складаються з однієї й тої ж послідовності
символів.
 Термін (term) – це (можливо,
нормалізований) тип, включений в словник
системи інформаційного пошуку.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Основне питання, пов’язане з розбиттям
тексту на лексеми звучить так: «Як
правильно розділити текст на лексеми?»
 В прикладі, що ми розглянули відповідь
очевидна: ділимо текст по пробілам і
відкидаємо знаки пунктуації.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Але навіть в англійській мові все не так
просто.
 Mr. O’Neill thinks that the boys’ stories about
Chile’s capital aren’t amusing.
 Яке з розбиттів слова O’Neill правильне?
 А для aren’t?

 Основне правило: обробка запитів і


документів проводиться за допомогою
одного й того ж лексичного аналізатора.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Ці проблеми істотно змінюються відносно
до мови документа.
 Відповідно мова документа має бути
визначена до початку лексичного аналізу.
 Більшість мов мають характерні риси за
якими їх можна визначити.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 В більшості мов і конкретних предметних
областей існують незвичайні специфічні
лексеми, які необхідно розпізнавати як
терміни:
 С++, С#
 B-52
 192.168.0.10
 andriy@glybovets.com.ua
 http://distedu.ukma.kiev.ua
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 В принципі розбиття тексту за пробілами
приводить до розриву слів, які необхідно
розглядати разом:
 Верховна Рада
 Кабінет Міністрів України
 412 45 45
 10.09.2011
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
РОЗДІЛЕННЯ ТЕКСТУ НА ЛЕКСЕМИ
 Кожна нова мова породжує нові проблеми…
 Для вирішення цих проблем
використовуються методи сегментації на
слова.
 Ці методи дуже різноманітні:
 Використаннявеликого лексикону
 Машинне навчання
 І т.д.

 Інший підхід – відмова від індексації слів і


перехід до індексації коротких
послідовностей символів (незалежно від
того перетинають вони межі слова чи ні).
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТОП-СЛОВА.
 Інколи деякі дуже поширені слова, що не
містять смислового навантаження для
користувача взагалі виключаються з
лексикону.
 Вони називаються стоп-словами.

 Як правило, для утворення списку стоп-


слів терміни впорядковуються відносно
частоти в колекції, після чого найбільш
часто зустрічаємі терміни, в більшості
випадків вручну, включаються до списку
стоп-слів.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТОП-СЛОВА.
 Списки стоп-слів істотно зменшують
кількість позицій, що мають зберігатися в
системі.
 В більшості випадків ігнорування стоп слів
не викликає проблем.
 Однак при пошуку фраз це не так!
 To
be or not to be
 Що будемо робити?

 З часом довжина списків стоп-слів


скоротилася з 200-300 до 7-12, а в деяких
від них зовсім відмовилися.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
НОРМАЛІЗАЦІЯ
 Припустимо, що ваш документ і запит вже
розділені на лексеми.
 В самому простому варіанті лексеми в
запиті і лексеми в документі співпадають.
 Однак дуже часто, дві послідовності
символів не співпадають в точності.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
НОРМАЛІЗАЦІЯ
 Нормалізація лексем – процес приведення
лексем до канонічної форми, що б усунути
неістотні різниці між послідовностями
символів.
 Самий поширений спосіб – створення
класів еквівалентності.
 Неявне створення класів еквівалентності
 Створення класів еквівалентності вручну
(додавання синонімів …)
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
НОРМАЛІЗАЦІЯ
 В якості альтернативи розширення можна
виконувати в ході побудови індекса.
 Якщо документ містить слово automobile то
ми його індексуємо в тому числі і терміном
car.
 Можливе асинхронне розширення:
 Термін запиту Windows
 Терміни в документі:Windows

 Термін запиту windows

 Терміни в документі:Windows, windows, window

 Термін запиту window

 Терміни в документі:windows, window


ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
НОРМАЛІЗАЦІЯ
 Не зрозуміло, до якого ступеню необхідно
виконувати класи еквівалентності і
розширення запитів.
 U.S.A -> USA
 C.A.T -> cat
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
НОРМАЛІЗАЦІЯ
 Розглянемо широко використовувані види
нормалізації.
 Наголоси і діакричні символи
 Видаляємо діакричні символи під час нормалізації
 Використання заглавних літер/обробка
без врахування регістру
 Як правило ігнорується регістр літер. Наприклад
всі літери переводяться в нижній регістр.
 Найкращий вихід – еврестичний перевід.
Наприклад лише лексем, що починають речення.
 Дати і час
 Загальноприйняті скорочення
 КОЖНА МОВА МАЄ СВОЇ ВЛАСНІ
ПРОБЛЕМИ
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 З граматичних причин в документах
зустрічаються різні форми однакових слів.
 Приклад:
 organize
 organizes
 organizing

 Існують цілі родини похідних слів, що


мають близький зміст
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Мета стемінгу і лематизації – привести
словоформи і похідні форми слова до
спільної форми.
 Приклад:
 am, are, is => be
 car,cars, car’s, cars’ => car

 В результаті перетворень може виникнути


наступне перетворення тексту:
 The boy’s cars are different colors =>
 The boy car be different color
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Однак стемінг відрізняється від лематизації.
 Стемінгом зазвичай називають наближений
евристичний підхід, в ході якого від слів
відкидається закінчення в розрахунку на те,
що в більшості випадків це себе виправдає.
 Стеммінг часто використовує видалення похідних
афіксів.
 Лематизація це точний процес з
використанням лексикону і морфологічного
аналізу слів, в результаті якого видаляються
лише флективні закінчення і повертається
основна, або словарна, форма слова, що
називається лемою.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Наприклад лексема saw в процесі стемінга
може перетворитися в літеру s, в той час
як лематизація поверне або слово see, або
слово saw в залежності від того являється
лексема глаголом чи іменником.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Стемінг і лематизація часто виконується
допоміжними програмними комплексами
або бібліотеками.
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Найбільш поширеним алгоритмом
стемінга є алгоритм Портера (Porter,1980).
 Досить складний алгоритм.

 Складається з п’яти кроків скорочення


слова.
 На кожному етапі – різні правила.

 http://tartarus.org/~martin/PorterStemmer/
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Існують і інші алгоритми.
 Алгоритм Ловінса (Lovins, 1968)

 Алгоритм Пейса-Хаска (Paice, Hask, 1990)

 http://www.comp.lancs.ac.uk/computing/rese
arch/stemming/
ВИЗНАЧЕННЯ ЛЕКСИКОНУ ТЕРМІНІВ.
СТЕМІНГ І ЛЕМАТИЗАЦІЯ
 Замість алгоритму стемінгу можна
використовувати лематизатор.

 Стемінг підвищує повноту але знижує


точність пошуку.
 operative (dentistry) ⇒ oper
 operational (research) ⇒ oper

 operating (systems) ⇒ oper

 Лематизація – дуже сильно знижує


продуктивність.
Sec. 2.3
ШВИДКИЙ ПЕРЕТИН ІНВЕРТОВАНИХ
СПИСКІВ ЗА ДОПОМОГОЮ ВКАЗІВНИКІВ
ПРОПУСКІВ
 В загальному випадку ми пробігаємо
одночасно по двом спискам

2 4 8 41 48 64 128 Brutus
2 8
1 2 3 8 11 17 21 31 Caesar

Якщо довжина списків m та n, перетин займе O(m+n)


операцій.

Чи можемо ми зробити краще?


Так (якщо індекс не змінюється дуже швидко).
80
Sec. 2.3
ШВИДКИЙ ПЕРЕТИН ІНВЕРТОВАНИХ
СПИСКІВ ЗА ДОПОМОГОЮ ВКАЗІВНИКІВ
ПРОПУСКІВ
41 128
2 4 8 41 48 64 128

11 31
1 2 3 8 11 17 21 31

 Навіщо?
 Щоб пропустити записи, що не будуть
фігурувати в видачі.
 Як?

 Де ми розміщаємо вказівники пропусків?

81
Sec. 2.3
ШВИДКИЙ ПЕРЕТИН ІНВЕРТОВАНИХ
СПИСКІВ ЗА ДОПОМОГОЮ ВКАЗІВНИКІВ
ПРОПУСКІВ
41 128
2 4 8 41 48 64 128

82
11 31
1 2 3 8 11 17 21 31

Ми йдемо по спискам поки не досягнемо комірок


з 8 on each list. Порівнюємо їх видаємо як
результат.
Далі ми маємо 41 і 11. 11 менше.

Але вказівник пропусків 11 в меншому списку 31,


таким чином ми можемо скористатися пропуском.
Sec. 2.3
ШВИДКИЙ ПЕРЕТИН ІНВЕРТОВАНИХ
СПИСКІВ ЗА ДОПОМОГОЮ ВКАЗІВНИКІВ
ПРОПУСКІВ
 Де краще ставити пропуски:
 Більше пропусків  коротші переходи 
більша вірогідність переходу. Зростає
пам’ять для їх збереження і зростає кількість
порівнянь з вказівниками пропусків.
 Менше пропусків  менше кількість
порівнянь, довший крок пропуску  менша
вірогідність пропуску.

83
Sec. 2.3
ШВИДКИЙ ПЕРЕТИН ІНВЕРТОВАНИХ
СПИСКІВ ЗА ДОПОМОГОЮ ВКАЗІВНИКІВ
ПРОПУСКІВ
 Евристичні правила: для списку довжиною
L, необхідно використовувати L
рівномірно розташованих вказівників
пропусків.
 Легко якщо L майже не змінюється, в
протилежному випадку дуже складно.

 Необхідно відзначити що даний метод


дуже сильно залежить від апаратного
устаткування.

84
СЛОВОПОЗИЦІЇ З КООРДИНАТАМИ І
ФРАЗОВІ ЗАПИТИ
 Ми хотіли б мати можливість здійснювати
пошук на зразок “stanford university” –
як фрази
 Тому “I went to university at Stanford” такий
результат не є релевантним.
 Знайомий синтаксис подвійних кавичек
 Лише 10% являють собою явні фразові
запити, набагато більше прихованих
 Тому нам вже недостатньо зберігати лише
пару
<term : docs>
ПЕРША СПРОБА: ДВОСЛОВНИЙ
ІНДЕКС
 Індекс включає в себе кожну послідовну
пару термінів в документі як фразу
 Для прикладу текст “Friends, Romans,
Countrymen” буде опрацьований як
 friends
romans
 romans countrymen

 Кожна з цих фраз тепер є записом


словника термінів
 Це одразу дає нам можливість
опрацьовувати двофразові запити.
Sec. 2.4.1

ПЕРША СПРОБА: ДВОСЛОВНИЙ


ІНДЕКС
 Навіть довші запити можуть бути
опрацьовані, якщо їх спеціально розбити:
 stanford university palo alto може бути
перетворений на:
stanford university AND university palo
AND palo alto

Без перевірки документів в видачі не


можливо переконатися, що документи
задовольняють цьому булевому запиту.

Може мати хибно позитивні відповіді!


87
Sec. 2.4.1

ПОКРАЩЕНИЙ ДВОСЛОВНИЙ
ІНДЕКС
 Розбиваємо текст на лексеми і виконуємо
розмітку за частинами мови part-of-speech-
tagging (POST).

88
 Групуємо по частинам мови по іменникам і
власним іменникам (N) і службові слова,
включаючи артиклі і прийменники (X).
 Тепер будь яку стрічку можна представити у
вигляді NX*N тобто як розширену фразу з
двох слів.
 Кожна така фраза тепер є терміном в лексиконі.
 Приклад: renegotiation of the constitution
N X X N
 Запит необхідно перетворити подібним
чином.
Sec. 2.4.2

РІШЕННЯ 2: КООРДИНАТНІ ІНДЕКСИ


 Для кожного терміна з лексікону
зберігаються словопозиції в форматі:

89
<docID: position1, position2 … ;>
Sec. 2.4.2

РІШЕННЯ 2: КООРДИНАТНІ ІНДЕКСИ

<be: 993427;

90
1: 7, 18, 33, 72, 86, 231;
Який з документів 1,2,4,5
2: 3, 149; Може містити “to be
4: 17, 191, 291, 430, 434; or not to be”?

5: 363, 367, …>


 Ми використовуємо алгоритм злиття
 Але тепер ми ще й маємо враховувати
відстань в координатах
Sec. 2.4.2

РІШЕННЯ 2: КООРДИНАТНІ ІНДЕКСИ


 Видобуваємо інвертований індекс для
кожного з термінів: to, be, or, not.
 Перетинаємо їх doc:position списки щоб

91
отримати усі позиції з “to be or not to
be”.
 to:

 2:1,17,74,222,551; 4:8,16,190,429,433;
7:13,23,191; ...
 be:

 1:17,19; 4:17,191,291,430,434;
5:14,19,101; ...
Sec. 2.4.2

РІШЕННЯ 2: КООРДИНАТНІ ІНДЕКСИ


 LIMIT! /3 STATUTE /3 FEDERAL /2 TORT
 Знову, тут, /k мається на увазі “в околиці k

92
слів”.
 Координатні індекси з легкістю можуть
задовільняти таким запитам а от
двословні ні.
Sec. 2.4.2

РОЗМІР КООРДИНАТНОГО ІНДЕКСУ


 Координатний індекс займає НАБАГАТО
більше місця, навіть якщо
використовувати компактне

93
представлення координат яке ми будемо
розглядати пізніше.
 Значно ускладнюється перетин
інвертованих списків.
Sec. 2.4.2

ЕМПІРИЧНІ ПРАВИЛА
 Координатний індекс в 2–4 рази більший
за звичайний

94
 Координатний індекс займає 35–50% від
розміру оригіналу
Sec. 2.4.3

КОМБІНОВАНІ СХЕМИ
 Ці два підходи можуть бути скомбіновані
 Для окремих фраз (“Michael Jackson”,

95
“Britney Spears”) є неефективним тримати
координатний список
 Навіть для таких фраз “The Who”
 Дякую за увагу.

96
ЛЕКЦІЯ 3. СЛОВНИКИ І
НЕЧІТКИЙ ПОШУК
Глибовець А.М.
СЛОВНИКИ І НЕЧІТКИЙ ПОШУК
 Нечіткий пошук. В англомовній літературі
найчастіше зустрічається термін “fuzzy”
чим “tolerant”.
 Тому вибраний більш зрозумілий
український термін – нечіткий чим
толерантний.
СЛОВНИКИ І НЕЧІТКИЙ ПОШУК
 В цій лекції ми розглянемо методи, що
стійкі до описок (“очепяток”) в запитах і
альтернативним варіантам написання
слів.
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 Маючи інвертований індекс і запит,
необхідно визначити, чи існує в лексиконі
кожний термін з запиту і у випадку
наявності визначити словопозицію.
 В цій операції перегляду лексикону
використовується класична структура
даних – словник.
 Для її реалізації існує два сімейства
методів: хешування і дерева пошуку.
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 В літературі по структурам даних
елементи лексикону часто називають
ключами (keys).
 Вибір рішення (хешування або дерево)
залежить від багатьох обставин:
 Скільки ключів необхідно
 Залишиться це число незмінним чи буде
часто змінюватися
 Хочете ви тільки включати в словник чи ще й
виключати?
 Яка відносна частота звернень до різних
ключів
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 Деякі пошукові системи для перегляду
словника використовують хешування.
 Кожний елемент словника (ключ)
відображується в ціле число (хешується)
на достатньо великому інтервалі, в якому
маловірогідні колізії.
 Колізії вирішуються за допомогою
допоміжних структур.
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 В момент запиту кожний термін запиту
хешується окремо, після чого
здійснюється перехід по вказівнику на
відповідний запис.
 Нажаль близькі варіанти терміну із запиту
знайти нелегко (вони будуть мати
абсолютно різні числа).
 В середовищах де розмір лексикону
постійно збільшується, хеш-функція, що
працює з урахуванням теперішньої
ситуації, через декілька років уже може
виявитися непрацездатною.
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 Багато з цих проблем вирішуються за
допомогою дерев пошуку.
 Наприклад вони дозволяють знаходити всі
терміни, що починаються з слова automat.
 Найбільш відомим деревом пошуку є
двійкове дерево.
 Пошук починається з кореня.

 Кожний вузол являє собою двійковий тест,


в залежності від результату якого пошук
продовжується по лівому або правому
піддереву.
Sec. 3.1

БІНАРНЕ ДЕРЕВО
Root
a-m n-z

a-hu hy-m n-sh si-z

t
le
ens
ark

o
zyg
k
sic
g
dv

huy
aar
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 Ефективний пошук (при якому кількість
порівнянь складає O(logM)) вимагає, що б
дерево було збалансованим: кількість
термінів в обох півдеревах було рівним,
або відрізнялося на 1.
 ТОМУ стає принциповим питання
відновлення балансу після вставки нового
терміну.
ПОШУКОВІ СТРУКТУРИ ДЛЯ
СЛОВНИКІВ
 Для того, що б спростити відновлення
балансу, можна припустити наявність
декількох піддерев у кожного
внутрішнього вузла в фіксованому
діапазоні.
 Як правило, для організації словників
використовується В-дерево – дерево,
кількість дочірніх вузлів якого у кожного
внутрішнього вузла змінюється в діапазоні
[a,b], де а і b – додатні цілі числа.
B-ДЕРЕВО

a-hu n-z
hy-m
ЗАПИТИ З ДЖОКЕРОМ
 Запити з джокерами використовуються в
наступних ситуаціях:
 1. Коли користувач не знає як вірно
пишеться термін (Sydney або Sidney ->
S*dney)
 2. Коли користувач знає про існування
декількох варіантів написання терміна (color
і colour)
 3. Коли користувач шукає документи, що
містять варіант терміна, уніфікований в
результаті стемінга
 4. Коли користувач не впевнений в вірності
написання фрази
ЗАПИТИ З ДЖОКЕРОМ
 Запит, що має вид, mon*, називається
запитом з замикаючим джокером.
 Для обробки таких запитів зручно
використовувати дерево пошуку над
словником.
ЗАПИТИ З ДЖОКЕРОМ
 А що сказати про шаблонні запити в яких
* стоїть не в кінці?
 Перед тим як вирішувати цю задачу,
розглянемо невелике узагальнення
запита з замикаючим джокером.
 Розглянемо запити з ведучим джокером
(*mon).
ЗАПИТИ З ДЖОКЕРОМ
 Для вирішення цієї задачі можна
використати зворотні B-дерева.
 Термін lemon буде записаний як root-n-o-m-e-l.
 Прохід по зворотному B-дереву надає нам
можливість знайти всі терміни, що мають
заданий суфікс.
ЗАПИТИ З ДЖОКЕРОМ
 Фактично за допомогою звичайного В-
дерева і зворотного В-дерева можна
вирішити ще більш загальну
задачу:обробка запитів, в яких присутній
символ *.
 Наприклад se*mon
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ
 Розглянемо два методи обробки запитів з
джокером загального виду.
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. ПЕРЕСТАНОВОЧНІ
ІНДЕКСИ
 Введемо спеціальний символ $, що
означає кінець терміна.
 Відповідно термін hello –> hello$.
 Після чого будуємо перестановочний
індекс термінів, в якому всі варіанти
отримані циклічною перестановкою
символів вихідного терміна.
 hello -> hello$, ello$h, llo$he, lo$hel, o$hell,
$hello
 Цей набор називається лексиконом
перестановок.
 Як цей індекс допомагає оброблювати
запити з джокером?
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. ПЕРЕСТАНОВОЧНІ
ІНДЕКСИ
 Розглянемо запит з джокером m*n.
 Ключовий момент застосувати до запиту
циклічну перестановку так, щоб символ *
розташувався в кінці стрічки.
 Таким чином запит приймає вигляд: n$m*

 Далі шукаємо цю стрічку в перестановочному


індексі, в ході якого пошук терміна n$m*
приводить до знаходження перестановок
(крім інших) термінів man і moron.
 Таким чином ми можемо опрацювати будь-
який запит з одним джокером.
 А що робити у випадку запиту fi*mo*er?
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. ПЕРЕСТАНОВОЧНІ
ІНДЕКСИ
 Ми переглянемо всі терміни словника, що
належать перестановочному індексу
er$fi*.
 І після цього залишимо лише ті, що
містять в середині mo.
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 Не дивлячись на простоту
перестановочного індексу його
використання може привести до
надмірного збільшення (для англійського
словника термінів це збільшення майже
10-ти кратне).
 Розглянемо тепер к-грамний індекс.
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 К-грама (k-gram) – це послідовність, що
складається з к символів.
 Таким чином cas, ast, stl – це 3-грами, що
містяться в терміні castle.
 Для визначення початку або кінця терміна
використовується спеціальний символ $.
 Так, що повний набір 3-грам слова castle
буде виглядати наступним чином:
 $ca, cas, ast, stl, tle і le$
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 При використанні к-грамного індекса
словник містить всі к-грами, утворені з
усіх термінів лексикону.
 Кожний інвертований список ставить у
відповідність к-грамі всі терміни
лексикону, що містять дану к-граму.
Sec. 3.2.2

BIGRAM (K-GRAM) INDEXES


 З тексту “April is the cruelest month” ми
отримаємо 2-грами (біграми)

$a,ap,pr,ri,il,l$,$i,is,s$,$t,th,he,e$,
$c,cr,ru, ue,el,le,es,st,t$,
$m,mo,on,nt,h$
Sec. 3.2.2
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 Тут використана біграма (к=2).

$m mace madden

mo among amortize

on along among

Як опрацювати тепер запит з джокером за допомогою


такого індексу?
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 Розглянемо в якості запиту re*ve.
 Ми шукаємо документи, що містять любий
термін, що починається з префікса re і
закінчуються суфіксом ve.
 Відповідно, необхідно обробити булевий
запит $re AND ve$
 Пошук проводить по 3-грамному індексу.
 В результаті виникає список термінів,
таких як, relive, remove і retrieve.
 Після чого здійснюється пошук цих
термінів в стандартному інвертованому
індексі і знаходяться документи, що
відповідають даному запиту.
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 Однак з використанням к-грамних індексів
пов’язана одна трудність, для усунення
якої необхідний ще один крок.
 Розглянемо використання 3-грамного
індекса, для обробки запита red*.
 Слідуючи алгоритму формуємо булевий
запит $re AND red
 В результаті виходить, що йому
відповідають такі терміни як retired, але
вони ж не відповідають вихідному
шаблону
ЗАПИТИ З ДЖОКЕРОМ ЗАГАЛЬНОГО
ВИГЛЯДУ. К-ГРАМНИЙ ІНДЕКС ДЛЯ
ШАБЛОННИХ ЗАПИТІВ
 Для того, що б справитися з цією
проблемою вводиться новий етап –
постфільтрація, в ході якої всі терміни,
отримані в результаті виконання булевого
запиту до 3-грамного індексу, окремо
порівнюються з вихідним шаблоном.
ВИПРАВЛЕННЯ ОПЕЧАТОК
(ДРУКАРСЬКИХ ПОМИЛОК).
РЕАЛІЗАЦІЯ ВИПРАВЛЕННЯ
 В основі більшості алгоритмів
виправлення опечаток лежать два
фундаментальних принципи:
 1. З усіх альтернативних вірних способів
написання спотвореного запиту
вибирається “найближчий”. Для цього нам
необхідна міра близькості між двома
запитами.
 2. Якщо два вірно записані запити
пов’язані (або майже пов’язані) один з
одним, то вибирається більш поширений
варіант. Наприклад запити grunt і grant
виглядають однаково підходящими для
виправлення запиту grnt.
ВИПРАВЛЕННЯ ОПЕЧАТОК
(ДРУКАРСЬКИХ ПОМИЛОК).
РЕАЛІЗАЦІЯ ВИПРАВЛЕННЯ
 Функціональність виправлення помилок
представляються користувачу одним з
наступних способів:
 1. У відповідь на запит carot завжди повертаються
документи, що містять слово carot, а також усі
можливі “виправлені” варіанти цього слова,
включаючи carrot і tarot.
 2. Аналогічно п.1, але тільки якщо в словнику немає
слова carot.
 3. Аналогічно п.1, але тільки якщо у відповідь на
оригінальний запит система повернула менше n
документів.
 4. Якщо кількість документів, що повернулися у
відповідь на запит, менша встановленого порогу,
система пропонує користувачу варіант виправлення.
ОПЕЧАТКИ. МЕТОДИ ВИПРАВЛЕННЯ.
 Методів існує багато, тому зупинимося на
двох:
 виправлення ізольованого терміну
 виправлення з урахуванням контексту
ОПЕЧАТКИ. ВИПРАВЛЕННЯ
ІЗОЛЬОВАНОГО ТЕРМІНУ. ВІДСТАНЬ
РЕДАГУВАННЯ.
 Відстань редагування між двома стрічками
символів s1 і s2 – це мінімальна кількість
операцій редагування, за допомогою яких
стрічку s1 можна трансформувати в стрічку
s2.
 Операції редагування:
 Вставка символу
 Видалення символу
 Заміна символу

 На вказаному наборі операцій відстань


редагування називається відстань
Левенштейна.
 Яка відстань редагування між cat і dog?
ОПЕЧАТКИ. ВИПРАВЛЕННЯ
ІЗОЛЬОВАНОГО ТЕРМІНУ. ВІДСТАНЬ
РЕДАГУВАННЯ.
 Відстань редагування можна узагальнити
якщо операціям присвоїти ваги.
 Наприклад операції заміни s на p, можна
присвоїти більшу вагу ніж s -> a (вони
близько розташовані на клавіатурі).
 Однак ми для простоти будемо вважати
що всі операції мають однакову вагу.
ОПЕЧАТКИ. ВИПРАВЛЕННЯ
ІЗОЛЬОВАНОГО ТЕРМІНУ. ВІДСТАНЬ
РЕДАГУВАННЯ.
 Гарно відомо, як обрахувати відстань
редагування між двома строками за час
O(|s1|x|s2|), де |si| - довжина стрічки si
 Для цього використовується алгоритм
динамічного програмування, де стрічки
представлені у вигляді масивів.
 http://www.merriampark.com/ld.htm
ОПЕЧАТКИ. ВИПРАВЛЕННЯ
ІЗОЛЬОВАНОГО ТЕРМІНУ. ВІДСТАНЬ
РЕДАГУВАННЯ.
 Для виправлення опечаток недостатньо
вміти обраховувати відстань редагування:
для заданих множин стрічок V (терміни в
лексиконі) і строки запиту q необхідно
знайти стріку або множину стрічок з
множини V з мінімальною відстанню
редагування до запиту q.
 Обмеження лише термінами словника що
починаються з тієї ж літери.
ОПЕЧАТКИ. ВИПРАВЛЕННЯ
ІЗОЛЬОВАНОГО ТЕРМІНУ. К-ГРАМНІ
ІНДЕКСИ
 Для того, що б ще більше обмежити
множину термінів лексикона, для яких
обраховується відстань редагування до
термінів з запиту, можна використати к-
грамний індекс.
 Цей індекс дозволяє знайти в лексиконі
терміни з невеликою відстанню
редагування до запита q.
 Знайшовши ці терміни, ми можемо
визначити серед них терміни з
мінімальною відстанню редагування до
запиту q.
К-грамний індекс для виправлення:
bordroom

134
134
ВИПРАВЛЕННЯ ОПИСОК З
ВРАХУВАННЯМ КОНТЕКСТУ

 Поки що використовуються евристичні


алгоритми
 Хотілося б використовувати онтології
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Останній метод, що використовується при
нечіткому пошуку, застосовується до
фонетичних виправлень.
 Коли користувач записує запит так як він
його чує.
 Особливо корисні для пошуку імен людей.

 Основна ідея – генерування “фонетичного


хешу”.
 Термінам, що звучать однаково ставимо
одне число у відповідність.
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Ідея виникла на початку ХХ століття в
міжнародних відділах поліції.
 В основному цей метод використовується
для виправлення помилок в власних
іменах.
 Алгоритми фонетичного хешування
називають алгоритмами Soundex.
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Схема виглядає так:
 1. Перетворюємо кожен термін в чотирьох
символьну скорочену форму. По цім
скороченим формам будуємо інвертований
індекс для пошуку вихідних термінів
(soundex-індекс)
 2. Робимо те ж саме для термінів запиту

 3.Якщо приходить запит на порівняння


строк за звучанням, виконуємо пошук по
індексу Soundex
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Як ви розумієте основна проблема –
перетворення термінів в
чотирьохсимвольне представлення.
 Самий поширений алгоритм дає результат
в якому на першому місці літера алфавіту,
три інші – цифри від 0 до 9.
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Алгоритм
 1. Запишемо першу літеру терміна
 2. Замінимо всі літери A, E, I, O, U, H, W, Y нулем ‘0’
 3. Замінимо букви цифрами наступним чином:
 B, F, P, V на 1
 C, G, J, K, Q, S, X, Z на 2
 D,T на 3
 L на 4
 M, N на 5
 R на 6
 4. Циклічно видалимо одну з кожної пари сусідніх
однакових цифр.
 5. З отриманої стрічки видалимо всі нулі.
 Доповнимо результат замикаючими нулями і
вернемо перші 4 позиції.
Приклад: перетворення HERMAN

141
Виокремили H
ERMAN → 0RM0N
0RM0N → 06505
06505 → 06505
06505 → 655
повернули H655
Спробуйте: HERMANN згенерує такий же код.

141
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Алгоритм заснований на наступних
спостереженнях:
 Голосні можуть замінювати одна одну в
транскрипції імен
 Приголосні з подібними звуками (наприклад
D,T) відносяться до одного класу
еквівалентності.
ФОНЕТИЧНІ ВИПРАВЛЕННЯ
 Не дуже гарно підходить до задач
інформаційного пошуку
 Гарно підходить для інших задач
(Інтерпол)
 Зобель і Дарт (1996) запропонували кращі
альтернативи для фонетичних
відповідностей в IR.
 Дякую за увагу.
Levenshtein distance: Algorithm

145
145
Each cell of Levenshtein matrix

146
Вартість того як Вартість того як
добратися сюди від добратися сюди від
верхнього лівого верхнього сусіда
сусіда (copy або (delete)
replace)
Вартість того як Мінімум з трьох
добратися сюди від можливих “рухів”;
лівого сусіда Найдешевший спосіб
(insert) сюди добратися

146
147
147
148
148
149
149
150
150
151
151
152
152
153
153
154
154
155
155
156
156
157
157
158
158
159
159
160
160
161
161
162
162
163
163
164
164
165
165
166
166
167
167
168
168
169
169
170
170
171
171
172
172
173
173
174
174
175
175
176
176
177
177
178
178
179
179
180
180
181
How do

I read out the editing operations that transform OSLO into SNOW?

181
182
182
183
183
184
184
185
185
186
186
ЛЕКЦІЯ 4. ПОБУДОВА
ІНДЕКСУ
Глибовець А.М.
ПЛАН
 На попередній лекції ми познайомилися з:
 Словниками і їх структурою a-hu n-z
hy-m
 Нечіткий пошук
 Джокери
 Виправлення помилок

 Soundex
$m mace madden

mo among amortize
 На цій лекції:
on abandon among
 Побудова індексу
Ch. 4

ПОБУДОВА ІНДЕКСУ
 Як ми будуємо індекс?
 Які стратегії обрати якщо ми
обмежені в ресурсах?
Sec. 4.1

ОБМЕЖЕННЯ АПАРАТНОЇ ЧАСТИНИ


 Дуже багато рішень, що приймаються в
інформаційному пошуку відштовхуються
від можливостей апаратного
устаткування
 Ми розглянемо які обмеження воно
накладає
Sec. 4.1

ОСНОВИ
 Доступ до даних, що розташовані в пам’яті
(5*10-9 с) набагато швидший чим доступ до
даних на диску (2*10-8 с).
 Час позиціонування: ніякі дані не можуть бути
зчитані поки головка диска переміщується на
ділянку пам’яті.
 Тому:
 Передача одного великого шматка даних буде
швидша ніж передача багатьох маленьких
 Дискові операції I/Oмають працювати з цілими
блоками (а не частинками)
 Передача даних з диска в пам’ять
оброблюється системною шиною, а не
процесором. Це значить, що в момент
виконання дискових операцій I/O процесор
може оброблювати дані
 Зберігаємо зжаті дані і потім їх розпаковуємо
Sec. 4.1

ОСНОВИ
 Сервери, що використовуються в IR
системах зараз мають по декілька GB
оперативної пам’яті, інколи десятки GB.
 Об’єм дискового простору в декілька
порядків більше.
 Підтримання 24/7 дуже дороге: набагато
простіше використовувати багато
звичайних комп’ютерів чим одну стійку до
відмов машину.
Sec. 4.2

RCV1: КОЛЕКЦІЯ
 Колекція документів, що ми розглядали
раніше (колекція творів Шекспіра), надто мала
для демонстрації багатьох ключових позицій
 Колекція, що ми будемо розглядати,
насправді, не надто велика але вона
загальнодоступна і більш придатна для наших
цілей
 Як приклад застосування наших алгоритмів ми
будемо використовувати колекцію Reuters
RCV1.
http://trec.nist.gov/data/reuters/reuters.html
 Це лише один рік видання Reuters (з 1995 по
1996)
Sec. 4.2

ПРИКЛАД ДОКУМЕНТУ RCV1


REUTERS RCV1 СТАТИСТИКА
Символ Показник Значення
N Документи 800000
Lave Середня кількість лексем в 200
тексті
M Терміни 400000
Середня кількість байт в 6
лексемі (включаючи проміжки і
знаки пунктуації)
Середня кількість байт в 4,5
лексемі (без проміжків і знаків
пунктуації)
Середня кількість байт в терміні 7,5
T лексеми 100000000
Sec. 4.2

Term Doc #

ЛЕКЦІЯ 1. ПОБУДОВА ІНДЕКСА I


did
1
1
enact 1
julius 1
 Документи розбираються, з них caesar
I
1
1
виокремлюються слова і зберігається was 1

унікальний номер документа killed


i'
1
1
Document ID. the 1
capitol 1
brutus 1
killed 1
me 1
Doc 1 Doc 2 so 2
let 2
it 2
be 2
I did enact Julius So let it be with
with 2
caesar 2
Caesar I was killed Caesar. The noble the 2
i' the Capitol; Brutus hath told you noble 2
brutus 2
Brutus killed me. Caesar was ambitious hath 2
told 2
you 2
caesar 2
was 2
ambitious 2
Sec. 4.2

Term Doc # Term Doc #


ОСНОВНИЙ КРОК I
did
1
1
ambitious
be
2
2
enact 1 brutus 1
julius 1 brutus 2
 Після того як всі caesar
I
1
1
capitol
caesar
1
1
документи опрацьовані, was
killed
1
1
caesar
caesar
2
2
інвертований файл i'
the
1
1
did
enact
1
1
сортується за capitol 1 hath 1
brutus 1 I 1
термінами. killed 1 I 1
me 1 i' 1
so 2 it 2
Зосередимося на цьому кроці. let 2 julius 1
Ми маємо відсортувати 100M пунктів. it 2 killed 1
be 2 killed 1
with 2 let 2
caesar 2 me 1
the 2 noble 2
noble 2 so 2
brutus 2 the 1
hath 2 the 2
told 2 told 2
you 2 you 2
caesar 2 was 1
was 2 was 2
ambitious 2 with 2
Sec. 4.2

МАСШТАБОВАНА ПОБУДОВА
ІНДЕКСА
 Побудова індексу в пам’яті не
масштабується
 Ми не можемо записати усю колекцію в
пам’ять, відсортувати, а потім записати
результат
 Як ми будемо конструювати індекс для
дуже великих колекцій?
 Необхідно брати до уваги апаратні
особливості . . .
 Оперативна пам’ять, жорсткий диск,
швидкість і так далі...
ПОБУДОВА ІНДЕКСУ ЗАСНОВАНА НА
СОРТУВАННІ
 Коли ми будуємо індекс, ми розбираємо
документи по одному за раз
 При створенні індексу ми не можемо застосовувати
алгоритми стискання (можемо, але це не ефективно)
 Остаточно ніякий термін не сформовано поки не
закінчилося індексування
 Термін, список документів, частота (для не
координатних індексів) займає БАГАТО місця
для великих колекцій.
 RCV1 – 100000000 лексем!!!!
 Ми не можемо працювати з ними в пам’яті
 Нам потрібно зберігати проміжні результати на
диску
СОРТУВАННЯ ВИКОРИСТОВУЮЧИ
ЖОРСТКИЙ ДИСК ЯК «ПАМ’ЯТЬ»
 Чи можемо ми використовувати ті ж самі
алгоритми для індексування великих
колекцій, але використовуючи жорсткий
диск замість пам’яті?
 Ні:Сортування Т = 100000000 записів на
диску буде дуже повільним – дуже багато
дискових операцій
 Нам необхідно мати інший алгоритм.
BSBI: BLOCKED SORT-BASED
INDEXING
 12 –байтів (4+4+4) записи (термін,
документ, частота)
 Генеруються коли ми розбираємо документ

 Маємо відсортувати 100M таких 12-byte


записів по term (термінам).
 Визначимо Block ~ 10M таких записів
 Можна легко розмістити декілька в пам’ять.
 Будемо мати 10 таких блоків.

 Основна ідея алгоритму:


 Записуємо пари в блок, сортуємо, пишемо на
диск.
 Зливаємо блоки в однин довгий відсортований.
BSBI: BLOCKED SORT-BASED
INDEXING
 1. Формуємо по документам пари “termID-
docID” і накопичуємо їх в пам’яті поки не
буде заповнений блок фіксованого
розміру.
 2. Блок інвертується і записується на
диск. Інвертування виконується в два
етапи:
 Сортуються пари “termID-docID”
 Всі пари “termID-docID” з однаковим
ідентифікатором termID формують
інвертований список
 3. Зливаємо десяти блоків в один великий
Sec. 4.2
Sec. 4.2
BSBI: BLOCKED SORT-BASED
INDEXING
 Для злиття всі десять блоків відкриваються
одночасно, для зчитування
використовуються невеликі буфери читання,
а для запису фінального об’єднаного індексу
використовується буфер запису.
 На кожній ітерації ми вибираємо найменший
ідентифікатор termID, що не був оброблений
 Всі інвертовані списки для цього терміна
зчитуються і об’єднуються, після чого
об’єднаний індекс записується назад на
диск.
 Кожний буфер читання за необхідністю знову
заповнюється новою порцією слів з файла.
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 BSBI має дуже гарні характеристика
масштабування
 Але для його реалізації кожному терміну
необхідно поставити у відповідність
ідентифікатор termID
 Для дуже великих колекцій необхідна
структура (словник і ідентифікатори)
може не вміститися в пам’ять
 Більш ефективним з точки зору
масштабування є однопрохідне
індексування в пам’яті (single-pass in-
memory indexing) SPIMI
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Алгоритм використовує терміни, а не їх
ідентифікатори, записує словник кожного
блоку на диск, а потім для нового блоку
починає створювати новий інвертований
словник
 При наявності відповідного місця на диску
можна проіндексувати будь яку колекцію.
Sec. 4.3

SPIMI-INVERT

 Перетин (об’єднання аналогічне попередньому).


ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Лексеми оброблюються по черзі (стр.4).
 Коли термін зустрічається вперше, він
додається в словник (найкраща реалізація
словника – хеш) і створюється новий
інвертований списко (стр.6)
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Різниця між BSBI і SPIMI полягає в тому, що
алгоритм SPIMI додає записи
безпосередньо в інвертований список
(стр. 10)
 Замість того, що б колекціонувати всі
пари “termID-docID”, а потім їх сортувати
 В алгоритмі SPIMI кожний інвертований
список є динамічним (тобто його розмір по
мірі надобності зростає).
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Цей метод швидше – не вимагає
сортування
 Відслідковується зв’язок терміна з
документом, а не ідентифікатором
(економиться пам’ять)
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Оскільки ми не знаємо наскільки великим
буде інвертований список для терміна,
коли ми зустрінемо його вперше, ми
виділяємо пам’ять для короткої
послідовності, а потім подвоюємо її розмір
(стр. 8 і 9).
ОДНОПРОХІДНЕ ІНДЕКСУВАННЯ В
ОПЕРАТИВНІЙ ПАМ’ЯТІ
 Після того як пам’ять вичерпана ми
записуємо індекс блока (що складається з
словника і інвертованих списків) на диск
(стр.12).
 Однак перед цим терміни необхідно
відсортувати (стр.11)
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Інколи колекції документів дуже великі,
пошук в WEB
 Необхідно використовувати кластер
 Індивідуальні машини не підходять
 Можуть працювати ДУЖЕ повільно або зовсім
припинити роботу
 Як використати кластер машин
Sec. 4.4

ДАТА ЦЕНТРИ ДЛЯ WEB


ІНДЕКСУВАННЯ
 Дата центри для WEB пошуку (Google,
Bing, Yandex) нараховують грандіозну
кількість машин.
 Дата центри розподілені по всьому світу

 Приблизно: Google ~1 мільонів серверів, 3


мільонів процесорів/ядер (Gartner 2007)
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 В результаті ми отримуємо розподілений
індекс, розділений між машинами, - або по
термінам, або по документам.
 Ми будемо розглядати розділення індексу
по термінам.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Метод, що ми розглядаємо заснований на
загальній архітектурі розподілених обчислень
MapReduce.
 Архітектура MapReduce розроблена для
крупних комп’ютерних кластерів.
 Кластер призначений для вирішення крупних
обчислювальних задач на дешевих серійних
комп’ютерах.
 Кожна з цих машин може вийти з ладу в будь-
який момент, тому роботи необхідно
розділити на порції, які легко розподілити і у
випадку збою перерозподілити.
 Процесом розподілення і перерозподілення
управляє головний вузол.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Фази відображення (map) і згортання
(reduce) алгоритму MapReduce розділяють
обчислювальну роботу на порції (chunk), з
якими стандартні машини мажуть
справитися за короткий час.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 На першому етапі вхідні дані (колекція
документі) розподіляються на n розділів
(splits), розмір яких вибирається так, що б
гарантувати рівномірне (порції не мають
бути сильно великими) і ефективне
(загальна кількість порцій не має бути
дуже великою) розподілення.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Архітектура MapReduce розділяє велику
задачу на малі, маніпулюючи парами
“ключ-значення”.
 При індексуванні пара “ключ-значення”
має вигляд termID-docID.
 При розподіленому індексуванні
перетворення термінів в termID також є
розподіленим, а значить являє собою
більш складну задачу.
 Ми на цьому не зупиняємося …
Sec. 4.4

РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
assign Master assign
Postings

Parser a-f g-p q-z Inverter a-f

Parser a-f g-p q-z


Inverter g-p

splits q-z
Inverter
Parser a-f g-p q-z

Map Reduce
Segment files
phase phase
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Етап відображення (map phase)
складається з відображення розділів
вхідних даних в пари “ключ-значення”. Ця
задача нічим не відрізняється від задачі
парсінгу документів.
 Тому ми називаємо комп’ютери задіяні на
етапі відображення парсерами (parser).
 Кожний парсер записує свої результати в
локальні проміжні файли, які називаються
сегментними (segment files).
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 На етапі згортання (reduce phase) всі значення,
що відповідають заданому ключу, записуються
поруч один з одним, так, щоб процес їх читання
і обробки виконувався швидко.
 Це досягається завдяки розділенню ключів на j
діапазонів термінів і запису результатів роботи
парсера (пар “ключ-значення”) над кожним
діапазоном в свій сегментний файл.
 Після цього парсер записує відповідні сегментні
файли – по одному для кожного діапазону
термінів.
 Таким чином, кожному діапазону термінів
відповідає r сегментних файлів
 Де r кількість парсерів
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Збирання усіх значень ( в даному випадку
– ідентифікаторів docID), що відповідають
заданому ключу (в нашому випадку –
termID), в один список на етапі згортання
покладається на інвертори (inverter).
 Головний вузол назначає кожний діапазон
термінів різним інверторам
 Кожний діапазон опрацьовується окремим
інвертором.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Список значень, що відповідають кожному
ключу, впорядковується і записується в
кінцевий відсортований інвертований
список
Sec. 4.4

СХЕМА
 Схема функцій відображення і згортки
 map: input → list(k, v) reduce: (k,list(v)) →
output
 Створення екземпляра для побудови
індекса
 map: collection → list(termID, docID)
 reduce: (<termID1, list(docID)>, <termID2,
list(docID)>, …) → (postings list1, postings list2,
…)
ПРИКЛАД
 Map:
 d1 : C came, C c’ed.

227
 d2 : C died. →
 <C,d1>, <came,d1>, <C,d1>, <c’ed, d1>, <C, d2>,
<died,d2>
 Reduce:
 (<C,(d1,d2,d1)>, <died,(d2)>, <came,(d1)>, <c’ed,
(d1)>) → (<C,(d1:2,d2:1)>, <died,(d2:1)>, <came,
(d1:1)>, <c’ed,(d1:1)>)
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Парсери і інвертори – це не різні машини.
Головний вузол знаходить машини, що
простоюють і пересилає їм завдання.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Для мінімізації часу запису перед тим, як
інвертори звернуть дані, кожний парсер
записує свій сегментний файл на свій
локальний диск.
 На етапі згортання головний вузол
сповіщає інвертору розташування
відповідних сегментних файлів.
 Для кожного сегментного файлу
необхідна лише одна операція читання,
оскільки всі дані записані в окремому
сегментному файлі.
РОЗПОДІЛЕНЕ ІНДЕКСУВАННЯ
 Архітектура MapReduce являє собою
надійний і концептуально простий
інструмент для побудови індексів в
розподіленому середовищі.
 Надає можливості напівавтоматичного
розділення процесу побудови індексу на
більш дрібні задачі, при наявності
комп’ютерних кластерів достатнього
розміру.
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 До сих пір в нас працювало припущення,
що колекціє є статичною.
 Але насправді:
 Документи додаються постійно і інвертовані
індекси необхідно оновлювати
 Документи додаються, модифікуються і
видаляються
 Наші задачі:
 Оновлення інвертованих списків для терміна
 Додавання нових термінів в словник
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 Перший спосіб – в “лоб”
 Періодична перебудова індексу
 Документи додаються не одразу а по
досягненню якоїсь критичної маси.
 Добре якщо частота змін не велика
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 Якщо нові документи необхідно додавати
швидко?
 Організовується підтримка двох індексів:
 “Великий” – основний
 І “маленький” – допоміжний індекс, в який
зберігаємо нові документи
 Допоміжний індекс зберігаємо в пам’яті
 Пошук здійснюємо по обом індексам, а
результати об’єднуються
 Видалені документи зберігаємо в бітовому
векторі недійсних документів (таким чином
перед видачею ми можемо відфільтрувати всі
видалені документи).
 Документи оновлюємо за допомогою видалення
і повторної вставки
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 Кожний раз коли допоміжний індекс стає
надто великим, ми об’єднуємо його з
основним
 Вартість цієї операції залежить від того як
зберігається індекс в файловій системі
 Якщо кожний інвертований список
зберігається як окремий файл, то злиття
зводиться до розширення кожного списку
з основного індексу
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 Нажаль схема, коли кожний інвертований
список зберігається як окремий файл,
тяжко здійсненна, так як більшість
файлових систем не можуть ефективно
працювати з дрібними файлами.
 Простіше всього зберігати індекс в одному
великому файлі.
ДИНАМІЧНЕ ІНДЕКСУВАННЯ.
ЛОГАРИФМІЧНЕ ЗЛИТТЯ
 Утворюємо серію індексів, кожен з яких в
два рази більший за попередній
 Найменший (Z0) зберігаємо в пам’яті
 Більші (І0, І1,…) на диску
 Якщо Z0 стає дуже великим (>n) ми його
записуємо на диск як І0
 або об’єднуємо з І0 (якщо І0 вже існує) і
записуємо як Z1
 Записуємо на диск як І1 (якщо немає І1), або
об’єднуємо з І1 в Z2
 Запит на пошук направляється Z0 і всім
існуючим на даний момент індексам І1, а
результати пошуку об’єднуються
Sec. 4.5
ДИНАМІЧНЕ ІНДЕКСУВАННЯ
 Робота з багатьма індексами ускладнює
збір статистичних даних
 Це впливає на виправлення орфографічних
помилок
 З за складності динамічного індексування
деякі крупні пошукові машини
використовують стратегію повторної
побудови індексу з “нуля”
Sec. 4.5
ІНШІ ТИПИ ІНДЕКСІВ
 Координатні індекси
 Ті ж проблеми … тільки більші
 Індекси з підтримкою безпеки
 Різні
рівні користувачів можуть отримувати
доступ до різних документів
 Дякую за увагу.
ЛЕКЦІЯ 5. СТИСКАННЯ
ІНДЕКСУ
Глибовець А.М.
СТИСКАННЯ ІНДЕКСУ
 В попередніх лекціях ми поговорили про
створення словника і інвертованого
індексу пошукової системи.
 В цій лекції ми розглянемо методи
стискання, що дозволяють підвищити
продуктивність роботи пошукової
системи.
СТИСКАННЯ ІНДЕКСУ
 Переваги стискання:
 Необхідно менше дискового простору
 В деяких випадках можна досягнути коефіцієнта 1:4
 Підвищує ефективність кешування
 Ми можемо розміщувати в пам’ять інвертовані
списки термінів по яким частіше проходить пошук
 При використанні стискання ми зможемо покласти

більше таких термінів


 Підвищення швидкості передачі даних з диска
в пам’ять:
 [читання стиснутих даних/ декомпресія] швидше
ніж [читання не стиснутих даних]
 Припущення: існують швидкі алгоритми

декомпресії
СТИСКАННЯ ІНДЕКСУ
 Якщо основною ціллю стискання є
економія дискової пам’яті, то швидкість
стискання не грає великої ролі.
 Але швидкість розпакування має бути
дуже високою!!!
 Алгоритми, що ми розглянемо вважаються
ефективними і тому використовуються в
пошукових системах.
СТИСКАННЯ ІНДЕКСУ
 В цій лекції словопозиція (posting) в
інвертованому списку інтерпретуються як
ідентифікатор документу docID
 Наприклад інвертований список (6:20,45,100),
де 6 – ідентифікатор терміна з списку, містить
три словопозиції (три документи в яких ми
знайшли це слово)
 В цій лекції ми не розглядаємо індекси з
частотою і координатні індекси, хоча
ефективні алгоритми для цих індексів також
існують.
СТИСКАННЯ ІНДЕКСУ
 Як приклад колекції будемо розглядати
Reuters-RCV1
 Пригадаємо статистичні дані.
REUTERS RCV1 СТАТИСТИКА
Символ Показник Значення
N Документи 800000
Lave Середня кількість лексем в 200
тексті
M Терміни 400000
Середня кількість байт в 6
лексемі (включаючи проміжки і
знаки пунктуації)
Середня кількість байт в 4,5
лексемі (без проміжків і знаків
пунктуації)
Середня кількість байт в терміні 7,5
T лексеми 100000000
Sec. 5.1

ЕФЕКТ ПОПЕРЕДНЬОЇ ОБРОБКИ


Кількість термінів Не координатні Лексеми(=кількість
(terms) словопозиції слововживань в індексі)

Кі-ть ∆% Т% Кі-ть ∆% Т% Кі-ть ∆% Т%

Вхідні дані 484494 109,971179 197,879290

Без чисел 473723 -2 -2 100,680242 -8 -8 179,158204 -9 -9

Без регістру 391523 -17 -19 96,969056 -3 -12 179,158204 0 -9

30 стоп-слів 391493 -0 -19 83,390443 -14 -24 121,857825 -31 -38

150стоп-слів 391373 -0 -19 67,001847 -30 -39 94,516599 -47 -52

Стеммінг 322383 -17 -33 63,812300 -4 -42 94,516599 0 -52

∆% - процент відношення відносно попередньої стрічки, %Т –


загальне стискання 249
СТИСКАННЯ ІНДЕКСУ
 В цілому, стаститичні показники з таблиці
свідчать про те, що попередня обробка
сильно впливає на розмір словника і
кількість некоординатних словопозицій.
 Методи стискання які ми будемо
розглядати, є методами стискання
інформації без втрат (lossless compression)
 Стискання інформації з втратами (lossy
compression) дозволяє досягнути більш
високого ступеню стискання за рахунок
відкидання деяких даних.
СТИСКАННЯ ІНДЕКСУ
 Перед тим як описувати методи стискання
словника, оцінимо кількість різних
термінів M в колекції.
 Інколи говорять, що мови мають словник
визначеного розміру.
 В другому виданні Oxford English Dictionary
міститься більше 600 тисяч слів.
 Однак словники більшості великих
колекцій набагато більші.
 Він
не містить прізвищ, географічних назв,
назв продуктів і т.д.
ЗАКОН ХІПСА: ОЦІНКА КІЛЬКОСТІ
ТЕРМІНІВ
 Кращій спосіб оцінити число М –
використати закон Хіпса (Heaps’ law), що
дозволяє обрахувати розмір словника як
функцію, що залежить від розміру колекції.
M = kTb
 Де Т – кількість лексем в колекції
 Типові показники k і b такі:
 30 ≤ k ≤ 100 і b ≈ 0.5
 Обгрунтування закону полягає в тому, що
самою простою залежністю між розмірами
колекції і словника є лінійна функція в
логрифмічній системі координат, а
припущення про лінійність на практиці
часто є справедливим.
Sec. 5.1

Для RCV1, пунктирна лінія


log10M = 0.49 log10T + 1.64
побудована методом
найменших квадратів.
Звідси, M = 101.64T0.49 а
значить k = 101.64 ≈ 44 і b =
0.49.

Гарне емпіричне наближення


до Reuters RCV1 !
Для перших 1,000,020
лексем,
Закон припускає 38,323
термінів;
А насправді, 38,365 термінів

253
ЗАКОН ХІПСА: ОЦІНКА КІЛЬКОСТІ
ТЕРМІНІВ
 Параметр k змінюється в доволі широких
діапазонах, оскільки зростання лексикону
в багатьох випадках залежить від
природи колекції і способу її обробки.
 З за описок і технічних лексем значення b
в веб-колекціях значно ближче до 1.0, чим
до 0,5.
ЗАКОН ЦІПФА: МОДЕЛЮВАННЯ
РОЗПОДІЛЕННЯ ТЕРМІНІВ
 Визначимо також розподілення термінів
серед документів.
 Це допоможе нам описати властивості
алгоритмів стискання.
ЗАКОН ЦІПФА: МОДЕЛЮВАННЯ
РОЗПОДІЛЕННЯ ТЕРМІНІВ
 Для моделювання розподілу термінів в
колекції використовується закон Ціпфа
(Zipfs’ law).
 Якщо до якого-небудь досить великого
тексту скласти список всіх слів, що
зустрілися, а потім відранжувати ці слова
в порядку спадання їх частоти в тексті, то
для будь-якого слова добуток його рангу r
і частоти f буде константою.
 Що це нам дає?
ЗАКОН ЦІПФА: МОДЕЛЮВАННЯ
РОЗПОДІЛЕННЯ ТЕРМІНІВ
 Він стверджує, що якщо t1 – найбільш
поширений термін в колекції, t2 –
наступний по поширеності, і т.д.
 Тоді частота і-го по поширеності терміна в
колекції cfi пропорційна 1/і
Sec. 5.1

ZIPF’S LAW FOR REUTERS RCV1

258
СТИСКАННЯ СЛОВНИКА
 Ми розглянемо декілька структур даних,
що забезпечують послідовно збільшуючіся
коефіцієнти стискання.
 Як ми вже розібралися, словник має
менший розмір ніж інвертований список,
нащо ж нам його стискати?
СТИСКАННЯ СЛОВНИКА
 Основне призначення стискання словника,
це можливість розміщення його повністю
в оперативну пам’ять, або хоча б більшу
його частину.
РОЗМІР СТРІЧКИ В JAVA
 Скільки буде займати порожня стрічка?
 Стрічка це об’єкт з трьома полями int і
масивом char‘ів
 [8 bytes (заголовок об’єкта) + 3*4(int) + 4
(посилання на масив)]{вирівнювання по 8
байтам} + [8 bytes (заголовок об’єкта
масива) + 4(int довжина массива) +
2(char)*довжина стрічки]{вирівнювання по 8
байтам} = 24 + [12 + 2*length]
{вирівнювання по 8 байтам} = [36 +
2*length]{вирівнювання по 8 байтам}
 40 байт!!!

 Для х64 – 64 байта


СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 Надалі ми будемо розглядати структури
без прив’язки до мови програмування.
СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 Для зберігання словника простіше всього
розташувати його елементи в
лексикографічному порядку і записати в
масив записів фіксованої довжини.
 Ми виділяємо 20 байт для терміна (в анг.
мові лише деякі терміни мають більше 20
символів), 4 байт – для документної
частоти і 4 байт – для вказівника на
інвертований список.
Sec. 5.2

СТИСКАННЯ СЛОВНИКА. СЛОВНИК


ЯК СТРІЧКА
 Масив фіксованих записів
 ~400,000 термінів; 28 bytes/term = 11.2 MB.

264
Термін Частота Вказівник
a 656,265
aachen 65
…. ….
zulu 221

20 bytes 4 bytes кожен


Пошук по словнику
СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 4 байтні вказівники дозволяють
адресувати 4 ГБ пам’яті.
 Для крупних колекцій для вказівників
може знадобитися більше пам’яті
 Пошук терміна в масиві здійснюється за
допомогою бінарного пошуку.
СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 Зберігати терміни як елементи фіксованої
довжини недоцільно.
 Середня довжина терміна в англійській
мові приблизно 8 символів, тому ми
витрачаємо приблизно 12 символів
 Крім того ми не можемо зберігати терміни
довжини більше 20 символів
 Тому ми можемо зберігати словник як
одну велику стрічку.
 Як це зробити?
Sec. 5.2

СТИСКАННЯ СЛОВНИКА.
СЛОВНИК ЯК СТРІЧКА
Зберігаємо словник як довгу стрічку
символів:
Вказівник на наступне слово означає кінець поточного

267

слова

Сподіваємося зберегти до 60% місця
….systilesyzygeticsyzygialsyzygyszaibelyiteszczecinszomo….

Частота Вказівник Вказівник


на список на термін Загальна довжина стрічки =
33 400K x 8B = 3.2MB
29
44 Вказівники на слова 3.2M
126 розмір: log23.2M =
22bits = 3bytes
СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 Як і до цього ми шукаємо терміни в таблиці
з використанням бінарного пошуку (але
таблиця тепер займає менше місця).
 Однак тепер нам необхідна пам’ять для
зберігання вказівників на терміни.
 Нам необхідно 3 байти на вказівник.

 В новій схемі для зберігання колекції


необхідно: 400000х(4+4+3+8)=7,6 Мбайт (8
байт в середньому на зберігання терміна).
 Таким чином ми зекономили з 11,2 до 7,6
Мбайт.
СТИСКАННЯ СЛОВНИКА. СЛОВНИК
ЯК СТРІЧКА
 Як можна ще покращити?
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Словник можна стиснути ще більше,
згрупувавши терміни в стрічці по блокам
розміром k і зберігаючи вказівник тільки
на перший термін кожного блоку
 Довжина терміна зберігається в стрічці у
вигляді додаткового байта на початку
терміна.
 Таким чином, ми виключаємо k-1
вказівників на терміни, але потребуємо
додатково k байт для зберігання довжини
кожного терміна.
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 При k=4 ми економимо (k-1)х3=9 байт на
кожному вказівнику на термін, але
потребуємо додатково k=4 байт для
зберігання довжин термінів
 Загальні вимоги до пам’яті для зберігання
лексикону колекції зменшуються на 5
байт на кожний з блоків, що складаються
з чотирьох термінів.
 В цілому 400000х(1/4)х5 = 0,5 Мбайт,
тобто розмір пам’яті, що нам необхідний
зменшується до 7,1 Мбайт.
Sec. 5.2

СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ


ЗБЕРІГАННЯ.

….7systile9syzygetic8syzygial6syzygy11szaibelyite8szczecin9szomo….

272
Freq. Postings ptr. Term ptr.
33
29
 Зберігаємо 9 bytes
44
 на 3 Втрачаємо 4 bytes на
126  вказівниках. довжині терміна.
7
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Збільшуючи розмір блока k, ми можемо
досягнути ще більшого стискання.
 Однак існує протиріччя між стисканням і
швидкістю пошуку терміна.
 Це різниця між пошуком по бінарному
дереву і пошуку по списку
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
А. Бінарний пошук в
нестиснутому словнику

Б. В стиснутому словнику ми спочатку знаходимо


блок терміна за допомогою бінарного пошуку. Після
цього визначаємо його координату в списку шляхом
лінійного пошуку по блоку
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Пошук в нестиснутому словнику в п. А в
середньому займає
(0+1+2+3+2+1+2+2)/8 приблизно 1,6
кроків, якщо припустити, що кожний
термін з однаковою вірогідністю
з’являється в пошуку.
 В п. Б при розмірі блоку, рівному k=4, в
середньому потребує
(0+1+2+3+4+1+2+3)/8=2 кроки, тобто
приблизно на 25% більше.
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Збільшуючи параметр k, ми можемо
зробити розмір зжатого словника скільки
завгодно близьким до мінімуму, тобто
400000х(4+4+1+8)=6,8 Мбайт, але пошук
терміна при великих значеннях к стає
неприпустимо повільним.
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Що ще ми можемо оптимізувати?
СТИСКАННЯ СЛОВНИКА. БЛОЧНЕ
ЗБЕРІГАННЯ.
 Ми не використали ще одне джерело
збитковості при зберіганні словника – той
факт, що послідовні елементи в списку,
впорядкованому по алфавіту мають
однакові префікси.
 Це спостереження приводить до
фронтальної упаковки (front coding)
Sec. 5.2

ФРОНТАЛЬНА УПАКОВКА
 Фронтальна упаковка:
 Відсортовані слова зазвичай мають довгі

279
спільні префікси – тоді будемо зберігати лише
відмінні частини
 (для k-1 в блоку з k)

8automata8automate9automatic10automatio
n
8automat*a1e2ic3ion

Розмір
Кодує automat залишку після
automat.
ФРОНТАЛЬНА УПАКОВКА
 Експеримент показав, що для колекції
Reuters фронтальна упаковка економить
ще 1,2 Мбайт
СТИСКАННЯ СЛОВНИКА
 Інші схеми з ще більш високим ступенем
стискання засновані на мінімальному
ідеальному хешуванні.
 При цьому функція хешування відображує
М термінів в множину [1,..,M] без колізій.
 Однак ми не можемо застосовувати
ідеальне хешування необмежено, так як
кожний новий термін викликає колізії, і
відповідно вимагає створення нової
ідеальної функції хешування.
СТИСКАННЯ СЛОВНИКА
 При роботі з дуже великими текстовими
колекціями на апаратному забезпеченні з
обмеженими ресурсами навіть при
найкращій схемі стискання неможливо
записати весь словник в оперативну
пам’ять.
 Якщо словник необхідно розбити на
частини для запису на диск, то можна
проіндексувати перший термін кожної
сторінки за допомогою В-дерева.
Sec. 5.2

СТИСНЕННЯ СЛОВНИКА
RCV1
Структура даних Розмір в
MB

283
Словник з фіксованим розміром 11.2

Словник з вказівниками на терміни в стрічці 7.6

Те ж але з блоками k = 4 7.1

Те ж але з фронтальною упаковкою 5.9


СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 Колекція Reuters містить 800 тисяч
документів, 200 лексем в документі, шість
символів в лексемі і 100 мільйонів
словопозицій, причому для простоти ми
вважаємо, що ця словопозиція складається
лише з ідентифікатора документу (не
містить частоти і координат терміна в
документі).
 Ідентифікатори документів займають log2
800,000 ≈ 20 біт.
 Відповідно розмір колекції приблизно
дорівнює 800000х200х6 байт = 960 Мбайт.
 А розмір нестиснутого інвертованого файлу
дорівнює 100000000х20/8 = 250 Мбайт.
СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 Для більш раціонального представлення
інвертованого файлу, використовуючих
менше 20 біт на документ, відмітимо, що
словопозиції частих термінів мають
близьке значення.
 Пройдемо по документам колекції і
пошукаємо часто зустрічаємий термін
computer.
 Ми знайдемо документ, що містить це
слово, потім пропустимо декілька
документів і знову знайдемо документ, що
містить.
Sec. 5.3

СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ

286
СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 Яке припущення ми можемо зробити?
СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 Ми зберігаємо список документів в
порядку зростання їх docID.
 computer: 33,47,154,159,202 …
 Висновок: краще зберігати інтервали.
 33,14,107,5,43 …
 Надія: більшість інтервалів можуть бути
збережені з використанням набагато
менше місця ніж 20 біт.
СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 На практиці інтервали між найбільш частими
термінами такими як the і for всього 1.
 Однак проміжки між рідкими словами
(наприклад arachnocentric) по розміру мало
відрізняється від ідентифікаторів документів
і потребує для зберігання 20 біт.
 Для економного представлення такого
розподілення інтервалів необхідний метод
упаковки з використанням кодів змінної
довжини (variable encoding method), що для
більш коротких інтервалів використовує
менше бітів.
СТИСКАННЯ ІНВЕРТОВАНОГО
ФАЙЛУ
 Для того, що б закодувати невеликі числа,
використовується менше пам’яті, чим для
кодування великих чисел, розглянемо два
методи: байтове стискання (bytewise
compression) і бітове стискання (bitwise
compression).
БАЙТОВЕ КОДУВАННЯ ЗМІННОЇ
ДОВЖИНИ
 Байтове кодування змінної довжини
(variable byte encoding – VB, або variable
byte coding - VBC) використовує для
кодування інтервалів цілу кількість байтів.
 Останні 7 біт в кожному байті є “корисним
навантаженням” (continuation bit) і
кодують частину інтервала.
 Перший біт байта є бітом продовження
(continuation bit).
 Він дорівнює одиниці у останнього байта
закодованого інтервалу і нулю в інших
випадках
Sec. 5.3

ПРИКЛАД
docIDs 824 829 215406
Інтервал 5 214577

292
VB код 00000110 10000101 00001101
10111000 00001100
10110001

Словопозиції зберігаються як конкатенація байт


000001101011100010000101000011010000110010110001

Основна властивість: VB-закодовані словопозиції декодуються


Завдяки префіксам О або 1.

Для маленького інтервалу (5), VB


використовує весь байт.
БАЙТОВЕ КОДУВАННЯ ЗМІННОЇ
ДОВЖИНИ
 Як показали експеременти, при
використанні байтового кодування змінної
довжини розмір стиснутого індексу для
колекції Reuters дорівнює 116 Мб.
 Це означає, що економія пам’яті в
порівнянні з нестиснутим індексом
перевищує 50%
БАЙТОВЕ КОДУВАННЯ ЗМІННОЇ
ДОВЖИНИ
 Ідею байтового кодування змінної
довжини можна застосувати до одиниць
пам’яті, що можуть бути як більше так і
менше байта: 32, 16 і 4-бітові слова, або
напівбайти (nibbles)
 Для більшості систем інформаційного
пошуку байтове кодування змінної
довжини забезпечує найкращий
компроміс між швидкістю пошуку і
розміром пам’яті
УНАРНИЙ КОД
 Подаємо n як n 1-ок з 0 в кінці.
 Унарний код для трьох 3 = 1110.

295
 Унарний код для 40:

1111111111111111111111111111111111111
1110 .
 Унарний код для 80:

1111111111111111111111111111111111111
111111111111111111111111111111111111
11111110

 Це не виглядає багатообіцяючим, але….


ГАММА КОДИ
 Наскільки ефективним може бути код в
принципі?
 Припустимо, що 2n інтервалів G, де
1<=G<= 2n є рівновірогіднісними.
 Тоді оптимальне кодування для кожного
інтервалу G має використовувати n бітів.
 В такому випадку деякі інтервали
неможливо закодувати за допомогою
менше чім log2G біт.
 Наша ціль максимально наблизитися до
нижньої границі
ГАММА КОДИ
 Метод близький до оптимального
називається гамма кодуванням.
 Ця схема використовує кодування з
змінною довжиною за допомогою
розбиття інтервалу G на пару, що
складається з довжини і зміщення.
 Зміщення являє собою запис числа G в
двійковому вигляді з видаленою ведучою
одиницею
 Ми припускаємо, що інтервал G не має
ведучих нулів. Якщо б вони були, їх треба
було б видалити перед видаленням ведучої 1.
 Наприклад для числа 13 (бінарний код
-1101) зміщення рівне 101.
ГАММА КОДИ
 Параметр довжина кодує довжину
зміщення в унарному коді.
 Для числа 13 довжина зміщення дорівнює
3 біт.
 В унарному коді це число виглядає як
1110.
 Відповідно гамма код числа 13 має вигляд
1110101
Sec. 5.3

ГАММА КОДИ
Число довжина зміщення -код
0

299
1 0 0
2 10 0 10,0
3 10 1 10,1
4 110 00 110,00
9 1110 001 1110,001
13 1110 101 1110,101
24 11110 1000 11110,1000
511 111111110 11111111 111111110,11111111
1025 11111111110 0000000001 11111111110,0000000001
ГАММА КОДИ
 Для того, що б декодувати гама код,
спочатку необхідно прочитати унарний код,
поки не буде виявлений 0, який його
завершує
 Тепер нам відома довжина зміщення

 Після чого можна прочитати зміщення,


додати 1 і отримати число
 1110101

 Унарний код 1110, довжина зміщення – 3 біт

 Читаємо 101

 Додаємо 1 -> 1101

 Отримуємо число 13
Sec. 5.3

ВЛАСТИВОСТІ ГАМА КОДУ


 G кодується з використанням 2 log G + 1
бітів

301
 Довжина зміщення log G бітів
 Довжина довжини log G + 1 біт

 Всі гама коди мають непарну кількість біт


 І всього в два рази більше оптимальної
довжини, log2 G
 Гамма код гарно декодується завдяки
префіксу, як і VB
 Гамма код може бути використаний для
будь-якого розподілу
 Гамма код безпараметричний
ВЛАСТИВОСТІ ГАМА КОДУ
 Наскільки ж гарне стискання з
використанням гамма коду?
 Запустивши гамма стискання колекції
Reuters ми зжали індекс до 101 Мбайт, що
складає трохи більше 1/10 розміру
колекції
Sec. 5.3

RCV1 СТИСКАННЯ
Структура даних Розмір в MB
Словник з фіксованим розміром 11.2

303
Словник з вказівниками на терміни в стрічці 7.6
Те ж саме, але з блоками k = 4 7.1
Те ж саме, але з фронтальною упаковкою 5.9
колекція (текст, xml і т.д.) 3,600.0
колекція (текст) 960.0
Матриця інцидентності 40,000.0
Словопозиції, нестиснуті (32-бітні слова) 400.0
Словопозиції, нестиснуті (20 біт) 250.0
Словопозиції, змінне байтове кодування 116.0
Словопозиції, кодування 101.0
СТИСКАННЯ
 Схема гамма кодування дозволяє
отримати найкращий результат стискання
 Але її декодування є затратним
 Велика кількість побітових операцій…
 Дякую за увагу.
ЛЕКЦІЯ 6. РАНЖУВАННЯ,
ЗВАЖУВАННЯ ТЕРМІНІ І
МОДЕЛЬ ВЕКТОРНОГО
ПРОСТОРУ
Глибовець А.М.
ВСТУП
 До сих пір ми розглядали індекси, що
підтримували обробку булевих запитів:
 Документ або відповідав запиту або ні
 При роботі з великими колекціями
документів кінцева кількість документів,
що відповідають запиту, буде настільки
грандіозна, що її неможливо опрацювати
людині.
 Тому важлива задача пошукової системи –
ранжування документів за ступенем
відповідності запиту
ВСТУП
 Для вирішення задачі ранжування ПМ для
кожного знайденого документа
обраховують ступень його відповідності
запиту
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 До цього моменту: документ -> набір
термінів.
 Більшість документів мають додаткову
структуру
 Метадані
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 Розглянемо запит:
 Знайти документи, написані В. Шекспіром в
1601 році і, що містять слова alas poor Yorick
 Як і звичайно пошук зводиться до
перетинання інвертованих списків, за
виключенням того, що ми можемо
об’єднати словопозиції як з стандартних
так і з параметризованих індексів
(parametric index)
 Для кожного поля (наприклад дата
створення) існує один параметричний
індекс
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 Зони (zones) нагадують поля, але в зоні
може знаходитися текст.
 Поле – обмежена множина значень
 Зона – довільний необмежений масив тексту
 Назва документа
 анотація
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 Для того, що б підтримувати обробку
запитів виду
 «Знайти документи з словами merchant в
назві і William – в списку авторів, а також з
фразою gentle rain в тексті»
 для кожної зони документа можна
створити стандартний інвертований
індекс
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 Елементарний зонний індекс
 Зони кодуються як розширення елементів
словника
ПАРАМЕТРИЧНІ І ЗОННІ ІНДЕКСИ
 Перша проблема – наш словник і
інвертований індекс почав швидко зростати в
розмірі …
 Ми можемо трохи покращити ситуацію, якщо
закодуємо зону, в якій зустрічається термін в
словопозиції.

 Основна перевага – зменшення розміру


 Але є ї інша перевага: ефективне ранжування
за вагами по зонам (weighted zone scoring).
ЗВАЖЕНЕ ЗОННЕ РАНЖУВАННЯ
 До сих пір ми були зосереджені на пошуку
документів на основі булевих запитів
відносно полів і зон.
 Тепер розберемося як же можна їх
використовувати ефективніше.
ЗВАЖЕНЕ ЗОННЕ РАНЖУВАННЯ
 Позначимо булевий запит літерою q, а
документ – літерою d.
 Метод зваженого зонного ранжування
присвоює парі (q,d) значення
релевантності з відрізка [0,1],
обраховуючи лінійну комбінацію зонних
показників (zone scores), в яку кожна зона
документу вносить булеве значення.
ЗВАЖЕНЕ ЗОННЕ РАНЖУВАННЯ
ЗВАЖЕНЕ ЗОННЕ РАНЖУВАННЯ
 Зважене зонне ранжування інколи
називають – булевим пошуком з
ранжуванням (ranked Boolean retrieval).
 Приклад:
 Кожний документ колекції містить три зони:
 author, title, body
 Булева функція ранжування для зони
приймає значення 1 якщо всі терміни присутні
в зоні і 0 в протилежному випадку
 g1 = 0.2, g2 = 0.3, g3 = 0.5
 Якабуде релевантність якщо терміни запиту
знайдені в зоні title і body?
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Як визначити ваги gi при зваженому
зонному ранжуванні?
 Вони можуть бути вказані експертом
(користувачем)
 Але зазвичай ваги визначаються на основі
навчаючих прикладів, що оцінені
завчасно.
 Цей метод називається «метод
ранжування на основі машинного
навчання»
 Ми розглянемо лише короткий огляд.
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Ми маємо багато прикладів (training
examples), кожний з яких являє собою
кортеж <q (запит),d (документ),оцінка
релевантності>
В простому варіанті кожна оцінка
релевантності є бінарною (релевантний або
ні)
 Ваги gi визначаються шляхом «навчання»
на прикладах так, що б отримані оцінки
апроксимували оцінки релевантності
навчаючих прикладів.
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 При взваженому зонному ранжуванні цей
процес можна розглядати як підбір
коефіцієнтів лінійної функції від булевих
ознак входження в відповідні зони
 Проблема – зібрати оцінки релевантності
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Розглянемо простий варіант в якому
кожний документ має зони title і body
 Обрахуємо st(d,q) і sb(d,q), що вказують
відповідає заголовок або тіло докумнта
запиту
 Обрахуємо значення, що лежить між
нулем і одиницею, для кожної пари
документ, запит використовуючи
попередні значення і константу g є[0,1]:
 score(d,g) = g .st(d,q) +(1-g). sb(d,q)
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Тепер визначемо константу g по
навчаючим прикладам, кожний з яких
являє собою трійку вида Фj=(dj,qj,r(di,qi))
 Кожному навчаючому прикладу, що
містить документ di і запит qi , людиною-
редактором дається оцінка релевантності
r(di,qi), що приймає значення релевантний
або нерелевантний.
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
Приклад DocID Запит ST SB Міркування
Ф1 37 linux 1 1 Рел.
Ф2 37 penguin 0 1 Нерел.
Ф3 238 system 0 1 Рел.
Ф4 238 penguin 0 0 Нерел.
Ф5 1741 kernel 1 1 Рел.
Ф6 2094 driver 0 1 Рел.
Ф7 3191 driver 1 0 Нерел.
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Для кожного приклада Фj у нас є булеві
значення st(dj,qj) і sb(dj,qj) що
використовуються для ранжування по
формулі
 score(dj,qj) = g .st(dj,qj) +(1-g). sb(dj,qj)
 Тепер порівняємо обраховану релевантість з
оцінкою релевантності тієї ж пари (dj,qj) зроблену
людиною, для цього релевантний кодується 1, а
неревантний – 0
 Припустимо що помилка вагової функції з вагою g
визначається за наступною формулою:
 ε(g,Фj) = (r(dj,qj) – score(dj,qj))2
 Таким чином сумарна помилка, що відповідає
множині навчальних прикладів дорівнює:
 Σjε(g,Фj)
ВИЗНАЧЕННЯ ВАГ НА ОСНОВІ
МАШИННОГО НАВЧАННЯ
 Тепер задача визначення константи g за
навчальними прикладами зводиться до
знаходження значення g, що мінімізує
сумарну помилку.
ОПТИМАЛЬНА ВАГА G
 Відмітимо, що для будь-якого навчального
приклада Фj такого, що st(dj,qj)=0 і
sb(dj,qj)=1, релевантність обрахована за
запропонованою формулою дорівює 1-g,
аналогічно можна порахувати для інших
комбінацій.
ОПТИМАЛЬНА ВАГА G
St Sb Релевантність
0 0 0
0 1 1-g
1 0 g
1 1 1
ОПТИМАЛЬНА ВАГА G
 Позначимо через n01r (відповідно, n01n) кількість
навчальних прикладів, для яких, st(dj,qj)=0 і
sb(dj,qj)=1, а експертна оцінка – релевантний
(відповідно, нерелевантний)
 Тоді вклад в сумарну помилку від навчальних
прикладів в яких st(dj,qj)=0 і sb(dj,qj)=1, дорівнює
 [1-(1-g)]2 n01r + [0-(1-g)]2 n01n
 Записавши аналогічно для інших
комбінацій приходимо до висновку, що
сумарна помилка, дорівнює:
(n01r + n10n )g2+(n10r + n01n )(1-g)2+ n00r + n11n
Диференціюючи вираз по g і прирівнюючи
результат до 0, отримуємо, що
оптимальне значення g дорівнює:
(n10r + n01n )/(n10r + n10n + n01r + n01n )
ЧАСТОТА ТЕРМІНА І ЗВАЖУВАННЯ
 До сих пір ранжування документа
залежало від того, присутній термін
запита в зоні документа чи ні.
 Тепер ми зробимо наступний крок:
документ або зона де термін запита
зустрічається частіше, необхідно вважити
більш релевантним запиту і надати йому
більше значення релевантності.
ЧАСТОТА ТЕРМІНА І ЗВАЖУВАННЯ
 Привласнимо кожному терміну, що
знайшли в документі, вагу (weight), що
залежить від кількості появ терміна в
даному документі.
 Така схема зважування називається
частотою терміна (term frequency) і
позначається як tft,d де індекс t означає
термін, а індекс d – документ.
ЧАСТОТА ТЕРМІНА І ЗВАЖУВАННЯ
 Для документа d набір ваг tf можна
інтерпретувати як дайджест документа,
що виражений в числовому вигляді.
 Ця модель називається “мішком слів” (bag
of words)
 В рамках цієї моделі точний порядок
слідування термінів в документі
ігнорується, а основне значення
надається кількістю входжень кожного
терміна в документ
 Ми тільки накопичуємо інформацію про
кількість входжень кожного терміна.
ЧАСТОТА ТЕРМІНА І ЗВАЖУВАННЯ
 Два документи:
 Mary is quicker than John
 John is quicker than Mary

 ідентичні.
 Тим не менш інтуїтивно зрозуміло, що два
документи з однаковими “мішками слів”
по змісту дуже подібні.
 Чи всі слова в документі однаково
важливі?
 Очевидно ні
ЗВОРОТНА ДОКУМЕНТНА ЧАСТОТА
 Підрахунок в “лоб” частоти терміна, має
серйозний недолік: при ранжуванні
документа по запиту всі терміни вважаються
однаково важливими
 Насправді деякі терміни мають малу або
нульову вагу при визначенні релевантносі
 Наприклад в автомобільній колекції скоріше
всього термін “auto” буде майже в кожному
документі
 Нам необхідно знайти механізм послаблення
впливу терміна, що зустрічається надто
часто.
 Ідея – знизити вагу терміна (на коефіцієнт,
що збільшується) з високою частотою в
колекції (collection frequency)
ЗВОРОТНА ДОКУМЕНТНА ЧАСТОТА
 Замість цього частіше зустрічається
використання документної частоти dfi
(document frequency), кількість документів
в колекції що містять термін t
 Коли ми пробуємо знайти різницю між
документами з ціллю їх ранжування за
запитом, краще використовувати
статистичні показники самих документів,
чим статистичні показники усієї колекції
ЗВОРОТНА ДОКУМЕНТНА ЧАСТОТА
Слово cf (частота в df (документна
колекції) частота)
try 10422 8760
insurance 10440 3997
ЗВОРОТНА ДОКУМЕНТНА ЧАСТОТА
 Як використовувати документну частоту
терміна для корекції ваги?
 N – загальна кількість документів в
колекції
 Визначимо зворотну документну частоту
(inverce document frequency) терміна t
наступним чином:
 Idft =log (N/dft)
ПРИКЛАДИ ЗВОРОТНИХ
ДОКУМЕНТНИХ ЧАСТОТ ДЛЯ
КОЛЕКЦІЇ REUTERS
термін сft Idft
car 18165 1,65
auto 6723 2,08
insurance 19241 1,62
best 25335 1,6
ЗВАЖУВАННЯ НА ОСНОВІ КОМБІНАЦІЇ
ЧАСТОТИ І ЗВОРОТНОЇ ДОКУМЕНТНОЇ
ЧАСТОТИ ТЕРМІНА
 Скомбінуємо частоту терміна в документі
(terf frequency – tf) і зворотну документну
частоту (inverse document frequency – idf),
щоб отримати вагу кожного терміна в
кожному документі.
 Схема зважування tf-idf надає кожному
терміну t його вагу в документі d на основі
формули
 tf-idft,d =tft,d . idft
ЗВАЖУВАННЯ НА ОСНОВІ КОМБІНАЦІЇ
ЧАСТОТИ І ЗВОРОТНОЇ ДОКУМЕНТНОЇ
ЧАСТОТИ ТЕРМІНА
 Інакше кажучи, вага tf-idft,d терміна t в
документі d має наступні властивості:
 Вона досягає максимального значення, якщо
термін t зустрічається багато разів в
невеликій кількості документів
 Вона зменшується, якщо термін зустрічається
в якомусь документі тільки декілька разів або
зустрічається в багатьох документах
 Вона досягає мінімального значення, якщо
термін зустрічається майже в усіх документах
ЗВАЖУВАННЯ НА ОСНОВІ КОМБІНАЦІЇ
ЧАСТОТИ І ЗВОРОТНОЇ ДОКУМЕНТНОЇ
ЧАСТОТИ ТЕРМІНА
 Кожний документ можна інтерпретувати
як вектор, що складається з компонент,
що відповідають кожному терміну в
словнику, і ваг кожного компонента,
обрахованих по наведеній формулі.
 Якщо терміна немає в документі вага - 0
ЗВАЖУВАННЯ НА ОСНОВІ КОМБІНАЦІЇ
ЧАСТОТИ І ЗВОРОТНОЇ ДОКУМЕНТНОЇ
ЧАСТОТИ ТЕРМІНА
 Міра перекриття (overlap score measure):
релевантність документа d дорівнює сумі
вхожень всіх термінів запита в цей
документ
 Score(q,d) = Σtєdtf-idft,d
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ РАНЖУВАННЯ
 Подання множини документів у вигляді
веторів в загальному векторному просторі
називається моделлю векторного
простору (vector space model) і є
фундаментальним для багатьох задач
інформаційного пошуку, включаючи
ранжування документів по запиту,
класифікацію і кластеризацію документів.
СКАЛАЯРНИЙ ДОБУТОК
 Позначимо через вектор, що
побудований по документу d,в якому
кожному терміну словника відповідає
окремий компонент
 Множину документів в колекції можна
подати як вектори в векторному просторі
в якому кожному терміну відповідає
окрема вісь.
 Притакому представленні ми втрачаємо
порядок термінів в документі
СКАЛАЯРНИЙ ДОБУТОК
СКАЛАЯРНИЙ ДОБУТОК
СКАЛАЯРНИЙ ДОБУТОК
 Таким чином, останній вираз можна
інтерпретувати як скалярний добуток
двох нормалізованих векторів, що
відповідають двом документам.
 Ця міра схожості дорівнює косинусу кута
ϴ між двома векторами.
СКАЛАЯРНИЙ ДОБУТОК
СКАЛАЯРНИЙ ДОБУТОК
 Як використати міру схожості sim(d1,d2)?
 Ми можемо знайти документи схожі на
вказаний (пошук документів з найбільшим
скалярним добутком
 Представлення колекції, що складається з
N документів, як колекції векторів
приводить до трактовки колекції як
матриці «термін-докуент» …
ЗАПИТИ ЯК ВЕКТОРИ
 Існує ще одна більш вагома причина
представляти документи у вигляді
вектора: запит також можна розглядати
як вектор.
 Ми можемо інтерпретувати запит як
короткий документ, відповідно можна
використовувати косинусну міру схожості
мі ж вектором запиту і вектором
документа як значення релевантності
документа запиту.
 Пізніше ми розглянемо як оптимізувати
цей ДУЖЕ ресурсоємкий процес.
РАНЖУВАННЯ В ВЕКТОРНІЙ МОДЕЛІ
 На практиці в нас є колекція документів,
кожний з яких представлений у вигляді
вектора, вільний текстовий запит, що
представлено у вигляді вектора, а також
додатнє число К.
 Ми шукаємо К документів колекції з
найбільшим значенням релевантності
запиту.
БАЗОВИЙ АЛГОРИТМ РАНЖУВАННЯ
В ВЕКТОРНОМУ ПРОСТОРІ
ВАРІАНТИ ФУНКЦІЙ TF-IDF
 Існує велика кількість варіантів
зважування термінів в документах
 Розглянемо найбільш важливі.
СУБЛІНІЙНЕ МАСШТАБУВАННЯ TF
НОРМУВАННЯ TF НА
МАКСИМАЛЬНИЙ TF В ДОКУМЕНТІ
 Дякую за увагу.
ЛЕКЦІЯ 7
Ранжування в повнофункціональній
пошуковій системі
ВСТУП
 Проблеми ранжування в
повнофункціональній пошуковій системі.
НЕТОЧНИЙ ПОШУК КРАЩИХ K
ДОКУМЕНТІВ
 До цих пір ми приділяли увагу пошуку рівно
K кращих документів за запитом.
 Тепер розглянемо схеми, що дозволяють
створити список K документів, які, ймовірно,
належать до K кращим документам,
відповідним запитом.
 Це має різко знизити вартість пошуку таких
K документів без істотної втрати
релевантності результатів з точки зору
користувача.
 Отже досить знайти K документів,
релевантність яких мало відрізняються від
найкращих.
НЕТОЧНИЙ ПОШУК КРАЩИХ K
ДОКУМЕНТІВ
 З точки зору користувача такий
приблизний пошук K документів не
завжди поганий.
 У будь-якому випадку немає ніяких
гарантій, що K документів, визначених на
основі косинусної міри подібності,
насправді найкраще відповідають запиту:
косинусна міра подібності сама по собі
лише приблизно оцінює релевантність
документа запиту.
НЕТОЧНИЙ ПОШУК КРАЩИХ K
ДОКУМЕНТІВ
 Розглянемо евристичні прийоми, за
допомогою яких можна знайти K
документів, релевантність яких,
визначена на основі косинусної міри
подібності, і близькі до релевантністю
кращих K документів.
НЕТОЧНИЙ ПОШУК КРАЩИХ K
ДОКУМЕНТІВ
 Основні обчислювальні витрати
обумовлені необхідністю визначення
косинусної подібності між запитом і
великою кількістю документів.
 Крім того, при великій кількості
документів з близькими значеннями
релевантності вартість пошуку K
найкращих документів збільшується.
 Розглянемо ряд ідей, що дозволяють
видалити з розгляду велику кількість
документів, не обчислюючи для них
косинусну міру подібності.
НЕТОЧНИЙ ПОШУК КРАЩИХ K
ДОКУМЕНТІВ
 Ці евристичні прийоми виконуються в два
етапи.
 Знайдемо множину A, що складається з
документів, які є кандидатами на включення
в список, де K<|A|<<N.
 Зовсім не обов'язково, щоб ця множина містила K
документів з найбільшою релевантністю запиту q,
але в ньому повинно бути досить багато
документів, релевантність яких близька до перших
K документів.
 Повернемо K документів, що мають найбільшу
релевантність в множині A.
СКОРОЧЕННЯ ІНДЕКСУ
 Очевидно, що для запиту q, що
складається з багатьох термінів, досить
розглянути документи, що містять
принаймні один із цих термінів.
 Ми можемо використовувати цю
обставину, доповнивши його
евристичними правилами.
СКОРОЧЕННЯ ІНДЕКСУ
 Розглянемо лише документи, що містять
терміни, значення idf яких перевищує заданий
поріг.
 Таким чином, при обході словопозицій досить
переглянути лише терміни з високим значенням
idf.
 Це дає значний виграш: інвертовані списки для
термінів з низькими значеннями idf, як правило,
дуже довгі; виключивши їх з розгляду, можна
значно скоротити список документів, для яких
обчислюється косинусна міра подібності.
 Цей евристичний прийом можна інтерпретувати
так:
 терміни з низьким значенням idf розглядаються як
стоп-слова і не вносять вклад в релевантність
документа.
 Наприклад, для запиту catcher in the rye досить
обійти тільки словопозиції термінів catcher і rye.
ЗГАДАЄМО
 Зворотна документна частота (inverce
document frequency) терміна t наступним
чином:
 Idft =log (N/dft)
 dft- кількість документів в колекції, що
містять термін
 N – загальна кількість документів в колекції
СКОРОЧЕННЯ ІНДЕКСУ
 Розглянемо лише документи, що містять
багато (у спеціальному випадку - всі)
терміни запиту.
 Це можна зробити в процесі обходу
словопозіцій;
 релевантність обчислюється тільки для
документів, що містять всі (або багато) терміни
запиту.
 Недолік цієї схеми полягає в тому, що,
вимагаючи, щоб у документі були
представлені всі (або навіть багато)
термінів запиту до обчислення їх косинусної
міри подібності, ми можемо отримати в
результаті менше K документів-кандидатів.
ЧЕМПІОНСЬКИЙ СПИСОК
 Ідея чемпіонських списків (champion lists), який
іноді називають також списками фаворитів
(fancy lists) або списками топ-документів (top
docs), полягає в попередньому визначенні для
кожного терміна t набору з r документів з
найбільшими вагами по відношенню до терміну
t.
 При цьому величина r вибирається заздалегідь.
 У схемі зважування tf-idf ці r документів мають
найбільші значення tf по відношенню до
терміну t.
 Цей набір з r документів називається
чемпіонським списком для терміна t.
ЧЕМПІОНСЬКИЙ СПИСОК
 Тепер, маючи запит q, ми можемо
створити множину A наступним чином:
 об'єднаємо списки чемпіонів для кожного
терміна, що міститься в запиті q.
 обчислення косинусном міри схожості тепер
обмежується тільки документами множини A.
ЧЕМПІОНСЬКИЙ СПИСОК
 Критичним параметром для цієї схеми є
значення r, воно сильно залежить від
програми.
 Інтуїтивно ясно, що величина r повинна бути
великою порівняно з K, особливо якщо
використовується будь-яка форма скорочення
індексу, описана вище.
 Одна з проблем полягає в тому, що величина r
визначається в момент побудови індексу, в
той час як число K залежить від програми, але
може залишатися невизначеним аж до
моменту, поки не буде отриманий запит q.
 У результаті ми можемо (як і у випадку
скорочення індексу) виявити, що множина A
містить менше K документів.
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Розвинемо далі ідею чемпіонських списків
у напрямку більш загальної ідеї про
статичний ранг.
 У багатьох пошукових системах існує
можливість обчислити міру якості g(d) для
кожного документа d, що не залежить від
запиту і тому є статичною (static).
 Цю якість можна розглядати як число, що
лежить між нулем і одиницею.
 Наприклад, в контексті новин в мережі
Інтернет ранг g(d) може бути визначений за
кількістю доброзичливих відгуків користувачів
про статтю.
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Спочатку розглянемо упорядкування
документів у інвертованому списку для
кожного терміна за зменьшенням g(d).
 Це дозволяє виконати алгоритм перетину
списків з використанням словопозіцій,
упорядкованих за g(d).
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Індекс, впорядкований по статичному
рангу.
 У даному прикладі ми припускаємо, що
статичні ранги документів Doc1, Doc2 і
Doc3 рівні g(1) = 0,25, g(2) = 0,5 і g(3) = 1
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Наступна ідея є безпосереднім
розширення чемпіонських списків.
 Для ретельно вибраного значення r і для
кожного терміна t ми зберігаємо
глобальний чемпіонський список (global
champion list), що складається з r
документів, що мають найбільші значення
 g(d)+tf-idft,d

 Цей список впорядкований так, як і всі


інвертовані списки (або за
ідентифікаторами документів, або по
статичних рангах).
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Тоді в момент запиту залишається тільки
обчислити підсумкову релевантність (7.1)
для документів, що належать об'єднанню
цих глобальних чемпіонських списків.
 Інтуїтивно ясно, що це виведе на перший
план документи з великою підсумковою
релевантністю.
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Завершимо обговорення глобальних
чемпіонських списків наступного ідеєю.
 Для кожного терміну t будемо зберігати
два інвертованих списки, що складаються
з непересічних множин документів і
впорядкованих за спаданням величини g(​​
d).
СТАТИЧНИЙ РАНГ ТА
ВПОРЯДКУВАННЯ ІНДЕКСУ
 Перший список, який називається верхнім
(high), складається з m документів, що мають
найбільші значення tf для терміна t.
 Другий список, який називається нижнім (low),
містить всі інші документи, що містять термін
t.
 Обробляючи запит, ми спочатку скануємо
тільки верхні списки термінів запиту,
обчислюючи підсумкову релевантність
документів, що містяться у верхніх списках
для всіх (або більшої частини) термінів запиту.
 Якщо в ході цього процесу нам вдасться
отримати K релевантних документів, то
алгоритм зупиняється.
 Якщо ні, то ми обчислюємо релевантність
документів з нижніх списків.
ВІДСІКАННЯ КЛАСТЕРІВ
 У методі відсікання кластерів (cluster
pruning) передбачений попередній етап,
на якому відбувається кластеризація
векторів документів.
 Потім, у момент обробки запиту, ми
будемо розглядати тільки документи, що
належать невеликій кількості кластерів,
які є кандидатами для ранжування,
заснованих на косинусній мірі подібності.
ВІДСІКАННЯ КЛАСТЕРІВ
ВІДСІКАННЯ КЛАСТЕРІВ
ВІДСІКАННЯ КЛАСТЕРІВ
ВІДСІКАННЯ КЛАСТЕРІВ
 Використання випадково вибраних
провідних документів для кластеризації
працює швидко і з деякою вірогідністю
відбиває розподіл векторів документів у
векторному просторі.
 Область векторного простору, щільно
заповнена документами, ймовірно,
породить кілька лідерів, що призведе до
більш дрібного розбиття на підобласті.
ВІДСІКАННЯ КЛАСТЕРІВ
 Ввівши додаткові параметри b1 і b2, які є
позитивними цілими числами, можна
отримати різні варіанти відсікання
кластерів.
 На етапі попередньої обробки ми зв'яжемо
кожен ведений документ з його b1
найближчими провідними документами, а
не просто з єдиним найближчим
провідним документом.
 У момент надходження запиту ми
розглянемо b2 провідних документів,
найближчих до запиту q.
ВІДСІКАННЯ КЛАСТЕРІВ
 Очевидно, що основна схема відповідає
випадку b1 = b2 = 1.
 Крім того, збільшуючи параметри b1 і b2,
ми збільшуємо ймовірність виявлення K
документів, які з більшою ймовірністю
належать списку справжніх K документів
з максимальною релевантністю.
 Правда, при цьому збільшується обсяг
обчислень.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БАГАТОРІВНЕВІ
ІНДЕКСИ
 При використанні евристичних прийомів,
таких як скорочення індексу для
неточного пошуку K кращих документів
може виявитися, що множина A містить
менше K документів. 
 Як правило, в цих ситуаціях
використовуються багатоярусні індекси
(tiered indexes), які можна розглядати, як
узагальнення чемпіонських списків. 
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БАГАТОРІВНЕВІ
ІНДЕКСИ
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БАГАТОРІВНЕВІ
ІНДЕКСИ
 У даному прикладі
порогове значення tf для
першого ярусу встановлено рівним 20,
для другого ярусу - 10.
 Це означає, що індекс першого
ярусу містить тільки словопозіції, у яких
значення tf перевищує 20, а індекс другого
ярусу містить тільки словопозіції, у яких
значення tf перевищує 10.
 У даному прикладі словопозіціі всередині
ярусу впорядковані за ідентифікаторами
документів.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БЛИЗЬКІСТЬ
ТЕРМІНІВ ЗАПИТУ
 Користувачі віддають перевагу
документам, в яких всі або більшість
термінів запиту розташовані близько один
до одного, оскільки це є свідченням того,
що документ спрямований на цілі запиту.
 Це твердження особливо справедливо для
користувачів мережі Веб.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БЛИЗЬКІСТЬ
ТЕРМІНІВ ЗАПИТУ
 Розглянемо запит, що містить декілька
термінів t1, t2, ..., tk.
 Позначимо через ω ширину найменшого
вікна в документі d, що містить всі
терміни запиту.
 Ширину цього вікна будемо вимірювати
кількістю слів у вікні.
 Наприклад, якщо документ складається
тільки з речення “The quality of mercy is not
strained”, то ширина найменшого вікна для
запиту strained mercy дорівнює чотирьом.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БЛИЗЬКІСТЬ
ТЕРМІНІВ ЗАПИТУ
 Інтуїтивно ясно, що чим менше ширина ω,
тим краще документ d відповідає запиту.
 Якщо документ містить не всі терміни
запиту, то величину ω можна встановити
рівний якомусь дуже великому числу.
 Крім того, можна розглянути варіанти,
коли стоп-слова не беруть участь в
обчисленнях.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БЛИЗЬКІСТЬ
ТЕРМІНІВ ЗАПИТУ
 Такі функції ранжування, засновані на
близькості термінів запиту в документі
(proximity-weighted scoring functions),
відрізняються від чистої косинусної міри
схожості і більше схожі на семантику
"м'якого логічного І", яка, очевидно,
використовується в Google та інших
пошукових системах.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. БЛИЗЬКІСТЬ
ТЕРМІНІВ ЗАПИТУ
 Як же придумати таку функцію
ранжирування на основі близькості, що
залежить від величини ω?
 Найпростіше використовувати підхід
"закодувати вручну”.
 Більш масштабований підхід заснований на
матеріалі, викладеному в попередній лекції.
 В цьому випадку величина ω розглядається
як ще одна чисельна ознака (фактор)
ранжування, важливість якого
визначається в ході машинного навчання.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Зазвичай інтерфейси пошукових систем,
особливо систем, орієнтованих на
масового користувача в мережі Веб,
намагаються замаскувати оператори
запиту від кінцевого користувача, щоб
приховати складність цих операторів від
непідготовленої аудиторії, заохочуючи її
вводити вільні текстові запити (free text
queries).
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Як же пошукова система, оснащена таким
інтерфейсом і індексами для різних
операторів пошуку, повинна обробляти
запит на зразок “rising interest rates”?
 Або, узагальнюючи питання, як врахувати
всі чинники, що впливають на
релевантність документа?
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Зрозуміло, відповідь залежить від
користувальницької аудиторії, розподілу
запитів і колекції документів.
 Для перетворення декількох ключових слів,
набраних користувачем, до запиту з
операторами, який надходить в індекси,
використовується парсер запитів (query
parser).
 Іноді ця операція може спричинити за
собою виконання декількох запитів до
різних індексів
 наприклад парсер може побудувати серію
запитів.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Спочатку запит користувача
обробляється, як фразовий.
 Потім він ранжується за допомогою
методу векторного простору, який
інтерпретує запит, як вектор, що
складається з трьох термінів: rising
interest rates.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Якщо фраза rising interest rates міститься
менше ніж у десяти документах, то
генеруються два двуcловних запити: rising
interest і interest rates.
 Документи знову ранжуються на основі
моделі векторного простору.
 Якщо у нас як і раніше менше десяти
результатів, то генеруються три
однослівних запити, які також
ранжуються на основі моделі векторного
простору.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 На кожному з цих етапів (якщо вони
виконуються) виникає список оцінених
документів, для кожного з яких необхідно
обчислити підсумкову релевантність.
 Вона може враховувати релевантність,
визначену за моделлю векторного
простору, статичний ранг, міру близькості
і, можливо, інші чинники, оскільки
документ може бути включений у списки
знайдених документів на різних етапах.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Необхідна агрегуюча функція
ранжування, що накопичує оцінку
релевантносі документів, отримані з
різних джерел.
 Як розробити такий парсер запиту і як
створити таку агрегуючу функцію
ранжування?
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Відповідь залежить від ситуації.
 У багатьох корпоративних системах ІПС
будується з використанням набору доступних
операторів ранжування і гнучкого парсера
запиту: функції ранжирування і парсер
налаштовуються вручну.
 Для налаштування використовуються наявні в
колекції зони, метадані та знання про типові
документи та запити.
 У корпоративних ІПС значні зміни колекції і
властивостей запитів зазвичай рідкісні і
пов'язані з такими подіями, як впровадження
нового формату документів або системи
документообігу, а також злиття з іншою фірмою.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ПАРСЕР ЗАПИТУ
І РАНЖУВАННЯ
 Інша справа при веб-пошуку, який
пов'язаний з колекцією документів, що
безперервно змінюється, у якій нові
чинники виникають постійно.
 Крім того, кількість факторів, що
впливають на релевантність, може сягати
кількох сотень, що робить ручний підбір
параметрів складним завданням.
 Для вирішення цієї проблеми зазвичай
використовуються методи машинного
навчання.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
 Отже, ми вивчили всі компоненти,
необхідні для типової пошукової системи,
що підтримує вільні текстові та булеві
запити, а також запити по зонах і полям.
 Коротко розглянемо збірку всі цих частин
в єдину систему.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
 На цьому малюнку потоки документів надходять
на парсер і в підсистему лінгвістичної обробки
(визначення мови та формату, розбиття на
лексеми і стеммінг).
 Підсумковий потік лексем подається на два
модулі.
 По-перше, ми зберігаємо копію кожного
проаналізованого документа в кеші документів.
 Це дозволяє нам генерувати сніппети (snippet)
документа - фрагменти тексту, які
супроводжують кожен документ у списку
результатів пошуку.
 Вони призначені для короткого пояснення
користувачеві, чому цей документ відповідає
заданому запиту. Генерацію сніпетів розглянемо
на наступній лекції.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
 Друга копія лексем вступає у модуль
індексаторів, що створюють групу
індексів, включаючи індекси по зонах і
полях, що зберігають метадані для
кожного документа, (багатоярусні)
позиційні індекси, індекси для
виправлення орфографічних помилок і
забезпечення нечіткого пошуку, а також
структури для прискорення наближеного
пошуку K кращих документів.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
 Вільний текстовий запит користувача
(угорі в центрі малюнка) надсилається
індексам як безпосередньо, так і через
модуль для генерації кандидатів на
виправлення орфографічних помилок.
 Цей модуль може викликатися при
необхідності, тільки якщо за оригінальним
запиту знайдено мало документів.
 Знайдені документи (чорна стрілка)
надходять в модуль ранжирування на
основі машинного навчання (machine-
леарнед ranking).
 У результаті ранжування документи
відображаються на сторінці результатів.
КОМПОНЕНТИ ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ. ЗБЕРЕМО ВСЕ
РАЗОМ
ВПЛИВ ОПЕРАТОРІВ МОВИ ЗАПИТІВ
НА РАНЖУВАННЯ У ВЕКТОРНОМУ
ПРОСТОРІ
 Ми ввели в розгляд модель векторного
простору як парадигму для вільних
текстових запитів.
 Завершимо обговоренням того, як
ранжування на основі моделі векторного
простору пов'язане з операторами запиту,
розглянутими в попередніх розділах.
ВПЛИВ ОПЕРАТОРІВ МОВИ ЗАПИТІВ
НА РАНЖУВАННЯ У ВЕКТОРНОМУ
ПРОСТОРІ
 Цей зв'язок має досліджуватися на двох
рівнях:
 на рівні виразних можливостей мови запитів,
якими може скористатися досвідчений користувач,
 на рівні індексу, застосовуваного в різних методах
пошуку.
 При створенні пошукової системи ми можемо
прийняти рішення підтримувати різні
оператори запиту для кінцевого користувача.
 Для цього необхідно зрозуміти, які компоненти
індексу можуть спільно використовуватися
при виконанні різних операторів запиту, а
також як обробляти запити користувача, в
яких змішані різні оператори.
ВПЛИВ ОПЕРАТОРІВ МОВИ ЗАПИТІВ
НА РАНЖУВАННЯ У ВЕКТОРНОМУ
ПРОСТОРІ
 Ранжування у векторному просторі
підтримує так званий вільний текстовий
пошук, в якому запит розглядається як
набір слів, який не містить жодних
зв'язуючих операторів.
 Це дозволяє ранжувати документи, що
відповідають запиту, на відміну від
розглянутих раніше булевих і фразових
запитів, а також запитів з джокерами.
ВПЛИВ ОПЕРАТОРІВ МОВИ ЗАПИТІВ
НА РАНЖУВАННЯ У ВЕКТОРНОМУ
ПРОСТОРІ
 Традиційна інтерпретація таких "вільних"
текстових запитів колись зводилася до
пошуку документів, що містять хоча б
один термін запиту.
 Проте в даний час завдяки пошуковим
системам в Інтернет, таким як Google,
безліч термінів, набраних в поле введення
запиту (виглядає як вільний текстовий
запит), інтерпретується як кон'юнктивний
запит, по якому знаходяться документи,
що містять всі або більшість термінів
запиту.
БУЛЕВИЙ ПОШУК
 Очевидно, що для обробки булевого
запиту можна використовувати індекс,
побудований в моделі векторного
простору, оскільки вага терміна t у
векторі документа d не дорівнює нулю,
якщо термін t міститься в документі d.
 Зворотне твердження невірне: булевий
індекс не зобов'язаний за замовчуванням
містити інформацію про вагу терміна.
 З точки зору користувача, об'єднати
векторний простір і булеві запити
непросто.
БУЛЕВИЙ ПОШУК
 Запити у векторному просторі по своїй суті
являють собою форму накопичення доказів
(evidence accumulation), при якій наявність
великої кількості термінів у документі підвищує
його релевантність.
 З іншого боку, логічний пошук вимагає від
користувача вказувати формулу для вибору
документів за допомогою комбінацій ключових
слів без вказівки якого б то не було відносного
порядку між ними.
 З математичної точки зору для поєднання
булевих запитів і запитів у векторному просторі
можна застосовувати так звані p-норми, але
невідомі системи, що використовують цей факт.
ЗАПИТИ З ДЖОКЕРАМИ
 Запити з джокером і запити у векторному
просторі вимагають різних індексів (за винятком
базового рівня), які можна реалізувати за
допомогою словопозіцій і словника (наприклад,
словник триграм для шаблонних запитів).
 Якщо пошукова система дозволяє користувачеві
застосовувати оператор з джокером у вільному
текстовому запиті (наприклад, запит rom *
restourant), то компонент запиту з джокером
можна реалізувати як "розмноження" термінів у
векторному просторі (в даному випадку двома
такими термінами є слова rome і roman) і кожен
з яких додається у вектор запиту.
ЗАПИТИ З ДЖОКЕРАМИ
 Таким чином, вектор запиту обробляється,
а документи порівнюються і ранжуються,
як звичайно.
 Отже, документ, що містить обидва
терміни, rome і roma, швидше за все, буде
мати більш високу релевантність, ніж
документ, який містить лише одне з цих
слів.
 Зрозуміло, точне ранжування залежить
від відносних ваг кожного терміна в
знайдених документах.
ФРАЗОВІ ЗАПИТИ
 Представлення документа у вигляді
вектора в основі своїй призводить до
втрати інформації.
 При кодуванні документа у вигляді
вектора втрачається відносний порядок
термінів у документі.
 Навіть якщо ми спробуємо інтерпретувати
кожне двуслів’я (biword) як термін (тобто
як вісь у векторному просторі), то ваги по
різних осях не будуть незалежними.
ФРАЗОВІ ЗАПИТИ
 Більше того, для двухсловій необхідно
якось поширити такі поняття, як зворотна
документна частота.
 Таким чином, індекс, побудований для
пошуку у векторному просторі, в
принципі, не може бути використаний для
обробки фразового запиту.
 Більш того, не існує ніякого способу
ранжування документів у векторному
просторі щодо фразового запиту - ми
знаємо лише відносні ваги кожного
терміна в документі.
 Дякую за увагу.
ЛЕКЦІЯ 8. ОЦІНКА
ІНФОРМАЦІЙНОГО
ПОШУКУ
Глибовець А.М.
ВСТУП
 У попередніх розділах описано багато
альтернативних варіантів проектування
систем інформаційного пошуку.
 Як визначити, який із зазначених методів
найбільш ефективний у відповідних
програмах?
 Чи варто використовувати списки стоп-
слів?
 Чи потрібно проводити стемінг?

 Чи варто застосовувати зважування за


допомогою показника idf?
ВСТУП
 Інформаційний пошук представляє собою
переважно емпіричну дисципліну, що
вимагає ретельної і обережної оцінки
ефективності нових методів на
репрезентативних колекціях документів.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Для оцінки стандартним чином
інформаційно-пошукової системи по
довільним ("ad hoc", тобто "випадковим”)
запитам необхідна тестова колекція, що
складається з трьох компонентів:
 Колекція документів
 Набір текстових інформаційних потреб, що
виражені у вигляді запитів
 Набір оцінок релевантності, що подані, як
правило, у вигляді бінарних стверджень
релевантний і не релевантний відносно
кожної пари “запит-документ”
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Стандартний підхід до оцінки
інформаційно-пошукових систем
спирається на поняття релевантних і не
релевантних документів.
 Відповідно до інформаційних потреб
користувачів документ з тестової колекції
проходить бінарну класифікацію:
релевантний або нерелевантні.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Це рішення називається еталонною (gold
standard or ground truth) оцінкою
релевантності.
 Колекція тестових документів і набір
інформаційних потреб повинні мати
достатній об'єм: оцінку варто усереднювати
по дійсно великій сукупності тестів,
оскільки результати пошуку сильно
відрізняються для різних документів та
інформаційних потреб.
 Як першим дуже грубим наближенням
достатнім мінімумом вважається набір з 50
інформаційних потреб.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Релевантність оцінюється по відношенню
до інформаційної потреби, а не за
запитом.
 Наприклад, інформаційна потреба може
бути сформульована так.
 Чи правда, що червоне вино більш ефективно
знижує ризик серцевих нападів, ніж біле?
 Це питання можна перетворити в запит.
 wineAND red AND white AND heart AND attack
AND effective
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Документ є релевантним, якщо він відповідає
заданій інформаційній потребі, а не просто якщо
він містить всі слова із запиту.
 На практиці цю тонкість часто не розуміють,
оскільки інформаційна потреба неочевидна.
 Проте вона існує!!!
 Якщо користувач задає запит python пошуковій
веб-системі, то, можливо, його цікавить, де
можна купити ручного пітона.
 А може бути, йому потрібна інформація про мову
програмування Python.
 За однослівними запитом системі важко
зрозуміти, в чому полягає інформаційна потреба.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Проте користувачеві вона відома і він може
оцінювати отримані результати на основі їх
релевантності своїй інформаційній потребі.
 Для того щоб оцінити систему, необхідно
явно сформулювати інформаційну потребу,
щодо якої ми будемо судити про
релевантність або нерелевантність
знайдених документів.
 Для простоти можна припустити, що
релевантність можна оцінити за шкалою,
тобто одні документи є сильно
релевантними, а інші - слабо.
 Однак поки ми будемо використовувати
лише бінарне рішення про релевантності.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 Багато систем містять різні ваги
(параметри), за допомогою яких можна
налаштувати їх продуктивність.
 При оцінці таких систем не слід
враховувати результати пошуку по
тестовій колекції, отримані шляхом підбору
параметрів, що забезпечують максимум
продуктивності для даної колекції.
 Це пояснюється тим, що така настройка
завищує очікувану продуктивність системи,
оскільки ваги спеціально настроюються
так, щоб забезпечити максимальну
продуктивність на конкретній множині
запитів, а не на випадковій вибірці.
ОЦІНКА ІНФОРМАЦІЙНО-
ПОШУКОВОЇ СИСТЕМИ
 У таких випадках правильно було б
сформувати одну або декілька робочих
тестових колекцій документів
(development test collection) і підбирати
параметри для них.
 Після цього система з налаштованими
параметрами проходить випробування на
тестовій колекції.
 Результати, отримані при такому
тестуванні, можна розглядати як
незміщену оцінку продуктивності системи.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ
 Перелічимо основні стандартні тестові
колекції та проекти по їх оцінці.
 Ми зосередили свою увагу на тестових
колекціях для оцінки пошуку за довільним
запитом (ad hoc retrieval), але згадаємо
також аналогічні тестові колекції для
класифікації текстів.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
КОЛЕКЦІЯ CRANFIELD
 Колекція Cranfield (Cranfield collection) була
першою тестовою колекцією, що дозволяла
дати точну кількісну оцінку якості
інформаційного пошуку.
 Для сучасних досліджень вона занадто мала
і може використовуватися лише в самих
елементарних пілотних експериментах.
 Колекція формувалася у Великобританії з
кінця 1950-х років і містить 1398 анотацій
статей з журналів з ​аеродинаміки, 225
запитів і повний набір оцінок релевантності
кожної пари (запит, документ).
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
TREC
 Конференція з оцінки пошуку текстів (Text
Retrieval Evaluation Conference).
 Американський національний інститут за
стандартами і технологіями (US National
Institute of Standard and Technology - NIST)
починаючи з 1992 року проводить серію
масштабних випробувань методів
інформаційного пошуку.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
TREC
 В рамках конференції були проведені численні
"доріжки" (tracks) за різними тестовими
колекціям, але найбільш відомими є колекції,
використані в доріжці TREC Ad Hoc протягом
перших восьми кампаній з 1992 по 1999 рік.
 В цілому ці текстові колекції займають шість
компакт-дисків, що містять 1,89 мільйона
документів (в основному, але не виключно,
повідомлення з новинами) і оцінки
релевантності для 450 інформаційних потреб,
які називаються темами (topics) і уточнюються
за допомогою детальних текстових описів.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
TREC
 На основі різних підмножин цих даних сформовані
окремі текстові колекції.
 Доріжки TREC 1-5 використовували 50
інформаційних потреб, які оцінювалися на різних,
але перекриваючихся наборах документів.
 Доріжки TREC 6-8 передбачали 150 інформаційних
потреб і колекцію з понад 529 000 документів.
 Ймовірно, це найкраща підмножина даних TREC
для майбутньої роботи, оскільки вона є
найбільшою, а теми більш тісно узгоджені одна з
іншою.
 З-за великого розміру тестових колекцій вони не
містять оцінок релевантності для всіх документів.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
TREC
 В останні роки інститут NIST проводив
оцінку на більш великих колекціях
документів, включаючи колекцію GOV2, що
містить 25 мільйонів веб-документів.
 З самого початку розміри тестових колекцій
документів, сформованих інститутом NIST,
на порядки перевищували всі доступні
дослідникам колекції, а колекція GOV2 на
даний момент є найбільшою веб-колекцією,
доступною для дослідницьких цілей.
 Колекція GOV2 досі більш ніж на два
порядки менше колекцій документів,
проіндексованих великими комерційними
веб-системами пошуку.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
NTCIR
 Тестові колекції Національного інституту
інформатики Японії (National Institute of
Informatics of Japan - NII) для інформаційно-
пошукових систем (NII Test Collections for IR -
NTCIR).
 В рамках проекту NTCIR були створені тестові
колекції, розміри яких порівняні з колекціями
проекту TREC.
 Ці колекції присвячені переважно східно-
азіатським мовам і міжмовному
інформаційному пошуку (cross-language
information retrieval), коли запит формулюється
на одній мові, а пошук здійснюється по колекції
документів на інших мовах (
http://research.nii.ac.jp/ntcir/data/data-en.html ).
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
CLEF
 Проект Cross Language Evaluation Forum
(CLEF). Ця серія заходів по оцінці
присвячена європейським мовам та
пошуку різномовної інформації (
http://clef-campaign.org/ ).
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
REUTERS
 Колекції Reuters-21578 і Reuters-RCV1. Для
класифікації текстів найчастіше
використовується тестова колекція
Reuters-21578, що містить 21 578
повідомлень новин.
 Пізніше агентство Reuters розповсюдило
набагато більшу колекцію Reuters Corpus
Volume 1 (RCV1), що складається з 806 791
документів.
 Завдяки розміру і докладним анотаціям ця
колекція дуже добре підходить для
досліджень.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
NEWSGROUP
 Колекція 20 Newsgroup.
 Це ще одна широко використовувана
колекція для класифікації текстів, зібрана
Кеном Лангом (Ken Lang).
 Для неї з 20 груп новин Usenet (кожна
група новин розглядається як окрема
категорія) були витягнуті по тисячі
статей.
 Після видалення дублікатів ця колекція
складається з 18 941 статей.
СТАНДАРТНІ ТЕСТОВІ КОЛЕКЦІЇ.
РОМІП
 Заслуговує згадки також Російський семінар
з оцінки методів інформаційного пошуку
(РОМІП, www.romip.ru ), який проводиться
щорічно з 2003 року.
 У рамках РОМІП проводиться оцінка різних
завдань інформаційного пошуку - класичний
пошук за запитом, тематична класифікація,
кластеризація новинного потоку,
контекстно-залежне анотування текстових
документів, пошук за зображеннями і інше.
 У рамках ініціативи створені і поширюються
колекції текстових документів і зображень.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Отже, як оцінити якість системи, маючи
всі ці інгредієнти?
 Найчастіше для оцінки інформаційного
пошуку використовуються два показники:
точність (precision) і повнота (recall).
 Вони визначені для простого випадку,
коли інформаційно-пошукова система
повертає набір документів, які
відповідають запиту.
 Пізніше ми розглянемо, як ці показники
поширити на ранжовані результати
пошуку.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Точність (P) - це частка релевантних
документів серед знайдених.
 Точність
= (кількість релевантних знайдених
документів)/(кількість знайдених документів)
 Повнота (R) – частка знайдених
релевантих документів серед усіх
релевантних.
 Повнота= (кількість релевантних знайдених
документів)/(кількість релевантних
документів)
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
Релевантні Не релевантні
Знайдені Істинно позитивні Хибно позитивні
(tp) (fp)
Не знайдені Хибно Істинно негативні
негативні(fn) (tn)

Тоді вказані поняття можна визначити наступним чином:


P=tp/(tp+fp)
R=tp/(tp+fn)
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Очевидна альтернатива- оцінювати
інформаційно-пошукові системи за їх
правильністю (accuracy), тобто за часткою
правильних відповідей.
 У термінах таблиці спряженості ознак
правильність визначається так:
 Правильність = (tp+tn) / (tp+fp+fn+tn).
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Це здається розумним, оскільки існують
два класи документів - релевантні і
нерелевантні, а інформаційно-пошукову
систему можна інтерпретувати як
відповідний бінарний класифікатор (що
повертає документи, які вважає
релевантними).
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Однак існує важлива причина, чому
правильність не підходить для оцінки
інформаційного пошуку.
 Практично у всіх ситуаціях дані вкрай
несиметричні; як правило, більше 99,9%
документів є нерелевантними.
 Система, налаштована на досягнення
максимальної правильності, може просто
вважати всі документи нерелевантними
всім запитам.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Навіть якщо така система є прийнятною,
спроба позначити деякі документи як
релевантні майже завжди призводить до
підвищення рівня хибно позитивних.
 Однак позначка всіх документів
нерелевантними абсолютно не відповідає
потребам користувачів інформаційно-
пошукових систем.
 Користувачі завжди хочуть бачити якісь
документи і цілком імовірно, що вони
змиряться з певною часткою хибно
позитивних, якщо поряд з ними вони
отримають також якусь корисну
інформацію.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Перевага використання двох показників
полягає в тому, що в багатьох ситуаціях
один з них виявляється важливіше іншого.
 Типові користувачі Інтернет хотіли б, щоб
всі результати, виведені на першій
сторінці, були релевантними (висока
точність), але не хочуть мати уявлення
про всі релевантні документи, тим більше
переглядати їх.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 На противагу цьому професійні
користувачі, що займаються пошуком в
Інтернет, наприклад помічники адвокатів і
працівники спецслужб, дуже зацікавлені в
тому, щоб повнота пошуку була якомога
вищою, і готові миритися з низькою
точністю.
 Люди, які шукають інформацію на своїх
жорстких дисках, також часто зацікавлені
у високій повноті пошуку.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Проте точність і повнота пошуку
очевидним чином суперечать один
одному: повноту завжди можна
підвищити до одиниці (при дуже низькій
точності), повертаючи всі документи на
всі запити!
 З іншого боку, в хороших системах при
збільшенні кількості знайдених
документів точність зазвичай знижується.
 У цілому хотілося б досягти певної
повноти пошуку при невеликому рівні
хибно позитивних документів.
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Показник, що дозволяє знайди баланс між
повнотою і точністю називається F-мірою і
являє собою середнє гармонічне зважене

 Тут
 По замовчанню збалансована F-міра надає
точності і повноті однакові ваги, тобто
α=1/2, або β=1.
 При β=1 формула спрощується:
ОЦІНКА НЕ РАНЖОВАНИХ
РЕЗУЛЬТАТІВ ПОШУКУ
 Однак рівні ваги не є єдино можливим
варіантом.
 Значення β<1 віддає перевагу точності, а
β>1 – повноті.
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
 Точність, повнота і F-міра - це показники,
які обчислюють за невпорядкованими
сукупностями документів.
 Щоб оцінити стандартні для сучасних
пошукових систем ранжовані результати,
необхідно розширити ці метрики (або
визначити нові).
 У цій ситуації в якості відповідних множин
знайдених документів природно вибирати
перші k документів.
 Для кожної такої множини точність і
повноту можна зобразити у вигляді кривої
"точність-повнота".
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
 Криві "точність-повнота“ мають
пилкоподібний вигляд: якщо (k+1)-й
знайдений документ виявляється
нерелевантним, то повнота залишається
такою ж, як і для перших k документів,
але точність знижується.
 Якщо ж цей документ виявляється
релевантним, то як точність, так і повнота
збільшуються, а крива робить стрибок
вгору і вправо.
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
 У багатьох випадках корисно видалити ці
зубці й використовувати інтерпольовану
точність pinterp (interpolated precision), яка
при певному рівні повноти r являє собою
найбільшу точність для всіх значень
повноти r '≥ r.

 Це пояснюється тим, що практично всі


користувачі згодні переглядати на
декілька документів більше, якщо це
збільшить точність пошуку.
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ

Графік “точність-повнота”
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
 Вивчення кривої "точність-повнота" є
дуже інформативною, проте досить часто
бажано представити всю цю інформацію
за допомогою декількох і навіть одного
значення.
 Традиційно для цього використовується
середня точність, інтерпольована по
одинадцяти точках (eleven-point
interpolated average precision).
 Саме цей показник був використаний,
наприклад, у перших восьми
експериментах ТРЕК Ad Hoc.
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
 Для кожної інформаційної потреби
інтерпольована точність вимірюється на 11
рівнях повноти: 0,0; 0,1; 0,2; ...; 1,0.
 Для кривої "точність-повнота",
представленої на рисунку, що ми
розглянули, ці 11 точок наведено в
табличці на наступному слайді.
 Для кожного рівня повноти обчислюється
середнє арифметичне значення
інтерпольованої точності, що забезпечує
задану повноту пошуку по колекції для
кожної інформаційної потреби.
 Після цього можна побудувати загальний
11-точковий графік "точність-повнота".
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
Повнота Інтерпольована точність
0,0 1,00
0,1 0,67
0,2 0,63
0,3 0,55
0,4 0,45
0,5 0,41
0,6 0,36
0,7 0,29
0,8 0,13
0,9 0,10
1,0 0,08
ОЦІНКА РАНЖОВАНИХ РЕЗУЛЬТАТІВ
ПОШУКУ
ОЦІНКА РЕЛЕВАНТНОСТІ
 Для правильної оцінки системи тестові
інформаційні потреби повинні відповідати
документам, що зберігаються в тестовій
колекції, і майбутньому використанню
системи.
 Найкраще, щоб ці інформаційні потреби
розроблялися експертами в предметної
області.
 Використовувати як інформаційні потреби
випадкові поєднання термінів запитів
недоцільно, оскільки зазвичай вони не
відображають їх реальний розподіл.
ОЦІНКА РЕЛЕВАНТНОСТІ
 Крім інформаційних потреб і документів,
необхідно зібрати оцінки релевантності.
 Цей процес вимагає часу і грошей,
оскільки пов'язаний з участю людей.
 Для маленьких колекцій на зразок
колекції Cranfield були отримані оцінки
релевантності для кожної пари "запит-
документ" з колекції.
 При використанні великих сучасних
колекцій звичайно оцінюється
релевантність лише частини документів
для кожного запиту.
ОЦІНКА РЕЛЕВАНТНОСТІ
 Найчастіше для цього використовується
метод загального казана (pooling), при
якому релевантність оцінюється для
підмножини колекції, що складається з k
перших документів, повернутих кількома
інформаційно-пошуковими системами (як
правило, системами, що підлягають
оцінці) і, можливо, отриманих з інших
джерел , наприклад з результатів
булевого пошуку за ключовими словами
або документів, знайдених експертами в
ході інтерактивного процесу.
ОЦІНКА РЕЛЕВАНТНОСТІ
 Людина - це не робот, незворушно
повертаючий стандартні висновки про
релевантність документа по відношенню
до запиту.
 Його судження про релевантність носять
суб'єктивний і мінливий характер.
 Однак це не проблема: в остаточному
підсумку успіх інформаційно-пошукової
системи залежить від того, як вона
задовольняє інформаційні потреби саме
цих суб'єктивних користувачів.
ОЦІНКА РЕЛЕВАНТНОСТІ
 Тим не менш цікаво вивчити і оцінити
узгодженість експертів при оцінці
релевантності документів.
 У соціальних науках найбільш поширеним
показником узгодженості оцінок є каппа-
статистика (kappa statistics).
 Вона розроблена для категоріальних
оцінок і робить поправку на випадковий
збіг оцінок.
ОЦІНКА РЕЛЕВАНТНОСТІ

 Тут P (A) – частка оцінок експертів що збіглися,


P (E) - очікувана частка оцінок, що випадково
збіглися.
 Параметр P(E) можна оцінити по-різному.
 Якщо висновки стосуються лише двох класів, то
очікуваний рівень випадкових збігів дорівнює
0,5.
 Проте зазвичай розподіл класів є асиметричним,
тому для обчислення очікуваного рівня
узгодженості зазвичай використовується
маргінальна статистика (маргінал statistics).
ОЦІНКА РЕЛЕВАНТНОСТІ
 Є дві можливості оцінити величину P(E) в
залежності від того, чи використовується
об'єднаний маргінальний розподіл по
експертам чи маргінальні статистики для
кожного експерта окремо.
 На практиці застосовуються обидва
методи, але ми зупинимося на
об'єднаному маргінальному розподілі,
оскільки при систематичній розбіжності
між експертами воно дозволяє отримати
більш консервативні оцінки.
ОЦІНКА РЕЛЕВАНТНОСТІ
Висновки експерта 2 про релевантність
Висновки Так Ні Усього
експерта Так 300 20 320
1 про
релевантн Ні 10 70 80
ість Усього 310 90 400

Спостережувана частка узгоджених висновків
P (A) = (300 + 70)/400 = 370/400 = 0,925
Об'єднані маргінальні статистики
P (нерелевантний) = (80 + 90) / (400 + 400) = 170/800 = 0,2125
P (релевантний) = (320 + 310) / (400 + 400) = 630/800 = 0,7878
Ймовірність того, що думки експертів збіглися випадково
P (E) = P (нерелевантний)2 + P(релевантний)2 = 0,21252 + 0,78782 = 0,665
Каппа-статистика
κ = (P (A) - P (E)) / (1 - P (E)) = (0,925 - 0,665)/(1 - 0,665) = 0,776
ОЦІНКА РЕЛЕВАНТНОСТІ
 Обчислення продемонстровані в таблиці.
 Якщо два експерти завжди погоджуються
один з одним, то статистика каппа
дорівнює одиниці, якщо їх думки
співпадають випадково, то каппа-
статистика дорівнює нулю, і вона
негативна, якщо розбіжності більше, ніж
може пояснити випадковість.
 Якщо експертів більше двох, то можна
обчислити середнє попарних значень
каппа-статистики.
ОЦІНКА РЕЛЕВАНТНОСТІ
 На практиці вважається, що значення
каппа, що перевищує 0,8, означає гарне
узгодження, між 0,67 і 0,8 - задовільний, а
менше 0,67 - сумнівну підставу для
оцінки.
 Однак точні пороги залежать від
призначення даних.
ПЕРЕВАГИ І НЕДОЛІКИ КОНЦЕПЦІЇ
РЕЛЕВАНТНОСТІ
 Перевага оцінки системи на основі
стандартної моделі релевантних і
нерелевантних документів полягає в
тому, що ми маємо фіксовані умови, так
що ми можемо проводити порівняльні
експерименти за участю різних систем або
модифікацій однієї системи.
 Таке формальне тестування набагато
дешевше і дозволяє більш точно виявити
вплив параметрів системи на її якість, ніж
на основі експериментів за участю
користувачів.
ПЕРЕВАГИ І НЕДОЛІКИ КОНЦЕПЦІЇ
РЕЛЕВАНТНОСТІ
 Дійсно, спираючись на формальний
показник, якому ми довіряємо, ми можемо
оптимізувати якість системи за допомогою
методів машинного навчання, а не
налаштовувати параметри вручну.
 Зрозуміло, якщо формальний показник
погано описує потреби користувача, то
такий підхід ніяк не допоможе підвищити
задоволеність користувача.
БІЛЬШ ШИРОКА ТОЧКА ЗОРУ: ЯКІСТЬ
СИСТЕМИ ТА ЇЇ КОРИСНІСТЬ ДЛЯ
КОРИСТУВАЧА
 Формальні показники досить далекі від
нашої кінцевої мети - виміряти корисність
системи для людини, тобто оцінити,
наскільки кожен користувач задоволений
відповідями системи на його інформаційні
потреби.
 Зазвичай задоволеність людей оцінюється
в ході різноманітних досліджень за участю
користувачів.
БІЛЬШ ШИРОКА ТОЧКА ЗОРУ: ЯКІСТЬ
СИСТЕМИ ТА ЇЇ КОРИСНІСТЬ ДЛЯ
КОРИСТУВАЧА
 Вони можуть включати в себе кількісні
показники, як об'єктивні, наприклад час
виконання завдання, так і суб'єктивні, такі
як бали, виставлені користувачами
пошуковій системі, а також якісні оцінки,
такі як коментарі користувачів з приводу
пошукового інтерфейсу.
 Ми торкнемося інших аспектів системи,
що дозволяють давати кількісні оцінки
корисності системи, а також проблем
корисності для користувача.
ХАРАКТЕРИСТИКИ СИСТЕМИ
 Існує багато стандартних тестів, крім якості
пошуку, за якими можна оцінювати
інформаційно-пошукові системи.
 Швидкість індексування, інакше кажучи, кількість
документів, індексованих в годину для певного
розподілу довжин документів.
 Швидкість пошуку, тобто наскільки велика
затримка, що залежить від розміру індексу.
 Наскільки виразна мова запитів і наскільки швидко
опрацьовуються складні запити.
 Розмір колекції документів, тобто скільки
документів накопичено в колекції з різних тем.
 Всі ці критерії, крім виразності мови запитів,
допускають безпосереднє вимірювання, адже
швидкість і розмір можна виміряти.
 Виразність мови можна приблизно оцінити за
допомогою різних переліків властивостей.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Насправді нам потрібна загальна кількісна
оцінка ступеня задоволеності користувача,
заснована на релевантності, швидкості і
зручності інтерфейсу.
 Для цього, зокрема, необхідно розуміти
потреби людей, для яких створюється
система.
 Наприклад, користувачі пошукових веб-
систем задоволені, якщо вони знайшли те,
що шукали.
 Побічно ступінь цієї задоволеності можна
оцінити за кількістю людей, які регулярно
користуються такими системами.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Цей показник є ефективним, але ми
отримали б більш точну оцінку, якби
могли знати, як часто ці користувачі
вдаються до допомоги інших пошукових
систем.
 Ще одну групу користувачів пошукових
веб-систем утворюють рекламодавці.
 Вони задоволені, якщо клієнти заходять
на їх веб-сайти і роблять там покупки.
 На сайтах електронної комерції
користувачі зазвичай щось купують.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Таким чином, можна оцінити час, який
минув до вчинення покупки, або частку
відвідувачів, які стали покупцями.
 На веб-сайті, що відіграє роль вітрини
магазину, потреби користувача та
магазину вважаються задоволеними,
якщо відвідувач здійснив покупку.
 І все ж необхідно вирішити, що ми
оптимізуємо: задоволеність кінцевого
користувача або власника сайту
електронної комерції.
 Адже за оптимізацію зазвичай платить
власник сайту.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Для корпоративної пошукової системи, що
працює у внутрішній мережі компанії,
урядової або академічної установи,
кращим показником може бути
продуктивність праці користувача: скільки
часу користувач витрачає в пошуках
потрібної інформації.
 Крім того, існують інші практичні критерії,
що стосуються, наприклад, інформаційної
безпеки.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Ступінь задоволення користувача досить
важко оцінити, тому стандартні методології
використовують показники, засновані на
оцінках релевантності результатів пошуку.
 Найпростіше оцінити задоволеність
безпосередньо в рамках спеціальних
експериментів за участю користувачів.
 В ході цих експериментів проводяться
спостереження за роботою користувачів,
що вирішують типові задачі, вимірюються
різні показники і застосовуються методи
етнографічних інтерв'ю, які дозволяють
отримувати якісну інформацію про
задоволеність.
КОРИСНІСТЬ ДЛЯ КОРИСТУВАЧІВ
 Експерименти за участю користувачів
ефективні при проектуванні системи, але
пов'язані з великими витратами часу і
грошей.
 Крім того, для правильної організації
таких експериментів необхідні досвід і
знання, що дозволяють коректно
інтерпретувати їх результати.
НАЛАШТУВАННЯ ПРАЦЮЮЧОЇ
СИСТЕМИ
 Якщо система інформаційного пошуку вже
створена і експлуатується численними
користувачами, то її розробники можуть
оцінити можливі зміни, розгорнувши різні
варіанти системи і фіксуючи показники,
що свідчать про задоволеність
користувачів тим чи іншим варіантом.
 Цей метод часто використовується в
системах веб-пошуку.
НАЛАШТУВАННЯ ПРАЦЮЮЧОЇ
СИСТЕМИ
 Найчастіше використовується метод А/В
тесту (A/B testing).
 Цей термін запозичений з рекламної
індустрії.
 В ході такого тесту в функціонуючій
системі змінюється тільки один аспект і на
її модифікований варіант випадковим
чином спрямовується невелика частка
трафіку (скажімо, 1-10% користувачів), у
той час як більшість користувачів як і
раніше застосовують поточну версію.
НАЛАШТУВАННЯ ПРАЦЮЮЧОЇ
СИСТЕМИ
 Наприклад, якщо ми хочемо дослідити
модифікацію алгоритму ранжування, то
повинні перенаправити випадкову вибірку
користувачів на новий варіант системи та
оцінити певні показники, такі як частота
кліків по перших позиціях видачі або по
будь-якому результату на першій сторінці.
(Цей конкретний варіант методу
називається аналізом кліків).
 Надалі ми будемо називати його методом
неявній зворотного зв'язку.
НАЛАШТУВАННЯ ПРАЦЮЮЧОЇ
СИСТЕМИ
 В основі А/В-тестування лежить
проведення серії тестів (послідовно або
паралельно), в кожному з яких
досліджується вплив лише однієї змінної.
 При виконанні кожного тесту змінюється
тільки один параметр в порівнянні з
контрольною версією (поточною версією
системи).
 Це дозволяє легко з'ясувати, позитивно чи
негативно впливає зміна цього параметра
на роботу системи.
НАЛАШТУВАННЯ ПРАЦЮЮЧОЇ
СИСТЕМИ
 Таке тестування працюючої системи
дозволяє просто і дешево оцінити вплив змін
на користувачів і, при досить великій
кількості користувачів, врахувати навіть
дуже маленькі ефекти.
 В принципі, змінюючи одночасно декілька
параметрів випадковим чином, можна було б
використовувати більш потужні аналітичні
методи багатовимірного статистичного
аналізу, наприклад множинну лінійну
регресію.
 Однак на практиці А/В-тестування
використовується широко, оскільки його
легко організувати, зрозуміти і пояснити
керівництву.
 Дякую за увагу.
ЛЕКЦІЯ 9. ЗВОРОТНИЙ
ЗВ’ЯЗОК ПО
РЕЛЕВАНТНОСТІ І
РОЗШИРЕННЯ ЗАПИТУ
Глибовець А.М.
СНІППЕТИ
 Як представити користувачу документи,
що повернула пошукова система?
 Користувач не хоче перебирати всі
документи
СНІППЕТИ
 Сніппети - короткі анотації документів, по
яких користувачі могли б оцінити
релевантність документів.
 Як правило, спіппети складаються з
заголовка документа і короткої анотації,
що створена автоматично.
 Проблема полягає в тому, щоб
представити анотацію в максимально
корисному для користувача вигляді.
СНІППЕТИ
 Статичні (static)
 Динамічні (dynamic) або запитозалежні
(query dependent)
СТАТИЧНА АНОТАЦІЯ
 Статична анотація – фіксований фрагмент
 Документ + метадані
 Сама проста форма:
 Перші два речення, або 50 символів, або певні
зони документу
 Метадані (title + description)
СНІППЕТИ
NLP
 Natural Language Processing (NLP) для
підвищення якості реферування тексту
(text summarization).
 Сніппет – маленький реферат

 У більшості випадків завдання зводиться


до методів вибору хороших пропозицій
вихідного тексту, з яких формується
реферат.
NLP
 При побудові враховуються:
 позиції в документі
 Перший і останній абзац зазвичай найважливіші
 Тематичні фактори
 врахування ключових термінів (терміни з низькою
частотою в колекції, але високою частотою і
хорошим розподілом в знайденому документі)
ДИНАМІЧНІ СНІППЕТИ
 Динамічні анотації показують один або
декілька фрагментів документу
 Зазвичай фрагменти містять ключові слова
запиту
 Інколи включаються і статичні елементи
(наприклад – заголовок)
ДИНАМІЧНІ АНОТАЦІЇ
 Динамічні сніппети покращують зручність
але ускладнюють розробку ІПС
 Динамічну анотацію не можна створити
заздалегідь
 Якщо існує лише позиційний індекс і
проведена обробка тексту, відновити
вихідний текст неможливо (потрібно
зберігати повні локальні копії документів)
ДИНАМІЧНІ АНОТАЦІЇ
 Якщо в документі багато ключових слів, то
ми маємо вибрати фрагмент який би був:
 Максимально інформативним по відношенню
то термінів запиту
 Достатньо самостійним (читабельним)
 Достатньо коротким (обмежений об’єм)
ДИНАМІЧНІ АНОТАЦІЇ
 Генерація сніппета має бути швидкою
 Замістьусього документа зберігається
великий, але все таки обмежений префікс
(наприклад перші 10 тисяч символів)
ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ І РОЗШИРЕННЯ
ЗАПИТУ
 У багатьох колекціях одне і те ж поняття
може виражатися різними словами.
 Це явище, відоме як синонімія (synonymy),
впливає на повноту пошуку в більшості
інформаційно-пошукових систем.
 Наприклад,
 користувачі хотіли б, щоб запиту aircraft
відповідало також слово plane (але тільки в
сенсі літак, а не столярний рубанок)
 За запитом thermodynamics (термодинаміка) -
слово heat (тепло) у відповідному контексті.
ЗВОРОТНИЙ ЗВ'ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ТА
ПСЕВДОРЕЛЕВАНТНІСТЬ
 Ідея зворотного зв'язку за релевантністю
(Relevance Feedback - RF) полягає в
залученні користувача до процесу
пошуку, щоб поліпшити підсумковий
список результатів.
 Зокрема, користувач повідомляє системі
про релевантність документів в
первинному списку результатів.
 Коротенько ця процедура виглядає
наступним чином.
ЗВОРОТНИЙ ЗВ'ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ТА
ПСЕВДОРЕЛЕВАНТНІСТЬ
 Користувач робить (короткий, простий)
запит.
 Система повертає первісний список
знайдених результатів.
 Користувач відзначає деякі зі знайдених
документів як релевантні або
нерелевантні.
 Система визначає покращене подання
інформаційної потреби, грунтуючись на
зворотному зв'язку з користувачем.
 Система виводить на екран уточнений
набір знайдених результатів.
ЗВОРОТНИЙ ЗВ'ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ТА
ПСЕВДОРЕЛЕВАНТНІСТЬ
 Метод RF може передбачати одну або декілька
ітерацій.
 В основі цього процесу лежить ідея, згідно з якою
користувач не в змозі сформулювати точний запит,
не знаючи добре змісту колекції, але може оцінити
документи.
 Тому доцільно виконати декілька таких ітерацій,
щоб уточнити запит.
 У рамках цього сценарію метод RF може сприяти
еволюції інформаційної потреб користувача.
 Перегляд деяких документів може допомогти
користувачеві уточнити свої уявлення про
інформацію, яку він шукає.
ЗВОРОТНИЙ ЗВ'ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ТА
ПСЕВДОРЕЛЕВАНТНІСТЬ
 Яскравим прикладом методу RF є пошук
зображень.
 Результати пошуку зображень легко
переглянути, але саме в цій області
користувачеві важко сформулювати свій
запит словами, але легко вказати, які
саме зображення є релевантними або
нерелевантними.
АЛГОРИТМ РОККІО ДЛЯ
ЗВОРОТНОГО ЗВ'ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
АЛГОРИТМ РОККІО ДЛЯ ЗВОРОТНОГО
ЗВ'ЯЗКУ ЗА РЕЛЕВАНТНІСТЮ
АЛГОРИТМ РОККІО ДЛЯ
ЗВОРОТНОГО ЗВ'ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ

АЛГОРИТМ РОККІО ДЛЯ
ЗВОРОТНОГО ЗВ'ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
АЛГОРИТМ РОККІО ДЛЯ ЗВОРОТНОГО
ЗВ'ЯЗКУ ЗА РЕЛЕВАНТНІСТЮ

АЛГОРИТМ РОККІО ДЛЯ
ЗВОРОТНОГО ЗВ'ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
КОЛИ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ЕФЕКТИВНИЙ?
 Успіх даного методу залежить від певних
припущень.
 Користувач може сформулювати
початковий запит, хоч в якійсь мірі
близький до шукомих матеріалів.
КОЛИ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ЕФЕКТИВНИЙ?
 Це припущення важливе для будь-якої
ІПС, але відмітимо те що не може RF
перебороти самостійно:
 Невірний правопис (якщо користувач пише
термін у вигляді який ніде не зустрічається в
колекції, то система нічого не може зробити)
 Багатомовні ІПС. Документи різними мовами
знаходяться дуже далеко один від одного
 Неузгодженість словника користувача і
словника системи
КОЛИ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ЕФЕКТИВНИЙ?
 По-друге, метод зворотного зв’язку за
релевантністю потребує, що б релевантні
документи були схожі один на одний і
утворювали кластери.
 Цей підхід не працює якщо релевантні
документи утворюють мультимодальний
кластер, тобто складається з декількох
кластерів в векторному просторі.
 Це може вийти в наступних ситуаціях:
 Підмножини документів використовують різні
словники, наприклад Ленінград і Санкт Петербург
 Запит, множини відповідей на які різнорідні по
своїй природі
 Загальні поняття які частково розпадаються на
диз'юнкцію деяких більш конкретних понять
КОЛИ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ЕФЕКТИВНИЙ?
 Даний метод не завжди подобається
користувачам.
 Вони часто відмовляються від нього

 Часто за результатами пошуку не можна


зрозуміти чому ті чи інші документи були
знайдені
КОЛИ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ ЕФЕКТИВНИЙ?
 Крім того даний метод породжує
практичні проблеми.
 Довгі запити, що генеруються даним
методом, в звичайних ІПС являються
неефективними.
 Великіобчислювальні втрати збільшують час
відгуку
ЗЗЗР В ВЕБ
 Деякі системи веб-пошуку надають
функціональність пошуку
схожих/пов'язаних документів: користувач
вказує у списку результатів документ,
який, на його думку, найкраще відповідає
його інформаційній потребі, і запитує інші
документи, схожі на нього.
ЗЗЗР В ВЕБ
 Таку функціональність можна розглядати
як спрощений варіант зворотного зв'язку
по релевантності.
 Проте в цілому метод RF рідко
використовується в вебі.
 Винятком була система веб-пошуку Excite,
яка спочатку надавала повноцінний
зворотний зв'язок щодо релевантності.
 Однак від цієї опції згодом відмовилися,
оскільки вона не була затребувана
користувачами.
ЗЗЗР В ВЕБ
 В Інтернет лише деякі люди
використовують розширені можливості
пошуку, а більшість воліють обмежитися
єдиним запитом.
 Таке неприйняття може пояснюватися
двома причинами: по-перше, суть методу
RF важко пояснити типовому
користувачеві і, по-друге, основною метою
цього методу є підвищення повноти
пошуку, яка, як правило, рідко цікавить
користувачів систем веб-пошуку.
ЗЗЗР В ВЕБ
 У 2000 році Спінк та ін (Spink et al., 2000)
опублікували результати використання
методу RF в пошуковій системі Excite.
 Цей метод застосовувався тільки приблизно
в 4% пошукових сесій, причому більшість з
них обмежувалися використанням опції
"More like this" ("Схожі документи"), яка
супроводжувала кожен результат.
 Близько 70% користувачів переглянули
першу сторінку результатів і не шукали
документи на наступних.
 При використанні методу RF результати
були поліпшені приблизно в двох третинах
випадків
ЗЗЗР В ВЕБ
 Більш важливим напрямом останнім часом
став аналіз кліків користувача за
результатами пошуку, що забезпечує
неявний зворотний зв'язок по
релевантності.
 Дуже успішним стало використання
структури гіперпосилань у вебі, яку також
можна розглядати як вид неявного
зворотного зв'язку
ОЦІНКА СТРАТЕГІЙ ЗВОРОТНОГО
ЗВ’ЯЗКУ ЗА РЕЛЕВАНТНІСТЮ
 Інтерактивний ЗЗзР дозволяє отримати
виграш якості.
 З емпіричної точки зору часто корисним
виявляється навіть один цикл (два –
зачасту не на багато корсніші)
 Для успішного використання, не обхідно
мати достатню кількість оцінених
документів (рекомендується мати не
менше 5)
 Існує багато способів оцінки, але
найкращими до сих пір є експерименти за
участю користувачів.
ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
ПСЕВДОРЕЛЕВАНТНІСТЮ
 Зворотний зв'язок за псевдорелевантністю
(pseudo relevance feedback), або сліпий
зворотній зв'язок за релевантністю (blind
relevance feedback), - це метод автоматичного
локального аналізу.
 Він дозволяє автоматизувати ту частину RF, яка
виконується вручну, так що користувач
підвищує якість пошуку, не вступаючи в
додаткову взаємодія з системою.
 У рамках цього методу спочатку виконується
пошук і знаходиться вихідна сукупність
найбільш релевантних документів, в якій перші
k документів, що мають найбільші ранги,
передбачаються релевантними, а потім до них
застосовується метод RF з урахуванням цього
припущення
ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
ПСЕВДОРЕЛЕВАНТНІСТЮ
 В більшості випадків цей метод гарно
працює.
 Однак автоматичний процес не
позбавлений недоліків.
 Наприклад, якщо запит має вигляд cooper
mines (мідні рудники) і в декількох
документах, що займають перші місця,
мова йде про рудники в Чилі, то можливий
дрейф запитів в напрямку документів про
Чилі
НЕЯВНИЙ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ
 В якості бази для зворотного зв’язку
можна використовувати непрямі дані. Цей
метод називається неявним зворотним
зв’язком за релевантністю.
 Такий вид менш надійний ніж явний, але
більш корисний ніж ЗЗзПр, що не враховує
думки користувачів.
НЕЯВНИЙ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ
 В контексті ВЕБ був запропонований
метод DirectHit, ідея якого полягає в тому,
щоб присвоювати більш високий ранг тим
документам, які користувачі обирають для
перегляду частіше.
 Інакше кажучи, передбачається, що кліки
по посиланнях на сторінки є показниками
релевантності цих сторінок запиту.
 У цьому підході робиться кілька
припущень, наприклад що сніппети
документів в результатах пошуку (за
допомогою яких користувачі вибирають,
на які сторінки перейти) є індикаторами
релевантності цих документів.
НЕЯВНИЙ ЗВОРОТНИЙ ЗВ’ЯЗОК ЗА
РЕЛЕВАНТНІСТЮ
 В оригінальній системі пошуку DirectHit
дані про кліки збиралися глобально і не
були пов'язані з конкретними
користувачами або запитами.
 Цей метод є одним із різновидів
загального підходу аналізу кліків
(clickstream mining).
ГЛОБАЛЬНІ МЕТОДИ ДЛЯ
ПЕРЕФОРМУЛЮВАННЯ ЗАПИТІВ
 Давайте розглянемо три глобальних
методи розширення запитів.
СЛОВНИКОВІ ІНСТРУМЕНТИ ДЛЯ
ПЕРЕФОРМУЛЮВАННЯ ЗАПИТІВ
 Для того, що б користувач міг визначити,
наскільки успішним був його пошуковий запит,
існують різні методи підтримки.
 До них відносяться інформація про стоп-слова,
виключені з запиту, результат застосування
стеммінга до слів запиту, кількість збігів для
кожного терміну або фрази, а також
інформація про те, які послідовності слів
запиту оброблялися як фрази.
 Інформаційно-пошукова система може також
запропонувати пошукові терміни за допомогою
тезауруса або контрольованого словника.
РОЗШИРЕННЯ ЗАПИТУ
 У методі зворотного зв'язку за
релевантністю користувачі вводять
додаткову інформацію про документи
(позначаючи релевантні та нерелевантні
документи в списку результатів), і ця
інформація використовується для зміни
ваги термінів у запиті.
 З іншого боку, при розширенні запиту
(query expansion) користувачі вводять
додаткову інформацію про слова запиту
або фрази, можливо, пропонуючи
додаткові терміни запиту.
РОЗШИРЕННЯ ЗАПИТУ
 Деякі пошукові системи (особливо в
Інтернет) пропонують у відповідь на запит
ряд пов'язаних запитів; користувачі
можуть вибрати один з цих
альтернативних запитів. Основне
питання, пов'язаний з цією формою
розширення запиту, - як згенерувати
альтернативні або розширені запити для
користувача.
РОЗШИРЕННЯ ЗАПИТУ
 Найчастіше для розширення запиту
застосовується метод глобального
аналізу, що використовує певні форму
тезауруса.
 Для кожного терміну t запит можна
автоматично розширити за допомогою
синонімів чи близьких слів з тезауруса.
 Використання тезауруса можна
поєднувати з ідеями зважування терміну;
наприклад, можна приписати доданим
термінам ваги, які менше ваг вихідних
термінів запиту.
РОЗШИРЕННЯ ЗАПИТУ
 Існують різні методи побудови тезаурусів
для розширення запитів:
 Використання контрольованого словника, що
підтримується редакторами (існує канонічний
термін і його форми)
 Тезаурус, що створюється вручну
 Автоматично створюємий тезаурус
 Переформулювання запиту на основі логу
запитів.
АВТОМАТИЧНА ГЕНЕРАЦІЯ
ТЕЗАУРУСА
 В якості альтернативи затратному ручному
створенню тезауруса можна спробувати
згенерувати тезаурус автоматично шляхом
аналізу колекції документів.
 Існує два основні методи.
 Один з них просто використовує спільну
зустрічаємість слів.
 Вважається, що слова, що зустрічаються в
одному документі або абзаці, є близькими
за змістом або пов'язаними між собою,
тому для пошуку таких слів
використовується простий підрахунок
текстових статистичних показників.
АВТОМАТИЧНА ГЕНЕРАЦІЯ
ТЕЗАУРУСА
 Інший підхід заснований на використанні
поверхневого граматичного аналізу
тексту, а також граматичних відносин або
залежностей.
 Наприклад, якщо щось вирощується,
готується, з'їдається і перетравлюється,
то, швидше за все, мова йде про їжу.
 Просте використання суміжних слів більш
надійно (на нього не впливають помилки
граматичного аналізу), але пошук за
допомогою граматичних відносин є більш
точним.
АВТОМАТИЧНА ГЕНЕРАЦІЯ
ТЕЗАУРУСА
 Для того щоб скласти тезаурус на основі
спільної зустрічаємості, простіше за все
спиратися на попарну схожість термінів.
 Почнемо з матриці "термін-документ" A, в
якій кожна клітинка At,d містить зважену
кількість входжень wt,d терміна t в
документ d, в якому вага вибирається так,
щоб рядки матриці A були нормалізовані
по довжині.
 Потім обчислюється матриця C = AAT, де
Cu,v - міра подібності між термінами u і v
(чим більше ця міра, тим краще).
АВТОМАТИЧНА ГЕНЕРАЦІЯ
ТЕЗАУРУСА
 Одні терміни тезауруса гарні чи принаймні
можуть служити підказкою, інші - несуттєві і
погані.
 Якість асоціацій між словами зазвичай являє
собою проблему.
 Неоднозначність термінів легко створює
нерелевантні статистично корельовані
терміни.
 Наприклад, запит Apple computer може бути
розширений до Apple red fruit computer.
 Недоліки таких тезаурусів - як
хибнопозитивні, так і помилково негативні
зв'язки.
 Дякую за увагу.
ЛЕКЦІЯ 9. XML - ПОШУК
Глибовець А.М.
XML - ПОШУК
 Інформаційно-пошукові системи часто
протиставляються реляційним базам даних.
 Традиційно пошукові системи витягували
інформацію з неструктурованого тексту, під
яким розуміється "простий" текст без розмітки.
 На противагу їм бази даних призначені для
обробки запитів до реляційних даних, що
представляє собою сукупність записів, що
зберігають значення заздалегідь визначених
атрибутів, таких як табельний номер
співробітника, посада і зарплата.
 Між інформаційно-пошуковими системами та
базами даних існують фундаментальні
відмінності в моделі пошуку, структурах даних
і мовами запиту
XML - ПОШУК
 Деякі завдання пошуку тексту в структурованих
даних найбільш ефективно вирішуються за
допомогою реляційних баз даних.
 Наприклад, якщо таблиця співробітників містить
атрибут з коротким текстовим описом його
обов'язків і ви хочете знайти всіх співробітників,
що займаються виставлянням рахунків
(invoicing), то SQL-запит може виглядати так.
 select lastname from employees where job_desc like
'invoic%‘
 Такого запиту може виявитися достатньо для
того, щоб задовольнити вашу інформаційну
потребу з високою точністю і повнотою.
XML - ПОШУК
 Однак багато джерел структурованих
даних, що містять текст, найкраще
моделюються як структуровані
документи, а не як реляційні дані.
 Надалі будемо називати пошук за такими
документами структурованим (structured
retrieval).
 Запити на структурований пошук можуть
бути як структурованими, так і
неструктурованими, але в цій лекції ми
будемо вважати, що колекція містить
тільки структуровані документи.
XML - ПОШУК
 Програми структурованого пошуку
включають в себе електронні бібліотеки,
патентні бази даних, блоги, тексти, в яких
деякі суттності, наприклад імена людей і
географічні назви, позначені (у процесі
так званої розмітки іменованих сутностей
(named entity tagging))
 Ми хочемо мати можливість обробляти
запити, що поєднують текстуальні та
структурні критерії.
XML - ПОШУК
 Наведемо кілька прикладів таких запитів:
 give me а full-length article on fast fourier
transforms (електронні бібліотеки)
 give me patents whose claims mention RSA public
key encryption and that cite USA patent 4405829
(патенти)
 give me articles about sightseeing tours of the
Vatican and the Coliseum (текст з іменованими
сутностями).
 Ці три запити є прикладами таких
структурних запитів, які не можуть коректно
оброблятися інформаційно-пошуковими
системами, що не виконують ранжування.
XML - ПОШУК
 Ми розглянемо лише один стандарт
кодування структурованих документів:
 мову eXtensible markup language, або XML,
який в даний час використовується найбільш
широко.
 Ми не будемо глибоко вивчати відмінності
мови XML від інших мов розмітки текстів,
таких як HTML і SGML.
XML - ПОШУК
 У контексті інформаційного пошуку мова XML
цікавить нас лише як мова для кодування текстів і
документів, хоча, можливо, вона більш широко
використовується для кодування нетекстових
даних.
 Наприклад, можна перевести дані з корпоративної
системи планування ресурсів у формат XML, а потім
ввести в аналітичну програму, щоб побудувати
графіки для презентації.
 Цей тип додатків мови XML називається
орієнтованим на дані (data-centric), оскільки в них
домінують числові дані і нетекстові значення
атрибутів, а текст зазвичай утворює невелику
частину всіх даних.
 Основні засоби мови XML, орієнтованого на дані,
зберігаються в базах даних - на противагу методам
на основі інвертованих індексів для мови XML,
орієнтованого на текст.
 Саме другий тип методів розглядається в цій лекції.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 XML документ
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 XML-документ (XML document) - це
впорядковане і розмічену дерево.
 Кожен його вузол - це XML-елемент (XML
element).
 Він записується за допомогою відкриваючих
і закриваючих тегів (tag).
 Елемент може мати один або кілька XML-
атрибутів (XML attributes).
 В XML-документі, представленому на
попередньому слайді, елемент scene
укладений між двома позначками
<scene ...> і </ scene>.
 Він має атрибут number зі значенням vii і два
дочірніх елементи: title і verse.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Як правило, для доступу до XML-
документів та їх обробки використовується
об'єктна модель документа, або DOM
(Document Object Model).
 Ця модель являє елементи, атрибути і
текст усередині елементів як вузли дерева.
 За допомогою інртерфейса прикладного
програмування моделі DOM можна
обробити XML-документ, починаючи з
кореневого вузла і спускаючись вниз по
дереву від батьківських вузлів до дочірніх.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Для перебору шляхів в колекції XML-документів
зазвичай використовується мова XPath.
 У цій лекції ці шляхи називаються контекстами
XML (XML contexts) або просто контекстами.
 Для наших цілей можна обмежитися лише
невеликою підмножиною мови XPath.
 Вираз мови XPath node вибирає всі вузли по
заданому імені.
 Послідовні елементи шляху поділяються косою
рисою: команда act/scene вибирає елементи
scene, батьківський вузол якої є елементом act.
 Подвійна коса риса означає, що в проміжку може
зустрітися довільну кількість елементів: команда
play//scene вибирає всі елементи scene, що
зустрічаються в елементі play.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Початкова коса риска позначає початок
шляху, який розташований в кореневому
елементі.
 Для зручності позначень ми допускаємо,
що фінальний елемент шляху є
проіндексованим терміном з лексикону
колекції, і відокремлюємо його від шляху
символом #, хоча це і не відповідає
стандарту мови XPath.
 Наприклад, команда title # "Macbeth"
вибирає всі назви, що містять термін
Macbeth.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Нам знадобиться поняття схеми (schema).
 Схема накладає певні обмеження на
структуру XML-документів, допустимих в
конкретному додатку.
 Схема для п'єс Шекспіра може поставити
умову, що сцени можуть бути тільки
дочірніми елементами актів і тільки акти і
сцени можуть мати атрибут number.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Існує два стандарти схем для XML-
документів: XML DTD (document type
definition) і XML (XML schema).
 Користувачі можуть задавати
структуровані запити системі пошуку по
XML-документам, тільки якщо у них є хоча
б мінімальні знання про схему колекції.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Загальним форматом XML-запитів є NEXI
(Narrowed Extended XPath I).
 Його приклад показаний на наступному
слайді.
 Для зручності подання ми розділили запит
на чотири рядки, хоча він повинен
читатися як одне ціле, без розбиття на
рядки.
 Зокрема, команда //section вкладена в
команду //article.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 XML запит в форматі NEXI
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Запит, представлений на попередньому
слайді, описує пошук розділів, присвячених
літнім канікулам, в статтях, опублікованих з
2001 по 2002 рік.
 Як і в мові XPath, подвійна коса риса означає,
що на шляху може зустрічатися довільна
кількість елементів.
 Точка у виразі всередині квадратних дужок
посилається на елемент, який цей вислів
уточнює. Так, оператор [. //Yr = 2001 or. //Yr =
2002] уточнює команду //article.
 Таким чином, точка в даному випадку
відноситься до команди // article.
 Аналогічно, точка у виразі [about (., Summer
holidays)] відноситься до розділу, що
уточнюється даним виразом.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Умови yr (рік) є обмеженнями реляційного
атрибута.
 Інакше кажучи, розглядатися повинні
тільки статті, атрибут yr яких дорівнює
2001 або 2002 (тобто містять елемент,
атрибут yr якого дорівнює 2001 або 2002).
 Вираз about є ранжуючою умовою:
розділи, що зустрічаються в статтях
правильного типу, ранжуються з
урахуванням їх релевантності темі
summer holidays.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Обмеження реляційного атрибута
обробляються за допомогою попередньої
або наступної фільтрації: всі елементи, які
не відповідають обмеженням реляційного
атрибута, просто виключаються із
сукупності результатів.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Відкидаючи реляційні атрибути,
документи можна представити у вигляді
дерев, що містять вузли єдиного типу -
елементи.
 Запити можна точно так само уявити у
вигляді дерева.
 Такий підхід до мови запитів називається
запитом за зразком (query-by-example),
оскільки користувач задає запити,
створюючи об'єкти, що задовольняють
того ж самому формальному опису, що і
документи.
ОСНОВНІ КОНЦЕПЦІЇ МОВИ XML
 Подання XML-документів і запитів у
вигляді дерев
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Перша проблема, пов'язана зі структурованим
пошуком, полягає в тому, що користувачі хочуть
отримати частини документів (тобто XML-
елементи), а не документи цілком, як в
неструктурованому пошуку.
 Якщо ми запитуємо пошук за п'єсами Шекспіра,
що містить фразу Macbeth's castle, то що
повернути у відповідь: сцену, акт або всю п'єсу?
 У цьому випадку користувачі, ймовірно,
шукають сцену.
 З іншого боку, у відповідь на неконкретний
запит на слово Macbeth слід повертати п'єсу з
такою назвою, а не її частина.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Одним із критеріїв вибору найбільш
підходящої частини документа є принцип
структурованого пошуку документів
(structured document retrieval principle).
 Система повинна завжди знаходити частину
документа, яка найбільш точно відповідає
запиту.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Цей принцип обгрунтовує стратегію
пошуку, який виявляє елемент
найменшого розміру, що містить шукану
інформацію, і не заглиблюється на нижчий
рівень.
 Однак цей принцип важко реалізувати у
вигляді алгоритму.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
Розглянемо запит title # "Macbeth"

Цьому запиту відповідають як назва трагедії, Macbeth, так і


заголовок сцени vii з першого акту, Macbeth's castle.
Проте, оскільки назва трагедії записано у вузлі більш
високого рівня, перевага віддається саме йому.
Рішення, на якому рівні дерева слід зупинити пошук, являє
собою важке завдання.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Одночасно із завданням, яку частину
документа слід повернути користувачеві,
необхідно вирішити, які частини
документа підлягають індексуванню.
 У неструктурованому пошуку зазвичай
ясно, якою повинна бути одиниця
документа: файли на вашому комп'ютері,
повідомлення електронної пошти, веб-
сторінки і т.д.
 У структурованому пошуку існує безліч
різних підходів до визначення одиниці
індексування.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Один з цих підходів передбачає
угруповання вузлів в непересічні
псевдодокументи
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 В якості одиниці індексування можна
також використовувати один з великих
елементів, наприклад елемент book в
колекції книг або елемент play в зібранні
творів Шекспіра.
 За допомогою постобробки результатів
пошуку можна знайти найбільш відповідні
піделементи.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Наприклад, у відповідь на запит Macbeth's
castle можна повернути п'єсу Macbeth, яка
потім обробляється додатково, щоб
ідентифікувати акт I, сцену vii, як
елемент, найбільш точно відповідаючий
запиту.
 На жаль, цей двоетапний процес пошуку в
багатьох випадках не дозволяє повернути
найкращий піделемент, оскільки
релевантність всієї книги часто погано
пророкує релевантність її невеликих
частин.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Замість пошуку великих одиниць та
ідентифікації піделементів (зверху вниз)
можна знайти всі листя, вибрати серед
них найбільш релевантні і розширити до
більш великих одиниць в ході додаткової
обробки (знизу вгору).
 Цей підхід має той же недолік, що й
попередній: релевантність листового
елемента часто слабо пов'язана з
релевантностью елементів, яким він
належить.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Найменш обмежувальним підходом є
індексування всіх елементів.
 Це також проблематично.

 Багато XML-елементів не є осмисленими


результатами пошуку, наприклад
друкарські елементи виду <b> definitely
</ b> або номер ISBN, які неможливо
інтерпретувати без контексту.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Оскільки надмірність породжується
вкладеними елементами, природно обмежити
сукупність елементів, що підлягають
поверненню.
 Існує декілька стратегій такого обмеження.
 Відкинути всі маленькі елементи.
 Відкинути всі елементи, які користувачі зазвичай
не шукають (для цього необхідно, щоб система
XML-пошуку реєструвала таку інформацію).
 Відкинути всі елементи, які експерти зазвичай
вважають нерелевантними.
 Зберігати тільки елементи, які розробник системи
або бібліотекар вважає корисними для пошуку.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 У більшості цих підходів сукупності
результатів все ж містять вкладені
елементи.
 Таким чином, для зменшення надмірності
потрібно видалити деякі елементи на
етапі постобробки.
 Як альтернативу можна згорнути кілька
вкладених елементів у списку результатів
і використовувати підсвічування термінів
запиту, для того щоб привернути увагу
користувача до релевантних фрагментів.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Якщо користувач знає схему колекції і
може вказати бажані типи елементів, то
проблема надмірності вирішується легко,
тому що деякі вкладені елементи мають
один і той же тип.
 Однак, користувачі часто не знають, як
називається той чи інший елемент в
колекції (наприклад, Vatican - це країна чи
місто?)
 Або можуть взагалі не знати, як скласти
структурований запит.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Для вирішення цього завдання можна
обчислити показник idf для пар "XML-
контекст/термін", наприклад обчислити
різні ваги idf для author # "Gates" і section
# "Gates".
 Нажаль, ця схема наштовхується на
проблеми, пов'язані з розрідженими
даними: багато пар "XML-контекст"
з'являються дуже рідко, щоб надійно
оцінити їх документну частоту
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 У багатьох випадках в колекції виникає
кілька різних XML-схем, оскільки XML-
документи в інформаційно-пошукових
системах часто надходять із декількох
джерел.
 Це явище називається неоднорідністю
схем (schema heterogeneity) або
різноманітністю схем (schema diversity) і
являє собою ще одну проблему.
 Порівнянні елементи можуть мати різні
імена: creator в дереві d2 і author в дереві
d3
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 Неоднорідність схем зазвичай є однією з
причин розбіжностей між парами “запит-
документ” виду q3/d2 і q3/d3.
 Інша причина цього явища полягає в тому,
що користувачі часто не знають імен
елементів і структури схем колекцій, в
яких здійснюється пошук.
 Це ставить перед нами проблему
розробки інтерфейсу для XML-пошуку.
ПРОБЛЕМИ, ПОВ'ЯЗАНІ З XML-
ПОШУКОМ
 В ідеальному випадку
користувальницький інтерфейс повинен
показувати деревоподібну структуру
колекції і дозволяти користувачеві
вказувати елементи, яких стосується
запит.
 Якщо прийняти цей підхід, то інтерфейс
для подачі структурованих запитів є
набагато складнішим, ніж просте поле
введення запиту з ключових слів в
неструктурованому пошуку.
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ XML-ПОШУКУ
 Для того щоб врахувати структуру
в ході пошуку, проілюстровану на рис., ми
повинні вимагати, щоб книга з
назвою Julius
Caesar відповідала запиту q1 і не
відповідала запиту q2 (або ж відповідала
йому з більш низьким рангом).
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ XML-ПОШУКУ
 У неструктурованому пошуку терміну
Caesar відповідала б окрема вісь у
векторному просторі.
 В XML-пошуку ми повинні відрізняти слово
Caesar в назві книги від імені автора
Caesar.
 Для цього можна виділити у векторному
просторі окрему вісь для кодування слова
разом з його позицією в XML-дереві.
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ XML-ПОШУКУ
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ XML-ПОШУКУ
 Користувачі погано пам'ятають деталі
схеми і рідко конструюють запити,
узгоджені з цією схемою.
 Отже, всі запити слід інтерпретувати як
розширені, тобто для будь-якої пари
"батьківський вузол-дочірній вузол" із
запиту в документі може бути будь-яка
кількість проміжних вузлів.
МОДЕЛЬ ВЕКТОРНОГО ПРОСТОРУ
ДЛЯ XML-ПОШУКУ
 Проте ми як і раніше віддаємо перевагу
документам, відповідним структурі запиту
за рахунок вставки меншої кількості
додаткових вузлів.
 Обчислюючи вагу для кожного
відповідності, ми забезпечуємо
узгодженість результатів пошуку з цим
вибором.
МЕТОДИ XML-ПОШУКУ,
ОРІЄНТОВАНІ НА ТЕКСТ І НА ДАНІ
 У різновиді структурного пошуку, розглянутої
нами, XML-структура грала роль конструкції,
в рамках якої ми порівнювали текст запиту з
текстом XML-документів.
 Цей вид систем оптимізований для мови XML,
орієнтованого на текст (text-centric XML).
 Хоча і текст, і структура важливі, ми
присвоюємо тексту більш високий пріоритет.
 Для цього ми адаптуємо неструктуровані
методи пошуку для обробки додаткових
структурних обмежень.
МЕТОДИ XML-ПОШУКУ,
ОРІЄНТОВАНІ НА ТЕКСТ І НА ДАНІ
 Вихідними припущеннями нашого підходу
є те, що пошук XML-документів
характеризується
 довгими текстовими полями (наприклад,
розділами документа),
 неточною відповідністю
 списком результатів, ранжируваним за
релевантністю.
 Реляційні бази даних не здатні добре
вирішувати такі завдання.
МЕТОДИ XML-ПОШУКУ,
ОРІЄНТОВАНІ НА ТЕКСТ І НА ДАНІ
 На противагу цьому мова XML,
орієнтована на дані (data-centric XML), в
основному кодує числові і нетекстові
атрибути.
 Задаючи запити на XML, орієнтованому на
дані, в більшості випадків користувачі
вимагають точної відповідності.
 У цьому випадку акцент робиться на
структурних аспектах XML документів і
запитів.
МЕТОДИ XML-ПОШУКУ,
ОРІЄНТОВАНІ НА ТЕКСТ І НА ДАНІ
 Методи, орієнтовані на текст, підходять
для даних, які, по суті, являють собою
текстові документи, розмічені за
допомогою мови XML.
 Дефакто цей метод став стандартом для
публікації текстових баз даних, оскільки
більшість текстових документів мають у
якійсь формі структуру: параграфи,
розділи, виноски і т.д.
МЕТОДИ XML-ПОШУКУ,
ОРІЄНТОВАНІ НА ТЕКСТ І НА ДАНІ
 Підходи, орієнтовані на дані, які зазвичай
використовуються на колекції даних зі
складною структурою і нетекстовим
змістом.
 Пошукові системи, орієнтовані на текст,
насилу справляються з даними про білки в
біоінформатиці або поданням карти міста
(разом з назвами вулиць та іншими
текстовими елементами), яка лежить в
основі навігаційної системи.
 Дякую за увагу.
ЛЕКЦІЯ 11. ІМОВІРНІСНА
МОДЕЛЬ
ІНФОРМАЦІЙНОГО
ПОШУКУ
Глибовець А.М.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
 Буква "A" позначає подію (підмножина з
простору можливих результатів).
 Цю підмножина можна також
представити за допомогою випадкової
величини (random variable) - функції, яка
результатам ставить у відповідність дійсні
числа; в такому випадку підмножина
являє собою область визначення
випадкової величини A.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
 Часто нам невідомо з певністю, відбулася
подія в реальному світі чи ні.
 У такому випадку слід оцінити ймовірність
події 0 ≤ P (A) ≤ 1.
 Наступ подій A і B одночасно описується
спільною ймовірністю P (A, B).
 Умовна ймовірність P (A | B) виражає
ймовірність події A, якщо подія B вже
настала.
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
 Правило Байєса дозволяє отримати
апостеріорну ймовірність P(A|B) (posterior
probability) за умови, що відбулася подія B
і ми знаємо її ймовірність (likelihood) як у
випадку, якщо подія A відбудеться, так і у
випадку, якщо подія A не відбудеться .
КОРОТКІ ТЕОРЕТИЧНІ ВІДОМОСТІ
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ.
 Розглянемо ранжований пошук в колекції
документів, при якому користувач
відсилає запити і отримує у відповідь
впорядкований список документів.
 Припустимо також, що оцінки
релевантності є бінарними.
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ.
 Для запиту q та документа d позначимо
через Rd,q випадкову величину - індикатор
релевантності документа d по
відношенню до запиту q.
 Ця величина дорівнює одиниці, якщо
документ релевантний, і нулю в іншому
випадку.
 У ситуаціях, що не викликають
непорозумінь, будемо писати R, а не Rd,q.
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ.
 У рамках ймовірнісної моделі природно
ранжувати результати пошуку по оціненим
ймовірностями їх релевантності інформаційній
потребі: P(R =1|d,q).
 Такий підхід лежить в основі принципу
імовірнісного ранжування (Probability Ranking
Principle - PRP), що був запропонований ван
Рійсбергеном (van Rijsbergen, 1979).
 Якщо у відповідь на кожен запит пошукова система
ранжує документи в колекції в порядку убування
ймовірності їх релевантності для користувача, що
надіслав запит, де ймовірності оцінені як можна
більш точно на основі доступних даних, то загальна
якість системи є найкращою на цих даних.
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ.
 Найпростіший варіант принципу PRP
ігнорує вартість пошуку та інші
міркування про корисність, відповідно до
яких дії і помилки системи можуть мати
різні ваги.
 Ви просто втрачаєте бал, якщо система
повертає нерелевантний документ або не
знаходить релевантний документ (така
бінарна модель оцінки правильності
(accuracy) називається моделлю бінарних
втрат (1 / 0 loss)).
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ.
 Мета системи - повернути в якості перших
k документів найкращі результати для
будь-якого значення k, яке вибирає
користувач.
 У такому випадку відповідно до принципу
PRP досить розташувати всі документи в
порядку убування величин P (R = 1|d,q).
 Якщо необхідно повернути не ранжовану
множину знайдених результатів, то
відповідно до байєсовського правила
оптимального рішення (Bayes optimal
decision rule), які мінімізують ризик втрат,
досить повернути документи, які скоріше
релевантні, ніж нерелевантні.
ПРИНЦИП ЙМОВІРНІСНОГО
РАНЖУВАННЯ. БІНАРНІ ВТРАТИ
ПРИНЦИП ІМОВІРНІСНОГО
РАНЖИРУВАННЯ З УРАХУВАННЯМ
ВАРТОСТІ ПОШУКУ
 Припустимо тепер, що модель враховує
вартість пошуку.
 Нехай С1 - вартість пошуку релевантного
документа, а С0 - вартість пошуку
нерелевантного документа.
ПРИНЦИП ІМОВІРНІСНОГО
РАНЖИРУВАННЯ З УРАХУВАННЯМ
ВАРТОСТІ ПОШУКУ
ПРИНЦИП ІМОВІРНІСНОГО
РАНЖИРУВАННЯ З УРАХУВАННЯМ
ВАРТОСТІ ПОШУКУ
 Така модель дає формальний апарат, за
допомогою якого можна моделювати різну
вартість хибнопозитивних і
псевдонегативних відповідей і навіть
враховувати продуктивність системи на
етапі моделювання, а не на етапі
тестування.
 Проте надалі ми не будемо розглядати
питання втрат і корисності в цій лекції.
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
 Спочатку опишемо модель, в якій
передбачається, що користувач
задовольняє інформаційну потребу за
один крок.
 Як зазначалося в лекції 9, переглянувши
список результатів, користувач може
уточнити свою інформаційну потребу.
 На щастя, модель BIM можна
модифікувати так, щоб створити основу
для зворотного зв'язку за релевантністю.
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
 Для уточнення ймовірнісної стратегії
пошуку необхідно оцінити, як терміни у
документі впливають на його релевантність.
 зокрема, ми хочемо знати, як частота терміна,
документна частота, довжина документа та
інші статистичні показники, які можна
обчислити, впливають на релевантність
документів і як їх правильно використовувати
для оцінки ймовірності релевантності
документа.
 Після цього ми розташуємо документи в
порядку зменшення оціненої ймовірності їх
релевантності.
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
 Ці ймовірності слід вважати функціями,
визначеними на просторі можливих
документів з предметної області.
 Як обчислити ці ймовірності?

 Точні ймовірності завжди невідомі, і тому


їх доводиться замінювати оцінками,
отриманими на основі реальної колекції
документів.
БІНАРНА МОДЕЛЬ НЕЗАЛЕЖНОСТІ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
Документ Релевантни Нерелевантний
й (R=1) (R=0)
Термін xt=1 pt ut
присутній
Термін xt=0 1-pt 1-ut
відсутній
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ВИВЕДЕННЯ ФУНКЦІЇ РАНЖУВАННЯ
ДЛЯ ТЕРМІНІВ ЗАПИТУ
ОЦІНКИ ЙМОВІРНОСТЕЙ: ТЕОРІЯ
 Як виглядають величини ct для кожного
терміна t по всій колекції?
 Таблиця спряженості ознак містить
статистичні показники документів в
колекції, де dft - це кількість документів,
що містять термін t.
Докумен Релевантни Нерелевантни Всього
т й (R=1) й (R=0)
Термін xt=1 s dft-s Dft
присутні
й
Термін xt=0 S-s (N-dft)-(S-s) N-dft
відсутній
Всього S N-S N
ОЦІНКИ ЙМОВІРНОСТЕЙ: ТЕОРІЯ
ОЦІНКИ ЙМОВІРНОСТЕЙ: ТЕОРІЯ
ОЦІНКИ ЙМОВІРНОСТЕЙ: ТЕОРІЯ
 Додавання 1/2 являє собою вид згладжування.
 Для випробувань з категоріальними
результатами (наприклад, коли термін або
присутній, або відсутній) оцінити ймовірність
за даними можна, підрахувавши, скільки разів
сталася подія, і розділивши це число на
загальну кількість випробувань.
 Отримане число називається відносною
частотою події (relative frequency).
 Оцінка ймовірності на основі відносної частоти
події являє собою оцінку максимальної
правдоподібності (Maximum Likelihood Estimate
- MLE), оскільки саме це значення робить
спостережувані значення максимально
правдоподібними.
ОЦІНКА ЙМОВІРНОСТЕЙ: ПРАКТИКА
ОЦІНКА ЙМОВІРНОСТЕЙ: ПРАКТИКА
 Величину pt можна оцінити різними
способами.
 1. Можна використовувати частоту появи
терміна у відомих релевантних
документах (якщо такі документи є).
 Нацьому засновані імовірнісні підходи до
зважування за допомогою зворотного зв'язку
за релевантністю, які будуть розглянуті далі.
ОЦІНКА ЙМОВІРНОСТЕЙ: ПРАКТИКА
 2. Крофт і Харпер (Croft and Harper, 1979)
запропонували використовувати
константу у своїй моделі комбінаційного
узгодження (combination match model).
 Наприклад, можна припустити, що pt - це
константа для всіх термінів xt і pt = 0,5.
 Це означає, що всі терміни мають однакові
шанси з'явитися в релевантних документах і
множники pt і 1-pt у виразі для обчислення
RSV скорочуються.
ОЦІНКА ЙМОВІРНОСТЕЙ: ПРАКТИКА
 Така оцінка є слабкою, але не суперечить
очікуванням виявити шукані терміни в
багатьох, але не у всіх релевантних
документах.
 Комбінуючи цей метод з попередньою
апроксимацією величини ut, ми отримуємо
ранжування документів на основі суми ваг
idf термінів запиту.
ОЦІНКА ЙМОВІРНОСТЕЙ: ПРАКТИКА
 3. Грейф (Greiff, 1998) стверджує, що
модель Крофта і Харпера слабо
обгрунтована з теоретичної точки зору і
не знаходить підтвердження на практиці:
 як і слід було очікувати, виявилося, що при
зростанні dft величина pt зростає.
 Виходячи з цього, розумно запропонувати
використовувати оцінку:
 pt = 1/3+(2/3)dft/N.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 В ході ітеративного процесу більш точну
оцінку величини pt можна отримати за
допомогою зворотного зв'язку по (псевдо)
релевантністю (RF).
 Імовірнісний підхід до зворотного зв'язку
за релевантністю працює таким чином:
 1. Вгадуємо початкові ймовірності pt і ut.
 Для цього можна використовувати оцінки з
попереднього розділу.
 Наприклад, можна припустити, що величина
pt є постійною для всіх термінів xt в запиті,
зокрема можна покласти pt = 1/2.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 2. На основі поточних оцінок ймовірностей
pt і ut формуємо безліч найкращих
документів
R = {d: Rd,q = 1}.
 Застосовуємо цю модель для пошуку
ймовірних релевантних документів і
представляємо їх користувачеві.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 3. Взаємодіючи з користувачем, уточнюємо
модель для визначення множини R.
 Для цього збираємо оцінки релевантності,
зроблені користувачем, для документів з
деякої підмножини документів V.
 Грунтуючись на цих оцінках релевантності,
поділяємо множину V на підмножину
 VR = {d ∈ V, Rd,q = 1} ⊂ R
 і підмножину
 VNR = {d ∈ V, Rd,q = 0}, яка не перетинається з
R.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 4. Оцінюємо ймовірності pt і ut заново на
основі відомих релевантних і
нерелевантних документів.
 Якщо множини VR і VNR досить великі, то
ці величини можна оцінити безпосередньо
як оцінки максимальної правдоподібності.
 pt = |VRt|/|VR|
 Тут VRt – підмножина документів з
множини VR, що містить термін t.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 5. Повторюємо процес, починаючи з етапу
2, генеруючи послідовні наближення
множини R і ймовірності pt, поки
користувач не буде повністю
задоволений.
ЙМОВІРНІСНІ ПІДХОДИ ДО
ЗВОРОТНОГО ЗВ’ЯЗКУ ЗА
РЕЛЕВАНТНІСТЮ
 На основі цього алгоритму легко можна
створити його варіант зі зворотним
зв'язком по псевдорелевантності, в якому
просто передбачається, що VR = V.
РОЛЬ І МІСЦЕ ЙМОВІРНІСНИХ
МОДЕЛЕЙ
 Імовірнісні моделі - одні з найстаріших моделей
в теорії інформаційного пошуку.
 Вже в 1970-х роках вони розглядалися як засіб
теоретичного обгрунтування методів
інформаційного пошуку.
 У міру відродження імовірнісних методів у
комп'ютерній лінгвістиці в 1990-х роках ці надії
повернулися, і імовірнісні методи знову стали
однією з найбільш інтенсивно досліджуваних
тем у теорії інформаційного пошуку.
 Традиційно імовірнісні методи інформаційного
пошуку відрізнялися витонченими ідеями, але
ніколи не вигравали в продуктивності.
 Для того щоб отримати розумні наближення
необхідних ймовірностей в рамках цих моделей,
необхідно зробити кілька припущень.
РОЛЬ І МІСЦЕ ЙМОВІРНІСНИХ
МОДЕЛЕЙ
 Перерахуємо припущення, на яких
заснована модель BIM.
 1. Документи, запити та висновки про
релевантність мають бінарне подання.
 2. Терміни не залежать один від одного.
 3. Терміни, що не містяться в запиті, не
впливають на результати пошуку.
 4. Оцінки релевантності документів є
незалежними один від одного.
РОЛЬ І МІСЦЕ ЙМОВІРНІСНИХ
МОДЕЛЕЙ
 Ймовірно, дуже жорсткі припущення не
дозволяють імовірнісним моделям досягти
високої продуктивності.
 Основною проблемою є те, що імовірнісні
моделі або вимагають часткової
інформації про релевантність, або, за
відсутності такої інформації, дозволяют
вивести лише очевидно слабші моделі
зважування термінів.
РОЛЬ І МІСЦЕ ЙМОВІРНІСНИХ
МОДЕЛЕЙ
 Стан справ почав змінюватися в 1990-х
роках, коли була продемонстрована дуже
висока продуктивність схеми зважування
BM25.
 З тих пір ця схема стала застосовуватися
для зважування термінів багатьма
дослідницькими групами.
 Різниця між векторними і імовірнісними
інформаційно пошуковими системами
невелика, і в тому, і в іншому випадках
система інформаційного пошуку
створюється точно так само.
РОЛЬ І МІСЦЕ ЙМОВІРНІСНИХ
МОДЕЛЕЙ
 Просто для ймовірнісної інформаційно-
пошукової системи запити оцінюються не
за допомогою косинусної міри схожості і
схеми зважування tf-idf, як у векторному
просторі, а по трохи іншим формулами, що
випливають з теорії ймовірностей.
 По суті, в деяких випадках розробники
просто модифікували існуючі
інформаційно-пошукові системи, засновані
на моделі векторного простору, просто
запозичивши імовірнісні схеми
зважування термінів.
OKAPI BM25
OKAPI BM25
OKAPI BM25
 Зважувальна схема термінів BM25
застосовувалась досить вдало та успішно
для різних колекцій і пошукових задач.
 Особливо добре вона зарекомендувала
себе в рамках експериментів TREC (Text
Retrieval Conference).
 Дякую за увагу.
ЛЕКЦІЯ 12. МОВНІ МОДЕЛІ
ІНФОРМАЦІЙНОГО
ПОШУКУ
Глибовець А.М.
ВСТУП
 Для того щоб скласти гарний запит,
користувачам рекомендується уявити, які
слова можуть зустрітися в релевантних
документах, і саме їх використовувати у
запиті.
 Ця ідея знайшла своє безпосереднє
втілення в мовних моделях
інформаційного пошуку.
ВСТУП
 У рамках цього підходу вважається, що
документ відповідає запиту, якщо модель
документа з великою ймовірністю
породжує цей запит, що, в свою чергу,
трапляється, якщо в документі часто
зустрічаються слова запиту.
 Таким чином, цей підхід є альтернативною
реалізацію однієї з основних ідей
ранжирування документів.
ВСТУП
 Замість безпосереднього моделювання
ймовірності P (R = 1|q,d) релевантністю
документа d по відношенню до запиту q,
як в традиційних моделях ймовірнісного
інформаційного пошуку, цей підхід
передбачає створення ймовірнісної мовної
моделі Md для кожного документа d і
ранжування документів відповідно до
ймовірності P (q|Md) того, що побудована
модель Md породжує запит q.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Що означає вираз "Модель документа
породжує запит"?
 Для того щоб розпізнавати або генерувати
рядки, можна використовувати
традиційну мовну породжуючу модель
(generative model), концепція якої
прийшла з теорії формальних мов.
 Повна сукупність рядків, яку може
згенерувати кінцевий автомат,
називається мовою автомата (language of
the automation).
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.

Простий скінченний автомат і деякі рядки, які він може


генерувати. Стрілка показує початковий стан автомата, а
подвійна окружність - (можливий) кінцевий стан.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Скінченний автомат з одним станом, що
діє як уніграмна модель.
 Показано часткове визначення
ймовірностей стану (рис 12.2).
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Для того щоб обчислити вірогідність
послідовності слів, слід просто
перемножити ймовірності появи кожного з
цих слів у послідовності, а також
імовірність продовження або зупинки
після генерації кожного слова, наприклад:
 P(frogsaid toad likes frog) = (0,01 × 0,03 × 0,04
× 0,01 × 0,02 × 0,01) × (0,8 × 0,8 × 0,8 × 0,8
× 0,8 × 0,2) ≈ 0,0000000000001573.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Як бачимо, ймовірність конкретного рядка або
документа зазвичай дуже мала!
 В даному випадку ми зупинилися після
генерування слова frog вдруге.
 Перший рядок цифр є ймовірності емісії терміну,
а другий рядок містить ймовірності продовження
або зупинки після генерування кожного слова.
 Відповідно до рівності (12.1), для того щоб мовна
модель була узгодженою, кінцевий автомат
повинен мати явну ймовірність зупинки.
 Проте в більшості випадків ми будемо ігнорувати
ймовірності станів STOP і 1-STOP (як і більшість
авторів).
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Для порівняння двох моделей на одному і тому
ж наборі даних можна обчислити відношення
правдоподібності (likelihood ratio), що є
вірогідність даних відповідно з однією моделлю,
поділену на ймовірність даних з іншої моделі.
 Враховуючи, що ймовірність зупинки є
фіксованою, її врахування не впливає на
відношення правдоподібності, що виникає в
результаті порівняння ймовірностей того, що
дві мовні моделі згенерують один і той же
рядок.
 Отже, вона не впливає і на ранжування
документів.
 Проте з формальної точки зору величини більше
не можна вважати справжніми ймовірностями, а
можна вважати лише пропорційними
ймовірностями.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Припустимо тепер, що ми порівнюємо
моделі M1 і M2, частково продемонстровані
на рис. 12.2.
 Кожна дає оцінку вірогідності послідовності
термінів, як показано в прикладі.
 Якщо мовна модель приписує послідовності
термінів більш високу ймовірність, то більш
імовірно, що саме вона згенерувала дану
послідовність.
 На цей раз ми проігноруємо ймовірності
зупинки при розрахунках.
 Для продемонстрованої послідовності ми
отримуємо такі результати.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Як бачимо, P (s|M1)> P (s|M2).
 Тут формули являють собою добуток
ймовірностей, але, як звичайно в
застосуваннях теорії ймовірностей, на
практиці зручніше працювати з сумами
логарифмів ймовірностей.
МОВНІ МОДЕЛІ. СКІНЧЕННІ
АВТОМАТИ І МОВНІ МОДЕЛІ.
 Часткова специфікація двох уніграмних
мовних моделей
ТИПИ МОВНИХ МОДЕЛЕЙ
 Як обчислити ймовірності послідовностей
термінів?
 Для цього можна використовувати
правило множення ймовірностей,
розклавши ймовірність послідовності на
ймовірності появи окремих термінів за
умови появи попередніх термінів.
P (t1t2t3t4) = P (t1)P (t2|t1)P (t3|t1t2)P(t4|t1t2t3) (12.4)
ТИПИ МОВНИХ МОДЕЛЕЙ
 У найпростішій формі мовної моделі всі
умовні ймовірності просто відкидаються, і
всі терміни вважаються незалежними
один від одного.
 Така модель називається уніграмною
мовною моделлю (unigram language
model).
 Puni(t1t2t3t4)=P(t1)P(t2)P(t3)P(t4) (12.5)
ТИПИ МОВНИХ МОДЕЛЕЙ
 Існують більш складні мовні моделі,
наприклад біграмні (bigram language
models), в яких використовується
ймовірність попереднього терміну.
 Puni(t1t2t3t4)=P(t1)P(t2|t1)P(t3|t2)P(t4|t3) (12.6)
ТИПИ МОВНИХ МОДЕЛЕЙ
 Ще більш складні мовні моделі засновані
на граматиці, наприклад імовірнісні
контекстно-вільні граматики.
 Ці моделі дуже важливі для вирішення
таких завдань, як розпізнавання мови,
виправлення орфографічних помилок і
машинний переклад, коли необхідно
знати ймовірність появи терміну в
залежності від навколишнього контексту.
 Проте в інформаційному пошуку
найчастіше використовувалися уніграмі
мовні моделі.
ТИПИ МОВНИХ МОДЕЛЕЙ
 Інформаційний пошук - це не та область, в якій
відразу необхідно застосовувати складні мовні
моделі, оскільки пошук не настільки залежить
від структури пропозиції, як інші завдання,
наприклад розпізнавання мови.
 Часто для того, щоб зрозуміти тему тексту,
цілком достатньо уніграмної моделі.
 Більше того, як буде показано нижче, мовні
моделі інформаційного пошуку часто будуються
на основі одного документа, і тому виникає
питання, чи можна на цьому невеликому обсязі
даних зробити щось більш складне.
 Втрати від розрідженості даних часто
переважують будь-який виграш, досягнутий
завдяки складним моделями.
ТИПИ МОВНИХ МОДЕЛЕЙ
 Крім того, уніграмні моделі ефективніше
отримувати і застосовувати, ніж моделі
більш високого порядку.
 Проте важливість фразових запитів і
запитів з урахуванням близькості слів
запиту в документі мотивують
використання в майбутньому більш
складних мовних моделей.
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
 Мовне моделювання являє собою досить
загальну формальну теорію в галузі
інформаційного пошуку, що має
різноманітні реалізації.
 Основним методом використання мовних
моделей в інформаційному пошуку є
модель правдоподібності запиту (query
likelihood model).
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
 У ній для кожного документа d з колекції
створюється мовна модель Md.
 Наша мета - ранжувати документи по
ймовірності P (d|q), де ймовірність
документа інтерпретується як
правдоподібність того, що він
релевантний запиту.
 Використовуючи правило Байєса,
одержимо наступне рівність.
 P(d|q) = P(q|d)P(d)/P (q)
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
 Тут P (q) - ймовірність, однакова для всіх
документів, і тому її можна ігнорувати.
 Апріорний розподіл імовірностей
документа часто вважається рівномірним
по всіх документах, і тому ймовірність P(d)
також може бути відкинута, хоча можна
було б спробувати оцінити апріорну
ймовірність, враховуючи такі показники,
як авторитетність, довжина, жанр,
новизна і кількість людей, що вже
прочитали документ.
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
 Однак, зробивши зазначені спрощення, ми
отримаємо результати, ранжирування
просто за ймовірністю P(q|d) того, що
запит q в рамках мовної моделі виведений
з документа d.
 Таким чином, мовне моделювання
намагається імітувати процес генерації
запиту: документи ранжуються за
ймовірністю того, що запит може
з'явитися як випадкова вибірка з
відповідної моделі документа.
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
ВИКОРИСТАННЯ МОВНИХ МОДЕЛЕЙ
ПРАВДОПОДІБНОСТІ ЗАПИТУ В
ІНФОРМАЦІЙНОМУ ПОШУКУ
 В основі даної моделі лежить інтуїтивне
припущення, що користувач тримає в умі
прототип документа і генерує запит на
основі слів, які містяться в цьому документі.
 Часто користувачі мають розумні
припущення про терміни, які, ймовірно,
можуть зустрітися в документах що їх
цікавлять, і вибирають терміни в запиті так,
щоб відрізнити шуканий документ від інших
документів колекції.
 Статистичні характеристики колекції є
невід'ємною частиною мовної моделі, а не
використовуються евристично, як в інших
методах.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Класична проблема, пов'язана з мовними
моделями, - оцінка ймовірності (символ ∧ над
буквою P підкреслює, що в моделі
використовуються оцінки).
 Терміни в документах повторюються дуже
рідко.
 Зокрема, деякі слова взагалі не зустрічаються в
документах, але є цілком можливими для
вираження інформаційної потреби.
 Якщо для терміна, відсутнього в документі,
оцінка ймовірності дорівнює нулю, то ми
отримаємо суворо кон'юнктивну семантику:
запит має ненульову ймовірність, тільки якщо
всі терміни запиту містяться в документі.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Нульові ймовірності створюють очевидні
проблеми в інших застосуваннях мовних
моделей, наприклад для передбачення
наступного слова при розпізнаванні мови,
оскільки багато слів рідко зустрічаються в
навчальній вибірці.
 Проблематичність нульових ймовірностей
в інформаційному пошуку не так
очевидна.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Можна вважати, що ця складність
відноситься до аспектів людино-машинного
інтерфейсу: системи, засновані на моделі
векторного простору, зазвичай віддають
перевагу неповним збігам, хоча недавні
розробки в області веб-пошуку
демонструють тенденцію до використання
кон'юнктивної семантики.
 Незалежно від обраного підходу проблема
оцінки залишається: частота слів що
зустрічаються оцінюється дуже погано;
зокрема, ймовірність появи слова, що
зустрічається в документі один раз, зазвичай
переоцінюється, оскільки ця поява може
носити випадковий характер.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Вирішенням даної проблеми є згладжування
(smoothing).
 Проте у міру того, як люди стали краще
розуміти підхід, заснований на мовних моделях,
стало ясно, що роль згладжування в цій моделі
не зводиться тільки до усунення нульових
ймовірностей.
 Згладжування термінів стало важливою
частиною обчислення їх ваг.
 Це означає, що незгладжені моделі мають не
тільки кон'юнктивну семантику, незгладжені
моделі працюють погано, тому що вони не
враховують важливий компонент - ваги терміна.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Таким чином, для того щоб усунути нульові
ймовірності та присвоїти певні ймовірності
словам, які в тексті не зустрілися, в мовних
моделях необхідно застосовувати
згладжування.
 Для згладжування розподілів ймовірностей
запропоновано багато методів.
 Вважається, що терміни, які не з'являються в
документі, можуть з'являтися у запитах,
проте їх ймовірність має бути менше або
дорівнювати ймовірності випадкової появи
терміна в усій колекції.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Цей розподіл є сумішшю розподілів
ймовірностей терміна по документу і по
колекції.
 Така модель називається мовною
моделлю, заснованій на лінійній
інтерполяції (linear interpolation LM).
 Для гарного функціонування цієї моделі
важливий правильний вибір параметра λ.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Обидва ці методи згладжування добре
показали себе в експериментах.
 Незважаючи на відмінності в деталях
обидва методи, в принципі, схожі один на
одного.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Згладжування в мовних моделях не
зводиться лише до вирішення проблем,
пов'язаних з оцінками.
 Цей факт ще не був ясний, коли моделі
були запропоновані вперше, але зараз
зрозуміло, що згладжування дозволяє
поліпшити якість моделі в цілому.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Ступінь згладжування в описаних моделях
залежить від параметрів λ і α.
 Невелике значення параметра λ або велике
значення параметра α означає сильне
згладжування.
 Керуючи цими параметрами, можна
оптимізувати продуктивність моделі.
 Їх величини не зобов'язані бути постійними.
 Один з підходів – зробити значення функцією
від розміру запиту.
 Це корисно, оскільки для коротких запитів
краще підходить невелике згладжування
("майже кон'юнктивний" пошук), а для довгих
- сильне згладжування.
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
ОЦІНКА ЙМОВІРНОСТІ
ПОРОДЖЕННЯ ЗАПИТУ
 Приклад. Припустимо, що колекція
складається з двох документів.
 d1: Xyzzy reports a profit but revenue is down
 d2: Quorus narrows quarter loss but revenue
decreases further
 Модель являє собою суміш двох MLE-
моделей, побудованих за документами і
колекції, і змішаних c λ = 1 / 2.
 Припустимо, що запит має вигляд revenue
down.
 Порахуємо ймовірності P(d|q)
ЕКСПЕРИМЕНТИ ПОНТЕ І КРОФТА
 Понте і Крофт (Ponte and Croft, 1998)
описали перші експерименти, що
стосуються застосування мовних моделей
в області інформаційного пошуку.
 В якості основної вони використовували
описану вище модель.
 Однак ми дотримувалися підходу, в якому
мовна модель являла собою суміш двох
мультіноміальних розподілів, як в роботах
Міллера, Хіемстри та ін (Miller et al., 1999;
Hiemstra, 2000), в той час як Понте і Крофт
використовували багатомірну модель
Бернуллі.
ЕКСПЕРИМЕНТИ ПОНТЕ І КРОФТА
 Використання мультиноміальних розподілів
з часом стало загальноприйнятим в
більшості робіт за мовними моделями та
експериментів з інформаційного пошуку.
 Понте і Крофт переконливо довели, що ваги
термінів, визначені за мовними моделями,
набагато ефективніше, ніж ваги tf-idf.
 Частина результатів Понте і Крофта
представлені на наступному слайді.
 Тут наведено результати порівняння
зважування на основі tf-idf і мовних моделей
стосовно до завданнь TREC 202-250 і
даними дисків 2 і 3.
ЕКСПЕРИМЕНТИ ПОНТЕ І КРОФТА
 Запити являють собою пропозиції на
природній мові.
 Мовні моделі продемонстрували перевагу
над схемою зважування термінів tf-idf.
 Ця перевага потім було підтверджена в
інших роботах.
РОЗШИРЕННЯ МОВНИХ МОДЕЛЕЙ
 Існують альтернативні точки зору на
використання мовних моделей для
інформаційного пошуку.
 Замість дослідження ймовірності того, що мовна
модель документа Md згенерує запит, можна
орієнтуватися на ймовірність того, що мовна
модель запиту Mq згенерує документ.
 Основна причина невисокої популярності моделі
правдоподібності документа (document likelihood
model) полягає в тому, що для побудови мовної
моделі запиту є набагато менше тексту, тому
оцінки в цій моделі будуть грубіше, а значить,
вони будуть сильніше залежати від
згладжування з участю іншої мовної моделі.
РОЗШИРЕННЯ МОВНИХ МОДЕЛЕЙ
 З іншого боку, неважко переконатися, що
інтегрування зворотного зв'язку за
релевантністю в таку модель здійснити
набагато легше.
 Ми можемо розширити запит за рахунок
термінів, взятих з релевантних документів, і
тим самим уточнити мовну модель Mq (Zhai and
Lafferty, 2001, а).
 Дійсно, при правильному виборі параметрів цей
підхід призводить до моделі BIM.
 Прикладом моделі правдоподібності документа
є модель релевантності, запропонована
Лавренко і Крофт (Lavrenko and Croft, 2001), в
яку вбудовано зворотній зв'язок щодо
псевдорелевантності.
 Це дозволило досягти дуже хороших
емпіричних результатів.
РОЗШИРЕННЯ МОВНИХ МОДЕЛЕЙ
 Замість того щоб слідувати в одному з
напрямків, ми можемо побудувати мовні
моделі як по документу, так і за запитом
та порівняти їх один з одним.
 Лафферті і Жаі (Lafferti and Zhai, 2001)
реалізували всі три підходи до вирішення
поставленого завдання і розробили
загальний метод мінімізації ризику при
пошуку документа.
 Дякую за увагу.
ЛЕКЦІЯ 13. PAGERANK
Глибовець А.М.
ЩО ТАКЕ PAGERANK?
 PageRank - це метод Google для
вимірювання «важливості» сторінки.
 Коли всі інші фактори, такі як тег Title і
ключові слова враховані, Google
використовує PageRank, щоб
відкоригувати результати так, що більш
«важливі» сайти піднімуться відповідно
вгору на сторінці результатів пошуку
користувача.
ЩО ТАКЕ PAGERANK?

 Тобто, порядок ранжирування в Google


працює наступним чином:
 Знайти усі сторінки, відповідні ключовим
словам пошуку.
 Відранжувати відповідно «сторінковим
факторам», таким, як ключові слова.
 Врахувати текст посилань на сторінки.
 Відкоригувати результати даними PageRank.
ЯК ВИЗНАЧАЄТЬСЯ PAGERANK?
 Теорія Google говорить, що якщо Сторінка
A посилається на сторінку B, то Сторінка А
вважає, що Сторінка B - важлива сторінка.
 Текст посилання не використовується в
PageRank.
 PageRank також впливає на важливість
посилань на сторінку.
 Якщо на сторінку вказують багато
важливих посилань, то її посилання на
інші сторінки також стають більш
важливими.
НАСКІЛЬКИ ВАЖЛИВИЙ PAGERANK?
 Значущість кожного окремого фактора в алгоритмах
пошукової системи залежить від якості інформації,
яку він забезпечує.
 Тому має сенс спочатку поглянути на цю якість.
 Коли Гугл був лише крихітним Гугленком в
підгузниках, можна було з упевненістю сказати, що
посилання було точною ознакою рекомендації.
 Однак, в даний час це не так з двох дуже важливих
причин:
 Інтернет суттєво змінився. Посилання сьогодні це,
скоріше, лише пов'язаний сайт, ліцензійна вимога або
відповідна послуга (як перехресні посилання), ніж
справжня рекомендація.
 Як тільки ви створите пошукову машину, яка розглядає
посилання як рекомендації, люди почнуть намагатися
впливати на посилання. Як тільки вони стануть впливати
на них, посилання перестануть бути рекомендаціями.
НАСКІЛЬКИ ВАЖЛИВИЙ PAGERANK?
 Тому надійність інформації,
забезпечуваної посиланнями, не
обов'язково гарна, і вона постійно
зменшується.
 Це є причиною низької і весь час
зменшуваної важливості PageRank в
алгоритмі ранжирування Google.
 Тим не менш, у PageRank є одна дуже
важлива властивість.
 На нього важче впливати, ніж на будь-
який інший фактор ранжування.
НАСКІЛЬКИ ВАЖЛИВИЙ PAGERANK?
 Це означає, що у PageRank є можливість
дати вам перевагу перед конкурентами,
коли він використаний у комбінації з
іншими прийомами оптимізації для
пошукових машин.
ОСНОВНІ ФАКТИ ПРО PAGERANK
 PageRank - це число, яке характеризує
виключно голосуючу здатність всіх вхідних
посилань на сторінку і те, як сильно вони
рекомендують цю сторінку.
 Кожна унікальна сторінка сайту,
проіндексована Google, має вагу PageRank.
Люди часто помиляються, думаючи про вагу
сайту, який насправді є вагою головної
сторінки цього сайту.
 Внутрішні посилання сайту враховуються при
розрахунку ваги PageRank для інших сторінок
сайту.
 PageRank незалежний, він не бере до уваги
текст посилань і т.д. Звичайно, вони пов'язані,
але говорити, що це одне і те ж, це все одно
що говорити, ніби тег Title те ж саме, що
ключові слова в тексті.
ЯК ВИ МОЖЕТЕ ВИЯВИТИ, ЯКА У
СТОРІНКИ ВАГА?
 Спеціалізовані тулбари
 Спеціалізовані програми
ЯК ВИ МОЖЕТЕ ВИЯВИТИ, ЯКА У
СТОРІНКИ ВАГА?

Якщо справжня вага


То тулбар показує
PageRank між
0,00000001 і 5 1
6 і 25 2
26 і 125 3
126 і 625 4
626 і 3125 5
3126 і 15625 6
15626 і 78125 7
78126 і 390625 8
390626 і 1953125 9
1953126 і нескінченністю 10
РОЗРАХУНОК PAGERANK
 Коли Google був тільки дослідницьким
проектом, Брін і Пейдж написали статтю,
що докладно описує формулу, яка
визначає вагу PageRank для сторінки.
 Хоча можливо, вже не використовують в
точності цю формулу, вона є досить
коректною для наших цілей. 
РОЗРАХУНОК PAGERANK
 PR (A) = (1-d)+d(PR(T1)/C(T1)+...
+PR(Tn)/C(T n)),
 PR(A) — це вага PageRank сторінки A (те що
ми хочемо обрахувати)
 D — це коефіцієнт затухання, що зазвичай
встановлюють 0,85
 PR(T1) — вага PageRank сторінки, що
посилається на сторінку A
 C(T1) — кількість посилань з цієї сторінки
 PR(Tn)/C(Tn) означає, що ми робимо це для
кожної сторінки, що вказує на A
РОЗРАХУНОК PAGERANK
 Ви не можете просто обчислити вагу
PageRank за один прийом, як показано тут.
 Щоб обчислити вагу PageRank сторінки A вам
знадобиться знати ваги PageRank всіх
сторінок, що вказують на сторінку A.
 Їх ваги PageRank будуть частково залежати
від сторінки A, що вказує на них, або якихось
інших сторінок, що посилаються на них.
 Яка дурна формула.

 Що вона нам говорить, так це одну дуже


важливу річ про вагу PageRank будь-якої
сторінки.
РОЗРАХУНОК PAGERANK
 Вага PageRank, що передається на
сторінку A зі сторінки B, яка вказує на неї,
зменшується з кожним посиланням
абикуди, що знаходиться на сторінці B.
 Це означає, що вага сторінки, по суті, це
міра її голосу; сторінка може розділити
цей голос між одним, двома або багатьма
посиланнями, але загальна голосуюча
сила буде завжди тією ж самою.
MINIRANK

Сторінка А Сторінка B

Сторінка C Сторінка D

Спочатку ми не знаємо, які ваги MiniRank у цих сторінок, тому ми їх


привласнимо самостійно.
Для простоти, візьмемо 1.
MINIRANK

Сторінка А (1) Сторінка B (1)

Сторінка D
Сторінка C (1)
(1)
MINIRANK
 Зараз згадайте правила передачі ваги.
 Спочатку ми застосовуємо коефіцієнт
загасання.
 Коефіцієнт загасання, в основному, говорить
про те, що сторінка не може голосувати так,
щоб інша сторінка була настільки ж важлива,
як вона сама.
 Це означає, що сторінки, до яких важче
дістатися в Web, менш важливі.
 Потім ми ділимо зоставшуся вагу на число
посилань.
 Ми підраховуємо підсумкову вагу, який
повинен бути доданий до всіх сторінок,
перед тим як ми остаточно його додамо.
MINIRANK
 Отже, дивлячись спочатку на сторінку A,
бачимо, що значення ваги MiniRank,
доступне для передачі, після загасання
дорівнює 1 * 0,85 = 0,85.
 Зі сторінки ведуть два посилання, тому,
по закінченні ітерації, ми додамо 0,425 до
ваги MiniRank сторінки B і 0,425 до ваги
MiniRank сторінки C.
 Ми не можемо зробити це до тих пір, поки
ми не розрахували всі посилання сторінки,
тому що це вплине на результати.
MINIRANK
 Перейдемо до сторінки B.
 Вона містить тільки одне посилання.

 Тому, вона передасть 1*0,85 = 0,85


сторінці C, коли ми зробимо всі
обчислення для посилань.
 Сторінка C також має одне посилання.
Тому вона передасть вагу 1*0,85 = 0,85
сторінці A.
 Сторінка D має одне посилання, тому вона
передає 0,85 сторінці C.
 Зараз ми можемо додати всі суми до всіх
ваг сторінок.
MINIRANK

Сторінка A Сторінка B
(1,85) (1,425)

Сторінка C Сторінка D
(3,125) (1)
MINIRANK
 Нові значення ваг MiniRank показують,
наскільки важлива сторінка C.
 Але ми ще не завершили.
 Оскільки всі сторінки почали з одного
значення, по правді кажучи, ми
вирахували тільки популярність в
посиланнях (link popularity).
 Суть PageRank і MiniRank така, що
сторінкам, на які найчастіше посилаються,
слід отримати більше голосів; тому ми
повинні виконати те ж саме ще раз!
 На цей раз сторінка C має більший вплив,
тому що її поточна вага MiniRank вище.
MINIRANK
 Так, подивимося на сторінку A спочатку.
 Її поточна вага MiniRank дорівнює 1,85.

 Величина MiniRank, доступна для


передачі, після застосування загасання
складає 1,85 * 0,85 = 1,5725.
 Є два посилання зі сторінки, тому по
завершенню ітерації ми додамо 0,78625
до ваги MiniRank сторінки B і вазі MiniRank
сторінки C.
MINIRANK
 Перейдемо до сторінки B. У неї є тільки
одне посилання. Отже, вона передасть
1,425 * 0,85 = 1,21125 сторінці C, коли ми
завершимо всі обчислення з посиланнями.
 Сторінка C також має одне посилання, але
при цьому володіє величезною вагою
3,125 MiniRank. Тому вона передасть 3,125
* 0,85 = 2,65625 сторінці A.
 Сторінка D має одне посилання, тому вона
передає 0,85 сторінці C.
MINIRANK

Сторінка A Сторінка B
(4,50625) (2,9975)

Сторінка C Сторінка D
(5,18625) (1)
MINIRANK
 Ми вже можемо бачити те, що слід було
очікувати: сторінка C має найбільшу вагу
MiniRank, сторінка A - наступний по
величині.
 На практиці нам потрібно було б
повторити ці дії від 50 до 100 разів, щоб
гарантувати, що низька точність
попередніх ітерацій зведена нанівець.
ЗВОРОТНІЙ ЗВ'ЯЗОК PAGERANK
 Щось відбувається між сторінками A і C,
тому поглянемо ще раз.
Сторінка А Сторінка B

Сторінка C Сторінка D

Під час однієї ітерації обчислень сторінка C дає сторінці A


підвищення у вазі MiniRank (PageRank).
Під час наступної ітерації вона сама отримує збільшення ваги,
пропорційне новому поліпшити вазі MiniRank сторінки A (вона
отримує назад частину своєї ваги MiniRank!).
ЗВОРОТНІЙ ЗВ'ЯЗОК PAGERANK
 Це зворотний зв'язок PageRank.
 Можна подумати, що Google зобов'язаний
ігнорувати посилання такого роду,
особливо, якщо сторінка A і сторінка C
розташовані на одному сайті.
 Дійсно, я чув думку кількох людей, які
вважають, що Google зобов'язаний.
 Істина в тому, що Google не може зробити
це.
ЗВОРОТНІЙ ЗВ'ЯЗОК PAGERANK
 Уявіть обчислення над мільйонами сторінок
замість чотирьох ... уявіть тільки як вам
визначати, коли зустрічається зворотний
зв'язок, і як позбавлятися від нього.
 І навіть якщо ви впораєтеся, як ви зведете
нанівець вплив, який це матиме на решту
системи?
 Зворотній зв'язок PageRank - невід'ємна
частина системи!
 Фактично, вона потрібна для правильного
функціонування PageRank і є частиною
алгоритму.
PAGERANK
 Вага PageRank - найважчий для
маніпулювання фактор при оптимізації
сторінок.
 Хоча його вплив не такий великий, як
вірять деякі, якщо ви можете зрозуміти
його правильно, то ви маєте перевагу
перед вашими конкурентами.
 Вагу PageRank важко як отримати, так і
утримати.
PAGERANK
 Є три основні області, які варто оглянути і,
можливо, змінити, коли ви намагаєтеся
оптимізувати вагу PageRank:
 Сторінки, які ви обираєте для отримання
посилань на вас
 Ті, кого ви обираєте, щоб послатися на них зі
свого сайту, і на якій сторінці вашого сайту ви
ставите їх посилання.
 Внутрішня навігаційна структура та зв'язок
ваших сторінок - з метою створення
максимального зворотного зв'язку PageRank.
ПОСИЛАННЯ НА ВАШ САЙТ
 Коли ви шукаєте посилання на ваш сайт, з точки
зору виключно PageRank можна подумати, що слід
просто шукати сторінки з найвищою
Тулбарівською вагою PageRank.
 (В той же час тримаючи в розумі, що кожна сторінка
сайту має свою власну вагу PageRank, тому ви
повинні розглянути вагу «сторінки посилань», або
якої б то не було сторінки, де буде розташована
фактична посилання.)
 Однак, ця точка зору некоректна .
 Вага PageRank, одержувана з посиланням,
набагато складніша, ніж наше спрощення.
 Міг бути випадок, коли це було прийнятним
наближенням ... але не більше.
 У міру того як все більше і більше людей
намагаються і отримують посилання тільки з
сайтів з високим значенням ваги, це стає все менш
і менш виграшною пропозицією.
ПОСИЛАННЯ НА ВАШ САЙТ
 Справжня вага PageRank окремої сторінки
ділиться серед посилань на цій сторінці
(пам'ятаєте розрахунки MiniRank?)
 Тому, посилання зі сторінок, які мають
однакову вагу PageRank, не завжди рівні.
 Це залежить від того, зі скількома
посиланнями ділить PageRank ваше
посилання.
 Наприклад, посилання зі сторінки з вагою
PageRank 4 може бути краще, ніж посилання
зі сторінки з вагою PageRank 6, якщо на
сторінці з PR 4 менше загальне число
посилань.
ПОСИЛАННЯ НА ВАШ САЙТ
 Можливо, що сторінка з PR 2 може навіть
бути краще, ніж сторінка з PR 7.
 Це майже неможливо порахувати точно,
але ми можемо приблизно оцінити.
 Тому безглуздо просто вибирати сайти з
великою вагою в якості основної стратегії
отримання посилань.
ПОСИЛАННЯ НА ВАШ САЙТ
 Є також інша, більш прозаїчна причина,
чому ця стратегія отримання посилань
може бути не кращою; сайти з високою
вагою PageRank часто перебірливі в тому,
на які сайти ставити посилання, що
робить отримання посилання з них більш
важким, ніж з сайтів з низькою вагою.
ПОСИЛАННЯ НА ВАШ САЙТ
 Зараз давайте розглянемо зворотний зв'язок.
 Припустимо, наприклад, що є дві самостійних
сторінки на сайтах інших людей, кожна з яких має
вагу PageRank 4.
 Обидві сторінки мають по 10 посилань на інші
сторінки.
 Але ваша сторінка, на яку ви хочете отримати з них
посилання, вже має посилання на сторінку на
другому сайті.
 Отримуючи посилання з другого сайту, ви породжує
зворотний зв'язок, і отримуєте більшу вагу PageRank,
ніж якщо б отримали посилання з першого сайту!
 Це надмірне спрощення; фактично, цикли
зворотного зв'язку можуть стати навіть більш
складними.
 Пам'ятайте, що кількість посилань на сторінці, що
посилається на вас, буде міняти величину
зворотного зв'язку, і т. д.
ПОСИЛАННЯ НА ВАШ САЙТ
 Чи можете ви обчислити все це для
заданої сторінки?
 Ні - і я не можу.

 Моя порада, тому, така - отримуйте


посилання з сайтів, які здаються
підходящими і мають хорошу якість,
незалежно від їх поточної ваги PageRank.
 Якщо вони релевантні вашому сайту, і
самі високоякісні сайти, вони або
допоможуть вашій вазі PageRank зараз,
або зроблять це в майбутньому.
ПОСИЛАННЯ З ВАШОГО САЙТУ
 Щоб розглянути найкращу стратегію
простановки посилань з сайту, спочатку
нам потрібно розглянути посилання, що
вказують на ваш сайт.
 Під цим я розумію, що нам треба
припустити, що у вас є посилання, що
вказують на ваш сайт з каталогів, подібних
DMOZ і Yahoo, які дають йому невелике
прирощення ваги PageRank.
 Використовуючи внутрішні сторінки сайту,
ви можете управляти зворотним зв'язком
значно краще, ніж використовуючи
посилання на зовнішні сторінки.
ПОСИЛАННЯ З ВАШОГО САЙТУ
 У загальному випадку, вам буде потрібно
зберегти вагу PageRank всередині вашого
сайту.
 Це означає, що вам потрібно буде
посилатися назовні тільки зі сторінки
вашого сайту, які мають низьку вагу
PageRank, і яка також містить значну
кількість внутрішніх посилань (тобто
посилань, що вказують на інші сторінки
вашого сайту).
ПОСИЛАННЯ З ВАШОГО САЙТУ
 Отже, коли ви ставите посилання назовні, ви
віддаєте перевагу тим сторінкам, які або
посилаються на ту сторінку вашого сайту, яка
знаходиться сторінкою вище посилальної
сторінки [наприклад, якщо зовнішня сторінка A
посилається на вашу сторінку B1, яка, в свою
чергу, посилається на вашу сторінку B2, на якій
і розташоване посилання на зовнішню A], або які
посилаються на ту сторінку, яка посилається на
сторінку, що посилається на вашу посилальну
сторінку [A -> B1, B1 -> B2, B2 -> B3, B3 -> A]
(тобто ви отримаєте більше збільшення ваги
PageRank, якщо посилання зі зовнішніх сайтів не
вказують на вашу посилальну сторінку).
ПОСИЛАННЯ З ВАШОГО САЙТУ
 Як ми можемо здійснити це? Одним
способом буде написання оглядів сайтів,
на які ми посилаємося, на окремій сторінці
нашого сайту, і забезпечення посилання
на ці огляди разом з кожним
гіперпосиланням на зовнішній сайт.
 Необов'язково, але буде непогано, якщо ці
сторінки будуть відкриватися в іншому
вікні.
ПОСИЛАННЯ З ВАШОГО САЙТУ
 Перевірте, що сторінка оглядів посилається
назад на сторінку, яка знаходиться вище в
структурі вашого сайту.
 Краще всього, якщо це буде ваша головна
сторінка, але будь-яка важлива сторінка
також підійде.
 Зробивши це, ми значно скоротили
кількість ваги PageRank, якій ви дозволяєте
покинути сайт, і забезпечили, що більша
частина ваги PageRank, яка залишається,
також збільшується ефектом зворотного
зв'язку!
ПОСИЛАННЯ З ВАШОГО САЙТУ
 Ми націлили цей зворотний зв'язок на головну
сторінку, щоб гарантувати, що менше ваги
передається назад вашій посилальній сторінці, і
більше залишається де-небудь на вашому сайті.
 На вашій посилальній сторінці також потрібно
поставити посилання на головну сторінку і інші
значущі сторінки сайту.
 Однак, не ставте інших посилань на сторінці з
оглядом (крім посилання на головну сторінку).
 Дуже добре, якщо хтось ставить посилання на
вашу сторінку з оглядом, тому, до того ж, ви
можете дати знати сайту, що ви рецензували
його - цілком можливо , що ви отримаєте два
посилання з цього сайту (одну на ваш сайт і
одну на огляд чужого сайту).
ПРОСТА СТРУКТУРА

Зовнішній
Про нас сайт А
(1)

Головна Зовнішній
продукція сайт Б
сторінка
(1)
(1)

Посиланн Зовнішній
я сайт В
(1)
ПІСЛЯ ТРЬОХ ІТЕРАЦІЙ

Про нас Зовнішній


(3,589617 сайт А
)

Головна продукція Зовнішній


сторінка (3,589617 сайт Б
(9,19028) )

Посиланн Зовнішній
я сайт В
(3,589617
)
ДОДАЄМО ОГЛЯД
Зовнішній
Про нас сайт А

(1)

Головна Зовнішній
продукція сайт Б
сторінка
(1)
(1)

Посиланн Зовнішній
я сайт В
(1)

огляд А огляд Б огляд В огляд Г


(1) (1) (1) (1)
ПІСЛЯ ТРЬОХ ІТЕРАЦІЙ
Зовнішній
Про нас сайт А

(6,50031)

Головна Зовнішній
сторінка продукція сайт Б
(21,80391 (6,50031)
)

Посиланн Зовнішній
я сайт В
(6,50031)

огляд А огляд Б огляд В огляд Г


(1,50261) (1,50261) (1,50261) (1,50261)
MINIRANK

Другий приклад (з
Перший приклад
оглядами)
Число сторінок = 4 Число сторінок = 8
Початкова вага Початкова вага
MiniRank = 4 MiniRank = 8
Кінцева вага Кінцева вага
MiniRank сайту = MiniRank сайту =
19,959 47,31
Головна сторінка в 2,37 рази важливіше
при використанні другого методу
Основні сторінки «Про нас», «Продукція» і
«Посилання» в 1,8 разів важливіше при
використанні другого методу
ВНУТРІШНЯ СТРУКТУРА ТА ЗВ'ЯЗКИ
 Чим більше сторінок конкретний сайт має в індексі
Google, тим вище у нього початкова сумарна вага
PageRank, і тим більше вага PageRank, з якою він
повинен працювати.
 Так як кожній сторінці задано одне і те ж
початкове значення до того, як починає
обчислюватися PageRank, більше число сторінок
може бути тільки краще.
 Буде логічно зробити висновок, що якщо у нас є
більше для початку, то ефект зворотного зв'язку
буде також більш значним.
 Коли-небудь зверніть увагу, як же великим сайтам
вдається мати більш хорошу вагу PageRank?
 Ефект зворотного зв'язку пояснює, чому.
 Звичайно, ваші сторінки повинні мати сенс і
гарний зміст, щоб для початку потрапити в індекс.
ВНУТРІШНЯ СТРУКТУРА ТА ЗВ'ЯЗКИ
 Зворотній зв'язок - це природний процес для
PageRank.
 Він має місце серед внутрішніх посилань сайту і
є критичним для оцінок Google про те, які
сторінки сайту важливі.
 Якщо у сайту не буде вхідних або вихідних
посилань, структура сайту забезпечить ту ж
саме кількість зворотного зв'язку.
 Однак, коли ми враховуємо вхідні і вихідні
посилання, внутрішня структура сайту важлива.
 Наприклад, якщо сайт має вихідні посилання на
сторінці, то ми захочемо залишити вагу
PageRank цієї сторінки мінімальною.
ВНУТРІШНЯ СТРУКТУРА ТА ЗВ'ЯЗКИ
 Можуть бути:
 циклічна
 ієрархічна
 поєднане
ВНУТРІШНЯ СТРУКТУРА ТА ЗВ'ЯЗКИ
 На практиці це означає, що вам слід
поєднувати дані методи зв'язування
сторінок.
 Правила такі:
 Там, де група сторінок може містити зовнішні
посилання, використовуйте ієрархічну
структуру.
 Там, де група сторінок не містить зовнішніх
посилань, використовуйте структуру з
обширними зв'язками, розширивши її
додаванням посилання на головну сторінку.
 Якщо конкретна сторінка особливо важлива,
поміщайте її вище в ієрархічній структурі.
 Дякую за увагу.
ЛЕКЦІЯ 13. NLP
Глибовець А.М.
ОБРОБКА ПРИРОДНОЇ МОВИ
(NLP)
 Обробка природної мови - це
формулювання та дослідження
комп'ютерно-ефективних механізмів для
забезпечення комунікації з ЕОМ на ПМ.
 Об'єктами досліджень є:
 власнеприродні мови;
 використання природної мови як у комунікації
між людьми, так і в комунікації людини з ЕОМ.
ОБРОБКА ПРИРОДНОЇ МОВИ
(NLP)
 Дослідники обробки природної мови
намагаються зрозуміти та дослідити, як
людські створіння розуміють та
використовують мову, щоб використати
відповідні та доречні засоби для того, щоб
комп’ютерні системи розуміли та
використовували природну мову для
досягнення бажаних цілей.
ОБРОБКА ПРИРОДНОЇ МОВИ
(NLP)
 Основи NLP стосуються багатьох
дисциплін, таких як: комп’ютерні та
інформаційні науки, лінгвістика,
математика, електронна інженерія,
штучний інтелект та роботи, психологія
тощо.
 Застосування NLP включають значну
кількість галузей дослідження: машинний
переклад, обробки тексту природної мови
та узагальнення, інтерфейси користувача,
багатомовні і кросмовні ІПС, розпізнавання
мови, штучний інтелект та експертні
системи і т.д.
ЗАВДАННЯ NLP
 Основною проблемою NLP є мовна
неоднозначність.
 Існує досить велика кількість
складностей, з якими зустрічаються
системи під час обробки запитів, які було
введено українською чи будь-якою іншою
мовою.
ЗАВДАННЯ NLP
 Наприклад, речення
 «Ми віддали банани мавпам, оскільки вони були
голодні»
 «Ми віддали банани мавпам, бо вони були
перезрілими»
 схожі за синтаксичною побудовою.
 Але насправді, це різні речення.
 В першому реченні слово «вони» стосується
мавп, а в другому реченні стосується вже
бананів.
 Авжеж, за правилами мови друге речення
недопустиме та граматично неправильне, але у
звичайній побутовій мові таку побудову речення
досить часто можна зустріти
ЗАВДАННЯ NLP
 Іншим прикладом можна навести вільний
порядок слів, який може призвести до
зовсім іншого пояснення речення.
 У фразі «Буття визначає свідомість» не
зрозуміло, що саме визначає що.
ЗАВДАННЯ NLP
 Правильне розуміння омонімів - ще одна
проблема.
 При розпізнаванні мови може виникнути
проблема фонетичних омонімів.
 Приведемо приклад
 «Сірийвовк в глухому лісі зустрів руду
лисицю».
 Система має для себе відмічати, що саме
ліс глухий, а лисиця руда, а не навпаки,
оскільки випадок рудого лісу та глухої
лисиці може насправді існувати.
ЗАВДАННЯ NLP
 Да й просте, на перший погляд, завдання -
«як навчити пошукову машину правильно
розбивати текст на речення», не зовсім й
таке просте.
 Треба вміти зробити так, щоб система
могла розпізнавати точки, які не є кінцями
речень.
ЗАВДАННЯ NLP
 Багато слів мають кілька значень
(смислова неоднозначність).
 Система має вибрати те значення, яке має
більший сенс в контексті.
 Зазвичай, для цього для кожного слова
даються асоційовані значення.
 Наприклад, у реченні
 «Чоловік купив банки»
 незрозуміло, чи людина настільки
заможна, що скупила кілька банків, де
зберігаються гроші, чи чоловік пішов до
магазину та купив банки зі скла.
ЗАВДАННЯ NLP
 В англійській мові досить часто системі
доводиться розбирати, чи є одні й ті ж
самі слова дієсловами, іменниками,
прикметниками чи чимось ще.
 Наприклад, у реченні «Time flies like an
arrow» не зрозуміло, чи слово “flies” є
іменником («комахи») чи дієсловом
(«летить»).
ЗАВДАННЯ NLP
 Деякі речення можуть виглядати зовсім по-
різному, але їх значення буде однаковим.
 Таким прикладом є речення:
 “IBM’sPC division was acquired by Lenovo.”
 “Lenovo bought the PC division of IBM.”

 Людина, яка читає ці речення, можє


з’ясувати значення за допомогою
отримання його з контексту чи опираючись
на власний досвід та знання.
 Але комп’ютери не мають досвіду, як у
людей, і тому NLP є досить складним
завданням.
ЗАВДАННЯ NLP
 Таким чином, NLP вимагає аналізу
основних мовних структур і відносин,
граматичних правил, точних концепцій,
неточних смислів, логіки, дискурсу
контексту і багато іншого.
АКТУАЛЬНІ ДЛЯ ПОШУКОВИХ
СИСТЕМ ЕТАПИ ОБРОБКИ
ПРИРОДНОЇ МОВИ
 Виокремлення стоп слів
 Стеммінг

 Лематизація

 Розмітка тексту

 З'єднання і статистичні фрази

 Head-Modifier Pairs
РОЗМІТКА ТЕКСТУ
 Цей аналіз ще називають морфологічним.
 Розмітка тесту (в англійській літературі цей процес
називається «part-of-speech tagging» (POST)) - це
ручний або автоматичний процес, в результаті якого
кожному слову тексту приписують атрибутивну
інформацію (тег), що визначає якою частиною мови є
це слово:
 іменник
 дієслово
 прикметник
 прислівник
 займенник
 частка
 союз
 вигук
 і т.д.
 Приклад: Танцююча <V> в <PREP> темряві <N>.
 Повною морфологічною інформацією буде визначення
роду, множина/однина, тощо.
З'ЄДНАННЯ І СТАТИСТИЧНІ ФРАЗИ
 Такі фрази зазвичай індексується в
мультітокени, а не в одиничні токени.
 Якщо ж подібні фрази розбивати на одиничні
токени, то вони будуть вже мати зовсім інший
сенс, і при пошуку за допомогою них будуть
знайдені не відповідні документи (наприклад,
окремий пошук New у фразі New York).
 Також використання мультітокенів дають
більшу можливість різноманітних варіацій,
наприклад, документи, що містять James T. Kirk
раптом більше не будуть відповідати запитам
«James Kirk».
 Додання одиничних токенів та мультітокенів до
вектора документу вирішує ці проблеми.
HEAD-MODIFIER PAIRS
 Такі пари слів базуються на залежностях
між словами, які можуть бути створені за
допомогою phrase structure-based parsing
чи dependency parsing.
 Наприклад, пара слів президент+США
може видати результат за пошуком
колишній президент США.
HEAD-MODIFIER PAIRS
 Іншим завданням такого аналізу є вибір
головних, корисних для пошуку слів в фразах,
що складаються з трьох слів.
 Приклади:
 Обробка природної мови:
 природна+мова (підходить); мова+обробка
(підходить); природна+обробка(не підходить)
 Виконавчий віце-президент
 виконавчий+віце (не підходить); віце+президент
(підходить); виконавчий+президент (підходить
неоднозначно )
 Приклад внутрішньої торгівлі
 внутрішня+торгівля (підходить); приклад+торгівлі (не
підходить); приклад+внутрішньої (не підходить)
 Таким чином, можна побачити, що
автоматичне визначення правильної (або
корисної) пари є досить складним завданням.
ПРОЦЕС ОБРОБКИ ПРИРОДНОЇ
МОВИ
 Незалежно від того, якою мовою написаний
вихідний текст, його аналіз проходить одні й
ті ж стадії.
 Перші дві стадії (розбиття тексту на окремі
речення і на слова) практично однакові для
більшості природних мов.
 Єдине місце, де можуть проявитися
специфічні для вибраної мови риси, - це
обробка скорочень слів і обробка знаків
пунктуації.
 Мається на увазі, які знаки пунктуації є
закінченням речення, а які ні.
 Відбувається розбиття на окремі зразки
спеціальні типи: «слово_в_лапках», «слово»,
«знак_пунктуаціі», «блок_чисел» і т.д.
 Це є графематичним аналізом.
ПРОЦЕС ОБРОБКИ ПРИРОДНОЇ
МОВИ

ПРОЦЕС ОБРОБКИ ПРИРОДНОЇ
МОВИ
 До аналізу окремих слів відноситься
морфологічний аналіз (визначення
морфологічних характеристик кожного
слова - частина мови, відмінок,
відмінювання, і т.д.) і морфемний аналіз
(префікс, корінь, суфікс і закінчення)
 до стадії аналізу всього речення -
синтаксичний аналіз
 до аналізу всього тексту - різні завдання
семантичного аналізу (пошук фрагментів,
формалізація, реферування і т.д.)
ПРОЦЕС ОБРОБКИ ПРИРОДНОЇ
МОВИ

ГРАФЕМАТИЧНИЙ АНАЛІЗ
 Виділення речень із суцільного тексту -
процедура необхідна для подальшого
аналізу тексту в будь-якій системі аналізу
природних мов.
 Графематичний аналіз включає в себе
розпізнавання імен, ініціалів, скорочень,
дат, цифрових, цифробуквених
комплексів, імен файлів і веб сторінок,
абзаців, всіляких знаків пунктуації, дужок,
математичних формул і тд.
ГРАФЕМАТИЧНИЙ АНАЛІЗ
 Елементами графематичного аналізу є:
 каліграфи (елементи форматування - жирність,
курсив, підкреслення);
 структурні елементи тексту - заголовки,
абзаци, примітки, пропозиції з вхідного тексту;
 різні елементи тексту, які є словами (цифри і
числа, дати в цифрових форматах, буквено-
цифрові комплекси, вказівки на нетекстові
входження - малюнки, таблиці тощо);
 імена (ім'я, по батькові), написані ініціалами;
 іноземні лексеми, записані латиницею;
 слова, написані великими літерами;
 слова, що починаються з великої літери.
ГРАФЕМАТИЧНИЙ АНАЛІЗ
 Графематичний аналіз виконує наступні
функції:
 виділяє речення:
 кінець речення фіксується при наявності точки,
питального знаку або оклику, трьох крапок і т.д.
 крім того, необхідно враховує випадок пропозиції з

прямою мовою і контролює, що після заголовка


крапка частіше за все не ставиться.
 розпізнає дефіс між словами
 трактування дефісу як букви полегшує аналіз
графічних слів типу: хтось, де-небудь, давним-
давно і т.п.
ГРАФЕМАТИЧНИЙ АНАЛІЗ
 ділить потік тексту на псевдослова, при
цьому одночасно класифікуючи їх.
 Цим одиницям вже на цій стадії приписана
якась інформація для подальшого аналізу.
 Наприклад, виділяються певним чином слова,
які складаються із заголовних букв, слова,
що починаються з великої літери і т.д.
 Для цього задаються списки елементів, якими
є букви латинського, українського та інших
алфавітів, цифри, знаки пунктуації і т.п.;
ГРАФЕМАТИЧНИЙ АНАЛІЗ
 впорядковує за частотою всі виділені лексеми
тексту;
 об'єднує деякі комбінації слів у більш крупні
одиниці - «стійкі обороти». Тобто обмежує
початок і кінець обороту;
 дає спеціальні ознаки словами, які є
потенційними іменами ;
 виділяє електронні адреси та імена файлів;
 у ряді очевидних випадків знімає омонімію
крапки. Тобто якщо це є помилковою крапкою,
то ставить певний флажок на цьому місці;
 веде рахунок і контроль пунктів перерахувань;
 виділяє і нумерує абзаци.
ОБРОБКА НА РІВНІ СЛІВ
 На цьому рівні обробки відбувається
морфологічний та морфемний аналізи
слів.
 Вхідним параметром є текстове
представлення початкового слова.
 Метою і результатом морфологічного
аналізу є визначення морфологічних
характеристик слова і його основна
словоформа.
ОБРОБКА НА РІВНІ СЛІВ
 Морфологія для різних мов має зовсім
різну складність.
 Для англійської, наприклад, це просто.

 Для російської - досить складно.

 Для фінського - зовсім складно, там дуже


розвинена морфологія.
 Для японського - начебто не дуже
складно, але там є інша проблема: треба
спочатку зрозуміти, де одне слово
закінчується, а інше починається.
ОБРОБКА НА РІВНІ СЛІВ
 Існує три основні підходи для проведення
морфологічного аналізу.
 Перший підхід часто називають «чіткою»
морфологією; він заснований на словнику словоформ.
 Другий підхід грунтується на деякій системі правил,
по заданому слову визначають його морфологічні
характеристики; на противагу до першого підходу
його називають «нечіткої» морфологією.
 Третій, імовірнісний підхід, заснований на
сполучуваності слів з ​конкретними морфологічними
характеристиками; він широко застосовується при
обробці мов зі строго фіксованим порядком слів у
реченні і практично непридатний при обробці текстів
російською чи українською мовою.
ОБРОБКА НА РІВНІ СЛІВ
 Широко використовується система правил,
за допомогою якої можна побудувати всі
форми даного слова, відштовхуючись від
початкової словоформи та відповідного їй
коду.
 Крім побудови кожної словоформи, система
правил автоматично ставить їй у
відповідність морфологічні характеристики.
 При проведенні чіткого морфологічного
аналізу необхідно мати словник усіх слів і
всіх словоформ мови.
 Цей словник на вході приймає форму слова,
а на виході видає його морфологічні
характеристики.
ОБРОБКА НА РІВНІ СЛІВ
 Таким чином виходить, що для проведення
морфологічного аналізу конкретного слова
треба знайти його в словнику, де зберігається
точні значення морфологічних характеристик
заданого слова.
 Можливо, що для одного й того ж самого
слова буде зберігатися декілька варіантів
його морфологічних характеристик.
 Але цей підхід можна використовувати не
завжди, оскільки в словнику може не
міститися конкретне слово.
 Така ситуація може виникнути через помилки
введення вихідного тексту, наявності в тексті
імен власних і так далі.
ОБРОБКА НА РІВНІ СЛІВ
 Метою морфемного аналізу слова є поділ слова
на окремі лексеми: приставки, корінь, суфікси і
закінчення.
 Відомо, що множина всіх коренів слів
української мови відкрито, але множина всіх
можливих приставок, суфіксів і закінчень -
обмежена.
 Крім того, відомо, що в будь-якому слові
спочатку йдуть приставки, потім корінь, далі
суфікси і закінчення.
 Тому на основі словника морфем можна
побудувати інший словник, який буде містити
не тільки розбиття кожного слова на частини,
але і тип кожного з них.
 У такому випадку, для проведення морфемного
аналізу слова необхідно звернутися до цього
словника.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Після того як зроблений аналіз кожного
слова, починається аналіз окремих речень
(синтаксичний аналіз), що дозволяє
визначити взаємозв'язок між окремими
словами та частинами пропозиції.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Основна мета аналізу речень - побудувати
дерево залежностей або дерево
граматичного розбору (parse tree).
 Воно показує структуру речень, зокрема, які
слова від яких будуть залежати.
 Якщо два слова зв'язані будь-яким чином, то
відповідні їм вершини графа пов'язані дугою
з певним забарвленням.
 Можливі забарвлення дуг залежать, по-
перше, від мови, на якій написано речення,
по-друге, від обраного способу
представлення синтаксичної структури
речення.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 При синтаксичному аналізі речень у
вершинах графа слова записуються не в
тому вигляді, що зустрічалися в реченні, а
у вигляді основної словоформи.
 В якості можливих забарвлень дуг можна
використовувати питання, що задаються
від одного слова до іншого.
 Деяким словам (наприклад,
прийменникам) взагалі не відповідає ні
одна з вершин графа, але ці слова
впливають на питання, що задаються від
одного слова до іншого.
ОБРОБКА НА РІВНІ РЕЧЕНЬ

ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Використовується багато різних підходів
для побудови графів.
 Історично, першим способом опису
синтаксису мови були формальні
граматики.
 Вони задаються у вигляді чотирьох
компонентів:
 множини термінальних символів
 множини нетермінальних символів
 правил виводу і початкового символу.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Розрізняють породжуючі і розпізавальні
(або аналітичні) граматики - перші
задають правила, за допомогою яких
можна побудувати будь-яке слово мови, а
другі дозволяють по даному слову
визначити, чи входить воно у мову чи ні.
 Формальні граматики добре вивчені і
широко застосовуються при описі
формальних мов (наприклад, мов
програмування), але вони непридатні для
опису синтаксису природних мов.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Досить популярним є метод
трансформаційних граматик.
 Це одна з теорій опису природної мови,
заснована на припущенні, що весь
діапазон речень будь-якої мови може бути
описаний шляхом здійснення певних змін,
чи трансформацій, над якимсь набором
базових речень.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Розроблена Наумом Хомським на початку
50-х рр.. і отримала свій розвиток в ранніх
роботах Зеліг Харріса, теорія
трансформаційної граматики в даний час
є однієї з найпопулярніших і
застосовуваних лінгвістичних моделей в
США.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Ці граматики задаються у вигляді
орієнтованого графа станів, всім дугам якого
поставлені у відповідність певні частини мови.
 На початку роботи алгоритм синтаксичного
аналізу знаходиться в деякому початковому
стані, якому відповідає деяка вершина графа.
 Алгоритм переглядає речення зліва направо,
аналізує слова і робить переходи з одного
стану в інший відповідно дугами, що виходять
з поточної вершини, і черговим словом
речення.
 Робота закінчується або коли речення
переглянуто повністю, або коли неможливо
зробити перехід з поточного стану.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Основними недоліками трансформаційних
граматик є те, що вони, по-перше, не
здатні задавати рекурсивні синтаксичні
правила.
 По-друге, побудова трансформаційної
граматики навіть для невеликої
підмножини мови потребує великих
зусиль.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Таким чином згодом виникають імовірнісні
граматики.
 Вони є розширенням формальних і
відрізняються від них у наступному:
кожному правилу побудови вказана певна
ймовірність застосування цього правила
при побудові речення.
 Після того, як зроблено синтаксичний
аналіз речення відомо, на основі яких
правил було побудовано це речення і на
основі зіставлених з ними ймовірностей
може бути порахована «сумарна»
вірогідність.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Цей метод здатний аналізувати неправильно
побудовані речення.
 Недоліком таких граматик є те, що вони -
контекстно-вільні.
 Це означає, що різниця між "eat a banana" і "eat
a bandanna" залежить тільки від
співвідношення ймовірностей "banana" і Р
"bandanna", а не від ймовірностей виникнення
відносин між дієсловом "eat" і відповідними
об'єктами.
 Іншим недоліком є те, що імовірнісні граматики
виявляють занадто помітну перевагу по
відношенню до більш коротких речень.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Синтаксичний аналіз на основі систем, що
навчаються, - це поки ще маловивчений підхід.
 Він полягає в наступному: розробляється
деяка множина прикладів, кожен з яких
містить кілька: вихідне речення і результат
його синтаксичного аналізу.
 Цей результат вводиться людиною.
 Потім, при подачі на вхід речення, що не
входить до списку прикладів, система сама
генерує результат.
 В якості підходу до реалізації такої системи
використовуються ряд способів: нейронні
мережі, дерева виведення, методи пошуку
найближчого сусіда.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Також ще можна зустріти метод
dependency parsing, який з'єднує залежні
один від одного слова між собою
безпосередньо, без будь-яких допоміжних
вузлів.
ОБРОБКА НА РІВНІ РЕЧЕНЬ
 Основна ідея dependency parsing -
з'єднувати між собою залежні слова.
 Центром практично будь-якої фрази є
дієслово.
 Далі від дієслова можна задавати
питання: хто робить, що робить, де
робить і так далі.
 Для приєднаних сутностей теж можна
задати питання (в першу чергу, питання
«який»).
ОБРОБКА НА РІВНІ ТЕКСТУ
 Семантичний аналіз тексту базується на
результатах роботи синтаксичного
аналізу, отримуючи на вході вже не набір
слів, розбитих на речення, а набір дерев,
що відображають синтаксичну структуру
кожного речення.
 У силу того, що методи синтаксичного
аналізу поки мало вивчені, вирішення
цілого ряду завдань семантичної обробки
тексту базуються на результатах аналізу
окремих слів, і замість синтаксичної
структури речення, аналізуються набори
слів, які стоять поруч.
ОБРОБКА НА РІВНІ ТЕКСТУ
 Для семантичного аналізу
використовується тезаурус мови.
 Це орієнтований граф, вузлами якого є
слова в їх основній словоформі.
ОБРОБКА НА РІВНІ ТЕКСТУ
 Дуги задають відношення між словами і можуть мати
наступні окраси:
 Синонімія.
 Антономія.
 Гіпонімія.
 Часто його позначають терміном «включення ». Наприклад,
говорять, що «значення» слова стул «включається» в «значення»
слова меблі.
 Гіперонімія.
 Зворотне відношення до «гіпонемії»
 Екванімія.
 Відношення між словами, пов’язаними відношеннями гіпонемії з
одним і тим же словом
 Омонімія
 Паронімія.
 Пароніми визначають як слова, котрі в якійсь мірі схоже звучать,
але мають різне значення
 Конверсиви
 Це слова, які одну й ту саму подію показують з різних точок зору,
ніби повертаючи її різними сторонами. Наприклад, виграти і
програти
ОБРОБКА НА РІВНІ ТЕКСТУ
 Завдання семантичного аналізу, тобто
«опису сенсу» фрази належить швидше
до області штучного інтелекту.
 Її формалізація означає, що вона не має
формальних засобів опису, наприклад,
мов.
 Отже, семантична модель мови
розробляється в кожному випадку
унікально, тут відсутній загальний підхід,
а має місце набір окремих рішень і
рекомендацій.
 Звідси й унікальність семантики мови.
ОБРОБКА НА РІВНІ ТЕКСТУ
 Недоліки семантичних граматик полягають у
тому, що, по-перше, необхідна розробка
окремої граматики для кожної предметної
області, а по-друге, вони дуже швидко
збільшуються в розмірах.
 Способи виправлення цих недоліків -
використання синтаксичного аналізу перед
семантичним, застосування семантичних
граматик тільки в рамках реляційних баз
даних з абстрагуванням від загальномовних
проблем і комбінація декількох методів
(включаючи власне семантичну граматику).
ОБРОБКА НА РІВНІ ТЕКСТУ
 При роботі над семантичним аналізом не
можна обійтися без втручання людини,
адже дуже важливий етап роботи - зняття
неоднозначності деяких слів, яка часом
неминуча.
 Дякую за увагу.

You might also like