蝦咪系 Word Embedding?詞嵌入模型概念及實作
# 使用生成式 AI 結合 RAG 技術實做屬於自己的 LLM 知識庫系列文章 Word Embedding ? 維基百科的定義 詞嵌入(英語:Word embedding)是自然語言處理(NLP)中語言模型與表徵學習技術的統稱。概念上而言,它是指把一個維數為所有詞的數量的高維空間嵌入到一個維數低得多的連續向量空間中,每個單詞或詞組被映射為實數域上的向量。 Word Embedding 的輸入格式 輸入是一個或多個文字,通常是單字或是整句話,這些文字會先經過處理(例如分詞、去除標點),再送進詞嵌入模型中,舉例來說:「美國總統是誰?」,這句話可能會轉換成 ["美國總統", "是誰"] 這樣陣列。 Word Embedding 的輸出格式 針對上述陣列內的每個文字,詞嵌入模型會經過一連串的數學運算,將其轉換成一組向量,這些向量是由一串實數所組成的數字序列,代表該詞的語意特徵,輸出的格式通常會是像底下這樣的結構 { "美國總統": [0.12, -0.34, ..., 0.87], "是誰": [0.03, -0.56, ..., 0.45] } 所以到底是什麼? 好吧,其實對於有點技術背景的人來說,前面那些概念應該已經蠻清楚了。但如果你是完全沒碰過這塊的新手,可能還是會覺得,嗯? 這到底在說什麼? 我這邊用白話文來解釋,Word Embedding 其實就像是幫每個文字編碼成一張 數字小卡片 ,這張名片記錄了它的個性、興趣和關聯對象,而電腦就是靠這些卡片來判斷誰跟誰是好朋友(例如 蘋果 跟 香蕉 很像)或誰跟誰完全不像(像 香蕉 跟 國王) 。 圖片來源 : https://towardsdatascience.com/deep-learning-for-nlp-word-embeddings-4f5c90bcdab5/ 為什麼有這麼多不同的詞嵌入模型? 因為每種模型都有自己的擅長領域,而且技術一直在進步、需求也不一樣,所以自然就冒出很多種詞嵌入方式,主要可分成幾個面向 技術進步 :早期像 One-hot 很簡單,但不夠聰明,後來 Word2Vec、GloVe 開始學語意,再後來 BERT、GPT 甚至能根據上下文「動態」理解每個詞。 應用場景 :做分類、對話、翻譯、問答,每個任...