我们正在使用Microsoft (LUIS)的语言理解序列化,它允许我们从用户输入中提取日期和时间。
示例字符串
"my vacation is on 2019-10-01 at 3pm"提取到一个Timex3对象:2019-10-01T03:00pm,这很好,但是如果datetime没有被完全识别,timex就有它自己的格式,我不知道如何解析。
Timex支持复杂的数据,例如:
XXXX-05-02 - May 2nd, any year
XXXX-05-02,XXXX-05-05,P3D - May 2nd to 5th这种格式很好,但我不知道如何解析所有可能的组合。我试着让用户的意见来安排提醒。所以,对于XXXX-05-02,我想在5月2日每年给他们发一次提醒。大多数调度程序都支持CRON格式,所以理想情况下,我希望能够将TIMEX转换为CRON格式,但我找不到任何关于如何做到这一点的信息。唯一可用的文档是: Timex3规范:
http://www.timeml.org/tempeval2/tempeval2-trial/guidelines/timex3guidelines-072009.pdf和Microsoft文章:https://learn.microsoft.com/en-us/azure/cognitive-services/luis/luis-reference-prebuilt-datetimev2
发布于 2019-01-21 19:10:00
因此,在上,在C#端,有一个示例,其中包含了自述文件中关于如何处理TIMEX 这里的一些解释。
在包含TIMEX表达式库的地方,直接访问识别器repo,您还可以找到如何在JavaScript ( 这里 )中使用正则化器库来处理TIMEX的示例。
上面的链接中给出的示例并不转换为CRON,但允许您执行以下操作(如C#示例自述):
发布于 2019-10-24 08:48:48
如果我理解正确,您想要将规范化的timex值转换为cron格式吗?
理想的情况是找到规范化的值模式并提取要以您的格式解析的信息。在TIMEX3指南中,提到了四种类型的TIMEX类型,它们有其特定的规范化值模式。
在某些情况下,它们具有指定的值,如"XXXX“,而不是全年。然后,根据上下文或至少从当前参考日期开始,可以将该值转换为某些绝对值。
https://stackoverflow.com/questions/54272088
复制相似问题