SLIDE 1 Using Answer Set Programming for Representating and Reasoning about Preferences and Uncertainty in Dynamic Domains
Ravi Palla1,2, Dan Tecuci1, Vinay Shet1, Mathaeus Dejori1
1Siemens Corporate Research, Princeton, NJ, USA 2School of Computing, Informatics and Decision Systems Engineering,
Arizona State University
Deep KR Challenge Workshop, 2011 1
SLIDE 2
Answer Set Programming (ASP)
A form of declarative programming suitable for representing combinatorial search problems and knowledge-intensive applications. Syntax:
rules: L ← L1, . . . , Lm, not Lm+1, . . . , not Ln L and Li are literals and not is default negation.
Based on the stable model semantics [Gelfond and Lifschitz, 1988]. Models are called stable models or answer sets. Several efficient implementations (answer set solvers): smodels, DLV, cmodels, clasp(D), clingo, ASSAT, etc. 2
SLIDE 3
ASP Example: Computing Cliques
Finding cliques of size ≥ n {in(x)} ← vertex(x) ← in(x), in(y), x = y, not edge(x, y) ← {in(x)}n − 1 Every answer set corresponds to a clique of size ≥ n. 3
SLIDE 4
Why Do We Need to Consider Dynamic Domains in Healthcare?
Physicians often need to consider cause-effect relationships for diagnosis and treatment. Systems that are required to help the physicians in these tasks need to be able to represent and reason with such knowledge. 4
SLIDE 5
Why Do We Need to Consider Dynamic Domains in Healthcare?
Physicians often need to consider cause-effect relationships for diagnosis and treatment. Systems that are required to help the physicians in these tasks need to be able to represent and reason with such knowledge. Example: Knowledge: Gastritis causes gastrointestinal bleeding. Other Domain Knowledge: Aspirin may treat pain and should not be given to patients with gastrointestinal bleeding. Specific case: A patient with gastritis reports abdominal pain. Question: Is aspirin recommended in order to relieve his/her pain? 5
SLIDE 6
Why Do We Need to Consider Dynamic Domains in Healthcare?
Physicians often need to consider cause-effect relationships for diagnosis and treatment. Systems that are required to help the physicians in these tasks need to be able to represent and reason with such knowledge. Example: Knowledge: Gastritis causes gastrointestinal bleeding. Other Domain Knowledge: Aspirin may treat pain and should not be given to patients with gastrointestinal bleeding. Specific case: A patient with gastritis reports abdominal pain. Question: Is aspirin recommended in order to relieve his/her pain? Answer: No, since gastrointestinal bleeding is a contraindication. 6
SLIDE 7
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) 7
SLIDE 8
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) 8
SLIDE 9
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) Other Domain knowledge: may treat(aspirin, pain) and ci with(aspirin, gastrointestinal bleeding). 9
SLIDE 10
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) Other Domain knowledge: may treat(aspirin, pain) and ci with(aspirin, gastrointestinal bleeding). Inertial axioms: h(F, T + 1) ← h(F, T), not ¬h(F, T + 1) ¬h(F, T + 1) ← ¬h(F, T), not h(F, T + 1) 10
SLIDE 11
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) Other Domain knowledge: may treat(aspirin, pain) and ci with(aspirin, gastrointestinal bleeding). Inertial axioms: h(F, T + 1) ← h(F, T), not ¬h(F, T + 1) ¬h(F, T + 1) ← ¬h(F, T), not h(F, T + 1) Patient-specific information: h(gastritis, 0) and h(pain, 0). 11
SLIDE 12
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) Other Domain knowledge: may treat(aspirin, pain) and ci with(aspirin, gastrointestinal bleeding). Inertial axioms: h(F, T + 1) ← h(F, T), not ¬h(F, T + 1) ¬h(F, T + 1) ← ¬h(F, T), not h(F, T + 1) Patient-specific information: h(gastritis, 0) and h(pain, 0). 12
SLIDE 13
Representing the Example in ASP
Gastritis causes gastrointestinal bleeding: h(gastrointestinal bleeding, T + 1) ← h(gastritis, T) Domain rules for drug recommendation: canAdminister(X, Y , T) ← may treat(X, Y ), not contraind(X, T), h(Y , T) contraind(X, T) ← ci with(X, Z), h(Z, T) Other Domain knowledge: may treat(acetaminophen, pain). Inertial axioms: h(F, T + 1) ← h(F, T), not ¬h(F, T + 1) ¬h(F, T + 1) ← ¬h(F, T), not h(F, T + 1) Patient-specific information: h(gastritis, 0) and h(pain, 0). 13
SLIDE 14 Preferential Diagnosis in the Healthcare Domain
Consider the following knowledge from the guidelines for treatment
- f STEMI (ST Elevation Myocardial Infarction):
Most cases of STEMI are caused by an occlusion of a major coronary artery. Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus. Less commonly, a thrombus may form from a superficial erosion of the endothelial surface. Consider the following questions: A patient is diagnosed with STEMI. What is the likely cause? A patient is diagnosed with STEMI but no disruption of plaque was found. What is the likely cause? 14
SLIDE 15 Preferential Diagnosis in the Healthcare Domain
Consider the following knowledge from the guidelines for treatment
- f STEMI (ST Elevation Myocardial Infarction):
Most cases of STEMI are caused by an occlusion of a major coronary artery. Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus. Less commonly, a thrombus may form from a superficial erosion of the endothelial surface. Consider the following questions: A patient is diagnosed with STEMI. What is the likely cause? Answer: disruption of plaque followed by formation of an
- ccluding thrombus followed by coronary occlusion.
15
SLIDE 16 Preferential Diagnosis in the Healthcare Domain
Consider the following knowledge from the guidelines for treatment
- f STEMI (ST Elevation Myocardial Infarction):
Most cases of STEMI are caused by an occlusion of a major coronary artery. Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus. Less commonly, a thrombus may form from a superficial erosion of the endothelial surface. Consider the following questions: A patient is diagnosed with STEMI but no disruption of plaque was found. What is the likely cause? Answer: erosion of the endothelial surface followed by formation of an occluding thrombus followed by coronary
16
SLIDE 17
Representation Language
L-C program: [label :] L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm and [label :] {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm [label :]: optional label. {L}: used to represent uncertainty. prefer(l1, l2): prefer rule l1 over l2. 17
SLIDE 18
Representation of the Example Sentences
Most cases of STEMI are caused by an occlusion of a major coronary artery: r stemi(T) : {h(stemi, T + 1)} ← h(coronary occlusion, T) 18
SLIDE 19
Representation of the Example Sentences
Most cases of STEMI are caused by an occlusion of a major coronary artery: r stemi(T) : {h(stemi, T + 1)} ← h(coronary occlusion, T) Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus: r cor occ(T) : {h(coronary occlusion, T + 1)} ← h(occluding thrombus, T) r cor bldflw red(T) : {h(coronary bloodflow reduction, T + 1)} ← h(occluding thrombus, T) 19
SLIDE 20
Representation of the Example Sentences: Contd.
Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus: r thrombus 1(T) : h(occluding thrombus, T + 1) ← h(disruption plaque, T) 20
SLIDE 21
Representation of the Example Sentences: Contd.
Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus: r thrombus 1(T) : h(occluding thrombus, T + 1) ← h(disruption plaque, T) Less commonly, a thrombus may form from a superficial erosion of the endothelial surface: r thrombus 2(T) : {h(occluding thrombus, T + 1)} ← h(erosion endo surface, T) prefer(r thrombus 1(T), r thrombus 2(T)) 21
SLIDE 22
Representation of the Example Sentences: Contd.
Coronary occlusion and reduction in coronary blood flow are usually due to physical disruption of an atherosclerotic plaque with subsequent formation of an occluding thrombus: r thrombus 1(T) : h(occluding thrombus, T + 1) ← h(disruption plaque, T) Less commonly, a thrombus may form from a superficial erosion of the endothelial surface: r thrombus 2(T) : {h(occluding thrombus, T + 1)} ← h(erosion endo surface, T) prefer(r thrombus 1(T), r thrombus 2(T)) Inertial Axioms: h(F, T + 1) ← h(F, T), not ¬h(F, T + 1) ¬h(F, T + 1) ← ¬h(F, T), not h(F, T + 1). 22
SLIDE 23
Turning a L-C Program to a Answer Set Program
Similar to the approach in [Balduccini and Gelfond; 2003]. [label :] L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) 23
SLIDE 24
Turning a L-C Program to a Answer Set Program
Similar to the approach in [Balduccini and Gelfond; 2003]. [label :] L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) [label :] {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) 24
SLIDE 25
Turning a L-C Program to a Answer Set Program
Similar to the approach in [Balduccini and Gelfond; 2003]. [label :] L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) [label :] {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) Add {apply(label)} for every labeled rule. 25
SLIDE 26
Turning a L-C Program to a Answer Set Program
Similar to the approach in [Balduccini and Gelfond; 2003]. [label :] L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to L ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) [label :] {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm turned to {L} ← L1, . . . , Ln, . . . , not Ln+1, . . . , not Lm, apply(label) Add {apply(label)} for every labeled rule. Add the following rules: is preferred(R1, R2) ← prefer(R1, R2) is preferred(R1, R2) ← prefer(R1, R3), is preferred(R3, R2) ← is preferred(R, R) ← apply(R1), apply(R2), is preferred(R1, R2) 26
SLIDE 27
Preferred Answer Sets
Π: a L-C program. Πt: the corresponding answer set program. X, Y : answer sets of Πt. X is better than Y if apply(r1) ∈ X, apply(r2) ∈ Y , and is preferred(r1, r2) ∈ X ∩ Y . X strictly better than Y if X is better than Y but it is not the case that Y is better than X. X is non-redundant if X | = body(r) for every apply(r) ∈ X. X is a preferred answer set of Πt if
X is non-redundant, and there is no non-redundant answer set Y that is strictly better than X.
27
SLIDE 28
Example: Revisited
r stemi(T) : {h(stemi, T + 1)} ← h(coronary occlusion, T) r cor occ(T) : {h(coronary occlusion, T + 1)} ← h(occluding thrombus, T) r cor bldflw red(T) : {h(coronary bloodflow reduction, T + 1)} ← h(occluding thrombus, T) r thrombus 1(T) : h(occluding thrombus, T + 1) ← h(disruption plaque, T) r thrombus 2(T) : {h(occluding thrombus, T + 1)} ← h(erosion endo surface, T) prefer(r thrombus 1(T), r thrombus 2(T)) 28
SLIDE 29
Question-Answering: Question 1
Question: A patient is diagnosed with STEMI. What is the likely cause? Query: the patient has STEMI: ← not h(stemi, maxstep) no knowledge about causes for disruption plaque and erosion endo surface: {h(disruption plaque, 0)} {¬h(disruption plaque, 0)} {h(erosion endo surface, 0)} {¬h(erosion endo surface, 0)} For maxstep=3, preferred answer sets contain: h(disruption plaque, 0), h(occluding thrombus, 1), and h(coronary occlusion, 2) 29
SLIDE 30
Question-Answering: Question 2
Question: A patient is diagnosed with STEMI but no disruption of plaque was found. What is the likely cause? Query: the patient has STEMI: ← not h(stemi, maxstep) no disruption of plaque observed: ← h(disruption plaque, T) no knowledge about causes for disruption plaque and erosion endo surface: {h(disruption plaque, 0)} {¬h(disruption plaque, 0)} {h(erosion endo surface, 0)} {¬h(erosion endo surface, 0)} For maxstep=3, preferred answer sets contain: h(erosion endo surface, 0), h(occluding thrombus, 1), and h(coronary occlusion, 2) 30
SLIDE 31
Related Work
Several preference-handling approaches in the framework of ASP: W -preferred answer sets: [Wang et al., 2000]. D-preferred answer sets: [Delgrande and Schaub, 2000]. B-preferred answer sets: [Brewka and Eiter, 1999]. CR-Prolog [Balduccini and Gelfond, 2003]: preferences among consistency-restoring rules. ASP with Ordered Disjunction: [Brewka, 2002]. . . . Consider Π consisting of the following rules: r1 : p ← q r3 : r ← s r2 : p ← r r4 : q ← s (1) prefer(r1, r2) prefer(r3, r4) W /D/B-preferred answer sets of Π ∪ {{s}} ∪ {← p} do not contain {p, q, s}. 31
SLIDE 32
Conclusion
Question-Answering (QA) systems in the Healthcare domain:
need to represent and reason with dynamic domains. need to perform preferential diagnosis. need to handle uncertainty.
We showed how ASP can be used for QA:
used a well-established approach to represent dynamic domains. used L-C programs to handle preferential diagnosis and uncertainty. used preferred answer sets to answer certain questions.
Future Work:
evaluating the approach on other question types. providing semantics for L-C programs and comparing it with existing approaches in ASP for handling preferences. investigating the use of other formalisms/approaches, such as the Knowledge Machine (KM) and Causal Logic [McCain and Turner, 1997; Giunchiglia et al., 2004].
32