N-gram

喺電腦科學上係指一串符號當中嘅一連 n 個符號：想像有串 100 個符號，一個 3-gram 演算法會考慮每串連續三個符號係乜嘢樣，再按打前嗰兩個符號嘅規律計算下一個符號最有可能係乜，例：打前嗰兩個符號係 LL，而根據已有數據，已知兩個符號係 LL，下一個符號最有可能會係乜。

概論

N-gram 嘅諗頭基於一個簡單嘅事實：

N-gram 係 NLP 最簡單嘅做法之一，一串 n-gram 指一串符號當中嘅一連 n 咁多個符號：例如想像有串 100 隻字符－LLLRLRRRLL...，一個 3-gram 嘅演算法會考慮每串連續三個符號係乜嘢樣－LLL, LLR, LRL...，再按打前嗰兩個符號嘅規律計算下一個符號最有可能係乜；例如想像家陣手上串英文字係噉嘅樣：
I am fascinated by artificial intelligence.
喺呢段字入面，如果打前兩個字符係 fa，跟住嗰個符號係 s 嘅機率係 100% －喺串字入面，fa 出現咗一次，而喺嗰次當中跟尾嗰個字符係 s，所以如果淨係考慮上面段字嘅 3-gram 嘅話，「fa 後面係 s」嘅機率係 100%。現實應用嘅 n-gram 會用大量語料數據嚟做類似噉嘅估計，計出一隻語言啲字符之間嘅統計關係。精確啲講，即係話一個 n-gram 模型定義上會用

嘅數值預測 ，計算

N-gram 好基本，有好多進階嘅 NLP 應用都係 n-gram 完全搞唔掂嘅。不過齋靠 n-gram 經已可以做到語言辨認等比較簡單嘅 NLP 工作：想像家陣設計者攞住每隻已知嘅語言－英文、德文、法文... 呀噉，同每隻呢啲語言都搵語料數據同佢建立咗個 3-gram 模型，知道啲  嘅數值，佢跟住就可以計：

用日常用語講，佢做嘅嘢係要攞英文嘅 3-gram 模型，計吓「如果呢段文字係英文，會出段噉嘅字符嘅機率」，然後攞德文嘅 3-gram 模型，計吓「如果呢段文字係德文，會出段噉嘅字符嘅機率」... 如此類推，跟住就揀「出到呢段字符嘅機率」最大嗰隻語言，最後做到辨認手上段字係咩語言。

概念
等級 N-gram：指個演算法包含幾個唔同嘅 N-gram 演算法：
  有若干個 N-gram 演算法；
  有某啲機制決定幾時用邊個演算法。
窗大細：泛指一個會「睇一串時間上先後嘅數據」嘅演算法所睇嘅一串數據有幾長；例如一個用 N-gram 做法嘅演算法可能係會睇之前嗰 50 個符號做判斷，噉呢個演算法嘅窗大細就係 50。一個 ML 演算法嘅表現同佢嘅窗大細好多時唔係單純嘅正比或者反比。
困惑度：「每隻字嘅困惑度」係 N-gram 上成日攞嚟評估一個 n-gram 模型「有幾掂」嘅做法；困惑度反映一個概率分佈「有幾能夠預測個樣本」，一個離散概率分佈  嘅困惑度計法如下－
，當中
－ 係個概率分佈嘅資訊熵。詳情可以睇資訊熵。

馬可夫鏈
機械學習
詞性標注

攷 

自然語言處理
電腦科學