1. Вопросы моделирования
2. Классификация документов
3. Фильтрация документов
4. Кластеризация документов
5. Проектирование структур поисковых систем и пользовательских
интерфейсов
6. Языки запросов
7. Методы оценки полноты и точности информационного поиска
Информацио́нный по́иск (англ. information retrieval) — процесс поиска
неструктурированной документальной информации, удовлетворяющей
информационные потребности, и наука об этом поиске.
Термин «информационный поиск» был впервые введён Кельвином Муэрсом
в 1948 в его докторской диссертации, опубликован и употребляется в
литературе с 1950.
Сначала системы автоматизированного ИП, или информационно-поисковые
системы (ИПС), использовались лишь для поиска научной информации и
литературы. Многие университеты и публичные библиотеки стали
использовать ИПС для обеспечения доступа к книгам, журналам и другим
документам. Широкое распространение ИПС получили с появлением сети
Интернет и развитием Всемирной паутины. У русскоязычных пользователей
наибольшей популярностью пользуются поисковые системы Яндекс, Google.
Поиск информации представляет собой процесс выявления в некотором
множестве документов (текстов) всех тех, которые посвящены указанной
теме (предмету), удовлетворяют заранее определенному условию поиска
(запросу) или содержат необходимые (соответствующие информационной
потребности) факты, сведения, данные.
Процесс поиска включает последовательность операций, направленных на
сбор, обработку и предоставление информации. В общем случае поиск
информации состоит из четырех этапов:
определение (уточнение) информационной потребности и формулировка
информационного запроса;
определение совокупности возможных держателей информационных
массивов (источников);
извлечение информации из выявленных информационных массивов;
ознакомление с полученной информацией и оценка результатов поиска.
Полнотекстовый поиск — поиск по всему содержимому документа. Пример
полнотекстового поиска — любой интернет-поисковик, например
www.yandex.ru, www.google.com. Как правило, полнотекстовый поиск для
ускорения поиска использует предварительно построенные индексы.
Наиболее распространенной технологией для индексов полнотекстового
поиска являются инвертированные индексы.
Поиск по метаданным — это поиск по неким атрибутам документа,
поддерживаемым системой — название документа, дата создания, размер,
автор и т. д. Пример поиска по реквизитам — диалог поиска в файловой
системе (например, MS Windows).
Поиск изображений — поиск по содержанию изображения. Поисковая
система распознает содержание фотографии (загружена пользователем или
добавлен URL изображения). В результатах поиска пользователь получает
похожие изображения. Так работают поисковые системы: Polar Rose,
Picollator и др.
Адресный поиск
Процесс поиска документов по чисто формальным признакам, указанным в
запросе.
Для осуществления нужны следующие условия:
Наличие у документа точного адреса
Обеспечение строгого порядка расположения документов в запоминающем
устройстве или в хранилище системы.
Адресами документов могут выступать адреса веб-серверов и веб-страниц и
элементы библиографической записи, и адреса хранения документов в
хранилище.
Семантический поиск
Процесс поиска документов по их содержанию.
Условия:
Перевод содержания документов и запросов с естественного языка на
информационно-поисковый язык и составление поисковых образов
документа и запроса.
Составление поискового описания, в котором указывается дополнительное
условие поиска.
Принципиальная разница между адресным и семантическим поисками
состоит в том, что при адресном поиске документ рассматривается как
объект с точки зрения формы, а при семантическом поиске — с точки зрения
содержания.
При семантическом поиске находится множество документов без указания
адресов.
В этом принципиальное отличие каталогов и картотек.
Библиотека — собрание библиографических записей без указания адресов.
Документальный поиск
Процесс поиска в хранилище информационно-поисковой системы первичных
документов или в базе данных вторичных документов, соответствующих
запросу пользователя.
Два вида документального поиска:
Библиотечный, направленный на нахождение первичных документов.
Библиографический, направленный на нахождение сведений о документах,
представленных в виде библиографических записей.
Архивный поиск
Фактографический поиск
Процесс поиска фактов, соответствующих информационному запросу.
К фактографическим данным относятся сведения, извлеченные из
документов, как первичных, так и вторичных и получаемые непосредственно
из источников их возникновения.
Различают два вида:
Документально-фактографический, заключается в поиске в документах
фрагментов текста, содержащих факты.
Фактологический (описание фактов), предполагающий создание новых
фактографических описаний в процессе поиска путём логической
переработки найденной фактографической информации.
Основные признаки классификации по информационной составляющей
документа - содержание документа; степень обобщения информации; тип
знаков, использованных для записи информации; предназначенность для
восприятия информации человеком; канал восприятия знаков,
использованных для записи содержания; степень распространенности
информации; способ записи информации и т.д.
а) Классификация документов по содержанию. Классификации, в основу
которых положен признак содержания (смысла) документа, называют
семантическими. В них производится деление на виды и подвиды в
соответствии с признаком содержания документа по отраслям знаний, темам,
предметам, проблемам. Классификация документов по содержанию
осуществляется в практической деятельности с помощью рубрикаторов,
классификаторов, классификационных таблиц и т.д. Тематика, предмет, а
также основные смысловые аспекты могут быть описаны при помощи
лексических единиц (ключевых слов, дескрипторов), которые также могут
служить основой для построения классификации документов.
Семантические классификации документов имеют большое практическое
значение в подразделениях документно-коммуникационной сферы и потому
являются наиболее разработанными. К ним относятся пять вариантов
Библиотечно-библиографической классификации (ББК), Универсальная
десятичная классификация (УДК), Десятичная классификация Дьюи, Единая
классификация литературы для книгоиздания и другие. Существуют
содержательные классификации и для отдельных видов документов:
например, классификатор государственных стандартов, Международная
классификация изобретений. На этих классификациях основана организация
большинства информационно-поисковых систем и документных массивов.
б) Классификация документов по уровню обобщения информации. По
уровню обобщения информации документы делят на первичные и вторичные
Первичный документ содержит информацию, которая является изложением
(описанием) результатов изучения, исследования, разработок и т.д. и
оригинальна по своему характеру. Такой документ представляет собой
результат непосредственного отражения научной, производственной,
управленческой, творческой и другой деятельности (официальный, научный,
учебный, справочный, рекламный, литературно-художественный и т.д.). Его
задача состоит в обеспечении общества первичной информацией.
Вторичный документ является результатом аналитико-синтетической
переработки одного или нескольких первичных документов. Вторичный
документ (иначе - информационный) содержит сведения о первичных
документах, полученные путем их информационного анализа
(библиографический, реферативный, обзорный). Его назначение -
обеспечение общества вторичной информацией.
Фильтрация документов — одна из задач информационного поиска. Целью
данной задачи, как и в задаче классификации, является разбиение множества
документов на категории. Однако этих категорий всего две: документы,
удовлетворяющие заданному критерию, и не удовлетворяющие ему.
Одной из наиболее важных частных случаев является задача тематической
фильтрации документов, то есть автоматического определения документов,
соответствующих заданной тематике, за счет отсева прочих документов.
Кластеризация документов – одна из важнейших задач информационного
поиска. Целью кластеризации является автоматическое выявление групп
семантически похожих документов среди заданного множества документов.
Следует отметить, что группы формируются на основе попарной схожести
описаний документов и никакие характеристики этих групп не задаются
заранее, в отличие от классификации документов, где категории задаются
заранее. Объектами кластеризации являются текстовые документы.
Каждый документ состоит из набора слов или словосочетаний, из которого
можно выделить множество ключевых слов, представляющее документ.
Каждое ключевое слово является элементарным признаком. Множество
ключевых слов составляет пространство. В свою очередь, множество
документов – это множество векторов этого пространства. Координатами
вектора являются величины значимости (вес) каждого ключевого слова,
рассчитанные для данного документа.
Обзор существующих подходов к кластеризации. Большинство
существующих информационно-поисковых систем, использующих
кластеризацию текстовых документов, рассматривает проблему
кластеризации на ограниченной коллекции документов. Наиболее
популярным подходом в последнее время стал STC (Suffix Tree Clustering),
используемый, например, в поисковых системах nigma.ru, vivisimo.com для
группировки результатов поиска. Кластеры образуются в узлах суффиксного
дерева, которое строится из слов и фраз входных документов. STC обладает
высокой скоростью работы, пропорциональной количеству документов O(n).
К недостаткам метода кластеризации с помощью суффиксных деревьев
можно отнести то, что для него важен порядок слов в документе, к тому же
метод способен работать только на ограниченной коллекции документов.
Среди классических методов кластеризации можно выделить метод K-means
(K-средних).В его основе лежит итеративный процесс стабилизирования
центроидов кластеров. Центроид вычисляется как усредненный вектор от
всех элементов кластера. Вычислительная сложность K-means – O(knT), где n
– число документов, k – число кластеров, T – количество итераций. Для
достижения хорошего качества кластеризации T может быть достаточно
большим.
Среди методов, работающих с большими базами данных, можно выделить
DBSCAN. В методе применяется алгоритм, использующий. Плотность
расположения объектов кластеризации. В алгоритме задействованы два
параметра: Eps – радиус окрестности вокруг объекта и MinPts – минимальное
количество объектов в кластере. Для того чтобы построить кластер, DBSCAN
стартует с некоторого объекта и извлекает все объекты, которые
расположены на расстоянии не больше чем Eps, далее по аналогии
рекурсивно обрабатываются все попавшие в окрестность объекты.
Вычислительная сложность DBSCAN O(n2).
Иерархическая кластеризация по областям. Для выполнения текстовой
кластеризации в данной работе предлагается подход с использованием
алгоритма ИКО. Алгоритм ИКО строит иерархическое дерево областей,
состоящих из документов коллекции. Характеристики областей вычисляются
во время работы алгоритма. Итоговыми кластерами являются узлы дерева
областей.
Рассмотрим основные понятия представляемого подхода. Введем понятие
значащей области. Значащая область – это область человеческой
деятельности, искусства, науки, человеческих интересов, увлечений, которая
имеет отношение к сделанному пользователем запросу, формально содержит
запрашиваемую им информацию. Как известно, области знаний взаи-
мосвязаны. Взаимосвязь значащих областей можно представить в виде
иерархического дерева.
Объекты, расположенные в узле иерархического дерева, являются наиболее
близкими друг к другу. Буквами A, B, C, D, E, F, G, H обозначены значащие
области дерева, в каждую из которых попали наиболее близкие друг к другу
документы. Перечислим характеристики значащей области:
1) Область описывают ключевые слова. Каждое ключевое слово имеет вес.
Множество ключевых слов области состоит из ключевых слов документов,
входящих в область.
2) К области принадлежат определенные документы.
3) Каждая область является узлом дерева и
может иметь не более чем заданное число элементов. Обозначим его KMax.
4) Каждая область имеет не более чем заданное число потомков.
Интерфейс пользователя - эта та часть программы, которая находится у всех
на виду. Интерфейс имеет важное значение для любой программной системы
и является неотъемлемой ее составляющей, ориентированной на конечного
пользователя. Именно через интерфейс пользователь судит о прикладной
программе в целом; более того, часто решение об использовании прикладной
программы пользователь принимает по тому, насколько ему удобен и
понятен пользовательский интерфейс.
Для создания интерфейса, который делал бы работу с программой приятной,
разработчику нужно понимать, какие задачи будут решать пользователи с
помощью данной программы. Выделяют общие принципы проектирования
пользовательских интерфейсов:
1. Программа должна помогать выполнить задачу, а не становиться этой
задачей. Интерфейс должен быть легким для освоения и не создавать перед
пользователем преграду, которую он должен будет преодолеть, чтобы
приступить к работе.
2. При работе с программой пользователь не должен ощущать себя дураком.
Не нужно давать разрабатываемой программе слишком большие полномочия
и право указывать пользователю, что именно ему делать. Один из примеров
такого неправильного отношения к пользователю является отказ программы
выполнить вполне естественную с точки зрения пользователя программных
продуктов операцию и вывод диалогового окна, требующего выполнить
какую-то другую последовательность действий. Например, известный
текстовый редактор "Блокнот" из состава Windows95. Если пользователь
открывал эту программу и решал перед началом набора текста дать
создаваемому "Блокнотом" по умолчанию файлу "Untitled" какое-нибудь
имя, выбрав из меню команду Сохранить как, редактор отказывался сделать
это, показывая сообщение: "Вы не ввели какой-либо текст, чтобы его можно
было сохранить. Наберите какой-нибудь текст, а затем попытайтесь
[сохранить его] снова". Другой пример недооценки возможностей
пользователя — вывод информационных сообщений в ситуациях, когда этого
не требуется. Например, для того, чтобы облегчить освоение продукта или
информировать пользователей о полезных функциях программы. Но если
пользователь уже достаточно уверенно чувствует себя при работе с
программой и не нуждается в подсказках, выскакивающих каждую минуту.
Поэтому среди разработчиков программного обеспечения хорошим тоном
считается предоставление пользователю возможности отключить вывод
информационных сообщений. Это позволяет сохранить легкость освоения
продукта для начинающих пользователей и добиться того, чтобы
информационные сообщения не вызывали у опытных пользователей
раздражения.
3. Программа должна работать так, чтобы пользователь не считал компьютер
дураком. Программа не должна прерывать работу пользователя глупыми
вопросами и выводить на экран бессмысленные сообщения, повергая его в
недоумение в самых простых ситуациях. Например, вопрос о подтверждении
изменений в базе данных при уходе пользователя из карточки студента будет
лишним, если пользователь не изменял данные студента.
Формы - это строительные блоки интерфейса пользователя. Особый вид
форм - формы, предназначенные для ввода данных. В форме ввода данных
необходимо максимально использовать свободное пространство, поскольку
открытие и закрытие дополнительных форм существенно замедляет работу.
При разработке форм ввода данных следует придерживаться следующих
правил:
· Всегда назначайте клавиатурные эквиваленты команд.
· Расположение элементов должно быть согласовано с задачами
пользователя. Не заставляйте пользователя перепрыгивать из раздела в
раздел, при вводе информации это совсем не обязательно. Если пользователь
собирается ввести около 1000 записей, то необходимо расположить на форме
кнопку подтверждения ввода данных, а не подтверждать их ввод после
каждой записи.
· Не заставляйте пользователя выполнять лишнюю работу. Например,
если информация, содержащаяся в полях со 2-го по 10-е, необходима только,
когда первое поле имеет определенное значение, не нужно заставлять
пользователя заполнять все поля подряд.
· Используйте заметную, но ненавязчивую обратную связь с
пользователем. Например, всплывающая подсказка на кнопках или
окрашивание полей в красный цвет, если они заполнены некорректно или
если они должны быть заполнены в обязательном порядке.
· Если возможно, выполняйте добавление и редактирование записей в
одной и той же форме, тогда пользователю не придется осваивать несколько
методов доступа к одним и тем же данным.
Если в программе присутствует несколько форм, необходимо определиться с
видом интерфейса:
· однодокументный (SDI). Однодокументный интерфейс - это тип
интерфейса, в котором предоставляется возможность работы только с одним
документом в одном окне. Для работы с несколькими документами в таком
интерфейсе необходимо многократно запускать приложение. Для каждого
типа данных и документов требуется своя форма и, соответственно, свое
приложение с интерфейсом типа SDI.
· многодокументный (MDI). Главная особенность MDI заключается в
том, что для этого типа интерфейса можно многократно открывать форму
одного вида документа для нескольких разных по содержанию документов
(например, программа Microsoft Word). Для интерфейса такого типа
характерно наличие одного главного окна (MDI-окно), которое обычно
именуется родительским окном, и необходимого для работы количества
подчиненных (вложенных) окон, называемых дочерними. Количество
открытых дочерних окон ограничено лишь возможностями компьютера.
Не зависимо от выбранного вида интерфейса необходимо продумать
сценарий появлений форм на экране так, чтобы у пользователей не было
возможности нарушить предписанные ход выполнения программы
(например, пользователь не может открыть форму редактирования
ведомости, если список доступных для редактирования ведомостей пуст).
Рекомендации по созданию пользовательского интерфейса:
Небольшая палитра инструментов. Логическое развитие правила применения
стандартных элементов: не используйте слишком большое их количество.
Например, если где-то в одном из диалоговых окон программы вы поместили
командную кнопку стандартного вида, то не нужно в другом месте
программы использовать кнопку, отличающуюся от нее по оформлению.
Одинаковое расстояние между элементами управления. Элементы
управления на форме приложения располагаются на разном расстоянии
между ними.
TabOrder. "Правильный" порядок. TabOrder — это порядок, в котором
экранный курсор перемещается по элементам управления в форме при
нажатии клавиши <Таb> на клавиатуре компьютера. На стадии разработки
программы, при размещении элементов управления на форме, TabOrder
эквивалентен тому порядку, в котором создаются эти элементы. Однако в
процессе проектирования программы автор многократно меняет
расположение элементов на форме, какие-то из них удаляет, добавляет новые
компоненты. В результате почти всегда оказывается, что TabOrder не
соответствует тому порядку, в котором визуально расположены элементы, и
при нажатии клавиши <Таb> курсор хаотично скачет по экрану вместо
последовательного перемещения по компонентам.
Выбор шрифтов. Не стоит выбирать никаких шрифтов. Оставьте их такими,
какими они определены по умолчанию. В этом случае смена пользователем
стандартных шрифтов Windows по своему вкусу с помощью Панели
управления отразится и на внешнем виде вашей программы. Таким образом,
пользователь, запустив ваш продукт, окажется в знакомом ему окружении.
Выбор цветов. При создании интерфейса забудьте о свойстве Цвет (Color)
элементов управления. Оставьте цвета стандартными, и пусть ваша
программа выглядит так, как этого хочет ее пользователь. Если вы хотите
указать цвета в своей программе, то это может послужить причиной
возникновения одного неприятного эффекта. Так как с помощью Панели
управления можно легко изменить цветовую гамму Windows. Жестко
фиксируя в своей программе выбранные цвета, автор не учитывает, что его
программа выглядит хорошо только до тех пор, пока она работает на
компьютере с такой же цветовой гаммой, как и на компьютере разработчика.
Если же ее запускают в системе с другим цветовым оформлением, то
результат может выглядеть, мягко говоря, не очень хорошо. Для
предотвращения таких досадных ошибок в процессе разработки программы
нужно время от времени переключаться на другие цветовые "схемы"
Windows.