我已經開發了一個打字軟件來捕捉由我的研究所的候選人使用PHP & MySQL鍵入的文本。在繼續過程中,我堅持一個戰略問題,應該如何比較候選人輸入的文本的相似性和我給他們的類型的標準段落(以硬拷貝的形式,儘管相同的副本是也存儲在MySQL數據庫中)。我的兩難問題是,我是否會在PHP或MySQL中直接使用Levensthein距離算法,以便優化性能問題。其實。如果在PHP中編程在評估文本時出現錯誤,我感到恐懼。這裏值得一提的是,文本將進行比較,以獲得基於每分鐘單詞類別的排名。在PHP和MySQL中比較兩個Paragarphs的最佳策略是什麼?
0
A
回答
0
最簡單的解決方案是利用PHP內置的levenshtein
docs函數來比較兩個文本塊。如果您想將處理關閉到MySQL數據庫,您可以實施Levenshtein: MySQL + PHPStackOverflow
中列出的解決方案。另一個PHP選項可能是similar_text
docs函數。
PHP levenshtein函數的不幸的缺點是它不能處理超過255個字符的字符串。按照PHP手冊文檔:
該函數返回的Levenshtein - 距離兩個 參數字符串或-1之間,如果參數串中的一個是255個字符比 更長的上限。
因此,如果你的段落比那個長,你可能會被迫實現一個MySQL解決方案。我想你可以將段落分成255個字符的塊進行比較(儘管我不能明確地說這不會「破壞」levenshtein算法)。
我不是語言學解析和處理方面的專家,所以我不能給這些是否是最好解決方案說話(如你在你的問題提)。但是,它們非常簡單易用。
相關問題
- 1. 什麼是比較CString的兩個向量的最佳方法
- 2. 使用兩個比較器的最佳方式是什麼?
- 3. Python/MySQL組合的最佳轉義字符策略是什麼?
- 4. vim中代碼塊和宏的最佳策略是什麼?
- 5. 什麼是在Visual C#中遵循的最佳調試策略?
- 6. 什麼是支持.NET 3.0和.NET 4.0的最佳策略?
- 7. Equals和GetHashCode的最佳策略是什麼?
- 8. 在c#中比較兩個pdf文件的最佳方式是什麼?
- 9. 在限制性IT策略下安裝cygwin的最佳策略是什麼?
- 10. 同時取消多個頁面的最佳策略是什麼?
- 11. 比較兩個Properties對象中的值的最佳方法是什麼?
- 12. 在PHP中比較兩個對象的最快方法是什麼?
- 13. 在Ruby和Redis中匹配現場玩家的最佳策略是什麼?
- 14. 在Rails中處理異常和錯誤的最佳策略是什麼?
- 15. 在Perl中比較日期的最佳方式是什麼?
- 16. MySQL DB的最佳索引策略
- 17. 使用mysql在php中比較兩個表中的兩個ID
- 18. 什麼是ASP.NET的最佳部署策略
- 19. 從ClearCase遷移到SVN的最佳策略是什麼?
- 20. 什麼是Spring安全會話認證的最佳策略
- 21. 調試SSRS的最佳策略是什麼?
- 22. 什麼是最佳的數據庫連接策略
- 23. 日誌分析應用程序的最佳策略是什麼
- 24. 分組鏈接用戶的最佳策略是什麼
- 25. 測試D3/HighCharts/SVG的最佳策略是什麼?
- 26. 什麼是GAE的最佳遷移策略CloudSQL
- 27. 什麼是依賴注入用戶輸入的最佳策略?
- 28. 什麼是使ORM緩存無效的最佳策略?
- 29. 保留大數據集的最佳策略是什麼?
- 30. 使用nvidia-smi什麼是捕獲能量的最佳策略
謝謝rdlowrey。你能否看到http://www.phpclasses.org/package/6220-PHP-Compares-strings-to-determine-similarity-level.html中可用的腳本,如果這可以克服PHP中levenshtein函數的255個字符限制。我不確定鏈接是否可以在沒有會員資格的情況下直接提供給您。如果給另一個網站的鏈接是違規行爲,請刪除我的帖子並原諒我。這不是故意的。 – Samcoder 2012-01-27 06:22:25