Построение интеллектуального агента на платформе Jadex с помощью XML формата
Разрабатываемый модуль агента Glossary: содержит модули по формированию терминов GlossaryDictionary.xml к нему прилагается документ GlossaryDictionary.dtd определяющий тип документа, определяет законные блоки документа XML, структуру документа со списком законных элементов (атрибутов). Также содержит модуль логического ответа пользователю GlossaryAgent.xml. Весь глоссарий представлен в XML файле и находится в Приложении А, а описание его тегов контролируется в DTD файле. В данном XML файле под названием GlossaryDictionary.xml описывается перечень терминов, которые будут использоваться агентом при поиске материала обучаемому студенту. <?xml version="1.0"?> данный тег обозначает версию документа. <!DOCTYPE glossary SYSTEM "GlossaryDictionary.dtd"> данная строка показывает, что мы определяем структуру нашего документа XML в DTD формате. В начале XML файл описывается заглавным тегом, определяющим его назначение <glossary>…</glossary>. Описываем название с помощью атрибута title ="…" и дату создания orderDate="…?...?..." Уже в нем мы определяем наши термины <terms>…</terms>. Свойства термина описываем, используя, теги: <term>…</term> - тег, которым мы объявляем термин. value="term…" – значения термина при поиске в перечне материла. Далее объявляем его имя с помощью тега <name>…</name>. <image ref="...> данный тег описывает рисунки к тому термину, который ему соответствует. <count>…</count> отвечает за количество определений термина. А в свою очередь определения обозначаются как <definition>…</definition>, и уже в нем мы описываем count="…" какое это определение по счету. Также существуют вложенные гиперссылки - <giperlink>…</giperlink>, которые отвечают за то, что бы при просмотре термина, когда человек переходит на вложенную ссылку агент мог отреагировать на этот запрос (см. пример использования определения тегов в прил. А, В) [7,9,10,12]. Описание интеллектуального агента глоссария происходит также через xml формат. В нем мы описываем цели, которые агенту необходимо достичь. Также описываются планы, факты, события с помощью каких агент достигает этих целей. Описание агента глоссария можно увидеть на ниже изложенных рис. 2.2-2.8:
GlossaryAgent.xml <!--<H3>Glossary agent</H3>--> <agent xmlns="http://jadex.sourceforge.net/jadex" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jadex.sourceforge.net/jadex http://jadex.sourceforge.net/jadex-0.94.xsd" name="Glossary" package="Glossary"> Рисунок 2.2 – Общее описание агента глоссария
<imports> <import>jadex.planlib.*</import> <import>jadex.runtime.*</import> <import>jadex.util.*</import> <import>jadex.adapter.fipa.SFipa</import> <import>java.util.logging.*</import> <import>jadex.adapter.fipa.*</import> </imports> Рисунок 2.3 – Импортируемые библиотеки
<goals> <! -- Query goal represents a necessity in information, executes the search of terms. --> <querygoal name="query_term" exclude="never"> <parameter name="result" class="term" direction="out"> <value evaluationmode="dynamic"> select one $term from $beliefbase.terms where !$term.isFull() order by $beliefbase.my_location.getDistance($term.getLocation()) </value> </parameter> </querygoal> <!-- Main goal of the student is to give additional information. --> <maintaingoal name="term_definition"> <maintaincondition> $beliefbase.query = true </maintaincondition> </maintaingoal> </goals> Рисунок 2.4 – Цели работы агента <beliefs> <!-- Restart agent --> <belief name="Restart" class="Glossary"> <fact>GlossaryPlanRestart();</fact> </belief> <!-- The presence of request for additional information. Search of terms from the list of materials. --> <belief name="QuerySearch" class="Glossary"> <fact>GlossaryPlanSearch.getGlossaryDictionary();</fact> </belief> <!-- Opening of the found searching information. --> <belief name="ContentOpen" class="Glossary"> <fact>GlossaryPlanOpenDictionary();</fact> </belief> <!-- Send message to agent coordinator. --> <belief name="FileNotFound" class="Glossary"> <fact>GlossaryPlanSendMessageTermNotFound();</fact> </belief> <!-- Send message to agent chat. --> <belief name="NoTerm" class="Glossary"> <fact>GlossaryPlanSendMessageNoTerm();</fact> </belief> <!-- Send message to student. --> <belief name="NoReference" class="Glossary"> <fact>GlossaryPlanSendMessageNoReference();</fact> </belief> <!-- Sleep mode agent--> <belief name="SleepMode" class="Glossary"> <fact>GlossaryPlanSleep();</fact> </belief> </beliefs> Рисунок 2.5 – Используемые знания агентом, которые описывают исполняемые факты
<plans> <!-- Plan restart agent--> <plan name="restart"> <body>new GlossaryPlanRestart()</body> </plan> <!-- Plan presence of references in the text--> <plan name="reference"> <body>new GlossaryPlanReference()</body> </plan> <!-- Plan search of necessary term--> <plan name="search"> <body>new GlossaryPlanSearch()</body> <trigger><messageevent ref="request_reference"/></trigger> </plan> <!-- Plan reflection of content--> <plan name="content_open"> <body>new GlossaryPlanOpenDictionary()</body> </plan> <--External plan. Description of interaction with an agent by a co-ordinator.--> <plan name="coordinator"> <body>new GlossaryPlanSendMessageTermNotFound()</body> <trigger><messageevent ref="request_inform"/></trigger> </plan> <--External plan. Description of interaction with an agent by a chat.--> <plan name="chat"> <body>new GlossaryPlanSendMessageNoTerm() </body> <trigger><messageevent ref="request_failure"/></trigger> </plan> <-- Plan show message to student--> <plan name="student"> <body>new GlossaryPlanSendMessageNoReference() </body> <trigger><messageevent ref="request_reference"/></trigger> </plan> <!-- Plan sleep mode agent--> <plan name="sleep"> <body>new GlossaryPlanSleep()</body> </plan> </plans> Рисунок 2.6 – Исполняемые планы агента
<events> <messageevent name="request_inform" direction="receive" type="fipa"> <parameter name="performative" class="String" direction="fixed"> <value>SFipa.INFORM</value> </parameter> <parameter name="content-start" class="String" direction="fixed"> <value>"Error! Reference of the term is not found."</value> </parameter> </messageevent> <messageevent name="request_failure" direction="receive" type="fipa"> <parameter name="performative" class="String" direction="fixed"> <value>SFipa.FAILURE</value> </parameter> <parameter name="content-start" class="String" direction="fixed"> <value>"It is necessary to lay out material. Add dictionary" </value> </parameter> </messageevent> <messageevent name="request_reference" direction="send" type="fipa"> <parameter name="performative" class="String" direction="fixed"> <value>SFipa.REQUEST</value> </parameter> <parameter name="content-start" class="String" direction="fixed"> <value>"Reference is not found. Make an effort other time." </value> </parameter> </messageevent> </events> Рисунок 2.7 – События, выводимые сообщения для передачи иным агентам или конечному пользователю
<initialstates> <initialstate name="default"> <plans> <initialplan ref="SeachTerm"/> </plans> </initialstate> </initialstates> </agent> Рисунок 2.8 – Описывает начальное состояние агента и завершение его описания
2.2.1 Описание интеллектуального агента глоссария с использованием платформы Jadex. Для начала агент описывается в HTML в соответствии с заданными планами, целями и фактами, как это представлено выше. Рассмотрим характеристики агента. Агент глоссарий имеет такие характеристики как: - наличие запроса и поиска дополнительной информации; - открытие найденой искомой информации; - просмотр необходимой информации. Входная информация: - запрос на поиск необходимого материала. Выходная информация: - найденная по ссылке информация. 2.2.2 Цели. В разрабатываемом агенте выделяется две цели. Это цели вида запроса (query) и главная цель (main goal). Цель запроса изображает необходимость в информации, выполняет поиск условий. Представляет необходимость в информации. Главная цель – это предоставить студенту дополнительную информацию. Эта цель специфицирует состояние, которое должно быть достигнуто. 2.2.3 Знания. В знаниях описываются происходящие факты в ходе работы агента. В нашем случае описывается семь знаний, в которых определяются факты. При запуске агента вызывается факт Restart agent. Следующим фактом есть зарос на поиск QuerySearch, показывает присутствие запроса на дополнительную информацию и выполняет поиск терминов от списка материалов. Открытие искомой информации со словаря выполняется с помощью факта ContentOpen. TermNotFound – говорит о том, что будет отправлено сообщение об ошибке агенту координатору. А агенту чата отправляется сообщение с помощью факта NoTerm о том, что необходимо, чтоб преподаватель выложил необходимый материал, которого нет в наличии. Отсылается сообщение студенту о неправильной ссылке. SleepMode – показывает переход агента в спящий режим.
2.2.4 Планы. В разрабатываемом агенте выделяются планы restart, reference, search, content_open, coordinator, chat, student, sleep: - Restart - выполняет запуск агента при вызове его агентом координаторе; - Reference - присутствие ссылок по тексту; - Search – поиск необходимого термина; - Content_open - отображение содержимого словаря; - Coordinator - описание взаимодействия с агентом координатором. Отсылает сообщение об ошибке, термин не найден. Является внешним планом; - Chat - внешний план. Описание взаимодействия с агентом чата. Отсылает сообщение о том, что материала нет в наличии; - Student – вывод сообщения студенту. Отсылает сообщение о том, что ссылка неправильная и материала нет в наличии; - Sleep – агент переходит в спящий режим. Таким образом, была разработана модель интеллектуального агента, которая определяет его действия в общей мультиагентной системе дистанционного обучения. Также были определены цели для достижения выполнения агентом, факты и планы для выполнения этих целей [11].
Популярное: Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ... Почему стероиды повышают давление?: Основных причин три... Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (183)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |