使用Apache Beam过滤类似的文本

时间:2018-03-18 12:19:20

标签: apache-beam plagiarism-detection minhash

我有很多短文本,我希望过滤掉彼此非常相似的文本(或完全相同的文本)。我想使用在Google Cloud Dataflow上运行的Apache Beam来实现这一目标。

我希望使用MinHash LSH算法来确定两个文本的相似度是否超过某个阈值。

MinHash LSH算法生成一种哈希表形式(概率地)找到相似的句子。我希望这个哈希表对于一百万个文本大约为1 Gb,并且与文本数量呈线性增长。

我看到将此用例映射到Apache Beam的编程模型的唯一方法是使用Combine转换为所有项生成哈希表(累加器将是哈希表;我能够实现“合并累加器”)然后将其用作ParDo的侧输入,我在其中查找哈希表中的每个文本以查看它是否与另一个文本冲突。

这看起来像是一件合理的事吗?具体来说,累加器可能是几千兆字节的问题吗?

0 个答案:

没有答案