Организация поиска информации

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

p>

 

Точность не подходит для использования в контексте ИП. Во многих случаях данные крайне искажены, например, 99,9% документов являются нерелевантными. В этом случае система, настроенная на максимизацию точности будет почти всегда объявлять каждый документ нерелевантным.

Можно получать высокую полноту (но низкую точность), извлекая все документы для всех запросов. Полнота является неубывающей функцией от количества найденных документов. Точность обычно падает (в хороших системах). Точность может быть вычислена на разных уровнях полноты. Пользователи, ориентированные на высокую точность - веб-серферы, на высокую полноту - профессиональные исследователи, юристы, аналитики.

F-мера является комбинированной мерой, оценивающей компромисс между точностью и полнотой (взвешенное среднее гармоническое):

 

 

При значении ?1 - на полноте.

Обычно используется сбалансированная F-мера, т.е. ?=1 или ?=

 

 

Когда значения двух чисел отличаются, среднее гармоническое ближе к их минимуму, чем среднее арифметическое или геометрическое. Например, если 1 из 10000 документов релевантен, мы можем получать 100% полноты, извлекая все документы. Среднее арифметическое будет 50%, а гармоническое - 0,02%.

Полнота, точность и F-мера являются мерами, основанными на множествах (например, неупорядоченный набор документов). В ранжированных поисковых системах значения P и R связаны с позицией в рейтинге. Оценка производится путем вычисления точности, как функции от полноты. Если (k+1)-ый найденный документ релевантен, то R(k+1) > R(k), а P(k+1) > P(k). Если (k+1)-ый найденный документ нерелевантен, то R(k+1) = R(k), но P(k+1) < P(k). Чтобы удалить колебания, используется интерполированная точность.

 

 

 

Одиннадцатиточечная интерполированная средняя точность (11-point interpolated average precision). Измеряется точность на 11 уровнях полноты {0.0, 0.1, 0.2,…,1.0}, затем рассчитывается среднее арифметическое уровня точности.

Чтобы найти среднее значение средней точности (mean average precision (MAP)), вычисляется средняя точность (AP) для каждого информационного запроса. Затем значение средней точности получается для набора из первых k документов, имеющихся после каждого нахождения релевантного документа. MAP = среднее значение AP множества информационных потребностей.

 

 

- запрос?

- документы, релевантные запросу

- ранжированный набор первых k найденных результатов.

Для одной информационной потребности AP связана с площадью под неинтерполированной кривой точности/полноты. Пример:

 

 

 

Расчет точности для k. Фиксируется k - количество извлекаемых результатов, например k=10. Вычисляется точность для первых k объектов. Достоинство: не требуется множества релевантных документов (полезно для веб-поиска). Недостаток: общее количество релевантных документов сильно влияет на точность для k. Например, если количество релевантных документов равно 8, то точность для 20 будет не более 0,4.

R-точность. Для известного релевантного множества размера Rel вычисляется количество релевантных документов r среди первых Rel результатов поиска. Достоинство: идеальная система достигает R-точность = 1,0. Недостаток: рассматривается только одна точка на кривой точность/полнота.

Операционная характеристика приемника (receiver operating characteristic). ROC-кривая отображает график зависимости доли верно положительных классификаций (чувствительности) от доли ложно положительных классификаций (1 - специфичность).

Доля TP = чувствительность = полнота = TP / (TP + FN)

Доля FP = 1 - специфичность = FP / (FP + TN)

 

 

 

 

4. Реализация векторной модели в среде Matlab

 

Входные данные:

terms - множество терминов;

docs - множество документов;

freq - таблица частот терминов.

Выходные данные:

answer_euc - ранжированный список при использовании евклидовой меры;

answer_cos - ранжированный список при использовании косинусной меры.

 

.1 Функция расчета евклидовой меры

 

function SC = euclideanSM(q,d)= 1/(1+norm(q-d));

 

.2 Функция расчета косинусной меры

SC = cosineSM(q,d)= q*d/(norm(q)*norm(d));

 

.3 Расчет ранжированных списков документов

 

% Расчет весов документов= 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]; % Реализация запроса в случае четырех терминов

% Нормализация векторовj = 1:N

W(:,j) = W(:,j)/norm(W(:,j));

end= 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); % Вывод порядкового номера документа

answer_euc{j,2} = ranked_score_euc(j);

%answer_cos{j,1} = docs{i_cos(j)};_cos{j,1} = i_cos(j);_cos{j,2} = ranked_score_cos(j);

end

% Вывод результатов(Евклидова мера:);

answer_euc(Косинусная мера:);_cos

 

 

5. Реализация оценок качества поиска в среде Matlab

 

.1 Расчет точности, полноты и F-меры в зависимости от числа найденных документов

 

Входные данные:

список ранжированных документов;

relevance - массив, указывающий релевантность каждого документа запросу;

Выходные данные:

precision - массив то?/p>