a model-based approach to the automatic revision of ... · 2 modelling of legal speci cation formal...
TRANSCRIPT
A Model-based Approach to the Automatic Revision ofSecondary Legislation
Tingting Li1 Tina Balke2,1 Marina De Vos1 Julian Padget1
Ken Satoh3
1University of Bath{t.li,mdv,jap}@cs.bath.ac.uk
2University of [email protected]
3National Institute of [email protected]
The 14th International Conference on AI and Law (ICAIL 2013)
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 1 / 17
Motivation
1 Motivation
2 Modelling of Legal Specification
3 Automatic Conflict Detection
4 Conflict Resolution via Automatic Revision
5 Future Work
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 2 / 17
Motivation
Conflict of Laws
Law is dynamic: adding new laws or amending existing ones.
Existing inferior law (or set of regulations) may no longer beconsistent with the new superior law: an action permitted(obliged) inone but prohibited in another.
possibly resulting in (unintended) illegal behaviour.
Problem: detection and resolution of such conflicts automatically.
In particular: Will a specific scenario (a course of actions) result in aconflict? How to revise existing laws to remove this conflict?
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 3 / 17
Motivation
Conflict of Laws
Law is dynamic: adding new laws or amending existing ones.
Existing inferior law (or set of regulations) may no longer beconsistent with the new superior law: an action permitted(obliged) inone but prohibited in another.
possibly resulting in (unintended) illegal behaviour.
Problem: detection and resolution of such conflicts automatically.
In particular: Will a specific scenario (a course of actions) result in aconflict? How to revise existing laws to remove this conflict?
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 3 / 17
Motivation
Case Study
Recent change in UK immigration law about student visa regulation 1.
UK Immigration Law : the permitted working hours of overseasstudents are reduced: up to 20 hours per week.
Studentship Regulations: minimum number of teaching hours thestudent has to deliver: at least 30 hours per week.
1Detailed changes can be found on the UK Home Office website under http://www.ukba.homeoffice.gov.uk/sitecontent/documents/news/sop4.pdf.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 4 / 17
Motivation
Case Study
Recent change in UK immigration law about student visa regulation 1.
UK Immigration Law : the permitted working hours of overseasstudents are reduced: up to 20 hours per week.
Studentship Regulations: minimum number of teaching hours thestudent has to deliver: at least 30 hours per week.
1Detailed changes can be found on the UK Home Office website under http://www.ukba.homeoffice.gov.uk/sitecontent/documents/news/sop4.pdf.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 4 / 17
Modelling of Legal Specification
1 Motivation
2 Modelling of Legal SpecificationFormal Model SketchMapping to AnsProlog
3 Automatic Conflict Detection
4 Conflict Resolution via Automatic Revision
5 Future Work
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 5 / 17
Modelling of Legal Specification Formal Model Sketch
Model sketch
World Model
ObsEv1 ObsEv2 ObsEv3 ObsEv4
Legal Specification
fluent1
fluent ′1fluent ′2fluent ′3
act1 fluent ′′1fluent ′′3
act2
Model generates ordered traces that show us the evolution of thelegal specification over time—allows validation and verification.
Essential elements of model are:events (E): exogenous and legalfluents (F): power, permission, obligation, domain
Legal Specification: L := 〈E ,F ,G, C,∆〉
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 6 / 17
Modelling of Legal Specification Formal Model Sketch
Model sketch
World Model
ObsEv1 ObsEv2 ObsEv3 ObsEv4
Legal Specification
fluent1
fluent ′1fluent ′2fluent ′3
act1 fluent ′′1fluent ′′3
act2
Model generates ordered traces that show us the evolution of thelegal specification over time—allows validation and verification.
Essential elements of model are:events (E): exogenous and legalfluents (F): power, permission, obligation, domain
Legal Specification: L := 〈E ,F ,G, C,∆〉
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 6 / 17
Modelling of Legal Specification Formal Model Sketch
Model sketch
World Model
ObsEv1 ObsEv2 ObsEv3 ObsEv4
Legal Specification
fluent1
fluent ′1fluent ′2fluent ′3
act1 fluent ′′1fluent ′′3
act2
Model generates ordered traces that show us the evolution of thelegal specification over time—allows validation and verification.
Essential elements of model are:events (E): exogenous and legalfluents (F): power, permission, obligation, domain
Legal Specification: L := 〈E ,F ,G, C,∆〉
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 6 / 17
Modelling of Legal Specification Formal Model Sketch
Model sketch
World Model
ObsEv1 ObsEv2 ObsEv3 ObsEv4
Legal Specification
fluent1
fluent ′1fluent ′2fluent ′3
act1 fluent ′′1fluent ′′3
act2
Model generates ordered traces that show us the evolution of thelegal specification over time—allows validation and verification.
Essential elements of model are:events (E): exogenous and legalfluents (F): power, permission, obligation, domain
Legal Specification: L := 〈E ,F ,G, C,∆〉
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 6 / 17
Modelling of Legal Specification Formal Model Sketch
Model sketch
World Model
ObsEv1 ObsEv2 ObsEv3 ObsEv4
Legal Specification
fluent1
fluent ′1fluent ′2fluent ′3
act1 fluent ′′1fluent ′′3
act2
Model generates ordered traces that show us the evolution of thelegal specification over time—allows validation and verification.
Essential elements of model are:events (E): exogenous and legalfluents (F): power, permission, obligation, domain
Legal Specification: L := 〈E ,F ,G, C,∆〉
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 6 / 17
Modelling of Legal Specification Mapping to AnsProlog
Framework translation to AnsProlog
Answer set programming used as computational back-end
Conclusion : −Conditions. with use of negation as failure
Important components:
observed(Event,Instant): an exogenous event at time toccurred(Event,Instant): a legal action at time tholdsat(Fluent,Instant): fluent is true at time tpow(Event),perm(Event),obl(Event,DueEvent,VioEvent):fluents that indicate normsinitiated(Fluent,Instant): fluents to be added to stateterminated(Fluent,Instant): fluents to be deleted from the state
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 7 / 17
Modelling of Legal Specification Mapping to AnsProlog
Framework translation to AnsProlog
Answer set programming used as computational back-end
Conclusion : −Conditions. with use of negation as failure
Important components:
observed(Event,Instant): an exogenous event at time toccurred(Event,Instant): a legal action at time tholdsat(Fluent,Instant): fluent is true at time tpow(Event),perm(Event),obl(Event,DueEvent,VioEvent):fluents that indicate normsinitiated(Fluent,Instant): fluents to be added to stateterminated(Fluent,Instant): fluents to be deleted from the state
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 7 / 17
Modelling of Legal Specification Mapping to AnsProlog
Framework translation to AnsProlog
Answer set programming used as computational back-end
Conclusion : −Conditions. with use of negation as failure
Important components:
observed(Event,Instant): an exogenous event at time toccurred(Event,Instant): a legal action at time tholdsat(Fluent,Instant): fluent is true at time tpow(Event),perm(Event),obl(Event,DueEvent,VioEvent):fluents that indicate normsinitiated(Fluent,Instant): fluents to be added to stateterminated(Fluent,Instant): fluents to be deleted from the state
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 7 / 17
Automatic Conflict Detection
1 Motivation
2 Modelling of Legal Specification
3 Automatic Conflict Detection
4 Conflict Resolution via Automatic Revision
5 Future Work
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 8 / 17
Automatic Conflict Detection
Composite Legal Specification
Composite Legal Specification CL with L = {L1, . . . ,Ln}Wrapper for independent legal specification. Individual statetransition.
Composite trace = sequence of exogenous events from all individuallegal specification.
Synchronised Traces: Null events (enull) to fill up the unrecognisedevents in individual traces. DOES NOT change the states.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 9 / 17
Automatic Conflict Detection
Composite Legal Specification
Composite Legal Specification CL with L = {L1, . . . ,Ln}Wrapper for independent legal specification. Individual statetransition.
Composite trace = sequence of exogenous events from all individuallegal specification.
Synchronised Traces: Null events (enull) to fill up the unrecognisedevents in individual traces. DOES NOT change the states.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 9 / 17
Automatic Conflict Detection
Composite Legal Specification
Composite Legal Specification CL with L = {L1, . . . ,Ln}Wrapper for independent legal specification. Individual statetransition.
Composite trace = sequence of exogenous events from all individuallegal specification.
Synchronised Traces: Null events (enull) to fill up the unrecognisedevents in individual traces. DOES NOT change the states.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 9 / 17
Automatic Conflict Detection
Conflict traces
Conflicts occur when any two legal specifications disagree on a fluentknown to both of them at the same time instant:
conflict(FX, FY, I) : −holdsat(FX, I),not holdsat(FY, I),
rename(F, FX, X), rename(F, FY, Y),
ifluent(FX), ifluent(FY),
instant(I), inst(X; Y).
Renaming: Contradiction results in no answer set.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 10 / 17
Automatic Conflict Detection
Conflict traces
Conflicts occur when any two legal specifications disagree on a fluentknown to both of them at the same time instant:
conflict(FX, FY, I) : −holdsat(FX, I),not holdsat(FY, I),
rename(F, FX, X), rename(F, FY, Y),
ifluent(FX), ifluent(FY),
instant(I), inst(X; Y).
Renaming: Contradiction results in no answer set.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 10 / 17
Automatic Conflict Detection
Conflicts Detection
CTR = 〈..., sendOfferLetter , acceptOffer , askStudentship, applyVisa, ...〉University Regulations:
UK Immigration Law:
conflict(perm(workUNI(tingting, 30)), permVI(tingting), 30), 4)conflict(perm(workVI(tingting, 20)), permUNI(tingting), 20), 4)
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 11 / 17
Automatic Conflict Detection
Conflicts Detection
CTR = 〈..., sendOfferLetter , acceptOffer , askStudentship, applyVisa, ...〉University Regulations:
S0 S1 S2 S3 S4
...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)perm(acceptOfferUNI(tingting))...
perm(sendOfferLetterUNI(tingting))personUNI(tingting,overseas)live(university)perm(askStudentShipUNI(tingting))perm(acceptOfferUNI(tingting))...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)obl(workUNI(tingting,30),weekEnd,
withdrawStudentshipUNI)perm(workUNI(tingting,30))...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)obl(workUNI(tingting,30),weekEnd,
withdrawStudentshipUNI)
perm(workUNI(tingting,30))
...
sendOfferLetter(tingting) acceptOffer(tingting) askStudentShip(tingting) enull
UK Immigration Law:
S0 S1 S2 S3 S4
...
personVI(tingting,overseas)perm(acceptOfferVI(tingting))live(visa)...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)obl(applyVisaVI(tingting),arrivalVI(tingting),
illegalImmigrantVI(tingting))...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)obl(applyVisaVI(tingting),arrivalVI(tingting),
illegalImmigrantVI(tingting))...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)
perm(workVI(tingting,20))
studentVisaVI(tingting,tier4)...
enull acceptOffer(tingting) enull applyVisa(tingting)
conflict(perm(workUNI(tingting, 30)), permVI(tingting), 30), 4)conflict(perm(workVI(tingting, 20)), permUNI(tingting), 20), 4)
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 11 / 17
Automatic Conflict Detection
Conflicts Detection
CTR = 〈..., sendOfferLetter , acceptOffer , askStudentship, applyVisa, ...〉University Regulations:
S0 S1 S2 S3 S4
...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)perm(acceptOfferUNI(tingting))...
perm(sendOfferLetterUNI(tingting))personUNI(tingting,overseas)live(university)perm(askStudentShipUNI(tingting))perm(acceptOfferUNI(tingting))...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)obl(workUNI(tingting,30),weekEnd,
withdrawStudentshipUNI)perm(workUNI(tingting,30))...
personUNI(tingting,overseas)perm(sendOfferLetterUNI(tingting))live(university)obl(workUNI(tingting,30),weekEnd,
withdrawStudentshipUNI)
perm(workUNI(tingting,30))
...
sendOfferLetter(tingting) acceptOffer(tingting) askStudentShip(tingting) enull
UK Immigration Law:
S0 S1 S2 S3 S4
...
personVI(tingting,overseas)perm(acceptOfferVI(tingting))live(visa)...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)obl(applyVisaVI(tingting),arrivalVI(tingting),
illegalImmigrantVI(tingting))...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)obl(applyVisaVI(tingting),arrivalVI(tingting),
illegalImmigrantVI(tingting))...
live(visa)perm(applyVisaVI(tingting))perm(acceptOfferVI(tingting))personVI(tingting,overseas)
perm(workVI(tingting,20))
studentVisaVI(tingting,tier4)...
enull acceptOffer(tingting) enull applyVisa(tingting)
conflict(perm(workUNI(tingting, 30)), permVI(tingting), 30), 4)conflict(perm(workVI(tingting, 20)), permUNI(tingting), 20), 4)
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 11 / 17
Conflict Resolution via Automatic Revision
1 Motivation
2 Modelling of Legal Specification
3 Automatic Conflict Detection
4 Conflict Resolution via Automatic Revision
5 Future Work
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 12 / 17
Conflict Resolution via Automatic Revision
Conflict Resolution via Theory Revision2
Theory Revision Task is characterized by a tuple 〈P,B,T ,M〉 and T ′,called revised theory, is a solution to the task with cost c(T ,T ′), iff
1 T ′ ⊆ s(M),2 B ∪ T ′ |= P,3 c(T ,T ′) is minimal.
Given a trace CTR which admits a conflict c = conflict(FX ,FY , I )and assume LX � LY :
Inductive Logic Programming produces all possible revisions L′Y :L′Y ∪ (CL \ LY ) ∪ CTR |= ¬c
2Corapi, Domenico, et al. ”Normative design using inductive learning.”Theory and Practice of Logic Programming 11.4-5 (2011): 783-799.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 13 / 17
Conflict Resolution via Automatic Revision
Conflict Resolution via Theory Revision2
Theory Revision Task is characterized by a tuple 〈P,B,T ,M〉 and T ′,called revised theory, is a solution to the task with cost c(T ,T ′), iff
1 T ′ ⊆ s(M),2 B ∪ T ′ |= P,3 c(T ,T ′) is minimal.
Given a trace CTR which admits a conflict c = conflict(FX ,FY , I )and assume LX � LY :
L Y
< P, B, T, M >
MC LC L\L Yc
Inductive Logic Programming produces all possible revisions L′Y :L′Y ∪ (CL \ LY ) ∪ CTR |= ¬c
2Corapi, Domenico, et al. ”Normative design using inductive learning.”Theory and Practice of Logic Programming 11.4-5 (2011): 783-799.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 13 / 17
Conflict Resolution via Automatic Revision
Conflict Resolution via Theory Revision2
Theory Revision Task is characterized by a tuple 〈P,B,T ,M〉 and T ′,called revised theory, is a solution to the task with cost c(T ,T ′), iff
1 T ′ ⊆ s(M),2 B ∪ T ′ |= P,3 c(T ,T ′) is minimal.
Given a trace CTR which admits a conflict c = conflict(FX ,FY , I )and assume LX � LY :
L Y
< P, B, T, M >
MC LC L\L Yc
Inductive Logic Programming produces all possible revisions L′Y :L′Y ∪ (CL \ LY ) ∪ CTR |= ¬c
2Corapi, Domenico, et al. ”Normative design using inductive learning.”Theory and Practice of Logic Programming 11.4-5 (2011): 783-799.
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 13 / 17
Conflict Resolution via Automatic Revision
Case Study
Rule 2 : initiated(perm(work(Student, 30)), I) : −occurred(askStudentShip(Student), I),
holdsat(availability, I),
not holdsat(person(Student, overseas), I).
Rule 3 : initiated(obl(work(Student, 30), weekEnd,
withdrawStudentship), I) : −occurred(askStudentShip(Student), I),
holdsat(availability, I),
not holdsat(person(Student, overseas), I).
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 14 / 17
Conflict Resolution via Automatic Revision
Case Study
Rule 2 : initiated(perm(work(Student, 30)), I) : −occurred(askStudentShip(Student), I),
holdsat(availability, I),
not holdsat(person(Student, overseas), I).
Rule 3 : initiated(obl(work(Student, 30), weekEnd,
withdrawStudentship), I) : −occurred(askStudentShip(Student), I),
holdsat(availability, I),
not holdsat(person(Student, overseas), I).
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 14 / 17
Future Work
1 Motivation
2 Modelling of Legal Specification
3 Automatic Conflict Detection
4 Conflict Resolution via Automatic Revision
5 Future Work
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 15 / 17
Future Work
Future Work
Future Work
Measurement Mechanism of Revision Cost
Ontology Alignment
Interfaces & Tools
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 16 / 17
Future Work
Thank you for your attention!Any questions?
Li et al. (ICAIL 2013) Automatic Revision June 12, 2013 17 / 17