语义搜索在您的业务和营销计划中是否适用,以及您如何利用它来发挥您的优势?
对于简单的用户查询,搜索引擎可以仅仅通过关键词匹配来可靠地找到正确的内容。
"红色烤面包机"的查询可以找到所有标题或描述中带有 "烤面包机",以及颜色属性为红色的产品。
为红色添加栗色等同义词,你就可以匹配更多的烤面包机。
但你必须自己添加这些同义词。
这就是语义搜索的作用。
语义搜索试图应用用户意图以及单词和短语的含义(或语义)来寻找正确的内容。
它超越了关键词匹配,使用可能不会立即出现在文本中的信息(关键词本身),但与搜索者想要的东西紧密相连。
例如,用 "sweater"甚至 "sweeter"的查询来寻找一件毛衣,对于关键词搜索来说是没有问题的,而用语义搜索来查询 "温暖的衣服 "或 "如何在冬天让我的身体保持温暖?"则更适合。
要了解语义搜索是否适用于您的企业,以及您如何能够最好地利用这一优势,就需要了解它是如何工作的,以及构成语义搜索的各个组成部分。
语义搜索的要素是什么?
语义搜索应用用户意图、语境和概念含义,将用户查询与相应的内容相匹配。
它使用矢量搜索和机器学习来返回旨在与用户查询相匹配的结果,即使在没有单词匹配的情况下。
这些组件一起工作,根据意义来检索和排列结果。
最基本的部分之一是语境。
语境
搜索发生的语境对于理解搜索者试图寻找的东西很重要。
语境可以是简单的语言环境(美国人搜索 "football"与英国人搜索同样的东西所需要的东西不同),也可以是更复杂的。
一个智能搜索引擎将在个人层面和群体层面上使用语境。
个人层面对结果的影响被称为个性化。
个性化将使用个人搜索者的亲和力、以前的搜索和以前的互动来返回最适合当前查询的内容。
在群体层面上,搜索引擎可以利用关于所有搜索者如何与搜索结果互动的信息来重新排列结果,比如哪些结果最常被点击,甚至某些结果何时比其他结果更受欢迎的季节性。
这再次显示了语义搜索如何为搜索带来智能。
语义搜索还可以利用文本中的语境。
我们已经讨论过,同义词在各种搜索中都很有用,而且可以通过将查询的匹配内容扩大到相关内容来改善关键词搜索。
但我们也知道,同义词并不是万能的--有时两个词在一个语境中是等价的,而在另一个语境中则不是。
用户意图
任何搜索引擎的最终目标都是帮助用户成功完成一项任务。
这个任务可能是阅读新闻文章,购买服装,或寻找一份文件。
搜索引擎需要弄清楚用户想要做什么,或者用户的意图是什么。
我们在一个电子商务网站上搜索时可以看到这一点。
当用户输入查询 "jordans"时,搜索会自动过滤到 "鞋"这个类别。
这预示着用户的意图是寻找鞋子,而不是JORDAN杏仁(这应该属于 "食品和小吃"类别)。
通过提前了解用户的意图,搜索引擎可以返回最相关的结果,而不是用那些文字上匹配但不相关的项目来干扰用户。
当在搜索的顶部应用排序时,这可能更有意义,比如价格从低到高。
这是一个查询分类的例子。
对查询进行分类并限制结果集将确保只有相关的结果出现。
关键词搜索和语义搜索之间的区别
我们已经看到了语义搜索的智能方式,但是值得多看看它与关键词搜索有什么不同。
虽然关键词搜索引擎也引入了自然语言处理,以改进这种词与词之间的匹配。通过使用同义词、删除停顿词、忽略复数等方法,但这种处理仍然依赖于词与词之间的匹配。
但是,语义搜索可以返回没有匹配文本的结果。
这就涉及到了关键词搜索和语义搜索之间的巨大差异,也就是查询和记录之间的匹配方式。
为了简化一些,关键词搜索是通过对文本的匹配来进行的。
因为文本质量上的重叠,"soap"总是会与 "soap"或 "soapy"相匹配。
更具体地说,有足够多的匹配字母来告诉引擎,搜索一个的用户会想要另一个。
同样的匹配也会告诉引擎,查询 "soap"更有可能与匹配"soup"而不是"detergent"。
除非搜索引擎的所有者提前告诉引擎,肥皂和洗涤剂是等同的,在这种情况下,搜索引擎在确定相似性时将 "假装 "洗涤剂实际上就是肥皂。
基于关键词的搜索引擎也可以使用同义词、替代词或删除查询词等工具,来帮助完成这项信息检索任务。
NLP和NLU工具,如错别字容忍度、标记化和规范化,也有助于提高检索效果。
虽然这些都有助于提供更好的结果,但它们在更智能的匹配和概念匹配方面可能有所欠缺。
语义搜索不是什么?
语义搜索是一种提高搜索质量的强大方法。
因此,语义搜索的含义已经被应用得越来越广泛。
通常情况下,这些搜索体验并不总是能够证明这个名称。
而虽然没有语义搜索的官方定义,但我们可以说,它是超越了传统的基于关键词的搜索。
它通过纳入现实世界的知识,根据查询和内容的含义来推导出用户的意图。
这就导致了这样的结论:语义搜索并不是简单地应用NLP和向索引添加同义词。
诚然,标记化确实需要一些关于语言构造的现实世界的知识,而同义词则应用对概念匹配的理解。
然而,在大多数情况下,它们缺乏一种人工智能,而这种人工智能是搜索上升到语义水平所需要的。
由矢量搜索提供支持
正是这最后一点,使得语义搜索既强大又困难。
一般来说,对于语义搜索这个术语,有一种隐含的理解是,其中涉及到某种程度的机器学习。
几乎同样常见的是,这也涉及到矢量搜索。
矢量搜索的工作方式是将关于一个项目的细节编码为矢量,然后比较矢量以确定哪些是最相似的。
绘制矢量图以寻找相似性
这通常也是矢量搜索的工作方式。
一个机器学习模型从网络、书籍或其他来源获取数千或数百万的例子,然后利用这些信息进行预测。
当然,让模型逐一进行比较是不可行的,因此,模型将对它注意到的不同短语的模式进行编码。
除了在机器学习中,语言模型的工作并不那么透明(这也是为什么语言模型可能难以调试)。
这些编码被储存在一个矢量或一长串的数值中。
然后,向量搜索使用数学来计算不同向量的相似程度。
思考矢量搜索所做的相似性测量的另一种方式是想象矢量被绘制出来。
如果你试图将一个矢量绘制成数百个维度,这是非常困难的。
如果你把一个向量画成三个维度,其原理是一样的。
这些向量在绘制时形成一条线,问题是:这些线中哪些最接近对方?
这一原则被称为矢量,或余弦,相似性。
矢量相似性有很多应用。
它可以根据以前购买的产品进行推荐,找到最相似的图像,并可以确定哪些项目与用户的查询在语义上最匹配。
结论
随着强大的深度学习模型和支持它们的硬件的兴起,语义搜索已经是一种强大的搜索应用工具。
虽然我们在这里已经触及了一些不同的常见应用,但使用矢量搜索和人工智能的应用甚至更多。
甚至图像搜索或从图像中提取元数据也可以属于语义搜索。
如果做得正确,语义搜索将利用现实世界的知识,特别是通过机器学习和矢量相似性,将用户查询与相应的内容相匹配。