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

Elasticsearch:使用 Elasticsearch 進行語義搜索

這篇具有很好參考價值的文章主要介紹了Elasticsearch:使用 Elasticsearch 進行語義搜索。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在數(shù)字時代,搜索引擎在通過瀏覽互聯(lián)網(wǎng)上的大量可用信息來檢索數(shù)據(jù)方面發(fā)揮著重要作用。 此方法涉及用戶在搜索欄中輸入特定術(shù)語或短語,期望搜索引擎返回與這些確切關(guān)鍵字匹配的結(jié)果。

雖然關(guān)鍵字搜索對于簡化信息檢索非常有價值,但它也有其局限性。 主要缺點之一在于它對詞匯匹配的依賴。 關(guān)鍵字搜索將查詢中的每個單詞視為獨立的實體,通常會導(dǎo)致結(jié)果可能與用戶的意圖不完全一致。 此外,不明確的查詢可能會產(chǎn)生不同的解釋,從而導(dǎo)致混合或不準(zhǔn)確的結(jié)果。

當(dāng)處理上下文嚴(yán)重影響含義的語言時,會出現(xiàn)另一個關(guān)鍵限制。 詞語的含義在很大程度上取決于具體情況。 單獨使用關(guān)鍵字可能無法正確捕獲這些查詢,這可能會導(dǎo)致誤解。

隨著我們的數(shù)字環(huán)境不斷發(fā)展,我們對更精致、更直觀的搜索體驗的期望也在不斷變化。 這為語義搜索的出現(xiàn)鋪平了道路,語義搜索是一種旨在超越傳統(tǒng)基于關(guān)鍵字的方法的局限性的方法。 通過關(guān)注搜索查詢的意圖和上下文含義,語義搜索為關(guān)鍵字搜索帶來的挑戰(zhàn)提供了一種有前景的解決方案。

Elasticsearch:使用 Elasticsearch 進行語義搜索,AI,Elasticsearch,Elastic,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索,人工智能

如上面的圖片所示,如果我們通過 keyword 來進行搜索,我們想搜索的是 apple 水果,但是我們最終可能得到是關(guān)于 apple(蘋果)公司的有關(guān)信息。其實它并不是我們想要的。

什么是語義搜索?

語義搜索是在互聯(lián)網(wǎng)上搜索內(nèi)容的高級方式。 它不僅僅是匹配單詞,而是理解你真正在尋找的內(nèi)容。 它能找出你的話背后的含義以及它們之間的關(guān)系。

這項技術(shù)使用人工智能和理解人類語言等技術(shù)。 幾乎就像它在說人類一樣! 它著眼于大局,檢查具有相似含義的單詞以及與你所問問題相關(guān)的其他想法。

基本上,語義搜索可以幫助你從互聯(lián)網(wǎng)上的大量內(nèi)容中準(zhǔn)確獲取所需的內(nèi)容。 這就像與一個超級聰明的搜索引擎交談,它不僅可以獲取你所說的單詞,還可以獲取你真正想要查找的內(nèi)容。 這使得它非常適合做研究、查找信息,甚至獲得符合你興趣的建議。

Elasticsearch:使用 Elasticsearch 進行語義搜索,AI,Elasticsearch,Elastic,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索,人工智能

語義搜索的好處

  1. 精確度和相關(guān)性:語義搜索通過理解用戶意圖和上下文提供高度相關(guān)的結(jié)果。
  2. 自然語言理解:它理解復(fù)雜的查詢,使自然語言交互更加有效。
  3. 消除歧義:它解決歧義查詢,根據(jù)用戶行為和上下文提供準(zhǔn)確的結(jié)果。
  4. 個性化:語義搜索從用戶行為中學(xué)習(xí)以獲取定制結(jié)果,從而隨著時間的推移提高相關(guān)性。

Elastic Search 中的語義搜索

Elastic Search 提供語義搜索,重點關(guān)注搜索查詢的含義和上下文,而不僅僅是匹配關(guān)鍵字。 它使用自然語言處理(NLP)和向量搜索來實現(xiàn)這一目標(biāo)。 Elastic 有自己的預(yù)訓(xùn)練表示模型,稱為 Elastic Learned Sparse EncodeR (ELSER)。

在進入 ELSER 之前,讓我們更多地了解 NLP 和向量搜索。

自然語言處理(NLP)

自然語言處理是人工智能的一個分支,致力于使計算機能夠以有價值且有用的方式理解、解釋和生成人類語言。

Elasticsearch:使用 Elasticsearch 進行語義搜索,AI,Elasticsearch,Elastic,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索,人工智能

NLP 涉及一組允許計算機處理和分析大量自然語言數(shù)據(jù)的技術(shù)和算法。 這包括以下任務(wù):

  • 文本理解:NLP 幫助計算機理解一篇文章的內(nèi)容。 它可以找出文本中的重要內(nèi)容,例如姓名、關(guān)系和感受。
  • 文本處理:這涉及將句子分解為單詞或短語、將單詞簡化為其基本形式以及識別句子的不同部分等任務(wù)。
  • 命名實體識別 (NER):NLP 可以識別文本中的特殊事物,例如人名、地名或組織名稱。 這有助于理解正在討論的內(nèi)容。

向量搜索

向量搜索是一種涉及將數(shù)據(jù)點或信息表示為多維空間中的向量的技術(shù)。 空間的每個維度代表文檔或數(shù)據(jù)點的不同特征或?qū)傩浴?/p>

在這個向量空間中,相似的文檔或數(shù)據(jù)點彼此距離更近。 這允許有效的基于相似性的搜索。 例如,如果你正在搜索與給定文檔相似的文檔,則可以計算表示文檔的向量之間的相似度以查找最接近的匹配項。

向量搜索廣泛用于各種應(yīng)用,包括:

  1. 推薦系統(tǒng):它有助于根據(jù)用戶的喜好向他們推薦類似的項目。
  2. 信息檢索:它允許在大型語料庫中查找相似的文檔。
  3. 異常檢測:它有助于識別異?;虍惓?shù)據(jù)點。

NLP 與向量搜索的工作原理

Elasticsearch:使用 Elasticsearch 進行語義搜索,AI,Elasticsearch,Elastic,elasticsearch,大數(shù)據(jù),搜索引擎,全文檢索,人工智能

1)Vector embedding:
????????在此步驟中,NLP 涉及將文本數(shù)據(jù)轉(zhuǎn)換為數(shù)值向量。 使用詞嵌入等技術(shù)將文本中的每個單詞轉(zhuǎn)換為高維向量

2.相似度分?jǐn)?shù):

????????引擎將向量化查詢與向量化文檔進行比較以確定它們的相似性。

3)人工神經(jīng)網(wǎng)絡(luò)算法:

????????近似最近鄰 (ANN) 算法可有效查找高維空間中的近似最近鄰。

4)查詢處理:

????????用戶的查詢經(jīng)歷與文檔類似的處理以生成向量表示。

5)距離計算:

????????引擎計算向量化查詢和文檔之間的距離(相似度分?jǐn)?shù))。

6)最近鄰搜索:

????????引擎查找嵌入最接近查詢嵌入的文檔。

7)排名結(jié)果:

????????結(jié)果根據(jù)相似度分?jǐn)?shù)進行排名。

ELSER

ELSER 是一個經(jīng)過專門設(shè)計的預(yù)訓(xùn)練模型,可以出色地理解上下文和意圖,而無需進行復(fù)雜的微調(diào)。 ELSER 目前僅適用于英語,其開箱即用的適應(yīng)性使其成為各種自然語言處理任務(wù)的寶貴工具。 它對稀疏向量表示的利用提高了處理文本數(shù)據(jù)的效率。 ELSER 的詞匯表中包含約 30,000 個術(shù)語,通過用上下文相關(guān)的對應(yīng)項替換術(shù)語來優(yōu)化查詢,確保精確而全面的搜索結(jié)果。

讓我們深入探討如何利用 ELSER 的潛力來增強 Elasticsearch 中的搜索能力。你可以參考文章 “Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR” 來配置自己的 ELSER。

第 1 步:創(chuàng)建具有所需映射的索引

  • 在 Elasticsearch 中,“索引 (index)” 是指具有共同特征或?qū)儆谙嗨祁悇e的文檔的集合。 它類似于關(guān)系數(shù)據(jù)庫中的表或其他一些 NoSQL 數(shù)據(jù)庫中的類型。 索引中的每個文檔都分配有一個唯一標(biāo)識符,并且包含 JSON 格式的結(jié)構(gòu)化數(shù)據(jù)。
  • 定義索引的映射,該映射將包含模型根據(jù)您的輸入生成的 token。 該索引必須有一個 rank_features 字段類型的字段來索引 ELSER 輸出。
PUT <index-name>
{
  "mappings": {
    "properties": {
      "ml.tokens": { 
        "type": "rank_features" 
      },
      "name": { 
        "type": "text" 
      }
    }
  }
}

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

  • Elasticsearch 中的攝取管道使您能夠在索引之前對數(shù)據(jù)應(yīng)用各種轉(zhuǎn)換。 這些轉(zhuǎn)換包括字段刪除、文本值提取和數(shù)據(jù)豐富等任務(wù)。
  • 管道包含一組稱為處理器的可定制任務(wù)。 這些處理器以順序方式運行,對傳入文檔實施特定修改。使用推理處理器創(chuàng)建攝取管道,以使用 ELSER 對正在攝取的數(shù)據(jù)進行推理。
PUT _ingest/pipeline/<pipeline-name>
{
  "processors": [
    {
      "inference": {
        "model_id": ".elser_model_1",
        "target_field": "ml",
        "field_map": { 
          "text": "text_field"
        },
        "inference_config": {
          "text_expansion": { 
            "results_field": "tokens"
          }
        }
      }
    }
  ]
}

第 3 步:將數(shù)據(jù)添加到索引

  • 索引映射和攝取管道已設(shè)置,現(xiàn)在我們可以開始向索引添加數(shù)據(jù)。
  • 攝取管道作用于傳入數(shù)據(jù)并將相關(guān)標(biāo)記添加到文檔中
curl -X POST 'https://<url>/<index-name>/_doc?pipeline=<ingest-pipeline-name' 
  -H 'Content-Type: application/json' 
  -H 'Authorization: ApiKey <Replace_with_created_API_key>' 
  -d '{
  "name" : "How to Adapt Crucial Conversations to Global Audiences"
}'

攝取管道作用于傳入數(shù)據(jù)并將相關(guān) token 添加到文檔中:

{
 "name" : "How to Adapt Crucial Conversations to Global Audiences",
 "ml":{
    "tokens": {
        "voice": 0.057680283,
        "education": 0.18481751,
        "questions": 0.4389099,
        "adaptation": 0.6029656,
        "language": 0.4136539,
        "quest": 0.082507774,
        "presentation": 0.035054933,
        "context": 0.2709603,
        "talk": 0.17953876,
        "communication": 1.0619682,
        "international": 0.38651025,
        "different": 0.25769454,
        "conversation": 1.03593,
        "train": 0.021380302,
        "audience": 0.97641367,
        "development": 0.33928272,
        "adapt": 0.90020984,
        "certification": 0.45675382,
        "cultural": 0.63132435,
        "distraction": 0.38943478,
        "success": 0.09179027,
        "cultures": 0.82463825,
        "essay": 0.2730616,
        "institute": 0.21582486,
       },
       "model_id":".elser_model_1"
    }
}

第 4 步:執(zhí)行語義搜索

  • 使用 text expansion 查詢來執(zhí)行語義搜索。 提供查詢文本和 ELSER 模型 ID。
  • 文本擴展查詢使用自然語言處理模型將查詢文本轉(zhuǎn)換為 token 權(quán)重對列表,然后將其用于針對 rank_features 字段的查詢。
GET <index-name>/_search
{
   "query":{
      "text_expansion":{
         "ml.tokens":{
            "model_id":".elser_model_1",
            "model_text":<query_text>
         }
      }
   }
}

第 5 步:將語義搜索與其他查詢結(jié)合起來

  • 我們還可以將 text_expansion 與復(fù)合查詢中的其他查詢結(jié)合起來,以獲得更精細的結(jié)果。
GET my-index/_search
{
  "query": {
    "bool": { 
      "should": [
        {
          "text_expansion": {
            "ml.tokens": {
              "model_text": <query_text>,
              "model_id": ".elser_model_1",
            }
          }
        },
        {
          "query_string": {
            "query": <query_text>,
          }
        }
      ]
    }
  }
}

我們還可以將 text_expansion 與復(fù)合查詢中的其他查詢結(jié)合起來,以獲得更精細的結(jié)果。
與 Elasticsearch 中的其他查詢相比,text_expansion 查詢通常會產(chǎn)生更高的分?jǐn)?shù)。 我們可以使用 boost 參數(shù)調(diào)整相關(guān)性分?jǐn)?shù)。

更多閱讀:

  • Elasticsearch:部署 ELSER - Elastic Learned Sparse EncoderR

  • Elasticsearch:使用 ELSER 進行語義搜索

  • Elasticsearch:使用 ELSER 釋放語義搜索的力量:Elastic Learned Sparse EncoderR文章來源地址http://www.zghlxwxcb.cn/news/detail-718119.html

到了這里,關(guān)于Elasticsearch:使用 Elasticsearch 進行語義搜索的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Elasticsearch:使用 ELSER 文本擴展進行語義搜索

    Elasticsearch:使用 ELSER 文本擴展進行語義搜索

    在今天的文章里,我來詳細地介紹如何使用 ELSER??進行文本擴展驅(qū)動的語義搜索。 如果你還沒有安裝好自己的 Elasticsearch 及 Kibana,請參考如下的鏈接來進行安裝: 如何在 Linux,MacOS 及 Windows 上進行安裝 Elasticsearch Kibana:如何在 Linux,MacOS 及 Windows 上安裝 Elastic 棧中的 Kiba

    2024年02月07日
    瀏覽(25)
  • 使用 Elasticsearch、OpenAI 和 LangChain 進行語義搜索

    使用 Elasticsearch、OpenAI 和 LangChain 進行語義搜索

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

    2024年02月08日
    瀏覽(21)
  • Elastic 發(fā)布 Elasticsearch Relevance Engine? — 為 AI 革命提供高級搜索能力

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

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

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

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

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

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

    Elasticsearch:多語言語義搜索

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

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

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

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

    2024年04月11日
    瀏覽(21)
  • Elasticsearch:使用 fuzziness 來進行搜索

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

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

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

    2024年02月11日
    瀏覽(33)
  • Elasticsearch:語義搜索 - Semantic Search in python

    Elasticsearch:語義搜索 - Semantic Search in python

    當(dāng) OpenAI 于 2022 年 11 月發(fā)布 ChatGPT 時,引發(fā)了人們對人工智能和機器學(xué)習(xí)的新一波興趣。 盡管必要的技術(shù)創(chuàng)新已經(jīng)出現(xiàn)了近十年,而且基本原理的歷史甚至更早,但這種巨大的轉(zhuǎn)變引發(fā)了各種發(fā)展的“寒武紀(jì)大爆炸”,特別是在大型語言模型和生成 transfors 領(lǐng)域。 一些懷疑論

    2024年02月14日
    瀏覽(23)
  • Elasticsearch:使用查詢規(guī)則(query rules)進行搜索

    Elasticsearch:使用查詢規(guī)則(query rules)進行搜索

    在之前的文章 “Elasticsearch 8.10 中引入查詢規(guī)則 - query rules”,我們詳述了如何使用 query rules 來進行搜索。這個交互式筆記本將向你介紹如何使用官方 Elasticsearch Python 客戶端來使用查詢規(guī)則。 你將使用 query rules API 將查詢規(guī)則存儲在 Elasticsearch 中,并使用 rule_query 查詢它們。

    2024年02月21日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包