有没有人找到一种简单但有效的方法来从文本中提取日期引用?我已经对时间提取工具进行了大量搜索,但没有很多。有一些白皮书,但它似乎属于整个语义网事物的一个子集,但没有得到太多关注。
我只是在寻找80%有效的东西。无需捕获诸如“2009 年 1 月之后的月份”之类的内容,但基本的常见日期实体会很好。
我愿意接受所有建议,甚至是花哨的正则表达式。
开火!
(感谢 - 亨利)
有没有人找到一种简单但有效的方法来从文本中提取日期引用?我已经对时间提取工具进行了大量搜索,但没有很多。有一些白皮书,但它似乎属于整个语义网事物的一个子集,但没有得到太多关注。
我只是在寻找80%有效的东西。无需捕获诸如“2009 年 1 月之后的月份”之类的内容,但基本的常见日期实体会很好。
我愿意接受所有建议,甚至是花哨的正则表达式。
开火!
(感谢 - 亨利)
如果您的数据中的目标时态表达式只有有限的格式,请使用正则表达式和迭代方法来优化您的系统
否则,请使用斯坦福 NLP 工具包SUTime,这可能是一种过度杀戮,但绝对可以满足您的需求
我这样做的一种方法是只查找任何 4 个数字并将其转换为数字。如果该数字在您感兴趣的年份范围内,则您可能有一年可以使用。如果您对任何匹配的月份和日期感兴趣,您可以检查相邻的单词以查看它们是月份名称还是 1 到 31 之间的数字。我相信这将满足您 80% 的要求。
年份的正则表达式:[0-9]{4} - 您需要转换为数字,看看它是否在您认为有效的年份范围内。
几个月的正则表达式:每月的一月|一月|二月|二月...等
一个月中的几天的正则表达式:[0-9]{1,2} - 您需要转换为数字并查看它是否为 1-31
我在如何找到喂它的问题上画了一个空白,但是这个库将解析广泛的日期,并且可以用作“这是一个真实的日期”功能。(完全披露,我是那个库的作者)