0%

文档去重

文档去重

文档去重是在针对预训练语料中非常重要的一个步骤,重复的文档在预训练过程中会降低模型的性能。文档去重的方法其实有很多,比如模糊去重SimHashMinHashKSentenceKShingle等算法去重,通过计算计算最长子串去重也同样适用。


这里我们不过多赘述相关算法的定义与推理,详情可以观看该博客

我们直接给出多种去重算法的对比结论:

算法 优缺点
KShingle Jaccard similarity不适合较长的文本,文档的特征集合比较大,会遇到时间和空间的双重瓶颈。
MinHash MinHash利用hash加随机的方式减少文档特征集合的大小,有损但是近似Jaccard similarity的估计,同时与LSH算法结合能够大大提高效率。
SimHash SimHash文本较长的情况,准确率较高,针对短文本的准确率不能保证。
KSentence KSentence准确率较高,召回率低于MinHash与SimHash,算法实现简单,效率高同时也可以并行化,但是对抄袭后部分修改的文本识别度较低。

这里我们主推MinHash也是参考LLaMA与Falcon的操作,同时我们实现了SimHash与MinHash的组合去重,能够得到更好的效果,但是带来的牺牲可能就是时间的问题。

代码实现

点击文档