2011-05-17 48 views
3

我正在研究跟蹤幫助臺條目的Web應用程序。我們希望找到一種方法來防止人們在常見問題上覆制和粘貼他們的筆記 - 我們希望原始幫助臺條目能夠針對每個問題調用寫出來。在任何情況下,我們有成千上萬的條目,其中一些是相似的,我試圖找到一種方法,將它們全部相互比較,並指出與其他條目非常相似的條目,即80%是直接複製等。使用PHP在多個條目中發現抄襲的可能性

我已經查看了similar_text()和其他一些內置的PHP函數,但我有興趣聽聽其他人是否做過類似的事情。我不相信我可以有效地使用similar_text(),因爲我需要比較多個條目,而不是兩個字符串。

任何輸入表示讚賞。

+1

您可能會發現[this](http://stackoverflow.com/questions/1085048/how-would-you-code-an-anti-plagiarism-site)值得一讀。 – alex 2011-05-18 04:13:55

回答

0

我認爲similar_text()會做你想做的。只要你的機器有足夠的內存來處理比較,它應該可以正常工作。另請看levenshtein()和soundex()。

0

您可能需要考慮嘗試使用Solr數據庫。雖然您的最終模式可能包含許多不同的字段,但主字段的類型爲「文本」,並且會包含幫助臺條目的文本。默認的Solr模式(不需要修改)自動標記文本字段中的數據,以便搜索同義詞的方式對數據進行索引,「城市」將匹配「城市」等。

最後使用Solr,無論從性能角度還是功能角度來看,您都會得到可擴展的解決方案。

0

首先,你爲什麼在意?如果這是一個常見問題,可以通過複製和粘貼來回復,爲什麼這不是正確的做法?這聽起來像是你爲了工作而創造了更多的工作。

第二關,你可以看看這樣的: http://en.wikipedia.org/wiki/W-shingling

如果這裏介紹的其他選項是不夠的。

+1

詹姆斯 - 我關心,因爲我們正在進行國防部項目,要求我們提供高質量的報告和反饋。這不是一個傳統的「服務檯」,在我們的情況下,兩種情況都不應該非常接近。我無法詳細瞭解所有細節,但希望能夠爲您提供背景。無論如何,感謝您的鏈接。 – Andy 2011-05-18 12:27:54