скачать рефераты
  RSS    

Меню

Быстрый поиск

скачать рефераты

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

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

<html>

<head>

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

<meta name="KEYWORDS" content="Microsystems, TextAnalyst, text mining, knowledge discovery, textmining, e-commerce, classification, semantic analysis, neuro networks, natural linguistc, text processing, Микросистемы, анализ текстов, база знаний, документооборот, классификация, семантический анализ, нейронные сети, натуральные языки, текст процессор">

<meta name="GENERATOR" content="Microsoft FrontPage 4.0">

<meta name="ProgId" content="FrontPage.Editor.Document">

<title>Microsystems, Ltd</title>

<link rel="stylesheet" type="text/css" href="style.css">

</head>

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

<body topmargin="0" leftmargin="0">

<table border="0" cellspacing="0" cellpadding="0">

    <tr>

   <td valign="top" width="239"><a href="/index.php?lang=eng"><img

border="0" src="/images/top_logo.gif"></a></td>

   <td valign="top" align="left">

     <table border="0" cellspacing="0" cellpadding="0">

              <tr><td width="100%"><img border="0" src="/images/top_up.gif">

              </td></tr>

              <tr> <td width="100%">

   <table border="0"  cellspacing="0" cellpadding="0" width="100%"

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

                  <tr><td width="100%">

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

                      </table>

                      </td></tr>

                    </table>

                            <!-- end menu -->

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

        <!-- start menu here -->

             <table border="0" cellspacing="0" cellpadding="0" width="100%">

        <tr> <td width="241" valign="top" align="left">

       <table border="0" width="100%" cellspacing="0" cellpadding="0">

              <tr><td width="100%">

             <p>&nbsp;</p>

        <p align="center">                

  <img border="0" src="/images/10thyear_s.gif" width="210" height="52">

         </p>

                </td></tr>

              <tr><td width="100%" valign="top" align="left">

                <!-- left menu-->

         <table border="0" width="218">

        <tr><td width="210" bgcolor="#DDDDDD" valign="top" align="left">

                      <p align="right"><b>Products</b></td>

                  </tr>

 <tr onmouseout="this.style.backgroundColor='transparent'"

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

                              <td width="210" align="right">

  <a href="/index.php?lang=eng&dir=content/products/&id=body&left=

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

  <span style="color: #000000; text-decoration: none">

            TextAnalyst SDK</span></a>

     </td></tr>

<tr><td width="210" align="right">

<p align="right"><img border="0" src="/images/bd14580_.gif" width="12"

height="12">

TextAnalyst</p>

</td></tr>

<tr onmouseout="this.style.backgroundColor='transparent'"

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

<td width="210" align="right">

<a href="/index.php?lang=eng&dir=content/products/&id=

tref&left=content/products/menu.txt

" target="_self">

<span style="color: #000000; text-decoration: none">

Text Referent</span></a>

</td></tr>

<!-- end left menu-->

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

            </table>

  <!-- end here -->

                     </td>

                     <!-- free space -->

                     <td valign="top" align="left">

                     &nbsp;&nbsp;&nbsp;&nbsp;

                     </td>

                     <!-- end free space -->

                               

          <td valign="top" align="left" width=100% >

          <!-- content started here -->

           <table border="0" cellspacing="6" cellpadding="0">

           <tr> <td width="100%" valign="top" align="left">

<head>

<meta name="DESCRIPTION" content="TextAnalyst - personal text mining system">

<meta name="KEYWORDS" content="TextAnalyst, personal, text mining">

<title>TextAnalyst</title>

</head>

<div align="left">

  <table border="0" align="left" cellspacing="4" cellpadding="3">

    <tr> <td valign="top" align="center" width="250">

        <p align="center">&nbsp;</p>

        <p align="center"><a href="cgi-bin/stat/loadfile.pl?file=ta_rus">

        <img border="0" src="images/downloads.gif"></a></p>

        <p align="center">Получите бесплатную версию

        TextAnalyst</p>

        <table border="0">

          <tr><td width="100%" bgcolor="#008000">

              <p align="center" class="menu">

              <font color="#FFFFFF">Системные требования</font></td> </tr>

          <tr><td width="100%">Intel-based PC</td> </tr>

          <tr> <td width="100%">Windows 9X, NT, 2000, Me</td> </tr>

          <tr> <td width="100%" bgcolor="#C0C0C0">

              <p align="center" class="menu">

       <font color="#FFFFFF">Технические характеристики</font></td>/tr>

          <tr><td width="100%" valign="top" align="left">

              <ul>

    <li>&nbsp;Средняя скорость анализа текста около 1Мбайт/мин (при использовании Pentium-II).</li>

    <li>Максимальный объем анализируемой подборки  не ограничен и зависит от объема ресурсов компьютера и настройки TextAnalyst.</li>

     <li>Собственный объем TextAnalyst не превышает 5Мб.</li>

     <li>Форматы обрабатываемых файлов:</li>

     <li>*.txt (ANSI, DOS), *.rtf</li>

     <li>Экспорт информации  в форматы: *.txt,

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

              </ul> </td></tr>

        </table>

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

      <h1 align="center">

      <img border="0" src="../../images/octopus_shaden.gif" align="left" width="99" height="112">TextAnalyst 2.0&nbsp;</h1>

        <p align="center"><b>персональная система автоматического анализа текста&nbsp;</b></p>

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

        <ul>

          <li>анализа содержания текста с автоматическим формированием семантической сети с гиперссылками - получения смыслового портрета текста в терминах основных понятий и их смысловых связей;&nbsp;</li>

          <li>анализа содержания текста с автоматическим формированием тематического древа с гиперссылками - выявления семантической структуры текста в виде иерархии тем и подтем;&nbsp;</li>

          <li>смыслового поиска с учетом скрытых смысловых связей слов запроса со словами текста;&nbsp;</li>

          <li>автоматического реферирования текста - формирования его смыслового портрета в терминах наиболее информативных фраз;&nbsp;</li>

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

          <li>автоматической индексации текста с преобразованием в гипертекст;&nbsp;</li>

          <li>ранжирования всех видов информации о семантике текста по «степени значимости» с возможностью варьирования детальности ее исследования;&nbsp;</li>

          <li>автоматического/автоматизированного формирования полнотекстовой базы знаний с гипертекстовой структурой и возможностями ассоциативного доступа к информации;&nbsp;</li>

        </ul>

        <p align="center"><b>Не пугайтесь обилия возможностей!</b></p>

        <p align="center"><i>Работа с TextAnalyst покажется Вам неожиданно простой и приятной, а его аналитические способности сэкономят массу полезного времени...

        </i></p></td> </tr>

  </table></div></td> </tr>

            </table>

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

</body>

</html>

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

-        ключевые слова, относящиеся к данному документу: Microsystems, TextAnalyst, text mining, knowledge discovery, textmining, e-commerce, classification, semantic analysis, neuro networks, natural linguistc, text processing, Микросистемы, анализ текстов, база знаний, документооборот, классификация, семантический анализ, нейронные сети, натуральные языки, текст процессор (тег <META>);

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

-        текст описания возможностей программы TextAnalyst организован в виде списка (тег <li>).

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

HTML-text :: = <HTML> HEAD BODY </HTML>

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

TITLE :: = <TITLE> строка </TITLE>

META :: = <META name="KEYWORDS" content="строка">

KEYWORDS :: = …

BODY :: = <BODY> HTML-BODY </BODY>

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

PARAGRAPH :: = <P> текст </P>

TABLE :: = <TABLE> TABLE-CELLS </TABLE>

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

STROKA :: = <TR> CELL </TR>

CELL :: = <TD> текст </TD>

LIST :: = <UL> LIST-ATOM </UL>

LIST-ATOM :: = …

ANCHOR :: = <A HREF=LINK> TEXT </A>

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 class HTML extends FramePrototype {

     HEAD head=null;

     BODY body-null;

………….

     String keyword;

Public void HTML (String name) {

   Super (name);

   keyword=getToken();

   if (keyword.compareTo (“<HTML>”) = =0 {

       head = new HEAD (getNewName());

       body = new BODY (getNewName());

    };

keyword = getToken ();

if (keyword.compareTo (“</HTML>”)= =0) return;

}

…………………

Public void (String nam) {

    Super (name);

    Keword=getToken();

    If (keyword compareTo (“<BODY>”) = = 0 {

    paragraph = new PARAGRAPH (getNewName());

    header = new HEADER (getNewName());

    table = new TABLE (getNewName());

     };

keyword = getToken ();

if (keyword compareTo (“</BODY>”) = = 0) return;

}

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

}

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

HTML currPage = new HTML (get_new_name());

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

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


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

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

2)     www.citforum.ru

3)     www.bur.oivta.ru

4)     www.analyst.ru


Страницы: 1, 2


Новости

Быстрый поиск

Группа вКонтакте: новости

Пока нет

Новости в Twitter и Facebook

  скачать рефераты              скачать рефераты

Новости

скачать рефераты

Обратная связь

Поиск
Обратная связь
Реклама и размещение статей на сайте
© 2010.