我需要在Java中实现模糊搜索,实体名称是制造商名称,用于处理
(a) typos, as well as
(b) shortened forms like limited, Ltd, etc
假设我需要确定以下1到7的所有内容都指向同一个实体,而8到9是另一个实体:
1) Information System Technlogies
2) Info System Technlogies
3) Info System Techlology Limited
4) Info System Techlology Ltd
5) Information System Technlogies Limited
6) Info System Ltd
7) IS Limited
8) Delivery System Technologies Limited
9) DS Limited
使用Lavenshtein Distance
时,5和8看起来不会更相似,而且在两种情况下实际上相反时,7和9看起来会更相似。
我不想为缩写维护一个预先定义的字典,因为我们有大数据情况,其中预先排除所有可能性可能是不可行的。
任何指针,如果任何单一的模糊方法可以帮助拼写错误或缩写,或者我需要混合使用,在这种情况下最好使用什么?