创建拼写相似的单词列表

时间:2018-06-12 13:12:06

标签: python data-science words

给出一个单词(英语或非英语),我如何构建具有相似拼写的单词列表(英语或非英语)?

例如,给定单词'sira',一些类似的单词是:

  • sirra
  • SEIRA
  • siara
  • 秋刀鱼
  • 希拉

我更喜欢这个在冗长的一面,这意味着它应该产生尽可能多的单词。

最好是在Python中,但任何语言的代码都是有用的。

澳大利亚商业登记册ABN lookup tool(根据搜索关键字找到商业登记号码的工具)可以很好地解决这个问题。

由于

2 个答案:

答案 0 :(得分:2)

您正在寻找的东西是由字典的ispell(和系列)提供的。通过hunspell库有一个相对简单的界面。

您可以下载from here的实际数据(词典)(以及其他地方,如OpenOffice插件页面)。

根据评论中建议的编辑距离,有一个界面可以获得许多相似的单词。与GitHub中的示例一起使用:

>>> import hunspell
>>> hobj = hunspell.HunSpell('/usr/share/hunspell/en_US.dic', '/usr/share/hunspell/en_US.aff')
>>> hobj.spell('spookie')
False
>>> hobj.suggest('spookie')
['spookier', 'spookiness', 'spook', 'cookie', 'bookie', 'Spokane', 'spoken']

答案 1 :(得分:0)

要在数据库中搜索,请使用"LIKE"

您想要的查询是

SELECT * FROM `testTable` WHERE name LIKE "%s%i%r%a%