1

我想实现一个可以准确识别相似日志文件的相似函数。到目前为止,我无法为我的问题找到合适的相似度指标。

我有几台电脑(大约 300 台电脑)生成的日志文件,其中每个文件都包含每天访问的 IP 地址。我想通过每天比较访问的 IP 地址来比较相似度。也就是说,我想比较 PC1 的 day1 和 PC2 的 day1 等等......

例如(假设每个日志文件仅包含 4 天的数据,如果在特定日期没有访问任何内容,则该行留空):

PC1:
day1: 155.69.23.11, 155.34.45.5
day2: 165.34.5.67
day3:             //blank - nothing visited
day4: 155.35.45.55

PC2: 
day1: 155.34.45.5, 155.34.45.6
day2: 165.34.5.67
day3: 155.35.45.55
day4:              //blank - nothing visited

我在 PC1 和 PC2 之间的相似度得分是:

Total similarity = similarity(day1) + similarity(day2) + similarity(day3)

对于这个问题,我可以使用 Jaccard 相似度指数(将每天视为一组 IP 地址)。但我不确定这是否是一个合适的指标or,在​​为这个问题应用 Jaccard 索引时是否存在任何技术缺陷(或需要满足的条件)。

在查找类似文档时,我看到有人将 Jaccard 索引应用于整个文档,但这不是我想要的。在我的例子中,我想对每一天应用 Jaccard 索引并将它们相加以找到最终的相似度值。这种方法在技术上合理吗?

谢谢你。

Update:

Objective of this study- 我们有大约 1000 个 IP 地址,我们想要监控每台 PC 由同一个人使用的浏览(浏览这 1000 个 IP 地址)模式。这项研究为期 5 个工作日,我们会记录访问的 IP 地址。如果这些 IP 地址中的任何一个在星期一被访问,它的权重最高,而如果它在星期五被访问,它的权重最低。周二、周三和周四的权重相应地进行了标准化。这就是为什么我对日常相似性更感兴趣的原因。而我的最终目标是找到具有相似浏览模式的人(考虑所有 5 天)。这项研究有点奇怪,但我是为一个项目做的。

4

1 回答 1

1

好吧,在数学上(因此从编程的角度来看),您可以这样做

但是,结果可能是也可能不是您感兴趣的

但我们对此无能为力,因为我们不知道您的目标(您想发现什么 - 访问 Facebook 和 Google 的人?这可能会主导您的结果......)我们也无法洞察您的数据。

使用原始 IP 地址也忽略了某些地址本质上是等效的这一事实。(例如 173.194.70.113 和 173.194.70.139 和 173.194.70.102 都是 google.com,即使在同一个数据中心)。同时,一个地址可以服务数百万个完全不同的网页(例如http://www.websitelooker.com/ip/81.169.145.160——德国大型主机的一个IP)

所以也许你首先需要找出你真正想要实现的目标。然后进行特征提取以捕获您需要的内容,然后定义适当的相似度函数。

于 2012-09-20T15:31:42.883 回答