Поиск в динамической новостной среде. RSS-агенты и агрегаторы Некоторые новостные документы уходят в стабильную часть Internet в виде архивов, а большая их часть исчезает. Проблемы традиционных ИПС Традиционные ИПС дают ответы из стабильной части Internet, устаревшие ссылки из новостной части и ничего из обновлений новостной части Период индексирования стабильных Web-ресурсов – недели и месяцы Индексирование Web-ресурсов в основном в HTML формате => невозможность полноценного сбора и автоматизированного анализа информации из динамической части Internet => необходимы специальные агенты для работы с динамическим Internet, новые стандарты обмена данными. Подобные проблемы сегодня решаются при помощи теории «Семантического Web». Здесь динамические новостные данные дополняются семантическими метаданными на языке XML, что позволяет автоматизировать сбор и обработку динамической части Internet машинными методами. 2 Синдикация новостной информации в семантическом Web - Это сбор новостной информации в Internet и последующее распространение её фрагментов в соответствии с потребностями пользователей. Технология синдикации включает в себя разработку и внедрение интеллектуальных программ-агентов, выполняющих следующие задачи: обучение и сбор информации по выбранным источникам (по заданным Web-сайтам…), непосредственное сканирование информации, приведение её к общему формату (сегодня - XML), классификацию информации, доставку пользователям через E-mail, Web, WAP, SMS… Reuters, Associated Press, CNN и др. стали предоставлять возможности поиска и просмотра новостных сообщений. У пользователей появилась возможность бесплатно находить и просматривать новости реального, а не только «виртуального» мира. 3 RSS-Feeds (RSS-летны) RSS-ленты (Really Simple Syndication) являются файлами или документами состоящими из структурированного определенным образом XML кода. Каждый RSS-файл несет общую информацию о самой ленте и содержит список информационных элементов, в основном - отдельных текстовых блоков, перечисленных в хронологическом порядке Каждый информационный элемент содержит ссылку, заголовок и описание 4 Основы XML Все файлы XML имеют структуру (иерархическая модель данных). Основные элементы XML – узлы (nodes). Каждый элемент (узел) обязан иметь открывающий и закрывающий тег. Теги XML не заданы с самого начала, вы должны определить свои собственные теги. Элементы могут иметь атрибуты, значения которых заключаются в кавычки. В XML Учитывается регистр символов. Вся информация между начальным и конечным тэгами – это данные, и поэтому учитываются все символы форматирования (пробелы, переводы строк, табуляции). Имеются инструкции обработки файла и комментарии. Пример простого XML файла: <?xml version="1.0" encoding="widows-1251"?> <!-- Инструкции обработки --> <data> <!-- Корневой элемент (node) этого XML документа --> <item attr="value"> <!-- Элемент (node) с атрибутом --> Данные элемента item. </item> </data> 5 XML DOM (Document Object Model) – это интерфейс XML-документов, определяющий пути, которыми можно обращаться к XML-документу и производить с ним манипуляции. DOM представляет собой дерево, отображающее структуру XML-документа. Для работы с XML-документами на основе DOM-модели, необходимы программы парсеры (синтаксический анализатор). Парсер (parser) – это COMкомпонент для обработки XML-файлов, например, при помощи скриптов JavaScript. Они превращают XML-файл в объектно-ориентированный документ. MS Internet Explorer имеет встроенный парсер msxml3.dll. Другие браузеры требуют установки парсеров. Практически все приложения, работающие с XML, построены на базе парсеров. Элемент documentElement является верхним уровнем дерева DOM. Этот элемент имеет дочерние узлы childNodes, представляющие ветви дерева. Основное свойство элементов – text, содержит всё текстовое содержимое данного узла, включая подчинённые узлы. Например, selectSingleNode(“/путь к узлу”).text – это содержимое указанного узла (тега). Свойство length – количество элементов в узле. Метод item(индекс) возвращает узел по заданному индексу, например, childNodes.item(1) – обращение ко второму элементу текущего узла. Метод load(“URL”) – загрузка (чтение) XML-файла. 6 XML-теги RSS-ленты XML - Начало любого XML-документа RSS - Корневой элемент, содержит версию RSS-документа (сегодня – 7 версий) CHANNEL - Говорит о том, что дальше идут данные RSS-канала TITLE - Заголовок канала, или его название LINK - Ссылка на сайт, откуда взяты новости DESCRIPTION - Краткое описание RSS-канала, т.е. более подробное IMAGE - Логотип для представления канала (необязательный, но желательный) URL - Ссылка на логотип TITLE - заменяющий текст для логотипа LINK - Ссылка для перехода при щелчке по изображению ITEM - Отдельный заголовок для каждой новости TITLE - Название новости LINK - Ссылка на страничку, содержащую соответствующую новость DESCRIPTION - Краткое описание новости PUBDATE - Дата публикации новости 7 RSS-агрегаторы RSS-агрегатор необходим для того, чтобы подписываться на RSS-ленты и читать их. Все RSS-агрегаторы можно поделить на три основных категории: Windows RSS-агрегаторы (аналогичны почтовым клиентам) Web-агрегаторы (встроенные в Web-узлы) Internet-браузеры со встроенной RSS-функцией RSS технология дает возможность Web-издателям оперативно доставлять информацию пользователям при помощи RSS-лент (RSS-фидов). Владельцы Web-сайтов, используя RSS, могут без усилий публиковать на собственных Web-страницах информацию с других сайтов. RSS-ленты можно добавлять для индексирования и поиска в различные RSSпоисковые системы (Feedster.com, Assimilatethe.net). При этом содержимое ваших RSS-лент будет отображено на сторонних Web-сайтах, и другие пользователи смогут быстро и эффективно находить Вашу информацию. 8 Пример агрегатора для rss1.xml Агрегатор написан для использования на клиентской машине с JavaScript и стандартным MS парсером. 9 Результат работы агрегатора agregator1.htm Чтение новостей сторонних RSS-фидов В файле агрегатора заменена строка xmlDoc.load("rss1.xml") на – xmlDoc.load("http://online.infostream.ua/rss.php?rubr01"); 10 Пример RSS-ленты с рисунками (rss2.xml) 11 Агрегатор для чтения всей ленты rss2.xml 12 Результаты работы агрегатора agregatorListImage с лентой rss2.xml 13 Заключение RSS-фиды – это пример «Семантического Web», где новостные данные дополняются семантическими метаданными в виде XML-тегов , что позволяет автоматизировать, сделать интеллектуальным сбор и обработку динамической части Internet посредством вычислительных машин. В то же время, сегодняшние системы синдикации Internet-новостей не решают проблему интеллектуального анализа внутреннего содержимого новостных данных: автоматические дайджесты, новые понятия и их взаимосвязь, разнообразные рейтинги… Для этого необходимо дальнейшее развитие семантических методов в RSS или применение технологий Text Mining . Зарегистрировать свои RSS-фиды можно, например, на узлах www.syndic8.com, www.daypop.com, www.newsisfree.com. Всё большую популярность RSS-технологии приобретают у владельцев Webресурсов. 14