<<
>>

Лекция 7. Программные средства реализации документальных ИС

• Анализ особенностей документальных ИС

• Поисковые функции ИПС

• Характеристика пакетов прикладных программ для хранения, поиска и обработки текстовой информации

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

Текстовые БД, делятся на три главных типа: библиографические, полнотекстовые и реферативные. В свою очередь, эти типы БД могут включать в себя или обращаться к широкому кругу материалов, таких как: журнальные статьи, книги, аудиовизуальные материалы, корреспонденция, заметки, просто записанная информация. В то время как сферы применения информации и ее состав широко варьируется, существуют общие для всех текстовых БД характеристики, которые позволяют отделить текстовые БД от других типов БД.

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

Использование текстовой информации отличает такие БД от большинства БД для применения в различных информационных службах. Хотя некоторые вычислительные функции также необходимы в программном обеспечении, созданном для текстовых БД, однако мощность информационно-поискового программного обеспечения определяется способностью оперировать строками символов и предлагаемыми специальными поисковыми функциями, работающими с грамматическими структурами.

Текстовые БД обычно более объемны и занимают больше места, чем БД других типов. БД, которые обращаются к определенному текстовому массиву литературы или обеспечивают доступ к полным текстам документов, имеют тенденцию расти из-за того, что новые записи добавляются в массив, а старые продолжают играть важную роль для исследователей.

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

Анализ особенностей документальных ИС

Документальные ИС имеют ряд особенностей, которые необходимо учитывать

при физической реализации ИС в программных средах.

Характеристики полей

Записи в текстовых БД обычно имеют несколько полей, но текстовая информация, содержащаяся в каждом поле, может иметь различную длину. Например, поле "название" в библиографической БД может включать в себя от всего нескольких до несколько сот символов. Аналогично, параграфы в полнотекстовой БД могут поддерживать от одного предложения до нескольких сотен слов. Использование программного обеспечения, которое может работать только с полями фиксированной длины, оборачивается, в таком случае, потерей свободной памяти на жестком диске, так как при этом определяется и фиксируется максимальная длина поля для работы с информацией большого объема.

Многие пакеты прикладных программ с фиксированной длиной полей имеют верхнюю границу длины поля (часто - 255 символов, иногда - короче). Этого верхнего ограничения часто недостаточно для вмещения всей информации, которую необходимо ввести в поле.

Длина и содержание каждого поля обычно широко варьируются от записи к записи, а одни и те же поля представлены в каждой из записей. Поля нужны для стандартного библиографического описания и не подвержены сильным изменениям с тех пор, как разработчик БД их ввел. Такие поля как "автор", "название" и "год публикации" встречаются почти в каждой записи.

Повторяющиеся значения в полях

Одной из характеристик для большинства текстовых БД является потребность в нескольких значениях в данном поле. Количество авторов в библиографическом файле, например, может варьироваться от нуля до нескольких, или количество ингредиентов в рецепте может варьироваться от одного до многих. Практически всегда встречается несколько ключевых слов в соответствующем поле.

Повторяемость значения в полях невозможно предсказать. В поле "автор" в одной записи может быть два автора, а в другой -10. Каждое из значений в таких полях обычно равно по значимости другому, и каждое, в целях обращения к ним, должно восприниматься равнозначно.

Пользователям, для удовлетворения определенных запросов, может потребоваться равнозначный доступ к каждому из ключевых слов в БД. Им не нужно знать, какое из определенных значений стоит первым, вторым или третьим в определенном поле определенной записи.

Системы БД, позволяющие иметь только одно значение на одно поле, заставляют разработчика БД идти на компромиссы, что приводит к расходам дискового пространства и ухудшению результатов выдачи документов на запрос. Можно, например, решить, что библиографические записи должны включать до трех авторов. Если поле может содержать только одно значение, то придется создать три поля:

АВТОР1, АВТОР2 и АВТОРЗ. Это приведет к невозможности работать с записями, которые имеют более трех авторов. Более объективно можно судить об этих

проблемах с точки зрения возможностей выдачи. Чтобы найти записи, в которых Иванов является автором или соавтором, необходимо, при такой организации, проводить поиск по трем полям вместо одного.

Несколько ключей доступа

Так как пользователи обычно ищут неизвестный набор значений, а не выбирают из известных значений, природа процесса выдачи в текстовых БД является сложной. Одним из аспектов этой сложности является количество способов определения записей, необходимых для выдачи. Во многих случаях пользователь не знает, какое количество записей будет найдено для удовлетворения его или ее запроса, и выданные записи обычно имеют несколько уровней удовлетворительности.

Одним из путей повышения качества поиска является поддержка как можно большего количества способов поиска записей, т.е. необходимо позволять проводить поиск по всем полям. Во многих случаях, все или почти все поля обеспечивают доступ к содержимому БД. Более того, доступ к полю может быть обеспечен еще лучше, если запрос будет содержать фрагменты содержимого разного вида (ключевые слова из названий, усеченные имена и т.д.).

Сложные запросы

Сложноорганизованность записей и полей в текстовых БД оправдывается возможной потребностью в формулировке сложных запросов. Собственно, что требуется, так это возможность комбинирования понятий и ключей в их логическом взаимоотношении, и возможность изменения запроса на основе промежуточных результатов. Информационные потребности часто очень сложно сформулировать, и выдаваемая информация может быть разного уровня полезности. С такого рода потребностями поможет справиться логическая гибкость. Для решения подобных вопросов в среде текстовых систем БД были найдены несколько путей получения или выдачи релевантной информации.

Поисковые функции ИПС

Информационно-поисковые системы на микрокомпьютерах обычно предлагают широкий выбор гибких поисковых функций в зависимости от вида индексирования полей. Эти функции включают в себя: усечение (truncation), возможность просмотра на экране файла инвертированных индексов, поиск по словарной близости - корневому родству (proximity searching), с помощью булевых операторов, создание наборов (set building) и пошаговое сужение области поиска (stepwise refinement), поиск по размеру (range searching) и поиск по сравнению (comparison searching), а также возможность заранее определять поля, по которым проводится поиск. Приведенные ниже поисковые функции считаются стандартными и находят применение в работе практически с любой текстовой БД.

Поиск с помощью усечения

Большинство систем позволяют пользователю использовать усечение терминов для поиска всех терминов или фраз, которые начинаются с одного определенного набора букв. Такая функция обычно задается системе с помощью специального символа усечения. Таким образом, помещая символ усечения после набора букв БИБЛИОТЕ пользователь дает системе команду найти входы инвертированных индексов БИБЛИОТЕКА, БИБЛИОТЕЧНЫЙ, БИБЛИОТЕЧНАЯ АВТОМАТИЗАЦИЯ и др. (Символ усечения различен в разных системах, но обычно это символы ?, #, *, и /). В некоторых системах можно найти и другие вариации усечения.

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

Чаще встречается функция определения максимальной длины термина или набора букв (например, для выдачи терминов КОМПЬЮТЕР, КОМПЬЮТЕРА, а не КОМПЬЮТЕРИЗАЦИЯ или КОМПЬЮТЕР -НЫЙ). Вставной символ

неопределенности, иногда называемый internal wildcard character, используется там, где необходима замена символов (например, WOM*N). Некоторые системы поддерживают такой символ неопределенности для замены некоего набора букв в середине слова, например при выражении ПРИВ*ТЬ будут выданы ПРИВЫКАТЬ, ПРИВЫКНУТЬ и любое другое слово, начинающиеся на ПРИВ и заканчивающиеся на ТЬ, например, ПРИВИНТИТЬ.

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

Поиск с помощью просмотра индексов

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

Многие системы при выдаче алфавитного списка индексов для каждого термина дополнительно указывают количество записей, содержащих искомый термин (postings). Это помогает при формировании стратегии поиска.

Некоторые системы позволяют перемещение вверх или вниз по списку, другие требуют от пользователя указать пределы выдаваемого списка (например, от БАБОЧКИ до БУЛОЧКИ, а некоторые

выводят лишь ограниченное количество терминов сверху и снизу указанного термина.

Поиск по словарной близости (proximity searching)

Он является особенно мощной функцией для пословно проиндексированных полей.

Поиск по словарной близости позволяет пользователю посткоординировать фразы из пословно проиндексированных полей, таких как "название" и "реферат". Эта функция становится возможной из-за наличия информации о позициях при каждом из терминов-входов" в файле инвертированных индексов. Эта информация представляет собой указание на поле и положение данного термина в этом поле. Пользователь, например, может сделать запрос на слово БИБЛИОТЕЧНАЯ, после которого сразу же идет слово АВТОМАТИЗАЦИЯ в пословно или смешанно проиндексированном поле. Система, в этом случае, использует информацию о позициях для воссоздания фразы, даже если каждое слово представляет собой отдельный инвертированный индекс- "вход". Функции поиска по словарной близости в каждой системе могут быть разными.

Поиск с помощью булевых логических операторов

Одним из способов удовлетворения сложных запросов является использование булевых логических операторов AND, OR и NOT. Они являются эквивалентами пересечения, объединения и исключения. Эти три оператора в той или иной форме можно найти практически во всех информационно-поисковых системах. С помощью оператора AND поиск сужается организацией набора, чьи элементы являются общими для обоих наборов искомых компонентов. Например, выражение ПРИНТЕР AND ДИСПЛЕЙ будет выполняться с набором документов, содержащим термин ПРИНТЕР и другим набором, содержащим термин ДИСПЛЕЙ. В результате будут выданы записи, каждая из которых содержит и термин ПРИНТЕР, и термин ДИСПЛЕЙ. Записи, содержащие только термин ПРИНТЕР, выданы не будут, так же, как и записи, содержащие только термин ДИСПЛЕЙ.

Напротив, при формулировании выражения ПРИНТЕР OR ДИСПЛЕЙ будут выданы документы, содержащие хотя бы один из указанных терминов.

В случае, если выражение сформулировано как ПРИНТЕР NOT ДИСПЛЕЙ, будут выданы документы, содержащие термин ПРИНТЕР, и притом только те из них, в которых не содержится термин ДИСПЛЕЙ.

Используя логические операторы в сложных сочетаниях, необходимо учитывать, что существует общий порядок предпочтения (организации их выполнения), где сначала выполняется оператор NOT, затем - AND, а потом - OR. Например, в выражении ДИСПЛЕЙ OR ПРИНТЕР NOT ЛАЗЕРНЫЙ AND CANON сначала будет сформирован набор документов о нелазерных принтерах, затем - набор документов, где говорится о нелазерных принтерах, выпускаемых фирмой CANON, а в результате будут выданы записи о нелазерных принтерах , выпускаемых фирмой CANON и всех дисплеях.

Большинство систем также поддерживают возможность сложного

комбинирования булевых операторов подобно выполнению арифметических операций со скобками. При этом, сначала выполняются операции внутри скобок, а затем - между скобками. Таким образом, при обработке выражения (ДИСПЛЕЙ OR ПРИНТЕР) AND (CANON OR SUMSUNG) сначала будут сформированы: отдельно набор документов, содержащих информацию о принтерах или дисплеях и отдельно набор документов, содержащих информацию о фирмах, а затем - с этими двумя наборами документов будет произведена операция AND, т.е. в результате будет выдан набор документов, содержащих информацию только о тех принтерах или дисплеях, которые были выпущены фирмами CANON или SUMSUNG.

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

- очень трудно определить насколько будет варьироваться "глубина" поиска для выдачи большего или меньшего количества информации;

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

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

Поиск с помощью создания наборов и пошагового сужения области поиска

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

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

Система, не поддерживающая сложное комбинирование или группировку булевых операторов, запрос о принтерах, дисплеях и фирмах может выполнить пошагово следующим образом:

ПРИНТЕР OR ДИСПЛЕЙ ->НАБОР1,

CANON OR SUMSUNG ->НАБОР2 , НАБОР1 AND НАБОР2 ->НАБОРЗ

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

ПРИНТЕР -> НАБОР1

ДИСПЛЕЙ ->НАБОР2

CANON ->НАБОРЗ

SUMSUNG ->НАБОР4

НАБОР1 OR НАБОР2 ->НАБОР5

НАБОР1 OR НАБОР2 ->НАБОР6

НАБОР5 AND НАБОР6 ->НАБОР7

Операторы сравнения

Большинство полей содержат значения, которые могут быть организованы в том или ином порядке, например, по алфавиту или начиная с большего номера и кончая меньшим. Это является основой для инвертированного индексирования. Давая команду, можно составить запрос, основанный на такой организации. Подобные запросы можно осуществить с помощью логических операторов сравнения.

Стандартным является следующий набор таких операторов: =, , =, , что означает: равно, меньше, больше, меньше или равно, больше или равно, не равно. Некоторые системы используют другое обозначение: EQ, LT, GT, LE, GE, NE. Операторы сравнения часто используются при работе с цифровыми полями, такими, как "год публикации".

Пользователю может потребоваться выдача только "свежих" документов и он может сделать запрос: YR>1990; или, например, в файле, содержащем информацию о заработной плате, может потребоваться найти всех сотрудников, зарабатывающих больше (или меньше) определенной суммы. Таким же образом может потребоваться найти всех людей, информация о которых хранится в данном файле, возраст которых от 25 до 35 лет. Это может быть сделано путем сочетания логических операторов сравнения с булевым оператором AND: AGE >= 25 AND AGE

<< | >>
Источник: Автоматизированные информационно-управляющие системы. Лекции.

Еще по теме Лекция 7. Программные средства реализации документальных ИС:

  1. ЛЕКЦИЯ № 7. Финансовый контроль
  2. Возникновение и развитие открытых лицензий в праве интеллектуальной собственности