是否有适合Java的部分功能的现代自然语言日期解析器?

时间:2011-01-11 20:31:46

标签: java datetime nlp

我有两个问题,我想知道我是否可以一次解决这些问题。我正在尝试用Java(好吧,Scala)进行自然语言日期解析,并且一直在使用JChronic,这是优秀的慢性RubyGem的端口。

但有两个问题:

  1. JChronic使用的是java.util.Calendar而不是Joda-Time,我认为Joda-Time是或者应该是JDK日期库的替代品是非常合理的。如果Joda-Time没有取代现有的日期库,那么JSR 310肯定会在Oracle完成诉讼并恢复维护Java之后的某个时候。

  2. JChronic不处理一般日期时间解析。如果我告诉它解析“下周四下午4点”或类似的东西,它会优雅地处理它并给我一个正确时间的Calendar对象。但是,如果我只是说“2011”或“1963年1月”或类似的东西,它就无法处理一般日期范围或Joda-Time说话中的Partials

  3. 其中第二个比第一个更令人担忧。我试图从网页日期中提取有关文档(书籍,报纸文章,网页等)的日期,其中发布日期和版权日期等内容很重要。

    我目前感觉自己已经辞去了自己的写作,或者可能将老化的JChronic移植到使用Joda-Time并添加对partials的支持。是否有任何替代解决方案至少可以满足(2)和(1)?

1 个答案:

答案 0 :(得分:0)

您可能想要查看SUTime这是一个时态解析器。他们的示例代码和online demo显示了对partials的支持。 SUTime.Temporal个对象应该能够为您提供相应的Joda-Time对象。