微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Java中匹配不精确的公司名称

我有一个公司数据库.我的应用程序接收按名称引用公司的数据,但名称可能与数据库中的值不完全匹配.我需要将传入的数据与它所引用的公司进行匹配.

例如,我的数据库可能包含名为“A. B. Widgets& Co Ltd.”的公司.而我的传入数据可能会引用“AB Widgets Limited”,“A.B.Widgets and Co”或“A B Widgets”.

公司名称中的某些单词(A B Widgets)对于匹配比其他单词(Co,Ltd,Inc等)更重要.避免错误匹配很重要.

公司的数量足够小,我可以在内存中维护他们的名字地图,即.我可以选择使用Java而不是sql来查找正确的名称.

你会如何用Java做到这一点?

解决方法

您可以在DB / map& amp;中尽可能地标准化格式.输入(即转换为大写/小写),然后使用动态编程中的 Levenshtein (edit) distance metric来根据所有已知名称对输入进行评分.

然后,您可以让用户确认匹配&如果他们不喜欢它,给他们选择将这个值输入你的已知名字列表(第二个想法 – 这可能是给用户太多的力量……)

原文地址:https://www.jb51.cc/java/129780.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐