iT邦幫忙

2025 iThome 鐵人賽

DAY 9
0
AI & Data

讓電腦聽懂人話:30 天 NLP 入門系列 第 9

Day 9|從文字到數字:Vector 與 Embedding 的基本概念

  • 分享至 

  • xImage
  •  

引言

我們知道電腦無法像人一樣直接理解文字。要讓電腦「看懂」文字,我們必須先把文字轉換成數字的形式,才能進行後續的分析或建模。

主題三:特徵與表示 中,我會介紹一系列把文字轉成數字的方法,也就是文字的 表示法(representation),也可以稱作文字的 特徵(feature)
這些表示法從最簡單、直觀的統計方法開始,隨著對文字資訊理解的加深,會演變得更精緻,能捕捉更多語意和上下文的資訊。

首先要來介紹兩個概念,也是後面會不斷提到的詞:向量(vector)和嵌入(embedding)

向量(vector)

「向量」就是大家在高中數學有學到的一個數學上的概念。基本上就是一串數字,像這樣 [0.2, 0.8, 0.1]。向量有方向和大小的概念,可以做數學運算,可以是多個維度,可以在空間中表示
所以向量本身是一種資料結構,可以用來表示任何數字化的資訊,包括文字、圖片和聲音等等。

而當我們是把「文字」轉成數字後,這串向量我們就可以稱之為 「嵌入」(embedding)

嵌入(embedding)

當我們把文字向量化,變成 embedding 後,文字本身的各種特徵或資訊就像是被「打包」起來,例如:詞頻、詞的重要性、語義等,都可以用這串向量來表示。
像是我們在之前文章提到的 OpenAI token 計算的網頁中,將「自然語言處理」這段文字 tokenize,每個 token 有自己的 token ID,然後形成的這串數字 [116258, 40909, 17765, 129805, 5584] 就是一個 embedding。
https://ithelp.ithome.com.tw/upload/images/20250923/20178719uasU8vk9IB.png

而依據文字的尺度,會有 「詞嵌入」(word embedding) 或是 「句子嵌入」(sentence embedding)

將文字向量化後,電腦就能以數學的方式去理解和比較文字

1. 相似度計算

可以透過向量計算文字之間的意思是否相近。如下圖,將向量在空間中表示,可以看到水果類比較靠近,動物類則在另一邊彼此靠近。


圖片來源:https://ubiai.tools/how-vector-similarity-search-functions/

2. 集群與分類

一樣透過在空間中的分布,我們可以看到比較相近的會聚在一起,形成集群(cluster),這樣我們就可以為文本分類。例如:判斷評論是正面還是負面


圖片來源:https://douglasduhaime.com/posts/clustering-semantic-vectors.html

3. 語意運算

向量涵蓋了文字的語意關係,又因數字可以去做加減乘除的運算,所以語意的關係可以用向量來計算,例如:國王 - 男人 + 女人 ≈ 女王


圖片來源:https://towardsdatascience.com/word2vec-research-paper-explained-205cb7eecc30/

結語

接下來,我們會依照歷史發展與複雜程度,逐一介紹文字轉換成向量的方式:

  • Bag of Words (BoW):最基礎的詞頻表示法
  • TF-IDF:強調詞的重要性
  • Word2Vec:帶有語意訊息的向量
  • Contextual Embedding:帶有上下文語境訊息的向量

上一篇
Day 8|詞性標註(POS Tagging)概念與實作(jieba、CKIP Tagger、spaCy)
系列文
讓電腦聽懂人話:30 天 NLP 入門9
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言