什么是模糊搜索?
什么是模糊搜索?
模糊搜索是一种搜索引擎技术,它会寻找与输入搜索词近似的匹配结果,而非精确匹配。搜索信息的用户可能会出现拼写错误,或者用口语化词汇代替专业术语。模糊搜索会查找与搜索词“足够接近”的搜索结果,即便用户并不确切知道自己在找什么,也能提供他们所需的相关结果。它可以拓宽搜索范围并优化知识检索流程。不过,模糊搜索的实施颇具挑战,因为它需要查找和分类几乎无穷尽的近似匹配选项,而非有限的精确匹配数据。
模糊搜索有哪些应用场景?
模糊搜索及其背后的匹配逻辑在多个领域都很有用。以下是一些示例。
机器翻译
不同国家和地区即使使用同一种语言,也可能存在独特的方言。企业在为受众翻译文本时,需要生成准确的最终产品,体现词汇或语言使用上的细微差异。
模糊搜索和模糊匹配有助于这一过程,通过在目标语言中搜索与原始文本相近的内容。翻译人员在通过模糊匹配查询选项数据库后选择最适合该场景的翻译。
模糊匹配技术可以加快机器翻译的速度,实现更准确、精确的翻译。
研究与探索
搜索信息的用户可能不知道他们要找的文章或概念的确切名称。模糊搜索会为用户返回相关结果,在搜索时展示相近的分类结果。
同样,搜索引擎能够生成一系列相关选项,在用户不太清楚自己需求的情况下简化探索过程。学术研究机构、企业知识中心和面向客户的机构等组织都采用模糊搜索来加强研究和探索工作。
电子商务
如果用户不熟悉产品的确切名称,他们可能会输入自己认为的近似名称。模糊搜索能够识别这些可能拼写错误的内容,并推荐最有可能正确的产品或类别。
在电子商务场景中,模糊近似字符串匹配确保用户在浏览商店前无需正确拼写或完全了解想要的产品。这一功能可简化客户体验,并帮助用户找到所需产品。
模糊搜索是如何运作的?
模糊匹配通过数学计算两个文本字符串之间的相似度或“距离”。两个完全相同的字符串“距离”为零,但字符和单词的变化会增加这一距离。这使系统能够通过数学方法评测近似匹配情况。以下是一些常见的模糊匹配算法。
莱文斯坦距离
莱文斯坦距离(LD)用于衡量两个字符串之间的距离,并以数字形式表示。数字越大,表示两个字符串之间的差异越大。通过识别与原始搜索查询莱文斯坦距离较小的其他字符串,模糊搜索可以推荐相似的字符串。
在这种模糊匹配算法中,删除、添加或替换一个字符的距离始终为 1。例如,输入单词“Londoon”,与“London”的距离为 1。 再比如,“Seing”到“Seeing”增加了一个字母,距离同样为 1。
另外,从“Klokwork”变为“Clockwork”,将“K”替换为“C”,并且添加了另一个“C”,莱文斯坦距离为 2。
汉明距离
汉明距离或模糊汉明距离(FDH)采用与 LD 模糊字符串匹配类似的策略,但仅适用于长度相等的字符串。在 LD 和 FDH 中,“Clear”和“Cleay”的差异都为 1。
FDH 最常用于医疗保健和生物信息学领域,用于比较基因序列。在已知数据集的情况下,它可以识别预期和实际字符串输出中的细微差异。
达梅劳-莱文什泰距离
达梅劳-莱文什泰距离(DLD)在莱文斯坦距离模糊搜索的基础上更进一步,将相邻字符的换位视为距离为 1 的情况。例如,它会将“Scuot”和“Scout”的距离判定为 1,因为在第一个示例中“O”和“U”交换了位置。
检测这些相邻字符的变化很有用,因为这是常见的打字错误。用户在浏览互联网或其他搜索栏时可能会意外按错相邻的键,而 DLD 能够检测并识别这类错误。
贾罗-温克勒距离
贾罗-温克勒距离是一种更精确的统计建模方式,它通过检查两个字符串来确定它们的相似度。它并不是基于缺失或额外字母来识别距离,而是使用两个替代标准。
- 两个字符串中匹配的字符数量,包括顺序不一致的字母。
- 单词是否以相同的几个字符开头。
它基于这两个因素计算字符串的相似度,然后将结果以 1 为满分的概率形式呈现。例如,“Amazon”和“Amazen”这类相似单词的得分更接近 1,而“Amazon”和“BestBuy”的得分则低于 0.5。
杰卡德相似度
杰卡德相似度在确定一个字符串中的元素与另一个字符串的共有元素时,会对整个短语进行比较。例如,如果您搜索“Cloud data enterprise protection”,近似字符串匹配可能还会推荐“Cloud data enterprise security”的结果。
这种形式的模糊搜索对较长的搜索词很有帮助。它还能处理单词顺序问题,以推荐相似结果。
语音算法
一些语音算法还会根据单词的发音进行索引。这些算法使用国际音标(IPA)来检测发音相似的单词。例如,名字“Clare”和相似拼写“Clair”发音相同,这些算法会将这两个字符串归为一类。
模糊搜索与其他类型的搜索有何不同?
模糊搜索、精确文本搜索、通配符搜索和开放搜索都是帮助针对拼写错误的搜索查询提供准确结果的搜索方式。
精确文本搜索与模糊搜索
模糊搜索通过模糊匹配算法生成结果,具体逻辑取决于企业的使用场景需求。相比之下,精确文本搜索只能得出与搜索查询完全匹配的结果。如果用户输入“Londen”,搜索结果只会反映这一精确搜索内容,而不会理解用户可能想输入的是“London”。
通配符搜索与模糊搜索
通配符搜索是搜索引擎的另一种功能,允许用户根据需求用“*”或“?”替换字母。用“*”替换字母会得出以该星号后内容开头的所有单词结果。例如,“Emplo*”会得出“Employee”、“Employment”、“Employer”等结果。
同样,通配符搜索中的“?”可替换为适合该字符位置的任意字母。比如,如果要同时包含英式和美式拼写风格的搜索结果,则可以使用此功能,比如使用“Gr?y”(英式拼写为“Grey”,美式拼写为“Gray”)。
通配符搜索需要用户自行查找近似匹配结果,模糊搜索则可以在用户不设定任何规则的情况下确定各种组合。
开放搜索与模糊搜索
OpenSearch 是一款分布式、社区驱动且遵循 Apache 2.0 许可协议的 100% 开源搜索和分析套件。它是一种特定的搜索解决方案,结合自然语言处理和模糊逻辑来提供结果,能够对用户的搜索意图形成上下文理解。模糊搜索引用了 OpenSearch 中的底层算法。
AWS 如何支持您的模糊搜索算法要求?
Amazon Kendra 是一项高度准确且易于使用的企业搜索服务,能帮助用户在组织的海量内容中查找信息。它采用深度学习语义搜索模型,比上面提到的模糊搜索算法要复杂得多。因此,用户能获得更丰富的搜索体验,搜索结果不仅会给出具体答案,还会提供相关内容,以便用户在需要更多信息时进一步探索。
借助 Amazon Kendra,您可以:
- 在多个非结构化和结构化内容存储库中创建统一的搜索体验。
- 利用自然语言处理(NLP)提供高度准确的答案。
- 根据用户行为等进行微调,以闪电般的速度提供定制化搜索结果。
Amazon Kendra GenAI 索引是 Kendra 中的一项全新索引功能,专为检索增强生成(RAG)设计,可帮助企业打造数字助手和人工智能应用程序。该索引利用先进的语义模型和最新的信息检索技术,提供很高的检索准确性。
立即创建免费账户,开始在 AWS 上使用模糊搜索功能。
Browse all cloud computing concepts
Browse all cloud computing concepts content here:
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages