Модель адаптивной фасетной навигации в открытых электронных коллекциях © Чочиа А.П., Соловьев И.В., Обухова О.Л., Бирюкова Т.К., Гершкович М.М. 1 Введение Характерной особенностью современного Интернета является социальная открытость. Популярность блогов и различных коллективно ведущихся порталов, справочников и энциклопедий привела к тому, что создание контента доступно фактически любому пользователю. Следует отметить, что процесс формирования таких ресурсов носит спонтанный характер, и проблема структуризации всей информации, организации навигации и поиска в таких ресурсах является весьма актуальной. Авторы данной статьи поставили перед собой задачу решения этой проблемы для специального вида электронных коллекций - открытых коллекций, состоящих из независимых объектов, полностью определяемых своими атрибутами. Процесс формирования таких электронных коллекций носит стохастический характер. С другой стороны, посетители для доступа к объектам коллекции предпочитают навигационную схему, отражающую классификационную систему коллекции, которая наиболее точно отвечает их представлениям. Поэтому навигационный инструментарий должен динамически адаптироваться к постоянно изменяющему составу коллекции и выбранному посетителем сценарию доступа к искомому объекту. Для коллекций, состоящих из независимых объектов, определяемых своими атрибутами, авторами была разработана оригинальная формальная модель, определяющая структуру хранения информации в виде фасетной таблицы, а также разработаны методы доступа к элементам коллекции в виде процесса пошагового интерактивного формирования фасетной формулы запроса. 2 Метод динамического построения визуального интерфейса Разрабатывая технологию поиска объектов коллекции, названную нами фасетной навигацией, мы придерживались принципа преемственности с традиционными способами доступа к информационным объектам коллекций, которыми являются поиск и навигация. Навигация. Построение навигационной схемы связано с классификацией объектов коллекции. Дерево навигации представляет собой рубрикатор соответствующей классификации. При удачном разбиении на рубрики минимизируется число шагов для доступа к объектам. Но на практике принятие решения о том, какая именно классификационная система будет реализована для конкретного ресурса, носит, как правило, субъективный характер и 1 отражает предпочтения разработчиков данного ресурса. В реальной жизни количество вариантов, интересных для разных пользователей, весьма велико. Поиск. Поиск, в том виде, в котором он представлен в большинстве функционирующих коллекций, по сути, реализует принцип фасетной классификации. Фасетная система классификации [1], в отличие от иерархической, позволяет выбирать признаки классификации независимо друг от друга. Признаки классификации называются фасетами (они соответствую «атрибутам» в терминах информационно - поисковых языков). Как правило, в существующих коллекциях каждый фасетный признак определяется строкой или выбором из списка значений («комбо-боксом»). Учитывая, что наличные объекты отнюдь не обязаны покрывать всевозможные сочетания значений классификационных признаков, типичным ответом на запрос пользователя будет: «К сожалению, объекта, удовлетворяющего вашему запросу, не найдено. Попробуйте, пожалуйста, поискать еще раз, изменив параметры». Такой ответ не несет позитивной информации и не дает подсказки, что, собственно, надо делать дальше. Ранее авторами был предложен метод динамической фасетной классификации объектов в открытых электронных коллекциях [2]. Каждый объект определяется «фасетной формулой объекта», представленной в виде множества пар: фасетный признак – его значение для данного объекта. Фасетная таблица, содержащая фасетные формулы для всех объектов коллекции, представляет данные для всех возможных вариантов их классификации. Авторами была разработана модель фасетной навигации [3], определяющая навигацию как итеративный процесс построения «фасетной формулы запроса». На каждом шаге пользователь уточняет фасетную формулу запроса, выбирая фасеты и их значения. Задача навигационного инструментария - обеспечить, чтобы формируемому запросу соответствовала непустая выборка объектов. Один и тот же пользователь в разных случаях, а, тем более, различные пользователи предпочтут различные траектории выбора фасетов, что соответствует всевозможным вариантам классификационных схем. Введем определения понятий «Фасетная формула объекта» и «Фасетная формула запроса». Пусть G g i i 1,...k- коллекция информационный объект; информационных объектов, где gi (G) j (G) j 1,... l - множество фасетов на G. При рассмотрении конкретной коллекции G будем обозначать: j (G ) j . 2 - j j1 ,... jm - множество допустимых значений фасета j . Каждому объекту gi в коллекции G ставится в соответствие множество ( g i ) j ( g i ) j 1,... l, где j ( g i ) - значение фасета j для объекта gi : j ( g i ) , (если значение j ( g i ) не задано, то j ( g i ) ). j Фасетная формула FF(gi) объекта gi представляет собой множество пар: {<фасет; значение фасета для объекта gi >} для тех фасетов, значения которых заданы для объекта gi: FF g i j , j ( g i ) j (G), j ( g i ) j j j {1,...l}, j ( g i ) . Фасетная таблица содержит фасетные формулы для всех объектов коллекции: FT (G) FF ( g i ) | g i G, i 1,...k j , j j 1,... l - множество фасетов с их допустимыми значениями на объектах коллекции G. Для формирования результирующего запроса с целью получения искомой выборки объектов RG G необходимо в процессе пошагового алгоритма задать значения некоторого подмножества фасетов. Множество допустимых фасетов и множество допустимых значений для каждого фасета на очередном шаге алгоритма определяется актуальным подмножеством объектов коллекции (состоящим из объектов, имеющих выбранные на предыдущих шагах значения фасетов). Определим фасетную формулу запроса {<фасет; значение фасета, формирующее запрос>}: RFF j , Rj как множество пар: j J R , где J R - множество индексов фасетов, значения которых были выбраны (отмечены) в процессе пошагового уточнения фасетной формулы запроса; Rj - значение фасета j , выбранное для формирования запроса в процессе пошагового уточнения фасетной формулы запроса ( Rj ). j Операция выборки (retrieve) формирует подмножество объектов соответствии с фасетной формулой запроса: RG G в RG retrieve( G, RFF ) В предельном случае, если фасетная формула запроса совпадает с фасетной формулой объекта, то объект однозначно определен и попадает в выборку. 3 Но на практике фасетная формула объекта, которая задается владельцем объекта при занесении его в коллекцию, может не совпадать с представлениями пользователя о том, с каким набором фасетов и их значений объект был занесен в коллекцию. Разработанная авторами технология фасетной навигации предоставляет пользователю возможность строить фасетную формулу запроса в форме итеративного процесса с тем, чтобы на каждом шаге получать информацию, анализ которой позволит сделать очередной выбор. На каждом шаге пользователь уточняет фасетную формулу, выбирая значение для очередного (одного) фасета из множества допустимых значений фасета на данном шаге. Такой способ навигации обеспечивает получение на каждом шаге непустого подмножества объектов. Обозначим: J A - множество индексов допустимых («allowable») фасетов на очередном шаге ( J A {1,...l} ). При выполнении указанного алгоритма на каждом шаге J R J A ( J R - множество индексов фасетов, значения которых были отмечены на данном и предыдущих шагах). На 1-м шаге алгоритма выборка соответствует всей коллекции G, допустимые фасеты – всем фасетам коллекции, а фасетная таблица содержит фасетные формулы для всех объектов коллекции, то есть, все фасеты и все их значения для всех объектов коллекции: RG 1 G ; 1 (G ) { 1j j J A } , 1 где J A {1,...l} 1 множество индексов допустимых фасетов на 1-м шаге; FT 1 FT (G) . На 1-м шаге алгоритма пользователь формирует запрос в виде следующей фасетной формулы запроса: RFF 1 j , Rj jJR 1 - множество, состоящее на 1-м шаге из одной пары: <фасет, отмеченное значение фасета>, при этом множество J R состоит из одного индекса ( J R { j} ) - индекса фасета, значение которого Rj было выбрано для формирования запроса на 1-м шаге. 1 1 j В особых случаях (например, редкие свойства объектов), уже первый шаг может привести к получению искомого объекта. 4 На очередном (n-ом) шаге алгоритма в формировании фасетной формулы запроса участвуют только те фасеты (образующие множество допустимых фасетов на n-ом шаге), которые имеют непустые значения на объектах, принадлежащих выборке предыдущего шага, и только эти значения (допустимые значения) будут использоваться для построения запроса. Таким образом, на n-ом (n > 1) шаге n-1 фасетов (принадлежащих множеству допустимых фасетов на n-ом шаге) имеют заданные значения, выбранные на предыдущих (1,…n-1) шагах, и пользователю предоставляется выбор значения одного из оставшихся фасетов, принадлежащих множеству допустимых фасетов на n-ом шаге. На n-ом шаге алгоритма получаем следующее состояние навигационной системы (после выполнения предыдущего запроса): n j n1 g RG n1 : j ( g ) множество допустимых J A j j {1,...l}, j n n – фасетов на n-ом шаге: n nj jJA , n где – множество индексов допустимых фасетов на n-ом шаге алгоритма; FT n nj , nj j J - фасетная таблица на n-ом шаге, An (1) где - множество допустимых значений фасета j на n-ом шаге; n j R n 1 RG n retrieve( RG n 1 , RFF n 1 ) g i g i RG n 1 , j ( g i ) j j J R n 1 - (2) подмножество выбранных объектов на n-ом шаге. Новый запрос (на n-ом шаге) имеет фасетную формулу запроса: RFF n j , Rj jJR , n (3) представляющую собой совокупность пар: <фасет, отмеченное значение фасета> ( J R - множество индексов фасетов, значения которых были выбраны (отмечены) на шагах 1,…n; Rj - выбранное значение фасета j ). n Данное теоретико-множественное описание информационных структур и процессов задает четкую основу для спецификации метода динамического построения визуального интерфейса. В общем случае, фасетная таблица представляет собой многомерную матрицу, структура которой и значения ячеек являются переменными величинами для открытых электронных коллекций. Задача метода динамического формирования визуального интерфейса заключается в динамическом отображении содержимого фасетной таблицы на 5 пользовательский интерфейс. Актуальное подмножество фасетной таблицы, отвечающее интересам конкретного пользователя, формируется на основе обработки фасетной формулы запроса пользователя. Фасетная формула запроса задает актуальное подмножество фасетной таблицы, которое фиксирует набор фасетов и их значений на каждом шаге алгоритма фасетной навигации. Элементы визуального интерфейса формируются программным образом и определяются текущим состоянием фасетной таблицы (формула (1)) и предысторией формирования фасетной формулы запроса. Текущее состояние визуального интерфейса позволяет пользователю получить полное представление о составе коллекции. Дополнительно к этой информации пользователь может проанализировать текущую выборку, описываемую формулой (2), и сделать очередной шаг при выборе объектов, сформировав фасетную формулу запроса в соответствии с формулой (3). Динамически появляющаяся информация на каждом шаге доступа к объекту предоставляет пользователю данные, анализ которых позволяет ему сделать свой следующий выбор. Метод динамического формирования визуального интерфейса лежит в основе построенной авторами модели адаптивной фасетной навигации. 3 Модель адаптивной фасетной навигации Принципы, заложенные в построенную модель адаптивной фасетной навигации, преследуют следующую цель: при выборе любой из траекторий движения по фасетам пользователь за конечное число шагов получает доступ к искомому объекту. Реализационная модель представлена на примере открытой коллекции произведений искусства. Фасеты представлены в виде «облаков», для просмотра всех возможных значений фасета используются механизмы «прокрутки», что позволяет эффективно использовать место на экране (рисунок 1). Количество фасетов выбирается в соответствии с принципом, сформулированным американским психологом Миллером [4]: для того, чтобы выбор был эффективным, количество элементов в нем не должно быть больше семи-девяти. Задание любого из значений произвольно выбранного фасета приводит к перезагрузке подмножества доступных значений в остальных фасетах в соответствии с текущим состоянием фасетной таблицы (рисунок 2). Сочетание фасетов и их значений на определенном этапе представляет легко обозримую картину, что позволяет пользователю сделать очередной выбор для достижения цели (рисунок 3). 6 Рисунок 4 иллюстрируют тот факт, что пользователь мог указать любую траекторию выбора фасетов для достижения одной и той же цели. На первом шаге пользователю предоставляется полный обзор состояния фасетной таблицы (рисунок 1). Проиллюстрируем на примере, приведенном на рисунке 1, введенные выше понятия фасетов и области их значений. Объекту g, представляющему собой работу Казимира Малевича «Весенний пейзаж», ставятся в соответствие следующие значения фасетов: 1 = «Вид искусства» : 1 ( g ) = «Живопись»; 2 = «Жанр» : 2 ( g ) = «Пейзаж»; 3 = «Стиль» : 3 ( g ) = ε (значение не задано); 4 = «Техника» : 4 ( g ) = «Масло»; 5 = «Материал» : 5 ( g ) = «Холст»; 6 = «Автор» : 6 ( g ) = «Малевич». 7 Рисунок 1 В том случае, если пользователь выбрал в фасете «Вид искусства» значение «живопись», в остальных фасетах произошла перезагрузка значений: представлены только те значения фасетов, которые определены для множества объектов с фасетным признаком {вид искусства: живопись}. 8 Рисунок 2 На втором шаге пользователь выбирает в фасете «Техника» значение «масло». После перезагрузки значений в остальных фасетах пользователю предоставляется легко обозримое отображение актуального для него подмножества фасетной таблицы (рисунок 3). Анализ полученной информации позволит пользователю определить дальнейшую стратегию пути доступа к искомому объекту. 9 Рисунок 3 Тот же результат пользователь получил бы, если бы на втором шаге выбрал в фасете «Жанр» значение «пейзаж » (рисунок 4). 10 Рисунок 4 Метод динамического формирования визуального интерфейса в объединении с оригинальными решениями дизайна пользовательского интерфейса позволяют реализовать основные принципы адаптивной фасетной навигации в открытых электронных коллекциях. 11 4 Программная навигации реализация модели адаптивной фасетной 4.1. Программная среда реализации Реализационной модель размещена в Интернет по адресу www.intergallery.ru. Она выполнена на примере коллекции произведений искусства. Используемые программные средства: - реализация осуществляется в среде ОС: Microsoft Windows 2000/2003; - веб-сервер: Microsoft Internet Information Server 5.0/6.0; - контейнер серверного приложения: Microsoft ASP.NET 2.0; - СУБД: Microsoft SQL Server 2005; - в качестве средств разработки используется Microsoft Visual Studio 2005, ASP.NET 2.0; - для построения пользовательского интерфейса используется Adobe Flash со встроенным языком ActionScript. ASP.NET Web Services используют индустриальные стандарты: - XML. Обмен данными между Flash - интерфейсом и сервером (а именно с "подсистемой задания фасетной формулы и представления результатов запроса") производится в формате XML [5], [9] - SOAP. Протокол обмена сообщениями между Web службой и клиентом, основанный на XML [8] . - Web Services Description Language (WSDL). Описывает параметры сообщений Web-службы для взаимодействия с клиентами [6], [7]. 12 4.2. Архитектура реализационной модели. Реализационная модель представлена в виде системы, которая является серверным приложением, функционирующим в среде Web-сервера, и осуществляет централизованную обработку запросов. Система состоит из следующих подсистем: - подсистемы обработки фасетной формулы запросов. - подсистемы задания фасетной формулы и представления результатов запроса. - подсистемы управления информационными объектами. 4.2.1 Подсистема обработки запросов Подсистема предназначена для преобразования запросов из фасетной формулы в вид запроса к базе данных, используя язык запросов SQL с последующим исполнением SQL-запроса и передачи результатов в Подсистему представления. 13 Подсистема 4.2.2 задания фасетной формулы и представления результатов запроса Подсистема предназначена для ввода фасетной формулы и отображения результатов запроса, полученных от Подсистемы обработки запросов. Подсистема задания фасетной формулы и представления результатов работает совместно с Программой поддержки пользовательского интерфейса, обмен данными между ними производится в формате XML. Программа получает от Подсистемы все пары <фасет, отмеченное значение фасета>. На основе полученных данных Программа строит графическое представление ("облака"). Если на этот момент фасетная формула уже определена, то в получаемых от сервера данных "выбранные" значения определенным образом "помечаются", что позволяет Программе поддержки пользовательского интерфейса распознавать их и "подсвечивать". После того, как графическое представление "облаков" полностью выполнено, Программа поддержки пользовательского интерфейса фиксирует действия пользователя, и при выборе пользователем значения какого-либо фасета Программа передает на сервер выделенную пару <фасет, отмеченное значение фасета>. На сервере корректируется фасетная формула. Страница пользовательского интерфейса перегружается в соответствии со скорректированной фасетной формулой запроса. 4.2.3 Подсистема управления информ ационными объектами Подсистема предназначена для внесения изменения в базу данных информационных объектов. Это включает в себя: - занесение нового информационного объекта. - изменение свойств информационного объекта. - удаление информационного объекта. Заключение В предлагаемой модели адаптивной 14 фасетной навигации достигается выполнение следующих задач: 1) задачи многовариантного выбора путей доступа к объектам в открытых электронных коллекциях; 2) задачи поддержки естественных иерархий в данной предметной области; 3) задачи динамического отображения актуального подмножества фасетной таблицы; 4) задачи динамического формирования визуального интерфейса процесса навигации; 5) задачи адаптации пользовательского интерфейса к выбранному пользователем сценария поиска элементов коллекции. Основными достоинствами предлагаемой модели адаптивной фасетной навигации являются как презентационные решения, повышающие наглядность и эргономичность диалога, так и адаптационные решения, формирующие способность как настройки средств доступа на особенности конкретного пользователя, так и его оперативного обучения. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1 Ранганатан Ш.Р. Классификация двоеточием. Основная классификация: Пер. с англ. / Под ред. Т.С.Гомолицкой и др. - М., 1970. – 422 с. 2 Н.А. Маркова, О.Л. Обухова, И.В. Соловьев, А.П. Чочиа. Web технология динамической классификации квази-однородной электронной коллекции //Труды 9-ой Всероссийской научной конференции «Электронный библиотеки: перспективные методы и технологии, электронные коллекции» RCDL’2007, Переславль-Залесский, Россия, 2007, Том 2, c. 29-32. 3 Н.А. Маркова, О.Л. Обухова, И.В. Соловьев, А.П. Чочиа. Эффективная фасетная навигация в электронных коллекциях // Системы и средства информатики, № 17, Москва, Наука, 2007, С. 214-222 4 Миллер Дж. Магическое число семь, плюс или минус два. - В кн.: Инженерная психология. М. 1964 5 XML Web Services Basics// http://msdn.microsoft.com/en- us/library/ms996507.aspx 6 Web Services Description Language (WSDL) 1.1 // http://www.w3.org/TR/wsdl 7 Web Services Description Language (WSDL) Version 2.0 // http://www.w3.org/TR/wsdl20/ 15 8 SOAP Version 1.2 // http://www.w3.org/TR/soap/ 9 XML //http://www.w3.org/XML/ 16