事件关联和过滤 – 如何开始?

我有一个异步的事件流,每个事件包含以下信息 –

  • 机构(我的解决方案可能服务的多个机构之一)
  • 代理(机构中的多个代理之一)
  • 服务对象(由一个或多个机构服务的个人/组织)
  • 日期+时间
  • 类别数据(来自固定但庞大的标签集的标签)

我需要做的是 –

  1. 根据服务对象、日期+时间和类别数据关联事件,并创建一个新的综合事件。例如:

    事件 #0021: { 机构=’XYZ’, 代理=’ABC’, 服务对象=’MMN’, 日期+时间=’12-03-2011/11:03:37′, 类别数据=’missed-delivery,no-repeat,untracable,orphan’ }

    事件 #0193: { 机构=’KLM’, 代理=’DAY’, 服务对象=’MMN’, 日期+时间=’12-03-2011/12:32:21′, 类别数据=’missed-delivery,orphan,lost’ }

    事件 #1217: { 机构=’KLM’, 代理=’CARE’, 服务对象=’MMN’, 日期+时间=’12-03-2011/18:50:45′, 类别数据=’escalated’ }

    在这里,我发现有三个事件在时间上相隔较远(超过7小时),但它们属于同一个服务对象(MMN),发生在一定的时间窗口内(例如24小时内),并且具有匹配或相关的类别数据。

  2. 最终创建一个综合(新)事件,该事件可以代表得出的推断。

  3. 能够基于特定类别数据标签(例如 missed-delivery)在一段时间内,按机构、代理、服务对象生成报告。这些报告可以基于原始/输入事件,或综合(推断)事件生成。

  4. 虽然目前这不是要求,但未来很可能需要在类别数据中出现的“标签”能够自动增长。因此,不确定是否应该将其视为非结构化数据处理。

  5. 虽然这也不是当前的直接需求,但在未来可能需要识别事件发生的趋势/模式(即事件1导致事件2导致事件3)。

事件到达率可能非常高… 每分钟可能有数千个事件。甚至更多。而且,我需要将原始/综合事件归档一段时间(一个月左右)。

我的解决方案需要基于开源软件组件(优先)。目前进行的一些研究指向复杂事件处理(CEP)、贝叶斯网络/分类、预测分析的方向。

希望能得到一些关于应采取的方法的建议。我更倾向于选择一条能够满足我大部分目标,同时难度/时间最小的路径,或者换句话说,“学习AI”或“正式统计方法”不是我的短期目标 🙂


回答:

Mike,

你有没有考虑过使用像Esper/Nesper这样的工具,看看它们是否能满足你的需求?我自己也研究过类似的工具——特别是在Erlang上(查看我的帖子这里),你会在那找到一些有用的答案。

IC

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注