Диссертация (Методы и программные средства поиска информации на основе прецедентов в интеллектуальных поисковых системах), страница 18
Описание файла
Файл "Диссертация" внутри архива находится в папке "Методы и программные средства поиска информации на основе прецедентов в интеллектуальных поисковых системах". PDF-файл из архива "Методы и программные средства поиска информации на основе прецедентов в интеллектуальных поисковых системах", который расположен в категории "". Всё это находится в предмете "технические науки" из Аспирантура и докторантура, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. , а ещё этот архив представляет собой кандидатскую диссертацию, поэтому ещё представлен в разделе всех диссертаций на соискание учёной степени кандидата технических наук.
Просмотр PDF-файла онлайн
Текст 18 страницы из PDF
В привязке реализованы следующие возможности: обменсообщениями WS-Reliable для обеспечения надежности, а также WS-Security дляобеспечения безопасности и проверки подлинности сообщений. В качестветранспорта используется HTTP, а для кодировки сообщений – кодировкаText/XML. Она обеспечивает интероперабельность распределенных систем.ДлякаждогосервисапривязкаwsHttpBindingзадаетсявконфигурационном файле. Задавая привязку таким образом, разработчик можетзатемзаменитьеенадругуюилимодифицироватьпараметры,неперекомпилируя приложение. В приложении 1 приведена конфигурация сервисас помощью привязки wsHttpBinding.1244.3.3. Определение конечных точекВся связь с сервисом WCF осуществляется через конечные точки сервиса.Конечныеточкиобеспечиваютдоступклиентовкфункциональнымвозможностям сервиса WCF [63].
Каждая конечная точка состоит из трехсвойств: адрес, показывающий, где можно найти конечную точку; привязка, показывающая, как клиент может связаться с конечной точкой; контракт, определяющий доступные операции.В разработанной системе конечные точки каждого сервиса заданы спомощью конфигурации в конфигурационном файле. В секции <serviceModel>определена конечная точка. Для каждой конечной точки задаются адрес,привязка и контракт. Адрес в данном случае пуст, это означает, что нужноиспользовать тот же адрес, что для самого сервиса. В качестве привязки указанwsHttpBinding, а в качестве имени контракта – имя класса, определенного в коде,– StraySearchP1Service.StraySearchService.
Здесь ещё определена конечная точкаобмена метаданными (MEX). Конечная точка МЕХ поддерживает отраслевойстандартобменаметаданными,представленныйвWCFинтерфейсомIMetadataExchange. Метаданные в сервисе содержат информацию, точноописывающую, как следует обращаться к сервису. Запросив у работающегосервиса метаданные, клиент может узнать о ее конечных точках и требуемыхформатах сообщений. На этапе проектирования клиенты посылают такой запросв виде сообщения, определенного в стандарте WSMetadataExchange, и получаютв ответ WSDL-документ. Этот документ клиент может использовать длягенерации проксикласса и конфигурационного файла, которые впоследствиииспользуются для доступа к сервису во время выполнения.1254.4.Реализация Web-приложения «STRAY SEARCH»Данное Web-приложение является клиентом для пользователей ИПС. Оносоздано на основе технологии ASP.NET MVC.
ASP.NET MVC разделяетприложение на три основных компонента: модель, представление и контроллер[59, 60, 61]. Объекты моделей являются частями приложения, реализующимилогику для домена данных приложения. Представления служат для отображенияпользовательскогоинтерфейсаприложения.Контроллерыосуществляютвзаимодействие с пользователем, работу с моделью, а также выборпредставления, отображающего пользовательский интерфейс. Реализация Webприложения «STRAY SEARCH» включает себя процесс создания трёх основныхкомпонентов MVC и подготовку к взаимодействию с Web-сервисами.4.4.1. Создание моделей (Models)Модель – это программное представление объектов реального мира,процессов и правил, которые составляют суть, или предметную областьприложения [59].
Это центральное хранилище данных и логики (т.е. бизнеспроцессов и правил). Все остальное (контроллеры и представления) – это простомеханизмы, необходимые для представления операций и данных модели в Web.Для создания моделей использованы классы на языке C#. Ниже приведенреализованный класс для модели «сайт». Эта модель предназначена дляпредставления объектов проиндексированных web-ресурсов (сайтов).
В классеопределены необходимые свойства для модели «сайт» с помощью средств С#(т.е. {get;set;}). Для управления форматированием в классе добавлены атрибуты[Required], [Display] и [MaxLength].На рис. 24 представлены созданные классы моделей для приложения.126Рис. 24. Классы моделей4.4.2. Создание котроллеров (Controllers)Всякий раз, когда в приложение ASP.NET MVC поступает запрос, егообрабатывает контроллер [59].
Контроллеры отвечают за логику приложения,которая включает пользовательский ввод, генерацию команд для моделипредметной области, извлечение данных из модели, а также перемещениепользователя между различными частями пользовательского интерфейса.Контроллер – это класс С#, в который помещается любая логика, необходимаядля обработки запроса.Котроллер предоставляет следующие возможности:•Методы действий.
Поведение контроллера разделено на множествометодов (вместо единственного метода Execute ()). Каждый метод действия виден127внешнему миру через свой URL и вызывается с параметрами, извлекаемыми извходящего запроса.•Результаты действий. Из метода можно вернуть объект, описывающийжелаемыйрезультат действия(например, визуализацию представления,переадресацию на другой URL или другой метод действия), который затемвыполняется автоматически.•Фильтры.Многократноиспользуемоеповедение(например,аутентификация или кэширование вывода) можно инкапсулировать в видефильтров, после чего с помощью [Attribute] пометить каждый из них в одном илиболее контроллерах или методах действий.Методы действий определены в контроллере.
Методы действий обычнооднозначно сопоставляются с различными формами взаимодействия спользователем. URL каждого метода действия определяется конфигурациеймаршрутизации. При конфигурации метод действий для поиска (Search()) можновызывать, запрашивая /Search. Большинство методов действий возвращаютэкземпляр класса-наследника ActionResult. Класс ActionResult является базовымдля всех результатов действий. Метод View возвращает экземпляр классаViewResult, который является наследником ActionResult.
Метод View отображаетпредставление в качестве Web-страницы. Значения параметров методов действийизвлекаются из коллекции данных запроса. Коллекция данных включает пары"имя-значение", содержащее данные форм, значения из строки запросов. Вразработанномприложениисоздано2контроллера:HomeControllerиAccountController.4.4.3. Создание Представлений (Views)Представления служат для отображения пользовательского интерфейсаприложения [59].
Представление отображает необходимый пользовательский128интерфейс с помощью данных, передаваемых из контроллера. Данныепередаются в представление из метода действия контроллера с помощью методаView.MVC Framework включает два встроенных механизма представлений:1.механизм Razor представлений;2.механизм ASP.NET представлений.В разработанном приложении использован механизм Razor представлений.Razor является синтаксисом разметки, который позволяет встраивать серверныйкод (Visual Basic и C #) в Web-страницу.Синтаксис Razor основан на ASP.NET, и предназначен для создания Webприложений. Он обладает возможностями традиционной ASP.NET разметки, ноон проще в использовании и легче для освоения.Основные синтаксические правила Razor для C#:•блоки Razor кода заключаются в @ {...}.•Встроенные выражения (переменные и функции) всегда начинаются с @.•Операторы в выражениях заканчиваются точкой с запятой.•Переменные объявляются с ключевым словом var.•Строки заключаются в кавычки.•C# код чувствителен к регистру.•C# файлы имеют расширение .cshtml.В разработанном приложении представления (Views) созданы с помощьюследующих способов:•Встроенный код.
Используется для небольших, самодостаточных частейкода представления, таких как операторы if и foreach.•ВспомогательныеодиночныхметодыHTML-дескрипторовHTML.илиПредназначенынебольшихдляколлекцийгенерацииHTML-129дескрипторов на основе данных, извлекаемых из Model. ASP.NET MVCпоставляется с широким диапазоном базовых вспомогательных методов HTML.•Частичные представления. Применяются для совместного использованиясегментов разметки в нескольких представлениях.
Это легковесные многократноиспользуемые элементы управления, которые могут содержать логикупредставления (т.е. встроенный код, вспомогательные методы HTML и ссылкина другие частичные представления), но никакой бизнес-логики. Они подобнывспомогательным методам HTML за исключением того, что создаются спомощью шаблонов Razor, а не в коде С#.•Графическиеэлементы.Требуютсядлясозданиямногократноиспользуемых элементов управления пользовательского интерфейса илиграфических элементов, которые могут включать логику приложения наряду слогикой презентации.
Каждый раз при визуализации такого графическогоэлемента требуется запуск отдельного процесса MVC, с методом действия,который выбирает и визуализирует собственный шаблон представления длявключения в поток ответа.В разработанном приложении создано 3 представлении для методовдействий HomeController (приложение 1): Search(), Index() и Details().4.5.Применение и анализ эффективности разработанного прототипаИПС на основе прецедентов4.5.1. Пример выполнения пользовательского запроса к ИПС«STRAY SEARCH»Рассмотрим пример выполнения запроса авторизированного пользователяк ИПС «STRAY SEARCH».130На рис.
25 показан интерфейс системы для ввода запроса к ИПСавторизированного пользователя (strayman): «технология разработки аsp.net».Рис. 25. Интерфейс системы для ввода запроса к ИПСНа основе введенного пользователем запроса формируется поисковоепредписание, содержащее набор ключевых слов, полученных после выполнениятокенизации, удаления стоп-слов, нормализации и стемминга. Для данногопримера формируется следующий список ключевых слов: технология,разработка, аsp.net.Агент управления получает запрос и поисковое предписание.После этого Агент управления активизирует работу CBR-агента1 (дляпользователя strayman), у которого в БП хранятся 5 прецедентов (рис. 26).Рис. 26. БП для CBR-агента1131Как видно на рисунке запрос пользователя не совпадает с запросами впрецедентах.
Поэтому в результате получаем пустой результирующий списокРез1 = {}.Далее агент управления, получив ответ от CBR-агента1 с пустымрезультирующим списком, активизирует других агентов из рабочей группы (4агента), БП которых приведены на рис. 27:Рис. 27. БП для других агентов из рабочей группыЗатем каждый из агентов выполняет поиск по прецедентам и выдаетрезультат (номера соответствующих документов в индексе (БД) поисковоймашины):Рез2 = {1,2,4,6,8,9,10,13,17,28,29,30,31,32,33,42,44,45,47,49,53,74,78,72,79,80,81,83,84,85}Рез3 = {1,2,3,6,10,11,12,13,15,16,17,18,28,29,30,31,32,33,41,42,44,45,53,54,55,60,62,65,67,74,78,72,79,80,81,82,97,83,84,85,90,91,94,95,99,100,102,108,110}Рез4 = {}Рез5 = {1,2,3,4,6,7,8,9,10,11,12,13,15,16,17,18,20,22,23,26,28,30,31,33,41,42,44,45,46,47,49,53,54,55,60,62,65,67,72,74,78,79,80,81,82,83,84,85,90,91,94,95,97,99,100,109,110}132На последнем этапе агент управления формирует итоговый списокдокументов на основе полученных результатов CBR-агентами из рабочейгруппы, применяя схему голосования с пороговым значением 50% (рис.