所以我一直在尋找一種算法來比較文本內容,我發現這個網站叫做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中的數組上比較什麼?