n gram 語言模型 筆記整理

2021-10-22 23:56:31 字數 1330 閱讀 6368

語言模型

某句子的概率可理解為 p(s) = p(w1, w2, … wn)

該聯合概率分布就是語言模型

語言模型就是用來計算乙個句子的概率的模型

克服詞袋沒考慮詞序的問題

場景

馬爾可夫假設

先將聯合概率分布拆分成條件概率的連乘(貝葉斯定理)

p(x_1, x_2, … x_n) = p(x_1| )p(x_1) p(x_2|x_1) p(x_3|x_1, x_2) … p(x_n|x_1, x_2, …, x_) p(| w_n )

其中 、 分別表示句子的首尾特殊標記

條件概率

p(b|a):a 條件下 b 發生的概率。 從乙個大的空間進入到乙個子空間(切片), 計算在子空間中的佔比

p(b|a) = p(a, b) / p(a)

在這些條件概率裡, 每乙個詞的概率需要考慮它前面的所有詞. 而實際上, 相隔太遠的兩個詞關聯很弱

馬爾可夫假設是指,假定每個詞出現的概率只跟它前面的少數幾個詞有關

如 二階馬爾科夫假設只考慮前面兩個詞,相應的語言模型是三元模型

引入了馬爾可夫假設的語言模型,也可以叫做馬爾可夫模型

它的基本思想是將文字裡面的內容按照詞進行大小為n的滑動視窗操作, 形成了長度是n的詞片段序列

n元模型

一元(unigram)

p(w_n)

二元(bi-gram)

p(w_n | w_n-1)

三元(tri-gram)

p(w_n | w_n-2, w_n-1)

常需要基於觀察樣本進行引數估計

自然想到極大似然估計

p(w_n | w_n-2, w_n-1) = count(w_n, w_n-2, w_n-1) / count(w_n-2, w_n-1)

當 n 從 3 開始繼續增加時,語言模型的效果提公升不顯著,但資源耗費增加得很快

因此在實踐中我們很少使用4-gram或者5-gram

模型平滑

p(w_n | w_n-2, w_n-1) = count(w_n, w_n-2, w_n-1) / count(w_n-2, w_n-1)

依賴於樣本是否出現(樣本不出現,並不能說明真的不存在)

因樣本原因,大部分 p(w_n | w_n-2, w_n-1) 算出來為 0

原理在必要的時候退化到低階的模型,即一元、二元模型

策略對所有非零概率打折,勻出一小部分概率給未出現的詞串

低階與高階的線性插值

N Gram語言模型

wikipedia上有關n gram的定義 n gram是一種統計語言模型,用來根據前 n 1 個item來 第n個item。在應用層面,這些item可以是音素 語音識別應用 字元 輸入法應用 詞 分詞應用 或鹼基對 基因資訊 一般來講,可以從大規模文字或音訊語料庫生成n gram模型。習慣上,1 ...

語言模型(N Gram)

問題描述 由於公司業務產品中,需要使用者自己填寫公司名稱,而這個公司名稱存在大量的亂填現象,因此需要對其做一些歸一化的問題。在這基礎上,能延伸出乙個 使用者填寫的公司名是否有效的模型出來。目標 問題提出來了,就是想找到一種辦法來 使用者填寫的公司名是否有效?問題分析 要想 使用者填寫的公司名稱是否有...

語言模型(N Gram)

問題描述 由於公司業務產品中,需要使用者自己填寫公司名稱,而這個公司名稱存在大量的亂填現象,因此需要對其做一些歸一化的問題。在這基礎上,能延伸出乙個 使用者填寫的公司名是否有效的模型出來。目標 問題提出來了,就是想找到一種辦法來 使用者填寫的公司名是否有效?問題分析 要想 使用者填寫的公司名稱是否有...