slides - iDASH

advertisement
Temporal Data Management:
Semantic Web Engineering
Discussion Leader:
Cui Tao
Assistant Professor in Medical Informatics
Mayo Clinic
Temporal Reasoning Journal Club
December 1, 2011
Articles to Discuss
• Time-Oriented Question Answering from Clinical
Narratives Using Semantic-Web Techniques. Tao C,
Solbrig HR, Deepak S, Wei W-Q, Savova G, Chute
CG. International Semantic Web Conference, Lecture
Note of Computer Science. 2010; 6497:241-56.
http://www.springerlink.com/content/67623p256743w
v4u/
• Representing Complex Temporal Phenomena for the
Semantic Web and Natural Language. Feng Pan,
2007 PhD thesis University of Southern California
http://www.isi.edu/~hobbs/time/pub/pan-phdthesis.pdf
Why Semantic Web?
The Semantic Web provides a suitable
environment for temporal data
representation and reasoning:
• Standard mechanism with explicit
and formal semantic definition
• OWL DL
• SWRL
• Reasoning tools, querying and
storage mechanisms
Ontologies Available Online
• Clinical Narrative Temporal Relation
Ontology (CNTRO):
http://cntro.org/index.html
• Time-OWL: http://www.w3.org/TR/owltime/
Goals
CNTRO
• For representing events,
time information, and
temporal relations in
clinical narratives
• Can also represent
structured data
• Presumably can be
generalizable
Time-OWL
• For describing the
temporal content of Web
pages and the temporal
properties of Web
services
• Can also represent
structured data
Classes
CNTRO
• ValidTime
• TimeInstant
• TimeInterval
• TimePeriod
• TimePhase
Time-OWL
• TemporalEntity
• Instant
• Interval
•
•
•
•
•
•
•
•
Duration
DurationUnit
Granularity
Event
• ProperInterval
• DateTimeInterval
DurationDescription
DateTimeDescription
TemporalUnit
DayOfWeek
Properties (Time-OWL)
Temporal
Relations
Duration
Description
DateTime
Description
Properties (CNTRO)
Property
Domain
Range
After
Event
Event/ValidTime
Before
Event
Event/ValidTime
During
Event
Event/ValidTime
Equal
Event
Event/ValidTime
Contain
Event
Event/ValidTime
Finish
Event
Event/ValidTime
Start
Event
Event/ValidTime
hasDuration
TimeInterval
Duration
hasDurationUnit
Duration
DurationUnit
hasDurationValue
Duration
decimal
hasStartTime
TimeInterval
TimeInstant
hasEndTime
TimeInterval
TimeInstant
hasValidTime
Event
ValidTime
hasPeriod
TimePhase
TimePeriod
hasModality
ValidTime
boolean
hasNormalizedTime
TimeInstant
dateTime
hasOrigTime
TimeInstant
string
CNTRO Overview
Temporal Relations
Both adapted Allen's interval algebra
Time_OW
L
CNTRO
After
Event
Event/ValidTime
Before
Event
Event/ValidTime
During
Event
Event/ValidTime
Equal
Event
Event/ValidTime
Contain
Event
Event/ValidTime
Finish
Event
Event/ValidTime
Start
Event
Event/ValidTime
Duration
Time_OW
L
CNTRO
Time Description
Time_OW
L
CNTRO
Time-OWL
Features
• Relations for intervals/instants
• Time Zones
• Day of Week, Day of Year
• Specific definition of months, weekdays,
etc
• Temporal sequence
Time-OWL
Time-OWL
Time-OWL
Every other week on Monday, Wednesday and Friday until December 24,
1997, but starting on Tuesday, September 2, 1997.
EveryOtherWeek:
hasTemporalUnit = unitWeek
hasGap = 2
MWFEveryOtherWeek:
hasStart = 09/02/1997
hasEnd = 12/24/2007
hasithTemporalUnit =1,3,5
hasTemporalUnit=unitDay
hasContextTemporalUnit=unitWeek
CNTRO
Features
• Periodic Time Interval
• Relation between Two Events
• Time Offset
• Relative Time
• Uncertainty
CNTRO
Representation (Period & Phase)
• Example Sentence:
take antibiotics every
8 hours for 10 days
starting from today
(note date:2004-0601)
Operators for Offsets
Was e1 before e4?
inverse operatorsαand β
β(3 days) α(2days) = β (1day)
SWRL RuleML
• Rule-based Definition for
Consistency
SWRL RuleML
• Rule-based Definition for properties
SWRL RuleML
• Rule-based Definition for concepts
“premature labor after 22 weeks but before 37
completed weeks of gestation without delivery”
CNTRO API
• findEvent(searchText)
• returns a list of events that match the
searching criteria. Currently we look for
events based on text search.
• GetEventFeature(event, featureflag)
• returns a specific time feature for a given
event.
• Sample query:
• When was the patient diagnosed with
diabetes?
• When was the patient started his
chemotherapy?
CNTRO API
• getDurantionBetweenEvents(event1, event2)
• returns the time interval between two events.
• Sample query: How long after the patient was
diagnosed colon cancer did he start the
chemotherapy?
• getDuration(event)
• returns the duration of a given event.
• Sample query: How long did the symptoms of
rectal bleeding last?
CNTRO API
• getTemporalRelationType(event1, event2)
• returns the temporal relations between two
events if it can be retrieved or inferred.
• Sample query: Was the PT scan after the
colonoscopy?
• getTemporalRelationType(event1, time)
• returns the temporal relations between an
event and a specific time if it can be inferred
or retrieved.
• Sample query: Is there any behavior change
within a week of the test?
CNTRO API
• sortEventsByTemporalRelationsOrTimeline(event
s)
• returns the order (timeline) of a set of events.
• sample query:
• What is the tumor status timeline as
indicated in the patient’s radiology note?
• What is the treatment timeline as recorded
in oncology notes?
• When was the first colonoscopy done?
• When was the most recent glucose test?
Discussion
Semantic harmonization
Time-related classes harmonization
Relation harmonization
Discussion
Instances vs. Intervals
• Time instant: a time interval with a very
short duration
• Time interval: a time instant on a coarse
level of granularity
• “patient’s last cycle of chemotherapy
was on Jan. 19”
• Process or occurrence?
• Interval or instant?
Discussion
Temporal Uncertainties
• Approximated temporal expression:
• In approximately 2 weeks
• About 3 hours
• In the AM
• Late last year
• Insufficient level of granularity:
• Duration between Jan. and Jun.?
• Event A: Jan. and Event B: Jan. 16;
what was the temporal relation?
Discussion
Temporal Relation on Granularity
• “PT WENT INTO CARDIAC ARREST AND THEY
WERE UNABLE TO KEEP HEART BEATING FOR
MORE THAN A COUPLE HOURS. PT PASSED
AWAY THAT NIGHT.”
• Cardiac arrest before death (granularity: hour)
• Cardiac arrest equal death (granularity: day)
Discussion
Vague Event Duration
• Missing durations is one of the most common sources
of incomplete information for temporal reasoning in
natural language applications
• Empirical approach?
• Long, short
• Coarse-grained duration information
• Set up ranges of durations
Discussion
Temporal Uncertainties
Coarse temporal notion:
• Early next week, middle of last year,
short after 11PM, before breakfast
• Short after 11:30PM on the 16th,
before or on the 17th?
Discussion
Temporal Uncertainties
Ambiguities:
Last cycle of chemotherapy was on Jan. 16.
1) patient’s last cycle of chemotherapy
STARTED on Jan. 19;
2) patient’s last cycle of chemotherapy ENDED
on Jan. 19;
3) patient’s last cycle of chemotherapy
STARTED and ENDED on Jan. 19.
Questions
Download