AHA! иструмент широкого назначения для адаптивных вебсайтовPaul De Bra, Natalia StashDepartment of Computer ScienceEindhoven University of TechnologyPO Box 513, 5600 MB EindhovenThe Netherlands+31 40 2472733{debra,nstach}@win.tue.nlРЕЗЮМЕ Многие организации, имеющие Web-сайты, признают необходимость персонализации. Выбор и представление информации основываются на модели пользователя. Эта статья кратко представляет AHA! (Адаптивная Гипермедиа Архитектура), серверный инструмент широкого назначения для создания адаптации на сайте; имеется в виду, что персонализация выполняется автоматически, основываясь на том, какие страницы посетил пользователь. Первоначально AHA! была создан как простой инструмент для адаптивных on-line курсов [4], но сейчас он преобразуется в мощный инструмент широкого назначения благодаря гранту NLnet Foundation. Информацию об AHA!, включая адаптивый курс обучения пользованию системой, можно найти на сайте AHA! http://aha.win.tue.nl/.^ Ключевые слова adaptive hypermedia, user modeling, Web personalization, Web design.1. ВВЕДЕНИЕ World Wide Web стал основной средой публикации для многих организаций, компаний и отдельных индивидуумов. Разработка больших сайтов требует тщательного проектирования, планирования и реализации. Персонализация стала необходимой частью этого процесса. В этой статье мы сосредоточимся на автоматической персонализации. Получившиеся сайты часто называют адаптивными. Сейчас существует много адаптивных Web приложений. В таких статьях, как [1,3], трудах конференций и семинаров по адаптивой гипермедиа и адаптивным Web системам описаны многие из них. Существует два подхода для создания адаптивных сайтов: в [6] описывались попытки улучшить организацию и представление сайта посредством изучения паттернов посещения посетителей (learning from visitor access patterns); в нашем исследовании, а также в системах типа Interbook [2], адаптация основана на правилах и концептуальных структурах, определяемых автором. Наиболее адаптивные приложения построены с использованием програмного обеспечения специального назначения (на стороне сервера). Interbook, например [2], инструмент для адаптивных курсов. Он имеет фиксированную форму представления, используя различные фреймы, адаптивное содержание, и т.д. Он выполняет адаптацию ссылок (аннотацию), основываясь на предопределенных отношениях. Использование этой системы для других приложений, таких как информационные киоски, корпоративные сайты, сайты музеев или on-line каталоги заказа продукции по почте, практически неосуществимо. Тем не менее, основные виды модели пользователя и адаптации, требуемые во всех этих приложениях, не настолько различны. Требуется только ввести больше типов отношений между концептами или элементами информации, и больше свободы представления данных. На примере системы AHA! мы попытаемся представить адаптивную гипермедиа систему широкого назначения для Web, допускающую множество типов правил адаптации и не навязывающую ни одно из них, и допускающую полную свободу представления. В этой статье мы сначала опишем основные черты (новой) системы AHA!, а затем мы отметим некоторые исследовательские проблемы.^ 2. ОСНОВНЫЕ ЧЕРТЫ AHA! AHA! – это прототип машины адаптации для Web сервера: Система “срабатывает”, когда пользователь обращается (и получает доступ) к странице. Модель пользователя обновляется на основе информации о доступе к странице. Модель пользователя используется для определения того, как необходимо адаптировать страницу. Адаптированная страница отправляется на просмотр. AHA! работает, используя Java Servlets, которые адаптируют локальные или отдаленные Web страницы в соответствие с моделью пользователя. Главные черты AHA!: Автор (или проектировщик) создает структуру, состоящую из концептов. Эти концепты формируют основу модели пользователя. Для каждого концепта автор определяет набор атрибутов, которые показывают некоторые отношения между пользователем и этим концептом. Типичные примеры подобных атрибутов - "знание о " и "интерес в". Значения атрибутов в AHA! могут быть Булевские, целого или строчного типов, и, в будущем, надеемся, также других типов. Ограничений на количество концептов или наборов атрибутов нет. Web страницы – особые случаи концептов. Они соединяют информационное содержание приложения с моделью пользователя. Для каждой страницы существует правило-требование (requirement rule), которое определяет “желательность” страницы (для пользователя). Это выражение использует атрибуты концептов, констант (литералы), арифметические операторы и операторы сравнения. Во время взаимодействия пользователя и сайта “желательность” используется в двух целях: Представление (аннотация) ссылок зависит от желательности выдачи того материала на который она указывает. В AHA! ссылки могут иметь три различных цвета: хороший, означает желательный и не посещенный ранее, нейтральный, означает желаемый, но уже прочитанный, и плохой, означает нежелательный. Пользователь может выбрать, какие “действительные” цвета описывают эти три понятия. Встроенная цветовая схема - синий, пурпурный и черный – является результатом техники, которую Брусиловский называет сокрытие ссылок [1]. Фрагменты также могут быть связаны с концептами. Фрагмент страницы показывается, если он желателен, и скрывается, если он нежелателен. Брусиловский [1] называет это условными фрагментами (conditional fragments). Все концепты имеют правило-требование, но в настоящее время AHA! использует их только для страниц и фрагментов. Для каждого атрибута каждого концепта существует набор правил генерации, который определяет обновление модели пользователя. Эти правила называются продукционными правилами. Обновление атрибута концепта может зависеть от требований к значениям атрибутов для других концептов. Например, в учебном курсе правило может устанавливать, что если все необходимые предшествующие страницы прочитаны, тогда знания, полученные при прочтении этой страницы, будут больше, чем при прочтении страницы, для которой пользователь еще не читал необходимые предыдущие страницы. Атрибутам могут присваиваться значения, они могут быть увеличены или уменьшены на определенное значение, или измениться в результате обновления атрибутов другого концепта. Механизм правил AHA! обычно запускаются посредством доступа к странице. Но AHA! можно расширить в том смысле, что можно добавить модули, которые включают механизм, основываясь на других событиях. (AHA! уже содержит модуль для обновления модели пользователя с помощью Web-форм и модуль для тестирования (закрытый вопрос с множественным выбором). Для небольших приложений AHA! обычно использует локальное дерево директорий со страницами (в расширенном HTML или XHTML формате) и XML файлы для структуры концептов (с правилами-требованиями и правилами генерации) и модели пользователя. Большие приложения будут использовать “внешний” источник страниц (подразумевается, что он будет доступен через URL) и систему базы данных для структуры концептов и моделей пользователя. С этой целью AHA! включает в себя поддержку системы баз данных mySQL. AHA! полностью состоит из Open Source (с Java Servlets) программного обеспечения и работает с серверами Sun's JSWDK и Apache's Tomcat. Некоторые адаптивные (под)сайты при желании могут быть расположены на тех же серверах.^ 3. ИССЛЕДОВАТЕЛЬСКИЕ ПРОБЛЕМЫ В прошлом в AHA! использовались различные форматы документов. Все они были основаны на HTML. Первые поколения, использовавшие HTML комментарии для элементов, используемых машинной адаптации, например, операторы “если”, для включения условных фрагментов. Позже формат был изменен на XML. Содержание страниц должно было быть сделано непрозрачным для синтаксического анализатора XML, так что можно было видеть только теги AHA!. Для того чтобы синтаксический анализатор XML не реагировал на теги HTML, в настоящее время мы используем конструкции . Сейчас мы экспериментируем с модуляризированным XHTML, который позволит добавлять модули к специфическим тегам AHA!. Использование этой технологии также позволит использовать AHA! для остальных языков, основанных на XML. Мы рассматриваем возможность комбинирования SMIL и AHA! для создания адаптивных мультимедиа презентаций. Производительность все еще является проблемой при использовании модуляризированного XHTML. Существующие приложения AHA! не производят значительной перегрузки оборудования. (Обработка большинства страниц занимает менее 0.1 секунды, а действительно длинные страницы занимают менее 1 секунды.) С модуляризированными XHTML (и синтаксическим анализатором Xerces) перегрузка оборудования больше из-за времени синтаксического анализа для XHTML DTD. Мы верим, что технология синтаксического анализа XML будет улучшена, возможно через прекомпиляцию DTD, что устранит эти проблемы в будущем. Система правил AHA! для обновления модели пользователя является очень гибкой. Доступ к странице запускает правила генерации для этой страницы, которые обновляют определенные атрибуты некоторых концептов. Эти обновления включают правила атрибутов других концептов, и т.д. Поведение подобной продукционной системы очень напоминает механизм запуска в активных системах баз данных. Мы изучили продукционные правила в нашей ссылочной модели AHAM [5,7]. Потенциальные проблемы этих систем правил включают (не-) завершение и (не-) слияние. Определять бесконечные циклы, оказывается, возможно во время исполнения. Однако это бесполезно, поскольку проверки запуска означают, что когда система “неправильно функционирует”, конечный пользователь получает сообщение об ошибках. В [7] мы показали, как предсказать проблемы завершения и слияния во время процесса создания, используя технику статического анализа. Авторские средства AHA! для структурирования концептов (с правилами-требованиями и правилами генерации) сейчас находится в развитии. Этот инструмент будет включать контроль статического анализа для помощи автору при создании корректных наборов правил. Адаптация, предлагаемая AHA! состоит из спрятанных ссылок или аннотаций и условного включения фрагментов. В то время как это может быть важным для большинства страниц, создаваемых вручную, это не имеет значения для приложений, требующих более динамичного создания страниц. Например, невозможно (пока) сортировать список фрагментов в соответствии со значением релевантности (зависящим от пользователя). В будущем будут исследованы более сложные “конструкторы страниц”.4. ЗАКЛЮЧЕНИЕ AHA! делает возможным создание сайтов, в которых ссылки могут быть спрятаны или аннотированы, а фрагменты – включены или опущены, основываясь на правилах адаптации и модели пользователя с очень гибкой структурой (продукционные правила работают в структуре концептов и атрибутов). AHA! – инструмент широкого назначения в том смысле, что он не навязывает один стиль презентации и что адаптация может быть основана на произвольных событиях (arbitrary events) и зависимостях между концептами (в отличие от, например, обучающих систем, в которых предполагается монотонный процесс усвоения знаний посредством чтения страницы). Сейчас, однако, AHA! все еще довольно проста. Он работает только с правилами, созданными вручную, и условное включение фрагментов – единственный тип адаптации содержания, который он поддерживает.5. БЛАГОДАРНОСТИ Разработка AHA! стала возможной благодаря NLnet Foundation. Документация и новые релизы можно найти на web сайте aha.win.tue.nl.6. ССЫЛКИ Brusilovsky, P., Methods and Techniques of Adaptive Hypermedia. User Modeling and User-Adapted Interaction, 6, pp. 87-129, 1996. Brusilovsky, P., Eklund, J., Schwarz, E., Web-based education for all: A tool for developing adaptive courseware. Computer Networkds and ISDN Systems (Proceedings of the Seventh International World Wide Web Conference), 30 (1-7), pp. 291-300, 1998. Brusilovsky, P., Adaptive hypermedia. User Modeling and User Adapted Interaction, 11 (1/2) pp.87-110, 2001. De Bra, P., Calvi, L., AHA! An open Adaptive Hypermedia Architecture. The New Review of Hypermedia and Multimedia, pp. 115-139, 1998. De Bra, P., Houben, G.J., Wu, H., AHAM: A Dexter-based Reference Model for Adaptive Hypermedia. Proceedings of ACM Hypertext'99, Darmstadt, pp. 147-156, 1999. Perkowitz, M., Etzioni, O., Towards Adaptive Web Sites: Conceptual Framework and Case Study. Proceedings of WWW8. 1999. Wu, H., De Kort, E., De Bra, P., Design Issues for General Purpose Adaptive Hypermedia Systems. Proceedings of the 12th ACM Conference on Hypertext and Hypermedia, pp.141-150, 2001. Этот курс должен быть закончен и появиться на сайте в самое ближайшее время – Прим. пер.