final registration seminar presentation Under the guidance of Prof Shikhar Kumar sarma Design and development of an expert system for the diagnosis of rice plant diseases By: Kh. Robindro Singh
Chapters of the Presentation Objective of the Research Artificial Intelligence(AI) and Expert System(ES) Limitations in Expert System Suitability and Feasibility of ES in Agriculture Design and Development of ES Knowledge Base Modeling using JESS System Design Materials and Technical Methods Conclusion
Objective of Research This objective of the research work is the design and development of an expert system for the diagnosis of the diseases in the rice plant. Such an expert system is very essential for the farmers as experts are not always available with the farmers when the farmers required the advice from them and the diseases are one of the important factors for unproductivity of rice. When a farmer needs the advice of an expert, this expert system would provide the decision support to the farmer.
Artificial Intelligence and Expert System Artificial Intelligence(AI) is a branch of computer science research. It is intelligence of machines which aims at creating scientific goals and to understand intelligence by building computer programs that exhibits intelligent behavior. AI has many branches such as expert systems, natural language, neural networks and robotics etc. Expert System is a branch of AI program that achieves expert level competence in solving problems in task areas by bringing to bear a body of knowledge about specific tasks. An expert system can explain their reasoning or suggested decisions, display intelligent behavior, draw conclusions from complex relationships.
Limitations in Expert System There are some limitations in the expert system. They are: Knowledge is not always readily available. It can be difficult to extract expertise from humans. There are frequently multiple correct assessments. Time pressures. Users have cognitive limits. ES works well only within a narrow domain of knowledge.
Vocabulary is often limited and difficult to understand. Help from knowledge engineers is difficult to obtain and costly. Potential for lack of trust on the part of the end-users. Knowledge transfer is subject to biases. Most experts do not have an independent means to validate results.
Suitability and Feasibility of ES in Agriculture Expert System can generate the information to the farmers by using its knowledge base and reasoning mechanism from human experts and other sources. Expert System makes easier for a user to identify or describe symptoms with the information like image bases/textual bases as it is very difficult to describe in words. The applications of expert system in agriculture are mainly found in the area of diseases diagnosis and pest controls. In agriculture, many domain specific expert systems are being used at different levels. “An Expert System for diagnosis of diseases in Rice Plant,” is an application of expert system in agriculture. In this system, the expert system is developed with rule-based expert system, using ESTA (Expert System Shell for Text Animation).
Design and Development of ES The design and development of such an expert system for disease diagnosis of rice plant can help the farmers. This system diagnose the diseases occurs on rice plant by supplying the disease symptoms appearing during their life span and the related parameters favoring the occurrence of the disease. The major components of this system are given and functions are briefly describing. Knowledge Base: The knowledge base component is developed with the help of domain expert using expert system shells. The expert system shell is a piece of software which contains the user interface, a format for declarative knowledge in the knowledge base, and an inference engine. The shell we have used in our system is JESS.
Working Storage: The working storage of this system contains all the facts about the rice plant diseases. The working storage can hold both the premises and the conclusions of the rules. Inference Engine: The inference engine is the core of the system which controls the whole process of applying the rules to the working storage to produce the result of the system. This is an important part of an expert system to apply rules to data. Pattern Matcher: The purpose of the pattern matcher is to decide which rules to be applied or applying, given the current contents of the working storage.
Rete Algorithm: The Rete Algorithm is a pattern matching technique for this expert system. This is an efficient pattern matching technique for implementing production rule systems. The Rete algorithm provides a generalized logical description of an implementation of functionality responsible for matching “facts” against “rules” in a pattern-matching rule system. User Interface: The User Interface of the system controls the dialog between the user and the system. The GUI component of the system is implemented using the Java Programming language.
Knowledge Base Modeling using JESS In order to modelling the knowledge base we are using the expert system shell JESS, the Java Expert System Shell. JESS is a scripting language written entirely in Sun Microsystems’s Java Language. Jess supports the development of rule-based expert systems which can be tightly coupled to code written in the powerful, portable java language. The jess file is usually saved with a “.clp” extension as against the normal “.txt” extension. The JESS is usually run and manipulated on the Java interface.
System Design In the design of the proposed expert system, a formal model of the proposed system is built to capture the dynamic behavior of the system using Unified Modeling Language (UML). In UML there are five diagrams available to model dynamic nature and use case diagram is one of them. A use case diagram is used for modeling the design of the system.
Use Case Diagram of the System
Here, we introduce three main Use cases which extend, include or use other Use cases. Input Data; View Decisions; Exit System.
1. The User (Actor): The actor is one of the clients that make use of the application. Actors must be able to make decisions, but need not be human: "An actor might be a person, a company or organization, a computer program, or a computer system - hardware, software, or both.” 2. Input Data: This represents the interface where the users are going to feed data into the system based on questions about their problems in the rice plant. Here there main problem is the symptoms of the disease. The system then responds based on the correlation between user data and its foreknown intelligence. This uses another Use Case called Diseases Details.
3. View Decisions: This is an avenue that enables the user of the system to view the system response. It’s usually through an interface. All system possible decisions have been stored in a database external to the system and this is for code efficiency. It has a Use Case that is used by the decision taking Use Case. 4. Exit System: The user of the system can decide when to leave the application in the event of getting enough information or otherwise.
Materials and Technical Methods The technical aspects of our methodology involved the design and implementation of a 4-agent architectural model namely, The User component, the User interface component, the application component and the database component. The Graphic User Interface (GUI) component of the system is implemented using the Java Programming language. The Application component is implemented using the Java expert system Shell (JESS) and the Java IDE of Netbeans 7.0 and the database component is implemented using SQL.
Framework for Rice Plant Disease Diagnosis Expert System
The expert system for rice plant disease diagnosis is developed using Netbeans 7.0; JESS (Java Expert System Shell) for the rule/knowledge base and SQL is used as the Database engine. The JESS file is called in the Netbeans environment and the Database also. When JESS rules are executed in JAVA, JESS library files are also to be loaded into the class path of Java. In JESS two JAR files (JESS.jar, jsr94.jar) are present. These two jar files should be included in order to execute a Java file which has JESS commands embedded in it.
Instance of JESS Rule engine will be created in Java code and Instance of JESS can then be reused. JESS Rule Engine is having Special API to execute rules. For Example: // Create an instance of Jess rule engine engine = new Rete(); engine.reset(); engine.batch("agri.clp"); Here, Rete engine = new Rete() is an instance of Rete engine by which JESS is embedded with Java
After implementing JESS in Java, the symptom data is loaded in the working memory. For example: // load the agent data in the working memory database = aDatabase; engine.addAll(database.getSymptoms());
When the run command is given then all the rules matching the facts will be fired. For example: // Fire the rules that apply to the symptoms engine.run();
The developed expert system provides a simple way of inputting the symptoms and predisposing factors based on the user’s description. In addition to the above inputs, the picture of the particular symptoms are also integrated to get the details about the particular disease and to provide the treatment advice from the system. This system allows a user to browse the cases that are similar to the requested case and to compare the symptoms of the requested case with the stored ones. Then the user will choose the most similar case and browse its information to emphasize his/her choices. The system will process user’s choice and make a suitable decision.
Main Menu of the Rice Plant Disease Diagnosis Expert System
The above figure shows the main menu of the rice plant disease diagnostic expert system which has the menus File, Diagnosis and Help. In the File menu, we have stored the items like Agent, Disease, Symptom and Exit items. The causing agents of the diseases are stored in the agent menu. The diseases occurred in the rice plant in their life span are stored in the disease menu. All the possible symptoms of the diseases are stored in the symptom menu and the exit menu is the exit of the system. The diagnostic tool for the rice plant diseases is stored in the Diagnosis menu. In the Help menu, the contents and about the system is stored.
Diagnostic Tool showing various factors to Rice Plant
The diagnostic tool for the rice plant diseases is shown in the above figure. It contains the various input factors like symptoms, predisposing factors and place of infection etc. With this, the JESS platform performs the necessary knowledge evaluation to determine what result is generated.
Result of the Disease Detail and Control Measures after Diagnosis
The result of the diagnosis which includes the disease details like disease name, symptom details, predisposing factors, casual organisms, the picture of the disease and the required control measures of the disease is shown in the figure. Here in the above figure are the disease details of brown spot disease of the rice plant and the photograph of the brown spot disease.
Conclusion The expert system here we have developed in this research work, is a rule- based system and contained in its knowledge base, some important rules on disease causative agents, symptoms and predisposing factors which favor the spread of diseases in rice plant. It also offers solution to how rice plant diseases can be handled by a reasoning approach based on its knowledge base and it is easy to be accessed by the users. The results obtained from this expert system does not only provide the diagnosis of rice plant diseases through a rule based diagnostic approach, but also shows the future prospects of the application of different sub-fields of artificial intelligence to various infectious disease research.
THANX HAVE A NICE DAY…. Kh. Robindro Singh