語言模型知識梳理

2021-08-18 22:22:15 字數 722 閱讀 6976

(1)語言模型是什麼?

語言模型是衡量一系列的字串是自然語言的概率,但是他不考慮語法層面的東西。

(2)語言模型的用處?

如:音字轉換、拼寫糾錯、機器翻譯等。

(3)語言模型現狀

根據概率,我們有p(l) = p(w1|s)*p(w2|s,w1)*p(w3|s,w1,w2)*....p(e|s,w1,w2,...wn)

然而,需要的引數空間非常巨大,我們就用了馬爾可夫假設,設定某個詞只與其前n個詞相關,如n=1,就是我們常見的二元語言模型。現在的問題就歸結到了如何估算概率p(wi|wi-1)

第一種是基於計數的n-gram

利用最大思然估計估計其概率值 p = (wi-1 wi)/wi-1  即,元祖的計數/元祖字首的計數

由於大量訓練語料不可能包括所有的組合情況,所以需要一些平滑技術,增加自然語言模型的魯棒性。

常見的平滑方法有(加k法,古德圖靈法,加權平均法等),有時間就展開詳述吧。

第二種就是神經網路的概率模型。

最容易想到的就是我用前乙個詞的one-hot編碼去**下乙個詞的one-hot編碼,用來學習網路引數。再有乙個新詞的時候,我們就會得到各個詞的概率。但是引數空加依然巨大。

所以就引出了分布式表示的詞嵌入。

詞嵌入有兩種方式:cbow 和 skip-gram

為了加快詞嵌入的訓練速度就有了,分層softmax 和 負取樣。

都是知識點,有時間在細化吧。

參考:

知識梳理 怪異盒模型

charset utf 8 name keywords content html css name description content title divstyle head 林div 你好body html charset utf 8 name keywords content html cs...

php語言知識梳理

php的語法一定要熟悉,但是有幾類要一定記住 字串一類,陣列一類,時間方法一類。php連線mysql的方法 mysqli和pdo 幾種排序的資料結構,設計模式,魔術方法,魔術變數,超級變數 全域性變數 ajax json和jsonp web安全一類,session和cookie,redis技巧 商品...

JVM記憶體模型知識點梳理

堆 用於存放物件。分為年輕代與老年代。區別在於年輕代用於存放生存週期較短的物件,而老年代一般則是由年輕代轉過來的。而年輕代中又分為eden區,s0區和s1區。物件剛剛建立時,一般存放在eden區,待eden區滿後,進行垃圾 存活下來的物件會放入s0區,同時生存週期 1,s0區滿後,進行垃圾 剩餘的物...