通用时间标注模型(每类时间 = 原始 + 标准化)


一、核心结构定义

对任意时间类型(如创作时间、事件时间等),采用以下双字段结构:

表格

字段名类型说明示例
temporal_originalstring文本中原始时间表述(保留原字)“至德二载春”、“昨日”、“先王之时”
temporal_normalizedobject标准化后的时间结构见下表

而 temporal_normalized 又分为两种子类型:

A. 绝对时间(absolute)

json

编辑

1{
2  "type": "absolute",
3  "iso8601": "0757-03",        // ISO 8601 扩展格式(支持年、年月、年月日)
4  "calendar": "chinese_gregorian_mixed", // 可选:gregorian, chinese, julian 等
5  "confidence": "high"          // 可选:high / medium / low
6}

B. 相对时间(relative)

json

编辑

1{
2  "type": "relative",
3  "expression": "three days after",  // 标准化后的相对表达(英文或可控词汇)
4  "anchor_id": "sent_123",           // 指向锚点(如某句、某事件)的ID
5  "offset": "+3D",                   // ISO 8601 duration 格式:+3D=三天后,-1Y=一年前
6  "resolved_iso8601": "0757-04-10"   // (可选)若已解析出绝对时间,可填此字段
7}

🔔 关键原则

  • 所有绝对时间必须能映射到 ISO 8601 公历坐标系(公元前用负号,如 -0208
  • 相对时间必须关联一个明确的锚点(anchor),否则无法解析

二、完整时间类型模板(适用于任一层级)

json

编辑

1{
2  "creation_time": {
3    "temporal_original": "乾元二年秋",
4    "temporal_normalized": {
5      "type": "absolute",
6      "iso8601": "0759-09",
7      "calendar": "chinese",
8      "confidence": "medium"
9    }
10  },
11  "event_time": {
12    "temporal_original": "安禄山反于范阳",
13    "temporal_normalized": {
14      "type": "absolute",
15      "iso8601": "0755-12",
16      "calendar": "gregorian_estimated",
17      "confidence": "high"
18    }
19  },
20  "reference_time": {
21    "temporal_original": "明日",
22    "temporal_normalized": {
23      "type": "relative",
24      "expression": "next day",
25      "anchor_id": "para_005",     // 锚定到上一段落所指时间
26      "offset": "+1D"
27      // resolved_iso8601 可由推理引擎后续填充
28    }
29  },
30  "recording_time": {
31    "temporal_original": "宋绍兴年间刊本",
32    "temporal_normalized": {
33      "type": "absolute",
34      "iso8601": "1131/1162",     // 表示时间段
35      "calendar": "gregorian",
36      "confidence": "low"
37    }
38  }
39}

三、在 TEI XML 中的实现方式

TEI 支持通过 <date> 元素 + 自定义属性实现上述结构:

xml

编辑

1<date type="creation"
2      evidence="original"
3      when-custom="乾元二年秋"
4      when="0759-09"
5      calendar="chinese"
6      confidence="medium"/>
7
8<date type="reference"
9      evidence="original"
10      when-custom="明日"
11      ana="#relative_time"
12      instant="#anchor_para_005"
13      dur="+1D"/>

💡 注:TEI 本身不强制 when-custom,但可通过 ODD 定制 schema 添加该属性。


四、各时间类型的适用场景说明

表格

时间类型原始文本常见形式标准化难点建议处理方式
创作时间年号+干支(“贞观三年”)、作者生卒推断年号转公历、不确定年份用 notBefore/notAfter 或 ISO 范围
记录时间版本题记(“嘉靖乙酉刻本”)刊刻年代模糊标注为时间段,confidence=low
发生时间历史事件(“赤壁之战”)、季节(“春”)事件年代争议、季节无具体日优先用年,季节可补为 YYYY-03(春)
指向时间“昔者”“今”“后五年”高度依赖上下文锚点必须绑定 anchor_id,暂不强制 resolved
传播时间“初刊于1905年”近代较明确直接 absolute

五、相对时间的锚点管理策略

为支持相对时间解析,需在系统中维护时间锚点注册表

json

编辑

1{
2  "time_anchors": {
3    "para_005": {
4      "text_snippet": "至德二载三月,长安陷。",
5      "normalized_time": "0757-03"
6    },
7    "event_001": {
8      "description": "安史之乱爆发",
9      "normalized_time": "0755-12"
10    }
11  }
12}

当遇到“其明年”时,系统可:

  1. 识别其锚点(前一句或前一事件)
  2. 提取该锚点的 normalized_time
  3. 加 offset(+1Y)→ 得到 resolved_iso8601

六、标准化时间格式细则(推荐)

表格

场景ISO 8601 表达说明
公元757年"0757"xsd:gYear
公元前208年"-0208"注意四位数,补零
757年春季"0757-03"春=3月,夏=6月,秋=9月,冬=12月(约定俗成)
不确定年份(750–759)"075X" 或 "0750/0759"后者更标准
三天后"+3D"(duration)用于 relative.offset
从757年到760年"0757/0760"时间段

总结:时间模型优势

  • 保真性:保留原始文本,避免信息丢失
  • 计算友好:标准化字段支持排序、查询、可视化
  • 语义清晰:区分绝对/相对,强制锚点机制
  • 跨时代兼容:从“贞观三年”到“2025-02-11”统一处理

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

探索未来出版

九录科技愿意通过最前沿的技术和深厚的行业理解,为您的数字业务提供架构简单但很灵活的从创作到发布的全方位支持。

本站内容部分由AI生成,仅供参考,具体业务可随时电话/微信咨询(18610359982)。