Use when you have a written implementation plan to execute in a separate session with review checkpoints
npx skills add xymtop/skill-agent --skill "parse_times"
Install specific skill from multi-skill repository
# Description
从中文文本中精准抽取并解析时间表达式,将模糊或相对的时间描述(如“明天”、“上周五”)转换为具体的、可计算的绝对时间。
# SKILL.md
name: parse_times
description: 从中文文本中精准抽取并解析时间表达式,将模糊或相对的时间描述(如“明天”、“上周五”)转换为具体的、可计算的绝对时间。
version: 1.0.0
author: Skills Team
tags:
- time
- nlp
- parsing
- datetime
- chinese
category: text-processing
priority: 8
时间解析技能 (Parse-Time)
parse_times 是一个基于 JioNLP 引擎的高级时间语义解析工具。它能理解复杂的中文时间表达,并结合指定的时间基点,将自然语言中的时间描述转化为精确的日期时间格式,准确率高达95% [[8]]。
🎯 核心功能
1. 时间实体抽取
- 识别多样表达:支持“下个月初”、“三天后”、“2024年春节”等数百种中文时间格式。
- 上下文感知:能正确处理“的”字结构等复杂语法,如“上个月的最后一天” [[9]]。
2. 时间语义解析
- 相对时间转换:将“昨天”、“明年Q3”等相对时间,基于
time_base转换为绝对时间。 - 模糊时间处理:对“近期”、“最近”等模糊表述,提供合理的时间范围估计。
- 多类型支持:支持时间点 (
time_point)、时间段 (time_period) 和时长 (time_duration) 的解析 [[1]]。
3. 高精度与可靠性
- 高准确率:专为中文优化,时间解析准确率约95% [[8]]。
- 权威来源:基于开源的 JioNLP 工具包,被广泛应用于各类 NLP 项目中 [[2]]。
📋 使用场景
数据预处理
用户需求:从用户日志“小太阳记录宝宝在半小时前开始吃奶”中提取具体时间。
parse_times:结合当前时间基点,解析出“半小时前”的精确时间戳。
日程管理
用户需求:将“安排一个下周三下午的会议”自动转换为日历事件。
parse_times:解析出“下周三下午”的具体日期和时间。
智能助理
用户需求:“提醒我三天后交报告”。
parse_times:计算出“三天后”的确切日期,用于设置提醒。
学术研究
用户需求:分析历史文献中的时间描述。
parse_times:将“光绪年间”等历史纪年转换为公历范围。
🔧 技术细节
输入参数
time_contents: 一个包含待解析时间字符串的列表。time_base: (隐式)解析的基准时间,通常为调用时的当前时间或由上下文指定。
输出格式
函数返回一个列表,每个元素是一个字典,包含:
- time_content: 原始输入的时间字符串。
- time_str: 解析后的标准化时间字符串(如 2026-02-01 15:00:00)或时间段。
调用示例
# 在技能内部,time_base 通常由系统自动注入
time_expressions = ["明天下午三点", "上周五", "2026年春节"]
parsed_times = parse_time(time_expressions)
# 返回:
# [
# {"time_content": "明天下午三点", "time_str": "2026-02-01 15:00:00"},
# {"time_content": "上周五", "time_str": "2026-01-24 00:00:00"},
# ...
# ]
🎓 最佳实践
DO - 应该这样做
✅ 提供清晰的时间字符串
好的输入:
["下周一开会", "项目截止于2024年12月31日"]
✅ 用于批量处理
好的用法:
将从长文本中抽取出的所有时间实体列表一次性传入,提高效率。
DON'T - 避免这样做
❌ 传入非时间文本
不好的输入:
["今天天气很好", "请帮我订机票"]
应先使用实体抽取工具过滤出时间表达式。
❌ 忽略时间基点
注意:
“明天”的结果完全依赖于 `time_base`。确保在需要特定上下文(如文档创建时间)时,系统能正确设置基点。
🛡️ 限制与注意事项
- 语言限制:主要针对中文时间表达式进行优化,对其他语言支持有限。
- 基点依赖:相对时间的解析结果高度依赖
time_base的准确性。 - 模糊性:对于极度模糊的表述(如“很久以前”),可能无法给出精确结果。
🔗 与其他工具配合
技能组合建议
完整信息提取流水线:
1. 通用实体抽取:从原始文本中识别出所有潜在的时间字符串。
2. parse_times:对抽取出的时间字符串进行精确解析。
3. Data Analyzer:对解析后的时间数据进行统计或可视化。
智能日程助手:
1. parse_times:解析用户指令中的时间。
2. Calendar Manager:将解析后的时间用于创建或查询日历事件。
📚 学习资源
- 官方文档: JioNLP GitHub [[2]]
- 在线体验: 可在 JioNLP 官网提供的在线测试页面直接体验时间解析功能 [[8]].
🎉 总结
parse_times 技能是处理中文时间信息的强大工具,它将自然语言的模糊性转化为计算机可操作的精确性,是构建智能日程、数据分析和信息提取系统的关键组件。
# Supported AI Coding Agents
This skill is compatible with the SKILL.md standard and works with all major AI coding agents:
Learn more about the SKILL.md standard and how to use these skills with your preferred AI coding agent.