我正在使用SUutime / stanford nlp,它做得很好,但我不知道如何读取常规的日期格式。
例如:
“我们是在1988年10月27日去参加活动的。”
它返回null
对于这样的表达:“我们在1988年10月27日去了活动”,它工作得很好。
有什么想法吗?
干杯
发布于 2014-05-27 17:04:42
我没有使用斯坦福时态软件包的经验,但它可能没有针对该时态格式进行调整。
我建议你看一下这个:http://cogcomp.cs.illinois.edu/page/software_view/IllinoisTemporalExtractor
它基本上是基于HeidelTime工作的:https://code.google.com/p/heideltime/
发布于 2014-05-28 18:52:44
好了,各位,我想我明白了。
在sutime/english.sutime.txt行319中,有几种用于US标记的模式:
{ ruleType:“时间”,模式:/yyyy-?mm-?dd-?‘t’‘HH(:?mm(:?ss(.,S{1,3})?(Z)?/}
{ ruleType:“时间”,模式: /yyyy-MM-dd/ }
{ ruleType:“时间”,模式:/‘T’‘HH(:?mm(:?ss(.,)?(Z)?/}
Tokenizer“有时会添加额外的斜杠
{ ruleType:“时间”,模式: /yyyy\?/MM\?/dd/ }
{ ruleType:“时间”,模式: /MM?\?/dd?\?/(yyyy|yy)/ }
{ ruleType:“时间”,模式: /MM?-dd?-(yyyy|yy)/ }
{ ruleType:“时间”,模式: /HH?:mm(:ss)?/ }
{ ruleType:“时间”,模式: /yyyy-MM/ }
只需要添加几个ruleTypes,就可以获得所需的订单
发布于 2016-02-22 05:47:04
我把这个放在这里,以防有人觉得有用。
问题是不支持某些时间格式。
查看sutime/english.sutime.txt文件,您将看到如下所示的行。TODO显示仍然可以添加其他格式。我添加了另外两个,如下所示:
# TODO: Support other timezone formats
{ ruleType: "time", pattern: /yyyy-?MM-?dd-?'T'HH(:?mm(:?ss([.,]S{1,3})?)?)?(Z)?/ }
{ ruleType: "time", pattern: /yyyy-MM-dd/ }
{ ruleType: "time", pattern: /'T'HH(:?mm(:?ss([.,](S{1,3}))?)?)?(Z)?/ }
#The entries below are newly added to support other time formats.
{ ruleType: "time", pattern: /dd\/MM\/yyyy/ }
{ ruleType: "time", pattern: /dd-MM-yyyy/ }新添加的条目使SUTime能够正确识别表单的时间格式:
2014年12月20日或2014年12月28日
这与OPs所需的表单相同。
https://stackoverflow.com/questions/23869531
复制相似问题