如何解析时间表达式(尤其是时间范围),使用Python?

2024-05-16 03:02:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个NLP任务,它有3个组成部分。我尝试了一些方法(最后提到),但没有得到好的结果。在

  1. 检测语句中的时间表达式
  2. 然后分类为时间戳时间触发器时间段。在
  3. 将每个表达式与它的DateTime等效值相等。在

示例:

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

  1. 时间戳

    我想在20分钟后预订一辆出租车

    Answer: [tStamp]2020 hrs, Thursday, July 20th
    
  2. 时间触发器

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

    ^{pr2}$

    5点之前就好了

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

    我在旧金山工作了两年,

    [tPeriod] -  2013-2015
    

我试着用正则表达式做这个得到了非常一般的结果。我读到的第二个选项是尝试让模型从naivebays分类器学习,但是naivebays学习的是精确的单词,而不是短语。在

我在python中遇到了parsedatetime 1.5包,在某种程度上它在将短语转换为时间戳方面非常棒,它解决了3。上述问题,但我仍然无法解决拘留和分类问题。在


Tags: 方法示例datetimenlp表达式时间分类语句