编程语言
首页 > 编程语言> > 如何在Python中解析时间表达式(特别是时间范围)?

如何在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,以了解这是否对您有用.

标签:jnlp,stanford-nlp,nlp,opennlp,python
来源: https://codeday.me/bug/20191119/2037951.html