[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

相关推荐
鱼宵21 分钟前
Spring AI 提示词模板:{变量} 参数化 + few-shot,一条提示词反复用
java·人工智能·spring·few-shot·提示词工程·springai
蜗牛互联网26 分钟前
Python消费Responses SSE事件:增量文本、超时与取消
java·开发语言·人工智能·后端·python
架构师那点事儿29 分钟前
大模型如何私有化部署到生产环境
人工智能·架构·llm
HeyAI人工智能32 分钟前
官网内容优化 vs 企业级 RAG:AI 搜索时代,企业到底该先做什么?
人工智能·aigc
黑妹天下第一乖1 小时前
第09讲 · 多媒体与音频 SDK:硬件编解码与端侧语音
人工智能·嵌入式硬件·深度学习·机器人·音视频·iot
jeffsonfu1 小时前
扩散模型(Diffusion Models)崛起:GANs之后的下一个顶流?
人工智能
老李的安全笔记本1 小时前
Agent 工具调用为什么越改越差:两种方向的失败,Prompt 修不了
人工智能
土豆3591 小时前
那个叫 fix bug 的提交,改了 140 万行
人工智能
随风@飘扬1 小时前
CCS Theia中F28035 工程调试连接排障记录
人工智能
用户7275107796311 小时前
程序员第一次控制工业步进电机:Python + Modbus RTU,从串口报文到自动定位(附可运行代码)
人工智能