如何在DialogFlow中正确解析“明天上午9点读书”这类自然语句?
自然语言时间与任务结构化提取解决方案
DialogFlow提取失败的核心原因
- 官方预构建的闹钟、提醒类代理默认适配平台原生提醒触发逻辑,只会输出完整的提醒实体,不会拆分输出独立的日期、时间、事件三类字段,不符合你的定制化提取需求
- 没有配置自定义实体和训练样本:你可以手动创建
date、time、event_content三类自定义实体,上传10-20条标注完成的对应语料做微调,即可实现目标字段的提取,不需要依赖预构建代理 - 语言配置不匹配:如果输入为中文句子,需要将代理的默认识别语言设置为中文,中英文混合识别会大幅降低字段提取准确率
适配需求的可选方案
- 国内在线调用场景可以选择百度UNIT的预训练时间解析组件,无需额外训练即可提取中文自然语言中的标准化日期、时间片段,原句剔除时间相关内容后即为事件内容,日常场景识别准确率可达90%以上
- 离线部署场景可以使用开源工具
TimeNormalizer,直接调用接口即可返回句子中标准化的日期、时间字符串,剩余内容直接作为事件内容输出,无调用限制 - 多语言场景可以使用Facebook开源的
Duckling工具,支持多语种的时间、数字等实体提取,可输出ISO标准格式的时间结果,简单配置后即可直接输出你需要的三段式结构化结果
内容的提问来源于stack exchange,提问作者Capt. Michael
相关产品推荐
相关产品推荐

