如何在Python中解析时间表达式(特别是时间范围)?

我有一个包含3个组件的NLP任务.我尝试了几种方法(最后提到),但无法获得良好的结果.

>在语句中检测时间表达
>然后将其分类为时间戳,时间触发或时间段.
>使每个表达式等于其DateTime等价物.

例:

以参考时间为2000小时,2015年7月20日,星期四

>时间戳:

我想从现在开始20分钟预定出租车

Answer: [tStamp]2020 hrs, Thursday, July 20th

>时间触发:

2之后的任何计时器都可以

Answer:  [tTrigger] - start - 0200 hrs,July 21st 2015

5点之前是好的

[tTrigger] - start - now, 2000hrs, July 20th, 2015 : end - 0500 hrs, July 21st, 2015

>时间段:

我在旧金山工作了两年

[tPeriod] -  2013-2015

我试图用正则表达式给出非常通用的结果.我读过的第二个选择是尝试使模型从Naive Bays分类器中学习,但是naive Bays学习确切的单词而不是短语.

我在python中遇到了parsedatetime 1.5软件包,这在某种程度上将短语转换为时间戳可以解决上述问题的3.但是我仍然无法解决滞留和分类问题.

解决方法:

斯坦福的CoreNLP库有一个Python包装器,其中包括SUTime工具.查看在线SUTime demo,以了解这是否对您有用.

上一篇:Jenkins slave-agent.jnlp 无法安装为服务(install as a service)


下一篇:iOS 中的正则匹配(工具类方法)