【发布时间】:2013-06-01 15:08:30
【问题描述】:
我正在尝试用 PHP 构建一个拼写检查系统。
我已经拥有许多英语单词的词典/语料库。每个单词换行。
我想要做的是一旦给定一个字符串,我们称之为 $string1,打开文本文件并搜索最像 $string1 的字符串并返回该字符串。
对于搜索文本文件,我的想法是将内容导入数组,然后使用 in_array()。如果有更好的方法在不将所有单词导入内存的情况下搜索文本文件,请告诉我。
我不知道如何比较这两个字符串的相似之处。我该怎么做?
在我看来,所有相同但顺序不同的字母会比不同的字母排名更高。但排名高于两者的将是部分匹配 +/- 一个或两个字符。
在打开文本文件、搜索和比较字符串方面提供任何帮助,我将不胜感激。
【问题讨论】:
-
为什么不使用数据库?然后您可以索引您的单词以更快地搜索
-
至于相似性:metaphone()、levenshtein()、soundex()?
-
@MarkBaker 这个项目是#nosql 运动的一部分,所以我不能。那些功能是什么?我没听说过。
-
它们基本上是用于衡量单词之间差异的算法:通常您使用它们时有一个共同阈值(即 90% 相似度)
-
在我看来,这是 #nosql 被极端拒绝使用最好的工具来完成这项工作的一个例子
标签: php string spell-checking