ontology based flexible querying system for farmers
DESCRIPTION
ONTOLOGY BASED FLEXIBLE QUERYING SYSTEM FOR FARMERS. Presented By: Neha Arora. Monday,17 Sept,2012. INTRODUCTION. Farmers express their queries in natural language which are usually answered by human experts. - PowerPoint PPT PresentationTRANSCRIPT
ONTOLOGY BASED FLEXIBLEQUERYING SYSTEM FOR FARMERS
GISE Advanced Research Lab, CSE Dept, IIT Bombay
Presented By: Neha Arora
Monday,17 Sept,2012
INTRODUCTION Farmers express their queries in natural language which are usually
answered by human experts.
Purpose is to enable the system to understand the user query as exactly as expert does.
Farmers have many questions regarding the type of soil/climate, type of pests, diseases and activity timelines related to their crop.
Existing Agro Advisory Systems aAQUA system by IIT Bombay eSagu by IIIT Hyderabad mKRISHI at TCS
GISE Lab, IIT Bombay Monday,17 Sept,2012
PROBLEM STATEMENT
System which handle farmers query without the need of agro-expert handling them
Farmers posts his observation/query to the system System advises him or provides information on query
System acquires knowledge as exhibited by an agro-expert This knowledge is stored as knowledge models or ontologies
Purpose is to provide context-based knowledge driven advisory solution
GISE Lab, IIT Bombay Monday,17 Sept,2012
KNOWLEDGE REPOSITORY
System contains knowledge as:
- Ontology: schematic or intelligent view over information
resources
- Information in Database
Farmer’s past activity records
Current activity records of farmer
Data for weather forecast
GISE Lab, IIT Bombay Monday,17 Sept,2012
CROP ONTOLOGY
Stores complete knowledge about the cotton crop
Information stored as classes, instances, properties and literal values
Ontology contains information of various areas
- Variety
- Disease
- Pest
- Symptoms
- Control Measures
- Activity (Fertilizing, Harvesting, Hoeing, Irrigation)
GISE Lab, IIT Bombay Monday,17 Sept,2012
Generic/Specific Ontology Generic Ontology - Ontology which defines classes and properties
between them
GISE Lab, IIT Bombay Monday,17 Sept,2012
Generic/Specific Ontology Specific Ontology - Ontology which defines classes with their
instances
GISE Lab, IIT Bombay Monday,17 Sept,2012
Contextual ad Dependent Information
Annotation properties - associates information with classes and properties in ontology (*planning to use another way out)
In crop ontology,
- Context Information: information dependent on context of crop
(stage of crop and ongoing season)
- Dependent Information: information giving related details of a
class
GISE Lab, IIT Bombay Monday,17 Sept,2012
Information In Database
Data collected from three districts of Punjab for past 5 years It contains information regarding farmers and their farming
practices
Current farming practices are also captured in the system
◮ Variety sown, date of sowing
◮ Irrigation details
◮ Fertilizer details - Nitrogen, Potassium, Phosphorous Application
◮ Spraying details - for Jassid, Whitefly, Tobacco Caterpiller
Data on weather forecast. And classification on that basis.
GISE Lab, IIT Bombay Monday,17 Sept,2012
Ontology Based System What it does?
System has knowledge in both ontology and relational database
- User queried information is searched over the ontology
- Context information about the crop added from database filters this
search
GISE Lab, IIT Bombay Monday,17 Sept,2012
System Architecture
GISE Lab, IIT Bombay Monday,17 Sept,2012
System ArchitectureQuery Interface:
•where farmer’s posts his observations about the crop or information which he seeks
•Farmer enters a keyword based query
Query Engine:
•core part where query processing takes place
•Understands user query, interprets and generates advice or information
Database:
•place where knowledge resides
•Ontology is stored here along with farmer’s activity details and
weather data
GISE Lab, IIT Bombay Monday,17 Sept,2012
Ontology Querying Overview of Algorithm
GISE Lab, IIT Bombay Monday,17 Sept,2012
Farmer’s Query
• State of farmer’s crop
Date of sowing: 15th April
Farming activity: Nitrogen Application on time
Potassium Application on time
Phosphorous Application on time
Irrigation not on time
• Query: Boll Shedding
GISE Lab, IIT Bombay Monday,17 Sept,2012
Mapping Keywords over Ontology
• First, exact match is searched
• If not found, using WordNet find synonym matches
• Keyword matches are found over the ontology
Boll => {Boll, Boll Infection, Boll Shedding, Bad Boll Opening ...}
Shedding => {Boll Shedding, Flower Shedding, Buds Shedding ...}
• Final keyword matches
Boll => {Boll, Boll Shedding}
Shedding => {Boll Shedding, Flower Shedding, Buds Shedding ...}
• Keywords classified as classes C, instances I, object property O,
datatype property D, literal L
C => {}
I => {Boll, Boll Shedding, Flower Shedding, Buds Shedding ...}
O => {}
D => {}
L => {}GISE Lab, IIT Bombay Monday,17 Sept,2012
Find farmer’s activityActivity information stored in ontology as:
GISE Lab, IIT Bombay Monday,17 Sept,2012
Find farmer’s activity Check Activity Consistency
Dates from Database Dates from Ontology
17 April 17 April
09 May 07 May
28 May 27 May
17 June 16 June
Activity is fine. Next date for activity is recommended
GISE Lab, IIT Bombay Monday,17 Sept,2012
Find farmer’s activity Check Activity Consistency
Dates from Database Dates from Ontology
17 April 17 April
09 May 07 May
28 May 27 May
17 June 16 June
27 June
Excess of activity is performed
GISE Lab, IIT Bombay Monday,17 Sept,2012
Find farmer’s activity Check Activity Consistency
Dates from Database Dates from Ontology
17 April 17 April
09 May 07 May
28 May 27 May
????? 16 June
Lack of activity is found
• Check stage at which activity is missed
• If stage is critical, immediate action to be taken
information marked on ontology
Else, farmer is advised to perform activity
• If lack of activity, add ontology instances to set activityI
activityI => {Lack of Irrigation}GISE Lab, IIT Bombay Monday,17 Sept,2012
Find Context Information
• Information which is based on crop context
• Classes are associated with :context property in ontology
• Context checked for stage and ongoing season
- stage: whether the stage of class instance is same as of farmer
crop
- ongoing season: whether the class instance has a current period
of existence
• Find :context property for classes of instance set I, activityI and
store in set contextI
contextI => {Spotted Bollworm, Bacterial Blight, Tirak, ... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Find Dependent Information
• Related information which we would like to display to the user
• Eg: For a Disease queried by user, its Symptom and Control
Measures would be of interest to him
• Dependent information stored as :dependentClass property for
classes in ontology
• Find :dependentClass property for classes of instance set I,
activityI, contextI and store in set dependentC
dependentC => {Damage, Symptom}
GISE Lab, IIT Bombay Monday,17 Sept,2012
Searching On Graph Search is performed on graph, returning paths connecting the
selected nodes
Figure: Specific Ontology
GISE Lab, IIT Bombay Monday,17 Sept,2012
Searching On Graph Search is performed on graph, returning paths connecting the
selected nodes
Figure: Generic Ontology
GISE Lab, IIT Bombay Monday,17 Sept,2012
Calculate Paths Generic ontology has nodes as classes and edges as properties Classes of instance sets I, activityI and contextI along with
classes in dependentC and C are added to set SN of Selected Nodes Find all possible paths between nodes in SN using BFS
SN => {Damage, Part, Control Measure, Factor, Pest, Disease,
Symptom}
P => {Damage is_Caused_By Pest,
Damage is_Caused_By Factor may_Lead_To Disease,
Symptom is_Symptom_Of Disease occurs_Due_To Factor
is_Controlled_By Control Measure,
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Calculate Instance Paths For the paths obtained from Generic ontology, instance paths
are calculated on Specific ontology Paths with known instances of classes are selected
Instance paths P => {Boll_Shedding is_Caused_By
Lack_of_Irrigation may_Lead_To Tirak is_Controlled_By Proper_Irrigation,
Flower_Shedding is_Caused_By Lack_of_Irrigation
May_Lead_To Tirak is_Prevented_By Proper_Irrigation,
Boll_Shedding is_Caused_By Spotted_Bollworm,
Boll_Shedding is_Caused_By Lack_of_Irrigation
May_Lead_To Tirak has_Symptom Black_Boll_Color,
Spotted_Bollworm causes Buds_Shedding,
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Ranking of Paths Paths are ranked based on several factors –
+ Keyword similarity count
◮ Exact matches
◮ Synonym matches
+ Actionable information
Information derived from activity and context
+ Dependent information
Information obtained from :dependentClass property
+ Paths containing edges selected by user in sets O and D
GISE Lab, IIT Bombay Monday,17 Sept,2012
Output to the User Finally the user is presented with set of paths which best match his search Highest ranked path is most relevent, but other matched path are also
returned
Instance paths P => {Boll_Shedding is_Caused_By
Lack_of_Irrigation may_Lead_To Tirak is_Controlled_By Proper_Irrigation,
Flower_Shedding is_Caused_By Lack_of_Irrigation
May_Lead_To Tirak is_Prevented_By Proper_Irrigation,
Boll_Shedding is_Caused_By Spotted_Bollworm,
Boll_Shedding is_Caused_By Lack_of_Irrigation
May_Lead_To Tirak has_Symptom Black_Boll_Color,
Spotted_Bollworm causes Buds_Shedding,
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Similar Queries by other Farmers State of farmer’s crop
◮ Date of sowing: 15th April
Farming activity: Nitrogen Application not on time
P => {Boll_Shedding is_Caused_By
Nitrogen_Deficiency is_Controlled_By Application_of_Urea,
Boll_Shedding is_Caused_By Spotted_Bollworm,
Buds_Shedding is_Caused_By Nitrogen_Deficiency
Is_Controlled_By Application_of_Urea,
Spotted_Bollworm causes Buds_Shedding,
Flower_Shedding is_Caused_By Spotted_Bollworm,
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Similar Queries by other Farmer State of farmer’s crop
◮ Date of sowing: 15th April
Farming activity: Nitrogen Application not on time
Irrigation not on time
P => {Boll_Shedding is_Caused_By
Lack_of_Irrigation may_Lead_To Tirak is_Controlled_By Proper_Irrigation,
Boll_Shedding is_Caused_By Nitrogen_Deficiency
is_Controlled_By Applicatio_of_Urea,
Boll_Shedding is_Caused_By Lack_of_Irrigation
may_Lead_To Tirak has_Symptom Black_Boll_Color,
Boll_Shedding is_Caused_By Spotted_Bollworm,
Flower_Shedding is_Caused_By Lack_of_Irrigation
may_Lead_To Tirak is_Prevented_By Proper_Irrigation,
Buds_Shedding is_Caused_By Nitrogen_Deficiency
is_Controlled_By Application_of_Urea,
... }
Interface
Information on Weather Forecast
Weather data for next 5 days captured from meteorological department for the three districts of Punjab
Data is captured about rainfall, temparature and humidity
System uses the rainfall data to help suggesting the farmer
GISE Lab, IIT Bombay Monday,17 Sept,2012
Example Queries Input Query 1: Leaf Turning Black
Result: {Black_Leaf_Color is_Symptom_Of
Bacterial_Blight is_Prevented_By Release_Trichogramma,
Black_Leaf_Color is_Symptom_Of Bacterial_Blight
Is_Controlled_By Blitox,
Black_Leaf_Color is_Symptom_Of Bacterial_Blight
Is_Controlled_By Streptocycline,
Black_Boll_Color is_Symptom_Of Tirak
Is_Controlled_By Green_Manuring,
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Example Queries Input Query 2: Varities of Cotton
Result: {Cotton has_Variety PAU_626 H
Cotton has_Variety LD_694
Cotton has_Variety RCH_308
Cotton has_Variety LH_1556
Cotton has_Variety MRC_6304
Cotton has_Variety MRC_6301
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Example Queries Input Query 3: Round Patches on Leaf
Result: {Leaf_Shedding is_Caused_By Leaf_Blight
has_Symptom Circular_Leaf_Spot
Yellow to Red_Leaf_Color is_Caused_By
Potassium_Deficiency may_Lead_To Leaf_Blight
has_Symptom Circular_Leaf_Spot
Circular_Leaf_Spot is_Symptom_Of Leaf_Blight
is_Controlled_By Mancozeb
Circular_Leaf_Spot is_Symptom_Of Leaf_Blight
occurs_Due_To Potassium_Deficiency is_Controlled_By
Application_of_Potassium
... }
GISE Lab, IIT Bombay Monday,17 Sept,2012
Ontology Validation
GISE Lab, IIT Bombay Monday,17 Sept,2012
Conclusion
Web-based interface is designed where farmer can post his query
Search over ontology is performed which is aided by farmer’s context information from database
Results are ranked and returned as set of paths to the user
Farmer is also advised about his farming activity based on weather predictions
GISE Lab, IIT Bombay Monday,17 Sept,2012
Future Work
Past data of the farmer can be mined to generate rules which would assist in better farming of current crop.
Protégé does not support rule execution, so in order to execute rule we need rule engine. Jess Rule engine is one of them which can be easily integrated with Protégé. Taking an example:
Pest(?x) ^ Interval(?y) ^ Cure(?z) ^ Has_Interval(?x,?y) ^
Has_Interval(?y,?z) →Action(?z)
If a Pest that occurs in Season July and for July season the Cure is Ethion
Spray then Ethion spraying will be done. New observations seen by farmers may be recorded and this knowledge
may be updated in the crop ontology. Current context based search focuses on temporal aspect. It can be
extended to support spatial locality.
GISE Lab, IIT Bombay Monday,17 Sept,2012
GISE Lab, IIT Bombay Monday,17 Sept,2012