Проектирование визуальных конструкций на основе языка JAPE и выявление требований к веб-редактору для них, Проектирование визуальных конструкций - Разработка веб-редактора для описания лексико-семантических шаблонов на визуальном языке
Проектирование визуальных конструкций
Вторая глава описывает процесс трансформации текстового языка JAPE в визуальный язык, который позволит описывать лексико-семантические шаблоны в форме диаграмм Вирта. Данная форма представления наиболее очевидна для понимания, а это значит, что она поможет снизить порог вхождения пользователям, которые захотят начать свою работу с платформой GATE. Прежде всего, будет проведен более подробный обзор грамматики языка JAPE, рассмотренытрансформации конструкций. После чего, будут разработаны требования для редактора.
В приложении А представлена вся грамматика языка JAPE в форме БНФ. В виду своей сложности, на первом этапе разработки будет выполнена визуализация не всех его конструкций, а только наиболее используемых новичками. Все шаблоны, создаваемые с помощью языка JAPE можно представить в форме диаграмм Вирта, т. к. они направлены на извлечение слов из текста.
Разработка визуального представления
Как было описано выше, на первом этапе разработки, будут описаны только самые часто-используемые конструкции языка JAPE. Таким образом, в соответствии с грамматикой языка (см. приложение А), левая часть правила может быть описана как "PatternElement". Этот элемент и является шаблоном для извлечения информации из текста. Это может быть как обычный идентификатор, так и "BasicPatternElement" или "ComplexPatternElement".Диаграмма Вирта для "BasicPatternElement" (объединенная с "Constraint") описана на рисунке 2.1:
Рисунок 2.1. Диаграмма Вирта для описания конструкции "BasicPatternElement", объединенная с "Constraint"
"AttrVal"в этой диаграмме - значение атрибута, которое может быть конечного числа типов: "<string> | <ident> | <integer> | <floatingPoint> | <bool>". Таким образом, идентификатор и значение атрибута можно преобразовать в атрибут и его значение для объекта, идетификатор которого пишется перед точкой. Например, Token. kind == "number" будет преобразован в объект с идентификаторомToken, у которого будет атрибут (свойство) "kind" со значением "number". При чем, тип значения будет "ident", т. к. в случае этого примера, шаблон извлекает из текста числа. На рисунке 2.2 с помощью UML нотации описан класс Token с его атрибутами, его визуальное представление и описание на языке XML (с опущением некоторых атрибутов, таких как координаты фигуры и его размеры).
Рисунок 2.2. Объект "Token", его визуальное представление и писание в формате XML
Таким образом, с помощью визуального представления объекта, можно упростить изображение правила. Чаще всего, начинающим пользователям необходимо извлекать слова или фразы из текста, поэтому, схема описания этого шаблона будет гораздо более читаемой для них, чем текстовое представление языка. А создание такого объекта будет сопровождаться подсказками и описанием что необходимо описать для извлечения необходимых словосочетаний.
Одна визуальная диаграмма будет представлять собой одну фазу ("Phase"). С одним правилом ("Rule"). Такое решение было принято в связи с тем, что данный вид шаблонов наиболее читаем для начинающих пользователей, а значит, понятен, и, позволит максимально упростить процесс их создания. Таким образом, фаза ("Phase"), описанная в виде диаграммы Вирта на рисунке 2.3. Будет преобразована в объект, который и будет представлять собой поле для создания диаграммы. Так как было решено использовать SVG для генерации графики, "полотном" для создания всех объектов будет тэг "<svg>", он и будет представлять собой описание фазы и правила в ней. Таким образом, описание фазы с рисунка 2.4 на языке XML будет выглядеть следующим образом (атрибуты тэга, необходимые для визуализации опущены): "<svg ... phase = "firstpass" rule = "TwoPatterns" priority = "20" />".Атрибуты описывающие "Input"и "Options"будут опущены, т. к. было решено оставить их по умолчанию, т. к. для начинающих пользователей эти атрибуты вызывают непонимание. В последующих итерациях разработки они могут быть лего добавлены.
Рисунок 2.3. Описание фазы языка JAPE в виде диаграммы Вирта
Рисунок 2.4. Шаблон, описанный на языке JAPE, аннотирующий названия и имена людей
Правая часть шаблона описывает действие именования выделенных ранее меток "person" и "title" в "Person" и "Title" соответственно посредством правила "TwoPatterns". Данное действие описано в грамматике языка в форме БНФ как "AssignmentExpression", однако, помимо него в правой части может стоять либо блок кода на языке Java (именованный или нет) либо идентификатор. На диаграмме визуального языка, основанного на JAPE, для описания этой части правила будет использован "вход" и "выход" для описываемой диаграммы. Объект "вход" будет иметь атрибут "label", куда будет записываться название метки ("title" или "person" из примера на рисунке 2.4). Объект "выхода" будет иметь атрибут "ident" для описания наименования определенных ранее меток. Если пользователю будет необходимо добавить блок с кодом на Java, он сможет это сделать добавив объект на диаграмму.
Таким образом, на рисунке 2.5 представлен пример с рисунка 2.4, описанный на визуальном языке. Оба прямоугольника - объекты типа "Lookup", ведущие поиск по документу в поисках уже аннотированного текста, где свойство "majorType" эквивалентно значению в прямоугольнике. Кроме того, сам объект svgимеет атрибуты, описанные выше. Их пользователь вводит при создании диаграммы.
Рисунок 2.5. Шаблон на визуальном языке, аннотирующий названия и имена людей
Некоторые правила могут содержать отрицание, как описано в БНФ, представленной в приложении А. Поэтому, было решено ввести понятие "негативного выхода", т. е. чтобы пользователь мог определить нежелательный шаблон. Таким образом, на рисунках 2.6 и 2.7 можно увидеть как шаблон для аннотирования названий, не начинающихся на S (или s) будет выглядеть на языке JAPE и визуальном языке соответственно. Сначала будут найдены все совпадения "Lookup. majortype == "Title"", а после этого, выявлены те, что начинаются на S будут исключены.
Рисунок 2.6. Шаблон на языке JAPE, аннотирующий названия, не начинающиеся на S или s
Конструкция "MacroDef" будет преобразована в объект-ссылку на другую диаграмму. Таким образом, были трансформированы все конструкции языка JAPE, которые могут быть использованы начинающими пользователями.
Рисунок 2.7. Шаблона на визуальном языке, аннотирующий названия, не начинающиеся на S или s
Выявление требований для веб-редактора
Веб-редактор для описания лексико-семантических шаблонов должен предоставлять возможность описания шаблонов на визуальном языке, с последующим сохранением и использованием этих шаблонов. Таким образом, на вход могут подаваться пустые файлы или уже созданные ранее диаграммы, а на выходе должны получаться готовые диаграммы (см. рисунок 2.8).
Рисунок 2.8. IDEF0 для модуля веб-редактора для описания лексико-семантических шаблонов на визуальном языке
В качестве управления будут выступать правила, описывающие грамматику языка JAPE, т. к. в итоге, полученные диаграммы должны быть использованы для анализа текстов с помощью платформы GATE, которая использует этот язык для описания шаблонов. Вторым условием правильного функционирования блока будет поддержка интерфейсов веб-службы, которая будет исполнять роль хранилища всех данных (диаграмм). Таким образом, необходимо использовать эти интерфейсы для корректного сохранения лексико-семантических шаблонов в хранилище, для последующего их использования в системе SFTA, которая, на базе платформы GATE будет анализировать большие количества неструктурированной текстовой информации.
Архитектура веб-приложения
На рисунке 2.9 изображена архитектура будущего веб-приложения.
Рисунок 2.9. Архитектура веб-редактора для описания лексико-семантических шаблонов
Все операции по рисованию диаграммы будут выполняться на клиентской части приложения посредством обработчиков событий на JavaScript. Это позволит ускорить работу по созданию диаграмм. Сервер будет выполнять операции по сохранению/загрузке диаграмм в/из облачного хранилища соответственно. Для добавлен этих функций будет реализован WebServiceclient, который позволит осуществить связь с WCFсервисом. Для того, чтобы созданные диаграммы можно было использовать при анализе текстов, их необходимо преобразовать в язык JAPE. Эту функцию будет выполнять интерпретатор, который будет осуществлять трансформацию визуального языка в JAPE, и обратно. Таким образом, все диаграммы будут храниться в облачном хранилище в виде. jape файлов, чтобы их можно было без проблем использовать в других модулях системы SFTA.
Проектирование веб-редактора
Для реализации веб-редактора визуального языка описания лексико-семантических шаблонов была выбрана платформа Java (web-application), для генерации графики инструмент SVG и библиотека Raphael. js, которая позволит оперировать визуальными объектами. На рисунке 2.10 представлена диаграмма прецедентов, описывающая сценарии, по которым пользователь будет обращаться к разрабатываемому продукту:
Рисунок 2.10. Диаграмма прецедентов для веб-редактора описания лексико-семантических шаблонов на визуальном языке
Сохранение диаграммы будет производиться в формат XML или файлы с расширением. jape, где лексико-семантический шаблон будет храниться в виде языка XMLили языка JAPE соответственно. Однако, такое сохранение будет доступно лишь на локальный компьютер пользователя. Все файлы, которые будут сохранены в облачном хранилище, будут храниться в виде шаблонов на языке JAPE, для того, чтобы их можно было использовать для анализа текста в системе SFTA.
Таким образом, выделение классов в данном проекте было проведено по функциональности, которую они должны обеспечить. Так, класс Redactor должен предоставлять функции создания, сохранения и редактирования диаграмм, а так же их импорт. Однако, для сохранения их в облачном хранилище необходимы еще два класса - Parserи CloudConnector. Первый предоставит возможность генерации когда на JAPE из XML вида и обратно, а второй обеспечит связь с веб-сервисом, предоставляющим доступ к облачному хранилищу.
Для реализации генерации диаграммы, так же необходимо построить диаграмму классов. Для того, чтобы редактор был расширяем, и в него можно было добавить большее количество объектов, необходимо создать универсальный объект, от которого будут унаследованы все остальные. Конструкцииязыка "Lookup" и "Token" имеютобщиесвойства: objectType, propertyName, propertyValue, operation. Эти свойства необходимы для описания шаблонов. Однако, таким образом, можно строить любые объекты, присваивая им различный внешний вид. Таким образом, будет создан абстрактный объект - "AbstracrShapeObject".
На первой стадии разработки будет реализована функциональность клиента, т. е. не будет реализовано общение с сервером для того, чтобы сгенерировать код на JAPE, на основе визуальной диаграммы и сохранение файлов в облачном хранилище. Работа клиента заключается в создании новой диаграммы, ее редактирование и сохранение на локальном компьютере. Диаграмма классов для клиентской части представлена в приложении Б. Все функции по отрисовке объектов и генерации на их основе XMLкода будут возложены на клиента, т. к. это значительно уменьшит время редактирования диаграммы и позволит пользователю работать с редактором даже при отключении сервера, т. к. диаграмму можно будет сохранить на локальном компьютере в виде XML файла.
Для того чтобы с редактором было удобно работать начинающим пользователям, необходимо разработать дизайн, наиболее привычный для большинствалюдей. Так, на рисунке 2.12 представлена общая концепция дизайна веб-редактора. Верхнее меню предоставляет функции создания новой диаграммы, сохранение и импорт существующей.
Слева представлена панель, на которой находятся объекты для создания диаграммы лексико-семантического шаблона. Два элемента, которые используются как "Input" в шаблонах на JAPE по умолчанию: "Token" и "Lookup". Так же добавление начала правила (вход), его конца (выход) и негативного выхода, необходимость которого была описана выше. Далее представлена кнопка создания объекта с кодом на языке Java, объекты "string" и "ident", необходимые для описания некоторых вариаций шаблонов. Справа представлен лист, на котором будет генерироваться изображение диаграммы.
Рисунок 2.12. Общая концепция дизайна веб-редактора
Похожие статьи
-
В ходе работы были достигнуты следующие результаты: Проведен обзор платформы GATE и языка для описания лексико-семантических шаблонов JAPE. Выявлена...
-
Для того, чтобы интерпретировать XML представление в язык JAPE, был использован язык преобразования XSLT [18]. Данный язык и будет служить транслятором,...
-
Для того, чтобы строить диаграммы в соответствии с рисунком 2.7, необходимо реализовать алгоритм соединения двух объектов линией. Для отображения линии...
-
Ввиду того, что для языка JAPE не предусмотрен специализированный редактор, разработчики рекомендуют использовать Vim[10] или Eclipse[11], ассоциировав...
-
"WWWSQLDesigner" позиционируется как абсолютно бесплатный, доступный для пользователей, универсальный веб-редактор, значительно упрощающий процесс...
-
Введение - Разработка веб-редактора для описания лексико-семантических шаблонов на визуальном языке
Объем неупорядоченной и неструктурированной текстовой информации неуклонно растет, поэтому задача ее быстрой и качественной обработки актуальна сегодня...
-
В ходе исследования был разработан веб-редактор для визуального языка в соответствии с требованиями, выделенными в главе 2, по результатам опроса...
-
Реализация клиентской части приложения На языке JavaScript, в соответствии с диаграммой классов, представленной в приложении Б, были разработаны объекты...
-
В главе рассмотрены существующие решения веб-редакторов, позволяющих создавать разного типа диаграммы и генерировать на их основе программный код. Так же...
-
JAPE позволяет анализировать текст на основе регулярных выражений. Грамматика этого языка состоит из фаз, которые сдержат в себе набор шаблонов и/или...
-
Лингвистический процессор GATE GATE представляет собой инфраструктуру для разработки и развертывания компонентов программного обеспечения, которые...
-
Adobe Dreamweaver Adobe Dreamweaver - это HTML-редактор от компании Adobe, который на сегодняшний день очень известный. Первая его версия была выпущена в...
-
Концепция построения программы Список всех классов приведен на рисунке 3.1. Рисунок 3.1 - Диаграмма классов программы В качестве главного класса...
-
Общие требования Прежде чем начинать формулировать требования к пользовательскому интерфейсу, было принято решение, что необходимо ознакомиться с...
-
Тестируемый программный продукт является высокопроизводительным приложением, которое предоставляет возможность создания и настройки сетей беспроводного...
-
Среда объектно-ориентированного программирования Delphi Delphi - это комбинация нескольких важнейших технологий, высокопроизводительный компилятор в...
-
Можно выделить три основных метода разработки программного обеспечения: 1. Конструкторы программ (Аlgoritm2, Devel Studio, MnCreator, Game Maker и др.)....
-
Проектирование модели - Разработка программного приложения "Калькулятор коммунальных услуг"
При проектировании информационных систем предметная область отображается моделями данных нескольких уровней. Число используемых уровней зависит от...
-
CSS - Разработка сайта рекламного агентства "ART"
CSS (Cascading Style Sheets) - это еще один язык программирования, называемый еще формальным языком, который применяется для описания внешнего вида...
-
Microsoft Excel 2003 - Интегрированные пакеты для офисов
Microsoft Excel - это идеальное средство для решения учетных задач, обработки экспериментальных данных, составления отчетов и т. п. Документ Excel...
-
Правила формального описания синтаксиса языка программирования - Основы программирования
Под синтаксисом языка программирования понимают правила построения корректных конструкций данного языка. Синтаксис языка можно описать формально. Для...
-
Требования к видеосистеме - Разработка сайта для компании
В прошлом монитор рассматривали в основном как источник вредных излучений, воздействующих прежде всего на глаза. Сегодня такой подход считается...
-
При создании программ и формировании структур баз данных нередко применяются формальные способы их представления - формальные нотации, с помощью которых...
-
Языки программирования для Интернета - Теоретические основы информационных технологий
С активным развитием глобальной сети было создано немало популярных языков программирования, адаптированных специально для Интернета. Все они отличаются...
-
Описание методологии и техник выявления требований Сбор требований -- это итеративный процесс, который включает в себя взаимодействие с клиентами для...
-
Особенностью API для коммуникации с СКУД является то, что авторизация методов происходит не с помощью токена, а с помощью проверки IP адреса клиента на...
-
Множество D с двумя заданными на нем операциями (плюс) и (умножение) называется диоидом, если выполнены следующие аксиомы: § Ассоциативность. §...
-
Разработка концептуальной модели АИС - Проектирование автоматизированной информационной системы
Любая деятельность компании отражается в документах, и, чтобы улучшить качество рабочих бизнес-процессов, необходимо улучшить документооборот, т. е....
-
Цель Работы - изучить приемы создания и использования шаблонов классов. - Теоретические сведения Достаточно часто встречаются классы, объекты которых...
-
Возрастающая сложность современных автоматизированных систем управления и повышение требовательности к ним обуславливает применение эффективных...
-
Разработать и создать аналог системной утилиты "Диспетчер задач" по дисциплине "Системное программирование". "Диспетчер задач" должен содержать следующие...
-
Для создания программных агентов используют языки описания и реализации, которые удобно представить в виде многослойной структуры, включающей пять слоев:...
-
В работе использовались следующее программное обеспечение для решения поставленных задач: AutoCAD, ANSYS Workbench, ANSYS Icepak. Система AutoCAD...
-
Обновленная база данных должна иметь продвинутую структуру пользователей для использования на информационном портале под управлением новой CMS. Для...
-
Определение методов реинжиниринга информационных систем Основные задачи, которые стоят перед проектировщиком, занимающимся реинжинирингом информационных...
-
Разработка сайта, Среда разработки web-сайта - Разработка сайта для компании
Среда разработки web-сайта При разработке web-сайта используются: - HTML - язык разметки web-страниц; - CSS - формальный язык описания внешнего...
-
Предложенный подход к решению задач исследования Используя в качестве основы присутствующее в наличии программное обеспечение, которое применимо к...
-
Завершив выбор схемы работы системы и общего принципа работы ее частей и выбрав тип базы данных, следует перейти к выбору языка программирования....
-
В данном разделе была разработана функциональная схема работы программного комплекса, которая в общем виде описывает состав комплекса, характер и виды...
-
Обоснование выбора СУБД База данных - это совокупность сведений о реальных объектах, процессах, событиях или явлениях, относящихся к определенной теме...
Проектирование визуальных конструкций на основе языка JAPE и выявление требований к веб-редактору для них, Проектирование визуальных конструкций - Разработка веб-редактора для описания лексико-семантических шаблонов на визуальном языке