CoreNLP - NER и SUTime для распознавания только абсолютных дат

Я работаю с аннотатором распознавания именованных объектов CoreNLP.

Моя проблема в том, что я хотел бы не признавать в качестве сущностей относительные даты. Моя цель - связать даты с событиями

Некоторые интересные даты - 18 февраля 1997 года, 20 июля 1992 года, 4 дня с сегодняшнего дня и понедельник 13-го.

В этом примере я хотел бы выделить "18 февраля 1997", "20 июля" и "1992". Даже если некоторые из этих дат не являются полными, их все равно можно использовать для поиска событий.

С другой стороны, "4 дня с сегодняшнего дня" и "Понедельник, 13-е" для меня не интересны: причина в том, что первое относится к текущей дате (или дате написания текста), а второе слишком общий.

Есть ли простой способ сообщить аннотатору NER об отмене относительных дат?

Спасибо

1 ответ

Решение

Я нашел следующее решение, которое очень хорошо работает в моем случае.

Каждый токен, представляющий именованный объект времени / даты, имеет поле аннотации, содержащее его нормализованную форму.

Абсолютные даты, которые я хочу узнать, будут иметь нормализованную форму, которая соответствует следующей схеме:

  • 18 февраля 1997 -> 1997/02/18
  • 20 июля -> XXXX / 07/20
  • 1992 -> 1992

Используя REGEX, можно отбросить аннотации, которые не имеют такой нормализованной формы.

(\d{4}|X{4})((\/\d{2}(\/\d{2})?)?)
Другие вопросы по тегам