Industrial applications of AI The engineering of
“intelligent” systems
by
C. Anantaram
TCS Innovations Lab, Delhi
IIT- Bombay AI lecture
Agenda
Introduction
Part 1: Rule Based Systems
Part 2: Case Based Systems and Pattern based systems
Part 3: Complex Systems
Part 4: New ways to interact with Systems
Introduction
The real-world need
• Make application systems capable to handle changes in real- world requirements (business policies, methods etc.)
• Need for application systems to be more Flexible, Configurable and Adaptable
• Provide new abilities in real-world applications such as ability to negotiate, ability to predict, ability to analyze, ability to
work with inexact and insufficient data, manage policies,
participate in knowledge management, resolve problems…
• Getting more and more embedded into systems : issues such as performance, integration, usefulness, etc. need to be
addressed
• “Intelligent” processing of mundane tasks to “intelligent”
processing of complex tasks
• Profile of system user is changing: from IT-professional to IT- trained to IT-uninformed
• View it as a “Force multiplier” for applications
The real-world need
Authorization Request (CustomerID,Price)
PURCHASE ACCEPT
(CustomerID,Price)
Authorization Request
PRODUCT REQUEST PURCHASE ACCEPT PRODUCT DELIVERY
Mobile Service Provider Merchant
Rule Engine
Modified Authorization Request
Auth.Confirmed
Example 1: m-Commerce
Merchant specified Rules
Example 2: Directory Assistance
System to assist Telephone call operator
S Y S T E M
Telephone number of Dr. Manish Tiwari Ahm Ngr
Manish Tiwary
Flat # 2B, Savvy Estate Ahim Nagar Phone - 3443422, mobile - 9873922323
95%
Maneesh Tiwary
23 B, Tenali Colony, Ahim Nagar Phone - 346982
90%
Manish Tiwari
Villa - 101, New Colony, 12 M B Road Phone - 231232
89%
Monish Trivedi
Flat - 341, Sanata Building, Nagar Rd Phone - 238744, mobile - 981234523 75%
Matched records
Example 3: Search documents
Retrieve documents related to ‘terrorism’
Level of exactness required - Medium
Case Based Reasoning System
...in the absence of an AL-QAIDA and Saddam their attention is already turning to the obvious candidate for demonization. IRAN hawks are
rallying for a war against the perceived
...an act of terrorism may have caused a Russian passenger plane crash during a flight from Siberia ...80%
Work on document collections
Level of exactness / inexactness need be tuned
Statistical technique - work on co-occurrence relations
...the bodies of four international journalists have been found and were identified by colleagues on
Tuesday, a day after their convoy was ambushed in a narrow mountain pass on the road to the
Afghan capital Kabul... 45%
Does not contain the word
“terrorism”
Requirements or Needs
• Be able to represent and update knowledge
• Reason on that knowledge with what little information that is available
• Be easy to specify, modify and use
• Not necessarily talk in terms of logic and derivations
• Be integrated with various systems : don’t stand-alone !
Part 1: Rule based systems
Rule based representation
General Format for rules
IF <antecedents> THEN <consequent>
OR
IF <conditions> THEN <actions>
OR
WHEN <event> IF <conditions> DO <action>
Each rule represents a small piece of knowledge that can be combined, or chained together with other rules to infer conclusions or derive solutions to problems.
Rule based representation
Example 1
IF patient has a runny nose AND a harsh cough AND
brownish rash AND
high temperature AND bloodshot eyes AND conjunctivitis AND white spots AND intolerance to light THEN
patient has measles.
Rule based representation
Example 2
IF Account type is Corporate and Money Transfer required immediately
THEN
Wire Funds Transfer Charge = 1% of Transfer Amount
IF (IncurredClaimRatio > 10% ) AND (IncurredClaimRatio <= 20% )
THEN
SET discount TO (PremiumAmt OF policy * 0.25) AND
INFORM customer
Logic
Consists of a set of declarative sentences Propositional
• Primitive P India is a country
• Compound using connectives ∧ ∨ ¬ → Q → R If there is a flood
then crops are destroyed Truth value same as ¬Q ∨ R
Predicate
• Variables employee(X) → gets_salary(X)
• Quantification ( ∃ x) ( number(x) ∧ prime(x) )
Rules of inference in Logic
Modus Ponens P , P → Q ⇒ Q
Modus Tollens P → Q , ¬Q ⇒ ¬P Disjunctive Syllogism ¬P , P ∨ Q is TRUE ⇒ Q
Hypothetical Syllogism P → Q , Q → R ⇒ P → R Prolog
grandfather(X,Y) :- father(X,Z), parent(Z,Y).
Rules of inference in Logic
Unification: Binding variables
OR finding substitution for variables
Resolution: Resolves two parent clauses to produce a derived clause.
parent(A,B) :- mother(A,B).
parent(A,B) :- father(A,B).
Reasoning
Inductive: From given facts derive facts that are more generic about the situation : generalization Example: There was an accident once again.
Three people were injured seriously.
Area is accident prone.
Need accident avoidance systems.
Reasoning
Deductive: From given facts derive facts that are more specific about the situation: specialization
There must have been blood.
There could be broken glass.
Abductive: Find the best possible explanation for a given hypothesis: find cause
Example: Trains are not running between Pune and Mumbai
Must have rained heavily at Mumbai Train tracks must be flooded
Reasoning
Reasoning
Data-driven reasoning (also called Forward-chaining):
Start from set of given facts and known assertions From the set of rules find the rules that can fire Derive new assertions from the rules that fire Re-examine the set of rules
Stop when no further rules can fire OR no new assertions
can be derived.
Reasoning
Data-driven reasoning
Data: You have 4 days leave and Rs 3000/- to spend What can you do ?
1. Go to Mahabaleshwar for a vacation 2. Throw a party
3. Buy the DVDs you wanted 4. Buy the books you wanted
Cannot go to Europe for a vacation
Reasoning
Goal-driven reasoning (also called Backward-chaining):
• Start from a given goal and break into sub-goals
• Solve each sub-goal recursively
• For each sub-goal consider known and derived assertions
• Stop when there are no further sub-goals to solve
• Solution is the collection of all assertions made during the solving processOR
None if some sub-goals cannot be solved.
Reasoning
Goal: Reach Germany by tomorrow evening
Sub-goals: Apply for visa, Get Tickets, Pack
Sub-sub-goals: Get invitation letter, Send to Embassy,…
New fact: All direct flights are full. No seats New sub-goal: Try to go via Dubai.
Goal-driven reasoning
Examples of real-world RBS
• Knowledge-based systems:
– Front office Manager’s-aid of Oberoi
– Crew Rostering System of Indian Airlines – Production scheduling system of Indian Oil
– Urban transportation planning system of UNCHS
• Integrated into commercial systems such as charge
calculation, insurance premium renewal, straight-through processing
• Analysis systems, Negotiating agents, Situation assessment
systems, Threat assessment Systems
Classification of RBS
Knowledge-weak, Reasoning-rich Knowledge-weak, Reasoning-weak
Knowledge-rich, Reasoning-rich Knowledge-rich, Reasoning-weak
Reasoning
Knowledge
Weak Rich
Rich
Battlefield Threat Assessment Situation Assessment Jet Engine Fault Diagnosis
Rules for charge calculation Insurance premium rules Customer call handling and
escalation rules
Banking Risk Management rules / Loan rules
Process Plant preventive maintenance rules
Securities trading rules / m-commerce rules
Stock market fraud detection rules Data fusion rules Scheduling rules, planning rules
Requirements of RBS
Knowledge-weak, Reasoning-rich Knowledge-weak, Reasoning-weak
Knowledge-rich, Reasoning-rich Knowledge-rich, Reasoning-weak
Reasoning
Knowledge
Weak Rich
Rich
Ability to define complex rules High-speed processing Powerful search algorithms Truth maintenance, Probabilistic
reasoning
Very simple rules: any user should be able to set it up easily
Procedural rules : no apparent logic Application has tight control
Backward-chaining only Allow complex rule definition
Logical deduction kept under wraps Backward-chaining primarily; maybe Forward-chaining
Be able to store lots of rules and process at high speed
Fuzzy, temporal, spatial reasoning Predicate logic, rules on objects Data-driven, goal-driven,
opportunistic reasoning Pattern-matching, list manipulation,
Prolog-kind of power
Rules in Business applications
• Businesses have rules that govern business functions
• These refer to policies / procedures (simple or complex)
What are business rules?
Rules for Loan approval
A company's financial position is analyzed and modeled as risk classification process, where having good financial health can be classified in the low risk category, whereas having poor financial health can be classified in the high risk category. Companies falling in low risk category may be sanctioned the loan easily, whilst the loan applications of high risk companies may be rejected. Moderately risky companies can be sanctioned amounts lesser than what they ask for, depending on the lending policy.
Why are they important?
Constitute an organization’s core business mechanism Vary in different business environments
Rules change from time-to-time
Authorized users should be able to change rules
Such changes lead to changes in the software application If business rules are hard-coded, then each change becomes
expensive and time-consuming
APPLICATION APPLICATION
Security management
User Interface
Transaction processing
Business Rules Application Logic
Control Logic
Database CS component
Workflow
Targeted towards
Business Rules that change often and need constant updates
Business situations that cannot be frozen up-front
Rules that vary in different business environments
Implementation of rules for decision-support
Need of a rule engine
• Premium calculation
• Policy renewal
• Claim processing
• Bonus calculation
• Rules of charges for various services
• Interest rate rules
• Risk Management
• Portfolio Management
• Securities Trading rules
• Parameter setting and tuning rules
• Fault Diagnosis and rectification
Process control Insurance
Banking
Example domains
RULE
IF (Customer.BillAmount > 200 ) AND
(Customer.mTransactions > 5 ) THEN
SET mPurchase.discount TO 5%
Example rules
RULE
IF Instrument_Type EQ “Share” OR Transaction.currency EQ “INR”
THEN
DECREASE Tolerance OF Transaction BY 2%
If Billing Amount of customer for cell phone use per month is greater than Rs. 20000, and m-commerce purchases are more than 5, grant 5%
discount on the purchases.
If instrument type is
security or currency is INR, reduce transaction
tolerance by 2%.
Why AI ?
Rules
Not just IF-THEN Æ Rules have a state – the conclusion Helps versioning of rules and nested rules
Reasoning
Primarily backward-chaining Grouping of rules
Dynamic sequencing Versioning of rules
Why not ECA ?
Do not want event driven rules. No rules to be fired actively.
Application Flow { Data Structures
: :
: :
:
: }
class c1 class c2
: : class cn
Call to rule engine
Call to rule engine
Made visible to rule engine
Business Rules Rule
Execution Engine
Conceptual Architecture in Application
Example: Rules in charge calculation
Example: Rules in charge calculation (contd)
Example: Rules in charge calculation (contd)
Example: Rules in process plant monitoring
Rule Engine Equipment and Inspection
parameters are passed to Infrex and it returns the rule index of rules fired.
CMFD Database
Causes, actions,
observations and remedies are shown to the user.
Condition Monitoring &
Fault Diagnosis system
Example: Rules in process plant (contd)
Example: Rules in process plant (contd)
Example: Rules in process plant (contd)
Example: Rules in process plant (contd)
Example: Rules in process plant (contd)
Knowledge Based Systems
Developed for Indian Airlines
Installed at I.G.I. Airport, New Delhi, India in 1992 handles
Pilot, Flight Engineer and Cabin Crew roster features
Monthly Rostering of Crew for Flights,
Crew Rostering System
PROBLEM
Allocating Crew for Flights
Considering Flight and Duty Rules and Airline’s objectives
Max 65 hrs Rest 10 hrs 6 hrs/ day 26 hrs/wk.
PROPER CREW FOR ALL FLIGHTS EQUAL FLYING AND DUTY HOURS EASY HANDLING OF DISRUPTIONS
In all during the rostering
44 important parameters, 31 constraints and 16 major objectives are considered.
The system refers to about 145 rostering rules while doing monthly rostering.
Sample Rules:
Sample Rules:
1. Every Crew should get one weekly off in any 7 day period, and it must be for 24 hours with a 2200 hrs to 0600 hrs period.
2. A junior co-pilot should be rostered with a senior pilot.
3. After a long night-stop flight, avoid giving another night-stop flight immediately.
Why AI for CRS ?
Crew qualifications: aircraft cleared, valid licence, stations cleared,…
Flight Duty Time Limitations (FDTL): rest after flight, maximum duty in 24 hrs, maximum weekly, monthly flying allowed, etc.
Flight duration and requirements: day-return, night-stop, international, domestic,…
Airline objectives: equal trips, equal flying hours, equal night-stops, equal duty load, equal rotation of flights, etc.
Crew Rostering System (contd.)
Strategy
Constraint monitoring heuristics-based strategy Works on progressive reduction of the search space Parameters and constraints are classified into 3 categories.
1st category: all essential parameters and constraints
which makes a crew eligible for a flight -- the ESet.
2nd category: parameters and constraints which decide the
subset of crew (from ESet) available for flight -- the ASet.
3rd category: remaining parameters and constraints help decide which crew from the ASet should be assigned a flight.
Why not Optimization Techniques ?
Wanted a good working model rather than the best
• Structural Verification with the help from the tool – Graphical representation of rules
– Rule-level testing – Sample testing
– Get the rules reviewed by another engineer – Module testing
• Validation
– Run system against old input data and compare against decision taken – Walk-through the system with experts
– Random testing – Systematic testing – Parallel testing
– Simultaneously on-line with human decision-making – System runs by itself; output is reviewed by experts
Crew Rostering System (contd.)
Output: assignment of crew to the various flights and duties.
Crew Rostering System (contd.)
Disruption Management
List of alternate crew for disrupted flight is displayed.
Crew Rostering System (contd.)
Other real-world systems
• FOM-AID: Oberoi Hotels
• PSMS: Indian Oil Corporation
• EXCELMAN: Indian Oil Corporation
• ADB Proposal Validator: Asian Development Bank
Part 2: Case based reasoning and
Pattern based reasoning
Case-based reasoning
Case Search Engine Case-base
Case C1 Case C2 Case C3
….
Case Cn Case CNEW
Matched Cases
C1 - 92%
C7 - 67%
Input Problem
Case-base administrator
Solve CNEW
Add unsolved case as CNEWto case- base
• Use prior experiences to guide current functioning
• The CBR principle - Retrieve Reuse Revise
The case search process
• Is inexact
– Computes similar rather than exact correspondences
• Is not brittle
– Will always retrieve the ‘nearest’ possible solution
• Learns incrementally
– As new cases arise they can be learnt and reused
• Problem solving power improves over time
• Simple model of human memory
Where will CBR be useful?
• Situations similar but rarely identical
– Call center problem solving, estimation
• Precedent driven problem solving
– Legal reasoning, Medical diagnosis
• Rapidly changing situations – Disaster management
• Boundaries between rules – Handling exceptions – Credit risk assignment, loan evaluation, …
• As an inexact reasoning system
– Job placement, directory assistance
Example
Waybill Processing System
CBR in a Large Railroad Company
Current solution -
90 Rate Analysts/Clerks manually correct the rejected waybills Average time to rectify discrepancies is two-weeks per waybill Even after this, there are about 20,000 disputes every month Consequences of disputes -
Delays the financial realization Affects reputation of the company
Number of waybills processed per day : 15000
On an average about 2000 waybills get rejected daily by the auto rate application due to discrepancies in bill processing.
PROBLEM
Need for CBR expert system
• The methodology used by each Rate analyst is unique, not standardized and specific to the individual. It cannot be shared / reused across the organisation
• The time required to manually rectify the errors is huge
• In Auto rating, the changes made by Rate analyst are based on their past experience and the resolution may not be consistent
• Each rejection is itself a case and the organisation needs to build on these cases to improve continuously
• The knowledge gained may be lost on account of persons retiring , leaving , or getting transferred
Why CBR ?
CBR solution
• Captures experience of analysts using a CBR Engine called Consult
• Helps reapply experience in future
• Interfaced with existing applications to provide a smooth flow of waybills
• Proactively checks for potential disputes
• Ranks results on matches from the past experience
• Inexact matching aids in approximation
• Manual as well as automatic entry and resolution of problems
• Interfaces with legacy systems
CBR in action
Pattern based reasoning
• Mechanism to specify patterns over data
Patterns can be approximate and time dependent Fuzzy Temporal logic extensions to Prolog
• Detect if specified pattern is present in data
Parts of data that almost meets the patterns
Reasoning framework
TradeDate Scrip High Low Open Close 52Week 52Week NetTrade Price Price Price Price High Low Quant
16032002 Co1 41 41 40.55 41 44 29.5 1602 17032002 Co1 44 42 41 44 44 29.5 1137 18032002 Co1 44 42.5 42 44 44 29.5 1200 19032002 Co1 45 44 42.55 45 44 29.5 2554 20032002 Co1 46.05 43 44 45.5 45 29.5 3056 21032002 Co1 46.45 43 46 46 46.05 29.5 1074 22032002 Co1 46.45 43 46.45 46 46.45 29.5 875 23032002 Co1 48 45.9 45.95 48 46.45 29.5 526
Closing price
Time Pattern for Double Top
Close price of the given scrip varies as follows in the recent history Prior Trend is greater than some price X and
Price increases from base B1 to peak P1 and
immediately followed by Price decreases close to B1 and
immediately followed by Price increases again approximately close to P1 and immediately followed by Price decreases to B1
Part 3: Complex systems
1. Commander needs to use all the information available to make decisions and issue orders
2. CCI systems need to process large sets of data rapidly and extract out information that is desired
3. CCI systems to be responsive to commander's mission of defeating the enemy on the battlefield
Objectives of Processing and Reasoning in Military domain
DSS System for Defense
Reports and other data
Images, photos, video, audio and other multi- modal data
User inputs
Reconstructed battlefield scenario
Symbolic representation (non-pictorial) Model-based
Hierarchical (increasing abstraction,
increasingly complex concepts) Multi-modal signal database
Other database systems
Intelligent DSS System
Signal fusion Object recognition Object feature extraction
Formation recognition
♦ Available data may be incomplete
♦ Uncertainty due to limitation of sensors
♦ Deceptive enemy behaviour
♦ Dynamic situations
♦ Very Complex analysis
♦ Many possibilities
♦ Not precisely defined procedures always
♦ Increasing complexity of weapon systems
Major Challenges posed
Broadly a DSS system should:
• Assess possible situations from the data and present it to the Commander
• Answer ‘what-if’ kind of queries on the situations
• Information-based Search facility to yield alternatives and their evaluations
• Analyze based on Multiple objectives and multiple criterias.
• Given a military objective ability to plan out operations considering current resources and ground situations.
• Sift through various situations to highlight the potentially dangerous versus the profitable ones.
Example: Operations Planning (contd.)
• Various modes of inference and reasoning
(such as Data-driven reasoning, Goal-driven, opportunistic reasoning, deductive, inductive, abductive inference etc.)
• Search techniques
(such as Branch-and-bound, Hill-climbing, Best-first, Heuristic search etc.)
• Pattern-matching mechanisms
(such as Existential, Universal, Inexact, etc.)
• Handling and reasoning with uncertainty
(such as probabilities, confidence factors, etc.)
• Belief revision and Truth Maintenance
(Assumption-based TMS, Justification-based TMS, etc.)
Example: Operations Planning (contd.)
• Different ways of representing Knowledge
• (rule-based, case-based, model-based etc.)
• Fuzzy, Imprecise and Temporal data handling
• Different knowledge sources work with each other
•
(blackboard systems, agent-based systems)• Natural language interface
• Classification, generation and Learning
• (neural networks, genetic algorithms, a-life)
Example: Operations Planning (contd.)
Situation Assessment
To identify probable situation from observed data
and events (i.e. terrain, geographical, intelligence data, enemy activities, events, maneuvers, etc.)
Judge what is happening or predict what is going to happen.
Threat Assessment
To gauge possible threats from situations after
proper analysis. Determine threats and degree of threat.
Concentrate on degree and severity of future events.
Identify force capability and Intent.
Example: Operations Planning (contd.)
Data Processing requirements in C4I2 domain
• Situational data: Battle situation at any given time: units, aircrafts, terrain, combat systems and supplies
• Stored data – Terrain data and features , Maps, Analysis, Enemy data, Historical data
• Large numbers of off-board and on-board sensors, high target densities, rapid sensor updates, significant data uncertainties
• Vast increase in the volume of strategic and tactical information available to commanders at all levels
• Must process all available data quickly and efficiently, extract out the relevant information while discarding the rest
• Fast detailed and accurate ISTAR (Intelligence, Surveillance, Target Acquisition and Reconnaissance)
Data Characteristics in C4I2 domain
• Different types of data – Text / Documents (structured, unstructured, free-format), Positions (precise lat-long to ‘possibly present’), Numeric data, Electronic sensors, Pictures, Mixed
• Different sources of data –Sensor reports, Field Observations, Documents, Spy report, Interceptions, Maps, News articles, Internet
• Very large amounts of data – Continuous data feed, Data comes in bits and pieces, data comes in bursts
• Time-stamped data (mostly), Non-time stamped – features of equipment
• Quality of data – Trustable, Reliable, Probable, Informative, Unsure, Deceptive
• Data form – Encrypted, Plain text, Jumbled
Motivation Reasoning to support complex analysis
Multimodal reasoning
Ability to reason in various ways over a set of data
for example: patterns, rules, cases
INPUT 1 Radars
INPUT 2 Airborne
INPUT n Spy
INPUT MONITORING
AND DATA FUSION
Decision aid/
Planning support
Expert Analyst
Knowledge Rules Patterns Experience /
Cases
Analyst Situation
Assessment Threat Assessment
: :
Surveillance Stock market, Military, Banking Diagnosis Fault diagnosis, Process monitors Assessment Situation, Threat, Risk assessments
Multimodal reasoning: Data-intensive domains
• Very large amounts of data – mostly time-stamped data
• Need to analyze that data quickly and determine what is going on
• Want to predict before event / disaster occurs
• Has various interwoven knowledge / expertise
Processing Text and Numeric Data
Text Data
Information Extraction from large texts (gathered from reports, messages, interceptions, documents, etc.)
Identify Similar incidents of past
Correlate and extrapolate
Numeric Data
Specify possible patterns of interest in data (gathered from sensors, field observations, measurements, etc.).
Identify parts of the data where patterns can be identified
Evaluate rules of operation and reason to determine intent
What is information extraction?
• Information extraction is a process that takes natural language texts as input and extracts out potentially useful nuggets of information into a structured database
• Can be used as a filter on text messages and documents that retains potentially useful information and discards useless information
Why do we need Information Extraction?
• Textual information overload
– Volumes of textual information received or available – Relevant information buried within these volumes
• Processing semi-structured data
– Most transactional systems have textual fields: e.g. Comments, remarks, problem, solution, notes, ….
– Dense, ungrammatical, misspellings – Ignored in structured analytics
– But contains valuable information which can be very useful – IE can improve findings and quality of structured analytics
What kinds of information can be extracted?
The 5 Ws
– WHO: which unit is to accomplish the task.
– Normally identified by a Unit code / Unit_ID.
– When exact Unit is not known, could be identified by location.
– Could be identified by ROLE (Main Thrust, Support etc.)
– WHAT: the task to be accomplished.
– Purpose (Defeat, Destroy, Contain, Clear, etc.)
– Parameters: (dependent on the term but required for clarification: Destroy what?) – Could be either an operation or specific task.
– Selection maybe dependent on the intent of the senior commanders
– WHEN: the timing of the task.
– Control type (at a certain time, within a certain time, time after an Event (D+1, H+2, etc.)) – Dependence on other entities
– WHY: the reason for accomplishing the task.
– Objective (Offensive, Support, Defend, Pre-emptive etc.) – Necessary and just sufficient information for various levels
– WHERE: the location for accomplishing the task.
– Lat/Long, Terrain, Reference Points etc.
Technology in information extraction
• Normalization
– Converting PDF / DOC / PS files to HTML or Text
• Cleanser
– Misspelling correction, ellipses, synonym rewrites, …
• Pattern matching
– Use of regular expression like patterns for tagging
• Shallow parsing
– Identification of nouns, verbs, adjectives, adverbs, etc.
• Part of speech tagging and morphological analysis
– Use of statistical processes for handling unknown words
• Anaphora resolution
– Determining which noun a pronoun refers to
• Deep parsing and Named Entity Relations
– Determining relations between nouns, verbs and other terms
Part 4: New ways to interact with systems
Conversational Systems
¾ Current scenario of User Interface for business applications:
GUI consisting of menus/forms
E.g ERP packages,Online Banking, E- Commerce applications.
• Menus restrict choice
• Control implicit
• Context at top
• Novice, Skilled, Expert users
• Graphical menus – slow skilled user ?
• Expert users type ahead of screen
• Can user find the menu item they need ?
Motivation
Users pick what they want to do from a list of alternatives
What if there are too many options ? Confusing to display 100 items – cognition
Hard to find one item in 100 items Hard to find the right menus
Context sensitive menus User defined menus
You know what you want – but do not know where to specify it ; nor do you have the time
Problems of Menu-driven systems
What is Conversational Interface?
Interface that enables communication with a machine by establishing a dialog in natural language as used in human-to-human interaction
Advantages
• Provides easily learned and easily remembered human-computer interaction.
• Linguistic structures, such as connectives, conditionals, and quantifiers, allows users to group sets of basic actions
• Reduces navigation time (number of clicks) for experienced users.
Motivation
¾ Problems in developing unrestricted natural language UI:
• Highly ambiguous words having more than one meaning .
• Use of jargons requires domain knowledge for correct interpretation.
• Continuous evolution and extension of NLs.
¾ Solution
• Making the language restrictive to cover only a limited subset of the vocabulary and syntax of a full natural language.
• Coverage of only domain specific concepts to reduce ambiguities.
Why “Restricted Natural Language Conv. Sys.” ?
Objectives
Simplify user interaction with systems by establishing a dialog
Drill down to what the user wants, and carry out the request.
Develop a generic NLI pluggable to any application.
Procedure
User describes task to be carried out in natural language.
System identifies key concepts from user input based on domain ontology.
Initiates a conversation for additional information to clarify the required task.
Computes weight of all possible tasks based on concepts raised.
Performs the maximum weighted task after confirming with user.
¾ Provides easily learned and easily remembered human-computer interaction.
NATAS
Intelligently seeks
clarification and responds
Correct Syntax and semantics
not required
Text Based Interface between humans
and
Business Applications
Natural Language enabled
Application Data
BROAD ARCHITECTURE
MySQL Oracle
SfleX
Business Application
APIs Services
Ontology Creation
Seed Ontology
Application Ontology
Rules
CWM
RDF (Domain Ontology)
RDF GRAPH
NATAS
EMAIL CLIENT
Email Spooler
Email Parser
Conversation Manager
N A T A S P R O C E S S I N
Domain Ontology
Application Ontology + Rules (N3)
CWM
Application Database + Seed Ontology Ontology Generator
Domain Ontology
Domain Ontology created
RDF Format in
Concepts are loaded into the memory
Parts of Speech Identified from the query posed
Key Concept identified based on
domain ontology Email
based NL Interface
Query Posed By User Based on concepts
either SPARQL, API, Ontology Traversal
Initiates Conversation for clarification
Examples
Seed Ontology
Asset
Version
Asset_id
Limitations
State Reason
Has_id name
posses Consi sts_
of has Has_name
Can_have
Subject Predicate Object
Architecture _description
Licen ce_typ
e_id Asset_id
Asset_name state
version
Total_benefit
SDLC_Phase_id R
1.2
15000
4
JOA
8
N-tier coding 412 4
Architecture_id
Subject Object
Predicate
Domain Ontology
Ass et_C
lass ification
_id 17
SDLC_phase_id Des
cription
214
Dom ain_id
1
User_size_id