【发布时间】:2012-10-29 08:59:58
【问题描述】:
我有一个庞大的句子数据库,但问题是“我很好”等句子与“我很好”不匹配,反之亦然或“那是我的吗?”与“是我的”不匹配,反之亦然,当我希望它们被检测为匹配时。
我已经制作了复杂而混乱的函数,试图用通配符和研究来做到这一点,但这只是一团糟。而且我确定必须有一种方法可以使用这种 1 字符 lee 方式进行搜索。如果可以的话,我想控制哪些字符以这种背风方式出现,就像在我的示例中,主要问题原因是问号和半引号。 (?')。
我目前使用带有 php 和 mysql 的平面选择查询来执行匹配查询。
我希望得到一些帮助来解决这个问题,以便我可以清理当前执行工作不一致的大量代码。
如果有人想查看检查匹配的代码查询是这样的:
$checkqwry = "select * from `eng-jap` where (eng = '$eng' or english = '$oldeng' or english = '$oldeng2') and (jap = '$jap' or japanese = '$oldjap' or japanese = '$oldjap2');";
查询的目的是检查数据库中是否已经存在 $eng 和 $jap 的翻译。你看到 $oldeng $oldeng2 和 $oldeng3 等的原因就像我说的那样,即使有或没有问号等等,我的混乱愚蠢尝试匹配。其中一些 $oldeng 变量有问号或半引号等,而其他变量则没有。上面有更多代码附加和删除问号和东西。是的,这是一团糟。
【问题讨论】:
-
您想寻找某种String Metric 算法,它会告诉您两个字符串“相距”多远,并根据您的容忍程度进行调整。