【问题标题】:Spacy not Recognizing Date ProperlySpacy 无法正确识别日期
【发布时间】:2020-05-03 00:13:26
【问题描述】:
nlp = spacy.load('en_core_web_md')
text =" Activity Date: 12/18/2019 06:00:00AM CST "
doc  = nlp(text)
for entity in doc.ents:
    print(entity.label_+" "+ entity.text)

这里 spacy 无法提取日期时间。我也试过'en'和'en_core_web_lg'。

当我们将日期的格式更改为(DD/MM/YYYY)时,我也遇到了一种情况。它可以识别日期。

text = " 18/12/2019"
doc  = nlp(text)
for entity in doc.ents:
    print(entity.label_+" "+ entity.text)

有没有人遇到过同样的问题。

【问题讨论】:

    标签: python machine-learning nlp


    【解决方案1】:

    对于我的特定用例,我使用 dateparser 解决了它。 你可以在这里查看Dateparser

    【讨论】:

      【解决方案2】:

      Spacy 使用概率模型来尝试识别自然语言中的命名实体。这意味着它给出了命名实体属于某种类型(例如日期、个人或组织)的概率。

      您可以通过两种方式影响日期被正确识别的概率: 确保日期周围的文本中包含更多上下文线索,即: The activity occurred on 12/18/2019 at 06:00:00AM CST

      或者,您也可以在数据集上训练 Spacy 概率模型,将其输入到需要识别日期的位置。更多信息在这里: https://spacy.io/usage/training

      但是,也许您的用例更适合正则表达式方法甚至日期时间导入以进行日期识别?这已经完成了,例如检查: match dates using python regular expressions

      【讨论】:

        猜你喜欢
        • 2020-04-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-25
        • 2023-04-09
        相关资源
        最近更新 更多