返回模糊 Python 中匹配分数为 x > x 的单词列表



我在一个客户端web应用程序上工作,我想从用户那里检索一个小问题的答案,但是我想认为它是正确的答案,即使拼写有点错。例如,我想知道是否有一种使用fuzzywuzzy的好方法(当我最初在python中整理数据时)来返回匹配分数大于0.9的单词列表。所以,如果我通过了"chicken"对于函数来说。9,它返回所有与"chicken"相似度得分超过。9的单词。(鸡,鸡,等等)。任何想法都会有所帮助,谢谢!

这听起来像是一个有效的使用,考虑到你的web应用程序是休闲的,只是为了好玩。

如果是严肃的业务,我认为最好不要使用fuzzywuzzy。这里的第一个问题是,你必须预先确定匹配百分比的阈值,这可能会导致用户出现一些奇怪的行为。例如,fuzz.partial_ratio("he", "she")具有与80相似的分数,但具有完全不同的含义。

从我在类似应用程序中看到的情况来看,您可以存储一个可接受的单词列表并与用户输入进行比较,例如:['chicken', 'chickens', 'Chicken', 'Chickens', 'CHICKEN', 'CHICKENS'].

或者您可以使用各种Python内置函数从用户输入中执行一些字符串清理,例如

  • strip()用于修剪空白
  • upper() and lower()将所有字母转换为大写/小写

毕竟,如果他写了'ch!cK3n ~:)',没有得到分数是用户的错。

最新更新