
語言模型主要有三種類型:生成性模型、分析性模型、辨識性模型。生成性模型從一個形式語言系統出發,生成語言的某一集合,如美國哲學家、語言學家喬姆斯基的形式語言理論和轉換文法。分析性模型從語言的某一集合開始,根據對這個集閤中各個元素的性質的分析,闡明這些元素之間的關係,並在此基礎上用演繹的方法建立語言的規則系統,如蘇聯數學家庫拉金娜和羅馬尼亞數學家馬爾庫斯用集合論方法提出的語言模型。在生成性模型和分析性模型的基礎上,把二者結合起來,便產生了一種很有實用價值的模型,即辨識性模型;該模型通常用於分類和回歸等任務,它包括支持向量機、邏輯回歸、隨機森林和深度神經網路等。
目前,常見的語言模型算法主要包括N-Gram模型、神經網路語言模型和Transformer模型。其中,N-Gram是一種基於統計語言模型的算法。它的基本思想是將文本裡面的內容按照字節進行大小為滑動窗口操作,形成了長度是N的字節片段序列;神經網路語言模型是一種基於神經網路的語言模型,它通過學習文本序列的分布來預測下一個單詞,以建立一個多層的神經網路來學習詞語之間的概率關係;Transformer模型是一種基於自注意力機制的語言模型,它能夠處理長文本序列,並且在自然語言處理中取得了很好的效果。
語言模型主要用於提昇機器翻譯和語音識別的性能。例如,在機器翻譯中,如果對英文「you go first」逐詞翻譯成中文的話,可能得到「你走先」「你先走」等排列方式的文本序列;如果語言模型判斷出「你先走」的概率大於其他排列方式的文本序列的概率,我們就可以把「you go first」翻譯成「你先走」。又如,在語音識別中,給定一段「廚房裡食油用完了」的語音,有可能會輸出「廚房裡食油用完了」和「廚房裡石油用完了」這兩個讀音完全一樣的文本序列。如果語言模型判斷出前者的概率大於後者的概率,我們就可以根據相同讀音的語音輸出「廚房裡食油用完了」的文本序列。
語言模型通常基於概率模型來構建,它考慮了語言的各種特徵(如文法、語義和上下文等)。具體來說,語言模型可以根據一定的訓練數據學習到一個概率分布,該分布可以描述一個給定的文本序列中每個單詞出現的概率,或者是下一個單詞的預測概率。語言模型在自然語言處理中佔有十分重要的地位;而自然語言處理對計算機和人機交互等有著許多重要的影響。正如中國數學家、語言學家周海中曾經所言:「自然語言處理是極有吸引力的研究領域,它具有重大的理論意義和實用價值。」隨著自然語言處理技術的不斷發展,語言模型的應用前景將會越來越廣闊。
文/張瑩(作者單位:東北大學軟件學院)