我已经开发了一个打字软件来捕捉由我的研究所的候选人使用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