比较一篇文章和其它文章的相似度,可以拆解为以下几个步骤。
1、定义:如何认定两篇文章具有相似性?
a)有若干相同的单词或者关键词主题词。
b)有若干相同的句子。
c)有若干相同的段落。
2、设计算法和系数:需要根据测试数据和经验来设定计算公式,首先我们可以假设。
a)假设主题词的相似度占整篇文章相似度的比重为20%,即0.2 *a
b)假设句子相似度占整篇文章相似度的比重为50%,即0.5*b
c)假设段落的相似度占整篇文章相似度的比重为30%,即0.3*c
3、整篇文章的相似度为0.2*a + 0.5*b +0.3*c,剩下的就是该如何计算a、b、c的问题了。
a)主题词的相似度,可以根据主题词在两篇文章中的命中次数比例来计算
b)句子相似度,可以通过标点符号进行断句,计算出两篇文章中相同句子的数量和所有句子的数量比例来计算
c)段落的相似度,可以通过动态规划算法,具体参见《算法导论》动态规划部分计算出两篇文章相同字符串的最大长度来计算。