Извлечение даты из текста с использованием nltk и pos tagging python - PullRequest
0 голосов
/ 16 марта 2020

Я пытаюсь извлечь даты из текста в таких форматах, как с января 2017 года по февраль 2018 года или с января 2018 года по февраль 2018 года . Я использую nltk, и я получаю теги pos каждого предложения. Я хочу извлечь кортеж всех дат с датами в диапазоне дат, таких как январь 2017 г. по февраль 2018 . Как я могу получить соответствующую информацию. В настоящее время я использую сопоставление с шаблоном с регулярным выражением и извлечение предложений с набором слов в нем. Есть ли другой лучший подход и как я могу захватить необходимые кортежи.

Мой код:

res_lines = []
for res in parsed_resume:
    try:
        text = res['content']
        lines = [line.strip() for line in text.split("\n") if len(line) > 0]
        lines = [nltk.word_tokenize(line) for line in lines]
        lines = [nltk.pos_tag(line) for line in lines]
    except(AttributeError) as e:
        pass
    res_lines.append(lines)

res_lines содержит список всех токенизированных и pos-тегов предложений. Чтобы запечатлеть этот паттерн, я могу захватить пост-теги, где за NNP следует CD за январь (NNP) 2018 (CD).

Пример текста:

JOB DETAILS
FROM     TO COMPANY  JOB TITLE
AUGUST 2019 OCTOBER 2019    ALMANSOORI PRODUCTION SERVICE, OMAN.
JUNE  2019  JULY  2019  ALMANSOORI PRODUCTION SERVICE, KENYA.
JANUARY 2018    MAY  2019   ALMANSOORI PRODUCTION SERVICE, OMAN.
JUNE 2015   DECEMBER 2017   GAS AND OILFIELD SERVICES COMPANY(GOFSCO)
SEPTEMBER 2010  JUNE 2015   OIL TEST WELL SERVICE LIMITED

Как мне выполнить эту логику c

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...