早期的相似度計算方法大多基於詞語重疊率、詞向量或編碼模型(如TF-IDF)來評估兩段文本之間的相似性。然而,這些方法無法充分理解文本的語義結構,特別是在中文這樣結構複雜的語言中。 

隨著深度學習的發展,句子編碼模型(如BERT、Siamese-BERT)逐漸成為計算文本相似度的主流技術。這些模型能夠將文本轉化為高維語義向量,並通過向量距離來衡量文本之間的相似度。

大型語言模型的影響:GPT等生成式模型在文本相似度計算中也展現了潛力,特別是在多語言場景下,它們能夠有效地捕捉語義相似性,並應用於各種文本比較任務中;更令人意外的就是,已經能瞭解文本的深層語義,例如隱喻、反諷等,從而更準確地判斷文本相似度。(2024/10)

投入約45天,那時剛好遇到 albert,但最後還是被蒸溜給幹掉;會做文本相似度主要是要解決當機器人收到ASR識別後的問句,在進到關鍵字或正規表示式甚至閱讀理解前,藉由80/20從已存在的Q&A比對,然後直接解答;簡單來說就是直接比對兩個文句是否雷同,這需要準備一些經典/常見的問題以及其對應的答案,如果有問題和經典/常見問題很相似,需要可以回答其經典/常見問題的答案;畢竟中文博大精深,想要認真探討其實非常難,像是廁所在那裡跟洗手間在那,兩句話的意思真的一樣,但字卻完全不同;至於像是我不喜歡你跟你是個好人,這就是另一種相似度了 ~ xDDD ! 那關於訓練數據資料,需要將相類似的做為集合,這部份就需要依賴文本分類;你可能也聽過 TF-IDF 或者 n-gram 等,這邊就不多加解釋,建議也多查查,現在 github 上可以找到非常的範例程式碼,建議一定要先自己動手試試看 !