模糊搜索是一种搜索技术,即使搜索查询与相应数据不完全匹配,也能找到匹配项。它不仅仅是字符逐字匹配,还会识别在拼写、含义或其他标准方面与搜索查询相似的结果。在处理用户输入内容时,这可能特别有用,因为用户输入内容可能包含诸如错别字、变体(复数与单数、缩写、词干等)以及其他不一致之处,这些都基于用户在整个平台上采用的不同沟通方式。
假设您要在数据库中搜索“apple”。更简单的搜索引擎可能只会返回完全匹配“apple”一词的条目。但是,具有模糊搜索功能的搜索引擎还会考虑“apples”“appel”甚至“aplle”等类似字词,将它们识别为潜在匹配项,尽管它们的拼写略有不同。
这种方法可以扩大搜索范围,帮助提高找到相关信息的几率,即使用户在查询时使用了不同的拼写也是如此。这就好比是撒一张更大的网,不仅能捕获您要找的鱼,还能捕获与之极为相似的鱼。
在数据可能不一致或用户可能不知道所搜内容的确切拼写的情况下,模糊搜索可能会非常有用。在电子商务领域,该模型在查找名称略有差异的产品方面可能特别有用,在人工数据清理不切实际的大型数据集中也可能特别有用。
可用于构建和执行模糊搜索的 Google Cloud 产品包括 Vertex AI、Cloud SQL 和 Cloud Spanner。如要探索可满足您需求的模糊搜索解决方案,请联系我们的销售团队或开始免费试用。
模糊搜索采用各种算法和技术来确定两个文本字符串、搜索查询以及数据中的潜在匹配项之间的相似程度。这些算法通常依赖于以下概念:
借助这些概念,模糊搜索引擎可以根据潜在匹配与原始查询的相似程度对其进行排名,帮助用户查看一系列相关结果,即使这些结果与用户的搜索字词存在细微差异也不影响。
随着数据集越来越大,用户输入也越来越多样化,模糊搜索是一种有效检索信息的重要方法。它可以帮助弥合用户多种多样的沟通(或搜索)方式与数据可能的结构和存储方式之间的差距。
模糊搜索之所以很重要,原因如下:
精确搜索与模糊搜索之间的根本区别在于它们处理数据变化的方式。我们来看看主要区别:
精确搜索 | 模糊搜索 | |
匹配条件 | 要求字符与字符完全匹配 | 允许包含错别字、变体和部分匹配的字词 |
搜索范围 | 范围更窄,仅返回精确匹配的结果 | 范围更广,检索结果范围更广 |
使用场景 | 要求精确度极高的场景,例如受严格监管的行业中的商品目录或数据库 | 灵活性和容错能力至关重要的场景,例如大型网站上的搜索栏 |
精确搜索
模糊搜索
匹配条件
要求字符与字符完全匹配
允许包含错别字、变体和部分匹配的字词
搜索范围
范围更窄,仅返回精确匹配的结果
范围更广,检索结果范围更广
使用场景
要求精确度极高的场景,例如受严格监管的行业中的商品目录或数据库
灵活性和容错能力至关重要的场景,例如大型网站上的搜索栏
为了说明其实际应用,我们来看看一些示例,看看模糊搜索如何帮助匹配不同搜索查询背后的用户意图与相关搜索结果。
在本例中,即使出现了拼写错误,模糊搜索算法也能识别用户的意图,并提供所需的苹果派食谱。 它能理解“aple”可能是“apple”的拼写错误,并相应地优先显示结果。
模糊搜索可无缝处理多种变体。无论用户搜索单数还是复数形式,搜索引擎都会智能地检索与预期含义相符的结果,确保用户无论使用何种语法方法都能找到食谱。
解读同义词的功能可扩大搜索范围。该引擎会识别“quick meal ideas”和“easy dinner recipes”在概念上相似,并为这两个查询提供相关结果,从而扩大了结果的可能性,而不仅仅局限于所用的字面关键字。
算法通常会采用词干提取,将单词简化为其基本形式或词根形式。这样,搜索结果中就会出现“running shoes”和“run shoe”这两个词组,即使它们在语法上有所不同,也能确保用户找到相关产品,而不会因为细微的差别而错失机会。
系统可以有效地处理缩写,识别“USA”是指“United States of America”。这项功能在数据库和搜索引擎中尤为有用,因为这类系统中经常使用缩写来简化表达。
实现模糊搜索通常涉及以下步骤:
虽然具体实现可能因应用而异,但 Google Cloud 的 Vertex AI 可以在其机器学习工作流中利用模糊搜索技术来提高模型准确性,并处理噪声或不一致的数据。例如,模糊匹配可以通过对类似的数据点进行分组,或者识别和更正训练数据集中的错误,从而增强特征工程。