从哈希查找表构造相似结构的算法

数据挖掘 算法 图表 命名实体识别
2022-03-17 15:46:42

我使用局部敏感散列构造了一个查找表,用于比较几乎相似的文档/记录。如果两条记录(列)在一行中具有相同的哈希值,则认为它们是相似的。例如,结构是

   R1 R2 R3 R4 R5
b1 a1 a2 a3 a2 a5 .....
b2 a2 a4 a1 a4 a4 ..... 
b3 a3 a5 a3 a7 a4....

由于每个乐队都拥有相似的记录,因此相似的记录集将是

S1 = {R2,R4}
S2 = {R2, R4, R5}
S3 = {R1,R3}

合并的相似结构将是

S1' = {R2,R4,R5}
S2' = {R1,R3}

我想跨越矩阵并映射所有相似结构,所以我有类似记录的桶。哈希表的维度很大,因此幼稚的方法不太可能奏效。我应该考虑哪些类型的算法来有效地实现这一目标?

编辑 1:更新了问题以澄清有关目标的更多信息

1个回答

您询问的算法非常简单。

您所做的是在某个图中寻找连接的组件,其中边由匹配的哈希值确定。您可以通过修改不相交集数据结构来实现这一点。

您的特定变化是,除了跟踪每个组件中的顶点之外,您还必须跟踪已为每个组件找到的 m(行数)组哈希值。