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

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

выдает результаты (см. рисунок)

Изучив предложенный текст, TextAnalyst формирует сеть наиболее значимых понятий, содержащихся в данном тексте. В такую включены те термины текста, которые несут основную смысловую нагрузку. Т.о. сеть позволяет отбросить несущественную информацию и представить содержание текста в сжатом виде. Каждое понятие, появляющееся множество раз в различных частях текста, в сети представлено единственным узлом. Различные формы слов для отображения в один узел сети представляются к общей грамматической форме.



Каждый элемент сети характеризуется числовой оценкой – смысловым весом. Связи между понятиями также характеризуются весами. Значение смыслового веса (от 1 до 100) показывает, насколько важную роль играет понятие для смысла всего текста, т.е. как много информации в тексте касается данного понятия. Максимальное значение, равное 100, говорит о том, что понятие является ключевым и представляет важнейшую тему текста. Маленькое, близкое к единице значение показывает, что соответствующая тема лишь вскользь упомянута в тексте и в нем очень мало информации, относящейся к данному понятию. Второе число, стоящее перед смысловым весом, ближе к раскрытому узлу, представляет вес связи от понятия в вершине раскрытого списка к данному. Большое значение веса связи (близкое к 100) указывает на то, что подавляющая часть информации в тексте, касающаяся первого, касается в то же время и второго понятия. Малое (близкое к 1) значение означает, что первое понятие слабо связано со вторым и очень мало информации по первой теме касается в тоже время и второй.

По умолчанию на экране отображаются понятия с весом не менее 5. Вид сети на экране можно настраивать, изменяя количество отображаемых понятий и связей, а также способ их сортировки.

TextAnalyst предоставляет услугу автоматического реферирования. Формируемый реферат содержит список наиболее информативных предложений текста. Это позволяет быстро ознакомиться с содержанием текста. Подробность реферата можно настраивать, изменяя количество формирующих его предложений. Каждое предложение характеризуется относительной степенью значимости во всем тексте.

В нашем примере реферат выглядит таким образом:


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

98

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


    Цифры показывают степень значимости предложений в тексте. Значение веса, близкое к 100, означает, что данное предложение представляет важнейшую информацию, касающуюся главных понятий текста. Эти понятия в реферате выделяются цветом.

    По умолчанию на экране отображаются предложения реферата с весами не менее 90.

    Для рассматриваемого выше примераHTML-текста описания страницы Analyst фрагменты семантической сети выглядят следующим образом:



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


    Рассмотрим в качестве примера следующее подмножество HTML-языка, которое может быть задано следующими определениями:


    HTML-text :: = HEAD BODY

    HEAD :: = TITLE{HEAD}| META{HEAD}| LINK{HEAD}…

    TITLE :: = строка

    META :: =

    KEYWORDS :: = …

    BODY :: = HTML-BODY

    HTML-BODY :: = PARAGRAPH{HTML-BODY} | TABLE {HTML-BODY} | LIST{HTML-BODY} | ANCHOR{HTML-BODY} | …

    PARAGRAPH :: =

    текст

    TABLE :: = TABLE-CELLS

    TABLE-CELLS :: = STROKA{TABLE-CELLS} | …

    STROKA :: = CELL

    CELL :: = текст

    LIST :: =

      LIST-ATOM

    LIST-ATOM :: = …

    ANCHOR :: = TEXT

    TEXT :: = …

    LINK: = …


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

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

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

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

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

    • для концептов-нетерминалов соответствующий слот должен иметь тип frame;

    • для концептов-терминалов соответствующие слоты будут, как правило, иметь тип numb или string;

    • рекурсия в BNF-определениях заменяется итерацией, а соответствующие слоты становятся множественными.

    После применения данных правил к BNF-определениям языка HTML получим следующее множество фреймов-прототипов:


    [html is_aprototype, if_added HTML();

    HEADframe, restr_by head;

    BODYframe, restr_by body ];

    [head is_aprototype, if_added HEAD();

    BODY{frame}, restr_by one_of {title, meta, …}];

    [title is_aprototype, if_added TITLE();

    BODYstring ];

    [meta is_aprototype, if_added META();

    BODYstring ];

    ………………….

    [body is_aprototype, if_added BODY();

    SENT{frame}, restr_by one_of {header, paragraph, table, …}];

    [paragraph is_aprototype, if_added PARAGRAPH();

    [LIST is_aprototype; ATOM{frame}, if_added LI() ];

    BODYframe, restr_by text];

    [table is_aprototype; if_added TABLE();

    TAB{frame}, restr_by one_of {stroka,…};]

    [stroka is_aprototype, if_added TR();

    CELLS{frame}, restr_by one_of{cell,…}];

    [cell is_aprototype, if_added TD();];

    ……………………

    [anchor is_aprototype;

    BODYframe, restr_by text];

    ……………………

    [link is_aprototype;

    URLframe, restr_by one_of {http,ftp,…}];

    MAILframe, restr_by mail];

    [url is_alink; without_slot MAIL];

    [http is_aurl, if_added HTTP();

    SERVERstring;

    DIR{string};

    FILEstring];

    [ftp is_aurl, if_added FTP();

    SERVERstring;

    DIR{string};

    FILEstring];

    …………………………


    В соответствии с приведенными фреймами-прототипами и синтаксическими диаграммами, можно специфицировать процедурную часть конвертора как систему демонов, присоединенных к фреймам или к их слотам.

    Спецификация одного из таких демонов представлена ниже на языке Java:


    public>

    HEAD head=null;

    BODY body-null;

    ………….

    String keyword;


    Public void HTML (String name) {

    Super (name);

    keyword=getToken();

    if (keywordpareTo (“”) = =0 {

    head = new HEAD (getNewName());

    body = new BODY (getNewName());

    };

    keyword = getToken ();

    if (keywordpareTo (“”)= =0) return;

    }

    …………………

    Public void (String nam) {

    Super (name);

    Keword=getToken();

    If (keyword compareTo (“”) = = 0 {

    paragraph = new PARAGRAPH (getNewName());

    header = new HEADER (getNewName());

    table = new TABLE (getNewName());

    };

    keyword = getToken ();

    if (keyword compareTo (“”) = = 0) return;

    }

    …………………………..

    }


    По существу, такой демон является конструктором класса HTML, а запуск конвертора осуществляется с помощью оператора создания нового объекта этого класса:

    HTML currPage = new HTML (get_new_name());

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

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

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


      1. Т.А. Гаврилова, В.Ф. Хорошевский «Базы знаний интеллектуальных систем», учебник, Санкт-Петербург, «Питер», 2001

      2. www.citforum

      3. www.bur.oivta

      4. www.analyst