ES 向量搜索 function score 报错

这篇具有很好参考价值的文章主要介绍了ES 向量搜索 function score 报错。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

reason "function score query returned an invalid score: NaN for doc: 17085

原因是向量搜索定义评分的计算方法consineSimilarity的计算过程中需要对两个向量求模

故,如果全文索引中存在全零向量数据时,可以将consineSimilarity计算换成其它向量相似度计算方法,例如 dotProduct

GET reference/_search
{ "explain": true, 
  "query": {
    "function_score": {
      "query": {
         "multi_match": {
            "query": "清华大学艺术系的小明同学",
            "fields": ["name", "school", "department", "home_address"]
  
          }
      },
      "functions": [
        {
          "script_score": {
            "script": {
              "source": "(cosineSimilarity(params.query_vector, 'text_vector') + 1.0)*0.6", 
              "params": {
                "query_vector": [0.17213014641107321, 0.03529149917147957, 0.021164631815954453, 0.04276578593911642, -0.011539837034197614, -0.040505111467529525, -0.013804620485218865, 0.07954305265937577, -0.03259408482301212, 0.042030898483276985, -0.08187475423584016, 0.02331000497613773, -0.012518793076655677, 0.028751927085989483, -0.0450599553695574, 0.02574408603742391, -0.012067035100387393, 0.08755896933278114, 0.0043671871492196096]
              }
            }
          }
        },
        {
          "field_value_factor": {
            "field": "page_r", 
            "modifier": "log1p", 
            "factor": 100, 
            "missing": 1
          }
        }
      ],
      "score_mode": "max", 
      "boost_mode": "multiply"
    }
  },
  "_source": ["student_id", "school", "name"], 
  "size": 20
}

consineSimilarity替换为文章来源地址https://www.toymoban.com/news/detail-606921.html

"source": "(dopProduct(params.query_vector, 'text_vector') + 1.0)*0.6", 

到了这里,关于ES 向量搜索 function score 报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 自然语言处理(四):全局向量的词嵌入(GloVe)

    全局向量的词嵌入(Global Vectors for Word Representation),通常简称为GloVe,是一种用于将词语映射到连续向量空间的词嵌入方法。它旨在捕捉词语之间的语义关系和语法关系,以便在自然语言处理任务中能够更好地表示词语的语义信息。 GloVe的设计基于两个观察结果:共现矩阵(

    2024年02月11日
    浏览(48)
  • 自然语言处理-词向量模型-Word2Vec

    通常数据的维度越高,能提供的信息也就越多,从而计算结果的可靠性就更值得信赖 如何来描述语言的特征呢,通常都在词的层面上构建特征,Word2Vec就是要把词转换成向量 假设现在已经拿到一份训练好的词向量,其中每一个词都表示为50维的向量 如果在热度图中显示,结果

    2024年02月09日
    浏览(52)
  • 【自然语言处理】理解词向量、CBOW与Skip-Gram模型

    由于计算机不能直接对各种字符进行运算,为此需要将词的表示进行一些转换。因此,在自然语言处理中,通常需要对输入的语料进行一些预处理: 其中,如何对词汇进行表示是很关键的问题,糟糕的表示方法容易导致所谓的 “Garbage in, garbage out”。 对词汇的表示,常见的

    2024年02月08日
    浏览(46)
  • 2.自然语言处理NLP:词映射为向量——词嵌入(word embedding)

    1. 什么是词嵌入(word2vec) : 把词映射为向量(实数域)的技术 2. 为什么不采用one-hot向量: one-hot词向量无法准确表达不同词之间的相似度,eg:余弦相似度,表示夹角之间的余弦值,无法表达不同词之间的相似度。 3. word2vec主要包含哪两个模型 跳字模型: 基于某个词生成

    2024年02月06日
    浏览(54)
  • ai智能搜索生产实现(低门槛实现自然语言搜索)

    目录 实现思路 原始数据预处理 自然语言处理 业务处理 总体架构 调优 话术调优 自然语言搜索是一种搜索方式,用户可以以自然语言的形式提问或描述他们正在寻找的信息,而不是使用特定的查询语法或。简单来说,就是用户可以用日常的对话方式来进行搜索。 这种

    2024年03月19日
    浏览(50)
  • Elasticsearch的全文搜索和自然语言处理

    Elasticsearch是一个开源的搜索和分析引擎,基于Lucene库,具有高性能、可扩展性和实时性。它广泛应用于企业级搜索、日志分析、实时数据处理等领域。本文将涵盖Elasticsearch的全文搜索和自然语言处理相关知识,包括核心概念、算法原理、最佳实践和实际应用场景。 2.1 Elast

    2024年02月21日
    浏览(46)
  • 自然语言处理从入门到应用——LangChain:索引(Indexes)-[向量存储器(Vectorstores)]

    分类目录:《大模型从入门到应用》总目录 LangChain系列文章: 基础知识 快速入门 安装与环境配置 链(Chains)、代理(Agent:)和记忆(Memory) 快速开发聊天模型 模型(Models) 基础知识 大型语言模型(LLMs) 基础知识 LLM的异步API、自定义LLM包装器、虚假LLM和人类输入LLM(

    2024年02月12日
    浏览(70)
  • 自然语言处理从入门到应用——全局向量的词嵌入:GloVe(Global Vectors for Word Representation)词向量

    分类目录:《自然语言处理从入门到应用》总目录 无论是基于神经网络语言模型还是word2vec的词向量预训练方法,本质上都是利用文本中词与词在局部上下文中的共现信息作为自监督学习信号。除此之外,另一类常用于估计词向量的方法是基于矩阵分解的方法,例如潜在语义

    2024年02月09日
    浏览(46)
  • 自然语言处理从入门到应用——静态词向量预训练模型:神经网络语言模型(Neural Network Language Model)

    分类目录:《自然语言处理从入门到应用》总目录 《自然语言处理从入门到应用——自然语言处理的语言模型(Language Model,LM)》中介绍了语言模型的基本概念,以及经典的基于离散符号表示的N元语言模型(N-gram Language Model)。从语言模型的角度来看,N元语言模型存在明显

    2024年02月09日
    浏览(54)
  • 自然语言处理14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本

    大家好,我是微学AI,今天给大家介绍一下自然语言处理实战项目14-基于文本向量和欧氏距离相似度的文本匹配,用于找到与查询语句最相似的文本。NLP中的文本匹配是指通过计算文本之间的相似度来找到与查询语句最相似的文本。其中一种常用的方法是基于文本向量和欧氏

    2024年02月15日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包