CoreNLP - NER 和 SUTime 只识别绝对日期

CoreNLP - NER and SUTime to only recognize absolute dates

我正在使用 CoreNLP 的命名实体识别注释器。

我的问题是我不想将相对日期识别为实体。 我的目标是将日期与事件联系起来

Some interesting dates are 18 Feb 1997, the 20th of july, the year 1992, 4 days from today and Monday the 13th.

在这个例子中,我想突出显示“18 Feb 1997”、“20th of july”和“1992”。 即使其中一些日期不完整,它们仍然可以用于搜索事件。

另一方面,“从今天开始的 4 天”和 "Monday the 13th" 对我来说并不有趣:原因是首先它是相对于当前日期(或文本编写的日期) ,而第二个太笼统了。

有没有简单的方法告诉 NER 注释器丢弃相对日期?

谢谢

我找到了以下解决方案,在我的案例中效果很好。

表示 Time/Date 命名实体的每个标记都有一个包含其规范化形式的注释字段。

我想要识别的绝对日期将具有遵循以下模式的规范化形式:

  • 1997 年 2 月 18 日 -> 1997/02/18
  • 7 月 20 日 -> XXXX/07/20
  • 1992 -> 1992

使用 REGEX 可以丢弃没有像这样的规范化形式的注释。

(\d{4}|X{4})((\/\d{2}(\/\d{2})?)?)