日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在 Elasticsearch 中,評(píng)分(或打分)通常在查詢過程中進(jìn)行,以判斷文檔的相關(guān)性。

默認(rèn)的打分機(jī)制使用的是 BM25,但你也可以通過自定義的打分查詢(function_score)來自定義評(píng)分機(jī)制。然而,如果你想要將評(píng)分范圍限定在0到1之間,你可能需要在查詢中使用腳本來實(shí)現(xiàn)。

Elasticsearch 的評(píng)分主要關(guān)注的是相關(guān)性排序,而不是確切的評(píng)分值,因此如果你想要讓 Elasticsearch 的評(píng)分等比例地映射到0和1之間,你需要使用一些形式的歸一化或縮放方法。但這并不是 Elasticsearch 內(nèi)置的功能,你需要自己來實(shí)現(xiàn)。

1、歸一化解讀

當(dāng)我們談?wù)?quot;歸一化"時(shí),我們指的是將數(shù)據(jù)集轉(zhuǎn)換為一個(gè)共享的,標(biāo)準(zhǔn)化的比例或范圍。這在數(shù)據(jù)分析機(jī)器學(xué)習(xí)中非常常見,因?yàn)樗軌驇椭覀儗?duì)不同的數(shù)據(jù)集進(jìn)行公平的比較。

 

例如,假設(shè)你有兩個(gè)數(shù)據(jù)集,一個(gè)是人們的身高(以厘米為單位),另一個(gè)是人們的體重(以千克為單位)。這兩個(gè)數(shù)據(jù)集的范圍和單位都不同。如果我們直接比較它們,就很難得出有意義的結(jié)論。然而,如果我們將兩者都?xì)w一化到0和1之間,我們就可以更容易地比較和理解這兩個(gè)數(shù)據(jù)集。

常見的歸一化方法是使用最小值最大值歸一化法(Min-Max Normalization)。我們會(huì)使用到以下公式:

 

其中Xmax代表最大值、Xmin代表最小值。需要注意的是,當(dāng)有新數(shù)據(jù)進(jìn)來時(shí),可能會(huì)改變最大值或最小值,這時(shí)候我們就需要重新定義式子中的Xmax和Xmin,以免導(dǎo)致錯(cuò)誤。

參考:https://www.cupoy.com/collection/0000018008CD5D70000000046375706F795F72656C656173654355/00000181709BCC8F000000056375706F795F72656C656173654349

2、Elasticsearch 歸一化

在這個(gè) Elasticsearch 的案例中,我們正在討論的是如何將評(píng)分(_score)歸一化到0和1之間。

默認(rèn)情況下,Elasticsearch 的評(píng)分可以在很大的范圍內(nèi)變化,這取決于很多因素,比如查詢的復(fù)雜性,文檔的數(shù)量,等等。如果我們想要更方便地比較和理解這些評(píng)分,我們可以將它們歸一化,這樣所有的評(píng)分都會(huì)在0和1之間。

簡(jiǎn)而言之,歸一化就是將數(shù)據(jù)轉(zhuǎn)換到一個(gè)統(tǒng)一的范圍,這樣我們就可以更容易地進(jìn)行比較和理解。

歸一化的方法取決于你知道評(píng)分范圍的上下限,或者愿意接受一些近似值。一種可能的方法是,首先執(zhí)行一個(gè)查詢來獲取最高和最低的評(píng)分,然后使用這些值來歸一化其他查詢的評(píng)分。

然而,需要注意的是,這種方法可能會(huì)產(chǎn)生不一致的結(jié)果,因?yàn)?Elasticsearch 的評(píng)分機(jī)制會(huì)考慮各種因素(如 tf-idf,字段長(zhǎng)度等),并且對(duì)于不同的查詢,最高和最低的評(píng)分可能會(huì)有所不同。

因此,歸一化評(píng)分在 Elasticsearch 中是一個(gè)復(fù)雜的任務(wù),可能需要在查詢級(jí)別和/或應(yīng)用級(jí)別進(jìn)行處理。如果你正在設(shè)計(jì)一個(gè)系統(tǒng),需要在0和1之間等比例地映射評(píng)分,那么可能需要重新考慮是否 Elasticsearch 的評(píng)分機(jī)制是最適合的方式,或者可能需要查找其他方法來補(bǔ)充或替代 Elasticsearch 的評(píng)分。

3、Elasticsearch 8.X 評(píng)分歸一化

如果你想將 Elasticsearch 的評(píng)分等比例地映射到0和1之間,你首先需要知道可能的評(píng)分范圍。這可能需要你先執(zhí)行一個(gè)查詢來找出可能的最高和最低分。以下是一個(gè)簡(jiǎn)單的示例。首先,我們做一個(gè)查詢來找到評(píng)分范圍:

GET /your_index/_search
{
  "query": { "match_all": {} },
  "size": 1,
  "sort": [ { "_score": "desc" } ]
}

這個(gè)查詢會(huì)返回評(píng)分最高的文檔。你可以從返回的結(jié)果中找到 _score 字段,這就是最高的評(píng)分。你也可以通過將排序方向改為 "asc" 來找到最低的評(píng)分。然后,你可以用這些值來進(jìn)行歸一化。

假設(shè)你已經(jīng)找到了最高評(píng)分 max_score 和最低評(píng)分 min_score,你可以在查詢中使用一個(gè)腳本來進(jìn)行歸一化:

{
  "query": {
    "function_score": {
      "query": { "match_all": {} },
      "script_score": {
        "script": {
          "source": "(_score - params.min) / (params.max - params.min)",
          "params": {
            "max": max_score,
            "min": min_score
          }
        }
      }
    }
  }
}

在這個(gè)查詢中,我們使用了一個(gè)腳本,這個(gè)腳本會(huì)將原始評(píng)分 (_score) 歸一化到0和1之間。注意,你需要將 max_score 和 min_score 替換為你在前面的查詢中找到的值。

請(qǐng)注意,這只是一個(gè)簡(jiǎn)單的示例,并且這種方法有一些限制。例如,最高和最低的評(píng)分可能會(huì)隨著索引的更新而改變。你可能需要定期更新這些值,或者在每次查詢時(shí)都計(jì)算這些值,這可能會(huì)影響查詢的性能。

此外,這個(gè)腳本假設(shè)評(píng)分總是在 min_score 和 max_score 之間。如果有新的文檔或查詢導(dǎo)致評(píng)分超出了這個(gè)范圍,那么這個(gè)腳本可能會(huì)返回小于0或大于1的值。

在使用這個(gè)方法時(shí),你需要考慮這些限制,并根據(jù)你的實(shí)際情況進(jìn)行調(diào)整。

4、Elasticsearch 8.X 歸一化實(shí)操

接下來我們通過一個(gè)實(shí)際的操作示例來演示這個(gè)過程。

4.1 獲取最大評(píng)分

POST kibana_sample_data_ecommerce/_search
{
  "_source": [""],
  "query": {
    "match": {
      "customer_full_name": "Underwood"
    }
  },
  "size": 10,
  "sort": [
    {
      "_score": "desc"
    }
  ]
}

得到結(jié)果:4.4682097。

4.2 獲取最小評(píng)分

POST kibana_sample_data_ecommerce/_search
{
  "_source": [""],
  "query": {
    "match": {
      "customer_full_name": "Underwood"
    }
  },
  "size": 10,
  "sort": [
    {
      "_score": "asc"
    }
  ]
}

得到結(jié)果:3.731265。

4.3 計(jì)算到0-1之間的評(píng)分

POST kibana_sample_data_ecommerce/_search
{
  "from": 0,
  "size": 10,
  "_source": [
    ""
  ],
  "sort": [
    {
      "_score": {
        "order": "asc"
      }
    }
  ],
  "query": {
    "script_score": {
      "query": {
        "match": {
          "customer_full_name": "Underwood"
        }
      },
      "script": {
        "source": "(_score - params.min) / (params.max - params.min)",
        "params": {
          "max": 4.4682097,
          "min": 3.731265
        }
      }
    }
  }
}

通過這些步驟,我們就可以實(shí)現(xiàn)在 Elasticsearch 中將評(píng)分等比例地映射到0和1之間。

 

但是,這種方法有其局限性和挑戰(zhàn),需要根據(jù)實(shí)際情況進(jìn)行調(diào)整和優(yōu)化。

5、小結(jié)

本文詳細(xì)討論了在Elasticsearch中實(shí)現(xiàn)評(píng)分歸一化的方法。

這涉及到獲取最高和最低評(píng)分,然后通過查詢中的腳本進(jìn)行歸一化處理。雖然此方法在將評(píng)分等比例映射到0和1之間上有所作用,但存在諸如評(píng)分范圍隨索引更新而變化,新的文檔或查詢可能引發(fā)評(píng)分超出預(yù)設(shè)范圍等限制。

因此,雖然本文給出了具體的操作示例,但在實(shí)際應(yīng)用中,用戶需要根據(jù)具體情況靈活調(diào)整和優(yōu)化。

 

作者:銘毅天下

來源:微信公眾號(hào):銘毅天下Elasticsearch

出處
:https://mp.weixin.qq.com/s/ldCKn9VsPAh5V6B7s7ks0A

分享到:
標(biāo)簽:Elasticsearch
用戶無頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定