Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Голицына Информационные системы 2004.pdf
Скачиваний:
323
Добавлен:
16.08.2013
Размер:
5.01 Mб
Скачать

терминов (ключевых слов) для отбора документов, содержащих эти ключевые слова [Озкарахан1989]. Условие частичного совпадения можно задать, используя в терминах поискового образа так называемый несущественный символ – символ маскирования (обычно для этого используется знаки «*», «?» и «%»). Такие символы могут начинать термин, заканчивать его или находиться в середине, причем их может быть фиксированное или переменное число.

Формирование ПОЗа – это выбор из матрицы L0 строк, соответствующих терминам, указанным в запросе. При этом, если некоторый термин не найден в словаре D, ему ставится в соответствие строка, состоящая из одних нулей (нулевая строка). Таким образом, для k терминов получаем подматрицу запроса (Lq), в которой отдельные строки могут быть нулевыми:

Λ Λ Λ Λ Λbi11bi1 2 Λ bi1n0Λ Λ Λ Λ Λ

Lq = bi21bi2 2 Λ bi2n0 Λ Λ Λ Λ Λ

bik 1bik 2 Λ bik n0Λ Λ Λ Λ Λ

Построим результирующий вектор запроса:

k

k

k

 

(4.7)

Q = bil 1

bil 2 Λ bil n0

 

l=1

l=1

l=1

 

 

Окончательный поисковый результат далее может быть сформирован по двум правилам: документ считается формально релевантным запросу, если содержит все k терминов, или документ считается формально релевантным запросу, если содержит хотя бы часть (один, два, три и т.д.) из k терминов.

При реализации первого правила получаем:

 

 

k

Qk = (q1q2 Λ qn

1, еслиbili = k

), гдеqi =

l=1

 

0

 

0 - впротивномслучае

Для реализации второго правила зададим порог m, определяющий минимальное количество терминов (из k терминов запроса, m k ), необходимое для отнесения документа к множеству формально релевантных запросу:

 

 

k

Qk = (q1q2 Λ qn

1,еслиbili m

),гдеqi =

l=1

 

0

 

0 - впротивномслучае

4.3.3. Модель механизма поиска по логическому выражению

110

Логическое выражение поискового условия – это синтаксическая конструкция языка, задающая порядок и способ вычисления величины, принимающей значение «0» или «1» («истина» или «ложь»).

В соответствии с правилами выражение представляет собой последовательность операндов, соединенных друг с другом знаками операций. Некоторые фрагменты выражения могут быть заключены в круглые скобки.

Нотация Бэкуса для такого выражения следующая:

<Выражение> ::= <Операнд> <Выражение><Операция><Операнд> <Операнд><Операция><Выражение> (<Выражение>)<Операция><Операнд>

<Операнд><Операция>(<Выражение>)

Вкачестве операнда в поисковом выражении обычно выступают термины (дескрипторы), а в качестве операции – одна из логических операций AND (И), OR (ИЛИ), XOR (ИСКЛЮЧАЮЩЕЕ ИЛИ) и NOT (НЕ).

Первый этап вычисления логического выражения может состоять

впостроении двоичного дерева операций. Исходя из того, что все логические операции (кроме операции НЕ, которая, по существу, представляет собой инверсию исходного значения) являются бинарными, можно представить любое логическое выражение запроса в виде несбалансированного двоичного дерева, прохождение по которому снизу вверх приводит к получению результата.

Вузлах такого дерева (рис.4.4), включая корневую вершину,

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

запроса (ti = (bij , j =1, n0 )).

ok

 

 

ok-1

 

ok-2

 

 

 

 

 

 

o1

 

oi k

 

 

 

 

 

 

t1

t2

 

 

 

tl

tk

 

 

 

 

 

 

 

 

 

 

 

 

 

 

oj k

 

 

 

 

 

tm

 

tn

 

 

 

 

 

 

 

111

Рис. 4.4. Дерево структурных единиц запроса

Например, логическому выражению: t1 t2 t3 t4 , где ti – термины запроса, соответствует двоичное дерево, приведенное на рис. 4.5.

٧

٨٨

t1

t2

t3

t4

Рис. 4.5. Дерево логического выражения t1 t2 t3 t4

Будем далее называть операндом запроса отдельно вычисляемое выражение, соответствующее поддереву запроса.

Рассмотрим расширенную матрицу «термин-документ» L0, строки

которой могут представлять собой не только показатели встречаемости терминов в документах информационного массива, но и результирующие векторы запросов (Qi)

 

 

bb

Κ b

 

 

 

 

 

11

12

 

1n0

 

 

 

L0

bb

Κ b

 

, где D′ = D + K ,

(4.8)

= 21

22

 

2n0

 

 

 

Λ Λ Λ Λ Λ

 

 

 

 

 

b

b

Κ b

 

 

 

 

 

D 1

D 2

D n0

 

 

 

K – количество включенных в матрицу результирующих векторов запросов,

b , еслистрока принадлежитматрице L

аbij′ = q , еслистрока представляетсобойрезультатзапроса

ijij 0

Далее, поставим в соответствие каждой логической операции правило ее выполнения с использованием расширенной матрицы:

′ ′

′ ′

 

 

(4.9)

 

bi ok bm

= (bij ok bmj , j =1,n0 ),

где ok

из множества бинарных логических операций:

ok O,O = {o1 ,o2 ,...,os }

(4.10)

Для унарной операции NOT это правило реализуется следующим образом:

¬bi′ = (¬bij, j =

 

)

(4.11)

1, n0

Тогда алгоритм разрешения двоичного дерева поискового запроса состоит в последовательном выполнении снизу вверх логических операций и в пополнении на каждом шаге матрицы L0 очередной строкой-результатом.

112

Условием выполнения k-той операции служит наличие в матрице L0строк, соответствующих правому и левому операнду. После

выполнения k-той операции

формируется результирующий вектор

′ ′

 

+1)-й строкой матрицы.

qk = bi ok bm , который становится ( D

 

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

В этом случае поисковый алгоритм может рассматриваться как последовательное выполнение двух задач:

1)замена в поисковом запросе контекстных операций на логическую операцию AND, построение дерева запроса и выполнение алгоритма, описанного выше;

2)реализация на полученном в результате множестве документов контекстных операций путем непосредственного сканирования документов и вычисления координат терминов.

4.3.4. Модели механизмов поиска по сходству

Работа ИПС основана на использовании дескрипторов, которые лишь приблизительно описывают тематическое содержание документов и запросов. Поэтому обычно выдача в ответ на тематический запрос не бывает полной и точной.

Кроме того, широко распространенный поиск с использованием булевой логики имеет ряд недостатков. Наиболее существенный из них - плохая усваиваемость многими пользователями семантики булевых операторов и синтаксиса выражений. Поэтому ИПС, основное назначение которых – поиск релевантной информации с использованием тематических дескрипторов, для повышения эффективности поисковых процессов предлагают технологию обратной связи, типичная реализация которой, например, следующая [Robertson1986]:

-пользователь формирует список терминов для поиска, в результате которого выдается набор документов;

-документы в выдаче упорядочиваются в соответствии с некоторым алгоритмом взвешивания и ранжирования;

-пользователь просматривает выдачу, отмечая релевантные документы;

113