在长文本中挖掘时间线

数据挖掘 nlp 时间序列 数据挖掘 顺序模式挖掘
2022-02-14 06:01:01

我正在尝试检测品牌历史的时间表。对于我的具体情况,我相信这很容易,因为数据已经聚集。对于每篇维基百科文章,我可以找到围绕日期的句子。这是一个例子:

麦当劳公司是一家美国快餐公司,成立于 1940 年,由理查德和莫里斯麦当劳在美国加利福尼亚州圣贝纳迪诺经营。他们将自己的业务重新命名为汉堡摊位,后来将公司变成了特许经营权,并于 1953 年在亚利桑那州凤凰城的一个地点引入了 Golden Arches 标志。1955年,商人Ray Kroc加入公司担任特许代理

由此,很容易以编程方式将结果缩小到

麦当劳成立于 1940 年

1953 年推出的金色拱门标志

1955 年,商人 Ray Kroc 加入公司

如果文档是集群的,这似乎很容易。如果没有,我正在考虑一种基本算法来挖掘时间线或自然数)。所以我想在这里讨论现有的研究和我的直觉。

定义:

  1. 时间线:关于一个主题的一系列事件的逻辑顺序。
  2. 时间线中的日期是自然数,并且可以“相对无序”。
  3. 时间线是连续的(类似一个范围)并且不能相交。

让我们忽略 NLP 相关部分,并尝试在忽略主题(第一个定义)的自然数中找出时间线。

距离:初始时间线长度。它代表最小值。

例子:

步骤 A

1, 4, 2, 5,  3, 8, 7, 9, 20, 21, 23, 24, 1, 5, 7, 9

dist = 4
  • 变成:

1, 4, 2, 5/ 3, 8, 7, 9/ 20, 21, 23, 24/ 1, 5, 7, 9

  • 对每组(4 个元素)进行评分:评分很关键,但让我们想想冒泡排序分数,其中分数 = 1 / 数量交换操作。

    1,4,2,5 => 1/1 | 3,8,7,9 => 1/1

步骤 B

给集合打分的原因是确定一个集合代表一个时间线还是两个集合的组合代表一个时间线,来决定,我们对组合集合进行评分并除以二

1,4,2,5,3,8,7,9 => 5/2

我们得出结论1,4,2,53,8,7,9是两组,而1,4,2,5,3,8,7,9不是。

我们按顺序移动以处理下一组。

我说距离最小的原因是,在比较初始集合的评分之前,我们首先确定 4、5、6 个或更多元素的集合并对它们进行评分(步骤 A)),并且只取分数更高的单独集合(最小冒泡排序分数这里)。

有什么想法吗 ?

1个回答

在我看来,您的建议是有道理的,但是已经围绕这些时间表示问题进行了一些研究。我建议您检查该领域的最新技术,如果只是为了不重新发明轮子或错过重要案例。

我对此不是很了解,但我至少可以向您指出TimeML相关出版物当然,最近还有其他基于 TimeML 的作品,例如这个(免责声明:我认识作者)。