2017-06-15 27 views
0

所以我一直在寻找一种算法来比较文本内容,我发现这个网站叫做Copyscape,它有用于比较文章的非常方便的工具(link)。它似乎在检测2个文本文档之间的相似度值(按百分比)方面做得很好。我想知道他们在该工具中使用哪种算法,或者可能类似于它?提前致谢。Copyscape使用什么算法进行文本比较?

回答

1

我不确定copyscape抄袭是如何工作的。但是,如果你问我实施一个。

我会从 - 定义'剽窃'? content-1和content-2几乎相似。让我们说,> 80%是相同的。即内容-1被取为20%被改变为产生内容-2。

现在,让我们尝试解决:将content-1转换为content-2的成本(更改次数)是多少?这是DP(动态编程世界)中众所周知的问题,如Levenshtein distanceEDIT Distance问题。标准问题涉及字符串距离,但您可以轻松修改字词而不是字符。此外,您可能需要跟踪所有更改@ line#,这两个内容上的单词位置。

现在,上面的问题会给你content-1到content-2的转换的最小编号。通过content-1的总长度,我们可以很容易地计算从content-1转到content-2的变化百分比。如果它低于一个固定的阈值(比如说20%),那么就声明剽窃。另外,通过第#行的辅助信息,可以显示两个内容上的文字位置 - 您可以显示所做的更改。