文本中的时间信息抽取:时序表达式识别与时态关系推理

张开发
2026/4/17 17:57:06 15 分钟阅读

分享文章

文本中的时间信息抽取:时序表达式识别与时态关系推理
点击“AladdinEdu你的AI学习实践工作坊”注册即送-H卡级别算力沉浸式云原生集成开发环境80G大显存多卡并行按量弹性计费教育用户更享超低价。一、引言时间是人类认知世界最基本的维度之一。当我们阅读一段新闻“2024年10月15日苹果公司发布了新款MacBook Pro。此前该公司曾在6月的开发者大会上预告过这一产品。预计该产品将于下个月在全球上市。”——我们的大脑不仅识别出了“2024年10月15日”“6月”“下个月”等时间表达式还能理解“发布”事件发生在“预告”事件之后“上市”事件尚未发生。这种对时间信息的精准把握是深层语言理解不可或缺的能力。在自然语言处理领域时间信息抽取旨在从非结构化文本中自动识别与时间相关的表达并推理事件之间、事件与时间之间的时序关系。它主要包括两个紧密关联的子任务时序表达式识别与规范化从文本中识别表示时间点、时间段、频率的词语或短语如“2024年10月”“上周三”“两天后”并将其解析为机器可读的标准时间格式。时态关系推理识别文本中描述的事件或状态并推断它们之间的时序关系如“之前”“之后”“同时”“包含”等以及事件与文档创建时间或指定参考时间的关系。时间信息抽取是构建时间线、事件脉络追踪、临床病程分析、金融时序分析和知识图谱时序增强的关键支撑技术。例如在金融领域从财报和新闻中抽取“2023年Q3营收增长20%此前Q2增长15%”可辅助趋势分析在医疗领域从电子病历中提取“患者3天前出现发热昨日咳嗽加剧”有助于病程重建。然而时间信息抽取面临诸多挑战表达多样性同一时间点可以有无数种表达“2024-10-15”“10/15/2024”“十月十五日”“下周二”。相对时间与模糊时间“三天前”“不久之后”“过去几年”需要参考点才能计算具体值而“最近”“曾经”“即将”等模糊表达缺乏精确边界。隐式时间信息事件本身隐含时间顺序如“毕业后进入公司”暗含“毕业”早于“进入公司”需结合世界知识推理。跨句与跨段落依赖时序关系常跨越多个句子甚至段落要求模型具备篇章级推理能力。本文将系统梳理时间信息抽取的技术脉络。第二节介绍时间信息抽取的基础概念与标准化体系TimeML第三节详述时序表达式识别与规范化的方法演进第四节深入剖析时态关系推理的主流模型第五节讨论评测数据集与典型应用第六节总结挑战与未来方向。二、时间信息抽取基础2.1 基本概念在时间信息抽取中有几个核心概念需要界定时间表达式指示时间点、时间段、时间频率或时间长度的自然语言短语。例如绝对时间“2024年10月15日”“昨天”“去年”相对时间“三天后”“两周前”持续时间“三个月”“长达五年”频率“每年”“每隔一周”事件文本中描述的发生、状态变化或持续状态的谓词或其名词化形式。例如“发布”“增长”“任职”“会议”。时态关系两个时间实体时间表达式或事件之间的时序关联。TimeML标准定义了13种时态关系如BEFORE、AFTER、SIMULTANEOUS、INCLUDES等。2.2 TimeML标准与ISO-TimeML为了促进时间信息抽取的标准化研究国际上制定了TimeML标注规范后演进为ISO标准ISO-TimeML。TimeML定义了以下核心标签TIMEX3用于标注时间表达式。属性包括type时间类型DATE、TIME、DURATION、SETvalue规范化后的标准时间值遵循ISO 8601格式mod修饰语如START、MID、END、APPROXEVENT标注事件提及。属性包括class事件类别OCCURRENCE、STATE、REPORTING、I_STATE等tense、aspect、polarity等语法特征TLINK标注时态关系。连接两个时间实体事件或时间表达式并指定关系类型。SLINK、ALINK分别标注从属关系和体态关系。例如句子“Applereleasedthe new MacBookon October 15, 2024.”的TimeML标注为EVENTeide1classOCCURRENCEreleased/EVENTTIMEX3tidt1typeDATEvalue2024-10-15October 15, 2024/TIMEX3TLINKrelTypeIS_INCLUDEDeventInstanceIDe1relatedToTimet1/TimeML及其标注语料如TimeBank、AQUAINT为时间信息抽取研究提供了宝贵的训练和评测资源。2.3 相关评测任务国际上推动时间信息抽取研究的重要评测包括TempEvalSemEval系列评测中的时间信息抽取任务分为TempEval-12010、TempEval-22010、TempEval-32013。任务涵盖时间表达式识别、事件识别、时态关系分类事件-时间、事件-事件。i2b2 Clinical Temporal Relations Challenge面向临床文本的时间关系推理评测关注病程时间线构建。CREST面向新闻文本的事件时序关系推理评测。三、时序表达式识别与规范化时序表达式识别的目标是给定文本找出所有时间表达式片段并将其归类为DATE、TIME、DURATION、SET之一同时输出规范化的标准时间值如“2024-10-15”。3.1 基于规则的方法早期时序表达式识别主要依赖手工规则。典型系统包括HeidelTimeStrötgen Gertz, 2010是应用最广泛的开源时间标注器之一。它基于精心编写的时间表达式规则库结合正则表达式和关键词触发。HeidelTime的优势在于支持多语言英语、德语、西班牙语、中文等。规则可解释性强精确率高。能处理相对时间表达式并根据文档创建时间DCT计算具体日期。例如规则模式\b(\d{1,2})/(\d{1,2})/(\d{4})\b可识别“10/15/2024”格式的日期。SUTimeChang Manning, 2012是斯坦福CoreNLP套件中的时间标注器。它同样基于规则但整合了更多的语法约束和语义角色信息尤其在规范化相对时间方面表现出色。SUTime利用确定有限状态自动机匹配时间模式并通过Java代码进行值计算。中文时序表达式识别中文时间表达规律性更强如“XXXX年XX月XX日”早期工作大量采用正则规则。哈尔滨工业大学的LTP系统、复旦大学的FudanNLP均提供了中文时间识别模块。规则方法的局限规则维护成本高难以覆盖口语化、非规范的表达如“大前天”“俩月后”且对新领域适应性差。3.2 基于统计机器学习的方法为缓解规则的僵化研究者引入序列标注模型将时序表达式识别视为BIO标注问题。常用特征包括词本身、词性标签、前缀后缀、词典特征等。分类器可采用条件随机场或结构化感知机。SynTimeZhong et al., 2017采用CRF模型融入了丰富的句法特征如依存路径和语义特征如WordNet上位词在多个数据集上超越了纯规则系统。基于机器学习的优势通过训练自动学习模式能泛化到训练集中出现的多样表达。局限依赖标注数据且对未见过的时间表达格式仍可能失效。3.3 基于深度学习的方法随着深度学习在NLP中的统治地位确立时序表达式识别也进入了神经网络时代。BiLSTM-CRF与命名实体识别类似双向LSTM编码上下文CRF层进行标签解码。输入通常为字符级和词级向量的拼接。基于预训练语言模型BERT、RoBERTa等PLM的微调大幅提升了时间表达式识别的性能。BERT能够更好地捕捉长距离语义依赖从而准确界定时间短语的边界。例如对于“the day after tomorrow”这样的多词短语BERT的自注意力机制能将其作为一个整体进行建模。代码示例基于BERT的时序表达式识别简化版fromtransformersimportBertTokenizer,BertForTokenClassificationimporttorch# 假设使用BIO标注B-DATE, I-DATE, B-TIME, I-TIME, B-DURATION, I-DURATION, Oid2label{0:O,1:B-DATE,2:I-DATE,3:B-TIME,4:I-TIME,5:B-DURATION,6:I-DURATION}label2id{v:kfork,vinid2label.items()}tokenizerBertTokenizer.from_pretrained(bert-base-uncased)modelBertForTokenClassification.from_pretrained(bert-base-uncased,num_labelslen(id2label))defextract_time_expressions(sentence):inputstokenizer(sentence,return_tensorspt,truncationTrue,paddingTrue)withtorch.no_grad():outputsmodel(**inputs)logitsoutputs.logits predictionstorch.argmax(logits,dim-1)[0]tokenstokenizer.convert_ids_to_tokens(inputs[input_ids][0])timex_spans[]current_span[]fortoken,predinzip(tokens,predictions):ifpred!0:# 非Oifpred%21:# B-开头ifcurrent_span:timex_spans.append(.join(current_span))current_span[token]else:# I-内部current_span.append(token)else:ifcurrent_span:timex_spans.append(.join(current_span))current_span[]ifcurrent_span:timex_spans.append(.join(current_span))returntimex_spansprint(extract_time_expressions(The meeting will be held on October 15, 2024 at 10:00 AM.))# 输出可能包含: [October, 15, 2024] 和 [10, :, 00, AM]需后处理合并3.4 时间表达式规范化识别出时间表达式后还需将其转化为标准格式如ISO 8601这一过程称为规范化。规范化面临的挑战在于相对时间的锚定如“三天前”需要参考点通常是文档创建时间DCT来计算具体日期。模糊时间的处理如“周一”若不指定具体日期需结合上下文推断是哪个周一。时间段与集合如“每年夏天”需规范化为重复时间集合如XXXX-SU。经典规范化方法同样包括规则计算HeidelTime、SUTime和基于模板填充的神经方法。近期有研究尝试使用Seq2Seq模型直接生成时间表达式的规范值字符串如2024-10-15。四、时态关系推理时态关系推理旨在判断文本中事件之间、事件与时间表达式之间的时序关系。这是时间信息抽取中最具挑战性的环节因为它往往需要结合世界知识和跨句推理。4.1 时态关系类型体系TimeML定义了13种时态关系主要借鉴自Allen的区间代数Allen’s Interval Algebra关系类型含义示例BEFORE事件A在事件B之前发生A happenedbeforeB.AFTER事件A在事件B之后发生A happenedafterB.SIMULTANEOUS同时发生A and B happenedsimultaneously.INCLUDESA的时间区间包含BA lastedthroughoutB.IS_INCLUDEDA的时间区间被B包含A occurredduringB.DURING同IS_INCLUDEDBEGINS/BEGUN_BYA开始于B开始的时刻ENDS/ENDED_BYA结束于B结束的时刻OVERLAPS时间区间重叠IDENTITY指同一事件在实际评测中常将关系类型简化为三类BEFORE、AFTER、EQUAL或OVERLAP或四类加上VAGUE。4.2 基于特征工程的分类模型早期时态关系分类主要依赖人工特征机器学习分类器如SVM、MaxEnt。常用特征包括词汇特征事件词本身、触发词之间的文本片段、显式时间连词如“after”“before”“while”。句法特征事件提及在依存树上的路径、句法成分标签。语义特征事件类型、时态、体态、极性。篇章特征事件所在的句子位置、段落距离。时间表达式特征若事件与TIMEX3有关联则其规范化值是最强特征。ClearTKBethard, 2013是TempEval-3上的冠军系统它大量使用依存路径特征和SVM分类器证明了特征工程在时态关系推理中的有效性。4.3 基于神经网络的推理模型深度学习为时态关系推理带来了端到端的表示学习减少了对手工特征的依赖。BiLSTM Attention将事件提及的上下文编码对两个事件分别提取表示如最大池化或注意力加权拼接后输入MLP分类。部分工作还在输入层融入事件间最短依存路径的嵌入。基于预训练语言模型BERT等PLM通过微调极大提升了时态关系分类的准确性。常见做法是将两个事件所在的句子或上下文拼接用特殊标记[SEP]分隔取[CLS]输出进行分类。对于跨句时态关系可将多个句子串联输入利用BERT的长文本变体如Longformer。基于图神经网络时态关系具有传递性和全局一致性例如若A在B之前且B在C之前则A在C之前。图神经网络能够对文档中的所有事件构建全连接图通过消息传递进行全局联合推理输出更一致的时态关系标签。TIMERSMathur et al., 2021将文档表示为事件-时间线图使用GCN编码后联合预测所有时态边。4.4 隐式时间关系与常识推理许多时态关系无法直接从文本中读出需要常识支持。例如“他大学毕业后进入了公司”——没有显式连词但根据世界知识毕业通常在就业之前。这类隐式时序关系对模型提出了更高要求。解决方法知识增强融入事件之间的时序常识如从ConceptNet、TEMPROB等时序知识库中获取。预训练语言模型的零样本推理大型语言模型如GPT-4在预训练过程中习得了大量时序常识可通过提示学习激发其推理能力。事件时序嵌入学习事件类型在时间轴上的分布嵌入辅助推理。4.5 代码示例基于BERT的事件-事件时态关系分类fromtransformersimportBertTokenizer,BertForSequenceClassificationimporttorch# 假设时态关系标签0-BEFORE, 1-AFTER, 2-EQUAL, 3-VAGUEmodelBertForSequenceClassification.from_pretrained(bert-base-uncased,num_labels4)tokenizerBertTokenizer.from_pretrained(bert-base-uncased)defpredict_temporal_relation(event1_sent,event2_sent,event1_span,event2_span):# 构建输入在事件周围插入标记marked1event1_sent.replace(event1_span,f [E1]{event1_span}[/E1] )marked2event2_sent.replace(event2_span,f [E2]{event2_span}[/E2] )combinedf{marked1}[SEP]{marked2}inputstokenizer(combined,return_tensorspt,truncationTrue,max_length256)withtorch.no_grad():outputsmodel(**inputs)predtorch.argmax(outputs.logits,dim-1).item()rel_map{0:BEFORE,1:AFTER,2:EQUAL,3:VAGUE}returnrel_map[pred]print(predict_temporal_relation(The company announced its earnings yesterday.,The stock price jumped today.,announced,jumped))# 输出可能为 BEFORE五、评测数据集与典型应用5.1 经典评测数据集数据集规模内容标注类型TimeBank186篇新闻约6.8万词新闻文本TIMEX3、EVENT、TLINKAQUAINT73篇新闻新闻文本TIMEX3、EVENT、TLINKTempEval-3TimeBank AQUAINT 维基文章多领域三项子任务TIMEX3、EVENT、TLINKWikiWars22篇维基历史条目历史事件详细的事件-事件TLINKMATRES275篇新闻新闻文本连续时态关系BEFORE/AFTER/EQUALTCR临床病历电子病历病程时态关系中文TimeBank新闻、博客中文文本参照TimeML5.2 典型应用场景时间线构建与事件脉络追踪从海量新闻中抽取关键事件及其时序关系自动生成事件发展时间线。例如维基百科的当前事件门户可自动汇总新闻时间线。临床病程分析与预警从电子病历中抽取症状、用药、检查的时间关系构建患者病程图辅助临床决策和并发症预警。金融事件驱动分析从财报、研报、新闻中抽取业绩发布、高管变动、政策出台等事件的时间信息构建金融时序知识图谱支持量化投资和风险监控。智能问答与对话系统理解用户问题中的时间约束如“去年夏天的奥运会”并基于事件时序关系进行推理回答如“地震发生在海啸之前吗”。历史文献研究自动从古籍、地方志中抽取历史事件的时间记载辅助史学研究与数字人文。六、挑战与未来展望6.1 当前核心挑战尽管时间信息抽取取得了长足进步以下挑战仍是制约其大规模应用的关键隐式时间信息与常识依赖大量时序关系依赖世界知识纯文本信号不足。如何有效融合外部知识库与常识是核心难题。跨句与篇章级推理事件之间的时序关系常跨越多个句子甚至存在多跳推理链如A在B之前B在C之前→A在C之前。现有模型多聚焦于局部对分类缺乏全局一致性建模。模糊时间与不确定性处理文本中大量存在“大约在冬季”“几年后”“最近”等模糊时间表达其推理需要概率化或区间化的表示。低资源与多语言场景时间表达高度依赖语言习惯非英语语言特别是中文的标注资源和预训练模型仍然匮乏。可解释性与可信度深度学习模型如同黑箱在医疗、司法等高风险领域难以获得用户信任。模型需能输出推理依据如关键文本片段或常识规则。6.2 未来方向大型语言模型的深度赋能GPT-4等LLM在少样本和零样本时态推理上已展现出强大能力。未来可探索利用LLM自动标注训练数据、生成解释、进行多跳推理并与结构化时序知识库结合形成闭环优化。神经符号与时序逻辑推理将深度学习与符号化的时序逻辑如Allen代数、线性时序逻辑结合既利用神经网络提取文本特征又通过符号推理保证全局一致性。例如用GNN学习边权重再用整数线性规划ILP求解最优时序图。多模态时间信息抽取结合文本、图像、视频中的时间线索。例如从新闻视频的字幕和画面时钟中联合提取事件时间。动态知识图谱中的时序表示学习将时间信息融入知识图谱嵌入学习带时间约束的实体和关系表示支持时态查询与预测如“预测某公司下一季度的营收趋势”。持续学习与时序知识更新现实世界的时间线不断向前推进模型应能持续从新文本中学习更新对事件时态关系的认知而不遗忘旧有知识。七、结语时间是流淌在语言血脉中的无形脉络。让机器学会理解文本中的时间不仅是自然语言处理走向深层语义理解的必由之路更是解锁事件预测、因果推断、智能决策等高级智能应用的关键钥匙。从早期的手工规则到今日的深度神经网络时间信息抽取技术在精确度与覆盖面两端不断突破。然而面对真实文本中错综复杂的时间迷宫我们依然任重道远。期待更多研究者投身这一领域共同打造能够精准把握时间脉搏的智能系统让机器更好地理解过去、把握当下、预见未来。参考文献主要工作列举Pustejovsky, J., Castaño, J. M., Ingria, R., Saurí, R., Gaizauskas, R. J., Setzer, A., … Radev, D. R. (2003). TimeML: Robust specification of event and temporal expressions in text.AAAI Spring Symposium.Strötgen, J., Gertz, M. (2010). HeidelTime: High quality rule-based extraction and normalization of temporal expressions.SemEval.Chang, A. X., Manning, C. D. (2012). SUTime: A library for recognizing and normalizing time expressions.LREC.Bethard, S. (2013). ClearTK-TimeML: A minimalist approach to TempEval 2013.SemEval.Zhong, X., Sun, A., Cambria, E. (2017). Time expression analysis and recognition using syntactic token types and general heuristic rules.ACL.Han, X., Gao, T., Lin, Y., Peng, H., Yang, Y., Xiao, C., … Sun, M. (2021). PTR: Prompt tuning with rules for text classification.arXiv preprint.Mathur, P., Jain, R., Dernoncourt, F., Morariu, V. I., Tran, Q. H., Manocha, D. (2021). TIMERS: Document-level temporal relation extraction.ACL.Ning, Q., Feng, Z., Roth, D. (2018). A structured learning approach to temporal relation extraction.EMNLP.Zhou, B., Khashabi, D., Ning, Q., Roth, D. (2019). “Going on a vacation” takes longer than “Going for a walk”: A study of temporal commonsense understanding.EMNLP.Vashishtha, S., Van Durme, B., White, A. S. (2019). Fine-grained temporal relation extraction.ACL.点击“AladdinEdu你的AI学习实践工作坊”注册即送-H卡级别算力沉浸式云原生集成开发环境80G大显存多卡并行按量弹性计费教育用户更享超低价。

更多文章