Delphi'重复内容'库或示例

时间:2013-07-23 09:14:20

标签: delphi seo

因为我需要测试一些文本以检查duplicate content的SEO目的。

对于它我有2个文本(在2个字符串S1和S2中),我需要确定2个字符串之间的相似性百分比。 我的第一个代码是OK,它用

确定%
(nbr of common words in S1 & S2)/100x(nbr of words in the shorter string in S1 & S2).

但我不确定这是一个好的算法。

您是否有分享代码示例的经验?

1 个答案:

答案 0 :(得分:2)

您要做的是找到两个字符串的相似性百分比。

那里的一些算法已经解决了这个完全相同的问题。 我一直在使用:

  • 编辑距离
  • NGramDistance

我在delphi中快速搜索代码源。 我找到了Lenvenshtein in delphi

的源代码

Lenvenshtein算法试图找到它可以回滚到原始字符串的“有多少更改”。
NGramDistance通过拆分来比较单词。


所以用Lenvenshtein的字符串 “abc def | klm mno”将被视为非常不同而不是“klm mn | abc def”
但NGramDistance会将它们视为100%相似。

所以它取决于你是否想要考虑字符串的顺序。


我找不到NGramDistance的任何源代码。但是你可以把它从Java翻译成Delpi。

java中的源代码来自Lucene,一个开源搜索软件。他们实施了更多String metric算法结帐in this package