首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >名称中的纠错

名称中的纠错
EN

Stack Overflow用户
提问于 2012-11-06 16:04:06
回答 2查看 312关注 0票数 7

我正在尝试设计一种在名称中执行纠错的算法。我的方法是建立一个具有正确名称的数据库,计算每个名称与输入的名称之间的编辑距离,然后建议最接近的5或10个。

这项任务与标准的单词纠错有很大不同,因为有些名称可能会被首字母替换。例如,"Jonathan Smith“和"J. Smith”实际上非常接近,可以很容易地被认为是相同的名字,所以编辑距离应该非常小,如果不是0的话。另一个挑战是,有些名字可能写得不同,但听起来却是一样的。例如,ShnaiderSchneider是由不同地区的人编写的同名版本(我想还有更好的例子)。还有另一种情况-想象一下在编写Jawaharlal Nehru时可能出现的所有错误,其中大多数与真实姓名无关。同样,它们中的大多数可能在语音上是相似的。

显然,Lucene的纠错算法在这里帮不了我,因为它不能处理上述情况。

所以我的问题是:你知道有没有能够在名字中进行纠错的库?你能提出一些处理上述情况的算法吗?

我对c++或java中的库很感兴趣。至于算法建议,任何语言或伪代码都可以。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-06 16:19:02

有关语音匹配的信息,请参阅Soundex

我认为修改Levenshtein距离算法,将“缩写为初始”和“从初始扩展”作为单距离编辑应该是直接的,但细节目前超出了我的能力范围。

票数 6
EN

Stack Overflow用户

发布于 2012-11-08 07:47:03

你也可以看看Metaphone

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13246800

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档