我想做的是解析原始自然文本并找到描述日期的所有短语。

我有一个相当大的语料库,所有标题为日期的引用:

I met him <date>yesterday</date>.
Roger Zelazny was born <date>in 1937</date>
He'll have a hell of a hangover <date>tomorrow morning</date>
.

我不想解释日期短语,只需找到它们。他们日期的事实是无关紧要的(在现实生活中,他们甚至没有日期,但我不想用细节发出你的细节),基本上它只是一个开放的可能值集。价值观本身的语法可以近似为无与伦比的,然而,手动构建并随着复杂性的增加,它越来越难以避免误报。

我知道这是一个长射击的一点,所以我不期待一个箱子外解决方案存在,但我可以使用哪种技术或研究?

有帮助吗?

解决方案

学术界和工业中使用的一般方法是基于条件随机字段。基本上,它是一个特殊的概率模型,首先用你标记的数据训练它,然后它可以在给定文本中标记某些类型的实体。

甚至可以尝试从斯坦福自然语言处理组中的一个系统: stanford命名实体识别器

下载工具时,注意有几个型号,您需要最后一个:

在斯坦福网上包括一个4级模型,用于Conll, 为MUC培训的7级模型,以及一部分培训的3级模型 用于这些类集的交叉点的数据集。

3级位置,人,组织

4级位置,人,组织,misc

7类时间,位置,组织,人,金钱,百分比,日期

更新。你实际上可以尝试这个工具在这里。选择muc.7class.distsim.crf.ser.gz分类器,并尝试具有日期的一些文本。例如,它似乎并没有识别“昨天”,但它识别出“20世纪”。最后,这是一个CRF训练的问题。


其他提示

牢记训练的CRF相当慢,需要人类注释的数据,所以自己这样做并不容易。阅读这个另一个例子人们如何在实践中做到 - 与目前的学术研究有关。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top