N元語法(N-gram)是什麼?

N元語法是一種自然語言處理技術,用於預測序列中下一個詞的概率,基於前N-1個詞的出現頻率。|本頁含完整原理、應用場景、iPAS 考試重點與 3 個常見問答。

N元語法(N-gram)是什麼? 自然語言處理統計方法

你有沒有注意過,輸入法常常猜得到你下一個字? 你可以把它想成把句子切成固定長度的小片段,看看哪些片段最常一起出現,再拿來猜下一個詞。 N-gram 是最早的語言模型思路之一,靠的是統計,不是理解語意。 這也讓它很適合先拿到可用答案,再慢慢把精度往上推。

容易混淆

N-gram vs 深度學習語言模型 N-gram:只看前面固定長度的詞 深度學習語言模型:能學更長距離的語意關係 最關鍵的區別:先看它是在比什麼,再看它怎麼做。

N-gram vs 分詞 N-gram:是在切好詞之後做組合統計 分詞:是先把句子切成詞,還沒開始做組合 最關鍵的區別:先看它是在比什麼,再看它怎麼做。

記住這句就好

先切片,再數頻率,最後猜下一個。

實際案例

輸入法聯想 你打出「今天晚上」,系統用常見詞組頻率推薦後面的字。

拼字修正 系統看到不常見的字串,就用常見 N-gram 片段去找更像樣的修正。

算法與應用

N-gram 的基本做法是統計前 N-1 個詞出現後,下一個詞的條件機率。 N 越大,上下文越多,但資料稀疏問題也越嚴重。 實務上常搭配平滑技術,避免沒看過的組合直接變成零機率。

情境判斷

Q1(直覺題): 你要做一個超快的輸入法推薦,資料很多,但不追求理解句意,該用什麼?

N-gram,因為它快、簡單、而且能做基本的下一詞預測。

Q2(判斷題): 如果把 N 設得很大,結果反而很差,最常見原因是什麼?

資料稀疏,很多組合在語料中根本沒出現,機率估計會失真。

常見問題

N-gram 現在還有用嗎?

有,特別是簡單、快速、資源有限的場景。

中文一定能直接用嗎?

不能直接用,通常要先分詞。

它和 GPT 的差別是什麼?

N-gram 看固定窗口,GPT 看更長且更靈活的上下文。