Apache OpenNLP中的日期问题

时间:2014-09-01 10:48:04

标签: apache text-mining opennlp data-extraction

最近帮助我学习NLP的项目我正在处理一些文件,每个文件都包含一个日期。我希望能够做的是读取非结构化数据并识别其中的日期或日期,将其转换为数字格式并可能将其设置为文档元数据。 (注意:由于使用的文档都是伪信息,因此读入的文件的实际元数据是错误的。)

最近,我一直试图将OpenNLP与Lucene结合使用,并且它在某种程度上起作用。 但是,如果日期写为" 1990年1月13日"或者" 2010/01/05",OpenNLP仅识别" 1990年1月"和" 2010"分别,但不是整个日期。其他日期格式也可能有问题,我还没有尝试过。虽然我认识到OpenNLP是基于统计学而不是基于格式的,但我无法帮助,但却感觉到我犯了一个基本错误。

我犯了错误吗?如果没有,是否有一种简单的方法来纠正这个问题?

据我所知,我可以根据训练数据集构建自己训练有素的模型。 Apache OpenNLP是免费提供的,所以我可以扩展它吗?还有其他免费提供的吗?

有更好的方法吗?我听说过Apache UIMA,我去OpenNLP的主要原因是由于Manning在Taming Text中的提及。我应该注意,日期的提取是项目的第一阶段,其他数据也将在稍后提取。

非常感谢您的回应。

1 个答案:

答案 0 :(得分:2)

我不是OpenNLP的专家,但我知道你要解决的问题叫做时间表达式提取(因为我在这个领域做研究:P)。如今,有一些系统可以极大地帮助你提取和明确地表示这些表达的时间意义。

以下是一些参考资料:

  1. ManTIME,online demosoftware
  2. HeidelTime,online demosoftware
  3. SUTime,online demosoftware
  4. 如果您想要更广泛地了解该领域,请查看最后一次时间信息提取挑战的结果(TempEval-3, Task A)。

    我希望这会有所帮助。 :)