(k +1)-ий знайдений документ релевантний, то R (k +1)> R (k), а P (k +1)> P (k). Якщо (k +1)-ий знайдений документ нерелевантен, то R (k +1) = R (k), але P (k +1)
В В
Малюнок 3. Приклад графіка залежності точності від повноти. Червоним кольором позначено графік інтерпольованої точності. br/>
Одіннадцатіточечная інтерпольованого середня точність (11-point interpolated average precision). Вимірюється точність на 11 рівнях повноти {0.0, 0.1, 0.2, ..., 1.0}, потім розраховується середнє арифметичне рівня точності. p align="justify"> Щоб знайти середнє значення середньої точності (mean average precision (MAP)), обчислюється середня точність (AP) для кожного інформаційного запиту. Потім значення середньої точності виходить для набору з перших k документів, наявних після кожного знаходження релевантного документа. MAP = середнє значення AP безлічі інформаційних потреб. <В
- запит?
- документи, релевантні запиту
- ранжований набір перших k знайдених результатів.
Для однієї інформаційної потреби AP пов'язана з площею під неінтерполірованной кривої точності/повноти. Приклад:
В
В
Розрахунок точності для k. Фіксується k - кількість видобутих результатів, наприклад k = 10. Обчислюється точність для перших k об'єктів. Гідність: не потрібен безлічі релевантних документів (корисно для веб-пошуку). Недолік: загальна кількість релевантних документів сильно впливає на точність для k. Наприклад, якщо кількість релевантних документів дорівнює 8, то точність для 20 буде не більше 0,4. p align="justify"> R-точність. Для відомого релевантного безлічі розміру Rel обчислюється кількість релевантних документів r серед перших Rel результатів пошуку. Гідність: ідеальна система досягає R-точність = 1,0. Недолік: розглядається тільки одна точка на кривій точність/повнота. p align="justify"> Операційна характеристика приймача (receiver operating characteristic). ROC-крива відображає графік залежності частки вірно позитивних класифікацій (чутливості) від частки хибно позитивних класифікацій (1 - специфічність). br/>
Частка TP = чутливість = повнота = TP/(TP + FN)
Частка FP = 1 - специфічність = FP/(FP + TN)
В
Малюнок 4. Приклад графіка ROC-кривої. br/>
Реалізація векторної моделі в середовищі Matlab
Вхідні дані:
-terms - безліч термінів;
docs - безліч документів;
freq - таблиця частот термінів.
Вихідні дані:
В· answer_euc - ранжований список при використанні евклідової заходи;
В· answer_cos - ранжований список при використанні косинусної заходи.
Функція розрахунку евклідової заходи
function SC = euclideanSM (q, d)
= 1/(1 + norm (q-d));
Функція розрахунку косинусної заходи
function SC = cosineSM (q, d) = q '* d/(norm (q) * norm (d));
Розрахунок ранжируваних списків документів
% Розрахунок ваг документів
= size (docs, 1);% Кількість документів = size (terms, 1);% Кількість термінів
% Частота термінів у документах
= 1 + log (freq);
tf (freq == 0) = 0; = zeros (M, 1); i = 1: M (i) = sum (freq (i, :)> 0); = log (N./df); = zeros (M, N); i = 1: Mj = 1: N (i, j) = tf (i, j) * idf (i);
end
% Запит
q = [1, 0, 0; 1];% Реалізація запиту у разі чотирьох термінів
% Нормалізація векторів
for j = 1: N (:, j) = W (:, j)/norm (W (:, j)); = q/norm (q); _euc = zeros (1 , N); _cos = zeros (1, N); j = 1: N_euc (j) = euclideanSM (q, W (:, j)); _cos (j) = cosineSM (q, W (:, j)) ;
% Обчислення ранжированного переліку документів
[ranked_score_euc, i_euc] = sort (score_euc, 'descend');
[ranked_score_cos, i_cos] = sort (score_cos, 'descend');
% Розрахунки для виведення результатов_euc = cell (N, 2);
answer_cos = cell (N, 2); j = 1: N
% answer_euc {j, 1} = docs {i_euc (j)};% Висновок назви документа_euc {j, 1} = i_euc (j);% Висновок порядкового...