我一直在尝试使用多种NLP文本解析器,但发现大部分甚至无法完成实际文本中的一些最简单的任务(并没有预处理来展示系统有多“强大”)。以下是一个例子:
From Sundays until Thursdays every week
我还没有找到一个能够正确解析这个的解析器。我尝试了很多,包括斯坦福的sutime。有人能推荐一下可以处理自然文本日期的软件吗?
我一直在尝试使用多种NLP文本解析器,但发现大部分甚至无法完成实际文本中的一些最简单的任务(并没有预处理来展示系统有多“强大”)。以下是一个例子:
From Sundays until Thursdays every week
我还没有找到一个能够正确解析这个的解析器。我尝试了很多,包括斯坦福的sutime。有人能推荐一下可以处理自然文本日期的软件吗?
我在寻找时也没有找到一个,所以我自己写了一个。它是我的.NET自然语言引擎的一部分。
当你输入这个短语时,演示显示的是下周而不是每周(它也可以处理无限制),以下是演示:
一些评论:
1)处理所有可能的英语语言时间表达是一个巨大的任务。 我已经致力于解决这个问题多年,以找到一种清晰的方式来表示时间表达式以及分析英语时间表达式所需的许多规则。
2)除了找到表示典型日历日期时间和此类日期时间范围的方法外,您还需要找到表示无限序列(例如“每个星期一”)和半无限序列(例如“在......之前的每个工作日”)的方法。 然后您还需要在其上添加代数运算以组合时间表达式。
3)时间表达式在英语中常常存在歧义,并且不同文化背景下的解释可能不同。
4)结果通常必须根据上下文或对话历史进行解释。“谁在星期一打电话?”与“提醒我在星期一”不同,又与“显示我星期一的统计数据”不同。