问题标签 [soundex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7389 浏览

php - 使用 soundex() 或 metaphone() 创建 Mad Gab 风格短语的算法

我正在尝试创建一个算法来建议Mad Gab风格的短语。

输入是一组短语。我还有一组关键字,我想尽可能使用它们。目前,我的解决方案只是蛮力:

  • 循环短语(逐个字符)
    • 如果找到关键字
      • 存储关键字和分支(递归)
    • 增加字符数

但是,我遇到的问题是:

  • 考虑复合关键字,例如“catchs”可以是“catches”、“cat”+“cheeses”
  • 允许字面意思 - “the”、“and”、“one”、“two”、“three”。
  • 如何建议不是关键字的术语。即,当找不到关键字或文字时,求助于系统字典之类的东西。
  • 跳过短语片段。现在它只是通过一次。但是考虑一下短语以不匹配的内容开头但后面几个字符包含匹配项的情况。

我最熟悉 PHP 和 MySQL。但是,如果它提供更好的解决方案,我对另一种技术持开放态度。

我也对任何其他建议感兴趣。特别是使用第二个参数的方法metaphone()来提出更难的建议。

0 投票
2 回答
127 浏览

php - 是否有一个 PHP 类可以用来确保我的用户不能两次输入相同的数据(防止重复数据)?

问题概述:

  • 我的申请有一个报名表。
  • 用户有将同一个人两次输入系统的习惯。
  • 我需要找到一种方法来快速准确地对照数据库中的其他客户端检查他们输入的数据,以查看该客户端是否已经在数据库中。

当前使用的标准:

  • SSN 重复
  • 重复的姓氏和出生日期
  • 重复的名字、出生日期和部分 SSN 匹配(另一个客户有一个 SSN,其中 9 位数字中的 5 位相同且位置相同
  • 重复的名字和部分 SSN 匹配(另一个客户端有一个 SSN,其中 9 位数字中的 5 位相同且位置相同
  • 重复的姓氏和部分 SSN 匹配(另一个客户端的 SSN 的 9 位数字中有 5 位相同且位置相同

除了这些检查之外,还讨论了使用 soundex 来检测基于相似名字/姓氏的匹配。

是否已经设计了一个 PHP 类来处理这样的事情?这样的事情可以在(Mysql)数据库级别完成吗?

说明:

  • 问题的存在不是因为数据库级别缺乏数据完整性,而是因为在输入过程中造成的拼写错误。该应用程序是一个数据输入应用程序。用户正在获取表单的物理纸质副本并将数据输入应用程序。
0 投票
1 回答
448 浏览

php - 如何在 PHP 中使用 Soundex 和 SQLITE 来获得“你的意思是..”

我知道有一个类似的线程,但它没有有用的答案。

我正在使用 SQLITE(不能更改语言),当用户填写表格时,其中一个字段是类别。

我希望他们输入一个类别,例如,他们可以输入:园艺。

但是,如果该类别已经存在“园艺”或者他们拼写错误,它会添加一个条目并在我搜索时导致问题。

我想知道是否可以在条目上使用 SOUNDEX 以将其与数据库进行匹配,并且如果存在一个 80% 相似的条目,或者它会给出一条消息:

您是说(类别)吗?

这将是一个链接,单击该链接将更改字段条目。

我正在寻找很多,所以提前感谢您的帮助。

更新:我的数据库具有类似于的值。所以:

类别:

园艺烹饪DIY

0 投票
1 回答
230 浏览

sql - sql soundex 查询是否适用于一般搜索?

我一直在使用LIKE查询来搜索知识库站点中的搜索字符串。因此,从逻辑上讲,“电话”一词可能会出现所有包含“电话”一词的页面。

但是当进入不太典型的搜索时,比如“电话”、“电话”、“电话”,我开始进入 LIKE 查询也停止工作的领域。

有人SOUNDEX向我推荐,这样我不仅可以捕捉到精确匹配,还可以捕捉到相似匹配。

这是正确使用SOUNDEX吗?有更合适的吗?

0 投票
1 回答
71 浏览

python - 通过使用python将一个文件与另一个文件匹配来打印一个文件的内容和索引位置

我是python的新手我想要的是能够打印我拥有的文件的内容..

土豆泥,上面有这个和那个............ 9.99$

相似地

产品名称,描述......................价格

当我将它与仅包含 Product_names 的文件匹配时

土豆泥

过去的

凯撒沙拉

等等等等

第一个文件的内容没有统一的顺序,所以这就是我尝试使用搜索、匹配和打印方法的原因

我希望你能理解我的问题

这是我尝试过的

我的代码所做的是将第二个产品列表文件与完整内容文件匹配,但只给我 product_Names 的索引而不是描述和价格..

我想要的是从 Product_name 到 price 的索引/跨度..

喜欢土豆泥 ---- 9.99$( 土豆泥 - [0:58]),,m 刚刚得到 [0:14]

以及使用相同方法打印描述和价格的任何方式

提前致谢

0 投票
1 回答
479 浏览

php - 葡萄牙语的本地化(双)变音位 (pt_PT)

我想看看两个非英语字符串在语音上有多相似,AFAIK soundexmetaphone实现仅适用于基于英语的字符串,例如coraçãocorassão在葡萄牙语中听起来完全一样,但metaphone()返回KRandKRS。其他音素也会发生同样的事情,chitaxita返回XTandST,但它们听起来是一样的。

我也尝试过这个Double Metaphone 实现演示),但结果完全相同。

那么,是否有任何替代算法适用于葡萄牙语单词?我在另一个问题中读过关于 Lucene 的内容,但我以前从未使用过它,我不确定它是如何工作的或如何使用它。

如果没有,有谁知道我需要收集什么样的数据来开发类似变音位的算法?

0 投票
0 回答
547 浏览

mysql - MySQL 听起来结果太宽泛了

晚上,

有什么方法可以在 MySQL 中调整 SOUNDS LIKE 使其返回更窄语音范围的结果?或另一个允许这样做的功能。

我正在寻找尽可能窄的范围,例如

0 投票
4 回答
9327 浏览

.net - DotNet Soundex 函数

我有一个数据库表,其中有一列 SQLServer Soundex 编码的姓氏 + 名字。在我的 C# 程序中,我想使用 soundex 转换一个字符串以用于我的查询。

dotnet 库中是否有用于 soundex 的标准字符串函数,或者是实现它的开源库(可能作为字符串的扩展方法)?

0 投票
1 回答
2760 浏览

mysql - 根据mysql中的另一个表更正列中的拼写错误

我的 mysql 表有一个 cityname 列。cityname 列中的值有一些拼写错误。城市的每一个拼写错误都需要纠正。另一个表有一列包含所有正确的城市名称。根据此表,需要更正第一个表的拼写错误。我研究了 soundex 之类的东西,但找不到任何类似的链接。

我想到的方法是获取一个 sql 查询,该查询从具有相似发音城市名称的行中创建单独的表。

一旦完成,再次使用 sql 查询将错误的拼写替换为正确的拼写

最后将所有不同的表格组合成一个带有所有更正拼写的表格。

我正在寻找方法和mysql查询语法的建议

0 投票
1 回答
1051 浏览

php - MySQL Query 中的 Soundex 无法正常工作

我的任务是进行查询,即使在搜索时拼写错误,也可以通过数据库查找内容,因此我使用 strcmp 来比较查询中的 soundex。我当前的代码有问题。如果我搜索 AZUS,我的意思是 ASUS,并且有一个带有 ASUS 的标题,它不会出现。那是因为在post_entry华硕中,<a href="">ASUS </a>所以我必须soundex("%'.$arraytagsd.'")在下面的代码中取出 a%来执行此操作,但是对于每个选项 %s% 或 %s 或 s% 或 s 都会使我的脚本变慢。

无论如何,仍然使用 soundex 可以更快地做到这一点吗?

我创建了这个函数来获取搜索输入的每个单词并将其与数据库进行比较

我在按相关性排序的查询中使用它