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)
有人遇到过同样的问题吗
最佳答案
Spacy 采用概率模型来尝试识别自然语言中的命名实体。这意味着它给出了命名实体属于某种类型(例如日期、个人或组织)的概率。
您可以通过两种方式影响正确识别日期的概率:
确保日期周围的文本中包含更多上下文线索,即:
该事件发生于 2019 年 12 月 18 日上午 06:00:00 CST
或者,您可以在数据集上训练 Spacy 概率模型,将其提供给需要识别日期的地方。更多信息请点击这里: https://spacy.io/usage/training
但是,也许您的用例更适合正则表达式方法,甚至日期时间导入来进行日期识别?之前已经完成过此操作,请检查例如: match dates using python regular expressions
关于python - Spacy 无法正确识别日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59764784/