从文本语料库中提取与日期关联的日期和事件

时间:2015-02-10 17:25:21

标签: python machine-learning nlp nltk

我目前正在运行pyhton代码,该代码遍历文本文件的每一行并解析日期行。如果确实在行中找到了日期,则该行将复制到新的输出文件中。 我在100个文档上重复这个过程,最后我得到一个输出文件,其中包含日期类似于2013年8月,2014年8月,01-11-19等等的行。"

问题在于,它没有提供与某些日期相关的事件的准确信息。

这个问题有更优雅的方法吗? 以下是我试图提取2010年12月日期事件的文件

  根据当地一家杂志昨天发表的一项研究,台北是所有主要城市和县中最具竞争力的地方。   在全球视野杂志的研究中,台北分别在经济,就业,教育,环境保护,公共安全,医疗和地方财政等各个类别中排名第一。   从整体竞争力来看,台北是第一,其次是新竹市,嘉义市和新北市。   Global View评论说,在中央政府大力资助的六十多年的特权发展中,台北在可预见的未来仍将不受挑战。   台北和新台北是全国五个内阁级别的特殊城市中的两个,但其他三个 - 台中,台南和高雄 - 虽然拥有的资源比大多数其他地方政府更多,但未能获得良好的评分。   台中排名第七,台南第12和高雄在所有19个地方政府中排名第15。   2010年12月,三个特殊城市通过合并邻近县而发展到现在的规模。但Global View表示,合并削弱了他们的竞争力。   但就经济竞争力而言,所有五个特殊城市都排在前十位。   底部是农业屏东县。但该杂志说,另一个农业县台东进入前十,占据第八位,主要是因为其犯罪率低。

正如您所看到的,当我解析包含2010年12月的行时,我真的没有得到任何有意义的信息 但实际上有一个重大事件是合并了不同的县。 这没有被捕获。因此我需要知道是否有任何算法/库可以帮助我捕获在特定日期发生的事件

由于

1 个答案:

答案 0 :(得分:8)

我建议你试试用于python的NLTK库。你可以在这里得到它,这里也是它的一些基本手册: http://www.nltk.org/book/ch07.html

它有大量用于从文本中提取含义的算法。它还有一些模块可以让你:

1)提取实体 2)提取日期 3)建立提取的实体和日期之间的关系。

我建议你注意NLTK库中的timex.py模块: https://github.com/nltk/nltk_contrib/blob/master/nltk_contrib/timex.py

它主要用于标记文本中的日期和时间。

以下是提取实体关系的指南: http://www.nltk.org/howto/relextract.html

所以我相信你可以从你的文本中提取有趣的实体(比如你提到的事件),你可以提取日期作为另一组实体,并使用NLTK你可以建立这些提取的实体之间的关系。因此,你应该得到你需要的东西 - 发生的事情。