Java中的模糊字符串搜索,包括单词交换
我是一名Java初学者,试图编写一个程序,将输入与预定义字符串列表相匹配。我看过Levenshtein的距离,但是我遇到了这样的问题:
如果我有一个输入,如“牛肉片”,我希望它与“牛肉片”相匹配。问题在于,根据Levenshtein的距离,“牛肉圆角”更接近“金枪鱼鱼片”,这当然是错误的。
我应该使用像Lucene这样的东西吗?是否在Java类中使用Lucene方法?
谢谢!
没有找到相关结果
已邀请:
3 个回复
犁攀富
s中,每个字词一个。或者,如果您想为每个单词赋予不同的权重,请使用
,其中单词是键。 处理:对每个输入字符串进行标记,并探测每组搜索项,以确定它们与输入的紧密程度。有关算法的说明,请参见上文。 处理拼写错误有一个简单的技巧:在初始化期间,您创建包含搜索术语的潜在拼写错误的集合。 Peter Norvig关于“如何编写拼写校正器”的帖子描述了这个过程(它使用Python代码,但Java实现当然是可能的)。
街茬
冕偷淮款