[NLP Begin] Classical NLP Methods - HMM

文章目录

  • Hidden Markov Models
    • Initial State Probabilities
    • Hidden state probabilities
    • Emission probabilities
  • 参考

Hidden Markov Models

教材上给出了一个例子:

Initial State Probabilities

初始概率,举个例子:
Noun (N): 0.3
Verb (V): 0.2
Adjective (Adj): 0.5

Hidden state probabilities

From/To N V Adj
N 0.1 0.6 0.3
V 0.4 0.1 0.5
Adj 0.7 0.2 0.1
“众所周知”的规律,比如一个形容词后面大概率跟着一个名词;

Emission probabilities

Word N V Adj
that 0.1 0.1 0.8
person 0.8 0.1 0.1
is 0.1 0.8 0.1
great 0.1 0.1 0.8
running 0.1 0.8 0.1
比如that很大概率是一个形容词,有0.8这么大的概率;
开始计算,第一个单词是that
  • 它的初始概率如下:
    Noun (N): 0.3
    Verb (V): 0.2
    Adjective (Adj): 0.5
  • 发射概率如下:
    Noun (N) : 0.1
    Verb (V) : 0.2
    Adjective (Adj) : 0.5
  • 计算过程如下:
    For Noun : 0.3 × 0.1 = 0.03 0.3 \times 0.1 = 0.03 0.3×0.1=0.03
    For Verb : 0.2 × 0.1 = 0.02 0.2 \times 0.1 = 0.02 0.2×0.1=0.02
    For Adjective : 0.5 × 0.8 = 0.4 0.5 \times 0.8 = 0.4 0.5×0.8=0.4
    发现概率最大的是Adj,所以预测为Adj形容词;

接下来就可以继续接下里的过程,对接下来的每一个单词而言:

  • 该单词的某个tagemission probability
  • 从上一个被选择的tag到当前被选择tagtransistion probability
  • 将这些概率相乘,并且选择概率最高的tag
    到达最后一个单词之后,再回头来处理;
    假设ThattagAdj,再寻找persontag
    假设transition probabilities如下:
    Adj -> N : 0.7,
    Adj -> V : 0.2,
    Adj -> Adj : 0.1,
    person的emission probabilities:
    N : 0.8,
    V : 0.1,
    Adj : 0.1,
    相乘之后比较结果,预测为N的概率最大: 0.7 × 0.8 = 0.56 0.7 \times 0.8 = 0.56 0.7×0.8=0.56

参考

Classical NLP Methods

上一篇:Golang | Leetcode Golang题解之第229题多数元素II-题解:


下一篇:QT调节屏幕亮度