发布于: Jul 29, 2020

Amazon Elasticsearch Service 现支持采用 k 最近邻 (k-NN) 的余弦相似度距离指标,从而为您的相似度搜索引擎提供支持。余弦相似度用来测量两个向量之间的相似度(与他们的大小无关);它最常用于信息检索、图像识别、文本相似度、生物信息学和推荐系统。

我们在 Amazon Elasticsearch Service 中推出 k-NN 相似度搜索功能,该功能对跨数千个维度的数十亿个文档(以向量表示)进行最近邻搜索。初始版本的 k-NN 使用欧几里得距离来测量向量之间的相似度。余弦相似度测量两个向量在同一方向上夹角的余弦值,余弦夹角越小,向量之间的相似度越高。现在,您可以使用余弦相似度来测量两个向量之间的方向。例如,如果您使用词袋来比较两个长度差异很大的文档,两个文档中出现频率最高的单词是“pet”,它在较大的文档中出现了 300 次,在另外一个文档中出现了 75 次;由于比例不同,这两个文档之间的欧几里得距离可能很大,而由于文档内容具有相同方向,因此可以通过余弦相似度来认定文档相似。可以利用 Elasticsearch 的后处理功能(如聚合和过滤等),来进一步提高使用余弦相似度的 k-NN 搜索结果的精度。由于 Elasticsearch 具有高度分布式架构,因此您可以实施基于余弦相似度的企业级搜索引擎,从而实现较高的召回率和性能。

k-NN 中的余弦相似度搜索是使用高效的轻量级 Non-Metric Space Library (NMSLIB) 构建的,并由 Open Distro for Elasticsearch(由 Apache 2.0 许可的 Elasticsearch 发行版)提供支持。要了解有关 Open Distro for Elasticsearch 及其 k-NN 插件的更多信息,请访问项目网站

余弦相似度搜索现已在运行 Elasticsearch 7.7 的域上推出。要了解更多信息,请参阅该文档

Amazon Elasticsearch Service 现已在全球 24 个区域推出余弦相似度搜索:美国东部(弗吉尼亚北部、俄亥俄)、美国西部(俄勒冈、加利福尼亚北部)、AWS GovCloud(US-Gov-East、US-Gov-West)、加拿大(中部)、南美洲(圣保罗)、欧洲(爱尔兰、伦敦、法兰克福、巴黎、斯德哥尔摩、米兰)、亚太地区(新加坡、悉尼、东京、首尔、孟买、香港)、中东(巴林))、中国(北京,由光环新网运营;宁夏,由西云数据运营)以及非洲(开普敦)。有关 Amazon Elasticsearch Service 可用性的更多信息,请参阅 AWS 区域表。