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

algorithm – 通过字符串相似性对搜索结果进行分组的最有效方法

我正在研究sql server 2008 DB和asp.net mvc web电子商务应用程序.

我有不同的用户将他们的产品提供给数据库,我想比较具有相似名称的产品的价格.
我知道字符串匹配是特定于域的,但我仍然需要最好的通用解决方案.

搜索结果进行分组的最有效方法是什么?
我应该使用Levenshtien distance算法递归地比较每个记录吗?
我应该在数据库中还是在代码中执行此操作?
有没有办法为此任务实时实施SSIS模糊分组?
有没有一种有效的方法来使用sql server 2008自由文本搜索

编辑1:
那么网络图分析呢.如果我使用Levenshtien distance算法定义矩阵,我可以使用聚类算法(例如:clauset newman moore)和单独的组,它们之间没有语音路径.
我附上了尼克约翰逊(见评论)猫狗(例如红线是簇) – 并且通过使用clauset newman moore,我正在创建2个不同的簇并从狗中分离猫.

你怎么看?

解决方法

如果你能得到一个合适的词库/本体,基本上可以提供最好的聚类 – 因为词是概念树中的叶子,树中的距离是语义意义上的词之间的距离.因此,猫和狗几乎不像虎斑猫和猫科动物(猫),但它们比猫和香蕉更接近,猫和香蕉本身比猫(n.)和跳跃(v.)更接近.

允许小的拼写错误(通过查找词库中用于非词语的类似拼写的单词)可以提高稳健性,但是也可能由于同音异义词而产生意外结果.

至于在数据库代码中执行它,请在代码中执行.在可以缓存的范围内,这将更快.

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

相关推荐