在句子中分类日期

数据挖掘 机器学习 Python 文本挖掘
2022-02-11 20:25:08

假设我有一个这样的句子:

嗨,孩子们怎么样。我下周五要去洛杉矶,下周一回来。

如果今天的日期是 10 月 16 日(星期三),那么下周五就是 10 月 25 日。后面的句子说这个人将在下周一回来。我们知道他们指的是下周五之后的周一,即 10 月 28 日。如果我使用 dateutil 库,那么它将对星期五和星期一进行分类,但它不会考虑星期五之前的下一个或我们所说的下一个星期一。

我正在考虑创建一个解决方案,将句子分成单词,然后检查实际日期之前的内容。但是,我不仅想捕捉这种类型的时间副词,还想捕捉其他时间副词。例如,第二天、本周四、从今天起 2 天等。如何构建一个框架来检测这些类型的日期文本,然后打印出它们各自的日期?

2个回答

如果你有足够的数据来训练机器学习模型,我相信 LSTM 就是你所需要的。长短期记忆 ( LSTM ) 是一种用于深度学习领域的人工循环神经网络 (RNN) 架构。

LSTM 网络非常适合基于时间序列数据进行分类、处理和预测,因为时间序列中的重要事件之间可能存在未知持续时间的滞后。

最初,您可以使用Pandas LSTM库,然后使用 Python Tensorflow从头开始设计它。查看以下链接:

维基百科

Python中的LSTM教程

只有当你有足够的数据量时,LSTM才会在这里工作。

您还可以寻找构建一个解析器,它将在句子中查找与日期相关的单词,例如天数,然后与前一个和下一个单词关联以找出确切的关系。解析器解决方案会更容易,因为日期名称中的股票数量非常有限。