前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Elasticsearch全文检索与余弦相似度

Elasticsearch全文检索与余弦相似度

作者头像
Stanley Sun
发布2019-09-23 15:08:06
2.9K0
发布2019-09-23 15:08:06
举报

一、单个词语的全文搜索

见 《Elasticsearch全文搜索与TF/IDF》https://cloud.tencent.com/developer/article/1510687

二、多个词语的全文搜索

向量空间模型

向量空间模型提供了一种对文档进行多词查询对方法,返回值就是一个数字,它表示相关度。这个模型,将文档和查询当作向量。

一个向量就是一个一维数组,比如2, 3.5, 5, 2.1。在向量里面,每个数字都是一个词语对TF-IDF权重. TF-IDF的解释参见我的另一篇文章《Elasticsearch全文搜索与TF/IDF》https://cloud.tencent.com/developer/article/1510687

举例

假如现在我要在文档中搜索“Python语言”,系统会如何处理呢?

Python是一个非常用词,权重高一点,比如5;语言是一个常用词,权重低一点,比如2;那么,我们就可以将这个词组转变为一个二维向量 5,2。 可以用图表示:

假设我们有3个文档,分别是

  1. Python语言基础
  2. Python的高级应用
  3. 各种编程语言的比较

我们可以对每一个文档创建相似的向量,向量中包含“Python”和“语言”两个维度。

文档1: Python, 语言 ------ 5, 2

文档2: Python, _____ ------ 5, 0

文档3: ____, 语言 ------ 0, 2

我们比较查询向量和3个文档向量后,可以发现,查询向量的夹角最小,也就是说文档1最接近我们的查询。

另外,根据中学知识我们知道,夹角越小,余弦值越大。因此,我们可以用余弦值来表示相似度。

上面是2维向量的相似度,用同样的方式,可以算出多维向量的相似度,也就是可以计算多个词与文档的相关性。

相关文章

Elasticsearch全文搜索与TF/IDF

推荐引擎算法 - 猜你喜欢的东西

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、单个词语的全文搜索
  • 二、多个词语的全文搜索
    • 向量空间模型
      • 举例
      相关产品与服务
      Elasticsearch Service
      腾讯云 Elasticsearch Service(ES)是云端全托管海量数据检索分析服务,拥有高性能自研内核,集成X-Pack。ES 支持通过自治索引、存算分离、集群巡检等特性轻松管理集群,也支持免运维、自动弹性、按需使用的 Serverless 模式。使用 ES 您可以高效构建信息检索、日志分析、运维监控等服务,它独特的向量检索还可助您构建基于语义、图像的AI深度应用。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档