Transformer實戰(22)——使用FLAIR進行語義相似性評估

  • 0. 前言
  • 1. 使用 FLAIR 進行語義相似性評估
  • 2. 平均池化詞嵌入
  • 3. 基於循環神經網絡的文檔嵌入
  • 4. 基於 Transformer 的 BERT 嵌入
  • 4. Sentence-BERT 嵌入
  • 系列鏈接

0. 前言

在自然語言處理中,句子表示的質量直接影響下游任務(如語義檢索、文本聚類)的效果。在本節中,我們將通過 FLAIR 庫對句子表示模型進行定性評估,該庫極大地簡化了獲取文檔嵌入的過程,系統評估四種主流句子嵌入方法——平均池化、循環神經網絡編碼、BERT 嵌入及 SBERT 嵌入,揭示其語義區分能力。

1. 使用 FLAIR 進行語義相似性評估

在開始之前,使用 pip 安裝所需庫:

$ pip install flair

為了進行定性評估,我們定義了一組相似的句子對和一組不相似的句子對(每組五對)。我們期望嵌入模型能夠對相似句子對給出較高的分數,對不相似句子對給出較低的分數。這些句子對是從語義文本相似性 (Semantic Textual Similarity, STS) 基準數據集中提取的。對於相似的句子對,兩個句子是完全等價的,且意義相同。

(1)STS 數據集中隨機選取相似度分數約為 5 的句子對: