【问题标题】:return string most like another string in PHP返回字符串最像 PHP 中的另一个字符串
【发布时间】:2013-06-01 15:08:30
【问题描述】:

我正在尝试用 PHP 构建一个拼写检查系统。

我已经拥有许多英语单词的词典/语料库。每个单词换行。

我想要做的是一旦给定一个字符串,我们称之为 $string1,打开文本文件并搜索最像 $string1 的字符串并返回该字符串。

对于搜索文本文件,我的想法是将内容导入数组,然后使用 in_array()。如果有更好的方法在不将所有单词导入内存的情况下搜索文本文件,请告诉我。

我不知道如何比较这两个字符串的相似之处。我该怎么做?

在我看来,所有相同但顺序不同的字母会比不同的字母排名更高。但排名高于两者的将是部分匹配 +/- 一个或两个字符。

在打开文本文件、搜索和比较字符串方面提供任何帮助,我将不胜感激。

【问题讨论】:

  • 为什么不使用数据库?然后您可以索引您的单词以更快地搜索
  • 至于相似性:metaphone()、levenshtein()、soundex()?
  • @MarkBaker 这个项目是#nosql 运动的一部分,所以我不能。那些功能是什么?我没听说过。
  • 它们基本上是用于衡量单词之间差异的算法:通常您使用它们时有一个共同阈值(即 90% 相似度)
  • 在我看来,这是 #nosql 被极端拒绝使用最好的工具来完成这项工作的一个例子

标签: php string spell-checking


【解决方案1】:

我在cmets中提到的三种算法的参考:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2015-09-18
    • 1970-01-01
    • 2019-03-07
    • 2022-01-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多