[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形容词;

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

  • 该单词的某个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

相关推荐
鹏子训4 分钟前
MemoryOS:开源时序知识图谱AI记忆系统
人工智能·知识图谱·记忆模块·ai记忆·memoryos·时序记忆
泰迪智能科技6 分钟前
高校人工智能与大数据产品体系及解决方案介绍
大数据·人工智能
GEO从入门到精通8 分钟前
学习GEO资料要多久能看到效果?
人工智能·学习
沪漂阿龙14 分钟前
面试题详解:Agent 记忆管理全解析——历史对话获取、摘要记忆、事实记忆、知识图谱记忆一次讲透
大数据·人工智能·知识图谱
X54先生(人文科技)14 分钟前
《元创力》纪实录·卷宗2.1器物的诊断:当一座平台成为文明的“常见病”
人工智能·开源协议·零知识证明
玹外之音19 分钟前
【无标题】
人工智能·ai·ai编程
BU摆烂会噶19 分钟前
【LangGraph】短期记忆与中断行为
人工智能·python·langchain·人机交互
蹦哒28 分钟前
浏览器AI对话插件开发【开源】
人工智能·ai·开源
RSTJ_162535 分钟前
PYTHON+AI LLM DAY FOURTY-EIGHT
开发语言·人工智能·python·深度学习