4.2.4 实验设计及结果分析
(1)实验目的
下述实验的目的是验证上述所提出的文本相似度计算方法的有效性,且探讨该计算方法与相关参数的关系。
(2)实验方案
此处使用搜狗实验室提供的文本分类语料库(搜狗实验室,2013)。从其中选择一篇长度适中的文档,长度的计算规则为:一个中文字符长度计1,如“文本”的长度为2;一个英文或者数字字符长度计1,如“Web2012”的长度计7。此外,为了在实际应用中避免回车换行符、空格等的干扰,往往会去掉这些符号,即这些符号不会计入长度。经过这些处理后,本实验所选择的文档长度为1889。在该文档的基础上,用其他与该文档不相关的文字作适当比例的替换,从而得到与原文档具有5%、10%……95%重复比例的其他文档,共计20个文档。替换位置从文档后部开始,即经替换所得到的文档与原文档的重复位置会出现在文档的前部。
上述计算方法涉及的典型因素有:随机选择集合元素的总数目、选取元素的不同长度数、不同长度下所选择的元素数目、重复内容的位置特性、不同权重评价函数等,由于实验过程中涉及的因素比较多,限于篇幅,笔者不能一一讨论,下面仅通过两个实验来演示分析上述计算方法在不同参数下的效果。其中实验一仅计算在单一元素长度下的相似度值,通过变换元素长度或元素的数目来获取不同条件下的相似度;实验二则计算在多种元素长度下的相似度值。
实验一的过程如下:对所得到的不同重复比例的20个文档,分别从集合中随机选择不同长度(长度取值有2、3……10)的集合元素,对每种长度又分别取10、30、50、70、90个元素,并使用上述相似度评价函数来计算各个文档与参考文档的相似度,权重评价函数均选择为x,其中x为集合元素长度。同时,由于在使用上述相似度评价函数计算相似度的过程中的元素挑取的随机性,结果也具有一定的随机性。为了减弱这种随机作用而凸显其规律性,上述计算过程中将取10次相似度的平均值作为最终相似度。实际应用中可以根据精度需要来设置是否需要循环以及循环的次数。下文如无特别交代,则都是取10次循环的平均值。
实验二的过程如下:对所得到的不同重复比例的20个文档,每次从其中同时随机取长度为3、4、5的三种元素,共计算5次相似度值,每次随机取不同长度元素的数目分别为10、20、30、40。与实验一不同,本实验不再通过循环来取平均值。
(3)相似度与集合元素长度、集合元素个数的关系分析
从实验数据中选取重复率为60%的数据,得到如图4-4所示结果。

图4-4 重复率为60%时的相似度-元素长度关系
笔者将对图4-4从下面几个方面分析:①对比上图中的6条折线我们可以看到,随着元素个数的增加,相似度曲线趋于平稳,例如70、90所对应的折线明显比10所对应的折线起伏更小。这主要是因为,随着随机产生元素个数的增加,由随机而导致的不稳定性将被弱化,从而使得最终结果趋于平稳。然而需要提及的是,这种规律对于单次运算结果而言,并不一定成立。②对比上图中横坐标为2、3……10处对应的纵坐标值(即相似度值)我们可以发现,当横坐标为2,即元素长度为2时,相似度值几乎都在重复率0.6以上。这也就意味着,当只取单一长度的元素来计算相似度时,长度为2时所得到的相似度值往往比实际的相似度值稍大。这是因为,对于中文而言,长度为2的词组占据了绝大多数(毛伟等,2006),也就是说,即使在主题上毫不相同的两个文本块,即使它们没有一句相同的句子,也可能包含相同的2-Gram,这就导致了两个文本块在计算过程中相似度偏大的情况,即2-Gram的辨识能力不佳。但需要注意的是,该条件下的相似度值并不一定总是偏大,大量的实验表明,偶尔甚至会出现较实际的相似度偏小的情况。③对比上图中横坐标为2、3……10处对应的纵坐标值(即相似度值)可以发现,随着横坐标值的增大,相似度值总体呈减小趋势。其中该减小趋势主要体现在2与3之间,而在3及其后的折线则并不遵从明显的升降规律,这是因为汉语中固定的三元及更多元的结构很少所致。④当权重评价函数取为x(其中x为元素长度)时,相似度值基本与重复率保持一致。然而需要注意的是,该规律与重复率及生成的元素数目紧密相关,当重复率很低时,常常出现相似度值很低的情况;而当生成的元素数目很小时,则有可能出现严重偏离(偏大或偏小)正常值的情况。⑤权重评价函数的选择并不是唯一的,但应该遵循辨识能力强的元素具有较大的权重这一基本原则。本实验过程中,取权重评价函数为x,可以保证长度较长的元素比长度较短的元素的权值大。当权重评价函数取
(其中x为元素长度)时,上述规律依然成立。在实际应用中,具体应该选用何种权重评价函数,应视具体情况而定。⑥相似度与重复率之间并不一定总呈相等的关系。在实际应用过程中,可以根据若干训练语料进行训练得到相似度与重复率之间的对应关系,此后对测试语料进行计算,则可以根据计算所得的相似度值来推断出其重复率。
需要指出的是,此处仅给出了重复率为60%时的结果,事实上,上述规律在其他重复率的情况下依然成立。不过在重复率比较低的情况下,例如重复率在50%以下时,有时会出现相似度值动荡幅度较大的情况;该情况在重复率为5%、10%时尤为明显。
此外还需要指出的是,根据单字来判断,误差太大,即使是完全不同主题的文档也可能存在相当数量的相同字符,根据词组来判断的情况则好得多,句子和段落虽然特征性明显,然而却太过粗糙,不易辨识出篇幅较小的局部重复的情况(如转载过程中由于标点符号改动或者少量文字改动而形成的重复),且长元素在计算过程中更耗费内存空间,故上述实验过程中将元素长度限制在2-10。
(4)相似度与重复率的关系
从实验数据中选取元素个数为10的各种重复率的数据,得到图4-5所示结果。
在下图中:①从整体趋势来看,相似度与重复率呈线性关系,并且在权重评价函数取为x时,相似度与重复率基本维持相等。这与前文分析的结果一致。②从图中5种元素长度所对应的折线来看,总体上而言,基本没有太大的差别。这也就意味着相似度的计算与所选择元素的长度关系不大,不过该规律只在选取的元素个数较多的情况下才成立。下图是选取10个元素下的情形,倘若将元素个数减少,则折线的振荡幅度会稍大一些;若将元素个数增加,则折线会显得更平滑一些,直至接近于一条直线,例如,当随机选取元素数目为70时结果如图4-6所示。另外,根据大量的实验我们可以发现,当元素长度为2时,较易出现相似度值偏大的情形,图4-5和图4-6中的折线2都可以印证该结论。③随着重复率的增加,各种长度下的折线将呈现微弱的“汇聚”趋势,且该趋势随着选取元素的增多而趋于明显,如图4-6即可体现这一规律。这是因为,元素数目越多,相似度越准确,这也是由于相似度对元素长度不敏感所致。但在所选取的元素数目较小时,该特性并不明显。

图4-5 随机选取10个元素时的相似度-重复率关系

图4-6 随机选取70个元素时的相似度-重复率关系
(5)同时随机选择多种不同长度元素时的相似度
上面讨论了在单一长度下相似度与相关因素之间的关系。虽然当选取元素个数较大时可以取得较好的效果,但是这样会耗费较多的计算时间。实验二则探究了同时选取多种不同长度元素时的相似度计算,其结果如图 4-7、图 4-8所示。

图4-7 随机选择3、4、5三种长度元素时的相似度-重复率关系

图4-8 随机选择长度为2-9的元素时的相似度-重复率关系
从图 4-7、图 4-8可见:①相似度随着重复率的增加而增加。可见该规律无论在单一长度元素的情况下还是在多种长度下均成立。②相似度折线的平滑度随着所取元素数目的增加更趋于平滑,这是因为所取元素数目过多时其随机作用将被弱化;但是当所取元素的数目足够大时,折线平滑度对元素数目不再敏感。这意味着在实际应用中不必将所取元素的数目取得太大,这将浪费不必要的计算资源。如图 4-7中元素数目为40的折线比数目为10的折线更加平滑,倘若将元素数目提高,该特性将不再显著。③相似度折线随着所取不同长度的增加而增加。因为所选不同长度越多,各种单一长度之间的“振荡”会存在一定的互相抵消,从而提高其平滑度。此外,增加不同的长度,一般也就间接增加了总的元素数目,元素数目的增加也将使得相似度折线趋于平滑。如图 4-8中选取了2-9共8种长度,而图 4-7只选取了3-5共3种长度,我们可以很容易看出,图 4-8中的折线比图 4-7中对应的折线更平滑。
(6)基于单一长度元素和多种不同长度元素的相似度计算比较
由上述分析不难看出,只取单一长度的元素时,相似度较大程度上依赖于元素的数目,且只有在所取元素数目足够大时或者通过多次循环取平均值的方式才可以取得更好的效果。另外,此方式适应性较差:若元素长度设置得过大,则检测粒度太大,对于重复率不太高的文档检测效果不佳;而若元素长度设置得过小,则在某些同主题文档集合中容易导致结果偏大的情形。而同时取多种长度的元素时,则既可以利用短元素的细粒度检测特性发现重复率不高的情况,又可以利用长元素快速检测出重复率高的情况,具有很强的适应性,也可以大大减少生成随机元素的次数,提高计算速度,节约计算资源。