所以我一直在寻找一种算法来比较文本内容,我发现这个网站叫做Copyscape,它有用于比较文章的非常方便的工具(link)。它似乎在检测2个文本文档之间的相似度值(按百分比)方面做得很好。我想知道他们在该工具中使用哪种算法,或者可能类似于它?提前致谢。Copyscape使用什么算法进行文本比较?
0
A
回答
1
我不确定copyscape抄袭是如何工作的。但是,如果你问我实施一个。
我会从 - 定义'剽窃'? content-1和content-2几乎相似。让我们说,> 80%是相同的。即内容-1被取为20%被改变为产生内容-2。
现在,让我们尝试解决:将content-1转换为content-2的成本(更改次数)是多少?这是DP(动态编程世界)中众所周知的问题,如Levenshtein distance或EDIT Distance问题。标准问题涉及字符串距离,但您可以轻松修改字词而不是字符。此外,您可能需要跟踪所有更改@ line#,这两个内容上的单词位置。
现在,上面的问题会给你content-1到content-2的转换的最小编号。通过content-1的总长度,我们可以很容易地计算从content-1转到content-2的变化百分比。如果它低于一个固定的阈值(比如说20%),那么就声明剽窃。另外,通过第#行的辅助信息,可以显示两个内容上的文字位置 - 您可以显示所做的更改。
相关问题
- 1. 维基百科使用什么算法来进行版本比较功能
- 2. 多文本比较算法
- 3. 文本比较算法
- 4. 什么是二进制比较,它与文本比较有什么不同
- 5. 基本文件版本比较算法
- 6. 算法:只使用比较
- 7. 文本比较/差异算法
- 8. 文本比较算法或程序?
- 9. 什么是“strcmp”中使用的比较算法 - C编程?
- 10. 为什么我们不能使用O-Notation来比较算法?
- 11. 什么比较方法比较好?
- 12. 文本压缩 - 什么算法使用
- 13. Selenium将storedVars与文本进行比较
- 14. 为什么使用一组进行列表比较?
- 15. 为什么Slick需要使用三个等号(===)进行比较?
- 16. 比较算法
- 17. 比较算法
- 18. Shell脚本算术运算符进行比较
- 19. 什么是进行字符串比较最有效的方法?
- 20. 什么是将float与零进行比较的标准方法?
- 21. Java:为什么我无法读取和比较文本文件?
- 22. 为什么在进行文件比较的时候有“ï¿¿”
- 23. diff --staged与git中的staged文件进行比较是什么?
- 24. 将数组与比较运算符进行比较
- 25. 使用上一行进行比较?
- 26. 字比较算法
- 27. C#比较算法
- 28. 无法将XXXX-XXXX整数格式与文本进行比较
- 29. 使用通用比较器进行字符串比较
- 30. 比较运算符在javascript中的数组上比较什么?