Intelligent Interface Agent For Agricultural Expert Systems

1y ago
8 Views
2 Downloads
505.46 KB
7 Pages
Last View : 28d ago
Last Download : 3m ago
Upload by : Halle Mcleod
Transcription

View metadata, citation and similar papers at core.ac.ukbrought to you byCOREprovided by Repository of the Agricultural Research CentreINTELLIGENT INTERFACE AGENT FOR AGRICULTURALEXPERT SYSTEMSYasser Abdelhamid1 , Ahmed Rafea2 , Nevien Galal3{Yasser, Rafea, Nevien}@mail.claes.sci.egABSTRACTinformation to complete its reasoning process.The acceptance of an expert system by the end userhas been regarded as one of the major criteria of expertsystems success. Expert systems are characterized by itsrequirement for heavy and complex interaction with theend user. This paper introduces an approach forinteracting with multiple expert system applicationsthrough a unified domain-specific intelligent interfaceagent. The proposed intelligent interface agentcommunicates with different expert system applicationstransparently from the end user, and makes thenecessary actions when needed. This approach increasesthe usability of expert system applications andintroduces a new methodology for expert systemsdevelopment using multi-agent systems (MAS).To overcome this difficulty, we have twoalternatives. The first alternative is to merge dependantexpert systems so they become one large system, andthis violates the requirement of narrow scope expertsystems; The more narrow scope we have, the moreeasily manageable knowledge we can handle. Thesecond alternative is to ask the user for the requiredinformation by conducting separate sessions with otherexpert systems, and this alternative increases thecomplexity of interaction with the user.The proposed approach has been applied by the CentralLaboratory for Agricultural Expert Systems (CLAES)where two expert system applications – diagnosis andirrigation – have been interfaced by an intelligentinterface agent. According to our proposed approach anumber of advantages have been accomplished at bothpractical and theoretical levels.KEYWORDS :Intelligent agents, Knowledge-basedsystems, Human-computer interaction, Distributed AI.INTRODUCTIONExpert systems in a certain domain are notcompletely isolated from each other. It is a fact that oneexpert system may require the output of another tocomplete its process. For example in the domain ofagriculture a treatment expert system requires the outputof diagnosis expert system in the form of hypothesizedor confirmed disorders. Also, fertilization expert systemrequires the output of irrigation expert system in theform of irrigation schedule in addition to otherWe believe that we can utilize intelligent agenttechnology for solving this problem by developing anenvironment that makes the user interacts with multipleexpert systems through a unified intelligent interfaceagent.User interfaces are the most expensive componentof software applications especially expert systems. Ourapproach provides the means for building a standard,and unified domain-specific interface for all expertsystem applications of the domain. This dramaticallyreduces the overall cost of expert system applications.As mentioned before, domain-specific expertsystem applications are usually dependent on each other.The proposed intelligent interface coordinates betweenthese expert system applications transparently from theuser, and relieves him from the burden ofcommunicating this information between differentexpert system applications.The proposed approach simplifies the design of theexpert system by detaching the user interfacecomponent from other functions of the expert systemapplication.Keeping different expert system applications in astandalone form supports modularity and easy1Institute of Statistical Studies & Research (ISSR) – Cairo University, Giza, Egypt2Faculty of Computer Science & Information – Cairo University Giza, Egypt3Central Laboratory for Agricultural Expert systems (CLAES) Giza, Egypt

management of knowledge.INTERFACE AGENTSEventually, we can add new expert systemapplications, that the proposed intelligent interfaceagent can provide its services without any change in themanner of interaction between the user and the system.Intelligent interfaces are one of the applications ofintelligent agents, through which the software agentworks intimately with the user, functioning as apersonal assistant. An intelligent interface can bedefined as an intelligent entity mediating between twoor more interacting agents who possess an incompleteunderstanding of each others’ knowledge and form ofcommunication [4]. A good interface will lead to betteruser/expert system interaction and task performance[ 5].INTELLIGENT AGENTSAn intelligent agent is one that is capable offlexible autonomous action in order to meet its designobjectives [1]. According to this definition, flexiblemeans three things:Reactivity: intelligent agents are able to perceive theirenvironment, and respond in a timely fashion tochanges that occur in it in order to satisfy their designobjectives;Pro-activeness: intelligent agents are able to exhibitgoal directed behavior by taking the initiative in orderto satisfy their design objectives;Social ability: intelligent agents are capable ofinteracting with other agents (and possibly humans) inorder to satisfy their design objectives.Intelligent agents are directed towards a single goal, butthey possess more knowledge about reasoning withinthe space of their activity. Knowing when to use otherresources (other agents), the preferences of the user orclient, constructs for negotiation deals, and otherabilities are the marks of an intelligent agent.MULTIAGENT EXPERT SYSTEMSIn recent years there has been considerable interestin the possibility of building complex problem solvingsystems as a groups of cooperating experts [2]. Acooperating expert system is composed of a group ofagents, each of which contains an autonomousknowledge based system. Typically, agents will haveexpertise in distinct but related domains. Agentsco-operate together to solve a given problem andachieve the goals of individuals and of the system as awhole. An important research project in this directionwas transforming expert systems into a community ofcooperating agents [3] where the aim of this work wasto construct a community of cooperating agents fromtwo standalone and pre-existing expert systems. Thiswas achieved by using the GRATE system, which is ageneral framework for constructing communities ofcooperating agents for industrial applications. Thecooperating community worked together to diagnosefaults that occurred in the real particle acceleratorprocess.Interface agents employ artificial intelligencetechniques in order to provide assistance to a userdealing with a particular application [6]. Interfaceagents perform different kinds of tasks as theycommunicate with their local user or other agents, suchas, information filtering and retrieval, scheduling ofmeetings, mail management, etc. There is a distinctionbetween collaborating with the user and collaboratingwith other agents as in the case with collaborativeagents. Collaborating with a user may not require anexplicit agent communication language as the onerequired when collaborating with other agents.Interface agents support and provide assistance,typically to a user learning to use a particularapplication such as a spreadsheet or an operating system.The user’s agent acts as autonomous personal assistant,which cooperates with the user in accomplishing sometasks in the application.The objective of interface agents’ research is to provideindirect management for human-computer interfaces.Current computer user interfaces only respond to directmanipulation, i.e. the computer is passive and alwayswaits to execute highly specified instructions from theuser. It provides little or no proactive help for complextasks or for carrying out actions such as searching forinformation that may take an indefinite time. The goal isto migrate from the direct manipulation metaphor to onethat delegates some of the tasks to software interfaceagents in order to accommodate novice users. Thehypothesis is that these agents can be trusted to performcompetently some tasks delegated to them by theirusers.The main functions of an interface agent include:1. Collecting relevant information from the userto initiate a task.2. Presenting relevant information includingresults and explanations.3. Asking the user for additional informationduring problem solving.

4.Asking for user confirmation, when necessary.The knowledge held by interface agents:1. A model of the user’s goals and preferencespertaining to a task.2. Knowledge of the relevant task assistants thatcan perform the task.3. Knowledge of what must be displayed to theuser and in what way.4. Protocols for interacting with relevant taskassistants.AN EXPERT SYSTEM ENVIRONMENTBASED ON COLLABORATIVE AGENTSThe basic idea of our work is to convert the patternof interaction between the user and a number ofknowledge-based systems from that where the userinteracts with each individual knowledge-based systemseparately, to another pattern where the user has onlyone interface, through which he can interact withmultiple knowledge-based systems without having toworry about the requirements of each one.Our approach is to model each KBS in the currentenvironment as an agent with its own knowledge, andservices. Two other special agents are introduced:Interface agent, and Coordinator agent. The interfaceagent is responsible for managing the interactionbetween the user and proposed environment, throughhandling request messages asking the user for arequired input, and response messages displaying thereply. The coordinator is an agent that is intelligentenough to determine the user requirements by analyzingthe users inputs, and to specify which KBS agent tocontact for achieving these requirements, includingcalling intermediate agents for other services.ARCHITECTURE OF THE PROPOSEDENVIRONMENTAs shown in Figure [1] the proposed architectureconsists of a number of agents. The following is a briefdescription of the components that comprise theproposed architecture.Fig. 1 The proposed environment.User Interface Agent:The internal structure of the proposed environmentis completely transparent to the user. The onlycomponent that is visible is the user interface agent. Theuser interface agent has two main services: the first is tocollect user input in the form of observations, events,data, or requirements, and sending these inputs to thecoordinator agent. The second service is to receive anddisplay the replies that could come back from thecoordinator agent.The Coordinator Agent:The coordinator has its own knowledge about theKBS agents in its environment, and the services offeredby each of them. It is stimulated by any messagereceived from the user interface agent, or any of theKBS agents. So, any input introduced by the userinterface agent, or a reply from a KBS agent willactivate its inference process. The action of thecoordinator is a message sent to one or more KBSagents, asking for their services, or a message to theuser interface agent as a result of processing. This cyclewill stop when no more services are required, or thereare no more requests from the user.KBS Agents:The KBS agents are the components that are doingthe real work in the proposed environment. In otherwords, they are achieving the requirements of the userin the form of services.The Database:The database component is used as a commonstore of static data that is often required by KBS agents.For example, in the domain of agriculture, the databaseis used to store data about farms like plantation data,climate data, soil data, and water data.AGENT INFRASTRUCTURE

The proposed agent environment presumes aninfrastructure within which the agents operate andinteract. Two major components comprise thisinfrastructure: Common Ontology, and CommunicationProtocol.Common Ontology:Ontology has been a popular research topic andhas been investigated by several AI researchcommunities. An ontology is a formal explicitspecification of a shared conceptualization.[7]. Themain role of ontology in the knowledge engineeringprocess is to provide the vocabulary of terms andrelations used by the knowledge based system.Making agents understand each other is a majorchallenge. Agents may have different meanings for thesame concept, or they may have different concepts withthe same meaning. To overcome this difficulty, theremust be some sort of shared knowledge about thedomain of discourse that made available to allcomponents in the proposed environment.In our proposed environment, this sharedknowledge is provided through a common Ontologythat is a set of concepts and attributes, as well asrelations between these concepts and attributes. Weused this ontology as the underlying backgroundknowledge that is common for all participating agents.Communication Protocol:KQML is one of the pioneer research projects inthe field of agent communication languages[8]. KQMLprovides a large set of primitives through which agentsmay tell facts to other agents, evaluate expressions forother agents or subscribe to services provided by otheragents. KQML suffers from poorly defined semantics.As a result, many implementations have beenintroduced, but each seems unique. This makescommunication difficult, and KQML agent may not beunderstood.Arcol is another ACL based on speech acts[9], [10].Arcol was the basis for the first version of the proposedstandard of the Foundation for Intelligent PhysicalAgents (FIPA), and many of its components survive inthe second version as well. Agents conforming to theFIPA specification can deal explicitly with actions.They make requests, and they can nest the speech acts.In our proposed environment, we use HTTP as theunderlying transport protocol, and we use XMLlanguage to formulate messages passing betweendifferent agents. According to this approach, messagesare not tied to a particular implementation, and basicallywe are not in need to implement a standardcommunication language like KQML.DESIGNOFENVIRONMENTTHEPROPOSEDAfter we have had a general idea bout theproposed approach, and the overall architecture of theproposed agent environment. The following is adetailed discussion of the components constituting theenvironment.User Interface Agent:The user interface agent has two sub-components;request model, and response model. The request modelformulates the list of inputs that the user can provideduring the session. The expected inputs are derivedfrom the common ontology used by theknowledge-based system agents in the form ofproperties related to some concepts in the domain ofdiscourse, and the acceptable values for each of theseproperties.At any time during the session, the user can usethis unified interface to convey some inputs to thesystem. These inputs can be events like rain or wind,observations on the plant like leaf color or root shape,current date, etc. The user doesn’t know whichknowledge-based system will reply to these inputs, orwhich will provide its services. Finally, the requestmodel submits the user inputs to the coordinator agentin a request message.The response model collects and displays theresults or replies coming from the coordinator agent as areply from one or more knowledge-based system agents.These results and replies can be classified into one ofthe following categories:Predicted disorder name(s).Confirmed disorder name(s).Treatment materials, quantities, dates andmethods of using these materials.Irrigation schedule or part of it.Fertilization schedule or part of it.A plant care operation to be done.

nterface2.RequestFinalKBSAgentOutputResponseFig. 2 The coordinator agent.The Coordinator:As shown in Figure [2], the coordinator managesthe interaction between the user through the userinterface agent, and the different knowledge-basedsystem agents in the environment. This is done throughmessages sent to the various agents requesting for someservice, or supplying some information back to the userinterface agent.The coordinator has the knowledge that makes itable to decide which service to be requested for thecurrent session. This knowledge is represented as rulesthat work on the current property values stored in theworking memory, and maps them to one or moreservices provided by other agents. Figure [3] displays asample of this knowledge represented in XML format. Agent Name "diagnosis" Tuple Cpt "leaves observations" Prop "color/” Tuple Cpt "leaves observations" Prop "shape/" Tuple Cpt "stem spot" Prop "exist/" Tuple Cpt "stem observations" Prop "shape/" Tuple Cpt "fruit observations" Prop "color/" Tuple Cpt "fruit observations" Prop "shape/" /Agent Fig. 3 Sample of coordinator based system agents in the followingmanner:1. First, the coordinator formulates the input dataexisting in the working memory into anappropriate request message and sends it to therelated agent(s).Second, it receives the reply messages fromparticipating agent(s), updates the workingmemory and starts a new cycle of sending newmessages to the same or other agents if needed, byredirecting the results to them.Third, it sends the final results to the user throughthe user interface agent in the form of responsemessage.Figure [4] displays a sample message sent todiagnosis agent. As we can see, the message has threeparts, Header, Body, and Fault. The Header containsinformation about the sender, receiver agent, and therequested service. The Body contains working memorycontents related to the designated agent. The Faultelement is used to provide information about errors thatoccurred while processing the message. By nature thiselement can only appear in answers (responsemessages).KBS Agents:In our proposed environment, we imposed acertain structure on KBSs to achieve our goal forsupporting intelligent communication between them.The main architecture of the KBS agents is:The knowledge base: Which in its turn consists ofDomain concepts, and Domain relations:Domain concepts are structured collections ofdomain terms (e.g. concept and its properties andvalues). Concepts can have properties that aredefined through their names and the values thatthey can take.Domain relations represent the relation betweenconcepts/properties defined in the domain ofdiscourse, these relations are represented in theform of: Rules, tables, or functions.Services: Which are the functions that theknowledge-based system agent provides. Each servicehas a unique name, percepts which are the inputsneeded to stimulate the service (indicate when thatservice should be activated), and output of that service.

Message Header From Coordinator /From To Diagnosis Agent /To Service Generate Hypothesis /Service /Header Body Tuple Cpt "Leaves observations"Prop "color" Val “Brown”/ Tuple Cpt "Stem Observations" Prop "Shape" Val “etiolated”/ Tuple Cpt "Stem Spot" Prop "Exist" Val “yes”/ /Body Fault /Fault Fig. 5 Selecting an existing farm. /Message Fig. 4 A sample diagnosis agent message.KBS agents are implemented as COM (ComponentObject Model) objects, so they can be accessed as webservices. A number of methods have been added tothese components so that knowledge base can bemanipulated easily.CASE STUDYAs we have mentioned early in this paper, theproposed architecture has been tested in the domain ofagricultural expert systems. Two expert system agentshave been implemented: Irrigation agent, and Diagnosisagent for cucumber cultivation under tunnels.The irrigation agent calculates water requirementfor the plant, and generates partial and full irrigationschedules.It is worth mentioning that somecircumstances may drive the irrigation agent to reviseits previously suggested irrigation schedule, likechanges in the weather or having certain disorders.The diagnosis agent analyses the inputobservations and farm data, and provides the user withinformation about the possibility of having a certaindisorder(s), and according to extra information providedby the user, the diagnosis agent may confirm theexistence of one or more of these disorders. Otheragents (treatment agents) can be developed forproviding suitable treatment schedules for theconfirmed disorders specified by the diagnosis agent.As shown in Figure [5], the user provides basicinformation about the case, in addition to someobservations that according to the diagnosis agent’sknowledge are manifestation for some disorders. At thispoint, only diagnosis agent is involved, and replies withthe names of suspected disorders.As shown in Figure [6], with extra observationsprovided by the user, the diagnosis agent will have thepossibility of confirming one or more of these suspecteddisorders.The coordinator agent receives the initial results ofthe diagnosis agent, and passes the results to otheragents, in our case, the irrigation agent.According to the irrigation agent’s knowledge, theconfirmed disorder may affect the quantity or scheduleof irrigation. So, it revises the proposed schedule, andpasses it back to the coordinator agent.Fig. 6 The details of predicted disorders.The coordinator agent tries to route the newinformation to expert system agents again, but this timeno one replies.

The proposed architecture is reusable, since wecan apply the same environment on different domains ofapplications.REFERENCES[1] Wooldridge M. (1999). "Intelligent Agents", In G.Weiss, editor: Multi-agent Systems, The MIT Press.[2] Jennings N. R., and Wooldridge M. (2001).“Agent-Oriented Software Engineering”, Handbook ofagent technology, ed. J. Bradshaw, AAAI/MIT Press.Fig. 7 The final results.The coordinator agent considers this as a finalreply, and reports it back to the user interace agent.As shown in Figure [7] The user interface agentdisplays the results to the user with a fully detailedreport coming from all agents involved in the session.CONCLUSIONIn this paper we have presented an agent-basedarchitecture that enables knowledge-based system usersto interact with a number of knowledge-based systemapplications through an intelligent interface agent.Through the analysis and evaluation of theimplemented prototype, we have come up with thefollowing conclusions:Using the presented architecture, the user dealswith multiple knowledge-based systems as if they wereonly one. This approach helped in reducing theinteraction between the user and the knowledge-basedsystems, by making the coordinator agent take over thisinteraction on behalf of the knowledge-based systemuser.Building this standard and unified interfacesimplifies the design of knowledge-based systems byseparating between the interface design and otherfunctions of the system and provides a unified model ofinteraction between the user and KBSs without havingto merge these KBSs into one large, hard to manageKBS.The proposed architecture is open, in the sense thatwe can add new knowledge-based system agentswithout any change in the manner of interactionbetween the user and the proposed intelligent interfaceagent.[3] Jennings N. R., Varga L. Z., Aarnts R. P., Fuchs J.,and Skarek P. (1993). “Transforming Standalone ExpertSystems into a Community of Cooperating Agents ”,Engineering Applications of Artificial Intelligence, 6 (4)1993, 317-331.[4] Chen C., and Roy R. (1998). -based systems, Chapter 6, edited byLiebowitz, J.[5] Kuo-Wei Su, hu-Hua Liu, and Sheue-Ling Hwang(2001). “A developed model of expert system interface(DMESI)”, Expert systems with Applications (20), pp.337-346.[6] Maes P. (1994). " Agent That Reduce Work andInformation Overload", Communications of the ACM,37(7), pp. 31-40.[7] Gruber T.R. “A Translation Approach to PortableOntology Specifications”, Knowledge Acquisition 5 (2),1993, pp. 199-221.[8] Finin T., Weber J., Wiederhold G., Genesereth M.,Fritzson R., Mckay M., McGuir J., Pelavin R., ShapiroS., and Beck C. (1993). " Specification of the KQMLAgent-Communication Language", By The DARPAKnowledge Sharing Initiative External InterfacesWorking Group.[9] Breiter P., and Sadek M. D. (1996). “A rationalagent as a kernel of a cooperative dialogue system:Implementing a logical theory of interaction”. In ECAIWorkshop on Agent Theories, Architectures, andLanguages. Springer-Verlag, Heidelberg, Germany,pp.261-276.[10] Sadek M. D. (1991). “Dialouge acts are rationalplans”, In Proceedings of the ESCA/ETRW Workshopon the Structure of Multimodal Dialogue, Maratea, Italy,pp. 1-29.

INTELLIGENT INTERFACE AGENT FOR AGRICULTURAL EXPERT SYSTEMS Yasser Abdelhamid1, Ahmed Rafea2, Nevien Galal3 {Yasser, Rafea, Nevien}@mail.claes.sci.eg 1 Institute of Statistical Studies & Research (ISSR) - Cairo University, Giza, Egypt 2 Faculty of Computer Science & Information - Cairo University Giza, Egypt 3 Central Laboratory for Agricultural Expert systems (CLAES) Giza, Egypt

Related Documents:

Bruksanvisning för bilstereo . Bruksanvisning for bilstereo . Instrukcja obsługi samochodowego odtwarzacza stereo . Operating Instructions for Car Stereo . 610-104 . SV . Bruksanvisning i original

10 tips och tricks för att lyckas med ert sap-projekt 20 SAPSANYTT 2/2015 De flesta projektledare känner säkert till Cobb’s paradox. Martin Cobb verkade som CIO för sekretariatet för Treasury Board of Canada 1995 då han ställde frågan

service i Norge och Finland drivs inom ramen för ett enskilt företag (NRK. 1 och Yleisradio), fin ns det i Sverige tre: Ett för tv (Sveriges Television , SVT ), ett för radio (Sveriges Radio , SR ) och ett för utbildnings program (Sveriges Utbildningsradio, UR, vilket till följd av sin begränsade storlek inte återfinns bland de 25 största

Hotell För hotell anges de tre klasserna A/B, C och D. Det betyder att den "normala" standarden C är acceptabel men att motiven för en högre standard är starka. Ljudklass C motsvarar de tidigare normkraven för hotell, ljudklass A/B motsvarar kraven för moderna hotell med hög standard och ljudklass D kan användas vid

LÄS NOGGRANT FÖLJANDE VILLKOR FÖR APPLE DEVELOPER PROGRAM LICENCE . Apple Developer Program License Agreement Syfte Du vill använda Apple-mjukvara (enligt definitionen nedan) för att utveckla en eller flera Applikationer (enligt definitionen nedan) för Apple-märkta produkter. . Applikationer som utvecklas för iOS-produkter, Apple .

ArcSight agent NXLog agent Community RSYSLOG agent Snare agent Splunk UF agent WinCollect agent Winlogbeat agent Injecting data with agent from the WEC server to your SIEM WEF/WEC 15 Chosen agent software solution Source clients WEC collector SIEM Other target / External provider JSON CEF Other target / External provider / Archiving solution

192. Representation of principal by sub-agent properly appointed : Agent's responsibility for sub-agent . Sub-agent's responsibility : 193. Agent's responsibility for sub-agent appointed without authority . 194. Relation between principal and person duly appointed by agent to act in : business of agency . 195. Agent's duty in naming such person

evaluation of English Pronunciation and Phonetics for Communication (second edition) and English Phonology (second . textbook is English Phonology written and edited by Wang Wenzhen, which was first published by Shanghai Foreign Language Educational Press in 1999. It was modified and republished in 2008 and also came with a CD. 4 Polyglossia Volume 25, October 2013 2.4 Procedure and Data .