国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

Elastic Learned Sparse EncodeR(或 ELSER)是一種由 Elastic 訓(xùn)練的 NLP 模型,使你能夠使用稀疏向量表示來(lái)執(zhí)行語(yǔ)義搜索。 語(yǔ)義搜索不是根據(jù)搜索詞進(jìn)行字面匹配,而是根據(jù)搜索查詢的意圖和上下文含義檢索結(jié)果。

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

本教程中的說(shuō)明向你展示了如何使用 ELSER 對(duì)數(shù)據(jù)執(zhí)行語(yǔ)義搜索。

提示:在使用 ELSER v1 進(jìn)行語(yǔ)義搜索期間,僅考慮每個(gè)字段的前 512 個(gè)提取的標(biāo)記。 有關(guān)詳細(xì)信息,請(qǐng)參閱此頁(yè)面。

要求

要使用 ELSER 執(zhí)行語(yǔ)義搜索,你必須在集群中部署 NLP 模型。 請(qǐng)參閱 ELSER 文檔以了解如何下載和部署模型。

創(chuàng)建索引映射

首先,必須創(chuàng)建目標(biāo)索引的映射 —— 包含模型根據(jù)你的文本創(chuàng)建的標(biāo)記的索引。 目標(biāo)索引必須有一個(gè)具有 rank_features 字段類型的字段來(lái)索引 ELSER 輸出。

PUT my-index
{
  "mappings": {
    "properties": {
      "ml.tokens": {
        "type": "rank_features" 
      },
      "text_field": {
        "type": "text" 
      }
    }
  }
}

注意:

  • 包含預(yù)測(cè)的字段是 rank_features 字段。
  • 用于創(chuàng)建稀疏向量表示的 text 字段。

有關(guān) rank_features 字段的使用,請(qǐng)?jiān)敿?xì)閱讀文章 “Elasticsearch:Rank feature query - 排名功能查詢”。

使用推理處理器創(chuàng)建攝取管道

創(chuàng)建一個(gè)帶有推理處理器的攝取管道,以使用 ELSER 對(duì)管道中攝取的數(shù)據(jù)進(jìn)行推理。

PUT _ingest/pipeline/elser-v1-test
{
  "processors": [
    {
      "inference": {
        "model_id": ".elser_model_1",
        "target_field": "ml",
        "field_map": {
          "text": "text_field"
        },
        "inference_config": {
          "text_expansion": { 
            "results_field": "tokens"
          }
        }
      }
    }
  ]
}

text_expansion 推理類型需要在推理攝取處理器中使用。

加載數(shù)據(jù)

在此步驟中,你將加載稍后在推理攝取管道中使用的數(shù)據(jù),以從中提取 token。

使用 msmarco-passagetest2019-top1000 數(shù)據(jù)集,它是 MS MACRO Passage Ranking 數(shù)據(jù)集的子集。 它包含 200 個(gè)查詢,每個(gè)查詢都附有相關(guān)文本段落的列表。 所有獨(dú)特的段落及其 ID 都已從該數(shù)據(jù)集中提取并編譯成一個(gè) tsv 文件。

使用機(jī)器學(xué)習(xí) UI 中的數(shù)據(jù)可視化工具下載文件并將其上傳到你的集群。 將名稱 id 分配給第一列,將 text 分配給第二列。 索引名稱是 test-data。 上傳完成后,n你可以看到一個(gè)名為 test-data 的索引,其中包含 182469 個(gè)文檔。

關(guān)于如何加載這個(gè)數(shù)據(jù),請(qǐng)?jiān)敿?xì)閱讀文章 “Elasticsearch:如何部署 NLP:文本嵌入和向量搜索”。

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

通過(guò)推理攝取管道攝取數(shù)據(jù)

通過(guò)使用 ELSER 作為推理模型的推理管道重新索引數(shù)據(jù),從文本創(chuàng)建 tokens。

POST _reindex?wait_for_completion=false
{
  "source": {
    "index": "test-data"
  },
  "dest": {
    "index": "my-index",
    "pipeline": "elser-v1-test"
  }
}

該調(diào)用返回一個(gè)任務(wù) ID 以監(jiān)控進(jìn)度:

GET _tasks/<task_id>

你還可以打開經(jīng)過(guò)訓(xùn)練的模型 UI,選擇 ELSER 下的 Pipelines 選項(xiàng)卡以跟蹤進(jìn)度。 完成該過(guò)程可能需要幾分鐘時(shí)間。

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

我們通過(guò)如下的命令來(lái)查看被寫入的文檔:

GET my-index/_search

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

使用 text_expansion 查詢進(jìn)行語(yǔ)義搜索

要執(zhí)行語(yǔ)義搜索,請(qǐng)使用 text_expansion 查詢,并提供查詢文本和 ELSER 模型 ID。 下面的示例使用查詢文本 “How to avoid muscle soreness after running?”:?

GET my-index/_search
{
   "query":{
      "text_expansion":{
         "ml.tokens":{
            "model_id":".elser_model_1",
            "model_text":"How to avoid muscle soreness after running?"
         }
      }
   }
}

上面搜索的結(jié)果是:

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

結(jié)果是根據(jù)相關(guān)性排序的 my-index 索引中與你的查詢文本含義最接近的前 10 個(gè)文檔。 結(jié)果還包含為每個(gè)相關(guān)搜索結(jié)果提取的 token 及其權(quán)重。

"hits":[
   {
      "_index":"my-index",
      "_id":"978UAYgBKCQMet06sLEy",
      "_score":18.612831,
      "_ignored":[
         "text.keyword"
      ],
      "_source":{
         "id":7361587,
         "text":"For example, if you go for a run, you will mostly use the muscles in your lower body. Give yourself 2 days to rest those muscles so they have a chance to heal before you exercise them again. Not giving your muscles enough time to rest can cause muscle damage, rather than muscle development.",
         "ml":{
            "tokens":{
               "muscular":0.075696334,
               "mostly":0.52380747,
               "practice":0.23430172,
               "rehab":0.3673556,
               "cycling":0.13947526,
               "your":0.35725075,
               "years":0.69484913,
               "soon":0.005317828,
               "leg":0.41748235,
               "fatigue":0.3157955,
               "rehabilitation":0.13636169,
               "muscles":1.302141,
               "exercises":0.36694175,
               (...)
            },
            "model_id":".elser_model_1"
         }
      }
   },
   (...)
]

將語(yǔ)義搜索與其他查詢相結(jié)合

你可以將 text_expansion 與復(fù)合查詢中的其他查詢結(jié)合使用。 例如,在布爾或全文查詢中使用過(guò)濾器子句,可能會(huì)或可能不會(huì)使用與 text_expansion 查詢相同的查詢文本。 這使你能夠合并來(lái)自兩個(gè)查詢的搜索結(jié)果。

來(lái)自 text_expansion 查詢的搜索命中往往得分高于其他 Elasticsearch 查詢。 這些分?jǐn)?shù)可以通過(guò)使用 boost 參數(shù)增加或減少每個(gè)查詢的相關(guān)性分?jǐn)?shù)來(lái)規(guī)范化。 text_expansion 查詢的召回率可能很高,因?yàn)橄嚓P(guān)性較低的結(jié)果很長(zhǎng)。 使用 min_score 參數(shù)修剪那些不太相關(guān)的文檔。

GET my-index/_search
{
  "query": {
    "bool": { 
      "should": [
        {
          "text_expansion": {
            "ml.tokens": {
              "model_text": "How to avoid muscle soreness after running?",
              "model_id": ".elser_model_1",
              "boost": 1 
            }
          }
        },
        {
          "query_string": {
            "query": "toxins",
            "boost": 4 
          }
        }
      ]
    }
  },
  "min_score": 10 
}

Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索

說(shuō)明文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-500101.html

  • text_expansion 和 query_string 查詢都在 bool 查詢的 should 子句中。
  • text_expansion 查詢的提升值為 1,這是默認(rèn)值。 這意味著該查詢結(jié)果的相關(guān)性分?jǐn)?shù)沒(méi)有提高。
  • query_string 查詢的提升值為 4。 此查詢結(jié)果的相關(guān)性分?jǐn)?shù)增加,導(dǎo)致它們?cè)谒阉鹘Y(jié)果中排名更高。
  • 僅顯示分?jǐn)?shù)等于或高于 10 的結(jié)果。

到了這里,關(guān)于Elasticsearch:使用 ELSER 進(jìn)行語(yǔ)義搜索的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Elasticsearch:使用 Transformers 和 Elasticsearch 進(jìn)行語(yǔ)義搜索

    Elasticsearch:使用 Transformers 和 Elasticsearch 進(jìn)行語(yǔ)義搜索

    什么語(yǔ)義搜索( semantic search )呢?根據(jù)搜索查詢的意圖和上下文含義(而不僅僅是)檢索結(jié)果。語(yǔ)義/向量搜索是一種強(qiáng)大的技術(shù),可以大大提高搜索結(jié)果的準(zhǔn)確性和相關(guān)性。 與傳統(tǒng)的基于的搜索方法不同,語(yǔ)義搜索使用單詞的含義和上下文來(lái)理解查詢背后的意

    2024年02月08日
    瀏覽(26)
  • 使用 Elasticsearch、OpenAI 和 LangChain 進(jìn)行語(yǔ)義搜索

    使用 Elasticsearch、OpenAI 和 LangChain 進(jìn)行語(yǔ)義搜索

    在本教程中,我將引導(dǎo)您使用 Elasticsearch、OpenAI、LangChain 和 FastAPI 構(gòu)建語(yǔ)義搜索服務(wù)。 LangChain 是這個(gè)領(lǐng)域的新酷孩子。 它是一個(gè)旨在幫助你與大型語(yǔ)言模型 (LLM) 交互的庫(kù)。 LangChain 簡(jiǎn)化了與 LLMs 相關(guān)的許多日常任務(wù),例如從文檔中提取文本或在向量數(shù)據(jù)庫(kù)中對(duì)它們建立索引

    2024年02月08日
    瀏覽(21)
  • Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

    Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

    警告 :此功能處于技術(shù)預(yù)覽階段,可能會(huì)在未來(lái)的版本中更改或刪除。 Elastic 將盡最大努力修復(fù)任何問(wèn)題,但技術(shù)預(yù)覽中的功能不受官方 GA 功能的支持 SLA 約束。 Elastic Learned Sparse EncodeR - 或 ELSER - 是由 Elastic 訓(xùn)練的檢索模型,使你能夠執(zhí)行語(yǔ)義搜索以檢索更相關(guān)的搜索結(jié)果

    2024年02月09日
    瀏覽(24)
  • Elasticsearch:升級(jí)索引以使用 ELSER 最新的模型

    Elasticsearch:升級(jí)索引以使用 ELSER 最新的模型

    在此 notebook 中,我們將看到有關(guān)如何使用 Reindex API 將索引升級(jí)到 ELSER 模型 .elser_model_2 的示例。 注意:或者,你也可以通過(guò) update_by_query 來(lái)更新索引以使用 ELSER。 在本筆記本中,我們將看到使用 Reindex API 的示例。 我們將在本筆記本中看到的場(chǎng)景: 將未生成 text_expansion 字段

    2024年02月03日
    瀏覽(23)
  • Elasticsearch:如何在 Elastic 中實(shí)現(xiàn)圖片相似度搜索

    Elasticsearch:如何在 Elastic 中實(shí)現(xiàn)圖片相似度搜索

    作者:Radovan Ondas 在本文章,我們將了解如何通過(guò)幾個(gè)步驟在 Elastic 中實(shí)施相似圖像搜索。 開始設(shè)置應(yīng)用程序環(huán)境,然后導(dǎo)入 NLP 模型,最后完成為你的圖像集生成嵌入。 Elastic 圖像相似性搜索概覽 Elasticsearch:如何在 Elastic 中實(shí)現(xiàn)圖片相似度搜索 第一步是為你的應(yīng)用程序設(shè)

    2024年01月22日
    瀏覽(30)
  • Elasticsearch:多語(yǔ)言語(yǔ)義搜索

    Elasticsearch:多語(yǔ)言語(yǔ)義搜索

    在此示例中,我們將使用多語(yǔ)言嵌入模型 multilingual-e5-base 對(duì)混合語(yǔ)言文檔的 toy 數(shù)據(jù)集執(zhí)行搜索。 使用這個(gè)模型,我們可以通過(guò)兩種方式進(jìn)行搜索: 跨語(yǔ)言,例如使用德語(yǔ)查詢來(lái)查找英語(yǔ)文檔 在非英語(yǔ)語(yǔ)言中,例如使用德語(yǔ)查詢來(lái)查找德語(yǔ)文檔 雖然此示例僅使用密集檢索,

    2024年02月08日
    瀏覽(26)
  • Elasticsearch:語(yǔ)義搜索即服務(wù)處于卓越搜索的中心

    Elasticsearch:語(yǔ)義搜索即服務(wù)處于卓越搜索的中心

    作者:來(lái)自 Elastic?Sherry Ger, Stephen Brown 對(duì)于許多企業(yè)來(lái)說(shuō),搜索卓越中心(center of excellence - COE)向其用戶提供搜索服務(wù),從不同的數(shù)據(jù)源中整理知識(shí),并將搜索功能集成到其內(nèi)部和外部應(yīng)用程序中。Elasticsearch,這個(gè) “支撐著互聯(lián)網(wǎng)上大約 90% 的搜索欄” 的分布式搜索平臺(tái),

    2024年04月11日
    瀏覽(22)
  • Elastic 發(fā)布 Elasticsearch Relevance Engine? — 為 AI 革命提供高級(jí)搜索能力

    Elastic 發(fā)布 Elasticsearch Relevance Engine? — 為 AI 革命提供高級(jí)搜索能力

    作者:Matt Riley 今天我們將向大家介紹 Elasticsearch Relevance Engine?(ESRE?) ,這是一種創(chuàng)建高度相關(guān)的 AI 搜索應(yīng)用程序的新功能。ESRE 建立在 Elastic 在搜索領(lǐng)域的領(lǐng)導(dǎo)地位以及超過(guò)兩年的機(jī)器學(xué)習(xí)研究和開發(fā)基礎(chǔ)之上。Elasticsearch Relevance Engine 結(jié)合了 AI 的最佳實(shí)踐和 Elastic 的文

    2024年02月06日
    瀏覽(64)
  • Elasticsearch:使用 fuzziness 來(lái)進(jìn)行搜索

    在我之前的文章 “Elasticsearch:fuzzy 搜索 (模糊搜索)”,我詳細(xì)描述了模糊搜索。盡管那篇文章已經(jīng)很詳盡了,但是還是有 auto 這個(gè)配置沒(méi)有完全覆蓋到。在今天的文章中,我們來(lái)進(jìn)一步對(duì)這個(gè)進(jìn)行講解一下。 Fuzziness 參數(shù)存在于某些查詢中,使用它時(shí),你將受益于根據(jù)術(shù)

    2024年02月08日
    瀏覽(23)
  • Django中使用Elasticsearch進(jìn)行搜索

    Django是一個(gè)流行的Python Web框架,Elasticsearch是一個(gè)流行的開源搜索引擎。結(jié)合Django和Elasticsearch,可以構(gòu)建一個(gè)強(qiáng)大的搜索引擎。 下面是如何在Django中使用Elasticsearch進(jìn)行搜索的步驟: 安裝Elasticsearch和elasticsearch-py 首先,需要在本地安裝Elasticsearch和elasticsearch-py??梢酝ㄟ^(guò)官網(wǎng)

    2024年02月11日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包