iT邦幫忙

2026 iThome 鐵人賽

DAY 17
0
ChatGPT & Codex

AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統系列 第 17 篇

Day 17|Embedding:AI 要怎麼知道兩段文字意思很像?

  • 分享至 

  • xImage
  •  

前面整理 RAG 時有提到:

系統會先從知識庫裡找出和問題最相關的內容,再交給 AI 回答。

但這裡其實有一個很重要的問題:

系統到底要怎麼判斷「哪一段內容最相關」?

如果只靠關鍵字搜尋,其實很容易漏掉意思相近、但用詞不同的內容。

所以今天要整理的概念是:

Embedding。


什麼是 Embedding?

Embedding 可以簡單理解成:

把文字轉換成一組可以被電腦比較的數字。

這組數字通常會形成一個向量,用來表示這段文字的語意。

例如:

最近晚上都睡不好

和:

這幾天一直失眠

兩句話使用的文字不完全相同,但意思其實很接近。

透過 Embedding,系統就可以判斷:

這兩段文字在語意上是相似的。


為什麼不能只靠關鍵字?

假設知識庫裡有一段資料:

睡眠品質下降可能和生活作息有關。

但使用者問的是:

最近都睡不好怎麼辦?

如果只靠完全相同的關鍵字,搜尋結果可能不一定準確。

但 Embedding 比較的不是單純文字,而是:

兩段內容的意思是否接近。

所以即使用詞不同,只要語意相近,系統還是有機會把它們找出來。


文字怎麼變成向量?

Embedding Model 會把一段文字轉換成一組數值。

可以簡化成:

文字
→ Embedding Model
→ Vector

例如:

「喜歡早上去公園散步」
→ Embedding
→ 一組向量

另一句:

「每天早上都會出去走走」
→ Embedding
→ 另一組向量

如果兩個向量彼此很接近,就代表兩段文字的語意也比較接近。


Embedding 在 RAG 裡的作用

在 RAG 裡,文件被切成不同 Chunk 之後,每個 Chunk 都可以建立自己的 Embedding。

使用者提出問題時,問題本身也會轉成 Embedding。

接下來就可以比較:

使用者問題的向量,和哪些 Chunk 的向量最接近。

這樣系統才知道要把哪些內容提供給 AI。

所以 Embedding 在 RAG 裡的角色,可以理解成:

幫助系統找到語意最相關的資料。


Embedding 也可以用在 Memory Retrieval

Embedding 不只可以用來找知識庫資料。

前面提過的 Memory Retrieval 也可以使用相同概念。

例如 Memory 裡保存:

平常喜歡早上去公園散步。

長者今天說:

最近都不太想出去走。

兩句話沒有完全相同的文字,但語意上有關聯。

這時候 Embedding 就可以幫助系統找到相關 Memory。

所以在 VoCare 裡,Embedding 未來可能同時用在:

  • RAG 知識搜尋
  • Memory Retrieval
  • 相似內容搜尋

上一篇
Day 16|RAG 的資料怎麼進系統?又怎麼被找出來?
系列文
AI 不只會聊天:30 天打造 VoCare 智慧陪伴系統 共 17 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言