首页 > 解决方案 > 使用 nltk 和 pos 标记从文本中提取日期,python

问题描述

我正在尝试从格式为January 2017 to February 2018Jan 2018 to Feb 2018的文本中提取日期。我正在使用 nltk 并且我正在获取每个句子的 pos 标签。我想提取日期范围内的所有日期的元组,例如January 2017 to February 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 的邮资,用于 2018 年 1 月(NNP)(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

我如何执行这个逻辑?

标签: python-3.xtextnlpnltk

解决方案


推荐阅读