什麼是語言模型?
語言模型會估算符記或符記序列在較長的符記序列中出現的機率。符記可以是字詞、子字詞 (字詞的子集),甚至是單一字元。
請考慮下列句子和可能完成該句子的符記:
When I hear rain on my roof, I _______ in my kitchen.
語言模型會判斷不同符代詞或符代詞序列填入空白的機率。例如,下列機率表會指出一些可能的符記及其機率:
機率 | 權杖 |
---|---|
9.4% | 煮湯 |
5.2% | 讓熱水壺變熱 |
3.6% | 科爾 |
2.5% | 小睡片刻 |
2.2% | 放鬆身心 |
在某些情況下,符記序列可以是整個句子、段落,甚至是整篇文章。
應用程式可以使用機率表進行預測。預測結果可能最高 (例如「烹飪湯」) 或是從機率大於某個字詞的符記中隨機選取 門檻。
預估文字序列空白填充的可能性 適用於較複雜的工作,包括:
- 正在產生文字。
- 將文字翻譯成另一種語言。
- 產生文件摘要。
現代語言模型會對符記的統計模式建立模型 功能極為強大的語言圖解 以及負責任的言語
N 元語法語言模型
N-gram 是用於建立語言模型的字詞排序序列,其中 N 是序列中的字詞數量。舉例來說,如果 N 為 2,N-gram 就稱為 2-gram (或 bigram);如果 N 為 5,N-gram 就稱為 5-gram。訓練文件中的詞組如下:
you are very nice
產生的 2 元組如下所示:
- 你
- 非常
- 非常好
如果 N 為 3,N-gram 就稱為 3-gram (或 trigram)。同樣的詞組,產生的 3 元語法如下:
- 你非常
- 非常好
在輸入兩個字詞的情況下,以 3 元組為基礎的語言模型可以預測第三個字詞出現的可能性。舉例來說,假設有以下兩個字詞:
orange is
語言模型會檢查訓練過程中產生的所有 3 公克
以 orange is
開頭的語料庫,判斷最有可能的第三個字詞。
數百個 3 公克以「orange is
」這個字詞開頭,但您可以
只著重在下列兩種可能性:
orange is ripe orange is cheerful
第一個可能性 (orange is ripe
) 關於橘色水果,
第二個可能性 (orange is cheerful
) 則是關於顏色
橘色。
背景資訊
人類可以保留相對較長的背景資訊。觀看《Act 3》的賽事時 仍然保有 Act 1 中介紹角色的知識。同樣地, 笑話可說是笑話,因為你可以記住這邊的脈絡 擷取畫面的內容
在語言模型中,背景資訊是相當實用的資訊 目標權杖背景資訊可協助語言模型判斷「橘色」 是指柑橘類水果或顏色。
情境可協助語言模型做出更準確的預測,但 3 元組是否提供足夠的情境?不過,3 元組提供的唯一上下文只有前兩個字詞。例如,orange is
沒有這兩個字詞
為語言模型提供足夠的背景資訊,以便預測第三個字詞。
由於缺乏脈絡資訊,以 3 元組為基礎的語言模型會產生許多錯誤。
較長的 N-gram 肯定比較短的 N-gram 提供更多背景資訊。然而,隨著 N 增長,每個執行個體的相對出現次數也會減少。 當 N 變得非常大時,語言模型通常只會針對每個 N 符記出現的情況建立單一例項,這對預測目標符記並沒有太大幫助。
循環類神經網路
循環類神經網路提供的背景資訊比 N-gram 更多。循環類神經網路是一種 用來訓練的類神經網路 符記序列舉例來說,循環神經網路可以逐漸學習 (並學會忽略) 句子中每個字詞的選定背景,就像您聽人說話時會做的事一樣。大型循環類神經網路可以從多個句子的段落中取得上下文。
雖然循環類神經網路比 N 元語法獲得更多資訊, 包含實用背景脈絡的循環類神經網路,仍可推進 受到限制。循環神經網路會逐個符號評估資訊。相較之下,大型語言模型 區段) - 可以一次評估整個背景資訊。
請注意,長時間的背景訓練循環類神經網路必須遵循 消失的漸層 問題。
練習:檢查您的理解程度
- 以 6-gram 為基礎的語言模型
- 以 5 公克為基礎的語言模型