Разработка программных средств конвертирования HTML-текстов в семантические сети

Московский Государственный Университет Путей сообщения

(МИИТ)

Кафедра АСУ


Курсовой проект

«Разработка программных средств конвертирования HTML текстов в семантическую сеть»


Выполнила:

Студентка 5-го курса группы УИС-511 Болотова Е.А.

Проверил: Саркисян Р.Е.


Москва 2001

Содержание:


Что такое семантическая сеть …………………………..3

Основные сведения о языке HTML …………………….3

1.Введение ………………………………………….3

2.Сруктура HTML-документа ……………………..4

Что такое фреймы ……………………………………….7

Возможности представления знаний на базе

языка HTML ……………………………………………...8

TextAnalyst 2.0 – персональная система

автоматического анализа текста ………………………..14

Принцип работы HTML-конвертора …………………...17

Список использованных источников …………………..21

Что такое семантическая сеть


Семантическая сеть – структура для представления знаний в виде ориентированного графа, в котором вершины – это понятия, а дуги - отношения. Термин семантическая означает "смысловая", а сама семантика – это наука, устанавливающая отношения между символами и объектами, которые они обозначают, что есть наука, определяющая смысл знаков.

Самые первые семантические сети были разработаны в качестве языка-посредника для систем машинного перевода. Однако последние версии семантических сетей стали более мощными и гибкими и составляют конкуренцию логическому программированию, фреймовым системам и другим языкам представления.

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

  1. Узлы семантических сетей представляют собой концепты предметов, событий, состояний

  2. различные узлы одного концепта относятся к различным значениям, если они не помечены как относящиеся к одному концепту

  3. дуги семантических сетей создают отношения между узлами-концептами (пометки над дугами указывают на тип отношения)

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

  5. концепты организованы по уровням в соответствии со степенью обобщенности так, как, например, сущность, живое существо, животное, плотоядное.

Несмотря на некоторые различия, сети удобны для чтения и обработки компьютером, а также достаточно мощны, чтобы представить семантику естественного языка.

Наиболее часто в семантических сетях используются следующие отношения:

  • связь типа "часть-целое" ("класс-подкласс", "множество-подмножество" и т.п.)

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

  • количественные ("больше", "меньше", "равно" и т.п.)

  • пространственные ("близко от", "далеко от" и т.п.)

  • временные ("раньше", "позже" и т.п.)

  • логические связи ("и", "или" и т.п.)

  • лингвистические связи и т.д.


Основные сведения о языке HTML


  1. Введение

Все стандартные броузеры для сети Интернет используют способы представления текстов, основанные на языке HTML. HTML (Hyper Text Markup Language) – это язык разметки гипертекста. Этот язык «понимают» все компьютеры, он довольно прост, но при этом имеет достаточные выразительные средства для удобного описания разных типов документов. Язык позволяет хранить текст в «чистом» виде (не кодируя его), что делает возможным просмотр HTML скриптов с помощью обычных текстовых редакторов. Этот язык предоставляет авторам Интернет - публикаций средства:

  • представления документов, включающих заголовки, тексты, таблицы, списки, «картинки» и т.п. элементы;

  • осуществления навигации по отдельным документам и множеству документов путем использования гиперссылок;

  • конструирования диалоговых форм для взаимодействия с удаленными сервисами, доступными в сети;

  • включения в документы вычисляемых форм (spread-sheets), видео и звука, равно как и разнообразных приложений.

Первая версия языка HTML была разработана Т. Бернерс-Ли из Европейского Центра ядерных исследований (CERN). В дальнейшем язык претерпел существенные изменения. К середине 90-х годов произошла стандартизация его версий, которая стала курироваться международными организациями. В настоящее время наиболее развитой является версия языка HTML 4.0, в которой представлены новые возможности аппаратуры и требования производителей программного обеспечения броузеров, а также пожелания Интернет – авторов.


2. Структура HTML-документа


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

Типичный HTML – документ имеет следующую структуру:


< ! DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.0//EN”

“w3/TR/REC-html40/strict.dtd”>

Наименование документа

name=keywords content=”Ключевые слова”>

Тело документа


В приведенном фрагменте комментарий и и содержит служебную информацию. В представленном выше фрагменте HTML – документа показаны два компонента заголовка:

  • Заглавие - строка символов, которая отображается в заголовке окна броузера.

  • - дополнительная информация об HTML – документе (в нашем примере этот тег с помощью параметров name и content фиксирует значение первого атрибута как keywords, а второго – как ключевые слова «Представление знаний» и «Мультиагентные системы»). Этот тег ориентирован на аннотирование Интернет – документов и значительно облегчает задачу индексирования их, например, с помощью сетевых роботов.

Кроме этих компонентов заголовок может содержать еще и другие теги:

  • - базовый адрес, используемый при обработке относительных URL,

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

Собственно содержание документа находится в теле между тегами и . Иногда вместо этих тегов можно встретить тег , который определяет специальный тип документа – Web-страницу с кадрами или фреймами.

Как правило, тело HTML-документа состоит из последовательности структурных единиц, базисными из которых являются:

  • заголовки разного уровня (текст, заключенный между тегами и ), где i может меняться от 1 до 6;

  • параграфы (текст, заключенный между тегами

    и

    ).

Это минимальные средства форматирования документа. Естественно, что в HTML эти средства значительно богаче (всевозможные выравнивания, табуляция, несколько видов списков, таблицы и т.д.).

Наиболее важными базовыми конструкциями языка HTML являются якоря. Синтаксически эти конструкции представлены тегами и с атрибутами name и href. Якорем является конструкция вида:

Текст

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

Для ссылок на помеченные таким образом части Интернет - документа используются конструкции следующего вида:

  1. Текст - Задает локальную ссылку на часть документа, начинающуюся с указанной метки

  2. Текст - Задает глобальную ссылку на документ в сети, однозначно идентифицируемый с помощью URL (Unified Resource Locator) – Интернет – адрес: имя домена, уточненное названием протокола и собственное имя документа, включая путь к нему в пределах данного домена.

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

Пример создания таблицы:



Простейший пример создания формы:


Вы можете ввести в поле одну строку

Для обработки результатов ввода нажмите кнопку


Еще одна важная конструкция – это фреймы (frames). С их помощью можно разделить документ на части и представлять их в отдельных, неперекрывающихся областях экрана. Такое представление информации характерно для многооконных приложений.

Кроме этого имеются и другие конструкции разметки Интернет – документов. Среди этих конструкций надо отметить более четкое разделение между структурой документа и его представлением за счет использования таблиц стилей, скриптов, поддерживающих, в частности, создание динамических страниц, новый механизм интеграции текстовых и графических ссылок, исполняемый на стороне клиента и стандартизацию механизма подключения к HTML-документам базисных медиаобъектов и приложений.


Что такое фреймы

Термин фрейм был предложен в 70-е годы для обозначения структуры знаний для восприятия пространственных сцен. Фрейм – это абстрактный образ для представления некоего стереотипа восприятия. Фреймом также называется и формализованная модель для отображения образа.

Различают:

  • фреймы-образцы (прототипы) – хранятся в базе данных

  • фреймы-экземпляры – создаются для отображения реальных фактических ситуаций на основе поступающих данных

  • фреймы-структуры – используются для обозначения объектов и понятий

  • фреймы-роли

  • фреймы-сценарии

  • фреймы-ситуации


Обычно структура фрейма представляется как список свойств:


(ИМЯ ФРЕЙМА:

(имя 1-го слота: значение 1-го слота),

(имя 2-го слота: значение 2-го слота),

--------------------------

(имя N-го слота: значение N-го слота)


В качестве значения слота может выступать имя другого фрейма, так образуется сеть фреймов.

Существует несколько способов получения слотом значений во фрейме-экземпляре:

  • по умолчанию от фрейма-образца (значение default)

  • через наследование свойств от фрейма, указанного в слоте АКО (a kind of)

  • по формуле, указанной в слоте

  • через присоединенную процедуру

  • явно из диалога с пользователем

  • из базы данных.


Возможности представления знаний на базе языка HTML


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

Прежде всего, к числу таких конструкций относятся теги типа , <meta …> и . Первый тег важен для фиксации семантики всего HTML – документа, так как текст, заключенный между тегами <title> и чаще всего отражает его назначение или содержание.

Теги типа вводят имена атрибутов и их значения с помощью параметров name=”…” и content=”…”, а ссылки и якоря фиксируют отношения между частями одного документа или между отдельными документами.

Теги типа явно вводят семантику значений атрибутов, одинаково интерпретируемых броузерами за счет ключевых слов, которые могут быть значениями параметра name.

Теги типа фиксируют лишь факт наличия отношения между ссылкой и ее якорем. В некоторых случаях этому отношению можно «приписать» имя SeeAlso (смотри также), в других случаях – ConsistOf, PartOf или иное подходящее имя, но семантика данной конструкции имплицитна, а встроенная интерпретация ее связана лишь с переходом по ссылке и визуализацией начала соответствующего фрагмента документа или загрузкой нового документа для просмотра.

Другими полезными конструкциями являются заголовки разделов и подразделов (тексты между тегами и ), списки, таблицы и другие элементы языка.

Но в целом, выделение значимых для семантической интерпретации конструкций является экспертной задачей, решаемой каждый раз автором соответствующей Интернет - публикации по-своему. Но существуют определенные стереотипы. Например, на страницах Интернет – магазинов каталоги товаров в большинстве случаев представляются таблицами или списками, либо «зашиты» в чувствительные для щелчка мыши графические объекты. Это характерно и для индексов на сайтах машин поиска.

Рассмотрим в качестве примера страницу официального сайта компании Microsystems LTD, расположенную в сети по адресу analyst. На этой странице располагается по информация по программе TextAnalyst 2.0. Экранная форма этой страницы показана на рисунке.


Фрагмент соответствующего HTML – текста представлен ниже:



---------------------------------


Microsystems, Ltd


-----------------------------------------------


столбец1, строка1 столбец2, строка1
столбец1, строка2 столбец2, строка2

border="0" src="/images/top_logo.gif">

bgcolor="#001395" height="23">


-------------------------------------



----------------------------------------------



onmouseover="this.style.backgroundColor='#6B8ADE'">

onmouseover="this.style.backgroundColor='#6B8ADE'">


----------------------------------------


Products

content/products/menu.txt " target="_self">

TextAnalyst SDK

height="12">

TextAnalyst

tref&left=content/products/menu.txt

" target="_self">

Text Referent

    

TextAnalyst


Получите бесплатную версию

TextAnalyst

/tr>

Системные требования

Intel-based PC
Windows 9X, NT, 2000, Me

Технические характеристики

  •  Средняя скорость анализа текста около 1Мбайт/мин (при использовании Pentium-II).
  • Максимальный объем анализируемой подборки не ограничен и зависит от объема ресурсов компьютера и настройки TextAnalyst.
  • Собственный объем TextAnalyst не превышает 5Мб.
  • Форматы обрабатываемых файлов:
  • *.txt (ANSI, DOS), *.rtf
  • Экспорт информации в форматы: *.txt,

    *.csw (электронные таблицы).


-----------------------------------


TextAnalyst 2.0 

персональная система автоматического анализа текста 

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

  • анализа содержания текста с автоматическим формированием семантической сети с гиперссылками - получения смыслового портрета текста в терминах основных понятий и их смысловых связей; 
  • анализа содержания текста с автоматическим формированием тематического древа с гиперссылками - выявления семантической структуры текста в виде иерархии тем и подтем; 
  • смыслового поиска с учетом скрытых смысловых связей слов запроса со словами текста; 
  • автоматического реферирования текста - формирования его смыслового портрета в терминах наиболее информативных фраз; 
  • кластеризации информации - анализа распределения материала текстов по тематическим классам;
  • автоматической индексации текста с преобразованием в гипертекст; 
  • ранжирования всех видов информации о семантике текста по «степени значимости» с возможностью варьирования детальности ее исследования; 
  • автоматического/автоматизированного формирования полнотекстовой базы знаний с гипертекстовой структурой и возможностями ассоциативного доступа к информации; 

Не пугайтесь обилия возможностей!

Работа с TextAnalyst покажется Вам неожиданно простой и приятной, а его аналитические способности сэкономят массу полезного времени...


----------------------------------



Сравнив приведенные экранную форму и HTML-текст, видим, что семантически значимыми элементами данного документа являются:

  • ключевые слова, относящиеся к данному документу: Microsystems, TextAnalyst, text mining, knowledge discovery, textmining, e-commerce,>);

  • все меню организованы в виде таблиц (тег

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

  • текст описания возможностей программы TextAnalyst организован в виде списка (тег

  • ).

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

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


    TextAnalyst 2.0 – персональная система автоматического анализа текста


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

    • анализ содержания текста с автоматическим формированием семантической сети с гиперссылками - получение смыслового портрета текста в терминах основных понятий и их смысловых связей;

    • анализ содержания текста с автоматическим формированием тематического древа с гиперссылками - выявление семантической структуры текста в виде иерархии тем и подтем;

    • смысловой поиск с учетом скрытых смысловых связей слов запроса со словами текста;

    • автоматическое реферирование текста - формирование его смыслового портрета в терминах наиболее информативных фраз;

    • кластеризация информации - анализ распределения материала текстов по тематическим классам;

    • автоматическая индексация текста с преобразованием в гипертекст;

    • ранжирование всех видов информации о семантике текста по «степени значимости» с возможностью варьирования детальности ее исследования;

    • автоматическое/автоматизированное формирование полнотекстовой базы знаний с гипертекстовой структурой и возможностями ассоциативного доступа к информации.


    Рассмотрим на нашем примере работу этой программы. После запуска TextAnalyst, необходимо открыть текстовый файл, в котором расположен HTML-документ нашего примера. Программа выполняет анализ предложенного текста и