Извлечение дат из текста с помощью spaCy в отношении определенной даты

Я хочу извлечь даты, указанные в текстовом виде, как 'next week' или же 'February' из новостной статьи, учитывая дату публикации статьи. Т.е. если статья была опубликована 13 февраля 2019 г. и 'next week' было упомянуто в этой статье, я хочу, чтобы функция найти 20 февраля 2019 для 'next week', Кто-нибудь знает, как это сделать? Я думал сделать это с помощью средства поиска сущностей spaCy, а затем вручную написать функцию для каждого экземпляра 'DATE', но должно быть что-то лучшее.

Вот мой пример:

text = """Chancellor Angela Merkel and some of her ministers will
          discuss at a cabinet retreat next week ways to avert driving
          bans in major cities after Germany's top administrative court
          in February allowed local authorities to bar heavily polluting
          diesel cars."""
article_date = '2019-02-13'

Мой идеальный результат был бы следующим:

 ref_dates = {'next_week': '2019-02-20',
              'february': '2019-02-01'}

1 ответ

С SUTime из CoreNLP это можно сделать довольно легко: https://github.com/FraBle/python-sutime

Другие вопросы по тегам