根据我的理解,NLP中的科学共识是在大型科学文献集(超过10亿份文件)中进行近似重复检测的最有效方法是在这里找到的方法:
http://infolab.stanford.edu/~ullman/mmds/ch3.pdf
可以简要描述:
a)文件的乱七八糟
b)缩小以获得带状疱疹的最小签名
c)局部敏感散列,以避免对所有签名进行成对相似性计算,而是仅关注桶内的对.
我准备在Map-Reduce或Spark中实现这个算法,但是因为我是该领域的新手(我已经阅读了大约两周的大规模近似重复检测)并且上面的内容发布于几年前,我想知道上述算法是否存在已知的局限性以及是否存在更有效的不同方法(提供更具吸引力的性能/复杂性权衡).
提前致谢!
最佳答案 关于第二步骤b)最近的发展显着加快了签名的计算:
> 2017年快速准确的最小密度的最佳致密化,
https://arxiv.org/abs/1703.04664
> Fast Similarity Sketching,2017,https://arxiv.org/abs/1704.04370
> SuperMinHash – 用于Jaccard相似性估计的新的Minwise Hashing算法,2017年,https://arxiv.org/abs/1706.05698