N元語言模型
語言模型是幹嘛的?
語言模型可以計算任何句子的概率。例如,“I love you”的概率是多少?用數學語言表述,N
元語言模型(N-gram model)根據一個詞語的前N−1個詞語,來計算這個詞語的概率。如果我們有了一個2元模型,“I love you”的概率就等於P(I)×P(love|I)×P(you|love)(最後一段解釋原因)。2元模型用一個矩陣來表示,比如對於一個有10000個詞的語料庫,這個語料庫的2元模型就是一個10000×10000的矩陣,第m行第n列表示在第m個詞語的條件下,第n個詞語出現的概率,即第m個詞語後面跟著第n
個詞語的概率。如果我們知道了語言模型,我們就可以像計算“I love you”那樣,計算任何一個句子的概率。
語言模型有什麼用?
語言模型在自然語言處理中佔有重要的地位,在語音識別,機器翻譯,漢語自動分詞和句法分析等都有應用。因為這些模型都會有噪聲,都會有幾種不同的結果等著我們去選擇,這時候就需要知道每種結果的概率,來幫助我們選擇。
為什麼叫“語言模型”?因為這是統計學意義上的模型,又跟語言相關,所以叫語言模型。統計模型指一系列分佈,引數模型指一系列可用有限個參數列示的模型。語言模型就是一種引數模型,它的引數是矩陣的所有cell。
如何計算語言模型的引數?
引數無法精確計算,只能大概估計。這裡用的方法是極大似然估計。對於某個語料庫,極大似然估計的意思是,哪個語言模型(什麼樣的引數)最有可能產生這個語料庫呢?把這個問題分解成許多個小問題:當P(you|I)
是多少時(love和I可以換成別的所有的詞),最有可能產生這個語料庫呢?自然而然我們會想到,統計語料庫裡一共有多少個I,一共有多少個I love,然後做一下除法,就得到了我們想要的概率,這個概率最有可能產生這個語料庫。我們對這個語料庫裡所有的詞對做相同的計數和除法,就得到了我們想要的引數,也就得到了這個語料庫的語言模型。
那樣計算概率的原因:馬爾科夫假設
然而,為什麼I love you的概率可以通過P(I)×P(love|I)×P(you|love)
計算呢?其實這麼算只是在某個假設下的近似計算,這個假設就是一個詞出現的概率只取決於它前N−1個詞。所以在二元模型下,I love you的概率可以那麼算。 以此類推,三元模型下,I love you的概率就要這麼算了:P(I)×P(love|I)×P(you|I,love)。
相關文章
- NLP入門之語言模型以及n元文法模型
- NLP入門之N元語法模型模型
- n元語法
- 語言大模型大模型
- 大語言模型模型
- nlp中的傳統語言模型與神經語言模型模型
- srilm建立語言模型模型
- 小語言模型指南模型
- 部署Go語言程式的N種方式Go
- 8 語言模型簡介模型
- 微調大語言模型模型
- C語言單元測試C語言
- 一文解碼語言模型:語言模型的原理、實戰與評估模型
- 如何評估大語言模型模型
- Go語言記憶體模型Go記憶體模型
- 蛋白質語言模型綜述模型
- 自然語言處理中的語言模型預訓練方法自然語言處理模型
- Go語言運算元據庫Go
- linux i18n修改系統語言Linux
- 微軟亞洲研究院多模態模型NÜWA:以自然語言創造視覺內容微軟模型視覺
- 深入瞭解視覺語言模型視覺模型
- Rust語言神奇的併發模型Rust模型
- 蘋果OpenELM:開源小語言模型蘋果模型
- 什麼是大語言模型(LLM)?模型
- 01-大語言模型發展模型
- 語言模型與神經網路模型神經網路
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- go 語言運算元據庫 CRUDGo
- 從元語言角度評價華為倉頡
- 牛津大學xDeepMind自然語言處理 第13講 語言模型(3)自然語言處理模型
- GPT大語言模型Alpaca-lora本地化部署實踐【大語言模型實踐一】GPT模型
- XLM — 基於BERT的跨語言模型模型
- 從語言學角度看詞嵌入模型模型
- 我的語言模型應該有多大?模型
- 本地部署FastGPT使用線上大語言模型ASTGPT模型
- 在本地跑一個大語言模型模型
- 探究大語言模型的思維方式模型
- 大語言模型湧現欺騙能力模型