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

2.1 什么是語言模型

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

  (2-1)

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

  (2-2)

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

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

主站蜘蛛池模板: 恩施市| 淮安市| 乌拉特前旗| 元朗区| 巴塘县| 五华县| 同江市| 德钦县| 大洼县| 盐源县| 武安市| 图片| 平南县| 青阳县| 丽江市| 辛集市| 蛟河市| 乐安县| 儋州市| 佛冈县| 腾冲县| 犍为县| 潞西市| 凭祥市| 柳江县| 定安县| 加查县| 平利县| 陆良县| 景德镇市| 宁阳县| 本溪市| 日喀则市| 淳安县| 呼和浩特市| 河曲县| 萨嘎县| 容城县| 台山市| 邯郸市| 文成县|