Azure AI 搜尋中的語意排名
在 Azure AI 搜尋中, 語意排名 可測量地使用語言理解來重新調整搜尋結果,以改善搜尋相關性。 本文是高階簡介。 結尾的 區段涵蓋 可用性和定價。
語意排名器是進階功能,依使用量計費。 建議您針對背景使用本文,但如果您想要開始使用,請遵循下列步驟:
- 檢查區域可用性
- 登入 Azure 入口網站 以確認您的搜尋服務為基本或更新版本
- 啟用語意排名並選擇定價方案
- 在搜尋索引中設定語意組態
- 設定查詢以傳回語意 標題 和醒目提示
- 選擇性地傳回語意答案
注意
語意排名不會使用產生 AI 或向量。 如果您要尋找向量支援和相似度搜尋嗎? 如需詳細資訊,請參閱 Azure AI 搜尋中的向量搜尋 。
什麼是語意排名?
語意排名器是查詢相關功能的集合,可改善文字型查詢的初始 BM25 排名 或 RRF 排名 搜尋結果的品質。 當您在搜尋服務上啟用它時,語意排名會以兩種方式擴充查詢執行管線:
首先,它會在使用 BM25 或 RRF 評分的初始結果集上新增次要排名。 此次要排名使用從 Microsoft Bing 改編的多語種深度學習模型,以提升最語意相關的結果。
其次,它會擷取並傳回回應中的 標題 和答案,您可以在搜尋頁面上轉譯,以改善使用者的搜尋體驗。
以下是語意重新執行器的功能。
功能 | 描述 |
---|---|
語意排名 | 使用查詢的內容或語意意義,在預先建立的結果上計算新的相關性分數。 |
語意 標題和醒目提示 | 從最能摘要內容的檔中擷取逐字句子和片語,並醒目提示重要段落以方便掃描。 摘要結果的標題在個別內容字段對搜尋結果頁面而言太密集時很有用。 醒目提示的文字會提升最相關的字詞和片語,讓使用者可以快速判斷為什麼將相符專案視為相關。 |
語意答案 | 從語意查詢傳回的選擇性和額外子結構。 它提供查詢的直接答案,看起來像問題。 它要求檔具有具有答案特性的文字。 |
語意排名器的運作方式
語意排名會將查詢和結果饋送至 Microsoft 所裝載的語言理解模型,並掃描以取得更好的相符專案。
下圖說明概念。 請考慮「資本」一詞。 它有不同的意義,取決於內容是財務、法律、地理或文法。 透過語言理解,語意排名器可以偵測符合查詢意圖的內容並提升結果。
語意排名同時需要大量資源和時間。 為了在查詢作業的預期延遲內完成處理,語意排名器輸入會合併和減少,以便儘快完成重新排程步驟。
語意排名有兩個步驟:摘要和評分。 輸出是由重新記錄的結果、標題和答案所組成。
如何收集及摘要輸入
在語意排名中,查詢子系統會將搜尋結果當做輸入傳遞至摘要和排名模型。 由於排名模型具有輸入大小限制,而且需要大量處理,因此搜尋結果的大小和結構化(摘要)才能有效率的處理。
語意排名從 文字查詢的 BM25 排名結果 或 混合式查詢的 RRF 排名結果 開始。 重新撰寫練習中只會使用文字欄位,而且只有前 50 個結果會進行語意排名,即使結果包含超過 50 個。 一般而言,語意排名中使用的字段是參考和描述性的。
對於搜尋結果中的每個檔,摘要模型最多接受 2,000 個令牌,其中令牌大約是 10 個字元。 輸入會從語意組態中所列的 「title」、“keyword” 和 「content」 字段組合。
會修剪過長的字串,以確保整體長度符合摘要步驟的輸入需求。 此修剪練習是為什麼請務必以優先順序將字段新增至語意組態。 如果您有非常大型的檔具有大量文字欄位,則會忽略上限之後的任何專案。
語意欄位 令牌限制 “title” 128 個令牌 “keywords 128 個令牌 “content” 剩餘的令牌 摘要輸出是每份檔的摘要字串,由每個字段最相關的資訊所組成。 摘要字串會傳送至排名器以進行評分,以及計算機讀取 標題 和答案的理解模型。
傳遞至語意排名器之每個產生的摘要字串長度上限為 256 個標記。
語意排名器輸出
從每個摘要字串中,機器閱讀理解模型會尋找最具代表性的段落。
輸出為:
檔的語意 標題。 每個 標題 都以純文字版本和醒目提示版本提供,而且每個檔通常少於 200 個單字。
選擇性 的語意答案,假設您指定
answers
參數,查詢會提出為問題,而且會在提供問題可能答案的長字串中找到段落。
標題和答案一律是來自索引的逐字文字。 此工作流程中沒有任何產生 AI 模型可建立或撰寫新內容。
摘要的評分方式
評分會透過 標題 完成,以及填入 256 標記長度之摘要字串的任何其他內容。
相對於提供的查詢,標題會針對概念性和語意相關性進行評估。
@search.rerankerScore 會根據指定查詢之文件的語意相關性,指派給每個檔。 分數的範圍從 4 到 0(高到低),其中較高的分數表示較高的相關性。
相符專案會依分數以遞減順序列出,並包含在查詢響應承載中。 承載包含答案、純文本和反白顯示 標題,以及您在 select 子句中標示為可擷取或指定的任何字段。
注意
從 2023 年 7 月 14 日開始, @search.rerankerScore 分佈正在變更。 除了透過測試,無法判斷分數的影響。 如果您有此回應屬性的硬性臨界值相依性,請重新執行您的測試,以瞭解閾值應有哪些新值。
語意功能和限制
語意排名器是一項較新的技術,因此請務必設定對它可以做什麼和無法執行的期望。 它可以執行的動作:
升階比對語意接近原始查詢的意圖。
尋找要作為 標題和答案使用的字串。 標題和答案會在回應中傳回,而且可以在搜尋結果頁面上轉譯。
語意排名 無法 執行的動作是重新執行整個主體的查詢,以尋找語意相關的結果。 語意排名會重新調整現有的結果集,其中包含預設排名演算法所評分的前 50 個結果。 此外,語意排名無法建立新的資訊或字串。 標題和答案會從內容中逐字擷取,因此如果結果不包含類似答案的文字,語言模型就不會產生一個。
雖然語意排名在每一個案例中都沒有好處,但特定內容可以從其功能中獲益。 語意排名中的語言模型最適合用於資訊豐富且結構化為散文的可搜尋內容。 包含描述性內容的 知識庫、在線檔或檔,可看到語意排名功能的最大收益。
基礎技術來自 Bing 和 Microsoft Research,並整合至 Azure AI 搜尋服務基礎結構作為附加元件功能。 如需研究與 AI 投資支援語意排名的詳細資訊,請參閱 Bing 的 AI 如何為 Azure AI 搜尋提供動力(Microsoft 研究部落格)。
下列影片提供功能的概觀。
可用性和價格
語意排名器可在基本和更高層級的搜尋服務上使用,但受限於 區域可用性。
當您啟用語意排名器時,請選擇功能的定價方案:
- 在較低的查詢量(每月低於1000次),語意排名是免費的。
- 在較高的查詢磁碟區中,選擇標準定價方案。
Azure AI 搜尋服務定價頁面 會顯示不同貨幣和間隔的計費費率。
當查詢要求包含 queryType=semantic
且搜尋字串不是空的時,會收取語意排名的費用(例如 , search=pet friendly hotels in New York
。 如果您的搜尋字串是空的 (search=*
),即使您的queryType設定為語意,也不會向您收費。