如何从文本中检索各种日期和时间值

Ide*_*ty1 5 java nlp date temporal gate

我想从一组字符串中检索日期和其他时间实体。可以这样做,而无需在JAVA中解析日期字符串,因为大多数解析器只能处理有限范围的输入模式。但是输入是手动输入,因此在这里是不明确的。

输入可以像:

9月12日| 3月中| 2013年9月12日

9月12日| 9月12日| 2013年

2013年9月13日| 9月12日| 12月12日

在Java中查找日期时,我经历了许多答案,但是大多数答案都没有处理如此庞大的输入模式。

我试过使用SimpleDateFormat类并使用一些parse()函数来检查解析函数是否中断,这意味着它不是日期。我试过使用,regex但不确定在这种情况下是否适合。我还使用ClearNLP来注释日期,但是它没有提供可靠的注释集。

获得这些值的最接近方法是使用Chain of responsibility如下所述的a 。是否有一个具有一组日期模式的库。我可以用那个吗?

Ide*_*ty1 1

是的!我终于提取了各种日期/时间值,它们可以通用为:

三月中旬| 上个月 | 9/11

具体为:

11/11/11 11:11:11

这最终发生是因为来自GATEJAPE的出色库

我在 JAPE 中创建了一个更宽松的注释规则,即“DateEnhanced”,以包含某些类型的日期,例如“9/11 或 11TH,2001 年 2 月”,并 在“DateEnhanced”注释的 RHS 上使用 Java 正则表达式的链接JAPE RULE,以过滤一些不需要的输出。