Debs 2012 uncertainty tutorial

127
Event processing under uncertainty Tutorial Alexander Artikis 1 , Opher Etzion 2 , Zohar Feldman 2 , & Fabiana Fournier 2 3 DEBS 2012 July 16, 2012 1 NCSR Demokritos, Greece 2 IBM Haifa Research Lab, Israel 3 We acknowledge the help of Jason Filippou and Anastasios Skarlatidis

description

DEBS 2012 tutorial on event processing uncertainty

Transcript of Debs 2012 uncertainty tutorial

Page 1: Debs 2012 uncertainty tutorial

Event processing under uncertainty

Tutorial

Alexander Artikis1, Opher Etzion2 , Zohar Feldman2, & Fabiana Fournier2 3

DEBS 2012

July 16, 2012

1 NCSR Demokritos, Greece2 IBM Haifa Research Lab, Israel3 We acknowledge the help of Jason Filippou and Anastasios Skarlatidis

Page 2: Debs 2012 uncertainty tutorial

Event uncertainty from a petroleum producer point of view

Page 3: Debs 2012 uncertainty tutorial

Outline

SpeakerTime Topic

Opher Etzion30 minutes Part I: Introduction and illustrative example

Opher Etzion15 minutesPart II: Uncertainty representation

Opher Etzion 45 minutes Part III: Extending event processing to handle uncertainty

Break

Alexander Artikis 80 minutes Part IV: AI based models for Event Recognition under Uncertainty

Opher Etzion10 minutesPart V: Open issues and summary

Page 4: Debs 2012 uncertainty tutorial

Part I:Introduction and illustrative example

Event processing under uncertainty tutorial

Page 5: Debs 2012 uncertainty tutorial

By 2015, 80% of all available data will be uncertainG

loba

l Dat

a Vo

lum

e in

Exa

byte

s

Multiple sources: IDC,Cisco

100

90

80

70

60

50

40

30

20

10

Aggr

egat

e U

ncer

tain

ty %

9000

8000

7000

6000

5000

4000

3000

2000

1000

0

2005 2010 2015

Data quality solutions exist for enterprise data like customer, product, and address data, but

this is only a fraction of the total enterprise data.

By 2015 the number of networked devices will be double the entire global population. All

sensor data has uncertainty.

The total number of social media accounts exceeds the entire global

population. This data is highly uncertain in both its expression and content.

Page 6: Debs 2012 uncertainty tutorial

The big data perspective

Big data is one of the three technology trends at the leading edge a CEO cannot afford to overlook in 2012 [Gartner #228708, January 2012}

Dimensions of big data

Velocity

(data in motion)

Volume

(data processed in RT)

Variety

(data in many forms )

Veracity

(data in doubt)

Page 7: Debs 2012 uncertainty tutorial

The big data perspective in focus

Big data is one of the three technology trends at the leading edge a CEO cannot afford to overlook in 2012 [Gartner #228708, January 2012}

Dimensions of big data

Velocity

(data processed in RT)

Volume

(data in motion)

Variety

(data in many forms )

Veracity

(data in doubt)

Page 8: Debs 2012 uncertainty tutorial

Uncertainty in event processing

State-of-the-art systems assume that data satisfies the “closed world assumption”, being complete and precise as a result of a cleansing process before the data is utilized.

This tutorial presents common types of uncertainty and different ways of handling uncertainty in event processing

The problem

Processing data is deterministic

Online data is not leveraged for immediate operational decisions

Mishandling of uncertainty may result in undesirable outcomes

In real applications events may be uncertain or have imprecise content for various reasons (missing data, inaccurate/noisy input; e.g. data from sensors or social media)

Often, in real time applications cleansing the data is not feasible due to time constraints

Page 9: Debs 2012 uncertainty tutorial

Representative sources of uncertainty

Uncertaininput data/

Events

SourceMalfunction

Thermometer

Human error

MaliciousSource

Fake tweet

Sensor disrupter

Projectionof temporalanomalies

Wrong hourly sales summary

SourceInaccuracy

Samplingor

approximation

Propagationof

uncertainty

Visual data

Rumor

Wrong trend

Inference based on uncertain value

Page 10: Debs 2012 uncertainty tutorial

Event processing

Runtime Engine

Definitions

DetectedSituations

EventSources

Run TimeBuild Time

Events

Rules / Patterns

Situation Detection

Authoring Tool

Actions

Page 11: Debs 2012 uncertainty tutorial

Types of uncertainty in event processing

Runtime Engine

Definitions

DetectedSituations

EventSources

Run TimeBuild Time

Events

Rules / Patterns

Situation Detection

Authoring Tool

Actions

incomplete event streams

insufficient event dictionary

erroneous event recognition

inconsistent event annotation

imprecise event patterns

Uncertainty in the event input, in the composite event pattern, in both

Page 12: Debs 2012 uncertainty tutorial

Illustrative example – Surveillance system for crime detectionA visual surveillance system provides data to an event driven application.

The goal of the event processing application is to detect and alert in real-time possible occurrences of crimes (e.g. drug deal) based on the surveillance system and citizens’ reports inputs.

Real time alerts are posted to human security officers1. Whenever the same person is observed participating in a

potential crime scene more than 5 times in a certain day

2. Identification of locations in which more than 10 suspicious detections were observed in three consecutive days

3. Report of the three most suspicious locations in the last month

Page 13: Debs 2012 uncertainty tutorial

Some terminology

Event producer/consumerEvent typeEvent streamEvent Processing Agent (EPA)Event Channel (EC) Event Processing Network (EPN)Context (temporal, spatial and segmentation)

Page 14: Debs 2012 uncertainty tutorial

Illustrative example – Event Processing Network (EPN)

Observation

Crime report

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

SuspiciousObservation

Matched crime

Mega suspect

Known criminal

Discovered criminal

Suspicious location

Top locations

Page 15: Debs 2012 uncertainty tutorial

Crime observation

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

......Crime Indication…........

Observation Filter

Assertion: Crime indication = ‘true’Context: Always

......Crime Indication…........Identity

Suspicious observation

UncertaintyWrong identificationMissing events Noisy pictures

Page 16: Debs 2012 uncertainty tutorial

Mega Suspect detection

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Threshold

Assertion: Count (Suspicious observation)> 5

Context: Daily per suspect

......Suspect…........

Mega suspect

UncertaintyWrong identificationMissing events Wrong threshold

......Crime Indication…........Identity

Suspicious observation

Page 17: Debs 2012 uncertainty tutorial

Split Mega Suspect

Split

Emit Known criminal when exists (criminal-record)

Emit Discovered criminal otherwiseContext: Always

......Picture…........

Known criminal

UncertaintyWrong identificationMissing events Wrong threshold

......Suspect…........

Mega suspect

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

......Picture…........

Discovered criminal

Page 18: Debs 2012 uncertainty tutorial

Crime report matching

Sequence

(Suspicious observation [override],Crime report) Context: Crime type per location

UncertaintyMissed eventsWrong sequence Inaccurate locationInaccurate crime type

......Crime Indication…........Identity

Matched crime

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Crime report

Page 19: Debs 2012 uncertainty tutorial

Suspicious location detection

Threshold

Assertion: Count (Suspicious observation)>10Context: Location, Sliding 3 day interval

UncertaintyMissed eventsWrong timingInaccurate location

......Crime…..Identity location

Suspicious location

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Suspicious observation

Page 20: Debs 2012 uncertainty tutorial

Most frequent locations

Top-K

Order by: count (Suspicious location)Context: Month

UncertaintyDerived from uncertainty in Suspicious locationevents

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

Crime observation

Alert special security forces

Criminals data store

Surveillance video

Most frequent locations

Suspicious location

detection

Mega suspect detection

Split mega suspect

Alert police

Report stat.

police dept.

Alert patrol forces

EPA- Event Processing Agent

Producer/consumer

Channel

EPA- Event Processing Agent

Producer/consumer

Channel

Police

Special security forces

Citizens Crime report matching

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Suspicious observation

......Crime Indication…........Identity

Suspicious observation

......Crime…..Identity location

Suspicious location

......Top locations list…........

Top locations

Page 21: Debs 2012 uncertainty tutorial

Part II:Uncertainty representation

Event processing under uncertainty tutorial

Page 22: Debs 2012 uncertainty tutorial

Occurrence uncertainty: Uncertainty whether an event has occurred

The event header has anattribute with label “certainty”with values in the range of [0,1]

In raw events:Given by the source (e.g. sensor accuracy,level of confidence)

In derived events:Calculated as part of the event derivation

ExampleEvent type: Crime observation

Occurrence time: 7/7/12, 12:23

Certainty: 0.73

Page 23: Debs 2012 uncertainty tutorial

Temporal uncertainty: Uncertainty when an event has occurred

The event header has anattribute with the label “occurrence time” which may designate: timestamp, interval, or distribution over an interval

In raw events:Given by the source

In derived events:Calculated as part of the event derivation

ExampleEvent type: Crime observation

Occurrence time: U(7/7/12, 12:00, 7/7/12 13:00)

Certainty: 0.9

Page 24: Debs 2012 uncertainty tutorial

The interval semantics

Occurrence time type: interval

Occurrence time type: timestamp, instance type: interval

Occurrence time type: timestamp, instance type: interval + distribution

Example: U(7/7/12, 12:00, 7/7/12 13:00)

1. The event happens during the entire interval

2. The event happens at some unknown time-point within the interval

3. The event happens at some time-point within an interval and the distribution of probabilities is known

Page 25: Debs 2012 uncertainty tutorial

Spatial uncertainty: uncertainty where an event has occurred

The event header has an attribute with the label “location” which may designate: point, poly-line, area and distribution of points within poly-line and area. Locations can be specified either incoordinates or in labels (e.g. addresses)

In raw events:Given by the source

In derived events:Calculated as part of the event derivation

ExampleEvent type: Crime observation

Occurrence time: U(7/7/12, 12:00, 7/7/12 13:00)

Certainty: 0.9

Location: near 30 Market Street, Philadelphia

Page 26: Debs 2012 uncertainty tutorial

The spatial semantics

A poly-line may designate a road, e.g. M2 in UK

An area may designate a bounded geographical area, e.g. the city of Princeton.

Like temporal interval – the designation of a poly-line or area may be interpreted as: the event happens in the entire area, the event happens at unknown point within an area, the event happens within the area with some distribution of points

Examples:

Location type: area, Location := Princeton

Location type: point Location:= M2

Location type: point Location := U (center = city-hall Princeton, radius = 2KM)

Page 27: Debs 2012 uncertainty tutorial

Uncertainty about the event content – attribute values (meta data)

Meta-data definition:attribute values may beprobabilistic

Page 28: Debs 2012 uncertainty tutorial

Uncertainty about the event content – attribute value example

Instance:“Crime indication” has explicit distribution

Page 29: Debs 2012 uncertainty tutorial

Uncertainty in situation detection

Threshold

Assertion: Count (Suspicious observation)> 5

Context: Daily per suspect

Recall the “Mega suspect detection”

The “Mega suspect detection” can have some probability, furthermore there can be some variations (due to possible missing event) when count =5, count = 4, etc… Thus it may become a collection of assertions with probabilities

Threshold

Assertion: Count (Suspicious observation)> 5 with probability = 0.9= 5 with probability = 0.45= 4 with probability = 0.2

Context: Daily per suspect

Page 30: Debs 2012 uncertainty tutorial

Part III:Extending event processing to handle uncertainty

Event processing under uncertainty tutorial

Page 31: Debs 2012 uncertainty tutorial

Uncertainty handling

Two main handling methods:

Uncertainty propagation The uncertainty of input events is propagated to the derived events

Uncertainty flatteningUncertain values are replaced with deterministic equivalents; events may be ignored.

Traditional event processing needs to be enhanced to account for uncertain events

Page 32: Debs 2012 uncertainty tutorial

Topics covered1. Expressions*

2. Filtering

3. Split

4. Context assignment

5. Pattern matching examples:

a. Top K

b. Split

* Note that transformation and aggregations are covered by expressions.

Page 33: Debs 2012 uncertainty tutorial

Expressions (1/4)

Expressions are used extensively in event-processing in

Derivation: assigning values to derived events

Assertions: filter and pattern detection

Expressions comprise a combination of

Operators

Arithmetic functions, e.g. sum, min

Logical operators, e.g. >, =

Textual operators, e.g. concatenation

Operands (terms) referencing

particular event attributes

general constants

Page 34: Debs 2012 uncertainty tutorial

Expressions (2/4)

Example: Summing the number of suspicious observations in two locations

location1.num-observations + location2.num-observations

Deterministic case: 12 + 6 = 18

Stochastic case: + =

12 1311 5 64 7

Page 35: Debs 2012 uncertainty tutorial

Expressions (3/4)

The ‘uncertainty propagation’ approach: Operators overloading

Explicit, e.g. Normal(1,1) + Normal(3,1) = Normal(4,2)

Numerical convolution (general distributions, probabilistic dependencies)

Monte-Carlo methods: generate samples, evaluate the result and aggregate

The ‘uncertainty flattening’ approach: Replacing the original expression using a predefined policy

Some examples

Expectation: X+Y Expectation(X+Y)

Confidence value: X+Y Percentile(X+Y,0.9)

X>5 ‘true’ if Prob{X>5}>0.9; ‘false’ otherwise

Page 36: Debs 2012 uncertainty tutorial

Expressions (4/4)

Probabilistic operators

Function Parameters Description expectation (X) X-Stochastic

term The expectation of the

stochastic term X

variance (X) X-Stochastic term

The variance of the stochastic term X

pdf (X, x) X-Stochastic Term, x-value

The probability of X taking value x

cdf (X, x) X-Stochastic Term, x-numeric

value

The probability that X takes a value not larger

than x

percentile (X,α) X-Stochastic Term, α-numeric

value

The smallest number z such that cdf(X,z)≥α

frequent (X) X-Stochastic Term

A value x that maximizes pdf(X,.)

Page 37: Debs 2012 uncertainty tutorial

Filtering (1/3)

Should the ‘Observation’ event instance pass the filter?

Crime observation

Assertion: crime-indication = ‘true’Context: Always

Certainty 0.8 Crime-Indication [‘true’, 0.7;

‘false’, 0.3]…........

Observation

Page 38: Debs 2012 uncertainty tutorial

Filtering (2/3)

The ‘uncertainty propagation’ approach

Crime observation

Assertion: crime-indication = ‘true’Context: Always

Certainty 0.8 Crime-Indication [‘true’, 0.7;

‘false’, 0.3]…........

Observation

Certainty 0.8x0.7

…........

Suspicious observation

observation.certainty * Prob{assertion}

Page 39: Debs 2012 uncertainty tutorial

Filtering (3/3)

The ‘uncertainty flattening’ approach

Crime observation

Assertion: crime-indication = ‘true’Context: Always

Certainty 0.8 Crime-Indication [‘true’, 0.7;

‘false’, 0.3]…........

Observation

Certainty 1

…........

Suspicious observation

observation.certainty * Prob{assertion} > 0.5

Page 40: Debs 2012 uncertainty tutorial

Split (1/3)

Split mega-suspect

Pattern: SplitContext: Always

......Certainty 0.75…..Id [‘John Doe1’, 0.3;

NA, 0.7]

Mega suspect Id is null

......Certainty 0.75…..Id [‘John Doe1’, 0.3;

NA, 0.7]

Known criminal

......Certainty 0.75…..Id [‘John Doe1’, 0.3;

NA, 0.7]

Discovered criminalId is not null

Page 41: Debs 2012 uncertainty tutorial

Split (2/3)

The ‘uncertainty propagation’ approach

Split mega-suspect

Pattern: SplitContext: Always

......Certainty 0.75…..Id [‘John Doe1’, 0.3;

NA, 0.7]

Mega suspect

......Certainty 0.75*0.3…..Id ‘John Doe1’

Known criminal

......Certainty 0.75*0.7

…..Id NA

Discovered criminal

Page 42: Debs 2012 uncertainty tutorial

Split (3/3)

The ‘uncertainty flattening’ approach

Split mega-suspect

Pattern: SplitContext: Always

......Certainty 0.75…..Id [‘John Doe1’, 0.3;

NA, 0.7]

Mega suspect

......Certainty 0.75

…..Id NA

Discovered criminal

Id → frequent(Id)

Page 43: Debs 2012 uncertainty tutorial

Context assignment – temporalExample 1 (1/3)

Should the ‘Suspicious observation’ event be assigned to the context segment ‘July 16, 2012, 10AM-11AM’ ?

Mega suspect detection

Context segment: ‘John Doe’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Page 44: Debs 2012 uncertainty tutorial

The ‘uncertainty propagation’ approach

Mega suspect detection

Context segment: ‘John Doe’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.2Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Prob{occurrence time ∊ [10AM,11AM]} * certainty

Context assignment – temporalExample 1 (2/3)

Page 45: Debs 2012 uncertainty tutorial

Context assignment – temporalExample 1 (3/3)

The ‘uncertainty flattening’ approach

Mega suspect detection

Context segment: ‘John Doe’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.2Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Prob{occurrence time ∊ [10AM,11AM]} > 0.5

Page 46: Debs 2012 uncertainty tutorial

Context assignment – temporalExample 2

Should the uncertain ‘Suspicious observation’ event initiate a new context segment? Participate in an existing context segmentation?

Suspicious observation detection

Context : ‘John Doe‘State: 1 instance

Certainty 0.3Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Suspicious observation detection

Context : ‘John Doe’

Page 47: Debs 2012 uncertainty tutorial

Context assignment – Segmentation-oriented (1/3)

Which of the context segmentations should the ‘Suspicious observation’ event be assigned to?

Mega suspect detection

Context segment: ‘John Doe1’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id [‘John Doe1’, 0.3;

‘John Doe2’, 0.7]

Suspicious Observation

Mega suspect detection

Context segment: ‘John Doe2’, ‘July 16, 2012, 10AM-11AM’

Page 48: Debs 2012 uncertainty tutorial

Context assignment – Segmentation-oriented (2/3)

The ‘uncertainty propagation’ approach

Mega suspect detection

Context segment: ‘John Doe1’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.24Occurrence time Uni(9:45AM,10:05AM)Id [‘John Doe1’, 0.3;

‘John Doe2’, 0.7]

Suspicious Observation

Mega suspect detection

Context segment: ‘John Doe2’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.56Occurrence time Uni(9:45AM,10:05AM)Id [‘John Doe1’, 0.3;

‘John Doe2’, 0.7]

Suspicious Observation

observation.certainty * Prob{‘John Doe1’}

observation.certainty * Prob{‘John Doe2’}

Page 49: Debs 2012 uncertainty tutorial

Context assignment – Segmentation-oriented (3/3)

The ‘uncertainty flattening’ approach

Mega suspect detection

Context segment: ‘John Doe1’, ‘July 16, 2012, 10AM-11AM’

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id [‘John Doe1’, 0.3;

‘John Doe2’, 0.7]

Suspicious Observation

Mega suspect detection

Context segment: ‘John Doe2’, ‘July 16, 2012, 10AM-11AM’

Associate event to context segmentation frequent(Id)

Page 50: Debs 2012 uncertainty tutorial

Pattern matching: Top-K (1/3)

What is the location with the most crime indications?

Most frequent locations

Pattern: Top-K (K=1)Order by: count (suspicious location)Context: Month

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Certainty 0.3…..IdLocation ‘downtown’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

Count=

Count=

12 1311

12 131110 14

Order=

(aka event recognition)

Page 51: Debs 2012 uncertainty tutorial

Pattern matching: Top-K (2/3)

The ‘uncertainty propagation’ approach

Most frequent locations

Pattern: Top-K (K=1)Order by: count (Suspicious location)Context: Month

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Certainty 0.3…..IdLocation ‘downtown’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

Count1=

Count2=

12 1311

12 131110 14

Order=(‘downtown’,’suburbs’) w.p. Prob{count1>count2}

(‘downtown’,’suburbs’) w.p. Prob{count1>count2}

Page 52: Debs 2012 uncertainty tutorial

Pattern matching: Top-K (3/3)

The ‘uncertainty flattening’ approach

Most frequent locations

Pattern: Top-K (K=1)Order by: f(count(suspicious location))Context: Month

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘downtown’

Suspicious location

......Certainty 0.3…..Idlist ‘downtown’

Top suspicious location list

......Crime…..IdLocation ‘A’

Suspicious location

......Crime…..IdLocation ‘A’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

......Certainty 0.75…..IdLocation ‘suburbs’

Suspicious location

Count=

Count=

12 1311

12 131110 14

e.g. expectation, cdf, …

Page 53: Debs 2012 uncertainty tutorial

Pattern matching: Sequence (1/3)

Should the following events instances be matched as a sequence?

Crime report matching

Pattern: Sequence [Suspicious observation, Crime report]

Context: Location, Crime type

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Certainty 0.9Occurrence time 10:02AMId NA

…........

Crime report

Page 54: Debs 2012 uncertainty tutorial

Crime report matching

Pattern: SequenceContext: Location, Crime type

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Certainty 0.9Occurrence time 10:02AMId NA

…........

Crime report

Certainty 0.612Occurrence time Uni(9:45AM,10:02AM)Id ‘John Doe’

…........

Matched crime

obs.certainty * crime.certainty * Prob{obs.time<crime.time}

obs.time | obs.time<crime.time

Pattern matching: Sequence (2/3)

The ‘uncertainty propagation’ approach

Page 55: Debs 2012 uncertainty tutorial

Crime report matching

Pattern: SequenceContext: Location, Crime type

Certainty 0.8Occurrence time Uni(9:45AM,10:05AM)Id ‘John Doe’

…........

Suspicious Observation

Certainty 0.9Occurrence time 10:02AMId NA

…........

Crime report

Certainty 0.72Occurrence time 9:55AMId ‘John Doe’

…........

Matched crime

Occurrence time → percentile(occurrence time, 0.5)

Pattern matching: Sequence (3/3)

The ‘uncertainty flattening’ approach

Page 56: Debs 2012 uncertainty tutorial

Part IV:Event Recognition under Uncertainty in Artificial Intelligence

Event processing under uncertainty tutorial

Page 57: Debs 2012 uncertainty tutorial

Event Recognition under Uncertainty in ArtificialIntelligence

AI-based systems already deal with various types of uncertainty:

I Erroneous input data detection.

I Imperfect composite event definitions.

Overview:

I Logic programming.

I Markov logic networks.

Page 58: Debs 2012 uncertainty tutorial

Human Recognition from Video: Bilattice-based Reasoning

Aim:

I Recognise humans given input data from part-based classifiersoperating on video.

Uncertainty:

I Erroneous input data detection.

I Imperfect composite event definitions.

Approach:I Extend logic programming by incorporating a bilattice:

I Consider both supportive and contradicting information abouta given human hypothesis.

I For every human hypothesis, provide a list of justifications(proofs) that support or contradict the hypothesis.

Page 59: Debs 2012 uncertainty tutorial

Human Recognition from Video

Page 60: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Evidence FOR hypothesis “Entity1 is a human”:I Head visible.I Torso visible.I Scene is consistent at 1’s position.

Page 61: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Evidence AGAINST hypothesis “Entity1 is a human”:I Legs occluded.

I However, the missing legs can be explained because of theocclusion by the image boundary.

I If occluded body parts can be explained by a rule, thehypothesis is further supported.

Page 62: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Evidence FOR hypothesis “Entity A is a human”:I A is on the ground plane.I Scene is consistent at A’s position.

Page 63: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Evidence AGAINST hypothesis “Entity A is a human”:I No head detected.I No torso detected.I No legs detected.

I Evidence against the hypothesis is overwhelming, so thesystem infers that A is unlikely to be a human.

Page 64: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Recognising humans given three different sources ofinformation, supporting or contradicting human hypotheses:

human(X ,Y ,S)← head(X ,Y , S)human(X ,Y ,S)← torso(X ,Y ,S)¬human(X ,Y , S)← ¬scene consistent(X ,Y ,S)

I Supporting information sources are provided by head andtorso detectors.

I Contradicting information is provided by the violation ofgeometric constraints (scene consistent).

Page 65: Debs 2012 uncertainty tutorial

Human Recognition from Video:Uncertainty Representation

I We are able to encode information for and against:I Input data (output of part-based detectors)I Rules (typically they are less-than-perfect)I Hypotheses (inferrable atoms)

I We do this by defining a truth assignment function:

ϕ : L→ B

where L is a declarative language and B is a bilattice.I Some points in the bilattice:

I < 0, 0 > agnosticI < 1, 0 > absolute certainty about truthI < 0, 1 > absolute certainty about falsityI < 1, 1 > complete contradiction

Page 66: Debs 2012 uncertainty tutorial

Human Recognition from Video

I A perfect part-based detector would detect body parts andgeometrical constraints with absolute certainty.

head(25 , 95 , 0 .9)torso(25 , 95 , 0 .9)¬scene consistent(25 , 95 , 0 .9)

Page 67: Debs 2012 uncertainty tutorial

Human Recognition from Video: Input Data Uncertainty

I However, in realistic applications, every low-level informationis detected with a degree of certainty, usually normalized to aprobability.

ϕ(head(25 , 95 , 0 .9)) =< 0 .90 , 0 .10 >ϕ(torso(25 , 95 , 0 .9)) =< 0 .70 , 0 .30 >ϕ(¬scene consistent(25 , 95 , 0 .9)) =< 0 .80 , 0 .20 >

I For simple detectors, if the probability of the detection is p,the following holds:

ϕ(detection) =< p, 1−p >

Page 68: Debs 2012 uncertainty tutorial

Human Recognition from Video

I Traditional logic programming rules are binary:

human(X ,Y ,S)← head(X ,Y , S)human(X ,Y ,S)← torso(X ,Y , S)¬human(X ,Y , S)← ¬scene consistent(X ,Y ,S)

Page 69: Debs 2012 uncertainty tutorial

Human Recognition from Video: Rule Uncertainty

I But in a realistic setting, we’d like to have a measure of theirreliability:

ϕ(human(X ,Y , S)← head(X ,Y ,S)) =< 0 .40 , 0 .60 >ϕ(human(X ,Y , S)← torso(X ,Y ,S)) =< 0 .30 , 0 .70 >ϕ(¬human(X ,Y , S)← ¬scene consistent(X ,Y , S)) =

< 0 .90 , 0 .10 >

I Rules are specified manually.

I There exists an elementary weight learning technique: Thevalue x in <x,y> is the fraction of the times that the head ofa rule is true when the body is true.

Page 70: Debs 2012 uncertainty tutorial

Human Recognition from Video: Uncertainty Handling

I It is now possible to compute the belief for and against agiven human hypothesis, by aggregating through all thepossible rules and input data.

I This is done by computing the closure over ϕ of multiplesources of information.

I E.g. if we have a knowledge base S with only one rule and onefact that together entail human

S ={

human(X ,Y ,S)← head(X ,Y , S), head(25 , 95 , 0 .9)}

the degree of belief for and against the human hypothesiswould be:

cl(ϕ)(human(X ,Y , S)) =∧p∈S

cl(ϕ)(p) =

cl(ϕ)(

human(X ,Y ,S)← head(X ,Y , S))∧

cl(ϕ)(

head(25 , 95 , 0 .9))

= · · · =< xh, yh >

Page 71: Debs 2012 uncertainty tutorial

Human Recognition from Video: Uncertainty Handling

I Because we have a variety of information sources to entail ahypothesis from (or the negation of a hypothesis), theinference procedure needs to take into account all possibleinformation sources.

I The operator ⊕ is used for this.

I The final form of the equation that computes the closure overthe truth assignment of a hypothesis q is the following:

cl(ϕ)(q) =⊕S |=q

[ ∧p∈S

cl(ϕ)(p)]

︸ ︷︷ ︸Aggregating supporting

information

⊕¬⊕S|=¬q

[ ∧p∈S

cl(ϕ)(p)]

︸ ︷︷ ︸Negating contradicting

information

Page 72: Debs 2012 uncertainty tutorial

Human Recognition from Video: Uncertainty Handling

I Given this uncertain input

ϕ(head(25 , 95 , 0 .9)) =< 0 .90 , 0 .10 >ϕ(torso(25 , 95 , 0 .9)) =< 0 .70 , 0 .30 >ϕ(¬scene consistent(25 , 95 , 0 .9)) =< 0 .80 , 0 .20 >

I and these uncertain rules

ϕ(human(X ,Y , S)← head(X ,Y ,S)) =< 0 .40 , 0 .60 >ϕ(human(X ,Y , S)← torso(X ,Y ,S)) =< 0 .30 , 0 .70 >ϕ(¬human(X ,Y , S)← ¬scene consistent(X ,Y , S)) =

< 0.90, 0.10 >

I we would like to calculate our degrees of belief for and againstthe hypothesis human(25 , 95 , 0 .9).

Page 73: Debs 2012 uncertainty tutorial

Human Recognition from Video: Uncertainty Handling

cl(ϕ)(human(25 , 95 , 0 .9) =[< 0 .4 , 0 .6 > ∧ < 0 .9 , 0 .1 >

]⊕[

< 0 .3 , 0 .7 > ∧ < 0 .7 , 0 .3 >]⊕¬[< 0 .9 , 0 .1 > ∧ < 0 .8 , 0 .2 >

]=

< 0 .36 , 0 > ⊕ < 0 .21 , 0 > ⊕¬ < 0 .72 , 0 >=

< 0 .4944 , 0 > ⊕ < 0 , 0 .72 >=< 0 .4944 , 0 .72 >

I Evidence against the hypothesis exceeds evidence for thehypothesis.

I Justifications for the hypothesis:I ϕ(head(25 , 95 , 0 .9)) =< 0 .90 , 0 .10 >I ϕ(torso(25 , 95 , 0 .9)) =< 0 .70 , 0 .30 >

I Justifications against the hypothesis:I ϕ(¬scene consistent(25 , 95 , 0 .9)) =< 0 .80 , 0 .20 >

Page 74: Debs 2012 uncertainty tutorial

Human Recognition from Video: Summary

Uncertainty:

I Erroneous input data detection.

I Imperfect composite event definitions.

Features:

I Consider both supportive and contradicting information abouta given hypothesis.

I For every hypothesis, provide a list of justifications (proofs)that support or contradict the hypothesis.

Note:

I Human detection is not a typical event recognition problem.

Page 75: Debs 2012 uncertainty tutorial

Public Space Surveillance: VidMAP

Aim:

I Continuously monitor an area and report suspicious activity.

Uncertainty:

I Erroneous input data detection.

Approach:

I Multi-threaded layered system combining computer vision andlogic programming.

Page 76: Debs 2012 uncertainty tutorial

VidMAP: Architecture

High-Level ModuleStandard logic programming reasoning

Mid-Level ModuleUncertainty elimination

Low-Level ModuleBackground Subtraction, Tracking and Appearance Matching on

video content

Page 77: Debs 2012 uncertainty tutorial

VidMAP: Architecture

Page 78: Debs 2012 uncertainty tutorial

VidMAP: Uncertainty Elimination

I Filter out noisy observations (false alarms) by firstdetermining whether the observation corresponds to people orobjects that have been persistently tracked.

I A tracked object is considered to be a human if:I It is ‘tall’.I It has exhibited some movement in the past.

I A tracked object is considered to be a ‘package’ if:I It does not move on its own.I At some point in time, it was attached to a human.

Page 79: Debs 2012 uncertainty tutorial

VidMAP: Event Recognition

The following rule defines theft:

theft(H,Obj ,T )←human(H),package(Obj),possess(H,Obj ,T ),not belongs(Obj ,H,T )

I A human possesses an object if he carries it.

I An object belongs to a human if he was seen possessing itbefore anyone else.

Page 80: Debs 2012 uncertainty tutorial

VidMAP: Event Recognition

The following rule defines entry violation:

entry violation(H)←human(H),appear(H, scene,T1),enter(H, building door ,T2),not priviliged to enter(H,T1 ,T2)

I ‘building door’ and ‘scene’ correspond to video areas that canbe hard-coded by the user at system start-up.

I An individual is privileged to enter a building if he swipes hisID card in the ‘building door’ area of ‘scene’ or if he isescorted into the building by a friend who swipes his ID card.

Page 81: Debs 2012 uncertainty tutorial

VidMAP: Summary

Uncertainty:

I Erroneous input data detection.

Features:

I Uncertainty elimination.

I Intuitive composite event definitions that are easy to beunderstood by domain experts.

Note:

I Crude temporal representation.

Page 82: Debs 2012 uncertainty tutorial

Probabilistic Logic Programming: Event Calculus

Aim:

I General-purpose event recognition system.

Uncertainty:

I Erroneous input data detection.

Approach:

I Express the Event Calculus in ProbLog.

Page 83: Debs 2012 uncertainty tutorial

The Event Calculus (EC)

I A Logic Programming language for representing and reasoningabout events and their effects.

I Key Components:I event (typically instantaneous)I fluent: a property that may have different values at different

points in time.

I Built-in representation of inertia:I F = V holds at a particular time-point if F = V has been

initiated by an event at some earlier time-point, and notterminated by another event in the meantime.

Page 84: Debs 2012 uncertainty tutorial

ProbLog

I A Probabilistic Logic Programming language.

I Allows for independent ‘probabilistic facts’ prob::fact.

I Prob indicates the probability that fact is part of a possibleworld.

I Rules are written as in classic Prolog.

I The probability of a query q imposed on a ProbLog database(success probability) is computed by the following formula:

Ps(q) = P(∨

e∈Proofs(q)

∧fi∈e

fi )

Page 85: Debs 2012 uncertainty tutorial

ProbLog-EC: Input & Output

Input Output

340 0.45 :: inactive(id0) 340 0.41 :: leaving object(id1, id0)

340 0.80 :: p(id0) =(20.88,−11.90) 340 0.55 :: moving(id2, id3)

340 0.55 :: appear(id0)

340 0.15 :: walking(id2)

340 0.80 :: p(id2) =(25.88,−19.80)

340 0.25 :: active(id1)

340 0.66 :: p(id1) =(20.88,−11.90)

340 0.70 :: walking(id3)

340 0.46 :: p(id3) =(24.78,−18.77)

. . .

Page 86: Debs 2012 uncertainty tutorial

ProbLog-EC: Event Recognition

CE

Pro

bab

ility

1.0

0.5

0.2

Time

Init Init

10

… Init …

30

Term

0 40

Term … Term …

20

Page 87: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

Crisp-EC (uncertainty elimination) vs ProbLog-EC (uncertaintypropagation):

I Crisp-EC: input data with probability < 0.5 are discarded.

I ProbLog-EC: all input data are kept with their probabilities.

I ProbLog-EC: accept as recognised the composite events thathave probability > 0.5.

Page 88: Debs 2012 uncertainty tutorial

Crisp-EC: Uncertainty Elimination

0

5000

10000

15000

20000

25000

30000

35000

0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

SDE

Occ

urr

en

ces

Noise (Gamma distribution mean)

Page 89: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

F m

easu

re

Gamma Distribution Mean

Meeting

Crisp-EC

ProbLog-EC

meeting(Id1 , Id2 ) = true initiated ifactive(Id1 ) happens,close(Id1 , Id2 ) = true holds,person(Id2 ) = true holds,not running(Id2 ) happens

Page 90: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

F m

easu

re

Gamma Distribution Mean

Meeting

Crisp-EC

ProbLog-EC

meeting(Id1 , Id2 ) = true initiated ifactive(Id1 ) happens,close(Id1 , Id2 ) = true holds,person(Id2 ) = true holds,not running(Id2 ) happens

Page 91: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

0

0,1

0,2

0,3

0,4

0,5

0,6

0,7

0,8

0,9

1

0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

F m

eas

ure

Gamma Distribution Mean

Moving

moving(Id1 , Id2) = true initiated iffwalking(Id1) happens,walking(Id2) happens,close(Id1 , Id2) = true holds,orientation(Id1) = O1 holds,orientation(Id2) = O2 holds,|O1 − O2 | < threshold

Page 92: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

0 0.5 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 7.5 8.0

F m

eas

ure

Gamma Distribution Mean

Moving

moving(Id1 , Id2) = true initiated iffwalking(Id1) happens,walking(Id2) happens,close(Id1 , Id2) = true holds,orientation(Id1) = O1 holds,orientation(Id2) = O2 holds,|O1 − O2 | < threshold

Page 93: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

ProbLog-EC clearly outperforms Crisp-EC when:

I The environment is highly noisy (input data probability < 0.5)— realistic assumption in many domains,

I there are successive initiations that allow the compositeevent’s probability to increase and eventually exceed thespecified (0.5) threshold, and

I the amount of probabilistic conjuncts in an initiation conditionis limited.

Page 94: Debs 2012 uncertainty tutorial

ProbLog-EC: Summary

Uncertainty:

I Erroneous input data detection.

Features:

I Built-in rules for complex temporal representation.

Note:

I Independence assumption on input data is not alwaysdesirable.

Page 95: Debs 2012 uncertainty tutorial

Probabilistic Graphical Models

I E.g. Hidden Markov Models, Dynamic Bayesian Networks andConditional Random Fields.

I Can naturally handle uncertainty:I Erroneous input data detection.I Imperfect composite event definitions.

I Limited representation capabilities.

I Composite events with complex relations create models withprohibitively large and complex structure.

I Various extensions to reduce the complexity.

I Lack of a formal representation language.

I Difficult to incorporate background knowledge.

Page 96: Debs 2012 uncertainty tutorial

Markov Logic Networks (MLN)

I Unify first-order logic with graphical models.I Compactly represent event relations.I Handle uncertainty.

I Syntactically: weighted first-order logic formulas (Fi ,wi ).

I Semantically: (Fi ,wi ) represents a probability distributionover possible worlds.

P(world) ∝ exp (∑

(weights of formulas it satisfies))

A world violating formulas becomes less probable, but notimpossible!

Page 97: Debs 2012 uncertainty tutorial

Event Recognition using MLN

Grounding

Markov Logic Networks

Markov Network(probabilistic inference)

Input Output

SDE RecognisedCE

CE Knowledge

Base

P(CE =True | SDE)(evidence)

Page 98: Debs 2012 uncertainty tutorial

Markov Logic: Representation

w1

suspect(Id)⇐criminal record(Id) ∨citizen report(Id) ∨holds Dangerous Object(Id)

w2

suspicious transaction(Id1 )⇐suspect(Id1 ) ∧mega suspect(Id2 ) ∧deliver(Id1 , Id2 )

Page 99: Debs 2012 uncertainty tutorial

Markov Logic: Representation

I Weight: is a real-valued number.

I Higher weight −→ Stronger constraint.I Hard constraints:

I Must be satisfied in all possible worlds.I Infinite weight values.I Background knowledge.

I Soft constraints:I May not be satisfied in some possible worlds.I Strong weight values: almost always true.I Weak weight values: describe exceptions.

Page 100: Debs 2012 uncertainty tutorial

Markov Logic: Input Data Uncertainty

Sensors detect events with:

I Absolute certainty

I A degree of confidence

Example:

I holds Dangerous Object(Id) detected with probability 0.8.

I It can be represented with an auxiliary formula.

I The value of the weight of the formula is the log-odds of theprobability.

1.38629 obs holds Dangerous Object(Id)⇒holds Dangerous Object(Id)

Page 101: Debs 2012 uncertainty tutorial

Markov Logic: Network Construction

I Formulas are translated into clausal form.

I Weights are divided equally among the clauses of a formula.

I Given a set of constants from the input data, ground allclauses.

I Ground predicates are Boolean nodes in the network.I Each ground clause:

I Forms a clique in the network,I and is associated with wi and a Boolean feature.

P(X = x) = 1Z exp (

∑i wini (x))

Z =∑

x ′∈X exp(∑

i wini (x ′))

Page 102: Debs 2012 uncertainty tutorial

Markov Logic: Network Construction

w1

suspect(Id)⇐criminal record(Id) ∨citizen report(Id) ∨holds Dangerous Object(Id)

w2

suspicious transaction(Id1 )⇐suspect(Id1 ) ∧mega suspect(Id2 ) ∧deliver(Id1 , Id2 )

13w1 ¬criminal record(Id) ∨ suspect(Id)

13w1 ¬citizen report(Id) ∨ suspect(Id)

13w1 ¬holds Dangerous Object(Id) ∨ suspect(Id)

w2 ¬suspect(Id1 ) ∨ ¬mega suspect(Id2 ) ∨¬deliver(Id1 , Id2 ) ∨ suspicious transaction(Id1 )

Page 103: Debs 2012 uncertainty tutorial

Markov Logic: Network Construction

For example, the clause:w2 ¬suspect(Id1 ) ∨ ¬mega suspect(Id2 ) ∨

¬deliver(Id1 , Id2 ) ∨ suspicious transaction(Id1 )

produces the following groundingsw2 ¬suspect(alex) ∨ ¬mega suspect(alex) ∨

¬deliver(alex , alex) ∨ suspicious transaction(alex)

w2 ¬suspect(alex) ∨ ¬mega suspect(nick) ∨¬deliver(alex , nick) ∨ suspicious transaction(alex)

w2 ¬suspect(nick) ∨ ¬mega suspect(alex) ∨¬deliver(nick, alex) ∨ suspicious transaction(nick)

w2 ¬suspect(nick) ∨ ¬mega suspect(nick) ∨¬deliver(nick, nick) ∨ suspicious transaction(nick)

Page 104: Debs 2012 uncertainty tutorial

Markov Logic: Network Construction

deliver

(alex,alex)

deliver

(nick,nick)

suspicious_

transaction

(nick)

suspect

(nick)

mega_

suspect

(alex)

deliver

(nick,alex)

citizen_ report

(nick)

holds_

Dangerous_

Object

(nick)

criminal_

record

(nick)

suspicious_

transaction

(alex)

suspect

(alex)

mega_

suspect

(nick)

deliver

(alex,nick)

citizen_ report

(alex)

holds_

Dangerous_

Object

(alex)

criminal_

record

(alex)

Page 105: Debs 2012 uncertainty tutorial

Markov Logic: World state discrimination

deliver

(alex,alex)

deliver

(nick,nick)

suspicious_

transaction

(nick)

suspect

(nick)

mega_

suspect

(alex)

deliver

(nick,alex)

citizen_ report

(nick)

holds_

Dangerous_

Object

(nick)

criminal_

record

(nick)

suspicious_

transaction

(alex)

suspect

(alex)

mega_

suspect

(nick)

deliver

(alex,nick)

citizen_ report

(alex)

holds_

Dangerous_

Object

(alex)

criminal_

record

(alex)

State 1: P(X = x1)=1Zexp( 1

3w1· 2 + 1

3w1· 2 + 1

3w1· 2 + w2· 4) = 1

Ze2w1+4w2

State 2: P(X = x2)=1Zexp( 1

3w1· 2 + 1

3w1· 2 + 1

3w1· 2 + w2· 3) = 1

Ze2w1+3w2

Page 106: Debs 2012 uncertainty tutorial

Markov Logic: World state discrimination

deliver

(alex,alex)

deliver

(nick,nick)

suspicious_

transaction

(nick)

suspect

(nick)

mega_

suspect

(alex)

deliver

(nick,alex)

citizen_ report

(nick)

holds_

Dangerous_

Object

(nick)

criminal_

record

(nick)

suspicious_

transaction

(alex)

suspect

(alex)

mega_

suspect

(nick)

deliver

(alex,nick)

citizen_ report

(alex)

holds_

Dangerous_

Object

(alex)

criminal_

record

(alex)

State 1: P(X = x1)=1Zexp( 1

3w1· 2 + 1

3w1· 2 + 1

3w1· 2 + w2· 4) = 1

Ze2w1+4w2

State 2: P(X = x2)=1Zexp( 1

3w1· 2 + 1

3w1· 2 + 1

3w1· 2 + w2· 3) = 1

Ze2w1+3w2

Page 107: Debs 2012 uncertainty tutorial

Markov Logic: Inference

I Event recognition: querying about composite events.

I Large network with complex structure.

I Exact inference is infeasible.

I MLN combine logical and probabilistic inference methods.I Given some evidence E = e, there are two types of inference:

1. Most Probable Explanation:I argmax

q(P(Q = q|E = e))

I e.g. Maximum Satisfiability Solving.

2. Marginal:I P(Q = true|E = e)I e.g. Markov Chain Monte Carlo sampling.

Page 108: Debs 2012 uncertainty tutorial

Markov Logic: Machine Learning

Training dataset: input data annotated with composite events.

Input Data Composite Events

. . .happensAt(active(id1 ), 101)happensAt(walking(id2 ), 101) holdsAt(meeting(id1 , id2 ), 101)orientationMove(id1 , id2 , 101) holdsAt(meeting(id2 , id1 ), 101)¬close(id1 , id2 , 24, 101)

. . .happensAt(walking(id1 ), 200)happensAt(running(id2 ), 200) ¬holdsAt(meeting(id1 , id2 ), 200)¬orientationMove(id1 , id2 , 200) ¬holdsAt(meeting(id2 , id1 ), 200)¬close(id1 , id2 , 24, 200)

. . .

Page 109: Debs 2012 uncertainty tutorial

Markov Logic: Machine Learning

I Structure learning:I First-order logic formulas.I Based on Inductive Logic Programming techniques.

I Weight estimation:I Structure is known.I Find weight values that maximise the likelihood function.I Likelihood function: how well our model fits to the data.I Generative learning.I Discriminative learning.

Page 110: Debs 2012 uncertainty tutorial

Markov Logic: Discriminative Weight Learning

In event recognition we know a priori :

I Evidence variables: input data, eg simple events

I Query variables: composite events

I Recognise composite events given the input data.

Conditional log-likelihood function:

log Pw (Q = q | E = e) =∑

i wini (e, q)− log Ze

I Joint distribution of query Q variables given the evidencevariables E .

I Conditioning on evidence reduces the likely states.

I Inference takes place on a simpler model.

I Can exploit information from long-range dependencies.

Page 111: Debs 2012 uncertainty tutorial

MLN-based Approaches

Most of the approaches:

I Knowledge base of domain-depended composite eventdefinitions.

I Weighted definitions.

I Input uncertainty expressed using auxiliary formulas.

I Temporal constraints over successive time-points.

More expressive methods:

I Based on Allen’s interval logic.

I Event Calculus.

Page 112: Debs 2012 uncertainty tutorial

Event Calculus in MLN

Aim:

I General-purpose event recognition system.

Uncertainty:

I Imperfect composite event definitions.

Approach:

I Express the Event Calculus in Markov logic.

Page 113: Debs 2012 uncertainty tutorial

The Event Calculus

I A logic programming language for representing and reasoningabout events and their effects.

I Translation to Markov Logic is therefore straightforward.

I Key Components:I event (typically instantaneous)I fluent: a property that may have different values at different

points in time.

I Built-in representation of inertia:I F = V holds at a particular time-point if F = V has been

initiated by an event at some earlier time-point, and notterminated by another event in the meantime.

Page 114: Debs 2012 uncertainty tutorial

Event Calculus

0 3 10 20Time0.0

0.5

1.0

Initiated Initiated Terminated

Page 115: Debs 2012 uncertainty tutorial

Event Calculus in MLN

0 3 10 20Time0.0

0.5

1.0

Initiated Initiated Terminated

Hard-constrained inertia rules:

2.3 CE initiatedAt T if[Conditions]

¬(CE holdsAt T ) iff¬(CE holdsAt T−1),¬(CE initiatedAt T−1)

2.5 CE terminatedAt T if[Conditions]

CE holdsAt T iffCE holdsAt T−1,¬(CE terminatedAt T−1)

Page 116: Debs 2012 uncertainty tutorial

Event Calculus in MLN

0 3 10 20Time0.0

0.5

1.0

Initiated Initiated Terminated

Soft-constrained initiation inertia rules:

2.3 CE initiatedAt T if[Conditions]

2.8 ¬(CE holdsAt T ) iff¬(CE holdsAt T−1),¬(CE initiatedAt T−1)

2.5 CE terminatedAt T if[Conditions]

CE holdsAt T iffCE holdsAt T−1,¬(CE terminatedAt T−1)

Page 117: Debs 2012 uncertainty tutorial

Event Calculus in MLN

0 3 10 20Time0.0

0.5

1.0

Initiated Initiated Terminated

Soft-constrained termination inertia rules:

2.3 CE initiatedAt T if[Conditions]

¬(CE holdsAt T ) iff¬(CE holdsAt T−1),¬(CE initiatedAt T−1)

2.5 CE terminatedAt T if[Conditions]

2.8 CE holdsAt T iffCE holdsAt T−1,¬(CE terminatedAt T−1)

Page 118: Debs 2012 uncertainty tutorial

Event Calculus in MLN

0 3 10 20Time0.0

0.5

1.0

Initiated Initiated Terminated

Soft-constrained termination inertia rules:

2.3 CE initiatedAt T if[Conditions]

¬(CE holdsAt T ) iff¬(CE holdsAt T−1),¬(CE initiatedAt T−1)

2.5 CE terminatedAt T if[Conditions]

0.8 CE holdsAt T iffCE holdsAt T−1,¬(CE terminatedAt T−1)

Page 119: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

I Crisp-EC (uncertainty elimination) is compared to variousMLN-EC dialects (uncertainty propagation):

I MLN-ECHI : hard-constrained inertia.I MLN-ECSI (h): soft-constrained termination inertia rules.I MLN-ECSI : soft-constrained inertia.

Page 120: Debs 2012 uncertainty tutorial

Uncertainty Elimination vs Uncertainty Propagation

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Threshold

F-m

easure

ECcrisp MLN–ECHI

MLN–ECSI(h) MLN–ECSI

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Threshold

F-m

easure

ECcrisp MLN–ECHI

MLN–ECSI(h) MLN–ECSI

Page 121: Debs 2012 uncertainty tutorial

Event Calculus in MLN

Uncertainty:

I Imperfect composite event definitions.

Features:

I Customisable inertia behaviour to meet the requirements ofthe application under consideration.

I Weight learning is effective.

Note:

I Lack of explicit representation of intervals.

Page 122: Debs 2012 uncertainty tutorial

Part V:Open issues and summary

Event processing under uncertainty tutorial

Page 123: Debs 2012 uncertainty tutorial

Open issues

Being a relative new area there exist many open issues related to events uncertainty both research and practical

In this tutorial, we showed a sample of several such open issues

Page 124: Debs 2012 uncertainty tutorial

Open issue: Assignment

How the assignment of uncertainty values is done?

Can people assign probabilities? Maybe fuzzy values?

Can probabilities be inferred statistically?

Page 125: Debs 2012 uncertainty tutorial

Open issue: real-time processing

Back to the “big data” applications: uncertainty is one dimension, scalability and real-time processing are other dimensions.

The handling of uncertain events in a scale and in real-time requires novel algorithmic approach

Page 126: Debs 2012 uncertainty tutorial

Open issue: Forecasting

Applications employing derived events that are forecasted to occur in the (relatively near) future have inherent uncertainty associated with this forecasting.

The forecasting model should support various level of uncertainty (occurrence uncertainty, temporal uncertainty, location uncertainty) built in the forecasting model

Page 127: Debs 2012 uncertainty tutorial

This tutorial dealt with various aspects of event uncertainty: motivation, representation, AI based techniques, and event processing handling techniques

Uncertainty will become gradually part of event-based applications