我正在使用 SUutime / stanford nlp,它做得很好,但我不知道如何阅读常规日期格式。
例如:
“我们于 1988 年 10 月 27 日参加了活动”
它返回空
对于像这样的表达:“我们于 1988 年 10 月 27 日参加了活动”,它工作得很好
有任何想法吗?
干杯
我正在使用 SUutime / stanford nlp,它做得很好,但我不知道如何阅读常规日期格式。
例如:
“我们于 1988 年 10 月 27 日参加了活动”
它返回空
对于像这样的表达:“我们于 1988 年 10 月 27 日参加了活动”,它工作得很好
有任何想法吗?
干杯
我没有使用斯坦福时间包的经验,但它可能没有针对那种时间格式进行调整。
我建议你看看是这样的: http ://cogcomp.cs.illinois.edu/page/software_view/IllinoisTemporalExtractor
它基本上基于 HeidelTime 工作: https ://code.google.com/p/heideltime/
好的大家,我想我明白了。
在 sutime/english.sutime.txt 第 319 行中,美国标记的模式很少:
{ 规则类型:“时间”,模式:/yyyy-?MM-?dd-?'T'HH(:?mm(:?ss([.,]S{1,3})?)?)?(Z )?/ }
{ 规则类型:“时间”,模式:/yyyy-MM-dd/ }
{ 规则类型:“时间”,模式:/'T'HH(:?mm(:?ss(.,)?)? )?(Z)?/ }
# Tokenizer "有时会添加额外的斜线
{ ruleType: "time", pattern: /yyyy\?/MM\?/dd/ }
{ ruleType: "time", pattern: /MM?\? /dd?\?/(yyyy|yy)/ }
{ 规则类型:“时间”,模式:/MM?-dd?-(yyyy|yy)/ }
{ 规则类型:“时间”,模式:/HH?:mm (:ss)?/ }
{ 规则类型:“时间”,模式:/yyyy-MM/ }
只需要添加一些规则类型,就可以得到所需的顺序
我会把它放在这里,以防有人发现它有用。
问题是不支持某些时间格式。
查看 sutime/english.sutime.txt 文件,您会看到如下所示的一行。那里的 TODO 显示仍然可以添加其他格式。我添加了另外 2 个,如下所示:
# 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 能够正确识别表单的时间格式:
20-12-2014 或 28/12/2014
这与 OP 所需的表格相同。