前言
目前,机器学习越来越流行,各种问答系统的应用也越来越广泛。其中,问答系统的知识库有些还是来源于关系型数据库。
往往我们的提问是这样的:“上个月有什么电影?”
但知识库中的数据是这样的:
| ID | Name | Date |
|---|---|---|
| 1 | 泰坦尼克号 | YYYY-MM-DD |
| 2 | X战警 | YYYY-MM-DD |
| 3 | 阿凡达 | YYYY-MM-DD |
对此,我们需要将日常用语,表示时间的词语转换为YYYY-MM-DD格式。针对上述情况,笔者编写了一个java工具类,实现此功能。
描述
基于正则表达式关键字提取,自年、季度、月、周、日向下提取拼接成日期字符串,同时支持“从……到……”形式的范围日期查找。
| 日期 | 口语格式 | 同义词 |
|---|---|---|
| 年 | 去、前、今、本、明、后、前、近、最近 | YYYY、YY |
| 季度 | 这、本、上、下、前、近、最近、第 | - |
| 月 | 这、本、上、下、上、前、近、最近、半年 | MM、M |
| 周 | 这、本、上、下、前、近、最近 | 周、礼拜、星期 |
| 日 | 现在、昨、今、前、明、后、前、近、最近、半个月、月上旬、月中旬、月下旬 | DD、D、天、日、号、星期X、周X、礼拜X |
使用
代码
ZHSpokenDateFormat.AnalyzeResult analyzeResult = ZHSpokenDateFormat.analyzeStr("今年上半年有什么电影"

本文介绍了一个Java工具类,用于将自然语言中表示时间的词语转换为YYYY-MM-DD格式。利用正则表达式,支持年、季度、月、周、日的提取,并能处理“从……到……”的范围日期。提供代码示例和AnalyzeResult类的属性说明,源码可在GitHub找到。
最低0.47元/天 解锁文章
6189

被折叠的 条评论
为什么被折叠?



