[NLP Begin] Classical NLP Methods - HMM

文章目录

  • [Hidden Markov Models](#Hidden Markov Models)
    • [Initial State Probabilities](#Initial State Probabilities)
    • [Hidden state probabilities](#Hidden state probabilities)
    • [Emission 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形容词;

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

  • 该单词的某个tag的emission probability;
  • 从上一个被选择的tag到当前被选择tag的transistion probability;
  • 将这些概率相乘,并且选择概率最高的tag;
    到达最后一个单词之后,再回头来处理;
    假设That的tag是Adj,再寻找person的tag,
    假设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

相关推荐
段一凡-华北理工大学2 小时前
工业智能体:从Codex/Claude到项目实战~系列文章05:从“AI助手“到“工业智能体“:能力跃迁与落地范式
人工智能·python·claude·codex·工业智能体·高炉炼铁智能化
岁月宁静4 小时前
什么是 Agent:从"会聊天"到"会做事"
人工智能·python
岁月宁静4 小时前
AI 应用开发工程师简历怎么写:HR 初筛、技术复筛、面试追问,三道关卡各看什么?
人工智能·python·面试
老金带你玩AI5 小时前
全球股市跌麻了:AI在进化,牛马在买单
人工智能
我qq不是451516526 小时前
WorkBuddy下载体验
人工智能·经验分享·ai·workbuddy
IT_陈寒7 小时前
Redis雪崩把我坑惨了,这是5年经验的教训
前端·人工智能·后端
心祭丫丫7 小时前
【每天一个 Python 小案例17】Python 实现通讯录
开发语言·人工智能·笔记·python·学习
海螺_AIHCC8 小时前
LLM 返回的 JSON 十次坏三次,别急着骂模型——60 行容错解析器先兜住(附可运行代码)
人工智能
露天赏雪8 小时前
第3篇:Sentinel熔断降级实战:大模型接口抖动时的服务兜底方案
java·开发语言·人工智能·spring boot·spring·servlet·sentinel