python - Spacy 无法正确识别日期

标签 python machine-learning nlp

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/

相关文章:

python - 如何使用 epoll 和 python 3.1 进行异步 http 请求

Python 请求向 JSON 文件添加 token

python - 如何使用 PyCall 在 Julia 中使用内置的 Python read() 函数?

java - 与 stanford corenlp 的依赖关系崩溃

python - 未找到 PyVisa 二进制库

python - 当我提供一维列表作为输入时,为什么 Keras 会崩溃?

python - 使用 coco 数据格式 json 文件进行交叉验证

machine-learning - 如何防止caffe中特定层的向后计算

algorithm - 使用自然语言处理识别项目列表

java - 在 "proof-of-concept mode"中使用 Apache UIMA ConceptMapper