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