Мне нужно извлечь все доступные даты из PDF-файла, а затем проверить даты, являющиеся датой контракта.
Для этого сначала я хочу извлечь все даты в тексте, которые я извлек из PDF. Теперь Даты могут быть в различных форматах . Я попытался добавить все ароматы дат в приведенном ниже примере.
Я пытался использовать Datefinder Python module , чтобы извлечь все даты. Хотя он близок, но изначально выдает несколько мусорных дат, а также не соответствует первой дате .
import datefinder
dateContent = """ Test
I want to apply for leaves August, 11, 2017 I want to apply for leaves Aug, 23, 2017 I want to apply for leaves Aug, 21, 17
I want to apply for leaves August 20 2017
I want to apply for leaves August 30th, 2017 I want to apply for leaves August 31st 17
I want to apply for leaves 8/26/2017 I want to apply for leaves 8/27/17
I want to apply for leaves 28/8/2017 I want to apply for leaves 29/8/17 I want to apply for leaves 30/08/17
I want to apply for leaves 15 Jan 17 I want to apply for leaves 14 January 17
I want to apply for leaves 13 Jan 2017
I want to apply for leaves Jan 10 17 I want to apply for leaves Jan 11 2017 I want to apply for leaves January 12 2017
"""
matches = datefinder.find_dates(dateContent)
for match in matches:
print(match)
Ответ:
2019-08-05 00: 00: 00
2019-06-11 00: 00: 00
2017-06-05 00: 00: 00
2017-08-23 00: 00: 00
2017-08-21 00: 00: 00
2017-08-20 00: 00: 00
2017-08-30 00: 00: 00
2017-08-31 00: 00: 00
2017-08-26 00: 00: 00
2017-08-27 00: 00: 00
2017-08-28 00: 00: 00
2017-08-29 00: 00: 00
2017-08-30 00: 00: 00
2017-01-15 00: 00: 00
2017-01-14 00: 00: 00
2017-01-13 00: 00: 00
2017-01-10 00: 00: 00
2017-01-11 00: 00: 00
2017-01-12 00: 00: 00
Как видите, у меня есть 17 таких объектов Date, но я получаю 19. Проверяя снизу, последние 16 соответствуют правильно. Тогда есть эти первоначальные Мусор.
Как только я получу эти Даты правильно, я смогу перейти на какую-то модель N-Gram, чтобы проверить, какой контекст Даты относится к информации о контрактах.
Любая помощь в решении проблемы была бы отличной.