官术网_书友最值得收藏!

2.1 什么是語言模型

語言模型是一種用于計算一個句子或者一個文本在某種語言中出現(xiàn)的概率的模型,可以幫助讀者理解和生成自然語言,在語音識別、機器翻譯、信息檢索、文本摘要等領(lǐng)域都有應(yīng)用。語言模型的基本思想是根據(jù)概率論中的鏈式法則,將一個句子的概率分解為每個詞出現(xiàn)的條件概率的乘積,即

  (2-1)

其中,表示第i個詞,n表示句子的長度。為了簡化計算,語言模型通常會做一些假設(shè),如馬爾可夫假設(shè),即每個詞只依賴于前面的有限個詞,而不是前面的所有詞。根據(jù)依賴的詞的數(shù)量不同,語言模型可以分為一元模型(unigram model)、二元模型(bigram model)、三元模型(trigram model)等不同的類型,這些模型統(tǒng)稱為n元模型n-gram model)。例如,二元模型假設(shè)每個詞只依賴于前一個詞,那么句子的概率可以簡化為

  (2-2)

n元模型的參數(shù)可以通過統(tǒng)計語料庫中各種詞組出現(xiàn)的頻率來估計,但是這樣會導(dǎo)致數(shù)據(jù)稀疏或過擬合,即很多詞組可能沒有在語料庫中出現(xiàn)過,或者只出現(xiàn)過很少次數(shù),導(dǎo)致概率為零或者不準確。為了解決這些問題,研究人員提出了多種平滑技術(shù),如加一平滑(add-one smoothing)、古德-圖靈估計(Good-Turing estimation)、Kneser-Ney平滑(Kneser-Ney smoothing)等,來給低頻或者未出現(xiàn)過的詞組設(shè)定一個概率值。

n元模型雖然簡單易用,但是也有缺點,例如無法捕捉到詞之間的語義關(guān)系和長距離依賴,以及參數(shù)空間過大等。為了克服這些缺點,約書亞·本吉奧(Yoshua Bengio)在2003年提出了神經(jīng)網(wǎng)絡(luò)語言模型(neural network language model,NNLM),該模型利用神經(jīng)網(wǎng)絡(luò)強大的表達能力學(xué)習(xí)語言規(guī)律。神經(jīng)網(wǎng)絡(luò)語言模型通常包括一個嵌入層(embedding layer)、一個隱藏層(hidden layer)和一個輸出層(output layer)。其中,嵌入層負責(zé)將輸入的詞轉(zhuǎn)換為實數(shù)向量;隱藏層負責(zé)對輸入向量進行非線性變換和記憶;輸出層負責(zé)對下一個詞進行預(yù)測和概率歸一化。神經(jīng)網(wǎng)絡(luò)語言模型可以采用不同的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)來實現(xiàn),如前饋神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)、門控循環(huán)單元、Transformer等。神經(jīng)網(wǎng)絡(luò)語言模型可以通過反向傳播算法(back propagation algorithm)和隨機梯度下降法(stochastic gradient descent,SGD)等優(yōu)化方法來訓(xùn)練參數(shù)。接下來介紹傳統(tǒng)語言模型。

主站蜘蛛池模板: 峨山| 海阳市| 东安县| 舒城县| 宽甸| 张北县| 保德县| 本溪市| 瑞丽市| 攀枝花市| 祁阳县| 汉寿县| 聊城市| 顺昌县| 南和县| 杨浦区| 松原市| 双城市| 逊克县| 四子王旗| 绥芬河市| 西和县| 横山县| 射阳县| 罗江县| 无棣县| 旺苍县| 古浪县| 通山县| 扎赉特旗| 托克托县| 麻栗坡县| 雅江县| 万宁市| 区。| 宁安市| 宝丰县| 义马市| 简阳市| 延长县| 托克托县|