0

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

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

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

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

这似乎是一件合理的事情吗?具体来说,累加器可能有几 GB 大是一个问题吗?

4

0 回答 0