所以我一直在尋找一種算法來比較文本內容,我發現這個網站叫做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. 爲什麼我們不能使用O-Notation來比較算法?
- 7. 什麼比較方法比較好?
- 8. 文本壓縮 - 什麼算法使用
- 9. 爲什麼Slick需要使用三個等號(===)進行比較?
- 10. 比較算法
- 11. 什麼是進行字符串比較最有效的方法?
- 12. Java:爲什麼我無法讀取和比較文本文件?
- 13. diff --staged與git中的staged文件進行比較是什麼?
- 14. 爲什麼在進行文件比較的時候有「ï¿¿」
- 15. 字比較算法
- 16. C#比較算法
- 17. 將多個值與同一變量進行比較時,使用'!='運算符的最簡潔方法是什麼?
- 18. 比較兩個整數並使用差異進行計算
- 19. 與以前的GPS跟蹤相比,我可以使用什麼算法比較沿路線的GPS進度?
- 20. Shell腳本將結果與文本文件進行比較?
- 21. Ruby:使用腳本內部的外部腳本進行比較
- 22. 如何將文本文件的行與變量進行比較
- 23. 將某行文本文件與輸入進行比較
- 24. 將輸入與文本文件的某一行進行比較
- 25. 爲什麼我的ArrayList不能用比較器進行排序?
- 26. :使用邏輯比較進行驗證
- 27. 爲什麼使用「is」運算符比較True/False不好?
- 28. 什麼決定我是否可以使用比較運算符?
- 29. 比較算法的執行時間:爲什麼執行順序很重要?
- 30. 使用FFT比較兩個音頻文件,然後進行實時比較