大數據挖掘--兩個角度理解相似度計算理論

文章目錄

  • 0 相似度計算可以轉換成什么問題
  • 1 集合相似度的應用
    • 1.1 集合相似度
      • 1.1文檔相似度
      • 1.2 協同過濾
        • 用戶-用戶協同過濾
        • 物品-物品協同過濾
    • 1.2 文檔的shingling--將文檔表示成集合
      • 1.2.1 k-shingling
      • 1.2.2 基于停用詞的 shingling
    • 1.3 最小哈希簽名
    • 1.4 局部敏感哈希算法(LSH)
    • 1.5 最小哈希簽名和局部敏感哈希(LSH)的概念結合示例
        • 最小哈希簽名步驟:
        • 局部敏感哈希 (LSH) 步驟:
  • 2 距離測度的應用
    • 2.1 距離測度
      • 1. 歐氏距離 (Euclidean Distance)
      • 2. 余弦距離 (Cosine Distance)
      • 3. 編輯距離 (Edit Distance)
      • 4. 海明距離 (Hamming Distance)
  • 3 LSH函數家族

0 相似度計算可以轉換成什么問題

相似度計算是數據分析和機器學習領域中一項關鍵任務,它可以幫助我們理解和分析不同對象之間的相似性。然而,相似度計算本身可以通過轉換成其他類型的問題來更加有效地處理和解決。

首先,我們來看一種常見的相似度度量——Jaccard相似度。Jaccard相似度將相似度計算視為集合之間的比較問題。具體來說,它關注兩個集合之間的交集相對于并集的大小。這種方法特別適合用于需要比較集合相似性的場景,比如在文本分析中,我們可以將文檔表示為一組詞的集合,Jaccard相似度幫助我們評估兩份文檔的相似程度。通過計算交集和并集,我們將相似度問題轉化為集合運算問題,這種方法簡潔而有效,尤其在需要處理大量數據時,利用集合操作的高效性可以顯著提高計算速度。

另一方面,相似度計算也可以轉換為距離測度的問題。在這種情況下,我們將對象視為幾何空間中的點,計算這些點之間的距離來推斷相似性。歐氏距離是一種直觀的衡量方式,它通過計算兩點之間的直線距離來評估它們的接近程度。這種方法在需要空間可視化的場合中非常有用。此外,還有曼哈頓距離,它通過計算路徑總長來反映兩點的差異,這在某些離散空間中表現出色。余弦相似度則提供了另一種轉換視角,通過考察向量之間的夾角來確定它們的相似性,這在高維向量空間中,尤其在文本分析和推薦系統中,被廣泛使用。

1 集合相似度的應用

1.1 集合相似度

1.1文檔相似度

在文本分析中,我們常常需要衡量兩篇文檔之間的相似性,這可以通過集合相似度來實現。一個常用的方法是Jaccard相似度。假設有兩個文檔 A A A B B B,我們可以將它們表示為詞的集合,分別記為 S A S_A SA? S B S_B SB?。Jaccard相似度計算公式如下:

J ( S A , S B ) = ∣ S A ∩ S B ∣ ∣ S A ∪ S B ∣ J(S_A, S_B) = \frac{|S_A \cap S_B|}{|S_A \cup S_B|} J(SA?,SB?)=SA?SB?SA?SB??

其中, ∣ S A ∩ S B ∣ |S_A \cap S_B| SA?SB? 是兩個集合的交集的大小, ∣ S A ∪ S B ∣ |S_A \cup S_B| SA?SB? 是兩個集合的并集的大小。Jaccard相似度的值在 0 到 1 之間,值越大表示兩個文檔越相似。

算法:在實際應用中,計算文檔相似度時,我們可以進行如下步驟:

  1. 將每個文檔轉換為詞集合。
  2. 計算每對文檔集合的交集和并集大小。
  3. 應用Jaccard公式計算相似度。

這種方法簡單高效,特別適合于初步的文本聚類和分類問題。

1.2 協同過濾

在推薦系統中,協同過濾是一種廣泛使用的方法。這里我們主要探討基于集合相似度的協同過濾,包括用戶-用戶和物品-物品協同過濾。

用戶-用戶協同過濾

在用戶-用戶協同過濾中,我們通過比較用戶之間的興趣相似性來進行推薦。假設我們有用戶 u i u_i ui? u j u_j uj?,它們的興趣集合分別為 I i I_i Ii? I j I_j Ij?。我們可以使用Jaccard相似度來計算用戶相似性:

J ( I i , I j ) = ∣ I i ∩ I j ∣ ∣ I i ∪ I j ∣ J(I_i, I_j) = \frac{|I_i \cap I_j|}{|I_i \cup I_j|} J(Ii?,Ij?)=Ii?Ij?Ii?Ij??

通過計算用戶之間的Jaccard相似度,我們可以為用戶推薦那些相似用戶喜歡的物品。

物品-物品協同過濾

類似地,在物品-物品協同過濾中,我們比較物品之間的相似性。假設有物品 p a p_a pa? p b p_b pb?,它們的用戶集合分別為 U a U_a Ua? U b U_b Ub?,我們計算物品的Jaccard相似度:

J ( U a , U b ) = ∣ U a ∩ U b ∣ ∣ U a ∪ U b ∣ J(U_a, U_b) = \frac{|U_a \cap U_b|}{|U_a \cup U_b|} J(Ua?,Ub?)=Ua?Ub?Ua?Ub??

物品相似性可以幫助我們推薦用戶可能喜歡的其他相似物品。

算法:協同過濾的基本步驟包括:

  1. 構建用戶-物品矩陣。
  2. 根據需要選擇用戶-用戶或物品-物品的相似度計算。
  3. 計算相似度矩陣。
  4. 根據相似度為用戶生成推薦列表。

通過利用集合相似度,我們能夠有效地實現協同過濾,使推薦系統更加智能化和個性化。這些方法不僅提高了推薦的準確性,還提升了用戶的參與感和滿意度。

1.2 文檔的shingling–將文檔表示成集合

在文本處理和分析過程中,將文檔轉換為集合的形式可以幫助我們更好地進行相似度分析和其他文本操作。其中,shingling 是一種將文檔轉化為集合的方法,通過將文檔分割為一系列短的連續子序列(或稱為“片段”)來實現。以下是關于 k-shingling 和基于停用詞的 shingling 的詳細介紹。

1.2.1 k-shingling

k-shingling 是一種將文檔轉化為子序列集合的方法,通過將文檔中的文本分割為長度為 k 的連續子字符串(或子詞)來實現。每一個長度為 k 的子串稱為一個“shingle”。這種方法的核心在于選擇合適的 k 值,以確保文檔可以被合理地分割。

步驟:

  1. 選擇 k 值:通常,k 的選擇取決于具體應用和文檔長度。較小的 k 值可以捕捉到更多的局部信息,而較大的 k 值更能反映文檔的全局結構。

  2. 生成 shingles:從文檔中提取所有可能的 k-shingles。對于每一個連續的 k 個字符或詞,記錄為一個 shingle。

  3. 構建集合:將所有提取的 shingles 組成一個集合。此集合可以用來比較不同文檔的相似性。

示例:對于字符串 “The quick brown fox” 和 k = 2,可能的 shingles 為 {“Th”, “he”, "e “, " q”, “qu”, “ui”, “ic”, “ck”, "k “, " b”, “br”, “ro”, “ow”, “wn”, "n “, " f”, “fo”, “ox”}。

1.2.2 基于停用詞的 shingling

基于停用詞的 shingling 是一種改進的 shingling 方法,它通過忽略文檔中的停用詞(例如 “the”, “is”, “at”, “on” 等),來生成更具意義的 shingles。這種方法可以幫助減少噪聲,提高文檔相似度計算的精確度。

步驟:

  1. 移除停用詞:在進行 shingling 之前,首先從文檔中移除常見的停用詞。這可以通過預定義的停用詞列表實現。

  2. 生成 shingles:在移除停用詞后,使用類似 k-shingling 的方法生成 shingles。這樣生成的 shingles 更能體現文檔的核心內容。

  3. 構建集合:將生成的 shingles 組成一個集合,用于進一步的相似度計算。

優點:通過忽略停用詞,基于停用詞的 shingling 能夠更專注于文檔的主題詞匯,減少不必要的干擾。

好的,以下是關于如何使用最小哈希簽名將大文檔壓縮成小的簽名,以及如何利用局部敏感哈希(LSH)算法處理這些簽名,以保持文檔間的相似度。

1.3 最小哈希簽名

最小哈希簽名是一種將大集合(如文檔中的術語集合)壓縮成較小的簽名的技術,同時保留集合之間的相似度。這是通過一組哈希函數實現的,它們將集合中的元素映射到整數,并選取最小的數值作為簽名。

步驟:

  1. 選擇哈希函數:選擇一組不同的哈希函數 h 1 , h 2 , … , h n h_1, h_2, \ldots, h_n h1?,h2?,,hn?。每個哈希函數將文檔中的shingle(子字符串)映射到一個整數。

  2. 生成簽名:對于每個文檔和每個哈希函數,計算所有shingle的哈希值,并記錄最小的哈希值。重復此過程n次(使用n個不同的哈希函數),形成一個長度為n的簽名向量。

  3. 保持相似度:兩個文檔的最小哈希簽名相同元素的比例,接近于這兩個文檔的Jaccard相似度,即 J ( A , B ) = ∣ A ∩ B ∣ ∣ A ∪ B ∣ J(A, B) = \frac{|A \cap B|}{|A \cup B|} J(A,B)=ABAB?

1.4 局部敏感哈希算法(LSH)

LSH 是一種用于快速查找相似文檔的算法,特別適用于處理最小哈希簽名。這種方法通過將簽名分段,并使用哈希函數將相似的簽名段映射到相同的桶中,從而實現高效的近似最近鄰搜索。

步驟:

  1. 分段簽名:將最小哈希簽名分成若干段,每段包含若干個哈希值。例如,每個簽名被分成b個段,每段包含r個哈希值。

  2. 映射到桶:對每個段,使用一個哈希函數將其映射到一個哈希桶。相似的文檔由于簽名段的相似性,很可能被映射到同一個桶中。

  3. 查找相似文檔:當需要查找與某個文檔相似的文檔時,可以僅查找與其簽名段映射到相同桶中的文檔,這大大縮小了查找范圍。

優勢:通過結合最小哈希簽名和 LSH,能夠有效地處理和比較大規模文檔集合。最小哈希簽名減少了需要處理的數據量,而 LSH 提供了快速的相似性檢索機制,使得處理大規模數據集的效率得以提升。

1.5 最小哈希簽名和局部敏感哈希(LSH)的概念結合示例

假設我們有兩個文檔,它們的 shingle 集合如下:

  • 文檔 A: {“shingle1”, “shingle2”, “shingle3”}
  • 文檔 B: {“shingle2”, “shingle3”, “shingle4”}

我們應用三組不同的哈希函數 h 1 ( x ) h_1(x) h1?(x), h 2 ( x ) h_2(x) h2?(x), h 3 ( x ) h_3(x) h3?(x),假設這些函數的輸出如下:

  • h 1 ( " s h i n g l e 1 " ) = 5 h_1("shingle1") = 5 h1?("shingle1")=5, h 1 ( " s h i n g l e 2 " ) = 3 h_1("shingle2") = 3 h1?("shingle2")=3, h 1 ( " s h i n g l e 3 " ) = 7 h_1("shingle3") = 7 h1?("shingle3")=7, h 1 ( " s h i n g l e 4 " ) = 6 h_1("shingle4") = 6 h1?("shingle4")=6
  • h 2 ( " s h i n g l e 1 " ) = 2 h_2("shingle1") = 2 h2?("shingle1")=2, h 2 ( " s h i n g l e 2 " ) = 9 h_2("shingle2") = 9 h2?("shingle2")=9, h 2 ( " s h i n g l e 3 " ) = 1 h_2("shingle3") = 1 h2?("shingle3")=1, h 2 ( " s h i n g l e 4 " ) = 4 h_2("shingle4") = 4 h2?("shingle4")=4
  • h 3 ( " s h i n g l e 1 " ) = 8 h_3("shingle1") = 8 h3?("shingle1")=8, h 3 ( " s h i n g l e 2 " ) = 6 h_3("shingle2") = 6 h3?("shingle2")=6, h 3 ( " s h i n g l e 3 " ) = 5 h_3("shingle3") = 5 h3?("shingle3")=5, h 3 ( " s h i n g l e 4 " ) = 3 h_3("shingle4") = 3 h3?("shingle4")=3
最小哈希簽名步驟:
  1. 計算最小哈希簽名

    • 對于文檔 A:
      • h 1 h_1 h1?: 最小值是 3 (來自 “shingle2”)
      • h 2 h_2 h2?: 最小值是 1 (來自 “shingle3”)
      • h 3 h_3 h3?: 最小值是 5 (來自 “shingle3”)
    • 對于文檔 B:
      • h 1 h_1 h1?: 最小值是 3 (來自 “shingle2”)
      • h 2 h_2 h2?: 最小值是 1 (來自 “shingle3”)
      • h 3 h_3 h3?: 最小值是 3 (來自 “shingle4”)
  2. 生成最小哈希簽名

    • 文檔 A 的簽名: (3, 1, 5)
    • 文檔 B 的簽名: (3, 1, 3)
  3. 比較簽名:通過比較簽名發現,文檔 A 和 B 在三個哈希函數中有兩個值相同,簽名相同位置的值相同比例為 2/3。

局部敏感哈希 (LSH) 步驟:
  1. 分段簽名

    • 將簽名分成兩段,每段包含一組哈希值:
      • 文檔 A: (3, 1) 和 (5)
      • 文檔 B: (3, 1) 和 (3)
  2. 映射到桶

    • 使用哈希函數對每一段進行哈希,映射到哈希桶:
      • 段 (3, 1) 的兩文檔都被映射到同一個桶,因此它們可能相似。
      • 段 (5) 和 (3) 被映射到不同的桶。
  3. 查找相似文檔

    • 由于文檔 A 和 B 在 (3, 1) 段中被映射到同一個桶,因此 LSH 會識別文檔 B 作為文檔 A 的相似候選者。

通過結合最小哈希簽名和 LSH,我們大幅度降低了計算復雜度。最小哈希簽名幫助我們壓縮文檔,同時保留相似度信息,而 LSH 則通過分段簽名和桶映射,快速聚合可能相似的文檔以進行進一步的精細比較。這種方法尤其適用于需要快速處理和比較的大規模數據集。

2 距離測度的應用

2.1 距離測度

1. 歐氏距離 (Euclidean Distance)

  • 定義:歐氏距離是兩點間的“直線”距離,用于度量兩個點在歐幾里得空間中的距離。對于兩個n維向量 A = ( a 1 , a 2 , . . . , a n ) A = (a_1, a_2, ..., a_n) A=(a1?,a2?,...,an?) B = ( b 1 , b 2 , . . . , b n ) B = (b_1, b_2, ..., b_n) B=(b1?,b2?,...,bn?),其計算公式為:
    Euclidean?Distance = ∑ i = 1 n ( a i ? b i ) 2 \text{Euclidean Distance} = \sqrt{\sum_{i=1}^{n} (a_i - b_i)^2} Euclidean?Distance=i=1n?(ai??bi?)2 ?
  • 應用:常用于幾何空間中的距離計算,如圖像處理、聚類分析(如k-means算法)。

2. 余弦距離 (Cosine Distance)

  • 定義:余弦距離實際上測量的是兩個向量之間的夾角余弦值,表示兩個向量的方向相似度。計算公式為:
    Cosine?Similarity = A ? B ∥ A ∥ ∥ B ∥ \text{Cosine Similarity} = \frac{A \cdot B}{\|A\| \|B\|} Cosine?Similarity=A∥∥BA?B?
    余弦距離則為 1 ? Cosine?Similarity 1 - \text{Cosine Similarity} 1?Cosine?Similarity
  • 應用:適用于文本分析和信息檢索,因為它關注的是向量的方向而不是大小,比如在文檔相似性計算中。

3. 編輯距離 (Edit Distance)

  • 定義:編輯距離,又稱Levenshtein距離,是將一個字符串轉換成另一個字符串所需的最小編輯操作次數(包括插入、刪除、替換的操作)。
  • 應用:廣泛用于拼寫檢查、DNA序列比對和自然語言處理中。

4. 海明距離 (Hamming Distance)

  • 定義:海明距離用于衡量兩個等長字符串之間的差異,即在相同位置上不同字符的數量。
  • 應用:主要用于編碼理論和信息技術中的錯誤檢測和糾正,例如校驗和比較二進制字符串。

3 LSH函數家族

算法定義中心思想核心公式優點缺點應用場景
MinHash LSH用于集合相似性的LSH方法通過最小哈希簽名計算集合的Jaccard相似度 h ( A ) = min ? ( { h i ( x ) ∣ x ∈ A } ) h(A) = \min(\{h_i(x) \mid x \in A\}) h(A)=min({hi?(x)xA})高效處理集合相似性,減少計算量需要預計算最小哈希簽名文檔去重,集合相似性計算
SimHash用于文本和文檔相似性的LSH方法將高維向量降維為短簽名,保留方向信息 s = sign ( ∑ w i x i ) s = \text{sign}(\sum w_i x_i) s=sign(wi?xi?)適合處理高維數據,方向不變性不適合處理完全不同的文本文本檢索,文檔相似性計算
p-stable LSH用于歐氏距離的LSH方法基于p-stable分布投影到低維空間 h ( x ) = ? a ? x + b r ? h(x) = \lfloor \frac{a \cdot x + b}{r} \rfloor h(x)=?ra?x+b??準確近似歐氏距離,適合高維數值數據投影精度依賴于維度選擇圖像檢索,數值數據相似性計算
Bit Sampling LSH用于漢明距離的LSH方法從二進制字符串中隨機選擇位作為特征直接位選擇簡單高效,直接操作二進制數據僅適合固定長度的二進制數據二進制數據比較,錯誤檢測和校驗

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/67843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/67843.shtml
英文地址,請注明出處:http://en.pswp.cn/web/67843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

關于貪心學習的文筆記錄

貪心,顧名思義就是越貪越好,越多越有易,他給我的感覺是,通常是求最大或最小問題,相比于動態規劃貪心讓人更加琢磨不透,不易看出方法,為此在這記錄我所見過的題型和思維方法,以便回頭…

c語言練習題【數據類型、遞歸、雙向鏈表快速排序】

練習1:數據類型 請寫出以下幾個數據的數據類型 整數 a a 的地址 存放a的數組 b 存放a的地址的數組 b的地址 c的地址 指向 printf 函數的指針 d 存放 d的數組 整數 a 的類型 數據類型是 int a 的地址 數據類型是 int*(指向 int 類型的指針) …

聯想拯救者Y9000P IRX8 2023 (82WK) 原廠Win11 家庭中文版系統 帶一鍵還原功能 安裝教程

安裝完重建winre一鍵還原功能,和電腦出廠時的系統狀態一模一樣。自動機型專用軟件,全部驅動,主題壁紙,自動激活,oem信息等。將電腦系統完全恢復到出廠時狀態。 支持機型 (MTM) : 82WK 系統版本:Windows 1…

搜索與圖論復習2最短路

單源最短路---所有邊權是正數(Dijkstra算法O(n^2)--稠密圖(鄰接矩陣)和堆優化的Dijkstra算法O(mlogn)--稀疏圖(鄰接表)) 或存在負邊權(Bellman-ford貝爾曼福特算法O(nm)和SPFA一般O(m) 最壞O(nm) ) 多源最短路---Floyd算法O(n^3) 一、迪杰斯特拉算法(Dijkstra):1…

Unity GetLocalizedString()失效問題

問題: 在一個自定義類中調用GetLocalizedString()的方法,是無效的(創建這個自定義類的腳本沒掛載到場景中)。 解決方法: 將自定義類的GetLocalizedString()方法換個地方,換到在場景中掛載的一個腳本實例(…

【建站】專欄目錄

建站專欄的想法有很多,想寫窮鬼如何快速低成本部署前后端項目讓用戶能訪問到,如何將網站收錄到百度,bing,google并優化seo讓搜索引擎搜索到網站,想寫如何把網站加入google廣告或者接入stripe信用卡首款平臺收款&#x…

深入解析“legit”的地道用法——從俚語到正式表達:Sam Altman用來形容DeepSeek: legit invigorating(真的令人振奮)

深入解析“legit”的地道用法——從俚語到正式表達 一、引言 在社交媒體、科技圈甚至日常對話中,我們經常會看到或聽到“legit”這個詞。比如最近 Sam Altman 在 X(原 Twitter)上發的一條帖子中寫道: we will obviously deliver …

Vue 圖片引用方式詳解:靜態資源與動態路徑訪問

目錄 前言1. 引用 public/ 目錄2. assets/ 目錄3. 遠程服務器4. Vue Router 動態訪問5. 總結6. 擴展(圖片不顯示) 前言 🤟 找工作,來萬碼優才:👉 #小程序://萬碼優才/r6rqmzDaXpYkJZF 在 Vue 開發中&#x…

DeepSeek-R1 本地部署教程(超簡版)

文章目錄 一、DeepSeek相關網站二、DeepSeek-R1硬件要求三、本地部署DeepSeek-R11. 安裝Ollama1.1 Windows1.2 Linux1.3 macOS 2. 下載和運行DeepSeek模型3. 列出本地已下載的模型 四、Ollama命令大全五、常見問題解決附:DeepSeek模型資源 一、DeepSeek相關網站 官…

JVM運行時數據區域-附面試題

Java虛擬機在執行Java程序的過程中會把它所管理的內存劃分為若干個不同的數據區域。這些區域 有各自的用途,以及創建和銷毀的時間,有的區域隨著虛擬機進程的啟動而一直存在,有些區域則是 依賴用戶線程的啟動和結束而建立和銷毀。 1. 程序計…

什么是LPU?會打破全球算力市場格局嗎?

在生成式AI向垂直領域縱深發展的關鍵節點,一場靜默的芯片革命正在改寫算力規則。Groq研發的LPU(Language Processing Unit)憑借其顛覆性架構,不僅突破了傳統GPU的性能天花板,更通過與DeepSeek等國產大模型的深度協同&a…

如何構建ObjC語言編譯環境?構建無比簡潔的clang編譯ObjC環境?Windows搭建Swift語言編譯環境?

如何構建ObjC語言編譯環境? 除了在線ObjC編譯器,本地環境Windows/Mac/Linux均可以搭建ObjC編譯環境。 Mac自然不用多說,ObjC是親兒子。(WSL Ubuntu 22.04) Ubuntu可以安裝gobjc/gnustep和gnustep-devel構建編譯環境。 sudo apt-get install gobjc gnus…

2月3日星期一今日早報簡報微語報早讀

2月3日星期一,農歷正月初六,早報#微語早讀。 1、多個景區發布公告:售票數量已達上限,請游客合理安排行程; 2、2025春節檔總票房破70億,《哪吒之魔童鬧海》破31億; 3、美宣布對中國商品加征10…

DeepSeek 原理解析:與主流大模型的差異及低算力優勢

在人工智能大模型蓬勃發展的浪潮中,DeepSeek 以其獨特的技術路線和出色的性能表現脫穎而出。與主流大模型相比,DeepSeek 不僅在技術原理上有著顯著的差異,還展現出了在較低算力下達到 OpenAI API 水平的卓越能力。本文將深入剖析這些獨特之處…

C++ Primer 標準庫vector

歡迎閱讀我的 【CPrimer】專欄 專欄簡介:本專欄主要面向C初學者,解釋C的一些基本概念和基礎語言特性,涉及C標準庫的用法,面向對象特性,泛型特性高級用法。通過使用標準庫中定義的抽象設施,使你更加適應高級…

【Numpy核心編程攻略:Python數據處理、分析詳解與科學計算】2.6 廣播機制核心算法:維度擴展的數學建模

2.6 廣播機制核心算法:維度擴展的數學建模 目錄/提綱 #mermaid-svg-IfELXmhcsdH1tW69 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-IfELXmhcsdH1tW69 .error-icon{fill:#552222;}#mermaid-svg-IfELXm…

【Elasticsearch】硬件資源優化

🧑 博主簡介:CSDN博客專家,歷代文學網(PC端可以訪問:https://literature.sinhy.com/#/?__c1000,移動端可微信小程序搜索“歷代文學”)總架構師,15年工作經驗,精通Java編…

bootstrap.yml文件未自動加載問題解決方案

在添加bootstrap.yml文件后,程序未自動掃描到,即圖標是這樣的: 查了一些資料,是缺少bootstrap相關依賴,雖然已經添加了spring-cloud-context依賴,但是這個依賴并未引入bootstrap依賴,可能是版本問題,需要手動引入 <dependency><groupId>org.springframework.cloud&…

C++底層學習預備:模板初階

文章目錄 1.編程范式2.函數模板2.1 函數模板概念2.2 函數模板原理2.3 函數模板實例化2.3.1 隱式實例化2.3.2 顯式實例化 2.4 模板參數的匹配原則 3.類模板希望讀者們多多三連支持小編會繼續更新你們的鼓勵就是我前進的動力&#xff01; 進入STL庫學習之前我們要先了解有關模板的…

【玩轉 Postman 接口測試與開發2_015】第12章:模擬服務器(Mock servers)在 Postman 中的創建與用法(含完整實測效果圖)

《API Testing and Development with Postman》最新第二版封面 文章目錄 第十二章 模擬服務器&#xff08;Mock servers&#xff09;在 Postman 中的創建與用法1 模擬服務器的概念2 模擬服務器的創建2.1 開啟側邊欄2.2 模擬服務器的兩種創建方式2.3 私有模擬器的 API 秘鑰的用法…