对文章进行简单的相似度计算以及去重的两类方法(NLP)以及两类方法的优劣比较

文本相似度比较有两类方法
1.基于文本(如lda主题向量)
2.基于句子(如bert句向量)

第一种方法,基于文本:
就是将文本编码成一个向量,计算相似度

第二张方法,基于句子:
文本中的句子都编码成向量,我们将最多相似句子的文本当成最相似的文本

个人对于两种方法的理解与比较:
第一种方法缺点:
1.文本编码目前方法都不太好
第二种方法缺点:
1.没有将文本当作整体进行比较,如果两个相似文本的信息分布在不同句子中没办法找到,并且没有考虑到整体的含义
2.相似文本可能只有几组相似句子,丢失掉了其他句子的信息,如果阈值为0.7,A一个句子0.75相似度,B三个句子0.6相似度,只能找到A,但其实B更加相似。如果降低阈值,那么可能引入太多不相似的东西。
3.没有考虑待查文本的结构,即很短的文本,可以匹配到很长的文本,但是长文本的其他句子可能不相同,当然也可能相同

我理解第二种方法的应用场景:
当语料足够大时,并且数据库中一定有召回时,并且文本长度相近时。例如人脸识别,或者相近长度文本聚类而不是相似匹配。包括推荐系统这些。
(1大数据, 2有召回, 3同长度)
因为考虑到缺点2,肯定会有B三个句子0.9的情况,而且可能很多,我只找到top,这样就不会忽略多个句子低于阈值但更相似的情况。(1大数据,2有召回)
考虑到缺点3,如果是人脸识别,长度都相同,就不需要考虑这种情况(3同长度)
(缺点1没有办法,但只要足够大,不能召回一些结果就忽略了,识别要有召回的就行。)

总结,第二种方法在大数据库中的同长度识别任务~更好的应用~

如果对你的理解有帮助,或者增加奇怪的知识了,希望可以点赞

你可能感兴趣的:(人工智能)